Repository: radiateboy/automagic Branch: master Commit: 2c0f40bf9dad Files: 213 Total size: 3.2 MB Directory structure: gitextract_402wqmeg/ ├── Dockerfile ├── LICENSE ├── README.md ├── auto_auth/ │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations/ │ │ ├── 0001_initial.py │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── automatic/ │ ├── __init__.py │ ├── asgi.py │ ├── element/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── keywords/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── fixtures/ │ │ │ └── initial_data.json │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── management/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── settings/ │ │ ├── __init__.py │ │ └── common.py │ ├── signals.py │ ├── static/ │ │ ├── css/ │ │ │ ├── ak-base-style.css │ │ │ ├── ak-schedule.css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrapValidator.css │ │ │ ├── font-awesome/ │ │ │ │ ├── css/ │ │ │ │ │ ├── font-awesome-ie7.css │ │ │ │ │ └── font-awesome.css │ │ │ │ ├── font/ │ │ │ │ │ └── FontAwesome.otf │ │ │ │ ├── fonts/ │ │ │ │ │ └── FontAwesome.otf │ │ │ │ ├── less/ │ │ │ │ │ ├── animated.less │ │ │ │ │ ├── bootstrap.less │ │ │ │ │ ├── bordered-pulled.less │ │ │ │ │ ├── core.less │ │ │ │ │ ├── extras.less │ │ │ │ │ ├── fixed-width.less │ │ │ │ │ ├── font-awesome-ie7.less │ │ │ │ │ ├── font-awesome.less │ │ │ │ │ ├── icons.less │ │ │ │ │ ├── larger.less │ │ │ │ │ ├── list.less │ │ │ │ │ ├── mixins.less │ │ │ │ │ ├── path.less │ │ │ │ │ ├── rotated-flipped.less │ │ │ │ │ ├── stacked.less │ │ │ │ │ └── variables.less │ │ │ │ └── scss/ │ │ │ │ ├── _animated.scss │ │ │ │ ├── _bootstrap.scss │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ ├── _core.scss │ │ │ │ ├── _extras.scss │ │ │ │ ├── _fixed-width.scss │ │ │ │ ├── _icons.scss │ │ │ │ ├── _larger.scss │ │ │ │ ├── _list.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _path.scss │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ ├── _stacked.scss │ │ │ │ ├── _variables.scss │ │ │ │ ├── font-awesome-ie7.scss │ │ │ │ └── font-awesome.scss │ │ │ ├── font-awesome.css │ │ │ ├── jquery-ui.css │ │ │ ├── login-app.css │ │ │ ├── login-vendor.css │ │ │ ├── page-v3/ │ │ │ │ ├── ak-master-page-v3.css │ │ │ │ └── ak-master-page-v3style.css │ │ │ └── wheelmenu.css │ │ ├── js/ │ │ │ ├── automagic.js │ │ │ ├── back-to-top.js │ │ │ ├── bootstrapValidator.js │ │ │ ├── casemanage.js │ │ │ ├── common.js │ │ │ ├── jquery-ui.js │ │ │ ├── jquery.wheelmenu.js │ │ │ ├── keyword.js │ │ │ └── taskmanage.js │ │ ├── muti_select/ │ │ │ ├── css/ │ │ │ │ ├── multi.css │ │ │ │ └── style.css │ │ │ └── src/ │ │ │ └── MultiSelectDropList.js │ │ └── zTree_v3/ │ │ ├── css/ │ │ │ ├── awesomeStyle/ │ │ │ │ ├── awesome.css │ │ │ │ ├── awesome.less │ │ │ │ └── fa.less │ │ │ ├── demo.css │ │ │ ├── metroStyle/ │ │ │ │ └── metroStyle.css │ │ │ └── zTreeStyle/ │ │ │ └── zTreeStyle.css │ │ └── js/ │ │ ├── jquery.ztree.all.js │ │ ├── jquery.ztree.core.js │ │ ├── jquery.ztree.excheck.js │ │ ├── jquery.ztree.exedit.js │ │ └── jquery.ztree.exhide.js │ ├── templates/ │ │ ├── 404.html │ │ ├── 500.html │ │ ├── base.html │ │ ├── comingsoon.html │ │ ├── element/ │ │ │ └── element.html │ │ ├── frame.html │ │ ├── index.html │ │ ├── keywords/ │ │ │ └── keyword.html │ │ ├── management/ │ │ │ ├── moduleadd.html │ │ │ ├── moduleview.html │ │ │ ├── productadd.html │ │ │ ├── productlist.html │ │ │ ├── productview.html │ │ │ ├── projectadd.html │ │ │ ├── projectlist.html │ │ │ ├── projectview.html │ │ │ └── syslog.html │ │ ├── nav.html │ │ ├── oauth/ │ │ │ └── userlist.html │ │ ├── registration/ │ │ │ └── login.html │ │ ├── testcase/ │ │ │ ├── caseadd.html │ │ │ ├── casecopy.html │ │ │ ├── caseedit.html │ │ │ ├── caselist.html │ │ │ └── caseview.html │ │ ├── testtask/ │ │ │ ├── taskadd.html │ │ │ ├── taskedit.html │ │ │ └── tasklist.html │ │ └── webinterface/ │ │ └── webinterface.html │ ├── testcase/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── testtask/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── urls.py │ ├── webinterface/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ └── wsgi.py ├── docker-compose.yml ├── init.sh ├── insertkeyword.sql ├── manage.py ├── requirements/ │ ├── base.txt │ └── seleniumreq.txt ├── seleniumkeyword/ │ ├── AddCase.py │ ├── Base.py │ ├── CustomKeyword.py │ ├── HTMLTestRunner.py │ ├── README.MD │ ├── RestApiUtil.py │ ├── SimulatorUtil.py │ ├── TestSuite.py │ ├── __init__.py │ ├── data/ │ │ └── readme.md │ ├── mwupgrade.py │ ├── popautomagic.py │ ├── result/ │ │ └── highcharts.js │ ├── sendlog/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── guitest.py │ │ ├── mysetup.py │ │ ├── randip.py │ │ ├── randomip.py │ │ ├── send.config │ │ ├── sendingdata.py │ │ ├── syslogc.py │ │ ├── tcpsendingsyslog.py │ │ ├── tcpsendtest.py │ │ ├── udpsendingsyslog.py │ │ └── weighted_choice.py │ ├── settings.py │ ├── testrail.py │ └── testraildemo.py └── start.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: Dockerfile ================================================ FROM ubuntu:18.04 MAINTAINER ray LABEL version="2.0" by="ray" descriptio="python3.6 django 3.2.3" ENV TZ=Asia/Shanghai ENV PATH=/usr/bin:$PATH ENV DEBIAN_FRONTEND=noninteractive ENV LANG C.UTF-8 RUN mkdir /opt/automagic WORKDIR /opt/automagic RUN set -x;apt-get update \ && apt-get install -y vim \ && apt-get install -y tzdata \ && apt-get install -y python3 \ && apt-get install -y python3-pip \ && pip3 install --upgrade pip COPY . /opt/automagic RUN pip3 --no-cache-dir install -r /opt/automagic/requirements/base.txt \ -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com RUN pip3 --no-cache-dir install -r /opt/automagic/requirements/seleniumreq.txt \ -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com ENTRYPOINT ["python3","start.py"] ================================================ FILE: LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., [http://fsf.org/] 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. {description} Copyright (C) 2018 tsbc This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. {signature of Ty Coon}, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. ================================================ FILE: README.md ================================================ # 自动化测试平台 ## python3.8+ Django 3.2.10框架 >python3.8以下版本 使用Django 3.0.5 以上版本 ,django的 /admin/后台会异常退出,不使用/admin/后台不影响,安装请注意版本 ### [新用户指导使用指南](https://github.com/radiateboy/automagic/wiki) # (一)源码安装 > pip3 install -r requirements/base.txt > > pip3 install -r requirements/seleniumreq.txt ### Mysql/Mariadb 数据库 automatic/settings/common.py ```python MYSQL_USERNAME = os.environ.get('MYSQL_USERNAME', 'root') MYSQL_PASSWORD = os.environ.get('MYSQL_PASSWORD', '123456') MYSQL_HOST = os.environ.get('MYSQL_HOST', 'localhost') MYSQL_PORT = os.environ.get('MYSQL_PORT', '3306') MYSQL_DBNAME = os.environ.get('MYSQL_DBNAME', 'automatic') DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': MYSQL_DBNAME, 'USER': MYSQL_USERNAME, 'PASSWORD': MYSQL_PASSWORD, 'HOST': MYSQL_HOST, 'PORT': MYSQL_PORT, } } ``` #### 初始化并启动服务 ```shell python3 start.py ``` 另:内置关键字 在wiki #关键字创建# 页面(可以了解一下) _http://127.0.0.1:8000_ 访问登录即可 默认管理员用户:admin, 密码:admin@123 # (二)docker安装 ## 方法一: 命令安装启动 ```shell script docker pull tsbc520/automagic:2.0 ``` 启动docker容器: ```shell script docker run -d -p 8000:8000 \ -e MYSQL_HOST=192.168.10.167 \ -e MYSQL_PORT=3306 \ -e MYSQL_DBNAME=automatic \ -e MYSQL_USERNAME=root \ -e MYSQL_PASSWORD=123456 \ tsbc520/automagic:2.0 ``` ## 方法二: docker-compose ```shell script docker-compose up ``` ## 如何执行测试脚本 [点击查看如何执行测试](https://github.com/radiateboy/automagic/wiki/Seleniumkeyword%E4%BB%8B%E7%BB%8D) ## 公众号 扫一扫关注公众号 ![开源优测](https://gitee.com/tsbc/automagic/raw/master/%E5%85%AC%E4%BC%97%E5%8F%B7.jpg) ================================================ FILE: auto_auth/__init__.py ================================================ ================================================ FILE: auto_auth/admin.py ================================================ from django.contrib import admin # Register your models here. ================================================ FILE: auto_auth/apps.py ================================================ from django.apps import AppConfig class AutoAuthConfig(AppConfig): name = 'auto_auth' ================================================ FILE: auto_auth/forms.py ================================================ # -*- coding: utf-8 -*- from django import forms from django.contrib.auth.models import User from django.contrib.auth.forms import UserCreationForm from django.utils.translation import ugettext_lazy as _ from auto_auth.models import UserActivationKey class RegistrationForm(UserCreationForm): email = forms.EmailField() class Meta: model = User fields = ("username",) def clean_email(self): email = self.cleaned_data['email'] try: User.objects.get(email=email) except User.DoesNotExist: return email raise forms.ValidationError( _("A user with that email already exists.")) def save(self, commit=True): user = super(RegistrationForm, self).save(commit=False) user.email = self.cleaned_data['email'] user.is_active = False user.set_password(self.cleaned_data["password1"]) if User.objects.filter(is_superuser=True).count() == 0: user.is_superuser = True if commit: user.save() # initiate_user_with_default_setups(user) return user def set_activation_key(self): return UserActivationKey.set_random_key_for_user(user=self.instance) ================================================ FILE: auto_auth/migrations/0001_initial.py ================================================ # Generated by Django 3.0.2 on 2020-01-15 10:02 from django.conf import settings import django.contrib.auth.models import django.contrib.auth.validators from django.db import migrations, models import django.db.models.deletion import django.utils.timezone class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('realname', models.CharField(blank=True, max_length=50, null=True, verbose_name='真实姓名')), ('mobile', models.CharField(blank=True, max_length=11, null=True, verbose_name='电话号码')), ('email', models.EmailField(max_length=255, unique=True, verbose_name='邮箱')), ('dept', models.CharField(choices=[('测试', '测试'), ('开发', '开发')], default='测试', max_length=100, verbose_name='部门')), ('is_active', models.BooleanField(default=True, verbose_name='激活状态')), ('is_admin', models.BooleanField(default=False, verbose_name='是否管理员')), ('testrailuser', models.CharField(blank=True, max_length=50, null=True, verbose_name='TestRail用户名')), ('testrailpass', models.CharField(blank=True, max_length=50, null=True, verbose_name='TestRail密码')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='UserActivationKey', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('activation_key', models.CharField(blank=True, max_length=64, null=True)), ('key_expires', models.DateTimeField(blank=True, null=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ] ================================================ FILE: auto_auth/migrations/__init__.py ================================================ ================================================ FILE: auto_auth/models.py ================================================ # -*- coding: utf-8 -*- import datetime import secrets from django.db import models from django.conf import settings from django.contrib.auth.models import BaseUserManager, AbstractUser class UserActivationKey(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) activation_key = models.CharField(max_length=64, null=True, blank=True) key_expires = models.DateTimeField(null=True, blank=True) @classmethod def set_random_key_for_user(cls, user, force=False): activation_key = secrets.token_hex() # Create and save their profile user_activation_key, created = cls.objects.get_or_create(user=user) if created or force: user_activation_key.activation_key = activation_key user_activation_key.key_expires = datetime.datetime.today() + datetime.timedelta(7) user_activation_key.save() return user_activation_key class MyUserManager(BaseUserManager): # def current_time(self): # """get current time """ # from datetime import datetime # return datetime.now().strftime("%Y-%m-%d") def create_user(self, username, email, password): """ Creates and saves a User with the given email, date of birth and password. """ if not username: raise ValueError('username is unique') user = self.model(username=username, email=self.normalize_email(email)) user.set_password(password) user.save(using=self._db) return user def create_superuser(self, username, email, password): """ Creates and saves a superuser with the given email, password. """ user = self.create_user(username, email, password) user.is_admin = True user.is_staff = True user.save(using=self._db) return user class User(AbstractUser): Dept_Choice = ( ('测试', '测试'), ('开发', '开发'), ) realname = models.CharField(max_length=50, verbose_name="真实姓名", null=True, blank=True, editable=True) mobile = models.CharField(max_length=11, verbose_name="电话号码", null=True, blank=True, editable=True) email = models.EmailField(verbose_name='邮箱', max_length=255, unique=True) dept = models.CharField(verbose_name=u'部门', choices=Dept_Choice, default='测试', max_length=100) is_active = models.BooleanField(default=True, verbose_name='激活状态') is_admin = models.BooleanField(default=False, verbose_name='是否管理员') testrailuser = models.CharField(max_length=50, verbose_name="TestRail用户名", null=True, blank=True, editable=True) testrailpass = models.CharField(max_length=50, verbose_name="TestRail密码", null=True, blank=True, editable=True) def get_full_name(self): # The user is identified by their email address return self.username def get_short_name(self): # The user is identified by their email address return self.username def __unicode__(self): # __unicode__ on Python 2 return self.username def has_perm(self, perm, obj=None): "Does the user have a specific permission?" # Simplest possible answer: Yes, always return True def has_module_perms(self, app_label): "Does the user have permissions to view the app `app_label`?" # Simplest possible answer: Yes, always return True ================================================ FILE: auto_auth/tests.py ================================================ from django.test import TestCase # Create your tests here. ================================================ FILE: auto_auth/urls.py ================================================ # -*- coding: utf-8 -*- from django.conf.urls import url from django.urls import reverse_lazy from django.contrib.auth import views as contrib_auth_views from django.contrib.auth.decorators import login_required from auto_auth import views urlpatterns = [ url(r'^(?P[\w.@+-]+)/profile/$', views.profile, name='auto-profile'), url(r'^register/$', views.register, name='auto-register'), url(r'^confirm/(?P[A-Za-z0-9\-]+)/$', views.confirm, name='auto-confirm'), url(r'^user/add/$', views.add_user, name='adduser'), url(r'^user/list/$', login_required(views.UserListIndex.as_view()), name='userlist'), url(r'^user/update/$', views.update_user, name='userupdate'), url(r'^user/del/(?P\d+)/$', views.del_user, name='userdel'), url(r'^setedit/user/$', views.set_edit_user, name='setedituser'), url(r'^login/$', views.LoginViewWithCustomTemplate.as_view(), name='auto-login'), url(r'^logout/$', contrib_auth_views.LogoutView.as_view(next_page=reverse_lazy('auto-login')), name='auto-logout'), url(r'^passwordreset/$', contrib_auth_views.PasswordResetView.as_view(), name='auto-password_reset'), url(r'^passwordreset/done/$', contrib_auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'), url(r'^passwordreset/confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', contrib_auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'), url(r'^passwordreset/complete/$', contrib_auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'), ] ================================================ FILE: auto_auth/views.py ================================================ # -*- coding: utf-8 -*- import json from datetime import datetime from django.urls import reverse from django.conf import settings from django.contrib import messages from django.contrib.auth import views from django.views.decorators.http import require_GET from django.utils.translation import ugettext_lazy as _ # from django.utils import timezone from django.contrib.auth.decorators import login_required from django.contrib.auth import logout, authenticate, login from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse,HttpResponseRedirect from django.contrib.auth.hashers import make_password from django.views.generic import ListView from django.views.decorators.csrf import csrf_exempt from django.db.models import Q from auto_auth.models import User from automatic.management.models import Product, UserAndProduct from automatic.signals import USER_REGISTERED_SIGNAL from auto_auth.forms import RegistrationForm from auto_auth.models import UserActivationKey class LoginViewWithCustomTemplate(views.LoginView): def get_template_names(self): return ['registration/custom_login.html', 'registration/login.html'] @login_required() def index(request): return render(request, 'index.html') def register(request): """Register method of account""" if request.method == 'POST': form = RegistrationForm(data=request.POST, files=request.FILES) if form.is_valid(): new_user = form.save() activation_key = form.set_activation_key() # send a signal that new user has been registered USER_REGISTERED_SIGNAL.send(sender=form.__class__, request=request, user=new_user) # Send confirmation email to new user if settings.DEFAULT_FROM_EMAIL and settings.AUTO_APPROVE_NEW_USERS: form.send_confirm_mail(request, activation_key) messages.add_message( request, messages.SUCCESS, _('Your account has been created, please check your mailbox for confirmation') ) else: messages.add_message( request, messages.WARNING, _('Your account has been created, but you need an administrator to activate it') ) messages.add_message( request, messages.INFO, _('Following is the administrator list') ) # super-users can approve others for user in User.objects.filter(is_superuser=True): messages.add_message( request, messages.INFO, '{}'.format(user.email, user.get_full_name() or user.username) ) # site admins should be able to do so too for name, email in settings.ADMINS: messages.add_message( request, messages.WARNING, '{}'.format(email, name) ) return HttpResponseRedirect(reverse('core-views-index')) else: form = RegistrationForm() context_data = { 'form': form, } return render(request, 'registration/registration_form.html', context_data) @require_GET def confirm(request, activation_key): """Confirm the user registration""" # Get the object try: _activation_key = UserActivationKey.objects.select_related('user') _activation_key = _activation_key.get(activation_key=activation_key) except UserActivationKey.DoesNotExist: messages.add_message( request, messages.ERROR, _('This activation key no longer exists in the database') ) return HttpResponseRedirect(request.GET.get('next', reverse('core-views-index'))) if _activation_key.key_expires <= datetime.now(): messages.add_message(request, messages.ERROR, _('This activation key has expired')) return HttpResponseRedirect(request.GET.get('next', reverse('core-views-index'))) # All thing done, start to active the user and use the user login user = _activation_key.user user.is_active = True user.save(update_fields=['is_active']) _activation_key.delete() messages.add_message( request, messages.SUCCESS, _('Your account has been activated successfully') ) return HttpResponseRedirect(request.GET.get('next', reverse('core-views-index'))) def profile(request, username): """Show user profiles""" user = get_object_or_404(User, username=username) return HttpResponseRedirect(reverse('admin:auth_user_change', args=[user.pk])) def verify(request, query_dict): """验证用户名密码""" user = authenticate(username=query_dict["username"], password=query_dict["password"]) if user is not None: login(request, user) return "verify_success" else: return u"用户名密码错误" def login_page(request): if request.method == "POST": return HttpResponse(verify(request, request.POST)) return render(request, "registration/login.html") def _logout(request): logout(request) return redirect("/login") @csrf_exempt @login_required() def add_user(request): if request.method == 'POST': post_dict = request.POST user_dict = {"username": post_dict['username'], "realname": post_dict['realname'], "password":post_dict['password'], "email": post_dict['email'], "mobile": post_dict['mobile'], "dept": post_dict['dept'], "testrailuser": post_dict['testrailuser'] if 'testrailuser' in post_dict else None, "testrailpass": post_dict['testrailpass'] if 'testrailpass' in post_dict else None, } if 'is_admin' in post_dict: is_admin = True is_staff = True else: is_admin = False is_staff = False if 'is_active' in post_dict: is_active = True else: is_active = False username = user_dict.get('username') password = make_password(user_dict.get('password'), None, 'pbkdf2_sha256') realname = user_dict.get('realname') email = user_dict.get('email') mobile = user_dict.get('mobile') dept = user_dict.get('dept') # is_admin = is_admin # is_active = is_active testrailuser = user_dict.get('testrailuser') testrailpass = user_dict.get('testrailpass') # print username,password,realname,email,mobile,is_admin,is_active,testrailuser,testrailpass try: User.objects.get(username=username).username return HttpResponse('用户名已经存在') except: pass try: User.objects.get(email=email).email return HttpResponse('邮箱地址已经被注册') except: pass user = User(username=username, password=password, realname=realname, email=email, mobile=mobile, dept=dept, is_active=is_active, is_admin=is_admin, is_staff=is_staff, testrailuser=testrailuser, testrailpass=testrailpass) user.save() return HttpResponse('创建成功') else: return HttpResponse('创建失败') @csrf_exempt @login_required() def update_user(request): if request.method == 'POST': post_dict = request.POST user_dict = {"userid":post_dict['userid'], "username": post_dict['username'], "password": post_dict['password'], "email":post_dict['email'], "mobile": post_dict['mobile'], "dept": post_dict['dept'], "realname": post_dict['realname'], "testrailuser": post_dict['testrailuser'] if 'testrailuser' in post_dict else None, "testrailpass": post_dict['testrailpass'] if 'testrailpass' in post_dict else None, } if 'is_admin' in post_dict: is_admin = True is_staff = True else: is_admin = False is_staff = False if 'is_active' in post_dict: is_active = True else: is_active = False userid = user_dict.get('userid') username = user_dict.get('username') realname = user_dict.get('realname') email = user_dict.get('email') mobile = user_dict.get('mobile') dept_str = user_dict.get('dept') dept = dept_str if dept_str else '测试' # is_admin = is_admin # is_active = is_active testrailuser = user_dict.get('testrailuser') testrailpass = user_dict.get('testrailpass') # updatetime = timezone.now() u = User.objects.filter(id=int(userid)) # passwd = user_dict.get('password') if user_dict.get('password') == '': # print "AAA",username,user_dict.get('password') u.update(username=username, realname=realname, email=email,mobile=mobile, dept=dept,is_active=is_active, is_admin=is_admin, is_staff=is_staff, testrailuser=testrailuser,testrailpass=testrailpass) else: # print "BBB", username, user_dict.get('password') password = make_password(user_dict.get('password'), None, 'pbkdf2_sha256') u.update(username=username, password=password, realname=realname, dept=dept, email=email, mobile=mobile, is_active=is_active, is_admin=is_admin, testrailuser=testrailuser, testrailpass=testrailpass) return HttpResponse('修改成功') else: return HttpResponse('修改失败') @csrf_exempt def del_user(request,id): user = get_object_or_404(User, pk=int(id)) user.delete() return HttpResponseRedirect(reverse('userlist')) @csrf_exempt @login_required() def set_edit_user(request): userid = request.GET['userid'] user = User.objects.get(pk=userid) userinfo = {} userinfo['id'] = user.pk userinfo['username'] = user.username userinfo['password'] = user.password userinfo['email'] = user.email userinfo['mobile'] = user.mobile userinfo['is_admin'] = user.is_admin userinfo['is_staff'] = user.is_staff userinfo['is_active'] = user.is_active userinfo['realname'] = user.realname userinfo['dept'] = user.dept userinfo['testrailuser'] = user.testrailuser userinfo['testrailpass'] = user.testrailpass userlist = [userinfo] return HttpResponse(json.dumps(userlist)) class UserListIndex(ListView): context_object_name = 'userlist' template_name = 'oauth/userlist.html' paginate_by = 10 model = User usersum = 0 http_method_names = [u'get'] alluser=[] def get_queryset(self): userlist = User.objects.all().order_by('-pk') self.alluser = User.objects.filter(is_active='True') keyword = self.request.GET.get('keyword') if keyword: userlist = userlist.filter(Q(username__icontains=keyword)|Q(email__icontains=keyword)|Q(mobile__icontains=keyword)) self.usersum = len(userlist) return userlist def get_context_data(self, **kwargs): context = super(UserListIndex,self).get_context_data(**kwargs) # userlist = User.objects.values('username').annotate() context['productlist'] = Product.objects.all().order_by('-sortby') context['userandproduct'] = UserAndProduct.objects.all() context['usersum'] = self.usersum context['alluser']=self.alluser return context ================================================ FILE: automatic/__init__.py ================================================ # -*- coding: utf-8 -*- __version__ = '2.0' import pymysql pymysql.install_as_MySQLdb() ================================================ FILE: automatic/asgi.py ================================================ """ ASGI config for automatic project. It exposes the ASGI callable as a module-level variable named ``application``. For more information on this file, see https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ """ import os from django.core.asgi import get_asgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'automatic.settings.common') application = get_asgi_application() ================================================ FILE: automatic/element/__init__.py ================================================ ================================================ FILE: automatic/element/admin.py ================================================ from django.contrib import admin # Register your models here. from automatic.element import models class ElementAdmin(admin.ModelAdmin): list_display = (id, 'descr', 'projectid', 'moduleid', 'locmode', 'location', 'createat', 'createtime', 'updateat', 'updatetime') search_fields = ('keyword', 'kwdescr') admin.site.register(models.Element, ElementAdmin) ================================================ FILE: automatic/element/apps.py ================================================ from django.apps import AppConfig class ElementConfig(AppConfig): name = 'automatic.element' ================================================ FILE: automatic/element/forms.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-08 """ from django import forms from automatic.element.models import Element from django.forms import ModelForm, Textarea, Select, TextInput class FormElement(forms.ModelForm): class Meta: model = Element fields = ('descr','projectid','moduleid','locmode','location') widgets = {'locmode': Select(attrs={'class':'ak-left ac-aselect','required':''}), 'descr':TextInput(attrs={'class':'form-control','placeholder':'请输入元素描述','required':''}), 'location': TextInput(attrs={'class': 'form-control','placeholder':'(如:id_username)','required':''}), } ================================================ FILE: automatic/element/migrations/0001_initial.py ================================================ # Generated by Django 3.0.2 on 2020-01-15 10:02 from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ('management', '0001_initial'), ] operations = [ migrations.CreateModel( name='Element', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('descr', models.CharField(max_length=100)), ('locmode', models.CharField(blank=True, choices=[('id', 'id'), ('name', 'name'), ('css selector', 'css selector'), ('xpath', 'xpath'), ('class_name', 'class name'), ('tag_name', 'tag name'), ('link_text', 'link text'), ('portial_link_text', 'portial link text')], max_length=32, null=True)), ('location', models.CharField(blank=True, max_length=200, null=True)), ('createtime', models.DateTimeField(auto_now_add=True)), ('createat', models.CharField(blank=True, max_length=32, null=True)), ('updatetime', models.DateTimeField(auto_now=True)), ('updateat', models.CharField(blank=True, max_length=32, null=True)), ('moduleid', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='management.Module')), ('projectid', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='management.Project')), ], ), ] ================================================ FILE: automatic/element/migrations/__init__.py ================================================ ================================================ FILE: automatic/element/models.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-06 """ from django.db import models from automatic.management.models import Project, Module # Create your models here. class Element(models.Model): Element_Choice = ( ('id','id'), ('name','name'), ('css selector','css selector'), ('xpath','xpath'), ('class name','class name'), ('tag name','tag name'), ('link text','link text'), ('portial link_text','portial link text') ) projectid = models.ForeignKey(Project, editable=True, on_delete=models.DO_NOTHING) moduleid = models.ForeignKey(Module, editable=True, on_delete=models.DO_NOTHING) descr = models.CharField(max_length=100, editable=True) locmode = models.CharField(max_length=32, choices=Element_Choice, null=True, blank=True, editable=True) location = models.CharField(max_length=200, null=True, blank=True, editable=True) createtime = models.DateTimeField(auto_now_add=True) createat = models.CharField(max_length=32, null=True, blank=True, editable=True) updatetime = models.DateTimeField(auto_now=True) updateat = models.CharField(max_length=32, null=True, blank=True, editable=True) def __unicode__(self): return self.descr ================================================ FILE: automatic/element/tests.py ================================================ from django.test import TestCase # Create your tests here. ================================================ FILE: automatic/element/urls.py ================================================ from django.conf.urls import url from django.contrib.auth.decorators import login_required from automatic.element import views urlpatterns = [ url(r'list/$', login_required(views.ElementListIndex.as_view()), name='elementlist'), url(r'add/$', views.add_element, name='elementadd'), url(r'update/$', views.update_element, name='elementupdate'), url(r'del/(?P\d+)/$', views.del_element, name='elementdel'), url(r'get/$', views.get_element, name='getelement'), url(r'setedit/$', views.set_edit_element, name='seteditelement'), ] ================================================ FILE: automatic/element/views.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-08 """ import json from django.utils import timezone from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse,HttpResponseRedirect from django.views.decorators.csrf import csrf_exempt from automatic.element.forms import * from django.views.generic import ListView from automatic.element.models import * from django.db.models import Q from django.urls import reverse from automatic.management.models import Project, UserAndProduct from automatic.element.models import Element # Create your views here. class ElementListIndex(ListView): context_object_name = 'elementlist' template_name = 'element/element.html' paginate_by = 10 elementsum = 0 model = Element http_method_names = [u'get'] def get_queryset(self): prodcutid = UserAndProduct.objects.filter(username=self.request.user).values('productname') elementlist = Element.objects.filter(projectid__in=Project.objects.filter(productid__in=prodcutid).values('id')).order_by('-pk') prodcutid = self.request.GET.get('check_productname') projectid = self.request.GET.get('projectid') moduleid = self.request.GET.get('moduleid') keyword = self.request.GET.get('keyword') if prodcutid and int(prodcutid): elementlist = elementlist.filter(projectid__in=Project.objects.filter(productid=prodcutid).values('id')) if projectid: elementlist = elementlist.filter(projectid=projectid) if moduleid: elementlist = elementlist.filter(moduleid=moduleid) if keyword: elementlist = elementlist.filter(Q(id__icontains=keyword)|Q(location__icontains=keyword)|Q(descr__icontains=keyword)) self.elementsum = len(elementlist) return elementlist def get_context_data(self, **kwargs): context = super(ElementListIndex,self).get_context_data(**kwargs) namelist = Element.objects.values('descr').annotate() context['descr'] = namelist context['elementsum'] = self.elementsum context['elementform'] = FormElement() context['userandproduct'] = UserAndProduct.objects.all() return context @csrf_exempt @login_required() def add_element(request): if request.method == 'POST': descr = request.POST['descr'] projectid = request.POST['projectid'] moduleid = request.POST['moduleid'] locmode = request.POST['locmode'] location = request.POST['location'] createat = request.user.username updateat = request.user.username mid = Module.objects.get(pk=int(moduleid)) pid = Project.objects.get(pk=int(projectid)) ele = Element(moduleid=mid, projectid=pid, descr=descr, locmode=locmode, location=location, createat=createat, updateat=updateat) ele.save() # return HttpResponse(descr + '@' + locmode + '@' + location + '@' + str(mid.pk)) return HttpResponse('添加元素成功。') else: return HttpResponse('添加元素失败。') @csrf_exempt @login_required() def update_element(request): if request.method == 'POST': post_dict = request.POST element_dict = {"id":post_dict['elementid'], "descr": post_dict['eledescr'], "projectid":post_dict['ele_add_projectid'], "moduleid": post_dict['moduleid'], "locmode": post_dict['locmode'], "location": post_dict['elelocation'], } id = element_dict.get('id') descr = element_dict.get('descr') projectid = element_dict.get('projectid') moduleid = element_dict.get('moduleid') locmode = element_dict.get('locmode') location = element_dict.get('location') updateat = request.user.username updatetime = timezone.now() e = Element.objects.filter(id=int(id)) e.update(descr=descr, projectid=projectid,moduleid=moduleid,locmode=locmode, location=location,updateat=updateat,updatetime=updatetime) return HttpResponse('修改成功') else: return HttpResponse('修改失败') @login_required() def del_element(request, id): element = get_object_or_404(Element, pk=int(id)) element.delete() return HttpResponseRedirect(reverse('elementlist')) @login_required() def get_element(request): elementlist = [] projectid = request.GET['projectid'] elelista = Element.objects.raw("select id,(select name from management_module where id= moduleid_id) as modulename,locmode,location,descr from element_element where projectid_id="+projectid) for i in elelista: element = {} element['moduleid'] = i.modulename element['key'] = i.id location = i.locmode + "," + i.location element['location'] = location element['value'] = "["+str(i.id)+"][" + i.modulename + "]" + i.descr elementlist.append(element) return HttpResponse(json.dumps(elementlist)) @login_required() def set_edit_element(request): elementid = request.GET['elementid'] element = Element.objects.get(pk=elementid) elementinfo = {} elementinfo['id'] = element.pk elementinfo['descr'] = element.descr elementinfo['projectid'] = element.projectid.pk elementinfo['moduleid'] = element.moduleid.pk elementinfo['locmode'] = element.locmode elementinfo['location'] = element.location elementlist = [elementinfo] return HttpResponse(json.dumps(elementlist)) ================================================ FILE: automatic/keywords/__init__.py ================================================ ================================================ FILE: automatic/keywords/admin.py ================================================ from django.contrib import admin # Register your models here. from automatic.keywords import models class KeywordAdmin(admin.ModelAdmin): list_display = (id, 'keyword', 'kwdescr','createat', 'createtime', 'updateat', 'updatetime') search_fields = ('keyword', 'kwdescr') admin.site.register(models.Keyword, KeywordAdmin) ================================================ FILE: automatic/keywords/apps.py ================================================ from django.apps import AppConfig class KeywordsConfig(AppConfig): name = 'automatic.keywords' ================================================ FILE: automatic/keywords/fixtures/initial_data.json ================================================ [ { "model": "keywords.keyword", "pk": 1, "fields": { "productid": 0, "keyword": "click", "kwdescr": "点击", "createtime": "2016-09-19T10:17:50Z", "createat": "tsbc", "updatetime": "2016-09-19T10:17:50Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 2, "fields": { "productid": 0, "keyword": "InputText", "kwdescr": "输入文本", "createtime": "2016-09-19T10:18:03Z", "createat": "tsbc", "updatetime": "2016-09-19T10:18:03Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 3, "fields": { "productid": 0, "keyword": "navigate", "kwdescr": "页面跳转", "createtime": "2016-09-19T10:18:47Z", "createat": "tsbc", "updatetime": "2016-09-19T10:18:47Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 4, "fields": { "productid": 0, "keyword": "sleep", "kwdescr": "等待[n]秒", "createtime": "2016-09-19T10:19:14Z", "createat": "tsbc", "updatetime": "2016-09-19T10:19:14Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 5, "fields": { "productid": 0, "keyword": "switchframe", "kwdescr": "切换iframe", "createtime": "2016-09-19T10:19:50Z", "createat": "tsbc", "updatetime": "2016-09-19T10:19:50Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 6, "fields": { "productid": 0, "keyword": "defaultframe", "kwdescr": "返回默认Frame", "createtime": "2016-09-19T10:20:06Z", "createat": "tsbc", "updatetime": "2016-09-19T10:20:06Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 7, "fields": { "productid": 0, "keyword": "select", "kwdescr": "下来选择框 input:[value]", "createtime": "2016-09-28T06:46:58Z", "createat": "tsbc", "updatetime": "2016-11-07T09:00:03Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 8, "fields": { "productid": 0, "keyword": "selectText", "kwdescr": "下拉选择框input:[Text]", "createtime": "2016-11-07T08:59:39Z", "createat": "tsbc", "updatetime": "2016-11-07T08:59:39Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 9, "fields": { "productid": 0, "keyword": "uploadfile", "kwdescr": "上传文件", "createtime": "2016-10-10T09:06:07Z", "createat": "tsbc", "updatetime": "2016-10-10T09:06:07Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 10, "fields": { "productid": 0, "keyword": "moveScroll", "kwdescr": "移动滚动条到某元素位置", "createtime": "2016-10-14T10:09:01Z", "createat": "tsbc", "updatetime": "2016-10-14T10:09:01Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 11, "fields": { "productid": 0, "keyword": "checkclick", "kwdescr": "循环勾选一组复选框 [location:父级元素]", "createtime": "2016-10-18T02:40:57Z", "createat": "tsbc", "updatetime": "2016-11-07T09:10:59Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 12, "fields": { "productid": 0, "keyword": "refresh", "kwdescr": "页面刷新", "createtime": "2017-04-05T10:16:14Z", "createat": "tsbc", "updatetime": "2017-04-05T10:16:14Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 13, "fields": { "productid": 0, "keyword": "clicks", "kwdescr": "点击一组元素中的第n个元素 input:[n]", "createtime": "2016-11-07T09:02:40Z", "createat": "tsbc", "updatetime": "2016-11-07T09:02:40Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 14, "fields": { "productid": 0, "keyword": "timestamp", "kwdescr": "文本框输入当前时间戳", "createtime": "2016-11-07T09:03:41Z", "createat": "tsbc", "updatetime": "2016-11-07T09:03:41Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 15, "fields": { "productid": 0, "keyword": "submit", "kwdescr": "表单提交", "createtime": "2016-11-07T09:06:07Z", "createat": "tsbc", "updatetime": "2016-11-07T09:06:07Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 16, "fields": { "productid": 0, "keyword": "jscript", "kwdescr": "执行javascript脚本", "createtime": "2016-10-14T09:36:26Z", "createat": "tsbc", "updatetime": "2016-10-14T09:36:26Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 18, "fields": { "productid": 0, "keyword": "closeBrowser", "kwdescr": "关闭浏览器", "createtime": "2016-11-07T09:05:36Z", "createat": "tsbc", "updatetime": "2016-11-07T09:05:36Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 19, "fields": { "productid": 0, "keyword": "assert", "kwdescr": "通用断言", "createtime": "2016-09-19T10:18:25Z", "createat": "tsbc", "updatetime": "2016-09-19T10:18:25Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 20, "fields": { "productid": 0, "keyword": "assertTrue", "kwdescr": "验证元素存在", "createtime": "2016-09-19T10:20:17Z", "createat": "tsbc", "updatetime": "2016-10-13T09:57:37Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 21, "fields": { "productid": 0, "keyword": "assertFalse", "kwdescr": "验证元素不存在", "createtime": "2016-10-13T09:50:05Z", "createat": "tsbc", "updatetime": "2016-10-13T09:50:05Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 22, "fields": { "productid": 0, "keyword": "assertUrl", "kwdescr": "验证当前页面Url地址[input:期望值]", "createtime": "2016-10-08T03:26:42Z", "createat": "tsbc", "updatetime": "2016-10-08T03:26:42Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 23, "fields": { "productid": 0, "keyword": "isEnabled", "kwdescr": "验证元素是否置灰", "createtime": "2016-11-09T06:06:29Z", "createat": "wenjuan.wang", "updatetime": "2016-11-09T06:06:29Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 24, "fields": { "productid": 0, "keyword": "Notassert", "kwdescr": "通用断言【反向】", "createtime": "2016-12-07T07:55:49Z", "createat": "tsbc", "updatetime": "2016-12-07T07:55:49Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 25, "fields": { "productid": 0, "keyword": "untilshow", "kwdescr": "等待页面加载直到发现当前元素", "createtime": "2017-05-17T08:37:16Z", "createat": "tsbc", "updatetime": "2017-05-17T08:52:30Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 26, "fields": { "productid": 0, "keyword": "exists_file", "kwdescr": "验证data目录中某个文件是否存在", "createtime": "2017-05-25T02:57:09Z", "createat": "tsbc", "updatetime": "2017-05-25T02:57:09Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 27, "fields": { "productid": 0, "keyword": "udpsend", "kwdescr": "udp协议发送syslog日志|使用参数看工具syslog", "createtime": "2017-05-31T03:27:29Z", "createat": "tsbc", "updatetime": "2017-05-31T03:27:29Z", "updateat": "tsbc" } }, { "model": "keywords.keyword", "pk": 28, "fields": { "productid": 0, "keyword": "ssh", "kwdescr": "ssh访问设备执行命令[host,port,user,pass,cmd]", "createtime": "2016-10-10T12:02:18Z", "createat": "tsbc", "updatetime": "2016-10-10T12:02:18Z", "updateat": "tsbc" } } ] ================================================ FILE: automatic/keywords/migrations/0001_initial.py ================================================ # Generated by Django 3.0.2 on 2020-01-15 10:02 from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Keyword', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('productid', models.IntegerField(blank=True, null=True, verbose_name='所属产品')), ('keyword', models.CharField(max_length=32, unique=True)), ('kwdescr', models.TextField(blank=True, null=True)), ('createtime', models.DateTimeField(auto_now_add=True)), ('createat', models.CharField(blank=True, max_length=32, null=True)), ('updatetime', models.DateTimeField(auto_now=True)), ('updateat', models.CharField(blank=True, max_length=32, null=True)), ], options={ 'ordering': ['productid'], }, ), ] ================================================ FILE: automatic/keywords/migrations/__init__.py ================================================ ================================================ FILE: automatic/keywords/models.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-06 """ from django.db import models # Create your models here. class Keyword(models.Model): productid = models.IntegerField(verbose_name='所属产品', null=True, blank=True, editable=True) keyword = models.CharField(max_length=32, unique=True) kwdescr = models.TextField(null=True,blank=True,editable=True) createtime = models.DateTimeField(auto_now_add=True) createat = models.CharField(max_length=32, null=True, blank=True, editable=True) updatetime = models.DateTimeField(auto_now=True) updateat = models.CharField(max_length=32, null=True, blank=True, editable=True) def __unicode__(self): return self.keyword class Meta: ordering = ["productid"] ================================================ FILE: automatic/keywords/tests.py ================================================ from django.test import TestCase # Create your tests here. ================================================ FILE: automatic/keywords/urls.py ================================================ from django.conf.urls import url from django.contrib.auth.decorators import login_required from automatic.keywords import views urlpatterns = [ url(r'list/$', login_required(views.KeyWordListIndex.as_view()), name='keywordlist'), url(r'add/$', views.add_keyword, name='keywordadd'), url(r'update/$', views.update_keyword, name='keywordupdate'), url(r'del/(?P\d+)/$', views.del_keyword, name='keyworddel'), url(r'get/$', views.get_keyword, name='getkeyword'), url(r'setedit/$', views.set_edit_keyword, name='seteditelement'), ] ================================================ FILE: automatic/keywords/views.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-08 """ import json from django.utils import timezone from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse,HttpResponseRedirect from django.views.decorators.csrf import csrf_exempt from automatic.element.forms import * from django.views.generic import ListView from automatic.element.models import * from django.db.models import Q from django.urls import reverse from automatic.management.models import Product, Project, UserAndProduct from automatic.keywords.models import Keyword class KeyWordListIndex(ListView): context_object_name = 'keywordlist' template_name = 'keywords/keyword.html' paginate_by = 10 keywordsum = 0 model = Keyword http_method_names = [u'get'] def get_queryset(self): keywordlist = Keyword.objects.all().order_by('-pk') keyword = self.request.GET.get('keyword') if keyword: keywordlist = keywordlist.filter(Q(keyword__icontains=keyword)|Q(kwdescr__icontains=keyword)) self.keywordsum = len(keywordlist) return keywordlist def get_context_data(self, **kwargs): context = super(KeyWordListIndex,self).get_context_data(**kwargs) context['userandproduct'] = UserAndProduct.objects.all() context['productlist'] = Product.objects.all() context['keywordsum'] = self.keywordsum return context @login_required() def add_keyword(request): if request.method == 'POST': name = request.POST['keyword'] descr = request.POST['kwdescr'] productid = request.POST['productid'] createat = request.user.username updateat = request.user.username keyword = Keyword(productid=productid, keyword=name, kwdescr=descr, createat=createat, updateat=updateat) try: keyword.save() except Exception as e: return HttpResponse(e) return HttpResponse('添加关键字成功。') else: return HttpResponse('添加关键字失败。') @csrf_exempt @login_required() def update_keyword(request): if request.method == 'POST': id = request.POST['keywordid'] name = request.POST['keyword'] descr = request.POST['kwdescr'] productid = request.POST['productname'] updateat = request.user.username updatetime = timezone.now() k = Keyword.objects.filter(id=int(id)) k.update(productid=productid, keyword=name, kwdescr=descr, updateat=updateat, updatetime=updatetime) return HttpResponse('修改关键字成功。') else: return HttpResponse('修改关键字失败。') @login_required() def del_keyword(request, id): keyword = get_object_or_404(Keyword, pk=int(id)) keyword.delete() return HttpResponseRedirect(reverse('keywordlist')) @login_required() def get_keyword(request): keywordlist = [] productid = request.GET['productid'] kwlist = Keyword.objects.filter(Q(productid=productid)|Q(productid=0)) for i in kwlist: keywordinfo = {} keywordinfo['key'] = i.id keywordinfo['kwdescr'] = i.kwdescr keywordinfo['keyword'] = i.keyword keywordinfo['productid'] = i.productid keywordlist.append(keywordinfo) return HttpResponse(json.dumps(keywordlist)) @login_required() def set_edit_keyword(request): keywordid = request.GET['keywordid'] kw = Keyword.objects.get(pk=keywordid) keywordinfo = {} keywordinfo['id'] = kw.pk keywordinfo['descr'] = kw.kwdescr keywordinfo['name'] = kw.keyword keywordinfo['productid'] = kw.productid keywordlist = [keywordinfo] return HttpResponse(json.dumps(keywordlist)) ================================================ FILE: automatic/management/__init__.py ================================================ ================================================ FILE: automatic/management/admin.py ================================================ from django.contrib import admin # Register your models here. from automatic.management import models class ProductAdmin(admin.ModelAdmin): list_display = (id, 'name', 'isenabled', 'descr','createat', 'createtime', 'updateat', 'updatetime') search_fields = ('name','descr') class ProjectAdmin(admin.ModelAdmin): list_display = (id, 'name', 'isenabled','version','descr','createat', 'createtime', 'updateat', 'updatetime') search_fields = ('name','descr','version') class ModuleAdmin(admin.ModelAdmin): list_display = (id, 'name', 'isenabled', 'createat', 'createtime', 'updateat', 'updatetime') search_fields = ('name',) admin.site.register(models.Product, ProductAdmin) admin.site.register(models.Project, ProjectAdmin) admin.site.register(models.Module, ModuleAdmin) ================================================ FILE: automatic/management/apps.py ================================================ from django.apps import AppConfig class ManagementConfig(AppConfig): name = 'automatic.management' ================================================ FILE: automatic/management/migrations/0001_initial.py ================================================ # Generated by Django 3.0.2 on 2020-01-15 10:02 from django.conf import settings from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=32, unique=True, verbose_name='产品名称')), ('isenabled', models.BooleanField(blank=True, default=True, verbose_name='产品状态')), ('descr', models.TextField(blank=True, null=True, verbose_name='产品描述')), ('createtime', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')), ('createat', models.CharField(blank=True, max_length=32, null=True, verbose_name='创建者')), ('updatetime', models.DateTimeField(auto_now=True, null=True, verbose_name='更新时间')), ('updateat', models.CharField(blank=True, max_length=32, null=True, verbose_name='更新者')), ('sortby', models.IntegerField(blank=True, default=0, null=True, verbose_name='排序')), ], options={ 'ordering': ['-sortby'], }, ), migrations.CreateModel( name='UserAndProduct', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('productname', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='management.Product')), ('username', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=32, unique=True, verbose_name='项目名称')), ('version', models.CharField(blank=True, max_length=32, null=True, verbose_name='版本')), ('isenabled', models.BooleanField(default=True, verbose_name='状态')), ('descr', models.TextField(blank=True, null=True, verbose_name='项目描述')), ('createtime', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')), ('createat', models.CharField(blank=True, max_length=32, null=True, verbose_name='创建者')), ('updatetime', models.DateTimeField(auto_now=True, null=True, verbose_name='更新时间')), ('updateat', models.CharField(blank=True, max_length=32, null=True, verbose_name='更新者')), ('sortby', models.IntegerField(blank=True, default=0, null=True, verbose_name='排序')), ('productid', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='management.Product', verbose_name='产品名称')), ], options={ 'ordering': ['-sortby'], }, ), migrations.CreateModel( name='Module', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=32, verbose_name='模块名称')), ('isenabled', models.BooleanField(default=True, verbose_name='状态')), ('createtime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('createat', models.CharField(blank=True, max_length=32, null=True, verbose_name='创建者')), ('updatetime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('updateat', models.CharField(blank=True, max_length=32, null=True, verbose_name='更新者')), ('sortby', models.IntegerField(blank=True, default=0, null=True, verbose_name='排序')), ('projectid', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='management.Project', verbose_name='所属项目')), ], options={ 'ordering': ['-sortby'], }, ), ] ================================================ FILE: automatic/management/migrations/__init__.py ================================================ ================================================ FILE: automatic/management/models.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-06 """ from __future__ import unicode_literals import datetime from django.db import models from auto_auth.models import User # Create your models here. class Product(models.Model): name = models.CharField(max_length=32, verbose_name='产品名称', unique=True) # version = models.CharField(max_length=32) isenabled = models.BooleanField(default=True, blank=True, verbose_name='产品状态') descr = models.TextField(null=True, blank=True, verbose_name='产品描述') createtime = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name='创建时间') createat = models.CharField(max_length=32, null=True, blank=True, editable=True, verbose_name='创建者') updatetime = models.DateTimeField(auto_now=True,null=True, blank=True, verbose_name='更新时间') updateat = models.CharField(max_length=32, null=True, blank=True, editable=True, verbose_name='更新者') sortby = models.IntegerField(null=True, blank=True, editable=True, default=0, verbose_name='排序') def __unicode__(self): return self.name def save(self, *args, **kwargs): if not self.id: self.createtime = datetime.datetime.now() self.updatetime = datetime.datetime.now() super(Product, self).save(*args, **kwargs) class Meta: ordering = ["-sortby"] class Project(models.Model): productid = models.ForeignKey(Product, verbose_name='产品名称', on_delete=models.CASCADE) name = models.CharField(max_length=32, unique=True, verbose_name='项目名称') version = models.CharField(max_length=32, null=True, blank=True, editable=True, verbose_name='版本') isenabled = models.BooleanField(default=True, verbose_name='状态') descr = models.TextField(null=True, blank=True, editable=True,verbose_name='项目描述') createtime = models.DateTimeField(auto_now_add=True, null=True, blank=True, editable=True,verbose_name='创建时间') createat = models.CharField( max_length=32, null=True, blank=True, editable=True, verbose_name='创建者') updatetime = models.DateTimeField(auto_now=True,null=True, blank=True, verbose_name='更新时间') updateat = models.CharField(max_length=32, null=True, blank=True, editable=True, verbose_name='更新者') sortby = models.IntegerField(null=True, blank=True, editable=True, default=0, verbose_name='排序') def __unicode__(self): return self.name class Meta: ordering = ["-sortby"] class Module(models.Model): projectid = models.ForeignKey(Project, verbose_name='所属项目', on_delete=models.CASCADE) name = models.CharField(max_length=32, verbose_name='模块名称') isenabled = models.BooleanField(default=True, verbose_name='状态') createtime = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') createat = models.CharField(max_length=32 ,null=True, blank=True, editable=True, verbose_name='创建者') updatetime = models.DateTimeField(auto_now=True, verbose_name='更新时间') updateat = models.CharField(max_length=32, null=True, blank=True, editable=True, verbose_name='更新者') sortby = models.IntegerField(null=True, blank=True, editable=True, default=0, verbose_name='排序') def __unicode__(self): return self.name class Meta: ordering = ["-sortby"] class UserAndProduct(models.Model): username = models.ForeignKey(User, on_delete=models.DO_NOTHING) productname = models.ForeignKey(Product, on_delete=models.DO_NOTHING) ================================================ FILE: automatic/management/tests.py ================================================ from django.test import TestCase # Create your tests here. ================================================ FILE: automatic/management/urls.py ================================================ from django.conf.urls import url from django.contrib.auth.decorators import login_required from automatic.management import views urlpatterns = [ url(r'^product/add/$', views.add_product, name='productadd'), url(r'^product/view/(?P\d+)', views.view_product, name='productview'), url(r'^product/list/$', login_required(views.ProductListIndex.as_view()), name='productlist'), url(r'^product/update/$', views.update_product, name='productupdate'), url(r'^product/del/(?P\d+)/$', views.del_product, name='productdel'), url(r'^project/add/$', views.add_project, name='projectadd'), url(r'^project/list/$', login_required(views.ProjectListIndex.as_view()), name='projectlist'), url(r'^project/view/(?P\d+)', views.view_project, name='projectview'), url(r'^project/update/$', views.update_project, name='projectupdate'), url(r'^project/del/(?P\d+)/$', views.del_project, name='projectdel'), url(r'^module/add/$', views.add_module, name='moduleadd'), # url(r'^module/list/$', login_required(views.ModuleListIndex.as_view()), name='modulelist'), url(r'^module/update/$', views.update_module, name='moduleupdate'), url(r'^module/del/(?P\d+)/$', views.del_module, name='moduledel'), url(r'^get/project/$', views.get_project, name='getproject'), url(r'^get/module/$', views.get_module, name='getmodule'), url(r'^get/connecteduser/$', views.get_connected_user, name='getconnecteduser'), url(r'^product/user/$', views.product_user, name='productuser'), url(r'^get/moduleList/$', views.get_module_list, name='getmodulelist'), url(r'^setedit/product/$', views.set_edit_product, name='seteditproduct'), url(r'^setedit/project/$', views.set_edit_project, name='seteditproject'), url(r'^setedit/module/$', views.set_edit_module, name='seteditmodule'), url(r'^syslog/home/$', views.page_syslog, name='toolsyslog'), url(r'^snmp/home/$', views.comingsoon, name='toolsnmp'), ] ================================================ FILE: automatic/management/views.py ================================================ # -*- coding:utf-8 -*- """ __author__ = 'Ray' mail:tsbc@vip.qq.com 2020-01-06 """ import logging,json from django.utils import timezone from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse,HttpResponseRedirect from django.views.decorators.csrf import csrf_exempt from django.views.generic import ListView from django.db.models import Q from django.urls import reverse from automatic.management.models import Product, Project, Module, User, UserAndProduct from automatic.testcase.models import Case # Create your views here. @login_required() def add_product(request): if request.method == 'POST': post_dict = request.POST product_dict = {"name": post_dict['productname'], "descr": post_dict['descr'], "sortby":post_dict['sortby'], # "isenabled": post_dict['isenabled'], } if 'isenabled' in post_dict: isenabled = True else: isenabled = False name = product_dict.get('name') isenabled = isenabled descr = product_dict.get('descr') sortby = product_dict.get('sortby') createat = request.user.username updateat = request.user.username product = Product(name=name, isenabled=isenabled,descr=descr,sortby=sortby, createat=createat, updateat=updateat) product.save() return HttpResponse('创建成功') else: return HttpResponse('创建失败') @csrf_exempt @login_required() def update_product(request): if request.method == 'POST': post_dict = request.POST product_dict = {"id":post_dict['productid'], "name": post_dict['productname'], "descr": post_dict['descr'], "sortby":post_dict['sortby'], # "isenabled": post_dict['isenabled'], } if 'isenabled' in post_dict: isenabled = True else: isenabled = False id = product_dict.get('id') name = product_dict.get('name') isenabled = isenabled descr = product_dict.get('descr') sortby = product_dict.get('sortby') updateat = request.user.username updatetime = timezone.now() p = Product.objects.filter(id=int(id)) p.update(name=name, isenabled=isenabled,descr=descr,sortby=sortby, updateat=updateat, updatetime=updatetime) return HttpResponse('修改成功') else: return HttpResponse('修改失败') @login_required() def del_product(request,id): product = get_object_or_404(Product,pk=int(id)) product.delete() return HttpResponseRedirect(reverse('productlist')) @csrf_exempt @login_required() def view_product(request, id): product = get_object_or_404(Product, pk=int(id)) errors = [] if int(id): product = Product.objects.get(pk=int(id)) projectlist = product.project_set.all() return render(request, 'management/productview.html', {'product':product,'projectlist':projectlist}) else: errors.append('Error!!!') return render(request, 'management/productlist.html', {'errors', errors}) # # def productlist(request): # productlist = Product.objects.all() # return render_to_response('productlist.html', {'productlist': productlist}) class ProductListIndex(ListView): context_object_name = 'productlist' template_name = 'management/productlist.html' paginate_by = 10 productsum = 0 model = Product http_method_names = [u'get',] def get_queryset(self): productlist = Product.objects.all().order_by('-sortby') productname = self.request.GET.get('productname') keyword = self.request.GET.get('keyword') if productname: productlist = productlist.filter(name=productname) if keyword: productlist = productlist.filter(Q(name__icontains=keyword)|Q(descr__icontains=keyword)) self.productsum = len(productlist) return productlist def get_context_data(self, **kwargs): context = super(ProductListIndex,self).get_context_data(**kwargs) namelist = Product.objects.values('name').annotate() context['name'] = namelist context['productsum'] = self.productsum return context class ProjectListIndex(ListView): context_object_name = 'projectlist' template_name = 'management/projectlist.html' paginate_by = 10 projectsum = 0 model = Project http_method_names = [u'get',] def get_queryset(self): projectlist = Project.objects.all().order_by('-sortby') productid = self.request.GET.get('productid') projectid = self.request.GET.get('projectid') keyword = self.request.GET.get('keyword') if productid: projectlist = projectlist.filter(productid=productid) if projectid: projectlist = projectlist.filter(id=projectid) if keyword: projectlist = projectlist.filter(Q(name__icontains=keyword)|Q(descr__icontains=keyword)) self.projectsum = len(projectlist) return projectlist def get_context_data(self, **kwargs): context = super(ProjectListIndex,self).get_context_data(**kwargs) namelist = Project.objects.values('name').annotate() context['name'] = namelist context['productlist'] = Product.objects.all().order_by('-sortby') context['productsum'] = self.projectsum return context @csrf_exempt @login_required() def add_project(request): if request.method == 'POST': post_dict = request.POST project_dict = {"productid":post_dict['productid'], "name": post_dict['projectname'], "descr": post_dict['descr'], "sortby":post_dict['sortby'], "version": post_dict['version'], } if 'isenabled' in post_dict: isenabled = True else: isenabled = False productid = project_dict.get('productid') name = project_dict.get('name') isenabled = isenabled descr = project_dict.get('descr') version = project_dict.get('version') sortby = project_dict.get('sortby') createat = request.user.username updateat = request.user.username project = Project(productid=Product.objects.get(pk=productid), name=name, isenabled=isenabled, version=version, descr=descr,sortby=sortby, createat=createat, updateat=updateat) project.save() return HttpResponse('创建成功') else: return HttpResponse('创建失败') @csrf_exempt @login_required() def update_project(request): if request.method == 'POST': post_dict = request.POST project_dict = {"id":post_dict['projectid'], "name": post_dict['projectname'], "descr": post_dict['descr'], "version":post_dict['version'], "sortby":post_dict['sortby'], # "isenabled": post_dict['isenabled'], } if 'isenabled' in post_dict: isenabled = True else: isenabled = False id = project_dict.get('id') name = project_dict.get('name') isenabled = isenabled descr = project_dict.get('descr') version = project_dict.get('version') sortby = project_dict.get('sortby') updateat = request.user.username updatetime = timezone.now() p = Project.objects.filter(id=int(id)) p.update(name=name, isenabled=isenabled,descr=descr, version=version ,sortby=sortby, updateat=updateat, updatetime=updatetime) return HttpResponse('修改成功') else: return HttpResponse('修改失败') @login_required() def del_project(request,id): project = get_object_or_404(Project,pk=int(id)) x = project.productid project.delete() return HttpResponseRedirect('/setting/product/view/' + str(Product.objects.get(name=x).id)) @csrf_exempt @login_required() def view_project(request, id): project = get_object_or_404(Project, pk=int(id)) errors = [] if int(id): product = project.productid modulelist = project.module_set.all().order_by('-sortby') return render(request, 'management/projectview.html', {'project':project,'product':product,'modulelist':modulelist}) else: errors.append('Error!!!') return render(request, 'management/projectview.html', {'errors', errors}) class ModuleListIndex(ListView): context_object_name = 'modulelist' template_name = 'management/modulelist.html' paginate_by = 10 model = Module modulesum = 0 http_method_names = [u'get'] def get_queryset(self): modulelist = Module.objects.all().order_by('-sortby') projectid = self.request.GET.get('projectid') modulename = self.request.GET.get('modulename') keyword = self.request.GET.get('keyword') if projectid: modulelist = modulelist.filter(projectid=Project.objects.get(name=projectid).id) if modulename: modulelist = modulelist.filter(name=modulename) if keyword: modulelist = modulelist.filter(Q(name__icontains=keyword)|Q(descr__icontains=keyword)) self.modulesum = len(modulelist) return modulelist def get_context_data(self, **kwargs): context = super(ModuleListIndex,self).get_context_data(**kwargs) namelist = Module.objects.values('name').annotate() context['name'] = namelist context['modulesum'] = self.modulesum return context @csrf_exempt @login_required() def add_module(request): if request.method == 'POST': post_dict = request.POST project_dict = {"projectid":post_dict['projectid'], "name": post_dict['modulename'], "sortby":post_dict['sortby'], } if 'isenabled' in post_dict: isenabled = True else: isenabled = False projectid = project_dict.get('projectid') name = project_dict.get('name') isenabled = isenabled sortby = project_dict.get('sortby') createat = request.user.username updateat = request.user.username module = Module(projectid=Project.objects.get(pk=projectid), name=name, isenabled=isenabled, sortby=sortby, createat=createat, updateat=updateat) module.save() return HttpResponse('创建成功') else: return HttpResponse('创建失败') @csrf_exempt @login_required() def update_module(request): if request.method == 'POST': post_dict = request.POST module_dict = {"id":post_dict['moduleid'], "name": post_dict['modulename'], "sortby":post_dict['sortby'], # "isenabled": post_dict['isenabled'], } if 'isenabled' in post_dict: isenabled = True else: isenabled = False id = module_dict.get('id') name = module_dict.get('name') isenabled = isenabled sortby = module_dict.get('sortby') updateat = request.user.username updatetime = timezone.now() m = Module.objects.filter(id=int(id)) m.update(name=name, isenabled=isenabled,sortby=sortby, updateat=updateat, updatetime=updatetime) return HttpResponse('修改成功') else: return HttpResponse('修改失败') @login_required() def del_module(request, id): module = get_object_or_404(Module,pk=int(id)) module.delete() return HttpResponseRedirect('/setting/project/view/'+str(module.projectid_id)) @login_required() def get_project(request): projectlist = [] productid = request.GET['productid'] pjlist = Project.objects.filter(productid=productid) for i in pjlist: project = {} project['key'] = i.id project['value'] = i.name projectlist.append(project) return HttpResponse(json.dumps(projectlist)) @login_required() def get_module(request): modulelist = [] projectid = request.GET['projectid'] if projectid == u'': return HttpResponse(u'[]') modlist = Module.objects.filter(projectid=projectid, isenabled=True) for i in modlist: module = {} module['key'] = i.id module['value'] = i.name modulelist.append(module) return HttpResponse(json.dumps(modulelist)) @login_required() def get_connected_user(request): connecteduserlist=[] productid = request.GET['productid'] #product = Product.objects.filter(pk=productid)[0].name userandproduct = UserAndProduct.objects.filter(productname=productid) useridlist=userandproduct.values('username') for i in useridlist: user={} user['key'] = User.objects.get(pk=i['username']).pk user['username'] = User.objects.get(pk=i['username']).username user['realname'] = User.objects.get(pk=i['username']).realname connecteduserlist.append(user) return HttpResponse(json.dumps(connecteduserlist)) @login_required() def get_module_list(request): post_dict = request.GET caselist = [] projectid = post_dict['projectid'] if post_dict['issmoke'] == '1': issmoke = True else: issmoke = False if projectid == u'': return HttpResponse(u'[]') if issmoke: cases = Case.objects.filter(projectid=projectid, issmoke=issmoke, isenabled=True).order_by("moduleid_id", "id") else: cases = Case.objects.filter(projectid=projectid, isenabled=True).order_by("moduleid_id", "id") moduleid = -1 for case in cases: if moduleid != case.moduleid_id: moduleid = case.moduleid_id caselist.append(u'{id:9999999%s, pId:99999990, name:"%s"}' % (case.moduleid_id, case.moduleid.name)) caselist.append(u'{id:%s, pId:9999999%s, name:"%s、%s"}' % (case.id, case.moduleid_id, case.id, case.casedesc)) if caselist: caselist.insert(0, u'{id:99999990, pId:0, name:"%s", open:true}' % (case.projectid.name)) caseData = u'[%s]' % u','.join(caselist) return HttpResponse(caseData) @login_required() def set_edit_product(request): productid = request.GET['productid'] product = Product.objects.get(pk=productid) pd = {} pd['id'] = product.pk pd['name'] = product.name pd['descr'] = product.descr pd['isenabled'] = product.isenabled pd['sortby'] = product.sortby productlist = [pd] return HttpResponse(json.dumps(productlist)) @login_required() def set_edit_project(request): projectid = request.GET['projectid'] project = Project.objects.get(pk=projectid) pj = {} pj['id'] = project.pk pj['name'] = project.name pj['descr'] = project.descr pj['isenabled'] = project.isenabled pj['version'] = project.version pj['sortby'] = project.sortby projectlist = [pj] return HttpResponse(json.dumps(projectlist)) @login_required() def set_edit_module(request): moduleid = request.GET['moduleid'] module = Module.objects.get(pk=moduleid) md = {} md['id'] = module.pk md['name'] = module.name md['isenabled'] = module.isenabled md['sortby'] = module.sortby modulelist = [md] return HttpResponse(json.dumps(modulelist)) @csrf_exempt @login_required() def product_user(request): if request.method == 'POST': post_dict = request.POST username = post_dict.getlist('realname') productname = post_dict['product'] UserAndProduct.objects.filter(productname=productname).delete() for i in range(0, len(username)): userandproduct = UserAndProduct(username=User.objects.get(pk=username[i]),productname=Product.objects.get(pk=productname)) userandproduct.save() return HttpResponse('授权成功') else: return HttpResponse('授权失败') def page_syslog(request): return render(request, 'management/syslog.html') def comingsoon(request): return render(request, 'comingsoon.html') ================================================ FILE: automatic/settings/__init__.py ================================================ ================================================ FILE: automatic/settings/common.py ================================================ """ Django settings for automatic project. Generated by 'django-admin startproject' using Django 3.0.2. For more information on this file, see https://docs.djangoproject.com/en/3.0/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.0/ref/settings/ """ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ROOT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..').replace('\\', '/')) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '$%rn58oxcu-y8$gn!8+y&&92klv0a5hdwa1v-mn5tezm$w+7x4' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ['*'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'auto_auth', 'automatic.management', 'automatic.element', 'automatic.keywords', 'automatic.testcase', 'automatic.testtask', 'automatic.webinterface', ] AUTH_USER_MODEL = "auto_auth.User" MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'automatic.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'automatic.wsgi.application' # Database # https://docs.djangoproject.com/en/3.0/ref/settings/#databases MYSQL_USERNAME = os.environ.get('MYSQL_USERNAME', 'root') MYSQL_PASSWORD = os.environ.get('MYSQL_PASSWORD', '123456') MYSQL_HOST = os.environ.get('MYSQL_HOST', 'localhost') MYSQL_PORT = os.environ.get('MYSQL_PORT', '3306') MYSQL_DBNAME = os.environ.get('MYSQL_DBNAME', 'automatic') DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': MYSQL_DBNAME, 'USER': MYSQL_USERNAME, 'PASSWORD': MYSQL_PASSWORD, 'HOST': MYSQL_HOST, 'PORT': MYSQL_PORT, } } DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' #RabbitMq RABBITMQ_STATUS = False RABBITMQ_CONFIG = {'AMQP_URI': "amqp://guest:guest@192.168.72.127:31141"} # Password validation # https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/3.0/topics/i18n/ # LANGUAGE_CODE = 'en-us' # LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/3.0/howto/static-files/ STATIC_URL = '/static/' STATICFILES_DIRS = [ # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. os.path.join(ROOT_PATH, 'static').replace('\\', '/'), ] LOGIN_REDIRECT_URL = '/index/' LOGIN_URL = '/account/login/' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ os.path.join(ROOT_PATH, 'templates/').replace('\\', '/'), ], 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.static', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', ], 'loaders': [ 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', ] }, }, ] ================================================ FILE: automatic/signals.py ================================================ from django.dispatch import Signal USER_REGISTERED_SIGNAL = Signal(providing_args=['user']) ================================================ FILE: automatic/static/css/ak-base-style.css ================================================ @charset "utf-8"; body { font-size:12px; font-family:Arial,'Microsoft Yahei'; color:#555;} .ak-clear { clear:both;} .ak-left { float:left;} .ak-right { float:right;} .ak-ellipsis { overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis;} .ak-font-normal { font-size:12px; font-family: Arial,'Microsoft Yahei'; color:#555;} .ak-clearfix { zoom:1;} .ak-clearfix:after { content:"."; overflow:hidden; clear:both; visibility:hidden; display:block; height:0;} /*a*/ a { color: #555; text-decoration: none;} a,a:focus, a:hover, a:active, button, button:hover { outline: 0 !important; } a:hover,a:focus { text-decoration: none;} a:hover { color: #327de4;} /*Images*/ img.img-circle{ border-radius: 50% !important; } img.img-w40 { width: 40px;height: 40px;} img.img-w50 { width: 50px; height: 50px;} img.img-w60 { width: 60px; height: 60px;} img.img-100 { width: 100px; height: 100px;} img.img-center,.img-center img { margin-left: auto; margin-right: auto;} img.btn-img {width: 120px; height: 45px;} pre.pre-high {width:100%; height: 330px; margin: 0 auto; text-align: left;} .main-mid {width:50%;margin: 0 auto; text-align: left;} /*radius*/ .no-radius {border-radius:0!important;} /*Full Width*/ .full-width { width: 100%;} /*margin*/ .no-margin { margin: 0px!important;} .m-0 { margin:0px!important;} .m-5 { margin:5px!important;} .m-10 { margin:10px!important;} .m-15 { margin:15px!important;} .m-20 { margin:20px!important;} .m-25 { margin:25px!important;} .m-30 { margin:30px!important;} .m-35 { margin:35px!important;} .m-40 { margin:40px!important;} .m-45 { margin:45px!important;} .m-50 { margin:50px!important;} .m-100 { margin:100px!important;} .m-lr-0 { margin-left:0px!important; margin-right:0px!important;} .m-lr-5 { margin-left:5px!important; margin-right:5px!important;} .m-lr-10 { margin-left:10px!important; margin-right:10px!important;} .m-lr-15 { margin-left:15px!important; margin-right:15px!important;} .m-lr-20 { margin-left:20px!important; margin-right:20px!important;} .m-lr-25 { margin-left:25px!important; margin-right:25px!important;} .m-lr-30 { margin-left:30px!important; margin-right:30px!important;} .m-lr-35 { margin-left:35px!important; margin-right:35px!important;} .m-lr-40 { margin-left:40px!important; margin-right:40px!important;} .m-lr-45 { margin-left:45px!important; margin-right:45px!important;} .m-lr-50 { margin-left:50px!important; margin-right:50px!important;} .m-lr-100 { margin-left:100px!important; margin-right:100px!important;} .m-tb-0 { margin-top:0px!important; margin-bottom:0px!important;} .m-tb-5 { margin-top:5px!important; margin-bottom:5px!important;} .m-tb-10 { margin-top:10px!important; margin-bottom:10px!important;} .m-tb-15 { margin-top:15px!important; margin-bottom:15px!important;} .m-tb-20 { margin-top:20px!important; margin-bottom:20px!important;} /*.m-tb-25 { margin-top:25px!important; margin-bottom:25!important;}*/ .m-tb-30 { margin-top:30px!important; margin-bottom:30px!important;} .m-tb-35 { margin-top:35px!important; margin-bottom:35px!important;} .m-tb-40 { margin-top:40px!important; margin-bottom:40px!important;} .m-tb-45 { margin-top:45px!important; margin-bottom:45px!important;} .m-tb-50 { margin-top:50px!important; margin-bottom:50px!important;} .m-tb-100 { margin-top:100px!important; margin-bottom:100px!important;} .m-t-0 { margin-top:0px!important;} .m-t-5 { margin-top:5px!important;} .m-t-10 { margin-top:10px!important;} .m-t-15 { margin-top:15px!important;} .m-t-20 { margin-top:20px!important;} .m-t-25 { margin-top:25px!important;} .m-t-30 { margin-top:30px!important;} .m-t-35 { margin-top:35px!important;} .m-t-40 { margin-top:40px!important;} .m-t-45 { margin-top:45px!important;} .m-t-50 { margin-top:50px!important;} .m-t-100 { margin-top:100px!important;} .m-r-0 { margin-right:0px!important;} .m-r-5 { margin-right:5px!important;} .m-r-10 { margin-right:10px!important;} .m-r-15 { margin-right:15px!important;} .m-r-20 { margin-right:20px!important;} .m-r-25 { margin-right:25px!important;} .m-r-30 { margin-right:30px!important;} .m-r-35 { margin-right:35px!important;} .m-r-40 { margin-right:40px!important;} .m-r-45 { margin-right:45px!important;} .m-r-50 { margin-right:50px!important;} .m-r-100 { margin-right:100px!important;} .m-b-0 { margin-bottom:0px!important;} .m-b-5 { margin-bottom:5px!important;} .m-b-10 { margin-bottom:10px!important;} .m-b-15 { margin-bottom:15px!important;} .m-b-20 { margin-bottom:20px!important;} .m-b-25 { margin-bottom:25px!important;} .m-b-30 { margin-bottom:30px!important;} .m-b-35 { margin-bottom:35px!important;} .m-b-40 { margin-bottom:40px!important;} .m-b-45 { margin-bottom:45px!important;} .m-b-50 { margin-bottom:50px!important;} .m-b-100 { margin-bottom:100px!important;} .m-l-0 { margin-left:0px!important;} .m-l-5 { margin-left:5px!important;} .m-l-10 { margin-left:10px!important;} .m-l-15 { margin-left:15px!important;} .m-l-20 { margin-left:20px!important;} .m-l-25 { margin-left:25px!important;} .m-l-30 { margin-left:30px!important;} .m-l-35 { margin-left:35px!important;} .m-l-40 { margin-left:40px!important;} .m-l-45 { margin-left:45px!important;} .m-l-50 { margin-left:50px!important;} .m-l-100 { margin-left:100px!important;} /*padding*/ .no-padding { padding: 0px!important;} .p-0 { padding:0px!important;} .p-5 { padding:5px!important;} .p-10 { padding:10px!important;} .p-15 { padding:15px!important;} .p-20 { padding:20px!important;} .p-25 { padding:25px!important;} .p-30 { padding:30px!important;} .p-35 { padding:35px!important;} .p-40 { padding:40px!important;} .p-45 { padding:45px!important;} .p-50 { padding:50px!important;} .p-100 { padding:100px!important;} .p-lr-0 { padding-left:0px!important; padding-right:0px!important;} .p-lr-5 { padding-left:5px!important; padding-right:5px!important;} .p-lr-10 { padding-left:10px!important; padding-right:10px!important;} .p-lr-15 { padding-left:15px!important; padding-right:15px!important;} .p-lr-20 { padding-left:20px!important; padding-right:20px!important;} .p-lr-25 { padding-left:25px!important; padding-right:25px!important;} .p-lr-30 { padding-left:30px!important; padding-right:30px!important;} .p-lr-35 { padding-left:35px!important; padding-right:35px!important;} .p-lr-40 { padding-left:40px!important; padding-right:40px!important;} .p-lr-45 { padding-left:45px!important; padding-right:45px!important;} .p-lr-50 { padding-left:50px!important; padding-right:50px!important;} .p-lr-100 { padding-left:100px!important; padding-right:100px!important;} .p-tb-0 { padding-top:0px!important; padding-bottom:0px!important;} .p-tb-5 { padding-top:5px!important; padding-bottom:5px!important;} .p-tb-10 { padding-top:10px!important; padding-bottom:10px!important;} .p-tb-15 { padding-top:15px!important; padding-bottom:15px!important;} .p-tb-20 { padding-top:20px!important; padding-bottom:20px!important;} .p-tb-25 { padding-top:25px!important; padding-bottom:25px!important;} .p-tb-30 { padding-top:30px!important; padding-bottom:30px!important;} .p-tb-35 { padding-top:35px!important; padding-bottom:35px!important;} .p-tb-40 { padding-top:40px!important; padding-bottom:40px!important;} .p-tb-45 { padding-top:45px!important; padding-bottom:45px!important;} .p-tb-50 { padding-top:50px!important; padding-bottom:50px!important;} .p-tb-100 { padding-top:100px!important; padding-bottom:100px!important;} .p-t-0 { padding-top:0px!important;} .p-t-5 { padding-top:5px!important;} .p-t-10 { padding-top:10px!important;} .p-t-15 { padding-top:15px!important;} .p-t-20 { padding-top:20px!important;} .p-t-25 { padding-top:25px!important;} .p-t-30 { padding-top:30px!important;} .p-t-35 { padding-top:35px!important;} .p-t-40 { padding-top:40px!important;} .p-t-45 { padding-top:45px!important;} .p-t-50 { padding-top:50px!important;} .p-t-100 { padding-top:100px!important;} .p-r-0 { padding-right:0px!important;} .p-r-5 { padding-right:5px!important;} .p-r-10 { padding-right:10px!important;} .p-r-15 { padding-right:15px!important;} .p-r-20 { padding-right:20px!important;} .p-r-25 { padding-right:25px!important;} .p-r-30 { padding-right:30px!important;} .p-r-35 { padding-right:35px!important;} .p-r-40 { padding-right:40px!important;} .p-r-45 { padding-right:45px!important;} .p-r-50 { padding-right:50px!important;} .p-r-100 { padding-right:100px!important;} .p-b-0 { padding-bottom:0px!important;} .p-b-5 { padding-bottom:5px!important;} .p-b-10 { padding-bottom:10px!important;} .p-b-15 { padding-bottom:15px!important;} .p-b-20 { padding-bottom:20px!important;} .p-b-25 { padding-bottom:25px!important;} .p-b-30 { padding-bottom:30px!important;} .p-b-35 { padding-bottom:35px!important;} .p-b-40 { padding-bottom:40px!important;} .p-b-45 { padding-bottom:45px!important;} .p-b-50 { padding-bottom:50px!important;} .p-b-100 { padding-bottom:100px!important;} .p-l-0 { padding-left:0px!important;} .p-l-5 { padding-left:5px!important;} .p-l-10 { padding-left:10px!important;} .p-l-15 { padding-left:15px!important;} .p-l-20 { padding-left:20px!important;} .p-l-25 { padding-left:25px!important;} .p-l-30 { padding-left:30px!important;} .p-l-35 { padding-left:35px!important;} .p-l-40 { padding-left:40px!important;} .p-l-45 { padding-left:45px!important;} .p-l-50 { padding-left:50px!important;} .p-l-100 { padding-left:100px!important;} /*upload btn*/ .ak-zupload-btn { cursor: pointer; font-weight: 400; padding: 6px 13px; position: relative; background: #e6e6e6; white-space: nowrap; display: inline-block; overflow:hidden;} .ak-zupload-btn input[type="file"] { position: absolute; right: 0; top: 0; opacity: 0; filter: alpha(opacity=0); cursor: pointer; z-index:100;} /*switch btn*/ .ak-switch-check input{display: none;} .ak-switch-check i{display: inline-block;cursor: pointer;padding-right: 25px;transition: all ease 0.2s;-webkit-transition: all ease 0.2s;border-radius: 25px;border: solid 1px #ccc;} .ak-switch-check i:before{display: block;content: '';width: 25px;height: 25px;border-radius: 25px;background: white;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);font-size: 8px;line-height: 25px;text-align:center;color:#747474;} .ak-switch-check :checked + i{padding-right: 0;padding-left: 25px;background: #6cbff0;box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5), inset 0 0 40px #0093ea;-webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5), inset 0 0 40px #0093ea;} .ak-switch-check i:before{content: "off";text-transform: uppercase;font-style: normal;} .ak-switch-check i:after{content: "";position: absolute;} .ak-switch-check :checked ~ i:before{content: "on";font-size:9px;color:#4684cf;} /*form*/ .ak-form-wrap .form-control { box-shadow: none; border-radius: 0; } /*去掉移动端浏览器自动给input和textarea添加的内部阴影*/ input[type=text],textarea{-webkit-appearance: none;} /*select 统一样式*/ .ak-zform-selectlabel {display: inline-block; margin:0!important; padding:0!important; font-weight:normal; width:100%; position:relative;} select.ak-zform-select {-webkit-appearance: none;-moz-appearance: none; box-sizing:border-box; background:#fff;appearance:none;} .ak-zform-selectlabel .select-icon {height:20px; right: 7px; top: 7px; width: 25px; position:absolute; background:#fff url(../images/ak-z-icon.png) no-repeat -305px -243px; cursor:pointer;pointer-events: none; z-index:999;} .space-15 { margin: 15px 0; } .space-20 { margin: 20px 0; } .space-25 { margin: 25px 0; } .space-30 { margin: 30px 0; } body.modal-open { padding-right: inherit !important; } .modal-backdrop { z-index: 2040 !important; } .modal { z-index: 2050 !important; padding-top: 100px; } /*yeeoffice css*/ /*scroll修改过的滚动条样式 start*/ .content-zscroll{ overflow: auto; position: relative; padding:0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .content-zscroll.hidden{ display: none; } .content-zscroll hr{ margin-bottom: -10px; border-top: 1px solid rgba(0,0,0,0.7); } .content-zscroll.light hr{ border-bottom: 1px solid rgba(255,255,255,0.6); border-top: 1px solid rgba(0,0,0,0.1); } /*scroll修改过的滚动条样式 end*/ /*visible-xs hidden-xs*/ .visible-xs769 { display: none; } .hidden-xs769 { display: block; } @media (max-width: 768px){ .visible-xs769 { display: block!important; } .hidden-xs769 { display: none!important; } } /*移动端浏览网页元素时,自动给input和textarea添加了内部阴影的效果*/ input,textarea{-webkit-appearance: none;} input[type=checkbox]{-webkit-appearance:checkbox;cursor:pointer;} input[type=radio] { -webkit-appearance: radio;cursor:pointer;} /*select 统一样式*/ .ak-zform-selectlabel {display: inline-block; margin:0!important; padding:0!important; font-weight:normal; width:100%; position:relative;} select.ak-zform-select {-webkit-appearance: none;-moz-appearance: none; box-sizing:border-box; background:#fff;appearance:none;} .ak-zform-selectlabel .select-icon {height:20px; right: 7px; top: 7px; width: 25px; position:absolute; background:#fff url(../images/ak-z-icon.png) no-repeat -305px -243px; cursor:pointer;pointer-events: none; z-index:999;} .ak-mcol-padding8 { padding-left:8px!important; padding-right:8px!important;} @media (max-width:768px) {.col-md-4.col-sm-6.col-xs-12.item { width:100%!important;}} /*Sky-Forms start--*/ .sky-form .label{display: block;margin-bottom: 6px;line-height: 19px;font-weight: 400;} .sky-form .toggle{position: relative;display: block;} .sky-form .radio, .sky-form .checkbox{margin-bottom: 4px;padding-left: 27px;font-size: 15px;line-height: 27px;color: #404040;cursor: pointer;} .sky-form .radio:last-child, .sky-form .checkbox:last-child{margin-bottom: 0;} .sky-form .radio input, .sky-form .checkbox input{position: absolute;left: -9999px;} .sky-form .radio i, .sky-form .checkbox i{position: absolute;top: 5px;left: 0;display: block;width: 13px;height: 13px;outline: none;border-width: 2px;border-style: solid;background: #fff;} .sky-form .radio i{border-radius: 50%;} .sky-form .radio input + i:after, .sky-form .checkbox input + i:after{position: absolute;opacity: 0;-ms-transition: opacity 0.1s;-moz-transition: opacity 0.1s;-webkit-transition: opacity 0.1s;} .sky-form .radio input + i:after{content: '';top: 4px;left: 4px;width: 5px;height: 5px;border-radius: 50%;} .sky-form .checkbox input + i:after{content: '\f00c';top: -1px;left: -1px;width: 15px;height: 15px;font: normal 12px/16px FontAwesome;text-align: center;} .sky-form .radio input:checked + i:after, .sky-form .checkbox input:checked + i:after{opacity: 1;} .sky-form .toggle{margin-bottom: 4px;padding-right: 61px;font-size: 15px;line-height: 27px;color: #404040;cursor: pointer;font-weight: normal;} .sky-form .toggle:last-child{margin-bottom: 0;} .sky-form .toggle input{position: absolute;left: -9999px;} .sky-form .toggle i{content: '';position: absolute;top: -4px;right: 0;display: block;width: 49px;height: 17px;border-width: 2px;border-style: solid;border-radius: 12px;background: #fff; left:8px;;} .sky-form .toggle i.col01{top:4px;left:0px;;} .sky-form .toggle i:after{content: '停用';position: absolute;top: 2px;right: 8px;left: 8px;font-style: normal;font-size: 9px;line-height: 13px;font-weight: 700;text-align: left;color: #5f5f5f;} .sky-form .toggle i:before{content: '';position: absolute;z-index: 1;top: 4px;right: 4px;display: block;width: 9px;height: 9px;border-radius: 50%;opacity: 1;-ms-transition: right 0.2s;-moz-transition: right 0.2s;-webkit-transition: right 0.2s;} .sky-form .toggle input:checked + i:after{content: '启用';text-align: right;} .sky-form .toggle input:checked + i:before{right: 36px;} .sky-form .radio i, .sky-form .checkbox i, .sky-form .toggle i{border-color: #e5e5e5;-ms-transition: border-color 0.3s;-moz-transition: border-color 0.3s;-webkit-transition: border-color 0.3s;} .sky-form .toggle i:before{background-color: #4684cf;} .sky-form .rating label{color: #ccc;-ms-transition: color 0.3s;-moz-transition: color 0.3s;-webkit-transition: color 0.3s;} .sky-form .radio:hover i, .sky-form .checkbox:hover i, /*.sky-form .toggle:hover i,{border-color: #8dc9e5;}*/ .sky-form .radio input:focus + i, .sky-form .checkbox input:focus + i, .sky-form .toggle input:focus + i{border-color: #2da5da;} .sky-form .radio input + i:after{background-color: #2da5da;} .sky-form .checkbox input + i:after{color: #2da5da;} .sky-form .radio input:checked + i, .sky-form .checkbox input:checked + i, .sky-form .toggle input:checked + i{border-color: #2da5da;} .sky-form .label{border-radius: 0;font-size: 100%;text-align: left;white-space: normal;color: inherit;} .sky-form .radio, .sky-form .checkbox{font-weight: 400;} .sky-form .radio + .radio, .sky-form .checkbox + .checkbox{margin-top: 0;} .sky-form .input input{height: 34px;padding: 6px 12px;} .sky-form .input input, .sky-form .select select, .sky-form .textarea textarea{border-width: 1px;font-size: 14px;color: #404040;} .sky-form .select select{height: 33px;padding: 6px 10px;} .sky-form .select-multiple select{height: auto;} .sky-form .input input, .sky-form .select select, .sky-form .textarea textarea, .sky-form .radio i, .sky-form .checkbox i, .sky-form .toggle i, .sky-form .icon-append, .sky-form .icon-prepend{border-color: #bbb;} /*.sky-form .toggle i:before{background-color: #999;} */.sky-form .button{background: #72c02c;} .sky-form .toggle i{width: 54px;height: 21px;border-width: 1px;} .sky-form .toggle i:after{top: 3px;} .sky-form .toggle i:before{top: 5px;right: 6px;} .radio, .checkbox{margin-top: 0;} .sky-form .radio i, .sky-form .checkbox i{width: 17px;height: 17px;border-width: 1px;} .sky-form .checkbox input + i:after{top: 2px;left: 0;font: normal 10px FontAwesome;} .sky-form .radio input + i:after{top: 5px;left: 5px;background-color: #999;} .sky-form .checkbox input + i:after{color: #999;} .sky-form .radio input:checked + i, .sky-form .checkbox input:checked + i, .sky-form .toggle input:checked + i{border-color: #999;} .sky-form .rating input:checked ~ label{color: #72c02c;} .sky-form .input input:focus, .sky-form .select select:focus, .sky-form .textarea textarea:focus{border-color: #bbb;box-shadow: 0 0 2px #c9c9c9;} .sky-form .radio input:focus + i, .sky-form .checkbox input:focus + i, .sky-form .toggle input:focus + i{border-color: #999;box-shadow: none;} .sky-form .input:hover input, .sky-form .select:hover select, .sky-form .textarea:hover textarea{border-color: #999;} .sky-form .radio:hover i, .sky-form .checkbox:hover i, .sky-form .toggle:hover i, .sky-form .ui-slider-handle:hover{border-color: #999;} .sky-form .input.state-disabled:hover input, .sky-form .select.state-disabled:hover select, .sky-form .textarea.state-disabled:hover textarea, .sky-form .radio.state-disabled:hover i, .sky-form .checkbox.state-disabled:hover i, .sky-form .toggle.state-disabled:hover i{border-color: #bbb;} .sky-form.ak-aqu-badge{padding-top:0;padding-bottom:0;margin-top:-5px;} .sky-form .toggle input + i:before{ background-color:#a8a7a7;} .sky-form .toggle input:checked + i:before{ background-color:#2da5da;} /*Sky-Forms end--*/ /*分页 start*/ .pagination.ak-zcommon-pagelist>li>a, .pagination.ak-zcommon-pagelist>li>span{position: relative;float: left;padding: 5px 10px;font-size: 12px;line-height: 1.42857143;color: #555!important;text-decoration: none;background-color: #fff!important;border: 1px solid #ddd;margin-left:5px!important;margin-right:5px!important;border-radius:4px!important;} .pagination.ak-zcommon-pagelist>a:focus, .pagination.ak-zcommon-pagelist>li>a:hover, .pagination.ak-zcommon-pagelist>li>span:focus, .pagination.ak-zcommon-pagelist>li>span:hover ,.pagination.ak-zcommon-pagelist>li>span:visited, .pagination.ak-zcommon-pagelist>li>span:visited{background-color: #fff!important;color: #0173f2!important;border-color: #0173f2!important;} .pagination.ak-zcommon-pagelist>a.active{background-color: #fff!important;color: #0173f2!important;border-color: #0173f2!important;} .pagination.ak-zcommon-pagelist > .active > a, .pagination.ak-zcommon-pagelist > .active > span, .pagination.ak-zcommon-pagelist > .active > a:hover, .pagination.ak-zcommon-pagelist > .active > span:hover, .pagination.ak-zcommon-pagelist > .active > a:focus, .pagination.ak-zcommon-pagelist > .active > span:focus{z-index: 2;color: #0173f2!important;cursor: default;background-color: #fff!important;border-color: #0173f2!important;} .ak-zpagelisticon{width:20px;height:21px;display:inline-block;background-image:url(../images/ak-z-icon.png);cursor:pointer; float:left;} .ak-zpagelisticon.left{background-position:0 -245px;} .ak-zpagelisticon.right{background-position:-27px -245px;} .pagination.ak-zcommon-pagelist>li:first-child>a, .pagination.ak-zcommon-pagelist>li:first-child>span{padding:3px;} .pagination.ak-zcommon-pagelist>li:last-child>a, .pagination>li:last-child>span{padding:3px;} /*分页 end*/ /*=====loading start=====*/ .zpage-loader{ display:none;width:100%;height:100%;position:fixed;top:0;left:0;background:rgba(250,250,250,0.8);z-index:100000} .sk-wave-loading { width: 50px; height: 30px; text-align: center; font-size: 10px; top:50%;left:50%; margin:-15px 0 0 -25px; position:absolute;} .sk-wave-loading .sk-rect { background-color: #4684cf; height: 100%; width: 6px; display: inline-block; -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out; animation: sk-waveStretchDelay 1.2s infinite ease-in-out; } .sk-wave-loading .sk-rect1 { -webkit-animation-delay: -1.2s; animation-delay: -1.2s; } .sk-wave-loading .sk-rect2 { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-wave-loading .sk-rect3 { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-wave-loading .sk-rect4 { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-wave-loading .sk-rect5 { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } @-webkit-keyframes sk-waveStretchDelay { 0%, 40%, 100% { -webkit-transform: scaleY(0.4); transform: scaleY(0.4); } 20% { -webkit-transform: scaleY(1); transform: scaleY(1); } } @keyframes sk-waveStretchDelay { 0%, 40%, 100% { -webkit-transform: scaleY(0.4); transform: scaleY(0.4); } 20% { -webkit-transform: scaleY(1); transform: scaleY(1); } } .sk-wave-text { color:#4684cf;} .ak-zloading-block { display:block!important;} .ak-zloading-none { display:none!important;} /*=====loading end=====*/ .ak-znews-addsort-modal .control-label.ak-form-label { text-align: left!important; font-weight: normal; } .ak-zicon.ak-navphoneicon{ background-position:-339px -18px; margin-right:5px;margin-top:-4px;} .ak-zicon.ak-navkonwicon{ background-position:-304px -18px; margin-right:5px;margin-top:-4px;} /*modal*/ .col-md-12.ak-back-header.clearfix { padding-left:0; padding-right:0;} /*modal start*/ .ak-min-fullwidth-modal .modal-body { background:#f5f5f5; padding:15px 30px;} .ak-min-fullwidth-modal .modal-body.col01 {background:transparent;} .ak-min-fullwidth-modal .modal-content { background:#fff!important;} @media (max-width:768px) { .ak-min-fullwidth-modal .modal-dialog { margin:0;} .ak-min-fullwidth-modal .modal-content {min-height: 100%; height:auto; border-radius: 0!important;} .add-doc-icon {margin-top:20%;} } @media (max-width:768px) {.ak-min-fullwidth-modal .modal-header .close{ margin-top:5px; margin-right:5px; float:left;}} .ak-header-btnsm { padding:4px 7px; font-size:12px;} .ak-zdl-createbtn {padding: 6px 13px; background:#629cfa; color:#fff; border:none;} /*.ak-zdol-changebg-btn:hover {background:rgba(51, 51, 51, 0.6) url(../images/photo2.png) no-repeat center center;}*/ .ak-zdl-createbtn.cancel { background:#f3f3f3; color:#555; margin-left:5px;} .form-control { box-shadow: none; /*border-radius: 0 !important;*/ } .ak-min-fullwidth-modal .modal-content { border-radius:0!important;} @media (min-width: 992px) {.ak-min-fullwidth-modal .modal-dialog { width:800px; /*margin-top:15%;*/}} @media (min-width: 768px) and (max-width:992px){ .ak-min-fullwidth-modal .modal-dialog { width: 90%; }} .ak-min-fullwidth-modal .close { width:16px; height:16px; background:url(../images/ak-z-icon.png) -150px -1px; opacity: 1;color:transparent;margin-top:4px; outline:medium none;} /*.ak-min-fullwidth-modal .close:foucs { outline:none;}*/ .ak-zdl-createbtn {padding: 5px 13px; background:#629cfa; color:#fff; margin-left:15px; border:solid 1px #4389f9;} /*.ak-zdol-changebg-btn:hover {background:rgba(51, 51, 51, 0.6) url(../images/photo2.png) no-repeat center center;}*/ .ak-zdl-createbtn.cancel { background:#f3f3f3; color:#555; border:solid 1px #ddd;} @media (max-width:768px) {.ak-min-fullwidth-modal .close {background:url(../images/ak-z-icon.png) -186px -2px;} .ak-min-fullwidth-modal .modal-content { background:#f5f5f5!important;} .ak-min-fullwidth-modal .modal-content .modal-header {background:#fff!important;}} @media (max-width:768px) {.ak-min-fullwidth-modal .modal-body { padding:15px;}} /*modal end*/ /*visible-xs hidden-xs*/ .visible-zxs { display: none!important; } .hidden-zxs { display: block!important; } @media (max-width: 768px){ .visible-zxs { display: block!important; } .hidden-zxs { display: none!important; } } h1{font-size: 28px;line-height: 35px;} h2{font-size: 24px;line-height: 33px;} h3{font-size: 20px;line-height: 27px;} h4{line-height: 25px;} h5{line-height: 20px;} h6{line-height: 18px;} h1, h2, h3, h4, h5, h6{color: #555;margin-top: 5px;text-shadow: none;font-weight: normal;font-family:Arial,'Microsoft yahei';} h1 i, h2 i, h3 i, h4 i, h5 i, h6 i{margin-right: 5px;} p, li, li a, label{color: #555;} .ak-zdol-icon { width: 25px; height: 25px; display: inline-block; float: left; /*background: url(../images/ak-common-icon.png) no-repeat 0 0;*/ margin-right: 10px; cursor: pointer; } .ak-zdol-topsropbtn span { margin-top: 0!important; } .ak-akdetail-titlewrap span { float: left; line-height: 25px; margin-top: 4px; } .ak-zdol-icon.iconmore-light { width: 20px; height: 20px; background: url(../images/ak-z-icon.png) no-repeat -304px -206px; } .ak-zgrey-back { display: inline-block; background: url(../images/ak-z-icon.png) -304px -55px; background-repeat: no-repeat; width: 25px; height: 25px; vertical-align: middle; cursor: pointer; margin-right: 0!important; float: left; margin-top: 14px; } .btn { box-shadow: none; } .ak-zdol-topsropbtn { width: 30px; height: 30px; padding: 6px 12px!important; background: transparent; border: none; cursor: pointer; margin-top: 10px; } .ak-zdol-searchbox {position: relative; width: 230px; margin-top:11px;} .ak-zdol-searchbox input[type="text"] { background:#fff none repeat scroll 0 0; border: 1px solid #d4d4d4; color: #797979; display: inline-block; font-size: 0.975em; outline: medium none; padding: 0 2px 0 30px; width: 100%; height: 28px; } .ak-zdol-searchbox span.searchicon { background:#fff url("../images/ak-z-icon.png") no-repeat scroll 0 0; border: 0 none; display: inline-block; height: 16px; left: 6px; outline: medium none; position: absolute; top: 6px; width: 16px; } /*back to-top start*/ #topcontrol{color: #fff;z-index: 99;width: 30px;height: 30px;font-size: 20px;background: #222;position: relative;right: 14px !important;bottom: 11px !important;border-radius: 3px !important;} #topcontrol:after{top: -2px;left: 8.5px;content: "\f106";position: absolute;text-align: center;font-family: FontAwesome;} /* to-top end*/ /*upload*/ .ak-upload { font-size: 22px; position: absolute; cursor: pointer; color: #fff; border: none; overflow: hidden; display: inline-block; } .ak-zdol-changebg-btn { width: 50px; height: 50px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -o-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; position: absolute; right: 15px; bottom: 20px; /*background: rgba(0, 0, 0, 0.6) url(../images/photo2.png) no-repeat center center!important;*/ border: none; outline: none; cursor: pointer; z-index: 1046; } .ak-zdol-changebg-btn:hover { /*background: rgba(51, 51, 51, 0.6) url(../images/photo2.png) no-repeat center center!important;*/ } .ak-upload input { position: absolute; font-size: 100px; right: 0; top: 0; opacity: 0; filter: alpha(opacity=0); cursor: pointer; z-index: 100; } @media (max-width: 768px){ .modal-dialog { position: absolute; width: auto; margin: 10px; top: 0; left: 0; bottom: 0; right: 0; } } .ak-required { color: red;} /*sm modal*/ @media (min-width: 769px) {.zsm-modal .modal-dialog{ width: 400px!important;margin-top:13%;} .zsm-modal .modal-body { padding:15px; background: #fff; }.zsm-modal .modal-dialog {margin-top:13%;} } .zsm-modal .close { width:16px; height:16px; background:url(../images/ak-z-icon.png) -150px -1px; opacity: 1;color:transparent;margin-top:4px; outline:medium none;} /*.zsm-modal .close:foucs { outline:none;}*/ @media (max-width:768px) {.zsm-modal .modal-dialog{margin-top:5%;}} .ak-zsm-modal .modal-content { border-radius: 0!important; } @media (min-width: 768px){ .ak-zsm-modal .modal-sm { width:500px;} .ak-zsm-modal .modal-dialog { margin-top:15%;} .ak-zsm-modal10 .modal-dialog { margin-top:10%;} } .ak-zsm-modal .close { width: 16px; height: 16px; /*background: url(../../images/ak-z-icon.png) -150px -1px;*/ opacity: 1; color: transparent; margin-top: 4px; outline: medium none; } .ak-zgrey-back.ak-zdol-nback { display:none;} @media (max-width: 768px){ .ak-zsm-modal .modal-header .close { margin-top: 5px; margin-right: 5px; float: left; } .ak-zsm-modal .close { /*background: url(../../images/ak-z-icon.png) -186px -2px;*/ } .ak-zsm-modal .modal-content { min-height: 100%; }} @media (max-width: 992px){ .ak-zgrey-back.ak-zdol-nback { display:block;} } ul li a:hover{background-color: #35b0ee; } /* */ body{margin:0;padding:0;overflow-x:hidden;} html, body{height:100%;} img{border:none;} *{font-family:'微软雅黑';font-size:12px;} dl,dt,dd{display:block;margin:0;padding:0;} a{text-decoration:none;} #bg{background-image:url(../images/dotted.png);} .container{width:100%;height:100%;margin:auto;} /*left*/ .leftsidebar_box{float:left;width:150px;height:auto !important;overflow:visible !important;position:fixed;height:100% !important;background-color:#0277bd;} .line{width:100%;background-image:url(../images/line_bg.png);background-repeat:repeat-x;} .leftsidebar_box dt{padding-left:40px;padding-right:10px;background-repeat:no-repeat;background-position:10px center;color:#f5f5f5;font-size:14px;position:relative;line-height:48px;cursor:pointer;margin-bottom:1px;} .leftsidebar_box dd{background-color: #0277bd;} .leftsidebar_box dd a{display:block;color:#f5f5f5;line-height:20px;padding:7px 0 7px 40px!important;} .leftsidebar_box dd a:hover {background-color:#3992D0;} .leftsidebar_box dt img{position:absolute;right:10px;top:20px;} .functiontest dt{background-image:url(../images/system.png)} .interfacetest dt{background-image:url(../images/channel.png)} .channel dt{background-image:url(../images/channel.png)} .tools dt{background-image:url(../images/source.png)} .cloud dt{background-image:url(../images/cloud.png)} .setting dt{background-image:url(../images/syetem_management.png)} .source dt{background-image:url(../images/statistics.png)} .statistics dt{background-image:url(../images/app.png)} .leftsidebar_box dl dd:last-child{padding-bottom:10px;} ================================================ FILE: automatic/static/css/ak-schedule.css ================================================ .ak-zper-ltopbtnbox{background:#fafafa;height:50px;position:relative;border-bottom: solid 1px #eee;box-shadow: 0 0 8px #ddd;border-right: solid 1px #ddd;} .ak-zper-navbtn{width:25px;height:15px;display:inline-block;cursor:pointer;margin:17px 0 0 15px;} .ak-zper-adminbox{height:60px;padding-left:8px;} .ak-zper-adminbox .img-box{width:38px;height:38px;overflow:hidden;display:inline-block;cursor:pointer;border-radius:50%;margin:11px 10px 6px 10px;float:left;} .ak-zper-adminbox .img-box img{display: block;max-width: 100%;height: auto;min-width:100%;min-height:100%;} .ak-zper-adminbox .name{height:60px;line-height:60px;font-size:14px;cursor:pointer;float:left;color: #f0f0f0} .al-zper-dropdownicon{width:20px;height:30px;display:inline-block;cursor:pointer;margin-top:15px;float:left;} .ak-zpericon{width:20px;height:20px;display:inline-block;cursor:pointer;float:left;} .ak-zper-bellicon{width:20px;height:20px;margin-right:10px;font-size:18px;display:inline-block;opacity:0.7;} .ak-zper-chaticon{width:20px;height:20px;float:right;margin-top:20px;margin-right:20px;} .ak-zper-inbox-title{height:61px;background:#fafafa;color:#555;border-bottom: solid 1px #eee;/*box-shadow: 0 0 8px #ddd;*/position:relative;} .ak-zper-inbox-title .inbox-text{font-size:16px;height:50px;line-height:50px;margin-left:15px;cursor:pointer;} .ak-zper-inbox-con{padding:15px;} .ak-zper-addtask-box{height:50px;background-color:rgba(118,148,116,0.85);padding:0 50px 0 40px;position:relative;margin-bottom:10px;cursor:pointer;} .ak-zper-addtask-input{background:transparent;border-color:transparent;outline:none;color:#fff;font-size:14px;width:100%;height:50px;line-height:50px;padding-left:5px;} .ak-zper-addicon{background-position:-353px -206px;position:absolute;top:15px;left:15px;} .ak-zper-inbox-list.active{background:#e1f2fe;} .ak-zper-complete{display:inline-block;padding:5px 10px;background:#668964;cursor:pointer;color:#fff;margin-top:20px;} .ak-zper-inbox-listnew.conplete .ak-zper-inbox-list{background-color:rgba(255,255,255,1);} .ak-zper-leftbox,.ak-zper-midbox,.ak-zper-rightbox{padding-bottom: 9999px;margin-bottom: -9999px;overflow:hidden;padding-left:0!important;padding-right:0!important;min-height:100%;} .ak-zper-midbox{background:#fff} .ak-zper-remind-title{padding:10px 35px 10px 40px;height:auto;position:relative;} .ak-zper-remind-title .check-box{position:absolute;top:10px;left:15px;} .ak-zper-inboxstar.remaindbox{position:absolute;right:10px;top:13px;} .ak-zper-remind-title .text{font-size:16px;} .ak-zper-remindicon{width:25px;height:25px;display:inline-block;cursor:pointer;position:absolute;top:10px;left:10px;} .ak-zper-canicon{background-position:-4px -4px;} .ak-zper-remind-list{padding-left:40px;position:relative;} .ak-zper-remind-list .right-text{border-bottom: solid 1px #ddd;min-height:40px;} .ak-zper-remind-list .right-text input{border:none;background:transparent;outline:none;height:40px;padding-left:5px;width:100%;font-weight: normal;cursor:pointer;} .ak-zper-remind-list .right-text textarea{border:none;background:transparent;outline:none;height:auto;padding-left:5px;width:100%;} .ak-zper-leftbox, .ak-zper-rightbox{background:#fafafa;} .ak-zper-alarm-clockicon{background-position:-4px -51px;} .ak-zper-sight-addicon{background-position:-4px -99px;} .ak-zper-sight-editicon{background-position:-4px -148px;} .ak-zper-sight-fileicon{background-position:-4px -196px;} .ak-zperleftnav-ul{margin:0;padding:0;list-style:none;} .ak-zperleftnav-ul .list-group-item{cursor:pointer;border:none;font-size:14px;cursor:pointer;background:transparent;display: block;padding: 10px 15px;} .ak-zperleftnav-ul .list-group-item:hover{cursor:pointer;} .ak-zperleftnav-ul .list-group-item:first-child{border-top-left-radius: 0px;border-top-right-radius: 0px;} .ak-zperleftnav-ul .list-group-item:last-child{border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;} .ak-zperleftnav-ul .list-group-item.active, .ak-zperleftnav-ul .list-group-item.active:focus, .ak-zperleftnav-ul .list-group-item.active:hover, .ak-zperleftnav-ul .list-group-item:hover{z-index: 2;color: #555;background: #cce8ff;} .ak-zper-navicon{width:25px;height:25px;display:inline-block;cursor:pointer;float:left;margin-right:10px;} .ak-zper-navicon img{margin:0 auto;} .ak-zper-nav-smred{width:25px;height:25px;font-size:12px;color:red;margin-right:5px;background:#ffd6d6;float:right;display:inline-block;border-radius:50%;text-align:center;line-height:25px;text-align:center;} .ak-zper-nav-smgrey{width:25px;height:25px;font-size:12px;color:#787878;float:right;display:inline-block;line-height:25px;text-align:center;} .ak-zperleftnav-ul .list-group-item.active .ak-zper-nav-smred , .ak-zperleftnav-ul .list-group-item.active:focus .ak-zper-nav-smred , .ak-zperleftnav-ul .list-group-item.active:hover .ak-zper-nav-smred , .ak-zperleftnav-ul .list-group-item:hover .ak-zper-nav-smred{background:#d96e6c;color:#fff;} .ak-zperleftnav-ul li a{display: block;} .ak-zperleftnav-ul .secondary{list-style:none;padding:0;margin:0;display:none;} .ak-zperleftnav-ul li a{display: block;padding: 10px 15px;} .ak-zper-inboxback{width:25px;height:25px;display:none;float:left;margin:12px 0 0 5px;cursor:pointer;} .ak-zper-remindback{width:25px;height:25px;display:none;float:left;cursor:pointer;position: absolute;top: 12px;left: 10px;} .ak-zper-md-3, .ak-zper-md-6, .ak-zper-md-9, .ak-zper-md-12{position: relative;min-height: 1px;padding-right: 15px;padding-left: 15px;width:100%;} .ak-zper-leftbox{float:left;width:150px;} /*.ak-zper-midbox{float:left;width:100%;}*/ .ak-zper-rightbox{float:left;width:100%;} .ak-zper-rightbox-block{display:block!important;} .ak-zper-rightbox-none{display:none;} /*左、右、中 三块布局的宽度*/ @media (min-width: 1200px){.ak-zper-md-3,.ak-zper-md-25, .ak-zper-md-6, .ak-zper-md-9, .ak-zper-md-12{float: left;} .ak-zper-md-3{width: 20%;} .ak-zper-md-6{width: 55%!important;} .ak-zper-md-9{width: 80%;} .ak-zper-md-25{width: 25%;} /*.ak-zper-leftbox{width:15%;}*/ /*.ak-zper-midbox{width:85%;}*/ .ak-zper-rightbox{width:25%;}} @media (min-width:992px) and (max-width:1199px){.ak-zper-md-3, .ak-zper-md-6, .ak-zper-md-9, .ak-zper-md-12{float: left;} .ak-zper-md-3{width: 25%;} .ak-zper-md-6{width: 50%!important;} .ak-zper-md-9{width: 50%;} .ak-zper-leftbox{width:25%;} .ak-zper-midbox{width:75%;} .ak-zper-rightbox{width:25%;}} @media (max-width:991px){.ak-zper-remind-title .check-box{display:none;} .ak-zper-inboxback{display:inline-block;} .ak-zper-remindback{display:inline-block;} .ak-zper-leftbox{display:none;} .ak-zper-rightbox{display:none;} .ak-zper-threebox-none{display:none!important;} .ak-zper-threebox-block{display:block!important;}} .ak-zper-shareicon{width:20px;height:20px;display:inline-block;cursor:pointer;margin:5px 0 5px 0;} .ak-zper-sorticon{width:20px;height:20px;display:inline-block;cursor:pointer;font-size:16px;color:#555;line-height:20px;font-weight:lighter;margin:5px 0 5px 0;opacity:0.85;} .ak-zper-sortbtnbox{display:inline-block;float:right;width:30px;text-align:center;height:50px;font-size:12px;color:#555;margin-right:10px;cursor:pointer;} .ak-zper-navbtext{color:#555;font-size:16px;height:50px;line-height:50px;margin-left:10px; cursor:pointer;} .ak-zper-detailed-listadd{width:25px;height:25px;display:inline-block;cursor:pointer;margin:17px 5px 0 10px;background-position: -386px -206px;} .ak-zper-midbox.ak-zper-md-6 .ak-zper-inbox-title{border-right: solid 1px #ddd;} @media (min-width:992px) and (max-width:1199px){.ak-zper-inbox-list .title{width:70%;}} .ak-zper-inbox-list .btn-box{position:absolute;top:0;right:0;bottom:0;padding:8px 8px 0px 8px;background:#fff;} .ak-zper-inbox-list.active .btn-box{background: #e1f2fe;} .ak-zper-inbox-listnew.conplete .ak-zper-inbox-list{opacity:0.7;} .ak-zper-inbox-listnew.conplete .ak-zper-inbox-list .title{text-decoration:line-through;} .ak-zper-remaind-taskcheck{width: 25px;height: 25px;display: inline-block;cursor: pointer;position: absolute;top: 10px;left: 10px;} .ak-zper-remind-list .subtask-text{display:inline-block;margin-top:13px;margin-left:5px;} .ak-zper-remind-list .right-text.subtask-textbox{min-height:30px;border-color:transparent;position:relative;padding-right:30px;} .ak-zper-remind-list .right-text.subtask-textbox .closebtn{position:absolute;width:20px;height:20px;display:inline-block;background-position: -220px 5px;right:0;top:10px;right:10px;cursor:pointer;} .ak-zper-remind-list .right-text .ak-zper-remind-upload{width:100%;height:40px;display:inline-block;cursor:pointer;} .ak-zper-remind-list .right-text .ak-zper-remind-upload input{position: absolute;font-size: 100px;right: 0;top: 0;opacity: 0;filter: alpha(opacity=0);cursor: pointer;z-index:100;height:40px;cursor:pointer;} .ak-zper-remind-list .right-text .ak-zper-remind-upload .add-text{color:#a9a9a9;font-size:12px;line-height:40px;} .ak-zper-remind-list .right-text .ak-zper-remind-upload:hover .add-text{color:#a9a9a9;} .ak-zper-upload-smbox{border: solid 1px #ddd;height:60px;position:relative;margin:8px 10px 8px 0;; padding:0 30px 0 65px;cursor:pointer;} .ak-zper-upload-smbox .img-box{width:60px;height:60px;overflow:hidden;cursor:pointer;display:inline-block;position:absolute;top:0;left:0;} .ak-zper-upload-smbox .img-box img{min-width:100%;min-height:100%;} .ak-zper-upload-smbox .title{font-size:14px;color:#555;margin-top:8px;margin-bottom:5px;overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis;} .ak-zper-upload-smbox .time{font-size:12px;color:#a9a9a9;overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis;} .ak-zper-upload-smbox .closebtn{cursor:pointer;position:absolute;width:20px;height:20px;display:inline-block;background-position: -220px 5px;right:0;top:20px;right:10px;} .ak-zper-alarm-shareicon{opacity:0.8;} .ak-zper-remind-list .right-text.reply{border-color:transparent;padding-right:100px;padding-top:8px;position:relative;} .ak-zper-remind-list .right-text.reply .title{font-weight:600;} .ak-zper-remind-list .right-text.reply .time-right{padding-right:10px;position:absolute;top:15px;right:0;width:100px;overflow:hidden;white-space:nowrap !important;text-overflow:ellipsis;-o-text-overflos:ellipsis;color:#a9a9a9;text-align:right;} .ak-zper-commentsbox{border:solid 1px #ddd;margin:10px 15px;height:40px;line-height:40px;padding-left:35px;position:relative;} .ak-zper-commentsbox input{border:none;width:100%;background:transparent;} .ak-zpericon.ak-zper-chaticon.commments{position:absolute;top:10px;left:10px;margin:0;} .ak-zper-fix-btnbox{height:60px;padding:0 10px;text-align:center;color:#555;line-height:50px;position:relative;} .ak-zpericon.ak-zper-fixback-icon{width:25px;height:25px;position:absolute;top:12px;left:10px;display:none;} .ak-zpericon.ak-zper-fixdelete-icon{width:25px;height:25px;position:absolute;top:12px;right:10px;} .ak-zper-fixedbox{height:100px;padding:15px 0;} .ak-zper-rightbox{position:relative;} .list-group-item.ak-zper-list-toggle.ak-zper-listgrey{background:#f3f3f3;} .list-group-item.ak-zper-list-toggle.ak-zper-listgrey .secondary .active,.list-group-item.ak-zper-list-toggle.ak-zper-listgrey .secondary li:hover{background:#cce8ff;} .ak-zperleftnav-ul .secondary li{padding-left:30px;} .ak-zperleftnav-ul .list-group-item.ak-zper-list-toggle.ak-zper-listgrey.active, .ak-zperleftnav-ul .list-group-item.ak-zper-list-toggle.ak-zper-listgrey.active:focus, .ak-zperleftnav-ul .list-group-item.ak-zper-list-toggle.ak-zper-listgrey.active:hover, .ak-zperleftnav-ul .list-group-item.ak-zper-list-toggle.ak-zper-listgrey:hover{background:#f3f3f3;} @media (min-width:992px){.ak-zper-remindback{display:none;} .ak-zpericon.ak-zper-fixback-icon{display:block!important;}} .ak-zper-remind-list .right-text .ak-time-icon{position: absolute;right: 1px;top: 0;width: 29px;height: 28px;line-height: 28px;text-align: center;cursor:pointer; border:none;} .ak-zper-remind-list .right-text .input-za.ak-append-box{width:100%;} .ui-datepicker-prev, .ui-datepicker-next{top:15px!important;} .form-control.ak-zperrepeat-select{border:none;background:transparent;height:40px;color:#555;font-size:12px;padding-left:0;line-height:40px;cursor:pointer;} .form-control.ak-zperrepeat-select:focus{border:none!important;box-shadow:none;outline:none;} .ak-zper-repeaticon{} .input-group-addon{background:transparent;border:none;cursor:pointer;} .ak-zper-remind-list .right-text input.form-control:focus{border:none!important;box-shadow:none;outline:none;} .form-control.ak-zperrepeat-select option{font-size:14px;} .ak-zmemo-modalback{width: 25px;height: 25px;background: url(../images/zkonw-back.png) no-repeat center center;display:inline-block;float: left;margin:0 0 0 -5px;cursor: pointer;} .ak-min-fullwidth-modal .close.close-back{width: 25px;height: 25px;background: url(../images/zkonw-back.png) no-repeat center center;opacity: 1;color: transparent;margin-top: 4px;outline: medium none;float: left;margin:0;} .ak-zmec-listedit{width: 25px;height: 25px;display: inline-block;cursor: pointer;margin: 11px 5px 0 10px;background-position: -360px -62px;} .ak-zmemo-leftnav.right-border.right-border{border-right: solid 1px #ddd;} .ak-zmemo-leftnav.right-border .ak-zper-ltopbtnbox{border-right:none;} .ak-zweichat-searchbox{padding:10px 15px;border-bottom: solid 1px #ddd;} .ak-zweichat-searchbox .ak-zdol-searchbox{width:100%;margin-top:0;} .ak-zper-rowpointer{width: 30px;height: 30px;display: inline-block;cursor: pointer;margin-right:5px;} .ak-zpernav-more-btn{width: 25px;height: 25px;padding: 6px 12px!important;background: transparent;border: none;cursor: pointer;} .ak-zperleftnav-ul.ak-zper-listgrey .list-group-item{background: #f3f3f3;} .ak-zperleftnav-ul.ak-zper-listgrey .list-group-item:hover{z-index: 2;color: #555;background: #cce8ff;} /*schedule css*/ .ak-jsch-border{ border-right:#d7d7d7 1px solid;} .ak-zper-ltopbtnbox.ak-jsch-top{ box-shadow:none;border-right:none; border-color:#d7d7d7;} .ak-jsch-left-ul{ padding:0; margin:0; margin-top:10px;margin-bottom:10px; list-style:none;} .ak-jsch-left-ul li{ padding:8px 15px; font-size:14px; cursor:pointer;} .ak-jsch-left-ul li:hover{ background-color:#CCE8FF;} .ak-jsch-left-ul li p.ak-jsch-li-text{padding:0; margin:0; display:inline-block; margin-left:20px; font-size:16px;} .ak-jsch-li-img{ display:inline-block;} .ak-jsch-block{ background-color:#f0f0f5; border-top:#d7d7d7 1px solid;border-bottom:#d7d7d7 1px solid;} .ak-jsch-block h3{ padding:0; margin:0; padding:10px; font-size:16px;} .ak-jsch-searchbox{padding:15px 10px;border-bottom:#d7d7d7 1px solid;} .ak-jsch-searchbox .ak-zdol-searchbox{margin:0 auto; width:100%;} .ak-jsch-left-ul li span.ak-sch-icon{width:20px;height:20px;border-radius:3px; vertical-align:middle;} .ak-sch-icon.checkbox1-icon{ background-color:#e57b72;} .ak-sch-icon.checkbox2-icon{ background-color:#4184f3;} .ak-sch-icon.checkbox3-icon{ background-color:#7885ca;} .ak-sch-icon.checkbox4-icon{ background-color:#b29cda;} .ak-zper-midbox.ak-jsch-mid{ background-image:none; margin-left:150px;} .ak-zper-inbox-title.ak-jsch-title{ position:relative;padding-left:10px; box-shadow:none; border-color:#d7d7d7;background-color:#fff;} .ak-jsch-rightbox{ position:absolute; right:0;} .ak-jsch-title .ak-sch-icon{width:26px;height:30px;vertical-align:middle; cursor:pointer;} .ak-zper-inbox-title.ak-jsch-title .inbox-text{margin-left:0;} .ak-jsch-row3 span{ line-height:50px;} .ak-jsch-time span{ display:inline-block; padding:0 20px;} .ak-jsch-time span a{ color:inherit;} .ak-jsch-time span.selected{ color:#006ec4; border-bottom:#006ec4 3px solid; line-height:44px;} .ak-jsch-jia{ margin-right:15px; margin-top:10px;display:inline-block; width:30px; height:30px;cursor:pointer;} .ak-jsch-calendar{ width:100%; table-layout:fixed;} .ak-jsch-calendar th{ font-weight:normal; text-align:center; line-height:30px;border-bottom: #e7e9ea 1px solid;} .ak-jsch-calendar th,.ak-jsch-calendar td{font-size:14px;} .ak-jsch-calendar th.current{ color:#0978c7;} .ak-jsch-calendar td.current{ background-color:#f4f9fd;} .ak-jsch-calendar tr td:first-child{ text-align:right;} .ak-jsch-calendar tr.ak-jsch-tr{ text-align:right;border-bottom:2px #dfdfdf solid; height:60px;} .ak-jsch-calendar tbody td{ position:relative;border-bottom:#e7e9ea 1px solid;height:30px;} .ak-jcalendar-td{ float:left;width:98%; margin:0 auto;border-left:#c0392b 2px solid; background-color:#f1c5c0; color:#932c22; text-align:left; height:30px; overflow:hidden;font-size:12px;line-height:30px;overflow:hidden;cursor:pointer} .ak-jcalendar-time{position:absolute; left:42px;width:calc( 100% - 42px);} .ak-jcalendar-line {position:relative;border-bottom: #f8c8c9 2px solid;} /*新增*/ .ak-jsch-wrapbox{ position:relative;} .ak-jcalendar-h1{ height:2px;} .ak-jcalendar-time .col-01{ width:14.3%;} .ak-jcalendar-time .col-02{ width:85.7%;} .ak-jsch-red{background-color:#e52126;} .ak-jsch-light{ background-color:#f8c8c9;} .ak-jcalendar-td.col-01{ width:10%;} .ak-jcalendar-td.col-02{ width:20%;} .ak-jcalendar-td.col-03{ width:30%;} .ak-jsch-event .ak-jcalendar-td.col-02{ width:20%;} .ak-jsch-event .ak-jcalendar-td.col-03{ width:30%;} .ak-jsch-mt12{ margin-top:12px;} .ak-jsch-left-ul .ak-zpernav-more-dropdown li:hover{ background-color:transparent;} .ak-jsch-left-ul .ak-zpernav-more-dropdown li{ padding:0;} .ak-jsch-left-ul .ak-zpernav-more-dropdown li a{padding:10px 15px;} .ak-jsch-block .ak-zper-detailed-listadd{ margin-top:14px;} .ak-zdol-trsmbtn.iconedit-sm { width: 26px; background-position: -111px -56px; margin-right: 10px; } .ak-zdol-trsmbtn.icondelete-sm { width: 26px; background-position: -148px -56px; margin-right: 10px; } .ak-zmemo-modal-tabnav.nav.ak-jsch-nav>li>a{ padding:6px 0; display: inline-block;} .ak-jcalendar-time.ak-jmin-47{ top:294px;} .ak-jcalendar-minute{ position:absolute; right:0;color:#e6373c; font-size:12px; line-height:12px;} .ak-jcalendar-minute.ak-jmin-47{margin-top:-14px;} .ak-jcalendar-point{ position:absolute;top:-3px;width:8px; height:8px;border-radius:4px; background-color:#e63237;} .ak-jcalendar-td.ak-jsch-h2{ height:60px;} .ak-jsch-dropdown .ak-sch-icon.btn{ border:none;} .ak-jsch-dropdown .dropdown-menu{ left:auto; right:0;} .btn-group.ak-jsch-dropdown{vertical-align:baseline;} .ak-jsch-dropdown.btn-group.open .dropdown-toggle{box-shadow:none;} .ak-jsch-dropdown.open>.dropdown-toggle.btn-default{ background-color:transparent;} @media(min-width:769px){.ak-jsch-row3.ak-zper-fix-btnbox{ text-align:left;}.ak-jsch-dropdown{ display:none;}.ak-jsch-row3:first-child{ width:44%;}} @media(max-width:991px){.ak-jsch-row3.ak-zper-fix-btnbox{ padding-left:36px;}} @media(max-width:768px){.ak-jsch-row3.ak-zper-fix-btnbox{width:calc(100% - 84px);}} @media(max-width:440px){.ak-jsch-calendar th span{ display:block;}.ak-zper-inbox-title.ak-jsch-title{ padding-left:0;}} /*schedule-day css*/ .ak-jsch-total{height:60px;border-bottom:2px #dfdfdf solid;} .ak-jsch-tablewrap{border-bottom:#e7e9ea 1px solid;} .ak-jsch-div{ position:relative;height:60px;border-bottom:#e7e9ea 1px solid;} .ak-jsch-hour{ position:absolute;width:50px;font-size:14px;text-align:right;line-height:60px;} .ak-jsch-event{ padding-left:55px; width:100%;} .ak-jsch-event span{ position:relative;display:block; width:100%;height:30px;} .ak-jsch-event span+span{border-top:#e7e9ea 1px solid;} .ak-jsch-event .ak-jcalendar-td{ width:100%; padding-left:5px;} .ak-jsch-day{ table-layout:fixed;} .ak-jsch-day th,.ak-jsch-day td{ border-collapse:collapse; padding:5px; text-align:center; line-height:30px;} .ak-jsch-day th{ font-weight:normal; font-size:12px;} .ak-jsch-selected{ display:inline-block;width:30px;height:30px;color:#fff;border-radius:15px;background-color:#0072c6;} .ak-jcalendar-minute.ak-jmin-25{bottom:1px;} .ak-jcalendar-line.ak-jmin-25{ top:11px;} .ak-jsch-red{} @media(min-width:992px){.ak-jsch-day{width:80%; margin:0 auto;}} @media(max-width:991px){.ak-jsch-day{width:100%;}} /*schedule-detail css*/ .ak-jsch-timebox{ padding:0 10px;color:#909090;font-size:14px;line-height:28px; background-color:#f8f8f8;border-bottom:#e7e9ea 1px solid;} .ak-jsch-timebox span+span{ margin-left:5px;} .ak-jsch-cell{position:relative;height:60px;border-bottom:#e7e9ea 1px solid;} .ak-jsch-cell-left{ position:absolute;padding:10px;width:120px;} .ak-jsch-cell-right{ padding:10px 10px 10px 120px; width:100%;} .ak-jsch-cell-left span{ display:block;font-size:14px;color:#2b2b2b;} .ak-jsch-cell-left em{ display:block;font-size:14px;color:#c0c0c0;font-style:normal;} .ak-jsch-point{ width:12px; height:12px; margin-top:4px; border-radius:6px; background-color:#c0392b;} .ak-jsch-cell-right .ak-jsch-cell-title{ display:block; width:100%;font-size:14px;color:#2b2b2b;overflow:hidden;text-overflow:ellipsis; white-space:nowrap; cursor:pointer;} .ak-jsch-cell-right p{ padding:0; margin:0; width:100%;font-size:14px;color:#c0c0c0;overflow:hidden;text-overflow:ellipsis; white-space:nowrap;} .ak-mt15{ margin-top:15px;} @media(max-width:768px){.ak-jsch-cell-left{ width:76px;}.ak-jsch-cell-right{ padding-left:76px;}.ak-jsch-cell-left span,.ak-jsch-cell-left em{ font-size:12px;margin-top:3px;}.ak-jsch-cell-left .ak-jsch-point{ margin-top:2px;}} /*modal css*/ .ak-jsch-modal-row{ position:relative;padding-top:15px;background-color:#fff;/*border-top:#e1e1e1 1px solid; border-bottom:#e1e1e1 1px solid;*/} .ak-jsch-pos{ position:absolute; /*width:36px;*/} .ac-proname {margin-left:18px;} .ak-jsch-modal-text{ /*padding-left:36px;*/ width:100%;font-size:14px;} .ak-jsch-modal-item{padding:0;/*border-bottom:#e1e1e1 1px solid;*/} .ak-jsch-modal-row.ak-jsch-padding{ padding:0; /*padding-left:15px;*/} .ak-jsch-modal-row.ak-jsch-padding .ak-jsch-pos{ padding-top:15px;} .ak-jsch-modal-row .ak-jsch-pos{text-align:center;} .ak-jsch-pos .ak-jsch-point{ margin-left:auto; margin-right:auto;} .ak-jsch-modal-text .ak-jsch-modal-item:last-child{ border:none;} .ak-jsch-right-text .ak-sch-icon{ margin-left:10px;} .ak-jsch-modal-row.ak-jsch-noborder{ border-top:none;} .ak-jsch-modal-input{ width:100%;padding:3px 5px;border:1px solid #ccc;} .ak-append-box.ak-jsch-timepicker{ width:224px;margin-bottom:0;} .ak-jsch-modal-item .ak-jsch-item-left{ display:inline-block; width:75px;line-height:32px;text-align:right;} .ak-jsch-item-right{ width:calc(100% - 100px); margin-left:10px;} .ak-jsch-timepicker .input-group{ width:100%;} .ak-jsch-timepicker +.ak-jsch-timepicker{ margin-right:10px;} .ak-jsch-timepicker input.form-control{ border:none;} .ak-jsch-timepicker .input-group-addon{ border-left:1px solid #bbb;} .ak-jsch-timepicker .input-group-addon{ padding-left:8px;padding-right:9px;} .ak-jsch-timepicker .ak-time-input{padding-left:8px;padding-right:9px;} .ak-jsch-modal-item.ak-jsch-pt{ padding-top:10px;/*margin-left:20px;*/padding-bottom:10px;} .ak-jwk-btn{padding:5px 14px;font-size:12px;color:#fff;background-color:#4684cf;cursor:pointer;} .ak-jwk-btn:hover{color:#fff;background-color:#2F77CD;} .ak-jsch-item-right .input {right: 0;} @media(min-width:769px){.ak-jsch-modal-row{margin-left:-30px;margin-right:-30px;}.ak-jsch-modal-row.col01{margin-left:0;margin-right:0;}} @media(max-width:768px){.ak-jsch-modal-row{margin-left:-15px;margin-right:-15px;}.ak-jsch-pos{ width:20px;}.ak-jsch-modal-text{ padding-left:24px;}} @media(max-width:567px){.ak-jsch-timepicker +.ak-jsch-timepicker{ margin-right:0; margin-top:10px;}.ak-append-box.ak-jsch-timepicker{ width:90%;min-width:224px;}} .ac-acaseedit-textarea {width:100%;height:100px;margin-top:12px;line-height:30px;line-height:25px;border:1px solid #ccc;-moz-border-radius:5px;} .ak-jsch-modal-row.col01{padding-left:20px;} .ak-zdol-trsmbtn { width: 20px; height: 20px; display: inline-block; float: left; margin-right: 5px; } .ak-zdol-trsmbtn.icondelete-sm { width: 26px; background-position: -148px -56px; margin-right: 10px; } .ak-zdol-trsmbtn.iconedit-sm { width: 26px; background-position: -111px -56px; margin-right: 10px; } .ak-append-box{display: block;position: relative;border: 1px solid #ccc;width: 100%;} .fa{cursor: pointer;} .ak-time-icon{position: absolute;right: 1px;top: 0;width: 29px;height: 32px;line-height: 33px;text-align: center;border-left: 1px solid #bbb;} .ak-time-input{width: 100%;height: 32px;padding: 6px 12px;font-weight: 400;border: none;} .ak-zmemo-modal-tabnav { border-bottom: none; } /*add by Arlene 2016-8-29*/ .ac-margin-tb20 {margin-top:20px;margin-bottom:20px;} .ac-margin-tb15 {margin-top:15px;margin-bottom:12px;} .ac-abtn {text-align:center;padding:3px 8px;border:none;border-radius:5px;color:#fff;font-size:12px;display: block;white-space:nowrap;overflow: hidden;text-overflow: ellipsis;} .orange {background-color:#f90;} .ac-abtn.orange:hover,.ac-btn-addcase:hover {background-color:#ef9002;color:#fff;} .ac-abtn.blue:hover,.ac-btn-adduser:hover {background-color:#2a9dd6;color:#fff;} .grey{background-color:#ccc} .blue{background-color:#00bcf2;} .green{background-color:#42c05d;} .ac-abtn.green:hover {background-color:#3aaa52;color:#fff;} .ac-abtn.blue:hover {background-color:#2a9dd6;color:#fff;} .ac-abtn.red {background-color:#e30202;} .ac-abtn.red:hover {background-color:#ce0808;color:#fff;} .ac-aselect {margin-right:15px;/*padding:5px;*/border:1px solid #ccc;border-radius:5px;} .ac-aselect.col01 {width:150px;} .ac-aselect.col02 {width:100px;} .case-next{height:60px;padding:0 10px;color:#555;line-height:50px;position:relative;} .ac-asearch-box {width:200px;margin-right:15px;padding:4px 5px;border:1px solid #ccc;border-radius:5px;} .ac-asearch-input {width:170px;border:none!important;background: transparent;} .ac-search-icon {margin-top:5px;} .ac-btn-addcase {padding:4px 10px;border-radius:5px;background-color:#f90;color:#fff;border:none;} .ac-btn-adduser {padding:4px 10px;border-radius:5px;background-color: #00bcf2;color:#fff;border:none;} .ac-aoffon-btn {display:inline-block;margin-left:10px;} .ak-jsch-item-right.col02{margin-left:10px;width:calc(100% - 100px)} .ac-acaseedit-state {margin-left:20px;} .ac-acaseedit-select {width:100%;padding:8px;background:transparent;border:1px solid #ccc;} .ac-acaseedit-input {padding:5px;background:transparent;border:1px solid #ccc;border-radius:5px;} .ac-element-input {width: 250px;padding:5px;background:transparent;border:1px solid #ccc;border-radius:5px;} .ac-keywordtext-input {width: 300px;padding:5px;background:transparent;border:1px solid #ccc;border-radius:5px;} .ac-acase-desc {width:60px;} .ac-acode-desc {width:300px;} .modal-body {padding-top:0!important;} @media screen and (-webkit-min-device-pixel-ratio:0) { /*safari and chrome*/ .ac-acaseedit-select,.ac-product-select { height:32px; line-height:32px; } .ac-aselect ,.ac-product-select{height:32px;line-height:32px;} } .ac-margint8 {margin-top:15px;} select.ac-acaseedit-select::-moz-focus-inner { /*Remove button padding in FF*/ padding: 0; } .ac-aselect::-moz-focus-inner { /*Remove button padding in FF*/ height:32px;line-height:32px;} @-moz-document url-prefix() { /* targets Firefox only */ .ac-aselect,.ac-product-select {height:32px;line-height:32px;} } @media screen\0 { /* IE Hacks: targets IE 8, 9 and 10 */ select.ac-acaseedit-select,.ac-product-select { height:32px; line-height:32px; } .ac-aselect ,.ac-product-select{height:32px;line-height:32px;} } .ac-ml10 {margin-left:10px;} td.ac-alist-descp a {color:#00bcf2;} td.ac-alist-descp a:hover {color:#2a9dd6;} td.ac-alist-width-overflow {max-width:300px;white-space:nowrap;overflow:hidden;text-overflow: ellipsis;} td.ac-alist-width-overflow-public {max-width:200px;white-space:nowrap;overflow:hidden;text-overflow: ellipsis;} .ac-product-select {width:200px;height:32px;margin:10px 20px auto auto;} div.ac-interlist-width-overflow {max-width:200px;white-space:nowrap;overflow:hidden;text-overflow: ellipsis;} .panel0{padding-top: 0px;padding-bottom: 0px;} /*leftnavbar*/ .ak-aper-navicon {width:40px;height:40px;} .list-group-item.a-listitem {height:60px;} .ak-aper-navicon span {dispaly:block;height:40px;} .ak-zper-chaticon{width:20px;height:20px;background:url(../images/chat01.png) no-repeat 0 0;float:right;margin-top:20px;margin-right:20px;} .ak-jsch-jia { margin-right:0; margin-top:10px ; display: inline-block; width: 36px; height: 36px; background: url(../images/ak-common.png) -480px -180px no-repeat; cursor: pointer; } .gn-menu-main { height: 56px; } .ak-min-fullwidth-modal .close.close-back{width: 25px;height: 25px;background: url(../images/zkonw-back.png) no-repeat center center;opacity: 1;color: transparent;margin-top: 4px;outline: medium none;float: left;margin:0;} /*.ac-acedit-addlinebtn {margin-left:30px;}*/ .ak-acedit-tablelist {margin:15px 30px;} .ac-addtips{display:none;position:absolute;left:40%;top:5px;width:200px;height:40px;margin-left:-100px;border-radius:5px;text-align:center;line-height:40px;font-size:14px;color: #ffffff;} .ac-aset-table {width:700px;margin:0 auto;} .ac-aset-table td.col01 {width:80px;text-align:right;margin-right:10px;} .ak-jsch-modal-text.col01{padding-left:15px;} .sky-form.col01 .toggle i {top:8px;left:0;} .ak-jsch-item-right.col01 {width:100%;} .ac-apro-span {display:block;margin-top:12px;} .search-width{width: 300px !important;} .ac-amargin-r10 {margin-right:10px;} .ac-amargin-tb20 {margin-top:20px;margin-bottom:20px;} .ac-aelement-table th {padding:10px 5px!important;font-size:12px;} .ac-aelement-table td{padding:10px 5px!important;} .table-hover tr:hover {background-color:#d4edfe!important;} .ui-autocomplete { max-height: 200px; overflow-y: auto; /* 防止水平滚动条 */ overflow-x: hidden; padding: 10px; } /* IE 6 不支持 max-height * 我们使用 height 代替,但是这会强制菜单总是显示为那个高度 */ * html .ui-autocomplete { height: 100px; } /*2016-12-1 add*/ .ke-icon {display:inline-block;width:25px;height:25px;background-image: url("../images/icon.png");background-repeat: no-repeat;background-size:96px 48px;} .ke-icon.upicon {background-position: 0 0;} .ke-icon.downicon {background-position: -25px 0;} .ke-icon.deleteicon {background-position: -50px 0;} .ke-icon.copyicon {background-position: -75px 0;} a:hover .ke-icon.upicon {background-position: 0 -25px;} a:hover .ke-icon.downicon {background-position: -25px -25px;} a:hover .ke-icon.deleteicon {background-position: -50px -25px;} a:hover .ke-icon.copyicon {background-position: -75px -25px;} a.ke-ablock {display:inline-block;width:25px;height:25px;line-height: 25px; cursor: pointer} .glyphicon-play-circle:before{ color: #00B83F; } .glyphicon-edit:before{ color: #0AA5DF; } .glyphicon-trash:before{ color: red; } .glyphicon-eye-open:before{ color: #0AA5DF; } .glyphicon-eye-close:before{ color: #ec971f; } .ac-margint10 {margin-top:10px;} .ac-paddingt0 {padding-top:0px !important;} .ac-margin110 {margin-left:10px;} .status_200 {background-color: #5cb85c} .status_201 {background-color: #5cb85c} .status_202 {background-color: #5cb85c} .status_203 {background-color: #5cb85c} .status_304 {background-color: #5bc0de} .status_400 {background-color: #d9534f} .status_401 {background-color: #d9534f} .status_402 {background-color: #d9534f} .status_403 {background-color: #d9534f} .status_404 {background-color: #d9534f} .status_500 {background-color: #d9534f} .status_501 {background-color: #d9534f} ================================================ FILE: automatic/static/css/bootstrap-theme.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ .btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger { text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); } .btn-default:active, .btn-primary:active, .btn-success:active, .btn-info:active, .btn-warning:active, .btn-danger:active, .btn-default.active, .btn-primary.active, .btn-success.active, .btn-info.active, .btn-warning.active, .btn-danger.active { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-default.disabled, .btn-primary.disabled, .btn-success.disabled, .btn-info.disabled, .btn-warning.disabled, .btn-danger.disabled, .btn-default[disabled], .btn-primary[disabled], .btn-success[disabled], .btn-info[disabled], .btn-warning[disabled], .btn-danger[disabled], fieldset[disabled] .btn-default, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-success, fieldset[disabled] .btn-info, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-danger { -webkit-box-shadow: none; box-shadow: none; } .btn-default .badge, .btn-primary .badge, .btn-success .badge, .btn-info .badge, .btn-warning .badge, .btn-danger .badge { text-shadow: none; } .btn:active, .btn.active { background-image: none; } .btn-default { text-shadow: 0 1px 0 #fff; background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #dbdbdb; border-color: #ccc; } .btn-default:hover, .btn-default:focus { background-color: #e0e0e0; background-position: 0 -15px; } .btn-default:active, .btn-default.active { background-color: #e0e0e0; border-color: #dbdbdb; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #e0e0e0; background-image: none; } .btn-primary { background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #245580; } .btn-primary:hover, .btn-primary:focus { background-color: #265a88; background-position: 0 -15px; } .btn-primary:active, .btn-primary.active { background-color: #265a88; border-color: #245580; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #265a88; background-image: none; } .btn-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #3e8f3e; } .btn-success:hover, .btn-success:focus { background-color: #419641; background-position: 0 -15px; } .btn-success:active, .btn-success.active { background-color: #419641; border-color: #3e8f3e; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #419641; background-image: none; } .btn-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #28a4c9; } .btn-info:hover, .btn-info:focus { background-color: #2aabd2; background-position: 0 -15px; } .btn-info:active, .btn-info.active { background-color: #2aabd2; border-color: #28a4c9; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #2aabd2; background-image: none; } .btn-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #e38d13; } .btn-warning:hover, .btn-warning:focus { background-color: #eb9316; background-position: 0 -15px; } .btn-warning:active, .btn-warning.active { background-color: #eb9316; border-color: #e38d13; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #eb9316; background-image: none; } .btn-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #b92c28; } .btn-danger:hover, .btn-danger:focus { background-color: #c12e2a; background-position: 0 -15px; } .btn-danger:active, .btn-danger.active { background-color: #c12e2a; border-color: #b92c28; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #c12e2a; background-image: none; } .thumbnail, .img-thumbnail { -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #e8e8e8; background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); background-repeat: repeat-x; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { background-color: #2e6da4; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } .navbar-default { background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); background-repeat: repeat-x; -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); } .navbar-brand, .navbar-nav > li > a { text-shadow: 0 1px 0 rgba(255, 255, 255, .25); } .navbar-inverse { background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); background-repeat: repeat-x; -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); } .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); } .navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } @media (max-width: 767px) { .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } } .alert { text-shadow: 0 1px 0 rgba(255, 255, 255, .2); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); } .alert-success { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); background-repeat: repeat-x; border-color: #b2dba1; } .alert-info { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); background-repeat: repeat-x; border-color: #9acfea; } .alert-warning { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); background-repeat: repeat-x; border-color: #f5e79e; } .alert-danger { background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); background-repeat: repeat-x; border-color: #dca7a7; } .progress { background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; } .progress-bar { background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); background-repeat: repeat-x; } .progress-bar-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); background-repeat: repeat-x; } .progress-bar-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); background-repeat: repeat-x; } .progress-bar-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); background-repeat: repeat-x; } .progress-bar-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); background-repeat: repeat-x; } .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .list-group { border-radius: 4px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { text-shadow: 0 -1px 0 #286090; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); background-repeat: repeat-x; border-color: #2b669a; } .list-group-item.active .badge, .list-group-item.active:hover .badge, .list-group-item.active:focus .badge { text-shadow: none; } .panel { -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); } .panel-default > .panel-heading { background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); background-repeat: repeat-x; } .panel-primary > .panel-heading { background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } .panel-success > .panel-heading { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); background-repeat: repeat-x; } .panel-info > .panel-heading { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); background-repeat: repeat-x; } .panel-warning > .panel-heading { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); background-repeat: repeat-x; } .panel-danger > .panel-heading { background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); background-repeat: repeat-x; } .well { background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; border-color: #dcdcdc; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); } /*# sourceMappingURL=bootstrap-theme.css.map */ ================================================ FILE: automatic/static/css/bootstrap.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { margin: .67em 0; font-size: 2em; } mark { color: #000; background: #ff0; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { padding: .2em; background-color: #fcf8e3; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777; } .text-primary { color: #337ab7; } a.text-primary:hover, a.text-primary:focus { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover, a.text-success:focus { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover, a.text-info:focus { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover, a.text-warning:focus { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover, a.text-danger:focus { color: #843534; } .bg-primary { color: #fff; background-color: #337ab7; } a.bg-primary:hover, a.bg-primary:focus { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; border-right: 5px solid #eee; border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .row { margin-right: -15px; margin-left: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { position: static; display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { min-height: .01%; overflow-x: auto; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.42857143; color: #555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 34px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { min-height: 34px; padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { padding-right: 0; padding-left: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 46px; line-height: 46px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 11px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; background-color: #dff0d8; border-color: #3c763d; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; background-color: #fcf8e3; border-color: #8a6d3b; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; background-color: #f2dede; border-color: #a94442; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:focus, .btn-default.focus { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; } .btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active:hover, .btn-default.active:hover, .open > .dropdown-toggle.btn-default:hover, .btn-default:active:focus, .btn-default.active:focus, .open > .dropdown-toggle.btn-default:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .dropdown-toggle.btn-default.focus { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #286090; border-color: #122b40; } .btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus { color: #fff; background-color: #204d74; border-color: #122b40; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #449d44; border-color: #255625; } .btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus { color: #fff; background-color: #398439; border-color: #255625; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #31b0d5; border-color: #1b6d85; } .btn-info:hover { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active:hover, .btn-info.active:hover, .open > .dropdown-toggle.btn-info:hover, .btn-info:active:focus, .btn-info.active:focus, .open > .dropdown-toggle.btn-info:focus, .btn-info:active.focus, .btn-info.active.focus, .open > .dropdown-toggle.btn-info.focus { color: #fff; background-color: #269abc; border-color: #1b6d85; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:focus, .btn-warning.focus { color: #fff; background-color: #ec971f; border-color: #985f0d; } .btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active:hover, .btn-warning.active:hover, .open > .dropdown-toggle.btn-warning:hover, .btn-warning:active:focus, .btn-warning.active:focus, .open > .dropdown-toggle.btn-warning:focus, .btn-warning:active.focus, .btn-warning.active.focus, .open > .dropdown-toggle.btn-warning.focus { color: #fff; background-color: #d58512; border-color: #985f0d; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c9302c; border-color: #761c19; } .btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus { color: #fff; background-color: #ac2925; border-color: #761c19; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { font-weight: normal; color: #337ab7; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #262626; text-decoration: none; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { right: 0; left: auto; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #777; white-space: nowrap; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { right: auto; left: 0; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 46px; line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { z-index: 2; margin-left: -1px; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eee; } .nav > li.disabled > a { color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0; padding-left: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555; background-color: #e7e7e7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } .navbar-default .btn-link { color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #fff; background-color: #080808; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb > .active { color: #777; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 3; color: #23527c; background-color: #eee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #777; cursor: not-allowed; background-color: #fff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: middle; background-color: #777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border .2s ease-in-out; -o-transition: border .2s ease-in-out; transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-right: auto; margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { color: #555; text-decoration: none; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { color: #777; cursor: not-allowed; background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, button.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, button.list-group-item-success.active, a.list-group-item-success.active:hover, button.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, button.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, button.list-group-item-info.active, a.list-group-item-info.active:hover, button.list-group-item-info.active:hover, a.list-group-item-info.active:focus, button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, button.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, button.list-group-item-warning.active, a.list-group-item-warning.active:hover, button.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, button.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, button.list-group-item-danger.active, a.list-group-item-danger.active:hover, button.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-right: 15px; padding-left: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { margin-bottom: 0; border: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .2; } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; filter: alpha(opacity=50); opacity: .5; } button.close { -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; } .modal-open { overflow: hidden; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { filter: alpha(opacity=0); opacity: 0; } .modal-backdrop.in { filter: alpha(opacity=50); opacity: .5; } .modal-header { min-height: 16.42857143px; padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); box-shadow: 0 5px 15px rgba(0, 0, 0, .5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; filter: alpha(opacity=0); opacity: 0; line-break: auto; } .tooltip.in { filter: alpha(opacity=90); opacity: .9; } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); line-break: auto; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { content: ""; border-width: 10px; } .popover.top > .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, .25); border-bottom-width: 0; } .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; content: " "; border-top-color: #fff; border-bottom-width: 0; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, .25); border-left-width: 0; } .popover.right > .arrow:after { bottom: -10px; left: 1px; content: " "; border-right-color: #fff; border-left-width: 0; } .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, .25); } .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; border-top-width: 0; border-bottom-color: #fff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, .25); } .popover.left > .arrow:after { right: 1px; bottom: -10px; content: " "; border-right-width: 0; border-left-color: #fff; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform .6s ease-in-out; -o-transition: -o-transform .6s ease-in-out; transition: transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { left: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { left: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { left: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); filter: alpha(opacity=50); opacity: .5; } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; } .carousel-control.right { right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; font-family: serif; line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #fff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after { display: table; content: " "; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-right: auto; margin-left: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: automatic/static/css/bootstrapValidator.css ================================================ /** * BootstrapValidator (http://bootstrapvalidator.com) * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 * * @author http://twitter.com/nghuuphuoc * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc * @license MIT */ .bv-form .help-block { margin-bottom: 0; } .bv-form .tooltip-inner { text-align: left; } .nav-tabs li.bv-tab-success > a { color: #3c763d; } .nav-tabs li.bv-tab-error > a { color: #a94442; } ================================================ FILE: automatic/static/css/font-awesome/css/font-awesome-ie7.css ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ .icon-large { font-size: 1.3333333333333333em; margin-top: -4px; padding-top: 3px; margin-bottom: -4px; padding-bottom: 3px; vertical-align: middle; } .nav [class^="icon-"], .nav [class*=" icon-"] { vertical-align: inherit; margin-top: -4px; padding-top: 3px; margin-bottom: -4px; padding-bottom: 3px; } .nav [class^="icon-"].icon-large, .nav [class*=" icon-"].icon-large { vertical-align: -25%; } .nav-pills [class^="icon-"].icon-large, .nav-tabs [class^="icon-"].icon-large, .nav-pills [class*=" icon-"].icon-large, .nav-tabs [class*=" icon-"].icon-large { line-height: .75em; margin-top: -7px; padding-top: 5px; margin-bottom: -5px; padding-bottom: 4px; } .btn [class^="icon-"].pull-left, .btn [class*=" icon-"].pull-left, .btn [class^="icon-"].pull-right, .btn [class*=" icon-"].pull-right { vertical-align: inherit; } .btn [class^="icon-"].icon-large, .btn [class*=" icon-"].icon-large { margin-top: -0.5em; } a [class^="icon-"], a [class*=" icon-"] { cursor: pointer; } .icon-glass { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-music { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-search { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-envelope-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-heart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-star { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-star-empty { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-user { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-film { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-th-large { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-th { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-th-list { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ok { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-remove { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-zoom-in { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-zoom-out { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-power-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-signal { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cog { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-gear { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-trash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-home { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-file-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-time { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-road { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-download-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-upload { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-inbox { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-play-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-repeat { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-rotate-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-refresh { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-list-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-lock { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-flag { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-headphones { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-volume-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-volume-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-volume-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-qrcode { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-barcode { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tag { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tags { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-book { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bookmark { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-print { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-camera { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-font { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bold { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-italic { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-text-height { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-text-width { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-align-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-align-center { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-align-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-align-justify { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-list { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-indent-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-indent-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-facetime-video { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-picture { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-pencil { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-map-marker { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-adjust { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tint { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-edit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-check { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-move { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-step-backward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-fast-backward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-backward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-play { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-pause { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-stop { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-forward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-fast-forward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-step-forward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-eject { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-plus-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-minus-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-remove-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ok-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-question-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-info-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-screenshot { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-remove-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ok-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ban-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-arrow-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-arrow-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-arrow-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-arrow-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-share-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-mail-forward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-resize-full { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-resize-small { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-minus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-asterisk { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-exclamation-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-gift { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-leaf { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-fire { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-eye-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-eye-close { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-warning-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-plane { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-calendar { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-random { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-comment { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-magnet { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-retweet { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-shopping-cart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-folder-close { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-folder-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-resize-vertical { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-resize-horizontal { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bar-chart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-twitter-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-facebook-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-camera-retro { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cogs { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-gears { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-comments { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-thumbs-up-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-thumbs-down-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-star-half { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-heart-empty { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-signout { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-linkedin-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-pushpin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-external-link { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-signin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-trophy { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-github-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-upload-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-lemon { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-phone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-check-empty { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-unchecked { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bookmark-empty { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-phone-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-unlock { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-credit-card { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-rss { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-hdd { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bullhorn { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bell { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-certificate { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-hand-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-hand-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-hand-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-hand-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-circle-arrow-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-circle-arrow-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-circle-arrow-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-circle-arrow-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-globe { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-wrench { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tasks { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-filter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-briefcase { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-fullscreen { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-group { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-link { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-beaker { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cut { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-copy { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-paper-clip { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-paperclip { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-save { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sign-blank { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-reorder { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-list-ul { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-list-ol { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-strikethrough { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-underline { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-table { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-magic { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-truck { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-pinterest-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-google-plus-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-google-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-money { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-caret-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-caret-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-caret-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-caret-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-columns { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-envelope { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-undo { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-rotate-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-legal { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-dashboard { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-comment-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-comments-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bolt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sitemap { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-umbrella { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-paste { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-lightbulb { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-exchange { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cloud-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cloud-upload { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-user-md { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-stethoscope { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-suitcase { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bell-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-coffee { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-food { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-file-text-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-building { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-hospital { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ambulance { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-medkit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-fighter-jet { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-beer { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-h-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-plus-sign-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-double-angle-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-double-angle-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-double-angle-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-double-angle-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-angle-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-angle-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-angle-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-angle-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-desktop { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-laptop { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tablet { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-mobile-phone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-circle-blank { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-quote-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-quote-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-reply { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-mail-reply { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-github-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-folder-close-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-folder-open-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-expand-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-collapse-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-smile { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-frown { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-meh { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-gamepad { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-keyboard { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-flag-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-flag-checkered { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-terminal { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-code { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-reply-all { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-mail-reply-all { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-star-half-empty { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-star-half-full { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-location-arrow { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-crop { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-code-fork { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-unlink { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-question { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-info { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-exclamation { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-superscript { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-subscript { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-eraser { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-puzzle-piece { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-microphone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-microphone-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-shield { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-calendar-empty { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-fire-extinguisher { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-rocket { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-maxcdn { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-sign-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-sign-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-sign-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-chevron-sign-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-html5 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-css3 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-anchor { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-unlock-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bullseye { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ellipsis-horizontal { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ellipsis-vertical { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-rss-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-play-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-ticket { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-minus-sign-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-check-minus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-level-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-level-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-check-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-edit-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-external-link-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-share-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-compass { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-collapse { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-collapse-top { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-expand { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-eur { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-euro { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-gbp { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-usd { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-dollar { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-inr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-rupee { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-jpy { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-yen { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-cny { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-renminbi { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-krw { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-won { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-btc { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bitcoin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-file { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-file-text { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-by-alphabet { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-by-alphabet-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-by-attributes { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-by-attributes-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-by-order { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sort-by-order-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-thumbs-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-thumbs-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-youtube-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-xing { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-xing-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-youtube-play { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-dropbox { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-stackexchange { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-flickr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-adn { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bitbucket { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bitbucket-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tumblr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-tumblr-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-long-arrow-down { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-long-arrow-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-long-arrow-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-long-arrow-right { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-apple { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-windows { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-android { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-linux { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-dribbble { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-skype { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-foursquare { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-trello { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-female { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-male { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-gittip { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-sun { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-moon { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-archive { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-bug { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-vk { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-weibo { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } .icon-renren { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ''); } ================================================ FILE: automatic/static/css/font-awesome/css/font-awesome.css ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot?v=3.2.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); font-weight: normal; font-style: normal; } /* FONT AWESOME CORE * -------------------------- */ [class^="icon-"], [class*=" icon-"] { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; *margin-right: .3em; } [class^="icon-"]:before, [class*=" icon-"]:before { text-decoration: inherit; display: inline-block; speak: none; } /* makes the font 33% larger relative to the icon container */ .icon-large:before { vertical-align: -10%; font-size: 1.3333333333333333em; } /* makes sure icons active on rollover in links */ a [class^="icon-"], a [class*=" icon-"] { display: inline; } /* increased font size for icon-large */ [class^="icon-"].icon-fixed-width, [class*=" icon-"].icon-fixed-width { display: inline-block; width: 1.1428571428571428em; text-align: right; padding-right: 0.2857142857142857em; } [class^="icon-"].icon-fixed-width.icon-large, [class*=" icon-"].icon-fixed-width.icon-large { width: 1.4285714285714286em; } .icons-ul { margin-left: 2.142857142857143em; list-style-type: none; } .icons-ul > li { position: relative; } .icons-ul .icon-li { position: absolute; left: -2.142857142857143em; width: 2.142857142857143em; text-align: center; line-height: inherit; } [class^="icon-"].hide, [class*=" icon-"].hide { display: none; } .icon-muted { color: #eeeeee; } .icon-light { color: #ffffff; } .icon-dark { color: #333333; } .icon-border { border: solid 1px #eeeeee; padding: .2em .25em .15em; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .icon-2x { font-size: 2em; } .icon-2x.icon-border { border-width: 2px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .icon-3x { font-size: 3em; } .icon-3x.icon-border { border-width: 3px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .icon-4x { font-size: 4em; } .icon-4x.icon-border { border-width: 4px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; } .icon-5x { font-size: 5em; } .icon-5x.icon-border { border-width: 5px; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; } .pull-right { float: right; } .pull-left { float: left; } [class^="icon-"].pull-left, [class*=" icon-"].pull-left { margin-right: .3em; } [class^="icon-"].pull-right, [class*=" icon-"].pull-right { margin-left: .3em; } /* BOOTSTRAP SPECIFIC CLASSES * -------------------------- */ /* Bootstrap 2.0 sprites.less reset */ [class^="icon-"], [class*=" icon-"] { display: inline; width: auto; height: auto; line-height: normal; vertical-align: baseline; background-image: none; background-position: 0% 0%; background-repeat: repeat; margin-top: 0; } /* more sprites.less reset */ .icon-white, .nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class*=" icon-"], .nav-list > .active > a > [class^="icon-"], .nav-list > .active > a > [class*=" icon-"], .navbar-inverse .nav > .active > a > [class^="icon-"], .navbar-inverse .nav > .active > a > [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], .dropdown-menu > .active > a > [class*=" icon-"], .dropdown-submenu:hover > a > [class^="icon-"], .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: none; } /* keeps Bootstrap styles with and without icons the same */ .btn [class^="icon-"].icon-large, .nav [class^="icon-"].icon-large, .btn [class*=" icon-"].icon-large, .nav [class*=" icon-"].icon-large { line-height: .9em; } .btn [class^="icon-"].icon-spin, .nav [class^="icon-"].icon-spin, .btn [class*=" icon-"].icon-spin, .nav [class*=" icon-"].icon-spin { display: inline-block; } .nav-tabs [class^="icon-"], .nav-pills [class^="icon-"], .nav-tabs [class*=" icon-"], .nav-pills [class*=" icon-"], .nav-tabs [class^="icon-"].icon-large, .nav-pills [class^="icon-"].icon-large, .nav-tabs [class*=" icon-"].icon-large, .nav-pills [class*=" icon-"].icon-large { line-height: .9em; } .btn [class^="icon-"].pull-left.icon-2x, .btn [class*=" icon-"].pull-left.icon-2x, .btn [class^="icon-"].pull-right.icon-2x, .btn [class*=" icon-"].pull-right.icon-2x { margin-top: .18em; } .btn [class^="icon-"].icon-spin.icon-large, .btn [class*=" icon-"].icon-spin.icon-large { line-height: .8em; } .btn.btn-small [class^="icon-"].pull-left.icon-2x, .btn.btn-small [class*=" icon-"].pull-left.icon-2x, .btn.btn-small [class^="icon-"].pull-right.icon-2x, .btn.btn-small [class*=" icon-"].pull-right.icon-2x { margin-top: .25em; } .btn.btn-large [class^="icon-"], .btn.btn-large [class*=" icon-"] { margin-top: 0; } .btn.btn-large [class^="icon-"].pull-left.icon-2x, .btn.btn-large [class*=" icon-"].pull-left.icon-2x, .btn.btn-large [class^="icon-"].pull-right.icon-2x, .btn.btn-large [class*=" icon-"].pull-right.icon-2x { margin-top: .05em; } .btn.btn-large [class^="icon-"].pull-left.icon-2x, .btn.btn-large [class*=" icon-"].pull-left.icon-2x { margin-right: .2em; } .btn.btn-large [class^="icon-"].pull-right.icon-2x, .btn.btn-large [class*=" icon-"].pull-right.icon-2x { margin-left: .2em; } /* Fixes alignment in nav lists */ .nav-list [class^="icon-"], .nav-list [class*=" icon-"] { line-height: inherit; } /* EXTRAS * -------------------------- */ /* Stacked and layered icon */ .icon-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: -35%; } .icon-stack [class^="icon-"], .icon-stack [class*=" icon-"] { display: block; text-align: center; position: absolute; width: 100%; height: 100%; font-size: 1em; line-height: inherit; *line-height: 2em; } .icon-stack .icon-stack-base { font-size: 2em; *line-height: 1em; } /* Animated rotating icon */ .icon-spin { display: inline-block; -moz-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; -webkit-animation: spin 2s infinite linear; animation: spin 2s infinite linear; } /* Prevent stack and spinners from being taken inline when inside a link */ a .icon-stack, a .icon-spin { display: inline-block; text-decoration: none; } @-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); } 100% { -moz-transform: rotate(359deg); } } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); } } @-o-keyframes spin { 0% { -o-transform: rotate(0deg); } 100% { -o-transform: rotate(359deg); } } @-ms-keyframes spin { 0% { -ms-transform: rotate(0deg); } 100% { -ms-transform: rotate(359deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } /* Icon rotations and mirroring */ .icon-rotate-90:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); } .icon-rotate-180:before { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); } .icon-rotate-270:before { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } .icon-flip-horizontal:before { -webkit-transform: scale(-1, 1); -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -o-transform: scale(-1, 1); transform: scale(-1, 1); } .icon-flip-vertical:before { -webkit-transform: scale(1, -1); -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); -o-transform: scale(1, -1); transform: scale(1, -1); } /* ensure rotation occurs inside anchor tags */ a .icon-rotate-90:before, a .icon-rotate-180:before, a .icon-rotate-270:before, a .icon-flip-horizontal:before, a .icon-flip-vertical:before { display: inline-block; } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .icon-glass:before { content: "\f000"; } .icon-music:before { content: "\f001"; } .icon-search:before { content: "\f002"; } .icon-envelope-alt:before { content: "\f003"; } .icon-heart:before { content: "\f004"; } .icon-star:before { content: "\f005"; } .icon-star-empty:before { content: "\f006"; } .icon-user:before { content: "\f007"; } .icon-film:before { content: "\f008"; } .icon-th-large:before { content: "\f009"; } .icon-th:before { content: "\f00a"; } .icon-th-list:before { content: "\f00b"; } .icon-ok:before { content: "\f00c"; } .icon-remove:before { content: "\f00d"; } .icon-zoom-in:before { content: "\f00e"; } .icon-zoom-out:before { content: "\f010"; } .icon-power-off:before, .icon-off:before { content: "\f011"; } .icon-signal:before { content: "\f012"; } .icon-gear:before, .icon-cog:before { content: "\f013"; } .icon-trash:before { content: "\f014"; } .icon-home:before { content: "\f015"; } .icon-file-alt:before { content: "\f016"; } .icon-time:before { content: "\f017"; } .icon-road:before { content: "\f018"; } .icon-download-alt:before { content: "\f019"; } .icon-download:before { content: "\f01a"; } .icon-upload:before { content: "\f01b"; } .icon-inbox:before { content: "\f01c"; } .icon-play-circle:before { content: "\f01d"; } .icon-rotate-right:before, .icon-repeat:before { content: "\f01e"; } .icon-refresh:before { content: "\f021"; } .icon-list-alt:before { content: "\f022"; } .icon-lock:before { content: "\f023"; } .icon-flag:before { content: "\f024"; } .icon-headphones:before { content: "\f025"; } .icon-volume-off:before { content: "\f026"; } .icon-volume-down:before { content: "\f027"; } .icon-volume-up:before { content: "\f028"; } .icon-qrcode:before { content: "\f029"; } .icon-barcode:before { content: "\f02a"; } .icon-tag:before { content: "\f02b"; } .icon-tags:before { content: "\f02c"; } .icon-book:before { content: "\f02d"; } .icon-bookmark:before { content: "\f02e"; } .icon-print:before { content: "\f02f"; } .icon-camera:before { content: "\f030"; } .icon-font:before { content: "\f031"; } .icon-bold:before { content: "\f032"; } .icon-italic:before { content: "\f033"; } .icon-text-height:before { content: "\f034"; } .icon-text-width:before { content: "\f035"; } .icon-align-left:before { content: "\f036"; } .icon-align-center:before { content: "\f037"; } .icon-align-right:before { content: "\f038"; } .icon-align-justify:before { content: "\f039"; } .icon-list:before { content: "\f03a"; } .icon-indent-left:before { content: "\f03b"; } .icon-indent-right:before { content: "\f03c"; } .icon-facetime-video:before { content: "\f03d"; } .icon-picture:before { content: "\f03e"; } .icon-pencil:before { content: "\f040"; } .icon-map-marker:before { content: "\f041"; } .icon-adjust:before { content: "\f042"; } .icon-tint:before { content: "\f043"; } .icon-edit:before { content: "\f044"; } .icon-share:before { content: "\f045"; } .icon-check:before { content: "\f046"; } .icon-move:before { content: "\f047"; } .icon-step-backward:before { content: "\f048"; } .icon-fast-backward:before { content: "\f049"; } .icon-backward:before { content: "\f04a"; } .icon-play:before { content: "\f04b"; } .icon-pause:before { content: "\f04c"; } .icon-stop:before { content: "\f04d"; } .icon-forward:before { content: "\f04e"; } .icon-fast-forward:before { content: "\f050"; } .icon-step-forward:before { content: "\f051"; } .icon-eject:before { content: "\f052"; } .icon-chevron-left:before { content: "\f053"; } .icon-chevron-right:before { content: "\f054"; } .icon-plus-sign:before { content: "\f055"; } .icon-minus-sign:before { content: "\f056"; } .icon-remove-sign:before { content: "\f057"; } .icon-ok-sign:before { content: "\f058"; } .icon-question-sign:before { content: "\f059"; } .icon-info-sign:before { content: "\f05a"; } .icon-screenshot:before { content: "\f05b"; } .icon-remove-circle:before { content: "\f05c"; } .icon-ok-circle:before { content: "\f05d"; } .icon-ban-circle:before { content: "\f05e"; } .icon-arrow-left:before { content: "\f060"; } .icon-arrow-right:before { content: "\f061"; } .icon-arrow-up:before { content: "\f062"; } .icon-arrow-down:before { content: "\f063"; } .icon-mail-forward:before, .icon-share-alt:before { content: "\f064"; } .icon-resize-full:before { content: "\f065"; } .icon-resize-small:before { content: "\f066"; } .icon-plus:before { content: "\f067"; } .icon-minus:before { content: "\f068"; } .icon-asterisk:before { content: "\f069"; } .icon-exclamation-sign:before { content: "\f06a"; } .icon-gift:before { content: "\f06b"; } .icon-leaf:before { content: "\f06c"; } .icon-fire:before { content: "\f06d"; } .icon-eye-open:before { content: "\f06e"; } .icon-eye-close:before { content: "\f070"; } .icon-warning-sign:before { content: "\f071"; } .icon-plane:before { content: "\f072"; } .icon-calendar:before { content: "\f073"; } .icon-random:before { content: "\f074"; } .icon-comment:before { content: "\f075"; } .icon-magnet:before { content: "\f076"; } .icon-chevron-up:before { content: "\f077"; } .icon-chevron-down:before { content: "\f078"; } .icon-retweet:before { content: "\f079"; } .icon-shopping-cart:before { content: "\f07a"; } .icon-folder-close:before { content: "\f07b"; } .icon-folder-open:before { content: "\f07c"; } .icon-resize-vertical:before { content: "\f07d"; } .icon-resize-horizontal:before { content: "\f07e"; } .icon-bar-chart:before { content: "\f080"; } .icon-twitter-sign:before { content: "\f081"; } .icon-facebook-sign:before { content: "\f082"; } .icon-camera-retro:before { content: "\f083"; } .icon-key:before { content: "\f084"; } .icon-gears:before, .icon-cogs:before { content: "\f085"; } .icon-comments:before { content: "\f086"; } .icon-thumbs-up-alt:before { content: "\f087"; } .icon-thumbs-down-alt:before { content: "\f088"; } .icon-star-half:before { content: "\f089"; } .icon-heart-empty:before { content: "\f08a"; } .icon-signout:before { content: "\f08b"; } .icon-linkedin-sign:before { content: "\f08c"; } .icon-pushpin:before { content: "\f08d"; } .icon-external-link:before { content: "\f08e"; } .icon-signin:before { content: "\f090"; } .icon-trophy:before { content: "\f091"; } .icon-github-sign:before { content: "\f092"; } .icon-upload-alt:before { content: "\f093"; } .icon-lemon:before { content: "\f094"; } .icon-phone:before { content: "\f095"; } .icon-unchecked:before, .icon-check-empty:before { content: "\f096"; } .icon-bookmark-empty:before { content: "\f097"; } .icon-phone-sign:before { content: "\f098"; } .icon-twitter:before { content: "\f099"; } .icon-facebook:before { content: "\f09a"; } .icon-github:before { content: "\f09b"; } .icon-unlock:before { content: "\f09c"; } .icon-credit-card:before { content: "\f09d"; } .icon-rss:before { content: "\f09e"; } .icon-hdd:before { content: "\f0a0"; } .icon-bullhorn:before { content: "\f0a1"; } .icon-bell:before { content: "\f0a2"; } .icon-certificate:before { content: "\f0a3"; } .icon-hand-right:before { content: "\f0a4"; } .icon-hand-left:before { content: "\f0a5"; } .icon-hand-up:before { content: "\f0a6"; } .icon-hand-down:before { content: "\f0a7"; } .icon-circle-arrow-left:before { content: "\f0a8"; } .icon-circle-arrow-right:before { content: "\f0a9"; } .icon-circle-arrow-up:before { content: "\f0aa"; } .icon-circle-arrow-down:before { content: "\f0ab"; } .icon-globe:before { content: "\f0ac"; } .icon-wrench:before { content: "\f0ad"; } .icon-tasks:before { content: "\f0ae"; } .icon-filter:before { content: "\f0b0"; } .icon-briefcase:before { content: "\f0b1"; } .icon-fullscreen:before { content: "\f0b2"; } .icon-group:before { content: "\f0c0"; } .icon-link:before { content: "\f0c1"; } .icon-cloud:before { content: "\f0c2"; } .icon-beaker:before { content: "\f0c3"; } .icon-cut:before { content: "\f0c4"; } .icon-copy:before { content: "\f0c5"; } .icon-paperclip:before, .icon-paper-clip:before { content: "\f0c6"; } .icon-save:before { content: "\f0c7"; } .icon-sign-blank:before { content: "\f0c8"; } .icon-reorder:before { content: "\f0c9"; } .icon-list-ul:before { content: "\f0ca"; } .icon-list-ol:before { content: "\f0cb"; } .icon-strikethrough:before { content: "\f0cc"; } .icon-underline:before { content: "\f0cd"; } .icon-table:before { content: "\f0ce"; } .icon-magic:before { content: "\f0d0"; } .icon-truck:before { content: "\f0d1"; } .icon-pinterest:before { content: "\f0d2"; } .icon-pinterest-sign:before { content: "\f0d3"; } .icon-google-plus-sign:before { content: "\f0d4"; } .icon-google-plus:before { content: "\f0d5"; } .icon-money:before { content: "\f0d6"; } .icon-caret-down:before { content: "\f0d7"; } .icon-caret-up:before { content: "\f0d8"; } .icon-caret-left:before { content: "\f0d9"; } .icon-caret-right:before { content: "\f0da"; } .icon-columns:before { content: "\f0db"; } .icon-sort:before { content: "\f0dc"; } .icon-sort-down:before { content: "\f0dd"; } .icon-sort-up:before { content: "\f0de"; } .icon-envelope:before { content: "\f0e0"; } .icon-linkedin:before { content: "\f0e1"; } .icon-rotate-left:before, .icon-undo:before { content: "\f0e2"; } .icon-legal:before { content: "\f0e3"; } .icon-dashboard:before { content: "\f0e4"; } .icon-comment-alt:before { content: "\f0e5"; } .icon-comments-alt:before { content: "\f0e6"; } .icon-bolt:before { content: "\f0e7"; } .icon-sitemap:before { content: "\f0e8"; } .icon-umbrella:before { content: "\f0e9"; } .icon-paste:before { content: "\f0ea"; } .icon-lightbulb:before { content: "\f0eb"; } .icon-exchange:before { content: "\f0ec"; } .icon-cloud-download:before { content: "\f0ed"; } .icon-cloud-upload:before { content: "\f0ee"; } .icon-user-md:before { content: "\f0f0"; } .icon-stethoscope:before { content: "\f0f1"; } .icon-suitcase:before { content: "\f0f2"; } .icon-bell-alt:before { content: "\f0f3"; } .icon-coffee:before { content: "\f0f4"; } .icon-food:before { content: "\f0f5"; } .icon-file-text-alt:before { content: "\f0f6"; } .icon-building:before { content: "\f0f7"; } .icon-hospital:before { content: "\f0f8"; } .icon-ambulance:before { content: "\f0f9"; } .icon-medkit:before { content: "\f0fa"; } .icon-fighter-jet:before { content: "\f0fb"; } .icon-beer:before { content: "\f0fc"; } .icon-h-sign:before { content: "\f0fd"; } .icon-plus-sign-alt:before { content: "\f0fe"; } .icon-double-angle-left:before { content: "\f100"; } .icon-double-angle-right:before { content: "\f101"; } .icon-double-angle-up:before { content: "\f102"; } .icon-double-angle-down:before { content: "\f103"; } .icon-angle-left:before { content: "\f104"; } .icon-angle-right:before { content: "\f105"; } .icon-angle-up:before { content: "\f106"; } .icon-angle-down:before { content: "\f107"; } .icon-desktop:before { content: "\f108"; } .icon-laptop:before { content: "\f109"; } .icon-tablet:before { content: "\f10a"; } .icon-mobile-phone:before { content: "\f10b"; } .icon-circle-blank:before { content: "\f10c"; } .icon-quote-left:before { content: "\f10d"; } .icon-quote-right:before { content: "\f10e"; } .icon-spinner:before { content: "\f110"; } .icon-circle:before { content: "\f111"; } .icon-mail-reply:before, .icon-reply:before { content: "\f112"; } .icon-github-alt:before { content: "\f113"; } .icon-folder-close-alt:before { content: "\f114"; } .icon-folder-open-alt:before { content: "\f115"; } .icon-expand-alt:before { content: "\f116"; } .icon-collapse-alt:before { content: "\f117"; } .icon-smile:before { content: "\f118"; } .icon-frown:before { content: "\f119"; } .icon-meh:before { content: "\f11a"; } .icon-gamepad:before { content: "\f11b"; } .icon-keyboard:before { content: "\f11c"; } .icon-flag-alt:before { content: "\f11d"; } .icon-flag-checkered:before { content: "\f11e"; } .icon-terminal:before { content: "\f120"; } .icon-code:before { content: "\f121"; } .icon-reply-all:before { content: "\f122"; } .icon-mail-reply-all:before { content: "\f122"; } .icon-star-half-full:before, .icon-star-half-empty:before { content: "\f123"; } .icon-location-arrow:before { content: "\f124"; } .icon-crop:before { content: "\f125"; } .icon-code-fork:before { content: "\f126"; } .icon-unlink:before { content: "\f127"; } .icon-question:before { content: "\f128"; } .icon-info:before { content: "\f129"; } .icon-exclamation:before { content: "\f12a"; } .icon-superscript:before { content: "\f12b"; } .icon-subscript:before { content: "\f12c"; } .icon-eraser:before { content: "\f12d"; } .icon-puzzle-piece:before { content: "\f12e"; } .icon-microphone:before { content: "\f130"; } .icon-microphone-off:before { content: "\f131"; } .icon-shield:before { content: "\f132"; } .icon-calendar-empty:before { content: "\f133"; } .icon-fire-extinguisher:before { content: "\f134"; } .icon-rocket:before { content: "\f135"; } .icon-maxcdn:before { content: "\f136"; } .icon-chevron-sign-left:before { content: "\f137"; } .icon-chevron-sign-right:before { content: "\f138"; } .icon-chevron-sign-up:before { content: "\f139"; } .icon-chevron-sign-down:before { content: "\f13a"; } .icon-html5:before { content: "\f13b"; } .icon-css3:before { content: "\f13c"; } .icon-anchor:before { content: "\f13d"; } .icon-unlock-alt:before { content: "\f13e"; } .icon-bullseye:before { content: "\f140"; } .icon-ellipsis-horizontal:before { content: "\f141"; } .icon-ellipsis-vertical:before { content: "\f142"; } .icon-rss-sign:before { content: "\f143"; } .icon-play-sign:before { content: "\f144"; } .icon-ticket:before { content: "\f145"; } .icon-minus-sign-alt:before { content: "\f146"; } .icon-check-minus:before { content: "\f147"; } .icon-level-up:before { content: "\f148"; } .icon-level-down:before { content: "\f149"; } .icon-check-sign:before { content: "\f14a"; } .icon-edit-sign:before { content: "\f14b"; } .icon-external-link-sign:before { content: "\f14c"; } .icon-share-sign:before { content: "\f14d"; } .icon-compass:before { content: "\f14e"; } .icon-collapse:before { content: "\f150"; } .icon-collapse-top:before { content: "\f151"; } .icon-expand:before { content: "\f152"; } .icon-euro:before, .icon-eur:before { content: "\f153"; } .icon-gbp:before { content: "\f154"; } .icon-dollar:before, .icon-usd:before { content: "\f155"; } .icon-rupee:before, .icon-inr:before { content: "\f156"; } .icon-yen:before, .icon-jpy:before { content: "\f157"; } .icon-renminbi:before, .icon-cny:before { content: "\f158"; } .icon-won:before, .icon-krw:before { content: "\f159"; } .icon-bitcoin:before, .icon-btc:before { content: "\f15a"; } .icon-file:before { content: "\f15b"; } .icon-file-text:before { content: "\f15c"; } .icon-sort-by-alphabet:before { content: "\f15d"; } .icon-sort-by-alphabet-alt:before { content: "\f15e"; } .icon-sort-by-attributes:before { content: "\f160"; } .icon-sort-by-attributes-alt:before { content: "\f161"; } .icon-sort-by-order:before { content: "\f162"; } .icon-sort-by-order-alt:before { content: "\f163"; } .icon-thumbs-up:before { content: "\f164"; } .icon-thumbs-down:before { content: "\f165"; } .icon-youtube-sign:before { content: "\f166"; } .icon-youtube:before { content: "\f167"; } .icon-xing:before { content: "\f168"; } .icon-xing-sign:before { content: "\f169"; } .icon-youtube-play:before { content: "\f16a"; } .icon-dropbox:before { content: "\f16b"; } .icon-stackexchange:before { content: "\f16c"; } .icon-instagram:before { content: "\f16d"; } .icon-flickr:before { content: "\f16e"; } .icon-adn:before { content: "\f170"; } .icon-bitbucket:before { content: "\f171"; } .icon-bitbucket-sign:before { content: "\f172"; } .icon-tumblr:before { content: "\f173"; } .icon-tumblr-sign:before { content: "\f174"; } .icon-long-arrow-down:before { content: "\f175"; } .icon-long-arrow-up:before { content: "\f176"; } .icon-long-arrow-left:before { content: "\f177"; } .icon-long-arrow-right:before { content: "\f178"; } .icon-apple:before { content: "\f179"; } .icon-windows:before { content: "\f17a"; } .icon-android:before { content: "\f17b"; } .icon-linux:before { content: "\f17c"; } .icon-dribbble:before { content: "\f17d"; } .icon-skype:before { content: "\f17e"; } .icon-foursquare:before { content: "\f180"; } .icon-trello:before { content: "\f181"; } .icon-female:before { content: "\f182"; } .icon-male:before { content: "\f183"; } .icon-gittip:before { content: "\f184"; } .icon-sun:before { content: "\f185"; } .icon-moon:before { content: "\f186"; } .icon-archive:before { content: "\f187"; } .icon-bug:before { content: "\f188"; } .icon-vk:before { content: "\f189"; } .icon-weibo:before { content: "\f18a"; } .icon-renren:before { content: "\f18b"; } ================================================ FILE: automatic/static/css/font-awesome/less/animated.less ================================================ // Animated Icons // -------------------------- .@{fa-css-prefix}-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .@{fa-css-prefix}-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ================================================ FILE: automatic/static/css/font-awesome/less/bootstrap.less ================================================ /* BOOTSTRAP SPECIFIC CLASSES * -------------------------- */ /* Bootstrap 2.0 sprites.less reset */ [class^="icon-"], [class*=" icon-"] { display: inline; width: auto; height: auto; line-height: normal; vertical-align: baseline; background-image: none; background-position: 0% 0%; background-repeat: repeat; margin-top: 0; } /* more sprites.less reset */ .icon-white, .nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class*=" icon-"], .nav-list > .active > a > [class^="icon-"], .nav-list > .active > a > [class*=" icon-"], .navbar-inverse .nav > .active > a > [class^="icon-"], .navbar-inverse .nav > .active > a > [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], .dropdown-menu > .active > a > [class*=" icon-"], .dropdown-submenu:hover > a > [class^="icon-"], .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: none; } /* keeps Bootstrap styles with and without icons the same */ .btn, .nav { [class^="icon-"], [class*=" icon-"] { // display: inline; &.icon-large { line-height: .9em; } &.icon-spin { display: inline-block; } } } .nav-tabs, .nav-pills { [class^="icon-"], [class*=" icon-"] { &, &.icon-large { line-height: .9em; } } } .btn { [class^="icon-"], [class*=" icon-"] { &.pull-left, &.pull-right { &.icon-2x { margin-top: .18em; } } &.icon-spin.icon-large { line-height: .8em; } } } .btn.btn-small { [class^="icon-"], [class*=" icon-"] { &.pull-left, &.pull-right { &.icon-2x { margin-top: .25em; } } } } .btn.btn-large { [class^="icon-"], [class*=" icon-"] { margin-top: 0; // overrides bootstrap default &.pull-left, &.pull-right { &.icon-2x { margin-top: .05em; } } &.pull-left.icon-2x { margin-right: .2em; } &.pull-right.icon-2x { margin-left: .2em; } } } /* Fixes alignment in nav lists */ .nav-list [class^="icon-"], .nav-list [class*=" icon-"] { line-height: inherit; } ================================================ FILE: automatic/static/css/font-awesome/less/bordered-pulled.less ================================================ // Bordered & Pulled // ------------------------- .@{fa-css-prefix}-border { padding: .2em .25em .15em; border: solid .08em @fa-border-color; border-radius: .1em; } .pull-right { float: right; } .pull-left { float: left; } .@{fa-css-prefix} { &.pull-left { margin-right: .3em; } &.pull-right { margin-left: .3em; } } ================================================ FILE: automatic/static/css/font-awesome/less/core.less ================================================ /* FONT AWESOME CORE * -------------------------- */ [class^="icon-"], [class*=" icon-"] { .icon-FontAwesome(); } [class^="icon-"]:before, [class*=" icon-"]:before { text-decoration: inherit; display: inline-block; speak: none; } /* makes the font 33% larger relative to the icon container */ .icon-large:before { vertical-align: -10%; font-size: 4/3em; } /* makes sure icons active on rollover in links */ a { [class^="icon-"], [class*=" icon-"] { display: inline; } } /* increased font size for icon-large */ [class^="icon-"], [class*=" icon-"] { &.icon-fixed-width { display: inline-block; width: 16/14em; text-align: right; padding-right: 4/14em; &.icon-large { width: 20/14em; } } } .icons-ul { margin-left: @icons-li-width; list-style-type: none; > li { position: relative; } .icon-li { position: absolute; left: -@icons-li-width; width: @icons-li-width; text-align: center; line-height: inherit; } } // allows usage of the hide class directly on font awesome icons [class^="icon-"], [class*=" icon-"] { &.hide { display: none; } } .icon-muted { color: @iconMuted; } .icon-light { color: @iconLight; } .icon-dark { color: @iconDark; } // Icon Borders // ------------------------- .icon-border { border: solid 1px @borderColor; padding: .2em .25em .15em; .border-radius(3px); } // Icon Sizes // ------------------------- .icon-2x { font-size: 2em; &.icon-border { border-width: 2px; .border-radius(4px); } } .icon-3x { font-size: 3em; &.icon-border { border-width: 3px; .border-radius(5px); } } .icon-4x { font-size: 4em; &.icon-border { border-width: 4px; .border-radius(6px); } } .icon-5x { font-size: 5em; &.icon-border { border-width: 5px; .border-radius(7px); } } // Floats & Margins // ------------------------- // Quick floats .pull-right { float: right; } .pull-left { float: left; } [class^="icon-"], [class*=" icon-"] { &.pull-left { margin-right: .3em; } &.pull-right { margin-left: .3em; } } ================================================ FILE: automatic/static/css/font-awesome/less/extras.less ================================================ /* EXTRAS * -------------------------- */ /* Stacked and layered icon */ .icon-stack(); /* Animated rotating icon */ .icon-spin { display: inline-block; -moz-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; -webkit-animation: spin 2s infinite linear; animation: spin 2s infinite linear; } /* Prevent stack and spinners from being taken inline when inside a link */ a .icon-stack, a .icon-spin { display: inline-block; text-decoration: none; } @-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); } 100% { -moz-transform: rotate(359deg); } } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); } } @-o-keyframes spin { 0% { -o-transform: rotate(0deg); } 100% { -o-transform: rotate(359deg); } } @-ms-keyframes spin { 0% { -ms-transform: rotate(0deg); } 100% { -ms-transform: rotate(359deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } /* Icon rotations and mirroring */ .icon-rotate-90:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); } .icon-rotate-180:before { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); } .icon-rotate-270:before { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } .icon-flip-horizontal:before { -webkit-transform: scale(-1, 1); -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -o-transform: scale(-1, 1); transform: scale(-1, 1); } .icon-flip-vertical:before { -webkit-transform: scale(1, -1); -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); -o-transform: scale(1, -1); transform: scale(1, -1); } /* ensure rotation occurs inside anchor tags */ a { .icon-rotate-90, .icon-rotate-180, .icon-rotate-270, .icon-flip-horizontal, .icon-flip-vertical { &:before { display: inline-block; } } } ================================================ FILE: automatic/static/css/font-awesome/less/fixed-width.less ================================================ // Fixed Width Icons // ------------------------- .@{fa-css-prefix}-fw { width: (18em / 14); text-align: center; } ================================================ FILE: automatic/static/css/font-awesome/less/font-awesome-ie7.less ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ .icon-large { font-size: 4/3em; margin-top: -4px; padding-top: 3px; margin-bottom: -4px; padding-bottom: 3px; vertical-align: middle; } .nav { [class^="icon-"], [class*=" icon-"] { vertical-align: inherit; margin-top: -4px; padding-top: 3px; margin-bottom: -4px; padding-bottom: 3px; &.icon-large { vertical-align: -25%; } } } .nav-pills, .nav-tabs { [class^="icon-"], [class*=" icon-"] { &.icon-large { line-height: .75em; margin-top: -7px; padding-top: 5px; margin-bottom: -5px; padding-bottom: 4px; } } } .btn { [class^="icon-"], [class*=" icon-"] { &.pull-left, &.pull-right { vertical-align: inherit; } &.icon-large { margin-top: -.5em; } } } a [class^="icon-"], a [class*=" icon-"] { cursor: pointer; } .ie7icon(@inner) { *zoom: ~"expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '@{inner}')"; } .icon-glass { .ie7icon(''); } .icon-music { .ie7icon(''); } .icon-search { .ie7icon(''); } .icon-envelope-alt { .ie7icon(''); } .icon-heart { .ie7icon(''); } .icon-star { .ie7icon(''); } .icon-star-empty { .ie7icon(''); } .icon-user { .ie7icon(''); } .icon-film { .ie7icon(''); } .icon-th-large { .ie7icon(''); } .icon-th { .ie7icon(''); } .icon-th-list { .ie7icon(''); } .icon-ok { .ie7icon(''); } .icon-remove { .ie7icon(''); } .icon-zoom-in { .ie7icon(''); } .icon-zoom-out { .ie7icon(''); } .icon-off { .ie7icon(''); } .icon-power-off { .ie7icon(''); } .icon-signal { .ie7icon(''); } .icon-cog { .ie7icon(''); } .icon-gear { .ie7icon(''); } .icon-trash { .ie7icon(''); } .icon-home { .ie7icon(''); } .icon-file-alt { .ie7icon(''); } .icon-time { .ie7icon(''); } .icon-road { .ie7icon(''); } .icon-download-alt { .ie7icon(''); } .icon-download { .ie7icon(''); } .icon-upload { .ie7icon(''); } .icon-inbox { .ie7icon(''); } .icon-play-circle { .ie7icon(''); } .icon-repeat { .ie7icon(''); } .icon-rotate-right { .ie7icon(''); } .icon-refresh { .ie7icon(''); } .icon-list-alt { .ie7icon(''); } .icon-lock { .ie7icon(''); } .icon-flag { .ie7icon(''); } .icon-headphones { .ie7icon(''); } .icon-volume-off { .ie7icon(''); } .icon-volume-down { .ie7icon(''); } .icon-volume-up { .ie7icon(''); } .icon-qrcode { .ie7icon(''); } .icon-barcode { .ie7icon(''); } .icon-tag { .ie7icon(''); } .icon-tags { .ie7icon(''); } .icon-book { .ie7icon(''); } .icon-bookmark { .ie7icon(''); } .icon-print { .ie7icon(''); } .icon-camera { .ie7icon(''); } .icon-font { .ie7icon(''); } .icon-bold { .ie7icon(''); } .icon-italic { .ie7icon(''); } .icon-text-height { .ie7icon(''); } .icon-text-width { .ie7icon(''); } .icon-align-left { .ie7icon(''); } .icon-align-center { .ie7icon(''); } .icon-align-right { .ie7icon(''); } .icon-align-justify { .ie7icon(''); } .icon-list { .ie7icon(''); } .icon-indent-left { .ie7icon(''); } .icon-indent-right { .ie7icon(''); } .icon-facetime-video { .ie7icon(''); } .icon-picture { .ie7icon(''); } .icon-pencil { .ie7icon(''); } .icon-map-marker { .ie7icon(''); } .icon-adjust { .ie7icon(''); } .icon-tint { .ie7icon(''); } .icon-edit { .ie7icon(''); } .icon-share { .ie7icon(''); } .icon-check { .ie7icon(''); } .icon-move { .ie7icon(''); } .icon-step-backward { .ie7icon(''); } .icon-fast-backward { .ie7icon(''); } .icon-backward { .ie7icon(''); } .icon-play { .ie7icon(''); } .icon-pause { .ie7icon(''); } .icon-stop { .ie7icon(''); } .icon-forward { .ie7icon(''); } .icon-fast-forward { .ie7icon(''); } .icon-step-forward { .ie7icon(''); } .icon-eject { .ie7icon(''); } .icon-chevron-left { .ie7icon(''); } .icon-chevron-right { .ie7icon(''); } .icon-plus-sign { .ie7icon(''); } .icon-minus-sign { .ie7icon(''); } .icon-remove-sign { .ie7icon(''); } .icon-ok-sign { .ie7icon(''); } .icon-question-sign { .ie7icon(''); } .icon-info-sign { .ie7icon(''); } .icon-screenshot { .ie7icon(''); } .icon-remove-circle { .ie7icon(''); } .icon-ok-circle { .ie7icon(''); } .icon-ban-circle { .ie7icon(''); } .icon-arrow-left { .ie7icon(''); } .icon-arrow-right { .ie7icon(''); } .icon-arrow-up { .ie7icon(''); } .icon-arrow-down { .ie7icon(''); } .icon-share-alt { .ie7icon(''); } .icon-mail-forward { .ie7icon(''); } .icon-resize-full { .ie7icon(''); } .icon-resize-small { .ie7icon(''); } .icon-plus { .ie7icon(''); } .icon-minus { .ie7icon(''); } .icon-asterisk { .ie7icon(''); } .icon-exclamation-sign { .ie7icon(''); } .icon-gift { .ie7icon(''); } .icon-leaf { .ie7icon(''); } .icon-fire { .ie7icon(''); } .icon-eye-open { .ie7icon(''); } .icon-eye-close { .ie7icon(''); } .icon-warning-sign { .ie7icon(''); } .icon-plane { .ie7icon(''); } .icon-calendar { .ie7icon(''); } .icon-random { .ie7icon(''); } .icon-comment { .ie7icon(''); } .icon-magnet { .ie7icon(''); } .icon-chevron-up { .ie7icon(''); } .icon-chevron-down { .ie7icon(''); } .icon-retweet { .ie7icon(''); } .icon-shopping-cart { .ie7icon(''); } .icon-folder-close { .ie7icon(''); } .icon-folder-open { .ie7icon(''); } .icon-resize-vertical { .ie7icon(''); } .icon-resize-horizontal { .ie7icon(''); } .icon-bar-chart { .ie7icon(''); } .icon-twitter-sign { .ie7icon(''); } .icon-facebook-sign { .ie7icon(''); } .icon-camera-retro { .ie7icon(''); } .icon-key { .ie7icon(''); } .icon-cogs { .ie7icon(''); } .icon-gears { .ie7icon(''); } .icon-comments { .ie7icon(''); } .icon-thumbs-up-alt { .ie7icon(''); } .icon-thumbs-down-alt { .ie7icon(''); } .icon-star-half { .ie7icon(''); } .icon-heart-empty { .ie7icon(''); } .icon-signout { .ie7icon(''); } .icon-linkedin-sign { .ie7icon(''); } .icon-pushpin { .ie7icon(''); } .icon-external-link { .ie7icon(''); } .icon-signin { .ie7icon(''); } .icon-trophy { .ie7icon(''); } .icon-github-sign { .ie7icon(''); } .icon-upload-alt { .ie7icon(''); } .icon-lemon { .ie7icon(''); } .icon-phone { .ie7icon(''); } .icon-check-empty { .ie7icon(''); } .icon-unchecked { .ie7icon(''); } .icon-bookmark-empty { .ie7icon(''); } .icon-phone-sign { .ie7icon(''); } .icon-twitter { .ie7icon(''); } .icon-facebook { .ie7icon(''); } .icon-github { .ie7icon(''); } .icon-unlock { .ie7icon(''); } .icon-credit-card { .ie7icon(''); } .icon-rss { .ie7icon(''); } .icon-hdd { .ie7icon(''); } .icon-bullhorn { .ie7icon(''); } .icon-bell { .ie7icon(''); } .icon-certificate { .ie7icon(''); } .icon-hand-right { .ie7icon(''); } .icon-hand-left { .ie7icon(''); } .icon-hand-up { .ie7icon(''); } .icon-hand-down { .ie7icon(''); } .icon-circle-arrow-left { .ie7icon(''); } .icon-circle-arrow-right { .ie7icon(''); } .icon-circle-arrow-up { .ie7icon(''); } .icon-circle-arrow-down { .ie7icon(''); } .icon-globe { .ie7icon(''); } .icon-wrench { .ie7icon(''); } .icon-tasks { .ie7icon(''); } .icon-filter { .ie7icon(''); } .icon-briefcase { .ie7icon(''); } .icon-fullscreen { .ie7icon(''); } .icon-group { .ie7icon(''); } .icon-link { .ie7icon(''); } .icon-cloud { .ie7icon(''); } .icon-beaker { .ie7icon(''); } .icon-cut { .ie7icon(''); } .icon-copy { .ie7icon(''); } .icon-paper-clip { .ie7icon(''); } .icon-paperclip { .ie7icon(''); } .icon-save { .ie7icon(''); } .icon-sign-blank { .ie7icon(''); } .icon-reorder { .ie7icon(''); } .icon-list-ul { .ie7icon(''); } .icon-list-ol { .ie7icon(''); } .icon-strikethrough { .ie7icon(''); } .icon-underline { .ie7icon(''); } .icon-table { .ie7icon(''); } .icon-magic { .ie7icon(''); } .icon-truck { .ie7icon(''); } .icon-pinterest { .ie7icon(''); } .icon-pinterest-sign { .ie7icon(''); } .icon-google-plus-sign { .ie7icon(''); } .icon-google-plus { .ie7icon(''); } .icon-money { .ie7icon(''); } .icon-caret-down { .ie7icon(''); } .icon-caret-up { .ie7icon(''); } .icon-caret-left { .ie7icon(''); } .icon-caret-right { .ie7icon(''); } .icon-columns { .ie7icon(''); } .icon-sort { .ie7icon(''); } .icon-sort-down { .ie7icon(''); } .icon-sort-up { .ie7icon(''); } .icon-envelope { .ie7icon(''); } .icon-linkedin { .ie7icon(''); } .icon-undo { .ie7icon(''); } .icon-rotate-left { .ie7icon(''); } .icon-legal { .ie7icon(''); } .icon-dashboard { .ie7icon(''); } .icon-comment-alt { .ie7icon(''); } .icon-comments-alt { .ie7icon(''); } .icon-bolt { .ie7icon(''); } .icon-sitemap { .ie7icon(''); } .icon-umbrella { .ie7icon(''); } .icon-paste { .ie7icon(''); } .icon-lightbulb { .ie7icon(''); } .icon-exchange { .ie7icon(''); } .icon-cloud-download { .ie7icon(''); } .icon-cloud-upload { .ie7icon(''); } .icon-user-md { .ie7icon(''); } .icon-stethoscope { .ie7icon(''); } .icon-suitcase { .ie7icon(''); } .icon-bell-alt { .ie7icon(''); } .icon-coffee { .ie7icon(''); } .icon-food { .ie7icon(''); } .icon-file-text-alt { .ie7icon(''); } .icon-building { .ie7icon(''); } .icon-hospital { .ie7icon(''); } .icon-ambulance { .ie7icon(''); } .icon-medkit { .ie7icon(''); } .icon-fighter-jet { .ie7icon(''); } .icon-beer { .ie7icon(''); } .icon-h-sign { .ie7icon(''); } .icon-plus-sign-alt { .ie7icon(''); } .icon-double-angle-left { .ie7icon(''); } .icon-double-angle-right { .ie7icon(''); } .icon-double-angle-up { .ie7icon(''); } .icon-double-angle-down { .ie7icon(''); } .icon-angle-left { .ie7icon(''); } .icon-angle-right { .ie7icon(''); } .icon-angle-up { .ie7icon(''); } .icon-angle-down { .ie7icon(''); } .icon-desktop { .ie7icon(''); } .icon-laptop { .ie7icon(''); } .icon-tablet { .ie7icon(''); } .icon-mobile-phone { .ie7icon(''); } .icon-circle-blank { .ie7icon(''); } .icon-quote-left { .ie7icon(''); } .icon-quote-right { .ie7icon(''); } .icon-spinner { .ie7icon(''); } .icon-circle { .ie7icon(''); } .icon-reply { .ie7icon(''); } .icon-mail-reply { .ie7icon(''); } .icon-github-alt { .ie7icon(''); } .icon-folder-close-alt { .ie7icon(''); } .icon-folder-open-alt { .ie7icon(''); } .icon-expand-alt { .ie7icon(''); } .icon-collapse-alt { .ie7icon(''); } .icon-smile { .ie7icon(''); } .icon-frown { .ie7icon(''); } .icon-meh { .ie7icon(''); } .icon-gamepad { .ie7icon(''); } .icon-keyboard { .ie7icon(''); } .icon-flag-alt { .ie7icon(''); } .icon-flag-checkered { .ie7icon(''); } .icon-terminal { .ie7icon(''); } .icon-code { .ie7icon(''); } .icon-reply-all { .ie7icon(''); } .icon-mail-reply-all { .ie7icon(''); } .icon-star-half-empty { .ie7icon(''); } .icon-star-half-full { .ie7icon(''); } .icon-location-arrow { .ie7icon(''); } .icon-crop { .ie7icon(''); } .icon-code-fork { .ie7icon(''); } .icon-unlink { .ie7icon(''); } .icon-question { .ie7icon(''); } .icon-info { .ie7icon(''); } .icon-exclamation { .ie7icon(''); } .icon-superscript { .ie7icon(''); } .icon-subscript { .ie7icon(''); } .icon-eraser { .ie7icon(''); } .icon-puzzle-piece { .ie7icon(''); } .icon-microphone { .ie7icon(''); } .icon-microphone-off { .ie7icon(''); } .icon-shield { .ie7icon(''); } .icon-calendar-empty { .ie7icon(''); } .icon-fire-extinguisher { .ie7icon(''); } .icon-rocket { .ie7icon(''); } .icon-maxcdn { .ie7icon(''); } .icon-chevron-sign-left { .ie7icon(''); } .icon-chevron-sign-right { .ie7icon(''); } .icon-chevron-sign-up { .ie7icon(''); } .icon-chevron-sign-down { .ie7icon(''); } .icon-html5 { .ie7icon(''); } .icon-css3 { .ie7icon(''); } .icon-anchor { .ie7icon(''); } .icon-unlock-alt { .ie7icon(''); } .icon-bullseye { .ie7icon(''); } .icon-ellipsis-horizontal { .ie7icon(''); } .icon-ellipsis-vertical { .ie7icon(''); } .icon-rss-sign { .ie7icon(''); } .icon-play-sign { .ie7icon(''); } .icon-ticket { .ie7icon(''); } .icon-minus-sign-alt { .ie7icon(''); } .icon-check-minus { .ie7icon(''); } .icon-level-up { .ie7icon(''); } .icon-level-down { .ie7icon(''); } .icon-check-sign { .ie7icon(''); } .icon-edit-sign { .ie7icon(''); } .icon-external-link-sign { .ie7icon(''); } .icon-share-sign { .ie7icon(''); } .icon-compass { .ie7icon(''); } .icon-collapse { .ie7icon(''); } .icon-collapse-top { .ie7icon(''); } .icon-expand { .ie7icon(''); } .icon-eur { .ie7icon(''); } .icon-euro { .ie7icon(''); } .icon-gbp { .ie7icon(''); } .icon-usd { .ie7icon(''); } .icon-dollar { .ie7icon(''); } .icon-inr { .ie7icon(''); } .icon-rupee { .ie7icon(''); } .icon-jpy { .ie7icon(''); } .icon-yen { .ie7icon(''); } .icon-cny { .ie7icon(''); } .icon-renminbi { .ie7icon(''); } .icon-krw { .ie7icon(''); } .icon-won { .ie7icon(''); } .icon-btc { .ie7icon(''); } .icon-bitcoin { .ie7icon(''); } .icon-file { .ie7icon(''); } .icon-file-text { .ie7icon(''); } .icon-sort-by-alphabet { .ie7icon(''); } .icon-sort-by-alphabet-alt { .ie7icon(''); } .icon-sort-by-attributes { .ie7icon(''); } .icon-sort-by-attributes-alt { .ie7icon(''); } .icon-sort-by-order { .ie7icon(''); } .icon-sort-by-order-alt { .ie7icon(''); } .icon-thumbs-up { .ie7icon(''); } .icon-thumbs-down { .ie7icon(''); } .icon-youtube-sign { .ie7icon(''); } .icon-youtube { .ie7icon(''); } .icon-xing { .ie7icon(''); } .icon-xing-sign { .ie7icon(''); } .icon-youtube-play { .ie7icon(''); } .icon-dropbox { .ie7icon(''); } .icon-stackexchange { .ie7icon(''); } .icon-instagram { .ie7icon(''); } .icon-flickr { .ie7icon(''); } .icon-adn { .ie7icon(''); } .icon-bitbucket { .ie7icon(''); } .icon-bitbucket-sign { .ie7icon(''); } .icon-tumblr { .ie7icon(''); } .icon-tumblr-sign { .ie7icon(''); } .icon-long-arrow-down { .ie7icon(''); } .icon-long-arrow-up { .ie7icon(''); } .icon-long-arrow-left { .ie7icon(''); } .icon-long-arrow-right { .ie7icon(''); } .icon-apple { .ie7icon(''); } .icon-windows { .ie7icon(''); } .icon-android { .ie7icon(''); } .icon-linux { .ie7icon(''); } .icon-dribbble { .ie7icon(''); } .icon-skype { .ie7icon(''); } .icon-foursquare { .ie7icon(''); } .icon-trello { .ie7icon(''); } .icon-female { .ie7icon(''); } .icon-male { .ie7icon(''); } .icon-gittip { .ie7icon(''); } .icon-sun { .ie7icon(''); } .icon-moon { .ie7icon(''); } .icon-archive { .ie7icon(''); } .icon-bug { .ie7icon(''); } .icon-vk { .ie7icon(''); } .icon-weibo { .ie7icon(''); } .icon-renren { .ie7icon(''); } ================================================ FILE: automatic/static/css/font-awesome/less/font-awesome.less ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ @import "variables.less"; @import "mixins.less"; @import "path.less"; @import "core.less"; @import "bootstrap.less"; @import "extras.less"; @import "icons.less"; ================================================ FILE: automatic/static/css/font-awesome/less/icons.less ================================================ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .icon-glass:before { content: @glass; } .icon-music:before { content: @music; } .icon-search:before { content: @search; } .icon-envelope-alt:before { content: @envelope-alt; } .icon-heart:before { content: @heart; } .icon-star:before { content: @star; } .icon-star-empty:before { content: @star-empty; } .icon-user:before { content: @user; } .icon-film:before { content: @film; } .icon-th-large:before { content: @th-large; } .icon-th:before { content: @th; } .icon-th-list:before { content: @th-list; } .icon-ok:before { content: @ok; } .icon-remove:before { content: @remove; } .icon-zoom-in:before { content: @zoom-in; } .icon-zoom-out:before { content: @zoom-out; } .icon-power-off:before, .icon-off:before { content: @off; } .icon-signal:before { content: @signal; } .icon-gear:before, .icon-cog:before { content: @cog; } .icon-trash:before { content: @trash; } .icon-home:before { content: @home; } .icon-file-alt:before { content: @file-alt; } .icon-time:before { content: @time; } .icon-road:before { content: @road; } .icon-download-alt:before { content: @download-alt; } .icon-download:before { content: @download; } .icon-upload:before { content: @upload; } .icon-inbox:before { content: @inbox; } .icon-play-circle:before { content: @play-circle; } .icon-rotate-right:before, .icon-repeat:before { content: @repeat; } .icon-refresh:before { content: @refresh; } .icon-list-alt:before { content: @list-alt; } .icon-lock:before { content: @lock; } .icon-flag:before { content: @flag; } .icon-headphones:before { content: @headphones; } .icon-volume-off:before { content: @volume-off; } .icon-volume-down:before { content: @volume-down; } .icon-volume-up:before { content: @volume-up; } .icon-qrcode:before { content: @qrcode; } .icon-barcode:before { content: @barcode; } .icon-tag:before { content: @tag; } .icon-tags:before { content: @tags; } .icon-book:before { content: @book; } .icon-bookmark:before { content: @bookmark; } .icon-print:before { content: @print; } .icon-camera:before { content: @camera; } .icon-font:before { content: @font; } .icon-bold:before { content: @bold; } .icon-italic:before { content: @italic; } .icon-text-height:before { content: @text-height; } .icon-text-width:before { content: @text-width; } .icon-align-left:before { content: @align-left; } .icon-align-center:before { content: @align-center; } .icon-align-right:before { content: @align-right; } .icon-align-justify:before { content: @align-justify; } .icon-list:before { content: @list; } .icon-indent-left:before { content: @indent-left; } .icon-indent-right:before { content: @indent-right; } .icon-facetime-video:before { content: @facetime-video; } .icon-picture:before { content: @picture; } .icon-pencil:before { content: @pencil; } .icon-map-marker:before { content: @map-marker; } .icon-adjust:before { content: @adjust; } .icon-tint:before { content: @tint; } .icon-edit:before { content: @edit; } .icon-share:before { content: @share; } .icon-check:before { content: @check; } .icon-move:before { content: @move; } .icon-step-backward:before { content: @step-backward; } .icon-fast-backward:before { content: @fast-backward; } .icon-backward:before { content: @backward; } .icon-play:before { content: @play; } .icon-pause:before { content: @pause; } .icon-stop:before { content: @stop; } .icon-forward:before { content: @forward; } .icon-fast-forward:before { content: @fast-forward; } .icon-step-forward:before { content: @step-forward; } .icon-eject:before { content: @eject; } .icon-chevron-left:before { content: @chevron-left; } .icon-chevron-right:before { content: @chevron-right; } .icon-plus-sign:before { content: @plus-sign; } .icon-minus-sign:before { content: @minus-sign; } .icon-remove-sign:before { content: @remove-sign; } .icon-ok-sign:before { content: @ok-sign; } .icon-question-sign:before { content: @question-sign; } .icon-info-sign:before { content: @info-sign; } .icon-screenshot:before { content: @screenshot; } .icon-remove-circle:before { content: @remove-circle; } .icon-ok-circle:before { content: @ok-circle; } .icon-ban-circle:before { content: @ban-circle; } .icon-arrow-left:before { content: @arrow-left; } .icon-arrow-right:before { content: @arrow-right; } .icon-arrow-up:before { content: @arrow-up; } .icon-arrow-down:before { content: @arrow-down; } .icon-mail-forward:before, .icon-share-alt:before { content: @share-alt; } .icon-resize-full:before { content: @resize-full; } .icon-resize-small:before { content: @resize-small; } .icon-plus:before { content: @plus; } .icon-minus:before { content: @minus; } .icon-asterisk:before { content: @asterisk; } .icon-exclamation-sign:before { content: @exclamation-sign; } .icon-gift:before { content: @gift; } .icon-leaf:before { content: @leaf; } .icon-fire:before { content: @fire; } .icon-eye-open:before { content: @eye-open; } .icon-eye-close:before { content: @eye-close; } .icon-warning-sign:before { content: @warning-sign; } .icon-plane:before { content: @plane; } .icon-calendar:before { content: @calendar; } .icon-random:before { content: @random; } .icon-comment:before { content: @comment; } .icon-magnet:before { content: @magnet; } .icon-chevron-up:before { content: @chevron-up; } .icon-chevron-down:before { content: @chevron-down; } .icon-retweet:before { content: @retweet; } .icon-shopping-cart:before { content: @shopping-cart; } .icon-folder-close:before { content: @folder-close; } .icon-folder-open:before { content: @folder-open; } .icon-resize-vertical:before { content: @resize-vertical; } .icon-resize-horizontal:before { content: @resize-horizontal; } .icon-bar-chart:before { content: @bar-chart; } .icon-twitter-sign:before { content: @twitter-sign; } .icon-facebook-sign:before { content: @facebook-sign; } .icon-camera-retro:before { content: @camera-retro; } .icon-key:before { content: @key; } .icon-gears:before, .icon-cogs:before { content: @cogs; } .icon-comments:before { content: @comments; } .icon-thumbs-up-alt:before { content: @thumbs-up-alt; } .icon-thumbs-down-alt:before { content: @thumbs-down-alt; } .icon-star-half:before { content: @star-half; } .icon-heart-empty:before { content: @heart-empty; } .icon-signout:before { content: @signout; } .icon-linkedin-sign:before { content: @linkedin-sign; } .icon-pushpin:before { content: @pushpin; } .icon-external-link:before { content: @external-link; } .icon-signin:before { content: @signin; } .icon-trophy:before { content: @trophy; } .icon-github-sign:before { content: @github-sign; } .icon-upload-alt:before { content: @upload-alt; } .icon-lemon:before { content: @lemon; } .icon-phone:before { content: @phone; } .icon-unchecked:before, .icon-check-empty:before { content: @check-empty; } .icon-bookmark-empty:before { content: @bookmark-empty; } .icon-phone-sign:before { content: @phone-sign; } .icon-twitter:before { content: @twitter; } .icon-facebook:before { content: @facebook; } .icon-github:before { content: @github; } .icon-unlock:before { content: @unlock; } .icon-credit-card:before { content: @credit-card; } .icon-rss:before { content: @rss; } .icon-hdd:before { content: @hdd; } .icon-bullhorn:before { content: @bullhorn; } .icon-bell:before { content: @bell; } .icon-certificate:before { content: @certificate; } .icon-hand-right:before { content: @hand-right; } .icon-hand-left:before { content: @hand-left; } .icon-hand-up:before { content: @hand-up; } .icon-hand-down:before { content: @hand-down; } .icon-circle-arrow-left:before { content: @circle-arrow-left; } .icon-circle-arrow-right:before { content: @circle-arrow-right; } .icon-circle-arrow-up:before { content: @circle-arrow-up; } .icon-circle-arrow-down:before { content: @circle-arrow-down; } .icon-globe:before { content: @globe; } .icon-wrench:before { content: @wrench; } .icon-tasks:before { content: @tasks; } .icon-filter:before { content: @filter; } .icon-briefcase:before { content: @briefcase; } .icon-fullscreen:before { content: @fullscreen; } .icon-group:before { content: @group; } .icon-link:before { content: @link; } .icon-cloud:before { content: @cloud; } .icon-beaker:before { content: @beaker; } .icon-cut:before { content: @cut; } .icon-copy:before { content: @copy; } .icon-paperclip:before, .icon-paper-clip:before { content: @paper-clip; } .icon-save:before { content: @save; } .icon-sign-blank:before { content: @sign-blank; } .icon-reorder:before { content: @reorder; } .icon-list-ul:before { content: @list-ul; } .icon-list-ol:before { content: @list-ol; } .icon-strikethrough:before { content: @strikethrough; } .icon-underline:before { content: @underline; } .icon-table:before { content: @table; } .icon-magic:before { content: @magic; } .icon-truck:before { content: @truck; } .icon-pinterest:before { content: @pinterest; } .icon-pinterest-sign:before { content: @pinterest-sign; } .icon-google-plus-sign:before { content: @google-plus-sign; } .icon-google-plus:before { content: @google-plus; } .icon-money:before { content: @money; } .icon-caret-down:before { content: @caret-down; } .icon-caret-up:before { content: @caret-up; } .icon-caret-left:before { content: @caret-left; } .icon-caret-right:before { content: @caret-right; } .icon-columns:before { content: @columns; } .icon-sort:before { content: @sort; } .icon-sort-down:before { content: @sort-down; } .icon-sort-up:before { content: @sort-up; } .icon-envelope:before { content: @envelope; } .icon-linkedin:before { content: @linkedin; } .icon-rotate-left:before, .icon-undo:before { content: @undo; } .icon-legal:before { content: @legal; } .icon-dashboard:before { content: @dashboard; } .icon-comment-alt:before { content: @comment-alt; } .icon-comments-alt:before { content: @comments-alt; } .icon-bolt:before { content: @bolt; } .icon-sitemap:before { content: @sitemap; } .icon-umbrella:before { content: @umbrella; } .icon-paste:before { content: @paste; } .icon-lightbulb:before { content: @lightbulb; } .icon-exchange:before { content: @exchange; } .icon-cloud-download:before { content: @cloud-download; } .icon-cloud-upload:before { content: @cloud-upload; } .icon-user-md:before { content: @user-md; } .icon-stethoscope:before { content: @stethoscope; } .icon-suitcase:before { content: @suitcase; } .icon-bell-alt:before { content: @bell-alt; } .icon-coffee:before { content: @coffee; } .icon-food:before { content: @food; } .icon-file-text-alt:before { content: @file-text-alt; } .icon-building:before { content: @building; } .icon-hospital:before { content: @hospital; } .icon-ambulance:before { content: @ambulance; } .icon-medkit:before { content: @medkit; } .icon-fighter-jet:before { content: @fighter-jet; } .icon-beer:before { content: @beer; } .icon-h-sign:before { content: @h-sign; } .icon-plus-sign-alt:before { content: @plus-sign-alt; } .icon-double-angle-left:before { content: @double-angle-left; } .icon-double-angle-right:before { content: @double-angle-right; } .icon-double-angle-up:before { content: @double-angle-up; } .icon-double-angle-down:before { content: @double-angle-down; } .icon-angle-left:before { content: @angle-left; } .icon-angle-right:before { content: @angle-right; } .icon-angle-up:before { content: @angle-up; } .icon-angle-down:before { content: @angle-down; } .icon-desktop:before { content: @desktop; } .icon-laptop:before { content: @laptop; } .icon-tablet:before { content: @tablet; } .icon-mobile-phone:before { content: @mobile-phone; } .icon-circle-blank:before { content: @circle-blank; } .icon-quote-left:before { content: @quote-left; } .icon-quote-right:before { content: @quote-right; } .icon-spinner:before { content: @spinner; } .icon-circle:before { content: @circle; } .icon-mail-reply:before, .icon-reply:before { content: @reply; } .icon-github-alt:before { content: @github-alt; } .icon-folder-close-alt:before { content: @folder-close-alt; } .icon-folder-open-alt:before { content: @folder-open-alt; } .icon-expand-alt:before { content: @expand-alt; } .icon-collapse-alt:before { content: @collapse-alt; } .icon-smile:before { content: @smile; } .icon-frown:before { content: @frown; } .icon-meh:before { content: @meh; } .icon-gamepad:before { content: @gamepad; } .icon-keyboard:before { content: @keyboard; } .icon-flag-alt:before { content: @flag-alt; } .icon-flag-checkered:before { content: @flag-checkered; } .icon-terminal:before { content: @terminal; } .icon-code:before { content: @code; } .icon-reply-all:before { content: @reply-all; } .icon-mail-reply-all:before { content: @mail-reply-all; } .icon-star-half-full:before, .icon-star-half-empty:before { content: @star-half-empty; } .icon-location-arrow:before { content: @location-arrow; } .icon-crop:before { content: @crop; } .icon-code-fork:before { content: @code-fork; } .icon-unlink:before { content: @unlink; } .icon-question:before { content: @question; } .icon-info:before { content: @info; } .icon-exclamation:before { content: @exclamation; } .icon-superscript:before { content: @superscript; } .icon-subscript:before { content: @subscript; } .icon-eraser:before { content: @eraser; } .icon-puzzle-piece:before { content: @puzzle-piece; } .icon-microphone:before { content: @microphone; } .icon-microphone-off:before { content: @microphone-off; } .icon-shield:before { content: @shield; } .icon-calendar-empty:before { content: @calendar-empty; } .icon-fire-extinguisher:before { content: @fire-extinguisher; } .icon-rocket:before { content: @rocket; } .icon-maxcdn:before { content: @maxcdn; } .icon-chevron-sign-left:before { content: @chevron-sign-left; } .icon-chevron-sign-right:before { content: @chevron-sign-right; } .icon-chevron-sign-up:before { content: @chevron-sign-up; } .icon-chevron-sign-down:before { content: @chevron-sign-down; } .icon-html5:before { content: @html5; } .icon-css3:before { content: @css3; } .icon-anchor:before { content: @anchor; } .icon-unlock-alt:before { content: @unlock-alt; } .icon-bullseye:before { content: @bullseye; } .icon-ellipsis-horizontal:before { content: @ellipsis-horizontal; } .icon-ellipsis-vertical:before { content: @ellipsis-vertical; } .icon-rss-sign:before { content: @rss-sign; } .icon-play-sign:before { content: @play-sign; } .icon-ticket:before { content: @ticket; } .icon-minus-sign-alt:before { content: @minus-sign-alt; } .icon-check-minus:before { content: @check-minus; } .icon-level-up:before { content: @level-up; } .icon-level-down:before { content: @level-down; } .icon-check-sign:before { content: @check-sign; } .icon-edit-sign:before { content: @edit-sign; } .icon-external-link-sign:before { content: @external-link-sign; } .icon-share-sign:before { content: @share-sign; } .icon-compass:before { content: @compass; } .icon-collapse:before { content: @collapse; } .icon-collapse-top:before { content: @collapse-top; } .icon-expand:before { content: @expand; } .icon-euro:before, .icon-eur:before { content: @eur; } .icon-gbp:before { content: @gbp; } .icon-dollar:before, .icon-usd:before { content: @usd; } .icon-rupee:before, .icon-inr:before { content: @inr; } .icon-yen:before, .icon-jpy:before { content: @jpy; } .icon-renminbi:before, .icon-cny:before { content: @cny; } .icon-won:before, .icon-krw:before { content: @krw; } .icon-bitcoin:before, .icon-btc:before { content: @btc; } .icon-file:before { content: @file; } .icon-file-text:before { content: @file-text; } .icon-sort-by-alphabet:before { content: @sort-by-alphabet; } .icon-sort-by-alphabet-alt:before { content: @sort-by-alphabet-alt; } .icon-sort-by-attributes:before { content: @sort-by-attributes; } .icon-sort-by-attributes-alt:before { content: @sort-by-attributes-alt; } .icon-sort-by-order:before { content: @sort-by-order; } .icon-sort-by-order-alt:before { content: @sort-by-order-alt; } .icon-thumbs-up:before { content: @thumbs-up; } .icon-thumbs-down:before { content: @thumbs-down; } .icon-youtube-sign:before { content: @youtube-sign; } .icon-youtube:before { content: @youtube; } .icon-xing:before { content: @xing; } .icon-xing-sign:before { content: @xing-sign; } .icon-youtube-play:before { content: @youtube-play; } .icon-dropbox:before { content: @dropbox; } .icon-stackexchange:before { content: @stackexchange; } .icon-instagram:before { content: @instagram; } .icon-flickr:before { content: @flickr; } .icon-adn:before { content: @adn; } .icon-bitbucket:before { content: @bitbucket; } .icon-bitbucket-sign:before { content: @bitbucket-sign; } .icon-tumblr:before { content: @tumblr; } .icon-tumblr-sign:before { content: @tumblr-sign; } .icon-long-arrow-down:before { content: @long-arrow-down; } .icon-long-arrow-up:before { content: @long-arrow-up; } .icon-long-arrow-left:before { content: @long-arrow-left; } .icon-long-arrow-right:before { content: @long-arrow-right; } .icon-apple:before { content: @apple; } .icon-windows:before { content: @windows; } .icon-android:before { content: @android; } .icon-linux:before { content: @linux; } .icon-dribbble:before { content: @dribbble; } .icon-skype:before { content: @skype; } .icon-foursquare:before { content: @foursquare; } .icon-trello:before { content: @trello; } .icon-female:before { content: @female; } .icon-male:before { content: @male; } .icon-gittip:before { content: @gittip; } .icon-sun:before { content: @sun; } .icon-moon:before { content: @moon; } .icon-archive:before { content: @archive; } .icon-bug:before { content: @bug; } .icon-vk:before { content: @vk; } .icon-weibo:before { content: @weibo; } .icon-renren:before { content: @renren; } ================================================ FILE: automatic/static/css/font-awesome/less/larger.less ================================================ // Icon Sizes // ------------------------- /* makes the font 33% larger relative to the icon container */ .@{fa-css-prefix}-lg { font-size: (4em / 3); line-height: (3em / 4); vertical-align: -15%; } .@{fa-css-prefix}-2x { font-size: 2em; } .@{fa-css-prefix}-3x { font-size: 3em; } .@{fa-css-prefix}-4x { font-size: 4em; } .@{fa-css-prefix}-5x { font-size: 5em; } ================================================ FILE: automatic/static/css/font-awesome/less/list.less ================================================ // List Icons // ------------------------- .@{fa-css-prefix}-ul { padding-left: 0; margin-left: @fa-li-width; list-style-type: none; > li { position: relative; } } .@{fa-css-prefix}-li { position: absolute; left: -@fa-li-width; width: @fa-li-width; top: (2em / 14); text-align: center; &.@{fa-css-prefix}-lg { left: (-@fa-li-width + (4em / 14)); } } ================================================ FILE: automatic/static/css/font-awesome/less/mixins.less ================================================ // Mixins // -------------------------- .icon(@icon) { .icon-FontAwesome(); content: @icon; } .icon-FontAwesome() { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; *margin-right: .3em; // fixes ie7 issues } .border-radius(@radius) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; } .icon-stack(@width: 2em, @height: 2em, @top-font-size: 1em, @base-font-size: 2em) { .icon-stack { position: relative; display: inline-block; width: @width; height: @height; line-height: @width; vertical-align: -35%; [class^="icon-"], [class*=" icon-"] { display: block; text-align: center; position: absolute; width: 100%; height: 100%; font-size: @top-font-size; line-height: inherit; *line-height: @height; } .icon-stack-base { font-size: @base-font-size; *line-height: @height / @base-font-size; } } } ================================================ FILE: automatic/static/css/font-awesome/less/path.less ================================================ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('@{FontAwesomePath}/fontawesome-webfont.eot?v=@{FontAwesomeVersion}'); src: url('@{FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=@{FontAwesomeVersion}') format('embedded-opentype'), url('@{FontAwesomePath}/fontawesome-webfont.woff?v=@{FontAwesomeVersion}') format('woff'), url('@{FontAwesomePath}/fontawesome-webfont.ttf?v=@{FontAwesomeVersion}') format('truetype'), url('@{FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=@{FontAwesomeVersion}') format('svg'); // src: url('@{FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } ================================================ FILE: automatic/static/css/font-awesome/less/rotated-flipped.less ================================================ // Rotated & Flipped Icons // ------------------------- .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } // Hook for IE8-9 // ------------------------- :root .@{fa-css-prefix}-rotate-90, :root .@{fa-css-prefix}-rotate-180, :root .@{fa-css-prefix}-rotate-270, :root .@{fa-css-prefix}-flip-horizontal, :root .@{fa-css-prefix}-flip-vertical { filter: none; } ================================================ FILE: automatic/static/css/font-awesome/less/stacked.less ================================================ // Stacked Icons // ------------------------- .@{fa-css-prefix}-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .@{fa-css-prefix}-stack-1x { line-height: inherit; } .@{fa-css-prefix}-stack-2x { font-size: 2em; } .@{fa-css-prefix}-inverse { color: @fa-inverse; } ================================================ FILE: automatic/static/css/font-awesome/less/variables.less ================================================ // Variables // -------------------------- @FontAwesomePath: "../font"; //@FontAwesomePath: "//netdna.bootstrapcdn.com/font-awesome/3.2.1/font"; // for referencing Bootstrap CDN font files directly @FontAwesomeVersion: "3.2.1"; @borderColor: #eee; @iconMuted: #eee; @iconLight: #fff; @iconDark: #333; @icons-li-width: 30/14em; @glass: "\f000"; @music: "\f001"; @search: "\f002"; @envelope-alt: "\f003"; @heart: "\f004"; @star: "\f005"; @star-empty: "\f006"; @user: "\f007"; @film: "\f008"; @th-large: "\f009"; @th: "\f00a"; @th-list: "\f00b"; @ok: "\f00c"; @remove: "\f00d"; @zoom-in: "\f00e"; @zoom-out: "\f010"; @off: "\f011"; @signal: "\f012"; @cog: "\f013"; @trash: "\f014"; @home: "\f015"; @file-alt: "\f016"; @time: "\f017"; @road: "\f018"; @download-alt: "\f019"; @download: "\f01a"; @upload: "\f01b"; @inbox: "\f01c"; @play-circle: "\f01d"; @repeat: "\f01e"; @refresh: "\f021"; @list-alt: "\f022"; @lock: "\f023"; @flag: "\f024"; @headphones: "\f025"; @volume-off: "\f026"; @volume-down: "\f027"; @volume-up: "\f028"; @qrcode: "\f029"; @barcode: "\f02a"; @tag: "\f02b"; @tags: "\f02c"; @book: "\f02d"; @bookmark: "\f02e"; @print: "\f02f"; @camera: "\f030"; @font: "\f031"; @bold: "\f032"; @italic: "\f033"; @text-height: "\f034"; @text-width: "\f035"; @align-left: "\f036"; @align-center: "\f037"; @align-right: "\f038"; @align-justify: "\f039"; @list: "\f03a"; @indent-left: "\f03b"; @indent-right: "\f03c"; @facetime-video: "\f03d"; @picture: "\f03e"; @pencil: "\f040"; @map-marker: "\f041"; @adjust: "\f042"; @tint: "\f043"; @edit: "\f044"; @share: "\f045"; @check: "\f046"; @move: "\f047"; @step-backward: "\f048"; @fast-backward: "\f049"; @backward: "\f04a"; @play: "\f04b"; @pause: "\f04c"; @stop: "\f04d"; @forward: "\f04e"; @fast-forward: "\f050"; @step-forward: "\f051"; @eject: "\f052"; @chevron-left: "\f053"; @chevron-right: "\f054"; @plus-sign: "\f055"; @minus-sign: "\f056"; @remove-sign: "\f057"; @ok-sign: "\f058"; @question-sign: "\f059"; @info-sign: "\f05a"; @screenshot: "\f05b"; @remove-circle: "\f05c"; @ok-circle: "\f05d"; @ban-circle: "\f05e"; @arrow-left: "\f060"; @arrow-right: "\f061"; @arrow-up: "\f062"; @arrow-down: "\f063"; @share-alt: "\f064"; @resize-full: "\f065"; @resize-small: "\f066"; @plus: "\f067"; @minus: "\f068"; @asterisk: "\f069"; @exclamation-sign: "\f06a"; @gift: "\f06b"; @leaf: "\f06c"; @fire: "\f06d"; @eye-open: "\f06e"; @eye-close: "\f070"; @warning-sign: "\f071"; @plane: "\f072"; @calendar: "\f073"; @random: "\f074"; @comment: "\f075"; @magnet: "\f076"; @chevron-up: "\f077"; @chevron-down: "\f078"; @retweet: "\f079"; @shopping-cart: "\f07a"; @folder-close: "\f07b"; @folder-open: "\f07c"; @resize-vertical: "\f07d"; @resize-horizontal: "\f07e"; @bar-chart: "\f080"; @twitter-sign: "\f081"; @facebook-sign: "\f082"; @camera-retro: "\f083"; @key: "\f084"; @cogs: "\f085"; @comments: "\f086"; @thumbs-up-alt: "\f087"; @thumbs-down-alt: "\f088"; @star-half: "\f089"; @heart-empty: "\f08a"; @signout: "\f08b"; @linkedin-sign: "\f08c"; @pushpin: "\f08d"; @external-link: "\f08e"; @signin: "\f090"; @trophy: "\f091"; @github-sign: "\f092"; @upload-alt: "\f093"; @lemon: "\f094"; @phone: "\f095"; @check-empty: "\f096"; @bookmark-empty: "\f097"; @phone-sign: "\f098"; @twitter: "\f099"; @facebook: "\f09a"; @github: "\f09b"; @unlock: "\f09c"; @credit-card: "\f09d"; @rss: "\f09e"; @hdd: "\f0a0"; @bullhorn: "\f0a1"; @bell: "\f0a2"; @certificate: "\f0a3"; @hand-right: "\f0a4"; @hand-left: "\f0a5"; @hand-up: "\f0a6"; @hand-down: "\f0a7"; @circle-arrow-left: "\f0a8"; @circle-arrow-right: "\f0a9"; @circle-arrow-up: "\f0aa"; @circle-arrow-down: "\f0ab"; @globe: "\f0ac"; @wrench: "\f0ad"; @tasks: "\f0ae"; @filter: "\f0b0"; @briefcase: "\f0b1"; @fullscreen: "\f0b2"; @group: "\f0c0"; @link: "\f0c1"; @cloud: "\f0c2"; @beaker: "\f0c3"; @cut: "\f0c4"; @copy: "\f0c5"; @paper-clip: "\f0c6"; @save: "\f0c7"; @sign-blank: "\f0c8"; @reorder: "\f0c9"; @list-ul: "\f0ca"; @list-ol: "\f0cb"; @strikethrough: "\f0cc"; @underline: "\f0cd"; @table: "\f0ce"; @magic: "\f0d0"; @truck: "\f0d1"; @pinterest: "\f0d2"; @pinterest-sign: "\f0d3"; @google-plus-sign: "\f0d4"; @google-plus: "\f0d5"; @money: "\f0d6"; @caret-down: "\f0d7"; @caret-up: "\f0d8"; @caret-left: "\f0d9"; @caret-right: "\f0da"; @columns: "\f0db"; @sort: "\f0dc"; @sort-down: "\f0dd"; @sort-up: "\f0de"; @envelope: "\f0e0"; @linkedin: "\f0e1"; @undo: "\f0e2"; @legal: "\f0e3"; @dashboard: "\f0e4"; @comment-alt: "\f0e5"; @comments-alt: "\f0e6"; @bolt: "\f0e7"; @sitemap: "\f0e8"; @umbrella: "\f0e9"; @paste: "\f0ea"; @lightbulb: "\f0eb"; @exchange: "\f0ec"; @cloud-download: "\f0ed"; @cloud-upload: "\f0ee"; @user-md: "\f0f0"; @stethoscope: "\f0f1"; @suitcase: "\f0f2"; @bell-alt: "\f0f3"; @coffee: "\f0f4"; @food: "\f0f5"; @file-text-alt: "\f0f6"; @building: "\f0f7"; @hospital: "\f0f8"; @ambulance: "\f0f9"; @medkit: "\f0fa"; @fighter-jet: "\f0fb"; @beer: "\f0fc"; @h-sign: "\f0fd"; @plus-sign-alt: "\f0fe"; @double-angle-left: "\f100"; @double-angle-right: "\f101"; @double-angle-up: "\f102"; @double-angle-down: "\f103"; @angle-left: "\f104"; @angle-right: "\f105"; @angle-up: "\f106"; @angle-down: "\f107"; @desktop: "\f108"; @laptop: "\f109"; @tablet: "\f10a"; @mobile-phone: "\f10b"; @circle-blank: "\f10c"; @quote-left: "\f10d"; @quote-right: "\f10e"; @spinner: "\f110"; @circle: "\f111"; @reply: "\f112"; @github-alt: "\f113"; @folder-close-alt: "\f114"; @folder-open-alt: "\f115"; @expand-alt: "\f116"; @collapse-alt: "\f117"; @smile: "\f118"; @frown: "\f119"; @meh: "\f11a"; @gamepad: "\f11b"; @keyboard: "\f11c"; @flag-alt: "\f11d"; @flag-checkered: "\f11e"; @terminal: "\f120"; @code: "\f121"; @reply-all: "\f122"; @mail-reply-all: "\f122"; @star-half-empty: "\f123"; @location-arrow: "\f124"; @crop: "\f125"; @code-fork: "\f126"; @unlink: "\f127"; @question: "\f128"; @info: "\f129"; @exclamation: "\f12a"; @superscript: "\f12b"; @subscript: "\f12c"; @eraser: "\f12d"; @puzzle-piece: "\f12e"; @microphone: "\f130"; @microphone-off: "\f131"; @shield: "\f132"; @calendar-empty: "\f133"; @fire-extinguisher: "\f134"; @rocket: "\f135"; @maxcdn: "\f136"; @chevron-sign-left: "\f137"; @chevron-sign-right: "\f138"; @chevron-sign-up: "\f139"; @chevron-sign-down: "\f13a"; @html5: "\f13b"; @css3: "\f13c"; @anchor: "\f13d"; @unlock-alt: "\f13e"; @bullseye: "\f140"; @ellipsis-horizontal: "\f141"; @ellipsis-vertical: "\f142"; @rss-sign: "\f143"; @play-sign: "\f144"; @ticket: "\f145"; @minus-sign-alt: "\f146"; @check-minus: "\f147"; @level-up: "\f148"; @level-down: "\f149"; @check-sign: "\f14a"; @edit-sign: "\f14b"; @external-link-sign: "\f14c"; @share-sign: "\f14d"; @compass: "\f14e"; @collapse: "\f150"; @collapse-top: "\f151"; @expand: "\f152"; @eur: "\f153"; @gbp: "\f154"; @usd: "\f155"; @inr: "\f156"; @jpy: "\f157"; @cny: "\f158"; @krw: "\f159"; @btc: "\f15a"; @file: "\f15b"; @file-text: "\f15c"; @sort-by-alphabet: "\f15d"; @sort-by-alphabet-alt: "\f15e"; @sort-by-attributes: "\f160"; @sort-by-attributes-alt: "\f161"; @sort-by-order: "\f162"; @sort-by-order-alt: "\f163"; @thumbs-up: "\f164"; @thumbs-down: "\f165"; @youtube-sign: "\f166"; @youtube: "\f167"; @xing: "\f168"; @xing-sign: "\f169"; @youtube-play: "\f16a"; @dropbox: "\f16b"; @stackexchange: "\f16c"; @instagram: "\f16d"; @flickr: "\f16e"; @adn: "\f170"; @bitbucket: "\f171"; @bitbucket-sign: "\f172"; @tumblr: "\f173"; @tumblr-sign: "\f174"; @long-arrow-down: "\f175"; @long-arrow-up: "\f176"; @long-arrow-left: "\f177"; @long-arrow-right: "\f178"; @apple: "\f179"; @windows: "\f17a"; @android: "\f17b"; @linux: "\f17c"; @dribbble: "\f17d"; @skype: "\f17e"; @foursquare: "\f180"; @trello: "\f181"; @female: "\f182"; @male: "\f183"; @gittip: "\f184"; @sun: "\f185"; @moon: "\f186"; @archive: "\f187"; @bug: "\f188"; @vk: "\f189"; @weibo: "\f18a"; @renren: "\f18b"; ================================================ FILE: automatic/static/css/font-awesome/scss/_animated.scss ================================================ // Spinning Icons // -------------------------- .#{$fa-css-prefix}-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .#{$fa-css-prefix}-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ================================================ FILE: automatic/static/css/font-awesome/scss/_bootstrap.scss ================================================ /* BOOTSTRAP SPECIFIC CLASSES * -------------------------- */ /* Bootstrap 2.0 sprites.less reset */ [class^="icon-"], [class*=" icon-"] { display: inline; width: auto; height: auto; line-height: normal; vertical-align: baseline; background-image: none; background-position: 0% 0%; background-repeat: repeat; margin-top: 0; } /* more sprites.less reset */ .icon-white, .nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class*=" icon-"], .nav-list > .active > a > [class^="icon-"], .nav-list > .active > a > [class*=" icon-"], .navbar-inverse .nav > .active > a > [class^="icon-"], .navbar-inverse .nav > .active > a > [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], .dropdown-menu > .active > a > [class*=" icon-"], .dropdown-submenu:hover > a > [class^="icon-"], .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: none; } /* keeps Bootstrap styles with and without icons the same */ .btn, .nav { [class^="icon-"], [class*=" icon-"] { // display: inline; &.icon-large { line-height: .9em; } &.icon-spin { display: inline-block; } } } .nav-tabs, .nav-pills { [class^="icon-"], [class*=" icon-"] { &, &.icon-large { line-height: .9em; } } } .btn { [class^="icon-"], [class*=" icon-"] { &.pull-left, &.pull-right { &.icon-2x { margin-top: .18em; } } &.icon-spin.icon-large { line-height: .8em; } } } .btn.btn-small { [class^="icon-"], [class*=" icon-"] { &.pull-left, &.pull-right { &.icon-2x { margin-top: .25em; } } } } .btn.btn-large { [class^="icon-"], [class*=" icon-"] { margin-top: 0; // overrides bootstrap default &.pull-left, &.pull-right { &.icon-2x { margin-top: .05em; } } &.pull-left.icon-2x { margin-right: .2em; } &.pull-right.icon-2x { margin-left: .2em; } } } /* Fixes alignment in nav lists */ .nav-list [class^="icon-"], .nav-list [class*=" icon-"] { line-height: inherit; } ================================================ FILE: automatic/static/css/font-awesome/scss/_bordered-pulled.scss ================================================ // Bordered & Pulled // ------------------------- .#{$fa-css-prefix}-border { padding: .2em .25em .15em; border: solid .08em $fa-border-color; border-radius: .1em; } .pull-right { float: right; } .pull-left { float: left; } .#{$fa-css-prefix} { &.pull-left { margin-right: .3em; } &.pull-right { margin-left: .3em; } } ================================================ FILE: automatic/static/css/font-awesome/scss/_core.scss ================================================ /* FONT AWESOME CORE * -------------------------- */ [class^="icon-"], [class*=" icon-"] { @include icon-FontAwesome(); } [class^="icon-"]:before, [class*=" icon-"]:before { text-decoration: inherit; display: inline-block; speak: none; } /* makes the font 33% larger relative to the icon container */ .icon-large:before { vertical-align: -10%; font-size: (4em/3); } /* makes sure icons active on rollover in links */ a { [class^="icon-"], [class*=" icon-"] { display: inline; } } /* increased font size for icon-large */ [class^="icon-"], [class*=" icon-"] { &.icon-fixed-width { display: inline-block; width: (16em/14); text-align: right; padding-right: (4em/14); &.icon-large { width: (20em/14); } } } .icons-ul { margin-left: $icons-li-width; list-style-type: none; > li { position: relative; } .icon-li { position: absolute; left: -$icons-li-width; width: $icons-li-width; text-align: center; line-height: inherit; } } // allows usage of the hide class directly on font awesome icons [class^="icon-"], [class*=" icon-"] { &.hide { display: none; } } .icon-muted { color: $iconMuted; } .icon-light { color: $iconLight; } .icon-dark { color: $iconDark; } // Icon Borders // ------------------------- .icon-border { border: solid 1px $borderColor; padding: .2em .25em .15em; @include border-radius(3px); } // Icon Sizes // ------------------------- .icon-2x { font-size: 2em; &.icon-border { border-width: 2px; @include border-radius(4px); } } .icon-3x { font-size: 3em; &.icon-border { border-width: 3px; @include border-radius(5px); } } .icon-4x { font-size: 4em; &.icon-border { border-width: 4px; @include border-radius(6px); } } .icon-5x { font-size: 5em; &.icon-border { border-width: 5px; @include border-radius(7px); } } // Floats & Margins // ------------------------- // Quick floats .pull-right { float: right; } .pull-left { float: left; } [class^="icon-"], [class*=" icon-"] { &.pull-left { margin-right: .3em; } &.pull-right { margin-left: .3em; } } ================================================ FILE: automatic/static/css/font-awesome/scss/_extras.scss ================================================ /* EXTRAS * -------------------------- */ /* Stacked and layered icon */ @include icon-stack(); /* Animated rotating icon */ .icon-spin { display: inline-block; -moz-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; -webkit-animation: spin 2s infinite linear; animation: spin 2s infinite linear; } /* Prevent stack and spinners from being taken inline when inside a link */ a .icon-stack, a .icon-spin { display: inline-block; text-decoration: none; } @-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); } 100% { -moz-transform: rotate(359deg); } } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); } } @-o-keyframes spin { 0% { -o-transform: rotate(0deg); } 100% { -o-transform: rotate(359deg); } } @-ms-keyframes spin { 0% { -ms-transform: rotate(0deg); } 100% { -ms-transform: rotate(359deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } /* Icon rotations and mirroring */ .icon-rotate-90:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); } .icon-rotate-180:before { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); } .icon-rotate-270:before { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } .icon-flip-horizontal:before { -webkit-transform: scale(-1, 1); -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -o-transform: scale(-1, 1); transform: scale(-1, 1); } .icon-flip-vertical:before { -webkit-transform: scale(1, -1); -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); -o-transform: scale(1, -1); transform: scale(1, -1); } /* ensure rotation occurs inside anchor tags */ a { .icon-rotate-90, .icon-rotate-180, .icon-rotate-270, .icon-flip-horizontal, .icon-flip-vertical { &:before { display: inline-block; } } } ================================================ FILE: automatic/static/css/font-awesome/scss/_fixed-width.scss ================================================ // Fixed Width Icons // ------------------------- .#{$fa-css-prefix}-fw { width: (18em / 14); text-align: center; } ================================================ FILE: automatic/static/css/font-awesome/scss/_icons.scss ================================================ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen * readers do not read off random characters that represent icons */ .icon-glass:before { content: $glass; } .icon-music:before { content: $music; } .icon-search:before { content: $search; } .icon-envelope-alt:before { content: $envelope-alt; } .icon-heart:before { content: $heart; } .icon-star:before { content: $star; } .icon-star-empty:before { content: $star-empty; } .icon-user:before { content: $user; } .icon-film:before { content: $film; } .icon-th-large:before { content: $th-large; } .icon-th:before { content: $th; } .icon-th-list:before { content: $th-list; } .icon-ok:before { content: $ok; } .icon-remove:before { content: $remove; } .icon-zoom-in:before { content: $zoom-in; } .icon-zoom-out:before { content: $zoom-out; } .icon-power-off:before, .icon-off:before { content: $off; } .icon-signal:before { content: $signal; } .icon-gear:before, .icon-cog:before { content: $cog; } .icon-trash:before { content: $trash; } .icon-home:before { content: $home; } .icon-file-alt:before { content: $file-alt; } .icon-time:before { content: $time; } .icon-road:before { content: $road; } .icon-download-alt:before { content: $download-alt; } .icon-download:before { content: $download; } .icon-upload:before { content: $upload; } .icon-inbox:before { content: $inbox; } .icon-play-circle:before { content: $play-circle; } .icon-rotate-right:before, .icon-repeat:before { content: $repeat; } .icon-refresh:before { content: $refresh; } .icon-list-alt:before { content: $list-alt; } .icon-lock:before { content: $lock; } .icon-flag:before { content: $flag; } .icon-headphones:before { content: $headphones; } .icon-volume-off:before { content: $volume-off; } .icon-volume-down:before { content: $volume-down; } .icon-volume-up:before { content: $volume-up; } .icon-qrcode:before { content: $qrcode; } .icon-barcode:before { content: $barcode; } .icon-tag:before { content: $tag; } .icon-tags:before { content: $tags; } .icon-book:before { content: $book; } .icon-bookmark:before { content: $bookmark; } .icon-print:before { content: $print; } .icon-camera:before { content: $camera; } .icon-font:before { content: $font; } .icon-bold:before { content: $bold; } .icon-italic:before { content: $italic; } .icon-text-height:before { content: $text-height; } .icon-text-width:before { content: $text-width; } .icon-align-left:before { content: $align-left; } .icon-align-center:before { content: $align-center; } .icon-align-right:before { content: $align-right; } .icon-align-justify:before { content: $align-justify; } .icon-list:before { content: $list; } .icon-indent-left:before { content: $indent-left; } .icon-indent-right:before { content: $indent-right; } .icon-facetime-video:before { content: $facetime-video; } .icon-picture:before { content: $picture; } .icon-pencil:before { content: $pencil; } .icon-map-marker:before { content: $map-marker; } .icon-adjust:before { content: $adjust; } .icon-tint:before { content: $tint; } .icon-edit:before { content: $edit; } .icon-share:before { content: $share; } .icon-check:before { content: $check; } .icon-move:before { content: $move; } .icon-step-backward:before { content: $step-backward; } .icon-fast-backward:before { content: $fast-backward; } .icon-backward:before { content: $backward; } .icon-play:before { content: $play; } .icon-pause:before { content: $pause; } .icon-stop:before { content: $stop; } .icon-forward:before { content: $forward; } .icon-fast-forward:before { content: $fast-forward; } .icon-step-forward:before { content: $step-forward; } .icon-eject:before { content: $eject; } .icon-chevron-left:before { content: $chevron-left; } .icon-chevron-right:before { content: $chevron-right; } .icon-plus-sign:before { content: $plus-sign; } .icon-minus-sign:before { content: $minus-sign; } .icon-remove-sign:before { content: $remove-sign; } .icon-ok-sign:before { content: $ok-sign; } .icon-question-sign:before { content: $question-sign; } .icon-info-sign:before { content: $info-sign; } .icon-screenshot:before { content: $screenshot; } .icon-remove-circle:before { content: $remove-circle; } .icon-ok-circle:before { content: $ok-circle; } .icon-ban-circle:before { content: $ban-circle; } .icon-arrow-left:before { content: $arrow-left; } .icon-arrow-right:before { content: $arrow-right; } .icon-arrow-up:before { content: $arrow-up; } .icon-arrow-down:before { content: $arrow-down; } .icon-mail-forward:before, .icon-share-alt:before { content: $share-alt; } .icon-resize-full:before { content: $resize-full; } .icon-resize-small:before { content: $resize-small; } .icon-plus:before { content: $plus; } .icon-minus:before { content: $minus; } .icon-asterisk:before { content: $asterisk; } .icon-exclamation-sign:before { content: $exclamation-sign; } .icon-gift:before { content: $gift; } .icon-leaf:before { content: $leaf; } .icon-fire:before { content: $fire; } .icon-eye-open:before { content: $eye-open; } .icon-eye-close:before { content: $eye-close; } .icon-warning-sign:before { content: $warning-sign; } .icon-plane:before { content: $plane; } .icon-calendar:before { content: $calendar; } .icon-random:before { content: $random; } .icon-comment:before { content: $comment; } .icon-magnet:before { content: $magnet; } .icon-chevron-up:before { content: $chevron-up; } .icon-chevron-down:before { content: $chevron-down; } .icon-retweet:before { content: $retweet; } .icon-shopping-cart:before { content: $shopping-cart; } .icon-folder-close:before { content: $folder-close; } .icon-folder-open:before { content: $folder-open; } .icon-resize-vertical:before { content: $resize-vertical; } .icon-resize-horizontal:before { content: $resize-horizontal; } .icon-bar-chart:before { content: $bar-chart; } .icon-twitter-sign:before { content: $twitter-sign; } .icon-facebook-sign:before { content: $facebook-sign; } .icon-camera-retro:before { content: $camera-retro; } .icon-key:before { content: $key; } .icon-gears:before, .icon-cogs:before { content: $cogs; } .icon-comments:before { content: $comments; } .icon-thumbs-up-alt:before { content: $thumbs-up-alt; } .icon-thumbs-down-alt:before { content: $thumbs-down-alt; } .icon-star-half:before { content: $star-half; } .icon-heart-empty:before { content: $heart-empty; } .icon-signout:before { content: $signout; } .icon-linkedin-sign:before { content: $linkedin-sign; } .icon-pushpin:before { content: $pushpin; } .icon-external-link:before { content: $external-link; } .icon-signin:before { content: $signin; } .icon-trophy:before { content: $trophy; } .icon-github-sign:before { content: $github-sign; } .icon-upload-alt:before { content: $upload-alt; } .icon-lemon:before { content: $lemon; } .icon-phone:before { content: $phone; } .icon-unchecked:before, .icon-check-empty:before { content: $check-empty; } .icon-bookmark-empty:before { content: $bookmark-empty; } .icon-phone-sign:before { content: $phone-sign; } .icon-twitter:before { content: $twitter; } .icon-facebook:before { content: $facebook; } .icon-github:before { content: $github; } .icon-unlock:before { content: $unlock; } .icon-credit-card:before { content: $credit-card; } .icon-rss:before { content: $rss; } .icon-hdd:before { content: $hdd; } .icon-bullhorn:before { content: $bullhorn; } .icon-bell:before { content: $bell; } .icon-certificate:before { content: $certificate; } .icon-hand-right:before { content: $hand-right; } .icon-hand-left:before { content: $hand-left; } .icon-hand-up:before { content: $hand-up; } .icon-hand-down:before { content: $hand-down; } .icon-circle-arrow-left:before { content: $circle-arrow-left; } .icon-circle-arrow-right:before { content: $circle-arrow-right; } .icon-circle-arrow-up:before { content: $circle-arrow-up; } .icon-circle-arrow-down:before { content: $circle-arrow-down; } .icon-globe:before { content: $globe; } .icon-wrench:before { content: $wrench; } .icon-tasks:before { content: $tasks; } .icon-filter:before { content: $filter; } .icon-briefcase:before { content: $briefcase; } .icon-fullscreen:before { content: $fullscreen; } .icon-group:before { content: $group; } .icon-link:before { content: $link; } .icon-cloud:before { content: $cloud; } .icon-beaker:before { content: $beaker; } .icon-cut:before { content: $cut; } .icon-copy:before { content: $copy; } .icon-paperclip:before, .icon-paper-clip:before { content: $paper-clip; } .icon-save:before { content: $save; } .icon-sign-blank:before { content: $sign-blank; } .icon-reorder:before { content: $reorder; } .icon-list-ul:before { content: $list-ul; } .icon-list-ol:before { content: $list-ol; } .icon-strikethrough:before { content: $strikethrough; } .icon-underline:before { content: $underline; } .icon-table:before { content: $table; } .icon-magic:before { content: $magic; } .icon-truck:before { content: $truck; } .icon-pinterest:before { content: $pinterest; } .icon-pinterest-sign:before { content: $pinterest-sign; } .icon-google-plus-sign:before { content: $google-plus-sign; } .icon-google-plus:before { content: $google-plus; } .icon-money:before { content: $money; } .icon-caret-down:before { content: $caret-down; } .icon-caret-up:before { content: $caret-up; } .icon-caret-left:before { content: $caret-left; } .icon-caret-right:before { content: $caret-right; } .icon-columns:before { content: $columns; } .icon-sort:before { content: $sort; } .icon-sort-down:before { content: $sort-down; } .icon-sort-up:before { content: $sort-up; } .icon-envelope:before { content: $envelope; } .icon-linkedin:before { content: $linkedin; } .icon-rotate-left:before, .icon-undo:before { content: $undo; } .icon-legal:before { content: $legal; } .icon-dashboard:before { content: $dashboard; } .icon-comment-alt:before { content: $comment-alt; } .icon-comments-alt:before { content: $comments-alt; } .icon-bolt:before { content: $bolt; } .icon-sitemap:before { content: $sitemap; } .icon-umbrella:before { content: $umbrella; } .icon-paste:before { content: $paste; } .icon-lightbulb:before { content: $lightbulb; } .icon-exchange:before { content: $exchange; } .icon-cloud-download:before { content: $cloud-download; } .icon-cloud-upload:before { content: $cloud-upload; } .icon-user-md:before { content: $user-md; } .icon-stethoscope:before { content: $stethoscope; } .icon-suitcase:before { content: $suitcase; } .icon-bell-alt:before { content: $bell-alt; } .icon-coffee:before { content: $coffee; } .icon-food:before { content: $food; } .icon-file-text-alt:before { content: $file-text-alt; } .icon-building:before { content: $building; } .icon-hospital:before { content: $hospital; } .icon-ambulance:before { content: $ambulance; } .icon-medkit:before { content: $medkit; } .icon-fighter-jet:before { content: $fighter-jet; } .icon-beer:before { content: $beer; } .icon-h-sign:before { content: $h-sign; } .icon-plus-sign-alt:before { content: $plus-sign-alt; } .icon-double-angle-left:before { content: $double-angle-left; } .icon-double-angle-right:before { content: $double-angle-right; } .icon-double-angle-up:before { content: $double-angle-up; } .icon-double-angle-down:before { content: $double-angle-down; } .icon-angle-left:before { content: $angle-left; } .icon-angle-right:before { content: $angle-right; } .icon-angle-up:before { content: $angle-up; } .icon-angle-down:before { content: $angle-down; } .icon-desktop:before { content: $desktop; } .icon-laptop:before { content: $laptop; } .icon-tablet:before { content: $tablet; } .icon-mobile-phone:before { content: $mobile-phone; } .icon-circle-blank:before { content: $circle-blank; } .icon-quote-left:before { content: $quote-left; } .icon-quote-right:before { content: $quote-right; } .icon-spinner:before { content: $spinner; } .icon-circle:before { content: $circle; } .icon-mail-reply:before, .icon-reply:before { content: $reply; } .icon-github-alt:before { content: $github-alt; } .icon-folder-close-alt:before { content: $folder-close-alt; } .icon-folder-open-alt:before { content: $folder-open-alt; } .icon-expand-alt:before { content: $expand-alt; } .icon-collapse-alt:before { content: $collapse-alt; } .icon-smile:before { content: $smile; } .icon-frown:before { content: $frown; } .icon-meh:before { content: $meh; } .icon-gamepad:before { content: $gamepad; } .icon-keyboard:before { content: $keyboard; } .icon-flag-alt:before { content: $flag-alt; } .icon-flag-checkered:before { content: $flag-checkered; } .icon-terminal:before { content: $terminal; } .icon-code:before { content: $code; } .icon-reply-all:before { content: $reply-all; } .icon-mail-reply-all:before { content: $mail-reply-all; } .icon-star-half-full:before, .icon-star-half-empty:before { content: $star-half-empty; } .icon-location-arrow:before { content: $location-arrow; } .icon-crop:before { content: $crop; } .icon-code-fork:before { content: $code-fork; } .icon-unlink:before { content: $unlink; } .icon-question:before { content: $question; } .icon-info:before { content: $info; } .icon-exclamation:before { content: $exclamation; } .icon-superscript:before { content: $superscript; } .icon-subscript:before { content: $subscript; } .icon-eraser:before { content: $eraser; } .icon-puzzle-piece:before { content: $puzzle-piece; } .icon-microphone:before { content: $microphone; } .icon-microphone-off:before { content: $microphone-off; } .icon-shield:before { content: $shield; } .icon-calendar-empty:before { content: $calendar-empty; } .icon-fire-extinguisher:before { content: $fire-extinguisher; } .icon-rocket:before { content: $rocket; } .icon-maxcdn:before { content: $maxcdn; } .icon-chevron-sign-left:before { content: $chevron-sign-left; } .icon-chevron-sign-right:before { content: $chevron-sign-right; } .icon-chevron-sign-up:before { content: $chevron-sign-up; } .icon-chevron-sign-down:before { content: $chevron-sign-down; } .icon-html5:before { content: $html5; } .icon-css3:before { content: $css3; } .icon-anchor:before { content: $anchor; } .icon-unlock-alt:before { content: $unlock-alt; } .icon-bullseye:before { content: $bullseye; } .icon-ellipsis-horizontal:before { content: $ellipsis-horizontal; } .icon-ellipsis-vertical:before { content: $ellipsis-vertical; } .icon-rss-sign:before { content: $rss-sign; } .icon-play-sign:before { content: $play-sign; } .icon-ticket:before { content: $ticket; } .icon-minus-sign-alt:before { content: $minus-sign-alt; } .icon-check-minus:before { content: $check-minus; } .icon-level-up:before { content: $level-up; } .icon-level-down:before { content: $level-down; } .icon-check-sign:before { content: $check-sign; } .icon-edit-sign:before { content: $edit-sign; } .icon-external-link-sign:before { content: $external-link-sign; } .icon-share-sign:before { content: $share-sign; } .icon-compass:before { content: $compass; } .icon-collapse:before { content: $collapse; } .icon-collapse-top:before { content: $collapse-top; } .icon-expand:before { content: $expand; } .icon-euro:before, .icon-eur:before { content: $eur; } .icon-gbp:before { content: $gbp; } .icon-dollar:before, .icon-usd:before { content: $usd; } .icon-rupee:before, .icon-inr:before { content: $inr; } .icon-yen:before, .icon-jpy:before { content: $jpy; } .icon-renminbi:before, .icon-cny:before { content: $cny; } .icon-won:before, .icon-krw:before { content: $krw; } .icon-bitcoin:before, .icon-btc:before { content: $btc; } .icon-file:before { content: $file; } .icon-file-text:before { content: $file-text; } .icon-sort-by-alphabet:before { content: $sort-by-alphabet; } .icon-sort-by-alphabet-alt:before { content: $sort-by-alphabet-alt; } .icon-sort-by-attributes:before { content: $sort-by-attributes; } .icon-sort-by-attributes-alt:before { content: $sort-by-attributes-alt; } .icon-sort-by-order:before { content: $sort-by-order; } .icon-sort-by-order-alt:before { content: $sort-by-order-alt; } .icon-thumbs-up:before { content: $thumbs-up; } .icon-thumbs-down:before { content: $thumbs-down; } .icon-youtube-sign:before { content: $youtube-sign; } .icon-youtube:before { content: $youtube; } .icon-xing:before { content: $xing; } .icon-xing-sign:before { content: $xing-sign; } .icon-youtube-play:before { content: $youtube-play; } .icon-dropbox:before { content: $dropbox; } .icon-stackexchange:before { content: $stackexchange; } .icon-instagram:before { content: $instagram; } .icon-flickr:before { content: $flickr; } .icon-adn:before { content: $adn; } .icon-bitbucket:before { content: $bitbucket; } .icon-bitbucket-sign:before { content: $bitbucket-sign; } .icon-tumblr:before { content: $tumblr; } .icon-tumblr-sign:before { content: $tumblr-sign; } .icon-long-arrow-down:before { content: $long-arrow-down; } .icon-long-arrow-up:before { content: $long-arrow-up; } .icon-long-arrow-left:before { content: $long-arrow-left; } .icon-long-arrow-right:before { content: $long-arrow-right; } .icon-apple:before { content: $apple; } .icon-windows:before { content: $windows; } .icon-android:before { content: $android; } .icon-linux:before { content: $linux; } .icon-dribbble:before { content: $dribbble; } .icon-skype:before { content: $skype; } .icon-foursquare:before { content: $foursquare; } .icon-trello:before { content: $trello; } .icon-female:before { content: $female; } .icon-male:before { content: $male; } .icon-gittip:before { content: $gittip; } .icon-sun:before { content: $sun; } .icon-moon:before { content: $moon; } .icon-archive:before { content: $archive; } .icon-bug:before { content: $bug; } .icon-vk:before { content: $vk; } .icon-weibo:before { content: $weibo; } .icon-renren:before { content: $renren; } ================================================ FILE: automatic/static/css/font-awesome/scss/_larger.scss ================================================ // Icon Sizes // ------------------------- /* makes the font 33% larger relative to the icon container */ .#{$fa-css-prefix}-lg { font-size: (4em / 3); line-height: (3em / 4); vertical-align: -15%; } .#{$fa-css-prefix}-2x { font-size: 2em; } .#{$fa-css-prefix}-3x { font-size: 3em; } .#{$fa-css-prefix}-4x { font-size: 4em; } .#{$fa-css-prefix}-5x { font-size: 5em; } ================================================ FILE: automatic/static/css/font-awesome/scss/_list.scss ================================================ // List Icons // ------------------------- .#{$fa-css-prefix}-ul { padding-left: 0; margin-left: $fa-li-width; list-style-type: none; > li { position: relative; } } .#{$fa-css-prefix}-li { position: absolute; left: -$fa-li-width; width: $fa-li-width; top: (2em / 14); text-align: center; &.#{$fa-css-prefix}-lg { left: -$fa-li-width + (4em / 14); } } ================================================ FILE: automatic/static/css/font-awesome/scss/_mixins.scss ================================================ // Mixins // -------------------------- @mixin icon($icon) { @include icon-FontAwesome(); content: $icon; } @mixin icon-FontAwesome() { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; *margin-right: .3em; // fixes ie7 issues } @mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; } @mixin icon-stack($width: 2em, $height: 2em, $top-font-size: 1em, $base-font-size: 2em) { .icon-stack { position: relative; display: inline-block; width: $width; height: $height; line-height: $width; vertical-align: -35%; [class^="icon-"], [class*=" icon-"] { display: block; text-align: center; position: absolute; width: 100%; height: 100%; font-size: $top-font-size; line-height: inherit; *line-height: $height; } .icon-stack-base { font-size: $base-font-size; *line-height: #{$height / $base-font-size}em; } } } ================================================ FILE: automatic/static/css/font-awesome/scss/_path.scss ================================================ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('#{$FontAwesomePath}/fontawesome-webfont.eot?v=#{$FontAwesomeVersion}'); src: url('#{$FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=#{$FontAwesomeVersion}') format('embedded-opentype'), url('#{$FontAwesomePath}/fontawesome-webfont.woff?v=#{$FontAwesomeVersion}') format('woff'), url('#{$FontAwesomePath}/fontawesome-webfont.ttf?v=#{$FontAwesomeVersion}') format('truetype'), url('#{$FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=#{$FontAwesomeVersion}') format('svg'); // src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } ================================================ FILE: automatic/static/css/font-awesome/scss/_rotated-flipped.scss ================================================ // Rotated & Flipped Icons // ------------------------- .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } // Hook for IE8-9 // ------------------------- :root .#{$fa-css-prefix}-rotate-90, :root .#{$fa-css-prefix}-rotate-180, :root .#{$fa-css-prefix}-rotate-270, :root .#{$fa-css-prefix}-flip-horizontal, :root .#{$fa-css-prefix}-flip-vertical { filter: none; } ================================================ FILE: automatic/static/css/font-awesome/scss/_stacked.scss ================================================ // Stacked Icons // ------------------------- .#{$fa-css-prefix}-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .#{$fa-css-prefix}-stack-1x { line-height: inherit; } .#{$fa-css-prefix}-stack-2x { font-size: 2em; } .#{$fa-css-prefix}-inverse { color: $fa-inverse; } ================================================ FILE: automatic/static/css/font-awesome/scss/_variables.scss ================================================ // Variables // -------------------------- $FontAwesomePath: "../font" !default; $FontAwesomeVersion: "3.2.1" !default; $borderColor: #eeeeee !default; $iconMuted: #eeeeee !default; $iconLight: white !default; $iconDark: #333333 !default; $icons-li-width: (30em/14); $glass: "\f000"; $music: "\f001"; $search: "\f002"; $envelope-alt: "\f003"; $heart: "\f004"; $star: "\f005"; $star-empty: "\f006"; $user: "\f007"; $film: "\f008"; $th-large: "\f009"; $th: "\f00a"; $th-list: "\f00b"; $ok: "\f00c"; $remove: "\f00d"; $zoom-in: "\f00e"; $zoom-out: "\f010"; $off: "\f011"; $signal: "\f012"; $cog: "\f013"; $trash: "\f014"; $home: "\f015"; $file-alt: "\f016"; $time: "\f017"; $road: "\f018"; $download-alt: "\f019"; $download: "\f01a"; $upload: "\f01b"; $inbox: "\f01c"; $play-circle: "\f01d"; $repeat: "\f01e"; $refresh: "\f021"; $list-alt: "\f022"; $lock: "\f023"; $flag: "\f024"; $headphones: "\f025"; $volume-off: "\f026"; $volume-down: "\f027"; $volume-up: "\f028"; $qrcode: "\f029"; $barcode: "\f02a"; $tag: "\f02b"; $tags: "\f02c"; $book: "\f02d"; $bookmark: "\f02e"; $print: "\f02f"; $camera: "\f030"; $font: "\f031"; $bold: "\f032"; $italic: "\f033"; $text-height: "\f034"; $text-width: "\f035"; $align-left: "\f036"; $align-center: "\f037"; $align-right: "\f038"; $align-justify: "\f039"; $list: "\f03a"; $indent-left: "\f03b"; $indent-right: "\f03c"; $facetime-video: "\f03d"; $picture: "\f03e"; $pencil: "\f040"; $map-marker: "\f041"; $adjust: "\f042"; $tint: "\f043"; $edit: "\f044"; $share: "\f045"; $check: "\f046"; $move: "\f047"; $step-backward: "\f048"; $fast-backward: "\f049"; $backward: "\f04a"; $play: "\f04b"; $pause: "\f04c"; $stop: "\f04d"; $forward: "\f04e"; $fast-forward: "\f050"; $step-forward: "\f051"; $eject: "\f052"; $chevron-left: "\f053"; $chevron-right: "\f054"; $plus-sign: "\f055"; $minus-sign: "\f056"; $remove-sign: "\f057"; $ok-sign: "\f058"; $question-sign: "\f059"; $info-sign: "\f05a"; $screenshot: "\f05b"; $remove-circle: "\f05c"; $ok-circle: "\f05d"; $ban-circle: "\f05e"; $arrow-left: "\f060"; $arrow-right: "\f061"; $arrow-up: "\f062"; $arrow-down: "\f063"; $share-alt: "\f064"; $resize-full: "\f065"; $resize-small: "\f066"; $plus: "\f067"; $minus: "\f068"; $asterisk: "\f069"; $exclamation-sign: "\f06a"; $gift: "\f06b"; $leaf: "\f06c"; $fire: "\f06d"; $eye-open: "\f06e"; $eye-close: "\f070"; $warning-sign: "\f071"; $plane: "\f072"; $calendar: "\f073"; $random: "\f074"; $comment: "\f075"; $magnet: "\f076"; $chevron-up: "\f077"; $chevron-down: "\f078"; $retweet: "\f079"; $shopping-cart: "\f07a"; $folder-close: "\f07b"; $folder-open: "\f07c"; $resize-vertical: "\f07d"; $resize-horizontal: "\f07e"; $bar-chart: "\f080"; $twitter-sign: "\f081"; $facebook-sign: "\f082"; $camera-retro: "\f083"; $key: "\f084"; $cogs: "\f085"; $comments: "\f086"; $thumbs-up-alt: "\f087"; $thumbs-down-alt: "\f088"; $star-half: "\f089"; $heart-empty: "\f08a"; $signout: "\f08b"; $linkedin-sign: "\f08c"; $pushpin: "\f08d"; $external-link: "\f08e"; $signin: "\f090"; $trophy: "\f091"; $github-sign: "\f092"; $upload-alt: "\f093"; $lemon: "\f094"; $phone: "\f095"; $check-empty: "\f096"; $bookmark-empty: "\f097"; $phone-sign: "\f098"; $twitter: "\f099"; $facebook: "\f09a"; $github: "\f09b"; $unlock: "\f09c"; $credit-card: "\f09d"; $rss: "\f09e"; $hdd: "\f0a0"; $bullhorn: "\f0a1"; $bell: "\f0a2"; $certificate: "\f0a3"; $hand-right: "\f0a4"; $hand-left: "\f0a5"; $hand-up: "\f0a6"; $hand-down: "\f0a7"; $circle-arrow-left: "\f0a8"; $circle-arrow-right: "\f0a9"; $circle-arrow-up: "\f0aa"; $circle-arrow-down: "\f0ab"; $globe: "\f0ac"; $wrench: "\f0ad"; $tasks: "\f0ae"; $filter: "\f0b0"; $briefcase: "\f0b1"; $fullscreen: "\f0b2"; $group: "\f0c0"; $link: "\f0c1"; $cloud: "\f0c2"; $beaker: "\f0c3"; $cut: "\f0c4"; $copy: "\f0c5"; $paper-clip: "\f0c6"; $save: "\f0c7"; $sign-blank: "\f0c8"; $reorder: "\f0c9"; $list-ul: "\f0ca"; $list-ol: "\f0cb"; $strikethrough: "\f0cc"; $underline: "\f0cd"; $table: "\f0ce"; $magic: "\f0d0"; $truck: "\f0d1"; $pinterest: "\f0d2"; $pinterest-sign: "\f0d3"; $google-plus-sign: "\f0d4"; $google-plus: "\f0d5"; $money: "\f0d6"; $caret-down: "\f0d7"; $caret-up: "\f0d8"; $caret-left: "\f0d9"; $caret-right: "\f0da"; $columns: "\f0db"; $sort: "\f0dc"; $sort-down: "\f0dd"; $sort-up: "\f0de"; $envelope: "\f0e0"; $linkedin: "\f0e1"; $undo: "\f0e2"; $legal: "\f0e3"; $dashboard: "\f0e4"; $comment-alt: "\f0e5"; $comments-alt: "\f0e6"; $bolt: "\f0e7"; $sitemap: "\f0e8"; $umbrella: "\f0e9"; $paste: "\f0ea"; $lightbulb: "\f0eb"; $exchange: "\f0ec"; $cloud-download: "\f0ed"; $cloud-upload: "\f0ee"; $user-md: "\f0f0"; $stethoscope: "\f0f1"; $suitcase: "\f0f2"; $bell-alt: "\f0f3"; $coffee: "\f0f4"; $food: "\f0f5"; $file-text-alt: "\f0f6"; $building: "\f0f7"; $hospital: "\f0f8"; $ambulance: "\f0f9"; $medkit: "\f0fa"; $fighter-jet: "\f0fb"; $beer: "\f0fc"; $h-sign: "\f0fd"; $plus-sign-alt: "\f0fe"; $double-angle-left: "\f100"; $double-angle-right: "\f101"; $double-angle-up: "\f102"; $double-angle-down: "\f103"; $angle-left: "\f104"; $angle-right: "\f105"; $angle-up: "\f106"; $angle-down: "\f107"; $desktop: "\f108"; $laptop: "\f109"; $tablet: "\f10a"; $mobile-phone: "\f10b"; $circle-blank: "\f10c"; $quote-left: "\f10d"; $quote-right: "\f10e"; $spinner: "\f110"; $circle: "\f111"; $reply: "\f112"; $github-alt: "\f113"; $folder-close-alt: "\f114"; $folder-open-alt: "\f115"; $expand-alt: "\f116"; $collapse-alt: "\f117"; $smile: "\f118"; $frown: "\f119"; $meh: "\f11a"; $gamepad: "\f11b"; $keyboard: "\f11c"; $flag-alt: "\f11d"; $flag-checkered: "\f11e"; $terminal: "\f120"; $code: "\f121"; $reply-all: "\f122"; $mail-reply-all: "\f122"; $star-half-empty: "\f123"; $location-arrow: "\f124"; $crop: "\f125"; $code-fork: "\f126"; $unlink: "\f127"; $question: "\f128"; $info: "\f129"; $exclamation: "\f12a"; $superscript: "\f12b"; $subscript: "\f12c"; $eraser: "\f12d"; $puzzle-piece: "\f12e"; $microphone: "\f130"; $microphone-off: "\f131"; $shield: "\f132"; $calendar-empty: "\f133"; $fire-extinguisher: "\f134"; $rocket: "\f135"; $maxcdn: "\f136"; $chevron-sign-left: "\f137"; $chevron-sign-right: "\f138"; $chevron-sign-up: "\f139"; $chevron-sign-down: "\f13a"; $html5: "\f13b"; $css3: "\f13c"; $anchor: "\f13d"; $unlock-alt: "\f13e"; $bullseye: "\f140"; $ellipsis-horizontal: "\f141"; $ellipsis-vertical: "\f142"; $rss-sign: "\f143"; $play-sign: "\f144"; $ticket: "\f145"; $minus-sign-alt: "\f146"; $check-minus: "\f147"; $level-up: "\f148"; $level-down: "\f149"; $check-sign: "\f14a"; $edit-sign: "\f14b"; $external-link-sign: "\f14c"; $share-sign: "\f14d"; $compass: "\f14e"; $collapse: "\f150"; $collapse-top: "\f151"; $expand: "\f152"; $eur: "\f153"; $gbp: "\f154"; $usd: "\f155"; $inr: "\f156"; $jpy: "\f157"; $cny: "\f158"; $krw: "\f159"; $btc: "\f15a"; $file: "\f15b"; $file-text: "\f15c"; $sort-by-alphabet: "\f15d"; $sort-by-alphabet-alt: "\f15e"; $sort-by-attributes: "\f160"; $sort-by-attributes-alt: "\f161"; $sort-by-order: "\f162"; $sort-by-order-alt: "\f163"; $thumbs-up: "\f164"; $thumbs-down: "\f165"; $youtube-sign: "\f166"; $youtube: "\f167"; $xing: "\f168"; $xing-sign: "\f169"; $youtube-play: "\f16a"; $dropbox: "\f16b"; $stackexchange: "\f16c"; $instagram: "\f16d"; $flickr: "\f16e"; $adn: "\f170"; $bitbucket: "\f171"; $bitbucket-sign: "\f172"; $tumblr: "\f173"; $tumblr-sign: "\f174"; $long-arrow-down: "\f175"; $long-arrow-up: "\f176"; $long-arrow-left: "\f177"; $long-arrow-right: "\f178"; $apple: "\f179"; $windows: "\f17a"; $android: "\f17b"; $linux: "\f17c"; $dribbble: "\f17d"; $skype: "\f17e"; $foursquare: "\f180"; $trello: "\f181"; $female: "\f182"; $male: "\f183"; $gittip: "\f184"; $sun: "\f185"; $moon: "\f186"; $archive: "\f187"; $bug: "\f188"; $vk: "\f189"; $weibo: "\f18a"; $renren: "\f18b"; ================================================ FILE: automatic/static/css/font-awesome/scss/font-awesome-ie7.scss ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ .icon-large { font-size: (4em/3); margin-top: -4px; padding-top: 3px; margin-bottom: -4px; padding-bottom: 3px; vertical-align: middle; } .nav { [class^="icon-"], [class*=" icon-"] { vertical-align: inherit; margin-top: -4px; padding-top: 3px; margin-bottom: -4px; padding-bottom: 3px; &.icon-large { vertical-align: -25%; } } } .nav-pills, .nav-tabs { [class^="icon-"], [class*=" icon-"] { &.icon-large { line-height: .75em; margin-top: -7px; padding-top: 5px; margin-bottom: -5px; padding-bottom: 4px; } } } .btn { [class^="icon-"], [class*=" icon-"] { &.pull-left, &.pull-right { vertical-align: inherit; } &.icon-large { margin-top: -.5em; } } } a [class^="icon-"], a [class*=" icon-"] { cursor: pointer; } @mixin ie7icon($inner) { *zoom: expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = '#{$inner}'); } .icon-glass { @include ie7icon(''); } .icon-music { @include ie7icon(''); } .icon-search { @include ie7icon(''); } .icon-envelope-alt { @include ie7icon(''); } .icon-heart { @include ie7icon(''); } .icon-star { @include ie7icon(''); } .icon-star-empty { @include ie7icon(''); } .icon-user { @include ie7icon(''); } .icon-film { @include ie7icon(''); } .icon-th-large { @include ie7icon(''); } .icon-th { @include ie7icon(''); } .icon-th-list { @include ie7icon(''); } .icon-ok { @include ie7icon(''); } .icon-remove { @include ie7icon(''); } .icon-zoom-in { @include ie7icon(''); } .icon-zoom-out { @include ie7icon(''); } .icon-off { @include ie7icon(''); } .icon-power-off { @include ie7icon(''); } .icon-signal { @include ie7icon(''); } .icon-cog { @include ie7icon(''); } .icon-gear { @include ie7icon(''); } .icon-trash { @include ie7icon(''); } .icon-home { @include ie7icon(''); } .icon-file-alt { @include ie7icon(''); } .icon-time { @include ie7icon(''); } .icon-road { @include ie7icon(''); } .icon-download-alt { @include ie7icon(''); } .icon-download { @include ie7icon(''); } .icon-upload { @include ie7icon(''); } .icon-inbox { @include ie7icon(''); } .icon-play-circle { @include ie7icon(''); } .icon-repeat { @include ie7icon(''); } .icon-rotate-right { @include ie7icon(''); } .icon-refresh { @include ie7icon(''); } .icon-list-alt { @include ie7icon(''); } .icon-lock { @include ie7icon(''); } .icon-flag { @include ie7icon(''); } .icon-headphones { @include ie7icon(''); } .icon-volume-off { @include ie7icon(''); } .icon-volume-down { @include ie7icon(''); } .icon-volume-up { @include ie7icon(''); } .icon-qrcode { @include ie7icon(''); } .icon-barcode { @include ie7icon(''); } .icon-tag { @include ie7icon(''); } .icon-tags { @include ie7icon(''); } .icon-book { @include ie7icon(''); } .icon-bookmark { @include ie7icon(''); } .icon-print { @include ie7icon(''); } .icon-camera { @include ie7icon(''); } .icon-font { @include ie7icon(''); } .icon-bold { @include ie7icon(''); } .icon-italic { @include ie7icon(''); } .icon-text-height { @include ie7icon(''); } .icon-text-width { @include ie7icon(''); } .icon-align-left { @include ie7icon(''); } .icon-align-center { @include ie7icon(''); } .icon-align-right { @include ie7icon(''); } .icon-align-justify { @include ie7icon(''); } .icon-list { @include ie7icon(''); } .icon-indent-left { @include ie7icon(''); } .icon-indent-right { @include ie7icon(''); } .icon-facetime-video { @include ie7icon(''); } .icon-picture { @include ie7icon(''); } .icon-pencil { @include ie7icon(''); } .icon-map-marker { @include ie7icon(''); } .icon-adjust { @include ie7icon(''); } .icon-tint { @include ie7icon(''); } .icon-edit { @include ie7icon(''); } .icon-share { @include ie7icon(''); } .icon-check { @include ie7icon(''); } .icon-move { @include ie7icon(''); } .icon-step-backward { @include ie7icon(''); } .icon-fast-backward { @include ie7icon(''); } .icon-backward { @include ie7icon(''); } .icon-play { @include ie7icon(''); } .icon-pause { @include ie7icon(''); } .icon-stop { @include ie7icon(''); } .icon-forward { @include ie7icon(''); } .icon-fast-forward { @include ie7icon(''); } .icon-step-forward { @include ie7icon(''); } .icon-eject { @include ie7icon(''); } .icon-chevron-left { @include ie7icon(''); } .icon-chevron-right { @include ie7icon(''); } .icon-plus-sign { @include ie7icon(''); } .icon-minus-sign { @include ie7icon(''); } .icon-remove-sign { @include ie7icon(''); } .icon-ok-sign { @include ie7icon(''); } .icon-question-sign { @include ie7icon(''); } .icon-info-sign { @include ie7icon(''); } .icon-screenshot { @include ie7icon(''); } .icon-remove-circle { @include ie7icon(''); } .icon-ok-circle { @include ie7icon(''); } .icon-ban-circle { @include ie7icon(''); } .icon-arrow-left { @include ie7icon(''); } .icon-arrow-right { @include ie7icon(''); } .icon-arrow-up { @include ie7icon(''); } .icon-arrow-down { @include ie7icon(''); } .icon-share-alt { @include ie7icon(''); } .icon-mail-forward { @include ie7icon(''); } .icon-resize-full { @include ie7icon(''); } .icon-resize-small { @include ie7icon(''); } .icon-plus { @include ie7icon(''); } .icon-minus { @include ie7icon(''); } .icon-asterisk { @include ie7icon(''); } .icon-exclamation-sign { @include ie7icon(''); } .icon-gift { @include ie7icon(''); } .icon-leaf { @include ie7icon(''); } .icon-fire { @include ie7icon(''); } .icon-eye-open { @include ie7icon(''); } .icon-eye-close { @include ie7icon(''); } .icon-warning-sign { @include ie7icon(''); } .icon-plane { @include ie7icon(''); } .icon-calendar { @include ie7icon(''); } .icon-random { @include ie7icon(''); } .icon-comment { @include ie7icon(''); } .icon-magnet { @include ie7icon(''); } .icon-chevron-up { @include ie7icon(''); } .icon-chevron-down { @include ie7icon(''); } .icon-retweet { @include ie7icon(''); } .icon-shopping-cart { @include ie7icon(''); } .icon-folder-close { @include ie7icon(''); } .icon-folder-open { @include ie7icon(''); } .icon-resize-vertical { @include ie7icon(''); } .icon-resize-horizontal { @include ie7icon(''); } .icon-bar-chart { @include ie7icon(''); } .icon-twitter-sign { @include ie7icon(''); } .icon-facebook-sign { @include ie7icon(''); } .icon-camera-retro { @include ie7icon(''); } .icon-key { @include ie7icon(''); } .icon-cogs { @include ie7icon(''); } .icon-gears { @include ie7icon(''); } .icon-comments { @include ie7icon(''); } .icon-thumbs-up-alt { @include ie7icon(''); } .icon-thumbs-down-alt { @include ie7icon(''); } .icon-star-half { @include ie7icon(''); } .icon-heart-empty { @include ie7icon(''); } .icon-signout { @include ie7icon(''); } .icon-linkedin-sign { @include ie7icon(''); } .icon-pushpin { @include ie7icon(''); } .icon-external-link { @include ie7icon(''); } .icon-signin { @include ie7icon(''); } .icon-trophy { @include ie7icon(''); } .icon-github-sign { @include ie7icon(''); } .icon-upload-alt { @include ie7icon(''); } .icon-lemon { @include ie7icon(''); } .icon-phone { @include ie7icon(''); } .icon-check-empty { @include ie7icon(''); } .icon-unchecked { @include ie7icon(''); } .icon-bookmark-empty { @include ie7icon(''); } .icon-phone-sign { @include ie7icon(''); } .icon-twitter { @include ie7icon(''); } .icon-facebook { @include ie7icon(''); } .icon-github { @include ie7icon(''); } .icon-unlock { @include ie7icon(''); } .icon-credit-card { @include ie7icon(''); } .icon-rss { @include ie7icon(''); } .icon-hdd { @include ie7icon(''); } .icon-bullhorn { @include ie7icon(''); } .icon-bell { @include ie7icon(''); } .icon-certificate { @include ie7icon(''); } .icon-hand-right { @include ie7icon(''); } .icon-hand-left { @include ie7icon(''); } .icon-hand-up { @include ie7icon(''); } .icon-hand-down { @include ie7icon(''); } .icon-circle-arrow-left { @include ie7icon(''); } .icon-circle-arrow-right { @include ie7icon(''); } .icon-circle-arrow-up { @include ie7icon(''); } .icon-circle-arrow-down { @include ie7icon(''); } .icon-globe { @include ie7icon(''); } .icon-wrench { @include ie7icon(''); } .icon-tasks { @include ie7icon(''); } .icon-filter { @include ie7icon(''); } .icon-briefcase { @include ie7icon(''); } .icon-fullscreen { @include ie7icon(''); } .icon-group { @include ie7icon(''); } .icon-link { @include ie7icon(''); } .icon-cloud { @include ie7icon(''); } .icon-beaker { @include ie7icon(''); } .icon-cut { @include ie7icon(''); } .icon-copy { @include ie7icon(''); } .icon-paper-clip { @include ie7icon(''); } .icon-paperclip { @include ie7icon(''); } .icon-save { @include ie7icon(''); } .icon-sign-blank { @include ie7icon(''); } .icon-reorder { @include ie7icon(''); } .icon-list-ul { @include ie7icon(''); } .icon-list-ol { @include ie7icon(''); } .icon-strikethrough { @include ie7icon(''); } .icon-underline { @include ie7icon(''); } .icon-table { @include ie7icon(''); } .icon-magic { @include ie7icon(''); } .icon-truck { @include ie7icon(''); } .icon-pinterest { @include ie7icon(''); } .icon-pinterest-sign { @include ie7icon(''); } .icon-google-plus-sign { @include ie7icon(''); } .icon-google-plus { @include ie7icon(''); } .icon-money { @include ie7icon(''); } .icon-caret-down { @include ie7icon(''); } .icon-caret-up { @include ie7icon(''); } .icon-caret-left { @include ie7icon(''); } .icon-caret-right { @include ie7icon(''); } .icon-columns { @include ie7icon(''); } .icon-sort { @include ie7icon(''); } .icon-sort-down { @include ie7icon(''); } .icon-sort-up { @include ie7icon(''); } .icon-envelope { @include ie7icon(''); } .icon-linkedin { @include ie7icon(''); } .icon-undo { @include ie7icon(''); } .icon-rotate-left { @include ie7icon(''); } .icon-legal { @include ie7icon(''); } .icon-dashboard { @include ie7icon(''); } .icon-comment-alt { @include ie7icon(''); } .icon-comments-alt { @include ie7icon(''); } .icon-bolt { @include ie7icon(''); } .icon-sitemap { @include ie7icon(''); } .icon-umbrella { @include ie7icon(''); } .icon-paste { @include ie7icon(''); } .icon-lightbulb { @include ie7icon(''); } .icon-exchange { @include ie7icon(''); } .icon-cloud-download { @include ie7icon(''); } .icon-cloud-upload { @include ie7icon(''); } .icon-user-md { @include ie7icon(''); } .icon-stethoscope { @include ie7icon(''); } .icon-suitcase { @include ie7icon(''); } .icon-bell-alt { @include ie7icon(''); } .icon-coffee { @include ie7icon(''); } .icon-food { @include ie7icon(''); } .icon-file-text-alt { @include ie7icon(''); } .icon-building { @include ie7icon(''); } .icon-hospital { @include ie7icon(''); } .icon-ambulance { @include ie7icon(''); } .icon-medkit { @include ie7icon(''); } .icon-fighter-jet { @include ie7icon(''); } .icon-beer { @include ie7icon(''); } .icon-h-sign { @include ie7icon(''); } .icon-plus-sign-alt { @include ie7icon(''); } .icon-double-angle-left { @include ie7icon(''); } .icon-double-angle-right { @include ie7icon(''); } .icon-double-angle-up { @include ie7icon(''); } .icon-double-angle-down { @include ie7icon(''); } .icon-angle-left { @include ie7icon(''); } .icon-angle-right { @include ie7icon(''); } .icon-angle-up { @include ie7icon(''); } .icon-angle-down { @include ie7icon(''); } .icon-desktop { @include ie7icon(''); } .icon-laptop { @include ie7icon(''); } .icon-tablet { @include ie7icon(''); } .icon-mobile-phone { @include ie7icon(''); } .icon-circle-blank { @include ie7icon(''); } .icon-quote-left { @include ie7icon(''); } .icon-quote-right { @include ie7icon(''); } .icon-spinner { @include ie7icon(''); } .icon-circle { @include ie7icon(''); } .icon-reply { @include ie7icon(''); } .icon-mail-reply { @include ie7icon(''); } .icon-github-alt { @include ie7icon(''); } .icon-folder-close-alt { @include ie7icon(''); } .icon-folder-open-alt { @include ie7icon(''); } .icon-expand-alt { @include ie7icon(''); } .icon-collapse-alt { @include ie7icon(''); } .icon-smile { @include ie7icon(''); } .icon-frown { @include ie7icon(''); } .icon-meh { @include ie7icon(''); } .icon-gamepad { @include ie7icon(''); } .icon-keyboard { @include ie7icon(''); } .icon-flag-alt { @include ie7icon(''); } .icon-flag-checkered { @include ie7icon(''); } .icon-terminal { @include ie7icon(''); } .icon-code { @include ie7icon(''); } .icon-reply-all { @include ie7icon(''); } .icon-mail-reply-all { @include ie7icon(''); } .icon-star-half-empty { @include ie7icon(''); } .icon-star-half-full { @include ie7icon(''); } .icon-location-arrow { @include ie7icon(''); } .icon-crop { @include ie7icon(''); } .icon-code-fork { @include ie7icon(''); } .icon-unlink { @include ie7icon(''); } .icon-question { @include ie7icon(''); } .icon-info { @include ie7icon(''); } .icon-exclamation { @include ie7icon(''); } .icon-superscript { @include ie7icon(''); } .icon-subscript { @include ie7icon(''); } .icon-eraser { @include ie7icon(''); } .icon-puzzle-piece { @include ie7icon(''); } .icon-microphone { @include ie7icon(''); } .icon-microphone-off { @include ie7icon(''); } .icon-shield { @include ie7icon(''); } .icon-calendar-empty { @include ie7icon(''); } .icon-fire-extinguisher { @include ie7icon(''); } .icon-rocket { @include ie7icon(''); } .icon-maxcdn { @include ie7icon(''); } .icon-chevron-sign-left { @include ie7icon(''); } .icon-chevron-sign-right { @include ie7icon(''); } .icon-chevron-sign-up { @include ie7icon(''); } .icon-chevron-sign-down { @include ie7icon(''); } .icon-html5 { @include ie7icon(''); } .icon-css3 { @include ie7icon(''); } .icon-anchor { @include ie7icon(''); } .icon-unlock-alt { @include ie7icon(''); } .icon-bullseye { @include ie7icon(''); } .icon-ellipsis-horizontal { @include ie7icon(''); } .icon-ellipsis-vertical { @include ie7icon(''); } .icon-rss-sign { @include ie7icon(''); } .icon-play-sign { @include ie7icon(''); } .icon-ticket { @include ie7icon(''); } .icon-minus-sign-alt { @include ie7icon(''); } .icon-check-minus { @include ie7icon(''); } .icon-level-up { @include ie7icon(''); } .icon-level-down { @include ie7icon(''); } .icon-check-sign { @include ie7icon(''); } .icon-edit-sign { @include ie7icon(''); } .icon-external-link-sign { @include ie7icon(''); } .icon-share-sign { @include ie7icon(''); } .icon-compass { @include ie7icon(''); } .icon-collapse { @include ie7icon(''); } .icon-collapse-top { @include ie7icon(''); } .icon-expand { @include ie7icon(''); } .icon-eur { @include ie7icon(''); } .icon-euro { @include ie7icon(''); } .icon-gbp { @include ie7icon(''); } .icon-usd { @include ie7icon(''); } .icon-dollar { @include ie7icon(''); } .icon-inr { @include ie7icon(''); } .icon-rupee { @include ie7icon(''); } .icon-jpy { @include ie7icon(''); } .icon-yen { @include ie7icon(''); } .icon-cny { @include ie7icon(''); } .icon-renminbi { @include ie7icon(''); } .icon-krw { @include ie7icon(''); } .icon-won { @include ie7icon(''); } .icon-btc { @include ie7icon(''); } .icon-bitcoin { @include ie7icon(''); } .icon-file { @include ie7icon(''); } .icon-file-text { @include ie7icon(''); } .icon-sort-by-alphabet { @include ie7icon(''); } .icon-sort-by-alphabet-alt { @include ie7icon(''); } .icon-sort-by-attributes { @include ie7icon(''); } .icon-sort-by-attributes-alt { @include ie7icon(''); } .icon-sort-by-order { @include ie7icon(''); } .icon-sort-by-order-alt { @include ie7icon(''); } .icon-thumbs-up { @include ie7icon(''); } .icon-thumbs-down { @include ie7icon(''); } .icon-youtube-sign { @include ie7icon(''); } .icon-youtube { @include ie7icon(''); } .icon-xing { @include ie7icon(''); } .icon-xing-sign { @include ie7icon(''); } .icon-youtube-play { @include ie7icon(''); } .icon-dropbox { @include ie7icon(''); } .icon-stackexchange { @include ie7icon(''); } .icon-instagram { @include ie7icon(''); } .icon-flickr { @include ie7icon(''); } .icon-adn { @include ie7icon(''); } .icon-bitbucket { @include ie7icon(''); } .icon-bitbucket-sign { @include ie7icon(''); } .icon-tumblr { @include ie7icon(''); } .icon-tumblr-sign { @include ie7icon(''); } .icon-long-arrow-down { @include ie7icon(''); } .icon-long-arrow-up { @include ie7icon(''); } .icon-long-arrow-left { @include ie7icon(''); } .icon-long-arrow-right { @include ie7icon(''); } .icon-apple { @include ie7icon(''); } .icon-windows { @include ie7icon(''); } .icon-android { @include ie7icon(''); } .icon-linux { @include ie7icon(''); } .icon-dribbble { @include ie7icon(''); } .icon-skype { @include ie7icon(''); } .icon-foursquare { @include ie7icon(''); } .icon-trello { @include ie7icon(''); } .icon-female { @include ie7icon(''); } .icon-male { @include ie7icon(''); } .icon-gittip { @include ie7icon(''); } .icon-sun { @include ie7icon(''); } .icon-moon { @include ie7icon(''); } .icon-archive { @include ie7icon(''); } .icon-bug { @include ie7icon(''); } .icon-vk { @include ie7icon(''); } .icon-weibo { @include ie7icon(''); } .icon-renren { @include ie7icon(''); } ================================================ FILE: automatic/static/css/font-awesome/scss/font-awesome.scss ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ @import "variables"; @import "mixins"; @import "path"; @import "core"; @import "bootstrap"; @import "extras"; @import "icons"; ================================================ FILE: automatic/static/css/font-awesome.css ================================================ /*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fontawesome.io" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/byscuits * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot?v=3.2.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); font-weight: normal; font-style: normal; } /* FONT AWESOME CORE * -------------------------- */ [class^="icon-"], [class*=" icon-"] { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; *margin-right: .3em; } [class^="icon-"]:before, [class*=" icon-"]:before { text-decoration: inherit; display: inline-block; speak: none; } /* makes the font 33% larger relative to the icon container */ .icon-large:before { vertical-align: -10%; font-size: 1.3333333333333333em; } /* makes sure icons active on rollover in links */ a [class^="icon-"], a [class*=" icon-"] { display: inline; } /* increased font size for icon-large */ [class^="icon-"].icon-fixed-width, [class*=" icon-"].icon-fixed-width { display: inline-block; width: 1.1428571428571428em; text-align: right; padding-right: 0.2857142857142857em; } [class^="icon-"].icon-fixed-width.icon-large, [class*=" icon-"].icon-fixed-width.icon-large { width: 1.4285714285714286em; } .icons-ul { margin-left: 2.142857142857143em; list-style-type: none; } .icons-ul > li { position: relative; } .icons-ul .icon-li { position: absolute; left: -2.142857142857143em; width: 2.142857142857143em; text-align: center; line-height: inherit; } [class^="icon-"].hide, [class*=" icon-"].hide { display: none; } .icon-muted { color: #eeeeee; } .icon-light { color: #ffffff; } .icon-dark { color: #333333; } .icon-border { border: solid 1px #eeeeee; padding: .2em .25em .15em; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .icon-2x { font-size: 2em; } .icon-2x.icon-border { border-width: 2px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .icon-3x { font-size: 3em; } .icon-3x.icon-border { border-width: 3px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .icon-4x { font-size: 4em; } .icon-4x.icon-border { border-width: 4px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; } .icon-5x { font-size: 5em; } .icon-5x.icon-border { border-width: 5px; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; } .pull-right { float: right; } .pull-left { float: left; } [class^="icon-"].pull-left, [class*=" icon-"].pull-left { margin-right: .3em; } [class^="icon-"].pull-right, [class*=" icon-"].pull-right { margin-left: .3em; } /* BOOTSTRAP SPECIFIC CLASSES * -------------------------- */ /* Bootstrap 2.0 sprites.less reset */ [class^="icon-"], [class*=" icon-"] { display: inline; width: auto; height: auto; line-height: normal; vertical-align: baseline; background-image: none; background-position: 0% 0%; background-repeat: repeat; margin-top: 0; } /* more sprites.less reset */ .icon-white, .nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class*=" icon-"], .nav-list > .active > a > [class^="icon-"], .nav-list > .active > a > [class*=" icon-"], .navbar-inverse .nav > .active > a > [class^="icon-"], .navbar-inverse .nav > .active > a > [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], .dropdown-menu > .active > a > [class*=" icon-"], .dropdown-submenu:hover > a > [class^="icon-"], .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: none; } /* keeps Bootstrap styles with and without icons the same */ .btn [class^="icon-"].icon-large, .nav [class^="icon-"].icon-large, .btn [class*=" icon-"].icon-large, .nav [class*=" icon-"].icon-large { line-height: .9em; } .btn [class^="icon-"].icon-spin, .nav [class^="icon-"].icon-spin, .btn [class*=" icon-"].icon-spin, .nav [class*=" icon-"].icon-spin { display: inline-block; } .nav-tabs [class^="icon-"], .nav-pills [class^="icon-"], .nav-tabs [class*=" icon-"], .nav-pills [class*=" icon-"], .nav-tabs [class^="icon-"].icon-large, .nav-pills [class^="icon-"].icon-large, .nav-tabs [class*=" icon-"].icon-large, .nav-pills [class*=" icon-"].icon-large { line-height: .9em; } .btn [class^="icon-"].pull-left.icon-2x, .btn [class*=" icon-"].pull-left.icon-2x, .btn [class^="icon-"].pull-right.icon-2x, .btn [class*=" icon-"].pull-right.icon-2x { margin-top: .18em; } .btn [class^="icon-"].icon-spin.icon-large, .btn [class*=" icon-"].icon-spin.icon-large { line-height: .8em; } .btn.btn-small [class^="icon-"].pull-left.icon-2x, .btn.btn-small [class*=" icon-"].pull-left.icon-2x, .btn.btn-small [class^="icon-"].pull-right.icon-2x, .btn.btn-small [class*=" icon-"].pull-right.icon-2x { margin-top: .25em; } .btn.btn-large [class^="icon-"], .btn.btn-large [class*=" icon-"] { margin-top: 0; } .btn.btn-large [class^="icon-"].pull-left.icon-2x, .btn.btn-large [class*=" icon-"].pull-left.icon-2x, .btn.btn-large [class^="icon-"].pull-right.icon-2x, .btn.btn-large [class*=" icon-"].pull-right.icon-2x { margin-top: .05em; } .btn.btn-large [class^="icon-"].pull-left.icon-2x, .btn.btn-large [class*=" icon-"].pull-left.icon-2x { margin-right: .2em; } .btn.btn-large [class^="icon-"].pull-right.icon-2x, .btn.btn-large [class*=" icon-"].pull-right.icon-2x { margin-left: .2em; } /* Fixes alignment in nav lists */ .nav-list [class^="icon-"], .nav-list [class*=" icon-"] { line-height: inherit; } /* EXTRAS * -------------------------- */ /* Stacked and layered icon */ .icon-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: -35%; } .icon-stack [class^="icon-"], .icon-stack [class*=" icon-"] { display: block; text-align: center; position: absolute; width: 100%; height: 100%; font-size: 1em; line-height: inherit; *line-height: 2em; } .icon-stack .icon-stack-base { font-size: 2em; *line-height: 1em; } /* Animated rotating icon */ .icon-spin { display: inline-block; -moz-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; -webkit-animation: spin 2s infinite linear; animation: spin 2s infinite linear; } /* Prevent stack and spinners from being taken inline when inside a link */ a .icon-stack, a .icon-spin { display: inline-block; text-decoration: none; } @-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); } 100% { -moz-transform: rotate(359deg); } } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); } } @-o-keyframes spin { 0% { -o-transform: rotate(0deg); } 100% { -o-transform: rotate(359deg); } } @-ms-keyframes spin { 0% { -ms-transform: rotate(0deg); } 100% { -ms-transform: rotate(359deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } /* Icon rotations and mirroring */ .icon-rotate-90:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); } .icon-rotate-180:before { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); } .icon-rotate-270:before { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); } .icon-flip-horizontal:before { -webkit-transform: scale(-1, 1); -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -o-transform: scale(-1, 1); transform: scale(-1, 1); } .icon-flip-vertical:before { -webkit-transform: scale(1, -1); -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); -o-transform: scale(1, -1); transform: scale(1, -1); } /* ensure rotation occurs inside anchor tags */ a .icon-rotate-90:before, a .icon-rotate-180:before, a .icon-rotate-270:before, a .icon-flip-horizontal:before, a .icon-flip-vertical:before { display: inline-block; } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .icon-glass:before { content: "\f000"; } .icon-music:before { content: "\f001"; } .icon-search:before { content: "\f002"; } .icon-envelope-alt:before { content: "\f003"; } .icon-heart:before { content: "\f004"; } .icon-star:before { content: "\f005"; } .icon-star-empty:before { content: "\f006"; } .icon-user:before { content: "\f007"; } .icon-film:before { content: "\f008"; } .icon-th-large:before { content: "\f009"; } .icon-th:before { content: "\f00a"; } .icon-th-list:before { content: "\f00b"; } .icon-ok:before { content: "\f00c"; } .icon-remove:before { content: "\f00d"; } .icon-zoom-in:before { content: "\f00e"; } .icon-zoom-out:before { content: "\f010"; } .icon-power-off:before, .icon-off:before { content: "\f011"; } .icon-signal:before { content: "\f012"; } .icon-gear:before, .icon-cog:before { content: "\f013"; } .icon-trash:before { content: "\f014"; } .icon-home:before { content: "\f015"; } .icon-file-alt:before { content: "\f016"; } .icon-time:before { content: "\f017"; } .icon-road:before { content: "\f018"; } .icon-download-alt:before { content: "\f019"; } .icon-download:before { content: "\f01a"; } .icon-upload:before { content: "\f01b"; } .icon-inbox:before { content: "\f01c"; } .icon-play-circle:before { content: "\f01d"; } .icon-rotate-right:before, .icon-repeat:before { content: "\f01e"; } .icon-refresh:before { content: "\f021"; } .icon-list-alt:before { content: "\f022"; } .icon-lock:before { content: "\f023"; } .icon-flag:before { content: "\f024"; } .icon-headphones:before { content: "\f025"; } .icon-volume-off:before { content: "\f026"; } .icon-volume-down:before { content: "\f027"; } .icon-volume-up:before { content: "\f028"; } .icon-qrcode:before { content: "\f029"; } .icon-barcode:before { content: "\f02a"; } .icon-tag:before { content: "\f02b"; } .icon-tags:before { content: "\f02c"; } .icon-book:before { content: "\f02d"; } .icon-bookmark:before { content: "\f02e"; } .icon-print:before { content: "\f02f"; } .icon-camera:before { content: "\f030"; } .icon-font:before { content: "\f031"; } .icon-bold:before { content: "\f032"; } .icon-italic:before { content: "\f033"; } .icon-text-height:before { content: "\f034"; } .icon-text-width:before { content: "\f035"; } .icon-align-left:before { content: "\f036"; } .icon-align-center:before { content: "\f037"; } .icon-align-right:before { content: "\f038"; } .icon-align-justify:before { content: "\f039"; } .icon-list:before { content: "\f03a"; } .icon-indent-left:before { content: "\f03b"; } .icon-indent-right:before { content: "\f03c"; } .icon-facetime-video:before { content: "\f03d"; } .icon-picture:before { content: "\f03e"; } .icon-pencil:before { content: "\f040"; } .icon-map-marker:before { content: "\f041"; } .icon-adjust:before { content: "\f042"; } .icon-tint:before { content: "\f043"; } .icon-edit:before { content: "\f044"; } .icon-share:before { content: "\f045"; } .icon-check:before { content: "\f046"; } .icon-move:before { content: "\f047"; } .icon-step-backward:before { content: "\f048"; } .icon-fast-backward:before { content: "\f049"; } .icon-backward:before { content: "\f04a"; } .icon-play:before { content: "\f04b"; } .icon-pause:before { content: "\f04c"; } .icon-stop:before { content: "\f04d"; } .icon-forward:before { content: "\f04e"; } .icon-fast-forward:before { content: "\f050"; } .icon-step-forward:before { content: "\f051"; } .icon-eject:before { content: "\f052"; } .icon-chevron-left:before { content: "\f053"; } .icon-chevron-right:before { content: "\f054"; } .icon-plus-sign:before { content: "\f055"; } .icon-minus-sign:before { content: "\f056"; } .icon-remove-sign:before { content: "\f057"; } .icon-ok-sign:before { content: "\f058"; } .icon-question-sign:before { content: "\f059"; } .icon-info-sign:before { content: "\f05a"; } .icon-screenshot:before { content: "\f05b"; } .icon-remove-circle:before { content: "\f05c"; } .icon-ok-circle:before { content: "\f05d"; } .icon-ban-circle:before { content: "\f05e"; } .icon-arrow-left:before { content: "\f060"; } .icon-arrow-right:before { content: "\f061"; } .icon-arrow-up:before { content: "\f062"; } .icon-arrow-down:before { content: "\f063"; } .icon-mail-forward:before, .icon-share-alt:before { content: "\f064"; } .icon-resize-full:before { content: "\f065"; } .icon-resize-small:before { content: "\f066"; } .icon-plus:before { content: "\f067"; } .icon-minus:before { content: "\f068"; } .icon-asterisk:before { content: "\f069"; } .icon-exclamation-sign:before { content: "\f06a"; } .icon-gift:before { content: "\f06b"; } .icon-leaf:before { content: "\f06c"; } .icon-fire:before { content: "\f06d"; } .icon-eye-open:before { content: "\f06e"; } .icon-eye-close:before { content: "\f070"; } .icon-warning-sign:before { content: "\f071"; } .icon-plane:before { content: "\f072"; } .icon-calendar:before { content: "\f073"; } .icon-random:before { content: "\f074"; } .icon-comment:before { content: "\f075"; } .icon-magnet:before { content: "\f076"; } .icon-chevron-up:before { content: "\f077"; } .icon-chevron-down:before { content: "\f078"; } .icon-retweet:before { content: "\f079"; } .icon-shopping-cart:before { content: "\f07a"; } .icon-folder-close:before { content: "\f07b"; } .icon-folder-open:before { content: "\f07c"; } .icon-resize-vertical:before { content: "\f07d"; } .icon-resize-horizontal:before { content: "\f07e"; } .icon-bar-chart:before { content: "\f080"; } .icon-twitter-sign:before { content: "\f081"; } .icon-facebook-sign:before { content: "\f082"; } .icon-camera-retro:before { content: "\f083"; } .icon-key:before { content: "\f084"; } .icon-gears:before, .icon-cogs:before { content: "\f085"; } .icon-comments:before { content: "\f086"; } .icon-thumbs-up-alt:before { content: "\f087"; } .icon-thumbs-down-alt:before { content: "\f088"; } .icon-star-half:before { content: "\f089"; } .icon-heart-empty:before { content: "\f08a"; } .icon-signout:before { content: "\f08b"; } .icon-linkedin-sign:before { content: "\f08c"; } .icon-pushpin:before { content: "\f08d"; } .icon-external-link:before { content: "\f08e"; } .icon-signin:before { content: "\f090"; } .icon-trophy:before { content: "\f091"; } .icon-github-sign:before { content: "\f092"; } .icon-upload-alt:before { content: "\f093"; } .icon-lemon:before { content: "\f094"; } .icon-phone:before { content: "\f095"; } .icon-unchecked:before, .icon-check-empty:before { content: "\f096"; } .icon-bookmark-empty:before { content: "\f097"; } .icon-phone-sign:before { content: "\f098"; } .icon-twitter:before { content: "\f099"; } .icon-facebook:before { content: "\f09a"; } .icon-github:before { content: "\f09b"; } .icon-unlock:before { content: "\f09c"; } .icon-credit-card:before { content: "\f09d"; } .icon-rss:before { content: "\f09e"; } .icon-hdd:before { content: "\f0a0"; } .icon-bullhorn:before { content: "\f0a1"; } .icon-bell:before { content: "\f0a2"; } .icon-certificate:before { content: "\f0a3"; } .icon-hand-right:before { content: "\f0a4"; } .icon-hand-left:before { content: "\f0a5"; } .icon-hand-up:before { content: "\f0a6"; } .icon-hand-down:before { content: "\f0a7"; } .icon-circle-arrow-left:before { content: "\f0a8"; } .icon-circle-arrow-right:before { content: "\f0a9"; } .icon-circle-arrow-up:before { content: "\f0aa"; } .icon-circle-arrow-down:before { content: "\f0ab"; } .icon-globe:before { content: "\f0ac"; } .icon-wrench:before { content: "\f0ad"; } .icon-tasks:before { content: "\f0ae"; } .icon-filter:before { content: "\f0b0"; } .icon-briefcase:before { content: "\f0b1"; } .icon-fullscreen:before { content: "\f0b2"; } .icon-group:before { content: "\f0c0"; } .icon-link:before { content: "\f0c1"; } .icon-cloud:before { content: "\f0c2"; } .icon-beaker:before { content: "\f0c3"; } .icon-cut:before { content: "\f0c4"; } .icon-copy:before { content: "\f0c5"; } .icon-paperclip:before, .icon-paper-clip:before { content: "\f0c6"; } .icon-save:before { content: "\f0c7"; } .icon-sign-blank:before { content: "\f0c8"; } .icon-reorder:before { content: "\f0c9"; } .icon-list-ul:before { content: "\f0ca"; } .icon-list-ol:before { content: "\f0cb"; } .icon-strikethrough:before { content: "\f0cc"; } .icon-underline:before { content: "\f0cd"; } .icon-table:before { content: "\f0ce"; } .icon-magic:before { content: "\f0d0"; } .icon-truck:before { content: "\f0d1"; } .icon-pinterest:before { content: "\f0d2"; } .icon-pinterest-sign:before { content: "\f0d3"; } .icon-google-plus-sign:before { content: "\f0d4"; } .icon-google-plus:before { content: "\f0d5"; } .icon-money:before { content: "\f0d6"; } .icon-caret-down:before { content: "\f0d7"; } .icon-caret-up:before { content: "\f0d8"; } .icon-caret-left:before { content: "\f0d9"; } .icon-caret-right:before { content: "\f0da"; } .icon-columns:before { content: "\f0db"; } .icon-sort:before { content: "\f0dc"; } .icon-sort-down:before { content: "\f0dd"; } .icon-sort-up:before { content: "\f0de"; } .icon-envelope:before { content: "\f0e0"; } .icon-linkedin:before { content: "\f0e1"; } .icon-rotate-left:before, .icon-undo:before { content: "\f0e2"; } .icon-legal:before { content: "\f0e3"; } .icon-dashboard:before { content: "\f0e4"; } .icon-comment-alt:before { content: "\f0e5"; } .icon-comments-alt:before { content: "\f0e6"; } .icon-bolt:before { content: "\f0e7"; } .icon-sitemap:before { content: "\f0e8"; } .icon-umbrella:before { content: "\f0e9"; } .icon-paste:before { content: "\f0ea"; } .icon-lightbulb:before { content: "\f0eb"; } .icon-exchange:before { content: "\f0ec"; } .icon-cloud-download:before { content: "\f0ed"; } .icon-cloud-upload:before { content: "\f0ee"; } .icon-user-md:before { content: "\f0f0"; } .icon-stethoscope:before { content: "\f0f1"; } .icon-suitcase:before { content: "\f0f2"; } .icon-bell-alt:before { content: "\f0f3"; } .icon-coffee:before { content: "\f0f4"; } .icon-food:before { content: "\f0f5"; } .icon-file-text-alt:before { content: "\f0f6"; } .icon-building:before { content: "\f0f7"; } .icon-hospital:before { content: "\f0f8"; } .icon-ambulance:before { content: "\f0f9"; } .icon-medkit:before { content: "\f0fa"; } .icon-fighter-jet:before { content: "\f0fb"; } .icon-beer:before { content: "\f0fc"; } .icon-h-sign:before { content: "\f0fd"; } .icon-plus-sign-alt:before { content: "\f0fe"; } .icon-double-angle-left:before { content: "\f100"; } .icon-double-angle-right:before { content: "\f101"; } .icon-double-angle-up:before { content: "\f102"; } .icon-double-angle-down:before { content: "\f103"; } .icon-angle-left:before { content: "\f104"; } .icon-angle-right:before { content: "\f105"; } .icon-angle-up:before { content: "\f106"; } .icon-angle-down:before { content: "\f107"; } .icon-desktop:before { content: "\f108"; } .icon-laptop:before { content: "\f109"; } .icon-tablet:before { content: "\f10a"; } .icon-mobile-phone:before { content: "\f10b"; } .icon-circle-blank:before { content: "\f10c"; } .icon-quote-left:before { content: "\f10d"; } .icon-quote-right:before { content: "\f10e"; } .icon-spinner:before { content: "\f110"; } .icon-circle:before { content: "\f111"; } .icon-mail-reply:before, .icon-reply:before { content: "\f112"; } .icon-github-alt:before { content: "\f113"; } .icon-folder-close-alt:before { content: "\f114"; } .icon-folder-open-alt:before { content: "\f115"; } .icon-expand-alt:before { content: "\f116"; } .icon-collapse-alt:before { content: "\f117"; } .icon-smile:before { content: "\f118"; } .icon-frown:before { content: "\f119"; } .icon-meh:before { content: "\f11a"; } .icon-gamepad:before { content: "\f11b"; } .icon-keyboard:before { content: "\f11c"; } .icon-flag-alt:before { content: "\f11d"; } .icon-flag-checkered:before { content: "\f11e"; } .icon-terminal:before { content: "\f120"; } .icon-code:before { content: "\f121"; } .icon-reply-all:before { content: "\f122"; } .icon-mail-reply-all:before { content: "\f122"; } .icon-star-half-full:before, .icon-star-half-empty:before { content: "\f123"; } .icon-location-arrow:before { content: "\f124"; } .icon-crop:before { content: "\f125"; } .icon-code-fork:before { content: "\f126"; } .icon-unlink:before { content: "\f127"; } .icon-question:before { content: "\f128"; } .icon-info:before { content: "\f129"; } .icon-exclamation:before { content: "\f12a"; } .icon-superscript:before { content: "\f12b"; } .icon-subscript:before { content: "\f12c"; } .icon-eraser:before { content: "\f12d"; } .icon-puzzle-piece:before { content: "\f12e"; } .icon-microphone:before { content: "\f130"; } .icon-microphone-off:before { content: "\f131"; } .icon-shield:before { content: "\f132"; } .icon-calendar-empty:before { content: "\f133"; } .icon-fire-extinguisher:before { content: "\f134"; } .icon-rocket:before { content: "\f135"; } .icon-maxcdn:before { content: "\f136"; } .icon-chevron-sign-left:before { content: "\f137"; } .icon-chevron-sign-right:before { content: "\f138"; } .icon-chevron-sign-up:before { content: "\f139"; } .icon-chevron-sign-down:before { content: "\f13a"; } .icon-html5:before { content: "\f13b"; } .icon-css3:before { content: "\f13c"; } .icon-anchor:before { content: "\f13d"; } .icon-unlock-alt:before { content: "\f13e"; } .icon-bullseye:before { content: "\f140"; } .icon-ellipsis-horizontal:before { content: "\f141"; } .icon-ellipsis-vertical:before { content: "\f142"; } .icon-rss-sign:before { content: "\f143"; } .icon-play-sign:before { content: "\f144"; } .icon-ticket:before { content: "\f145"; } .icon-minus-sign-alt:before { content: "\f146"; } .icon-check-minus:before { content: "\f147"; } .icon-level-up:before { content: "\f148"; } .icon-level-down:before { content: "\f149"; } .icon-check-sign:before { content: "\f14a"; } .icon-edit-sign:before { content: "\f14b"; } .icon-external-link-sign:before { content: "\f14c"; } .icon-share-sign:before { content: "\f14d"; } .icon-compass:before { content: "\f14e"; } .icon-collapse:before { content: "\f150"; } .icon-collapse-top:before { content: "\f151"; } .icon-expand:before { content: "\f152"; } .icon-euro:before, .icon-eur:before { content: "\f153"; } .icon-gbp:before { content: "\f154"; } .icon-dollar:before, .icon-usd:before { content: "\f155"; } .icon-rupee:before, .icon-inr:before { content: "\f156"; } .icon-yen:before, .icon-jpy:before { content: "\f157"; } .icon-renminbi:before, .icon-cny:before { content: "\f158"; } .icon-won:before, .icon-krw:before { content: "\f159"; } .icon-bitcoin:before, .icon-btc:before { content: "\f15a"; } .icon-file:before { content: "\f15b"; } .icon-file-text:before { content: "\f15c"; } .icon-sort-by-alphabet:before { content: "\f15d"; } .icon-sort-by-alphabet-alt:before { content: "\f15e"; } .icon-sort-by-attributes:before { content: "\f160"; } .icon-sort-by-attributes-alt:before { content: "\f161"; } .icon-sort-by-order:before { content: "\f162"; } .icon-sort-by-order-alt:before { content: "\f163"; } .icon-thumbs-up:before { content: "\f164"; } .icon-thumbs-down:before { content: "\f165"; } .icon-youtube-sign:before { content: "\f166"; } .icon-youtube:before { content: "\f167"; } .icon-xing:before { content: "\f168"; } .icon-xing-sign:before { content: "\f169"; } .icon-youtube-play:before { content: "\f16a"; } .icon-dropbox:before { content: "\f16b"; } .icon-stackexchange:before { content: "\f16c"; } .icon-instagram:before { content: "\f16d"; } .icon-flickr:before { content: "\f16e"; } .icon-adn:before { content: "\f170"; } .icon-bitbucket:before { content: "\f171"; } .icon-bitbucket-sign:before { content: "\f172"; } .icon-tumblr:before { content: "\f173"; } .icon-tumblr-sign:before { content: "\f174"; } .icon-long-arrow-down:before { content: "\f175"; } .icon-long-arrow-up:before { content: "\f176"; } .icon-long-arrow-left:before { content: "\f177"; } .icon-long-arrow-right:before { content: "\f178"; } .icon-apple:before { content: "\f179"; } .icon-windows:before { content: "\f17a"; } .icon-android:before { content: "\f17b"; } .icon-linux:before { content: "\f17c"; } .icon-dribbble:before { content: "\f17d"; } .icon-skype:before { content: "\f17e"; } .icon-foursquare:before { content: "\f180"; } .icon-trello:before { content: "\f181"; } .icon-female:before { content: "\f182"; } .icon-male:before { content: "\f183"; } .icon-gittip:before { content: "\f184"; } .icon-sun:before { content: "\f185"; } .icon-moon:before { content: "\f186"; } .icon-archive:before { content: "\f187"; } .icon-bug:before { content: "\f188"; } .icon-vk:before { content: "\f189"; } .icon-weibo:before { content: "\f18a"; } .icon-renren:before { content: "\f18b"; } ================================================ FILE: automatic/static/css/jquery-ui.css ================================================ /*! jQuery UI - v1.12.1 - 2016-09-14 * http://jqueryui.com * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6 * Copyright jQuery Foundation and other contributors; Licensed MIT */ /* Layout helpers ----------------------------------*/ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } .ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; border-collapse: collapse; } .ui-helper-clearfix:after { clear: both; } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); /* support: IE8 */ } .ui-front { z-index: 100; } /* Interaction Cues ----------------------------------*/ .ui-state-disabled { cursor: default !important; pointer-events: none; } /* Icons ----------------------------------*/ .ui-icon { display: inline-block; vertical-align: middle; margin-top: -.25em; position: relative; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } .ui-widget-icon-block { left: 50%; margin-left: -8px; display: block; } /* Misc visuals ----------------------------------*/ /* Overlays */ .ui-widget-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; } .ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin: 2px 0 0 0; padding: .5em .5em .5em .7em; font-size: 100%; } .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; } .ui-autocomplete { position: absolute; top: 0; left: 0; cursor: default; } .ui-menu { list-style: none; padding: 0; margin: 0; display: block; outline: 0; } .ui-menu .ui-menu { position: absolute; } .ui-menu .ui-menu-item { margin: 0; cursor: pointer; /* support: IE10, see #8844 */ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); } .ui-menu .ui-menu-item-wrapper { position: relative; padding: 3px 1em 3px .4em; } .ui-menu .ui-menu-divider { margin: 5px 0; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; } .ui-menu .ui-state-focus, .ui-menu .ui-state-active { margin: -1px; } /* icon support */ .ui-menu-icons { position: relative; } .ui-menu-icons .ui-menu-item-wrapper { padding-left: 2em; } /* left-aligned */ .ui-menu .ui-icon { position: absolute; top: 0; bottom: 0; left: .2em; margin: auto 0; } /* right-aligned */ .ui-menu .ui-menu-icon { left: auto; right: 0; } .ui-button { padding: .4em 1em; display: inline-block; position: relative; line-height: normal; margin-right: .1em; cursor: pointer; vertical-align: middle; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; /* Support: IE <= 11 */ overflow: visible; } .ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; } /* to make room for the icon, a width needs to be set here */ .ui-button-icon-only { width: 2em; box-sizing: border-box; text-indent: -9999px; white-space: nowrap; } /* no icon support for input elements */ input.ui-button.ui-button-icon-only { text-indent: 0; } /* button icon element(s) */ .ui-button-icon-only .ui-icon { position: absolute; top: 50%; left: 50%; margin-top: -8px; margin-left: -8px; } .ui-button.ui-icon-notext .ui-icon { padding: 0; width: 2.1em; height: 2.1em; text-indent: -9999px; white-space: nowrap; } input.ui-button.ui-icon-notext .ui-icon { width: auto; height: auto; text-indent: 0; white-space: normal; padding: .4em 1em; } /* workarounds */ /* Support: Firefox 5 - 40 */ input.ui-button::-moz-focus-inner, button.ui-button::-moz-focus-inner { border: 0; padding: 0; } .ui-controlgroup { vertical-align: middle; display: inline-block; } .ui-controlgroup > .ui-controlgroup-item { float: left; margin-left: 0; margin-right: 0; } .ui-controlgroup > .ui-controlgroup-item:focus, .ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { z-index: 9999; } .ui-controlgroup-vertical > .ui-controlgroup-item { display: block; float: none; width: 100%; margin-top: 0; margin-bottom: 0; text-align: left; } .ui-controlgroup-vertical .ui-controlgroup-item { box-sizing: border-box; } .ui-controlgroup .ui-controlgroup-label { padding: .4em 1em; } .ui-controlgroup .ui-controlgroup-label span { font-size: 80%; } .ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { border-left: none; } .ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { border-top: none; } .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { border-right: none; } .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { border-bottom: none; } /* Spinner specific style fixes */ .ui-controlgroup-vertical .ui-spinner-input { /* Support: IE8 only, Android < 4.4 only */ width: 75%; width: calc( 100% - 2.4em ); } .ui-controlgroup-vertical .ui-spinner .ui-spinner-up { border-top-style: solid; } .ui-checkboxradio-label .ui-icon-background { box-shadow: inset 1px 1px 1px #ccc; border-radius: .12em; border: none; } .ui-checkboxradio-radio-label .ui-icon-background { width: 16px; height: 16px; border-radius: 1em; overflow: visible; border: none; } .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { background-image: none; width: 8px; height: 8px; border-width: 4px; border-style: solid; } .ui-checkboxradio-disabled { pointer-events: none; } .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } .ui-datepicker .ui-datepicker-header { position: relative; padding: .2em 0; } .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position: absolute; top: 2px; width: 1.8em; height: 1.8em; } .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } .ui-datepicker .ui-datepicker-prev { left: 2px; } .ui-datepicker .ui-datepicker-next { right: 2px; } .ui-datepicker .ui-datepicker-prev-hover { left: 1px; } .ui-datepicker .ui-datepicker-next-hover { right: 1px; } .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } .ui-datepicker .ui-datepicker-title select { font-size: 1em; margin: 1px 0; } .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year { width: 45%; } .ui-datepicker table { width: 100%; font-size: .9em; border-collapse: collapse; margin: 0 0 .4em; } .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } .ui-datepicker td { border: 0; padding: 1px; } .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding: 0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width: auto; overflow: visible; } .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float: left; } /* with multiple calendars */ .ui-datepicker.ui-datepicker-multi { width: auto; } .ui-datepicker-multi .ui-datepicker-group { float: left; } .ui-datepicker-multi .ui-datepicker-group table { width: 95%; margin: 0 auto .4em; } .ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; } .ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; } .ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; } .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width: 0; } .ui-datepicker-multi .ui-datepicker-buttonpane { clear: left; } .ui-datepicker-row-break { clear: both; width: 100%; font-size: 0; } /* RTL support */ .ui-datepicker-rtl { direction: rtl; } .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } .ui-datepicker-rtl .ui-datepicker-buttonpane { clear: right; } .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .ui-datepicker-rtl .ui-datepicker-group { float: right; } .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width: 0; border-left-width: 1px; } /* Icons */ .ui-datepicker .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; left: .5em; top: .3em; } .ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; outline: 0; } .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } .ui-dialog .ui-dialog-title { float: left; margin: .1em 0; white-space: nowrap; width: 90%; overflow: hidden; text-overflow: ellipsis; } .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 20px; margin: -10px 0 0 0; padding: 1px; height: 20px; } .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; } .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin-top: .5em; padding: .3em 1em .5em .4em; } .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } .ui-dialog .ui-resizable-n { height: 2px; top: 0; } .ui-dialog .ui-resizable-e { width: 2px; right: 0; } .ui-dialog .ui-resizable-s { height: 2px; bottom: 0; } .ui-dialog .ui-resizable-w { width: 2px; left: 0; } .ui-dialog .ui-resizable-se, .ui-dialog .ui-resizable-sw, .ui-dialog .ui-resizable-ne, .ui-dialog .ui-resizable-nw { width: 7px; height: 7px; } .ui-dialog .ui-resizable-se { right: 0; bottom: 0; } .ui-dialog .ui-resizable-sw { left: 0; bottom: 0; } .ui-dialog .ui-resizable-ne { right: 0; top: 0; } .ui-dialog .ui-resizable-nw { left: 0; top: 0; } .ui-draggable .ui-dialog-titlebar { cursor: move; } .ui-draggable-handle { -ms-touch-action: none; touch-action: none; } .ui-resizable { position: relative; } .ui-resizable-handle { position: absolute; font-size: 0.1px; display: block; -ms-touch-action: none; touch-action: none; } .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px; } .ui-progressbar { height: 2em; text-align: left; overflow: hidden; } .ui-progressbar .ui-progressbar-value { margin: -1px; height: 100%; } .ui-progressbar .ui-progressbar-overlay { background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); height: 100%; filter: alpha(opacity=25); /* support: IE8 */ opacity: 0.25; } .ui-progressbar-indeterminate .ui-progressbar-value { background-image: none; } .ui-selectable { -ms-touch-action: none; touch-action: none; } .ui-selectable-helper { position: absolute; z-index: 100; border: 1px dotted black; } .ui-selectmenu-menu { padding: 0; margin: 0; position: absolute; top: 0; left: 0; display: none; } .ui-selectmenu-menu .ui-menu { overflow: auto; overflow-x: hidden; padding-bottom: 1px; } .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { font-size: 1em; font-weight: bold; line-height: 1.5; padding: 2px 0.4em; margin: 0.5em 0 0 0; height: auto; border: 0; } .ui-selectmenu-open { display: block; } .ui-selectmenu-text { display: block; margin-right: 20px; overflow: hidden; text-overflow: ellipsis; } .ui-selectmenu-button.ui-button { text-align: left; white-space: nowrap; width: 14em; } .ui-selectmenu-icon.ui-icon { float: right; margin-top: 0; } .ui-slider { position: relative; text-align: left; } .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; -ms-touch-action: none; touch-action: none; } .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } /* support: IE8 - See #6727 */ .ui-slider.ui-state-disabled .ui-slider-handle, .ui-slider.ui-state-disabled .ui-slider-range { filter: inherit; } .ui-slider-horizontal { height: .8em; } .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } .ui-slider-horizontal .ui-slider-range-min { left: 0; } .ui-slider-horizontal .ui-slider-range-max { right: 0; } .ui-slider-vertical { width: .8em; height: 100px; } .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-slider-vertical .ui-slider-range-max { top: 0; } .ui-sortable-handle { -ms-touch-action: none; touch-action: none; } .ui-spinner { position: relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; } .ui-spinner-input { border: none; background: none; color: inherit; padding: .222em 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 2em; } .ui-spinner-button { width: 1.6em; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; } /* more specificity required here to override default borders */ .ui-spinner a.ui-spinner-button { border-top-style: none; border-bottom-style: none; border-right-style: none; } .ui-spinner-up { top: 0; } .ui-spinner-down { bottom: 0; } .ui-tabs { position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ padding: .2em; } .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom-width: 0; padding: 0; white-space: nowrap; } .ui-tabs .ui-tabs-nav .ui-tabs-anchor { float: left; padding: .5em 1em; text-decoration: none; } .ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; } .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { cursor: text; } .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { cursor: pointer; } .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } .ui-tooltip { padding: 8px; position: absolute; z-index: 9999; max-width: 300px; } body .ui-tooltip { border-width: 2px; } /* Component containers ----------------------------------*/ .ui-widget { font-family: Arial,Helvetica,sans-serif; font-size: 1em; } .ui-widget .ui-widget { font-size: 1em; } .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial,Helvetica,sans-serif; font-size: 1em; } .ui-widget.ui-widget-content { border: 1px solid #c5c5c5; } .ui-widget-content { border: 1px solid #dddddd; background: #ffffff; color: #333333; } .ui-widget-content a { color: #333333; } .ui-widget-header { border: 1px solid #dddddd; background: #e9e9e9; color: #333333; font-weight: bold; } .ui-widget-header a { color: #333333; } /* Interaction states ----------------------------------*/ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, /* We use html here because we need a greater specificity to make sure disabled works properly when clicked or hovered */ html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { border: 1px solid #c5c5c5; background: #f6f6f6; font-weight: normal; color: #454545; } .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited, a.ui-button, a:link.ui-button, a:visited.ui-button, .ui-button { color: #454545; text-decoration: none; } .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus { border: 1px solid #cccccc; background: #ededed; font-weight: normal; color: #2b2b2b; } .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited, .ui-state-focus a, .ui-state-focus a:hover, .ui-state-focus a:link, .ui-state-focus a:visited, a.ui-button:hover, a.ui-button:focus { color: #2b2b2b; text-decoration: none; } .ui-visual-focus { box-shadow: 0 0 3px 1px rgb(94, 158, 214); } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { border: 1px solid #003eff; background: #007fff; font-weight: normal; color: #ffffff; } .ui-icon-background, .ui-state-active .ui-icon-background { border: #003eff; background-color: #ffffff; } .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } /* Interaction Cues ----------------------------------*/ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #dad55e; background: #fffa90; color: #777620; } .ui-state-checked { border: 1px solid #dad55e; background: #fffa90; } .ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { color: #777620; } .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #f1a899; background: #fddfdf; color: #5f3f3f; } .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #5f3f3f; } .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #5f3f3f; } .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); /* support: IE8 */ font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); /* support: IE8 */ background-image: none; } .ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ } /* Icons ----------------------------------*/ /* states and images */ .ui-icon { width: 16px; height: 16px; } .ui-icon, .ui-widget-content .ui-icon { background-image: url("images/ui-icons_444444_256x240.png"); } .ui-widget-header .ui-icon { background-image: url("images/ui-icons_444444_256x240.png"); } .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-button:hover .ui-icon, .ui-button:focus .ui-icon { background-image: url("images/ui-icons_555555_256x240.png"); } .ui-state-active .ui-icon, .ui-button:active .ui-icon { background-image: url("images/ui-icons_ffffff_256x240.png"); } .ui-state-highlight .ui-icon, .ui-button .ui-state-highlight.ui-icon { background-image: url("images/ui-icons_777620_256x240.png"); } .ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background-image: url("images/ui-icons_cc0000_256x240.png"); } .ui-button .ui-icon { background-image: url("images/ui-icons_777777_256x240.png"); } /* positioning */ .ui-icon-blank { background-position: 16px 16px; } .ui-icon-caret-1-n { background-position: 0 0; } .ui-icon-caret-1-ne { background-position: -16px 0; } .ui-icon-caret-1-e { background-position: -32px 0; } .ui-icon-caret-1-se { background-position: -48px 0; } .ui-icon-caret-1-s { background-position: -65px 0; } .ui-icon-caret-1-sw { background-position: -80px 0; } .ui-icon-caret-1-w { background-position: -96px 0; } .ui-icon-caret-1-nw { background-position: -112px 0; } .ui-icon-caret-2-n-s { background-position: -128px 0; } .ui-icon-caret-2-e-w { background-position: -144px 0; } .ui-icon-triangle-1-n { background-position: 0 -16px; } .ui-icon-triangle-1-ne { background-position: -16px -16px; } .ui-icon-triangle-1-e { background-position: -32px -16px; } .ui-icon-triangle-1-se { background-position: -48px -16px; } .ui-icon-triangle-1-s { background-position: -65px -16px; } .ui-icon-triangle-1-sw { background-position: -80px -16px; } .ui-icon-triangle-1-w { background-position: -96px -16px; } .ui-icon-triangle-1-nw { background-position: -112px -16px; } .ui-icon-triangle-2-n-s { background-position: -128px -16px; } .ui-icon-triangle-2-e-w { background-position: -144px -16px; } .ui-icon-arrow-1-n { background-position: 0 -32px; } .ui-icon-arrow-1-ne { background-position: -16px -32px; } .ui-icon-arrow-1-e { background-position: -32px -32px; } .ui-icon-arrow-1-se { background-position: -48px -32px; } .ui-icon-arrow-1-s { background-position: -65px -32px; } .ui-icon-arrow-1-sw { background-position: -80px -32px; } .ui-icon-arrow-1-w { background-position: -96px -32px; } .ui-icon-arrow-1-nw { background-position: -112px -32px; } .ui-icon-arrow-2-n-s { background-position: -128px -32px; } .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } .ui-icon-arrow-2-e-w { background-position: -160px -32px; } .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } .ui-icon-arrowstop-1-n { background-position: -192px -32px; } .ui-icon-arrowstop-1-e { background-position: -208px -32px; } .ui-icon-arrowstop-1-s { background-position: -224px -32px; } .ui-icon-arrowstop-1-w { background-position: -240px -32px; } .ui-icon-arrowthick-1-n { background-position: 1px -48px; } .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } .ui-icon-arrowthick-1-e { background-position: -32px -48px; } .ui-icon-arrowthick-1-se { background-position: -48px -48px; } .ui-icon-arrowthick-1-s { background-position: -64px -48px; } .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } .ui-icon-arrowthick-1-w { background-position: -96px -48px; } .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } .ui-icon-arrow-4 { background-position: 0 -80px; } .ui-icon-arrow-4-diag { background-position: -16px -80px; } .ui-icon-extlink { background-position: -32px -80px; } .ui-icon-newwin { background-position: -48px -80px; } .ui-icon-refresh { background-position: -64px -80px; } .ui-icon-shuffle { background-position: -80px -80px; } .ui-icon-transfer-e-w { background-position: -96px -80px; } .ui-icon-transferthick-e-w { background-position: -112px -80px; } .ui-icon-folder-collapsed { background-position: 0 -96px; } .ui-icon-folder-open { background-position: -16px -96px; } .ui-icon-document { background-position: -32px -96px; } .ui-icon-document-b { background-position: -48px -96px; } .ui-icon-note { background-position: -64px -96px; } .ui-icon-mail-closed { background-position: -80px -96px; } .ui-icon-mail-open { background-position: -96px -96px; } .ui-icon-suitcase { background-position: -112px -96px; } .ui-icon-comment { background-position: -128px -96px; } .ui-icon-person { background-position: -144px -96px; } .ui-icon-print { background-position: -160px -96px; } .ui-icon-trash { background-position: -176px -96px; } .ui-icon-locked { background-position: -192px -96px; } .ui-icon-unlocked { background-position: -208px -96px; } .ui-icon-bookmark { background-position: -224px -96px; } .ui-icon-tag { background-position: -240px -96px; } .ui-icon-home { background-position: 0 -112px; } .ui-icon-flag { background-position: -16px -112px; } .ui-icon-calendar { background-position: -32px -112px; } .ui-icon-cart { background-position: -48px -112px; } .ui-icon-pencil { background-position: -64px -112px; } .ui-icon-clock { background-position: -80px -112px; } .ui-icon-disk { background-position: -96px -112px; } .ui-icon-calculator { background-position: -112px -112px; } .ui-icon-zoomin { background-position: -128px -112px; } .ui-icon-zoomout { background-position: -144px -112px; } .ui-icon-search { background-position: -160px -112px; } .ui-icon-wrench { background-position: -176px -112px; } .ui-icon-gear { background-position: -192px -112px; } .ui-icon-heart { background-position: -208px -112px; } .ui-icon-star { background-position: -224px -112px; } .ui-icon-link { background-position: -240px -112px; } .ui-icon-cancel { background-position: 0 -128px; } .ui-icon-plus { background-position: -16px -128px; } .ui-icon-plusthick { background-position: -32px -128px; } .ui-icon-minus { background-position: -48px -128px; } .ui-icon-minusthick { background-position: -64px -128px; } .ui-icon-close { background-position: -80px -128px; } .ui-icon-closethick { background-position: -96px -128px; } .ui-icon-key { background-position: -112px -128px; } .ui-icon-lightbulb { background-position: -128px -128px; } .ui-icon-scissors { background-position: -144px -128px; } .ui-icon-clipboard { background-position: -160px -128px; } .ui-icon-copy { background-position: -176px -128px; } .ui-icon-contact { background-position: -192px -128px; } .ui-icon-image { background-position: -208px -128px; } .ui-icon-video { background-position: -224px -128px; } .ui-icon-script { background-position: -240px -128px; } .ui-icon-alert { background-position: 0 -144px; } .ui-icon-info { background-position: -16px -144px; } .ui-icon-notice { background-position: -32px -144px; } .ui-icon-help { background-position: -48px -144px; } .ui-icon-check { background-position: -64px -144px; } .ui-icon-bullet { background-position: -80px -144px; } .ui-icon-radio-on { background-position: -96px -144px; } .ui-icon-radio-off { background-position: -112px -144px; } .ui-icon-pin-w { background-position: -128px -144px; } .ui-icon-pin-s { background-position: -144px -144px; } .ui-icon-play { background-position: 0 -160px; } .ui-icon-pause { background-position: -16px -160px; } .ui-icon-seek-next { background-position: -32px -160px; } .ui-icon-seek-prev { background-position: -48px -160px; } .ui-icon-seek-end { background-position: -64px -160px; } .ui-icon-seek-start { background-position: -80px -160px; } /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ .ui-icon-seek-first { background-position: -80px -160px; } .ui-icon-stop { background-position: -96px -160px; } .ui-icon-eject { background-position: -112px -160px; } .ui-icon-volume-off { background-position: -128px -160px; } .ui-icon-volume-on { background-position: -144px -160px; } .ui-icon-power { background-position: 0 -176px; } .ui-icon-signal-diag { background-position: -16px -176px; } .ui-icon-signal { background-position: -32px -176px; } .ui-icon-battery-0 { background-position: -48px -176px; } .ui-icon-battery-1 { background-position: -64px -176px; } .ui-icon-battery-2 { background-position: -80px -176px; } .ui-icon-battery-3 { background-position: -96px -176px; } .ui-icon-circle-plus { background-position: 0 -192px; } .ui-icon-circle-minus { background-position: -16px -192px; } .ui-icon-circle-close { background-position: -32px -192px; } .ui-icon-circle-triangle-e { background-position: -48px -192px; } .ui-icon-circle-triangle-s { background-position: -64px -192px; } .ui-icon-circle-triangle-w { background-position: -80px -192px; } .ui-icon-circle-triangle-n { background-position: -96px -192px; } .ui-icon-circle-arrow-e { background-position: -112px -192px; } .ui-icon-circle-arrow-s { background-position: -128px -192px; } .ui-icon-circle-arrow-w { background-position: -144px -192px; } .ui-icon-circle-arrow-n { background-position: -160px -192px; } .ui-icon-circle-zoomin { background-position: -176px -192px; } .ui-icon-circle-zoomout { background-position: -192px -192px; } .ui-icon-circle-check { background-position: -208px -192px; } .ui-icon-circlesmall-plus { background-position: 0 -208px; } .ui-icon-circlesmall-minus { background-position: -16px -208px; } .ui-icon-circlesmall-close { background-position: -32px -208px; } .ui-icon-squaresmall-plus { background-position: -48px -208px; } .ui-icon-squaresmall-minus { background-position: -64px -208px; } .ui-icon-squaresmall-close { background-position: -80px -208px; } .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } .ui-icon-grip-solid-vertical { background-position: -32px -224px; } .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } .ui-icon-grip-diagonal-se { background-position: -80px -224px; } /* Misc visuals ----------------------------------*/ /* Corner radius */ .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { border-top-left-radius: 3px; } .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { border-top-right-radius: 3px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { border-bottom-left-radius: 3px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { border-bottom-right-radius: 3px; } /* Overlays */ .ui-widget-overlay { background: #aaaaaa; opacity: .003; filter: Alpha(Opacity=.3); /* support: IE8 */ } .ui-widget-shadow { -webkit-box-shadow: 0px 0px 5px #666666; box-shadow: 0px 0px 5px #666666; } ================================================ FILE: automatic/static/css/login-app.css ================================================ @charset "UTF-8";html{overflow:visible}body,input,textarea{font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei;-webkit-font-smoothing:antialiased}body,html{height:100%}body{background:#F7F6F2}a{color:#2D59A2;text-decoration:none;border-bottom:1px solid inherit}a.hovered:hover{border-bottom:1px solid #2D59A2}a.green{color:#A1CF64!important}a.green.hovered:hover{border-bottom:1px solid #A1CF64}a.red{color:#D95C5C!important}a.red.hovered:hover{border-bottom:1px solid #D95C5C}code{font-family:Consolas,Courier,'微软雅黑',"Liberation Mono",monospace!important}.monospaced-font{font-family:Consolas,Courier,Courier New,'Liberation Mono',monospace!important}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both;overflow:hidden}.clearfix{zoom:1}.ellipsis{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.ellipsis-2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}.empty.list{width:auto;padding:10px;font-size:12px;color:#999}.empty.list.center{text-align:center}.empty.list.right{text-align:right}a.down.more:before,a.right.more:before,a.up.more:before{display:inline-block;opacity:.75;margin:0 .25em 0 0;width:1.23em;height:1em;font-family:Icons;font-style:normal;line-height:1;font-weight:400;text-decoration:inherit;text-align:center;speak:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}a.down.more:before{content:'\f103'}a.right.more:before{content:'\f061'}a.up.more:before{content:'\f102'}a.more{display:block;font-size:14px;color:#999}a.center.more{text-align:center}a.more:hover{color:#2D59A2}a img{border:none}[class*="-center"]>.wrapper{-webkit-transition:padding-left ease-in-out .3s;-moz-transition:padding-left ease-in-out .3s;-ms-transition:padding-left ease-in-out .3s;-o-transition:padding-left ease-in-out .3s;transition:padding-left ease-in-out .3s;padding:60px 0 0}[class*="-center"]>.wrapper>section{padding:14px 40px}#global-modal .actions>.button{font-size:14px}textarea.comment{font-size:13px;border:1px solid #CCC;padding:5px 0 0 5px;background:#FFF;border-radius:3px;color:rgba(0,0,0,.7);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:0;resize:none;margin-left:42px;width:60%;height:23px}#top-menu{height:60px;padding:0;z-index:1000}#top-menu .header{font-size:20px;line-height:40px;text-align:center;height:40px;margin:auto;padding:10px 0;position:relative}#top-menu .ui.coding.login.button,#top-menu .ui.coding.register.button{padding:0 2em;font-weight:400}#top-menu .ui.coding.register.button{background-color:#323A45!important;color:#fff!important;margin-left:15px}#top-menu .not-login-menu>a.item,#top-menu .not-login-menu>div{margin-left:10px!important;margin-right:10px!important}#top-menu .not-login-menu>a.item.func-item{padding-left:5px!important;padding-right:5px!important}#top-menu .left.menu{position:absolute;margin:9px 0;left:75px;top:0;z-index:999}#top-menu .left.menu .item{font-size:16px}#top-menu .left.menu .item:before{height:0}#top-menu .left.menu a.item{padding:3px 5px;margin:10px 2px;text-align:center;font-size:14px}#top-menu .left.menu a.item .icon{margin-right:0}#top-menu .right.menu{position:absolute;top:0;right:0;padding:0}#top-menu .right.menu .dropdown .menu{width:120px}#top-menu .right.menu .dropdown .menu:after{right:55px;left:auto}#top-menu .right.menu .dropdown .menu.wide{width:300px!important}#top-menu .right.menu .dropdown .menu.task-menu{width:auto;left:-30px}#top-menu .right.menu .dropdown .menu.wide.task-menu{left:-88px}#top-menu .right.menu .dropdown .menu.wide.task-menu:after{right:178px}#top-menu .right.menu .dropdown .menu.message-menu{left:-148px}#top-menu .right.menu .dropdown .menu.message-menu:after{right:118px}#top-menu .right.menu .dropdown:hover .menu.message-menu{height:310px}#top-menu .right.menu .dropdown.icon{padding-left:50px;margin:0;font-size:24px}#top-menu .right.menu .add .menu{left:-30px}#top-menu .right.menu .add .menu :after{right:55px}#top-menu .right.menu .item{padding:17.5px 15px}#top-menu .right.menu .item:before{height:0}#top-menu .right.menu .icon.item i.icon{font-size:25px;z-index:999}#top-menu .right.menu>.login.button,#top-menu .right.menu>.register.button{margin:15px 6px}#top-menu .logo{padding:0;margin:0;position:absolute;left:0;top:0;z-index:999}#top-menu .inbox.message:after{content:'';width:8px;height:8px;border-radius:8px;background-color:#f75288;position:absolute;right:14px;top:14px;border:2px solid #FFF}#top-menu .public-pages{position:absolute;top:2px;left:150px;width:352px;height:40px}#top-menu .public-pages .folded{display:none}#top-menu .public-pages .normal .dropdown>.no-arrow{margin-right:2px}#top-menu .public-pages .normal .dropdown>.no-arrow :after{border:none}#top-menu .public-pages .normal .dropdown>.item{margin-right:10px}#top-menu .public-pages .normal .dropdown>.item:after{content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;position:absolute;top:10px;right:-7px}#top-menu #quick-search{margin-top:3px}#top-menu #quick-search .search:focus{width:340px}#top-menu .list-wrapper{position:absolute;top:0;left:0;right:0;bottom:36px;overflow:auto}#top-menu .list-wrapper .list{font-size:12px;border-bottom:2px solid #EFEFEF;overflow:hidden;margin:0 10px;padding:6px 0;box-sizing:border-box;cursor:default;transition:background .2s ease}#top-menu .list-wrapper .list:last-child{border-bottom:none}#top-menu .list-wrapper .list:hover{background:#F9F9F9}#top-menu .list-wrapper .list.unread{color:#333;font-weight:700}#top-menu .list-wrapper .list.oneline{height:36px;line-height:22px}#top-menu .list-wrapper .list.twoline{height:48px;line-height:18px;white-space:normal}#top-menu .list-wrapper .list .loading{line-height:initial;text-align:center}#top-menu .list-wrapper .list.empty{padding-top:100px;text-align:center}#top-menu .list-wrapper .list.empty:hover{background:none!important}#top-menu .list-wrapper .list.empty .button{margin-top:20px;font-weight:400}#top-menu .list-wrapper .message.list{display:block;position:relative}#top-menu .list-wrapper .message.list .reply.icon{display:none}#top-menu .list-wrapper .message.list.replied .reply.icon{display:inline-block}#top-menu .list-wrapper .message.list>div,#top-menu .list-wrapper .message.list>img{float:left}#top-menu .list-wrapper .message.list>img{width:36px;height:36px;border-radius:50%;margin:0 6px}#top-menu .list-wrapper .message.list .message-content{color:#666;top:24px}#top-menu .list-wrapper .message.list .message-content,#top-menu .list-wrapper .message.list .message-friend{width:100%;box-sizing:border-box;padding:3px 8px 3px 50px;position:absolute}#top-menu .list-wrapper .message.list .message-content p,#top-menu .list-wrapper .message.list .message-friend p{margin:0}#top-menu .frames{position:absolute;top:36px;left:0;right:0;bottom:0}#top-menu .frames .frame{height:276px}#top-menu .frames .show-all-link{position:absolute;left:0;right:0;bottom:0;height:36px;line-height:36px;font-size:12px;text-align:center;color:#666;border-top:2px solid #EFEFEF}@media only screen and (min-width:1260px) and (max-width:1420px){#top-menu .left.menu a.item{margin:10px 2px}}@media only screen and (max-width:1260px){#top-menu .public-pages>a{display:list-item!important;list-style:none;width:50px}#top-menu .public-pages .normal{display:none}#top-menu .public-pages .folded{display:block;position:relative;width:50px}#top-menu .public-pages .folded:after{content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;position:absolute;top:20px;right:0}.random-background.account-background #top-menu .public-pages{background:0 0}.random-background.account-background #top-menu .public-pages:hover{background:rgba(255,255,255,.5)}}.menu-item-wrapper{width:114px;padding-left:360px;height:100%}.menu-item-wrapper .item{border-top:none!important}.menu-item-wrapper .item.with-border-bottom{border-bottom:1px solid #DDD!important}.top-menu-tasks .list .empty{width:100px}.top-menu-tasks .task{position:relative;height:36px;line-height:36px;padding:0 6px;box-sizing:border-box;transition:background .2s ease}.top-menu-tasks .task:hover{background:rgba(0,0,0,.02)}.top-menu-tasks .task:last-child{text-align:center}.top-menu-tasks .task:last-child>div{border-bottom:none}.top-menu-tasks .task>div{margin:0 6px;color:#333;position:absolute;top:0;left:0;right:0;bottom:0;border-bottom:1px solid #DDD}.top-menu-tasks .task>div:hover{color:#333}.top-menu-tasks .task>div:last-child{color:#666}.top-menu-tasks .task .status{font-size:1em;color:#333}.top-menu-tasks .task .status i{margin:0;width:1em}.top-menu-tasks .task .task-urgency-dropdown{position:relative!important;width:auto!important;vertical-align:top}.top-menu-tasks .task .task-urgency-dropdown .task-urgency-wrapper{position:relative!important}.top-menu-tasks .task .task-urgency-dropdown .urgency.icon{float:left;margin-left:4px;line-height:36px}.top-menu-tasks .task .date{display:inline-block;padding:2px 4px;color:#FFF;background:#90A9C2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;cursor:pointer;line-height:1em;font-size:12px;margin:0 .4em 0 .1em}.top-menu-tasks .task .date.expired{background:#D04D4D}.top-menu-tasks .task .date.today{background:#F25858}.top-menu-tasks .task .date.tomorrow{background:#F4AE60}.top-menu-tasks .task .date.done{background:#999!important}.top-menu-tasks .task .title,.top-menu-tasks .task a,.top-menu-tasks .task a:hover{color:#666}.top-menu-tasks .task .title.em,.top-menu-tasks .task a.em,.top-menu-tasks .task a:hover.em{font-weight:700;color:#333}.menu.wide .tabs{height:36px}.menu.wide .tabs .tab{float:left;height:36px;line-height:36px;border-bottom:2px solid #EEE;box-sizing:border-box;font-size:14px;text-align:center;cursor:pointer;transition:background .2s ease}.menu.wide .tabs .tab:hover{background:rgba(0,0,0,.02)}.menu.wide .tabs .tab.active{font-weight:700;border-bottom-color:#999}.menu.wide .tabs .tab>span{background:#F75288;border-radius:10px;font-size:12px;min-width:20px;height:20px;line-height:20px;padding:0 2px;box-sizing:border-box;color:#FFF;display:inline-block;font-weight:400}#top-menu .avatar.image{position:absolute;margin-top:-10px;height:40px;width:40px;z-index:999;-webkit-border-radius:40px;-moz-border-radius:40px;border-radius:40px}#top-menu .avatar img{height:40px;width:40px}#top-menu input.search{width:120px;-webkit-transition:all ease-in-out .3s;-moz-transition:all ease-in-out .3s;-ms-transition:all ease-in-out .3s;-o-transition:all ease-in-out .3s;transition:all ease-in-out .3s}.not-confirmed-top#top-menu{top:24px}@media screen and (max-width:880px){.not-confirmed-top#top-menu{top:40.5px}}@media screen and (max-width:442px){.not-confirmed-top#top-menu{top:57px}}#dropdown-icon:before{content:"\f107"}.mart-logo{padding:0!important;height:60px}.mart-logo a{padding:5px 10px 0!important;height:60px}.mart-logo img{height:50px}.mart-logo .vertical-line{position:absolute;top:0;right:0;margin-top:20px;height:20px;border-left:1px solid rgba(0,0,0,.2)}.coding .ui.menu:not(.vertical) .item>.input>.icon{padding-top:.82em}.ui.menu a.item.func-item{line-height:normal!important;margin:0!important;padding:6px 14px!important;font-weight:400!important;text-align:left!important}.search-input input.search:focus{width:340px!important}.project-num{position:absolute;width:auto;line-height:12px;background:#f75288;border-radius:10px;padding:2px 6px;color:#FFF;font-size:10px;border:2px solid #FFF;text-align:center;transform:scale(0.875);margin-top:-2px}#context-menu{width:80px!important;height:100%!important;overflow-y:auto;top:60px;-webkit-transition:margin-left .8s ease,margin-top .8s ease;-moz-transition:margin-left .8s ease,margin-top .8s ease;transition:margin-left .8s ease,margin-top .8s ease}#context-menu.active+.wrapper{margin-left:80px}#context-menu a.item{text-align:center;height:60px!important}#context-menu i.icon{margin-bottom:3px!important}#context-avatar{border:1px solid #FFF;margin-top:3px;background:#FFF}#context-menu .item:before{height:0}#context-menu .item.divider{height:30px!important}#context-menu .item.divider:last-child{height:60px!important}#context-menu .menu-title{font-size:12px}.not-confirmed-sidebar#context-menu{top:84px}@media screen and (max-width:880px){.not-confirmed-sidebar#context-menu{top:100.5px}}@media screen and (max-width:442px){.not-confirmed-sidebar#context-menu{top:117px}}#need-confirm-email{width:100%;text-align:center;z-index:1000;position:fixed;font-weight:700;padding:2px;font-size:14px;height:24px}@media screen and (max-width:880px){#need-confirm-email{height:40.5px}}@media screen and (max-width:442px){#need-confirm-email{height:57px}}@media only screen and (max-height:660px){#context-menu a.item{width:100%;height:auto!important;display:inline-block;padding:8px 0}}#inner-menu~.container{margin-left:200px;padding:30px 60px 0}#inner-menu{width:200px;height:100%!important;overflow-y:hidden;border-right:1px solid #CCC}#inner-menu:hover{overflow-y:auto}#inner-menu>.sep{width:100%;height:1px;background:#CCC;visibility:visible;margin:20px 0}#inner-menu header.item{font-size:18px;padding:30px 25px 10px}#inner-menu header a{float:right}#inner-menu header a i.icon{margin:0}#inner-menu header article{margin:5px 0;font-size:12px;font-weight:400;line-height:16px;color:#666;word-wrap:break-word;word-break:normal}#inner-menu a.item{font-size:14px;padding:10px 25px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#inner-menu a.item.active{border-radius:0}#inner-menu a.item i.icon{float:none;margin:0 .25em 0 0}.scroll-holder{display:block;height:60px}#project-list .item{position:relative;margin:5px;display:inline-block;vertical-align:top;text-align:center;font-size:12px;width:120px}#project-list .item img{margin:0;padding:0;border-radius:3px}#project-list .project-name{word-break:break-all;margin-top:15px;color:#666}#project-list .project-name i.lock.icon{margin:0 -4px 0 0;padding:0}#project-list .create-project{float:left;width:117px;height:118px;border:1px dashed #CCC;text-align:center;line-height:119px;display:inline-block;margin:0 0 15px;padding:0}#project-list .create-project .add.icon{margin:0}#project-list .item.loading{height:120px;line-height:110px}#project-list .list.view{display:block;position:relative;margin:0 10px;padding:20px 0;border-bottom:1px solid #DDD;min-height:56px}#project-list .list.view>.icon{position:relative;float:left;display:inline-block;width:56px;height:56px}#project-list .list.view>.icon img{border-radius:3px;border:1px solid #EEE}#project-list .list.view>.info{font-size:14px;padding-left:75px}#project-list .list.view>.info p.name{margin:7px 0 6px}#project-list .list.view>.info p.name a{color:#000;font-size:16px}#project-list .list.view>.info p.description{margin:0;color:#666;word-break:break-all;display:block;height:20px;line-height:20px;overflow:hidden}.message-tip{position:absolute;padding:2px;right:10px;top:0;width:auto;min-width:12px;height:12px;line-height:12px;background:#f75288;border-radius:12px;color:#FFF;font-size:10px;font-style:normal;border:2px solid #FFF;text-align:center}.dark.message-tip{border:2px solid #000}.message-tip.tiny{top:-5px;right:-8px}.message-breath{box-shadow:0 1px 8px #f75288}@-webkit-keyframes breathe{0%{box-shadow:0 1px 4px rgba(255,255,255,.1)}100%{box-shadow:0 0 15px #f75288}}.avatar-title-action{position:relative;display:table;width:100%}.avatar-title-action>.action,.avatar-title-action>.avatar,.avatar-title-action>.title{display:table-cell;vertical-align:middle}@media only screen and (max-width:767px){#top-menu .left.menu,#top-menu .right.menu .add-project,#top-menu .right.menu .inbox{display:none}}@media only screen and (min-width:1400px){#project-list .list.view{display:inline-block;width:46%;vertical-align:top}#project-list .list.view:nth-child(2n+1){margin-right:4%}}.cg.flash{width:300px;font-size:14px;margin-left:-150px;position:fixed;top:-500px;left:50%;z-index:9999;background-color:#F4F4F4;color:#666;border-bottom-left-radius:5px;border-bottom-right-radius:5px;-webkit-box-shadow:2px 2px 7px #CCC;-moz-box-shadow:2px 2px 7px #CCC;-ms-box-shadow:2px 2px 7px #CCC;-o-box-shadow:2px 2px 7px #CCC;box-shadow:2px 2px 7px #CCC;-webkit-transition:all ease-in-out .6s;-moz-transition:all ease-in-out .6s;-ms-transition:all ease-in-out .6s;-o-transition:all ease-in-out .6s;transition:all ease-in-out .6s;opacity:0}.cg.flash>.hide,.cg.flash>.more{padding:3px;font-size:12px;cursor:pointer}.cg.flash>.outer{max-height:300px;overflow-x:hidden;overflow-y:auto;-webkit-transition:margin ease-in-out .2s;-moz-transition:margin ease-in-out .2s;-ms-transition:margin ease-in-out .2s;-o-transition:margin ease-in-out .2s;transition:margin ease-in-out .2s}.cg.flash:hover>.outer{margin-top:15px}.cg.flash>.outer>.message{height:0;opacity:0;-webkit-transition:all linear .6s;-moz-transition:all linear .6s;-ms-transition:all linear .6s;-o-transition:all linear .6s;transition:all linear .6s;position:relative}.cg.flash>.outer>.active.message{opacity:1;height:auto;padding:10px;word-break:break-all}.cg.flash>.close.icon:first-child{z-index:inherit;position:absolute;right:-5px;top:-14px;opacity:0;color:#A95252;display:inline;cursor:pointer;-webkit-transition:all ease-in-out .2s;-moz-transition:all ease-in-out .2s;-ms-transition:all ease-in-out .2s;-o-transition:all ease-in-out .2s;transition:all ease-in-out .2s}.cg.flash:hover>.close.icon:first-child{opacity:1;top:0}.cg.center.flash{text-align:center}.cg.active.flash{top:0;opacity:1}.cg.flash>.outer>.success.message,.cg.success.flash{background-color:#DEFCD5;color:#52A954}.cg.fail.flash,.cg.flash>.outer>.fail.message{background-color:#F1D7D7;color:#A95252}.cg.flash>.outer>.warn.message,.cg.warn.flash{background-color:#F6F3D5;color:#96904D}.cg.pagination-outer{display:block;margin:10px}.cg.inline.pagination-outer{display:inline-block}.cg.center.pagination-outer{text-align:center}.cg.pagination{height:auto;background:#FFF;width:auto;display:inline-block;padding:5px;border-radius:2px}.cg.left.pagination-outer .cg.pagination{float:left}.cg.right.pagination-outer .cg.pagination{float:right}.cg.pagination .page{min-width:20px;margin:3px;font-size:10px;display:inline-block;text-align:center;cursor:pointer;color:#999}.cg.pagination .page i.icon{margin:0;background:0 0}.cg.pagination .page.active,.cg.pagination .page:hover{background:#EEE;color:#000}.cg.pagination .page.next:hover,.cg.pagination .page.prev:hover{background:0 0}.file-icon{float:left;margin-right:5px;width:45px;height:45px;text-align:center;background:50% 50%/contain #000;color:#fff;-webkit-background-size:contain;box-sizing:border-box;line-height:45px;font-weight:bolder}.file-icon.img{width:45px;height:45px;background:0 0}.file-icon.doc,.file-icon.docx{background-color:#4a83dc}.file-icon.ppt,.file-icon.pptx{background-color:#fcba17}.file-icon.pdf{background-color:#ff0034}.file-icon.xls,.file-icon.xlsx{background-color:#00c075}.file-icon.txt{background-color:#b5bbc4}.file-icon.rar,.file-icon.zip{background-color:#8e6dd2}.file-icon.html,.file-icon.markd,.file-icon.markdown,.file-icon.md,.file-icon.mdown{background-color:#c5f0e9}img.emotion.emoji{width:22px!important;vertical-align:middle}img.emotion.monkey{width:96px;vertical-align:bottom}cg-emotion>.ui.top.right.pointing.emotion.box:first-child{top:3px;right:-.75em}.ui.top.right.pointing.emotion.box .menu:after{right:.75em}cg-emotion>.ui.top.right.pointing.emotion.box:first-child .menu:after{right:1em}.ui.dropdown.emotion.box .item{padding:0!important;background:#FFF!important}.ui.dropdown.emotion.box .item:hover{background-color:#FFF}.ui.dropdown.emotion.box .emotions.coding{padding:5px;width:348px;transition:display .5s;-webkit-transition:display .5s;-moz-transition:display .5s;-o-transition:display .5s}.ui.dropdown.emotion.box .emotions.coding ul{list-style:none;padding:0;margin:0}.ui.dropdown.emotion.box .emotions.coding li.coding-emoji{background-image:url(/static/2caef0ae611d6f3d10b521aa71787b6b.png)}.ui.dropdown.emotion.box .emotions.coding li.festival-emoji{background-image:url(/static/6d8aaa2341cdffdb15912bbe4e849744.png)}.ui.dropdown.emotion.box .emotions.coding li.coding-emoji,.ui.dropdown.emotion.box .emotions.coding li.festival-emoji{width:50px;height:50px;float:left;background-repeat:no-repeat;border:1px solid #EEE;margin:3px;cursor:pointer;background-size:auto 50px}.ui.dropdown.emotion.box .emotions.emojis{transition:display .5s;-webkit-transition:display .5s;-moz-transition:display .5s;-o-transition:display .5s}.ui.dropdown.emotion.box .tabs{border-top:1px solid #eee}.ui.dropdown.emotion.box li:hover{border:1px solid #AAA!important}.ui.dropdown.emotion.box .tab{padding:5px 10px;margin-left:7px;font-size:14px;float:left;text-align:center;background:#FFF;border-bottom:0;line-height:24px;color:#666}.ui.dropdown.emotion.box .tab.active{border-bottom:1px solid #000!important;margin-bottom:0;color:#000;background:#FFF!important}.ui.dropdown.emotion.box .tab img.small{height:23px;padding:2px}.ui.dropdown.emotion.box .tab img{height:25px;padding:1px}.ui.dropdown.emotion.box .emotions.emojis{width:348px;background:#FFF;padding:5px;display:inline-block}.ui.dropdown.emotion.box .emotions.emojis ul{margin:0;padding:0}.ui.dropdown.emotion.box .emotions.emojis ul li{list-style:none}.ui.dropdown.emotion.box .emotions.emojis .emoji{float:left;width:25px;height:25px;margin-left:2px;margin-bottom:2px;background-image:url(/static/9abc65a18775b83f68aecb0edec7e8bf.png);background-repeat:no-repeat;border:1px solid #FFF;cursor:pointer;background-size:auto 24px}.ui.dropdown.emotion.box .emotions.coding,.ui.dropdown.emotion.box .emotions.emojis{position:relative}.ui.dropdown.emotion.box .active.item{border-top:1px solid rgba(0,0,0,.05)!important}.ui.dropdown.emotion.box .emotion-preview{position:absolute;display:none;background:#FFF;border:1px solid #EEE;box-shadow:1px 1px 0 0 #eee}.ui.dropdown.emotion.box .emotion-preview:hover{display:none}.ui.dropdown.emotion.box .emotion-preview>div{position:relative;height:100%}.ui.dropdown.emotion.box .emotion-preview .emotion-word{position:absolute;font-size:12px;color:#333;bottom:0;left:0;width:100%;text-align:center;margin:0;line-height:30px}.ui.dropdown.emotion.box .emotions.coding .emotion-preview{height:198px}.ui.dropdown.emotion.box .emotions.coding .emotion-preview:hover{display:none!important}.ui.dropdown.emotion.box .emotions.emojis .emotion-preview img{width:53px;height:53px}.ui.dropdown.emotion.box .emotions.coding .emotion-preview img{width:168px;height:168px;padding:4px}.ui.dropdown.emotion.box .emotion-preview.left-top{left:5px;top:5px}.ui.dropdown.emotion.box .emotion-preview.right-top{right:5px;top:5px}.ui.dropdown.emotion.box .emotion-preview.left-bottom{left:5px;bottom:5px}.ui.dropdown.emotion.box .emotion-preview.right-bottom{right:5px;bottom:5px}.atwho-view{z-index:1000}.atwho-view ul li{padding:3px 8px;font-size:12px;border-bottom:none}.atwho-view .cur{background:#36F;color:#fff}.atwho-view ul li img{width:20px;vertical-align:middle;margin:0 5px}.rotate-image-wrapper{position:relative;overflow:hidden;margin:auto}.rotate-image-wrapper img{cursor:url(/static/740dcb3dfcf4f2a75155855dcd943241.png),auto;-webkit-transition:all .2s linear}.rotate-image-wrapper.horizon img{position:absolute}.markdown-editor .markdown.content{position:relative}#markdown-refresh-btn{position:absolute;right:10px;top:10px;color:#000;background:rgba(255,255,255,.6);width:30px;height:30px;text-align:center;line-height:30px;font-size:24px;border-radius:3px}.ui.modal.coding-modal .header{padding-top:15px;padding-bottom:15px}.ui.coding-modal.modal .content{padding-top:10px}.ui.coding-modal.modal .actions{padding-top:5px;padding-bottom:5px}.fancy-overflow{position:relative!important;overflow-y:hidden!important}.fancy-overflow-modal{position:absolute;width:100%;height:100%;z-index:2;background:rgba(0,0,0,.02);cursor:pointer;left:0;top:0}.fancy-overflow-modal:hover{background:rgba(0,0,0,.1)}.fancy-overflow-modal:hover:before{content:'点击查看完整内容';font-size:16px;display:inline-block;width:180px;height:40px;line-height:40px;text-align:center;position:absolute;left:50%;top:50%;margin:-25px 0 0 -100px;color:#FFF;background:rgba(0,0,0,.6);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fancy-overflow-modal:after{content:'';width:100%;display:block;height:12px;position:absolute;bottom:0;left:0;color:#CCC;text-align:center;background-image:url(/static/a3b359a70259cce7827a5d461b76ca15.png);background-size:12px 12px;background-repeat:repeat-x}.word-break-all{word-break:break-all}#project-activities .start-date{font-size:18px;margin-bottom:10px}#project-activities .wrapper{margin:0 0 20px}#project-activities .activity{padding:10px 0 10px 50px;position:relative;font-size:14px;min-height:32px}#project-activities .activity:before{width:1px;position:absolute;top:20px;left:15px;height:100%;border-left:1px solid #CCC;content:''}#project-activities .activity .timeline{width:120px;float:left}#project-activities .activity .timeline .time:before{position:absolute;top:14px;left:11px;display:block;width:7px;height:7px;background-color:#EEE;border:1px solid gray;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;content:''}#project-activities .activity.not-bordered:before{border:0}#project-activities .activity .content{padding-left:120px;word-break:break-all}#project-activities .activity .content .target{color:#666;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#project-activities .activity .content .target>a{display:inline-block;margin-top:10px}#project-activities .activity .avatar{position:absolute;left:125px}.rotate30.icon{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}.rotate180.icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate180.icon.activity-icon{-webkit-transform:rotate(180deg) translate(5px,0);-moz-transform:rotate(180deg) translate(5px,0);-ms-transform:rotate(180deg) translate(5px,0);-o-transform:rotate(180deg) translate(5px,0);transform:rotate(180deg) translate(5px,0)}.ui.dimmer{z-index:1100}.heartbeat{-webkit-animation:heartbeat .3s forwards;-o-animation:heartbeat .3s forwards;animation:heartbeat .3s forwards}@keyframes heartbeat{0%{transform:none}60%{transform:scale(1.3)}100%{transform:none}}@-webkit-keyframes heartbeat{0%{transform:none}60%{transform:scale(1.3)}100%{transform:none}}@-moz-keyframes heartbeat{0%{transform:none}60%{transform:scale(1.3)}100%{transform:none}}@-o-keyframes heartbeat{0%{transform:none}60%{transform:scale(1.3)}100%{transform:none}}@-ms-keyframes heartbeat{0%{transform:none}60%{transform:scale(1.3)}100%{transform:none}}.layout-content-right-menu{display:table;table-layout:fixed;width:100%}.layout-content-right-menu .layout-content,.layout-content-right-menu .layout-menu{vertical-align:top;display:table-cell}.atwho-view{max-height:none}.select2-chosen,.select2-input,.select2-results li{font-size:14px}.select2-results li{line-height:150%}.select2-container .select2-choice,.select2-container .select2-choice:active,.select2-container .select2-choice:focus,.select2-container .select2-choice:hover{color:#444}.flex-box{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.flex-none{-webkit-flex:none;-moz-flex:none;-ms-flex:none;-o-flex:none;flex:none}.flex-auto-justify{-webkit-flex:1;-moz-flex:1;-ms-flex:1;-o-flex:1;flex:1}.flex-direction-row{-ms-box-orient:vertical;-webkit-flex-direction:row;flex-direction:row;justify-content:flex-start;align-items:stretch;align-content:stretch}.flex-direction-column{-ms-box-orient:horizontal;-webkit-flex-direction:column;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:stretch}[class*=overflow-auto]{position:relative}.overflow-auto{overflow:hidden}.clickable-textarea-link-tip{position:absolute;background-color:#FFF;border:1px solid #EEE;border-radius:3px;padding:5px;z-index:99;word-wrap:break-word;word-break:break-all;left:50%;margin-left:-150px;font-size:12px;color:#666}.clickable-textarea-link-tip:before{margin-left:-11px;left:50%;top:-4px;bottom:auto;right:auto;position:absolute;content:"";width:.6em;height:.6em;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg);z-index:inherit;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.small.modal{width:95%;margin:0 0 0 -47.5%}}@media only screen and (min-width:768px){.ui.small.modal{width:70.4%;margin:0 0 0 -35.2%}}@media only screen and (min-width:992px){.ui.small.modal{width:680px;margin:0 0 0 -340px}}@media only screen and (min-width:1200px){.ui.small.modal{width:720px;margin:0 0 0 -360px}}@media only screen and (min-width:1920px){.ui.small.modal{width:760px;margin:0 0 0 -380px}}.feed-editor,.feed-editor .editor{position:relative;z-index:99}.feed-editor{position:relative;padding-left:56px}.feed-editor>.avatar{position:absolute;left:0;top:2px}.feed-editor textarea{font-size:13px;border:1px solid #ddd;padding:5px 0 0 1%;background:#FFF;border-radius:3px;color:rgba(0,0,0,.7);outline:0;width:98.8%;resize:none;display:block;min-height:57px}.feed-editor .dimmer{border-radius:3px;opacity:.7}.feed-editor .dimmer .loading{position:absolute;top:50%;left:50%;margin-top:-8px}.feed-editor .toolbar{padding-top:5px}.feed-editor .toolbar ul{float:right}.feed-editor .toolbar ul,.feed-editor .toolbar ul li{list-style:none;padding:0;margin:0}.feed-editor .toolbar>ul>li{float:left;font-size:16px;margin-right:5px;cursor:pointer;height:20px;width:20px}.feed-editor .preview{border:1px solid #ddd;background:#FFF;width:100%;height:100%;border-radius:3px;box-shadow:0 0 2px 0 #ddd;min-height:57px}.dark .feed-editor .preview{border:0;color:#000}.feed-editor .left.preview{position:absolute;left:-105%;top:0;width:102%;z-index:999;overflow:auto}.feed-editor .right.preview{position:absolute;right:-105%;top:0;width:102%;z-index:999;overflow:auto}.feed-editor .hide{display:none}@media only screen and (max-width:767px){.feed-editor .left.preview,.feed-editor .right.preview{position:relative;right:auto;top:0;left:auto;overflow:auto}}.feed-editor .preview .action .icon{cursor:pointer;margin:2px 5px 0 0;padding:0;font-size:11px;float:right}.feed-editor .right.preview .action{right:auto;left:0}.feed-editor .right.preview .remove.icon{float:left}.feed-editor .right.preview .refresh.icon{float:right}.feed-editor .preview .content{padding:6px 1% 2% 3%}.flex-text-wrap{position:relative}.flex-text-wrap,.flex-text-wrap textarea{outline:0;margin:0;border:none;padding:0}.flex-text-wrap pre,.flex-text-wrap textarea{white-space:pre-wrap;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.flex-text-wrap textarea{overflow:hidden;position:absolute;top:0;left:0;height:100%;width:100%;resize:none}.flex-text-wrap pre{display:block;visibility:hidden;margin:0}.flex-text-wrap pre span{word-break:break-all;font-size:10px}.cke_wysiwyg_div table{border-collapse:collapse}.cke_wysiwyg_div td{border:1px solid #ccc;padding:5px 10px}li.tweet-topic-name{height:24px;line-height:24px}.feed-editor .toolbar .topic{font-size:12px;color:#666;margin-right:6px}.feed-editor .toolbar .topic .content{display:inline-block;max-width:120px;line-height:16px;vertical-align:middle}.feed-editor .toolbar .topic .topic-anchor{vertical-align:middle}.ui.tiny.modal{width:60%;margin-left:-30%}.ui.tiny40.modal{width:40%;margin-left:-20%}@media only screen and (max-width:1400px){.ui.responsive.tiny40.modal{width:60%;margin-left:-30%}}.ui.tiny.modal>.header,.ui.tiny40.modal>.header{font-size:1.3em;padding:.8rem 1.2rem}.ui.tiny.modal>.content,.ui.tiny40.modal>.content{padding:1.2em;display:block}.ui.tiny.modal>.content .overflow-hidden,.ui.tiny40.modal>.content .overflow-hidden{overflow:hidden}.ui.tiny.modal .actions,.ui.tiny40.modal .actions{padding:.8rem 1.2rem}.ui.modal .action-buttons{padding:1rem 2rem;text-align:right}.ui.modal .action-buttons>.button{margin-left:.75em}@media only screen and (max-width:768px){.ui.modal .action-buttons{padding-bottom:0}.ui.modal .action-buttons>.button,.ui.modal .action-buttons>.buttons{margin-bottom:1em}}.ui.modal>form>.close{cursor:pointer;position:absolute;z-index:1;opacity:.8;font-size:1.25em;top:-1.75em;right:-1.75em;color:#FFF}.ui.modal>form>.close:hover{opacity:1}.ui.modal>form>.header{margin:0;padding:1.5rem 2rem;font-size:1.6em;font-weight:700;border-radius:.325em .325em 0 0}.ui.modal>form>.content{display:table;width:100%;position:relative;padding:2em;background-color:#F4F4F4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.modal>form>.content p{line-height:1.6}.ui.modal>form>.content>.left:not(.ui){display:table-cell;padding-right:1.5%;min-width:25%}.ui.modal>form>.content>.left:not(.ui)>i.icon{font-size:8em;margin:0}.ui.modal>form>.content>.right:not(.ui){display:table-cell;padding-left:1.5%;vertical-align:top}.ui.modal.dark{background-color:rgba(0,0,0,.7);border:1px solid rgba(0,0,0,.7)}.ui.modal{border:none}.ui.modal.dark>.header{color:#FFF}.ui.modal.dark>.content{color:#FFF;background:0 0;display:block;overflow:hidden}@media only screen and (max-width:998px){.ui.modal.dark>.close{color:#fff}}.ui.form.small.loading:after{background-size:25px}.ui .heading.icon:before{content:'H1'}.ui.button.borderless{border:none;background:0 0;cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none}.ui.page.dimmer{background-color:rgba(0,0,0,.5)}.ui.input.prefix.large .prefix{height:46px}.ui.input.prefix.large .prefix>.icon{padding-top:14px;width:46px;height:100%}.ui.input.prefix .prefix{position:absolute;display:table;width:180px}.ui.input.prefix .prefix>.icon{display:table-cell;right:auto;left:1px;border-radius:.3125em 0 0 .3125em}.ui.input.prefix .prefix>.words{display:table-cell;padding-left:10px}.ui.labeled.input{display:table}.ui.labeled.input>input{display:table-cell;vertical-align:top}.ui.labeled.input>.label{display:table-cell;vertical-align:middle;white-space:nowrap;font-size:1em}.ui.labeled.input>.label>.icon{display:inline;vertical-align:top}.ui.fluid.labeled.input{display:table;width:100%}.ui.fluid.labeled.input>.label{width:.01%}.ui.borderless{border:none!important;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}i.icon.clickable{cursor:pointer}.ui.dropdown.disabled{color:rgba(0,0,0,.2)}.user-index .header .more-link{float:right;font-size:14px;color:#000;margin-top:5px;margin-left:10px}.user-index .recomm-pp{margin-top:40px!important}.user-index .recomm-pp:after,.user-index .recomm-pp:before{width:45%!important}.user-index .activity.tabs{padding-bottom:0}.user-index .activity.tabs .tab{margin-right:20px;font-weight:400;cursor:pointer;font-size:14px;display:inline-table;color:#666}.user-index .activity.tabs .tab.active{color:#000;font-weight:700}#user-space{width:980px;margin-top:20px;margin-left:auto;margin-right:auto;color:#666}#user-space .column{background:#fff;padding:30px}#user-space .column.info-column{border-right:3px solid #F7F6F2}#user-space .column.info-column .user-avatar{margin-left:15px}#user-space .column.info-column .user-name{font-size:24px;color:#000;font-weight:700;margin-top:20px;margin-bottom:20px}#user-space .column.info-column .user-slogan{font-size:14px;color:#666;margin-bottom:20px}#user-space .column.info-column .user-email{font-size:14px}#user-space .column.info-column .user-created-at,#user-space .column.info-column .user-global-key{font-size:14px;margin:8px 0}#user-space .column.info-column .user-login-at{font-size:14px;color:#999}#user-space .column.info-column .number{font-size:18px;color:#000}#user-space .column.info-column .show-info-link a{float:right;font-size:13px}#user-space .column.info-column .user-more-info{font-size:14px}#user-space .column.content-column{min-height:700px}#user-space .column.content-column .filter-menu{margin-top:30px}#user-space .column.content-column .user-projects table tr{border-bottom:1px solid #ddd}#user-space .column.content-column .user-projects table .avatar{vertical-align:top;padding:18px 0 0 10px}#user-space .column.content-column .user-projects table .project-info{width:450px;padding:15px}#user-space .column.content-column .user-projects table .project-info .project-name{font-size:16px;font-weight:700;margin-bottom:5px}#user-space .column.content-column .user-projects table .project-info .project-description{font-size:14px;color:#666;margin-bottom:10px;word-break:break-all}#user-space .column.content-column .user-projects table .project-info .project-time{font-size:12px;color:#666}#user-space .column.content-column .user-projects table .star-count{width:100px;font-size:12px;color:#666}#user-space .column.content-column .user-projects table .star-count .fork-count-item{margin-left:20px}#user-space .column.content-column .user-activities .activity{margin-bottom:15px;padding:10px;border-bottom:1px solid #ddd}#user-space .column.content-column .user-activities .activity .activity-icon{width:40px;float:left;position:absolute}#user-space .column.content-column .user-activities .activity .inner{width:560px;margin-left:50px;position:relative;min-height:25px;word-break:break-all}#user-space .column.content-column .user-activities .activity .inner .Depot_push .more-info{padding:6px 2px}#user-space .column.content-column .user-activities .activity .inner .Depot_push .more-info .commit-message{color:#666}#user-space .column.content-column .user-activities .activity .inner .toolbar{margin-top:5px;color:#999;font-size:12px}#user-space .column.content-column .user-activities .activity .inner .toolbar span{margin-right:5px}#user-space .column.content-column .user-activities .show-more-link{cursor:pointer;font-size:12px}#user-space .column.content-column .user-tweet-topics .bubble-topic-item{border-bottom:1px solid #ddd}#user-space .column.content-column .user-tweet-topics .bubble-topic-item .topic-content-wrapper{margin-top:10px;font-size:14px}#user-space .column.content-column .user-tweet-topics .bubble-topic-item .topic-content-wrapper .detail{margin-bottom:10px}#user-space .column.content-column .user-tweet-topics .bubble-topic-item .topic-content-wrapper .detail .created-at{font-size:12px;margin-left:10px;vertical-align:top}#user-space .column.content-column .user-tweet-topics .bubble-topic-item .topic-content-wrapper .detail .ui.small.button{float:right}#user-space .column.content-column .user-tweet-topics .bubble-topic-item .topic-content-wrapper .detail .title{font-size:16px;margin-bottom:10px}#user-space .column.content-column .user-tweet-topics .bubble-topic-item .topic-content-wrapper .join-in{margin-bottom:10px}.select2-container{margin:0;position:relative;display:inline-block;zoom:1;vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;height:26px;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #aaa;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(0.5,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to top,#eee 0,#fff 50%)}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(0.9,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 90%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to bottom,#eee 0,#fff 90%)}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:8px;font-size:1px;text-decoration:none;border:0;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:9999;top:100%;background:#fff;color:#000;border:1px solid #aaa;border-radius:4px;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15)}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-radius:4px;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,.15);box-shadow:0 -4px 5px rgba(0,0,0,.15)}.select2-drop.select2-drop-above.select2-drop-active{line-height:16px}.select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-left:1px solid #aaa;border-radius:0 4px 4px 0;background:#ccc;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ccc),color-stop(0.6,#eee)) #ccc;background:-webkit-linear-gradient(center bottom,#ccc 0,#eee 60%) #ccc;background:-moz-linear-gradient(center bottom,#ccc 0,#eee 60%) #ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0);background:linear-gradient(to top,#ccc 0,#eee 60%) #ccc}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) 0 1px no-repeat}.select2-search{display:inline-block;width:100%;min-height:26px;margin:4px 0 0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap}.select2-search input{width:100%;height:auto!important;min-height:26px;padding:4px 20px 4px 5px;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #aaa;border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) 100% -22px no-repeat #fff;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) 100% -22px no-repeat,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%)}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(/static/7b9776076d5fceef4993b55c9383dedd.gif) 100% no-repeat #fff;background:url(/static/7b9776076d5fceef4993b55c9383dedd.gif) 100% no-repeat,linear-gradient(to bottom,#fff 85%,#eee 99%)}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#fff),color-stop(0.5,#eee));background-image:-webkit-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center bottom,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);background-image:linear-gradient(to top,#fff 0,#eee 50%)}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border-top-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0)}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 4px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results ul.select2-result-sub>li .select2-result-label{padding-left:20px}.select2-results ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:40px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:60px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:80px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:100px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:110px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:120px}.select2-results li{list-style:none;display:list-item;background-image:none}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:3px 7px 4px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results .select2-highlighted{background:#3875d7;color:#fff}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results{background:#f4f4f4;display:list-item}.select2-more-results.select2-active{background:url(/static/7b9776076d5fceef4993b55c9383dedd.gif) 100% no-repeat #f4f4f4}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:100%;margin:0;padding:0;border-radius:.3125em;position:relative;border:1px solid #ddd;cursor:text;overflow:hidden}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px}.select2-container-multi.select2-container-active .select2-choices{outline:0}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:.65em 1em;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important;height:41px}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(/static/7b9776076d5fceef4993b55c9383dedd.gif) 100% no-repeat #fff!important}.select2-container-multi .select2-choices .select2-search-field input[type=text]:focus{box-shadow:none}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:6px 18px 6px 5px;margin:5px 0 5px 5px;position:relative;line-height:16px;font-size:14px;color:#fff;cursor:default;border-radius:.3125em;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#df5a5a;opacity:.8;font-weight:700}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:red}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:8px;font-size:1px;outline:0}html[dir=rtl] .select2-search-choice-close{right:auto;left:3px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-close,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background:url(/static/a1f8f8ad8630730ca2478c02a41e6c29.png) right -1px no-repeat}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-search input,.select2-search-choice-close{background-repeat:no-repeat!important;background-size:60px 40px!important}.select2-container .select2-choice .select2-arrow b,.select2-container .select2-choice abbr{background-image:url(/static/49e3f006018662f60f1db2aec0b2cca9.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important}.select2-search input{background-position:100% -22px!important}}.select2-drop-multi{font-size:14px}.select2-drop-multi .select2-results li{display:inline-block;background-color:#df5a5a;border-radius:4px;margin-left:3px;margin-top:3px;opacity:.8}.select2-drop-multi .select2-selected{display:none!important}.select2-drop-multi .select2-result-label{padding:3px 7px 4px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff}.select2-drop-multi .select2-highlighted{background-color:#df5a5a!important;color:#fff!important;opacity:1!important}#tweet-list{width:980px;margin-left:auto;margin-right:auto;margin-top:20px}#tweet-list .left-column{border-right:1px solid #ddd;width:620px;float:left;margin-left:20px;padding:0 20px 0 0}#tweet-list .left-column .menu .active{background:#F7F6F2;border-bottom:1px solid #F7F6F2}#tweet-list .left-column .show-more{text-align:center;padding:10px}#tweet-list .left-column .show-more a{cursor:pointer}#tweet-list .right-column{width:300px;padding:0;float:right;margin-right:20px}#tweet-list .right-column .app-download-button{margin-bottom:12px;width:100%;cursor:pointer;display:inline-block;position:relative}#tweet-list .right-column .app-download-button:after{clear:both}#tweet-list .right-column .app-download-button>img{float:left}#tweet-list .right-column .app-download-button>.app-qrcode{display:none;padding:12px;border-radius:4px;box-shadow:inset 0 0 1px #DDD,0 2px 6px rgba(0,0,0,.2);width:150px;height:150px;background:#FFF;position:absolute;top:50px;left:50%;margin-left:-75px;box-sizing:border-box;z-index:1}#tweet-list .right-column .app-download-button>.app-qrcode:before{content:"";display:inline-block;position:absolute;box-shadow:0 0 6px rgba(0,0,0,.2);width:10px;height:10px;top:-4px;left:50%;margin-left:-7px;transform:rotate(45deg);background:#FFF}#tweet-list .right-column .app-download-button>.app-qrcode:after{content:"";display:inline-block;position:absolute;top:0;left:10px;right:10px;background:#FFF;height:10px}#tweet-list .right-column .app-download-button:hover>.app-qrcode{display:inline-block}#tweet-list .right-column .topic-link{font-size:20px;width:100%;background:#E3E9EF;height:100px;display:table;text-align:center}#tweet-list .right-column .topic-link span{display:table-cell;vertical-align:middle}#tweet-list .right-column .icon.right{float:right;font-size:12px;line-height:22px}#tweet-list .right-column .hot-topics{font-size:14px}#tweet-list .right-column .hot-topics .icon{float:right;font-size:12px;line-height:20px}#tweet-list .right-column .hot-topics .list .item{margin-bottom:10px;height:18px}#tweet-list .right-column .hot-topics .list .add.icon{color:#999}#tweet-list .right-column .hot-users .user-item{padding-top:10px;position:relative;margin:5px;display:inline-block;vertical-align:top;text-align:center;width:125px;color:#666;font-size:13px}#tweet-list .right-column .hot-users .user-item:hover{background-color:rgba(0,0,0,.02)}#tweet-detail .user-avatar{width:50px;float:left;position:absolute}#tweet-detail .tweet-content{margin-left:0;position:relative;box-shadow:none}#tweet-detail .tweet-content .tweet-detail{background:#fff;padding:15px;font-size:14px;color:#000}#tweet-detail .tweet-content .tweet-detail .markdown.content{max-height:none;overflow-y:auto}#tweet-detail .tweet-content .tweet-detail p{font-size:14px;margin:2px 0}#tweet-detail .tweet-content .tweet-detail .author-time{font-size:12px;color:#666;margin-top:15px}#tweet-detail .tweet-content .tweet-detail .author-time>span.action{cursor:pointer;display:none}#tweet-detail .tweet-content .comment-list{padding:10px 20px}#tweet-detail .tweet-content .comment-list .comment-item{padding:10px 0 0;border-bottom:1px solid #eee}#tweet-detail .tweet-content .comment-list .comment-item.last{border-bottom:0 none}#tweet-detail .tweet-content .comment-list .comment-item .comment-content{margin-left:40px;position:relative;min-height:50px;font-size:12px;word-break:break-all}#tweet-detail .tweet-content .comment-list .comment-item .comment-content .comment-author{margin-top:10px;font-size:10px;color:#666}#tweet-detail .tweet-content .comment-list .comment-item .comment-content img.monkey.emotion{width:64px}#tweet-detail .tweet-content .comment-list .show-all-link{margin-top:10px;text-align:center}#tweet-detail .tweet-content .comment-list .show-all-link a{font-size:12px;color:#999;cursor:pointer}#tweet-detail .show-more{text-align:center;padding:10px}#tweet-detail .show-more a{cursor:pointer}.tweet-item{margin:30px 0;border-radius:3px}.tweet-item .user-avatar{width:50px;float:left;position:absolute;margin-top:4px}.tweet-item .tweet-content{margin-left:56px;position:relative;box-shadow:1px 1px 0 0 #eee;border-radius:3px;border:1px solid #eee}.tweet-item .tweet-content:before{margin-top:-11px;bottom:auto;right:auto;top:28px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#fff;border-left:1px solid #eee;border-bottom:1px solid #eee}.tweet-item .tweet-content .tweet-detail{background:#fff;padding:15px;font-size:14px;color:#000;border-radius:3px 3px 0 0}.tweet-item .tweet-content .tweet-detail p{font-size:14px;margin:2px 0}.tweet-item .tweet-content .tweet-detail .author-time a.author-name{color:#666}.tweet-item .tweet-content .tweet-detail .author-time,.tweet-item .tweet-content .tweet-detail .like-users{font-size:12px;color:#666;margin-top:15px}.tweet-item .tweet-content .tweet-detail .author-time>a.action,.tweet-item .tweet-content .tweet-detail .like-users>a.action{cursor:pointer;display:none}.tweet-item .tweet-content .tweet-detail .like-users{margin-top:10px;line-height:18px}.tweet-item .tweet-content .tweet-detail .like-users img{margin:0 1px 1px 0}.tweet-item .tweet-content .tweet-detail .like-users a{cursor:pointer}.tweet-item .tweet-content .tweet-detail:hover .author-time>a.action{display:inline}.tweet-item .tweet-content .comment-list{padding:10px 20px;background-color:#FDFCFA}.tweet-item .tweet-content .comment-list .comment-item{padding:5px 0;border-bottom:1px solid #eee}.tweet-item .tweet-content .comment-list .comment-item.last,.tweet-item .tweet-content .comment-list .comment-item:last-child{border-bottom:0 none}.tweet-item .tweet-content .comment-list .comment-item .comment-content{margin-left:40px;position:relative;min-height:40px;font-size:12px;word-break:break-all;line-height:22px}.tweet-item .tweet-content .comment-list .comment-item .comment-content .comment-author{font-size:10px;color:#666}.tweet-item .tweet-content .comment-list .comment-item .comment-content .comment-author>a.action{cursor:pointer;display:none}.tweet-item .tweet-content .comment-list .comment-item .comment-content .comment-author a.author-name{color:#666}.tweet-item .tweet-content .comment-list .comment-item .comment-content img.monkey.emotion{width:64px}.tweet-item .tweet-content .comment-list .comment-item .comment-content .comment-form{padding-top:15px}.tweet-item .tweet-content .comment-list .comment-item:hover .comment-author>a.action{display:inline}.tweet-item .tweet-content .comment-list .show-all-link{margin-top:10px;text-align:center}.tweet-item .tweet-content .comment-list .show-all-link a{font-size:12px;color:#999;cursor:pointer}.tweet-item .tweet-content form{border-top:1px solid #eee}.tweet-item .tweet-content form input{overflow:hidden;border:0;font-size:13px;border-radius:0}.tweet-item .tweet-content form .right.icon{padding-top:12px!important}.projects-search{font-size:13px;height:30px;line-height:30px;width:180px!important;max-width:180px!important;-webkit-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,width .5s ease-in!important;-moz-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,width .5s ease-in!important;-ms-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,width .5s ease-in!important;-o-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,width .5s ease-in!important;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,width .5s ease-in!important}.projects-search .icon.search-right-icon{width:2.6em!important;padding-right:0!important;padding-top:8px!important;font-size:initial;cursor:pointer}.projects-search input{height:30px}.projects-edit{line-height:30px}.projects-empty{text-align:center;font-size:12px;padding:20px 0;color:#777}.projects-list-view ul li{outline:0;padding-left:5px!important;padding-right:5px!important;position:relative}.projects-list-view ul li.focus,.projects-list-view ul li:focus,.projects-list-view ul li:hover{background:rgba(0,0,0,.03)}.projects-list-view ul li a{outline:0}.projects-header em{font-style:normal}.projects-tab{margin-bottom:10px;padding:0 10px;color:#333}.projects-tab small{cursor:pointer;margin-right:10px}.projects-tab .active{color:#333;font-weight:700}.gallery{position:fixed;top:0;left:0;z-index:1001;width:102%;height:100%;background:rgba(0,0,0,.6);overflow-y:scroll;text-align:center}.gallery .gallery-wrapper .gallery-content{height:100%;position:relative}.gallery .gallery-wrapper .gallery-content img{max-width:980px;cursor:zoom-out}.gallery .gallery-wrapper .gallery-content .icon{color:#FFF;font-size:72px;cursor:pointer;opacity:.6;margin:auto;position:absolute;top:0;bottom:0}.gallery .close-wrapper .icon.close:hover,.gallery .gallery-wrapper .icon:hover{opacity:1}.gallery .gallery-wrapper .gallery-content .left.angle.icon{left:100px}.gallery .gallery-wrapper .gallery-content .right.angle.icon{right:100px}.gallery .close-wrapper{margin-top:24px;display:table;background:#000;width:48px;height:48px;border-radius:24px;position:fixed;right:2%;opacity:.6}.gallery .close-wrapper:hover{opacity:1}.gallery .close-wrapper .icon.close{display:table-cell;vertical-align:middle;color:#fff;opacity:.6}@media only screen and (max-width:1280px){.gallery .gallery-wrapper .gallery-content img{max-width:800px;cursor:zoom-out}}.gallery .gallery-wrapper .gallery-content .gallery-image{margin-left:auto;margin-right:auto;position:absolute;top:0;left:0;bottom:0;right:0;background-color:#FFF}.gallery .gallery-wrapper .gallery-content .gallery-origin{position:absolute;left:0;right:0}.gallery .gallery-wrapper .gallery-content .gallery-origin a{color:#fff}.bubble-detail .bubble-markdown-image-link:hover{cursor:zoom-in}.gallery:hover{cursor:zoom-out}#tweet-topic-list{width:980px;margin-left:auto;margin-right:auto;margin-top:30px}#tweet-topic-list .loading.block{color:#999;text-align:center;margin-left:auto;margin-right:auto;font-size:14px}#tweet-topic-list .loading.block .icon.loading{float:none!important}#tweet-topic-list .left-column{padding:0 16px 0 0;width:670px;border-right:1px solid #ddd;font-size:12px}#tweet-topic-list .left-column .header{border-bottom:1px solid #ddd;padding-bottom:10px;margin-bottom:10px;font-size:18px}#tweet-topic-list .left-column .bubble-topic-item{background:#fff;padding:15px;margin-bottom:10px}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .detail{width:100%;display:inline-block}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .detail .ui.button.small{float:right;margin:10px 0}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .detail .created-at{vertical-align:top;margin-left:10px;font-size:12px}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .detail .title{padding:10px 0;font-size:16px;color:#EA9663}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .detail .title.no1{color:#DE5A5A}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .join-in{margin-top:10px}#tweet-topic-list .left-column .bubble-topic-item .topic-content-wrapper .join-in .avatar{margin:0 3px 3px 0}#tweet-topic-list .right-column{font-size:14px;padding-right:0}#tweet-topic-list .right-column .icon{float:right;font-size:12px;margin:0;line-height:18px}#tweet-topic-list .right-column .header{font-size:18px;border-bottom:1px solid #ddd;padding:4px;margin-bottom:10px}#tweet-topic-list .right-column .header .icon{line-height:20px}#tweet-topic-list .right-column .list .item{margin-bottom:10px}#tweet-topic-list .right-column .list .add.icon{color:#999}#tweet-topic-list .marketing-tweet-topic .item{text-align:center;display:inline-block;margin-right:40px;font-size:12px;width:300px}#tweet-topic-list .marketing-tweet-topic .item img{width:300px}#tweet-topic-list .marketing-tweet-topic .item .topic-name{font-size:16px;margin-top:0;margin-bottom:10px}#tweet-topic-list .marketing-tweet-topic .item:last-child{margin-right:0}#tweet-topic-detail{width:980px;margin-left:auto;margin-right:auto;padding-top:20px}#tweet-topic-detail .loading.block{color:#999;text-align:center;font-size:14px}#tweet-topic-detail .loading.block .icon.loading{float:none!important}#tweet-topic-detail .left-column{width:620px;float:left;border-right:1px solid #ddd;margin-left:20px;padding:0 20px 0 0}#tweet-topic-detail .left-column .menu .active{background:#F7F6F2;border-bottom:1px solid #F7F6F2}#tweet-topic-detail .left-column .show-more{text-align:center;padding:10px}#tweet-topic-detail .left-column .show-more a{cursor:pointer}#tweet-topic-detail .left-column .topic-users{background:#fff;padding:24px}#tweet-topic-detail .left-column .topic-users .header{display:block;font-size:18px}#tweet-topic-detail .left-column .topic-users .topic-user{vertical-align:top;margin:24px 6px 0;display:inline-block;border-bottom:1px solid #f2f2f2;width:250px;padding-bottom:20px;height:60px}#tweet-topic-detail .left-column .topic-users .topic-user .avatar{float:left}#tweet-topic-detail .left-column .topic-users .topic-user .info{margin-left:64px}#tweet-topic-detail .left-column .topic-users .topic-user .info .user-name{display:inline-block;vertical-align:top}#tweet-topic-detail .left-column .topic-users .topic-user .join-in-at{font-size:12px;color:#999}#tweet-topic-detail .left-column .topic-users .topic-user .actions{margin-top:10px}#tweet-topic-detail .right-column{width:300px;padding-right:0;padding-left:0;margin-left:20px}#tweet-topic-detail .right-column .area{margin-bottom:24px}#tweet-topic-detail .right-column .area .title{display:block;font-size:16px;padding-bottom:10px;border-bottom:1px solid #ddd}#tweet-topic-detail .right-column .topic-banner{text-align:center}#tweet-topic-detail .right-column .topic-banner img{width:300px}#tweet-topic-detail .right-column .topic-banner .topic-info{background:#fff;padding:20px}#tweet-topic-detail .right-column .topic-banner .topic-info .topic-title{font-size:18px;color:#333;text-align:center;margin-bottom:16px}#tweet-topic-detail .right-column .topic-banner .topic-info .related{margin-top:10px}#tweet-topic-detail .right-column .topic-banner .topic-info .related .joins{font-size:14px;color:#666;vertical-align:middle}#tweet-topic-detail .right-column .topic-banner .topic-info .related .joins .num{font-size:20px}#tweet-topic-detail .right-column .topic-banner .topic-info .content{font-size:14px;color:#666;line-height:150%}#tweet-topic-detail .right-column .topic-banner .topic-info .actions{margin-top:16px;margin-bottom:16px}#tweet-topic-detail .right-column .topic-banner .topic-info .actions .button{margin-right:10px}#tweet-topic-detail .right-column .topic-description .content{display:block;font-size:14px;padding-top:4px;color:#666}#tweet-topic-detail .right-column .topic-hot-joins .title .icon{float:right;font-size:12px;line-height:20px}#tweet-topic-detail .right-column .topic-hot-joins .joins .user-item{padding:5px;display:inline-block;text-align:center;width:65px}#tweet-topic-detail .right-column .topic-hot-joins .joins .user-item:hover{background-color:rgba(0,0,0,.02)}#tweet-topic-detail .right-column .hot-topics .icon{float:right;margin:0;font-size:12px;line-height:18px}#tweet-topic-detail .right-column .hot-topics .list{margin-top:10px;color:#666}#tweet-topic-detail .right-column .hot-topics .list .item{margin-bottom:10px;font-size:14px;height:18px}#tweet-topic-detail .right-column .hot-topics .list .add.icon{color:#999}.ui.feed.messages .header .count,.ui.feed.notifications .header .count{color:#777;font-size:.8em}.ui.feed.messages .event,.ui.feed.notifications .event{position:relative;padding:.75em .6em;border-bottom:1px solid #e2e2e2;cursor:pointer;display:block}.ui.feed.messages .event .icon.remove,.ui.feed.notifications .event .icon.remove{position:absolute;right:-1em;top:.8em;cursor:pointer;visibility:hidden;font-size:1.6em}.ui.feed.messages .event .comment.icon,.ui.feed.notifications .event .comment.icon{float:right}.ui.feed.messages .event:hover,.ui.feed.notifications .event:hover{background-color:#fff}.ui.feed.messages .event:hover .icon.remove,.ui.feed.notifications .event:hover .icon.remove{visibility:visible}.ui.feed.messages .event.read .label .icon,.ui.feed.notifications .event.read .label .icon{color:#999}.ui.feed.messages .event.read .content .actions .ui.button,.ui.feed.notifications .event.read .content .actions .ui.button{visibility:hidden}.ui.feed.messages .event.read .content .header a,.ui.feed.notifications .event.read .content .header a{font-weight:400}.ui.feed.messages .event.read .content .summary,.ui.feed.notifications .event.read .content .summary{color:#777;font-weight:400}.ui.feed.messages .event.read .content .summary a,.ui.feed.notifications .event.read .content .summary a{color:#6983B4}.ui.feed.messages .label .icon,.ui.feed.notifications .label .icon{color:#444;font-size:1em}.ui.feed.messages .label img,.ui.feed.notifications .label img{width:2.5em;height:2.5em}.ui.feed.messages .content,.ui.feed.notifications .content{width:100%}.ui.feed.messages .content .actions,.ui.feed.notifications .content .actions{float:right;margin-left:2em}.ui.feed.messages .content .actions .ui.button,.ui.feed.notifications .content .actions .ui.button{padding:.2em;color:#666;background-color:#eee}.ui.feed.messages .content .header,.ui.feed.notifications .content .header{margin-bottom:.5em}.ui.feed.messages .content .header a,.ui.feed.notifications .content .header a{font-weight:700}.ui.feed.messages .content .summary,.ui.feed.notifications .content .summary{font-size:14px;font-weight:700;color:#000;display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:45em}.ui.feed.messages .content .summary a,.ui.feed.notifications .content .summary a{font-weight:400}.ui.feed.messages .content .summary .icon.reply,.ui.feed.notifications .content .summary .icon.reply{color:#aaa}.ui.feed.messages .content .summary div.message-image-box,.ui.feed.notifications .content .summary div.message-image-box{float:left;padding:3px;vertical-align:middle;text-align:center;background:#FFF;margin-right:5px;border:1px solid #eee;position:relative;overflow:hidden;cursor:pointer;width:80px;height:80px;line-height:80px;border-radius:1px;margin-top:8px}.ui.feed.messages .content .summary div.message-image-box img.message-image,.ui.feed.notifications .content .summary div.message-image-box img.message-image{max-width:74px;vertical-align:middle;border-radius:0!important;width:inherit;margin-right:0!important}.ui.feed.notifications .event.read{cursor:default}.ui.feed.notifications .content{padding:0!important;vertical-align:middle;line-height:20px}.ui.feed.messages .event{cursor:pointer}.ui.feed.messages .label+.content{padding:0 .4em}.ui.list.messages{min-width:680px;max-width:740px}.ui.list.messages .date{text-align:center;padding:0 10px}.ui.list.messages .date time{color:#C0A5A5;font-size:12px}.ui.list.messages .unread-tips{padding:5px 12px;font-size:13px;border-radius:5px;background:#F6F3D5;color:#000;text-align:center;cursor:pointer;margin:10px auto;width:200px}.ui.list.messages .item>.content{padding:10px 20px;border-radius:5px;max-width:80%;word-wrap:break-word;font-size:.85em}.ui.list.messages .item>.content .icon.remove{color:#666;font-size:1.2em;cursor:pointer;visibility:hidden}.ui.list.messages .item>.content:hover .icon.remove{visibility:visible}.ui.list.messages .item>.content img.message-image{max-height:400px;max-width:500px;padding:10px 0}.ui.list.messages .item>.content .detail{font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei;font-size:1em;line-height:20px;margin:0}.ui.list.messages .item .arrow{position:relative;border:1px solid #eaeaea}.ui.list.messages .item .arrow:after,.ui.list.messages .item .arrow:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.ui.list.messages .item .arrow:after{border-color:rgba(237,246,248,0);border-width:7px;margin-top:-7px}.ui.list.messages .item .arrow:before{border-color:rgba(234,234,234,0);border-right-color:#ededed;border-width:8px;margin-top:-8px}.ui.list.messages .item.left>.sender{float:left;margin-right:1em}.ui.list.messages .item.left>.content{float:left;background:#FFF;color:#222}.ui.list.messages .item.left>.content .icon.remove{float:right;margin:0 -30px 0 0}.ui.list.messages .item.left .arrow:after,.ui.list.messages .item.left .arrow:before{right:100%;top:1em}.ui.list.messages .item.left .arrow:after{border-right-color:#fff;border-left-color:transparent}.ui.list.messages .item.left .arrow:before{border-right-color:#eaeaea}.ui.list.messages .item.right>.sender{float:right;margin-left:1em}.ui.list.messages .item.right>.content{float:right;background:#ECF9FF;color:#444;border:1px solid #D7E4F4}.ui.list.messages .item.right>.content .icon.remove{float:left;margin:0 0 0 -30px}.ui.list.messages .item.right .arrow:after,.ui.list.messages .item.right .arrow:before{left:100%;top:1em}.ui.list.messages .item.right .arrow:after{border-left-color:#ECF9FF}.ui.list.messages .item.right .arrow:before{border-left-color:#D7E4F4;border-right-color:transparent}.ui.list.messages .item.form .ui.button.send{margin:.6em 0 0 1em}.ui.list.messages .item.form>.content{font-size:13px;color:#777;padding:10px 10px 0;width:520px}.ui.list.messages .item.form>.content textarea{width:100%;height:2em;outline:0;margin:0;border:none;padding:0;resize:none}.ui.list.messages .item.form>.content .meh-photo{margin-bottom:5px}.ui.list.messages .item.form>.content .meh-photo span{float:right}.ui.list.messages .item.form>.content .meh-photo span i.icon{font-size:15px;color:#444;cursor:pointer}.ui.list.messages .item.form>.content .meh-photo span i.icon:hover{color:#000}.ui.list.messages .preview{margin:5px 55px 30px}.ui.list.messages .preview>div ul{list-style:none;padding:0;margin:0;display:table;border-collapse:collapse}.ui.list.messages .preview>div ul li{float:left;padding:5px;vertical-align:middle;text-align:center;background:#FFF;border:1px solid #eee;position:relative;overflow:hidden;cursor:pointer;width:90px;height:90px;line-height:90px;border-radius:1px;margin-right:2px}.ui.list.messages .preview>div ul li div.close{background:rgba(0,0,0,.5);width:100%;height:100%;position:absolute;left:0;top:0;margin-top:100%;-webkit-transition:margin-top .5s;transition:margin-top .5s}.ui.list.messages .preview>div ul li div.close i.icon{font-size:60px;color:#FFF;width:100%;height:100%;display:inline-block;line-height:90px}.ui.list.messages .preview>div ul li:hover div.close{margin-top:0}#send-message-modal .content{margin-bottom:0;padding-bottom:1em;display:block}#send-message-modal textarea.send-message-text{resize:none;min-height:5em;max-height:8em;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}#send-message-modal textarea.send-message-text:focus{color:rgba(0,0,0,.85);border-color:rgba(0,0,0,.2);border-bottom-left-radius:0;border-top-left-radius:0;-webkit-appearance:none;-webkit-box-shadow:none;box-shadow:none}#send-message-modal .meh-photo{margin-bottom:5px;padding:5px;background:#FFF;border:1px solid rgba(0,0,0,.15);border-top:0;border-bottom-left-radius:.3215em;border-bottom-right-radius:.3215em}#send-message-modal .meh-photo span{float:right}#send-message-modal .meh-photo span i.icon{font-size:15px;color:#444;cursor:pointer}#send-message-modal .meh-photo span i.icon:hover{color:#000}#send-message-modal .preview>div ul{list-style:none;padding:0;margin:0;display:table;border-collapse:collapse}#send-message-modal .preview>div ul li{float:left;padding:5px;vertical-align:middle;text-align:center;background:#FFF;border:1px solid #eee;position:relative;overflow:hidden;cursor:pointer;width:90px;height:90px;line-height:90px;border-radius:1px;margin-right:2px}#send-message-modal .preview>div ul li div.close{background:rgba(0,0,0,.5);width:100%;height:100%;position:absolute;left:0;top:0;margin-top:100%;-webkit-transition:margin-top .5s;transition:margin-top .5s}#send-message-modal .preview>div ul li div.close i.icon{font-size:60px;color:#FFF;width:100%;height:100%;display:inline-block;line-height:90px}#send-message-modal .preview>div ul li:hover div.close{margin-top:0}#send-message-modal .preview>div img{width:90px;vertical-align:middle}@media screen and (max-width:1100px){.ui.feed.messages .content .summary{max-width:36em}}.activities_flow .activity{position:relative;margin-bottom:20px}.activities_flow .activity>.avatar{position:absolute;left:0;top:2px;width:32px;z-index:99}.activities_flow .activity>.inner>.content{position:relative;min-height:25px;word-break:break-all}.activities_flow .activity>.inner{margin-left:57px;padding:10px;border-radius:3px;background:#FFF;position:relative}.activities_flow .activity>.inner .toolbar{font-size:12px;color:#999}.activities_flow .activity>.inner:before{margin-top:-11px;bottom:auto;right:auto;top:23px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#fff;border-left:1px solid #eee;border-bottom:1px solid #eee}.activities_flow .activity #activities_flow .activity>.comments,.activities_flow .activity>.inner{border:1px solid #e5e5e5;-webkit-box-shadow:0 0 3px #E8E8E8;-moz-box-shadow:0 0 3px #E8E8E8;-ms-box-shadow:0 0 3px #E8E8E8;-o-box-shadow:0 0 3px #E8E8E8;box-shadow:0 0 3px #E8E8E8}.activities_flow .activity>.comments{border-radius:0 0 3px 3px;border-top:0;margin-left:40px;padding:10px;background:#F7F6F2;position:relative}.activities_flow .activity>.comments>.comment:first-child{margin-top:0}.activities_flow .activity>.comments>.comment{position:relative;border-bottom:1px solid #E5E5E5;margin:10px 0}.activities_flow .activity>.comments>.comment .avatar{position:absolute;left:0;top:2px;width:30px;height:30px}.activities_flow .activity>.comments>.comment .toolbar{margin-top:0}.activities_flow .activity>.comments>.comment .content{font-size:12px;margin-left:40px;min-height:32px;line-height:23px;color:#666}.activities_flow .activity .Depot_push .more-info{padding:6px 2px}.activities_flow .activity .Depot_push .more-info .commit-message{color:#666}#activity-wall{margin-bottom:40px}#activity-wall a.more{cursor:pointer}.arrowkey-selected{background:rgba(0,0,0,.2)!important}.wmd-panel{width:auto;min-width:550px;border:1px solid #CCC}.wmd-panel>[id*=wmd-button-bar]{padding:10px!important;border-bottom:1px solid #CCC}.wmd-button-bar{width:100%;background-color:Silver}.wmd-input{height:500px;width:100%;min-height:0!important;max-height:100%!important;background-color:#FFF;border:none!important;box-shadow:none!important;letter-spacing:1px}.wmd-preview{padding:15px;background-color:#f5f5f5}.wmd-button-row{position:relative;margin:5px;margin-bottom:0!important;margin-top:0!important;padding:0;height:20px}.wmd-spacer{width:1px;height:20px;margin-left:14px;position:absolute;background-color:Silver;display:inline-block;list-style:none}.wmd-button{width:20px;height:20px;padding-left:2px;padding-right:3px;position:absolute;display:inline-block;list-style:none;cursor:pointer}.wmd-button:hover i{color:#666}.wmd-button>span{width:20px;height:20px;display:inline-block}.wmd-spacer1{left:50px}.wmd-spacer2{left:175px}.wmd-spacer3{left:300px}.wmd-prompt-background{background-color:#000}.wmd-prompt-dialog{border:1px solid #999;background-color:#F5F5F5}.wmd-prompt-dialog>div{font-size:.8em;font-family:arial,helvetica,sans-serif}.wmd-prompt-dialog>form>input[type=text]{border:1px solid #999;color:#000}.wmd-prompt-dialog>form>input[type=button]{border:1px solid #888;font-family:trebuchet MS,helvetica,sans-serif;font-size:.8em;font-weight:700}.auto-scroll{height:223px;overflow:auto}.zero-desc{width:100%;height:180px;line-height:180px;text-align:center}.qc-inner-menu{float:left;border-right:none!important}.public-qc-container{border-left:1px solid #CCC;min-height:400px!important;height:inherit!important}.public-qc-init{float:left;width:100%}#qc-container{min-height:300px}#qc-container ::-webkit-scrollbar-track-piece{background-color:#fff;-webkit-border-radius:0;border-right:1px solid #ccc}#qc-container ::-webkit-scrollbar{width:12px;height:12px}#qc-container ::-webkit-scrollbar-thumb{height:50px;background-color:rgba(3,3,3,.2);-webkit-border-radius:0;outline:#ccc solid 2px;outline-offset:-2px;border:2px solid #fff}#qc-container ::-webkit-scrollbar-thumb:hover{height:50px;background-color:#9f9f9f;-webkit-border-radius:0;outline:#9f9f9f solid 2px}#qc-container .qc-auto-height{height:inherit!important}#qc-container .min-w{min-width:1000px}#qc-container .qc_title{font-size:13px}#qc-container .qc-code-info{display:inline-block;width:100%}#qc-container .qc.init input[name=sourceEncoding][type=text]{border:none;padding:2px}#qc-container .qc.init input[name=sourceEncoding][type=text]:focus{-webkit-box-shadow:none;box-shadow:none}#qc-container .qc-tabular.tabular.ui.menu .item.active{background:rgba(255,255,255,0)!important;border-bottom:3px solid #333;border-top-color:rgba(255,255,255,0)!important;border-left-color:rgba(255,255,255,0)!important;border-right-color:rgba(255,255,255,0)!important}#qc-container .qc-tabular.tabular.ui.menu .item.qc-commit-info{display:inline-block;width:450px;padding:0;margin:0;font-size:12px;word-wrap:break-word;word-spacing:normal;overflow:hidden;text-overflow:ellipsis}#qc-container .qc-tabular.tabular.ui.menu .item.qc-commit-info .info{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#qc-container .qc-tabular.tabular.ui.menu .item.qc-commit-info .name{font-family:Consolas,Courier,"Liberation Mono",monospace!important;margin-left:20px}#qc-container .qc-tabular.tabular.ui.menu .item.qc-commit-info .ago{font-size:12px;color:#aaa}#qc-container .qc-tabular.tabular.ui.menu .item.qc-commit-info .gravatar{vertical-align:middle;border-radius:8px;margin-right:5px;margin-left:10px;margin-top:0}#inner-menu .qc-versions .item{font-size:13px;-webkit-box-shadow:none!important;box-shadow:none!important;font-family:Consolas,Courier,"Liberation Mono",monospace!important}#inner-menu .qc-versions .item .icon.close{float:right;display:none;margin-top:1px}#inner-menu .qc-versions .item img{width:16px;border-radius:8px;vertical-align:-4px}#inner-menu .qc-versions .item:hover .icon.close{display:block}#inner-menu .icon.stop{font-size:10px}#inner-menu .icon.stop.finish{color:#228119}#inner-menu .icon.stop.failed{color:#E24631}#inner-menu .icon.stop.running{color:#CEDD26}#inner-menu .icon.stop.ready{color:#3CA0D8}#inner-menu .item.active{background:rgba(0,0,0,.08)}.no-qc-report{font-size:13px;text-align:center;margin-top:50px;color:#999}.qc-help .title{border-bottom:1px solid #acc;margin-bottom:5px;padding-bottom:3px;display:block;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.07);-moz-box-shadow:0 1px 2px rgba(0,0,0,.07);box-shadow:0 1px 2px rgba(0,0,0,.07);color:#15B4B4}.qc-help p{margin:2px 0}.qc-help .content,.qc-help .intro{font-size:12px}.qc-help .intro{font-weight:700;color:#FC7F0E}.qc-help .content{color:#dedede}#qc-container .file,#qc-container .folder{cursor:pointer}#qc-container .box.duplications{overflow-y:auto;margin-right:0;margin-bottom:20px;height:initial;max-height:initial}#qc-container .box.duplications .duplication-group{border-top:3px solid #EAE9E5;margin-bottom:20px}#qc-container .box.duplications .duplication-group:first-child{border-top:none}#qc-container .box.duplications .duplication-group ul{padding:0;margin:0}#qc-container .box.duplications .duplication-group ul li{list-style:none}#qc-container .box.duplications .duplication-group ul li.group.filename{cursor:pointer;border:1px solid #ccc;border-bottom:none;border-left:none;border-right:none;background:#F7F7F7}#qc-container .box.duplications .duplication-group ul li.group.filename .filename,#qc-container .box.duplications .duplication-group ul li.group.filename .lines,#qc-container .box.duplications .duplication-group ul li.group.filename .start{display:inline-block;padding:2px 5px;font-size:12px}#qc-container .box.duplications .duplication-group ul li.group.filename .lines,#qc-container .box.duplications .duplication-group ul li.group.filename .start{min-width:30px;text-align:right}#qc-container .box.duplications .duplication-group ul li.group.filename.active{background:#95BABD;color:#FFF}#qc-container .box.duplications .duplication-group ul li.group.code .box.code{border-left:none;border-right:none;margin-bottom:0;border-bottom:none}#qc-container .box.dashboard{height:400px;max-height:inherit}#qc-container .box.dashboard p.filename{margin:0;padding:10px 30px 0;font-size:14px;font-weight:700}#qc-container .box.dashboard .column.row{padding:10px 20px;margin-bottom:0!important}#qc-container .box.dashboard .column.row .column{margin:0!important;padding:0!important}#qc-container .box.dashboard .column.row .column.row{margin:0!important;padding:10px 0!important}#qc-container .box.dashboard ul{padding:0;margin:0}#qc-container .box.dashboard ul li{list-style:none;font-size:13px}#qc-container .box.dashboard ul li span.value{font-size:12px;color:#555}#qc-container .box.dashboard ul li span.value.best{font-size:12px;color:#0CC431}#qc-container .box.dashboard ul li span.value.better{font-size:12px;color:#1A58C5}#qc-container .box.dashboard ul li span.value.normal{font-size:12px;color:#555}#qc-container .box.dashboard ul li span.value.worse{font-size:12px;color:#EBD910}#qc-container .box.dashboard ul li span.value.bad{font-size:12px;color:#EB1045}#qc-container .box.dashboard ul li span.value.terrible{font-size:12px;color:red}#qc-container .box.dashboard .column p.title{margin:0;padding:0;font-weight:700;font-size:14px}#qc-container .box.dashboard .column .content{padding-top:10px}#qc-container .box.dashboard .column .content li{float:left;padding-right:30px}#qc-container .code.box{overflow:auto}#qc-container .code-snippet{border:none!important;border-radius:0!important;box-shadow:none!important}#qc-container .code-snippet p.filename{padding:2px 5px;margin:0;font-size:12px;color:#333}#qc-container .code-snippet pre{margin:2px 0}#qc-container .code-snippet pre code{padding:0;background:#FFF}#qc-container .code-snippet .line{position:relative;padding-left:32px;line-height:18px;font-size:12px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace}#qc-container .code-snippet .line .line-number{position:absolute;left:2px;top:0}#qc-container .code-snippet .line .line-code{white-space:pre}#qc-container .code-snippet .line.highlighted{background:#FF9090;color:#FFF}#qc-container .code-snippet .line.highlighted .line-number{color:#000}#qc-container .code-snippet .line.highlighted [class^=hljs-]{color:#FFF}#qc-container .code-snippet .issues-rule{font-size:12px;border:1px solid #CCC;margin:5px 0;white-space:normal}#qc-container .code-snippet .issues-rule .header{cursor:pointer}#qc-container .code-snippet .issues-rule .content{padding:5px 10px}#qc-container .code-snippet .issues-rule .hidden{display:none}#qc-container .issues-rule .footer,#qc-container .issues-rule .header{background-color:#E4ECF3;padding:5px}@media only sreen and (max-width:768px){.code-snippet{overflow-x:auto;width:100%}}#qc-container .box{height:400px;border:1px solid #ccc;margin-top:0;background:#FFF;margin-bottom:20px}#qc-container .folder.box{overflow-y:scroll;height:400px;margin-right:0}#qc-container .folder.box .item{font-size:12px;padding:8px;color:#000!important}#qc-container .folder.box .item i.icon{color:#000!important;margin-right:5px!important}#qc-container .folder.box .item label.num{color:#000!important;font-size:12px;float:right}#qc-container .folder.box .item span.folder-name{display:inline-block;width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#qc-container .folder.box .files.ui.link.list{padding:0 0 0 1em}#qc-container .folder.box .files.ui.link.list .item{font-size:12px;padding:5px 8px;color:#333!important;text-overflow:ellipsis;white-space:nowrap}#qc-container .folder.box .files.ui.link.list .item i.icon{color:#333!important;margin-right:5px!important}#qc-container .folder.box .files.ui.link.list .item label.num{color:#333!important;font-size:12px;float:right}#qc-container .folder.box .files.ui.link.list .active.item{font-size:12px;padding:5px 8px;color:#a00!important}#qc-container .folder.box .files.ui.link.list .active.item i.icon,#qc-container .folder.box .files.ui.link.list .active.item label.num{color:#a00!important}#qc-container .ui.block.header{color:#333!important;border:1px solid #ccc;margin-bottom:0;border-bottom:none}#qc-container .ui.block.header .icon.fullscreen,#qc-container .ui.block.header .icon.remove{float:right;vertical-align:middle;margin-top:3px;margin-right:0;cursor:pointer}#qc-container .ui.block.header span{cursor:pointer}#qc-container .ui.block.header span.filename{font-size:11px;font-weight:400;margin-left:20px;cursor:auto}#qc-container .issues.filter{margin-bottom:20px;display:inline-block;width:100%}#qc-container .issues.filter .issues-box .ui.grid{margin:0}#qc-container .issues.filter .issues-box .ui.grid .column{padding:0;margin:0}#qc-container .issues.filter .issues-box .ui.menu.issues-type-menu{border-radius:0!important;margin:0}#qc-container .issues.filter .issues-box .ui.menu.issues-type-menu .item{font-size:12px;border-radius:0!important}#qc-container .issues.filter .issues-box .ui.menu.issues-type-list{border-radius:0!important;margin:0;background:#FFF;height:191px;overflow-y:scroll;overflow-x:hidden}#qc-container .issues.filter .issues-box .ui.menu.issues-type-list .item{text-overflow:ellipsis;white-space:nowrap;border-radius:0!important;font-size:12px;padding-left:20px}#qc-container .issues.filter .issues-box .ui.menu.issues-type-list .item .num{float:right}#qc-container .issues.filter .issues-box .ui.menu.issues-type-list .item.active{background:#F7F7F7;-webkit-box-shadow:none!important;box-shadow:none!important}#qc-container .issues.code.list .ui.grid{margin:0}#qc-container .issues.code.list .ui.grid .wide.column{padding:0;margin:0}#qc-container .issues.code.list .ui.grid .wide.column:first-child{padding-right:20px}#qc-container .full{width:initial!important;display:block!important;height:700px!important}#qc-container .full .code.box{max-height:600px!important;height:600px!important}#qc-container .hide{display:none!important}#qc-container{padding:30px 10px 0!important}#qc-container svg{font:10px sans-serif}#qc-container .qc-dashboard>.two.column>.column:first-child{padding-left:0}#qc-container .qc-dashboard>.two.column>.column:last-child{padding-left:0;padding-right:0}#qc-container .qc-dashboard section{padding-bottom:10px}#qc-container .report-box{background:#FFF;border:1px solid #ccc;padding:5px 10px}#qc-container .report-box .report-header{margin:0;padding-bottom:10px}#qc-container .report-box .report-header .title{font-size:16px;color:#333;margin-right:30px}#qc-container .report-box .report-header .title i.icon{font-size:13px}#qc-container .report-box .report-header .num{font-size:24px;color:#333;margin-right:10px;font-weight:600}#qc-container .report-box .report-header .desc{font-size:14px;color:#333;margin-right:30px}#qc-container .report-box .box-item{display:inline-block;font-size:12px;padding-bottom:8px;color:#555}#qc-container .report-box .box-item p{text-align:center;margin:0}#qc-container .report-box .box-item p:first-child{margin-top:8px;font-size:14px;font-weight:700}#qc-container .report-box .box-item p:last-child{font-size:12px;padding-bottom:8px;color:#555}#qc-container .report-box .three.column .box-item{width:32%}#qc-container .report-box .two.column .box-item{width:49%}#qc-container .report-box .one.column .box-item{width:100%}#qc-container .report-box .two-split.column .box-item:first-child{width:60%;border-right:1px solid #ccc}#qc-container .report-box .two-split.column .box-item:last-child{width:38%;vertical-align:top}#qc-container .report-box p.alone{margin:0;font-size:14px;color:#333;padding:3px 0;font-weight:700}#qc-container .report-box .report-content{margin-bottom:10px}#qc-container .report-box .report-content div.rect{width:50%;display:inline-block;vertical-align:middle}#qc-container .report-box .report-content div.rect svg{float:right}#qc-container .report-box .report-content span.label{font-size:13px;margin-right:8px}#qc-container .report-box .report-content span.num{font-size:13px}#qc-container .vr-dashes{border-right:1px dashed #ccc}#qc-container .hb-dashes{border-bottom:1px dashed #ccc}.ui.popup{z-index:9999}.git-container{min-width:860px;margin-bottom:50px}.git.tab-bar{height:32px;box-sizing:border-box;border-bottom:1px solid #5191bd}.git.tab-bar .item{color:#000;background-color:#fff;font-size:14px;padding:0 15px;border-top:2px solid #ccc;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:29px;display:inline-block;position:relative;margin-left:-1px}.git.tab-bar .item:first-child{margin-left:0}.git.tab-bar .item.active{border-top:2px solid #5191bd;border-bottom:none}.git.tab-bar .item.active:before{content:"";z-index:-1;-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4);width:100%;height:100%;top:-2px;right:0;position:absolute}.git.tab-content{display:none;width:600px;background-color:#fff;padding:15px;box-sizing:border-box}.git.tab-content.active{display:block}.git.tab-btn{position:absolute;top:31px;left:600px;cursor:pointer;color:#fff;background-color:#5191bd;padding:10px 5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px}.git.tab-btn:hover{color:#fff}.git.tab-btn.disabled{background-color:rgba(81,145,189,.6)}.git.select2 .select2-container:first-child{margin-left:0}.git.select2 .select2-container{margin:0 20px}.git.select2 .select2-choice{background:#fff}.git.select2 .select2-arrow{border-left:none;background:0 0}.code-reviewer-select{width:250px;margin:0;position:relative;display:inline-block;vertical-align:middle;box-sizing:border-box}.code-reviewer-select-choice{display:block;height:26px;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #aaa;background:#fff;line-height:26px;white-space:nowrap;text-decoration:none;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.diffstat{font-size:12px;font-weight:700;color:#666;white-space:nowrap;cursor:default;max-width:72px}.diffstat .block{position:relative}.text-diff-added{color:#9ACA3F}.text-diff-deleted{color:#DF5A5A}.block-diff-added,.block-diff-deleted,.block-diff-neutral{display:inline-block;width:8px;height:8px;margin-left:1px;vertical-align:middle}.block-diff-added{background-color:#9ACA3F}.block-diff-deleted{background-color:#DF5A5A}.block-diff-neutral{background-color:#ddd}.git-main-content{min-width:750px;max-width:800px}.git-main-form{min-width:600px;max-width:700px}.pull-request .pagedown.wmd-panel>.pagedown-editor{height:220px}.pull-request .pr-title{word-break:break-all}.pull-request .pr-id{color:#888;font-size:14px}.pull-request .pr-status{color:#fff;font-size:12px!important;border-radius:3px;padding:5px}.pull-request .pr-status.accepted{background-color:#D19D6B}.pull-request .pr-status.canmerge{background-color:#78B98E}.pull-request .pr-status.cannotmerge{background-color:#A78CD3}.pull-request .pr-status.refused{background-color:#D97577}.pull-request .pr-status.cancel{background-color:#BBB}.pull-request .pr-item{margin-top:20px;margin-bottom:20px;display:block}.pull-request .pr-item .author,.pull-request .pr-item .time{color:#333;text-decoration:none;font-size:12px;line-height:20px;height:20px;vertical-align:middle}.pull-request .pr-item .pr-created-at{line-height:20px;height:20px;vertical-align:middle}.pull-request .pr-item .header{margin-bottom:7px}.pull-request .pr-item .header a{color:#444;font-weight:500;outline:0;font-size:14px;box-sizing:border-box}.pull-request .pr-item .header .pr-label{font-size:12px!important;font-weight:400;color:#000;border-radius:3px;padding:2px 5px!important}.pull-request .pr-item .header .pr-label.src{margin-left:30px;background-color:#E3EdF6}.pull-request .pr-item .header .pr-label.des{background-color:#E8E8E8}.pull-request .pr-item .footer{font-size:12px}.pull-request .pr-item .pr-author{display:inline;height:20px;line-height:20px;vertical-align:middle;color:#333}.pull-request .pr-item .merge-form{margin:30px 0}.pull-request .pr-item .pr-merged-time{font-size:12px;height:14px;line-height:14px;margin-top:5px;text-align:center;margin-left:10px}.pull-request .pull-right{float:right}.pull-request .pr-author{font-size:12px;color:#999}.pull-request .pr-merge{padding:20px;background:0 0}.pull-request .pr-action{margin-bottom:30px}.pull-request .pr-action .buttons .button{border:none!important;padding-left:15px;padding-right:15px}.pull-request .pr-action .buttons .button.refuse-btn{border-top-left-radius:30px!important;border-bottom-left-radius:30px!important}.pull-request .pr-action .buttons .button.merge-btn{border-top-right-radius:30px!important;border-bottom-right-radius:30px!important}.pull-request .pr-action .pr-label{color:#fff;border-radius:3px;font-size:13px;padding:2px 5px!important}.pull-request .pr-action .pr-label.src{background-color:#44689b}.pull-request .pr-action .pr-label.des{background-color:#444}.pull-request .pr-content{margin-bottom:30px;word-wrap:break-word}.pull-request .author-gravatar{vertical-align:middle;border-radius:10px;display:inline-block}.pull-request .diff-notes-wrapper{position:relative;margin-bottom:20px}.pull-request .diff-notes-wrapper .commit-diff{margin-left:100px}.pull-request .diff-notes-wrapper .commit-diff .header{border-top-left-radius:3px;border-top-right-radius:3px;border-color:#ddd}.pull-request .diff-notes-wrapper .commit-diff .diff{border-color:#ddd;margin-bottom:0}.pull-request .diff-notes-wrapper .diff-comments{margin-left:100px;background-color:#fff;border:1px solid #ddd;border-top:none;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:10px;max-width:initial}.pull-request .diff-notes-wrapper .diff-comments .cancel-comment{bottom:14px}.pull-request .diff-notes-wrapper.outdated .commit-diff,.pull-request .diff-notes-wrapper.outdated .diff-comments{display:none}.pull-request .activity{font-size:12px;line-height:32px;color:#999}.pull-request .activity .icon.activity{width:30px;height:30px;position:absolute;left:59px;top:-2px;border-radius:19px;text-align:center;line-height:32px;color:#666;border:2px solid #f7f6f2;background-color:#efdddd}.pull-request .activity .icon.activity>i{margin:0;font-size:14px;opacity:1}.pull-request .activity .icon.activity.create{background-color:#eee}.pull-request .activity .icon.activity.merge{background-color:#32be77;color:#FFF}.pull-request .activity .icon.activity.cancel,.pull-request .activity .icon.activity.refuse{background-color:#DF5A5A;color:#FFF}.pull-request .activity .icon.activity.update{background-color:#eee}.pull-request .activity .icon.activity.review{background-color:#eb935d;color:#FFF}.pull-request .activity .icon.activity.review_undo{background-color:#eee}.pull-request .activity .icon.activity.grant{background-color:#eb935d;color:#FFF}.pull-request .activity .icon.activity.grant_undo{background-color:#eee}.pull-request .activity .icon.activity.push{background-color:#5191bd;color:#FFF}.pull-request .activity .detail{padding-left:100px}.pull-request .activity .button.toggle-diff{float:right;font-size:12px;font-weight:700;color:#666;cursor:pointer}.pull-request .mr-title{position:relative;border-radius:3px;margin:18px 0;height:25px}.pull-request .mr-title>textarea{overflow:hidden;word-wrap:break-word;resize:none;height:25px;font-size:18px;color:#333;line-height:25px;width:100%;padding:0;margin:0;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0;word-break:break-all;background:#f7f6f2;white-space:nowrap}.pull-request .mr-title>textarea:hover{background:#eee}.pull-request .mr-title>div{word-wrap:break-word;height:25px;font-size:18px;color:#333;line-height:25px;width:100%;padding:0;margin:0;border:0;word-break:break-all}.pull-request .mr-status{color:#fff;font-size:12px!important;border-radius:3px;padding:5px;margin-right:10px}.pull-request .mr-status.accepted{background-color:#D19D6B}.pull-request .mr-status.canmerge{background-color:#78B98E}.pull-request .mr-status.cannotmerge{background-color:#A78CD3}.pull-request .mr-status.refused{background-color:#D97577}.pull-request .mr-status.cancel{background-color:#BBB}.pull-request .mr-status.granted{background-color:#32BE77;margin-right:10px}.pull-request .mr-action{margin-bottom:20px}.pull-request .mr-action .mr-label{padding:2px 5px!important;font-size:14px;line-height:24px}.pull-request .mr-action .mr-label.src{color:#5092BD}.pull-request .mr-action .mr-label.des{color:#000}.pull-request .mr-content{margin-bottom:30px;border:1px solid #EEE;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:20px;background:#FFF;position:relative}.pull-request .mr-content i.edit.icon{position:absolute;right:4px;top:4px;font-size:12px!important;color:#999!important;margin:0!important;z-index:2;transform-origin:47% 47%;cursor:pointer}.pull-request .mr-content i.edit.icon:hover{cursor:pointer}.pull-request .mr-content.editing{padding:0!important;border:0!important}.pull-request .mr-content .empty.content{width:auto;font-size:14px;color:#999}#pulls-comments .comment{position:relative;padding:15px 10px}#pulls-comments .comment img.avatar{position:absolute;top:19px;left:12px}#pulls-comments .comment .content{padding-left:50px;line-height:23px;font-size:14px;margin-bottom:3px}#pulls-comments .comment .time{padding-left:50px;font-size:12px;color:#999}#pulls-comments .comment .time a.remove{margin-left:5px;display:none}#pulls-comments .comment .time a.reply{margin-left:10px;display:none}#pulls-comments .comment:hover .time a.remove,#pulls-comments .comment:hover .time a.reply{display:inline}#merges-comment-form{margin:50px 0}.merge-request-activity-filter{text-align:right;padding-right:10px;margin-bottom:10px;font-size:14px;margin-top:20px}.git-comments{position:relative}.git-comments:before{width:2px;position:absolute;top:2px;left:74px;height:100%;border-left:3px solid #EEE;content:'';z-index:0}.git-comments .comment{position:relative;margin-bottom:20px;border:2px solid transparent;border-bottom:none}.git-comments .comment .commont-avatar{position:absolute;left:3px;top:8px}.git-comments .comment img.avatar{width:36px;height:36px;margin:0}.git-comments .comment .content-wrapper{margin-left:60px;padding:15px;position:relative;border:1px solid #EEE;background:#FFF;border-radius:3px}.git-comments .comment .content-wrapper:before{margin-top:-11px;bottom:auto;right:auto;top:30px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.git-comments .comment .content{line-height:23px;font-size:14px;margin-bottom:10px}.git-comments .comment .content img.monkey.emotion{width:64px}.git-comments .comment .time{font-size:12px;color:#999}.git-comments .comment .time a.remove,.git-comments .comment .time a.reply{display:none}.git-comments .comment .time .mr10{margin-right:10px}.git-comments .comment:hover .time a.remove,.git-comments .comment:hover .time a.reply{display:inline}.git-comments .comment:first-child{border:2px solid #f7f6f2}.merges-comment-editor.light-md-editor .editor>textarea{min-height:0;max-height:none}.merge-request-layout{padding-right:30px}.select-reviewer.select2-drop{border:0;border-radius:0 0 .2em .2em;box-shadow:0 0 1px 1px rgba(0,0,0,.1);color:#333!important;min-width:175px}.select-reviewer.select2-drop>.select2-search{padding:4px;margin-top:0;background-color:#eee}.select-reviewer.select2-drop>.select2-search input{margin-top:0!important;padding:5px 25px 5px 10px;border:1px solid #ddd;border-radius:2px;font-size:12px;color:#333;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) 100% -22px no-repeat #fff}.select-reviewer.select2-drop>.select2-results{padding:0;margin:0;max-height:205px}.select-reviewer.select2-drop>.select2-results .select2-result{height:40px;color:#333;border-top:1px solid rgba(0,0,0,.05)}.select-reviewer.select2-drop>.select2-results .select2-highlighted{background:rgba(0,0,0,.02)}.select-reviewer.select2-drop>.select2-results .select2-no-results,.select-reviewer.select2-drop>.select2-results .select2-result-label{padding:0 5px;height:40px;line-height:40px}.select-reviewer.select2-drop>.select2-results .select2-no-results>div,.select-reviewer.select2-drop>.select2-results .select2-result-label>div{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;margin-left:10px}.select-reviewer.select2-drop>.select2-results .select2-no-results>div>img,.select-reviewer.select2-drop>.select2-results .select2-result-label>div>img{width:30px;height:30px}.select-reviewer.select2-drop>.select2-results .select2-no-results>div>span,.select-reviewer.select2-drop>.select2-results .select2-result-label>div>span{margin-left:5px}.diffstat-block{float:right;display:inline-block;padding-top:15px;margin-left:10px}.mr-tasks .mr-task{width:250px;height:27px}.mr-tasks .mr-task>span{font-size:14px;color:#333;height:20px;line-height:20px;display:-webkit-flex;display:flex;box-sizing:border-box}.mr-tasks .mr-task>span>a{color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:200px}.mr-tasks .mr-task>span>img{width:20px;height:20px}.mr-tasks .mr-task>span>i{margin-top:3px!important}.mr-tasks .mr-task>span>i.icon.remove{float:right}.mr-tasks .mr-task>span>i.icon.remove:hover{cursor:pointer}.merge-request-info-menu{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-right:10px;overflow-x:visible!important}.merge-request-info-menu-item{position:relative;color:#555;font-size:12px;margin-bottom:6px}.merge-request-info-menu-item header{padding:5px 0 8px;font-size:12px!important;margin:0!important}.merge-request-info-menu-item header .icon.add{line-height:16px;float:right}.merge-request-info-menu-item header .icon.add:hover{cursor:pointer}.merge-request-info-menu-item.with-top-separator{margin-top:8px;padding-top:8px;border-top:1px solid #DDD}.merge-request-info-menu-item>.button{width:100%}.review-good{color:#32be77}.review-good:before{font-family:Icons;content:"\f164";position:absolute;left:15px;z-index:1;top:13px;width:14px;height:14px;font-size:12px}.review-good:after{content:"";position:absolute;left:13px;z-index:0;top:12px;width:15px;height:15px;background-color:#fff;border-radius:14px}.merge-request-info-menu-item-content{color:#333;font-size:14px}.merge-request-info-menu-item-content .reviewer-list{display:flex;display:-webkit-flex;margin-bottom:5px;align-items:center;-webkit-align-items:center;position:relative}.merge-request-info-menu-item-content .reviewer-list>span{padding-left:30px;display:inline-block;height:24px;line-height:24px;width:100%}.merge-request-info-menu-item-content .reviewer-list>img{position:absolute!important;top:0;left:0}.merge-request-info-menu-item-content .reviewer-list>i{display:none}.merge-request-info-menu-item-content .reviewer-list>i:hover{cursor:pointer}.merge-request-info-menu-item-content .reviewer-list:hover>i{display:inline}.merge-request-info-menu-item-content>.select2-container{width:0!important;height:0!important;overflow:hidden}.merge-request-reference{display:block;width:100%;height:100%}.merge-request-reference .resource-reference{padding:0;margin:0 0 30px}.merge-request-reference .resource-reference .attention.icon,.merge-request-reference .resource-reference div.icon{display:none}.merge-request-reference .resource-reference .detail{margin:0}.merge-request-reference .resource-reference .detail:before{content:none}#merge-request-list{min-width:800px;min-height:650px;padding:25px;background-color:#fff}#merge-request-list .ui.header{font-weight:500;color:#333}#merge-request-list .ui.header .ui.button.right{float:right;font-size:14px;padding:0 15px;height:26px;line-height:26px}#merge-request-list .search-filter{color:#545454;font-size:14px;margin-bottom:10px}#merge-request-list .search-filter i.icon{cursor:pointer}#merge-request-list .search .search-box{border-bottom:1px solid #ddd;display:table;float:left}#merge-request-list .search .search-box>i{color:#000;font-size:13px;margin-left:0}#merge-request-list .search .search-box input{border:none;background:0 0;height:20px;font-size:14px;width:200px;outline:0;padding-left:6px}#merge-request-list .search .filters{font-size:14px;float:right;margin:5px 0 10px 5px}#merge-request-list .search .filters .task-urgency-wrapper{position:relative!important;display:inline-block;width:1.5em}#merge-request-list .search .filters i.icon.checkmark{display:inline-block}#merge-request-list .search .filters .task-urgency-wrapper i.icon{margin:0;padding:0}#merge-request-list .search .filters div.input{display:block;padding:.3em;background-color:rgba(0,0,0,.05);margin-bottom:0}#merge-request-list .search .filters div.input input{min-width:205px}#merge-request-list .search .filters div.input .search.icon{padding-top:11px}#merge-request-list .search .filters .ui.dropdown .menu .members-outer{max-height:200px;overflow-y:auto;max-width:210px}#merge-request-list .search .filters .ui.dropdown .menu .members-outer .item{padding:.5em 2em .5em 1em!important}#merge-request-list .search .filters .ui.dropdown .menu .members-outer .item i.icon{visibility:hidden}#merge-request-list .search .filters .ui.dropdown .menu .members-outer .item.selected i.icon{visibility:visible}#merge-request-list .search .filters .ui.dropdown .menu .members-outer .item .tag-color{position:relative;margin-right:5px;width:16px;height:16px;display:inline-block;vertical-align:middle;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#merge-request-list .item.active{background-color:#F7F6F2;border-bottom:1px solid #F7F6F2}#merge-request-list .item.active .label{padding:3px 9px!important;background-color:rgba(0,0,0,.15)!important;color:#666}#merge-request-list .merge-request-list-item{margin-top:0;display:flex;display:-webkit-flex;padding:10px 0;border-bottom:1px solid #ddd}#merge-request-list .merge-request-list-item .status{display:inline-block;color:#32BE77;padding-top:4px;padding-right:3px}#merge-request-list .merge-request-list-item .status i.icon{width:18px;font-size:18px;opacity:1}#merge-request-list .merge-request-list-item .status i.icon.merge-request,#merge-request-list .merge-request-list-item .status i.icon.thumbs.up{color:#32BE77}#merge-request-list .merge-request-list-item .status i.icon.exclamation{color:#A78CD3}#merge-request-list .merge-request-list-item .status i.icon.remove{color:#D95C5C}#merge-request-list .merge-request-list-item .status i.icon.thumbs.up.outline{color:#888}#merge-request-list .merge-request-list-item .content .header{margin-bottom:6px;width:580px;line-height:24px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#merge-request-list .merge-request-list-item .content .header a{color:#333;font-weight:500;outline:0;font-size:16px;box-sizing:border-box}#merge-request-list .merge-request-list-item .content .header .tag{font-size:12px;font-weight:400;color:#FFF;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:2px 3px;margin-right:5px;word-break:break-all;vertical-align:text-bottom;line-height:1.3em;display:inline-block}#merge-request-list .merge-request-list-item .content .footer{font-size:12px;line-height:16px}#merge-request-list .merge-request-list-item .content .footer .mr-id{color:#999;margin-right:20px}#merge-request-list .merge-request-list-item .content .footer .mr-author{color:#666;margin-right:20px}#merge-request-list .merge-request-list-item .content .footer i.time.icon{margin:0}#merge-request-list .merge-request-list-item .content .footer .chat.outline.icon{color:#999;margin:0 0 0 20px}#merge-request-list .merge-request-list-item .time{color:#999;text-decoration:none;font-size:12px;line-height:20px;height:20px;vertical-align:middle}#merge-request-list .merge-request-list-item .reviewers{margin-left:auto;padding-top:2px;padding-right:5px}#merge-request-list .merge-request-list-item .reviewers a{color:#32be77;display:flex;display:-webkit-flex;margin-bottom:5px;align-items:center;-webkit-align-items:center;position:relative;float:left;margin-left:5px}#merge-request-list .merge-request-list-item .reviewers a.more{color:#666}#merge-request-list .merge-request-list-item .reviewers a img{width:24px;height:24px;-webkit-border-radius:24px;-moz-border-radius:24px;border-radius:24px}.forks .author,.forks .time{color:#FFA487;text-decoration:none;font-size:12px}.forks .root-label{font-size:10px!important;font-weight:400;color:#fff;background-color:#73c345;border-radius:3px;padding:2px 5px!important}.forks .line{float:left;line-height:59px;width:20px}.forks .line .cross-line{position:relative;top:15px}.forks hr{border:none;border-top:1px solid #ddd}.forks .children{border-left:1px solid #ddd;border-top:0!important;margin-left:23px;margin-right:30px;padding-left:0!important}.forks .child{padding-left:30px!important}.forks .last-children{height:19px}.readme{margin-top:27px}.readme-title{background:#f7f8f9;border-top:1px solid #b7c7cf;border-left:1px solid #b7c7cf;border-right:1px solid #b7c7cf}.readme-title p{margin:0;padding:10px 11px}.empty-readme{background:#f7f8f9;padding:10px 11px;border:1px solid #b7c7cf;font-size:14px}.blobmd{padding:30px;background:#FFF}.git-empty{margin:0 auto;width:720px}.git-empty .back-monkey{margin-top:105px}.git-empty h2{margin-top:55px;margin-bottom:25px;font-size:18px;text-align:center}.git-empty p{text-align:center;font-size:14px}.git-empty .about-git{text-align:center;font-size:14px;display:block}.git-empty .proto-url{font-size:12px;width:600px;margin:0 auto}.git-empty .proto-switch{border-radius:0!important;height:35px!important;width:70px;font-weight:400;line-height:10px!important;display:table-cell;cursor:pointer;vertical-align:middle;min-height:1em;outline:0;text-align:center;box-sizing:border-box;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.08) inset;box-shadow:0 0 0 1px rgba(0,0,0,.08) inset;background:#FFF}.git-empty .scaffold-link{margin:25px auto;text-align:center;cursor:pointer;font-size:14px;color:#2d59a2;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.git-empty .scaffold-form{width:600px;margin:0 auto;position:relative}.git-empty .quick-setup{width:600px;margin:30px auto 0;font-size:14px;position:relative}.git-empty .quick-setup pre{font-family:Consolas,Menlo,"Liberation Mono",Courier,monospace!important;margin:0;text-align:left;word-wrap:normal;overflow:auto}.git-empty .empty-repo-recommend{text-align:center;box-sizing:border-box;font-size:13px;font-style:normal;font-variant:normal;font-weight:400}.git-empty .new-repo-cli-container{padding-top:0;text-align:center}.git-empty .new-repo-cli-container h3{text-align:left;margin:1em 0 15px;padding:0;font-weight:700;line-height:1.7;cursor:text;position:relative}.git-empty .new-repo-cli-container pre{text-align:left;word-wrap:normal;background-color:#f8f8f8;border:1px solid #ddd;font-size:13px;line-height:19px;overflow:auto;padding:6px 10px;border-radius:3px}.git-empty .new-repo-cli-container code{margin:0;padding:0;background-color:transparent;border:none;word-wrap:normal;max-width:initial;display:inline;overflow:initial;line-height:inherit}.keys .key-list p{font-size:12px!important}.keys .delete-link{color:red;cursor:pointer;margin-left:15px}.tree{font-size:12px;box-sizing:border-box}.tree a{text-decoration:none}.tree a .flatten-path{color:#888}.tree .files-list{border:1px solid #ccc;margin-bottom:10px;border-top:0}.tree table.files{border-collapse:collapse;width:100%;background:#F8F8F8;border-spacing:0}.tree table.files tr{height:34px}.tree table.files td{padding:2px 3px;border-top:1px solid #eee;line-height:20px}.tree table.files td.icon{width:17px;padding-right:2px;padding-left:10px;color:#767676}.tree table.files td.icon .folder{color:#4183c4}.tree table.files td.content{max-width:180px}.tree table.files td.committer{padding-left:20px;height:20px;overflow:hidden;color:#888;font-size:12px;width:25px}.tree table.files td.committer img{vertical-align:middle;padding:2px;border-radius:20px}.tree table.files td.name{width:100px}.tree table.files td.name a{color:#777}.tree table.files td.message{padding-left:10px;height:20px;overflow:hidden;color:#888;font-size:12px;max-width:400px}.tree table.files td.message a{color:#888}.tree table.files td.message a:hover{color:#4183c4}.tree table.files td.age{padding-left:20px;text-align:right;color:#888;width:100px;padding-right:10px;white-space:nowrap}.tree table.files td .truncate{max-width:100%!important}.tree table.files td .truncate-target{display:inline-block;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}.commit-tease{font-size:12px;position:relative;padding:10px;margin-bottom:-1px;line-height:20px;color:#68777d;background:#f7f8f9;border:1px solid #b7c7cf;border-radius:3px 3px 0 0;word-wrap:break-word}.commit-tease .commit-author-section{color:#333}.commit-tease .author-gravatar{margin-top:-3px;display:inline-block;overflow:hidden;line-height:1;vertical-align:middle;border-radius:20px}.commit-tease .author-name a{font-weight:700;color:#333;white-space:nowrap}.commit-tease .author-name a:hover{color:#333}.commit-tease .refer-resource-link{color:#2D59A2!important;margin:0 5px}.commit-tease .refer-resource-link:hover{color:inherit;text-decoration:underline}.commit-tease .at-someone{font-weight:700;color:#333;white-space:nowrap}.commit-tease .at-someone:hover{color:#333;text-decoration:underline}.commit-tease .message,.commit-tease .message a{color:inherit}.commit-tease .message a:hover{color:inherit;text-decoration:underline}.commit-tease .commit-desc{display:block}.commit-tease .commit-desc pre{font-size:12px;max-width:700px;margin-top:10px;line-height:1.45;color:#596063;white-space:pre-wrap;margin-bottom:0}.commit-tease .floated.right{color:#444}.commit-tease span.hidden-text-expander{position:relative;top:-1px;display:inline-block;margin-left:5px;line-height:0;margin-top:3px}.commit-tease span.hidden-text-expander a{display:inline-block;height:12px;padding:0 5px;font-size:12px;font-weight:700;line-height:6px;text-decoration:none;vertical-align:middle;background:#ddd;border-radius:1px}.commit-tease span.hidden-text-expander a:hover{cursor:pointer}.commit-meta .zeroclipboard-link{float:right;margin-left:5px;margin-top:-2px}.commit-tease-sha{display:inline-block;color:#445055!important}.commit-tease-sha:hover{text-decoration:underline!important}.blob-code-view{width:100%;background-color:#fff;border-collapse:separate;tab-size:8}.blob-code-view a{color:#4183c4;text-decoration:none}.blob-code-view td,.blob-code-view tr{margin:0;padding:0;vertical-align:top}.blob-code-view .blob-nums{line-height:1;padding:5px 0;text-align:right}.blob-code-view .blob-nums span{display:block;line-height:18px;padding:0 8px;color:inherit;height:18px;cursor:pointer}.blob-nums,.diff-num{width:1%;padding-left:8px;padding-right:8px;font-family:Consolas,"Liberation Mono",Courier,monospace;line-height:18px;color:rgba(0,0,0,.3);vertical-align:top;text-align:right;border-right:1px solid #e5e5e5}.blob-code-view .blob-nums ::selection{text-shadow:none}.blob-code-view .blob-body{padding-top:5px;padding-bottom:5px;white-space:nowrap;line-height:18px;overflow:auto;overflow-y:hidden}.blob-code-view .blob-body ::selection{text-shadow:none;background:rgba(65,131,196,.4)}.blob-body pre,.blob-nums{font-family:Consolas,Menlo,"Liberation Mono",Courier,monospace!important;line-height:18px;margin:0;padding:0;font-size:12px}.blob-body pre .line,.blob-nums{padding-left:10px;height:18px}.blob-body,.blob-nums{font-family:Consolas,"Liberation Mono",Courier,monospace!important;line-height:18px;font-size:12px}.file-box{position:relative;margin-bottom:15px;border:1px solid #ccc}.file-box .file-meta{padding:5px 10px;font-size:12px;text-align:left;color:#555;border-bottom:1px solid #d8d8d8}.file-box .file-meta .info{line-height:32px;height:32px}.file-box .file-meta .info .icon i.icon{font-size:18px;vertical-align:-1px}.file-box .file-meta .meta-divider{display:inline-block;width:2px;height:18px;margin:0 3px;vertical-align:middle;background-color:#ddd;border-right:1px solid #fff}.file-box .file-meta .ui.compact.menu.opt{background-color:#ddd;float:right}.file-box .file-meta .ui.compact.menu.opt a{font-size:12px}.file-box .file-preview{overflow:auto}.file-box .file-preview .not-support{padding:20px;text-align:center;color:#999}.file-box .file-preview .code-preview{margin:0}.file-box .file-preview .blob-img{background:url(/static/5d487aa5c207cf1ca5a36524acb953f1.gif) right bottom #eee}.ui.large.breadcrumb.tree-nav{display:block;font-size:16px}.ui.large.breadcrumb.tree-nav .nav-refs{float:left;height:26px;line-height:26px;margin-bottom:20px}.ui.large.breadcrumb.tree-nav .nav-buttons{display:inline-block;float:right;height:26px;line-height:26px;margin-bottom:20px}.ui.large.breadcrumb.tree-nav .nav-buttons .ui.button{padding:0 1em!important}.ui.large.breadcrumb.tree-nav .nav-buttons .ui.button .icon{margin-right:.4em!important;margin-left:0}.ui.large.breadcrumb.tree-nav .nav-buttons .ui.buttons .ui.button{border-radius:0;box-shadow:none;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08)}.ui.large.breadcrumb.tree-nav .nav-buttons .ui.buttons .ui.button:first-child{border-radius:2em 0 0 2em;border-right:1px solid rgba(0,0,0,.08)}.ui.large.breadcrumb.tree-nav .nav-buttons .ui.buttons .ui.button:last-child{border-radius:0 2em 2em 0}.ui.large.breadcrumb.tree-nav .nav-buttons .ui.buttons .ui.button:only-child{border-radius:2em;border:1px solid rgba(0,0,0,.08)}.ui.large.breadcrumb.tree-nav .nav-breadcrumb{float:left;line-height:26px;margin-left:5px;margin-bottom:20px}.refs.ref-block{line-height:10px}.refs.ref{font-size:12px!important}.refs.selector{background-color:#FFF;border:1px solid #DDD;padding:6px 20px 6px 4px;margin-right:5px;cursor:pointer;color:#333;position:relative;display:inline-block}.refs.selector:hover{background-color:#F5F8Fb}.refs.selector:before{position:absolute;top:10px;right:10px;display:block;width:0;height:0;content:"";border:4px solid;border-right-color:transparent;border-left-color:transparent;border-bottom-color:transparent}.refs.dropdown.box{display:inline-block;position:relative}.refs.selector i{font-weight:500;font-style:normal;opacity:.6}.refs.selector i.icon{font-size:12px;margin-right:0}.refs.ui.dropdown{min-width:300px;position:absolute;left:0;top:28px}.refs.ui.dropdown .menu{box-shadow:0 3px 12px rgba(0,0,0,.25);border-radius:3px}.refs.ui.dropdown .box.items{max-height:300px;overflow-y:auto}.refs.ui.dropdown .box.items .item{font-size:12px;padding:8px!important}.refs.ui.dropdown .item.search .refs.search{display:block;width:96%;max-width:99%;padding:5px;border:1px solid #ddd;border-radius:3px;margin:0 auto;height:30px}.refs.ui.dropdown .item.refs .tab.refs{list-style:none;overflow:hidden;padding:14px 10px 0;margin:0}.refs.ui.dropdown .item.refs .tab.refs li{display:inline-block}.refs.ui.dropdown .item.refs .tab.refs .tab{height:20px;padding:5px 8px;font-size:11px;font-weight:700;color:#888;text-decoration:none;line-height:20px;cursor:pointer}.refs.ui.dropdown .item.refs .tab.refs .tab.active{height:20px;padding:5px 8px;font-size:11px;font-weight:700;color:#888;text-decoration:none;line-height:20px;border-radius:3px 3px 0 0;cursor:pointer;border:1px solid #ccc;background:#fff}.refs.ui.dropdown .item.search{border-bottom:none!important;padding:5px 0!important;background:#F7F7F7!important}.refs.ui.dropdown .item.search.active:hover,.refs.ui.dropdown .item.search:hover{border-bottom:none!important;padding:5px 0!important}.refs.ui.dropdown .item.refs{padding-top:0!important;padding-bottom:0!important;background:#F7F7F7!important;border-bottom:1px solid #ccc;border-top:1px solid #F7F7F7!important;height:35px}.refs.ui.dropdown .item.refs.active:hover,.refs.ui.dropdown .item.refs:hover,.refs.ui.dropdown .item.search.active:hover,.refs.ui.dropdown .item.search:hover{background:#F7F7F7!important}.git-rename-form{display:inline-block}.git-rename-form .input{height:26px;line-height:26px;vertical-align:top}.git-rename-form .input #git-rename-text-input{background:0 0;padding:2px 0!important;font-size:16px;font-weight:700;border-radius:0;border:0;color:#000;overflow:hidden;display:inline-flex;line-height:22px;vertical-align:top;min-width:200px}.git-rename-form .input #git-rename-text-input.changed,.git-rename-form .input #git-rename-text-input:active,.git-rename-form .input #git-rename-text-input:focus,.git-rename-form .input #git-rename-text-input:hover{background:#ddd;outline:0}.git-rename-form .input #git-rename-text-input.changed,.git-rename-form .input #git-rename-text-input:active,.git-rename-form .input #git-rename-text-input:focus{max-width:500px}.git-rename-form #git-rename-cancel-button,.git-rename-form #git-rename-save-button{font-size:12px;height:20px;line-height:20px;font-weight:400;border-radius:3px;padding:0 5px;border:0;vertical-align:top;margin:3px 0}.git-rename-form #git-rename-save-button{margin-left:5px;margin-right:5px}.branch-metric{width:202px}.branch-metric .bar-col{padding:0!important;width:101px;height:4px;position:relative;vertical-align:top!important}.branch-metric .bar-col .bar-wrapper{border:0;padding:0;margin:0;height:4px;display:block;position:absolute}.branch-metric .bar-col .bar-wrapper .bar{position:absolute;background-color:#999;height:4px;animation-name:branch-metric-grow;animation-duration:.3s;animation-fill-mode:forwards}.branch-metric .bar-col:first-child{border-right:1px solid #999}.branch-metric .bar-col:first-child .bar-wrapper{right:0}.branch-metric .bar-col:first-child .bar-wrapper .bar{right:0;border-radius:3px 0 0 3px}.branch-metric .bar-col:last-child{border-left:1px solid #999}.branch-metric .bar-col:last-child .bar-wrapper{left:0}.branch-metric .bar-col:last-child .bar-wrapper .bar{left:0;border-radius:0 3px 3px 0}.branch-metric .count-col{width:100px;padding:1px 5px!important;height:14px}.branch-metric .count-col .count{height:14px;line-height:14px;font-size:12px;color:#333}.branch-metric .count-col:first-child{border-right:1px solid #cdcdcd}.branch-metric .count-col:first-child .count{float:right}.branch-metric .count-col:last-child{border-left:1px solid #cdcdcd}.branch-metric .count-col:last-child .count{float:left}@keyframes branch-metric-grow{from{width:0}to{width:100%}}.private-project-git-branch-list{min-width:800px;min-height:650px;padding:25px;background-color:#fff}.private-project-git-branch-list .ui.header{font-weight:500;color:#333}.branches .search-filter{color:#545454;font-size:14px;margin-bottom:10px}.branches .search-filter i.icon{cursor:pointer}.branches .search .search-box{border-bottom:1px solid #ddd;display:table;float:left}.branches .search .search-box>i{color:#000;font-size:13px;margin-left:0}.branches .search .search-box input{border:none;background:0 0;height:20px;font-size:14px;width:200px;outline:0;padding-left:6px}.branches .branch-list{border-bottom:1px solid #ddd;position:relative}.branches .branch-list tr{border:0!important}.branches .branch-list td{word-break:break-all}.branches .branch-list .branch-name{font-weight:700;padding-left:0!important;padding-bottom:2px!important}.branches .branch-list .branch-name .icon{font-weight:400;color:#32be77}.branches .branch-list .branch-name a{font-weight:500;color:#333}.branches .branch-list .branch-metrics{width:218px;text-align:center}.branches .branch-list .branch-metrics .default-branch{font-size:14px;padding:5px;line-height:14px;background-color:#5191BD!important;border-color:#5191BD!important;margin:0}.branches .branch-list .branch-metrics .ui.popup{max-width:inherit;white-space:nowrap;background-color:#000;padding-top:5px;padding-bottom:5px}.branches .branch-list .branch-metrics .ui.popup:before{background-color:#000!important}.branches .branch-list .branch-metrics .ui.popup .content{color:#fff!important}.branches .branch-list .branch-operator{padding-right:0!important;width:1px;white-space:nowrap;text-align:right}.branches .branch-list .branch-operator .ui.button .coding.icon.merge-request{margin-right:-5px}.branches .branch-list .branch-operator .more-operator .dropdown-icon{margin-left:10px;font-weight:700}.branches .branch-list .branch-operator .more-operator .menu{right:0;top:30px;left:inherit}.branches .branch-list .branch-operator .more-operator .menu .red{color:#D95C5C}.branches .branch-list .last-commit{padding-left:0!important;padding-top:2px!important}.branches .branch-list .last-commit>*{font-weight:400;color:#666;font-size:12px}.branches .branch-list .last-commit .commit-time{color:#999;display:inline-block}.branch-setting{margin:20px 100px;padding:15px 20px;border:1px solid #eee;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#fff}.branch-setting .close-setting .icon.remove{cursor:pointer;color:#888785;float:right;margin-top:-5px;margin-right:-7px}.branch-setting .enable-protected-branch{margin:10px 0 20px}.branch-setting .enable-protected-branch .content{padding-left:63px}.branch-setting .enable-protected-branch .content p{font-size:14px;color:#888785}.branch-setting .enable-protected-branch .content .members{border:1px solid #ddd;border-bottom:none;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#f5f5f5}.branch-setting .enable-protected-branch .content .members h4{margin-top:10px;padding:0 10px;font-weight:400;font-size:16px;line-height:1em}.branch-setting .enable-protected-branch .content .members p{padding:0 10px}.branch-setting .enable-protected-branch .content .members ul{list-style-type:none;border-top:1px solid #ddd;margin:0;padding:0}.branch-setting .enable-protected-branch .content .members ul li{padding:15px 10px;border-bottom:1px solid #ddd}.branch-setting .enable-protected-branch .content .members ul li.add-member input{width:98%;height:2em;border:1px solid #ddd;padding:3px 5px;font-size:14px}.branch-setting .enable-protected-branch .content .members ul li.add-member .select2-container .select2-choice{border:1px solid #ddd;color:#888785;background:#fff;padding-left:0}.branch-setting .enable-protected-branch .content .members ul li.add-member .select2-container .select2-choice .select2-arrow{background:#fff;border:none}.branch-setting .enable-protected-branch .content .members ul li span{margin-left:10px}.branch-setting .enable-protected-branch .content .members ul li .ui.image{display:inline-block}.branch-setting .enable-protected-branch .content .members ul li .icon.remove{float:right;cursor:pointer;font-size:16px;color:#D95B5C;margin-top:5px;margin-left:5px}.branch-setting .enable-protected-branch .content .members ul li .ui.checkbox{float:right;margin-top:6px;font-size:14px;color:#888785}.branch-setting .enable-protected-branch .content .members ul li .ui.checkbox label{padding-left:3.2em}.branch-setting .deny-force-push{margin:0 0 30px}.branch-setting .deny-force-push a{color:rgba(0,0,0,.6)}.branch-setting .member{height:40px;margin:10px 0}.branch-setting .member .avatar{float:left;margin-top:-7px;margin-right:20px}.default-branch-label{background:#999;color:#fff;font-weight:700;font-size:12px;border-radius:3px;display:inline;padding:1px 4px;vertical-align:baseline;white-space:nowrap;line-height:14px}.no-branch-tips{margin:55px auto 0}.no-branch-tips strong{font-size:18px;color:#000}.no-branch-tips p{margin-top:25px;font-size:14px;color:#000}.no-branch-tips p:nth-child(2){margin-top:40px}#change-default-branch-modal{width:30%;margin-left:-15%;border-radius:20px;background-color:#F4F4F4}#change-default-branch-modal .content{border-radius:20px;width:320px;margin:0 auto}.blame .blame-view .file-blame{font-size:12px;overflow-x:scroll;background:#FFF}.blame .blame-view .file-blame table{overflow:auto;padding:0;width:100%;border-collapse:collapse;border-spacing:1px}.blame .blame-view .file-blame table tbody{padding:0}.blame .blame-view .file-blame table tr{width:100%}.blame .blame-view .file-blame table td{padding-left:10px}.blame .blame-view .file-blame table .section-first td{border-top:1px solid #ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blame .blame-view .file-blame .commit-meta,.blame .blame-view .file-blame .line-num{padding:5px 10px;border-right:1px solid #e5e5e5;font-size:12px}.blame .blame-view .file-blame .commit-meta{background:#fbfbfb;width:250px;font-size:12px}.blame .blame-view .file-blame .commit-meta p{padding:2px 3px;margin:0;font-size:12px}.blame .blame-view .file-blame .commit-meta .commit-message{color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:240px;display:inline-block}.blame .blame-view .file-blame .commit-meta .commit-message a{color:#4183c4}.blame .blame-view .file-blame .commit-meta .author .author-gravatar{vertical-align:middle;border-radius:10px}.blame .blame-view .file-blame .commit-meta .author .author-name{color:#4183c4}.blame .blame-view .file-blame .commit-meta .author .author-date{color:#aaa}.blame .blame-view .file-blame .line-num{width:1%;padding-left:8px;padding-right:8px;line-height:16px;color:rgba(0,0,0,.3);vertical-align:middle;text-align:right;border-right:1px solid #e5e5e5;cursor:pointer;font-size:12px}.blame .blame-view .file-blame .commit-meta ::selection,.blame .blame-view .file-blame .commit-meta::selection,.blame .blame-view .file-blame .line-data ::selection,.blame .blame-view .file-blame .line-data::selection,.blame .blame-view .file-blame .line-num::selection{text-shadow:none}.blame .blame-view .file-blame .line-data pre{font-family:Consolas,Menlo,"Liberation Mono",Courier,monospace!important;line-height:16px;margin:0;padding:0;font-size:12px}.commit-list{position:relative;padding-bottom:0;margin-bottom:35px;padding-left:39px}.commit-list:before{position:absolute;top:0;bottom:0;left:14px;z-index:-1;display:block;width:3px;content:"";background-color:#eee}.commit-group-title{margin-top:15px;margin-left:-32px;color:#333;font-size:14px}.commit-group-title i.icon.coding-commit{margin-right:17px;color:#777;background:#F7F6F2}.commit-group{display:table;table-layout:fixed;width:100%;color:#999;margin-top:10px;list-style-type:none;padding-left:0;box-shadow:1px 1px 0 0 #eee;border:1px solid #eee;background:#fff;border-radius:3px;border-top:none}.loading-diff{margin-bottom:20px}.commit-list-item{display:flex;flex-direction:row;width:100%}.commit-list-item>div{padding:8px 10px;font-size:12px;vertical-align:top;border-top:1px solid #eee}.commit-list-item .commit-info{display:flex;flex:1;max-width:calc(100% - 250px)}.commit-list-item .commit-title{margin:0;font-size:15px;font-weight:700;color:#333;height:21px;line-height:21px}.commit-list-item .commit-title a{color:#4e575b!important}.commit-list-item .commit-title a:hover{text-decoration:underline}.commit-list-item .commit-title span .refer-resource-link{color:#4078c0!important}.commit-list-item .commit-title .hidden-text-expander{margin-top:5px;text-overflow:ellipsis;white-space:nowrap;padding-right:8px;cursor:pointer}.commit-list-item .commit-meta{margin-top:1px;font-weight:400;color:#767676;height:16px;line-height:16px}.commit-list-item .commit-meta .author{color:#767676}.commit-list-item .commit-desc>pre{padding-left:8px;margin-top:5px;margin-bottom:10px;color:#596063;border-left:1px solid #e5e5e5}.commits-diff{padding:0 10px 10px;border-top:1px solid #eee}.committer-gravatar{padding-right:0!important;width:36px}.committer-gravatar .ava{position:relative}.committer-gravatar img{display:inline-block;overflow:hidden;line-height:1;vertical-align:middle;border-radius:36px}.commit-links{width:190px;text-align:right;line-height:38px}.commit-links .commit-links-sha{color:#445055!important}.commit-links .commit-links-sha:hover{text-decoration:underline}.commit-links>i.icon.checkmark:hover,.commit-links>i.icon.paste:hover{cursor:pointer}.commits .commits-view .pagination{margin-top:20px}.hidden-text-expander{position:relative;top:-1px;display:inline-block;margin-left:5px;line-height:0;margin-top:3px}.commits-count{width:auto;line-height:12px;background:#ddd;border-radius:10px;padding:2px 6px;color:#000;font-size:10px;text-align:center;transform:scale(0.875);margin-top:-2px}.commit .commit-view .full-commit{margin:10px 0;padding:8px 8px 0;background:#f7f8f9;border:1px solid #c5d5dd}.commit .commit-view .full-commit a{color:#4078c0}.commit .commit-view .full-commit a:hover{text-decoration:underline}.commit .commit-view .full-commit .commit-title{font-size:16px;font-weight:500;color:#213f4d;text-shadow:0 1px rgba(255,255,255,.5);margin-bottom:10px}.commit .commit-view .full-commit .commit-title-full{font-family:Consolas,"Liberation Mono",Courier,monospace;font-size:13px;color:#666;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word}.full-commit .commit-branchs{color:#333;font-size:12px;vertical-align:middle;margin-top:-6px;margin-bottom:8px;font-weight:700}.full-commit .commit-meta{margin-left:-8px;margin-right:-8px;padding:8px 8px 5px;background:#fff;border-top:1px solid #d8e6ec}.full-commit .commit-meta .gravatar{margin:-2px 3px 0 0;vertical-align:middle;border-radius:10px}.full-commit .commit-meta .author-name{font-size:12px;color:#333;font-weight:700}.full-commit .commit-meta .author-name a{text-decoration:none}.full-commit .commit-meta .author-name a:hover{text-decoration:underline}.full-commit .commit-meta .commit-time{font-size:12px;color:#aaa}.full-commit .commit-meta .sha-block{float:right;font-size:12px;color:#aaa;line-height:20px}.full-commit .commit-meta .sha-block .sha-value{color:#333;font-size:11px}.full-commit .commit-meta .diff-link{float:right;font-size:12px;margin-left:15px;line-height:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.commit_info_popup{margin:2px;word-break:break-all;font-family:Consolas,"Liberation Mono",Courier,monospace;font-size:12px}.commit_info_popup p{padding:2px 3px;margin:0}.commit_info_popup .author{margin-bottom:5px}.commit_info_popup .author img{vertical-align:middle;border:1px solid #f1f2f3;padding:2px;width:50px;float:left;margin-right:10px}.commit_info_popup .author_email,.commit_info_popup .author_name{padding-left:5px;line-height:25px;overflow:hidden}.commit_info_popup .author_name{font-size:12.5px;color:#1B74EB;font-weight:700}.commit_info_popup .author_email a{text-decoration:none;font-size:12px;color:#396CC7;text-overflow:ellipsis;white-space:nowrap;width:190px;display:inline-block}.commit_info_popup .commit_date{color:#777;font-size:11px}.commit_info_popup .commit_tag{font-size:12px;font-weight:700}.commit_info_popup .commit_id{font-weight:700;color:#E63E14;margin-top:5px}.commit_info_popup .commit_message{color:#444;font-size:12px}.renamed{margin-left:12px!important}.commit-diff .header{padding:5px 10px;text-align:left;color:#5092BD;text-shadow:0 1px 0 #fff;border-bottom:1px solid #d8d8d8}.commit-diff .header .diff-header{font-size:13px;line-height:24px;display:flex;display:-webkit-flex}.commit-diff .header .diff-header .toggle-show-diff{flex-grow:1;-webkit-flex-grow:1;display:flex;display:-webkit-flex;width:calc(100% - 72px)}.commit-diff .header .diff-header .toggle-show-diff .diff-file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-diff .header .diff-header .toggle-show-diff span.change-type-icon{margin-top:8px;display:inline-block;width:8px;min-width:8px;height:8px;margin-right:10px;vertical-align:middle}.commit-diff .header .diff-header .toggle-show-diff.count .comment-count,.commit-diff .header .diff-header .toggle-show-diff.count .icon.chat{display:inline}.commit-diff .header .diff-header span.create.change-type-icon{background-color:#32BE77}.commit-diff .header .diff-header span.delete.change-type-icon{background-color:#DF5A5A}.commit-diff .header .diff-header span.update.change-type-icon{background-color:#A78CD3}.commit-diff .header .diff-header i.triangle{font-size:16px;line-height:24px;height:16px;padding-right:10px;color:#555;width:20px;min-width:20px}.commit-diff .header .diff-header i.triangle.down{padding-right:0}.commit-diff .header .diff-header i.triangle.right{margin-left:6px}.commit-diff .header .diff-header i.chat{display:none;color:#555;margin-left:10px;line-height:24px}.commit-diff .header .diff-header span.comment-count{display:none;color:#555}.commit-diff .header .diff-header .icon.file{font-size:13px}.commit-diff .header .diff-header a i.icon{color:#000;vertical-align:middle;font-size:14px}.commit-diff .header .diff-header .edit-file,.commit-diff .header .diff-header .fullscreen,.commit-diff .header .diff-header .view-file{display:none}.commit-diff .header .diff-header .toggle-notes{float:right;margin-right:10px;display:none;white-space:nowrap}.commit-diff .header .diff-header .toggle-notes label{color:#333;font-weight:700;cursor:pointer}.commit-diff .header .diff-header:hover{cursor:pointer}.commit-diff .header.show.header{border-bottom:none}.commit-diff .header.show.header .ui.button{display:inline;margin-left:10px;white-space:nowrap}.commit-diff .header.show.header .toggle-show-diff{width:calc(100% - 400px)}.commit-diff .header.show.header .view-file{display:inline;margin-left:8px;white-space:nowrap}.commit-diff .header.show.header .view-file .ui.dropdown{height:24px;line-height:24px}.commit-diff .header.show.header .view-file .ui.dropdown>.menu{width:100px;left:-15px}.commit-diff .header.show.header .view-file .ui.dropdown .menu .item{padding:.25em 1.2em!important}.commit-diff .header.show.header .view-file .ui.dropdown .menu .item .icon{margin-right:.3em;color:#444}.commit-diff .header.show.header .view-file .ui.dropdown .menu .item a{color:#444;display:block}.commit-diff .header.show.header .view-file i.dropdown{margin-left:2px}.commit-diff .header .fullscreen-diff-header-bar{display:none}.commit-diff .header.fullscreen-diff-header{width:100%;position:fixed;background:#fff;top:0;left:0;z-index:1000;height:50px}.commit-diff .header.fullscreen-diff-header .diff-header:hover{cursor:default}.commit-diff .header.fullscreen-diff-header i{display:none}.commit-diff .header.fullscreen-diff-header span.change-type-icon{display:none!important}.commit-diff .header.fullscreen-diff-header i.chat{font-size:14px}.commit-diff .header.fullscreen-diff-header .comment-count{font-weight:400;font-size:14px}.commit-diff .header.fullscreen-diff-header .toggle-show-diff{font-size:16px;font-weight:700}.commit-diff .header.fullscreen-diff-header .toggle-notes{display:none!important}.commit-diff .header.fullscreen-diff-header .diffstat{display:none}.commit-diff .header.fullscreen-diff-header .edit-file,.commit-diff .header.fullscreen-diff-header .fullscreen,.commit-diff .header.fullscreen-diff-header .view-file{display:none!important}.commit-diff .header.fullscreen-diff-header .fullscreen-diff-header-bar{display:block;color:#333}.commit-diff .header.fullscreen-diff-header .fullscreen-diff-header-bar span{font-size:14px}.commit-diff .header.fullscreen-diff-header .fullscreen-diff-header-bar i.arrow.icon{display:inline}.commit-diff .header.fullscreen-diff-header .fullscreen-diff-header-bar i.remove.icon{display:inline;float:right;margin-right:15px}.commit-diff .header.fullscreen-diff-header .fullscreen-diff-header-bar i:hover{cursor:pointer}.commit-diff .header.fullscreen-diff-header .fullscreen-diff-header-bar .disabled{color:#aaa}.commit-diff.color-off .diff .code-line .diff-line-code .diff-code [class^=hljs-]{color:#333;font-weight:400}.commit-diff.inline-diff-off .diff .code-line .diff-line-code.gd .x,.commit-diff.inline-diff-off .diff .code-line .diff-line-code.gi .x{background-color:transparent}.commit-diff .diff{overflow:auto;text-overflow:ellipsis;white-space:nowrap;margin-bottom:15px;border:1px solid #ccc;margin-left:34px}.commit-diff .diff .change-mode{font-size:12px;color:#444;height:21px;line-height:21px;border-bottom:solid 1px #ccc}.commit-diff .diff .change-mode span{margin-left:10px}.commit-diff .diff .code-line .diff-line-num{width:30px;min-width:30px;padding-left:5px;padding-right:5px;font-family:Consolas,"Liberation Mono",Courier,monospace;line-height:18px;color:rgba(0,0,0,.3);vertical-align:top;text-align:right;border-right:1px solid #eee;font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap}.commit-diff .diff .code-line .diff-line-num .line-num{display:none}.commit-diff .diff .code-line .diff-line-num.btn-expand{text-align:center;color:#767676;background-color:#edf2f9}.commit-diff .diff .code-line .diff-line-num.btn-expand:before{content:initial}.commit-diff .diff .code-line .diff-line-num.btn-expand:hover{color:#fff;background-color:#3b60b1}.commit-diff .diff .code-line .diff-line-num.gi{border-color:#c1e9c1}.commit-diff .diff .code-line .diff-line-num.gd{border-color:#f1c0c0}.commit-diff .diff .code-line .diff-line-num:before{content:attr(line-data)}.commit-diff .diff .code-line .diff-line-num:hover{color:rgba(0,0,0,.7)}.commit-diff .diff .code-line .diff-line-num:hover+.diff-line-code .add-line-note,.commit-diff .diff .code-line .diff-line-num:hover+.diff-line-num+.diff-line-code .add-line-note{opacity:100}.commit-diff .diff .code-line .diff-line-code{padding-left:10px;padding-right:10px;font-family:Consolas,"Liberation Mono",Courier,monospace;font-size:13px;color:#333;white-space:nowrap;vertical-align:top;position:relative}.commit-diff .diff .code-line .diff-line-code.gd .x{background-color:#f8cbcb}.commit-diff .diff .code-line .diff-line-code.gi .x{background-color:#a6f3a6}.commit-diff .diff .code-line .diff-line-code:hover .add-line-note{opacity:100}.commit-diff .diff .code-line .diff-line-code .add-line-note{z-index:5;float:left;width:18px;height:18px;margin:-1px -10px -1px -20px;line-height:18px;color:#fff;text-align:center;text-indent:0;cursor:pointer;opacity:0;background-color:#618FCA;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.15)}.commit-diff .diff .code-line .diff-line-code.empty+.line-comments{border-left:1px solid #eee;border-right:1px solid #eee}.commit-diff .diff .code-line .diff-line-code .lint-mark{border-bottom:1px dotted red;cursor:pointer}.commit-diff .diff .code-line.expanded .diff-line-code,.commit-diff .diff .code-line.expanded .diff-line-num{background-color:#fafafa}.commit-diff .diff .code-line.expanded+:not(.expanded) .diff-line-code,.commit-diff .diff .code-line.expanded+:not(.expanded) .diff-line-num,.commit-diff .diff .code-line:not(.expanded)+.expanded .diff-line-code,.commit-diff .diff .code-line:not(.expanded)+.expanded .diff-line-num{border-top:1px solid #eee}.commit-diff .diff .code-line:hover>.diff-line-code,.commit-diff .diff .code-line:hover>.diff-line-num{background-color:#ffffe1}.commit-diff .diff .code-line .hunk-header,.commit-diff .diff .hunk_line .hunk_header{padding-left:5px;padding-right:5px;font-size:12px;color:rgba(0,0,0,.3);background-color:#f4f7fb}.commit-diff .diff .hunk_line th{width:24px;padding-left:5px;padding-right:5px}.commit-diff .diff .hunk_line th.show{border-bottom:none}.commit-diff .diff .inline-comments{background-color:#ffffe1;display:table-row}.commit-diff .diff .inline-comments .line-comments{vertical-align:top;padding:10px;border-top:1px solid #eee;border-bottom:1px solid #eee}.commit-diff .diff .inline-comments .line-comments+.diff-line-num.empty,.commit-diff .diff .inline-comments .line-comments+.line-comments{border-left:1px solid #eee}.commit-diff .diff table{width:100%;background-color:#fff;border-collapse:separate;tab-size:8;border-spacing:0}.commit-diff .diff table tr{text-shadow:0 1px 0 rgba(255,255,255,.25)}.commit-diff .diff .bin-add{padding-top:20px;padding-bottom:20px;text-align:center;background-color:#dfd}.commit-diff .diff .bin-add img{background:url(/static/5d487aa5c207cf1ca5a36524acb953f1.gif) right bottom #eee}.commit-diff .diff .bin-delete{padding-top:20px;padding-bottom:20px;text-align:center;background-color:#fdd}.commit-diff .diff .bin-delete img{background-color:#fff}.commit-diff .diff pre{display:inline-block;background:0 0;margin:0;padding:0;font-family:Consolas,Menlo,"Liberation Mono",Courier,monospace!important;font-size:12px}.commit-diff .diff pre.no-change,.commit-diff .diff pre.no-preview{display:block;color:#666;background-color:#F7F6F2;padding:3px 5px}.commit-diff .diff pre span.no-newline{color:#bd2c00;vertical-align:middle;font-size:14px}.commit-diff .diff .gc{color:#999;background:#EAF2F5}.commit-diff .diff .gi{color:#000;background-color:#eaffea}.commit-diff .diff .gd{color:#000;background-color:#ffecec}.commit-diff .diff .empty{background-color:#fafafa}.commit-diff .diff.split table{table-layout:fixed}.commit-diff .diff.split pre{white-space:pre-wrap;word-break:break-word}.commit-diff .diff.split .diff-line-code+.diff-line-num{border-left:1px solid #eee}.commit-diff .diff.fullscreen-diff{position:fixed;top:55px;left:0;z-index:1000;margin:0;width:100%;height:calc(100% - 55px);height:-webkit-calc(100% - 55px);height:-moz-calc(100% - 55px);background:#fff;display:block!important}.commit-diff.tab .diff .diff-line-code .t:before{content:"\0000bb";color:rgba(255,0,0,.5)}.commit-diff.wrap .diff .diff-line-code .diff-code{word-wrap:break-word;white-space:pre-wrap;line-height:15px}.commit-diff .popup{width:600px;max-width:600px}.commit-diff .popup .header{position:relative;font-size:16px}.commit-diff .popup .content{position:relative;font-size:14px;font-weight:400}.commit-diff .popup .content ul{position:relative}.commit-diff .popup .content ul li{position:relative;white-space:normal}.diff-comments{max-width:780px;position:relative}.diff-comments .comment-header{margin:20px 0;color:#444}.diff-comments .add-comment{margin-top:10px}.diff-comments .cancel-comment{margin-left:5px;bottom:4px;position:absolute;z-index:100}.diff-comments .comment{position:relative;margin-bottom:15px;padding:10px}.diff-comments .comment img.avatar{position:absolute;top:15px;left:10px}.diff-comments .comment .comment-detail{margin-left:45px;position:relative;background:#fff}.diff-comments .comment .comment-detail .light-md-editor{border-color:#eee}.diff-comments .comment .comment-detail.arrow{padding:10px;border:1px solid #EEE;border-radius:3px}.diff-comments .comment .comment-detail.arrow:before{margin-top:-11px;bottom:auto;right:auto;top:30px;left:-6px;position:absolute;content:initial;width:.7em;height:.7em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.diff-comments .comment .content{line-height:23px;font-size:14px;margin-bottom:10px}.diff-comments .comment .content img.monkey.emotion{width:64px}.diff-comments .comment .content pre{display:block;white-space:initial;word-break:initial;overflow-x:auto}.diff-comments .comment .line{color:#777}.diff-comments .comment .line a{color:#444;cursor:pointer}.diff-comments .comment .time{font-size:12px;color:#999}.diff-comments .comment .time a{cursor:pointer}.diff-comments .comment .time a.remove,.diff-comments .comment .time a.reply{opacity:0}.diff-comments .comment .time .mr10{margin-right:10px}.diff-comments .comment .time:hover a.remove,.diff-comments .comment .time:hover a.reply{opacity:100}.diff-comments .comment.form{margin-top:20px}.diff-comments .comment.form .comment-detail{border:none;padding:0}.diff-comments .comment.inline{margin-bottom:0;border:1px solid #ddd;border-top:none;background-color:#fff}.diff-comments .comment.inline img.avatar{position:absolute;top:10px;left:10px;width:24px;height:24px}.diff-comments .comment.inline .comment-detail{margin-left:40px}.diff-comments .comment.inline .content{font-size:13px;white-space:normal}.diff-comments .comment.inline.form{border:none;padding:0;margin-top:0;margin-bottom:0}.diff-comments .comment.inline.form .comment-detail{margin-left:0}.diff-comments .comment.inline.form .comment-detail .light-md-editor{border-top:none;border-color:#ddd;border-top-left-radius:0;border-top-right-radius:0}.diff-comments .comment.inline:first-child{border-top:1px solid #ddd;border-top-left-radius:3px;border-top-right-radius:3px}.file-diff-stat-bar{font-size:11px;color:#999}.file-diff-stat-bar .diff-stat-bar{margin-left:3px}.commit-diff-stat .diff-stat-bar i,.file-diff-stat-bar i{display:inline-block;height:8px;width:8px;background:#ccc;margin-top:2px;margin-left:1px}.commit-diff-stat .diff-stat-bar i.plus,.file-diff-stat-bar i.plus{background:#6cc644}.commit-diff-stat .diff-stat-bar i.minus,.file-diff-stat-bar i.minus{background:#bd2c00}.commit-diff-stat{padding:0 10px}.commit-diff-stat .modify-type .add{color:#6cc644}.commit-diff-stat .modify-type .modify{color:#FCCB0E}.commit-diff-stat .commit-diff-header{color:#666;line-height:24px}.commit-diff-stat .commit-diff-header .info.icon{color:#ddc478}.commit-diff-stat .commit-diff-header strong{font-size:14px}.commit-diff-stat .commit-diff-header .diff-toggle-show-button{margin-right:10px;float:right}.commit-diff-stat .commit-diff-header .diff-mode-box{display:block;line-height:24px;float:right;font-size:14px}.commit-diff-stat .commit-diff-header .diff-mode-box .ui.dropdown .dropdown.icon{margin-top:5px;margin-left:.1em}.commit-diff-stat .commit-diff-header .diff-mode-box .ui.simple.dropdown{float:right;height:24px;line-height:24px}.commit-diff-stat .commit-diff-header .diff-mode-box .ui.simple.dropdown>.menu{left:-15px}.commit-diff-stat .commit-diff-header .diff-mode-box .ui.simple.dropdown .menu .item{padding:.25em 1em!important}.commit-diff-stat .toggle-diff-stat{color:#333;font-weight:700}.commit-diff-stat .diff-mode-button{float:right;margin-right:10px}.commit-diff-stat .diff-mode-button.toggle.checkbox{font-size:14px;margin-top:5px;margin-right:15px}.commit-diff-stat .diff-mode-button.toggle.checkbox label{padding-left:3.5em}.diff-too-long{font-size:12px;color:#777;padding:10px;text-align:center;margin-top:30px}.comment-commit-diff.commit-diff .header{padding:5px 10px;text-align:left;color:#555;text-shadow:0 1px 0 #fff;background-color:#FAF8F8;background-image:-moz-linear-gradient(#fafafa,#faf8f8);background-image:-webkit-linear-gradient(#fafafa,#faf8f8);background-image:linear-gradient(#fafafa,#faf8f8);background-repeat:repeat-x;border:1px solid #ccc}.comment-commit-diff.commit-diff .diff-header .triangle.icon{display:none}.comment-commit-diff.commit-diff .diff-header:hover{cursor:default}.comment-commit-diff.commit-diff .diff-header i.chat,.comment-commit-diff.commit-diff .diff-header span.comment-count{display:none}.comment-commit-diff.commit-diff .diff{border-top:none;border-bottom:solid 1px #ccc;border-left:solid 1px #ccc;border-right:solid 1px #ccc;margin-left:0}.edit .edit-view .file-box .file-edit .code-editor{border:none;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;height:560px;margin:0;padding:0;position:relative;width:100%;font-size:12px}.edit .edit-view .file-delete-info{margin-left:20px;font-size:14px;color:red}.edit .edit-view .ui.form .field.commit-message textarea{height:80px}.edit .edit-view .ui.form .form-opt{padding:5px 0}.edit .edit-view .ui.form .form-opt label{margin:0;font-size:12px}.edit .edit-view .ui.form .form-opt .submit{float:right;cursor:pointer;font-size:12px}.edit .edit-view .ui.form .form-opt label.submit.red:hover{background:#CF5757!important}.git-new-file-select{display:inline;float:right}.git-new-file-select span{font-size:14px;color:#333}.plot.view{min-height:500px}.plot.popup{width:300px;max-width:300px}#network{padding:0;width:100%;font-size:12px;background:#FFF}#network .svg{border-left:1px solid #eee;border-right:1px solid #eee;border-top:1px solid #f8f8f8;overflow-y:scroll;position:relative;width:100%;min-height:500px}#network .svg .text{cursor:pointer}#network .svg .text:hover{text-decoration:underline}#network .info,#network .more{border-left:1px solid #eee;border-right:1px solid #eee;color:#999;text-align:left;line-height:30px;height:30px;width:100%;background:#FFF;font-size:12px}#network .more{border-bottom:1px solid #eee;text-align:center;margin-bottom:30px;cursor:pointer}#network .info{text-indent:10px;border-top:1px solid #eee}#network .info .dot{vertical-align:middle;width:12px;height:12px;border-radius:6px;background:#000;display:inline-block;margin-right:5px}#network .info .cdot{vertical-align:middle;width:14px;height:14px;border-radius:7px;border:1px solid #888;background:#FFF;display:inline-block;margin-right:5px;position:relative}#network .info .cdot>i{vertical-align:middle;width:12px;height:12px;border-radius:6px;background:#000;display:inline-block;margin-right:5px;position:absolute;left:1px;top:1px}#network ::-webkit-scrollbar-track-piece{background-color:#fff;-webkit-border-radius:0}#network ::-webkit-scrollbar{width:12px;height:12px}#network ::-webkit-scrollbar-thumb{height:50px;background-color:rgba(3,3,3,.2);-webkit-border-radius:0;outline:#fff solid 2px;outline-offset:-2px;border:2px solid #fff}#network ::-webkit-scrollbar-thumb:hover{height:50px;background-color:#9f9f9f;-webkit-border-radius:0}#network .clean{clear:both}.tag-list{width:800px;margin:0 auto;padding-top:5px!important}.tag-list>ul{list-style-type:none}.tag-list>ul>li{display:block}.tag-list .date{max-width:80px;background-color:#fecf54;margin-left:160px;padding:10px 0;text-align:center;vertical-align:middle;border-radius:5px;color:#fff;box-sizing:border-box;font-size:12px}.tag-list .date.green{background-color:#a0d568}.tag-list .tag-name{width:200px;line-height:70px;text-align:right;position:relative;float:left;padding:20px;box-sizing:border-box;height:110px;font-size:14px;color:#000}.tag-list .tag-name:after{box-sizing:border-box;content:" ";display:block;position:absolute;top:50%;right:-7px;z-index:10;width:12px;height:12px;margin-top:-6px;background-color:#bfbfbf;border-radius:6px}.tag-list .tag-name a{color:#000}.tag-list .content{width:560px;border-left:1px solid #bfbfbf;position:relative;float:left;padding:20px;box-sizing:border-box}.tag-list .content .tag-info a.avatar{width:40px;height:40px;position:absolute;-webkit-box-shadow:0 0 10px rgba(0,0,0,.3);box-shadow:0 0 10px rgba(0,0,0,.3);border-radius:40px;top:35px;left:22px}.tag-list .content .tag-info a.avatar>img{width:40px;height:40px;border-radius:40px}.tag-list .content .tag-info .tag-page{background-color:#fff;display:inline-block;float:left;margin-left:70px;-webkit-box-shadow:0 0 10px rgba(0,0,0,.3);box-shadow:0 0 10px rgba(0,0,0,.3);font-size:12px;color:#7c7c7c;position:relative;margin-top:10px}.tag-list .content .tag-info .tag-page>div{margin-left:40px;margin-right:60px}.tag-list .content .tag-info .tag-page .circle{background-color:#F7F6F2;width:16px;height:16px;border-radius:15px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);box-shadow:inset 0 0 5px rgba(0,0,0,.2);float:left;position:relative;left:10px;top:10px}.tag-list .content .tag-info .tag-page .message{min-height:35px;margin-top:20px;border-bottom:1px solid #eee;padding-bottom:10px}.tag-list .content .tag-info .tag-page .message pre{margin:0}.tag-list .content .tag-info .tag-page .info{height:35px;line-height:35px}.tag-list .content .tag-info .tag-page .info a{color:#7c7c7c}.tag-list .content .tag-info .tag-page .btn{font-size:14px;margin-bottom:20px}.tag-list .content .tag-info .tag-page .btn>i:hover{cursor:pointer}.tag-list .content .tag-info .tag-page .btn>a{margin-left:10px;color:#7c7c7c}.tag-list .content .tag-info .tag-page .btn>a:hover{cursor:pointer}.tag-list .content .tag-info .tag-page .btn>a:first-child{margin-left:0}.tag-list .tag-references{padding:14px 0 0;margin:0;list-style-type:none;font-size:13px}.tag-list .tag-references li{display:inline-block}.tag-list .hidden-text-expander{position:relative;top:-1px;display:inline-block;margin-left:5px;line-height:0}.tag-list .hidden-text-expander a{display:inline-block;height:12px;padding:0 5px;font-size:12px;font-weight:700;line-height:6px;text-decoration:none;vertical-align:middle;background:#ddd;border-radius:1px}.create-tag-tips{width:330px;margin:55px auto 0}.create-tag-tips strong{font-size:18px;color:#000}.create-tag-tips p{margin-top:25px;font-size:14px;color:#000}.create-tag-tips p:nth-child(2){margin-top:40px}.compare .compare-item{font-size:12px;margin:12px 0;background:#FFF;padding:10px}.compare .compare-commit-group{padding:0;margin-bottom:10px;font-size:12px;width:100%;border:1px solid #e5e5e5;border-collapse:separate;border-spacing:0}.compare .compare-commit-group .compare-date-head{padding:10px;color:#333;text-align:left;background-color:#FFF;font-size:18px}.compare .compare-commit-group .compare-commit-item{background:#FFF;font-size:12px}.compare .compare-commit-group .compare-commit-item td{border:none;padding:7px 5px;font-size:12px;line-height:18px;vertical-align:top;border-top:1px solid #e5e5e5}.compare .compare-commit-group .compare-commit-item td.octicon{width:30px}.compare .compare-commit-group .compare-commit-item td.gravatar{width:20px}.compare .compare-commit-group .compare-commit-item td.gravatar img{border-radius:10px;vertical-align:middle}.compare .compare-commit-group .compare-commit-item td.author{width:200px;white-space:nowrap;padding-right:20px}.compare .compare-commit-group .compare-commit-item td.author a{color:#555;text-decoration:none}.compare .compare-commit-group .compare-commit-item td.message{white-space:nowrap;padding-right:20px;color:#777}.compare .compare-commit-group .compare-commit-item a{color:#777;text-decoration:none}.compare .compare-commit-group .compare-commit-item td.sha{padding-right:10px;white-space:nowrap;text-align:right;color:#777}.compare .ui.four.fields.compare .field.and{width:15px;padding:0;text-align:center;margin:0 0 1em}.compare .ui.four.fields.compare .field.button{width:80px}.compare .compare-content .comit-diff-stat .commit-diff-stat-list{display:block}@-moz-keyframes git-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@-o-keyframes git-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@-webkit-keyframes git-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@keyframes git-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@-moz-keyframes git-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}@-o-keyframes git-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}@-webkit-keyframes git-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}@keyframes git-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}.git-loading,.git-loading-container{height:60px;position:relative;width:60px;border-radius:100%}.git-loading-container{margin:40px auto}.git-loading{border:1px solid transparent;border-color:transparent #000;-moz-animation:git-rotate-loading 1.5s linear 0s infinite normal;-moz-transform-origin:50% 50%;-o-animation:git-rotate-loading 1.5s linear 0s infinite normal;-o-transform-origin:50% 50%;-webkit-animation:git-rotate-loading 1.5s linear 0s infinite normal;-webkit-transform-origin:50% 50%;animation:git-rotate-loading 1.5s linear 0s infinite normal;transform-origin:50% 50%}.git-loading-container .git-loading,.git-loading-container:hover .git-loading{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out}#git-loading-text{-moz-animation:git-loading-text-opacity 2s linear 0s infinite normal;-o-animation:git-loading-text-opacity 2s linear 0s infinite normal;-webkit-animation:git-loading-text-opacity 2s linear 0s infinite normal;animation:git-loading-text-opacity 2s linear 0s infinite normal;color:#000;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px;font-weight:700;margin-top:4px;position:absolute;text-align:center;text-transform:uppercase;top:5px;width:40px;left:10px}.webhook{position:relative;background:#fff;padding:0 5px;border-left:1px solid #e2eaee;border-right:1px solid #e2eaee;border-bottom:1px solid #e2eaee;margin:0;height:30px;display:table;max-width:800px;min-width:800px}.webhook table{width:100%;table-layout:fixed}.webhook .content,.webhook .result,.webhook .url{border:0;max-width:300px;font-size:13px;display:table-cell;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.webhook .token{border:0;font-size:13px;max-width:200px;display:table-cell;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding-left:20px}.webhook .reason,.webhook .send-time,.webhook .status{border:0;font-size:13px;max-width:60px;display:table-cell;padding-left:20px}.webhook .oper{border:0;font-size:13px;max-width:200px;display:table-cell}.webhook-title{position:relative;padding:0 5px;margin:0;height:30px;display:table;width:100%;border:1px solid #c5d5dd;background:#f7f8f9;font-size:13px;max-width:800px;min-width:800px}.webhook-title table{width:100%;table-layout:fixed}.webhook-title .content,.webhook-title .result,.webhook-title .url{border:0;max-width:300px;font-size:13px;display:table-cell}.webhook-title .token{border:0;font-size:13px;max-width:200px;display:table-cell;padding-left:20px}.webhook-title .reason,.webhook-title .send-time,.webhook-title .status{border:0;font-size:13px;max-width:60px;display:table-cell;padding-left:20px}.webhook-title .oper{border:0;font-size:13px;max-width:130px;display:table-cell}.tint-box{background:#f3f3f3;position:relative;margin-bottom:10px}.area{fill:#1db34f;fill-opacity:.5}.axis{fill:#aaa;font-size:10px}#contributors .contributors-list{margin:0 0 10px;list-style:none;padding:0}#contributors .person{float:left;margin-top:10px}#contributors .person:nth-child(even){float:right}#contributors .person .spark{display:block;background:#f3f3f3}#contributors .person .area-contributor{fill:#f17f49}.selection rect{fill:#333;fill-opacity:.1;stroke:#333;stroke-width:1px;stroke-opacity:.4;shape-rendering:crispedges;stroke-dasharray:3 3}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{position:relative;margin-top:1em;margin-bottom:16px;font-weight:700;line-height:1.4}.markdown-body ol,.markdown-body ul{padding:0 0 0 2em}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body a{background:0 0;color:#4183c4;text-decoration:none}.markdown-body a:active,.markdown-body a:hover{outline:0;text-decoration:underline}.markdown-body a:focus{text-decoration:underline}.markdown-body strong{font-weight:700}.markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2.25em;line-height:1.2;border-bottom:1px solid #eee}.markdown-body h1 .coding-anchor{margin-top:-20px;padding-top:20px}.markdown-body h1:hover .coding.icon.coding-anchor{visibility:visible}.markdown-body img{border:0;max-width:100%;box-sizing:border-box}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:#e7e7e7;height:4px;padding:0;margin:16px 0;border:0!important}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body pre{overflow:auto;font:12px Consolas,Liberation Mono,Menlo,Courier,monospace;word-wrap:normal;font-family:monospace,monospace;font-size:1em;margin-top:0;margin-bottom:16px}.markdown-body pre code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before{content:normal}.markdown-body code{font:12px Consolas,Liberation Mono,Menlo,Courier,monospace!important;padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before{letter-spacing:-.2em;content:"\00a0"}.markdown-body kbd{background-color:#e7e7e7;background-image:linear-gradient(#fefefe,#e7e7e7);background-repeat:repeat-x;border-radius:2px;border:1px solid #cfcfcf;color:#000;padding:3px 5px;line-height:10px;font:11px Consolas,Liberation Mono,Menlo,Courier,monospace;display:inline-block}.markdown-body input{color:inherit;margin:0;line-height:normal;font:13px/1.4 Helvetica,arial,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol"}.markdown-body input[type=checkbox]{box-sizing:border-box;padding:0}.markdown-body table{border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all;margin-top:0;margin-bottom:16px}.markdown-body table th{font-weight:700;padding:6px 13px;border:1px solid #ddd}.markdown-body table td{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #cfcfcf}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body td,.markdown-body th{padding:0}.markdown-body *{box-sizing:border-box;line-height:1.6}.markdown-body h2{padding-bottom:.3em;font-size:1.75em!important;line-height:1.225;border-bottom:1px solid #eee}.markdown-body h2 .coding-anchor{margin-top:-14px;padding-top:14px}.markdown-body h2:hover .coding.icon.coding-anchor{visibility:visible}.markdown-body h3{font-size:16px;font-size:1.5em;line-height:1.43}.markdown-body h3 .coding-anchor{margin-top:-14px;padding-top:14px}.markdown-body h3:hover .coding.icon.coding-anchor{visibility:visible}.markdown-body h4{font-size:14px;font-size:1.25em}.markdown-body h4 .coding-anchor{margin-top:-12px;padding-top:12px}.markdown-body h4:hover .coding.icon.coding-anchor{visibility:visible}.markdown-body h5{font-size:12px;font-size:1em}.markdown-body h5 .coding-anchor{margin-top:-8px;padding-top:8px}.markdown-body h5:hover .coding.icon.coding-anchor{visibility:visible}.markdown-body h6{font-size:11px;font-size:1em;color:#777}.markdown-body h6 .coding-anchor{margin-top:-8px;padding-top:8px}.markdown-body h6:hover .coding.icon.coding-anchor{visibility:visible}.markdown-body blockquote{margin:0 0 16px;padding:0 15px;color:#777;border-left:4px solid #ddd}.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body ul ol{list-style-type:lower-roman;margin-top:0;margin-bottom:0}.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body ol{margin-top:0;margin-bottom:16px}.markdown-body ol ol{list-style-type:lower-roman;margin-top:0;margin-bottom:0}.markdown-body ol ol ol,.markdown-body ol ul ol{list-style-type:lower-alpha}.markdown-body li{line-height:1.4}.markdown-body dd{margin-left:0}.markdown-body p{margin-top:0;margin-bottom:16px}.markdown-body dl{margin-top:0;margin-bottom:16px;padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body li>p{margin-top:16px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body pre>code{padding:0;margin:0;font-size:14px!important;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px;background:#fff}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight .il,.markdown-body .highlight .m,.markdown-body .highlight .mf,.markdown-body .highlight .mh,.markdown-body .highlight .mi,.markdown-body .highlight .mo{color:#945277}.markdown-body .highlight .s,.markdown-body .highlight .s1,.markdown-body .highlight .s2,.markdown-body .highlight .sb,.markdown-body .highlight .sc,.markdown-body .highlight .sd,.markdown-body .highlight .se,.markdown-body .highlight .sh,.markdown-body .highlight .si,.markdown-body .highlight .sx{color:#df5000}.markdown-body .highlight .kc,.markdown-body .highlight .kd,.markdown-body .highlight .kn,.markdown-body .highlight .kp,.markdown-body .highlight .kr{font-weight:700}.markdown-body .highlight .kt{font-weight:700;color:#458}.markdown-body .highlight .k,.markdown-body .highlight .o{font-weight:700}.markdown-body .highlight .c,.markdown-body .highlight .c1,.markdown-body .highlight .cm{color:#998;font-style:italic}.markdown-body .highlight .cp{color:#999;font-weight:700}.markdown-body .highlight .cs{color:#999;font-weight:700;font-style:italic}.markdown-body .highlight .n{color:#333}.markdown-body .highlight .na,.markdown-body .highlight .nv,.markdown-body .highlight .vc,.markdown-body .highlight .vg,.markdown-body .highlight .vi{color:teal}.markdown-body .highlight .nb{color:#0086B3}.markdown-body .highlight .nc{color:#458;font-weight:700}.markdown-body .highlight .no{color:#094e99}.markdown-body .highlight .ni{color:purple}.markdown-body .highlight .ne{color:#900;font-weight:700}.markdown-body .highlight .nf{color:#945277;font-weight:700}.markdown-body .highlight .nn{color:#555}.markdown-body .highlight .nt{color:navy}.markdown-body .highlight .err{color:#a61717;background-color:#e3d2d2}.markdown-body .highlight .gd{color:#000;background-color:#fdd}.markdown-body .highlight .gd .x{color:#000;background-color:#faa}.markdown-body .highlight .ge{font-style:italic}.markdown-body .highlight .gr{color:#a00}.markdown-body .highlight .gh{color:#999}.markdown-body .highlight .gi{color:#000;background-color:#dfd}.markdown-body .highlight .gi .x{color:#000;background-color:#afa}.markdown-body .highlight .go{color:#888}.markdown-body .highlight .gp{color:#555}.markdown-body .highlight .gs{font-weight:700}.markdown-body .highlight .gu{color:purple;font-weight:700}.markdown-body .highlight .gt{color:#a00}.markdown-body .highlight .ow{font-weight:700}.markdown-body .highlight .w{color:#bbb}.markdown-body .highlight .sr{color:#017936}.markdown-body .highlight .ss{color:#8b467f}.markdown-body .highlight .bp{color:#999}.markdown-body .highlight .gc{color:#999;background-color:#EAF2F5}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item input{float:left;margin:.3em 0 .25em -1.6em;vertical-align:middle}.markdown-body html input[disabled]{cursor:default}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.deploy-key-table{background-color:#fff;border:1px solid #e2eaee;border-collapse:collapse;font-size:13px;width:100%}.deploy-key-table tr{border:1px solid #e2eaee}.deploy-key-table td{height:30px}.deploy-key-table .deploy-key-title{background-color:#f7f8f9;border:1px solid #c5d5dd}.deploy-key-table .content{width:50%;padding-left:10px}.deploy-key-table .time,.deploy-key-table .title{width:20%}.deploy-key-table .oper{width:10%;text-align:center}.deploy-key-text{margin:20px 0 10px;font-size:13px}.deploy-key,.deploy-key-title{position:relative;padding:0 5px;margin:0;width:100%;font-size:13px}.deploy-key table,.deploy-key-title table{width:100%;height:30px}.deploy-key td,.deploy-key-title td{border:0}.deploy-key .content,.deploy-key-title .content{width:50%}.deploy-key .time,.deploy-key .title,.deploy-key-title .time,.deploy-key-title .title{width:20%}.deploy-key .oper,.deploy-key-title .oper{width:10%}.deploy-key{background-color:#fff;border:1px solid #e2eaee;border-top:none}.deploy-key-title{background-color:#f7f8f9;border:1px solid #c5d5dd}.public-project-view{background-color:#FFF;padding:40px 20px;margin:10px auto;min-height:550px}.public-project-view h2{font-size:18px}.public-project-view hr{border:none;border-top:1px solid #ddd}@media screen and (max-width:1200px){.public-project-view{width:1200px}}@media screen and (min-width:1200px){.public-project-view{width:1200px}}.public-project-view-top .project-title{height:60px;border-bottom:1px solid #ddd}.public-project-view-top .project-title .project-logo{border-radius:3px;float:left}.public-project-view-top .project-title .project-name{font-size:22px;color:#4183c4;float:left;margin-left:22px;width:1130px}.public-project-view-top .project-title .project-fork{font-size:12px;margin-left:22px}.public-project-view-top .title{font-size:20px;float:left}.public-project-view-top .title a{color:#4183c4}.public-project-view-top .watch-panel{font-size:15px;display:inline-block}.public-project-view-top .watch-panel .watch{font-size:14px;line-height:26px;margin-top:3px;display:inline-block}.public-project-view-top .watch-panel .watch.button{background:#e8e8e8;height:26px;padding:0 5px;text-align:center;border-bottom-left-radius:5px;border-top-left-radius:5px;color:#000}.public-project-view-top .watch-panel .watch.button:hover{background:#d5d5d5;cursor:pointer}.public-project-view-top .watch-panel .watch.count{margin-top:0;background:#e8e8e8;height:26px;min-width:20px;text-align:center;margin-left:-3px;border-bottom-right-radius:5px;border-top-right-radius:5px;padding:0 5px}.public-project-view-top .watch-panel .watch.count a,.public-project-view-top .watch-panel .watch.count a:hover{color:#000}.public-project-view-top .pulls{float:left;font-size:14px;line-height:26px;margin-top:0;background:#e8e8e8;height:26px;padding:0 5px;text-align:center;margin-left:0!important;margin-right:10px;border-radius:5px;color:#000}.public-project-view-top .pulls:hover{background:#d5d5d5;cursor:pointer}.public-project-view-second{padding:20px 0}.public-project-view-second .ui.tabular.menu{padding:0}.public-project-view-second .ui.tabular.menu a{padding:10px 18px}.public-project-view-second .ui.tabular.menu a .label{padding:3px 9px!important;background-color:rgba(0,0,0,.15)!important;color:#666}.public-project-view-third{margin-top:20px}.public-project-view-clone{background:#f7f7f7;width:230px;height:100px;font-size:12px;border-radius:5px;border:1px solid #999;position:absolute;right:70px;z-index:999;top:206px}.public-project-view-clone:after,.public-project-view-clone:before{bottom:100%;left:80%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.public-project-view-clone:after{border-color:rgba(127,127,7,0) rgba(127,127,7,0) #f7f7f7;border-width:10px;margin-left:-10px}.public-project-view-clone:before{border-color:rgba(221,221,221,0);border-bottom-color:#ddd;border-width:11px;margin-left:-11px}.project-clone-url-button{background:#f6f6f6;height:34px;display:inline}.public-project-view-clone-panel{line-height:30px;padding:2px 10px}.public-project-view-clone-panel .other a{padding:0;cursor:pointer}.public-project-view-watchers{padding:20px 10px;position:relative;height:64px;width:350px;display:inline-block;background-color:#fff;margin:10px;border:1px solid #ddd;border-radius:3px}.public-project-view-watchers .avatar{position:absolute;left:10px;margin-top:-30}.public-project-view-watchers .info{height:50%;padding-left:80px;line-height:32px}.public-project-view-watchers .action{font-size:12px;height:44%;padding-left:80px;line-height:32px}.public-project-view-watchers .self{line-height:14px;font-size:14px;font-weight:700;width:80px;text-align:center;border-radius:20px}.public-project-view-watchers .ui.button{padding:0 1em}.public-project-view-watchers .ui.button>.icon{margin-right:0}.public-project-view .git.tab-content{border:1px solid #eee;border-top:none}.public-project-view .git.tab-bar .item{border-left:1px solid #eee;border-right:1px solid #eee;margin-left:-5px}.public-project-view .git.tab-bar .item:first-child{margin-left:0}.public-project-view .commit-group-title i.icon.coding-commit{background-color:#FFF}.public-project-view .commit-list:before{z-index:0}.merge-request-squash-form .ui.segment{line-height:1.4em}.merge-request-squash-form .fake-folded-editor{height:15px;margin:0;padding:.65em 1em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid rgba(0,0,0,.15);cursor:text;font-size:1em;color:rgba(0,0,0,.7);background:#FFF}.merge-request-squash-form .fake-folded-editor:before{content:'使用自定义 Commit Message';font-size:14px}.merge-request-squash-form textarea.squash-message{height:167px;font-size:14px;resize:none}.merge-request-squash-form .commit-messages{position:relative;padding:5px 0 0 5px;height:90px;box-sizing:border-box}.merge-request-squash-form .commit-messages .ui.checkbox{margin-bottom:10px;font-size:14px;width:100%}.merge-request-squash-form .commit-messages input[type=checkbox]~label{color:rgba(0,0,0,.5);padding-left:1.5em}.merge-request-squash-form .commit-messages input[type=checkbox]:checked~label,.merge-request-squash-form .commit-messages input[type=checkbox]~label:hover{color:#000}.merge-request-squash-form .squash-msg-preview{height:153px;font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei;color:#333;font-size:14px;position:relative}.public-key-container .add-key-form{padding:1.5em;border-radius:5px;background-color:#fff}.public-key-container .no-key-cell{padding:1.5em;border-radius:5px;background-color:#f8f8f8;border:1px solid #dfdedc}.public-key-container .no-key-cell .no-key-msg{color:#aaa;text-align:center}.public-key-container .key-list{padding:0;border-radius:5px;background-color:#f8f8f8;border:1px solid #dfdedc}.public-key-container .key-list .key-list-table{border-collapse:collapse;width:100%}.public-key-container .key-list .key-list-table tr td{border-bottom:1px solid #eee;padding:15px 1.5em}.public-key-container .key-list .key-list-table tr:last-child td{border:0}.public-key-container .key-list .key-list-table .key-info .info-entry{font-size:14px;color:#555;margin:5px 0}.public-key-container .key-list .key-list-table .key-info .expired{color:#d95c5c}.public-key-container .key-list .key-list-table .key-info .expired .expired-msg{padding-left:15px;font-weight:700;display:inline-block}.public-key-container .key-list .key-list-table .key-operator{width:1px;white-space:nowrap}.public-key-container .key-list .key-list-table .key-operator .button{font-weight:400;font-size:14px;padding:0 15px!important}.public-key-container .key-list .key-list-table .key-operator .delete{color:#d95c5c!important}.public-key-container .key-list .key-list-table .key-edit-form .button{font-weight:400}.public-key-container .key-list .key-list-table .key-edit-form .cancel{background-color:transparent!important;box-shadow:none;padding:0 10px}.finder .finder-bar{display:table;line-height:26px;width:100%}.finder .finder-bar .finder-project{display:table-cell;width:1px;white-space:nowrap}.finder .finder-bar .finder-field-wrapper{display:table-cell}.finder .finder-bar .finder-field-wrapper input.tree-finder-field{background-color:transparent;border:0;padding:0 10px}.finder .finder-bar .finder-escaper-wrapper{display:table-cell;width:1px;white-space:nowrap}.finder .keyboard-help-message{width:100%;border:1px solid rgba(137,184,75,.3);border-radius:3px;background-color:#E0F7C2;padding:16px 0;margin:16px 0;display:table}.finder .keyboard-help-message .content{display:table-cell;padding-left:12px}.finder .keyboard-help-message .content p{margin:0;color:#3E660A;font-size:14px;line-height:23px}.finder .keyboard-help-message .content p .key-label{font-size:13px;color:#4D4D4D;border:1px solid rgba(137,184,75,.3);border-radius:2px;background-color:#fff;box-shadow:0 1px rgba(137,184,75,.2);padding:1px 5px;margin:0 5px}.finder .keyboard-help-message .close-button{display:table-cell;width:120px}.finder .keyboard-help-message .close-button .close-link{cursor:pointer}.finder .keyboard-help-message .close-button .close-link .icon{color:rgba(0,0,0,.2);float:right}.finder .finder-result .files-list{border:1px solid #ccc;margin-bottom:10px}.finder .finder-result .files-list table.files{border-collapse:collapse;width:100%;background:#F8F8F8;border-spacing:0}.finder .finder-result .files-list table.files tr{height:34px}.finder .finder-result .files-list table.files tr td{font-size:12px;padding:2px 3px;border-top:1px solid #eee;line-height:20px}.finder .finder-result .files-list table.files tr td.icon{width:17px;padding-right:2px;padding-left:10px;color:#767676}.finder .finder-result .files-list table.files tr td.path .truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}.finder .finder-result .files-list table.files tr.active{background-color:#fff}.finder .finder-result .not-found-msg{text-align:center}.ui.dimmed.dimmable .ui.dimmer.no-right{opacity:.7}.ui.dimmed.dimmable .ui.dimmer.no-right .ui.message{display:inline-block;margin-top:.3em;padding:.5em 1em;width:450px;color:#104F68}.ui.dimmed.dimmable .ui.dimmer.no-right .ui.message>.icon{font-size:1.8em}.ui.dimmed.dimmable .ui.dimmer.no-right .ui.message .header{font-size:1em;text-align:left}.ui.dimmed.dimmable .ui.dimmer.no-right .ui.message>.icon+.content p{margin:.3em 0 0;opacity:1}.ui.dimmed.dimmable .ui.dimmer.no-right .ui.message>.icon+.content a.demo-link{color:green;text-decoration:underline}.paas.container .ui.button.disabled{opacity:.5!important}.paas.container .ui.label.runtime,.paas.container .ui.label.server{float:right;font-size:12px;color:#888;margin:0;padding:3px 5px;text-transform:none}.paas.container .ui.console.table{background-color:transparent}.paas.container .ui.console.table>tbody>tr{border-bottom:1px solid #f9f9f9;background-color:transparent}.paas.container .ui.console.table>tbody>tr:last-child{border-bottom:none}.paas.container .ui.console.table>tbody>tr>th{background-color:transparent;padding:.5em}.paas.container .ui.console.table>tbody>tr>td{padding:1em 1em .3em;background-color:transparent}.paas.container .ui.console.table>tbody>tr>td .ui.label.route{text-transform:initial;font-size:1em}.paas.container .ui.console.table>tbody>tr>td .ui.form .field{font-size:12px}.paas.container .ui.console.table>tbody>tr>td .ui.form .field.memory input[type=radio]:checked+label{line-height:30px;font-weight:700;color:#A00}.paas.container .ui.console.table>tbody>tr>td .ui.form .field.memory label{margin-right:8px;font-size:14px;cursor:pointer}.paas.container .ui.console.table>tbody>tr>td .faq-link{color:#5711AE;font-size:12px;font-weight:700;margin-left:20px;padding-bottom:3px}.paas.container .ui.console.table>tbody>tr>td .deployer{font-size:12px;color:#777;margin-left:10px}.paas.container .ui.console.table>tbody>tr>td .deployer img{width:1.2em;height:1.2em}.paas.container .ui.console.table>tbody>tr>td .deployer time{color:#444}.paas.container .ui.table.stats th{padding:.4em .7em}.paas.container .ui.form.deploy .inline.field>label{width:60px;font-size:13px;font-weight:700}.paas.container .ui.form.deploy .inline.field>input{min-width:450px}.paas.container .ui.form.deploy a.expert{margin-left:10px;cursor:pointer;font-size:13px;color:#333}.paas.container .ui.form.deploy .ui.segment.expert{background-color:#f5f5f5;padding:.5em}.paas.container .ui.form.deploy .ui.checkbox{font-size:.75em;margin-right:.6em}.paas.container .ui.form.deploy .ui.checkbox input[type=radio]:checked+label{font-weight:700;color:#A00}.paas.container .ui.form.deploy .ui.checkbox label{padding-left:1.5em}.paas.container .ui.form.domain input[type=text].host{min-width:200px}.paas.container .ui.form.domain input[type=text].domain{min-width:240px}.paas.container .ui.form.domain .ui.toggle.checkbox{margin-left:95px;font-size:13px}.paas.container .ui.form.domain .ui.toggle.checkbox label{padding-left:3.5em;color:#333}.paas.container .ui.table.vars td{font-size:14px;color:#666;line-height:24px;padding:.4em .9em}.paas.container .log-filters{padding:0 10px;margin-left:120px;display:inline}.paas.container .log-filters .ui.checkbox{font-size:.75em;margin-left:1em}.paas.container .log-filters .ui.checkbox input[type=radio]:checked+label{font-weight:700;color:#A00}.paas.container .log-filters .ui.checkbox label{padding-left:1.5em}.paas.container .logs{position:relative}.paas.container .logs .log-loading{padding:10px 0;text-align:center;color:#555;font-size:12px}.paas.container .logs #tail{z-index:99;position:absolute;display:block;top:0;right:2px;margin:8px 8px 0 0;padding:0 2px 0 3px;color:#666;cursor:pointer;text-shadow:0 1px 0 #fff;font-family:"Source Sans Pro",Helvetica,sans-serif;font-size:11px;line-height:14px;text-decoration:none;white-space:nowrap;border:1px solid #bbb;border-top-color:#ddd;border-bottom-color:#bbb;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(100%,#e0e0e0));background:-webkit-linear-gradient(#fff,#e0e0e0);background:-moz-linear-gradient(#fff,#e0e0e0);background:-o-linear-gradient(#fff,#e0e0e0);background:linear-gradient(#fff,#e0e0e0)}.paas.container .logs #tail .status{display:inline-block;margin-right:1px;width:8px;height:8px;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;-webkit-box-shadow:#fff 1px 1px 2px;-moz-box-shadow:#fff 1px 1px 2px;box-shadow:#fff 1px 1px 2px;background-size:auto auto;background-position:0 0}.paas.container .logs #tail .text{display:none;cursor:pointer}.paas.container .logs #tail.active .status{background-color:#6b0}.paas.container .logs #tail:hover .text{display:inline}.paas.container .logs pre{position:relative;min-height:12px;margin-top:1em;padding:5px 0;color:#f1f1f1;font-family:monospace;font-size:12px;line-height:19px;white-space:pre-wrap;word-wrap:break-word;background-color:#222;border:1px solid #ddd;counter-reset:line-numbering}.paas.container .logs pre p{position:relative;padding:0 15px 0 55px;margin:0;min-height:16px}.paas.container .logs pre p:hover{background-color:#333}.paas.container .logs pre p a{display:inline-block;text-align:right;min-width:40px;margin-left:-40px;cursor:pointer;text-decoration:none;color:#666}.paas.container .logs pre p a:before{content:counter(line-numbering);counter-increment:line-numbering;padding-right:1em}.paas.container .logs pre p span.stdout{color:#fff}.paas.container .logs pre p span.stderr{color:red}.paas.container .logs pre p span.warning{color:#ff00ff}.paas.container .logs pre p span.sys{color:#0ff}.paas.container .logs pre p span.app{color:#ff0}.paas.container .files .file-loading{padding:10px 0;text-align:center;color:#555;font-size:13px}.paas.container .files .file-explorer{min-height:260px;padding:10px;border:2px solid #f9f9f9}.paas.container .files .file-explorer hr{border-top:1px solid #eee}.paas.container .files .file-explorer table{width:100%}.paas.container .files .file-explorer table th{text-align:left;font-weight:400;width:75%}.paas.container .files .file-explorer table th a{font-size:13px;cursor:pointer;line-height:24px}.paas.container .files .file-explorer table td{text-align:right;color:#777;font-size:13px}.paas.container .files .file-explorer pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;text-decoration:none;word-break:normal}.paas.container .files .goto-page{float:right;margin:10px;padding:5px;font-size:10px;color:#666}.paas.container .files .goto-page input[type=text]{width:25px;margin:0 10px}.paas.container .files .goto-page .ui.button{padding:0 .8em}.paas.container .ui.table.service td{font-size:14px;color:#666;line-height:24px}.paas.container .bindings .binding{color:#2d59a2;font-size:.85em;padding:0 .5em;margin:.2em;text-transform:lowercase}.paas.container .ui.button.file{position:relative;overflow:hidden}.paas.container .ui.button.file input[type=file]{display:block;position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:'alpha(opacity=0)';font-size:200px;direction:ltr;cursor:pointer}.paas.container .service-console{min-height:300px}.paas.container .jquery-console-inner{height:520px;overflow-y:auto;background:#333;padding:.5em}.paas.container .jquery-console-prompt-box{color:#fff;font-family:monospace}.paas.container .jquery-console-focus span.jquery-console-cursor{background:#fefefe;color:#333;font-weight:700}.paas.container .jquery-console-welcome{color:#DFCADA;font-size:9pt}.paas.container .jquery-console-message{white-space:pre}.paas.container .jquery-console-message-success{color:#187718;font-family:monospace;padding:.1em}.paas.container .jquery-console-message-error{color:#ef0505;font-family:monospace;padding:.1em}.paas.container .jquery-console-message-value{color:#1ad027;font-family:monospace;padding:.1em}.paas.container .jquery-console-message-type{color:#52666f;font-family:monospace;padding:.1em}.paas.container .jquery-console-prompt-label{color:#07d1ec;font-weight:700}.marketplace.ui.modal{width:48%;margin-left:-24%}.marketplace.ui.modal>.content{padding:1em 2em}.marketplace.ui.modal>.content .ui.list .item{width:85px;padding:0;margin-left:10px;border:1px solid #ddd;cursor:pointer}.marketplace.ui.modal>.content .ui.list .item>.image{text-align:center;background-color:transparent;position:relative}.marketplace.ui.modal>.content .ui.list .item>.image>img{display:inline;width:auto}.marketplace.ui.modal>.content .ui.list .item>.image .ui.corner.label{visibility:hidden}.marketplace.ui.modal>.content .ui.list .item>.content{background-color:#ddd;text-align:center;width:100%}.marketplace.ui.modal>.content .ui.list .item>.content>.name{font-size:1em;color:#444;padding:.2em}.marketplace.ui.modal>.content .ui.list .item.active{border:1px solid #5cc26f}.marketplace.ui.modal>.content .ui.list .item.active>.image .ui.corner.label{visibility:visible}.marketplace.ui.modal>.content .ui.list .item.active>.content{background-color:#5cc26f}.marketplace.ui.modal>.content .ui.list .item.active>.content>.name{color:#fff}.service-console.fullscreen{overflow-y:auto;background:#333;position:fixed;left:0;top:0;z-index:9999999;padding:0!important;margin-left:0!important;width:100%;height:100%;display:block}.service-console.fullscreen jquery-console-inner{height:100%}.paas.container .service-console.cg-fullscreen .jquery-console-inner{height:100%;overflow-y:auto;background:#333;padding:0}i.icon.gray.remove{z-index:99999999;position:absolute;display:block;margin:0;color:#d3d3d3;right:22px;top:22px}.paas-empty{padding:40px 60px;min-width:1000px}.paas-content .content-header{font-size:18px;color:rgba(0,0,0,.6)}.paas-content .help-notice{font-size:14px;color:#666;line-height:24px}.paas-content .notice{border-radius:3px;font-size:14px;line-height:14px;padding:15px 20px;margin-bottom:20px}.paas-content .notice .text h3{font-size:18px;line-height:14px}.paas-content .notice .text p{font-size:14px;line-height:14px}.paas-content .locale-option,.paas-content .mem-option{margin-bottom:15px}.paas-content .locale-option .ui.header,.paas-content .mem-option .ui.header{font-size:14px;color:#666}.paas-content .mem-option .mem-select{margin:15px 0}.paas-content .mem-option .mem-select ul{margin:0;padding:0}.paas-content .mem-option .mem-select li{width:120px;padding:15px 0;margin-right:25px;background:#fff;border:2px solid #ddd;border-radius:3px;text-align:center;list-style:none;float:left;cursor:pointer;position:relative}.paas-content .mem-option .mem-select li.active{border:2px solid #32be77}.paas-content .mem-option .mem-select li.active:after{font-family:Icons;content:"\f00c";position:absolute;top:0;right:0;padding:3px;z-index:2;color:#FFF;font-size:12px}.paas-content .mem-option .mem-select li.active:before{position:absolute;content:"";right:0;top:0;width:0;height:0;z-index:0;border-top:0 solid transparent;border-right:2em solid transparent;border-bottom:2em solid transparent;border-left:0 solid transparent;border-right-color:#32be77;-webkit-transition:border-color .2s ease;-moz-transition:border-color .2s ease;transition:border-color .2s ease}.paas-content .mem-option .mem-select li small,.paas-content .mem-option .mem-select li strong{display:block;line-height:1.8}.paas-content .mem-option .mem-select li strong{font-size:24px;color:#333;text-align:center;font-weight:400}.paas-content .mem-option .mem-select li small{font-size:14px;color:#f5a623}.paas-content .locale-option .ui.form{margin:15px 0}.paas-content .locale-option .ui.checkbox{margin-right:2em}.paas-content .locale-option .ui.checkbox label{display:inline-block;font-size:14px;vertical-align:middle;position:relative}.paas-content .locale-option .ui.checkbox label:before{top:.2em}.paas-content .locale-option .ui.checkbox label:after{top:.4em}.paas-content .locale-option .ui.checkbox small{font-size:12px;color:#999;vertical-align:middle}.paas-content .attention.ui.message{line-height:1.5}.paas-content .attention.ui.message .header{font-size:16px}.paas-content .attention.ui.message li{font-size:14px}.paas-content .attention.ui.message ol{padding-left:25px}.paas-content .agree.ui.checkbox{margin:15px 0}.paas-content .agree.ui.checkbox label{font-size:14px;color:#666}.paas-content .notice.closed{background:#f6f4d5;color:#96904d}.paas-content .notice.failed{background:#f5d7d7;color:#b1524e}.paas-content .detect-buttons{display:block}.paas-content .detect-labels{margin-top:20px}.paas-content .detect-labels .ui.label.success{background:#9aca3f;color:#FFF}.paas-content .detect-labels .ui.label.failed{color:#f5a623;background:#FFF}.paas-content .paas-box{background:#fff;border-radius:3px;box-shadow:none;margin:20px 0;color:rgba(0,0,0,.6)}.paas-content .paas-box .box-header .ui.header{font-size:16px;line-height:21px}.paas-content .paas-box .box-header .floated.right+.ui.header{display:inline-block;margin-top:0}.paas-content .paas-box .box-body p{font-size:14px;line-height:18.62px}.paas-content .paas-box .ui.button.coding{color:rgba(0,0,0,.6)!important}.paas-content .open-button .faq-box,.paas-content .open-button .ui.local{font-size:12px}.paas-content .current-status .info{padding:15px 0;font-size:14px;color:#333}.paas-content .current-status .info .run{margin-right:20px}.paas-content .current-status .info .run .icon.circle.running{color:#32be77}.paas-content .current-status .info .run b{font-weight:400}.paas-content .current-status .info .domain,.paas-content .current-status .info .run small{font-size:12px;color:#999}.paas-content .current-status .info .domain span{margin-right:15px}.paas-content .current-status .info .domain a{color:#5191bd}.paas-content .current-status .info .ui.button.coding{color:#FFF!important}.paas-content .current-status .stat{background:#fff;border:1px solid #eee;border-radius:3px;margin:15px 0;padding:20px}.paas-content .current-status .stat .stat-item{width:32%;float:left;margin-right:2%;border-right:1px solid #eee;margin-left:-1px}.paas-content .current-status .stat .stat-item:last-child{margin-right:0;border-right:1px solid transparent}.paas-content .current-status .stat .stat-item .chart{display:inline-block;float:left}.paas-content .current-status .stat .stat-item .val{margin-left:90px}.paas-content .current-status .stat .stat-item .val .value{opacity:.8;font-size:14px;color:#323a45;line-height:40px}.paas-content .current-status .stat .stat-item .val .label{opacity:.5;font-size:12px;color:#323a45;line-height:20px}.paas-content .current-status .stat .stat-item .val .label small{margin-right:10px;font-size:12px;color:#5191bd;cursor:pointer}.paas-content .current-status .actions-buttons{padding:20px 0}.paas-content .deploy-box{font-size:14px;color:#333}.paas-content .deploy-box .ui.form.deploy{margin:15px 0}.paas-content .deploy-box .ui.form.deploy input[type=text]{font-size:12px}.paas-content .deploy-box .ui.form.deploy .inline.field label{font-size:12px;color:#999}.paas-content .deploy-box .ui.form.deploy .ui.label.route{font-size:12px;color:rgba(0,0,0,.65)}.paas-content .deploy-box .ui.form.deploy .deployer{font-size:12px;color:#777}.pie.coding.paas{background-color:#dae7f7;border-radius:50%;width:76px;height:76px;overflow:hidden;position:relative;float:left}.pie.coding.paas>div{float:left;width:50%;height:100%;position:relative;overflow:hidden}.pie.coding.paas span{background-color:#9aca3f;display:block;width:100%;height:100%}.pie.coding.paas .left span{border-top-right-radius:0;border-bottom-right-radius:0;transform-origin:100% 50%;-o-transform-origin:100% 50%;-moz-transform-origin:100% 50%;-ms-transform-origin:100% 50%;-webkit-transform-origin:100% 50%}.pie.coding.paas .right span{border-top-left-radius:0;border-bottom-left-radius:0;transform-origin:0 50%;-o-transform-origin:0 50%;-moz-transform-origin:0 50%;-ms-transform-origin:0 50%;-webkit-transform-origin:0 50%}.pie.coding.paas:after,.pie.coding.paas:before{border-radius:50%;display:block;position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%)}.pie.coding.paas:before{background-color:#fff;content:"";width:64px;height:64px;z-index:100}.pie.coding.paas:after{content:attr(data-percent) "%";font-family:Arial,sans-serif;font-size:14px;color:#9aca3f;z-index:200;text-align:center}.paas-domain-modal.ui.modal,.paas-memory-modal.ui.modal{max-width:680px;margin-left:-340px}.paas-domain-modal.ui.modal .header,.paas-memory-modal.ui.modal .header{font-size:20px;padding:15px 20px;font-weight:400}.paas-domain-modal.ui.modal>.content,.paas-memory-modal.ui.modal>.content{padding:20px 30px}.paas-domain-modal.ui.modal>.content .ui.checkbox,.paas-memory-modal.ui.modal>.content .ui.checkbox{font-size:14px}.paas-domain-modal.ui.modal>.content .ui.checkbox+small,.paas-memory-modal.ui.modal>.content .ui.checkbox+small{font-size:12px;color:#f5a623;line-height:21px;padding-left:2em}.paas-domain-modal.ui.modal>.content input[type=text],.paas-memory-modal.ui.modal>.content input[type=text]{font-size:14px;min-width:30em}.paas-domain-modal.ui.modal>.content .field.beijing .right,.paas-memory-modal.ui.modal>.content .field.beijing .right{font-size:14px;color:#999;background:#eee;border-radius:3px;padding:6px 8px;width:80px;text-align:center;margin-left:-110px}.paas-domain-modal.ui.modal .ui.message.normal,.paas-memory-modal.ui.modal .ui.message.normal{background:0 0;margin-top:0}.paas-domain-modal.ui.modal .ui.message,.paas-memory-modal.ui.modal .ui.message{font-size:12px}.paas-domain-modal.ui.modal .ui.message strong,.paas-memory-modal.ui.modal .ui.message strong{color:#AF4343}@font-face{font-family:Coding;src:url(/static/f43a2f65f95e657abcdf212491ef50b8.eot);src:url(/static/f43a2f65f95e657abcdf212491ef50b8.eot?#iefix) format("embedded-opentype"),url(/static/5d0570de997f2f1207461e0dbf4c233e.woff) format("woff"),url(/static/ad5ab4f799151646c2b217191693c451.ttf) format("truetype"),url(/static/d3e5447f1f2a77fb3e59d454e5a76178.svg) format("svg");font-weight:400;font-style:normal}body.dimmed{overflow:hidden}.coding.ui.dimmed.dimmable .ui.page.dimmer{display:block!important;position:fixed!important;overflow-y:auto}.coding .ui.button,.coding.ui.button{font-size:14px;padding:0 1.5em;text-transform:none;line-height:30px;height:30px;color:#000!important;background-image:none;-webkit-border-radius:2em;-moz-border-radius:2em;-ms-border-radius:2em;-o-border-radius:2em;border-radius:2em;background-color:#FFF!important}.coding .ui.button:hover,.coding.ui.button:hover{background-color:#FDFDFD!important}.coding .ui.button:active,.coding.ui.button:active{background-color:#E5E5E5!important;color:#FFF}.coding .ui.button.disabled,.coding.ui.button.disabled{border:1px solid #DDD}.coding .ui.button.borderless,.coding.ui.button.borderless{background:none!important;border:0!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;cursor:pointer}.coding .ui.button.blue,.coding.ui.button.blue{color:#FFF!important;background-color:#5191bd!important}.coding .ui.button.blue:hover,.coding.ui.button.blue:hover{background-color:#4b86ad!important}.coding .ui.button.blue:active,.coding.ui.button.blue:active{background-color:#447a9e!important;color:#FFF}.coding .ui.button.blue.disabled,.coding.ui.button.blue.disabled{border:none}.coding .ui.button.gray,.coding.ui.button.gray{color:#FFF!important;background-color:#666!important}.coding .ui.button.gray:hover,.coding.ui.button.gray:hover{background-color:#575757!important}.coding .ui.button.gray:active,.coding.ui.button.gray:active{background-color:#474747!important;color:#FFF}.coding .ui.button.gray.disabled,.coding.ui.button.gray.disabled{border:none}.coding .ui.button.light.gray,.coding.ui.button.light.gray{color:#FFF!important;background-color:#999!important}.coding .ui.button.light.gray:hover,.coding.ui.button.light.gray:hover{background-color:#8a8a8a!important}.coding .ui.button.light.gray:active,.coding.ui.button.light.gray:active{background-color:#7a7a7a!important;color:#FFF}.coding .ui.button.light.gray.disabled,.coding.ui.button.light.gray.disabled{border:none}.coding .ui.button.dark.gray,.coding.ui.button.dark.gray{color:#FFF!important;background-color:#333!important}.coding .ui.button.dark.gray:hover,.coding.ui.button.dark.gray:hover{background-color:#242424!important}.coding .ui.button.dark.gray:active,.coding.ui.button.dark.gray:active{background-color:#141414!important;color:#FFF}.coding .ui.button.dark.gray.disabled,.coding.ui.button.dark.gray.disabled{border:none}.coding .ui.button.red,.coding.ui.button.red{color:#FFF!important;background-color:#df5a5a!important}.coding .ui.button.red:hover,.coding.ui.button.red:hover{background-color:#cf5353!important}.coding .ui.button.red:active,.coding.ui.button.red:active{background-color:#bf4d4d!important;color:#FFF}.coding .ui.button.red.disabled,.coding.ui.button.red.disabled{border:none}.coding .ui.button.green,.coding.ui.button.green{color:#FFF!important;background-color:#32be77!important}.coding .ui.button.green:hover,.coding.ui.button.green:hover{background-color:#2eb06f!important}.coding .ui.button.green:active,.coding.ui.button.green:active{background-color:#2aa165!important;color:#FFF}.coding .ui.button.green.disabled,.coding.ui.button.green.disabled{border:none}.coding .ui.button.yellow,.coding.ui.button.yellow{color:#FFF!important;background-color:#eb935d!important}.coding .ui.button.yellow:hover,.coding.ui.button.yellow:hover{background-color:#cc8152!important}.coding .ui.button.yellow:active,.coding.ui.button.yellow:active{background-color:#bd774b!important;color:#FFF}.coding .ui.button.yellow.disabled,.coding.ui.button.yellow.disabled{border:none}.coding .ui.button.mini,.coding.ui.button.mini{font-size:10px;height:18px;line-height:18px}.coding .ui.button.small,.coding.ui.button.small{font-size:12px;height:24px;line-height:24px}.coding .ui.button.medium,.coding.ui.button.medium{font-size:18px;height:36px;line-height:36px}.coding .ui.button.large,.coding.ui.button.large{font-size:24px;height:48px;line-height:48px}.coding .ui.button.huge,.coding.ui.button.huge{font-size:30px;height:63px;line-height:63px}.coding .ui.action.input>.button,.coding .ui.action.input>.buttons,.coding.ui.action.input>.button,.coding.ui.action.input>.buttons{-webkit-border-radius:.25em;-moz-border-radius:.25em;-ms-border-radius:.25em;-o-border-radius:.25em;border-radius:0 .25em .25em 0}.coding .ui.input.mini>.button{font-size:10px;height:18px;line-height:18px}.coding .ui.input.small>.button{font-size:12px;height:24px;line-height:24px}.coding .ui.input.medium>.button{font-size:18px;height:36px;line-height:36px}.coding .ui.input.large>.button{font-size:24px;height:48px;line-height:48px}.coding .ui.input.huge>.button{font-size:30px;height:63px;line-height:63px}.coding .ui.input.mini>input{padding:.5px 1em}.coding .ui.input.small>input{padding:4px 1em}.coding .ui.input>input{padding:5px 1em;font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei}.coding .ui.input.medium>input{padding:8px 1em}.coding .ui.input.large>input{padding:12px 1em}.coding .ui.input.huge>input{padding:17px 1em}.coding .ui.input.mini.icon>.icon{padding-top:2px;width:20px}.coding .ui.input.small.icon>.icon{padding-top:6px;width:25px}.coding .ui.input.icon>.icon{padding-top:8px}.coding .ui.input.medium.icon>.icon{padding-top:11px}.coding .ui.input.large.icon>.icon{padding-top:14px}.coding .ui.input.huge.icon>.icon{padding-top:22px}.coding .ui.image,.coding.ui.image{max-width:none;height:32px;width:32px;-webkit-border-radius:32px;-moz-border-radius:32px;-ms-border-radius:32px;-o-border-radius:32px;border-radius:32px}.coding .ui.image.avatar18,.coding.ui.image.avatar18{height:18px;width:18px;display:inline-block!important;-webkit-border-radius:18px;-moz-border-radius:18px;-ms-border-radius:18px;-o-border-radius:18px;border-radius:18px}.coding .ui.image.avatar24,.coding.ui.image.avatar24{height:24px;width:24px;display:inline-block!important;-webkit-border-radius:24px;-moz-border-radius:24px;-ms-border-radius:24px;-o-border-radius:24px;border-radius:24px}.coding .ui.image.avatar32,.coding.ui.image.avatar32{height:32px;width:32px;display:inline-block!important;-webkit-border-radius:32px;-moz-border-radius:32px;-ms-border-radius:32px;-o-border-radius:32px;border-radius:32px}.coding .ui.image.avatar42,.coding.ui.image.avatar42{height:42px;width:42px;display:inline-block!important;-webkit-border-radius:42px;-moz-border-radius:42px;-ms-border-radius:42px;-o-border-radius:42px;border-radius:42px}.coding .ui.image.avatar48,.coding.ui.image.avatar48{height:48px;width:48px;display:inline-block!important;-webkit-border-radius:48px;-moz-border-radius:48px;-ms-border-radius:48px;-o-border-radius:48px;border-radius:48px}.coding .ui.image.avatar56,.coding.ui.image.avatar56{height:56px;width:56px;display:inline-block!important;-webkit-border-radius:56px;-moz-border-radius:56px;-ms-border-radius:56px;-o-border-radius:56px;border-radius:56px}.coding .ui.image.avatar64,.coding.ui.image.avatar64{height:64px;width:64px;display:inline-block!important;-webkit-border-radius:64px;-moz-border-radius:64px;-ms-border-radius:64px;-o-border-radius:64px;border-radius:64px}.coding .ui.image.avatar96,.coding.ui.image.avatar96{height:96px;width:96px;display:inline-block!important;-webkit-border-radius:96px;-moz-border-radius:96px;-ms-border-radius:96px;-o-border-radius:96px;border-radius:96px}.coding .ui.image.avatar128,.coding.ui.image.avatar128{height:128px;width:128px;display:inline-block!important;-webkit-border-radius:128px;-moz-border-radius:128px;-ms-border-radius:128px;-o-border-radius:128px;border-radius:128px}.coding .ui.image.avatar208,.coding.ui.image.avatar208{height:208px;width:208px;display:inline-block!important;-webkit-border-radius:208px;-moz-border-radius:208px;-ms-border-radius:208px;-o-border-radius:208px;border-radius:208px}.coding a{color:#2D59A2}.coding a:active,.coding a:hover{color:#203F71}.coding a.gray{color:#444}.coding a.gray:active,.coding a.gray:hover{color:#000}.coding a.red{color:#df5a5a}.coding a.red:hover{color:#cf5353}.coding a.red:active{color:#bf4d4d}.coding .ui.dividing.header,.coding.ui.dividing.header{font-size:18px;padding-bottom:10px;font-weight:400}.coding .ui.dividing.header>.actions,.coding.ui.dividing.header>.actions{float:right;margin-top:5px}.coding.hidden{display:none}.coding.floated.left{float:left}.coding.floated.right{float:right}.coding.aligned.left{text-align:left}.coding.aligned.right{text-align:right}.coding.aligned.center{text-align:center}.coding.block{display:block}.coding.inline{display:inline}.coding.inline.block{display:inline-block}.coding.border.top{border-top:1px solid #E1E1E1}.coding.border.bottom{border-bottom:1px solid #E1E1E1}.coding.icon{font-family:Coding;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.coding.icon.monkey:before{content:"\c600"}.coding.icon.logo{width:auto;height:auto}.coding.icon.logo:before{content:"\c601"}.coding.icon.logo-v{width:auto;height:auto}.coding.icon.logo-v:before{content:"\c602"}.coding.icon.bubble:before{content:"\c603"}.coding.icon.project:before{content:"\c604"}.coding.icon.read:before{content:"\c605"}.coding.icon.advanced-setting:before{content:"\c606"}.coding.icon.fork:before{content:"\c607"}.coding.icon.pull-request:before{content:"\c608"}.coding.icon.coding-url{width:auto}.coding.icon.coding-url:before{content:"\c609"}.coding.icon.merge-request:before{content:"\c610"}.coding.icon.exclamation:before{content:"\c611"}.coding.icon.exclamation.active{color:#F75288}.coding.icon.exclamation.light:before{content:"\c612"}.coding.icon.team:before{content:"\c623"}.coding.icon.coding-recommended:before{content:"\c613"}.coding.icon.coding-anchor{color:#000;vertical-align:middle;line-height:1;font-size:16px;visibility:hidden;user-select:none;padding-right:6px;padding-left:8px;margin-left:-30px;text-decoration:none}.coding.icon.coding-anchor:hover{text-decoration:none;visibility:visible}.coding.icon.coding-anchor:before{content:'\c614'}.coding.icon.coding-gold:before{content:"\c615"}.coding.icon.no-newline:before{content:"\c616"}.coding.icon.coding-share:before{content:"\c617"}.coding.icon.coding-organization:before{content:"\c618"}.coding.icon.coding-compare:before{content:"\c619"}.coding.icon.coding-commit:before{content:"\c620"}.coding.icon.coding-mabi:before{content:"\c621"}#help{margin:0 auto;padding:0 20px}#help .title{margin:1rem 0;font-size:20px}#help input[type=text]{font-family:'microsoft yahei','Helvetica Neue',sans-serif,SimHei}#help a{color:#333}#help .ui.divider{border-bottom:none}#help .twelve.wide.column{border-left:1px solid rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;min-height:550px}#help .four.wide.column{padding-right:0}#help .help.menu{padding-top:20px}#help .help.search{padding-right:30px}#help .key{color:red}#help .help.list{margin:20px 0}#help .help.list .title{font-size:20px}#help .help.list .list{margin:0;padding:0;list-style:none}#help .help.list .list li{font-size:16px;line-height:48px;color:#333;cursor:pointer}#help .help.list .list li:hover{color:#000;font-weight:700}#help .help.list .list li:hover a{color:#000}#help .help.list .list li a{color:#333}#help .help.list .list li .double.angle.right.icon{margin-left:24px}#help .help.list .list li.active a,#help .help.list .list li.active i.icon{color:#000;font-weight:700}#help .help.support{color:#333}#help .help.support .icon.mail{margin-right:10px}#help .help.support .support-text{margin-left:8px;font-size:15px}#help .help.support .support-text:hover{text-decoration:underline}#help .help.box{padding-top:20px}#help .help.box .content .text{font-size:13px;color:#333;line-height:28px}#help .help.box .content .text .faq{margin-bottom:5px;margin-top:0;font-size:16px;color:#000;font-weight:700}#help .help.box .content .text .faqs{margin-bottom:20px}#help .help.box .content .text .questions{padding-left:10px}#help .help.box .content .text .questions.active{background:#FFF;padding-bottom:5px}#help .help.box .content .text .question{padding:5px 0;margin:0;font-size:14px}#help .help.box .content .text .question span{cursor:pointer}#help .help.box .content .text .question span.active{font-weight:700;color:#000}#help .help.box .content .text .question i.icon{margin-right:13px}#help .help.box .content .text .answer{margin:0;padding:0 30px}#help .help.box .content .text .intro img{max-width:100%}#help .help.box .footer .back,#help .help.box .footer .next{font-size:14px;color:#333}#help .help.box .footer .next{float:right}#help .help.index section{margin:40px auto 0}#help .help.index section .search{padding:0 5%}#help .help.index section .search .ui.input.large>.button,#help .help.index section .search .ui.input.large>input[type=text]{font-size:20px;font-weight:400}#help .help.index section .commons{padding-left:8%}#help .help.index section .commons .ui.grid .column{margin-top:0}#help .help.index section .commons ul{list-style:none;padding:0;margin:0}#help .help.index section .commons ul li{line-height:35px;font-size:14px;color:#333}#help .help.index section .commons ul li .icon.angle{margin-right:15px}#help .help.index section .commons ul li a:hover{color:#000}#help .help.index section .quick ul{list-style:none;padding:0 0 20px;margin:0}#help .help.index section .quick ul li{display:inline-block;width:25%;padding:20px 0;cursor:pointer;margin-left:3.5%;margin-right:3.5%}#help .help.index section .quick ul li i.icon{font-size:48px;margin:0 auto;display:block}#help .help.index section .quick ul li .title{text-align:center}#help .help.index section .quick ul li .desc{font-size:13px;color:#333;text-align:center;line-height:25px}#help .help.index section .quick ul li:hover{background:#fff}.icon.help.tip{font-size:.8em;margin:0;color:#333}.coding.help-popup{position:absolute;z-index:9999;border:1px solid rgba(0,0,0,.1);font-size:.875rem;font-weight:400;font-style:normal;color:rgba(0,0,0,.7);border-radius:.2em;min-width:20em;top:.5em;margin:.75em 0 0 -2.7em;max-width:30em;background:#000;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.1);-moz-box-shadow:1px 1px 1px rgba(0,0,0,.1);-ms-box-shadow:1px 1px 1px rgba(0,0,0,.1);box-shadow:1px 1px 1px rgba(0,0,0,.1);opacity:.85}.coding.help-popup:before{position:absolute;content:"";width:.7rem;height:.7em;top:-.3em;background-image:none;background-color:#000;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.1);box-shadow:1px 1px 1px rgba(0,0,0,.1)}.coding.help-popup>div.content{color:#dedede;line-height:22px;font-size:13px}.coding.help-popup>div.content a{color:#3BA3EB}.coding.help-popup>div.content a:last-child{display:inline-block;margin-top:5px}.snow-canvas{display:block;width:100%;height:100%;top:0;left:0;position:fixed;pointer-events:none}.cg-fullscreen{position:fixed;z-index:9999999;width:100%;display:block;left:0;top:0}.add-more-member{display:inline-block;width:31px;height:31px;border-radius:32px;border:1px solid #CCC;max-width:none;position:relative;vertical-align:middle;line-height:31px;text-align:center;font-size:16px}.add-more-member>i.icon{margin:0;padding:0}.member-picker img,.project-picker img{width:32px;height:32px}.member-picker.wide .menu,.project-picker.wide .menu{width:175px}.member-picker.wide .projects-outer .text,.project-picker.wide .projects-outer .text{width:95px!important}.member-picker .menu,.project-picker .menu{width:160px}.member-picker .menu .input-wrapper,.project-picker .menu .input-wrapper{padding:4px;background-color:#EEE}.member-picker .menu .input-wrapper .input input,.project-picker .menu .input-wrapper .input input{font-size:14px;border:1px solid #DDD!important;-webkit-border-radius:3px!important;-moz-border-radius:3px!important;border-radius:3px!important;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.member-picker .ui.dropdown .menu .item,.project-picker .ui.dropdown .menu .item{padding:5px!important;overflow-x:hidden;position:relative}.member-picker .members-outer,.member-picker .projects-outer,.project-picker .members-outer,.project-picker .projects-outer{height:170px;overflow-y:auto}.member-picker .members-outer.quick-select .selected.item,.member-picker .projects-outer.quick-select .selected.item,.project-picker .members-outer.quick-select .selected.item,.project-picker .projects-outer.quick-select .selected.item{background-color:rgba(0,0,0,.03)!important}.member-picker .projects-outer i.icon,.project-picker .projects-outer i.icon{position:absolute;left:5px;top:14px;margin-right:0!important}.member-picker .projects-outer .img,.project-picker .projects-outer .img{width:24px;height:24px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin-left:23px}.member-picker .projects-outer .text,.project-picker .projects-outer .text{font-size:14px;padding:4px 0;display:inline-block;vertical-align:top;width:80px!important}.project-picker .ui.dropdown .menu .item{padding:8px 5px!important}.project-task.task{position:relative;padding:5px 10px 10px;margin-left:20px;border-bottom:1px solid #E1E1E1;font-size:14px}.project-task.task:hover .created-time .mr10.hover-show a.toggle{display:inline}.project-task.task:hover .created-time .mr10.hover-show a.marked{display:none}.project-task.task.commenting,.project-task.task.editing,.project-task.task:hover{background:#FFF}.project-task.task.done textarea{text-decoration:line-through}.project-task.task .title{position:relative;padding:3px 0 0 3px;margin:5px 50px 5px 26px;border-radius:3px}.project-task.task.editing .title{background:#EEE}.project-task.task .title textarea{width:100%;height:20px;padding:0;margin:0;line-height:20px;border:none;overflow:hidden;font-size:14px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:0;resize:none;word-break:break-all;background:#F7F6F2}.project-task.task.commenting .title textarea,.project-task.task:hover .title textarea{background:#FFF}.project-task.task .title textarea:hover,.project-task.task.editing .title textarea{background:#EEE!important}.project-task.task>.remove-task{display:none}.project-task.task:hover>.remove-task{position:absolute;right:-14px;top:20px;cursor:pointer;display:inline;font-size:20px;margin-right:0}.project-task.task>i.check-icon{position:absolute;left:10px;top:14px;cursor:pointer;font-size:20px}.project-task.task>i.updating.loading.icon{position:absolute;left:13px;top:43px;margin-right:0}.project.tasks .member-picker{position:absolute;right:18px;top:14px}.project-task.task .mr10 i.icon{margin-right:0}.new-tag{font-size:12px}.project-task.task .created-time{color:#FFA487;text-decoration:none;font-size:12px;margin-left:30px;line-height:20px}.project-task.task .created-time .tags.no-icon .tag:before{display:none!important}.project-task.task .created-time .tags .tag{display:inline-block;padding:2px 4px;color:#FFF;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;word-break:break-all;line-height:1em;font-size:12px;margin-right:3px}.project-task.task .created-time .tags .tag:last-child{margin-right:0}.project-task.task .created-time .mr10{margin-right:10px;display:inline-block}.project-task.task .created-time .mr10 a{color:#FFA487}.project-task.task .created-time .mr10.hover-show a.toggle{display:none}.project-task.task .created-time .mr10.hover-show a.marked{display:inline}.project-task.task .created-time .refer-id{color:#666}.project-task.task .comment-list{display:none}.project-task.task.commenting .comment-list,.project-task.task.show-description .task-description{display:block;border:1px solid #E1E1E1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:10px 8px 10px 29px;position:relative}.project-task.task .comment-list:after{top:-.25em;left:1.25em;right:auto;margin:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.project-task.task .task-description{display:none}.project-task.task.show-description .task-description{display:block;padding:15px}.task-comment-form,.task-comment-item{position:relative;border-bottom:1px solid #F0F0F0}.task-comment-form{padding:8px 3px}.task-comment-form.loading:after{position:absolute;top:0;left:0;content:'';width:100%;height:100%;background:url(/static/9af25aaeb6ca6d08d213b04841813eb5.gif) 50% 50%/25px no-repeat rgba(255,255,255,.8);visibility:visible}.task-comment-item{padding:8px 10px;min-height:40px}.task-comment-item:last-child{border-bottom:none}.task-comment-item>a>img{position:absolute!important;left:14px;top:8px}.task-comment-item>.comment-detail{margin-left:40px;font-size:14px;line-height:20px}.task-comment-item .comment-content{font-size:12px;color:#333}.task-comment-item .comment-time{color:#999;font-size:12px}.task-comment-item .comment-time .mr10{margin-right:10px}.task-comment-item a.comment-button,.task-comment-item a.remove-button{display:none;margin-right:10px;color:#999}.task-comment-item:hover a.comment-button,.task-comment-item:hover a.remove-button{display:inline}.task-comment-more{text-align:center;padding:12px;border-top:1px solid #F0F0F0}.task-comment-more a{font-size:14px;color:#666}.task-description-wrapper.editing{padding:0!important;border:0!important}.task-description-wrapper i.edit.icon{position:absolute;right:4px;top:4px;font-size:12px!important;color:#999!important;margin:0!important;z-index:2;transform-origin:47% 47%;cursor:pointer}.task-description-wrapper div.loading{padding:10px;box-sizing:border-box;height:45px;line-height:27px}.project-simple-task{position:relative;height:42px;padding:5px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EEE}.project-simple-task .task-head{height:100%;position:absolute;left:0}.project-simple-task .task-head .status{position:absolute;left:0;top:6px;font-size:18px;color:#333}.project-simple-task .task-head .ui.top.right.pointing.dropdown .menu{left:0}.project-simple-task .task-head .ui.top.right.pointing.dropdown .menu:after{left:9px}.project-simple-task .task-head .textarea-urgency.task-urgency-dropdown{left:60px!important;top:1px!important}.project-simple-task .task-head .textarea-urgency.task-urgency-dropdown .ui.top.left.pointing.dropdown .menu{left:-6px}.project-simple-task .task-head .member-picker{right:auto;left:29px;top:4px}.project-simple-task .task-head .member-picker .ui.avatar.image{width:24px;height:24px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.project-simple-task .block-inline{display:inline-block}.project-simple-task .task-deadline{float:left}.project-simple-task .task-body{height:100%;position:relative;margin-left:100px;line-height:30px;font-size:14px}.project-simple-task .task-body .task-content .tags.no-icon .tag:before{display:none!important}.project-simple-task .task-body .task-content .tags .tag{display:inline-block;padding:2px 4px;color:#FFF;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;word-break:break-all;line-height:1em;font-size:12px;margin-right:3px}.project-simple-task .task-body .task-content .tags .tag:last-child{margin-right:0}.project-simple-task .task-body .task-content .date{display:inline-block;padding:2px 4px;color:#FFF;background:#90A9C2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;cursor:pointer;line-height:1em}.project-simple-task .task-body .task-content .date:before{content:'\f073';font-family:Icons;margin:0 5px 0 1px}.project-simple-task .task-body .task-content .date.expired{background:#D04D4D}.project-simple-task .task-body .task-content .date.today{background:#F25858}.project-simple-task .task-body .task-content .date.tomorrow{background:#F4AE60}.project-simple-task .task-body .task-content .date.done{background:#999!important}.project-simple-task .task-body .task-content .task-deadline i.calendar.icon{color:#90A9C2}.project-simple-task .task-body .task-content .date{font-size:12px}.project-simple-task .task-body .task-content a.title{margin-left:5px;margin-right:8px}.project-simple-task .task-body .task-content a.title-with-tags{max-width:60%}.project-simple-task .task-body .task-content a.title.dark{color:#000;outline:0}.project-simple-task .task-body .task-content .date~a.title.dark,.project-simple-task .task-body .task-content .tags~a.title.dark{margin-left:5px}.project-simple-task .task-body .task-foot{position:relative;text-align:right;color:#999;margin:0 5px 0 10px}.project-simple-task .task-body .task-foot .project-name{color:#999}.project-simple-task .task-body .task-foot .number{width:50px;display:inline-block}.project-simple-task.done .task-content .title{text-decoration:line-through}.project-simple-task .remove-button{position:absolute;right:-18px;top:0;font-size:16px;display:none}.project-simple-task:hover .remove-button{display:inline;cursor:pointer}#task-creator{margin:0 15%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-box-orient:vertical;-webkit-flex-direction:row;flex-direction:row;justify-content:flex-start;align-items:stretch;align-content:stretch}#task-creator>div.input{display:flex;height:34px;-webkit-flex:1;-moz-flex:1;-ms-flex:1;-o-flex:1;flex:1}#task-creator .member-picker{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;padding-left:20px}.task-urgency-wrapper{cursor:pointer}.task-urgency-wrapper.project-activity-urgency{position:relative!important;display:inline;margin-right:5px!important}.task-urgency-dropdown,.task-urgency-wrapper{position:absolute!important;left:0!important;top:0!important;text-align:center!important;padding:0!important;border-radius:0!important;margin:0!important;color:#666!important;opacity:1!important}.task-urgency-dropdown .task-urgency-tooltip,.task-urgency-wrapper .task-urgency-tooltip{position:absolute;top:0;left:0;width:100%;height:100%}.input-urgency .task-urgency-wrapper{border-right:1px solid #CCC}.input-urgency .task-urgency-wrapper,.input-urgency.task-urgency-dropdown{width:36px!important;line-height:34px!important;z-index:1}.textarea-urgency .task-urgency-wrapper,.textarea-urgency.task-urgency-dropdown{width:28px!important;height:22px;line-height:28px!important}.task-urgency-dropdown>.menu{z-index:2}.task-urgency-dropdown.ui.dropdown>.menu>.item{padding:.85em .8em .85em .3em!important}.task-urgency-dropdown>.menu .urgency-list-wrapper{margin-right:5px}.task-urgency-dropdown>.menu .urgency-list-wrapper .urgency.icon,.task-urgency-wrapper>.urgency.icon{width:2px;margin:0;font-size:12px}.task-urgency-dropdown>.menu i.urgency.checkmark.icon{margin-right:2px!important;opacity:0}.task-urgency-dropdown>.menu i.urgency.checkmark.checked.icon{opacity:1}.task-urgency-dropdown .item>.task-urgency-wrapper .urgency.icon{margin-right:0!important}.task-urgency-dropdown~input.urgency{padding-left:42px!important}.task-urgency-dropdown~textarea.urgency{text-indent:28px}#task-creator .description{position:absolute;width:100%;padding-right:36px;box-sizing:border-box;height:100px;left:36px;top:34px;z-index:11}#task-creator .description.show~input{border-bottom-right-radius:0}#task-creator .description .light-md-editor{border-top:0;border-top-left-radius:0;border-top-right-radius:0}#task-creator .description .light-md-editor>.editor{padding:5px}#task-creator .description .light-md-editor textarea{height:58px}.project.tasks.just-show .task .title{margin:5px 5px 5px 26px}.project.tasks.just-show .task .title textarea{background:#FFF!important}.project.tasks.just-show{padding:0}.project.tasks.just-show .task .task-owner{margin:0;position:absolute;right:18px;top:14px}.project-task.task:hover .link-tips{display:inline}.project-task.task .link-tips{display:none}.task-detail-header{position:relative;min-height:48px;padding-bottom:4px}.task-detail-header .tag-editor .tag.editable{padding:2px 4px!important}.task-detail-header .tag-editor .tag.editable i.remove.icon{top:2px!important}.task-detail-header .tag-editor .tag.editable:hover{padding:2px 18px 2px 4px!important}.task-detail-header>.member-picker{width:48px;height:48px;position:absolute;left:0;top:5px}.task-detail-header>.member-picker img.ui.avatar{width:48px;height:48px}.task-detail-header>i.updating.loading.icon{position:absolute;left:13px;top:40px;margin-right:0}.task-detail-header>.project-task.task{border:0}.task-detail-header>.project-task.task:hover,.task-detail-header>.project-task.task:hover .title textarea{background:0 0}.task-detail-header>.project-task.task i.check-icon{z-index:2;left:-5px;top:12px;font-size:22px}.task-detail-header>.project-task.task .title{margin:0 0 0 30px}.task-detail-header>.project-task.task .title textarea{font-size:18px;color:#333;line-height:25px}.task-detail-header>.project-task.task .title .textarea-urgency.task-urgency-dropdown{height:24px;left:26px!important;top:3px!important}.task-detail-header>.project-task.task .title .task-urgency-wrapper>.urgency.icon{font-size:15px;width:3px}.task-detail-header>.project-task.task .created-time{position:relative;margin:3px 0 0 5px;padding-right:70px}.task-detail-header>.project-task.task .created-time i.loading.icon{position:relative}.task-detail-header>.ui.dropdown{position:absolute;bottom:6px;right:6px;font-size:13px;padding-bottom:5px}.task-detail-description{margin:0 5px 20px;position:relative}.task-detail-description>.icon{width:36px;height:36px;position:absolute;top:5px;left:3px;border:1px solid #EEE;background:#EEE;-webkit-border-radius:36px;-moz-border-radius:36px;border-radius:36px;line-height:36px;text-align:center}.task-detail-description>.icon i.icon{margin-right:0;-webkit-transform-origin:6px 7px;-moz-transform-origin:6px 7px;-ms-transform-origin:6px 7px;-o-transform-origin:6px 7px;transform-origin:6px 7px}.task-detail-description>.detail{margin-left:60px;background:#FFF;position:relative}.task-detail-description>.detail .task-description{border:1px solid #EEE;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.task-detail-description>.detail .task-description.has-description{padding:20px}.task-detail-description>.detail .task-description.description-loading{padding:0!important}.task-detail-description>.detail .task-description>.light-md-editor{border-color:#EEE}.task-detail-description>.detail:before{margin-top:-11px;bottom:auto;right:auto;top:29px;left:-4px;position:absolute;content:"";width:.6em;height:.6em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.task-activity-filter{text-align:right;padding-right:10px;margin-bottom:10px}.task-detail-activity{margin:0 5px 20px;position:relative}.task-detail-activity:before{width:1px;position:absolute;top:0;left:74px;height:100%;border-left:3px solid #EEE;content:'';z-index:-1}.task-detail-activity:after{content:'';height:20px;width:100%;display:block;border-bottom:3px solid #EEE}.task-detail-activity .task-activity{position:relative;margin-bottom:20px;border-bottom:none}.task-detail-activity .task-activity:last-child{margin-bottom:0}.task-detail-activity .task-activity.action{line-height:32px;color:#999;font-size:12px}.task-detail-activity .task-activity.action>.icon{width:30px;height:30px;position:absolute;left:59px;top:-2px;-webkit-border-radius:17px;-moz-border-radius:17px;border-radius:19px;background:#EEE;text-align:center;line-height:32px;color:#666;border:2px solid #F7F6F2}.task-detail-activity .task-activity.action>.icon.finish{background:#DF5A5A;color:#FFF}.task-detail-activity .task-activity.action>.icon.update_priority{background:#F75288;color:#FFF}.task-detail-activity .task-activity.action>.icon.restore{background:#A1CF64;color:#FFF}.task-detail-activity .task-activity.action>.icon.update_deadline{background:#eb935d;color:#FFF}.task-detail-activity .task-activity.action>.icon.commit_refer{background:#5191bd;color:#FFF}.task-detail-activity .task-activity.action>.icon i.icon{margin:0;font-size:14px;opacity:1}.task-detail-activity .task-activity.action>.detail{padding-left:100px}.task-detail-activity .task-activity.action>.detail .commits{margin:0;padding:0}.task-detail-activity .task-activity.action>.detail .commits .commit{line-height:23px}.task-detail-activity .task-activity.action>.detail .commits .all-message{line-height:1.2em;padding-left:20px;margin:0}.task-detail-activity .task-activity.comment>.avatar{position:absolute;left:3px;top:8px}.task-detail-activity .task-activity.comment>.avatar img{width:36px;height:36px}.task-detail-activity .task-activity.comment>.detail{position:relative;background:#FFF;padding:15px;margin-left:60px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #EEE}.task-detail-activity .task-activity.comment>.detail .content{font-size:14px;color:#333;margin-bottom:10px}.task-detail-activity .task-activity.comment>.detail .created-time{color:#999;font-size:12px}.task-detail-activity .task-activity.comment>.detail .created-time .mr10{margin-right:10px}.task-detail-activity .task-activity.comment>.detail .created-time .mr10 a{color:#999}.task-detail-activity .task-activity.comment>.detail .created-time .mr10 a:hover{color:#666}.task-detail-activity .task-activity.comment>.detail .created-time i.icon{margin-right:0}.task-detail-activity .task-activity.comment>.detail:before{margin-top:-11px;bottom:auto;right:auto;top:30px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.task-detail-activity .task-activity.comment>.detail .created-time .comment,.task-detail-activity .task-activity.comment>.detail .created-time .remove{display:none}.task-detail-activity .task-activity.comment>.detail:hover .created-time .comment,.task-detail-activity .task-activity.comment>.detail:hover .created-time .remove{display:inline}.task-comment-creator{margin:0 5px 300px}.light-task-detail{background-color:#FFF!important}.light-task-detail .project-task.task .title textarea{background-color:#FFF}.light-task-detail .task-detail-activity .task-activity.action>.icon{border:2px solid #FFF}.light-task-detail .task-detail-activity:before{left:75px;border-left:2px solid #EEE;z-index:0}.light-task-detail .task-detail-activity:after{border-bottom:2px solid #EEE}.light-task-detail .task-detail-description>.detail .task-description.has-description{padding:12px}.task-detail-tags header{margin-bottom:10px;font-size:14px}.task-detail-tags ul{padding:0;margin:0}.task-detail-tags ul li{list-style:none;margin-bottom:5px}.task-detail-tags.tag-editor .tag.editable{padding:5px 10px}.task-detail-tags.tag-editor .tag.editable i.remove.icon{top:5px}.task-detail-tags.tag-editor .tag.editable:hover{padding:5px 20px 5px 10px}.task-detail-tags.tag-editor .tag.editable span:before{content:'\f02b';font-family:Icons;margin-right:5px}.task-detail-watchlist{padding-top:10px}.task-detail-watchlist [cg-member-selector]{position:relative;padding-top:5px}.task-detail-watchlist [cg-member-selector] ul{position:relative}.task-deadline.with-creator{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;width:auto;height:20px;text-align:right;margin:0 20px 0 0;padding-top:8px}.task-deadline.with-creator .centered{display:inline-block;vertical-align:middle}.task-deadline.with-creator .centered i.icon{float:right;color:#333}.task-deadline.with-creator .centered.date{padding:3px;float:right}.task-deadline i.icon{cursor:pointer}.task-deadline .date{display:inline-block;padding:2px 4px;color:#FFF;background:#90A9C2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;cursor:pointer;line-height:1em}.task-deadline .date:before{content:'\f073';font-family:Icons;margin:0 5px 0 1px}.task-deadline .date.expired{background:#D04D4D}.task-deadline .date.today{background:#F25858}.task-deadline .date.tomorrow{background:#F4AE60}.task-deadline .date.done{background:#999!important}.search-filter-tag-color{width:16px;height:16px;border-radius:4px;display:inline-block;vertical-align:middle;position:relative;left:-5px}#task-list{position:relative}#task-list.container{margin-left:230px!important}#task-list .search-div1:after{content:".";display:block;height:0;clear:both;visibility:hidden;margin-bottom:10px}#task-list .search-box{border-bottom:1px solid rgba(128,128,128,.5);display:table;float:left}#task-list .search-box>i{opacity:.5}#task-list .filters{font-size:14px;float:right;margin:5px 0 10px 5px}#task-list .filters .task-urgency-wrapper{position:relative!important;display:inline-block;width:1.5em}#task-list .filters i.icon.checkmark{display:inline-block}#task-list .filters .task-urgency-wrapper i.icon{margin:0;padding:0}#task-list .filters div.input{display:block;padding:.3em;background-color:#F2F4F6;margin-bottom:0;border-bottom:1px solid #D8DDE4}#task-list .filters div.input input{min-width:205px}#task-list .filters div.input .search.icon{padding-top:11px}#task-list .filters .ui.dropdown .menu .members-outer{max-height:320px;overflow-y:auto}#task-list .filters .ui.dropdown .menu .members-outer.wide{width:240px}#task-list .filters .ui.dropdown .menu .members-outer .item{position:relative;padding:.5em 2em .5em 1em!important;border:none}#task-list .filters .ui.dropdown .menu .members-outer .item:before{content:'';display:inline-block;position:absolute;top:0;left:0;width:100%;height:0;border-top:1px solid #D8DDE4}#task-list .filters .ui.dropdown .menu .members-outer .item:first-child:before{border:none}#task-list .filters .ui.dropdown .menu .members-outer .item.no-avatar .sort{line-height:32px}#task-list .filters .ui.dropdown .menu .members-outer .item .sort{position:absolute;top:0;right:0;width:26px;height:100%;background:#F2F4F6;border-left:1px solid #D8DDE4;color:#91969D;font-size:14px;text-align:center;line-height:45px}#task-list .filters .ui.dropdown .menu .members-outer .item .sort.show-sort-key{border-top:1px solid #D8DDE4}#task-list .filters .ui.dropdown .menu .members-outer .item .sort i{margin:8px 0;padding:0;vertical-align:top}#task-list #query{float:right;font-size:14px}#task-list #query i.icon{display:inline-block;margin-left:5px;cursor:pointer}#search-input{border:none;background-color:rgba(255,255,255,0);height:20px;font-size:14px;width:200px;outline:0}#task_projects{position:relative}#task_projects .project{position:relative;display:block;height:auto;width:100%;cursor:pointer;margin:0;padding:3px 8px!important}#task_projects .project div.logo{position:absolute;left:20px;top:50%;width:32px;height:32px;margin-top:-16px}#task_projects .project img.logo{width:32px;height:32px;margin:0}#task_projects .project .name{padding:0 50px 0 60px;line-height:40px;height:40px;font-size:14px}#task_projects .project .rate{position:absolute;right:15px}.filter-select{float:right;font-size:14px;width:120px;margin-top:10px;height:24px}.owner-task-title{float:left;margin-right:5px}.select-title{margin-left:10px;width:80px}.menu-option{left:-13px!important}.task-title{padding:0;margin:0;font-size:14px}.title-desc{font-size:14px;line-height:20px}.hide{display:none}.light-md-editor{border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.light-md-editor .editor{background:#FFF;padding:10px 15px;position:relative;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;overflow:auto;z-index:1}.light-md-editor .editor>.dimmer i.loading{font-size:30px;position:absolute;top:50%;left:50%;margin:-15px 0 0 -15px}.light-md-editor .editor.previewed{max-height:none!important}.light-md-editor .editor.previewed>textarea{display:none}.light-md-editor .editor>textarea{background:#FFF;border:none;font-size:14px;padding:0;margin:0;color:rgba(0,0,0,.7);outline:0;width:100%;resize:none;display:block;min-height:50px;line-height:1.6}.light-md-editor .editor>.preview{height:0;width:0}.light-md-editor .editor>.preview.active{width:100%;height:100%;min-height:50px;background:#FFF;z-index:2}.light-md-editor .editor>.preview .empty{display:none;position:absolute;width:200px;text-align:center;left:50%;margin-left:-100px;top:33%}.light-md-editor .playground{-webkit-transition:all .4s ease-in-out;-moz-transition:all .4s ease-in-out;-ms-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out;width:100%;height:0;position:relative;word-break:break-all}.light-md-editor .toolbar{height:30px;background:#F6F6F6;border-top:1px solid #EEE}.light-md-editor .toolbar>i{cursor:pointer;line-height:30px;margin-left:5px}.light-md-editor .toolbar ul{display:inline-block;height:30px;width:auto;padding:0;margin:0;line-height:30px;float:right}.light-md-editor .toolbar ul li{list-style:none;float:left}.light-md-editor .toolbar ul li i.icon{cursor:pointer}@-moz-keyframes common-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@-o-keyframes common-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@-webkit-keyframes common-rotate-loading{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}100%{transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@keyframes common-rotate-loading-d{100%{transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);-moz-transform:rotate(-360deg)}0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}}@-moz-keyframes common-rotate-loading-d{100%{transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);-moz-transform:rotate(-360deg)}0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}}@-o-keyframes common-rotate-loading-d{100%{transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);-moz-transform:rotate(-360deg)}0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}}@-webkit-keyframes common-rotate-loading-d{100%{transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);-moz-transform:rotate(-360deg)}0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-moz-transform:rotate(0deg)}}@-moz-keyframes common-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}@-o-keyframes common-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}@-webkit-keyframes common-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}@keyframes common-loading-text-opacity{0%{opacity:1}25%{opacity:.5}50%{opacity:0}75%{opacity:.5}100%{opacity:1}}.common-loading,.common-loading-container{height:30px;position:relative;width:30px;border-radius:100%}.common-loading-container{display:table;height:100%;margin:0 auto}.common-loading-container>div{display:table-cell;vertical-align:middle;position:relative}.common-loading{border:1px solid transparent;border-color:transparent #000;-moz-animation:common-rotate-loading 1.5s linear 0s infinite normal;-moz-transform-origin:50% 50%;-o-animation:common-rotate-loading 1.5s linear 0s infinite normal;-o-transform-origin:50% 50%;-webkit-animation:common-rotate-loading 1.5s linear 0s infinite normal;-webkit-transform-origin:50% 50%;animation:common-rotate-loading 1.5s linear 0s infinite normal;transform-origin:50% 50%}.common-loading-container .common-loading,.common-loading-container:hover .common-loading{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.common-loading-text{-moz-animation:common-loading-text-opacity 2s linear 0s infinite normal;-o-animation:common-loading-text-opacity 2s linear 0s infinite normal;-webkit-animation:common-loading-text-opacity 2s linear 0s infinite normal;animation:common-loading-text-opacity 2s linear 0s infinite normal;color:#000;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px;font-weight:700;opacity:0;position:absolute;text-align:center;text-transform:uppercase;top:0;width:30px}.common-loading-text img{vertical-align:middle;-moz-animation:common-rotate-loading-d 1.5s linear 0s infinite normal;-moz-transform-origin:50% 50%;-o-animation:common-rotate-loading-d 1.5s linear 0s infinite normal;-o-transform-origin:50% 50%;-webkit-animation:common-rotate-loading-d 1.5s linear 0s infinite normal;-webkit-transform-origin:50% 50%;animation:common-rotate-loading-d 1.5s linear 0s infinite normal;transform-origin:50% 50%}#search-body{width:980px;margin:30px auto;background-color:#fff;padding:30px}#search-body .search-input{width:100%}#search-body .search-input a{width:10%}#search-body .search-input .project-label{display:table-cell;width:10%;white-space:nowrap;padding:0 5px 0 0;margin:0;height:100%;vertical-align:middle;border:1px solid rgba(0,0,0,.15);border-right:0;border-top-left-radius:.3125em;border-bottom-left-radius:.3125em;color:#999}#search-body .search-input .project-label img{position:absolute;top:6px;left:6px}#search-body .search-input .project-label span{padding-left:46px}#search-body .search-input .project-label~input{border-top-left-radius:0;border-bottom-left-radius:0}#search-body .search-tab{padding-top:20px}#search-body .search-tab .item-num{background-color:#e9e9e9;padding:0 10px;border-radius:10px;font-weight:200}#search-body .search-tab .project-search .project,#search-body .search-tab .project-search .tweet{display:none}#search-body .search-content{padding:30px 10px}#search-body .search-content>.result{margin-bottom:15px}#search-body .search-content .attachment .uploader{position:relative;line-height:45px;padding-left:45px;width:150px}#search-body .search-content .attachment .uploader img{position:absolute;left:0;top:17px}#search-body .search-content .attachment .filename{width:500px;display:inline-block;line-height:45px;cursor:pointer}#search-body .search-content .attachment .filename em{color:#D04D4D;font-style:normal}#search-body .search-content .tag{background-color:#e9e9e9;padding:3px 10px;border-radius:5px;font-weight:200;margin-right:5px}#search-body .search-item{padding:15px 0;border-bottom:1px solid #DCDDDE;position:relative}#search-body .thumb{float:left}#search-body .thumb img{width:48px;border-radius:3px}#search-body .thumb-avatar{float:left}#search-body .thumb-avatar img{width:48px;border-radius:48px}#search-body .info{padding-left:70px;padding-right:120px}#search-body .info>div{margin-bottom:7px}#search-body .info>div:last-child{margin-bottom:0}#search-body .info em{color:#D04D4D;font-style:normal}#search-body .info .name{line-height:25px;height:25px;color:#333;font-size:14px}#search-body .info .name a{font-size:16px}#search-body .info .description{line-height:1.4em;font-size:.9em;color:#333;min-height:20px}#search-body .info .when{font-size:14px}#search-body .info .when span{margin-right:4px;color:#999}#search-body .info .when span .light{color:#999}#search-body .info .when .avatar img{width:20px;border-radius:10px;vertical-align:-4px}#search-body .info .when2{line-height:24px;font-size:14px}#search-body .info .when2 .light{color:#999}#search-body .info .pull-request .pr-action{margin-bottom:0}#search-body .info .merge-status{color:#fff;font-size:12px!important;border-radius:3px;padding:5px}#search-body .info .merge-status.accepted{background-color:#D19D6B}#search-body .info .merge-status.canmerge{background-color:#78B98E}#search-body .info .merge-status.cannotmerge{background-color:#A78CD3}#search-body .info .merge-status.refused{background-color:#D97577}#search-body .info .merge-status.cancel{background-color:#BBB}#search-body .info .merge-status.granted{background-color:#32BE77}#search-body .stat{position:absolute;top:0;right:0;margin-top:20px;color:#333}#search-body .stat span{margin-right:10px}#search-body .down.center.more{margin-top:20px;padding:10px;font-size:14px}#search-body .center.empty.list{margin-top:20px}#search-body .search-controllers{position:relative;padding:0}#search-body .search-controllers>.result{margin-bottom:15px;float:left;word-break:break-word}#search-body .search-controllers>.result>a.commit-id{color:#445055}#search-body .search-controllers>.result>a.commit-id:hover{text-decoration:underline}#search-body .search-controllers .comming-soon{background-color:#efefef;padding:20px;border-radius:3px;font-size:14px}#search-body .search-controllers>.filters{margin:0 0 15px 20px;float:right}#search-body .search-controllers>.filters .task-urgency-wrapper{position:relative!important;display:inline-block;width:1.5em}#search-body .search-controllers>.filters .task-urgency-wrapper i.icon{margin:0}#search-body .search-controllers>.filters div.input{display:block;padding:.3em;background-color:rgba(0,0,0,.05)}#search-body .search-controllers>.filters div.input i.search.icon{padding-top:11px}#search-body .search-controllers>.filters .ui.dropdown .menu input[type=text]{min-width:205px}#search-body .search-controllers>.filters .ui.dropdown .menu .members-outer .item{padding:.5em 2em .5em 1em!important}#search-body .search-controllers>.clear{clear:both}#search-body .search-controllers .members-outer{max-height:200px;height:auto!important;height:200px;overflow-y:auto}#search-body .code .title{display:flex;display:-webkit-flex;font-size:12px}#search-body .code .title .path{font-weight:700;line-height:1.2;max-width:720px}#search-body .code .title .path coding-highlight{font-style:normal;font-weight:700;background-color:#f8e71c;border-radius:3px}#search-body .code .content coding-highlight{padding:2px;margin:0 -2px;font-style:normal;font-weight:700;color:#333;background-color:#f8e71c;border-radius:3px}#search-body .code .content .result{border:1px solid #ccc;border-radius:3px;margin-top:10px}#search-body .code .content .result table{width:100%;tab-size:8;border-spacing:0;border-collapse:collapse;box-sizing:border-box}#search-body .code .content .result table tr{margin:0;padding:0;vertical-align:top}#search-body .code .content .result table td{padding:0}#search-body .code .content .result table .divider .num{height:18px;padding:0 10px;line-height:18px;background-color:#f0f5fa}#search-body .code .content .result table .divider .num:hover{cursor:pointer;color:#fff;background-color:#3b60b1}#search-body .code .content .result table .divider .line{padding-top:0;padding-bottom:0;cursor:default;background-color:#f8fafd}#search-body .code .content .result table .num{width:1%;padding:0;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace!important;font-size:12px;line-height:18px;color:rgba(0,0,0,.3);text-align:right;white-space:nowrap;vertical-align:top;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:solid #eee;border-width:0 1px 0 0}#search-body .code .content .result table .num a{padding:0 10px;color:inherit}#search-body .code .content .result table .num a:hover{color:#4078c0;text-decoration:underline}#search-body .code .content .result table .num a:before{content:attr(line-data)}#search-body .code .content .result table .line{white-space:pre-wrap;overflow:visible;font-family:Consolas,Menlo,"Liberation Mono",Courier,monospace!important;font-size:12px;color:#333;word-wrap:normal;position:relative;padding-right:10px;padding-left:10px;vertical-align:top;word-break:break-word}@media only screen and (max-width:1600px){#about_us,#footer .footer,#help,#join_us,#projects_index{width:980px;margin:0 auto}}@media only screen and (max-width:2560px) and (min-width:1601px){#about_us,#footer .footer,#help,#join_us,#projects_index{width:1200px;margin:0 auto}}@keyframes qrAni{0%{background:#ccc}100%{background:#FFF}}#footer{border-top:1px solid rgba(0,0,0,.1);padding:20px 150px;background:#FFF}#footer .footer{margin:0 auto}#footer .footer .us{font-size:13px;color:#999;display:inline-block}#footer .footer .us ul{list-style:none;margin:0;padding:0}#footer .footer .us ul li{display:inline-block;margin-right:15px}#footer .footer .us ul li a{color:#999;text-decoration:none}#footer .footer .share{float:right;vertical-align:top;display:inline-block}#footer .footer .share .share-img{opacity:.5;cursor:pointer}#footer .footer .share .share-img:hover{opacity:1}#footer .footer .share .weixin{position:relative;display:inline-block}#footer .footer .share .weixin:hover .dropdown{opacity:1;z-index:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}#footer .footer .share .weixin .dropdown{position:absolute;top:-226px;left:-92px;z-index:-1;border:1px solid #DDD;background:#FFF;border-radius:3px;opacity:0;-webkit-transition:all ease-in-out .3s;-moz-transition:all ease-in-out .3s;-ms-transition:all ease-in-out .3s;-o-transition:all ease-in-out .3s;transition:all ease-in-out .3s;-webkit-transform:translateY(-20px);-moz-transform:translateY(-20px);-ms-transform:translateY(-20px);-o-transform:translateY(-20px);transform:translateY(-20px)}#footer .footer .share .weixin .dropdown:after{content:'';bottom:-5px;right:102px;top:auto;left:auto;position:absolute;width:.6em;height:.6em;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #DDD;border-bottom:1px solid #DDD}#projects_index{background:#fff;margin-top:20px;border-radius:3px}#projects_index>.list{padding:40px;min-height:300px}#projects_index>.list ul{padding:0;margin:0;list-style:none}#projects_index>.list ul li{display:inline-block;width:44.5%;padding-right:5%;margin-bottom:30px}#projects_index>.list .project{position:relative}#projects_index>.list .project .thumb{position:absolute;left:0;top:0}#projects_index>.list .project .thumb img{width:48px;border-radius:3px}#projects_index>.list .project .info{padding-left:60px}#projects_index>.list .project .info div{margin-bottom:3px}#projects_index>.list .project .info .description,#projects_index>.list .project .info .name,#projects_index>.list .project .info .stat,#projects_index>.list .project .info .when{line-height:25px;color:#333;font-size:14px}#projects_index>.list .project .info .name a{font-size:18px;font-weight:700}#projects_index>.list .project .info .description{text-overflow:ellipsis;vertical-align:top;white-space:nowrap;overflow:hidden}#projects_index>.list .project .info .when{font-size:12px}#projects_index>.list .project .info .when span{margin-right:4px}#projects_index>.list .project .info .when span.avatar img{width:20px;border-radius:10px;vertical-align:-4px}#projects_index>.list .project .info .when span.time,#projects_index>.list .project .info .when span.username{color:#777}#projects_index>.list .project .info .stat span{font-size:15px;display:inline-block;width:70px}#projects_index .more{cursor:pointer;height:auto}#about_us{background:#FFF;margin-top:30px;margin-bottom:30px}#about_us .content{padding:50px}#about_us .content section{margin:0 30px 30px}#about_us .content section .title{font-size:24px;font-weight:500;color:#000;border-bottom:1px solid #EEE;padding-bottom:10px;margin-left:30px}#about_us .content section.intro p{font-size:16px;line-height:35px;color:#333;margin-top:0;margin-bottom:30px;text-indent:30px}#about_us .content section.contact .link,#about_us .content section.contact .qrcode{display:inline-block}#about_us .content section.contact .link{padding:10px 0}#about_us .content section.contact .link p{font-size:16px;color:#000;margin:8px 0;padding:5px 0;text-indent:30px}#about_us .content section.contact .link p a{text-decoration:none;color:#000}#about_us .content section.contact .qrcode{float:right;padding:30px 100px;text-align:center}#about_us .content section.contact .qrcode img{width:140px;padding:5px}#about_us .content section.contact .qrcode p{font-size:13px;margin-top:0}#about_us .content section.icons div.items{padding-left:30px;position:relative}#about_us .content section.icons div.items .thumb-box img.thumb{height:100px;float:left;margin:10px;cursor:pointer}#about_us .content section.icons div.items .thumb-box .ui.popup.box.show.logo{max-width:inherit;right:inherit;left:250px;top:-100px;padding:1em}#about_us .content section.icons div.items .thumb-box .ui.popup.box.show.logo img{height:300px}#about_us .content section.icons div.items p.dlink{line-height:120px;text-align:right;border-bottom:1px solid #EEE;padding-bottom:1em}#about_us .content section.icons div.items p.dlink span{display:inline-block;margin-left:20px}#about_us .content section.icons div.items p.dlink span a{color:#333;font-size:13px}#join_us{width:980px}#join_us .hide{display:none}#join_us .content .title{text-align:center;font-size:44px;font-family:"Avenir Next","Myriad Pro","Helvetica Neue",Helvetica,"Segoe UI",Arial,sans-serif;line-height:60px;font-weight:bolder;margin-top:66px;margin-bottom:10px;color:#333;text-shadow:0 2px 2px rgba(0,0,0,.1)}#join_us .content section{padding:5px;display:table;width:100%}#join_us .content section .describtion>p{font-size:13px;line-height:15px;color:#999;text-align:center}#join_us .content section .coding-emoji{display:table-cell;width:119px;height:83px;float:right;z-index:1;margin-right:50px;margin-top:-20px;margin-bottom:-21px}#join_us .content section .detail{background:#FFF;display:table;box-shadow:0 1px 3px rgba(0,0,0,.2);border-radius:4px}#join_us .content section .introduction{display:table-row;padding:15px}#join_us .content section .introduction .coding-office{margin-left:50px;margin-top:80px;border-style:groove;border-width:thin;border-color:rgba(255,255,255,.2);padding:8px;display:table-cell;width:360px;height:290px;float:left}#join_us .content section .introduction>p{margin:66.5px 50px 36.5px 34px;display:table-cell;max-width:468px;font-size:13px;line-height:40px;color:#676767;float:left}#join_us .content section .introduction>p .author{color:#333}#join_us .content section .invite{display:table-row}#join_us .content section .invite .invite-title{margin:0 50px;border-top-width:1px;border-top-style:groove;border-color:rgba(255,255,255,.2);padding-top:44.5px;padding-bottom:19.5px;font-size:24px;line-height:33px;color:#323232}#join_us .content section .invite .last-line{margin-bottom:80px}#join_us .content section .invite>p{font-size:16px;line-height:20px;text-align:center;color:#999}#join_us .content section .pink{color:#F75288}#join_us .content section .hiring-title{font-size:32px;line-height:45px;font-weight:bolder;color:#333;margin-left:422px;margin-top:70px;margin-bottom:40px;text-shadow:0 2px 2px rgba(0,0,0,.1)}#join_us .content section #job-locations{margin-left:285px;display:table;margin-bottom:30px;text-align:center}#join_us .content section #job-locations .hiring-locations-label{width:133px;height:44px;display:table-cell;vertical-align:middle;border-top:groove;border-right:groove;border-bottom:groove;border-width:1px;border-color:rgba(247,82,136,.3)}#join_us .content section #job-locations .hiring-locations-label:hover{background:#FFF}#join_us .content section #job-locations .hiring-locations-label.selected{background:#f75288}#join_us .content section #job-locations .hiring-locations-label.selected>label{color:#FFF}#join_us .content section #job-locations .hiring-locations-label.selected:hover{background:#f75288}#join_us .content section #job-locations .hiring-locations-label>label{margin-left:-5px;font-size:15.7px;line-height:22px;text-align:center;color:rgba(247,82,136,.5)}#join_us .content section #job-locations .hiring-locations-label:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px;border:groove;border-width:1px;border-color:rgba(247,82,136,.3)}#join_us .content section #job-locations .hiring-locations-label:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;border-top:groove;border-right:groove;border-bottom:groove;border-width:1px;border-color:rgba(247,82,136,.3)}#join_us .content section .job-area{display:table;box-shadow:0 1px 3px rgba(0,0,0,.2);border-radius:4px;background:#F5F5F5;margin-bottom:60px}#join_us .content section #job-kinds{float:left;width:200px}#join_us .content section #job-kinds .job-kinds-label{border-top:groove;border-width:thin;border-color:rgba(255,255,255,.2);float:left;padding:19px 90px 19px 30px;font-size:16px;line-height:22px;color:#666}#join_us .content section #job-kinds .job-kinds-label:hover{background:#F9F9F9}#join_us .content section #job-kinds .job-kinds-label.selected{background:#FFF;box-shadow:none}#join_us .content section #job-kinds .job-kinds-label.selected:hover{background:#FFF}#join_us .content section #job-kinds .job-kinds-label:first-child{border-top:none;border-top-left-radius:4px}#join_us .content section #job-kinds .job-kinds-label:last-child{border-bottom:groove;border-width:thin;border-color:rgba(255,255,255,.2)}#join_us .content section #job-content{border-top-right-radius:4px;border-bottom-right-radius:4px;z-index:-1;background:#FFF;padding:44px 60px 20px;margin-left:200px;width:660px}#join_us .content section #job-content .job-title{padding:20px 0;border-width:1px;border-top-style:groove;border-bottom-style:groove;border-color:rgba(255,255,255,.2)}#join_us .content section #job-content .job-title-name{font-size:22px;line-height:30px;color:#333}#join_us .content section #job-content .job-title-salary{padding-left:30px;font-size:13px;line-height:18px;color:#333}#join_us .content section #job-content .job-describtion{font-size:14px;line-height:24px;color:#666;padding-top:4px}#join_us .content section #job-content .hr-email{font-size:14px;line-height:20px;color:rgba(52,52,52,.8);margin-bottom:30px}.bubble-item{margin:30px 0;position:relative}.bubble-item>a.avatar{position:relative;float:left}.bubble-item>.bubble-content-wrapper{margin-left:56px}.bubble-content-wrapper{min-height:42px;background:#FFF;position:relative;box-shadow:1px 1px 0 0 #EEE;border-radius:3px;border:1px solid #EEE}.bubble-content-wrapper .bubble-detail{padding:10px}.bubble-content-wrapper .bubble-detail>.content{margin-bottom:10px;padding:5px}.bubble-content-wrapper .bubble-detail>.content img.bubble-markdown-image{display:block}.bubble-content-wrapper .bubble-detail>.location{margin-bottom:10px;font-size:12px;color:#666;max-width:100%;background:#f3f3f3;padding:2px 4px 2px 2px;display:inline-block;border-radius:3px}.bubble-content-wrapper .bubble-detail>.location .icon{margin:0}.bubble-content-wrapper .bubble-detail .user_rewarded{box-shadow:0 0 3px 1px #F5A623;margin-right:2px}.bubble-content-wrapper .bubble-detail .icon_rewarded{color:#F6B439}.bubble-content-wrapper .bubble-detail>.info{font-size:12px;color:#666;position:relative;line-height:14px}.bubble-content-wrapper .bubble-detail>.info .mabi{display:inline}.bubble-content-wrapper .bubble-detail>.info .tip_rewarded{position:absolute;top:-3px;margin-left:.6em;font-size:12px;padding:1px 3px;border:1px solid #E8E8E8;background-color:#fff}.bubble-content-wrapper .bubble-detail>.info .tip_rewarded:before{border:solid #E8E8E8;border-width:0 0 1px 1px;height:.5em;left:-1px;top:9px;background-color:#fff}.bubble-content-wrapper .bubble-detail>.info .mr10{margin-right:10px}.bubble-content-wrapper .bubble-detail>.info .mr10 i.icon{margin:0}.bubble-content-wrapper .bubble-detail>.info span.remove{display:none}.bubble-content-wrapper .bubble-detail>.info span.device{float:right;color:#999}.bubble-content-wrapper .bubble-detail>.info span.device i.icon{-webkit-transform:scale(1.5);-moz-transform:scale(1.5);-ms-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);margin-right:0}.bubble-content-wrapper .bubble-detail>.likes{padding:5px 0 0}.bubble-content-wrapper .bubble-detail>.likes>a{display:inline-block;margin:0 3px 3px 0}.bubble-content-wrapper .bubble-detail:hover>.info span.remove{display:inline}.bubble-content-wrapper .bubble-comments{position:relative;padding:10px 20px;background-color:#FDFCFA;border-top:1px solid #EEE}.bubble-content-wrapper .bubble-comments.none{display:none}.bubble-content-wrapper .bubble-comments>.comment-item.last,.bubble-content-wrapper .bubble-comments>.comment-item:last-child{border-bottom:0}.bubble-content-wrapper .bubble-comments>.comment-item{position:relative;padding:5px 0;border-bottom:1px solid #EEE}.bubble-content-wrapper .bubble-comments>.comment-item>a.avatar{float:left;margin-top:4px;display:inline-block}.bubble-content-wrapper .bubble-comments>.comment-item>a.avatar img{margin:0;padding:0}.bubble-content-wrapper .bubble-comments>.comment-item>.detail{font-size:12px;line-height:22px;word-break:break-all;word-wrap:break-word;margin-left:40px;min-height:32px}.bubble-content-wrapper .bubble-comments>.comment-item>.detail .info{font-size:10px;color:#666}.bubble-content-wrapper .bubble-comments>.comment-item>.detail .info .mr10{margin-right:10px}.bubble-content-wrapper .bubble-comments>.comment-item>.detail .info .mr10 i.icon{margin:0}.bubble-content-wrapper .bubble-comments>.comment-item>.detail .info .action{display:none}.bubble-content-wrapper .bubble-comments>.comment-item:hover>.detail .info .action{display:inline}.bubble-content-wrapper .bubble-comments>.show-more-comment{font-size:12px;padding:10px;text-align:center}.bubble-content-wrapper .bubble-comments>.show-more-comment a{font-size:12px}.bubble-content-wrapper form.bubble-form{border-top:1px solid #EEE}.bubble-content-wrapper form.bubble-form div.ui.large.icon.input{position:relative!important}.bubble-content-wrapper form.bubble-form i{position:absolute!important;top:auto!important;bottom:0!important;width:2.6em!important;height:2.6em!important}.bubble-content-wrapper form.bubble-form textarea{padding:1em;overflow:hidden;border:0!important;font-size:13px!important;line-height:18px;border-radius:0!important;min-height:0!important;height:3em;resize:none;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease}.bubble-content-wrapper form.bubble-form textarea~i.right.icon{cursor:pointer}.bubble-content-wrapper form.bubble-form textarea:focus{color:rgba(0,0,0,.85);border-color:rgba(0,0,0,.2);border-bottom-left-radius:0;border-top-left-radius:0;-webkit-appearance:none;-webkit-box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset;box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset}.bubble-content-wrapper.arrow:before{margin-top:-11px;bottom:auto;right:auto;top:28px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.account-background.random-background.ui.dimmable{position:static}.account-background.random-background>.menu input.search{border-color:transparent;background:rgba(255,255,255,.5)}.account-background.random-background>.menu input.search:-moz-placeholder{color:#807677}.account-background.random-background>.menu input.search:focus{background:#fff}.account-background.random-background .cg.flash{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.account-background.random-background:before{content:'';width:100%;height:100%;position:absolute;left:0;top:0;background:rgba(0,0,0,.5)}.account-background.random-background .account-box{width:380px;padding:50px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;background:rgba(255,255,255,.6);position:absolute;left:50%;margin-left:-240px;top:50%}.account-background.random-background .account-box h2{text-align:center;font-size:25px;font-weight:400;padding:0;margin:0 0 20px;height:40px;width:100%;display:inline-block;line-height:40px}.account-background.random-background .account-box .ui.form .field{height:46px;margin:0 0 20px;position:relative}.account-background.random-background .account-box .ui.form .field.words{height:auto}.account-background.random-background .account-box .ui.form .field input{background:rgba(255,255,255,.5);border:none}.account-background.random-background .account-box .ui.form .field .captcha.input,.account-background.random-background .account-box .ui.form .field .captcha.input input[name=captcha]{width:250px}.account-background.random-background .account-box img.captcha{height:45px;width:auto;cursor:pointer;position:absolute;right:0;top:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.account-background.random-background .account-box .activate{margin-top:20px;text-align:center}.account-background.random-background .account-box .activate .oauth-binding-button{background:none!important;border:1px solid #FFF;height:38px;font-weight:400;color:#FFF!important}.account-background.random-background .account-box .activate .oauth-binding-button:hover{background:#FFF!important;color:#000!important}.account-background.random-background .account-box .arrow_box{position:relative;background:#d50000}.account-background.random-background .account-box .arrow_box:after{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(213,0,0,0);border-right-color:#D95C5C;border-width:5px;margin-top:-5px}.account-background.random-background .account-box .ui.red.horizontal.label{background:#D95C5C;left:387px;top:-33px;min-width:126px}.account-background.random-background .account-box ul.third-party-login{list-style:none;display:inline-block;margin:0;padding:0;position:absolute;right:10px;bottom:10px}.account-background.random-background .account-box ul.third-party-login li{float:left}.account-background.random-background .account-box ul.third-party-login li a{display:inline-block;height:32px;width:32px}.account-background.random-background .account-box ul.third-party-login li a.github{background:url(/static/c5e7d0a61689238571befe5131ef91e2.png) 0 0/32px 32px no-repeat;opacity:.7}.account-background.random-background .account-box ul.third-party-login li a.github:hover{background:url(/static/ba6b317bc9af471bfd93cd2f7cca7713.png) 0 0/32px 32px no-repeat}.account-background.random-background .account-box #phone-icon{position:absolute;bottom:13px;right:50px;width:32px;height:32px;border-radius:32px;cursor:pointer;background-color:#606060}.account-background.random-background .account-box #phone-icon:hover{background-color:#76A2C1!important}.account-background.random-background .account-box #phone-icon.green{background-color:#32be77}.account-background.random-background .account-box #phone-icon i{padding-right:7px;padding-top:1px;font-size:32px;color:#fff}.account-background.random-background .account-box .phone-input input{padding-right:120px!important}.account-background.random-background .account-box .phone-input .button{position:absolute;top:11px;right:12px;border-radius:12px;height:24px;line-height:24px;width:98px;font-size:12px}.account-background.random-background .account-box.login{height:260px;margin-top:-150px}.account-background.random-background .account-box.login .oauth-info{display:none}.account-background.random-background .account-box.login.with-captcha{height:320px;margin-top:-180px}.account-background.random-background .account-box.login.with-captcha.oauth{height:410px;margin-top:-225px}.account-background.random-background .account-box.login.oauth{height:350px;margin-top:-195px}.account-background.random-background .account-box.login.oauth .oauth-info{height:120px;text-align:center;display:block}.account-background.random-background .account-box.login.oauth .oauth-info .oauth-email{height:30px;max-width:300px;overflow:hidden;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px;background:#404040;position:relative;line-height:30px;margin:auto;padding:0 16px 0 50px;display:inline-block;color:#FFF}.account-background.random-background .account-box.login.oauth .oauth-info .oauth-email.github:before{font-family:Icons;content:'\f09b';position:absolute;left:12px;top:0;font-size:30px}.account-background.random-background .account-box.login.oauth .oauth-info .oauth-link{width:100%;background:rgba(255,255,255,.5);height:1px;margin:34px 0;position:absolute;left:0}.account-background.random-background .account-box.login.oauth .oauth-info .oauth-link span{position:absolute;display:inline-block;width:38px;height:38px;border-radius:38px;background:#404040;color:#FFF;text-align:center;line-height:38px;top:-19px;left:50%;margin-left:-19px}.account-background.random-background .account-box.login.oauth .oauth-info .oauth-link span i.icon{margin:0}.account-background.random-background .account-box.login a.forget-password{float:right}.account-background.random-background .account-box.register{height:278px;margin-top:-159px}.account-background.random-background .account-box.register p.invite-words,.account-background.random-background .account-box.register p.oauth-words{text-align:center;font-size:16px;color:#000;line-height:28px;margin:0 0 20px}.account-background.random-background .account-box.register.phone{height:398px;margin-top:-219px}.account-background.random-background .account-box.register.with-captcha{height:338px;margin-top:-189px}.account-background.random-background .account-box.register.with-captcha.phone{height:458px;margin-top:-269px}.account-background.random-background .account-box.register.oauth{height:318px;margin-top:-179px}.account-background.random-background .account-box.register.oauth.with-captcha{height:378px;margin-top:-209px}.account-background.random-background .account-box.register .field{position:relative}.account-background.random-background .account-box.register .field.global-key input{padding-left:180px!important}.account-background.random-background .account-box.reactivate{height:140px;margin-top:-90px}.account-background.random-background .account-box.reactivate.email{height:200px;margin-top:-120px}.account-background.random-background .account-box.reactivate.phone{height:400px;margin-top:-220px}.account-background.random-background .account-box.confirm,.account-background.random-background .account-box.confirm.phone{height:280px;margin-top:-160px}.account-background.random-background .account-box.confirm.email{height:140px;margin-top:-110px}.account-background.random-background .account-box.reset{height:140px;margin-top:-90px}.account-background.random-background .account-box.reset.email{height:200px;margin-top:-120px}.account-background.random-background .account-box.reset.phone{height:400px;margin-top:-220px}.account-background.random-background .account-about{position:absolute;left:30px;bottom:25px}.account-background.random-background .account-about a,.account-background.random-background .account-about span{font-size:12px;color:rgba(255,255,255,.5);margin-right:15px}.account-flex-container{display:flex;align-items:center;position:absolute;top:0;height:100%;width:100%}.account-container{position:relative;z-index:1001;width:400px;margin-left:auto;margin-right:auto;padding:30px 40px 40px;border-radius:10px;background-color:#fff}.account-container h2{margin:0 0 25px;font-size:25px;font-weight:400;text-align:center;color:#323a45}.account-container .account-input{position:relative;height:68px}.account-container .account-input input{height:48px;width:370px;padding-left:15px;padding-right:15px;margin-bottom:15px;font-size:16px;border:1px solid rgba(50,58,69,.2);border-radius:5px}.account-container .account-input input[disabled=true],.account-container .account-input input[disabled]{opacity:.5!important}.account-container .account-input input:focus{outline:0;border-color:#499dd6}.account-container .account-input span.error{display:none}.account-container .account-input.twofa{height:auto!important}.account-container .account-input .twofa-outer{border:1px solid rgba(50,58,69,.2);border-radius:5px;position:relative;width:396px;height:58px;margin:auto auto 16px}.account-container .account-input .twofa-outer .twofa-cursor,.account-container .account-input .twofa-outer .twofa-inner{float:left;display:inline-block;box-sizing:border-box}.account-container .account-input .twofa-outer .twofa-inner{width:66px;outline:0;height:28px;line-height:28px;font-size:28px;text-align:center;margin:15px 0;border-left:1px solid rgba(50,58,69,.2)}.account-container .account-input .twofa-outer .twofa-cursor{width:67px;position:absolute;left:0;top:0;height:58px;border-radius:5px;border:1px solid rgba(73,157,214,.8);box-shadow:0 0 8px rgba(73,157,214,.5),inset 0 1px 2px rgba(51,58,68,.5);transition:left .1s linear}.account-container .account-input .twofa-outer .twofa-inner:first-child{border-left:none}.account-container .account-input .twofa-outer .twofa-input{position:absolute;top:0;left:0;opacity:0;width:98%;height:58px;margin:0;padding:0 0 0 32px;box-sizing:border-box;cursor:default;font-family:Menlo;font-size:16px;-webkit-tap-highlight-color:transparent;letter-spacing:56.5px}.account-container .account-input.dirty input.error{border-color:#d95c5c}.account-container .account-input.dirty span.error{display:inline;position:relative;left:410px;top:-51px;padding:7px 10px;background-color:#d95c5c;color:#fff;border-radius:4px;font-size:14px;min-width:126px;white-space:nowrap}.account-container .account-input.dirty span.error:before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(213,0,0,0);border-right-color:#d95c5c;border-width:5px;margin-top:-5px}.account-container .account-input.captcha input{width:275px;padding-right:110px}.account-container .account-input.captcha img{position:absolute;right:4px;top:6px;height:40px;width:95px;cursor:pointer}.account-container .account-input.phone-code input{margin-right:140px;width:260px}.account-container .account-input.phone-code a{position:absolute;top:0;right:0;display:inline-block;height:30px;width:100px;line-height:30px;border-radius:15px;color:#000;background-color:#fff;border:1px solid rgba(50,58,69,.2);font-size:14px;margin-top:11px;white-space:nowrap;text-align:center;vertical-align:middle;cursor:pointer}.account-container .account-input.phone-code a:hover{opacity:.8}.account-container .account-input.phone-code a:active{opacity:.5}.account-container .account-input.phone-code a[disabled=true],.account-container .account-input.phone-code a[disabled]{opacity:.5!important;cursor:not-allowed!important}.account-container .account-input.phone-input{display:flex;display:-webkit-flex}.account-container .account-input.phone-input.dirty .error{border-color:#d95c5c!important}.account-container .account-input.phone-input .countries-selector{width:50px;height:50px;border:1px solid rgba(50,58,69,.2);border-bottom-left-radius:5px;border-top-left-radius:5px;border-right:none;display:flex;display:-webkit-flex}.account-container .account-input.phone-input .countries-selector:hover{cursor:pointer}.account-container .account-input.phone-input .countries-selector i{margin-right:0;line-height:50px;height:50px}.account-container .account-input.phone-input .countries-selector i.flag{margin-left:8px}.account-container .account-input.phone-input .countries-selector .select2-container{width:0!important;height:50px!important;overflow:hidden}.account-container .account-input.phone-input .current-country-code{height:50px;line-height:50px;border-top:1px solid rgba(50,58,69,.2);border-bottom:1px solid rgba(50,58,69,.2);width:50px;padding-left:8px}.account-container .account-input.phone-input input{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;width:270px}.account-container .account-input.phone-input input:focus .countries-selector{border:#ff0!important}.account-container .account-input.phone-input span.error{position:absolute;top:10px;min-width:auto;width:85px}.account-container button{width:400px;height:48px;border:none;background-color:#323a45;color:#fff;font-size:24px;border-radius:24px;cursor:pointer;transition:opacity .2s ease}.account-container button:focus{outline:0}.account-container button:hover{opacity:.9}.account-container button:active{opacity:.8}.account-container button[disabled=true],.account-container button[disabled]{opacity:.5!important;cursor:not-allowed!important}.account-container button.loading{color:transparent}.account-container button.loading:before{content:"\f110";font-family:Icons;color:#fff;font-size:25px;position:absolute;margin-top:2px;margin-left:183px;display:flex;-webkit-animation:icon-loading 2s linear infinite;-moz-animation:icon-loading 2s linear infinite;-ms-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}.account-container .ui.checkbox{margin-left:1px;margin-bottom:10px}.account-container .ui.checkbox label{padding-left:25px}.account-container a{color:rgba(0,0,0,.6);transition:color .2s ease}.account-container a:hover{color:rgba(0,0,0,.8)}.account-container div.bottom-link{margin-top:15px;text-align:center}.countries-selector-select2{width:260px!important}@media only screen and (max-width:1600px){#search_tags{width:980px;margin:0 auto}}@media only screen and (max-width:2560px) and (min-width:1601px){#search_tags{width:1200px;margin:0 auto}}#search_tags{background:#fff;margin-top:35px;padding-top:40px;margin-bottom:100px}#search_tags .my_tag,#search_tags .selected_tag,#search_tags .tag,#search_tags .tag_model{font-size:16px;display:inline-block;padding:5px 10px 6px;color:#666;opacity:.8;border-radius:4px;margin:0 8px 8px 0;line-height:18px}#search_tags .tag{background:#f0f0f0}#search_tags .tag a{color:#666}#search_tags .my_tag{background:#d8d8d8}#search_tags .my_tag a{color:#666}#search_tags .selected_tag{background:rgba(50,190,119,.8)}#search_tags .selected_tag a{color:#fff}#search_tags .content{margin-left:40px;margin-right:40px;padding-bottom:30px}#search_tags .content .tag_content .header{font-size:18px;color:#333}#search_tags .content .tag_content .header .divider{margin-bottom:10px}#search_tags .content .right_tip{float:right;font-size:12px;margin-right:12px}#search_tags .content .result_content{margin-top:40px;margin-bottom:30px}#search_tags .content .result_content .header{display:inline-block}#search_tags .content .result_content .divider{margin-bottom:0}#search_tags .content .result_content .result_user{min-height:60px;border-bottom:1px solid;border-color:#f2f2f2;padding-bottom:20px;padding-top:20px}#search_tags .content .result_content .result_user .avatar{float:left}#search_tags .content .result_content .result_user .my_tag,#search_tags .content .result_content .result_user .selected_tag,#search_tags .content .result_content .result_user .tag{font-size:14px;padding:3px 10px 4px;line-height:16px;margin:0 4px 4px 0}#search_tags .content .result_content .result_user .info{font-size:14px;float:left;margin-left:14px;margin-top:6px}#search_tags .content .result_content .result_user .info .join-in-at{color:#999;font-size:12px}#search_tags .content .result_content .result_user .user_tag{margin-top:38px;margin-left:80px;max-width:750px}#search_tags .content .result_content .target_tag{font-size:18px;color:#32bc77}#project-create-form{max-width:800px;min-width:700px;-webkit-box-shadow:none;box-shadow:none;padding:1.5em;margin-bottom:30px}#project-create-form .senior-title{position:relative}#project-create-form .senior-title>i{position:absolute;top:4px;right:0}#project-create-form .cursor-pointer:hover{cursor:pointer}#project-create-form .description{color:#666}#project-create-form h1{font-size:20px}#project-create-form h2{font-size:18px}#project-create-form .field>p{font-size:14px;line-height:24px;margin-bottom:30px}#project-create-form .senior-form .fields:not(:last-child),#project-create-form .senior-form>.field:not(:last-child){margin-bottom:30px}#project-create-form ul.versions{padding:0;margin:25px 0}#project-create-form ul.versions li{float:left;margin-right:50px;list-style:none}#project-create-form ul.versions li input{display:none}#project-create-form ul.versions li input:checked~label{border-color:#32be77}#project-create-form ul.versions li label{display:inline-block;position:relative;width:180px;height:180px;text-align:center;background:#FFF;border-radius:3px;border:2px solid #DDD;padding:20px 10px 10px;box-sizing:border-box;cursor:pointer}#project-create-form ul.versions li input:checked~label a.corner.label{display:inline-block}#project-create-form ul.versions li label a.corner.label{display:none;font-size:20px;border-color:#32be77!important}#project-create-form ul.versions li label>i.icon{font-size:50px;background-color:#536B77;opacity:1;margin-right:0}#project-create-form ul.versions li label h2{margin:10px 0;font-weight:400;font-style:normal}#project-create-form .payment-period{margin-top:20px}#project-create-form .payment-period input~label{padding-left:1.6em}#project-create-form .payment-period input~label em{color:#32be77;font-style:normal;font-weight:500;font-size:20px}#project-create-form .payment-period input~label strong{background-color:#E88964;color:#fff;border-radius:3px;padding:1px 6px;font-size:14px}#project-create-form .voucher-form p>i.triangle.icon.right,#project-create-form .voucher-form p>span{font-size:16px}#project-create-form .money{margin-bottom:30px}#project-create-form .money span:last-child{font-size:2em;color:rgba(255,0,0,.6)}#project-create-form .select-member-form>.content{padding:0;border:1px solid #DDD;border-radius:4px;margin:30px 0 10px}#project-create-form .select-member-form .wrapper{position:relative}#project-create-form .select-member-form .search-region{width:220px;padding:20px 20px 0;border-right:1px solid #CCC}#project-create-form .select-member-form .select-region{padding:20px 0 0 20px;height:300px}#project-create-form .select-member-form table{border-collapse:collapse}#project-create-form .select-member-form tr.selected-region{border-top:1px solid #ccc}#project-create-form .select-member-form td.selected-region{padding:15px 10px 0 20px}#project-create-form .select-member-form td.selected-region .label i.remove.icon{cursor:pointer}#project-create-form .select-member-form .member-folder{margin:15px 0 0;height:220px;overflow-y:auto;overflow-x:hidden}#project-create-form .select-member-form .vertical.menu>.item{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-size:14px;height:36px!important;line-height:24px;display:block;padding:5px;margin-bottom:0}#project-create-form .select-member-form .vertical.menu>.item.active{background-color:rgba(0,0,0,.03)}#project-create-form .select-member-form .vertical.menu>.item i.icon{float:none;margin:0 .45em 0 .25em}#project-create-form .select-member-form .selected-region ul{list-style:none;margin:0;padding:0}#project-create-form .select-member-form .selected-region ul li{float:left;font-size:12px;margin-bottom:10px;text-transform:none}#project-create-form .select-member-form .selected-region ul li:first-child{font-size:14px;line-height:16px;margin-bottom:10px}#project-create-form .select-member-form .select-nothing{text-align:center}#project-create-form .select-member-form .select-nothing span.words{font-size:16px;color:#999}#project-create-form .select-member-form .select-nothing .invite-button{margin-top:20px}#project-create-form .select-member-form .select-users{height:300px;position:relative;overflow-y:auto;overflow-x:hidden}#project-create-form .select-member-form .select-users ul{list-style:none;margin:0;padding:0;position:relative}#project-create-form .select-member-form .select-users ul li{float:left;display:inline-block;width:140px;height:40px;border:1px dashed #CCC;padding:5px;position:relative;line-height:40px;font-size:14px;background:#FFF;margin:0 10px 10px 0;cursor:pointer}#project-create-form .select-member-form .select-users ul li.is-member{cursor:not-allowed}#project-create-form .select-member-form .select-users ul li img{position:absolute;left:10px;top:8px}#project-create-form .select-member-form .select-users ul li span{padding-left:50px}#project-create-form .select-member-form .select-users ul li .label{line-height:normal;font-size:12px}#project-create-form .select-member-form .actions .max-member{line-height:30px;color:#666;font-size:14px}#project-create-form .select-member-form .actions .max-member .max-member-warning{color:#A00;opacity:.8;display:block}#project-create-form .project-name{font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei;width:34.3rem;height:2.8rem;line-height:2.8rem;display:block;float:left}.team-select{float:left}.team-select .selected{font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei;width:11rem;height:2.7rem;line-height:2.7rem;border:1px solid rgba(0,0,0,.15);border-radius:.3125em;display:block;float:left;margin-right:1rem;padding-left:.5rem;cursor:pointer}.team-select .selected .selected-input{white-space:nowrap;line-height:2.8rem}.team-select .selected .dropdown-icon{position:absolute;line-height:2.8rem}.team-select .selected-avatar{display:block;float:left;margin-top:.35rem!important;margin-right:.35rem!important}.team-select .selected-text{display:block;width:7rem;overflow:hidden;text-overflow:ellipsis;float:left;margin-left:.2rem}.team-select ul{list-style:none;padding:0;margin:0}.team-select .options{border:1px solid rgba(0,0,0,.15);border-radius:.3125em!important;position:absolute!important;top:3.2rem!important;min-height:2.8rem;width:11.5rem;background:#fff}.team-select .options .option{line-height:2.8rem;display:block;height:2.8rem;width:100%;cursor:pointer}.team-select .options .option-text{display:block;width:8rem;overflow:hidden;text-overflow:ellipsis;float:left;margin-left:.2rem}.team-select .options .avatar-margin{margin-left:.5rem}.team-select .options .team-sign{color:#666;font-size:.5rem;padding-left:1rem;line-height:1rem;height:1rem}.team-select .options .option:hover{background:rgba(0,0,0,.03)}.team-select .options .option-selected{background:rgba(0,0,0,.1)}ul.project-group{padding:0;margin:0}ul.project-group,ul.project-group ul{list-style:none}ul.project-group .message-tip{right:2px}ul.project-group .item.loading{font-size:12px;height:144px;line-height:114px;text-align:center}ul.project-group .create-project{float:left;width:122px;height:122px;border:1px dashed #CCC;text-align:center;line-height:114px;display:inline-block;margin:0 0 20px;padding:0}ul.project-group .create-project .add.icon{margin:0;font-size:48px}ul.project-group a{outline:0!important}ul.project-group>li{width:122px;margin:0 15px 15px 0;padding:10px;display:inline-block;cursor:pointer;vertical-align:top;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;position:relative;z-index:1;outline:0!important}ul.project-group>li.focus,ul.project-group>li:focus,ul.project-group>li:hover{background:rgba(0,0,0,.03)}ul.project-group>li .corner.label,ul.project-group>li .triangle.icon{display:none}ul.project-group>li.group.open{z-index:2}ul.project-group>li.group.open:hover{background:#FFF}ul.project-group>li.group.open .items-wrapper{position:absolute;left:0;top:0;background:#FFF;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}ul.project-group>li.group.open .items-wrapper.left{left:0}ul.project-group>li.group.open .items-wrapper.right{left:auto;right:0}ul.project-group>li.group.open .items-wrapper.top{top:0}ul.project-group>li.group.open .items-wrapper.bottom{top:auto;bottom:0}ul.project-group>li.group.open .items-wrapper .message-tip{right:10px;top:-9px}ul.project-group>li.group.open .items-wrapper ul.items{width:345px;height:345px;padding:15px 0 0 15px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.project-group>li.group.open .items-wrapper ul.items li{text-align:center;width:100px;height:100px;margin:0 15px 15px 0;position:relative;cursor:pointer}ul.project-group>li.group.open .items-wrapper ul.items li img{width:64px;height:64px}ul.project-group>li.group.open .items-wrapper ul.items li .title{font-size:12px;color:#666;margin:5px 10px 0;-webkit-transform:scale(0.9);-moz-transform:scale(0.9);-ms-transform:scale(0.9);-o-transform:scale(0.9);transform:scale(0.9)}ul.project-group>li.group.open .items-wrapper ul.items li .corner.label{font-size:10px;right:18px;top:0}ul.project-group>li.group.open .items-wrapper>.title{margin:0 10px 15px;font-size:16px}ul.project-group>li.group.open .items-wrapper>.title span{display:inline-block;height:18px;width:100%;line-height:18px}ul.project-group>li.group.open .items-wrapper>.title .group-name-input{padding:5px;background:#FFF}ul.project-group>li.group.open .items-wrapper>.title .group-name-input.active,ul.project-group>li.group.open .items-wrapper>.title .group-name-input:hover{background:#EEE;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}ul.project-group>li.group.open .items-wrapper>.title input{border:none;font-size:16px;padding:0;margin:0;text-align:center;outline:0;line-height:18px;height:18px;width:100%;background:0 0}ul.project-group>li.group.open .items-wrapper>.title input~.loading.icon{position:absolute;bottom:1px;left:50%;margin:0 0 0 -10px}ul.project-group>li.group.open .placeholder{display:inline-block}ul.project-group>li.group.open .placeholder .items{width:114px;height:117px;padding:8px 0 0 8px}ul.project-group>li.group .placeholder{display:none}ul.project-group>li .title{text-align:center;font-size:12px;color:#666;margin:15px 10px 0;word-break:break-all;line-height:15px}ul.project-group>li .title.icon span.name:before{font-family:Icons;content:'\f07b';margin-right:.3em}ul.project-group>li ul.items li>.title.icon span.name:before,ul.project-group>li.item .title.icon span.name:before{font-family:Icons;content:'\f023'}ul.project-group>li ul.items li>.title.icon.public span.name:before,ul.project-group>li.item .title.icon.public span.name:before{display:none}ul.project-group>li ul.items{width:114px;height:114px;display:inline-block;overflow:hidden;padding:8px 0 0 8px;margin:0;background:#FFF;border:1px solid transparent;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}ul.project-group>li ul.items li{float:left;width:30px;height:30px;margin:0 8px 8px 0;display:inline-block;position:relative}ul.project-group>li ul.items li .triangle.icon{position:absolute;right:-8px;top:-6px;margin:0;padding:0;opacity:1;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}ul.project-group>li ul.items li img{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}ul.project-group>li.item .corner.label{right:8px;top:10px}ul.project-group>li img.logo{width:122px;height:122px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}ul.project-group>li .logo-wrapper{width:122px;height:122px;position:relative;display:inline-block;border:1px solid transparent}ul.project-group>li .group-logo-wrapper{display:inline-block;position:relative;width:64px;height:64px}ul.project-group>li .pin-project-cover{position:absolute;width:100%;height:100%;left:0;top:0;border-radius:3px;background:-moz-linear-gradient(top,rgba(0,0,0,.3) 0,transparent 50%,transparent 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(0,0,0,.3)),color-stop(50%,transparent),color-stop(100%,transparent));background:-webkit-linear-gradient(top,rgba(0,0,0,.3) 0,transparent 50%,transparent 100%);background:-o-linear-gradient(top,rgba(0,0,0,.3) 0,transparent 50%,transparent 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.3) 0,transparent 50%,transparent 100%);background:linear-gradient(to bottom,rgba(0,0,0,.3) 0,transparent 50%,transparent 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4d000000', endColorstr='#00000000', GradientType=0)}ul.project-group>li .pin-project-cover.in-group .pin.icon{top:4px;right:-2px;font-size:12px}ul.project-group>li .pin-project-cover.open-group .pin.icon{top:10px;right:2px;font-size:14px}ul.project-group>li .pin-project-cover:hover .pin.icon{display:inline}ul.project-group>li .pin-project-cover.active .pin.icon{display:inline;color:#ef754c}ul.project-group>li .pin-project-cover .pin.icon{position:absolute;right:2px;top:10px;opacity:1;-webkit-transform:rotate(15deg);-moz-transform:rotate(15deg);-ms-transform:rotate(15deg);-o-transform:rotate(15deg);transform:rotate(15deg);font-size:16px;color:#FFF;display:none;cursor:pointer}ul.project-group>li .pin-project-cover .pin.icon:hover{-webkit-transform:scale(1.2) rotate(15deg);-moz-transform:scale(1.2) rotate(15deg);-ms-transform:scale(1.2) rotate(15deg);-o-transform:scale(1.2) rotate(15deg);transform:scale(1.2) rotate(15deg)}ul.project-group>li .pin-project-cover .pin.icon.static:hover{-webkit-transform:rotate(15deg);-moz-transform:rotate(15deg);-ms-transform:rotate(15deg);-o-transform:rotate(15deg);transform:rotate(15deg)}ul.project-group.editable>li .message-tip,ul.project-group.editable>li .pin-project-cover{display:none}ul.project-group.editable>li .triangle.icon{display:inline}ul.project-group.editable>li .corner.label{display:block}ul.project-group.editable>li.item .corner.label{right:8px;top:10px}ul.project-group.editable>li.item .corner.label.show-on-hover{display:none}ul.project-group.editable>li.item:hover .corner.label.show-on-hover{display:block}ul.project-group.editable>li ul.items{border:1px dashed #CCC}ul.project-group.editable>li ul.items li .corner.label{right:8px;top:10px}ul.project-group.editable>li ul.items li .corner.label.show-on-hover{display:none}ul.project-group.editable>li ul.items li:hover .corner.label.show-on-hover{display:block}ul.project-group.editable>li.group.open{cursor:default}ul.project-group.editable>li.group.open ul.items{border:1px solid transparent}ul.project-group.editable>li .logo-wrapper{border:1px dashed #CCC;border-radius:3px}.projects-item-archiver{position:absolute;top:0;left:0;cursor:pointer;width:100%;height:100%}.projects-item-archiver .icon{display:none;position:relative;top:15px;left:110px;color:#fff}.projects-item-archiver:hover .icon{display:inline}.projects-item-archiver.list{font-size:13px}.projects-item-archiver.list .icon{top:-5px;left:42px}.pagedown-fullscreen .fullscreen-title{position:fixed;top:0;left:0;width:100%;height:40px;z-index:1002;margin:0!important;border-bottom:1px solid #CCC}.pagedown-fullscreen .fullscreen-title input{border:none!important;height:40px;padding-right:200px!important;box-sizing:border-box}.pagedown-fullscreen .fullscreen-title label{display:none!important}.pagedown-fullscreen .fullscreen-title-right-buttons{position:fixed;top:0;right:0;border-left:1px solid #CCC;z-index:1003;margin:0!important;padding:5px!important}.pagedown-fullscreen .fullscreen-title-right-buttons a{margin-left:5px}.pagedown-fullscreen .pagedown.wmd-panel>[id*=wmd-button-bar]{top:40px}.draft-saving-hint{position:absolute;top:45px;right:5px;background:rgba(221,221,221,.9);padding:0 5px;height:24px;line-height:24px;color:#13b04f;font-size:12px;border-radius:3px}.no-title .pagedown.wmd-panel.full-screen>[id*=wmd-button-bar]{top:0}.no-title .pagedown.wmd-panel.full-screen .pagedown-editor{padding-top:40px}.pagedown.wmd-panel{position:relative}.pagedown.wmd-panel>[id*=wmd-button-bar]{padding:10px!important;border-bottom:1px solid #CCC;position:relative;width:100%;height:40px;box-sizing:border-box;z-index:3}.pagedown.wmd-panel .wmd-button{z-index:3}.pagedown.wmd-panel .extend-wmd-button{width:20px;height:20px;padding-left:2px;padding-right:3px;position:absolute;display:inline-block;z-index:4;cursor:pointer}.pagedown.wmd-panel>.pagedown-editor{position:relative;height:500px;overflow:hidden}.pagedown.wmd-panel>.pagedown-editor .pagedown-input{outline:0;width:100%;height:100%;border:none;margin:0;font-size:14px;resize:none;max-height:none;line-height:24px}.pagedown.wmd-panel>.pagedown-editor .pagedown-preview{height:100%;width:100%;overflow:auto;position:absolute;top:0;left:100%;border-left:1px solid transparent}.pagedown.wmd-panel>.pagedown-editor .pagedown-input,.pagedown.wmd-panel>.pagedown-editor .pagedown-preview{padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .4s ease,left .4s ease;-moz-transition:width .4s ease,left .4s ease;-ms-transition:width .4s ease,left .4s ease;-o-transition:width .4s ease,left .4s ease;transition:width .4s ease,left .4s ease;background:#FFF}.pagedown.wmd-panel>.pagedown-editor.preview .pagedown-preview{position:absolute;left:0;width:100%}.pagedown.wmd-panel .pagedown-resizer{position:absolute;width:120px;height:3px;left:50%;margin-left:-60px;margin-top:4px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;cursor:row-resize;text-indent:110%;white-space:nowrap;overflow:hidden;text-transform:capitalize}.pagedown.wmd-panel.full-screen{position:fixed!important;top:0;left:0;z-index:1001;margin-top:0;border:none;width:100%;height:100vh;background:#FFF}.pagedown.wmd-panel.full-screen>.pagedown-editor{position:absolute;top:0;left:0;width:100%;height:100%!important;padding-top:80px;box-sizing:border-box}.pagedown.wmd-panel.full-screen>.pagedown-editor.preview .pagedown-input{width:50%}.pagedown.wmd-panel.full-screen>.pagedown-editor.preview .pagedown-preview{width:50%;left:50%}.pagedown.wmd-panel.full-screen .pagedown-input,.pagedown.wmd-panel.full-screen .pagedown-preview{padding:20px}.pagedown.wmd-panel.full-screen .pagedown-preview{border-left:1px solid #CCC}.pagedown.wmd-panel.full-screen .pagedown-resizer{display:none}.pagedown-help-modal{width:700px!important;top:50%!important;margin-top:-265px!important;left:50%!important;margin-left:-350px!important}.pagedown-help-modal .content{background:#FFF!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:0!important}.pagedown-help-modal .content table{table-layout:fixed;border-collapse:collapse;font-size:14px}.pagedown-help-modal .content table tr td{line-height:18px;padding:10px;box-sizing:border-box;vertical-align:top}.pagedown-help-modal .content table tr td .wrapper{display:table;table-layout:fixed;width:100%;height:100%}.pagedown-help-modal .content table tr td .wrapper .left{border-right:1px solid rgba(0,0,0,.02)}.pagedown-help-modal .content table tr td .wrapper .left,.pagedown-help-modal .content table tr td .wrapper .right{display:table-cell;width:50%;height:100%;vertical-align:top;box-sizing:border-box}.pagedown-help-modal .content table tr td .wrapper .right{padding-left:10px}.pagedown-help-modal .content table tr td pre{margin:0}.pagedown-help-modal .content table tr td:nth-child(1){width:110px;border-bottom:1px solid #ddd;padding:10px 15px;color:#333}.pagedown-help-modal .content table tr td:nth-child(2){width:425px;font-size:12px;background:#F6F6F6;border:1px solid #ddd;color:#666;font-family:Consolas,Courier,微软雅黑,'Liberation Mono',monospace}.pagedown-help-modal .content table tr td:nth-child(3){width:165px;font-size:12px;border-bottom:1px solid #ddd;padding:10px 15px}.pagedown-help-modal .content table tr:last-child td{border-bottom:none}.pagedown-help-modal .content table tr:first-child td{border-top:none}.pagedown-toc-dropdown .menu{width:300px;min-height:50px;max-height:450px;overflow-x:hidden}.pagedown-toc-dropdown .menu .title{font-size:1.5em;padding:20px;border-bottom:1px solid #ececec}#top-menu .frequently-projects{margin:1px 1px 0 0}#top-menu .frequently-projects.menu{width:474px!important;height:400px!important}#top-menu .frequently-projects.menu:after{background:#F6F6F6!important}.frequently-used-projects{position:absolute;width:360px;height:100%;left:0;top:0;z-index:12;background:#FFF;border-right:1px solid #DDD}.frequently-used-projects>.projects-wrapper{margin:15px}.frequently-used-projects>.projects-wrapper .content .empty-list{font-size:14px;margin-top:100px}.frequently-used-projects>.projects-wrapper .content .message-tip{right:10px;top:-9px}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list{width:345px;height:100%;padding:20px 0 0;margin:0;list-style:none}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li{float:left;text-align:center;width:100px;height:100px;margin:0 15px 15px 0;position:relative;cursor:pointer}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li img{width:64px;height:64px}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .title{font-size:12px;height:15px;line-height:13px;color:#666;margin:5px 10px 0}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .title.icon:before{font-family:Icons;content:'\f023';margin-right:3px}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .title.icon.public:before{display:none}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .pin-logo-wrapper{display:inline-block;position:relative;width:64px;height:64px}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .pin-project-cover{position:absolute;width:100%;height:100%;left:0;top:0}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .pin-project-cover:hover .remove.icon{display:inline}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .pin-project-cover .remove.icon{position:absolute;right:0;top:8px;opacity:1;font-size:16px;text-shadow:1px 1px 0 rgba(1,1,1,.15);display:none;cursor:pointer}.frequently-used-projects>.projects-wrapper .content ul.frequent-project-list li .pin-project-cover .remove.icon:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.frequently-used-projects .rotate30.icon{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}.pickmeup{background:#fff;border:1px solid #DDD;border-radius:.3em;-moz-box-sizing:content-box;box-sizing:content-box;display:none;position:absolute}.pickmeup *{-moz-box-sizing:border-box;box-sizing:border-box}.pickmeup .pmu-instance{display:inline-block;height:288px;padding:10px;text-align:center;width:265px}.pickmeup .pmu-instance .pmu-button{color:#333;cursor:pointer;outline:0;text-decoration:none}.pickmeup .pmu-instance .pmu-today{background:#eee;color:#5191bd}.pickmeup .pmu-instance .pmu-button:hover{color:#88c5eb}.pickmeup .pmu-instance .pmu-not-in-month{color:#666}.pickmeup .pmu-instance .pmu-disabled,.pickmeup .pmu-instance .pmu-disabled:hover{color:#333;cursor:default}.pickmeup .pmu-instance .pmu-selected{background:#68afda;color:#FFF}.pickmeup .pmu-instance .pmu-not-in-month.pmu-selected{background:#628fac}.pickmeup .pmu-instance nav{color:#333;display:-ms-flexbox;display:-webkit-flex;display:flex;line-height:2em}.pickmeup .pmu-instance nav :first-child :hover{color:#88c5eb}.pickmeup .pmu-instance nav .pmu-next,.pickmeup .pmu-instance nav .pmu-prev{display:none;height:2em;width:1em}.pickmeup .pmu-instance nav .pmu-month{width:14em}.pickmeup .pmu-instance .pmu-months *,.pickmeup .pmu-instance .pmu-years *{display:inline-block;line-height:3.6em;width:3.5em}.pickmeup .pmu-instance .pmu-day-of-week{color:#000;cursor:default;font-weight:700}.pickmeup .pmu-instance .pmu-day-of-week *,.pickmeup .pmu-instance .pmu-days *{display:inline-block;line-height:30px;width:35px;height:30px;font-size:14px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.pickmeup .pmu-instance .pmu-quick-buttons{background:#F6F6F6;text-align:center;position:absolute;width:100%;left:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.pickmeup .pmu-instance .pmu-quick-buttons .quick-button{font-weight:700;font-size:14px;color:#000;display:inline-block;padding:4px 5px;margin:5px 0;width:70px;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.pickmeup .pmu-instance .pmu-quick-buttons .quick-button:hover{background:#EEE}.pickmeup .pmu-instance:first-child .pmu-prev,.pickmeup .pmu-instance:last-child .pmu-next{display:block}.pickmeup .pmu-instance:first-child .pmu-month,.pickmeup .pmu-instance:last-child .pmu-month{width:13em}.pickmeup .pmu-instance:first-child:last-child .pmu-month{width:12em}.pickmeup:not(.pmu-view-days) .pmu-day-of-week,.pickmeup:not(.pmu-view-days) .pmu-days,.pickmeup:not(.pmu-view-months) .pmu-months,.pickmeup:not(.pmu-view-years) .pmu-years{display:none}#tags-all{font-size:14px;position:relative;padding-bottom:0;overflow:inherit;border-top:1px solid #DDD;margin-top:8px}#tags-all>.new-tag{padding:8px;top:40px;left:0;width:90%;margin:auto;font-size:12px;box-sizing:border-box}#tags-all>.new-tag .tag-color{position:relative;float:right}#tags-all>header{font-size:16px;font-weight:400;height:32px;line-height:32px;padding:10px 20px 5px;opacity:.8;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#tags-all>header>.icon.triangle{width:8px;margin:0 .4em 0 0!important}#tags-all>.icon.add{position:absolute;top:13px;right:1em;width:2em;height:2em;line-height:2em;display:inline-block;cursor:pointer}#tags-all>.tag-list{width:auto;padding:0;position:relative}#tags-all>.tag-list .tag-item{position:relative;margin-bottom:5px;padding:0 20px;display:block;height:28px;cursor:pointer;width:100%;box-sizing:border-box}#tags-all>.tag-list .tag-item:hover{background-color:rgba(0,0,0,.02)}#tags-all>.tag-list .tag-item.active{background:rgba(0,0,0,.08)}#tags-all>.tag-list .tag-item.no-highlight{background:0 0}#tags-all>.tag-list .tag-item>div{padding-right:30px;position:relative}#tags-all>.tag-list .tag-item>div>.tag{position:absolute;width:24px;height:24px;display:inline-block;line-height:27px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#tags-all>.tag-list .tag-item>div>.tag i.icon{color:#FFF;opacity:1}#tags-all>.tag-list .tag-item>div>.tag.dark i.icon{color:#000}#tags-all>.tag-list .tag-item>div>.tag-description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-height:24px;padding:5px 0 0 20px;font-size:12px;color:#333;line-height:18px;word-break:break-all;-webkit-user-select:none;user-select:none}#tags-all>.tag-list .tag-item>div>.icon{position:absolute;top:7px}#tags-all>.tag-list .tag-item>div>.icon.pencil{color:gray;right:0;display:none}#tags-all>.tag-list .tag-item>div>.icon.pencil:hover{color:#333}#tags-all>.tag-list .tag-item>div:hover>.icon{display:inline-block}#tags-all>.tag-list .tag-item>div>.ui.input{font-size:12px;display:inline-block;width:100%}#tags-all>.tag-list .tag-item>div>.ui.input>.icon.level.down{position:absolute;top:8px;right:2px;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}#tags-all>.tag-list .tag-item>div>.icon.loading,#tags-all>.tag-list .tag-item>div>.icon.remove{right:-22px}.loading-label{display:block;padding:5px 20px;text-align:center;color:#999;font-size:.9em}#tag-search{padding-top:0;padding-bottom:5px;font-size:12px}#tag-search .input{padding-top:0;margin:0 11px;width:91%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#tag-search .input input{background-color:#FFF;border:1px solid rgba(0,0,0,.15);width:100%}#tag-search .ui.input.icon>.icon{padding-top:9px}.tag-color{position:absolute;top:0;right:0;width:28px;height:28px;display:inline-block;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;cursor:pointer;vertical-align:top}.tag-color-picker{position:absolute;top:35px;right:0;width:auto;height:auto;border:1px solid #EEE;background:#FFF;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;z-index:10;cursor:default}.tag-color-picker>.selected{position:relative;margin:5px;font-size:14px}.tag-color-picker>.selected input{width:60px;height:16px;border:1px solid #EEE;outline:0;padding:6px 1em 6px 36px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;font-size:14px}.tag-color-picker>.selected .selected-color{position:absolute;left:5px;top:4px;display:inline-block;width:22px;height:22px;background:#CCC;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.tag-color-picker>.pre-defined-color{width:192px;height:48px;line-height:0;margin:5px}.tag-color-picker>.pre-defined-color .color{cursor:pointer;width:24px;height:24px;display:inline-block;position:relative}.tag-color-picker>.pre-defined-color .color.selected,.tag-color-picker>.pre-defined-color .color:hover{outline:#fff solid 2px;box-shadow:0 0 5px 2px rgba(0,0,0,.25);z-index:11}.tag-color-picker:before{position:absolute;top:-5px;right:8px;content:"";width:.6em;height:.6em;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg);z-index:10;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.tag-editor.mr-1 article ul li{margin-left:1px}.tag-editor .tag{font-size:12px;background:#000;margin-right:5px;padding:3px 8px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#FFF;display:inline-block;line-height:12px;vertical-align:top}.tag-editor .tag .icon{margin-right:0;cursor:pointer}.tag-editor .tag span.add{cursor:pointer;vertical-align:middle}.tag-editor .tag.editable{position:relative;padding:3px 8px;-webkit-transition:padding .4s ease-in-out;-moz-transition:padding .4s ease-in-out;-ms-transition:padding .4s ease-in-out;-o-transition:padding .4s ease-in-out;transition:padding .4s ease-in-out;z-index:2}.tag-editor .tag.editable i.remove.icon{opacity:0;position:absolute;top:3px;right:0;-webkit-transition:right,opacity .4s ease-in-out;-moz-transition:right,opacity .4s ease-in-out;-ms-transition:righ,opacityt .4s ease-in-out;-o-transition:right,opacity .4s ease-in-out;transition:right,opacity .4s ease-in-out;z-index:1}.tag-editor .tag.editable:hover{padding:3px 18px 3px 8px}.tag-editor .tag.editable:hover i.remove.icon{opacity:1;right:3px;z-index:3}li.refer-resource-item{height:24px;line-height:24px;color:#000;font-size:12px}li.refer-resource-item.popup{max-width:400px}li.refer-resource-item:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}li.refer-resource-item.cur{background:#333}li.refer-resource-item.cur .number{color:#aaa}li.refer-resource-item.cur .title{color:#ddd}li.refer-resource-item.cur strong{color:#D33!important}li.refer-resource-item.more-resource{border-top:1px solid #EEE;text-align:right}li.refer-resource-item .number{color:#666}li.refer-resource-item .title{color:#333;font-weight:700}li.refer-resource-item span.icon{display:inline-block;width:16px;height:16px;border-radius:16px;border:1px solid #CCC;text-align:center;line-height:16px;margin-right:3px}li.refer-resource-item span.icon>i.icon{margin-right:0}li.refer-resource-item span.icon>i.icon.tasks{transform:scale(0.8) translate(0px,1px)}li.refer-resource-item span.icon>i.icon.merge-request{transform:translate(0px,1px)}li.refer-resource-item span.icon>i.icon.pull-request{padding-top:2px!important}.refer-resource-modal>.content{-webkit-border-radius:.325em;-moz-border-radius:.325em;border-radius:.325em;background-color:#FFF!important}.refer-resource-modal>.content .label.refer-resource-label{border-top-right-radius:0;border-bottom-right-radius:0;text-transform:none;padding:0 7px 0 3px;border:1px solid rgba(0,0,0,.15);border-right:0;background:#FFF}.refer-resource-modal>.content .label.refer-resource-label span{background:#EEE;display:inline-block;padding:0 5px;line-height:22px;text-align:center;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#666;font-size:12px}.refer-resource-modal>.content input.refer-resource-input{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;padding-left:0}.refer-resource-modal>.content>.resource-list{border:1px solid #CCC;border-radius:3px;min-height:335px}.refer-resource-modal>.content>.resource-list>ul{padding:0;margin:0;list-style:none;min-height:264px}.refer-resource-modal>.content>.resource-list>ul>li{display:block;padding:4px 10px;border-bottom:1px solid #EEE;cursor:pointer}.refer-resource-modal>.content>.resource-list>ul>li:hover{background:#333}.refer-resource-modal>.content>.resource-list>ul>li:hover .number{color:#aaa}.refer-resource-modal>.content>.resource-list>ul>li:hover .title{color:#ddd}.refer-resource-modal>.content>.resource-list>ul>li.cur:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.refer-resource-modal>.content>.resource-list>ul>li.cur:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.tag-dropdown .search .ui.input{border:5px solid #F0F0F0;border-left-width:10px;border-right-width:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tag-dropdown .search .ui.input>.icon{padding-top:9px!important}.tag-dropdown .search .ui.input>input{width:220px;border:0;border-bottom:1px solid #EEE;border-radius:3px 3px 0 0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.tag-dropdown .items{max-height:177px;overflow-x:hidden;overflow-y:auto}.tag-dropdown.ui.dropdown .menu .item.active{background-color:rgba(0,0,0,.02)!important}.tag-dropdown.ui.dropdown .menu .item.active.cur{background-color:rgba(0,0,0,.01)!important}.tag-dropdown .items .item.ellipsis{width:240px;position:relative;font-size:14px;padding:10px 1em!important}.tag-dropdown .items .item.ellipsis i.icon{color:#333;margin-right:0;position:absolute;left:9px;display:none}.tag-dropdown .items .item.ellipsis.active i.icon{display:inline;color:#333!important}.tag-dropdown .items .item.ellipsis.cur i.icon,.tag-dropdown .items .item.ellipsis:hover i.icon{display:inline;color:#CCC}.tag-dropdown .items .item.ellipsis span.tag-color{position:relative;margin:0 5px 0 20px;width:16px;height:16px;float:left;display:inline-block;vertical-align:middle;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.markdown.content{font-size:14px;line-height:23px;overflow:hidden;word-wrap:break-word;color:#333}.markdown.content .three_wrapper img.emotion.monkey{width:31%;margin:1%}.markdown.content .two_wrapper img.emotion.monkey{width:46%;margin:2%}.markdown.content>:first-child{margin-top:0!important}.markdown.content>:last-child{margin-bottom:0!important}.markdown.content a.absent{color:#c00}.markdown.content a.anchor{display:block;padding-right:6px;padding-left:30px;margin-left:-30px;cursor:pointer;position:absolute;top:0;left:0;bottom:0}.markdown.content a.anchor:focus{outline:0}.markdown.content h1,.markdown.content h2,.markdown.content h3,.markdown.content h4,.markdown.content h5,.markdown.content h6{margin:1em 0 15px;padding:0;cursor:text;position:relative;font-weight:700;line-height:2}.markdown.content h1 .octicon-link,.markdown.content h2 .octicon-link,.markdown.content h3 .octicon-link,.markdown.content h4 .octicon-link,.markdown.content h5 .octicon-link,.markdown.content h6 .octicon-link{display:none;color:#000}.markdown.content h1:hover a.anchor,.markdown.content h2:hover a.anchor,.markdown.content h3:hover a.anchor,.markdown.content h4:hover a.anchor,.markdown.content h5:hover a.anchor,.markdown.content h6:hover a.anchor{text-decoration:none;line-height:1;padding-left:8px;margin-left:-30px;top:15%}.markdown.content h1:hover a.anchor .octicon-link,.markdown.content h2:hover a.anchor .octicon-link,.markdown.content h3:hover a.anchor .octicon-link,.markdown.content h4:hover a.anchor .octicon-link,.markdown.content h5:hover a.anchor .octicon-link,.markdown.content h6:hover a.anchor .octicon-link{display:inline-block}.markdown.content h1 code,.markdown.content h1 tt,.markdown.content h2 code,.markdown.content h2 tt,.markdown.content h3 code,.markdown.content h3 tt,.markdown.content h4 code,.markdown.content h4 tt,.markdown.content h5 code,.markdown.content h5 tt,.markdown.content h6 code,.markdown.content h6 tt{font-size:inherit}.markdown.content h1{font-size:28px;color:#000;font-weight:400;border-bottom:1px solid #ddd}.markdown.content.bubble h1,.markdown.content.bubble h2{border:none!important}.markdown.content h2{font-size:24px;border-bottom:1px solid #ddd;color:#000;font-weight:400}.markdown.content h3{font-size:20px}.markdown.content h4{font-size:16px}.markdown.content h5{font-size:14px;color:#666}.markdown.content h6{font-size:14px}.markdown.content blockquote,.markdown.content dl,.markdown.content ol,.markdown.content p,.markdown.content pre,.markdown.content table,.markdown.content ul{margin:15px 0}.markdown.content hr{border:none;border-top:1px dashed #ddd;height:1px;padding:0;margin:30px 0}.markdown.content ol,.markdown.content ul{padding-left:30px}.markdown.content ol.no-list,.markdown.content ul.no-list{list-style-type:none;padding:0}.markdown.content ol ol,.markdown.content ol ul,.markdown.content ul ol,.markdown.content ul ul{margin-top:0;margin-bottom:0}.markdown.content dl{padding:0}.markdown.content dl dt{font-size:14px;font-weight:700;font-style:italic;padding:0;margin-top:15px}.markdown.content dl dd{margin-bottom:15px;padding:0 15px}.markdown.content blockquote{border-left:4px solid #DDD;padding:10px 15px;color:#666;background:rgba(0,0,0,.03)}.markdown.content blockquote>:first-child{margin-top:0}.markdown.content blockquote>:last-child{margin-bottom:0}.markdown.content .markdown-table{width:100%;overflow:auto;margin:15px 0!important}.markdown.content .markdown-table table{margin:0}.markdown.content table{width:100%;overflow:auto;border-collapse:collapse;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.markdown.content table th{font-weight:700;background:#eee}.markdown.content table td,.markdown.content table th{border:1px solid #ddd;padding:6px 13px}.markdown.content table tr{border-top:1px solid #ccc;background-color:#fff}.markdown.content table tr:nth-child(2n){background-color:#f6f6f6}.markdown.content img{max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box;background:#fff;padding:8px;border:1px solid #eee;border-radius:3px}.markdown.content img.emotion{padding:0;border-radius:0;border:none;background:0 0}.markdown.content span.frame{display:block;overflow:hidden}.markdown.content span.frame>span{border:1px solid #ddd;display:block;float:left;overflow:hidden;margin:13px 0 0;padding:7px;width:auto}.markdown.content span.frame span img{display:block;float:left}.markdown.content span.frame span span{clear:both;color:#333;display:block;padding:5px 0 0}.markdown.content span.align-center{display:block;overflow:hidden;clear:both}.markdown.content span.align-center>span{display:block;overflow:hidden;margin:13px auto 0;text-align:center}.markdown.content span.align-center span img{margin:0 auto;text-align:center}.markdown.content span.align-right{display:block;overflow:hidden;clear:both}.markdown.content span.align-right>span{display:block;overflow:hidden;margin:13px 0 0;text-align:right}.markdown.content span.align-right span img{margin:0;text-align:right}.markdown.content span.float-left{display:block;margin-right:13px;overflow:hidden;float:left}.markdown.content span.float-left span{margin:13px 0 0}.markdown.content span.float-right{display:block;margin-left:13px;overflow:hidden;float:right}.markdown.content span.float-right>span{display:block;overflow:hidden;margin:13px auto 0;text-align:right}.markdown.content code,.markdown.content tt{margin:0;border:1px solid #ddd;background-color:#f8f8f8;border-radius:3px;max-width:100%;display:inline-block;overflow:auto;vertical-align:middle;padding:0}.markdown.content code:after,.markdown.content code:before,.markdown.content tt:after,.markdown.content tt:before{content:"\00a0";letter-spacing:-.2em}.markdown.content del code{text-decoration:inherit;vertical-align:text-top}.markdown.content code{white-space:nowrap}.markdown.content pre>code{margin:0;padding:0;white-space:pre;border:none;background:0 0;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace!important}.markdown.content .highlight pre,.markdown.content pre{background-color:#f8f8f8;border:1px solid #ddd;font-size:13px;line-height:19px;overflow:auto;padding:6px 10px;border-radius:3px}.markdown.content pre{word-wrap:normal}.markdown.content pre code,.markdown.content pre tt{margin:0;padding:0;background-color:transparent;border:none;word-wrap:normal;max-width:initial;display:inline;overflow:initial;line-height:inherit}.markdown.content pre code:after,.markdown.content pre code:before,.markdown.content pre tt:after,.markdown.content pre tt:before{content:normal}.markdown.content .task-list{list-style-type:none;padding-left:10px}.markdown.content .task-list-item{padding-left:20px}.markdown.content .task-list-item label{font-weight:400}.markdown.content .task-list-item+.task-list-item{margin-top:3px}.markdown.content .task-list-item-checkbox{float:left;margin-left:-20px;margin-top:4px;width:auto}.markdown-toc{margin:1em!important}.markdown-toc ul{list-style-type:none;margin:0;padding:0!important;line-height:1.5em}.markdown-toc>ul ul{padding-left:20px!important}.user-hover-card .menu{cursor:default}.user-hover-card .info{display:inline-block;vertical-align:top;margin-left:4px}.user-hover-card .info .user-name{color:#000;display:inline-block;height:24px;line-height:24px}.user-hover-card .info .user-slogan{font-size:14px;color:#666;margin:10px;display:block;white-space:pre-wrap;max-width:230px}.user-hover-card .info .actions{margin-left:10px}.user-hover-card .info .user-sex{position:absolute;font-size:14px;margin-left:4px}.user-hover-card .card-user-avatar{display:inline-block}.user-hover-card .info .user-sex.male{color:#5191bd!important}.user-hover-card .info .user-sex.female{color:#df5a5a!important}.user-hover-card .info .name-wrapper{margin-left:10px;font-size:18px}.user-hover-card .menu .menu-inner .content-wrapper .content{width:110px;display:inline-block}.user-hover-card .menu .menu-inner .content-wrapper{margin-top:20px;text-align:center;font-size:14px;color:#000}.user-hover-card .menu .menu-inner .content-wrapper .content a span{color:#000;padding-right:4px}.user-hover-card .menu .menu-inner .content-wrapper .content .num{color:#32be77}.user-hover-card .menu .menu-inner .content-wrapper .content.center{border-left:#ddd 1px solid;border-right:#ddd 1px solid}.user-hover-card .menu .loading-wrapper{font-size:14px;padding:10px}.user-hover-card.ui.left.pointing.dropdown .menu .menu-inner{width:380px;padding:15px 0 15px 15px}.user-hover-card.ui.top.left.pointing.dropdown.up .menu{top:auto;bottom:120%;z-index:1000}.user-hover-card.ui.top.left.pointing.dropdown.up .menu:after{top:auto;bottom:-.25em;-webkit-transform:rotate(-135deg);-moz-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg)}.advance-search-box{position:relative;font-size:14px}.advance-search-box ul{list-style:none;padding:0;margin:0}.advance-search-box .search-input.prefix{-webkit-transition:all ease-in-out .3s;-moz-transition:all ease-in-out .3s;-ms-transition:all ease-in-out .3s;-o-transition:all ease-in-out .3s;transition:all ease-in-out .3s}.advance-search-box .search-input.prefix input,.advance-search-box .search-input.prefix textarea{text-indent:44px;padding-right:10px!important}.advance-search-box .search-input.prefix:before{content:'本项目';position:absolute;height:20px;line-height:20px;top:3px;left:3px;z-index:999;border-radius:3px;padding:0 5px;color:#777;background-color:#eee}.advance-search-box .search-input .searching input,.advance-search-box .search-input .searching textarea{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid rgba(0,0,0,.15)}.advance-search-box .search-dropdown{position:absolute;width:100%;max-height:400px;overflow-y:auto;z-index:900;background:#FFF;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-top:0;border-bottom-left-radius:.3125em;border-bottom-right-radius:.3125em}.advance-search-box .search-dropdown .advance-search-group{position:relative;display:table;width:100%;table-layout:fixed}.advance-search-box .search-dropdown .advance-search-group:last-child{border-bottom:0}.advance-search-box .search-dropdown .advance-search-group.list .advance-search-items .advance-search-item:first-child{margin-top:5px}.advance-search-box .search-dropdown .advance-search-group .advance-search-type{display:table-cell;width:50px;text-align:right;padding:10px 10px 0 0;vertical-align:top;box-sizing:border-box}.advance-search-box .search-dropdown .advance-search-group .advance-search-items{display:table-cell;border-left:1px solid rgba(0,0,0,.15);border-bottom:1px solid rgba(0,0,0,.15)}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item{padding:5px 10px;position:relative;cursor:pointer}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.active,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item:hover{background:rgba(0,0,0,.08)}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item .highlight-match-text{color:#D04D4D}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item .subtitle,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item .title{margin:0}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.task .title,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.topic .title{margin:0;font-size:15px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.task .subtitle,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.topic .subtitle{margin:3px 0 0;color:#999;font-size:13px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.friend,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.project{min-height:36px;padding-left:55px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .icon,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.friend .icon,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.project .icon{position:absolute;left:10px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .title,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.friend .title,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.project .title{margin:0;font-size:15px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .subtitle,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.friend .subtitle,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.project .subtitle{margin:3px 0 0;color:#999;font-size:13px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file{padding-left:50px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .icon{display:inline-block;width:32px;height:32px;top:7px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .icon img{width:100%;height:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .icon .file-icon{width:100%;height:100%;line-height:32px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;font-style:normal;font-size:10px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.file .title{margin:10px 0 0}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.more,.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.simple{padding:10px}.advance-search-box .search-dropdown .advance-search-group .advance-search-items .advance-search-item.more{text-align:right}.advance-search-box .search-dropdown .advance-search-group:last-child .advance-search-items:last-child{border-bottom:0}.image-picker-dropdown-wrapper{position:absolute;z-index:1101}.image-picker-dropdown .picker-wrapper{width:400px;height:300px}.image-picker-dropdown .picker-wrapper article,.image-picker-dropdown .picker-wrapper footer,.image-picker-dropdown .picker-wrapper header{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-picker-dropdown .picker-wrapper header{font-size:14px;height:40px;line-height:40px;border-bottom:1px solid #EEE;-webkit-box-shadow:0 1px 3px #EEE;-moz-box-shadow:0 1px 3px #EEE;box-shadow:0 1px 3px #EEE}.image-picker-dropdown .picker-wrapper header>.center,.image-picker-dropdown .picker-wrapper header>.left,.image-picker-dropdown .picker-wrapper header>.right{height:100%;box-sizing:border-box}.image-picker-dropdown .picker-wrapper header>.center>.button,.image-picker-dropdown .picker-wrapper header>.left>.button,.image-picker-dropdown .picker-wrapper header>.right>.button{cursor:pointer;display:inline-block;width:100%;height:100%;padding:0}.image-picker-dropdown .picker-wrapper header>.center>.button:hover,.image-picker-dropdown .picker-wrapper header>.left>.button:hover,.image-picker-dropdown .picker-wrapper header>.right>.button:hover{background:#EEE}.image-picker-dropdown .picker-wrapper header>.left>.button{padding-left:10px;box-sizing:border-box}.image-picker-dropdown .picker-wrapper header>.right{line-height:36px}.image-picker-dropdown .picker-wrapper header>.right>.button{width:75px;height:25px;margin-right:10px}.image-picker-dropdown .picker-wrapper header>.center{text-align:center}.image-picker-dropdown .picker-wrapper header>.left,.image-picker-dropdown .picker-wrapper header>.right{width:100px}.image-picker-dropdown .picker-wrapper header>.left{text-align:left}.image-picker-dropdown .picker-wrapper header>.right{text-align:right}.image-picker-dropdown .picker-wrapper article{padding:5px;margin:0;overflow:hidden;position:relative}.image-picker-dropdown .picker-wrapper article ul.folder-list{list-style:none;padding:0;margin:0;width:100%;display:inline-block;float:none;height:auto}.image-picker-dropdown .picker-wrapper article ul.folder-list>li{width:130px;display:inline-block;float:left;cursor:pointer;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.folder,.image-picker-dropdown .picker-wrapper article ul.folder-list>li.folder-list{height:48px;padding:15px 10px;line-height:18px}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.folder.with-image,.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image{height:138px;padding:10px 20px 0}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.folder.with-image{padding:60px 15px;line-height:18px;text-align:center}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image{text-align:center;font-size:12px}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image img{width:90px;height:90px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image p{margin:9px 0 0;padding:0;height:18px;line-height:18px}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image i.icon.ok.sign{position:absolute;z-index:inherit;top:15px;right:25px;font-size:14px;margin:0;opacity:0}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image.selected:before{content:"";display:inline-block;position:absolute;top:10px;left:20px;right:20px;height:90px;background:rgba(0,0,0,.5)}.image-picker-dropdown .picker-wrapper article ul.folder-list>li.image.selected i.icon.ok.sign{opacity:1}.image-picker-dropdown .picker-wrapper article ul.folder-list>li:hover{background:#EEE}.image-picker-dropdown .picker-wrapper footer{height:40px;border-top:1px solid #EEE;-webkit-box-shadow:0 -1px 3px #EEE;-moz-box-shadow:0 -1px 3px #EEE;box-shadow:0 -1px 3px #EEE}.image-picker-dropdown .picker-wrapper footer>.selected-count{float:left;line-height:40px;margin-left:10px;font-size:12px;color:#666}.image-picker-dropdown .picker-wrapper footer>.ui.button{float:right;height:24px;margin:8px 10px 8px 0}.image-picker-dropdown .menu{font-size:12px!important;color:#000;left:-100px!important}.image-picker-dropdown .menu:after{left:109px!important}.image-picker-dropdown.md-editor.up .menu{top:auto!important;bottom:160%}.image-picker-dropdown.md-editor.up .menu:after{top:auto!important;bottom:-.25em;-webkit-transform:rotate(-135deg)!important;-moz-transform:rotate(-135deg)!important;-ms-transform:rotate(-135deg)!important;-o-transform:rotate(-135deg)!important;transform:rotate(-135deg)!important}.image-picker-dropdown.md-editor .menu,.image-picker-dropdown.md-editor.down .menu{left:-315px!important}.image-picker-dropdown.md-editor .menu:after,.image-picker-dropdown.md-editor.down .menu:after{left:324px!important}.image-picker-dropdown .url-image-import{text-align:center;position:relative}.image-picker-dropdown .url-image-import .image-preview{position:absolute;left:0;bottom:100%;width:100%;height:180px;background:#FFF;display:inline-block;text-align:center;vertical-align:middle;padding:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EEE}.image-picker-dropdown .url-image-import .image-preview img{max-width:100%;max-height:170px;border-radius:3px}.image-picker-dropdown .url-image-import .image-preview i.remove.icon{position:absolute;right:10px;top:10px}.image-picker-dropdown .url-image-import .image-preview .loading-wrapper{padding:70px 0}.image-picker-dropdown .url-image-import .ui.form{padding:20px 0 10px}.image-picker-dropdown .url-image-import .ui.form label{font-size:14px!important}.image-picker-dropdown .url-image-import .ui.form input{width:260px!important}.partners .wrapper{margin:10px 0 0 30px}.partner{display:inline-block;margin:10px 10px 0 0;padding:10px;width:160px;border:1px solid #eee;text-align:center}.partner img{-webkit-filter:grayscale(100%);filter:url(/static/e4cab1df58c957502ba1fdabb0bc528c.svg#grayscale);max-height:40px;max-width:100%}.partner:hover img{filter:none;-webkit-filter:none}#gitsla,#security_description{padding:0 40px;line-height:200%;background-color:#fff;width:70%;margin:0 auto}#gitsla hr,#security_description hr{border:none;border-top:1px solid #ccc}#gitsla h1,#security_description h1{text-align:center;margin:20px auto 0;padding:20px 0;font-size:24px;line-height:36px}#gitsla p,#security_description p{margin:12px 0;text-indent:35px;font-size:14px}#gitsla strong,#security_description strong{font-size:18px}#gitsla ol,#security_description ol{counter-reset:section;list-style-type:none}#gitsla ol>li>ol>li::before,#security_description ol>li>ol>li::before{content:counters(section,".") " "}#gitsla ol>li::before,#security_description ol>li::before{counter-increment:section;content:counters(section,".") "."}#gitsla article,#security_description article{background-color:#f8f6f2;padding:10px;margin:20px 40px}#gitsla article>ul,#security_description article>ul{padding-left:20px}#gitsla article>ul>li,#security_description article>ul>li{font-size:12px;list-style:none}#gitsla .bottom,#security_description .bottom{padding-bottom:20px}table.text-align-left-th th{text-align:left}.user-account-wrapper>section{background:#FFF;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:20px;margin-bottom:30px}.user-account-wrapper>section>h3{font-size:20px;font-weight:400;margin:0 0 20px}.user-account-wrapper>section.summary{position:relative}.user-account-wrapper>section.summary>img{position:absolute;top:20px;left:20px}.user-account-wrapper>section.summary .detail .column{font-size:15px;color:#666}.user-account-wrapper>section.summary .detail .column .inner-item{margin-bottom:10px;min-height:20px}.user-account-wrapper>section.summary .detail .column .inner-item .none-color-link{color:#666}.user-account-wrapper>section.summary .detail .column .inner-item .icon{color:#1E4A5E;font-size:17px}.user-account-wrapper>section.summary .detail .column .inner-item em{color:#E98D4E;font-size:18px;font-style:normal}.user-account-wrapper>section.summary .detail .column .inner-item .button{margin-left:15px}.user-account-wrapper>section.summary .detail .column .inner-item:last-child{margin-bottom:0}.user-account-wrapper>section.summary .detail .column .inner-item strong{font-weight:500}.user-account-wrapper>section.summary .detail .column .inner-item .progress-bar{width:60px;height:5px;background:#EEE;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;position:relative;vertical-align:2px;display:inline-block;margin-right:5px}.user-account-wrapper>section.summary .detail .column .inner-item .progress-bar .progress{position:absolute;display:inline-block;height:100%;border-top-left-radius:2px;border-bottom-left-radius:2px;background-color:#A1CF64}.user-account-wrapper>section.summary article{min-height:98px;margin-left:120px}.user-account-wrapper>section.summary article h2{font-size:18px;font-weight:400;padding:8px 0 15px;margin:0}.top-up-wrapper header{margin-bottom:20px!important}.top-up-wrapper .description{margin:35px 0;color:#555}.top-up-wrapper .balance{font-size:14px}.top-up-wrapper .balance em{font-style:normal;font-size:20px;font-weight:400;color:#D95C5C}.top-up-wrapper .top-up-form{margin:35px 0}.top-up-form.ui.form .field{margin:0 0 35px}.top-up-form.ui.form .field label{font-size:14px;color:#000}.top-up-form.ui.form .field.balance{font-size:14px}.top-up-form.ui.form .field.balance em{font-style:normal;font-size:20px;font-weight:400;color:#D95C5C}.top-up-form.ui.form .field.message{color:#D95C5C}.top-up-form.ui.form .field img.top-up-method-img{background:#FFF;padding:3px;border:1px solid #CCC;border-radius:3px;margin-left:10px}.top-up-form.ui.form .tips{font-size:13px;color:#999;margin-left:10px}#account-top-up-modal,#account-top-up-result-modal,.ui.modal.account-charge-modal,.ui.modal.account-invoice-modal{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;top:50%;left:50%;background-color:#F9F5F2}#account-top-up-modal .header,#account-top-up-result-modal .header,.ui.modal.account-charge-modal .header,.ui.modal.account-invoice-modal .header{padding:15px 20px;font-size:22px;font-weight:400;background-color:#FFF}#account-top-up-modal .content,#account-top-up-result-modal .content,.ui.modal.account-charge-modal .content,.ui.modal.account-invoice-modal .content{background-color:#F9F5F2;border-bottom-left-radius:5px;border-bottom-right-radius:5px}#account-top-up-modal .action-buttons,#account-top-up-modal .actions,#account-top-up-result-modal .action-buttons,#account-top-up-result-modal .actions,.ui.modal.account-charge-modal .action-buttons,.ui.modal.account-charge-modal .actions,.ui.modal.account-invoice-modal .action-buttons,.ui.modal.account-invoice-modal .actions{background-color:#FFF;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.ui.modal.account-charge-modal{width:620px;height:400px;margin-top:-200px;margin-left:-310px}.ui.modal.account-charge-modal .content{height:285px}#account-top-up-modal{width:600px;height:300px;margin-top:-150px;margin-left:-300px}#account-top-up-modal .content{padding:60px 100px}#account-top-up-modal .content .loading{position:absolute;left:100px;top:60px;font-size:50px}#account-top-up-modal .content article{padding-left:80px}#account-top-up-modal .content article p{margin:0 0 20px;line-height:30px;font-size:14px;font-weight:400}#account-top-up-modal .content article .button:first-child{margin-right:10px}#account-top-up-result-modal,.ui.modal.account-result-modal{width:400px;height:200px;margin-top:-100px;margin-left:-200px}#account-top-up-result-modal .content,.ui.modal.account-result-modal .content{text-align:center}#account-top-up-result-modal h2.green,.ui.modal.account-result-modal h2.green{color:#32be77}.payment-history-wrapper .ui.tabular.menu .item{padding:10px 15px}.payment-history-wrapper .ui.tabular.menu .item.active{background:none!important;border-bottom:1px solid #F7F6F2!important}.payment-history-wrapper .ui.tabular.menu .item .label{padding:3px 9px!important;background-color:rgba(0,0,0,.15)!important;color:#666}.payment-history-wrapper article .ui.dropdown{padding-bottom:3px}.payment-history-wrapper article .ui.dropdown .ui.button{padding:0 2em 0 1.5em;background-color:#E98D4E!important;color:#FFF!important}.payment-history-wrapper article .ui.dropdown .dropdown.icon{position:absolute;right:10px;top:5px;margin:0;color:#FFF}.payment-history-wrapper article .ui.dropdown .item{padding:.7em!important}.payment-history-wrapper article .ui.dropdown .item .icon{margin-right:3px}.invoice-wrapper header{margin-bottom:30px!important}.invoice-wrapper .invoice-available{font-size:14px}.invoice-wrapper .invoice-available em{font-style:normal;font-weight:400;color:#D95C5C}.invoice-wrapper .invoice-form{margin:35px 0}.invoice-wrapper .invoice-form>.field{margin:0 0 35px}.invoice-wrapper .invoice-form>.field label{font-size:14px;color:#000}.invoice-wrapper .invoice-form .tips{font-size:13px;color:#999;margin-left:10px}.invoice-wrapper .invoice-list h2{font-size:17px;font-weight:400}#account-invoice-modal{width:720px;margin-left:-360px}#account-invoice-modal>.content{padding:0}#account-invoice-modal .ui.form{padding:1.3em 2em}#account-invoice-modal .ui.form>.field h4{font-size:19px;font-weight:400;padding:10px 0}#account-invoice-modal .ui.form>.field>label{width:70px;font-size:14px;color:#000}#account-invoice-modal .ui.form>.field>input[type=text]{width:85%}#account-invoice-modal .ui.form>.field em.invoice-price{font-size:18px;font-style:normal;color:#D95C5C;font-weight:500}#account-invoice-modal .ui.form>.field .tips{font-size:13px;color:#999;margin-left:10px}#account-invoice-modal .ui.form>.field .tips em{font-size:16px;font-style:normal;color:#D95C5C;font-weight:500}#account-exchange-coin-modal .content{text-align:center}#account-exchange-coin-modal .content .field.summary{margin:10px 0 30px}#account-exchange-coin-modal .content .field.summary .item{display:inline-block;margin-right:20px}#account-exchange-coin-modal .content .field.summary .item em{color:#E98D4E;font-style:normal}#account-exchange-coin-modal .content .field.exchange-rate{font-size:14px;color:#555}#account-exchange-coin-modal .content .field.exchange-rate .summary{width:300px;display:inline-block}#account-exchange-coin-modal .content form input{width:300px}#account-exchange-coin-modal .action-buttons span{float:left}#account-exchange-coin-modal .action-buttons span em{font-size:2rem;font-style:normal;color:orange}@media only screen and (max-width:1000px){#account-exchange-coin-modal .content .field.exchange-rate .summary,#account-exchange-coin-modal .content form input{width:200px}}#create_folder{margin:10px 25px;padding:0;border:1px dashed #CCC;background:#fff;text-align:center}#attachment{margin-left:210px!important}#attachment tbody .attachment{font-size:13px}#attachment tbody .attachment.white{background-color:#fff!important}#attachment tbody .attachment:hover{background:#FFF!important}#attachment tbody .attachment.canWhiteSelect{cursor:pointer}#attachment tbody .attachment.uploading .filename{cursor:not-allowed}#attachment tbody .attachment .icon:hover{color:#000}#attachment .attachment{position:relative}#attachment .attachment .filename{width:auto;line-height:45px}#attachment .attachment .filename img{float:left;margin-right:5px;border:2px solid #fff}#attachment .attachment .filename span{cursor:pointer}#attachment .attachment .size{color:#999;width:110px;padding-right:20px;text-align:left}#attachment .attachment .id{color:#999;width:80px;padding-right:20px;text-align:left}#attachment .attachment .uploader{position:relative;line-height:45px;padding-left:45px;width:150px}#attachment .attachment .uploader img{position:absolute;left:0;top:17px}#attachment .attachment .time{width:125px}#attachment .attachment .action,#attachment .attachment .process{width:167px;font-size:18px;position:relative}#attachment .attachment .action>a{float:right}#attachment .attachment .action .icon{font-size:14px;opacity:0;margin-right:5px;-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;-ms-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in;color:#666}#attachment .attachment:hover .action .icon{opacity:1;margin-right:5px}#attachment .attachment .remove-file.icon{position:absolute;top:26px;right:-13px}#upload-attachment{overflow:hidden}#attachment input[type=file],#upload-attachment input[type=file]{display:none;position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:'alpha(opacity=0)';font-size:200px;direction:ltr;cursor:pointer;z-index:2}#shared_icon.green{opacity:1!important}.project-attachments thead{font-size:14px;color:#666}.project-attachments thead td{line-height:30px!important}.project-attachments .attachment>.checkbox{text-align:center;font-size:18px;width:30px;cursor:pointer}.project-attachments .attachment .filename .file-icon,.project-attachments .attachment .filename img{float:left;margin-right:5px;width:45px;height:45px;text-align:center;-webkit-background-size:contain;background-position:50% 50%;background-size:contain;box-sizing:border-box;line-height:45px;font-weight:bolder;cursor:pointer}.project-attachments .attachment.uploading .filename .file-icon{cursor:not-allowed}#move-folder i.folder.icon{margin-right:5px}#move-folder>.menu .item{border:none}#move-folder>.menu>.no-defaults>.item.sub_item span{display:inline-block;margin-left:10px}#move-folder .current{color:#999}#move-folder .current:hover{background:#fff;cursor:default}#edit_action{margin-top:0}#edit_action .icon{margin-right:0}.file-upload-zone{margin:20px 0;position:relative;height:auto;width:100%;cursor:pointer;overflow:hidden;font-size:14px;border-radius:5px}.file-upload-zone:hover{color:#A1CF64}#attachment-create textarea{font-size:14px;line-height:normal;min-height:400px!important}#attachment-create textarea.modal{max-height:580px;min-height:580px!important}#attachment-create .action{margin-top:20px}@media only screen and (max-width:1420px){#attachment-create textarea.modal{min-height:454px!important;max-height:454px}#attachment-create .action{margin-top:10px}}.pagedown-fullscreen .fullscreen-title a{display:none!important}#tweet-reward-modal .content{text-align:center}#tweet-reward-modal .content .field.summary{margin:10px 0 30px}#tweet-reward-modal .content .field.summary .item{display:inline-block;margin-right:20px}#tweet-reward-modal .content .field.summary .item em{color:#E98D4E;font-style:normal}#tweet-reward-modal .content .field.summary .item span{font-style:normal;font-weight:700;display:block;margin-top:16px}#tweet-reward-modal .content .error{text-align:left;font-size:14px}#tweet-reward-modal .content form input{width:300px}@media only screen and (max-width:1000px){#tweet-reward-modal .content .field.exchange-rate .summary,#tweet-reward-modal .content form input{width:200px}}.score-wrapper{width:100%}.score-wrapper section{margin-bottom:30px}.score-wrapper section.summary{background:#FFF;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:20px}.score-wrapper section.summary .grid .column{vertical-align:middle!important;text-align:center!important;padding:1% 1.5%}.score-wrapper section.summary .grid .column h4{font-size:14px;font-weight:400;margin:0 0 20px}.score-wrapper section.summary .grid .column strong{font-size:26px;font-weight:500}.score-wrapper section.summary .grid .column strong.green{color:#32be77}.score-wrapper section.summary .grid .column strong .icon.loading,.score-wrapper section.summary .grid .column strong.gray{color:#999}.score-wrapper section.summary .grid .column.consume .button{background-color:#FB4F87;overflow:hidden}.score-wrapper section.detail .tips{text-align:center;color:#999}.score-wrapper section.detail article.markdown.content table{table-layout:fixed}.score-wrapper section.detail article.markdown.content table th{color:#666}.score-wrapper section.detail article.markdown.content table th.change,.score-wrapper section.detail article.markdown.content table th.source,.score-wrapper section.detail article.markdown.content table th.time{width:20%}.score-wrapper section.detail article.markdown.content table td{border:none!important}.score-wrapper section.detail article.markdown.content table td.source{color:#333;line-height:23px}.score-wrapper section.detail article.markdown.content table td.change,.score-wrapper section.detail article.markdown.content table td.left{color:#E98D4E;font-size:18px;text-align:center;font-weight:600}.score-wrapper section.detail article.markdown.content table td.time{color:#999;text-align:center}.score-wrapper section.detail article.markdown.content table td.comments{color:#999;line-height:20px}.score-wrapper section.detail article.markdown.content table td,.score-wrapper section.detail article.markdown.content table th{line-height:32px}.score-wrapper section.detail article.markdown.content table tbody{border:1px solid #CCC}.score-wrapper section.detail article.markdown.content table tr{border:1px solid #DDD}.gift-wrapper{background:#fff;min-width:840px;min-height:600px;padding:20px}.gift-wrapper .title{font-size:18px;padding-bottom:10px}.gift-wrapper .title .points-left{font-size:12px;color:#df5a5a}.gift-wrapper .gift-item{display:inline-block;text-align:center;border:1px solid #ddd;padding:10px;margin:0 32px 10px 0;border-radius:4px;vertical-align:top}.gift-wrapper .gift-item span{display:block}.gift-wrapper .gift-item .content img{width:220px}.gift-wrapper .gift-item .gift-name{font-size:14px;padding:8px}.gift-wrapper .gift-item .gift-cost{padding-bottom:10px;color:#EB935D;font-size:18px}.gift-wrapper .gift-item .action a{width:100%}.gift-wrapper .gift-item .action .ui.button.medium.exchange{color:#DF5A5A!important}.exchange-wrapper{background:#fff;width:840px;padding:40px}.exchange-wrapper .title{font-size:16px;color:#999;padding:20px 0}.exchange-wrapper span{display:block}.exchange-wrapper .header{border-bottom:1px solid #ddd;padding-bottom:10px;font-size:18px}.exchange-wrapper form{font-size:14px}.exchange-wrapper form .field{margin-bottom:10px}.exchange-wrapper form .ui.small.input input{border-radius:4px;width:350px;padding:6px;height:36px}.exchange-wrapper .exchange-info{padding-bottom:20px;border-top:1px #ddd dotted;border-bottom:1px #ddd dotted}.exchange-wrapper .confirm .ui.default.green.button{margin-right:10px}.exchange-wrapper .confirm .exchange-tip{font-size:12px;margin-top:20px;color:#df5a5a}.file-activities{width:320px;background:#fff;position:relative;height:600px;color:#323a45;border-bottom-right-radius:5px}.file-activities .file-activity-items{height:530px;overflow-y:auto;color:rgba(50,58,69,.5)}.file-activities .file-activity-items .action{font-size:12px}.file-activities .file-activity-items .action .icon{width:60px;color:rgba(50,58,69,.8)}.file-activities .file-activity-items .action .detail{width:280px;position:relative}.file-activities .file-activity-items .action .detail .username{color:rgba(50,58,69,.7);max-width:80px;display:inline-block;height:14px;vertical-align:top}.file-activities .file-activity-items .action .detail .file-name,.file-activities .file-activity-items .action .detail .file-version{position:absolute;left:0;top:24px;font-weight:700;color:rgba(50,58,69,.7)}.file-activities .file-activity-items .action .detail .time{float:right;margin-right:10px}.file-activities .file-activity-items .avatar{width:60px;text-align:center}.file-activities .file-activity-items .actions{display:none;padding:0;font-size:12px;float:right;margin-right:10px}.file-activities .file-activity-items .detail{width:280px}.file-activities .file-activity-items .detail .created-time{font-size:12px;float:right;margin-right:10px}.file-activities .file-activity-items .detail .markdown{width:240px;margin-top:4px;color:rgba(50,58,69,.7)}.file-activities .file-activity-items .detail .comment-username{color:rgba(50,58,69,.7);font-size:12px}.file-activities .file-activity-items .detail:hover .created-time{display:none}.file-activities .file-activity-items .detail:hover .actions{display:inline-block}.file-activities .file-comment-wrapper{padding:14px 10px;position:absolute;bottom:0;background:#fff;border-bottom-right-radius:5px;border-top:1px solid #ddd}.file-activities .file-comment-wrapper .file-comment-textarea{height:40px;width:300px;padding:0;border:0;resize:none;outline:0}.file-histories{width:320px;height:600px;background:#fff;color:#323a45;font-size:12px}.file-histories .file-history-wrapper{padding:10px}.file-histories .file-history-wrapper .file-history-item{position:relative;width:300px;padding:10px 0}.file-histories .file-history-wrapper .file-history-item .file-history-column{width:calc(100% - 50px);display:inline-block}.file-histories .file-history-wrapper .file-history-item .file-history-column .file-history-name{font-size:14px;margin-bottom:6px;display:inline-block;max-width:calc(100% - 50px);vertical-align:middle;word-wrap:break-word;word-break:keep-all}.file-histories .file-history-wrapper .file-history-item .file-history-column .file-history-action{display:inline-block;margin-bottom:6px}.file-histories .file-history-wrapper .file-history-item .file-history-column .actions .action-item{margin-right:10px}.file-histories .file-history-wrapper .file-history-item.current{background:#f4f4f4}.file-histories .file-history-wrapper .file-history-item:before{content:'';display:inline-block;width:10px;height:10px;background:#f4f4f4;border-radius:10px;margin:0 20px 44px}.file-histories .file-history-wrapper .file-history-item.current:before{background:#eb935d}.file-histories .file-history-wrapper .file-history-item.current:after{position:absolute;content:"";right:0;top:0;width:0;height:0;border-top:0 solid transparent;border-right:1em solid transparent;border-bottom:1em solid transparent;border-left:0 solid transparent;border-right-color:#eb935d}.project-file-viewer .next .icon,.project-file-viewer .prev .icon{position:absolute;font-size:72px;color:#FFF;cursor:pointer;opacity:.6;top:50%;margin-top:-36px}.project-file-viewer .next .icon:hover,.project-file-viewer .prev .icon:hover{opacity:1}.project-file-viewer .next .icon.right{right:-80px}.project-file-viewer .prev .icon.left{left:-80px}.project-file-viewer .attachment-modal-rename{padding:10px}.project-file-viewer .attachment-modal-rename input{height:30px;width:700px}.project-file-viewer .attachment-preview-modal-previewer{height:667px;overflow-y:auto;border-bottom-left-radius:4px;border-top:1px solid #DCDDDE;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;border-right:1px solid #DCDDDE}.project-file-viewer .attachment-preview-modal-previewer .preview-image-container{line-height:633.65px}.project-file-viewer .attachment-preview-modal-previewer.preview-image-background{background:#4c4d50}.project-file-viewer .current-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:21px;color:#323a45;height:50px;line-height:50px;padding-left:20px}.project-file-viewer .ui.tabular.menu{margin-top:0;border-top:1px solid #DCDDDE;border-bottom:0}.project-file-viewer .ui.tabular.menu .item.active{background-color:#fff;margin-top:-1px}.project-file-viewer .ui.tabular.menu .item{height:50px;border:0;font-size:14px;width:160px;text-align:center;border-radius:0;background-color:#f4f4f4;line-height:24px}.project-file-viewer .white-block{background:0 0}.project-file-viewer #text-preview{margin:0;padding:15px 40px}.project-file-viewer #text-preview .txt-preview-wrapper{min-height:600px;padding:10px;margin:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.project-file-viewer #text-preview .markdown.content{background-color:#fff;min-height:600px;padding:10px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.project-file-viewer #office_preview{margin-top:-90px}.project-file-viewer .attachment-preview-modal-editor .ui.form .ui.medium.action.input{margin:10px 20px}.project-file-viewer .attachment-preview-modal-editor .ui.form .ui.medium.action.input input{border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-top-right-radius:.3125em!important;border-bottom-right-radius:.3125em!important;width:740px}.project-file-viewer .attachment-preview-modal-editor .ui.form .ui.medium.action.input input:focus{border-bottom-left-radius:.3125em!important;border-top-left-radius:.3125em!important}.project-file-viewer .attachment-preview-modal-editor .ui.form .ui.medium.action.input .ui.green.medium.button{display:none}.project-file-viewer .attachment-preview-modal-editor .editor,.project-file-viewer .attachment-preview-modal-editor .ui.form .editor-textarea{margin:0 20px}.project-file-viewer .attachment-preview-modal-editor .editor .grippie.pagedown-resizer{display:none}.project-file-viewer .attachment-preview-modal-editor .editor .pagedown.wmd-panel>.pagedown-editor{height:540px}.project-file-viewer .attachment-preview-modal-editor .editor #attachment-create.modal-editing textarea{height:580px!important}.project-file-viewer .attachment-preview-modal-editor .action{margin-right:20px}.project-file-viewer.editing{background-color:#393a3d;border-radius:5px}.project-file-viewer.editing .editor{background-color:#fff;border-radius:5px}.project-file-viewer.editing .tool-button{color:#fff}.project-file-viewer.editing .file-inner-pane{background-color:#fff;border-bottom-right-radius:5px}.project-file-viewer.editing .ui.form.loading:after{width:740px;left:20px;border-radius:5px}.project-file-tool-bar{text-align:right;font-size:24px;height:50px}.project-file-tool-bar .tool-button{color:#323a45;margin-right:10px;display:inline-block;vertical-align:middle;line-height:50px}.project-file-tool-bar .coding.coding-share.icon{opacity:inherit;color:rgba(0,0,0,.6)}.project-file-tool-bar #share-button{cursor:pointer;color:#444}.project-file-tool-bar #share-button:hover{color:#000}.project-file-tool-bar .share-popup{font-size:18px}.file-info-wrapper{display:table}.file-info-wrapper .file_info_word{height:32px;font-size:15px;display:table-row}.file-info-wrapper .file-info-left{display:table-cell;width:60px;font-weight:700;text-align:right;padding-right:10px}.file-info-wrapper .file-info-right{display:table-cell}.project-file-detail-activity{margin:0 5px 20px;position:relative}.project-file-detail-activity:before{width:1px;position:absolute;top:0;left:76px;height:100%;border-left:3px solid #EEE;content:'';z-index:-1}.project-file-detail-activity:after{content:'';height:20px;width:100%;display:block;border-bottom:3px solid #EEE}.project-file-detail-activity .project-file-activity{position:relative;margin-bottom:20px;border:2px solid #F7F6F2;border-bottom:none}.project-file-detail-activity .project-file-activity:last-child{margin-bottom:0}.project-file-detail-activity .project-file-activity.action{line-height:32px;color:#999;font-size:12px}.project-file-detail-activity .project-file-activity.action>.icon{width:30px;height:30px;position:absolute;left:59px;top:-2px;-webkit-border-radius:17px;-moz-border-radius:17px;border-radius:19px;background:#EEE;text-align:center;line-height:32px;color:#666;border:2px solid #F7F6F2}.project-file-detail-activity .project-file-activity.action>.icon.finish{background:#DF5A5A;color:#FFF}.project-file-detail-activity .project-file-activity.action>.icon.update_priority{background:#F75288;color:#FFF}.project-file-detail-activity .project-file-activity.action>.icon.restore{background:#A1CF64;color:#FFF}.project-file-detail-activity .project-file-activity.action>.icon.update_deadline{background:#eb935d;color:#FFF}.project-file-detail-activity .project-file-activity.action>.icon.commit_refer{background:#5191bd;color:#FFF}.project-file-detail-activity .project-file-activity.action>.icon i.icon{margin:0;font-size:14px;opacity:1}.project-file-detail-activity .project-file-activity.action>.detail{padding-left:100px}.project-file-detail-activity .project-file-activity.action>.detail .commits{margin:0;padding:0}.project-file-detail-activity .project-file-activity.action>.detail .commits .commit{line-height:23px}.project-file-detail-activity .project-file-activity.action>.detail .commits .all-message{line-height:1.2em;padding-left:20px;margin:0}.project-file-detail-activity .project-file-activity.comment>.avatar{position:absolute;left:3px;top:8px}.project-file-detail-activity .project-file-activity.comment>.avatar img{width:36px;height:36px}.project-file-detail-activity .project-file-activity.comment>.detail{position:relative;background:#FFF;padding:15px;margin-left:60px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #EEE}.project-file-detail-activity .project-file-activity.comment>.detail .content{font-size:14px;color:#333;margin-bottom:10px}.project-file-detail-activity .project-file-activity.comment>.detail .created-time{color:#999;font-size:12px}.project-file-detail-activity .project-file-activity.comment>.detail .created-time .mr10{margin-right:10px}.project-file-detail-activity .project-file-activity.comment>.detail .created-time .mr10 a{color:#999}.project-file-detail-activity .project-file-activity.comment>.detail .created-time .mr10 a:hover{color:#666}.project-file-detail-activity .project-file-activity.comment>.detail .created-time i.icon{margin-right:0}.project-file-detail-activity .project-file-activity.comment>.detail:before{margin-top:-11px;bottom:auto;right:auto;top:30px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#FFF;border-left:1px solid #EEE;border-bottom:1px solid #EEE}.project-file-detail-activity .project-file-activity.comment>.detail .created-time .comment,.project-file-detail-activity .project-file-activity.comment>.detail .created-time .remove{display:none}.project-file-detail-activity .project-file-activity.comment>.detail:hover .created-time .comment,.project-file-detail-activity .project-file-activity.comment>.detail:hover .created-time .remove{display:inline}.file-histories.detail{width:auto;height:auto;background:0 0}.file-histories.detail .file-history-wrapper{padding:0}.file-histories.detail .file-history-wrapper .file-history-item:before{background:#999;width:0}.file-histories.detail .file-history-wrapper .file-history-item.current:before{background:#eb935d!important}.file-histories.detail .file-history-wrapper .file-history-item{width:auto;border-bottom:1px solid #DCDDDE}.file-histories.detail .file-history-wrapper .file-history-item .file-history-confirm{position:absolute;top:14px;right:0}.file-histories.detail .file-history-wrapper .file-history-item .file-history-confirm .tips{color:#323a45;font-size:12px}.file-histories.detail .file-history-wrapper .file-history-item .file-history-confirm .actions{margin-top:20px;text-align:right}.file-histories.detail .file-history-wrapper .file-history-item .file-history-confirm .actions .button{margin-right:5px}.file-histories.detail .file-history-wrapper .file-history-column{vertical-align:top}.file-histories.detail .file-history-wrapper .file-history-column .file-history-version{vertical-align:top;background:#999;color:#fff;font-size:12px;display:inline-block;padding:2px 10px;border-radius:3px;margin-right:6px}.file-histories.detail .file-history-wrapper .file-history-column .file-history-name-wrapper{display:inline}.file-histories.detail .file-history-wrapper .file-history-column .file-history-name-wrapper .file-history-remark-editor{width:300px;outline:0;border:1px solid #ddd;padding:1px;height:19px}.file-histories.detail .file-history-wrapper .file-history-column .file-history-remark{opacity:.5}.file-histories.detail .file-history-wrapper .file-history-column .file-history-action{display:block;color:#323a45;opacity:.5}.file-histories.detail .file-history-wrapper .file-history-column .file-history-action .actions a{color:#2d59a2;font-size:12px}.file-histories.detail .file-history-wrapper .file-history-column .file-history-name{font-weight:800;font-size:14px;color:#323a45}.file-histories.detail .file-history-wrapper .file-history-item.current:after{border-top:0 solid transparent;border-right:0 solid transparent;border-bottom:1em solid transparent;border-left:1em solid transparent;border-left-color:#eb935d;right:auto;left:0}.file-histories.detail .file-history-wrapper .file-history-item.current .file-history-column .file-history-version{background:#eb935d}.file-histories.detail .upload-tip{font-weight:800;margin-top:20px;display:block;margin-bottom:-12px}.file-histories.detail .file-upload-zone{margin:20px 0;position:relative;border:2px dashed #CCC;height:auto;cursor:pointer;overflow:hidden;font-size:14px;border-radius:5px;padding:80px!important}.file-histories.detail .file-upload-zone:hover{border:2px dashed #A1CF64;color:#A1CF64}@media only screen and (max-width:1000px){.file-histories.detail .file-history-wrapper .file-history-remark{max-width:200px}}.file-histories.modal{background:0 0}.file-histories.modal .file-history-wrapper{padding:0 10px;height:530px;overflow-y:auto}.file-histories.modal .file-history-wrapper .file-history-item:before{background:#999;width:0}.file-histories.modal .file-history-wrapper .file-history-item.current:before{background:#eb935d!important}.file-histories.modal .file-history-wrapper .file-history-item{width:auto}.file-histories.modal .file-history-wrapper .file-history-item .file-history-confirm{position:absolute;top:14px;right:0}.file-histories.modal .file-history-wrapper .file-history-item .file-history-confirm .tips{color:#323a45;font-size:12px}.file-histories.modal .file-history-wrapper .file-history-item .file-history-confirm .actions{margin-top:20px;text-align:right}.file-histories.modal .file-history-wrapper .file-history-item .file-history-confirm .actions .button{margin-right:5px}.file-histories.modal .file-history-wrapper .file-history-column{vertical-align:top}.file-histories.modal .file-history-wrapper .file-history-column .file-history-version{vertical-align:top;background:#999;color:#fff;font-size:12px;display:inline-block;padding:2px 10px;border-radius:3px;margin-right:6px}.file-histories.modal .file-history-wrapper .file-history-column .file-history-name-wrapper{display:inline}.file-histories.modal .file-history-wrapper .file-history-column .file-history-name-wrapper .file-history-remark-editor{outline:0;border:1px solid #ddd;padding:1px;height:19px;width:150px}.file-histories.modal .file-history-wrapper .file-history-column .file-history-remark{opacity:.5}.file-histories.modal .file-history-wrapper .file-history-column .file-history-action{display:block;color:#323a45;opacity:.5}.file-histories.modal .file-history-wrapper .file-history-column .file-history-action .actions a{color:#2d59a2;font-size:12px}.file-histories.modal .file-history-wrapper .file-history-column .actions{padding:10px 0;text-align:left}.file-histories.modal .file-history-wrapper .file-history-column .file-history-name{font-weight:800;font-size:14px;color:#323a45;max-width:180px}.file-histories.modal .file-history-wrapper .file-history-item.current:after{border-top:0 solid transparent;border-right:0 solid transparent;border-bottom:1em solid transparent;border-left:1em solid transparent;border-left-color:#eb935d;right:auto;left:0}.file-histories.modal .file-history-wrapper .file-history-item.current .file-history-column .file-history-version{background:#eb935d}.file-histories.modal .file-history-confirm{background:#f4f4f4;height:70px;border-bottom-right-radius:5px}.file-histories.modal .file-history-confirm .tips{display:inline-block;padding:10px}.file-histories.modal .file-history-confirm .actions{padding:0 2rem}.file-histories.modal #file-modal-history-upload-zone{display:none}.file-histories.modal .upload-picker-wrapper{border-bottom-right-radius:4px;height:70px;text-align:center;background-color:#f4f4f4}.file-histories.modal .upload-picker-wrapper .upload-button{cursor:pointer;display:inline-block;border-radius:3px;width:280px;padding:14px 10px;margin-top:16px;color:rgba(50,58,69,.5)}.file-histories.modal .upload-picker-wrapper .upload-button:hover{color:#A1CF64}@media only screen and (max-width:1420px){.file-activities,.file-histories{height:453px}.file-activities .file-activity-items,.file-histories.modal .file-history-wrapper{height:383px}.project-file-viewer #text-preview .txt-preview-wrapper{min-height:460px}.project-file-viewer .attachment-preview-modal-previewer{height:520px}.project-file-viewer .attachment-preview-modal-previewer .preview-image-container{line-height:494px}.project-file-viewer .attachment-preview-modal-editor .editor .pagedown.wmd-panel>.pagedown-editor{height:411px}.project-file-viewer #text-preview .markdown.content{min-height:467px}}#preview-image{max-width:90%}#preview-icon{position:relative;width:200px;height:200px;cursor:pointer;margin:100px auto}#preview-icon:hover i.icon{color:rgba(255,255,255,1)}#preview-icon i.icon{font-size:60px;position:absolute;color:rgba(255,255,255,0);bottom:5px;right:5px;margin:0}#preview-icon .file-icon{width:200px;height:200px;font-size:30px;font-size:80px;line-height:170px}#image-preview,#pdf-preview{position:relative}#pdf-preview.loaded{display:inline-block}#pdf-preview .button:hover{background:rgba(0,0,0,.1);cursor:pointer}#pdf-preview .next,#pdf-preview .prev{position:absolute;width:50%;height:100%;z-index:2;font-size:50px}#pdf-preview .button i.icon{display:none;position:absolute;top:50%;margin-top:-25px;color:#FFF}#pdf-preview .button:hover i.icon{display:inline}#pdf-preview .prev{left:0}#pdf-preview .prev>i.icon{left:20px}#pdf-preview .next{right:0}#pdf-preview .next>i.icon{right:20px}#pdf-preview .count{border-radius:3px;position:absolute;bottom:5px;left:50%;margin-left:-40px;width:100px;font-size:16px;color:#FFF;background:rgba(0,0,0,.3);text-align:center}#pdf-preview>.resize{background:rgba(0,0,0,.1);display:none;position:absolute;top:5px;right:5px;width:50px;height:50px;z-index:3;color:#FFF;text-align:center;line-height:55px;cursor:pointer}#pdf-preview:hover>.resize{display:inline;border-radius:3px}#pdf-preview>.resize i.resize.icon{margin:0;font-size:25px}#preview-image-loading{position:absolute;z-index:3;width:140px;font-size:14px;top:50px;left:50%;background:rgba(0,0,0,.8);color:#FFF;padding:2px 3px;border-radius:3px;margin-left:-70px}.preview-button{margin-bottom:20px}.preview-button a{font-size:14px;background:#fff;color:#333;padding:4px 5px;border-radius:3px}.preview-button a:hover{background:#EEE;color:#000}.preview-button a:first-child{margin-right:20px}.preview-button a i{font-size:12px}.preview-button .prev{display:inline-block;float:left;margin-left:10px}.preview-button .next{display:inline-block;float:right;margin-right:10px}#text-preview .txt-preview-wrapper{padding:10px;background:#FFF;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.file_info_word{margin-bottom:8px;font-size:14px}.white-block{padding:10px;border-radius:3px;background:#fff}#actions>.ui.default.button>i{margin-right:0}.project-upgrade-form .description{color:#666;font-size:15px;line-height:34px;margin-bottom:30px}.project-upgrade-form .ui.form .field>label{color:#000;font-size:16px}.project-upgrade-form .ui.form .field .tips{color:#999;font-size:15px}.project-upgrade-form .ui.form .field .tips.green{color:#32be77}.project-upgrade-form .ui.form .field .tips.red{color:#D95C5C}.project-upgrade-form .ui.form ul.versions{padding:0;margin:25px 0 0}.project-upgrade-form .ui.form ul.versions li{float:left;margin:0 30px 20px 0;list-style:none}.project-upgrade-form .ui.form ul.versions li input{display:none}.project-upgrade-form .ui.form ul.versions li input:checked~label{border-color:#32be77}.project-upgrade-form .ui.form ul.versions li input:checked~label a.corner.label{display:inline-block}.project-upgrade-form .ui.form ul.versions li label{display:inline-block;position:relative;width:220px;height:315px;text-align:center;background:#FFF;border-radius:3px;border:2px solid #DDD;padding:15px 10px 10px;box-sizing:border-box;cursor:pointer}.project-upgrade-form .ui.form ul.versions li label h2{margin:10px 0;font-weight:400;font-style:normal}.project-upgrade-form .ui.form ul.versions li label p{font-size:12px;line-height:20px;margin:0;color:#888}.project-upgrade-form .ui.form ul.versions li label>i.icon{font-size:50px;background-color:#536B77;opacity:1;margin-right:0}.project-upgrade-form .ui.form ul.versions li label a.corner.label{display:none;font-size:20px;border-color:#32be77!important}.project-upgrade-form .ui.form ul.versions li label a.corner.label i.icon{opacity:1}.project-upgrade-form .ui.form>.field.choose-field{margin-bottom:20px}.project-upgrade-form .ui.form .fields:not(:last-child),.project-upgrade-form .ui.form>.field:not(:last-child){margin-bottom:35px}.project-upgrade-form .ui.form .payment-period .field{margin-right:20px!important}.project-upgrade-form .ui.form .payment-period .field.voucher-form>p{display:block}.project-upgrade-form .ui.form .payment-period input~label,.project-upgrade-form .ui.form .payment-period label.just-show{padding-left:1.6em}.project-upgrade-form .ui.form .payment-period input~label em,.project-upgrade-form .ui.form .payment-period label.just-show em{color:#32be77;font-style:normal;font-weight:500;font-size:20px}.project-upgrade-form .ui.form .payment-period input~label strong,.project-upgrade-form .ui.form .payment-period label.just-show strong{background-color:#E88964;color:#fff;border-radius:3px;padding:1px 6px;font-size:14px}.project-upgrade-form .ui.form .payment-discount-info{display:inline-block;padding:3px 5px 7px 8px;border:1px dashed #999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;line-height:22px}.public-project-view .project-upgrade-wrapper .project-upgraded>section.summary{border:1px solid #EEE}.project-upgrade-wrapper .project-upgraded .progress-bar{height:15px;background:#EEE;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;position:relative}.project-upgrade-wrapper .project-upgraded .progress-bar .progress{position:absolute;display:inline-block;height:100%;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;width:0;-webkit-transition:all cubic-bezier(0,0,.2,1) .6s;-moz-transition:all cubic-bezier(0,0,.2,1) .6s;-ms-transition:all cubic-bezier(0,0,.2,1) .6s;-o-transition:all cubic-bezier(0,0,.2,1) .6s;transition:all cubic-bezier(0,0,.2,1) .6s}.project-upgrade-wrapper .project-upgraded .progress-bar.red .progress{background-color:#D95C5C}.project-upgrade-wrapper .project-upgraded .progress-bar.green .progress{background-color:#A1CF64}.project-upgrade-wrapper .project-upgraded .progress-bar.blue .progress{background-color:#6ECFF5}.project-upgrade-wrapper .project-upgraded>section{background:#FFF;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:20px;margin-bottom:30px}.project-upgrade-wrapper .project-upgraded>section>h1{margin:0 0 20px 6px;font-weight:400;font-size:20px}.project-upgrade-wrapper .project-upgraded>section>h1 em{background:#EEE;color:#444;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:3px 5px;margin:0 5px;display:inline-block;font-style:normal;vertical-align:middle}.project-upgrade-wrapper .project-upgraded>section>h1 em i.icon{margin-right:2px}.project-upgrade-wrapper .project-upgraded>section>h1>a{font-size:12px;color:#333}.project-upgrade-wrapper .project-upgraded>section>.grid .column{overflow:hidden}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner{width:240px}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner .title{font-size:16px;font-weight:400;margin:1px 0 15px;height:28px}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner .title strong{font-weight:400}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner .title strong i.icon{font-weight:500;color:#1E4A5E;font-size:28px}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner .title .button{float:right}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner .title em{background:#EEE;color:#444;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:3px 5px;margin:0 5px 3px;display:inline-block;font-style:normal;vertical-align:middle}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner>.progress{padding:0 0 0 8px}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner>.progress .progress-bar{margin-bottom:5px}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner>.progress .rate{font-size:13px;color:#333}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner>.progress .rate em{color:#000;font-weight:500;font-style:normal}.project-upgrade-wrapper .project-upgraded>section>.grid .column .inner>.progress .renewal-setting{font-size:13px;float:right;color:#999}.project-upgrade-wrapper .project-upgraded p.package{font-size:16px}.project-upgrade-wrapper .project-upgraded p.package a{margin-right:5px}.project-upgrade-wrapper .project-upgraded p.package .tips{font-size:13px;color:#999}.project-upgrade-wrapper .project-upgraded article{font-size:13px;color:#666;line-height:23px}.project-upgrade-wrapper .money span:first-child{font-weight:700;opacity:.6}.project-upgrade-wrapper .money span:last-child{font-size:2em;color:rgba(255,0,0,.6)}.voucher-form{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.voucher-form i{margin:0;width:20px}.voucher-form span{font-weight:700;opacity:.6;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.voucher-form>p>i:hover,.voucher-form>p>span:hover{cursor:pointer}.voucher-form .input{width:200px!important;float:left}.voucher-form .captcha-img{height:30px;margin-left:10px;float:left}.voucher-form .voucher-form-submit>a{margin-left:10px}.voucher-form .voucher-code-show{display:inline-block;border:1px dashed #ddd;line-height:30px;padding:3px 5px 7px 10px}.voucher-form .voucher-code-show>i{visibility:hidden}.voucher-form .voucher-code-show>i:hover{cursor:pointer}.voucher-form .voucher-code-show:hover>i{visibility:visible;vertical-align:middle;line-height:50px;height:50px;display:inline-block}.voucher-form .voucher-code-show>div{display:inline-block;float:left}.voucher-form .voucher-code-show>div>p{color:#999;margin:0;font-size:12px;line-height:18px}#project-upgrade-pro-modal{width:700px;height:auto;margin-top:-230px;margin-left:-350px}#project-upgrade-pro-modal>.content{height:auto}#project-upgrade-pro-modal>.content .ui.form .pl10{padding-left:10px}#project-upgrade-pro-modal .version-description,#renewal-manually-modal .version-description{position:relative;margin-bottom:50px}#project-upgrade-pro-modal .version-description i.icon,#renewal-manually-modal .version-description i.icon{position:absolute;font-size:50px;background-color:#1E4A5E}#project-upgrade-pro-modal .version-description article,#renewal-manually-modal .version-description article{margin-left:110px}#project-upgrade-pro-modal .version-description article h3,#renewal-manually-modal .version-description article h3{font-size:26px;font-weight:400;padding:13px 0;margin:0}#project-upgrade-pro-modal .version-description article h3 a,#renewal-manually-modal .version-description article h3 a{font-size:12px}#project-upgrade-pro-modal .version-description article p,#renewal-manually-modal .version-description article p{font-size:14px;color:#666;margin:0}#project-upgrade-pro-modal strong.red,#renewal-manually-modal strong.red{font-size:18px;color:#D95C5C}#renewal-manually-modal{width:auto;max-width:630px;height:auto}#renewal-manually-modal>.content{height:auto}#project-upgrade-just-renewal-modal,#project-upgrade-renewal-modal{width:600px;height:360px;margin-left:-300px;margin-top:-180px}#project-upgrade-just-renewal-modal>.content,#project-upgrade-renewal-modal>.content{height:245px}#project-renewal-result-modal{width:400px;height:200px;margin-left:-200px;margin-top:-100px}#project-renewal-result-modal>.content{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;height:100%}#password-required-modal{width:500px;height:250px;margin-left:-250px;margin-top:-125px}#password-required-modal>.content{height:190px}.coding.help-popup.coupon-popup{z-index:1101}.project-support-wrapper>section{background:#FFF;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:20px;margin-bottom:30px;border:1px solid #EEE}.project-support-wrapper>section h2{font-size:18px;font-weight:400;margin:0 0 25px}.project-support-wrapper>section h2 .button{float:right}.project-support-wrapper>section.qa ul{list-style:none;padding:0;margin-bottom:0}.project-support-wrapper>section.qa ul li{float:left;display:inline-block;width:50%;box-sizing:border-box;padding:0 20px 0 0;margin-bottom:10px;font-size:14px}.project-support-wrapper>section.qa ul li a{color:#333}.project-support-create-wrapper .ui.form .field label{margin-bottom:10px}.project-support-create-wrapper .ui.form .field .pagedown.wmd-panel>.pagedown-editor{height:200px}@media only screen and (max-width:1600px){#project-upgrade-wrapper{width:980px;margin:0 auto}}@media only screen and (max-width:2560px) and (min-width:1601px){#project-upgrade-wrapper{width:980px;margin:0 auto}}#project-upgrade-wrapper{padding:50px 0}#project-upgrade-wrapper h1{font-size:40px;font-weight:300;color:#32be77;text-align:center;margin:0;letter-spacing:6px}#project-upgrade-wrapper h1 span{letter-spacing:10px}#project-upgrade-wrapper h2{font-weight:300;color:#888;text-align:center;margin-top:0}#project-upgrade-wrapper h3{color:#586975;font-size:18px;font-weight:400;text-align:center}#project-upgrade-wrapper ul.features{list-style:none;padding:0;margin:50px 0}#project-upgrade-wrapper ul.features li{float:left;display:inline-block;width:50%;box-sizing:border-box;text-align:right;padding:10px 0}#project-upgrade-wrapper ul.features li:nth-child(2n){text-align:left;padding-left:30px}#project-upgrade-wrapper ul.features li>div{display:inline-block;width:320px;height:60px;text-align:left}#project-upgrade-wrapper ul.features li i.icon{font-size:55px;color:#F7F6F2;text-shadow:-1px -1px 0 #32be77,1px -1px 0 #32be77,-1px 1px 0 #32be77,1px 1px 0 #32be77;margin-right:0;position:absolute}#project-upgrade-wrapper ul.features li p{padding-left:75px;margin:3px 0 0;color:#838C94;font-size:14px;line-height:25px}#project-upgrade-wrapper ul.features li p strong{color:#586975;font-size:18px;font-weight:400;display:block}#project-upgrade-wrapper article.tips{font-size:12px;color:#999;margin-bottom:50px}#project-upgrade-wrapper article.tips p{margin-left:2em;position:relative;line-height:20px}#project-upgrade-wrapper article.tips p span{position:absolute;left:-2em}#project-upgrade-wrapper form.ui.form{text-align:center}#project-upgrade-wrapper form.ui.form>.field{margin-bottom:30px}#project-upgrade-wrapper form.ui.form>.field [cg-ui-dropdown]{width:172px;height:24px;line-height:1.8}#project-upgrade-wrapper form.ui.form>.field .ui.dropdown>.text{float:left;width:140px}#project-upgrade-wrapper form.ui.form>.field .ui.dropdown>.dropdown.icon{float:right}#project-upgrade-wrapper form.ui.form>.field .ui.dropdown .menu .item{border-top:0;padding:.65em 1em!important;max-width:200px}#project-upgrade-wrapper .markdown.content table{border:1px solid #CCC}#project-upgrade-wrapper .markdown.content table thead{border-bottom:1px solid #CCC}#project-upgrade-wrapper .markdown.content table td,#project-upgrade-wrapper .markdown.content table th{background:#FFF;border:none!important;height:50px}#project-upgrade-wrapper .markdown.content table td:nth-child(1),#project-upgrade-wrapper .markdown.content table th:nth-child(1){color:#838C94}#project-upgrade-wrapper .markdown.content table td:nth-child(2),#project-upgrade-wrapper .markdown.content table th:nth-child(2){color:#586975}#project-upgrade-wrapper .markdown.content table td:nth-child(3),#project-upgrade-wrapper .markdown.content table th:nth-child(3){color:#5191bd}#project-upgrade-wrapper .markdown.content table td:nth-child(4),#project-upgrade-wrapper .markdown.content table th:nth-child(4){color:#32be77}#project-upgrade-wrapper .markdown.content table tr{border:none!important}#project-upgrade-wrapper .markdown.content table tr td{text-align:right}#project-upgrade-wrapper .markdown.content table tr td:not(:first-child){text-align:center}#project-upgrade-wrapper .markdown.content table tr th{font-size:20px}.project-expired-label{background:#CCC;color:#444;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:2px 5px;margin:0 5px;font-style:normal;vertical-align:middle}.col-enterprise{width:200px;color:#F75288;box-sizing:border-box}@font-face{font-family:project-member-font;src:url(data:application/octet-stream;base64,d09GRgABAAAAAAsUAA4AAAAAE1wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPipKBmNtYXAAAAGIAAAAOAAAAUrQERm3Y3Z0IAAAAcAAAAAKAAAACgAAAABmcGdtAAABzAAABZQAAAtwiJCQWWdhc3AAAAdgAAAACAAAAAgAAAAQZ2x5ZgAAB2gAAAEHAAABHq2nHUdoZWFkAAAIcAAAADUAAAA2COM/+WhoZWEAAAioAAAAIAAAACQItgRyaG10eAAACMgAAAAIAAAACAjuAABsb2NhAAAI0AAAAAYAAAAGAI8AAG1heHAAAAjYAAAAIAAAACAAngvSbmFtZQAACPgAAAF3AAACzcydGx1wb3N0AAAKcAAAADoAAABNjgajv3ByZXAAAAqsAAAAZQAAAHvdawOFeJxjYGQpZ5zAwMrAwVTFtIeBgaEHQjM+YDBkZGJgYGJgZWbACgLSXFMYHF4wvGBgDvqfxRDFHMQwAyjMCJIDAOiJC694nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/P8PUgChJRih6oGAkY1hxAMAY8cGrgAAAAAAAAAAAAAAAHicrVZpcxNHEJ3VYcs2PoIPEjaBWcZyjHZWmMsIEMbsShbgHPKV7EKOXUt27otP/Ab9ml6RVJFv/LS8Hh3YYCdVVChK/ab37Uz3655ek9CSxF5Yj6TcfCmmtjZpZOdJSDdsWo7iQ9nZCylTTP4uiIJotdS+7TgkIhKBqnWFJYLY98jSJONDjzJatiW9alJu6Ul32RoP6q369tPQUY7dCSU1m6FD65EtqcKoEkUy7ZGSNi3D1V9JWuHnK8x81QwlgugkksabYQyP5GfjjFYZrcZ2HEWRTZYbRYpEMzyIIo+yWmKfXDFBQPmgGVJe+TSifIQfkRV7lNMKccl2mt/3JT/pHc6/JOJ6i7IlB/5AdmQHe6cr+SLS2grjpp1sR6GK8HR9J8Qjm5Pqn+xRXtNo4HZFpifNCJbKV5BY+Qll9g/JauF8ypc8GtWSg5wIWi9zYl/yDrQeR0yJaybIgu6OToig7pecodhj+rj4471dLBchBMg4lvWOSrgQRilhs5okbQQ5iJKyRZXUekdMnPI6LeItYb9O7ehLZ7RJqDsxnq2Hjq2cqOR4NKnTTKZO7aTm0ZQGUUo6Ezzm1wGUH9Ekr7axmsTKo2lsM2MkkVCghXNpKohlJ5Y0BdE8mtGbu2Gaa9eiRZo8UM89ek9vboWbOz2n7cA/a/xndSqmg70wnZ4OyEp8mna5SdG6fnqGfybxQ9YCKpEtNsOUxUO2fgfl5WNLjsJrA2z3nvMr6H32RMikgfgb8B4v1SkFTIWYVVAL3bTWtSzL1GpWi1Rk6rshTStf1mkCTTkOfWNfxjj+r5kZS0wJ3+/E6dkRl5659iXINIfcZl2P5nVqsV2AzmzP6TTL9n2d5th+oNM82/M6HWFr63SU7Yc6LbD9SKdjbC9oQZPuOwRyEYFcwAYSgbB1EAjbSwiErUIgbBcRCNsiAmG7hEDYfoxA2C4jELaXtayafippHDsTywBFiAOjOe7IZW4qV1PJpRKui0anNuQpcqukonhW/SsD/eKRN6yBtUC6RNb8ikmufFSV44+uaHnTxLkCjlV/e3NcnxMPZb9Y+FPwv9qaqqRXrHlkchV5I9CT40TXJhWPrunyuapH1/+Lig5rgX4DpRALRVmWDb6ZkPBRp9NQDVzlEDMbMw/X9bplzc/h/JsYIQvofvw3FBoL3INOWUlZ7WCv1dePZbm3B+WwJ1iSYr7M61vhi4zMSvtFZil7PvJ5wBUwKpVhqw1creDNexLzkOlN8kwQtxVlg6SNx5kgsYFjHjBvvpMgJExdtYHaKZywgbxgzCnY74RDVG+U5XB7oX0ejZR/a1fsyBkVTRD4bfZG2OuzUPJbrIGEJ7/U10BVIU3FuKmASyPlhmrwYVyt20YyTqCvqNgNy7KKDx9H3HdKjmUg+UgRq0dHP629Qp3Uuf3KKG7fO/0IgkFpYv72vpnioJR3tZJlVm0DU7calVPXmsPFqw7dzaPue8fZJ3LWNN10T9z0vqZVt4ODuVkQ7dsclKVMLqjrww4bqMvNpdDqZVyS3nYPMCwwoN+hFRv/V/dx+DxXqgqj40i9nagfo89iDPIPOH9H9QXo5zFMuYaU53uXE59u3MPZMl3FXayf4t/ArLXmZukacEPTDZiHrFodusoNfKcGOj3S3I70EPCx7grxAGATwGLwie5axvMpgPF8xhwf4HPmMGgyh8EWcxhsM2cNYIc5DHaZw2CPOQy+YM46wJfMYRAyh0HEHAZPmBMAPGUOg6+Yw+Br5jD4hjn3Ab5lDoOYOQwS5jDY13RrKHOLF3QXqG1QFejA9BMW97A41FQZsr/jhWF/bxCzfzCIqT9quj2k/sQLQ/3ZIKb+YhBTf9V0Z0j9jReG+rtBTP3DIKY+0y/GcpnBX0a+S4UDyi42n/P3xPsHwhpAtgABAAH//wAPeJwlTbtOw0AQvN3o7uB8OIIgW76CWEE+R0LhESJboiBIWIAEEhJl0iQVtChlGpf8Ah2fQn1pabHEH/gHwCyh2NnZGe0ME03TPHHRemBtFrNTNmbX7J5tX/i3N1eXZ6NBL9pRKAYHkFohWyLoQpDlnczy1LZB7NI5huwI8iyxPRK6IGmCIYmjtOOD3IPwHPJD4IRBKG1oU9o+4F0sNb6DkLFY75+PSOua81rryPOc8+CFb3GjlHNKGaLkLWclYjlbY8NwUpyklXk77lcR4AT3N1HI70eK3SCCr9JbUFL996oUhbuVTjgnsnLUQU3k4BLL+X/qvPwqpgim6j+D+UyGxZT9AhPSN48AeJxjYGRgYADiyznfv8fz23xl4GZ+ARRhuBQ/2RVCZ4r+//8/g5WNOQjI5WBgAokCAIumDUwAAAB4nGNgZGBgDvqfxRDFysbA8P8/KzsDUAQFMAEAauAEMgPoAAAFBgAAAAAAAACPAAAAAQAAAAIAUAAGAAAAAAACAAAAEABzAAAAIgtwAAAAAHicdZHNSsNAFEa/aWvVFlQU3HpXUhHTH+hGEAqVutFNkW4ljWmSkmbKZFroa/gOPowv4bP4NZ2KtJiQzLln7ty5mQA4xzcUNleXz4YVjhhtuIRDPDgu0z86rpCfHR+gjlfHVfo3xzXcInJcxwU+WEFVjhlN8elY4UydOi7hRF05LtPfOa6QHxwf4FK9OK7SB45rGKnccR3X6quv5yuTRLGVRv9GOq12V8Yr0VRJ5qfiL2ysTS49mejMhmmqvUDPtjwMo0Xqm224HUehyROdSdtrbdVTmIXGt+H7unq+jDrWTmRi9EwGLkPmRk/DwHqxtfP7ZvPvfuhDY44VDBIeVQwLQYP2hmMHLbT5IwRjZggzN1kJMvhIaXwsuCIuZnLGPT4TRhltyIyU7CHge7bnh6SI61NWMXuzu/GItN4jKbywL4/d7WY9kbIi0y/s+2/vOZbcrUNruWrdpSm6Egx2agjPYz03pQnoveJULO09mrz/+b4f4GSETQB4nGNgYoAALgbsACjPyKSSnJ+SmZeuW1CUn5WaXKKbm5qblFqkm5mcn6cLlErVTUnNq2RgAAAlkQ3uAAB4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGVidNjIwaEFoDhR6JwMDAycyi5nBZaMKY0dgxAaHjoiNzCkuG9VAvF0cDQyMLA4dySERICWRQLCRgUdrB+P/1g0svRuZGFwAB9MiuAAAAA==) format("woff"),url(data:application/octet-stream;base64,AAEAAAAOAIAAAwBgT1MvMj4qSgYAAADsAAAAVmNtYXDQERm3AAABRAAAAUpjdnQgAAAAAAAAB2QAAAAKZnBnbYiQkFkAAAdwAAALcGdhc3AAAAAQAAAHXAAAAAhnbHlmracdRwAAApAAAAEeaGVhZAjjP/kAAAOwAAAANmhoZWEItgRyAAAD6AAAACRobXR4CO4AAAAABAwAAAAIbG9jYQCPAAAAAAQUAAAABm1heHAAngvSAAAEHAAAACBuYW1lzJ0bHQAABDwAAALNcG9zdI4Go78AAAcMAAAATXByZXDdawOFAAAS4AAAAHsAAQR3AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAANS/2oAWgNSAJgAAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAP//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv///2gFBgNSAA8AIAAzAD8ARwBPABFADktIRkM6NC0iGRIKAgYtKwEnJgYHAwYWHwEWNjcTNiYFJyYPAQYUHwEWPwE2LwE3NiUmIg8BBh8BBwYfARYyPwE2NCcTDgEHHgEXPgE3LgEFPgE3FhcHJhcmJzcWFw4BAkwgBwwCwAEGByAGDALAAQb+1BkMDPAFBfAMDBkLC8rKCwGIBQ0FGgoKysoKChoFDQXwBQV7YIACAoBgYIACAoD/AAJaRDEn3hqgMCjeGQECWgIjCQIGB/1nBwwCCAIGBwKZBwtzGQsL8AUNBfAKChkMDMrLDCUFBRkMDMvKDAwZBQXwBQ0FAnsCgGFggAICgGBhgOFEWwIBGt4ocQEa3SUyRFsAAAAAAQAAAAEAANNs9/dfDzz1AAsD6AAAAADSX5NFAAAAANJfaRX///9oBQYDUgAAAAgAAgAAAAAAAAABAAADUv9qAFoFBgAA//8FBwABAAAAAAAAAAAAAAAAAAAAAgPoAAAFBgAAAAAAAACPAAAAAQAAAAIAUAAGAAAAAAACAAAAEABzAAAAIgtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAgANQABAAAAAAACAAcAPQABAAAAAAADAAgARAABAAAAAAAEAAgATAABAAAAAAAFAAsAVAABAAAAAAAGAAgAXwABAAAAAAAKACsAZwABAAAAAAALABMAkgADAAEECQAAAGoApQADAAEECQABABABDwADAAEECQACAA4BHwADAAEECQADABABLQADAAEECQAEABABPQADAAEECQAFABYBTQADAAEECQAGABABYwADAAEECQAKAFYBcwADAAEECQALACYByUNvcHlyaWdodCAoQykgMjAxNSBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9udGVsbG9SZWd1bGFyZm9udGVsbG9mb250ZWxsb1ZlcnNpb24gMS4wZm9udGVsbG9HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANQAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AZgBvAG4AdABlAGwAbABvAFIAZQBnAHUAbABhAHIAZgBvAG4AdABlAGwAbABvAGYAbwBuAHQAZQBsAGwAbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAZgBvAG4AdABlAGwAbABvAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAECJGNvZGluZy1wcm9qZWN0LW1lbWJlci1pY29uLWNvZGUtZGVueQAAAAAAAAEAAf//AA8AAAAAAAAAAAAAAACwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwgZCCwwFCwBCZasigBCkNFY0VSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQpDRWNFYWSwKFBYIbEBCkNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ABK1lZI7AAUFhlWVktsAMsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAQsIyEjISBksQViQiCwBiNCsQEKQ0VjsQEKQ7AAYEVjsAMqISCwBkMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZISCwQFNYsAErGyGwQFkjsABQWGVZLbAFLLAHQyuyAAIAQ2BCLbAGLLAHI0IjILAAI0JhsAJiZrABY7ABYLAFKi2wBywgIEUgsAtDY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAgssgcLAENFQiohsgABAENgQi2wCSywAEMjRLIAAQBDYEItsAosICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAssICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDCwgsAAjQrILCgNFWCEbIyFZKiEtsA0ssQICRbBkYUQtsA4ssAFgICCwDENKsABQWCCwDCNCWbANQ0qwAFJYILANI0JZLbAPLCCwEGJmsAFjILgEAGOKI2GwDkNgIIpgILAOI0IjLbAQLEtUWLEEZERZJLANZSN4LbARLEtRWEtTWLEEZERZGyFZJLATZSN4LbASLLEAD0NVWLEPD0OwAWFCsA8rWbAAQ7ACJUKxDAIlQrENAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAOKiEjsAFhIIojYbAOKiEbsQEAQ2CwAiVCsAIlYbAOKiFZsAxDR7ANQ0dgsAJiILAAUFiwQGBZZrABYyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wEywAsQACRVRYsA8jQiBFsAsjQrAKI7AAYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wFCyxABMrLbAVLLEBEystsBYssQITKy2wFyyxAxMrLbAYLLEEEystsBkssQUTKy2wGiyxBhMrLbAbLLEHEystsBwssQgTKy2wHSyxCRMrLbAeLACwDSuxAAJFVFiwDyNCIEWwCyNCsAojsABgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAfLLEAHistsCAssQEeKy2wISyxAh4rLbAiLLEDHistsCMssQQeKy2wJCyxBR4rLbAlLLEGHistsCYssQceKy2wJyyxCB4rLbAoLLEJHistsCksIDywAWAtsCosIGCwEGAgQyOwAWBDsAIlYbABYLApKiEtsCsssCorsCoqLbAsLCAgRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsC0sALEAAkVUWLABFrAsKrABFTAbIlktsC4sALANK7EAAkVUWLABFrAsKrABFTAbIlktsC8sIDWwAWAtsDAsALABRWO4BABiILAAUFiwQGBZZrABY7ABK7ALQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixLwEVKi2wMSwgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wMiwuFzwtsDMsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA0LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyMwEBFRQqLbA1LLAAFrAEJbAEJUcjRyNhsAlDK2WKLiMgIDyKOC2wNiywABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyCwCEMgiiNHI0cjYSNGYLAEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBENgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA3LLAAFiAgILAFJiAuRyNHI2EjPDgtsDgssAAWILAII0IgICBGI0ewASsjYTgtsDkssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA6LLAAFiCwCEMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wOywjIC5GsAIlRlJYIDxZLrErARQrLbA8LCMgLkawAiVGUFggPFkusSsBFCstsD0sIyAuRrACJUZSWCA8WSMgLkawAiVGUFggPFkusSsBFCstsD4ssDUrIyAuRrACJUZSWCA8WS6xKwEUKy2wPyywNiuKICA8sAQjQoo4IyAuRrACJUZSWCA8WS6xKwEUK7AEQy6wKystsEAssAAWsAQlsAQmIC5HI0cjYbAJQysjIDwgLiM4sSsBFCstsEEssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyBHsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxKwEUKy2wQiywNSsusSsBFCstsEMssDYrISMgIDywBCNCIzixKwEUK7AEQy6wKystsEQssAAVIEewACNCsgABARUUEy6wMSotsEUssAAVIEewACNCsgABARUUEy6wMSotsEYssQABFBOwMiotsEcssDQqLbBILLAAFkUjIC4gRoojYTixKwEUKy2wSSywCCNCsEgrLbBKLLIAAEErLbBLLLIAAUErLbBMLLIBAEErLbBNLLIBAUErLbBOLLIAAEIrLbBPLLIAAUIrLbBQLLIBAEIrLbBRLLIBAUIrLbBSLLIAAD4rLbBTLLIAAT4rLbBULLIBAD4rLbBVLLIBAT4rLbBWLLIAAEArLbBXLLIAAUArLbBYLLIBAEArLbBZLLIBAUArLbBaLLIAAEMrLbBbLLIAAUMrLbBcLLIBAEMrLbBdLLIBAUMrLbBeLLIAAD8rLbBfLLIAAT8rLbBgLLIBAD8rLbBhLLIBAT8rLbBiLLA3Ky6xKwEUKy2wYyywNyuwOystsGQssDcrsDwrLbBlLLAAFrA3K7A9Ky2wZiywOCsusSsBFCstsGcssDgrsDsrLbBoLLA4K7A8Ky2waSywOCuwPSstsGossDkrLrErARQrLbBrLLA5K7A7Ky2wbCywOSuwPCstsG0ssDkrsD0rLbBuLLA6Ky6xKwEUKy2wbyywOiuwOystsHAssDorsDwrLbBxLLA6K7A9Ky2wciyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sAEVMC0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAVCsQAAKrEABUKxAAgqsQAFQrEACCqxAAVCuQAAAAkqsQAFQrkAAAAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmxAAwquAH/hbAEjbECAEQA) format("truetype")}[class*=" project-member-icon-"]:before,[class^=project-member-icon-]:before{font-family:project-member-font;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em}.project-member-icon-code-deny:before{content:'\e800'}.project-member-page #inner-menu{width:240px}.project-member-page #inner-menu a.item img.avatar32{margin-right:10px}.project-member-page #inner-menu a.item{line-height:32px}.project-member-page #inner-menu .search.item{padding:10px 25px}.project-member-page .project-members .member-item{cursor:pointer;padding:6px 15px 6px 20px;border-radius:0!important}.project-member-page .project-members .member-item-wrapper .avatar{float:left}.project-member-page .project-members .member-item-wrapper .wrapper{font-size:14px;color:#333;padding-left:40px;padding-right:15px;line-height:1.2}.project-member-page .project-members .member-item-wrapper .wrapper .alias,.project-member-page .project-members .member-item-wrapper .wrapper .title{font-size:14px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:110px}.project-member-page .project-members .member-item-wrapper{position:relative;display:table;border-collapse:separate;width:100%}.project-member-page .project-members .member-item-wrapper .info{float:left;width:100%;position:relative}.project-member-page .project-members .member-item-wrapper .right{display:table-cell;width:1%;white-space:nowrap;vertical-align:middle}.project-member-page .project-members .item .member-item-wrapper .right i.remove{visibility:hidden}.project-member-page .project-members .item .member-item-wrapper .right i.remove.unvisible{visibility:hidden!important}.project-member-page .project-members .item:hover .member-item-wrapper .right i.remove{visibility:visible}.project-member-page .project-members .item .member-item-wrapper .action i{font-size:14px;padding:0;margin:0}.project-member-page .project-members a.item{padding:5px 15px!important}.project-member-page .project-members a.item i.icon{margin-left:6px}.project-member-page .project-members .item i.icon.owner{color:#eeac82}.project-member-page .project-members .item i.icon.admin{color:#63cc96}.project-member-page .project-members .item i.project-member-icon-code-deny.visitor{color:#999}.project-member-page #inner-menu .member-item .alias{padding-top:3px;font-size:12px;color:#999}.project-member-page #inner-menu input.search-member{border:1px solid rgba(0,0,0,.15);font-size:10px}.project-member-page #inner-menu input.search-member~i.search{padding-top:8px}.project-member-page #project-member{margin-left:240px!important}.project-member-page #project-member .member.info{padding-bottom:30px;border-bottom:1px solid #CCC}.project-member-page #project-member .member.info .avatar{float:left}.project-member-page #project-member .member.info .wrapper{padding-left:120px;height:100px;font-size:14px}.project-member-page #project-member .member.info .wrapper>div{height:33%;line-height:30px}.project-member-page #project-member .member.info .title{font-size:18px;color:#000}.project-member-page #project-member .member.info i.icon.info{color:#444;cursor:pointer;font-size:14px;margin-left:10px}.project-member-page #project-member .member.info .time{font-size:14px;color:#999;line-height:24px}.project-member-page #project-member .member.info .action{font-size:12px}.project-member-page #project-member .member.info .alias-setting{font-size:14px}.project-member-page #project-member .member.info .divider{margin-left:20px;margin-right:20px;height:16px;width:0;border-right:1px solid #DDD;display:inline-block;vertical-align:middle;line-height:20px}.project-member-page #project-member .member.info .role-setting{font-size:14px;color:#444}.project-member-page #project-member .member.info .alias-setting .alias-edit{cursor:pointer}.project-member-page #project-member .member.info .alias-input{outline:0;padding:6px;border:1px solid #EEE;font-size:14px;color:#333;max-width:100px;vertical-align:middle}.project-member-page #project-member .member.info .action>div{margin-right:10px}.project-member-page #project-member .no-margin{margin:0}.project-member-page #project-member .button>i.icon{margin-right:0}.public-project-view #inner-menu{float:left;border:0!important;margin:0;position:absolute;z-index:0}.public-project-view #project-member{border-left:1px solid #DDD;min-height:400px}.project-member-page #add-project-members{position:absolute;right:20px;top:32px}.ide-container{position:relative;min-width:900px;max-width:900px;margin:0 auto}.web-ide-button{display:table;margin:30px auto 0}.small-image{position:absolute;top:145px;list-style:none;right:30px}.small-image>li{display:inline-block;cursor:zoom-in}.screenshot.background{z-index:999;position:fixed;width:100%;height:100%;background:rgba(0,0,0,.7);display:none;top:0;left:0;min-width:1100px}.screenshot.background .prev-preview{position:absolute;top:50%;width:50px;height:100px;font-size:50px;line-height:100px;color:#939393;display:none;left:9rem;z-index:999}.screenshot.background .prev-preview:hover{color:#fff;cursor:pointer}.screenshot.background .next-preview{position:absolute;top:50%;width:50px;height:100px;font-size:50px;line-height:100px;color:#939393;right:9rem;display:none;z-index:999}.screenshot.background .next-preview:hover{color:#fff;cursor:pointer}.screenshot.background .hidden{display:none}.screenshot.background .show{display:block}.screenshot.preview{background:rgba(0,0,0,.7);position:absolute;width:100%;height:100%;top:0;left:0;z-index:999;cursor:zoom-out}.screenshot.preview>img{margin:90px auto 0;display:table}.screenshot.preview .preview-title{position:relative;top:100px;margin:0 auto;display:table;font-size:20px;font-weight:700;color:#fff}.screenshot.preview .close-pane{position:absolute;top:120px;right:210px;background:rgba(0,0,0,.3);width:30px;height:30px;border-radius:15px}.screenshot.preview .close-pane:hover{cursor:pointer}.screenshot.preview .close-pane>i{line-height:30px;height:30px;margin:0 0 0 5px;color:#979797}.screenshot.preview .close-pane>i:hover{color:#fff}.screenshot.background.show,.screenshot.preview.show{display:block}.web-ide-workspace{margin:10px auto 0;display:table}#create-task-modal,#task-detail-menu{font-size:14px}#create-task-modal .layout-content,#task-detail-menu .layout-content{padding-right:30px}#create-task-modal .layout-menu,#task-detail-menu .layout-menu{width:170px}#create-task-modal .task-create-menu,#task-detail-menu .task-create-menu{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-right:10px;overflow-x:visible!important}#create-task-modal i.asterisk.red,#task-detail-menu i.asterisk.red{float:none!important;-webkit-transform:translateY(-2px) scale(0.4);-moz-transform:translateY(-2px) scale(0.4);-ms-transform:translateY(-2px) scale(0.4);-o-transform:translateY(-2px) scale(0.4);transform:translateY(-2px) scale(0.4)}#create-task-modal .task-menu-item,#task-detail-menu .task-menu-item{position:relative;color:#555;font-size:12px;margin-bottom:6px}#create-task-modal .task-menu-item.with-top-separator,#task-detail-menu .task-menu-item.with-top-separator{margin-top:8px;padding-top:8px;border-top:1px solid #DDD}#create-task-modal .task-menu-item.with-top-separator header,#task-detail-menu .task-menu-item.with-top-separator header{padding:0 0 2px}#create-task-modal .task-menu-item .dropdown,#create-task-modal .task-menu-item .dropdown .text,#task-detail-menu .task-menu-item .dropdown,#task-detail-menu .task-menu-item .dropdown .text{width:100%}#create-task-modal .task-menu-item .dropdown .dropdown-target,#task-detail-menu .task-menu-item .dropdown .dropdown-target{font-size:12px}#create-task-modal .task-menu-item header,#task-detail-menu .task-menu-item header{padding:5px 0 8px}#create-task-modal .task-menu-item header i.icon,#task-detail-menu .task-menu-item header i.icon{float:right}#create-task-modal .task-menu-item .selected-content,#task-detail-menu .task-menu-item .selected-content{color:#333;font-size:14px}#create-task-modal .task-menu-item .task-urgency-wrapper,#task-detail-menu .task-menu-item .task-urgency-wrapper{position:relative!important;display:inline-block;width:1.5em}#create-task-modal .task-menu-item .task-urgency-wrapper .icon,#task-detail-menu .task-menu-item .task-urgency-wrapper .icon{margin:0}#create-task-modal .task-menu-item .task-detail-tags header,#task-detail-menu .task-menu-item .task-detail-tags header{padding-bottom:0}#create-task-modal .task-menu-item .task-detail-watchlist,#task-detail-menu .task-menu-item .task-detail-watchlist{padding-top:7px!important}#task-detail-menu .task-detail-tags header{font-size:12px}#task-detail-menu .task-deadline .date{padding:3px 4px}#create-task-modal{font-size:14px;width:70%;margin-left:-35%}#create-task-modal>.content{padding-right:10px;height:430px}#create-task-modal>.action-buttons{padding:10px 20px}#create-task-modal .task-create-menu{height:290px}#create-task-modal .light-md-editor .editor>.preview.active,#create-task-modal .light-md-editor .editor>textarea{height:260px;max-height:260px}#create-task-modal .select-label-dropdown .task-detail-tags.tag-editor .tag{padding:2px 4px}#create-task-modal .select-label-dropdown .task-detail-tags.tag-editor .tag i.remove.icon{top:2px}#create-task-modal .select-label-dropdown .task-detail-tags.tag-editor .tag.editable:hover{padding:2px 18px 2px 4px!important}.task-creating-select-deadline,.task-detail-select-deadline{z-index:1101}.select-member-dropdown .task-select-member,.select-member-dropdown .task-select-project,.select-project-dropdown .task-select-member,.select-project-dropdown .task-select-project{position:relative;max-width:200px}.select-member-dropdown .task-select-member img,.select-member-dropdown .task-select-project img,.select-project-dropdown .task-select-member img,.select-project-dropdown .task-select-project img{position:absolute;width:24px;height:24px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.select-member-dropdown .task-select-member span,.select-member-dropdown .task-select-project span,.select-project-dropdown .task-select-member span,.select-project-dropdown .task-select-project span{padding-left:30px;display:inline-block;height:24px;line-height:24px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select-member-dropdown .task-select-member img,.select-project-dropdown .task-select-member img{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.task-select-urgency .task-urgency-wrapper{margin-right:3px!important}#shareSection{width:850px;margin:auto;padding-top:10px}#shareSection .file-header{height:50px;line-height:50px;font-size:20px;border-bottom:1px solid #ebeae7}#shareSection .file-content{position:relative;margin-top:20px;margin-bottom:20px;padding:15px;min-height:200px;background-color:#fff;border:1px solid #ebeae7;border-radius:3px}#shareSection .file-content .file-buttons{position:absolute;top:-1px;right:-42px;border:1px solid #ebeae7;background-color:#f5f5f5}#shareSection .file-content .file-buttons>.button{display:block;width:40px;height:40px;cursor:pointer}#shareSection .file-content .file-buttons>.button>.icon{margin-top:12px;width:40px;color:#666}#shareSection .file-content .file-buttons>.button:hover{background-color:#fff}#shareSection .file-content .binary-content{position:relative;margin:100px auto;display:block;width:200px;height:200px}#shareSection .file-content .binary-content:hover .icon{color:#fff}#shareSection .file-content .binary-content .icon{position:absolute;bottom:5px;right:5px;margin:0;font-size:60px;color:rgba(255,255,255,0)}#shareSection .file-content .binary-content .file-icon{width:200px;height:200px;font-size:80px;line-height:170px}#shareSection .file-content .file-detail{position:absolute;top:40px;left:890px;width:150px;padding:15px;border:1px solid #ebeae7;background-color:#f5f5f5}#shareSection .file-content .file-detail .title{margin-top:10px;font-weight:700;line-height:1.5em}#shareSection .file-content .file-detail .content{margin-left:15px}[cg-member-selector]{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column}.cg-ms-selected{list-style:none;padding-left:0;margin:0}.cg-ms-selected .cg-ms-selected-item{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding-bottom:5px}.cg-ms-selected .cg-ms-selected-item>img.ui.image{margin:0 5px 0 0;padding:0;height:24px;width:24px}.cg-ms-selected .cg-ms-selected-item>span{font-size:14px;height:18px;line-height:18px;margin-right:auto;overflow:hidden;text-overflow:ellipsis}.cg-ms-selected .cg-ms-selected-item>i.icon.remove{cursor:pointer;margin:0;padding:0}.hover-remove.cg-ms-selected .cg-ms-selected-item:hover>i.icon.remove{display:inline}.hover-remove.cg-ms-selected .cg-ms-selected-item>i.icon.remove{display:none}.no-remove .cg-ms-selected .cg-ms-selected-item>i.icon.remove{display:none}.avatar-mode .cg-ms-selected .cg-ms-selected-item{display:inline-flex;display:-webkit-inline-flex}.avatar-mode .cg-ms-selected .cg-ms-selected-item>img.ui.image{height:30px;width:30px}.avatar-mode .cg-ms-selected .cg-ms-selected-item>span{display:none}.cg-ms-unselected{display:-webkit-flex;display:flex;align-items:center;-webkit-align-items:center;color:#333!important;height:26px;line-height:26px}.cg-ms-unselected>i.checkmark.icon{display:none}.cg-ms-unselected>img.ui.image{height:20px;width:20px;margin-right:5px}.cg-ms-unselected>span{display:inline-block}.check-mode.select2-drop{border:0;border-radius:0 0 .2em .2em;box-shadow:0 0 1px 1px rgba(0,0,0,.1);color:#333!important;min-width:175px}.check-mode.select2-drop>.select2-search{padding:4px;margin-top:0;background-color:#eee}.check-mode.select2-drop>.select2-search input{margin-top:0!important;padding:5px 25px 5px 10px;border:1px solid #ddd;border-radius:2px;font-size:12px;color:#333;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) 100% -22px no-repeat #fff}.check-mode.select2-drop>.select2-results{padding:0;margin:0;min-height:165px;max-height:205px}.check-mode.select2-drop>.select2-results .select2-result{height:40px;color:#333;border-top:1px solid rgba(0,0,0,.05)}.check-mode.select2-drop>.select2-results .select2-highlighted{background:rgba(0,0,0,.02)}.check-mode.select2-drop>.select2-results .select2-no-results,.check-mode.select2-drop>.select2-results .select2-result-label{padding:0 5px;height:40px;line-height:40px}.check-mode.select2-drop>.select2-results .cg-ms-unselected{height:40px}.check-mode.select2-drop>.select2-results .cg-ms-unselected>i.checkmark.icon{display:inline}.check-mode.select2-drop>.select2-results .cg-ms-unselected>img.ui.image{height:32px;width:32px}.check-mode.select2-drop>.select2-results .cg-ms-chosen i.checkmark.icon{color:#333}.check-mode.select2-drop>.select2-results .cg-ms-notchosen i.checkmark.icon{color:#fff}.no-dropdown .select2-container{width:0!important;height:0!important;overflow:hidden}.no-selected .cg-ms-selected{display:none}.no-tips .cg-ms-selected .cg-ms-selected-tips{display:none}.inline-mode{display:inline-flex;display:-webkit-inline-flex;vertical-align:middle}.small-avatar .cg-ms-selected .cg-ms-selected-item>img.ui.image{height:24px;width:24px}.small-avatar .cg-ms-selected .cg-ms-selected-item>i.icon.remove{text-align:left}.topic-container .ui.dropdown{font-size:14px;padding-bottom:5px}.topic-container .ui.dropdown i.icon.dropdown{display:inline-block;margin-left:5px}.topic-container .ui.dropdown div.menu{border-radius:.325em;left:-48px}.topic-container .ui.dropdown div.menu .item{padding:8px!important}.topic-container .ui.dropdown div.menu .item .checkmark{opacity:0;margin:0}.topic-container .ui.dropdown div.menu .item.active .checkmark{opacity:1}#topic-create textarea[id*=wmd-input-]{min-height:500px!important;font-size:14px}#project-topic-detail-wrapper{min-width:800px}#project-topic-detail-wrapper i.icon.coding.coding-share{cursor:pointer;color:#bebebe;opacity:1;vertical-align:middle;margin-bottom:1px}#comment-form{border-top:1px solid #ddd;padding-top:20px;margin:0}#project-topic-detail{position:relative;background:#FFF;padding:30px}#project-topic-detail .topic-title{position:relative;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #ddd}#project-topic-detail .topic-title .avatar{position:absolute;display:inline-block;width:42px;height:42px;left:0;top:0}#project-topic-detail .topic-title h2{font-size:24px;font-weight:400;color:#000;margin:0 0 3px}#project-topic-detail .topic-title .title{margin-left:52px}#project-topic-detail .topic-title .toolbar{margin-left:52px;font-size:12px;color:#999;line-height:20px}#project-topic-detail .topic-title .toolbar a{color:#999}#project-topic-detail .topic-title .toolbar .mr10{margin-right:20px}#project-topic-detail .topic-title .topic-labels{margin-bottom:20px;line-height:4px}#project-topic-detail .topic-title .tags-show span.tag{font-size:12px;font-weight:400;color:#FFF;border-radius:3px;padding:2px 3px;margin-right:5px;word-break:break-all;vertical-align:top}#project-topic-detail .mr10 i.icon{margin-right:0}#project-topic-detail .topic-follow-header{margin-top:20px;padding-top:10px;border-top:1px solid #ddd;font-size:16px;color:#333}#project-topic-detail-bottom{padding:30px;background:#FFF;margin-top:20px;margin-bottom:30px}#project-topic-detail-bottom .topic-comments-header{margin:20px 0 10px;padding-bottom:10px;border-bottom:1px solid #ddd;font-size:16px;color:#333}#project-topic-detail-bottom .topic-follow-header{margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid #ddd;font-size:16px;color:#333}#topic-member-selector-down,#topic-member-selector-up{display:inline-flex;flex-direction:column}#topic-comments div.comment{position:relative;margin-top:20px}#topic-comments div.comment .content-wrapper{margin-left:58px;padding:0;position:relative;border:1px solid #ddd;background:#FFF;border-radius:3px}#topic-comments div.comment .content-wrapper:before{margin-top:-11px;bottom:auto;right:auto;top:27px;left:-6px;position:absolute;content:"";width:.6em;height:.6em;transform:rotate(45deg);z-index:2;transition:background .1s linear;background-color:#FFF;border-left:1px solid #ddd;border-bottom:1px solid #ddd}#topic-comments div.comment .content{line-height:23px;font-size:14px;margin:10px 15px}#topic-comments div.comment .content img.monkey.emotion{width:64px}#topic-comments div.comment div.time{font-size:12px;color:#999;margin:0 15px 10px}#topic-comments div.comment div.time a{color:#999}#topic-comments div.comment div.time .share,#topic-comments div.comment div.time a.recommend,#topic-comments div.comment div.time a.remove,#topic-comments div.comment div.time a.reply{display:none}#topic-comments div.comment div.time .mr10{margin-right:20px}#topic-comments div.comment div.time .mr11{padding:4px;background:#F5F5F5;border:1px solid #EBEBEB;border-radius:3px;color:#999;font-size:12px;margin-right:20px}#topic-comments div.comment div.time .mr10 a.arrow{position:relative}#topic-comments div.comment div.time .mr10 a.arrow:before{position:absolute;top:21px;left:30px;z-index:1;content:'';width:0;height:0;border-width:5px;border-style:solid;border-color:#fff transparent transparent #fff;box-shadow:-1px -1px 0 #ddd;transform:rotate(45deg)}#topic-comments div.comment img.avatar{position:absolute;width:42px;height:42px;top:0;left:0}#topic-comments div.comment:hover .time .share,#topic-comments div.comment:hover .time a.recommend,#topic-comments div.comment:hover .time a.remove,#topic-comments div.comment:hover .time a.reply{display:inline}#topic-detail .dividing.header>a.button{margin-top:10px}#topic-detail .dividing.header img.avatar{margin-right:15px}#topic-comment-editor.light-md-editor .editor>textarea{min-height:0;max-height:none}.public-project-view #project-topic-detail-wrapper{width:818px}.public-project-view #project-topic-detail,.public-project-view #project-topic-detail-bottom{padding:0}@media only screen and (min-width:1340px){#project-topic-detail-wrapper{width:70%;max-width:1280px}}#topic-comments .comment.recommended .recommend-label{top:7px;left:-5px}#topic-comments .comment.recommended .content-wrapper .content{margin-top:49px}#topic-comments .comment.recommended .content-wrapper:before{top:66px}#topic-comments .comment.recommended img.ui.avatar.image{top:40px}.recommend-label{position:absolute;height:30px;line-height:30px;padding-right:12px;font-size:14px;background:#5BA8FF;color:#FFF}.recommend-label i.trophy{font-size:16px;margin-left:10px;opacity:1}.recommend-label:before{content:'';position:absolute;bottom:-7px;border:solid;border-width:7px 0 0 4px;border-color:#2579D8 transparent transparent}.recommend-label:after{content:'';position:absolute;top:0;right:-15px;border:solid;border-width:15px 15px 15px 0;border-color:#5BA8FF transparent}.comment .vote-button{position:absolute;color:#666;font-size:12px;display:inline-block;height:24px;width:42px;border:1px solid #ddd;border-radius:3px;line-height:24px;text-align:center;top:46px}.comment .vote-button.voted{background:#5BA8FF;border-color:#5BA8FF;color:#fff}.comment .vote-button:hover{background:#2579D8;border-color:#2579D8;color:#fff}.comment.recommended .vote-button{top:86px}.recommend-stat{position:absolute;top:12px;right:10px;color:#999;font-size:12px}div.votes{height:20px;line-height:20px;font-size:12px;color:#999;margin:0 15px 7px}div.votes>a{display:inline-block;height:19px;line-height:19px;vertical-align:middle;margin-bottom:2px;margin-right:5px}div.votes>a>img{height:18px;width:18px;border-radius:9px}.child-comments .child-comments-container{max-height:383px;overflow:scroll;border-top:1px solid #ddd}.child-comments .child-comment{border-bottom:1px solid #ddd;font-size:12px;padding:10px}.child-comments .child-comment:last-child{border-bottom:none}.child-comments .child-comment img{float:left;height:32px;width:32px;border-radius:16px;margin-top:3px}.child-comments .child-comment .content{margin:0 0 0 42px!important}.child-comments .child-comment .comment-time{margin-left:42px;margin-top:10px}.child-comments .child-comment .comment-time>a,.child-comments .child-comment .comment-time>span{color:#999;margin-right:20px;line-height:14px;height:14px;vertical-align:middle}.child-comments .child-comment .remove,.child-comments .child-comment .reply{display:none}.child-comments .child-comment:hover .remove,.child-comments .child-comment:hover .reply{display:inline-block}.child-comments input{height:40px;width:100%;box-sizing:border-box;border:none;padding-left:7px;font-size:14px;outline:0;border-top:1px solid #ddd}.child-comments .comment-show-more{color:#666;font-size:12px;text-align:center;height:38px;line-height:38px;cursor:pointer}.child-comments .comment-show-more:hover{background:#eee}.child-comments .child-comment-input-container{position:relative;color:#999;font-size:14px}.child-comments .child-comment-input-container i{position:absolute;top:13px;right:11px;cursor:pointer}.child-comments .child-comment-input-container i.smile{right:35px}.child-comments .child-comment-input-container i:hover{color:#666}.top-user-name{display:inline-block}@media only screen and (max-width:920px){.top-user-name{max-width:100px}}@media only screen and (min-width:920px) and (max-width:1360px){.top-user-name{max-width:200px}}@media only screen and (min-width:1361px) and (max-width:1500px){.top-user-name{max-width:300px}}@media only screen and (min-width:1500px){.top-user-name{max-width:none}}.layout-team-page{padding-bottom:50px}.layout-team-page .ui.form input[type=text],.layout-team-page .ui.form textarea{font-size:16px}.team-container{min-width:800px}.team-container .team-create-form{--webkit-box-shadow:none;box-shadow:none;padding:1.5rem}.team-container .team-create-form input{height:2.8rem;line-height:2.8rem;font-size:1rem}.layout-blank-team .no-team-bg{padding:30px}.layout-blank-team .no-team-bg img{width:100%;max-width:750px}.layout-team-create .ui.form input[type=text],.layout-team-create .ui.form textarea{padding:.65em 1em;font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei}.layout-team-create .ui.form label{margin-bottom:10px}.layout-team-create .field.bottom-dividing{padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.1)}.layout-team-create i.member-icon{float:right;padding-top:10px;cursor:pointer}.layout-team-create .member-desc{color:#777;font-size:15px;cursor:pointer;margin-bottom:2em}.team-inner-menu .pointer{cursor:pointer}.team-inner-menu .team-item .avatar{float:left}.team-inner-menu .team-item .avatar img{width:48px;height:48px}.team-inner-menu .team-item .content{margin-left:56px;height:48px}.team-inner-menu .team-item .content .title{font-size:16px;color:#333;line-height:28px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.team-inner-menu .team-item .content .stat{font-size:12px;color:#666;line-height:20px}.team-inner-menu .team-item .content .stat em{font-weight:400;font-style:normal}.team-inner-menu .team-item .content .sep{height:100%;width:0;border-right:1px solid #DDD;margin:0 10px}.layout-team-page .team-inner-menu{width:240px!important}.layout-team-page .container{margin-left:240px!important}.team-info-header{padding:15px;background:#FFF;border-radius:3px;margin-bottom:22px}.team-info-header .avatar{float:left}.team-info-header .avatar img{width:64px;height:64px;-webkit-border-radius:64px;-moz-border-radius:64px;-ms-border-radius:64px;-o-border-radius:64px;border-radius:64px}.team-info-header .info{margin-left:80px;line-height:18px}.team-info-header .info div{font-size:18px;line-height:24px;font-weight:400;color:#333}.team-info-header .info p{font-size:12px;line-height:18px;color:#666}.layout-team-tab-box{padding:15px;background:#FFF;border-radius:3px;margin-bottom:22px}.team-line-header{font-size:14px;color:#666;padding:10px;position:relative;overflow:hidden;margin:5px 0}.team-line-header:after{content:"";width:100%;height:0;border-top:1px solid #CCC;position:absolute;top:50%}.team-line-header span{padding-right:20px}.team-line-header span em{padding:0 2px;font-style:normal}.team-project-box .project-header{font-size:16px;padding:10px}.team-project-move-in .ui.message{font-size:14px}.team-project-move-in .ui.message strong{color:#DF5A5A}.team-project-move-in .header-notice{padding:10px}.team-project-move-in .move-in-members{margin-left:10px;margin-top:15px}.team-project-move-in .move-in-buttons{margin:15px 0}.team-project-move-in .move-in-buttons .ui.button{border:none;-webkit-box-shadow:none;box-shadow:none}.team-member-box .project-header{font-size:16px;padding:10px}.team-member-box .project-header .tab-option{margin-right:50px;cursor:pointer}.team-member-box .font-bold{font-weight:700}.team-member-box .other-member-top{margin-top:20px}.team-member-box .ui.basic.table{margin-top:10px}.team-member-box .ui.basic.table a{cursor:pointer}.team-member-box .ui.basic.table a span{color:#000}.team-member-box .ui.basic.table td,.team-member-box .ui.basic.table th{border-bottom:1px solid #DDD}.team-member-box .ui.basic.table th{color:#999;font-size:12px}.team-member-box .ui.basic.table tr,.team-member-box .ui.basic.table tr:last-child td{border-bottom:none}.team-member-box .ui.basic.table tr:hover td .role-action .button.remove{visibility:visible}.team-member-box .ui.basic.table td{font-size:12px;color:#484744}.team-member-box .ui.basic.table td.avatar{border-bottom:none;width:40px}.team-member-box .ui.basic.table td .email,.team-member-box .ui.basic.table td .name{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.team-member-box .ui.basic.table td .role-action .button{display:inline-block;background:#FFF;border-radius:30px;padding:6px 12px;font-size:12px;color:#666;border:1px solid #DDD;margin-left:12px;cursor:pointer}.team-member-box .ui.basic.table td .role-action .button:hover{background:#EFEFEF}.team-member-box .ui.basic.table td .role-action .button.remove{border:none;visibility:hidden;margin-left:0;color:#DF5A5A}.team-member-box .ui.basic.table td .role-action .button.remove:hover{background:#FFF}.team-member-box .ui.basic.table td .role-action .role-label{padding:5px 10px;border-radius:3px;font-weight:700;border:1px solid #DDD;color:#666;display:inline-block;text-align:center}.team-member-box .ui.basic.table td .role-action .role-label.owner{background:#EB935D;color:#FFF;border:1px solid #EB935D}.team-member-box .ui.basic.table td .role-action .role-label.admin{background:#32BE77;color:#FFF;border:1px solid #32BE77}.team-member-box .ui.basic.table td .role-action .role-label.member{background:#999;color:#FFF;border:1px solid #999}.team-role.ui-floating-dropdown.ui.selection.dropdown{padding:5px 10px;color:#333;width:60px;text-align:center}.team-role.ui-floating-dropdown.ui.selection.dropdown .menu .item{padding:8px 12px!important;font-size:12px;color:#333}.team-role.ui-floating-dropdown.ui.selection.dropdown>.dropdown.icon{float:right}.ui.modal .modal-content .header{font-size:1.3em;padding:.8rem 1.2rem}.ui.modal .modal-content .content{display:table;width:100%;position:relative;padding:1.2em;background-color:#F4F4F4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.modal .modal-content .actions{padding:.8rem 1.2rem}.ui.modal.add-team-member-modal{max-width:65%;margin-left:-32.5%}.ui.modal.add-team-member-modal .select-member-directive{margin:0}.ui.modal.add-team-member-modal .header{font-size:1.3em;padding:.8rem 1.2rem}.ui.modal.add-team-member-modal .content{display:table;width:100%;position:relative;padding:0;background-color:#F4F4F4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.modal.add-team-member-modal .actions{padding:.8rem 1.2rem}.team-edit-form{position:relative;margin:20px 0}.team-edit-form .ui.form{margin-left:150px}.team-edit-form .ui.form input[type=textarea]{height:8em}.team-edit-form .team-avatar{position:absolute;left:0;top:0;cursor:pointer}.team-edit-form .team-avatar .loading{font-size:40px;margin:0;position:absolute;width:128px;height:128px;background:rgba(0,0,0,.7);webkit-border-radius:128px;-moz-border-radius:128px;-ms-border-radius:128px;-o-border-radius:128px;border-radius:128px;display:table;z-index:99;color:#fff;-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;-ms-transition:all .5s ease-out;transition:all .5s ease-out;line-height:128px}.team-edit-form .team-avatar input[type=file]{display:block;position:absolute;margin:0;opacity:0;-ms-filter:'alpha(opacity=0)';direction:ltr;cursor:pointer;z-index:999;width:128px;height:128px}.team-edit-form .team-avatar .team-icon{position:relative}.team-edit-form .team-avatar .team-icon .image .edit.icon{float:right;position:absolute;width:128px;height:128px;background:rgba(0,0,0,.7);webkit-border-radius:128px;-moz-border-radius:128px;-ms-border-radius:128px;-o-border-radius:128px;border-radius:128px;display:table;z-index:99;color:#fff;opacity:0;-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;-ms-transition:all .5s ease-out;transition:all .5s ease-out;line-height:128px}.team-edit-form .team-avatar .team-icon .image img{-webkit-border-radius:128px;-moz-border-radius:128px;-ms-border-radius:128px;-o-border-radius:128px;border-radius:128px}.team-edit-form .team-avatar .team-icon:hover .image .edit.icon{opacity:1}.team-setting-box .upline{border-top:1px solid #DDD;padding-top:30px}.team-setting-box .upline:first-child{border-top:none;padding-top:0}.team-dismiss,.team-quit,.team-transfer{margin:30px 0;padding-top:30px}.team-dismiss .ui.header,.team-quit .ui.header,.team-transfer .ui.header{font-size:16px;color:#32BE77}.team-dismiss .ui.message,.team-quit .ui.message,.team-transfer .ui.message{font-size:14px}.team-dismiss .ui.message strong,.team-quit .ui.message strong,.team-transfer .ui.message strong{color:#DF5A5A}.team-dismiss .member-select,.team-quit .member-select,.team-transfer .member-select{display:inline-block}.team-dismiss .do-transfer.field label,.team-quit .do-transfer.field label,.team-transfer .do-transfer.field label{font-size:14px;color:#666}.team-dismiss .do-transfer.field .select-member,.team-dismiss .do-transfer.field label,.team-quit .do-transfer.field .select-member,.team-quit .do-transfer.field label,.team-transfer .do-transfer.field .select-member,.team-transfer .do-transfer.field label{display:inline-block}.team-dismiss .do-transfer.field .ui-floating-dropdown.ui.selection.dropdown,.team-quit .do-transfer.field .ui-floating-dropdown.ui.selection.dropdown,.team-transfer .do-transfer.field .ui-floating-dropdown.ui.selection.dropdown{padding:6px 12px;color:#333;font-size:14px}.team-dismiss .do-transfer.field .ui-floating-dropdown.ui.selection.dropdown .menu .item,.team-quit .do-transfer.field .ui-floating-dropdown.ui.selection.dropdown .menu .item,.team-transfer .do-transfer.field .ui-floating-dropdown.ui.selection.dropdown .menu .item{padding:.4em .8em!important;font-size:12px;color:#333}.ui.modal.team{max-width:700px;margin-left:-350px}.ui.modal.team .header{font-size:1.3em;color:#666;padding:.8rem 1.2rem}.ui.modal.team .content{display:table;width:100%;position:relative;padding:0 1em;background-color:#F4F4F4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;color:#000}.ui.modal.team .actions{padding:.8rem 1.2rem}.ui.modal.team-member-permission-modal .ui.basic.table{margin-top:20px}.ui.modal.team-member-permission-modal .ui.basic.table td,.ui.modal.team-member-permission-modal .ui.basic.table th{border-bottom:1px solid #DDD;padding:.5em .6em}.ui.modal.team-member-permission-modal .ui.basic.table th{color:#999;font-size:14px}.ui.modal.team-member-permission-modal .ui.basic.table tr,.ui.modal.team-member-permission-modal .ui.basic.table tr:last-child td{border-bottom:none}.ui.modal.team-member-permission-modal .ui.basic.table .selecter{width:120px}.ui.modal.team-member-permission-modal .ui.basic.table td{font-size:14px;color:#484744}.ui.modal.team-member-permission-modal .ui.basic.table td .email,.ui.modal.team-member-permission-modal .ui.basic.table td .name{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.ui.modal.team-member-permission-modal .ui.basic.table td.avatar{border-bottom:none;width:40px}.ui.modal.team-member-permission-modal .ui.basic.table td .role-action .button{display:inline-block;background:#FFF;border-radius:30px;padding:6px 12px;font-size:12px;color:#666;border:1px solid #DDD;margin-left:12px;cursor:pointer}.ui.modal.team-member-permission-modal .ui.basic.table td .role-action .button:hover{background:#EFEFEF}.ui.modal.team-member-permission-modal .ui.basic.table td .role-action .button.remove{border:none;margin-left:0;color:#DF5A5A}.ui.modal.team-member-permission-modal .ui.basic.table td .role-action .button.remove:hover{background:#FFF}.ui.modal.team-member-permission-modal .ui.basic.table td .role-action .role-label{padding:5px 12px;background:#EB935D;color:#FFF;border-radius:3px;font-weight:700}.ui.modal.team-member-permission-modal .team-role.ui-floating-dropdown.ui.selection.dropdown{padding:5px 10px;color:#333;width:84px;text-align:center}.ui.modal.team-member-permission-modal .team-role.ui-floating-dropdown.ui.selection.dropdown .menu .item{padding:8px 12px!important;font-size:12px;color:#333}.ui.modal.team-member-permission-modal .team-role.ui-floating-dropdown.ui.selection.dropdown>.dropdown.icon{float:right}.ui.modal.team-project-export-modal .ui.form .do-export .select-member,.ui.modal.team-project-export-modal .ui.form .do-export label{display:inline-block}.ui.modal.team-project-export-modal .ui.form .do-export .select-member div.menu{max-height:200px}.project-labels{padding:0;margin:0}.project-labels li{display:inline-block;cursor:pointer;vertical-align:top;position:relative;z-index:1;outline:0!important}.project-label{width:122px;margin:0 15px 15px 0;padding:10px;display:inline-block;cursor:pointer;vertical-align:top;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;position:relative;z-index:1;outline:0!important}.project-label.selection .logo-wrapper{border:1px dashed #CCC}.project-label:hover{background:rgba(0,0,0,.03)}.project-label .logo-wrapper{width:122px;height:122px;position:relative;display:inline-block;border:1px solid transparent}.project-label .logo-wrapper img{width:122px;height:122px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.project-label .logo-wrapper .team-admin-operation{position:absolute;width:100%;height:100%;left:0;top:0;border-radius:3px;background:linear-gradient(to bottom,rgba(0,0,0,.3) 0,transparent 50%,transparent 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4d000000', endColorstr='#00000000', GradientType=0)}.project-label .logo-wrapper .team-admin-operation i{position:absolute;right:2px;top:10px;opacity:1;font-size:16px;color:#FFF;display:none;cursor:pointer}.project-label .logo-wrapper .team-admin-operation .buttons-wrapper{display:none;position:absolute;right:2px;top:10px;padding-top:20px}.project-label .logo-wrapper .team-admin-operation .buttons-wrapper:hover{display:block}.project-label .logo-wrapper .team-admin-operation .buttons-wrapper .buttons{background:#fff}.project-label .logo-wrapper .team-admin-operation .buttons-wrapper .buttons .button{border-top:1px solid rgba(0,0,0,.05);box-shadow:none;border-radius:0;padding:0 1em;font-weight:200;font-family:'微软雅黑','Helvetica Neue',sans-serif,SimHei}.project-label .logo-wrapper .team-admin-operation .buttons-wrapper .buttons .button:hover{background:rgba(0,0,0,.05)!important}.project-label .logo-wrapper .team-admin-operation:hover i,.project-label .logo-wrapper .team-admin-operation:hover i:hover+.buttons-wrapper{display:block}.project-label .title{text-align:center;font-size:12px;color:#666;margin:15px 10px 0;word-break:break-all;line-height:15px}.project-label .title.icon.private span.name:before{font-family:Icons;content:'\f023';margin-right:3px}.project-label .corner.label{right:8px;top:10px}.project-label .message-tip{right:2px!important;position:absolute;padding:2px;top:0;width:auto;min-width:12px;height:12px;line-height:12px;background:#f75288;border-radius:12px;color:#FFF;font-size:10px;font-style:normal;border:2px solid #FFF;text-align:center}.project-selection .selected-box{padding:0 10px}.project-selection .selected-box .selected-label{font-size:14px;color:#666;margin-right:10px}.project-selection .selected-box .selected-label em{font-style:normal}.project-selection .selected-box .selected-item{padding:2px 12px;font-size:12px;border-radius:30px;line-height:18px;background:#A1CF64;color:#FFF;margin:0 8px 8px 0;display:inline-block}.project-selection .selected-box .selected-item .icon.remove{margin-left:10px;cursor:pointer}.select-member-directive{padding:0;border:1px solid #DDD;border-radius:4px;margin:30px 0 10px}.select-member-directive>.content{padding:0}.select-member-directive .add-members .wrapper{position:relative}.select-member-directive .add-members .search-region{width:220px;padding:20px 20px 0;border-right:1px solid #CCC}.select-member-directive .add-members .select-region{padding:20px 0 0 20px}.select-member-directive .add-members .selected-region{padding:15px 10px 0 20px;border-top:1px solid #CCC}.select-member-directive .add-members .selected-region .label i.remove.icon{cursor:pointer}.select-member-directive .add-members .search-region input[type=text]{font-size:14px}.select-member-directive .add-members .member-folder{margin:15px 0 0;height:220px;overflow-y:auto;overflow-x:hidden}.select-member-directive .add-members .vertical.menu>.item{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-size:14px;height:36px!important;line-height:24px;display:block;padding:5px;margin-bottom:0}.select-member-directive .add-members .vertical.menu>.item.active{background-color:rgba(0,0,0,.03)}.select-member-directive .add-members .vertical.menu>.item i.icon{float:none;margin:0 .45em 0 .25em}.select-member-directive .add-members .selected-region ul{list-style:none;margin:0;padding:0}.select-member-directive .add-members .selected-region ul li:first-child{font-size:14px;line-height:16px;margin-bottom:10px}.select-member-directive .add-members .selected-region ul li{float:left;font-size:12px;margin-bottom:10px;text-transform:none}.select-member-directive .add-members .select-nothing{text-align:center}.select-member-directive .add-members .select-nothing span.words{font-size:16px;color:#999}.select-member-directive .add-members .select-nothing .invite-button{margin-top:20px}.select-member-directive .add-members .select-users{height:250px;position:relative;overflow-y:auto;overflow-x:hidden}.select-member-directive .add-members .select-users ul{list-style:none;margin:0;padding:0;position:relative}.select-member-directive .add-members .select-users ul li{float:left;display:inline-block;width:140px;height:40px;border:1px dashed #CCC;padding:5px;position:relative;line-height:40px;font-size:14px;background:#FFF;margin:0 10px 10px 0;cursor:pointer}.select-member-directive .add-members .select-users ul li.is-member{cursor:not-allowed}.select-member-directive .add-members .select-users ul li img{position:absolute;left:10px;top:8px}.select-member-directive .add-members .select-users ul li span{padding-left:50px}.select-member-directive .add-members .select-users ul li .label{line-height:normal;font-size:12px}.select-member-directive .actions .max-member{float:left;height:30px;line-height:30px;color:#666;font-size:14px}.select-member-directive .actions{padding:15px 10px 15px 20px}.experiment-switchers{position:fixed;top:50%;left:50%;width:300px;height:230px;margin-left:-150px;margin-top:-115px;background:#EEE;border:1px solid #DDD;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:2000}.experiment-switchers ul{list-style:none;padding:0 0 0 20px}.experiment-switchers ul li{margin-bottom:10px}.experiment-switchers h3{font-size:20px;text-align:center;font-weight:400;padding:0 0 10px;margin:0;border-bottom:1px solid #DDD}.experiment-switchers i.close{position:absolute;right:0;top:5px;color:#948D8D;cursor:pointer}.experiment-switchers .exp-wrapper{display:inline-block;width:100%;height:145px;overflow-x:hidden;overflow-y:auto;margin-top:5px}.experiment-switchers .exp-password{text-align:center}.labels,.project-member-role-select{display:inline-block}.project-member-role-select .dropdown.ui .menu{border-radius:3px;max-width:140px;font-size:14px;border:none;background:#FFF;box-shadow:1px 0 1px 1px #ddd;left:3px}.project-member-role-select .dropdown.ui .menu .item{padding:8px 12px!important;font-size:14px;border-top:none!important}.project-member-role-select .dropdown.ui .menu .item:hover{background:#F4F4F4}.project-member-role-select .dropdown.ui .menu .item.active{color:#63cc96;background:#FCFCFC!important}.project-member-role-select .dropdown.ui .menu .item label{margin-right:24px}.project-member-role-select .ui.label.small.owner{background:#eeac82;color:#FFF}.project-member-role-select .ui.label.small.admin{background:#63cc96;color:#FFF}.project-member-role-select .ui.label.small.member-no-code{background:#999;color:#FFF}#gitcafe-migration{font-family:"PingFang SC","Helvetica Neue",Helvetica,"Hiragino Sans GB",Arial,"Microsoft YaHei","微软雅黑",sans-serif;display:block;width:995px;margin:50px auto}#gitcafe-migration .migration-platform{text-align:center;margin:0;padding:0}#gitcafe-migration .migration-platform .platform{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:calc(50% - 37.5px);margin-right:75px;height:230px;padding:30px;color:#FFF}#gitcafe-migration .migration-platform .platform:last-child{margin-right:0}#gitcafe-migration .migration-platform .platform .logo{height:40px}#gitcafe-migration .migration-platform .platform .logo img{height:30px;vertical-align:bottom}#gitcafe-migration .migration-platform .platform.gitcafe{background:rgba(50,180,84,.9)}#gitcafe-migration .migration-platform .platform.coding{background:#333}#gitcafe-migration .migration-platform .platform.coding .logo img{height:40px}#gitcafe-migration .migration-platform .platform .account{position:relative;text-align:left;margin:20px 0 20px 80px}#gitcafe-migration .migration-platform .platform .account img{float:left;width:96px;height:96px;-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.5);-moz-box-shadow:0 2px 4px rgba(0,0,0,.5);box-shadow:0 2px 4px rgba(0,0,0,.5)}#gitcafe-migration .migration-platform .platform .account .info{margin:15px 0 0 116px;line-height:2em}#gitcafe-migration .migration-platform .platform .account .info .name{font-size:18px}#gitcafe-migration .migration-platform .platform .account .info .points{font-size:14px}#gitcafe-migration h2{font-size:32px;color:#333;margin:30px 0 20px;text-align:center;font-weight:200}#gitcafe-migration h2.no-projects{margin:80px 0 30px;font-size:24px;color:#999}#gitcafe-migration .migration-titles{margin-bottom:1em}#gitcafe-migration .migration-titles .title{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:calc(50% - 37.5px);margin-right:75px;font-size:18px;color:#666}#gitcafe-migration .migration-titles .title:last-child{margin-right:0}#gitcafe-migration .migration-projects{position:relative}#gitcafe-migration .migration-projects .list{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:calc(50% - 37.5px);margin-right:75px;position:relative;height:500px;border:1px solid #D8D8D8;overflow-y:auto;padding:20px 20px 5px}#gitcafe-migration .migration-projects .list:last-child{margin-right:0}#gitcafe-migration .migration-projects .list .project{width:100%;height:64px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;position:relative;margin-bottom:15px;text-align:left}#gitcafe-migration .migration-projects .list .project img{float:left;width:64px;height:64px}#gitcafe-migration .migration-projects .list .project .info{margin:10px 0 0 74px;line-height:1.5em}#gitcafe-migration .migration-projects .list .project .info .name{font-size:14px;color:#323A45}#gitcafe-migration .migration-projects .list .project .info .description{font-size:12px;color:#666}#gitcafe-migration .migration-projects .list.migration .project{border:2px solid #DDD;cursor:pointer}#gitcafe-migration .migration-projects .list.migration .project .info .description,#gitcafe-migration .migration-projects .list.migration .project .info .name{margin-right:20px}#gitcafe-migration .migration-projects .list.migration .project:before{content:'\f058';font-family:Icons;position:absolute;right:5px;top:5px;color:#D8D8D8;font-size:18px}#gitcafe-migration .migration-projects .list.migration .project.selected{border:2px solid #25A321}#gitcafe-migration .migration-projects .list.migration .project.selected:before{color:#25A321}#gitcafe-migration .migration-projects .list.migration .project:hover{border:2px solid rgba(37,163,33,.5)}#gitcafe-migration .migration-projects .list.migration .project:hover:before{color:rgba(37,163,33,.5)}#gitcafe-migration .migration-projects .arrow-right{display:inline-block;width:50px;height:20px;position:absolute;left:50%;top:20px;margin-left:-25px}#gitcafe-migration .migration-projects .arrow-right:before{content:'';width:0;height:0;position:absolute;right:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #DDD}#gitcafe-migration .migration-projects .arrow-right:after{content:'';width:35px;height:10px;display:inline-block;background:#DDD;margin-top:5px;position:absolute}#gitcafe-migration .migration-form .controls{text-align:center}#gitcafe-migration .migration-form .controls .checkbox{font-size:16px;margin:20px 0;cursor:pointer}#gitcafe-migration .migration-form .controls .checkbox input[type=checkbox]{width:16px;height:16px;vertical-align:middle}#gitcafe-migration .migration-form .controls .checkbox a{color:#629CC4}#gitcafe-migration .migration-form .controls .checkbox label{color:#999}#gitcafe-migration .migration-form .controls a.button,#gitcafe-migration .migration-form .controls button{border:none;font-size:18px;line-height:24px;color:#FFF;background:#25A321;cursor:pointer;-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;padding:10px 36px;margin:0;outline:0}#gitcafe-migration .migrating-projects{margin:66px 0;text-align:center}#gitcafe-migration .migrating-projects h3{color:#333;font-size:18px;line-height:1em;font-weight:400;margin:13px 0 19px}#gitcafe-migration .migrating-projects .migrating-list{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-right:75px;position:relative;border:1px solid #D8D8D8;overflow-y:auto;padding:20px 20px 5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:100%;height:auto;margin-bottom:30px}#gitcafe-migration .migrating-projects .migrating-list:last-child{margin-right:0}#gitcafe-migration .migrating-projects .migrating-list .project{height:64px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;position:relative;margin-bottom:15px;text-align:left}#gitcafe-migration .migrating-projects .migrating-list .project img{float:left;width:64px;height:64px}#gitcafe-migration .migrating-projects .migrating-list .project .info{margin:10px 0 0 74px;line-height:1.5em}#gitcafe-migration .migrating-projects .migrating-list .project .info .name{font-size:14px;color:#323A45}#gitcafe-migration .migrating-projects .migrating-list .project .info .description{font-size:12px;color:#666}#gitcafe-migration .migrating-projects .migrating-list .project{float:left;width:calc(50% - 37.5px)}#gitcafe-migration .migrating-projects .migrating-list .project:nth-child(2n-1){margin-right:75px}#gitcafe-migration .migrating-projects .migrating-list .project .info.error .description,#gitcafe-migration .migrating-projects .migrating-list .project .info.error .name{color:#A00}#gitcafe-migration .migrating-projects .migration-titles img{width:64px;height:64px;margin-bottom:10px}#gitcafe-migration .migrating-projects .migration-projects .list{height:auto;padding-bottom:20px}#gitcafe-migration .migrating-projects .migration-projects .list a{margin:20px 10px 5px;color:#5191BD;font-size:14px}#gitcafe-migration .migrating-projects .migration-projects .list h3.tips{margin:20px 10px 5px;line-height:1em;font-size:14px;color:#DF5A5A}#gitcafe-migration .migrating-projects .migration-projects .list .empty{font-size:14px;color:#999}#gitcafe-migration .migrating-projects .migration-projects .list .green-button{border:none;line-height:24px;color:#FFF;background:#47BC65;outline:0;cursor:pointer;-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;font-size:14px;padding:5px 25px;margin:10px 0}.resource-reference{margin:0 5px 30px;position:relative}.resource-reference>.icon{width:36px;height:36px;position:absolute;top:5px;left:3px;border:1px solid #EEE;background:#EEE;-webkit-border-radius:36px;-moz-border-radius:36px;border-radius:36px;line-height:36px;text-align:center}.resource-reference>.icon i.icon{margin-right:0;-webkit-transform-origin:6px 7px;-moz-transform-origin:6px 7px;-ms-transform-origin:6px 7px;-o-transform-origin:6px 7px;transform-origin:6px 7px}.resource-reference>.detail{margin-left:60px;background:#FFF;position:relative;top:12px;border:1px solid #e4e4e4;max-height:315px;overflow:hidden;box-sizing:border-box}.resource-reference>.detail .load-more{position:absolute;left:0;right:0;bottom:0;height:40px;line-height:40px;background:#FFF;color:#4E95E9;font-size:12px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer}.resource-reference>.detail .load-more:hover{background:#F2F4F6}.resource-reference>.detail.show-all{max-height:inherit}.resource-reference>.detail.show-all .load-more{display:none}.resource-reference>.detail.folded{padding-bottom:40px}.resource-reference>.detail .title{background-color:#eee;height:25px;line-height:25px;padding-left:10px;font-size:14px;color:#333}.resource-reference>.detail .title i.attention.icon:hover{cursor:help}.resource-reference>.detail>.item-group{border-bottom:1px solid #eee}.resource-reference>.detail>.item-group:last-child{border:none}.resource-reference>.detail .item{height:25px;line-height:25px;padding-left:10px;display:-webkit-flex;display:flex}.resource-reference>.detail .item>a{color:#4f4f4f!important;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:14px}.resource-reference>.detail .item>a.task-finished{text-decoration:line-through}.resource-reference>.detail .item>.left{-webkit-flex-grow:1;flex-grow:1}.resource-reference>.detail .item>.left>i.icon.remove{float:left;margin-top:5px;margin-left:10px;display:none}.resource-reference>.detail .item>.left>i.icon.remove:hover{cursor:pointer}.resource-reference>.detail .item:hover{background:#F2F4F6}.resource-reference>.detail .item:hover>.left>i.icon.remove{display:inline-block}.resource-reference>.detail .item.no-item{font-size:14px;color:#333}.resource-reference>.detail:before{margin-top:-11px;bottom:auto;right:auto;top:19px;left:-4px;position:absolute;content:"";width:.6em;height:.6em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#EEE;border-left:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4}.resource-reference .add-refer{float:right;position:relative}.resource-reference .add-refer:hover{cursor:pointer}.resource-reference .add-refer .select2-container{position:absolute;right:0;visibility:hidden}.select-refer.select2-drop{border:0;border-radius:0 0 .2em .2em;box-shadow:0 0 1px 1px rgba(0,0,0,.1);color:#333!important;min-width:175px}.select-refer.select2-drop>.select2-search{padding:4px;margin-top:0;background-color:#eee}.select-refer.select2-drop>.select2-search input{margin-top:0!important;padding:5px 25px 5px 10px;border:1px solid #ddd;border-radius:2px;font-size:12px;color:#333;background:url(/static/2ca61b76e22053571dd8611e5aac4900.png) 100% -22px no-repeat #fff}.select-refer.select2-drop>.select2-results{padding:0;margin:0;min-height:165px;max-height:205px}.select-refer.select2-drop>.select2-results .select2-result{height:30px;color:#333;border-top:1px solid rgba(0,0,0,.05)}.select-refer.select2-drop>.select2-results .select2-highlighted{background:rgba(0,0,0,.02)}.select-refer.select2-drop>.select2-results .select2-no-results,.select-refer.select2-drop>.select2-results .select2-result-label{padding:0 5px;height:30px;line-height:30px}.select-refer.select2-drop>.select2-results .select2-no-results>div,.select-refer.select2-drop>.select2-results .select2-result-label>div{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center}.coding-cli{position:fixed;bottom:0;left:0;width:100%;display:flex;display:-wekbit-flex;flex-direction:column;-webkit-flex-direction:column;z-index:1000}.coding-cli .coding-cli-bar{position:relative;flex-basis:28px;-webkit-flex-basis:28px;top:0;left:0;width:100%;background:#e4e4e4;line-height:28px;border-bottom:1px solid #e0e0e0;border-top:1px solid #ececec;box-sizing:border-box}.coding-cli .coding-cli-bar:hover{cursor:default}.coding-cli .coding-cli-bar i.coding.icon.monkey{margin-left:5px;margin-right:0}.coding-cli .coding-cli-bar i.add.icon,.coding-cli .coding-cli-bar i.minus.icon,.coding-cli .coding-cli-bar i.remove.icon,.coding-cli .coding-cli-bar i.setting.icon{float:right;height:28px;line-height:28px}.coding-cli .coding-cli-bar i.add.icon:hover,.coding-cli .coding-cli-bar i.minus.icon:hover,.coding-cli .coding-cli-bar i.remove.icon:hover,.coding-cli .coding-cli-bar i.setting.icon:hover{cursor:pointer}.coding-cli .coding-cli-bar.min:hover{cursor:pointer!important}.coding-cli .coding-cli-side{flex-basis:5px;-webkit-flex-basis:5px;position:relative}.coding-cli .coding-cli-side:hover{cursor:row-resize}.coding-cli .coding-cli-mask{position:relative;bottom:0;width:100%;height:100%;background:#ccc;z-index:1001}.coding-cli .coding-cli-mask:hover{cursor:default}.coding-cli .coding-cli-mask .box{display:flex;display:-webkit-flex;justify-content:space-between;-webkit-justify-content:space-between;margin:10% auto;width:280px}.coding-cli .coding-cli-mask .column{display:inline-block;text-align:center;vertical-align:top;flex-grow:1;-webkit-flex-grow:1;width:120px}.coding-cli .coding-cli-mask .column>i{display:block;font-size:90px}.coding-cli .coding-cli-mask .column>i:hover{cursor:pointer}#coding-cli-terminal{width:100%;flex-grow:1;-webkit-flex-grow:1;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column}#coding-cli-terminal:hover{cursor:text}#coding-cli-terminal .terminal-container{position:relative;width:100%;height:100%;font-family:Menlo,Monaco,"DejaVu Sans Mono",Consolas,"Andale Mono",monospace;-webkit-font-smoothing:auto;flex-grow:1;-webkit-flex-grow:1}#coding-cli-terminal .terminal-container div{margin:0;padding:0;user-select:initial;-webkit-user-select:initial}#coding-cli-terminal .terminal-container .terminal{width:100%;height:100%;font-size:13px;white-space:pre;background-color:rgba(0,0,0,.8)!important;position:absolute}#coding-cli-terminal .terminal-container .terminal-row{white-space:pre;overflow:hidden}#coding-cli-terminal .terminal-container .terminal-input{position:absolute;z-index:0;height:1em;opacity:0;background:0 0;-moz-appearance:none;-webkit-appearance:none;appearance:none;outline:0;overflow:hidden;font:inherit;margin:0 -1px;text-indent:-1em;-ms-user-select:text;-moz-user-select:text;-webkit-user-select:text;user-select:text;color:#9c9c9c;border:2px solid #2b2b2b;padding:5px 2px;resize:none;left:-1000%}#coding-cli-terminal .terminal-container .terminal-screen-keys{position:absolute;top:0;right:0}#coding-cli-terminal .terminal-container .terminal-screen-keys button{background:-webkit-linear-gradient(top,#eeeef0,#d3d3d9);box-shadow:0 2px 2px rgba(0,0,0,.25),inset 0 -2px 0 rgba(0,0,0,.25),inset 0 1px 0 #fff;border:1px solid #000;border-radius:2px;padding:8px;font-size:14px;text-shadow:0 1px 0 #fff}#coding-cli-terminal .terminal-container .terminal-screen-keys button.active,#coding-cli-terminal .terminal-container .terminal-screen-keys button:focus{outline:0;background:-webkit-linear-gradient(top,#ccccd0,#a3a3a9)}#coding-cli-terminal .terminal-container .terminal-size-indicator{position:absolute;bottom:0;left:0;background-color:rgba(255,255,255,.75);color:#000;padding:0 3px}#coding-cli-terminal i.terminal_cjk{display:inline-block;font-style:normal;text-align:center}.draging{cursor:row-resize!important;user-select:none!important;-moz-user-select:none!important;-webkit-user-select:none!important;-ms-user-select:none!important;overflow:hidden!important}.user-activeness{margin:30px 0}.user-activeness .header{margin-bottom:13px;font-size:1rem;line-height:22px}.user-activeness .header .title{color:#000;font-weight:700}.user-activeness .header .show-private{float:right;cursor:pointer;font-size:12px;line-height:22px;color:#666}.user-activeness .header .show-private i.icon{margin:0}.user-activeness .statistic-table{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid #ddd}.user-activeness .statistic-table tr td{border:1px solid #ddd;padding:0}.user-activeness .statistic-table tr td .calendar .graph{padding:8px}.user-activeness .statistic-table tr td .calendar .graph .daily-activeness-graph rect.day{shape-rendering:crispedges}.user-activeness .statistic-table tr td .calendar .graph .daily-activeness-graph rect.day:hover{stroke:#555;stroke-width:1px}.user-activeness .statistic-table tr td .calendar .graph .daily-activeness-graph text.month,.user-activeness .statistic-table tr td .calendar .graph .daily-activeness-graph text.wday{font-size:10px;fill:#999}.user-activeness .statistic-table tr td .calendar .graph .ui.popup{max-width:inherit;white-space:nowrap;background-color:#000;padding-top:5px;padding-bottom:5px}.user-activeness .statistic-table tr td .calendar .graph .ui.popup:before{background-color:#000!important}.user-activeness .statistic-table tr td .calendar .graph .ui.popup .content{color:#fff!important}.user-activeness .statistic-table tr td .calendar .notes{padding:0 8px 14px;line-height:17px;font-size:12px}.user-activeness .statistic-table tr td .calendar .notes .graph-legend{float:right}.user-activeness .statistic-table tr td .calendar .notes .graph-legend ul.legend{position:relative;bottom:-1px;display:inline-block;margin:0 5px;list-style:none;padding:0}.user-activeness .statistic-table tr td .calendar .notes .graph-legend ul.legend li{display:inline-block;width:10px;height:10px}.user-activeness .statistic-table tr td .summary{padding:16px;text-align:center}.user-activeness .statistic-table tr td .summary .duration,.user-activeness .statistic-table tr td .summary .item{padding:0;font-size:12px;line-height:17px;color:#666}.user-activeness .statistic-table tr td .summary .count{padding:2px 0;font-size:24px;line-height:33px;color:#000} ================================================ FILE: automatic/static/css/login-vendor.css ================================================ @charset "UTF-8";.ui.breadcrumb{margin:1em 0;display:inline-block;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.5;margin:0 .15em;font-size:1em;color:rgba(0,0,0,.3)}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.5em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.small.breadcrumb{font-size:.75em}.ui.large.breadcrumb{font-size:1.1em}.ui.huge.breadcrumb{font-size:1.3em}.ui.form{position:relative;max-width:100%}.ui.form :first-child{margin-top:0}.ui.form :last-child{margin-bottom:0}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field>label{margin:0 0 .3em;display:block;color:#555;font-size:.875em}.ui.form .ui.input,.ui.form input[type=color],.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=datetime],.ui.form input[type=email],.ui.form input[type=month],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=range],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.form input[type=week],.ui.form textarea{width:100%}.ui.form input[type=color],.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=datetime],.ui.form input[type=email],.ui.form input[type=month],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.form input[type=week],.ui.form textarea{margin:0;padding:.65em 1em;font-size:1em;background-color:#FFF;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,-webkit-box-shadow .2s ease,border-color .2s ease;-moz-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-webkit-box-shadow:0 0 rgba(0,0,0,.3) inset;box-shadow:0 0 rgba(0,0,0,.3) inset;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form textarea,.ui.textarea{line-height:1.33;min-height:8em;height:12em;max-height:24em;resize:vertical}.ui.form input[type=checkbox],.ui.form textarea{vertical-align:top}.ui.form .divider{clear:both;margin:1em 0}.ui.form .error.message,.ui.form .info.message,.ui.form .warning.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:nowrap}.ui.form .inline.field .prompt{margin-top:0;margin-left:1em}.ui.form .inline.field .prompt:before{margin-top:-.3em;bottom:auto;right:auto;top:50%;left:0}.ui.form input[type=color]:focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=datetime]:focus,.ui.form input[type=email]:focus,.ui.form input[type=month]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus,.ui.form input[type=week]:focus .ui.form textarea:focus{color:rgba(0,0,0,.85);border-color:rgba(0,0,0,.2);border-bottom-left-radius:0;border-top-left-radius:0;-webkit-appearance:none;-webkit-box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset;box-shadow:.3em 0 0 0 rgba(0,0,0,.2) inset}.ui.form.error .error.message,.ui.form.warning .warning.message{display:block}.ui.form .field.error .input,.ui.form .field.error label,.ui.form .fields.error .field .input,.ui.form .fields.error .field label{color:#D95C5C}.ui.form .field.error .corner.label,.ui.form .fields.error .field .corner.label{border-color:#D95C5C;color:#FFF}.ui.form .field.error input[type=color],.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=datetime],.ui.form .field.error input[type=email],.ui.form .field.error input[type=month],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=text],.ui.form .field.error input[type=time],.ui.form .field.error input[type=url],.ui.form .field.error input[type=week],.ui.form .field.error textarea,.ui.form .fields.error .field input[type=color],.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=datetime],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=month],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field input[type=week],.ui.form .fields.error .field textarea{background-color:snow;border-color:#E7BEBE;border-left:none;color:#D95C5C;padding-left:1.2em;border-bottom-left-radius:0;border-top-left-radius:0;-webkit-box-shadow:.3em 0 0 0 #D95C5C inset;box-shadow:.3em 0 0 0 #D95C5C inset}.ui.form .field.error input[type=color]:focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=datetime]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=month]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=url]:focus,.ui.form .field.error input[type=week]:focus,.ui.form .field.error textarea:focus{border-color:#ff5050;color:#ff5050;-webkit-appearance:none;-webkit-box-shadow:.3em 0 0 0 #FF5050 inset;box-shadow:.3em 0 0 0 #FF5050 inset}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .item,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item{background-color:snow;color:#D95C5C}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown:hover,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown:hover{-webkit-box-shadow:0 0 0 1px #E7BEBE!important;box-shadow:0 0 0 1px #E7BEBE!important}.ui.form .field.error .ui.dropdown:hover .menu,.ui.form .fields.error .field .ui.dropdown:hover .menu{-webkit-box-shadow:0 1px 0 1px #E7BEBE;box-shadow:0 1px 0 1px #E7BEBE}.ui.form .field.error .ui.selection.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.selection.dropdown .menu .item:hover{background-color:#FFF2F2}.ui.form .field.error .ui.dropdown .menu .active.item,.ui.form .fields.error .field .ui.dropdown .menu .active.item{background-color:#FDCFCF!important}.ui.form ::-webkit-input-placeholder{color:#AAA}.ui.form ::-moz-placeholder{color:#AAA}.ui.form :focus::-webkit-input-placeholder{color:#999}.ui.form :focus::-moz-placeholder{color:#999}.ui.form .error ::-webkit-input-placeholder{color:rgba(255,80,80,.4)}.ui.form .error ::-moz-placeholder{color:rgba(255,80,80,.4)}.ui.form .error :focus::-webkit-input-placeholder{color:rgba(255,80,80,.7)}.ui.form .error :focus::-moz-placeholder{color:rgba(255,80,80,.7)}.ui.form .field :disabled,.ui.form .field.disabled,.ui.form .field.disabled label{opacity:.5}.ui.form .field.disabled :disabled{opacity:1}.ui.form.loading{position:relative}.ui.form.loading:after{position:absolute;top:0;left:0;content:'';width:100%;height:100%;background:url(/static/9af25aaeb6ca6d08d213b04841813eb5.gif) 50% 50% no-repeat rgba(255,255,255,.8);visibility:visible}.ui.form.fluid{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form input.attached{width:auto}.ui.form .date.field>label{position:relative}.ui.form .date.field>label:after{position:absolute;top:2em;right:.5em;font-family:Icons;content:'\f133';font-size:1.2em;font-weight:400;color:#CCC}.ui.inverted.form label{color:#FFF}.ui.inverted.form .field.error input[type=color],.ui.inverted.form .field.error input[type=date],.ui.inverted.form .field.error input[type=datetime-local],.ui.inverted.form .field.error input[type=datetime],.ui.inverted.form .field.error input[type=email],.ui.inverted.form .field.error input[type=month],.ui.inverted.form .field.error input[type=number],.ui.inverted.form .field.error input[type=password],.ui.inverted.form .field.error input[type=search],.ui.inverted.form .field.error input[type=tel],.ui.inverted.form .field.error input[type=text],.ui.inverted.form .field.error input[type=time],.ui.inverted.form .field.error input[type=url],.ui.inverted.form .field.error input[type=week],.ui.inverted.form .field.error textarea{background-color:#FCC}.ui.inverted.form .ui.checkbox label{color:rgba(255,255,255,.8)}.ui.inverted.form .ui.checkbox .box:hover,.ui.inverted.form .ui.checkbox label:hover{color:#FFF}.ui.form .grouped.fields{margin:0 0 1em}.ui.form .grouped.fields .field{display:block;float:none;margin:.5em 0;padding:0}.ui.form .fields{clear:both}.ui.form .fields:after{content:' ';display:block;clear:both;visibility:hidden;line-height:0;height:0}.ui.form .fields>.field{clear:none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form .fields>.field:first-child{border-left:none;-webkit-box-shadow:none;box-shadow:none}.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:50%;padding-left:1%;padding-right:1%}.ui.form .three.fields>.field,.ui.form .three.fields>.fields{width:33.333%;padding-left:1%;padding-right:1%}.ui.form .four.fields>.field,.ui.form .four.fields>.fields{width:25%;padding-left:1%;padding-right:1%}.ui.form .five.fields>.field,.ui.form .five.fields>.fields{width:20%;padding-left:1%;padding-right:1%}.ui.form .fields .field:first-child{padding-left:0}.ui.form .fields .field:last-child{padding-right:0}.ui.form .fields .wide.field{width:6.25%;padding-left:1%;padding-right:1%}.ui.form .fields .wide.field:first-child{padding-left:0}.ui.form .fields .wide.field:last-child{padding-right:0}.ui.form .fields>.one.wide.field{width:6.25%}.ui.form .fields>.two.wide.field{width:12.5%}.ui.form .fields>.three.wide.field{width:18.75%}.ui.form .fields>.four.wide.field{width:25%}.ui.form .fields>.five.wide.field{width:31.25%}.ui.form .fields>.six.wide.field{width:37.5%}.ui.form .fields>.seven.wide.field{width:43.75%}.ui.form .fields>.eight.wide.field{width:50%}.ui.form .fields>.nine.wide.field{width:56.25%}.ui.form .fields>.ten.wide.field{width:62.5%}.ui.form .fields>.eleven.wide.field{width:68.75%}.ui.form .fields>.twelve.wide.field{width:75%}.ui.form .fields>.thirteen.wide.field{width:81.25%}.ui.form .fields>.fourteen.wide.field{width:87.5%}.ui.form .fields>.fifteen.wide.field{width:93.75%}.ui.form .fields>.sixteen.wide.field{width:100%}@media only screen and (max-width:767px){.ui.form .fields>.eight.wide.field,.ui.form .fields>.eleven.wide.field,.ui.form .fields>.fifteen.wide.field,.ui.form .fields>.five.wide.field,.ui.form .fields>.four.wide.field,.ui.form .fields>.fourteen.wide.field,.ui.form .fields>.nine.wide.field,.ui.form .fields>.seven.wide.field,.ui.form .fields>.six.wide.field,.ui.form .fields>.sixteen.wide.field,.ui.form .fields>.ten.wide.field,.ui.form .fields>.thirteen.wide.field,.ui.form .fields>.three.wide.field,.ui.form .fields>.twelve.wide.field,.ui.form .fields>.two.wide.field,.ui.form .five.fields>.field,.ui.form .five.fields>.fields,.ui.form .four.fields>.field,.ui.form .four.fields>.fields,.ui.form .three.fields>.field,.ui.form .three.fields>.fields,.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:100%;padding-left:0;padding-right:0}}.ui.form .inline.fields .field{min-height:1.3em;margin-right:.5em}.ui.form .inline.field>.ui.input,.ui.form .inline.field>input,.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>.ui.input,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle}.ui.form .inline.field>:first-child,.ui.form .inline.fields .field>:first-child{margin:0 .5em 0 0}.ui.form .inline.field>:only-child,.ui.form .inline.fields .field>:only-child{margin:0}.ui.small.form{font-size:.875em}.ui.small.form input[type=color],.ui.small.form input[type=date],.ui.small.form input[type=datetime-local],.ui.small.form input[type=datetime],.ui.small.form input[type=email],.ui.small.form input[type=month],.ui.small.form input[type=number],.ui.small.form input[type=password],.ui.small.form input[type=search],.ui.small.form input[type=tel],.ui.small.form input[type=text],.ui.small.form input[type=time],.ui.small.form input[type=url],.ui.small.form input[type=week],.ui.small.form label,.ui.small.form textarea{font-size:1em}.ui.large.form{font-size:1.125em}.ui.grid{display:block;text-align:left;font-size:0;margin:0 -1.5%;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body>.ui.grid{margin-left:0!important;margin-right:0!important}.ui.grid:after,.ui.row:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.grid>.column,.ui.grid>.row>.column{display:inline-block;text-align:left;font-size:1rem;width:6.25%;padding-left:1.5%;padding-right:1.5%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:top}.ui.grid>.column{margin-top:1rem;margin-bottom:1rem}.ui.grid>.row{display:block;width:100%!important;margin-top:1.5%;padding:1rem 0 0;font-size:0}.ui.grid>.row:first-child{padding-top:0;margin-top:0}.ui.grid>.row>.column>img,.ui.grid>.row>img{max-width:100%}.ui.grid .column>.ui.segment:only-child{margin:0}.ui.page.grid{min-width:320px;margin-left:0;margin-right:0}@media only screen and (max-width:991px){.ui.page.grid{padding:0 4%}}@media only screen and (min-width:992px){.ui.page.grid{padding:0 8%}}@media only screen and (min-width:1500px){.ui.page.grid{padding:0 13%}}@media only screen and (min-width:1750px){.ui.page.grid{padding:0 18%}}@media only screen and (min-width:2000px){.ui.page.grid{padding:0 23%}}.ui.column.grid>.one.wide.column,.ui.grid>.column.row>.one.wide.column,.ui.grid>.one.wide.column,.ui.grid>.row>.one.wide.column{width:6.25%}.ui.column.grid>.two.wide.column,.ui.grid>.column.row>.two.wide.column,.ui.grid>.row>.two.wide.column,.ui.grid>.two.wide.column{width:12.5%}.ui.column.grid>.three.wide.column,.ui.grid>.column.row>.three.wide.column,.ui.grid>.row>.three.wide.column,.ui.grid>.three.wide.column{width:18.75%}.ui.column.grid>.four.wide.column,.ui.grid>.column.row>.four.wide.column,.ui.grid>.four.wide.column,.ui.grid>.row>.four.wide.column{width:25%}.ui.column.grid>.five.wide.column,.ui.grid>.column.row>.five.wide.column,.ui.grid>.five.wide.column,.ui.grid>.row>.five.wide.column{width:31.25%}.ui.column.grid>.six.wide.column,.ui.grid>.column.row>.six.wide.column,.ui.grid>.row>.six.wide.column,.ui.grid>.six.wide.column{width:37.5%}.ui.column.grid>.seven.wide.column,.ui.grid>.column.row>.seven.wide.column,.ui.grid>.row>.seven.wide.column,.ui.grid>.seven.wide.column{width:43.75%}.ui.column.grid>.eight.wide.column,.ui.grid>.column.row>.eight.wide.column,.ui.grid>.eight.wide.column,.ui.grid>.row>.eight.wide.column{width:50%}.ui.column.grid>.nine.wide.column,.ui.grid>.column.row>.nine.wide.column,.ui.grid>.nine.wide.column,.ui.grid>.row>.nine.wide.column{width:56.25%}.ui.column.grid>.ten.wide.column,.ui.grid>.column.row>.ten.wide.column,.ui.grid>.row>.ten.wide.column,.ui.grid>.ten.wide.column{width:62.5%}.ui.column.grid>.eleven.wide.column,.ui.grid>.column.row>.eleven.wide.column,.ui.grid>.eleven.wide.column,.ui.grid>.row>.eleven.wide.column{width:68.75%}.ui.column.grid>.twelve.wide.column,.ui.grid>.column.row>.twelve.wide.column,.ui.grid>.row>.twelve.wide.column,.ui.grid>.twelve.wide.column{width:75%}.ui.column.grid>.thirteen.wide.column,.ui.grid>.column.row>.thirteen.wide.column,.ui.grid>.row>.thirteen.wide.column,.ui.grid>.thirteen.wide.column{width:81.25%}.ui.column.grid>.fourteen.wide.column,.ui.grid>.column.row>.fourteen.wide.column,.ui.grid>.fourteen.wide.column,.ui.grid>.row>.fourteen.wide.column{width:87.5%}.ui.column.grid>.fifteen.wide.column,.ui.grid>.column.row>.fifteen.wide.column,.ui.grid>.fifteen.wide.column,.ui.grid>.row>.fifteen.wide.column{width:93.75%}.ui.column.grid>.sixteen.wide.column,.ui.grid>.column.row>.sixteen.wide.column,.ui.grid>.one.column.row>.column,.ui.grid>.row>.sixteen.wide.column,.ui.grid>.sixteen.wide.column,.ui.one.column.grid>.column,.ui.one.column.grid>.row>.column{width:100%}.ui.grid>.two.column.row>.column,.ui.two.column.grid>.column,.ui.two.column.grid>.row>.column{width:50%}.ui.grid>.three.column.row>.column,.ui.three.column.grid>.column,.ui.three.column.grid>.row>.column{width:33.3333%}.ui.four.column.grid>.column,.ui.four.column.grid>.row>.column,.ui.grid>.four.column.row>.column{width:25%}.ui.five.column.grid>.column,.ui.five.column.grid>.row>.column,.ui.grid>.five.column.row>.column{width:20%}.ui.grid>.six.column.row>.column,.ui.six.column.grid>.column,.ui.six.column.grid>.row>.column{width:16.66667%}.ui.grid>.seven.column.row>.column,.ui.seven.column.grid>.column,.ui.seven.column.grid>.row>.column{width:14.2857%}.ui.eight.column.grid>.column,.ui.eight.column.grid>.row>.column,.ui.grid>.eight.column.row>.column{width:12.5%}.ui.grid>.nine.column.row>.column,.ui.nine.column.grid>.column,.ui.nine.column.grid>.row>.column{width:11.1111%}.ui.grid>.ten.column.row>.column,.ui.ten.column.grid>.column,.ui.ten.column.grid>.row>.column{width:10%}.ui.eleven.column.grid>.column,.ui.eleven.column.grid>.row>.column,.ui.grid>.eleven.column.row>.column{width:9.0909%}.ui.grid>.twelve.column.row>.column,.ui.twelve.column.grid>.column,.ui.twelve.column.grid>.row>.column{width:8.3333%}.ui.grid>.thirteen.column.row>.column,.ui.thirteen.column.grid>.column,.ui.thirteen.column.grid>.row>.column{width:7.6923%}.ui.fourteen.column.grid>.column,.ui.fourteen.column.grid>.row>.column,.ui.grid>.fourteen.column.row>.column{width:7.1428%}.ui.fifteen.column.grid>.column,.ui.fifteen.column.grid>.row>.column,.ui.grid>.fifteen.column.row>.column{width:6.6666%}.ui.grid>.sixteen.column.row>.column,.ui.sixteen.column.grid>.column,.ui.sixteen.column.grid>.row>.column{width:6.25%}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui.relaxed.grid{margin:0 -2.5%}.ui.relaxed.grid>.column,.ui.relaxed.grid>.row>.column{padding-left:2.5%;padding-right:2.5%}.ui.grid .left.floated.column{float:left}.ui.grid .right.floated.column{float:right}.ui.divided.grid,.ui.divided.grid>.row{display:table;width:100%;margin-left:0!important;margin-right:0!important}.ui.divided.grid>.column:not(.row),.ui.divided.grid>.row>.column{display:table-cell;-webkit-box-shadow:-1px 0 0 0 rgba(0,0,0,.1),-2px 0 0 0 rgba(255,255,255,.8);box-shadow:-1px 0 0 0 rgba(0,0,0,.1),-2px 0 0 0 rgba(255,255,255,.8)}.ui.divided.grid>.column.row{display:table}.ui.divided.grid>.column:first-child,.ui.divided.grid>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.vertically.divided.grid>.row{-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1),0 -2px 0 0 rgba(255,255,255,.8)!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1),0 -2px 0 0 rgba(255,255,255,.8)!important}.ui.vertically.divided.grid>.column:not(.row),.ui.vertically.divided.grid>.row:first-child,.ui.vertically.divided.grid>.row>.column{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.celled.grid{display:table;width:100%;margin-left:0!important;margin-right:0!important;-webkit-box-shadow:0 0 0 1px #DFDFDF;box-shadow:0 0 0 1px #DFDFDF}.ui.celled.grid>.column.row,.ui.celled.grid>.column.row:first-child,.ui.celled.grid>.row{display:table;width:100%;margin-top:0;padding-top:0;-webkit-box-shadow:0 -1px 0 0 #dfdfdf;box-shadow:0 -1px 0 0 #dfdfdf}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{display:table-cell;padding:.75em;-webkit-box-shadow:-1px 0 0 0 #dfdfdf;box-shadow:-1px 0 0 0 #dfdfdf}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child,.ui.celled.page.grid{-webkit-box-shadow:none;box-shadow:none}.ui.grid .left.aligned.column,.ui.grid>.left.aligned.row>.column,.ui.left.aligned.grid,.ui.left.aligned.grid>.column,.ui.left.aligned.grid>.row>.column{text-align:left}.ui.center.aligned.grid,.ui.center.aligned.grid>.column,.ui.center.aligned.grid>.row>.column,.ui.grid .center.aligned.column,.ui.grid>.center.aligned.row>.column{text-align:center}.ui.grid .right.aligned.column,.ui.grid>.right.aligned.row>.column,.ui.right.aligned.grid,.ui.right.aligned.grid>.column,.ui.right.aligned.grid>.row>.column{text-align:right}.ui.grid .justified.column,.ui.grid>.justified.row>.column,.ui.justified.grid,.ui.justified.grid>.column,.ui.justified.grid>.row>.column{text-align:justify;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.grid .top.aligned.column,.ui.grid>.top.aligned.row>.column,.ui.top.aligned.grid,.ui.top.aligned.grid>.column,.ui.top.aligned.grid>.row>.column{vertical-align:top}.ui.grid .middle.aligned.column,.ui.grid>.middle.aligned.row>.column,.ui.middle.aligned.grid,.ui.middle.aligned.grid>.column,.ui.middle.aligned.grid>.row>.column{vertical-align:middle}.ui.bottom.aligned.grid,.ui.bottom.aligned.grid>.column,.ui.bottom.aligned.grid>.row>.column,.ui.grid .bottom.aligned.column,.ui.grid>.bottom.aligned.row>.column{vertical-align:bottom}.ui.grid>.equal.height.row{display:table;width:100%}.ui.grid>.equal.height.row>.column{display:table-cell}@media only screen and (max-width:767px){.ui.computer:not(.mobile).only.grid,.ui.grid>.computer:not(.mobile).only.column,.ui.grid>.computer:not(.mobile).only.row,.ui.grid>.row>.computer:not(.mobile).only.column,.ui.grid>.row>.tablet:not(.mobile).only.column,.ui.grid>.tablet:not(.mobile).only.column,.ui.grid>.tablet:not(.mobile).only.row,.ui.tablet:not(.mobile).only.grid{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.computer:not(.tablet).only.grid,.ui.grid>.computer:not(.tablet).only.column,.ui.grid>.computer:not(.tablet).only.row,.ui.grid>.mobile:not(.tablet).only.column,.ui.grid>.mobile:not(.tablet).only.row,.ui.grid>.row>.computer:not(.tablet).only.column,.ui.grid>.row>.mobile:not(.tablet).only.column,.ui.mobile:not(.tablet).only.grid{display:none!important}}@media only screen and (min-width:992px){.ui.grid>.mobile:not(.computer).only.column,.ui.grid>.mobile:not(.computer).only.row,.ui.grid>.row>.mobile:not(.computer).only.column,.ui.grid>.row>.tablet:not(.computer).only.column,.ui.grid>.tablet:not(.computer).only.column,.ui.grid>.tablet:not(.computer).only.row,.ui.mobile:not(.computer).only.grid,.ui.tablet:not(.computer).only.grid{display:none!important}}@media only screen and (max-width:767px){.ui.five.column.doubling.grid>.column,.ui.five.column.doubling.grid>.row>.column,.ui.four.column.doubling.grid>.column,.ui.four.column.doubling.grid>.row>.column,.ui.grid>.five.column.doubling.row>.column,.ui.grid>.four.column.doubling.row>.column,.ui.grid>.three.column.doubling.row>.column,.ui.grid>.two.column.doubling.row>.column,.ui.three.column.doubling.grid>.column,.ui.three.column.doubling.grid>.row>.column,.ui.two.column.doubling.grid>.column,.ui.two.column.doubling.grid>.row>.column{width:100%}.ui.eight.column.doubling.grid>.column,.ui.eight.column.doubling.grid>.row>.column,.ui.grid>.eight.column.doubling.row>.column,.ui.grid>.nine.column.doubling.row>.column,.ui.grid>.seven.column.doubling.row>.column,.ui.grid>.six.column.doubling.row>.column,.ui.grid>.ten.column.doubling.row>.column,.ui.nine.column.doubling.grid>.column,.ui.nine.column.doubling.grid>.row>.column,.ui.seven.column.doubling.grid>.column,.ui.seven.column.doubling.grid>.row>.column,.ui.six.column.doubling.grid>.column,.ui.six.column.doubling.grid>.row>.column,.ui.ten.column.doubling.grid>.column,.ui.ten.column.doubling.grid>.row>.column{width:50%}.ui.fourteen.column.doubling.grid>.column,.ui.fourteen.column.doubling.grid>.row>.column,.ui.grid>.fourteen.column.doubling.row>.column,.ui.grid>.twelve.column.doubling.row>.column,.ui.twelve.column.doubling.grid>.column,.ui.twelve.column.doubling.grid>.row>.column{width:33.3333333333333%}.ui.grid>.sixteen.column.doubling.row>.column,.ui.sixteen.column.doubling.grid>.column,.ui.sixteen.column.doubling.grid>.row>.column{width:25%}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid>.two.column.doubling.row>.column,.ui.two.column.doubling.grid>.column,.ui.two.column.doubling.grid>.row>.column{width:100%}.ui.four.column.doubling.grid>.column,.ui.four.column.doubling.grid>.row>.column,.ui.grid>.four.column.doubling.row>.column,.ui.grid>.three.column.doubling.row>.column,.ui.three.column.doubling.grid>.column,.ui.three.column.doubling.grid>.row>.column{width:50%}.ui.eight.column.doubling.grid>.column,.ui.eight.column.doubling.grid>.row>.column,.ui.five.column.doubling.grid>.column,.ui.five.column.doubling.grid>.row>.column,.ui.grid>.eight.column.doubling.row>.column,.ui.grid>.five.column.doubling.row>.column,.ui.grid>.six.column.doubling.row>.column,.ui.six.column.doubling.grid>.column,.ui.six.column.doubling.grid>.row>.column{width:33.3333333%}.ui.eight.column.doubling.grid>.column,.ui.eight.column.doubling.grid>.row>.column,.ui.grid>.eight.column.doubling.row>.column,.ui.grid>.nine.column.doubling.row>.column,.ui.nine.column.doubling.grid>.column,.ui.nine.column.doubling.grid>.row>.column{width:25%}.ui.grid>.ten.column.doubling.row>.column,.ui.ten.column.doubling.grid>.column,.ui.ten.column.doubling.grid>.row>.column{width:20%}.ui.grid>.twelve.column.doubling.row>.column,.ui.twelve.column.doubling.grid>.column,.ui.twelve.column.doubling.grid>.row>.column{width:16.6666666%}.ui.fourteen.column.doubling.grid>.column,.ui.fourteen.column.doubling.grid>.row>.column,.ui.grid>.fourteen.column.doubling.row>.column{width:14.28571428571429%}.ui.grid>.sixteen.column.doubling.row>.column,.ui.sixteen.column.doubling.grid>.column,.ui.sixteen.column.doubling.grid>.row>.column{width:12.5%}}@media only screen and (max-width:767px){.ui.stackable.grid{display:block!important;padding:0;margin:0}.ui.stackable.grid>.column,.ui.stackable.grid>.row>.column{display:block!important;width:auto!important;margin:1em 0 0!important;padding:1em 0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.stackable.celled.grid .column,.ui.stackable.divided.grid .column{border-top:1px dotted rgba(0,0,0,.1)}.ui.stackable.grid>.column:first-child,.ui.stackable.grid>.row:first-child>.column:first-child{margin-top:0!important;padding-top:0!important}.ui.stackable.celled.grid>.column:first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:first-child,.ui.stackable.divided.grid>.row:first-child>.column:first-child{border-top:none!important}.ui.stackable.page.grid>.column,.ui.stackable.page.grid>.row>.column{padding-left:1em!important;padding-right:1em!important}.ui.stackable.grid .vertical.pointing.menu .item:after{display:none}}.ui.menu{margin:1rem 0;background-color:#FFF;font-size:0;font-weight:400;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);border-radius:.1875rem}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.menu>.item:first-child{border-radius:.1875em 0 0 .1875em}.ui.menu>.item:last-child{border-radius:0 .1875em .1875em 0}.ui.menu .item{vertical-align:middle;line-height:1;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:opacity .2s ease,background .2s ease,-webkit-box-shadow .2s ease;-moz-transition:opacity .2s ease,background .2s ease,box-shadow .2s ease;transition:opacity .2s ease,background .2s ease,box-shadow .2s ease}.ui.menu .item,.ui.menu .item>a:not(.button){color:rgba(0,0,0,.75)}.ui.menu .item .item,.ui.menu .item .item>a:not(.button){color:rgba(30,30,30,.7)}.ui.menu .item .item .item,.ui.menu .item .item .item>a:not(.button){color:rgba(30,30,30,.6)}.ui.menu .dropdown .menu .item,.ui.menu .dropdown .menu .item a:not(.button){color:rgba(0,0,0,.75)}.ui.menu .dropdown .menu .item a:not(.button):hover,.ui.menu .item .menu .link.item:hover,.ui.menu .item .menu a.item:hover{color:rgba(0,0,0,.85)}.ui.menu .active.item,.ui.menu .active.item a:not(.button){color:rgba(0,0,0,.85);border-radius:0}.ui.menu .item{position:relative;display:inline-block;padding:.83em .95em;border-top:0 solid transparent;-webkit-tap-highlight-color:transparent;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ui.menu .menu{margin:0}.ui.menu .item.left,.ui.menu .menu.left{float:left}.ui.menu .item.right,.ui.menu .menu.right{float:right}.ui.menu .item:before{position:absolute;content:'';top:0;left:0;width:1px;height:100%;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.05)),color-stop(50%,rgba(0,0,0,.1)),to(rgba(0,0,0,.05)));background-image:-webkit-linear-gradient(rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-moz-linear-gradient(rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:linear-gradient(rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%)}.ui.menu .item:first-child:before,.ui.menu>.menu:not(.right):first-child>.item:first-child:before{display:none}.ui.menu .item.right:before,.ui.menu .menu.right .item:before{right:auto;left:0}.ui.menu .item>p:only-child,.ui.menu .text.item>*{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;line-height:1.3;color:rgba(0,0,0,.6)}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu:not(.vertical) .item>.button{position:relative;top:-.05em;margin:-.55em 0;padding-bottom:.55em;padding-top:.55em;font-size:.875em}.ui.menu:not(.vertical) .item>.input{margin-top:-.85em;margin-bottom:-.85em;padding-top:.3em;padding-bottom:.3em;width:100%;vertical-align:top}.ui.menu .item>.input input{padding-top:.35em;padding-bottom:.35em}.ui.vertical.menu .item>.input input{margin:0;padding-top:.63em;padding-bottom:.63em}.ui.menu:not(.vertical) .item>.button.labeled>.icon{padding-top:.6em}.ui.menu:not(.vertical) .item .action.input>.button{font-size:.8em;padding:.55em .8em}.ui.small.menu:not(.vertical) .item>.input input{padding-top:.4em;padding-bottom:.4em}.ui.large.menu:not(.vertical) .item>.input input{top:-.125em;padding-bottom:.6em;padding-top:.6em}.ui.large.menu:not(.vertical) .item .action.input>.button{font-size:.8em;padding:.9em}.ui.large.menu:not(.vertical) .item .action.input>.button>.icon{padding-top:.8em}.ui.menu .header.item{background-color:rgba(0,0,0,.04);margin:0}.ui.vertical.menu .header.item{font-weight:700}.ui.menu .dropdown .menu .item .icon{float:none;margin:0 .75em 0 0}.ui.menu .dropdown.item .menu{left:1px;margin:0;min-width:-webkit-calc(99%);min-width:-moz-calc(99%);min-width:calc(99%);-webkit-box-shadow:0 1px 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px 1px rgba(0,0,0,.1)}.ui.secondary.menu .dropdown.item .menu{left:0;min-width:100%}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.menu .simple.dropdown.item .menu{margin:0!important}.ui.menu .dropdown.item .menu .item{width:100%;color:rgba(0,0,0,.75)}.ui.menu .dropdown.item .menu .active.item{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.menu .ui.dropdown .menu .item:before{display:none}.ui.menu .item>.label{background-color:rgba(0,0,0,.35);color:#FFF;margin:-.15em 0 -.15em .5em;padding:.3em .8em;vertical-align:baseline}.ui.menu .item>.floating.label{padding:.3em .8em}.ui.menu .item>img:only-child{display:block;max-width:100%;margin:0 auto}.ui.link.menu .item:hover,.ui.menu .link.item:hover,.ui.menu .ui.dropdown .menu .item:hover,.ui.menu a.item:hover{cursor:pointer;background-color:rgba(0,0,0,.02)}.ui.menu .ui.dropdown.item.active{background-color:rgba(0,0,0,.02);-webkit-box-shadow:none;box-shadow:none;-moz-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu .ui.dropdown .menu .item:active,.ui.menu a.item:active{background-color:rgba(0,0,0,.05)}.ui.menu .active.item{background-color:rgba(0,0,0,.01);color:rgba(0,0,0,.95);-webkit-box-shadow:0 .2em 0 inset;box-shadow:0 .2em 0 inset}.ui.vertical.menu .active.item{border-radius:0;-webkit-box-shadow:.2em 0 0 inset;box-shadow:.2em 0 0 inset}.ui.vertical.menu>.active.item:first-child{border-radius:0 .1875em 0 0}.ui.vertical.menu>.active.item:last-child{border-radius:0 0 .1875em}.ui.vertical.menu>.active.item:only-child{border-radius:0 .1875em .1875em 0}.ui.vertical.menu .active.item .menu .active.item{border-left:none;padding-left:1.5rem}.ui.vertical.menu .item .menu .active.item{background-color:rgba(0,0,0,.03);-webkit-box-shadow:none;box-shadow:none}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{cursor:default;color:rgba(0,0,0,.2);background-color:transparent!important}.ui.menu.loading{position:relative}.ui.menu.loading:after{position:absolute;top:0;left:0;content:'';width:100%;height:100%;background:url(/static/9af25aaeb6ca6d08d213b04841813eb5.gif) 50% 50% no-repeat rgba(255,255,255,.8);visibility:visible}.ui.vertical.menu .item{display:block;height:auto!important;border-top:none;border-left:0 solid transparent;border-right:none}.ui.vertical.menu>.item:first-child{border-radius:.1875em .1875em 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .1875em .1875em}.ui.vertical.menu .item>.label{float:right;text-align:center}.ui.vertical.menu .item>i.icon{float:right;width:1.22em;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .25em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.03)),color-stop(1.5em,rgba(0,0,0,.1)),to(rgba(0,0,0,.03)));background-image:linear-gradient(to right,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%)}.ui.vertical.menu .item:first-child:before{background-image:none!important}.ui.vertical.menu .dropdown.item>i{float:right;content:"\f0da"}.ui.vertical.menu .dropdown.item .menu{top:0!important;left:100%;margin:0 0 0 1px;-webkit-box-shadow:0 0 1px 1px #DDD;box-shadow:0 0 1px 1px #DDD}.ui.vertical.menu .dropdown.item.active{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.item .menu .item{font-size:1rem}.ui.vertical.menu .dropdown.item .menu .item i.icon{margin-right:0}.ui.vertical.menu .dropdown.item.active{-webkit-box-shadow:none;box-shadow:none}.ui.vertical.menu .item>.menu{margin:.5em -.95em 0}.ui.vertical.menu .item>.menu>.item{padding:.5rem 1.5rem;font-size:.875em}.ui.vertical.menu .item>.menu>.item:before{display:none}.ui.tiered.menu>.sub.menu>.item{color:rgba(0,0,0,.4)}.ui.tiered.menu .item.active,.ui.tiered.menu>.menu>.item:hover{color:rgba(0,0,0,.8)}.ui.tiered.menu>.menu .item.active:after{position:absolute;content:'';margin-top:-1px;top:100%;left:0;width:100%;height:2px;background-color:#FBFBFB}.ui.tiered.menu .sub.menu{background-color:rgba(0,0,0,.01);border-radius:0;border-top:1px solid rgba(0,0,0,.1);-webkit-box-shadow:none;box-shadow:none;color:#FFF}.ui.tiered.menu .sub.menu .item{font-size:.875rem}.ui.tiered.menu .sub.menu .item:before{background-image:none}.ui.tiered.menu .sub.menu .active.item{padding-top:.83em;background-color:transparent;border-radius:0;border-top:medium none;-webkit-box-shadow:none;box-shadow:none;color:rgba(0,0,0,.7)!important}.ui.tiered.menu .sub.menu .active.item:after{display:none}.ui.inverted.tiered.menu>.menu>.item{color:rgba(255,255,255,.5)}.ui.inverted.tiered.menu .sub.menu{background-color:rgba(0,0,0,.2)}.ui.inverted.tiered.menu .sub.menu .item{color:rgba(255,255,255,.6)}.ui.inverted.tiered.menu>.menu>.item:hover{color:rgba(255,255,255,.9)}.ui.inverted.tiered.menu .active.item:after{display:none}.ui.inverted.tiered.menu>.menu>.active.item,.ui.inverted.tiered.menu>.sub.menu>.active.item{color:#fff!important;-webkit-box-shadow:none;box-shadow:none}.ui.pointing.tiered.menu>.menu>.item:after{display:none}.ui.pointing.tiered.menu>.sub.menu>.item:after{display:block}.ui.tabular.menu{background-color:transparent;border-bottom:1px solid #DCDDDE;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.tabular.menu .item{background-color:transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top:1px solid transparent;padding-left:1.4em;padding-right:1.4em;color:rgba(0,0,0,.6)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{position:relative;background-color:#FFF;color:rgba(0,0,0,.8);border-color:#DCDDDE;font-weight:700;margin-bottom:-1px;border-bottom:1px solid #FFF;-webkit-box-shadow:none;box-shadow:none;border-radius:5px 5px 0 0}.ui.attached.tabular.menu{position:relative;z-index:2}.ui.tabular.menu~.bottom.attached.segment{margin:1px 0 0 1px}.ui.pagination.menu{margin:0;display:inline-block;vertical-align:middle}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu.floated{display:block}.ui.pagination.menu .active.item{border-top:none;padding-top:.83em;background-color:rgba(0,0,0,.05);-webkit-box-shadow:none;box-shadow:none}.ui.secondary.menu{background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.ui.secondary.menu>.item,.ui.secondary.menu>.menu>.item{-webkit-box-shadow:none;box-shadow:none;border:none;height:auto!important;margin:0 .25em;padding:.5em 1em;border-radius:.3125em}.ui.secondary.menu>.item:before,.ui.secondary.menu>.menu>.item:before{display:none!important}.ui.secondary.menu .item>.input input{background-color:transparent;border:none}.ui.secondary.menu .link.item,.ui.secondary.menu a.item{opacity:.8;-webkit-transition:none;-moz-transition:none;transition:none}.ui.secondary.menu .header.item{border-right:.1em solid rgba(0,0,0,.1);background-color:transparent;border-radius:0}.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{opacity:1}.ui.secondary.menu>.active.item,.ui.secondary.menu>.menu>.active.item{background-color:rgba(0,0,0,.08);opacity:1;-webkit-box-shadow:none;box-shadow:none}.ui.secondary.vertical.menu>.active.item{border-radius:.3125em}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.5)}.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{color:rgba(255,255,255,.9)}.ui.secondary.inverted.menu .active.item{background-color:rgba(255,255,255,.1)}.ui.secondary.item.menu>.item{margin:0}.ui.secondary.attached.menu{-webkit-box-shadow:none;box-shadow:none}.ui.secondary.pointing.menu{border-bottom:3px solid rgba(0,0,0,.1)}.ui.secondary.pointing.menu>.item,.ui.secondary.pointing.menu>.menu>.item{margin:0 0 -3px;padding:.6em .95em;border-bottom:3px solid transparent;border-radius:0;-webkit-transition:color .2s;-moz-transition:color .2s;transition:color .2s}.ui.secondary.pointing.menu .header.item{margin-bottom:-3px;background-color:transparent!important;border-right-width:0!important;font-weight:700!important;color:rgba(0,0,0,.8)!important}.ui.secondary.pointing.menu .text.item{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.secondary.pointing.menu>.item:after,.ui.secondary.pointing.menu>.menu>.item:after{display:none}.ui.secondary.pointing.menu>.link.item:hover,.ui.secondary.pointing.menu>.menu>.link.item:hover,.ui.secondary.pointing.menu>.menu>a.item:hover,.ui.secondary.pointing.menu>a.item:hover{background-color:transparent;color:rgba(0,0,0,.7)}.ui.secondary.pointing.menu>.link.item:active,.ui.secondary.pointing.menu>.menu>.link.item:active,.ui.secondary.pointing.menu>.menu>a.item:active,.ui.secondary.pointing.menu>a.item:active{background-color:transparent;border-color:rgba(0,0,0,.2)}.ui.secondary.pointing.menu>.item.active,.ui.secondary.pointing.menu>.menu>.item.active{background-color:transparent;border-color:rgba(0,0,0,.4);-webkit-box-shadow:none;box-shadow:none}.ui.secondary.vertical.pointing.menu{border:none;border-right:3px solid rgba(0,0,0,.1)}.ui.secondary.vertical.menu>.item{border:none;margin:0 0 .3em;padding:.6em .8em;border-radius:.1875em}.ui.secondary.vertical.menu>.header.item{border-radius:0}.ui.secondary.vertical.pointing.menu>.item{margin:0 -3px 0 0;border-bottom:none;border-right:3px solid transparent;border-radius:0}.ui.secondary.vertical.pointing.menu>.item:hover{background-color:transparent;color:rgba(0,0,0,.7)}.ui.secondary.vertical.pointing.menu>.item:active{background-color:transparent;border-color:rgba(0,0,0,.2)}.ui.secondary.vertical.pointing.menu>.item.active{background-color:transparent;border-color:rgba(0,0,0,.4);color:rgba(0,0,0,.85)}.ui.secondary.inverted.menu{background-color:transparent}.ui.secondary.inverted.pointing.menu{border-bottom:3px solid rgba(255,255,255,.1)}.ui.secondary.inverted.pointing.menu>.item{color:rgba(255,255,255,.7)}.ui.secondary.inverted.pointing.menu>.header.item{color:#FFF!important}.ui.secondary.inverted.pointing.menu>.item:hover,.ui.secondary.inverted.pointing.menu>.menu>.item:hover{color:rgba(255,255,255,.85)}.ui.secondary.inverted.pointing.menu>.item:active,.ui.secondary.inverted.pointing.menu>.menu>.item:active{border-color:rgba(255,255,255,.4)}.ui.secondary.inverted.pointing.menu>.item.active,.ui.secondary.inverted.pointing.menu>.menu>.item.active{border-color:rgba(255,255,255,.8);color:#fff}.ui.secondary.inverted.vertical.pointing.menu{border-right:3px solid rgba(255,255,255,.1);border-bottom:none}.ui.text.menu{background-color:transparent;margin:1rem -1rem;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.ui.text.menu>.item{opacity:.8;margin:0 1em;padding:0;height:auto!important;border-radius:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;transition:opacity .2s ease}.ui.text.menu>.item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(50,50,50,.8);font-size:.875rem;padding:0;text-transform:uppercase;font-weight:700}.ui.text.item.menu .item{margin:0}.ui.vertical.text.menu{margin:1rem 0}.ui.vertical.text.menu:first-child{margin-top:0}.ui.vertical.text.menu:last-child{margin-bottom:0}.ui.vertical.text.menu .item{float:left;clear:left;margin:.5em 0}.ui.vertical.text.menu .item>i.icon{float:none;margin:0 .83em 0 0}.ui.vertical.text.menu .header.item{margin:.8em 0}.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;padding:0;border:none;opacity:1;font-weight:700;-webkit-box-shadow:none;box-shadow:none}.ui.text.attached.menu,.ui.text.pointing.menu .active.item:after{-webkit-box-shadow:none;box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item.active,.ui.inverted.text.menu .item:hover{background-color:transparent}.ui.icon.menu,.ui.vertical.icon.menu{width:auto;display:inline-block;height:auto}.ui.icon.menu>.item{height:auto;text-align:center;color:rgba(60,60,60,.7)}.ui.icon.menu>.item>.icon{display:block;float:none!important;opacity:1;margin:0 auto!important}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item .icon{margin:0}.ui.vertical.icon.menu{float:none}.ui.inverted.icon.menu .item{color:rgba(255,255,255,.8)}.ui.inverted.icon.menu .icon{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu>.item>.icon{display:block;font-size:1.5em!important;margin:0 auto .3em!important}.ui.green.menu .active.item,.ui.menu .green.active.item{border-color:#A1CF64!important;color:#A1CF64!important}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#D95C5C!important;color:#D95C5C!important}.ui.blue.menu .active.item,.ui.menu .blue.active.item{border-color:#6ECFF5!important;color:#6ECFF5!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#564F8A!important;color:#564F8A!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#F05940!important;color:#F05940!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00B5AD!important;color:#00B5AD!important}.ui.inverted.menu{background-color:#333;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.menu .header.item{margin:0;background-color:rgba(0,0,0,.3);-webkit-box-shadow:none;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a{color:#FFF}.ui.inverted.menu .item .item,.ui.inverted.menu .item .item>a{color:rgba(255,255,255,.8)}.ui.inverted.menu .dropdown .menu .item,.ui.inverted.menu .dropdown .menu .item a{color:rgba(0,0,0,.75)!important}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover{color:rgba(255,255,255,.2)}.ui.inverted.menu .item:before{background-image:-webkit-linear-gradient(rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-moz-linear-gradient(rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.03)),color-stop(50%,rgba(255,255,255,.1)),to(rgba(255,255,255,.03)));background-image:linear-gradient(rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%)}.ui.vertical.inverted.menu .item:before{background-image:-webkit-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-moz-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.03)),color-stop(50%,rgba(255,255,255,.1)),to(rgba(255,255,255,.03)));background-image:linear-gradient(to right,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%)}.ui.inverted.menu .dropdown.item:hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.link.inverted.menu .item:hover{background-color:rgba(255,255,255,.1)}.ui.inverted.menu .item .menu .link.item:hover,.ui.inverted.menu .item .menu a.item:hover,.ui.inverted.menu .item>a:hover,.ui.inverted.menu a.item:hover{color:#fff}.ui.inverted.menu .dropdown.item:active,.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background-color:rgba(255,255,255,.15)}.ui.inverted.menu .active.item{-webkit-box-shadow:none!important;box-shadow:none!important;background-color:rgba(255,255,255,.2)}.ui.inverted.menu .active.item,.ui.inverted.menu .active.item a{color:#fff!important}.ui.inverted.vertical.menu .item .menu .active.item{background-color:rgba(255,255,255,.2);color:#fff}.ui.inverted.pointing.menu .active.item:after{background-color:#5B5B5B;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.pointing.menu .active.item:hover:after{background-color:#4A4A4A}.ui.selection.menu>.item{color:rgba(0,0,0,.4)}.ui.selection.menu>.item:hover{color:rgba(0,0,0,.6)}.ui.selection.menu>.item.active{color:rgba(0,0,0,.85)}.ui.inverted.selection.menu>.item{color:rgba(255,255,255,.4)}.ui.inverted.selection.menu>.item:hover{color:rgba(255,255,255,.9)}.ui.inverted.selection.menu>.item.active{color:#FFF}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.grey.menu{background-color:#F0F0F0}.ui.inverted.green.menu{background-color:#A1CF64}.ui.inverted.green.pointing.menu .active.item:after{background-color:#B3D782}.ui.inverted.red.menu{background-color:#D95C5C}.ui.inverted.red.pointing.menu .active.item:after{background-color:#DF7C7C}.ui.inverted.blue.menu{background-color:#6ECFF5}.ui.inverted.blue.pointing.menu .active.item:after{background-color:#8AD7F6}.ui.inverted.purple.menu{background-color:#564F8A}.ui.inverted.purple.pointing.menu .active.item:after{background-color:#7771A0}.ui.inverted.orange.menu{background-color:#F05940}.ui.inverted.orange.pointing.menu .active.item:after{background-color:#F27966}.ui.inverted.teal.menu{background-color:#00B5AD}.ui.inverted.teal.pointing.menu .active.item:after{background-color:#33C3BC}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.83em;padding-bottom:.83em}.ui.menu .vertically.fitted.item,.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item{padding-left:.95em;padding-right:.95em}.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item:before,.ui.menu .borderless.item:before{background-image:none}.ui.compact.menu{display:inline-block;margin:0;vertical-align:middle}.ui.compact.vertical.menu{width:auto!important}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{display:block;width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;text-align:center}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:999;margin:0;border:none;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{border-radius:0!important}.ui.menu.fixed.top{top:0;left:0;right:auto;bottom:auto}.ui.menu.fixed.right{top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui.menu.fixed.bottom{bottom:0;left:0;top:auto;right:auto}.ui.menu.fixed.left{top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.fixed.menu+.ui.grid{padding-top:2.75rem}.ui.pointing.menu .active.item:after{position:absolute;bottom:-.3em;left:50%;content:"";margin-left:-.3em;width:.6em;height:.6em;border:none;border-bottom:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1);background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .2s ease;-moz-transition:background .2s ease;transition:background .2s ease}.ui.pointing.menu .active.item .menu .active.item:after{display:none}.ui.vertical.pointing.menu .active.item:after{position:absolute;top:50%;margin-top:-.3em;right:-.4em;bottom:auto;left:auto;border:none;border-top:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1)}.ui.pointing.menu .active.item:after{background-color:#FCFCFC}.ui.pointing.menu .active.item:hover:after{background-color:#FAFAFA}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#F4F4F4}.ui.pointing.menu a.active.item:active:after{background-color:#F0F0F0}.ui.menu.attached{margin:0;border-radius:0;-webkit-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.top.attached.menu{border-radius:.1875em .1875em 0 0}.ui.menu.bottom.attached{border-radius:0 0 .1875em .1875em}.ui.small.menu .item{font-size:.875rem}.ui.small.vertical.menu{width:13rem}.ui.menu .item{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu .item{font-size:1.125rem}.ui.large.menu .item .item{font-size:.875rem}.ui.large.menu .dropdown .item{font-size:1rem}.ui.large.vertical.menu{width:18rem}.ui.message{position:relative;min-height:18px;margin:1em 0;height:auto;background-color:#EFEFEF;padding:1em;line-height:1.33;color:rgba(0,0,0,.6);-webkit-transition:opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;-moz-transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:.325em}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.message .header{margin:0;font-size:1.33em;font-weight:700}.ui.message p{opacity:.85;margin:1em 0}.ui.message p:first-child{margin-top:0}.ui.message p:last-child{margin-bottom:0}.ui.message .header+p{margin-top:.3em}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.message ul.list{opacity:.85;list-style-position:inside;margin:.2em 0;padding:0}.ui.message ul.list li{position:relative;list-style-type:none;margin:0 0 .3em 1em;padding:0}.ui.message ul.list li:before{position:absolute;content:'\2022';top:-.05em;left:-.8em;height:100%;vertical-align:baseline;opacity:.5}.ui.message ul.list li:first-child{margin-top:0}.ui.message>.close.icon{cursor:pointer;position:absolute;right:0;top:0;width:2.5em;height:2.5em;opacity:.7;padding:.75em 0 0 .75em;-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;z-index:10}.ui.message>.close.icon:hover{opacity:1}.ui.message.visible{display:block!important}.ui.icon.message.animating,.ui.icon.message.visible{display:table!important}.ui.message.hidden{display:none!important}.ui.compact.message{display:inline-block}.ui.attached.message{margin-left:-1px;margin-right:-1px;margin-bottom:-1px;border-radius:.325em .325em 0 0;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 .325em .325em}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.attached.icon.message{display:block;width:auto}.ui.icon.message{display:table;width:100%}.ui.icon.message>.icon:not(.close){display:table-cell;vertical-align:middle;font-size:3.8em;opacity:.5}.ui.icon.message>.icon+.content{padding-left:1em}.ui.icon.message>.content{display:table-cell;vertical-align:middle}.ui.inverted.message{background-color:rgba(255,255,255,.05);color:rgba(255,255,255,.95)}.ui.floating.message{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05) inset;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05) inset}.ui.black.message{background-color:#333;color:rgba(255,255,255,.95)}.ui.blue.message,.ui.info.message{background-color:#E6F4F9;color:#4D8796}.ui.green.message{background-color:#DEFCD5;color:#52A954}.ui.warning.message,.ui.yellow.message{background-color:#F6F3D5;color:#96904D}.ui.red.message{background-color:#F1D7D7;color:#A95252}.ui.positive.message,.ui.success.message{background-color:#DEFCD5;color:#52A954}.ui.error.message,.ui.negative.message{background-color:#F1D7D7;color:#A95252}.ui.small.message{font-size:.875em}.ui.message{font-size:1em}.ui.large.message{font-size:1.125em}.ui.huge.message{font-size:1.5em}.ui.massive.message{font-size:2em}.ui.table{width:100%;border-collapse:collapse}.ui.table td,.ui.table th,.ui.table tr{border-collapse:collapse;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.ui.table thead{border-bottom:1px solid rgba(0,0,0,.03)}.ui.table tfoot th{background-color:rgba(0,0,0,.03)}.ui.table th{cursor:auto;background-color:rgba(0,0,0,.05);text-align:left;color:rgba(0,0,0,.8);padding:.5em .7em;vertical-align:middle}.ui.table thead th:first-child{border-radius:5px 0 0}.ui.table thead th:last-child{border-radius:0 5px 0 0}.ui.table tfoot th:first-child{border-radius:0 0 0 5px}.ui.table tfoot th:last-child{border-radius:0 0 5px}.ui.table tfoot th:only-child{border-radius:0 0 5px 5px}.ui.table td{padding:.4em .7em;vertical-align:middle}.ui.table tfoot{border-top:1px solid rgba(0,0,0,.03)}.ui.table tfoot th{font-weight:400;font-style:italic}.ui.table tbody tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}@media only screen and (max-width:768px){.ui.table{display:block;padding:0}.ui.table tfoot,.ui.table thead{display:none}.ui.table tbody,.ui.table tr{display:block}.ui.table tr>td{width:100%!important;display:block;border:none!important;padding:.25em .75em;-webkit-box-shadow:0 1px 0 0 rgba(0,0,0,.05)!important;box-shadow:0 1px 0 0 rgba(0,0,0,.05)!important}.ui.table td:first-child{font-weight:700;padding-top:1em}.ui.table td:last-child{-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important;padding-bottom:1em}.ui.table tr>td.active,.ui.table tr>td.error,.ui.table tr>td.negative,.ui.table tr>td.positive,.ui.table tr>td.warning{background-color:transparent!important}}.ui.sortable.table th.disabled:hover{cursor:auto;text-align:left;font-weight:700;color:#333;color:rgba(0,0,0,.8)}.ui.sortable.table thead th:hover{background-color:rgba(0,0,0,.13);color:rgba(0,0,0,.8)}.ui.inverted.sortable.table thead th:hover{background-color:rgba(255,255,255,.13);color:#fff}.ui.table td.positive,.ui.table tr.positive{-webkit-box-shadow:2px 0 0 #119000 inset;box-shadow:2px 0 0 #119000 inset}.ui.table td.positive,.ui.table tr.positive td{background-color:#F2F8F0!important;color:#119000!important}.ui.celled.table tr.positive:hover td,.ui.celled.table tr:hover td.positive,.ui.table td:hover.positive,.ui.table th:hover.positive,.ui.table tr.positive:hover td{background-color:#ECF5E9!important;color:#119000!important}.ui.table td.negative,.ui.table tr.negative{-webkit-box-shadow:2px 0 0 #CD2929 inset;box-shadow:2px 0 0 #CD2929 inset}.ui.table td.negative,.ui.table tr.negative td{background-color:#F9F4F4;color:#CD2929!important}.ui.celled.table tr.negative:hover td,.ui.celled.table tr:hover td.negative,.ui.table td:hover.negative,.ui.table th:hover.negative,.ui.table tr.negative:hover td{background-color:#F2E8E8;color:#CD2929}.ui.table td.error,.ui.table tr.error{-webkit-box-shadow:2px 0 0 #CD2929 inset;box-shadow:2px 0 0 #CD2929 inset}.ui.table td.error,.ui.table th.error,.ui.table tr.error td{background-color:#F9F4F4;color:#CD2929}.ui.celled.table tr.error:hover td,.ui.celled.table tr:hover td.error,.ui.table td:hover.error,.ui.table th:hover.error,.ui.table tr.error:hover td{background-color:#F2E8E8;color:#CD2929}.ui.table td.warning,.ui.table tr.warning{-webkit-box-shadow:2px 0 0 #7D6C00 inset;box-shadow:2px 0 0 #7D6C00 inset}.ui.table td.warning,.ui.table th.warning,.ui.table tr.warning td{background-color:#FBF6E9;color:#7D6C00}.ui.celled.table tr.warning:hover td,.ui.celled.table tr:hover td.warning,.ui.table td:hover.warning,.ui.table th:hover.warning,.ui.table tr.warning:hover td{background-color:#F3EDDC;color:#7D6C00}.ui.table td.active,.ui.table tr.active{-webkit-box-shadow:2px 0 0 rgba(50,50,50,.9) inset;box-shadow:2px 0 0 rgba(50,50,50,.9) inset}.ui.table tr td.active,.ui.table tr.active td{background-color:#E0E0E0;color:rgba(50,50,50,.9)}.ui.table tr td.disabled,.ui.table tr.disabled td,.ui.table tr.disabled:hover td,.ui.table tr:hover td.disabled{color:rgba(150,150,150,.3)}.ui.column.table{table-layout:fixed}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.3333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66667%}.ui.seven.column.table td{width:14.2857%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.1111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.0909%}.ui.twelve.column.table td{width:8.3333%}.ui.thirteen.column.table td{width:7.6923%}.ui.fourteen.column.table td{width:7.1428%}.ui.fifteen.column.table td{width:6.6666%}.ui.sixteen.column.table td,.ui.table td.one.wide,.ui.table th.one.wide{width:6.25%}.ui.table td.two.wide,.ui.table th.two.wide{width:12.5%}.ui.table td.three.wide,.ui.table th.three.wide{width:18.75%}.ui.table td.four.wide,.ui.table th.four.wide{width:25%}.ui.table td.five.wide,.ui.table th.five.wide{width:31.25%}.ui.table td.six.wide,.ui.table th.six.wide{width:37.5%}.ui.table td.seven.wide,.ui.table th.seven.wide{width:43.75%}.ui.table td.eight.wide,.ui.table th.eight.wide{width:50%}.ui.table td.nine.wide,.ui.table th.nine.wide{width:56.25%}.ui.table td.ten.wide,.ui.table th.ten.wide{width:62.5%}.ui.table td.eleven.wide,.ui.table th.eleven.wide{width:68.75%}.ui.table td.twelve.wide,.ui.table th.twelve.wide{width:75%}.ui.table td.thirteen.wide,.ui.table th.thirteen.wide{width:81.25%}.ui.table td.fourteen.wide,.ui.table th.fourteen.wide{width:87.5%}.ui.table td.fifteen.wide,.ui.table th.fifteen.wide{width:93.75%}.ui.table td.sixteen.wide,.ui.table th.sixteen.wide{width:100%}.ui.celled.table{color:rgba(0,0,0,.8)}.ui.celled.table tbody tr,.ui.celled.table tfoot tr{border:none}.ui.celled.table td,.ui.celled.table th{border:1px solid rgba(0,0,0,.1)}.ui.celled.table.segment td:first-child,.ui.celled.table.segment th:first-child{border-left:none}.ui.celled.table.segment td:last-child,.ui.celled.table.segment th:last-child{border-right:none}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.sortable.table thead th:after{display:inline-block;content:'';width:1em;opacity:.8;margin:0 0 0 .5em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit}.ui.sortable.table thead th.ascending:after{content:'\25b4'}.ui.sortable.table thead th.descending:after{content:'\25be'}.ui.inverted.table td{color:rgba(255,255,255,.9)}.ui.inverted.table th{background-color:rgba(0,0,0,.15);color:rgba(255,255,255,.9)}.ui.inverted.table tbody tr:nth-child(2n){background-color:rgba(255,255,255,.06)}.ui.definition.table td:first-child{font-weight:700}.ui.collapsing.table{width:auto}.ui.basic.table th{background-color:transparent;padding:.5em}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.03)}.ui.basic.table td{padding:.8em .5em}.ui.basic.table tbody tr:nth-child(2n){background-color:transparent!important}.ui.padded.table td,.ui.padded.table th{padding:.8em 1em}.ui.compact.table th{padding:.3em .5em}.ui.compact.table td{padding:.2em .5em}.ui.small.table{font-size:.875em}.ui.table{font-size:1em}.ui.large.table{font-size:1.1em}@font-face{font-family:'Basic Icons';src:url(/static/3e9816417b11485d454f9b3662b06e7b.eot);src:url(/static/3e9816417b11485d454f9b3662b06e7b.eot?#iefix) format('embedded-opentype'),url(/static/60c2a8500e63bf211b7df9608f7613ea.svg#basic.icons) format('svg'),url(/static/c9dec22105ad9330c811599b8b6464f8.woff) format('woff'),url(/static/71ab514d1cedda303417ad7a06472fea.ttf) format('truetype');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.basic.icon{display:inline-block;opacity:.75;margin:0 .25em 0 0;width:1.23em;height:1em;font-family:'Basic Icons';font-style:normal;line-height:1;font-weight:400;text-decoration:inherit;text-align:center;speak:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased}i.basic.icon.circle.attention:before{content:'\2757'}i.basic.icon.circle.help:before{content:'\e704'}i.basic.icon.circle.info:before{content:'\e705'}i.basic.icon.add:before{content:'\2795'}i.basic.icon.chart:before{content:'📈'}i.basic.icon.chart.bar:before{content:'📊'}i.basic.icon.chart.pie:before{content:'\e7a2'}i.basic.icon.resize.full:before{content:'\e744'}i.basic.icon.resize.horizontal:before{content:'\2b0d'}i.basic.icon.resize.small:before{content:'\e746'}i.basic.icon.resize.vertical:before{content:'\2b0c'}i.basic.icon.down:before{content:'\2193'}i.basic.icon.down.triangle:before{content:'\25be'}i.basic.icon.down.arrow:before{content:'\e75c'}i.basic.icon.left:before{content:'\2190'}i.basic.icon.left.triangle:before{content:'\25c2'}i.basic.icon.left.arrow:before{content:'\e75d'}i.basic.icon.right:before{content:'\2192'}i.basic.icon.right.triangle:before{content:'\25b8'}i.basic.icon.right.arrow:before{content:'\e75e'}i.basic.icon.up:before{content:'\2191'}i.basic.icon.up.triangle:before{content:'\25b4'}i.basic.icon.up.arrow:before{content:'\e75f'}i.basic.icon.folder:before{content:'\e810'}i.basic.icon.open.folder:before{content:'📂'}i.basic.icon.desk.globe:before{content:'🌐'}i.basic.icon.star:before{content:'\e801'}i.basic.icon.star.empty:before{content:'\e800'}i.basic.icon.star.half:before{content:'\e701'}i.basic.icon.lock:before{content:'🔒'}i.basic.icon.unlock:before{content:'🔓'}i.basic.icon.layout.grid:before{content:'\e80c'}i.basic.icon.layout.block:before{content:'\e708'}i.basic.icon.layout.list:before{content:'\e80b'}i.basic.icon.heart.empty:before{content:'\2661'}i.basic.icon.heart:before{content:'\2665'}i.basic.icon.asterisk:before{content:'\2731'}i.basic.icon.attachment:before{content:'📎'}i.basic.icon.attention:before{content:'\26a0'}i.basic.icon.trophy:before{content:'🏉'}i.basic.icon.barcode:before{content:'\e792'}i.basic.icon.cart:before{content:'\e813'}i.basic.icon.block:before{content:'🚫'}i.basic.icon.book:before{content:'📖'}i.basic.icon.bookmark:before{content:'🔖'}i.basic.icon.calendar:before{content:'📅'}i.basic.icon.cancel:before{content:'\2716'}i.basic.icon.close:before{content:'\e80d'}i.basic.icon.color:before{content:'\e794'}i.basic.icon.chat:before{content:'\e720'}i.basic.icon.check:before{content:'\2611'}i.basic.icon.time:before{content:'🕔'}i.basic.icon.cloud:before{content:'\2601'}i.basic.icon.code:before{content:'\e714'}i.basic.icon.email:before{content:'\40'}i.basic.icon.settings:before{content:'\26ef'}i.basic.icon.setting:before{content:'\2699'}i.basic.icon.comment:before{content:'\e802'}i.basic.icon.clockwise.counter:before{content:'\27f2'}i.basic.icon.clockwise:before{content:'\27f3'}i.basic.icon.cube:before{content:'\e807'}i.basic.icon.direction:before{content:'\27a2'}i.basic.icon.doc:before{content:'📄'}i.basic.icon.docs:before{content:'\e736'}i.basic.icon.dollar:before{content:'💵'}i.basic.icon.paint:before{content:'\e7b5'}i.basic.icon.edit:before{content:'\270d'}i.basic.icon.eject:before{content:'\2ecf'}i.basic.icon.export:before{content:'\e715'}i.basic.icon.hide:before{content:'\e70b'}i.basic.icon.unhide:before{content:'\e80f'}i.basic.icon.facebook:before{content:'\f301'}i.basic.icon.fast-forward:before{content:'\e804'}i.basic.icon.fire:before{content:'🔥'}i.basic.icon.flag:before{content:'\2691'}i.basic.icon.lightning:before{content:'\26a1'}i.basic.icon.lab:before{content:'\68'}i.basic.icon.flight:before{content:'\2708'}i.basic.icon.forward:before{content:'\27a6'}i.basic.icon.gift:before{content:'🎁'}i.basic.icon.github:before{content:'\f308'}i.basic.icon.globe:before{content:'\e817'}i.basic.icon.headphones:before{content:'🎧'}i.basic.icon.question:before{content:'\2753'}i.basic.icon.home:before{content:'\2302'}i.basic.icon.i:before{content:'\2139'}i.basic.icon.idea:before{content:'💡'}i.basic.icon.open:before{content:'🔗'}i.basic.icon.content:before{content:'\e782'}i.basic.icon.location:before{content:'\e724'}i.basic.icon.mail:before{content:'\2709'}i.basic.icon.mic:before{content:'🎤'}i.basic.icon.minus:before{content:'\2d'}i.basic.icon.money:before{content:'💰'}i.basic.icon.off:before{content:'\e78e'}i.basic.icon.pause:before{content:'\e808'}i.basic.icon.photos:before{content:'\e812'}i.basic.icon.photo:before{content:'🌄'}i.basic.icon.pin:before{content:'📌'}i.basic.icon.play:before{content:'\e809'}i.basic.icon.plus:before{content:'\2b'}i.basic.icon.print:before{content:'\e716'}i.basic.icon.rss:before{content:'\e73a'}i.basic.icon.search:before{content:'🔍'}i.basic.icon.shuffle:before{content:'\e803'}i.basic.icon.tag:before{content:'\e80a'}i.basic.icon.tags:before{content:'\e70d'}i.basic.icon.terminal:before{content:'\e7ac'}i.basic.icon.thumbs.down:before{content:'👎'}i.basic.icon.thumbs.up:before{content:'👍'}i.basic.icon.to-end:before{content:'\e806'}i.basic.icon.to-start:before{content:'\e805'}i.basic.icon.top.list:before{content:'🏆'}i.basic.icon.trash:before{content:'\e729'}i.basic.icon.twitter:before{content:'\f303'}i.basic.icon.upload:before{content:'\e711'}i.basic.icon.user.add:before{content:'\e700'}i.basic.icon.user:before{content:'👤'}i.basic.icon.community:before{content:'\e814'}i.basic.icon.users:before{content:'👥'}i.basic.icon.id:before{content:'\e722'}i.basic.icon.url:before{content:'🔗'}i.basic.icon.zoom.in:before{content:'\e750'}i.basic.icon.zoom.out:before{content:'\e751'}i.dropdown.basic.icon{margin:0 0 0 .5em}i.basic.icon.star{width:auto;margin:0}i.basic.icon.left{width:auto;margin:0 .5em 0 0}i.basic.icon.down,i.basic.icon.right,i.basic.icon.search,i.basic.icon.up{width:auto;margin:0 0 0 .5em}i.basic.icon.delete:before{content:'\e80d'}i.basic.icon.dropdown:before{content:'\25be'}i.basic.icon.help:before{content:'\e704'}i.basic.icon.info:before{content:'\e705'}i.basic.icon.error:before{content:'\e80d'}i.basic.icon.dislike:before{content:'\2661'}i.basic.icon.like:before{content:'\2665'}i.basic.icon.eye:before{content:'\e80f'}i.basic.icon.eye.hidden:before{content:'\e70b'}i.basic.icon.date:before{content:'📅'}i.basic.icon.active,i.basic.icon.hover,i.emphasized.basic.icon{opacity:1}i.basic.icon.disabled{opacity:.3}i.link.basic.icon{cursor:pointer;opacity:.7;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.link.basic.icon:hover{opacity:1!important}i.circular.basic.icon{border-radius:500px!important;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;line-height:1!important;width:2em!important;height:2em!important}i.circular.inverted.basic.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.vertically.flipped.basic.icon{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}i.horizontally.flipped.basic.icon{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}i.left.rotated.basic.icon{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}i.right.rotated.basic.icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}i.square.basic.icon{width:2em;height:2em;padding:.5em .35em!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;vertical-align:baseline}i.square.basic.icon:before{vertical-align:middle}i.square.inverted.basic.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.inverted.basic.icon{background-color:#222;color:#FFF}i.blue.basic.icon{color:#6ECFF5!important}i.black.basic.icon{color:#5C6166!important}i.green.basic.icon{color:#A1CF64!important}i.red.basic.icon{color:#D95C5C!important}i.purple.basic.icon{color:#564F8A!important}i.teal.basic.icon{color:#00B5AD!important}i.inverted.black.basic.icon{background-color:#5C6166!important;color:#FFF!important}i.inverted.blue.basic.icon{background-color:#6ECFF5!important;color:#FFF!important}i.inverted.green.basic.icon{background-color:#A1CF64!important;color:#FFF!important}i.inverted.red.basic.icon{background-color:#D95C5C!important;color:#FFF!important}i.inverted.purple.basic.icon{background-color:#564F8A!important;color:#FFF!important}i.inverted.teal.basic.icon{background-color:#00B5AD!important;color:#FFF!important}i.small.basic.icon{font-size:.875em}i.basic.icon{font-size:1em}i.large.basic.icon{font-size:1.5em;margin-right:.2em;vertical-align:middle}i.big.basic.icon{font-size:2em;margin-right:.5em;vertical-align:middle}i.huge.basic.icon{font-size:4em;margin-right:.75em;vertical-align:middle}i.massive.basic.icon{font-size:8em;margin-right:1em;vertical-align:middle}.ui.button{cursor:pointer;display:inline-block;vertical-align:middle;min-height:1em;outline:0;border:none;background-color:#FAFAFA;color:gray;margin:0;padding:.8em 1.5em;text-transform:uppercase;line-height:1;font-weight:700;font-style:normal;text-align:center;text-decoration:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.05)));background-image:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05));background-image:-moz-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05));background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05));border-radius:.25em;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.08) inset;box-shadow:0 0 0 1px rgba(0,0,0,.08) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,-webkit-box-shadow .25s ease;-moz-transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease;transition:opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease}.ui.active.button,.ui.buttons .active.button{background-color:#EAEAEA;background-image:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05) inset!important;box-shadow:0 0 0 1px rgba(0,0,0,.05) inset!important;color:rgba(0,0,0,.7)}.ui.button:hover{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.08)));background-image:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.08));background-image:-moz-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.08));background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.08));color:rgba(0,0,0,.7)}.ui.button.active:hover{background-image:none}.ui.button.hover .icon,.ui.button:hover .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#F1F1F1;color:rgba(0,0,0,.7);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05) inset!important;box-shadow:0 0 0 1px rgba(0,0,0,.05) inset!important}.ui.loading.button{position:relative;cursor:default;background-color:#FFF!important;color:transparent!important;-webkit-transition:all 0s linear;-moz-transition:all 0s linear;transition:all 0s linear}.ui.loading.button:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:url(/static/ca279c55a51ab2641c4712a333633581.gif) 50% 50% no-repeat}.ui.labeled.icon.loading.button .icon{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ui.disabled.button,.ui.disabled.button.active,.ui.disabled.button:hover{background-color:#DDD!important;cursor:default;color:rgba(0,0,0,.5)!important;opacity:.3!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.animated.button{position:relative;overflow:hidden}.ui.animated.button .visible.content{position:relative}.ui.animated.button .hidden.content{position:absolute;width:100%}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{-webkit-transition:right .3s ease 0s;-moz-transition:right .3s ease 0s;transition:right .3s ease 0s}.ui.animated.button .visible.content{left:auto;right:0}.ui.animated.button .hidden.content{top:50%;left:auto;right:-100%;margin-top:-.55em}.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{-webkit-transition:top .3s ease 0s,-webkit-transform .3s ease 0s;-moz-transition:top .3s ease 0s,-moz-transform .3s ease 0s;transition:top .3s ease 0s,transform .3s ease 0s}.ui.vertical.animated.button .visible.content{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);right:auto}.ui.vertical.animated.button .hidden.content{top:-100%;left:0;right:auto}.ui.vertical.animated.button:hover .visible.content{-webkit-transform:translateY(200%);-moz-transform:translateY(200%);-ms-transform:translateY(200%);transform:translateY(200%);right:auto}.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{-webkit-transition:opacity .3s ease 0s,-webkit-transform .3s ease 0s;-moz-transition:opacity .3s ease 0s,-moz-transform .3s ease 0s;transition:opacity .3s ease 0s,transform .3s ease 0s}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;-webkit-transform:scale(0.7);-moz-transform:scale(0.7);-ms-transform:scale(0.7);transform:scale(0.7)}.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.ui.primary.button,.ui.primary.buttons .button{background-color:#D95C5C;color:#FFF}.ui.primary.button.active,.ui.primary.button:hover,.ui.primary.buttons .active.button,.ui.primary.buttons .button:hover{background-color:#E75859;color:#FFF}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#D24B4C;color:#FFF}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#00B5AD;color:#FFF}.ui.secondary.button.active,.ui.secondary.button:hover,.ui.secondary.buttons .active.button,.ui.secondary.buttons .button:hover{background-color:#009A93;color:#FFF}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#00847E;color:#FFF}.ui.facebook.button{background-color:#3B579D;color:#FFF}.ui.facebook.button:hover{background-color:#3A59A9;color:#FFF}.ui.facebook.button:active{background-color:#334F95;color:#FFF}.ui.twitter.button{background-color:#4092CC;color:#FFF}.ui.twitter.button:hover{background-color:#399ADE;color:#FFF}.ui.twitter.button:active{background-color:#3283BC;color:#FFF}.ui.google.plus.button{background-color:#D34836;color:#FFF}.ui.google.plus.button:hover{background-color:#E3432E;color:#FFF}.ui.google.plus.button:active{background-color:#CA3A27;color:#FFF}.ui.linkedin.button{background-color:#1F88BE;color:#FFF}.ui.linkedin.button:hover{background-color:#1394D6;color:#FFF}.ui.linkedin.button:active{background-color:#1179AE;color:#FFF}.ui.youtube.button{background-color:#CC181E;color:#FFF}.ui.youtube.button:hover{background-color:#DF0209;color:#FFF}.ui.youtube.button:active{background-color:#A50006;color:#FFF}.ui.instagram.button{background-color:#49769C;color:#FFF}.ui.instagram.button:hover{background-color:#4781B1;color:#FFF}.ui.instagram.button:active{background-color:#38658A;color:#FFF}.ui.pinterest.button{background-color:#00ACED;color:#FFF}.ui.pinterest.button:hover{background-color:#00B9FF;color:#FFF}.ui.pinterest.button:active{background-color:#009EDA;color:#FFF}.ui.vk.button{background-color:#4D7198;color:#FFF}.ui.vk.button:hover{background-color:#537AA5;color:#FFF}.ui.vk.button:active{background-color:#405E7E;color:#FFF}.ui.button>.icon{margin-right:.6em;line-height:1;-webkit-transition:opacity .1s ease;-moz-transition:opacity .1s ease;transition:opacity .1s ease}.ui.left.floated.button,.ui.left.floated.buttons{float:left;margin-right:.25em}.ui.right.floated.button,.ui.right.floated.buttons{float:right;margin-left:.25em}.ui.button,.ui.buttons .button{font-size:1rem}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.8rem}.ui.mini.button,.ui.mini.buttons .button{padding:.6em .8em}.ui.mini.buttons .icon.button,.ui.mini.icon.buttons .button{padding:.6em}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.875em}.ui.tiny.button,.ui.tiny.buttons .button{padding:.6em .8em}.ui.tiny.buttons .icon.button,.ui.tiny.icon.buttons .button{padding:.6em}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.875rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.125rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.25rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.375rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.5rem;font-weight:700}.ui.mini.buttons .or:before,.ui.tiny.buttons .or:before{width:1.45em;height:1.55em;line-height:1.4;margin-left:-.725em;margin-top:-.25em}.ui.mini.buttons .or:after,.ui.tiny.buttons .or:after{height:1.45em}.ui.huge.loading.button.active:after,.ui.huge.loading.button:after{background-image:url(/static/645f50ba6c1e56f078fa018855d97eb0.gif)}.ui.gigantic.buttons .loading.button.active:after,.ui.gigantic.buttons .loading.button:after,.ui.gigantic.loading.button.active:after,.ui.gigantic.loading.button:after,.ui.massive.buttons .loading.button.active:after,.ui.massive.buttons .loading.button:after,.ui.massive.loading.button.active:after,.ui.massive.loading.button:after{background-image:url(/static/939cf252f0eb4efbd2d170c974411c49.gif)}.ui.icon.button,.ui.icon.buttons .button{padding:.8em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background-color:transparent!important;background-image:none;color:gray!important;font-weight:400;text-transform:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.basic.buttons{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:.25em}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background-image:none;color:#7F7F7F!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;box-shadow:0 0 0 1px rgba(0,0,0,.18) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background-color:rgba(0,0,0,.02)!important;color:#7F7F7F!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.basic.button.active,.ui.basic.buttons .button.active{background-color:rgba(0,0,0,.05);color:#7F7F7F;-webkit-box-shadow:0 0 0 1px #BDBDBD inset;box-shadow:0 0 0 1px #BDBDBD inset}.ui.basic.button.active:hover,.ui.basic.buttons .button.active:hover{background-color:rgba(0,0,0,.1)}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{color:#FAFAFA!important;-webkit-box-shadow:0 0 0 1px rgba(255,255,255,.3) inset;box-shadow:0 0 0 1px rgba(255,255,255,.3) inset}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{background-image:none;color:#FFF!important;-webkit-box-shadow:0 0 0 1px rgba(255,255,255,.5) inset;box-shadow:0 0 0 1px rgba(255,255,255,.5) inset}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.05)!important;color:#FFF!important;-webkit-box-shadow:0 0 0 1px rgba(255,255,255,.8) inset!important;box-shadow:0 0 0 1px rgba(255,255,255,.8) inset!important}.ui.basic.inverted.button.active,.ui.basic.inverted.buttons .button.active{background-color:rgba(255,255,255,.5);color:#FFF;-webkit-box-shadow:none;box-shadow:none}.ui.basic.inverted.button.active:hover,.ui.basic.inverted.buttons .button.active:hover{background-color:rgba(0,0,0,.1)}.ui.basic.buttons .button{border-left:1px solid rgba(0,0,0,.1);-webkit-box-shadow:none;box-shadow:none}.ui.basic.buttons .button:active,.ui.basic.buttons .button:hover{-webkit-box-shadow:none;box-shadow:none}.ui.basic.buttons .button.active,.ui.basic.buttons .button.active:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.2) inset}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4em!important;padding-right:1.4em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;top:0;left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:2.75em;height:100%;padding-top:.8em;background-color:rgba(0,0,0,.05);text-align:center;border-radius:.25em 0 0 .25em;line-height:1;-webkit-box-shadow:-1px 0 0 0 rgba(0,0,0,.05) inset;box-shadow:-1px 0 0 0 rgba(0,0,0,.05) inset}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.25em;border-bottom-left-radius:.25em}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.25em;border-bottom-right-radius:.25em}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:.25em 0 0}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0 0 0 .25em}.ui.right.labeled.icon.button{padding-left:1.4em!important;padding-right:4em!important}.ui.left.fluid.labeled.icon.button,.ui.right.fluid.labeled.icon.button{padding-left:1.4em!important;padding-right:1.4em!important}.ui.right.labeled.icon.button .icon{left:auto;right:0;border-radius:0 .25em .25em 0;-webkit-box-shadow:1px 0 0 0 rgba(0,0,0,.05) inset;box-shadow:1px 0 0 0 rgba(0,0,0,.05) inset}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#5BBD72!important;color:#FFF!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.button.toggle.active:hover{background-color:#58CB73!important;color:#FFF!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.circular.button{border-radius:10em}.ui.attached.button{display:block;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;box-shadow:0 0 0 1px rgba(0,0,0,.1)!important}.ui.attached.top.button{border-radius:.25em .25em 0 0}.ui.attached.bottom.button{border-radius:0 0 .25em .25em}.ui.attached.left.button{display:inline-block;border-left:none;padding-right:.75em;text-align:right;border-radius:.25em 0 0 .25em}.ui.attached.right.button{display:inline-block;padding-left:.75em;text-align:left;border-radius:0 .25em .25em 0}.ui.buttons .or{position:relative;float:left;width:.3em;height:1.1em;z-index:3}.ui.buttons .or:before{position:absolute;top:50%;left:50%;content:'or';background-color:#FFF;margin-top:-.1em;margin-left:-.9em;width:1.8em;height:1.8em;line-height:1.55;color:#AAA;font-style:normal;font-weight:400;text-align:center;border-radius:500px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.buttons .or:after{position:absolute;top:0;left:0;content:' ';width:.3em;height:1.7em;background-color:transparent;border-top:.5em solid #FFF;border-bottom:.5em solid #FFF}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.attached.ui.buttons{margin:0;border-radius:4px 4px 0 0}.attached.ui.buttons .button:first-child{border-radius:4px 0 0}.attached.ui.buttons .button:last-child{border-radius:0 4px 0 0}.bottom.attached.ui.buttons{margin-top:-1px;border-radius:0 0 4px 4px}.bottom.attached.ui.buttons .button:first-child{border-radius:0 0 0 4px}.bottom.attached.ui.buttons .button:last-child{border-radius:0 0 4px}.left.attached.ui.buttons{margin-left:-1px;border-radius:0 4px 4px 0}.left.attached.ui.buttons .button:first-child{margin-left:-1px;border-radius:0 4px 0 0}.left.attached.ui.buttons .button:last-child{margin-left:-1px;border-radius:0 0 4px}.right.attached.ui.buttons,.right.attached.ui.buttons .button{margin-right:-1px;border-radius:4px 0 0 4px}.right.attached.ui.buttons .button:first-child{margin-left:-1px;border-radius:4px 0 0}.right.attached.ui.buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 4px}.ui.button.fluid,.ui.fluid.buttons,.ui.fluid.buttons>.button{display:block;width:100%}.ui.\32.buttons>.button,.ui.two.buttons>.button{width:50%}.ui.\33.buttons>.button,.ui.three.buttons>.button{width:33.333%}.ui.\34.buttons>.button,.ui.four.buttons>.button{width:25%}.ui.\35.buttons>.button,.ui.five.buttons>.button{width:20%}.ui.\36.buttons>.button,.ui.six.buttons>.button{width:16.666%}.ui.\37.buttons>.button,.ui.seven.buttons>.button{width:14.285%}.ui.\38.buttons>.button,.ui.eight.buttons>.button{width:12.5%}.ui.\39.buttons>.button,.ui.nine.buttons>.button{width:11.11%}.ui.\31\30.buttons>.button,.ui.ten.buttons>.button{width:10%}.ui.\31\31.buttons>.button,.ui.eleven.buttons>.button{width:9.09%}.ui.\31\32.buttons>.button,.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:block;width:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.\32.vertical.buttons>.button,.ui.two.vertical.buttons>.button{height:50%}.ui.\33.vertical.buttons>.button,.ui.three.vertical.buttons>.button{height:33.333%}.ui.\34.vertical.buttons>.button,.ui.four.vertical.buttons>.button{height:25%}.ui.\35.vertical.buttons>.button,.ui.five.vertical.buttons>.button{height:20%}.ui.\36.vertical.buttons>.button,.ui.six.vertical.buttons>.button{height:16.666%}.ui.\37.vertical.buttons>.button,.ui.seven.vertical.buttons>.button{height:14.285%}.ui.\38.vertical.buttons>.button,.ui.eight.vertical.buttons>.button{height:12.5%}.ui.\39.vertical.buttons>.button,.ui.nine.vertical.buttons>.button{height:11.11%}.ui.\31\30.vertical.buttons>.button,.ui.ten.vertical.buttons>.button{height:10%}.ui.\31\31.vertical.buttons>.button,.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.\31\32.vertical.buttons>.button,.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#5C6166;color:#FFF}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#4C4C4C;color:#FFF}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#333;color:#FFF}.ui.green.button,.ui.green.buttons .button{background-color:#5BBD72;color:#FFF}.ui.green.button.active,.ui.green.button:hover,.ui.green.buttons .active.button,.ui.green.buttons .button:hover{background-color:#58cb73;color:#FFF}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#4CB164;color:#FFF}.ui.red.button,.ui.red.buttons .button{background-color:#D95C5C;color:#FFF}.ui.red.button.active,.ui.red.button:hover,.ui.red.buttons .active.button,.ui.red.buttons .button:hover{background-color:#E75859;color:#FFF}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#D24B4C;color:#FFF}.ui.orange.button,.ui.orange.buttons .button{background-color:#E96633;color:#FFF}.ui.orange.button.active,.ui.orange.button:hover,.ui.orange.buttons .active.button,.ui.orange.buttons .button:hover{background-color:#FF7038;color:#FFF}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#DA683B;color:#FFF}.ui.blue.button,.ui.blue.buttons .button{background-color:#6ECFF5;color:#FFF}.ui.blue.button.active,.ui.blue.button:hover,.ui.blue.buttons .active.button,.ui.blue.buttons .button:hover{background-color:#1AB8F3;color:#FFF}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#0AA5DF;color:#FFF}.ui.purple.button,.ui.purple.buttons .button{background-color:#564F8A;color:#FFF}.ui.purple.button.active,.ui.purple.button:hover,.ui.purple.buttons .active.button,.ui.purple.buttons .button:hover{background-color:#3E3773;color:#FFF}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#2E2860;color:#FFF}.ui.teal.button,.ui.teal.buttons .button{background-color:#00B5AD;color:#FFF}.ui.teal.button.active,.ui.teal.button:hover,.ui.teal.buttons .active.button,.ui.teal.buttons .button:hover{background-color:#009A93;color:#FFF}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00847E;color:#FFF}.ui.positive.button,.ui.positive.buttons .button{background-color:#5BBD72!important;color:#FFF}.ui.positive.button.active,.ui.positive.button:hover,.ui.positive.buttons .active.button,.ui.positive.buttons .button:hover{background-color:#58CB73!important;color:#FFF}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#4CB164!important;color:#FFF}.ui.negative.button,.ui.negative.buttons .button{background-color:#D95C5C!important;color:#FFF}.ui.negative.button.active,.ui.negative.button:hover,.ui.negative.buttons .active.button,.ui.negative.buttons .button:hover{background-color:#E75859!important;color:#FFF}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#D24B4C!important;color:#FFF}.ui.buttons{display:inline-block;vertical-align:middle}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button:first-child{border-left:none}.ui.buttons .button{float:left;border-radius:0}.ui.buttons .button:first-child{margin-left:0;border-top-left-radius:.25em;border-bottom-left-radius:.25em}.ui.buttons .button:last-child{border-top-right-radius:.25em;border-bottom-right-radius:.25em}.ui.vertical.buttons{display:inline-block}.ui.vertical.buttons .button{display:block;float:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.vertical.buttons .button:first-child,.ui.vertical.buttons .huge.button:first-child,.ui.vertical.buttons .massive.button:first-child,.ui.vertical.buttons .mini.button:first-child,.ui.vertical.buttons .small.button:first-child,.ui.vertical.buttons .tiny.button:first-child{margin-top:0;border-radius:.25em .25em 0 0}.ui.vertical.buttons .button:last-child,.ui.vertical.buttons .gigantic.button:last-child,.ui.vertical.buttons .huge.button:last-child,.ui.vertical.buttons .massive.button:last-child,.ui.vertical.buttons .mini.button:last-child,.ui.vertical.buttons .small.button:last-child,.ui.vertical.buttons .tiny.button:last-child{border-radius:0 0 .25em .25em}.ui.divider{margin:1rem 0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.8);line-height:1;height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ui.horizontal.divider,.ui.vertical.divider{border:none;background-color:transparent;font-size:.875rem;font-weight:700;text-align:center;text-transform:uppercase;color:rgba(0,0,0,.8)}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0 0 0 -3%;width:6%;height:50%;line-height:0;padding:0}.ui.vertical.divider:after,.ui.vertical.divider:before{position:absolute;left:50%;content:" ";z-index:3;border-left:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(255,255,255,.8);width:0;height:80%}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}.ui.horizontal.divider{position:relative;top:0;left:0;margin:1rem 1.5rem;height:auto;padding:0;line-height:1}.ui.horizontal.divider:after,.ui.horizontal.divider:before{position:absolute;content:" ";z-index:3;width:50%;top:50%;height:0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.8)}.ui.horizontal.divider:before{left:0;margin-left:-1.5rem}.ui.horizontal.divider:after{left:auto;right:0;margin-right:-1.5rem}.ui.divider>.icon{margin:0;font-size:1rem;vertical-align:middle}.ui.divider.inverted{color:#fff}.ui.horizontal.inverted.divider,.ui.vertical.inverted.divider{color:rgba(255,255,255,.9)}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-top-color:rgba(0,0,0,.15);border-bottom-color:rgba(255,255,255,.15);border-left-color:rgba(0,0,0,.15);border-right-color:rgba(255,255,255,.15)}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}.ui.header{border:none;margin:1em 0 1rem;padding:0;font-size:1.33em;font-weight:700;line-height:1.33}.ui.header .sub.header{font-size:1rem;font-weight:400;margin:0;padding:0;line-height:1.2;color:rgba(0,0,0,.5)}.ui.header .icon{display:table-cell;vertical-align:middle;padding-right:.5em}.ui.header .icon:only-child{display:inline-block;vertical-align:baseline}.ui.header .content{display:inline-block;vertical-align:top}.ui.header .icon+.content{padding-left:.5em;display:table-cell}.ui.header:first-child{margin-top:0}.ui.header:last-child{margin-bottom:0}.ui.header+p{margin-top:0}h1.ui.header{min-height:1rem;line-height:1.33;font-size:2rem}h2.ui.header{line-height:1.33;font-size:1.75rem}h3.ui.header{line-height:1.33;font-size:1.33rem}h4.ui.header{line-height:1.33;font-size:1.1rem}h5.ui.header{line-height:1.2;font-size:1rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.75em}.ui.medium.header{font-size:1.33em}.ui.small.header{font-size:1.1em}.ui.tiny.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center}.ui.icon.header .icon{float:none;display:block;font-size:3em;margin:0 auto .2em;padding:0}.ui.icon.header .content{display:block}.ui.icon.header .circular.icon,.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.5}.ui.blue.header{color:#6ECFF5!important}.ui.black.header{color:#5C6166!important}.ui.green.header{color:#A1CF64!important}.ui.red.header{color:#D95C5C!important}.ui.purple.header{color:#564F8A!important}.ui.teal.header{color:#00B5AD!important}.ui.blue.dividing.header{border-bottom:3px solid #6ECFF5}.ui.black.dividing.header{border-bottom:3px solid #5C6166}.ui.green.dividing.header{border-bottom:3px solid #A1CF64}.ui.red.dividing.header{border-bottom:3px solid #D95C5C}.ui.purple.dividing.header{border-bottom:3px solid #564F8A}.ui.teal.dividing.header{border-bottom:3px solid #00B5AD}.ui.inverted.header{color:#FFF}.ui.inverted.header .sub.header{color:rgba(255,255,255,.85)}.ui.inverted.black.header{background-color:#5C6166!important;color:#FFF!important}.ui.inverted.blue.header{background-color:#6ECFF5!important;color:#FFF!important}.ui.inverted.green.header{background-color:#A1CF64!important;color:#FFF!important}.ui.inverted.red.header{background-color:#D95C5C!important;color:#FFF!important}.ui.inverted.purple.header{background-color:#564F8A!important;color:#FFF!important}.ui.inverted.teal.header{background-color:#00B5AD!important;color:#FFF!important}.ui.inverted.block.header{border-bottom:none}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header{text-align:center}.ui.justified.header{text-align:justify}.ui.justified.header:after{display:inline-block;content:'';width:100%}.ui.floated.header,.ui.left.floated.header{float:left;margin-top:0;margin-right:.5em}.ui.right.floated.header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{padding-bottom:.2rem;border-bottom:1px solid rgba(0,0,0,.1)}.ui.dividing.header .sub.header{padding-bottom:.5em}.ui.dividing.header .icon{margin-bottom:.2em}.ui.block.header{background-color:rgba(0,0,0,.05);padding:.5em 1em}.ui.attached.header{background-color:#E0E0E0;padding:.5em 1rem;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.top.attached.header{margin-bottom:0;border-radius:.3125em .3125em 0 0}.ui.bottom.attached.header{margin-top:0;border-radius:0 0 .3125em .3125em}/*! * Font Awesome 3.2.1 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fon.io. Stay up to date on Twitter at * http://twitter.com/fon. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL /******************************* Icon *******************************/@font-face{font-family:Icons;src:url(/static/5ae23ad29b67289a1375d2043e289c52.eot);src:url(/static/5ae23ad29b67289a1375d2043e289c52.eot?#iefix) format('embedded-opentype'),url(/static/f99a231ed57ee113b50b1c3e9f9fcdc3.svg#icons) format('svg'),url(/static/b683029bafe0305ac2234038a03e1541.woff) format('woff'),url(/static/8cca2f02b0af2da365ff4d1755f29146.ttf) format('truetype');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:.75;margin:0 .25em 0 0;width:1.23em;height:1em;font-family:Icons;font-style:normal;line-height:1;font-weight:400;text-decoration:inherit;text-align:center;speak:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}i.icon.left:before{content:"\f060"}i.icon.right:before{content:"\f061"}i.icon.add.sign.box:before{content:"\f0fe"}i.icon.add.sign:before{content:"\f055"}i.icon.add:before{content:"\f067"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.ambulance:before{content:"\f0f9"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.apple:before{content:"\f179"}i.icon.archive:before{content:"\f187"}i.icon.arrow.down:before{content:"\f078"}i.icon.arrow.left:before{content:"\f053"}i.icon.arrow.right:before{content:"\f054"}i.icon.arrow.sign.down:before{content:"\f13a"}i.icon.arrow.sign.left:before{content:"\f137"}i.icon.arrow.sign.right:before{content:"\f138"}i.icon.arrow.sign.up:before{content:"\f139"}i.icon.arrow.up:before{content:"\f077"}i.icon.asterisk:before{content:"\f069"}i.icon.attachment:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.backward:before{content:"\f04a"}i.icon.ban.circle:before{content:"\f05e"}i.icon.bar.chart:before{content:"\f080"}i.icon.barcode:before{content:"\f02a"}i.icon.beer:before{content:"\f0fc"}i.icon.bell.outline:before{content:"\f0a2"}i.icon.bell:before{content:"\f0f3"}i.icon.bitbucket.sign:before{content:"\f172"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f15a"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.book:before{content:"\f02d"}i.icon.bookmark.empty:before{content:"\f097"}i.icon.bookmark:before{content:"\f02e"}i.icon.box.arrow.down:before{content:"\f150"}i.icon.box.arrow.right:before{content:"\f152"}i.icon.box.arrow.up:before{content:"\f151"}i.icon.briefcase:before{content:"\f0b1"}i.icon.browser:before{content:"\f022"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f0f7"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.calendar.empty:before{content:"\f133"}i.icon.calendar:before{content:"\f073"}i.icon.camera.retro:before{content:"\f083"}i.icon.camera:before{content:"\f030"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.cart:before{content:"\f07a"}i.icon.certificate:before{content:"\f0a3"}i.icon.chat.outline:before{content:"\f0e6"}i.icon.chat:before{content:"\f086"}i.icon.checkbox.empty:before{content:"\f096"}i.icon.checkbox.minus:before{content:"\f147"}i.icon.checked.checkbox:before{content:"\f046"}i.icon.checkmark.sign:before{content:"\f14a"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.blank:before{content:"\f10c"}i.icon.circle.down:before{content:"\f0ab"}i.icon.circle.left:before{content:"\f0a8"}i.icon.circle.right:before{content:"\f0a9"}i.icon.circle.up:before{content:"\f0aa"}i.icon.circle:before{content:"\f111"}i.icon.cloud.download:before{content:"\f0ed"}i.icon.cloud.upload:before{content:"\f0ee"}i.icon.cloud:before{content:"\f0c2"}i.icon.code.fork:before{content:"\f126"}i.icon.code:before{content:"\f121"}i.icon.coffee:before{content:"\f0f4"}i.icon.collapse:before{content:"\f117"}i.icon.comment.outline:before{content:"\f0e5"}i.icon.comment:before{content:"\f075"}i.icon.copy:before{content:"\f0c5"}i.icon.crop:before{content:"\f125"}i.icon.css3:before{content:"\f13c"}i.icon.cut:before{content:"\f0c4"}i.icon.dashboard:before{content:"\f0e4"}i.icon.desktop:before{content:"\f108"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.double.angle.down:before{content:"\f103"}i.icon.double.angle.left:before{content:"\f100"}i.icon.double.angle.right:before{content:"\f101"}i.icon.double.angle.up:before{content:"\f102"}i.icon.down:before{content:"\f063"}i.icon.download.disk:before{content:"\f019"}i.icon.download:before{content:"\f01a"}i.icon.dribbble:before{content:"\f17d"}i.icon.dropbox:before{content:"\f16b"}i.icon.edit.sign:before{content:"\f14b"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.eraser:before{content:"\f12d"}i.icon.euro:before{content:"\f153"}i.icon.exchange:before{content:"\f0ec"}i.icon.exclamation:before{content:"\f12a"}i.icon.expand:before{content:"\f116"}i.icon.external.url.sign:before{content:"\f14c"}i.icon.external.url:before{content:"\f08e"}i.icon.facebook.sign:before{content:"\f082"}i.icon.facebook:before{content:"\f09a"}i.icon.facetime.video:before{content:"\f03d"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file.outline:before{content:"\f016"}i.icon.file.text.outline:before{content:"\f0f6"}i.icon.file.text:before{content:"\f15c"}i.icon.file:before{content:"\f15b"}i.icon.filter:before{content:"\f0b0"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.fire:before{content:"\f06d"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flag.empty:before{content:"\f11d"}i.icon.flag:before{content:"\f024"}i.icon.flickr:before{content:"\f16e"}i.icon.folder.open.outline:before{content:"\f115"}i.icon.folder.open:before{content:"\f07c"}i.icon.folder.outline:before{content:"\f114"}i.icon.folder:before{content:"\f07b"}i.icon.font:before{content:"\f031"}i.icon.food:before{content:"\f0f5"}i.icon.forward.mail:before{content:"\f064"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.frown:before{content:"\f119"}i.icon.fullscreen:before{content:"\f0b2"}i.icon.gamepad:before{content:"\f11b"}i.icon.gift:before{content:"\f06b"}i.icon.github.alternate:before{content:"\f09b"}i.icon.github.sign:before{content:"\f092"}i.icon.github:before{content:"\f113"}i.icon.gittip:before{content:"\f184"}i.icon.glass:before{content:"\f000"}i.icon.globe:before{content:"\f0ac"}i.icon.google.plus.sign:before{content:"\f0d4"}i.icon.google.plus:before{content:"\f0d5"}i.icon.h.sign:before{content:"\f0fd"}i.icon.hand.down:before{content:"\f0a7"}i.icon.hand.left:before{content:"\f0a5"}i.icon.hand.right:before{content:"\f0a4"}i.icon.hand.up:before{content:"\f0a6"}i.icon.hdd:before{content:"\f0a0"}i.icon.headphones:before{content:"\f025"}i.icon.heart.empty:before{content:"\f08a"}i.icon.heart:before{content:"\f004"}i.icon.help:before{content:"\f059"}i.icon.hide:before{content:"\f070"}i.icon.home:before{content:"\f015"}i.icon.hospital:before{content:"\f0f8"}i.icon.html5:before{content:"\f13b"}i.icon.inbox:before{content:"\f01c"}i.icon.indent.left:before{content:"\f03b"}i.icon.indent.right:before{content:"\f03c"}i.icon.info.letter:before{content:"\f129"}i.icon.info:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.italic:before{content:"\f033"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.lab:before{content:"\f0c3"}i.icon.laptop:before{content:"\f109"}i.icon.layout.block:before{content:"\f009"}i.icon.layout.column:before{content:"\f0db"}i.icon.layout.grid:before{content:"\f00a"}i.icon.layout.list:before{content:"\f00b"}i.icon.leaf:before{content:"\f06c"}i.icon.legal:before{content:"\f0e3"}i.icon.lemon:before{content:"\f094"}i.icon.level.down:before{content:"\f149"}i.icon.level.up:before{content:"\f148"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linkedin.sign:before{content:"\f08c"}i.icon.linkedin:before{content:"\f0e1"}i.icon.linux:before{content:"\f17c"}i.icon.list.ordered:before{content:"\f0cb"}i.icon.list.unordered:before{content:"\f0ca"}i.icon.list:before{content:"\f03a"}i.icon.loading:before{content:"\f110"}i.icon.location:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.long.arrow.down:before{content:"\f175"}i.icon.long.arrow.left:before{content:"\f177"}i.icon.long.arrow.right:before{content:"\f178"}i.icon.long.arrow.up:before{content:"\f176"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.mail.outline:before{content:"\f003"}i.icon.mail.reply:before{content:"\f112"}i.icon.mail:before{content:"\f0e0"}i.icon.male:before{content:"\f183"}i.icon.map.marker:before{content:"\f041"}i.icon.map:before{content:"\f14e"}i.icon.maxcdn:before{content:"\f136"}i.icon.medkit:before{content:"\f0fa"}i.icon.meh:before{content:"\f11a"}i.icon.minus.sign.alternate:before{content:"\f146"}i.icon.minus.sign:before{content:"\f056"}i.icon.minus:before{content:"\f068"}i.icon.mobile:before{content:"\f10b"}i.icon.money:before{content:"\f0d6"}i.icon.moon:before{content:"\f186"}i.icon.move:before{content:"\f047"}i.icon.music:before{content:"\f001"}i.icon.mute:before{content:"\f131"}i.icon.off:before{content:"\f011"}i.icon.ok.circle:before{content:"\f05d"}i.icon.ok.sign:before{content:"\f058"}i.icon.paste:before{content:"\f0ea"}i.icon.pause:before{content:"\f04c"}i.icon.payment:before{content:"\f09d"}i.icon.pencil:before{content:"\f040"}i.icon.phone.sign:before{content:"\f098"}i.icon.phone:before{content:"\f095"}i.icon.photo:before{content:"\f03e"}i.icon.pin:before{content:"\f08d"}i.icon.pinterest.sign:before{content:"\f0d3"}i.icon.pinterest:before{content:"\f0d2"}i.icon.plane:before{content:"\f072"}i.icon.play.circle:before{content:"\f01d"}i.icon.play.sign:before{content:"\f144"}i.icon.play:before{content:"\f04b"}i.icon.pound:before{content:"\f154"}i.icon.print:before{content:"\f02f"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.qr.code:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f05c"}i.icon.remove.sign:before{content:"\f057"}i.icon.remove:before{content:"\f00d"}i.icon.renren:before{content:"\f18b"}i.icon.reorder:before{content:"\f0c9"}i.icon.repeat:before{content:"\f01e"}i.icon.reply.all.mail:before{content:"\f122"}i.icon.resize.full:before{content:"\f065"}i.icon.resize.horizontal:before{content:"\f07e"}i.icon.resize.small:before{content:"\f066"}i.icon.resize.vertical:before{content:"\f07d"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rss.sign:before{content:"\f143"}i.icon.rss:before{content:"\f09e"}i.icon.rupee:before{content:"\f156"}i.icon.save:before{content:"\f0c7"}i.icon.screenshot:before{content:"\f05b"}i.icon.search:before{content:"\f002"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.share.sign:before{content:"\f14d"}i.icon.share:before{content:"\f045"}i.icon.shield:before{content:"\f132"}i.icon.shuffle:before{content:"\f074"}i.icon.sign.in:before{content:"\f090"}i.icon.sign.out:before{content:"\f08b"}i.icon.sign:before{content:"\f0c8"}i.icon.signal:before{content:"\f012"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skype:before{content:"\f17e"}i.icon.smile:before{content:"\f118"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.alphabet:before{content:"\f15d"}i.icon.sort.attributes.descending:before{content:"\f161"}i.icon.sort.attributes:before{content:"\f160"}i.icon.sort.order.descending:before{content:"\f163"}i.icon.sort.order:before{content:"\f162"}i.icon.sort:before{content:"\f0dc"}i.icon.stackexchange:before{content:"\f16c"}i.icon.star.empty:before{content:"\f006"}i.icon.star.half.empty:before{content:"\f123"}i.icon.star.half.full:before,i.icon.star.half:before{content:"\f089"}i.icon.star:before{content:"\f005"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.stop:before{content:"\f04d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.subscript:before{content:"\f12c"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superscript:before{content:"\f12b"}i.icon.table:before{content:"\f0ce"}i.icon.tablet:before{content:"\f10a"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.thumbs.down.outline:before{content:"\f088"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f087"}i.icon.thumbs.up:before{content:"\f164"}i.icon.ticket:before{content:"\f145"}i.icon.time:before{content:"\f017"}i.icon.tint:before{content:"\f043"}i.icon.trash:before{content:"\f014"}i.icon.trello:before{content:"\f181"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tumblr.sign:before{content:"\f174"}i.icon.tumblr:before{content:"\f173"}i.icon.twitter.sign:before{content:"\f081"}i.icon.twitter:before{content:"\f099"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.unhide:before{content:"\f06e"}i.icon.unlink:before{content:"\f127"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.unlock:before{content:"\f09c"}i.icon.unmute:before{content:"\f130"}i.icon.up:before{content:"\f062"}i.icon.upload.disk:before{content:"\f093"}i.icon.upload:before{content:"\f01b"}i.icon.url:before{content:"\f0c1"}i.icon.user:before{content:"\f007"}i.icon.users:before{content:"\f0c0"}i.icon.video:before{content:"\f008"}i.icon.vk:before{content:"\f189"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.warning:before{content:"\f071"}i.icon.weibo:before{content:"\f18a"}i.icon.windows:before{content:"\f17a"}i.icon.won:before{content:"\f159"}i.icon.wrench:before{content:"\f0ad"}i.icon.xing.sign:before{content:"\f169"}i.icon.xing:before{content:"\f168"}i.icon.yen:before{content:"\f157"}i.icon.youtube.play:before{content:"\f16a"}i.icon.youtube.sign:before{content:"\f166"}i.icon.youtube:before{content:"\f167"}i.icon.yuan:before{content:"\f158"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.check:before{content:"\f00c"}i.icon.close:before,i.icon.delete:before{content:"\f00d"}i.icon.like:before{content:"\f004"}i.icon.plus:before{content:"\f067"}i.icon.signup:before{content:"\f044"}i.icon.star{width:auto;margin:0}i.icon.left{width:auto;margin:0 .5em 0 0}i.icon.right,i.icon.search{width:auto;margin:0 0 0 .5em}i.icon.loading{-webkit-animation:icon-loading 2s linear infinite;-moz-animation:icon-loading 2s linear infinite;-ms-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@keyframes icon-loading{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes icon-loading{from{-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes icon-loading{from{-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-ms-transform:rotate(360deg);transform:rotate(360deg)}}i.emphasized.icon,i.icon.active,i.icon.hover{opacity:1}i.icon.disabled{opacity:.3}i.link.icon{cursor:pointer;opacity:.7;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;transition:opacity .3s ease-out}i.link.icon:hover{opacity:1!important}i.circular.icon{border-radius:500em!important;padding:.5em .35em!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;line-height:1!important;width:2em!important;height:2em!important}i.circular.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}i.vertically.flipped.icon{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}i.square.icon{width:2em;height:2em;padding:.5em .35em!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;vertical-align:baseline}i.square.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.inverted.icon{background-color:#222;color:#FFF;-moz-osx-font-smoothing:grayscale}i.blue.icon{color:#6ECFF5!important}i.black.icon{color:#5C6166!important}i.green.icon{color:#A1CF64!important}i.red.icon{color:#D95C5C!important}i.purple.icon{color:#564F8A!important}i.orange.icon{color:#F05940!important}i.teal.icon{color:#00B5AD!important}i.inverted.black.icon{background-color:#5C6166!important;color:#FFF!important}i.inverted.blue.icon{background-color:#6ECFF5!important;color:#FFF!important}i.inverted.green.icon{background-color:#A1CF64!important;color:#FFF!important}i.inverted.red.icon{background-color:#D95C5C!important;color:#FFF!important}i.inverted.purple.icon{background-color:#564F8A!important;color:#FFF!important}i.inverted.orange.icon{background-color:#F05940!important;color:#FFF!important}i.inverted.teal.icon{background-color:#00B5AD!important;color:#FFF!important}i.small.icon{font-size:.875em}i.icon{font-size:1em}i.large.icon{font-size:1.5em;vertical-align:middle}i.big.icon{font-size:2em;vertical-align:middle}i.huge.icon{font-size:4em;vertical-align:middle}i.massive.icon{font-size:8em;vertical-align:middle}.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:rgba(0,0,0,.05)}img.ui.image{display:block;background:0 0}.ui.image img{display:block;max-width:100%;height:auto}.ui.disabled.image{cursor:default;opacity:.3}.ui.rounded.image,.ui.rounded.image img,.ui.rounded.images .image,.ui.rounded.images img{border-radius:.3125em}.ui.circular.image,.ui.circular.image img,.ui.circular.images .image,.ui.circular.images img{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.images,.ui.fluid.images img{display:block;width:100%}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.images .image,.ui.avatar.images img{margin-right:.5em;display:inline-block;width:2em;height:2em;border-radius:500rem}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-bottom:1em;margin-left:1em}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img{width:20px;font-size:.7rem}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img{width:35px;font-size:.8rem}.ui.small.image,.ui.small.images .image,.ui.small.images img{width:80px;font-size:.9rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img{width:300px;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img{width:450px;font-size:1.1rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img{width:600px;font-size:1.2rem}.ui.images{font-size:0;margin:0 -.25rem}.ui.images .image,.ui.images img{display:inline-block;margin:0 .25em .5em}.ui.input{display:inline-block;position:relative;color:rgba(0,0,0,.7)}.ui.input input{width:100%;font-family:"Helvetica Neue",Helvetica,Arial;margin:0;padding:.65em 1em;font-size:1em;background-color:#FFF;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,-webkit-box-shadow .2s ease,border-color .2s ease;-moz-transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.input::-webkit-input-placeholder{color:#BBB}.ui.input::-moz-placeholder{color:#BBB}.ui.input input:active,.ui.input.down input{border-color:rgba(0,0,0,.3);background-color:#FAFAFA}.ui.loading.input>.icon{background:url(/static/ca279c55a51ab2641c4712a333633581.gif) 50% 50% no-repeat}.ui.loading.input>.icon:after,.ui.loading.input>.icon:before{display:none}.ui.input input:focus,.ui.input.focus input{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.ui.input input:focus input::-webkit-input-placeholder,.ui.input.focus input input::-webkit-input-placeholder{color:#AAA}.ui.input input:focus input::-moz-placeholder,.ui.input.focus input input::-moz-placeholder{color:#AAA}.ui.input.error input{background-color:snow;border-color:#E7BEBE;color:#D95C5C}.ui.input.error input ::-webkit-input-placeholder{color:rgba(255,80,80,.4)}.ui.input.error input ::-moz-placeholder{color:rgba(255,80,80,.4)}.ui.input.error input :focus::-webkit-input-placeholder{color:rgba(255,80,80,.7)}.ui.input.error input :focus::-moz-placeholder{color:rgba(255,80,80,.7)}.ui.transparent.input input{border:none;background-color:transparent}.ui.icon.input>.icon{cursor:default;position:absolute;opacity:.5;top:0;right:0;margin:0;width:2.6em;height:100%;padding-top:.82em;text-align:center;border-radius:0 .3125em .3125em 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.ui.icon.input>.link.icon{cursor:pointer}.ui.icon.input input{padding-right:3em!important}.ui.icon.input>.circular.icon{top:.35em;right:.5em}.ui.left.icon.input>.icon{right:auto;left:1px;border-radius:.3125em 0 0 .3125em}.ui.left.icon.input>.circular.icon{right:auto;left:.5em}.ui.left.icon.input>input{padding-left:3em!important;padding-right:1.2em!important}.ui.icon.input>input:focus~.icon{opacity:1}.ui.labeled.input .corner.label{font-size:.7em;border-radius:0 .3125em}.ui.labeled.input .left.corner.label{border-radius:.3125em 0}.ui.labeled.input input{padding-right:2.5em!important}.ui.labeled.icon.input:not(.left)>input{padding-right:3.25em!important}.ui.labeled.icon.input:not(.left)>.icon{margin-right:1.25em}.ui.action.input{display:table}.ui.action.input>input{display:table-cell;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none}.ui.action.input>.button,.ui.action.input>.buttons{display:table-cell;border-top-left-radius:0;border-bottom-left-radius:0;white-space:nowrap}.ui.action.input>.button>.icon,.ui.action.input>.buttons>.button>.icon{display:inline;vertical-align:top}.ui.fluid.action.input{display:table;width:100%}.ui.fluid.action.input>.button{width:.01%}.ui.fluid.input{display:block}.ui.mini.input{font-size:.8125em}.ui.small.input{font-size:.875em}.ui.input{font-size:1em}.ui.large.input{font-size:1.125em}.ui.big.input{font-size:1.25em}.ui.huge.input{font-size:1.375em}.ui.massive.input{font-size:1.5em}.ui.label{display:inline-block;vertical-align:middle;margin:-.25em .25em 0;background-color:#E8E8E8;border-color:#E8E8E8;padding:.5em .8em;color:rgba(0,0,0,.65);text-transform:uppercase;font-weight:400;border-radius:.325em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label a{cursor:pointer;color:inherit;opacity:.8;-webkit-transition:.2s opacity ease;-moz-transition:.2s opacity ease;transition:.2s opacity ease}.ui.label a:hover{opacity:1}.ui.label .detail{display:inline-block;margin-left:.5em;font-weight:700;opacity:.8}.ui.label .icon{width:auto}.ui.label .delete.icon{cursor:pointer;margin:0 0 0 .5em;opacity:.7;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear}.ui.label .delete.icon:hover{opacity:.99}.ui.segment>.attached.label:first-child+*{margin-top:2.5em}.ui.segment>.bottom.attached.label:first-child~:last-child{margin-top:0;margin-bottom:2.5em}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;padding-top:.4em;padding-bottom:.4em;line-height:1.5em;vertical-align:baseline;text-transform:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.ui.image.label img{display:inline-block;height:2.25em;margin:-.4em .8em -.4em -.8em;vertical-align:top;border-radius:.325em 0 0 .325em}.ui.label.disabled{opacity:.5}a.ui.label:hover,a.ui.labels .label:hover{background-color:#E0E0E0;border-color:#E0E0E0;color:rgba(0,0,0,.7)}.ui.labels a.label:hover:before,a.ui.label:hover:before{background-color:#E0E0E0;color:rgba(0,0,0,.7)}.ui.label.visible,.ui.labels.visible .label{display:inline-block!important}.ui.label.hidden,.ui.labels.hidden .label{display:none!important}.ui.tag.label,.ui.tag.labels .label{margin-left:1em;position:relative;padding:.33em 1.3em .33em 1.4em;border-radius:0 3px 3px 0}.ui.tag.label:before,.ui.tag.labels .label:before{position:absolute;top:.3em;left:.3em;content:'';margin-left:-1em;background-image:none;width:1.5em;height:1.5em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear}.ui.tag.label:after,.ui.tag.labels .label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.3em;background-color:#FFF;width:.55em;height:.55em;-webkit-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);border-radius:100px}.ui.ribbon.label{position:relative;margin:0 .2em;left:-2rem;padding-left:2rem;border-radius:0 4px 4px 0;border-color:rgba(0,0,0,.15)}.ui.ribbon.label:after{position:absolute;content:"";top:100%;left:0;border-top:0 solid transparent;border-right-width:1em;border-right-color:inherit;border-right-style:solid;border-bottom:1em solid transparent;border-left:0 solid transparent;width:0;height:0}.ui.attached.label,.ui.top.attached.label{width:100%;position:absolute;margin:0;top:0;left:0;padding:.75em 1em;border-radius:4px 4px 0 0}.ui.bottom.attached.label{top:auto;bottom:0;border-radius:0 0 4px 4px}.ui.top.left.attached.label{width:auto;margin-top:0!important;border-radius:4px 0}.ui.top.right.attached.label{width:auto;left:auto;right:0;border-radius:0 4px}.ui.bottom.left.attached.label{width:auto;top:auto;bottom:0;border-radius:4px 0 0 4px}.ui.bottom.right.attached.label{top:auto;bottom:0;left:auto;right:0;width:auto;border-radius:0 4px}.ui.corner.label{background-color:transparent;position:absolute;top:0;right:0;z-index:10;margin:0;width:3em;height:3em;padding:0;text-align:center;-webkit-transition:color .2s ease;-moz-transition:color .2s ease;transition:color .2s ease}.ui.corner.label:after{position:absolute;content:"";right:0;top:0;z-index:-1;width:0;height:0;border-top:0 solid transparent;border-right:3em solid transparent;border-bottom:3em solid transparent;border-left:0 solid transparent;border-right-color:inherit;-webkit-transition:border-color .2s ease;-moz-transition:border-color .2s ease;transition:border-color .2s ease}.ui.corner.label .icon{font-size:.875em;margin:.5em 0 0 1.25em}.ui.corner.label .text{display:inline-block;font-weight:700;margin:.5em 0 0 1em;width:2.5em;font-size:.875em;text-align:center;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ui.input>.ui.corner.label,.ui.rounded.image>.ui.corner.label,.ui.segment>.ui.corner.label{overflow:hidden}.ui.segment>.ui.corner.label{top:-1px;right:-1px}.ui.segment>.ui.left.corner.label{right:auto;left:-1px}.ui.input>.ui.corner.label{top:1px;right:1px}.ui.input>.ui.right.corner.label{right:auto;left:1px}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:3em solid transparent;border-right:3em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{margin:.5em 0 0 -1em}.ui.left.corner.label .text{margin:.5em 0 0 -1em;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.corner.label:hover{background-color:transparent}.ui.fluid.labels>.label,.ui.label.fluid{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.inverted.label,.ui.inverted.labels .label{color:#FFF!important}.ui.black.label,.ui.black.labels .label{background-color:#5C6166!important;border-color:#5C6166!important;color:#FFF!important}.ui.black.label:before,.ui.black.labels .label:before,.ui.labels .black.label:before{background-color:#5C6166!important}a.ui.black.label:hover,a.ui.black.labels .label:hover{background-color:#333!important;border-color:#333!important}.ui.black.labels a.label:hover:before,.ui.labels a.black.label:hover:before,a.ui.black.label:hover:before{background-color:#333!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.black.ribbon.label{border-color:#333!important}.ui.green.label,.ui.green.labels .label{background-color:#A1CF64!important;border-color:#A1CF64!important;color:#FFF!important}.ui.green.label:before,.ui.green.labels .label:before,.ui.labels .green.label:before{background-color:#A1CF64!important}a.ui.green.label:hover,a.ui.green.labels .label:hover{background-color:#89B84C!important;border-color:#89B84C!important}.ui.green.labels a.label:hover:before,.ui.labels a.green.label:hover:before,a.ui.green.label:hover:before{background-color:#89B84C!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.green.ribbon.label{border-color:#89B84C!important}.ui.red.label,.ui.red.labels .label{background-color:#D95C5C!important;border-color:#D95C5C!important;color:#FFF!important}.ui.labels .red.label:before,.ui.red.label:before,.ui.red.labels .label:before{background-color:#D95C5C!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}a.ui.red.label:hover,a.ui.red.labels .label:hover{background-color:#DE3859!important;border-color:#DE3859!important;color:#FFF!important}.ui.labels a.red.label:hover:before,.ui.red.labels a.label:hover:before,a.ui.red.label:hover:before{background-color:#DE3859!important}.ui.red.ribbon.label{border-color:#DE3859!important}.ui.blue.label,.ui.blue.labels .label{background-color:#6ECFF5!important;border-color:#6ECFF5!important;color:#FFF!important}.ui.blue.label:before,.ui.blue.labels .label:before,.ui.labels .blue.label:before{background-color:#6ECFF5!important}.ui.blue.labels a.label:hover,a.ui.blue.label:hover,a.ui.blue.labels .label:hover{background-color:#1AB8F3!important;border-color:#1AB8F3!important;color:#FFF!important}.ui.blue.labels a.label:hover:before,.ui.labels a.blue.label:hover:before,a.ui.blue.label:hover:before{background-color:#1AB8F3!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.blue.ribbon.label{border-color:#1AB8F3!important}.ui.purple.label,.ui.purple.labels .label{background-color:#564F8A!important;border-color:#564F8A!important;color:#FFF!important}.ui.labels .purple.label:before,.ui.purple.label:before,.ui.purple.labels .label:before{background-color:#564F8A!important}.ui.purple.labels a.label:hover,a.ui.purple.label:hover,a.ui.purple.labels .label:hover{background-color:#3E3773!important;border-color:#3E3773!important;color:#FFF!important}.ui.labels a.purple.label:hover:before,.ui.purple.labels a.label:hover:before,a.ui.purple.label:hover:before{background-color:#3E3773!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.purple.ribbon.label{border-color:#3E3773!important}.ui.orange.label,.ui.orange.labels .label{background-color:#F05940!important;border-color:#F05940!important;color:#FFF!important}.ui.labels .orange.label:before,.ui.orange.label:before,.ui.orange.labels .label:before{background-color:#F05940!important}.ui.orange.labels a.label:hover,a.ui.orange.label:hover,a.ui.orange.labels .label:hover{background-color:#FF4121!important;border-color:#FF4121!important;color:#FFF!important}.ui.labels a.orange.label:hover:before,.ui.orange.labels a.label:hover:before,a.ui.orange.label:hover:before{background-color:#FF4121!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.orange.ribbon.label{border-color:#FF4121!important}.ui.teal.label,.ui.teal.labels .label{background-color:#00B5AD!important;border-color:#00B5AD!important;color:#FFF!important}.ui.labels .teal.label:before,.ui.teal.label:before,.ui.teal.labels .label:before{background-color:#00B5AD!important}.ui.teal.labels a.label:hover,a.ui.teal.label:hover,a.ui.teal.labels .label:hover{background-color:#009A93!important;border-color:#009A93!important;color:#FFF!important}.ui.labels a.teal.label:hover:before,.ui.teal.labels a.label:hover:before,a.ui.teal.label:hover:before{background-color:#009A93!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.teal.ribbon.label{border-color:#009A93!important}.ui.horizontal.label,.ui.horizontal.labels .label{margin:-.125em .5em -.125em 0;padding:.35em 1em;min-width:6em;text-align:center}.ui.circular.label,.ui.circular.labels .label{min-height:1em;max-height:2em;padding:.5em!important;line-height:1em;text-align:center;border-radius:500rem}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;transition:background .1s linear;background-color:#E8E8E8}.ui.pointing.above.label,.ui.pointing.label{margin-top:1em}.ui.pointing.above.label:before,.ui.pointing.label:before{margin-left:-.3em;top:-.3em;left:50%}.ui.pointing.below.label{margin-top:0;margin-bottom:1em}.ui.pointing.below.label:before{margin-left:-.3em;top:auto;right:auto;bottom:-.3em;left:50%}.ui.pointing.left.label{margin-top:0;margin-left:1em}.ui.pointing.left.label:before{margin-top:-.3em;bottom:auto;right:auto;top:50%;left:0}.ui.pointing.right.label{margin-top:0;margin-right:1em}.ui.pointing.right.label:before{margin-top:-.3em;right:-.3em;top:50%;bottom:auto;left:auto}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.small.label,.ui.small.labels .label{font-size:.75rem}.ui.label{font-size:.8125rem}.ui.large.label,.ui.large.labels .label{font-size:.875rem}.ui.huge.label,.ui.huge.labels .label{font-size:1rem}.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;z-index:1000;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ui.dimmer .loader{display:block}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.mini.text.loader{min-width:16px;padding-top:2em;font-size:.875em}.ui.small.text.loader{min-width:24px;padding-top:2.5em;font-size:.875em}.ui.text.loader{min-width:32px;font-size:1em;padding-top:3em}.ui.large.text.loader{min-width:64px;padding-top:5em;font-size:1.2em}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.dimmer .ui.text.loader,.ui.inverted.text.loader{color:rgba(255,255,255,.8)}.ui.inverted.dimmer .ui.text.loader{color:rgba(0,0,0,.8)}.ui.dimmer .mini.ui.loader,.ui.inverted .mini.ui.loader{background-image:url(/static/47de617fd1d745ad120ccb9e2924b98c.gif)}.ui.dimmer .small.ui.loader,.ui.inverted .small.ui.loader{background-image:url(/static/f5b27137d3f5e9b1d91b16b37386dd03.gif)}.ui.dimmer .ui.loader,.ui.inverted.loader{background-image:url(/static/08d606864d3ad3f0b98660d391f5a1c2.gif)}.ui.dimmer .large.ui.loader,.ui.inverted .large.ui.loader{background-image:url(/static/2d66bcdc27cd89f71068e98a7a929712.gif)}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:16px;height:16px;background-image:url(/static/ca279c55a51ab2641c4712a333633581.gif)}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:24px;height:24px;background-image:url(/static/645f50ba6c1e56f078fa018855d97eb0.gif)}.ui.inverted.dimmer .ui.loader,.ui.loader{width:32px;height:32px;background:url(/static/939cf252f0eb4efbd2d170c974411c49.gif) 48% 0 no-repeat}.ui.inverted.dimmer .ui.loader.large,.ui.loader.large{width:64px;height:64px;background-image:url(/static/9af25aaeb6ca6d08d213b04841813eb5.gif)}.ui.inline.loader{position:static;vertical-align:middle;margin:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.progress{border:1px solid rgba(0,0,0,.1);width:100%;height:35px;background-color:#FAFAFA;padding:5px;border-radius:.3125em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.progress .bar{display:inline-block;height:100%;background-color:#CCC;border-radius:3px;-webkit-transition:width 1s ease-in-out,background-color 1s ease-out;-moz-transition:width 1s ease-in-out,background-color 1s ease-out;transition:width 1s ease-in-out,background-color 1s ease-out}.ui.successful.progress .bar{background-color:#73E064!important}.ui.successful.progress .bar,.ui.successful.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.warning.progress .bar{background-color:#E96633!important}.ui.warning.progress .bar,.ui.warning.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.failed.progress .bar{background-color:#DF9BA4!important}.ui.failed.progress .bar,.ui.failed.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.active.progress .bar{position:relative}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#FFF;border-radius:3px;-webkit-animation:progress-active 2s ease-out infinite;-moz-animation:progress-active 2s ease-out infinite;animation:progress-active 2s ease-out infinite}@-webkit-keyframes progress-active{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:95%}}@-moz-keyframes progress-active{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important;animation:none!important}.ui.progress.attached{position:relative;border:none}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:3px;padding:0;overflow:hidden;border-radius:0 0 .3125em .3125em}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:-2px;border-radius:.3125em .3125em 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.blue.progress .bar{background-color:#6ECFF5}.ui.black.progress .bar{background-color:#5C6166}.ui.green.progress .bar{background-color:#A1CF64}.ui.red.progress .bar{background-color:#EF4D6D}.ui.purple.progress .bar{background-color:#564F8A}.ui.teal.progress .bar{background-color:#00B5AD}.ui.progress.striped .bar{background-size:30px 30px;background-image:-webkit-gradient(linear,left top,right bottom,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(315deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(315deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.ui.progress.active.striped .bar:after{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}.ui.progress.active.striped .bar{-webkit-animation:progress-striped 3s linear infinite;-moz-animation:progress-striped 3s linear infinite;animation:progress-striped 3s linear infinite}@-webkit-keyframes progress-striped{0%{background-position:0 0}100%{background-position:60px 0}}@-moz-keyframes progress-striped{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes progress-striped{0%{background-position:0 0}100%{background-position:60px 0}}.ui.small.progress .bar{height:14px}.ui.reveal{display:inline-block;position:relative!important;z-index:2!important;font-size:0!important}.ui.reveal>.content{font-size:1rem!important}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:4!important;-webkit-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;-moz-transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s;transition:all .8s cubic-bezier(0.175,.885,.32,1) .15s}.ui.reveal>.hidden.content{position:relative!important;z-index:3!important}.ui.reveal.button{overflow:hidden}.ui.slide.reveal{position:relative!important;display:block;overflow:hidden!important;white-space:nowrap}.ui.slide.reveal>.content{display:block;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s;-moz-transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s;transition:top .8s cubic-bezier(0.175,.885,.32,1) .15s,left .8s cubic-bezier(0.175,.885,.32,1) .15s,right .8s cubic-bezier(0.175,.885,.32,1) .15s,bottom .8s cubic-bezier(0.175,.885,.32,1) .15s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:100%!important;width:100%!important}.ui.slide.reveal:focus>.visible.content,.ui.slide.reveal:hover>.visible.content{left:-100%!important}.ui.slide.reveal:focus>.hidden.content,.ui.slide.reveal:hover>.hidden.content{left:0!important}.ui.right.slide.reveal>.visible.content{left:0}.ui.right.slide.reveal>.hidden.content{left:auto!important;right:100%!important}.ui.right.slide.reveal:focus>.visible.content,.ui.right.slide.reveal:hover>.visible.content{left:100%!important;right:auto!important}.ui.right.slide.reveal:focus>.hidden.content,.ui.right.slide.reveal:hover>.hidden.content{left:auto!important;right:0!important}.ui.up.slide.reveal>.visible.content{top:0!important;left:0!important;right:auto!important;bottom:auto!important}.ui.up.slide.reveal>.hidden.content{top:100%!important;left:0!important;right:auto!important;bottom:auto!important}.ui.slide.up.reveal:focus>.visible.content,.ui.slide.up.reveal:hover>.visible.content{top:-100%!important;left:0!important}.ui.slide.up.reveal:focus>.hidden.content,.ui.slide.up.reveal:hover>.hidden.content{top:0!important;left:0!important}.ui.down.slide.reveal>.visible.content{top:auto!important;right:auto!important;bottom:auto!important;bottom:0!important}.ui.down.slide.reveal>.hidden.content{top:auto!important;right:auto!important;bottom:100%!important;left:0!important}.ui.slide.down.reveal:focus>.visible.content,.ui.slide.down.reveal:hover>.visible.content{left:0!important;bottom:-100%!important}.ui.slide.down.reveal:focus>.hidden.content,.ui.slide.down.reveal:hover>.hidden.content{left:0!important;bottom:0!important}.ui.fade.reveal>.hidden.content{-webkit-transition:opacity .8s cubic-bezier(0.175,.885,.32,1) .15s;-moz-transition:opacity .8s cubic-bezier(0.175,.885,.32,1) .15s;transition:opacity .8s cubic-bezier(0.175,.885,.32,1) .15s;z-index:5!important;opacity:0}.ui.fade.reveal:hover>.hidden.content{opacity:1}.ui.move.left.reveal>.visible.content,.ui.move.reveal>.visible.content{left:auto!important;top:auto!important;bottom:auto!important;right:0!important}.ui.move.left.reveal:focus>.visible.content,.ui.move.left.reveal:hover>.visible.content,.ui.move.reveal:focus>.visible.content,.ui.move.reveal:hover>.visible.content{right:100%!important}.ui.move.right.reveal>.visible.content{right:auto!important;top:auto!important;bottom:auto!important;left:0!important}.ui.move.right.reveal:focus>.visible.content,.ui.move.right.reveal:hover>.visible.content{left:100%!important}.ui.move.up.reveal>.visible.content{right:auto!important;left:auto!important;top:auto!important;bottom:0!important}.ui.move.up.reveal:focus>.visible.content,.ui.move.up.reveal:hover>.visible.content{bottom:100%!important}.ui.move.down.reveal>.visible.content{right:auto!important;left:auto!important;top:0!important;bottom:auto!important}.ui.move.down.reveal:focus>.visible.content,.ui.move.down.reveal:hover>.visible.content{top:100%!important}.ui.rotate.reveal>.visible.content{-webkit-transition-duration:.8s;-moz-transition-duration:.8s;transition-duration:.8s;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.ui.rotate.reveal>.visible.content,.ui.rotate.right.reveal>.visible.content{-webkit-transform-origin:bottom right;-moz-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right}.ui.rotate.reveal:focus>.visible.content,.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.reveal:focus>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{-webkit-transform:rotate(110deg);-moz-transform:rotate(110deg);-ms-transform:rotate(110deg);transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{-webkit-transform-origin:bottom left;-moz-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left}.ui.rotate.left.reveal:focus>.visible.content,.ui.rotate.left.reveal:hover>.visible.content{-webkit-transform:rotate(-110deg);-moz-transform:rotate(-110deg);-ms-transform:rotate(-110deg);transform:rotate(-110deg)}.ui.disabled.reveal{opacity:1!important}.ui.disabled.reveal>.content{-webkit-transition:none!important;-moz-transition:none!important;transition:none!important}.ui.disabled.reveal:focus>.visible.content,.ui.disabled.reveal:hover>.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;transform:none!important}.ui.disabled.reveal:focus>.hidden.content,.ui.disabled.reveal:hover>.hidden.content{display:none!important}.ui.masked.reveal{overflow:hidden}.ui.instant.reveal>.content{-webkit-transition-delay:0s!important;-moz-transition-delay:0s!important;transition-delay:0s!important}.ui.segment{position:relative;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);margin:1em 0;padding:1em;border-radius:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.segment:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background-color:transparent;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 0 rgba(0,0,0,.1)}.ui.vertical.segment:first-child{padding-top:0}.ui.horizontal.segment{margin:0;padding-top:0;padding-bottom:0;background-color:transparent;border-radius:0;-webkit-box-shadow:1px 0 0 rgba(0,0,0,.1);box-shadow:1px 0 0 rgba(0,0,0,.1)}.ui.horizontal.segment:first-child{padding-left:0}.ui.pointing.menu~.ui.attached.segment{top:1px}.ui.page.grid.segment .ui.grid .ui.segment.column{padding-top:2rem;padding-bottom:2rem}.ui.grid .ui.segment.column,.ui.grid .ui.segment.row,.ui.grid.segment{border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:none}.ui.segment>:first-child{margin-top:0}.ui.segment>:last-child{margin-bottom:0}.ui.piled.segment{margin:2em 0;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.15);-ms-box-shadow:0 0 1px 1px rgba(0,0,0,.15);-o-box-shadow:0 0 1px 1px rgba(0,0,0,.15);box-shadow:0 0 1px 1px rgba(0,0,0,.15)}.ui.piled.segment:first-child{margin-top:0}.ui.piled.segment:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before{background-color:#FFF;visibility:visible;content:"";display:block;height:100%;left:-1px;position:absolute;width:100%;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.1);box-shadow:0 0 1px 1px rgba(0,0,0,.1)}.ui.piled.segment:after{-webkit-transform:rotate(1.2deg);-moz-transform:rotate(1.2deg);-ms-transform:rotate(1.2deg);transform:rotate(1.2deg);top:0;z-index:-1}.ui.piled.segment:before{-webkit-transform:rotate(-1.2deg);-moz-transform:rotate(-1.2deg);-ms-transform:rotate(-1.2deg);transform:rotate(-1.2deg);top:0;z-index:-2}.ui.stacked.segment{padding-bottom:1.7em}.ui.stacked.segment:after,.ui.stacked.segment:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(0,0,0,.1);background-color:rgba(0,0,0,.02);width:100%;height:5px;visibility:visible}.ui.stacked.segment:before{bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before{background-color:rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.35)}.ui.circular.segment{display:table-cell;padding:2em;text-align:center;vertical-align:middle;border-radius:500em}.ui.raised.segment{-webkit-box-shadow:0 1px 2px 1px rgba(0,0,0,.1);box-shadow:0 1px 2px 1px rgba(0,0,0,.1)}.ui.disabled.segment{opacity:.8;color:#DDD}.ui.basic.segment{position:relative;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ui.basic.segment:first-child{padding-top:0}.ui.basic.segment:last-child{padding-bottom:0}.ui.fitted.segment{padding:0}.ui.blue.segment{border-top:.2em solid #6ECFF5}.ui.green.segment{border-top:.2em solid #A1CF64}.ui.red.segment{border-top:.2em solid #D95C5C}.ui.orange.segment{border-top:.2em solid #F05940}.ui.purple.segment{border-top:.2em solid #564F8A}.ui.teal.segment{border-top:.2em solid #00B5AD}.ui.inverted.black.segment{background-color:#5C6166!important;color:#FFF!important}.ui.inverted.blue.segment{background-color:#6ECFF5!important;color:#FFF!important}.ui.inverted.green.segment{background-color:#A1CF64!important;color:#FFF!important}.ui.inverted.red.segment{background-color:#D95C5C!important;color:#FFF!important}.ui.inverted.orange.segment{background-color:#F05940!important;color:#FFF!important}.ui.inverted.purple.segment{background-color:#564F8A!important;color:#FFF!important}.ui.inverted.teal.segment{background-color:#00B5AD!important;color:#FFF!important}.ui.left.aligned.segment{text-align:left}.ui.right.aligned.segment{text-align:right}.ui.center.aligned.segment{text-align:center}.ui.justified.segment{text-align:justify;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.floated.segment,.ui.left.floated.segment{float:left}.ui.right.floated.segment{float:right}.ui.inverted.segment{border:none;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.segment .segment{color:rgba(0,0,0,.7)}.ui.inverted.segment .inverted.segment{color:#FFF}.ui.inverted.segment,.ui.primary.inverted.segment{background-color:#222;color:#FFF}.ui.primary.segment{background-color:#FFF;color:#555}.ui.secondary.segment{background-color:#FAF9FA;color:#777}.ui.tertiary.segment{background-color:#EBEBEB;color:#B0B0B0}.ui.secondary.inverted.segment{background-color:#555;background-image:-webkit-linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);background-image:-moz-linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.3)),to(rgba(255,255,255,.3)));background-image:linear-gradient(rgba(255,255,255,.3) 0,rgba(255,255,255,.3) 100%);color:#FAFAFA}.ui.tertiary.inverted.segment{background-color:#555;background-image:-webkit-linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);background-image:-moz-linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.6)),to(rgba(255,255,255,.6)));background-image:linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 100%);color:#EEE}.ui.segment.attached{top:-1px;bottom:-1px;border-radius:0;margin:0;-webkit-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.top.attached.segment{top:0;bottom:-1px;margin-top:1em;margin-bottom:0;border-radius:5px 5px 0 0}.ui.segment.top.attached:first-child{margin-top:0}.ui.segment.bottom.attached{top:-1px;bottom:0;margin-top:0;margin-bottom:1em;border-radius:0 0 5px 5px}.ui.segment.bottom.attached:last-child{margin-bottom:0}.ui.step,.ui.steps .step{display:inline-block;position:relative;padding:1em 2em 1em 3em;vertical-align:top;background-color:#FFF;color:#888;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.step:after,.ui.steps .step:after{position:absolute;z-index:2;content:'';top:.42em;right:-1em;border:none;background-color:#FFF;width:2.2em;height:2.2em;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-box-shadow:-1px -1px 0 0 rgba(0,0,0,.15) inset;box-shadow:-1px -1px 0 0 rgba(0,0,0,.15) inset}.ui.step,.ui.steps .step,.ui.steps .step:after{-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;-moz-transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease}.ui.vertical.steps{overflow:visible}.ui.vertical.steps .step{display:block;border-radius:0;padding:1em 2em}.ui.vertical.steps .step:first-child{padding:1em 2em;border-radius:.3125rem .3125rem 0 0}.ui.vertical.steps .active.step:first-child{border-top-right-radius:0}.ui.vertical.steps .step:last-child{border-radius:0 0 .3125rem .3125rem}.ui.vertical.steps .active.step:last-child{border-bottom-right-radius:0}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .active.step:after{display:block}.ui.vertical.steps .two.line.step{line-height:1.3}.ui.vertical.steps .two.line.active.step:after{position:absolute;z-index:2;content:'';top:0;right:-1.45em;background-color:transparent;border-bottom:2.35em solid transparent;border-left:1.55em solid #555;border-top:2.35em solid transparent;width:0;height:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none}.ui.steps{cursor:pointer;display:inline-block;font-size:0;overflow:hidden;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:.3125rem}.ui.steps .step:first-child{padding-left:1.35em;border-radius:.3125em 0 0 .3125em}.ui.steps .step:last-child{border-radius:0 .3125em .3125em 0}.ui.steps .step:only-child{border-radius:.3125em}.ui.steps .step:last-child{margin-right:0}.ui.steps .step:last-child:after{display:none}.ui.step.hover,.ui.step:hover{background-color:#F7F7F7;color:rgba(0,0,0,.8)}.ui.step.hover::after,.ui.step:hover,.ui.steps .step.hover:after,.ui.steps .step:hover:after{background-color:#F7F7F7}.ui.step.down,.ui.step:active,.ui.steps .step.down,.ui.steps .step.down:after,.ui.steps .step:active,.ui.steps .step:active:after,.ui.steps.down::after,.ui.steps:active::after{background-color:#F0F0F0}.ui.active.step,.ui.steps .step.active{cursor:auto;background-color:#555;color:#FFF;font-weight:700}.ui.active.steps:after,.ui.steps .step.active:after{background-color:#555;-webkit-box-shadow:none;box-shadow:none}.ui.disabled.step,.ui.steps .disabled.step{cursor:auto;background-color:#FFF;color:#CBCBCB}.ui.disabled.step:after,.ui.steps .disabled.step:after{background-color:#FFF}.attached.ui.steps{margin:0;border-radius:.3125em .3125em 0 0}.attached.ui.steps .step:first-child{border-radius:.3125em 0 0}.attached.ui.steps .step:last-child{border-radius:0 .3125em 0 0}.bottom.attached.ui.steps{margin-top:-1px;border-radius:0 0 .3125em .3125em}.bottom.attached.ui.steps .step:first-child{border-radius:0 0 0 .3125em}.bottom.attached.ui.steps .step:last-child{border-radius:0 0 .3125em}.ui.eight.steps,.ui.five.steps,.ui.four.steps,.ui.one.steps,.ui.seven.steps,.ui.six.steps,.ui.three.steps,.ui.two.steps{display:block}.ui.one.steps>.step{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.mini.step,.ui.mini.steps .step{font-size:.8rem}.ui.small.step,.ui.small.steps .step{font-size:.875rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.125rem}.ui.big.step,.ui.big.steps .step{font-size:1.25rem}.ui.huge.step,.ui.huge.steps .step{font-size:1.375rem}.ui.massive.step,.ui.massive.steps .step{font-size:1.5rem;font-weight:700}.ui.accordion,.ui.accordion .accordion{width:600px;max-width:100%;font-size:1rem;border-radius:.3125em;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer;margin:0;padding:.75em 1em;color:rgba(0,0,0,.6);border-top:1px solid rgba(0,0,0,.05);-webkit-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.ui.accordion .accordion>.title:first-child,.ui.accordion>.title:first-child{border-top:none}.ui.accordion .accordion .content,.ui.accordion .content>.content,.ui.accordion>.content{display:none;margin:0;padding:1.3em 1em}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;margin:0 .5em 0 0;-webkit-transition:-webkit-transform .2s ease,opacity .2s ease;-moz-transition:-moz-transform .2s ease,opacity .2s ease;transition:transform .2s ease,opacity .2s ease;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'}.ui.basic.accordion.menu{background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.basic.accordion.menu .content,.ui.basic.accordion.menu .title{padding:0}.ui.accordion.menu .content{display:none}.ui.basic.accordion{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ui.basic.accordion .accordion .title,.ui.basic.accordion .title{background-color:transparent;border-top:none;padding-left:0;padding-right:0}.ui.basic.accordion .accordion .content,.ui.basic.accordion .content{padding:.5em 0}.ui.basic.accordion .accordion .active.title,.ui.basic.accordion .active.title{background-color:transparent}.ui.accordion .accordion .active.title,.ui.accordion .accordion .title:hover,.ui.accordion .active.title,.ui.accordion .title:hover{color:rgba(0,0,0,.8)}.ui.accordion .accordion .active.title,.ui.accordion .active.title{background-color:rgba(0,0,0,.1);color:rgba(0,0,0,.8)}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.chatroom{background-color:#F8F8F8;padding:0}.ui.chatroom .room{position:relative;background-color:#FFF;overflow:hidden;height:286px;border:1px solid rgba(0,0,0,.1);border-top:none;border-bottom:none}.ui.chatroom .room .loader{display:none;margin:-25px 0 0 -25px}.ui.chatroom .actions{overflow:hidden;background-color:#EEE;padding:4px;border:1px solid rgba(0,0,0,.1);border-radius:5px 5px 0 0}.ui.chatroom .actions .button{float:right;margin-left:3px}.ui.chatroom .actions .message{float:left;margin-left:6px;font-size:11px;color:#AAA;text-shadow:0 -1px 0 rgba(255,255,255,.8);line-height:28px}.ui.chatroom .actions .message .loader{display:inline-block;margin-right:8px}.ui.chatroom .log{float:left;overflow:auto;overflow-x:hidden;overflow-y:auto}.ui.chatroom .log .message{padding:3px 0;border-top:1px dotted #DADADA}.ui.chatroom .log .message:first-child{border-top:none}.ui.chatroom .status{padding:5px 0;color:#AAA;font-size:12px;font-style:italic;line-height:1.33;border-top:1px dotted #DADADA}.ui.chatroom .log .status:first-child{border-top:none}.ui.chatroom .log .flag{float:left}.ui.chatroom .log p{margin-left:0}.ui.chatroom .log .author{font-weight:700;-webkit-transition:color .3s ease-out;-moz-transition:color .3s ease-out;transition:color .3s ease-out}.ui.chatroom .log a.author:hover{opacity:.8}.ui.chatroom .log .message.admin p{font-weight:700;margin:1px 0 0 23px}.ui.chatroom .log .divider{margin:-1px 0;font-size:11px;padding:10px 0;border-top:1px solid #F8F8F8;border-bottom:1px solid #F8F8F8}.ui.chatroom .log .divider .rule{top:50%;width:15%}.ui.chatroom .log .divider .label{color:#777;margin:0}.ui.chatroom .room .list{position:relative;overflow:auto;overflow-x:hidden;overflow-y:auto;float:left;background-color:#EEE;border-left:1px solid #DDD}.ui.chatroom .room .list .user{display:table;padding:3px 7px;border-bottom:1px solid #DDD}.ui.chatroom .room .list .user:hover{background-color:#F8F8F8}.ui.chatroom .room .list .image{display:table-cell;vertical-align:middle;width:20px}.ui.chatroom .room .list .image img{width:20px;height:20px;vertical-align:middle}.ui.chatroom .room .list p{display:table-cell;vertical-align:middle;padding-left:7px;padding-right:14px;font-size:11px;line-height:1.2;font-weight:700}.ui.chatroom .room .list a:hover{opacity:.8}.ui.chatroom .talk{border:1px solid rgba(0,0,0,.1);padding:5px 0 0;background-color:#EEE;border-radius:0 0 5px 5px}.ui.chatroom .talk .avatar,.ui.chatroom .talk .button,.ui.chatroom .talk input{float:left}.ui.chatroom .talk .avatar img{display:block;width:30px;height:30px;margin-right:4px;border-radius:500rem}.ui.chatroom .talk input{border:1px solid #CCC;margin:0;width:196px;height:14px;padding:8px 5px;font-size:12px;color:#555}.ui.chatroom .talk input.focus{border:1px solid #AAA}.ui.chatroom .send{width:80px;height:32px;margin-left:-1px;padding:4px 12px;font-size:12px;line-height:23px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:0 5px 5px 0}.ui.chatroom .talk .log-in.button{display:block;float:none;margin-top:-6px;height:22px;border-radius:0 0 4px 4px}.ui.chatroom .talk .log-in.button i{vertical-align:text-top}.ui.chatroom .log .team.flag{width:18px}.ui.chatroom.loading .loader{display:block}.ui.chatroom{width:330px;height:370px}.ui.chatroom .room .container{width:3000px}.ui.chatroom .log{width:314px;height:278px;padding:4px 7px}.ui.chatroom .room .list{width:124px;height:278px;padding:4px 0}.ui.chatroom .room .list .user{width:110px}.ui.chatroom .talk{height:40px}.ui.checkbox{position:relative;display:inline-block;min-width:1em;min-height:1.25em;line-height:1em;outline:0;vertical-align:middle}.ui.checkbox input{position:absolute;top:0;left:0;opacity:0;outline:0}.ui.checkbox .box,.ui.checkbox label{cursor:pointer;padding-left:2em;outline:0}.ui.checkbox .box:before,.ui.checkbox label:before{position:absolute;top:0;line-height:1;width:1em;height:1em;left:0;content:'';border-radius:4px;background:#FFF;-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease;-moz-transition:background-color .3s ease,box-shadow .3s ease;transition:background-color .3s ease,box-shadow .3s ease;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.ui.checkbox .box:after,.ui.checkbox label:after{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;content:'';position:absolute;background:0 0;border:.2em solid #333;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);top:.275em;left:.2em;width:.45em;height:.15em}.ui.checkbox label{display:block;color:rgba(0,0,0,.6);-webkit-transition:color .2s ease;-moz-transition:color .2s ease;transition:color .2s ease}.ui.checkbox input:focus~label,.ui.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.checkbox~label{cursor:pointer;opacity:.85;vertical-align:middle}.ui.checkbox~label:hover{opacity:1}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background-color:#F5F5F5}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.ui.checkbox input[disabled]~.box:after,.ui.checkbox input[disabled]~label,.ui.disabled.checkbox label,.ui.disabled.checkbox~.box:after{opacity:.4;color:rgba(0,0,0,.3)}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{min-width:1em;height:1em;border-radius:500px;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:none;top:.2em;left:.2em;width:.6em;height:.6em;background-color:#555;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;border-radius:500px}.ui.slider.checkbox{cursor:pointer;min-width:3em}.ui.slider.checkbox:after{position:absolute;top:.5em;left:0;content:'';width:3em;height:2px;background-color:rgba(0,0,0,.1)}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4em}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{cursor:pointer;display:block;position:absolute;top:-.25em;left:0;z-index:1;width:1.5em;height:1.5em;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:50rem;-webkit-transition:left .3s ease 0s;-moz-transition:left .3s ease 0s;transition:left .3s ease 0s}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{opacity:1;position:absolute;content:'';top:.15em;left:0;z-index:2;margin-left:.375em;border:none;width:.75em;height:.75em;border-radius:50rem;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;-webkit-transition:background .3s ease 0s,left .3s ease 0s;-moz-transition:background .3s ease 0s,left .3s ease 0s;transition:background .3s ease 0s,left .3s ease 0s}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~.box:before,.ui.slider.checkbox input:checked~label:after,.ui.slider.checkbox input:checked~label:before{left:1.75em}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background-color:#D95C5C}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~label:after{background-color:#89B84C}.ui.toggle.checkbox{cursor:pointer}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{padding-left:4em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{cursor:pointer;display:block;position:absolute;content:'';top:-.25em;left:0;z-index:1;background-color:#FFF;width:3em;height:1.5em;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;border-radius:50rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{opacity:1;-webkit-box-shadow:none;box-shadow:none;content:'';position:absolute;top:.15em;left:.5em;z-index:2;border:none;width:.75em;height:.75em;background-color:#D95C5C;border-radius:50rem;-webkit-transition:background .3s ease 0s,left .3s ease 0s;-moz-transition:background .3s ease 0s,left .3s ease 0s;transition:background .3s ease 0s,left .3s ease 0s}.ui.toggle.checkbox:active .box:before,.ui.toggle.checkbox:active label:before{background-color:#F5F5F5}.ui.toggle.checkbox input:checked~.box:after,.ui.toggle.checkbox input:checked~label:after{left:1.75em;background-color:#89B84C}.ui.checkbox{font-size:1em}.ui.large.checkbox{font-size:1.25em}.ui.huge.checkbox{font-size:1.5em}.ui.dimmable{position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:0;height:0;text-align:center;vertical-align:middle;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;-moz-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:1000}.ui.dimmer>.content{width:100%;height:100%;display:table;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.dimmer>.content>div{display:table-cell;vertical-align:middle;color:#FFF}.ui.horizontal.segment>.ui.dimmer,.ui.segment>.ui.dimmer,.ui.vertical.segment>.ui.dimmer{border-radius:5px}.ui.dimmed.dimmable:not(body){overflow:hidden}.ui.active.dimmer,.ui.dimmed.dimmable>.ui.animating.dimmer,.ui.dimmed.dimmable>.ui.visible.dimmer{display:block;width:100%;height:100%;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.ui.page.dimmer{position:fixed;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-perspective:2000px;-moz-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;-moz-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.ui.scrolling.dimmable>.dimmer,.ui.scrolling.page.dimmer{position:absolute}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:rgba(0,0,0,.8)}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;z-index:-100;background-color:transparent}.ui.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.ui.dimmed.dimmable>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.dropdown{cursor:pointer;position:relative;display:inline-block;line-height:1;-webkit-transition:border-radius .1s ease,width .2s ease;-moz-transition:border-radius .1s ease,width .2s ease;transition:border-radius .1s ease,width .2s ease;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;tap-highlight-color:transparent}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;top:100%;margin:0;background-color:#FFF;min-width:100%;white-space:nowrap;font-size:.875em;text-shadow:none;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.1);box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:0 0 .325em .325em;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;transition:opacity .2s ease;z-index:11}.ui.dropdown>.dropdown.icon{width:auto;margin:0 0 0 1em}.ui.dropdown>.dropdown.icon:before{content:"\f0d7"}.ui.dropdown .menu .item .dropdown.icon{width:auto;float:right;margin:0 0 0 .5em}.ui.dropdown .menu .item .dropdown.icon:before{content:"\f0da"}.ui.dropdown>.text{display:inline-block;-webkit-transition:color .2s ease;-moz-transition:color .2s ease;transition:color .2s ease}.ui.dropdown .menu{left:0}.ui.dropdown .menu .menu{top:0!important;left:100%!important;margin:0!important;border-radius:0 .325em .325em 0!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown .menu .item{cursor:pointer;border:none;border-top:1px solid rgba(0,0,0,.05);height:auto;display:block;color:rgba(0,0,0,.75);padding:.85em 1em!important;font-size:.875rem;text-transform:none;font-weight:400;text-align:left;-webkit-touch-callout:none}.ui.dropdown .menu .item:before{display:none}.ui.dropdown .menu .item .icon{margin-right:.75em}.ui.dropdown .menu .item:first-child{border-top:none}.ui.buttons>.ui.dropdown:last-child .menu,.ui.menu .right.menu .dropdown:last-child .menu{left:auto;right:0}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:"\f0da"}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.visible.dropdown>.menu{display:block}.ui.dropdown .menu .item.selected,.ui.dropdown .menu .item:hover{background-color:rgba(0,0,0,.02);z-index:12}.ui.dropdown .menu .active.item{background-color:rgba(0,0,0,.06)!important;border-left:none;border-color:transparent!important;-moz-shadow:none;-webkit-box-shadow:none;box-shadow:none;z-index:12}.ui.default.dropdown>.text,.ui.dropdown>.default.text{color:rgba(0,0,0,.5)}.ui.default.dropdown:hover>.text,.ui.dropdown:hover>.default.text{color:rgba(0,0,0,.8)}.ui.dropdown.error,.ui.dropdown.error>.default.text,.ui.dropdown.error>.text{color:#D95C5C!important}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu{-webkit-box-shadow:0 0 1px 1px #E7BEBE!important;box-shadow:0 0 1px 1px #E7BEBE!important}.ui.dropdown.error>.menu .item{color:#D95C5C!important}.ui.dropdown.error>.menu .item:hover{background-color:#FFF2F2!important}.ui.dropdown.error>.menu .active.item{background-color:#FDCFCF!important}.ui.simple.dropdown .menu:after,.ui.simple.dropdown .menu:before{display:none}.ui.simple.dropdown .menu{display:block;overflow:hidden;top:-9999px!important;position:absolute;opacity:0;width:0;height:0;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown:hover>.menu .item:hover>.menu,.ui.simple.dropdown>.menu .item:active>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.selection.dropdown{cursor:pointer;display:inline-block;word-wrap:break-word;white-space:normal;background-color:#FFF;padding:.65em 1em;line-height:1.33;color:rgba(0,0,0,.8);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;box-shadow:0 0 0 1px rgba(0,0,0,.1)!important;border-radius:.3125em!important}.ui.selection.dropdown select{display:none}.ui.selection.dropdown>.dropdown.icon{opacity:.7;margin:.2em 0 .2em 1.25em;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.ui.selection.dropdown,.ui.selection.dropdown .menu{-webkit-transition:-webkit-box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out}.ui.selection.dropdown .menu{top:100%;max-height:312px;overflow-x:hidden;overflow-y:auto;-webkit-box-shadow:0 1px 0 1px #E0E0E0;box-shadow:0 1px 0 1px #E0E0E0;border-radius:0 0 .325em .325em}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu img{height:2.5em;display:inline-block;vertical-align:middle;margin-right:.5em}.ui.selection.dropdown.error,.ui.selection.dropdown.error .item{background-color:snow;color:#D95C5C}.ui.selection.dropdown.error{-webkit-box-shadow:0 0 0 1px #e7bebe!important;box-shadow:0 0 0 1px #e7bebe!important}.ui.selection.dropdown.error .menu{-webkit-box-shadow:0 1px 0 1px #E7BEBE;box-shadow:0 1px 0 1px #E7BEBE;border-radius:0 0 .325em .325em}.ui.selection.dropdown.error .menu .active.item{background-color:#FDCFCF!important}.ui.selection.dropdown:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2)!important;box-shadow:0 0 0 1px rgba(0,0,0,.2)!important}.ui.selection.dropdown:hover .menu{-webkit-box-shadow:0 1px 0 1px #D3D3D3;box-shadow:0 1px 0 1px #D3D3D3}.ui.selection.dropdown:hover>.dropdown.icon{opacity:1}.ui.selection.dropdown.error:hover{-webkit-box-shadow:0 0 0 1px #e7bebe!important;box-shadow:0 0 0 1px #e7bebe!important}.ui.selection.dropdown.error:hover .menu{-webkit-box-shadow:0 1px 0 1px #E7BEBE;box-shadow:0 1px 0 1px #E7BEBE}.ui.selection.dropdown.error .menu .item.selected,.ui.selection.dropdown.error .menu .item:hover{background-color:#FFF2F2}.ui.visible.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.active.selection.dropdown{border-radius:.3125em .3125em 0 0!important}.ui.active.selection.dropdown>.dropdown.icon{opacity:1}.ui.fluid.dropdown{display:block}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .5em 0 .25em}.ui.inline.dropdown .text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.25em;border-radius:.325em}.ui.floating.dropdown .menu{left:0;right:auto;margin-top:.5em!important;border-radius:.325em}.ui.pointing.dropdown .menu{top:100%;margin-top:.75em;border-radius:.325em}.ui.pointing.dropdown .menu:after{display:block;position:absolute;pointer-events:none;content:" ";visibility:visible;width:.5em;height:.5em;-webkit-box-shadow:-1px -1px 0 1px rgba(0,0,0,.05);box-shadow:-1px -1px 0 1px rgba(0,0,0,.05);background-image:none;background-color:#FFF;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:12}.ui.pointing.dropdown .menu .active.item:first-child{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.03));background:-moz-linear-gradient(transparent,rgba(0,0,0,.03));background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.03)));background:linear-gradient(transparent,rgba(0,0,0,.03))}.ui.pointing.dropdown .menu:after{top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown .menu{top:100%;bottom:auto;left:0;right:auto;margin:.75em 0 0}.ui.top.left.pointing.dropdown .menu:after{top:-.25em;left:1.25em;right:auto;margin:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ui.top.right.pointing.dropdown .menu{top:100%;bottom:auto;right:0;left:auto;margin:.75em 0 0}.ui.top.right.pointing.dropdown .menu:after{top:-.25em;left:auto;right:1.25em;margin:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ui.left.pointing.dropdown .menu{top:0;left:100%;right:auto;margin:0 0 0 .75em}.ui.left.pointing.dropdown .menu:after{top:1em;left:-.25em;margin:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.right.pointing.dropdown .menu{top:0;left:auto;right:100%;margin:0 .75em 0 0}.ui.right.pointing.dropdown .menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.ui.modal{display:none;position:fixed;z-index:1001;top:50%;left:50%;text-align:left;width:90%;margin-left:-45%;background-color:#FFF;border:1px solid #DDD;border-radius:5px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.modal>.close{cursor:pointer;position:absolute;z-index:1;opacity:.8;font-size:1.25em;top:-1.75em;right:-1.75em;color:#FFF}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{margin:0;padding:1.5rem 2rem;font-size:1.6em;font-weight:700;border-radius:.325em .325em 0 0}.ui.modal>.content{display:table;width:100%;position:relative;padding:2em;background-color:#F4F4F4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.modal>.content>.left:not(.ui){display:table-cell;padding-right:1.5%;min-width:25%}.ui.modal>.content>.right:not(.ui){display:table-cell;padding-left:1.5%;vertical-align:top}.ui.modal>.content>.left:not(.ui)>i.icon{font-size:8em;margin:0}.ui.modal>.content p{line-height:1.6}.ui.modal .actions{padding:1rem 2rem;text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:768px){.ui.modal .content>.left:not(.ui){display:block;padding:0 0 1em}.ui.modal .content>.right:not(.ui){display:block;padding:1em 0 0;-webkit-box-shadow:none;box-shadow:none}.ui.modal .content .image{width:auto!important;max-width:100%}.ui.modal .actions{padding-bottom:0}.ui.modal .actions>.button,.ui.modal .actions>.buttons{margin-bottom:1em}}@media only screen and (max-width:998px){.ui.modal{width:92%;margin-left:-46%}.ui.modal>.close{color:rgba(0,0,0,.8);top:1.5rem;right:1rem}}@media only screen and (min-width:998px){.ui.modal{width:74%;margin-left:-37%}}@media only screen and (min-width:1500px){.ui.modal{width:56%;margin-left:-28%}}@media only screen and (min-width:1750px){.ui.modal{width:42%;margin-left:-21%}}@media only screen and (min-width:2000px){.ui.modal{width:36%;margin-left:-18%}}.ui.basic.modal{background-color:transparent;border:none;color:#FFF}.ui.basic.modal>.close{top:1.5rem;right:1rem}.ui.basic.modal .content{background-color:transparent}.ui.modal.scrolling{position:absolute;margin-top:10px}.ui.active.modal{display:block}.ui.small.modal>.header{font-size:1.3em}@media only screen and (min-width:998px){.ui.small.modal{width:58%;margin-left:-29%}}@media only screen and (min-width:1500px){.ui.small.modal{width:40%;margin-left:-20%}}@media only screen and (min-width:1750px){.ui.small.modal{width:26%;margin-left:-13%}}@media only screen and (min-width:2000px){.ui.small.modal{width:20%;margin-left:-10%}}@media only screen and (min-width:998px){.ui.large.modal{width:74%;margin-left:-37%}}@media only screen and (min-width:1500px){.ui.large.modal{width:64%;margin-left:-32%}}@media only screen and (min-width:1750px){.ui.large.modal{width:54%;margin-left:-27%}}@media only screen and (min-width:2000px){.ui.large.modal{width:44%;margin-left:-22%}}.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:101;min-height:0;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0;line-height:3em;padding:0 1em;background-color:#555;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1em;text-align:center;color:rgba(255,255,255,.8);border-radius:0 0 5px 5px;-webkit-transition:.2s background;-moz-transition:.2s background;transition:.2s background}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#FFF}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;margin-top:-.5em;color:#FFF;-webkit-transition:.1s opacity;-moz-transition:.1s opacity;transition:.1s opacity}.ui.nag .close:hover,.ui.nag:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag{border-radius:5px 5px 0 0}.ui.fixed.bottom.nag,.ui.fixed.bottom.nags{top:auto;bottom:0}.ui.white.nag,.ui.white.nags .nag{background-color:#F1F1F1;text-shadow:0 1px 0 rgba(255,255,255,.8);color:#ACACAC}.ui.white.nag .close,.ui.white.nag .title,.ui.white.nags .nag .close,.ui.white.nags .nag .title{color:#333}.ui.nags .nag{border-radius:0}.ui.popup{display:none;position:absolute;top:0;right:0;z-index:900;border:1px solid rgba(0,0,0,.1);max-width:250px;background-color:#FFF;padding:.8em 1.2em;font-size:.875rem;font-weight:400;font-style:normal;color:rgba(0,0,0,.7);border-radius:.2em;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.ui.popup .header{padding:0 0 .5em;font-size:1.125em;line-height:1.2;font-weight:700}.ui.popup:before{position:absolute;content:"";width:.75em;height:.75rem;background-image:none;background-color:#FFF;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.1);box-shadow:1px 1px 1px rgba(0,0,0,.1)}.ui.popup .ui.button{width:100%}.ui.popup{margin:0}.ui.popup.bottom{margin:.75em 0 0}.ui.popup.top{margin:0 0 .75em}.ui.popup.left.center{margin:0 .75em 0 0}.ui.popup.right.center{margin:0 0 0 .75em}.ui.popup.center{margin-left:-1.25em}.ui.bottom.center.popup:before{margin-left:-.4em;top:-.4em;left:50%;right:auto;bottom:auto;-webkit-box-shadow:-1px -1px 1px rgba(0,0,0,.2);box-shadow:-1px -1px 1px rgba(0,0,0,.2)}.ui.bottom.left.popup{margin-right:-2em}.ui.bottom.left.popup:before{top:-.4em;right:1em;bottom:auto;left:auto;margin-left:0;-webkit-box-shadow:-1px -1px 1px rgba(0,0,0,.2);box-shadow:-1px -1px 1px rgba(0,0,0,.2)}.ui.bottom.right.popup{margin-left:-2em}.ui.bottom.right.popup:before{top:-.4em;left:1em;right:auto;bottom:auto;margin-left:0;-webkit-box-shadow:-1px -1px 1px rgba(0,0,0,.2);box-shadow:-1px -1px 1px rgba(0,0,0,.2)}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.4em;left:50%;margin-left:-.4em}.ui.top.left.popup{margin-right:-2em}.ui.top.left.popup:before{bottom:-.4em;right:1em;top:auto;left:auto;margin-left:0}.ui.top.right.popup{margin-left:-2em}.ui.top.right.popup:before{bottom:-.4em;left:1em;top:auto;right:auto;margin-left:0}.ui.left.center.popup:before{top:50%;right:-.35em;bottom:auto;left:auto;margin-top:-.4em;-webkit-box-shadow:1px -1px 1px rgba(0,0,0,.2);box-shadow:1px -1px 1px rgba(0,0,0,.2)}.ui.right.center.popup:before{top:50%;left:-.35em;bottom:auto;right:auto;margin-top:-.4em;-webkit-box-shadow:-1px 1px 1px rgba(0,0,0,.2);box-shadow:-1px 1px 1px rgba(0,0,0,.2)}.ui.loading.popup{display:block;visibility:hidden}.ui.animating.popup,.ui.visible.popup{display:block}.ui.small.popup{font-size:.75rem}.ui.large.popup{font-size:1rem}.ui.inverted.popup{background-color:#333;border:none;color:#FFF;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.popup .header{background-color:rgba(0,0,0,.2);color:#FFF}.ui.inverted.popup:before{background-color:#333;-webkit-box-shadow:none;box-shadow:none}.ui.rating{display:inline-block;font-size:0;vertical-align:middle;margin:0 .5rem 0 0}.ui.rating:last-child{margin-right:0}.ui.rating:before{display:block;content:'';visibility:hidden;clear:both;height:0}.ui.rating .icon{cursor:pointer;margin:0;width:1em;height:auto;padding:0;color:rgba(0,0,0,.15);font-weight:400;font-style:normal}.ui.rating .icon:before{content:"\2605"}.ui.star.rating .icon{width:1.2em}.ui.star.rating .icon:before{content:'\f006';font-family:Icons}.ui.star.rating .active.icon:before{content:'\f005';font-family:Icons}.ui.heart.rating .icon{width:1.2em}.ui.heart.rating .icon:before{content:'\f08a';font-family:Icons}.ui.heart.rating .active.icon:before{content:'\f004';font-family:Icons}.ui.heart.rating .active.icon{color:#EF404A!important}.ui.heart.rating .active.hover.icon,.ui.heart.rating .hover.icon{color:#FF2733!important}.ui.disabled.rating .icon{cursor:default}.ui.rating .active.icon{color:#FFCB08!important}.ui.rating.hover .active.icon{opacity:.5}.ui.rating .icon.hover,.ui.rating .icon.hover.active{opacity:1;color:#FFB70A!important}.ui.small.rating .icon{font-size:.75rem}.ui.rating .icon{font-size:1rem}.ui.large.rating .icon{font-size:1.5rem;vertical-align:middle}.ui.huge.rating .icon{font-size:2rem;vertical-align:middle}.ui.search{position:relative;text-shadow:none;font-style:normal;font-weight:400}.ui.search input{border-radius:500rem}.ui.search>.button{position:relative;z-index:2;float:right;margin:0 0 0 -15px;padding:6px 15px 7px;border-radius:0 15px 15px 0;-webkit-box-shadow:none;box-shadow:none}.ui.search .results{display:none;position:absolute;z-index:999;top:100%;left:0;overflow:hidden;background-color:#FFF;margin-top:.5em;width:380px;font-size:.875em;line-height:1.2;color:#555;border-radius:3px;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,.1),0 -2px 0 0 rgba(0,0,0,.1) inset;box-shadow:0 0 1px 1px rgba(0,0,0,.1),0 -2px 0 0 rgba(0,0,0,.1) inset}.ui.search .result{cursor:pointer;overflow:hidden;padding:.5em 1em}.ui.search .result:first-child{border-top:none}.ui.search .result .image{background:#F0F0F0;margin-right:10px;float:left;overflow:hidden;border-radius:3px;width:38px;height:38px}.ui.search .result .image img{display:block;width:38px;height:38px}.ui.search .result .image~.info{float:none;margin-left:50px}.ui.search .result .info{float:left}.ui.search .result .title{font-weight:700;color:rgba(0,0,0,.8)}.ui.search .result .description{color:rgba(0,0,0,.6)}.ui.search .result .price{float:right;color:#5BBD72;font-weight:700}.ui.search .message{padding:1em}.ui.search .message .text .title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:rgba(0,0,0,.8)}.ui.search .message .text .description{margin:0;font-size:1rem;color:rgba(0,0,0,.5)}.ui.search .results .category{background-color:#FAFAFA;border-top:1px solid rgba(0,0,0,.1);-webkit-transition:background .2s ease-in;-moz-transition:background .2s ease-in;transition:background .2s ease-in}.ui.search .results .category:first-child{border-top:none}.ui.search .results .category>.name{float:left;padding:12px 0 0 8px;font-weight:700;color:#777;text-shadow:0 1px 0 rgba(255,255,255,.8)}.ui.search .results .category .result{background-color:#FFF;margin-left:80px;border-left:1px solid rgba(0,0,0,.1)}.ui.search .all{display:block;border-top:1px solid rgba(0,0,0,.1);background-color:#FAFAFA;height:2em;line-height:2em;color:rgba(0,0,0,.6);font-weight:700;text-align:center}.ui.search .category .result:hover,.ui.search .result:hover{background-color:#F8F8F8}.ui.search .all:hover{background-color:#F0F0F0}.ui.search.loading .input .icon{background:url(/static/ca279c55a51ab2641c4712a333633581.gif) 50% 50% no-repeat}.ui.search.loading .input .icon:after,.ui.search.loading .input .icon:before{display:none}.ui.search .results .category.active{background-color:#F1F1F1}.ui.search .results .category.active>.name{color:#333}.ui.search .category .result.active,.ui.search .result.active{background-color:#FBFBFB}.ui.search .result.active .title{color:#000}.ui.search .result.active .description{color:#555}.ui.search .large.result .image,.ui.search .large.result .image img{width:50px;height:50px}.ui.search .large.results .indented.info{margin-left:65px}.ui.search .large.results .info .title{font-size:16px}.ui.search .large.results .info .description{font-size:11px}.ui.shape{display:inline-block;position:relative;-webkit-perspective:2000px;-moz-perspective:2000px;-ms-perspective:2000px;perspective:2000px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.shape .sides{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;display:none}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#E6E6E6;color:rgba(0,0,0,.6);-webkit-box-shadow:0 0 2px rgba(0,0,0,.3);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;z-index:100}.ui.shape .hidden.side{opacity:.4}.ui.shape.animating{-webkit-transition:all .6s ease-in-out;-moz-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.ui.shape.animating .sides{position:absolute;-webkit-transition:all .6s ease-in-out;-moz-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.ui.shape.animating .side{-webkit-transition:opacity .6s ease-in-out;-moz-transition:opacity .6s ease-in-out;transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}body{-webkit-transition:margin .3s ease,-webkit-transform .3s ease;-moz-transition:margin .3s ease,-moz-transform .3s ease;transition:margin .3s ease,transform .3s ease}.ui.sidebar{position:fixed;margin:0!important;height:100%!important;border-radius:0!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-ms-overflow-y:auto;overflow-y:auto;top:0;left:0;z-index:999;-webkit-transition:margin-left .3s ease,margin-top .3s ease;-moz-transition:margin-left .3s ease,margin-top .3s ease;transition:margin-left .3s ease,margin-top .3s ease}body.pushed.scrolling.ui.dimmable{position:static}.ui.right.sidebar,.ui.right.thin.sidebar,.ui.right.very.thin.sidebar,.ui.right.very.wide.sidebar,.ui.right.wide.sidebar{left:100%;margin:0!important}.ui.top.sidebar{width:100%!important}.ui.bottom.sidebar{width:100%!important;top:100%;margin:0!important}.ui.active.bottom.sidebar,.ui.active.top.sidebar{margin-top:0!important}.ui.styled.sidebar{padding:1em 1.5em;background-color:#FFF;-webkit-box-shadow:1px 0 0 rgba(0,0,0,.1);box-shadow:1px 0 0 rgba(0,0,0,.1)}.ui.styled.very.thin.sidebar{padding:.5em}.ui.styled.thin.sidebar{padding:1em}.ui.floating.sidebar{-webkit-box-shadow:2px 0 2px rgba(0,0,0,.2);box-shadow:2px 0 2px rgba(0,0,0,.2)}.ui.right.floating.sidebar{-webkit-box-shadow:-2px 0 2px rgba(0,0,0,.2);box-shadow:-2px 0 2px rgba(0,0,0,.2)}.ui.top.floating.sidebar{-webkit-box-shadow:0 4px 4px rgba(0,0,0,.2);box-shadow:0 4px 4px rgba(0,0,0,.2)}.ui.bottom.floating.sidebar{-webkit-box-shadow:0 -4px 4px rgba(0,0,0,.2);box-shadow:0 -4px 4px rgba(0,0,0,.2)}.ui.very.thin.sidebar{width:60px!important;margin-left:-60px!important}.ui.active.very.thin.sidebar{margin-left:0!important}.ui.active.right.very.thin.sidebar{margin-left:-60px!important}.ui.thin.sidebar{width:200px!important;margin-left:-200px!important}.ui.active.thin.sidebar{margin-left:0!important}.ui.active.right.thin.sidebar{margin-left:-200px!important}.ui.sidebar{width:275px!important;margin-left:-275px!important}.ui.active.sidebar{margin-left:0!important}.ui.active.right.sidebar{margin-left:-275px!important}.ui.wide.sidebar{width:350px!important;margin-left:-350px!important}.ui.active.wide.sidebar{margin-left:0!important}.ui.active.right.wide.sidebar{margin-left:-350px!important}.ui.very.wide.sidebar{width:475px!important;margin-left:-475px!important}.ui.active.very.wide.sidebar{margin-left:0!important}.ui.active.right.very.wide.sidebar{margin-left:-475px!important}.ui.top.sidebar{margin:-40px 0 0!important}.ui.bottom.sidebar,.ui.top.sidebar{height:40px!important}.ui.active.bottom.sidebar{margin-top:-40px!important}.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px;text-indent:-10000px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading:after{position:absolute;top:50px;left:50%;content:'Loading...';margin-left:-32px;text-indent:5px;color:rgba(0,0,0,.4);width:100%;height:100%;padding-top:75px;background:url(/static/9af25aaeb6ca6d08d213b04841813eb5.gif) no-repeat;visibility:visible}.ui.transition{-webkit-animation-iteration-count:1;-moz-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease;-moz-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both}.ui.animating.transition{display:block;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);transform:translateZ(0)}.ui.loading.transition{position:absolute;top:-999999px;left:-99999px}.ui.hidden.transition{display:none!important}.ui.visible.transition{display:block;visibility:visible}.ui.disabled.transition{-webkit-animation-play-state:paused;-moz-animation-play-state:paused;animation-play-state:paused}.ui.looping.transition{-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;animation-iteration-count:infinite}.ui.flash.transition{-webkit-animation-name:flash;-moz-animation-name:flash;animation-name:flash}.ui.shake.transition{-webkit-animation-name:shake;-moz-animation-name:shake;animation-name:shake}.ui.bounce.transition{-webkit-animation-name:bounce;-moz-animation-name:bounce;animation-name:bounce}.ui.tada.transition{-webkit-animation-name:tada;-moz-animation-name:tada;animation-name:tada}.ui.pulse.transition{-webkit-animation-name:pulse;-moz-animation-name:pulse;animation-name:pulse}.ui.flip.transition.in,.ui.flip.transition.out{-webkit-perspective:2000px;-moz-perspective:2000px;perspective:2000px}.ui.horizontal.flip.transition.in,.ui.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlip;-moz-animation-name:horizontalFlip;animation-name:horizontalFlip}.ui.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlipOut;-moz-animation-name:horizontalFlipOut;animation-name:horizontalFlipOut}.ui.vertical.flip.transition.in,.ui.vertical.flip.transition.out{-webkit-animation-name:verticalFlip;-moz-animation-name:verticalFlip;animation-name:verticalFlip}.ui.vertical.flip.transition.out{-webkit-animation-name:verticalFlipOut;-moz-animation-name:verticalFlipOut;animation-name:verticalFlipOut}.ui.fade.transition.in{-webkit-animation-name:fade;-moz-animation-name:fade;animation-name:fade}.ui.fade.transition.out{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;animation-name:fadeOut}.ui.fade.up.transition.in{-webkit-animation-name:fadeUp;-moz-animation-name:fadeUp;animation-name:fadeUp}.ui.fade.up.transition.out{-webkit-animation-name:fadeUpOut;-moz-animation-name:fadeUpOut;animation-name:fadeUpOut}.ui.fade.down.transition.in{-webkit-animation-name:fadeDown;-moz-animation-name:fadeDown;animation-name:fadeDown}.ui.fade.down.transition.out{-webkit-animation-name:fadeDownOut;-moz-animation-name:fadeDownOut;animation-name:fadeDownOut}.ui.fade.left.transition.in{-webkit-animation-name:fadeLeft;-moz-animation-name:fadeLeft;animation-name:fadeLeft}.ui.fade.left.transition.out{-webkit-animation-name:fadeLeftOut;-moz-animation-name:fadeLeftOut;animation-name:fadeLeftOut}.ui.fade.right.transition.in{-webkit-animation-name:fadeRight;-moz-animation-name:fadeRight;animation-name:fadeRight}.ui.fade.right.transition.out{-webkit-animation-name:fadeRightOut;-moz-animation-name:fadeRightOut;animation-name:fadeRightOut}.ui.scale.transition.in{-webkit-animation-name:scale;-moz-animation-name:scale;animation-name:scale}.ui.scale.transition.out{-webkit-animation-name:scaleOut;-moz-animation-name:scaleOut;animation-name:scaleOut}.ui.slide.down.transition.in{-webkit-animation-name:slide;-moz-animation-name:slide;animation-name:slide;-moz-transform-origin:50% 0;transform-origin:50% 0;-ms-transform-origin:50% 0;-webkit-transform-origin:50% 0}.ui.slide.down.transition.out{-webkit-animation-name:slideOut;-moz-animation-name:slideOut;animation-name:slideOut;-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}.ui.slide.up.transition.in{-webkit-animation-name:slide;-moz-animation-name:slide;animation-name:slide;-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.ui.slide.up.transition.out{-webkit-animation-name:slideOut;-moz-animation-name:slideOut;animation-name:slideOut;-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}@-webkit-keyframes slide{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@-moz-keyframes slide{0%{opacity:0;-moz-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-moz-transform:scaleY(1);transform:scaleY(1)}}@keyframes slide{0%{opacity:0;-webkit-transform:scaleY(0);-moz-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);-moz-transform:scaleY(1);transform:scaleY(1)}}@-webkit-keyframes slideOut{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@-moz-keyframes slideOut{0%{opacity:1;-moz-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-moz-transform:scaleY(0);transform:scaleY(0)}}@keyframes slideOut{0%{opacity:1;-webkit-transform:scaleY(1);-moz-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);-moz-transform:scaleY(0);transform:scaleY(0)}}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-moz-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-moz-transform:translateX(10px);transform:translateX(10px)}}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@-moz-keyframes bounce{0%,100%,20%,50%,80%{-moz-transform:translateY(0);transform:translateY(0)}40%{-moz-transform:translateY(-30px);transform:translateY(-30px)}60%{-moz-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);-moz-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);-moz-transform:translateY(-15px);transform:translateY(-15px)}}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1);transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);-moz-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);-moz-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);-moz-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);-moz-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(0.9);transform:scale(0.9);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-moz-keyframes pulse{0%{-moz-transform:scale(1);transform:scale(1);opacity:1}50%{-moz-transform:scale(0.9);transform:scale(0.9);opacity:.7}100%{-moz-transform:scale(1);transform:scale(1);opacity:1}}@keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(0.9);-moz-transform:scale(0.9);transform:scale(0.9);opacity:.7}100%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes horizontalFlip{0%{-webkit-transform:rotateY(-90deg);transform:rotateY(-90deg);opacity:0}100%{-webkit-transform:rotateY(0deg);transform:rotateY(0deg);opacity:1}}@-moz-keyframes horizontalFlip{0%{-moz-transform:rotateY(-90deg);transform:rotateY(-90deg);opacity:0}100%{-moz-transform:rotateY(0deg);transform:rotateY(0deg);opacity:1}}@keyframes horizontalFlip{0%{-webkit-transform:rotateY(-90deg);-moz-transform:rotateY(-90deg);transform:rotateY(-90deg);opacity:0}100%{-webkit-transform:rotateY(0deg);-moz-transform:rotateY(0deg);transform:rotateY(0deg);opacity:1}}@-webkit-keyframes horizontalFlipOut{0%{-webkit-transform:rotateY(0deg);transform:rotateY(0deg);opacity:1}100%{-webkit-transform:rotateY(90deg);transform:rotateY(90deg);opacity:0}}@-moz-keyframes horizontalFlipOut{0%{-moz-transform:rotateY(0deg);transform:rotateY(0deg);opacity:1}100%{-moz-transform:rotateY(90deg);transform:rotateY(90deg);opacity:0}}@keyframes horizontalFlipOut{0%{-webkit-transform:rotateY(0deg);-moz-transform:rotateY(0deg);transform:rotateY(0deg);opacity:1}100%{-webkit-transform:rotateY(90deg);-moz-transform:rotateY(90deg);transform:rotateY(90deg);opacity:0}}@-webkit-keyframes verticalFlip{0%{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);opacity:0}100%{-webkit-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}}@-moz-keyframes verticalFlip{0%{-moz-transform:rotateX(-90deg);transform:rotateX(-90deg);opacity:0}100%{-moz-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}}@keyframes verticalFlip{0%{-webkit-transform:rotateX(-90deg);-moz-transform:rotateX(-90deg);transform:rotateX(-90deg);opacity:0}100%{-webkit-transform:rotateX(0deg);-moz-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}}@-webkit-keyframes verticalFlipOut{0%{-webkit-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}100%{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);opacity:0}}@-moz-keyframes verticalFlipOut{0%{-moz-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}100%{-moz-transform:rotateX(-90deg);transform:rotateX(-90deg);opacity:0}}@keyframes verticalFlipOut{0%{-webkit-transform:rotateX(0deg);-moz-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}100%{-webkit-transform:rotateX(-90deg);-moz-transform:rotateX(-90deg);transform:rotateX(-90deg);opacity:0}}@-webkit-keyframes fade{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fade{0%{opacity:0}100%{opacity:1}}@keyframes fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-moz-keyframes fadeUp{0%{opacity:0;-moz-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeUpOut{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@-moz-keyframes fadeUpOut{0%{opacity:1;-moz-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px);transform:translateY(20px)}}@keyframes fadeUpOut{0%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);transform:translateY(20px)}}@-webkit-keyframes fadeDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-moz-keyframes fadeDown{0%{opacity:0;-moz-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0);transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;-webkit-transform:translateY(-20px);-moz-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeDownOut{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@-moz-keyframes fadeDownOut{0%{opacity:1;-moz-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes fadeDownOut{0%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);-moz-transform:translateY(-20px);transform:translateY(-20px)}}@-webkit-keyframes fadeLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-moz-keyframes fadeLeft{0%{opacity:0;-moz-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-moz-transform:translateX(0);transform:translateX(0)}}@keyframes fadeLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeLeftOut{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}}@-moz-keyframes fadeLeftOut{0%{opacity:1;-moz-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-20px);transform:translateX(-20px)}}@keyframes fadeLeftOut{0%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}}@-webkit-keyframes fadeRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-moz-keyframes fadeRight{0%{opacity:0;-moz-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-moz-transform:translateX(0);transform:translateX(0)}}@keyframes fadeRight{0%{opacity:0;-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeRightOut{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}}@-moz-keyframes fadeRightOut{0%{opacity:1;-moz-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(20px);transform:translateX(20px)}}@keyframes fadeRightOut{0%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}}@-webkit-keyframes scale{0%{opacity:0;-webkit-transform:scale(0.7);transform:scale(0.7)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-moz-keyframes scale{0%{opacity:0;-moz-transform:scale(0.7);transform:scale(0.7)}100%{opacity:1;-moz-transform:scale(1);transform:scale(1)}}@keyframes scale{0%{opacity:0;-webkit-transform:scale(0.7);-moz-transform:scale(0.7);transform:scale(0.7)}100%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0.7);transform:scale(0.7)}}@-moz-keyframes scaleOut{0%{opacity:1;-moz-transform:scale(1);transform:scale(1)}100%{opacity:0;-moz-transform:scale(0.7);transform:scale(0.7)}}@keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0.7);-moz-transform:scale(0.7);transform:scale(0.7)}}.ui.video{position:relative;max-width:100%}.ui.video .placeholder{background-color:#333}.ui.video .play{cursor:pointer;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;transition:opacity .3s}.ui.video .play.icon:before{position:absolute;top:50%;left:50%;z-index:11;font-size:6rem;margin:-3rem 0 0 -3rem;color:#FFF;text-shadow:0 3px 3px rgba(0,0,0,.4)}.ui.video .placeholder{display:block;width:100%;height:100%}.ui.video .embed{display:none}.ui.video .play:hover{opacity:1}.ui.video.active .placeholder,.ui.video.active .play{display:none}.ui.video.active .embed{display:block}.ui.comments a{cursor:pointer}.ui.comments .comment{position:relative;margin-top:.5em;padding-top:.5em}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .avatar{display:block;float:left;width:4em}.ui.comments .comment .avatar img{display:block;margin:0 auto;width:3em;height:3em;border-radius:500px}.ui.comments .comment>.avatar,.ui.comments .comment>.content{display:block}.ui.comments .comment .avatar~.content{padding:0 1em}.ui.comments .comment>.avatar~.content{padding-top:.25em;margin-left:3.5em}.ui.comments .comment .metadata{display:inline-block;margin-left:.3em;color:rgba(0,0,0,.4)}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .3em 0 0}.ui.comments .comment .text{margin:.25em 0 .5em;word-wrap:break-word}.ui.comments .comment .actions{font-size:.9em}.ui.comments .comment .actions a{display:inline-block;margin:0 .3em 0 0;color:rgba(0,0,0,.3)}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.6)}.ui.comments .reply.form{margin-top:.75em;width:100%;max-width:30em}.ui.comments .comment .reply.form{margin-left:2em}.ui.comments>.reply.form{margin-top:1.5em;max-width:40em}.ui.comments .reply.form textarea{height:12em}.ui.comments .comment .comments{margin-top:.5em;padding-top:.5em;padding-bottom:1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments>.comment .comments{margin-left:2em}.ui.comments>.comment>.comments>.comment>.comments{margin-left:1.75em}.ui.comments>.comment>.comments>.comment>.comments>.comment>.comments{margin-left:1.5em}.ui.comments>.comment>.comments>.comment>.comments>.comment>.comments>.comment .comments{margin-left:.5em}.ui.threaded.comments .comment .comments{margin-left:2em!important;padding-left:2em!important;-webkit-box-shadow:-1px 0 0 rgba(0,0,0,.05);box-shadow:-1px 0 0 rgba(0,0,0,.05)}.ui.minimal.comments .comment .actions{opacity:0;-webkit-transition:opacity .1s ease-out;-moz-transition:opacity .1s ease-out;transition:opacity .1s ease-out;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.small.comments{font-size:.875em}.ui.feed a{cursor:pointer}.ui.feed,.ui.feed .content,.ui.feed .event,.ui.feed .extra,.ui.feed .label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.feed .event{width:100%;display:table}.ui.feed .event:first-child{border-top:0}.ui.feed .event:last-child{margin-bottom:1em}.ui.feed .label{width:3em;display:table-cell;vertical-align:top;text-align:left}.ui.feed .label .icon{font-size:1.5em;padding:.5em;margin:0}.ui.feed .label img{width:3em;margin:0;border-radius:50em}.ui.feed .label+.content{padding:.75em 1em 0}.ui.feed .content{display:table-cell;vertical-align:top;text-align:left;word-wrap:break-word}.ui.feed .content .date{float:right;padding-left:1em;color:rgba(0,0,0,.4)}.ui.feed .content .summary{color:rgba(0,0,0,.75)}.ui.feed .content .summary img{display:inline-block;margin-right:.25em;width:4em;border-radius:500px}.ui.feed .content .extra{margin:1em 0 0;padding:.5em 0 0;color:rgba(0,0,0,.5)}.ui.feed .content .extra.images img{display:inline-block;margin-right:.25em;width:6em}.ui.feed .content .extra.text{padding:.5em 1em;border-left:.2em solid rgba(0,0,0,.1)}.ui.small.feed{font-size:.875em}.ui.small.feed .label img{width:2.5em}.ui.small.feed .label .icon{font-size:1.25em}.ui.feed .event{padding:.75em 0}.ui.small.feed .label+.content{padding:.5em .5em 0}.ui.small.feed .content .extra.images img{width:5em}.ui.small.feed .content .extra{margin:.5em 0 0}.ui.small.feed .content .extra.text{padding:.25em .5em}.ui.items{margin:1em 0 0}.ui.items:first-child{margin-top:0}.ui.items:last-child{margin-bottom:-1em}.ui.items:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item,.ui.items>.row>.item{display:block;float:left;position:relative;top:0;width:316px;min-height:375px;margin:0 .5em 2.5em;background-color:#FFF;line-height:1.2;font-size:1em;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);border-bottom:.2em solid rgba(0,0,0,.2);border-radius:.33em;-webkit-transition:-webkit-box-shadow .2s ease;-moz-transition:box-shadow .2s ease;transition:box-shadow .2s ease;padding:.5em}.ui.items .item a,.ui.items a.item{cursor:pointer}.ui.items .item,.ui.items .item>.content,.ui.items .item>.content>.extra,.ui.items .item>.content>.meta,.ui.items .item>.image,.ui.items .item>.image .overlay{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.items .item>.image{display:block;position:relative;background-color:rgba(0,0,0,.05);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:.2em}.ui.items .item>.image>img{display:block;width:100%}.ui.items .item>.content{padding:.75em .5em}.ui.items .item>.content>.name{display:block;font-size:1.25em;font-weight:700;margin-bottom:.2em;color:rgba(0,0,0,.7)}.ui.items .item>.content>.description{clear:both;margin:0;color:rgba(0,0,0,.45)}.ui.items .item>.content>.description p{margin:0 0 .2em}.ui.items .item>.content>.description p:last-child{margin-bottom:0}.ui.items .item .meta{float:right;color:rgba(0,0,0,.35)}.ui.items .item>.content>.meta+.name{float:left}.ui.items .item .star.label:hover::after{border-right-color:#F6EFC3;border-top-color:#F6EFC3}.ui.items .item .star.label:hover .icon{color:#ac9400}.ui.items .item .star.label.active::after{border-right-color:#F6EFC3;border-top-color:#F6EFC3}.ui.items .item .star.label.active .icon{color:#ac9400}.ui.items .item .like.label:hover::after{border-right-color:#F5E1E2}.ui.items .item .like.label:hover .icon{color:#ef404a}.ui.items .item .like.label.active::after{border-right-color:#F5E1E2;border-top-color:#F5E1E2}.ui.items .item .like.label.active .icon{color:#ef404a}.ui.items .item .extra{position:absolute;width:100%;padding:0 .5em;bottom:-2em;left:0;height:1.5em;color:rgba(0,0,0,.25);-webkit-transition:color .2s ease;-moz-transition:color .2s ease;transition:color .2s ease}.ui.items .item .extra>img{display:inline-block;border-radius:500px;margin-right:.25em;vertical-align:middle;width:2em}.ui.items .item .extra .left{float:left}.ui.items .item .extra .right{float:right}.ui.items .item:hover{cursor:pointer;z-index:5;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.ui.items .item:hover .extra{color:rgba(0,0,0,.5)}.ui.items .item:nth-of-type(6n+1):hover{border-bottom-color:#6ECFF5!important}.ui.items .item:nth-of-type(6n+2):hover{border-bottom-color:#5C6166!important}.ui.items .item:nth-of-type(6n+3):hover{border-bottom-color:#A1CF64!important}.ui.items .item:nth-of-type(6n+4):hover{border-bottom-color:#D95C5C!important}.ui.items .item:nth-of-type(6n+5):hover{border-bottom-color:#00B5AD!important}.ui.items .item:nth-of-type(6n+6):hover{border-bottom-color:#564F8A!important}.ui.connected.items{display:table;width:100%;margin-left:0!important;margin-right:0!important}.ui.connected.items>.item,.ui.connected.items>.row>.item{float:none;display:table-cell;vertical-align:top;height:auto;border-radius:0;margin:0;width:33.33%}.ui.connected.items>.row{display:table;margin:.5em 0}.ui.connected.items>.row:first-child{margin-top:0}.ui.connected.items>.item,.ui.connected.items>.row:last-child>.item{border-bottom:.2em solid rgba(0,0,0,.2)}.ui.connected.items>.item:first-child,.ui.connected.items>.row:last-child>.item:first-child{border-radius:0 0 0 .33em}.ui.connected.items>.item:last-child,.ui.connected.items>.row:last-child>.item:last-child{border-radius:0 0 .33em}.ui.connected.items .item:hover{border-bottom-width:.2em}.ui.one.connected.items>.item,.ui.one.connected.items>.row>.item{width:50%;padding-left:2%;padding-right:2%}.ui.two.connected.items>.item,.ui.two.connected.items>.row>.item{width:50%;padding-left:1%;padding-right:1%}.ui.three.connected.items>.item,.ui.three.connected.items>.row>.item{width:33.333%;padding-left:1%;padding-right:1%}.ui.four.connected.items>.item,.ui.four.connected.items>.row>.item{width:25%;padding-left:.5%;padding-right:.5%}.ui.five.connected.items>.item,.ui.five.connected.items>.row>.item{width:20%;padding-left:.5%;padding-right:.5%}.ui.six.connected.items>.item,.ui.six.connected.items>.row>.item{width:16.66%;padding-left:.5%;padding-right:.5%}.ui.seven.connected.items>.item,.ui.seven.connected.items>.row>.item{width:14.28%;padding-left:.5%;padding-right:.5%}.ui.eight.connected.items>.item,.ui.eight.connected.items>.row>.item{width:12.5%;padding-left:.25%;padding-right:.25%}.ui.nine.connected.items>.item,.ui.nine.connected.items>.row>.item{width:11.11%;padding-left:.25%;padding-right:.25%}.ui.ten.connected.items>.item,.ui.ten.connected.items>.row>.item{width:10%;padding-left:.2%;padding-right:.2%}.ui.eleven.connected.items>.item,.ui.eleven.connected.items>.row>.item{width:9.09%;padding-left:.2%;padding-right:.2%}.ui.twelve.connected.items>.item,.ui.twelve.connected.items>.row>.item{width:8.3333%;padding-left:.1%;padding-right:.1%}@media only screen and (max-width:768px){.ui.stackable.items{display:block!important}.ui.stackable.items>.item,.ui.stackable.items>.row>.item{display:block!important;height:auto!important;width:100%!important;padding:0!important}}.ui.horizontal.items>.item,.ui.items>.horizontal.item{display:table}.ui.horizontal.items>.item>.image,.ui.items>.horizontal.item>.image{display:table-cell;width:50%}.ui.horizontal.items>.item>.image+.content,.ui.items>.horizontal.item>.image+.content{width:50%;display:table-cell}.ui.horizontal.items>.item>.content,.ui.items>.horizontal.item>.content{padding:1% 1.7% 11% 3%;vertical-align:top}.ui.horizontal.items>.item>.meta,.ui.items>.horizontal.item>.meta{position:absolute;padding:0;bottom:7%;left:3%;width:94%}.ui.horizontal.items>.item>.image+.content+.meta,.ui.items>.horizontal.item>.image+.content+.meta{bottom:7%;left:53%;width:44%}.ui.horizontal.items>.item .avatar,.ui.items>.horizontal.item .avatar{width:11.5%}.ui.items>.item .avatar{max-width:25px}.ui.one.items{margin-left:-2%;margin-right:-2%}.ui.one.items>.item{width:100%;margin-left:2%;margin-right:2%}.ui.two.items{margin-left:-1%;margin-right:-1%}.ui.two.items>.item{width:48%;margin-left:1%;margin-right:1%}.ui.two.items>.item:nth-child(2n+1){clear:left}.ui.three.items{margin-left:-1%;margin-right:-1%}.ui.three.items>.item{width:31.333%;margin-left:1%;margin-right:1%}.ui.three.items>.item:nth-child(3n+1){clear:left}.ui.four.items{margin-left:-.5%;margin-right:-.5%}.ui.four.items>.item{width:24%;margin-left:.5%;margin-right:.5%}.ui.four.items>.item:nth-child(4n+1){clear:left}.ui.five.items{margin-left:-.5%;margin-right:-.5%}.ui.five.items>.item{width:19%;margin-left:.5%;margin-right:.5%}.ui.five.items>.item:nth-child(5n+1){clear:left}.ui.six.items{margin-left:-.5%;margin-right:-.5%}.ui.six.items>.item{width:15.66%;margin-left:.5%;margin-right:.5%}.ui.six.items>.item:nth-child(6n+1){clear:left}.ui.seven.items{margin-left:-.5%;margin-right:-.5%}.ui.seven.items>.item{width:13.28%;margin-left:.5%;margin-right:.5%;font-size:11px}.ui.seven.items>.item:nth-child(7n+1){clear:left}.ui.eight.items{margin-left:-.25%;margin-right:-.25%}.ui.eight.items>.item{width:12%;margin-left:.25%;margin-right:.25%;font-size:11px}.ui.eight.items>.item:nth-child(8n+1){clear:left}.ui.nine.items{margin-left:-.25%;margin-right:-.25%}.ui.nine.items>.item{width:10.61%;margin-left:.25%;margin-right:.25%;font-size:10px}.ui.nine.items>.item:nth-child(9n+1){clear:left}.ui.ten.items{margin-left:-.2%;margin-right:-.2%}.ui.ten.items>.item{width:9.6%;margin-left:.2%;margin-right:.2%;font-size:10px}.ui.ten.items>.item:nth-child(10n+1){clear:left}.ui.eleven.items{margin-left:-.2%;margin-right:-.2%}.ui.eleven.items>.item{width:8.69%;margin-left:.2%;margin-right:.2%;font-size:9px}.ui.eleven.items>.item:nth-child(11n+1){clear:left}.ui.twelve.items{margin-left:-.1%;margin-right:-.1%}.ui.twelve.items>.item{width:8.1333%;margin-left:.1%;margin-right:.1%;font-size:9px}.ui.twelve.items>.item:nth-child(12n+1){clear:left}.ui.list,ol.ui.list,ul.ui.list{list-style-type:none;margin:1em 0;padding:0}.ui.list .list,ol.ui.list ol,ul.ui.list ul{margin:0;padding:.5em 0 .5em 1em}.ui.list:first-child,ol.ui.list:first-child,ul.ui.list:first-child{margin-top:0}.ui.list:last-child,ol.ui.list:last-child,ul.ui.list:last-child{margin-bottom:0}.ui.list .item,ol.ui.list li,ul.ui.list li{display:list-item;list-style-type:none;list-style-position:inside;padding:.3em 0;line-height:1.2em}.ui.list .item:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .list{clear:both}.ui.list .item>.icon{display:block;float:left;margin:0 1em 0 0;padding:.1em 0 0}.ui.list .item>.icon:only-child{display:inline-block}.ui.horizontal.list .item>.icon{margin:0;padding:0 .25em 0 0}.ui.horizontal.list .item>.icon,.ui.horizontal.list .item>.icon+.content{float:none;display:inline-block}.ui.list .item>img{display:block;float:left;margin-right:1em;vertical-align:middle}.ui.list .item>.content{display:inline-block;vertical-align:middle;line-height:1.2em}.ui.list .item>.icon+.content{display:table-cell;vertical-align:top}.ui.list a{cursor:pointer}.ui.list a .icon{color:rgba(0,0,0,.6);-webkit-transition:color .2s ease;-moz-transition:color .2s ease;transition:color .2s ease}.ui.list .header{font-weight:700}.ui.list .description{color:rgba(0,0,0,.5)}.ui.list .item>.left.floated{margin-right:1em;float:left}.ui.list .item>.right.floated{margin-left:1em;float:right}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list>.item{display:inline-block;margin-left:1em;font-size:1rem}.ui.horizontal.list>.item:first-child{margin-left:0}.ui.horizontal.list .list{padding-left:0;padding-bottom:0}.ui.list a:hover .icon{color:rgba(0,0,0,.8)}.ui.inverted.list a .icon{color:rgba(255,255,255,.6)}.ui.inverted.list .description{color:rgba(255,255,255,.8)}.ui.inverted.link.list .item{color:rgba(255,255,255,.4)}.ui.link.list .item{color:rgba(0,0,0,.3)}.ui.link.list .item a,.ui.link.list a.item{color:rgba(0,0,0,.5)}.ui.link.list .active.item a,.ui.link.list .item a:active,.ui.link.list .item a:hover,.ui.link.list a.active.item,.ui.link.list a.item:active,.ui.link.list a.item:hover{color:rgba(0,0,0,.8)}.ui.inverted.link.list .item a,.ui.inverted.link.list a.item{color:rgba(255,255,255,.6)}.ui.inverted.link.list .item a:hover,.ui.inverted.link.list a.item:hover{color:rgba(255,255,255,.8)}.ui.inverted.link.list .item a:active,.ui.inverted.link.list a.item:active{color:rgba(255,255,255,.9)}.ui.inverted.link.list .active.item a,.ui.inverted.link.list a.active.item{color:rgba(255,255,255,.8)}.ui.selection.list .item{cursor:pointer;color:rgba(0,0,0,.4);padding:.5em;-webkit-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;-moz-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;transition:.2s color ease,.2s padding-left ease,.2s background-color ease}.ui.selection.list .item:hover{background-color:rgba(0,0,0,.02);color:rgba(0,0,0,.7)}.ui.selection.list .item:active{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.7)}.ui.selection.list .item.active{background-color:rgba(0,0,0,.04);color:rgba(0,0,0,.7)}.ui.animated.list .item{-webkit-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;-moz-transition:.2s color ease,.2s padding-left ease,.2s background-color ease;transition:.2s color ease,.2s padding-left ease,.2s background-color ease}.ui.animated.list:not(.horizontal) .item:hover{padding-left:1em}.ui.animated.list:not(.horizontal) .item:hover .item:hover{padding-left:.5em}.ui.inverted.selection.list .item{color:rgba(255,255,255,.6)}.ui.inverted.selection.list .item:hover{background-color:rgba(255,255,255,.04);color:rgba(255,255,255,.8)}.ui.inverted.selection.list .item:active{background-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}.ui.inverted.selection.list .item.active{background-color:rgba(255,255,255,.08);color:#FFF}.ui.bulleted.list,ul.ui.list{margin-left:1.5em}.ui.bulleted.list .item,ul.ui.list li{position:relative}.ui.bulleted.list .item:before,ul.ui.list li:before{position:absolute;left:-1.5em;content:'•'}.ui.bulleted.list .list,ul.ui.list ul{padding-left:1.5em}.ui.horizontal.bulleted.list,ul.ui.horizontal.bulleted.list{margin-left:0}.ui.horizontal.bulleted.list .item,ul.ui.horizontal.bulleted.list li{margin-left:1.5em}.ui.horizontal.bulleted.list .item:before,ul.ui.horizontal.bulleted.list li:before{left:-.9em}.ui.horizontal.bulleted.list .item:first-child,ul.ui.horizontal.bulleted.list li:first-child{margin-left:0}.ui.horizontal.bulleted.list .item:first-child::before,ul.ui.horizontal.bulleted.list li:first-child::before{display:none}.ui.ordered.list,ol.ui.list{counter-reset:ordered;margin-left:2em;list-style-type:none}.ui.ordered.list .item,ol.ui.list li{list-style-type:none;position:relative}.ui.ordered.list .item:before,ol.ui.list li:before{position:absolute;left:-2em;counter-increment:ordered;content:counters(ordered,".");text-align:right;vertical-align:top;opacity:.75}.ui.ordered.list .list,ol.ui.list ol{counter-reset:ordered;padding-left:2.5em}.ui.ordered.list .list .item:before,ol.ui.list ol li:before{left:-2.5em}.ui.ordered.horizontal.list,ol.ui.horizontal.list{margin-left:0}.ui.ordered.horizontal.list .item:before,ol.ui.horizontal.list li:before{position:static;left:0;margin:0 .5em 0 0}.ui.divided.list:not(.horizontal)>.list,.ui.divided.list>.item{border-top:1px solid rgba(0,0,0,.1);padding-left:.5em;padding-right:.5em}.ui.divided.list .item .menu .item{border-width:0}.ui.divided.list .item:first-child{border-top-width:0}.ui.divided.list:not(.horizontal) .list:not(.icon){margin-left:-.5em;margin-right:-.5em}.ui.divided.list:not(.horizontal) .list .item{padding-left:1em;padding-right:1em}.ui.divided.list:not(.horizontal) .list .item:first-child{border-top-width:1px}.ui.divided.bulleted.list{margin-left:0}.ui.divided.bulleted.list .item{padding-left:1.5em}.ui.divided.bulleted.list .item:before{left:.5em}.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list>.item{padding-left:2em;padding-right:2em}.ui.divided.ordered.list>.item:before{left:.5em}.ui.divided.ordered.list .item .list{margin-left:-2em;margin-right:-2em}.ui.divided.horizontal.list{margin-left:0}.ui.divided.horizontal.list>.item{border-top:none;border-left:1px solid rgba(0,0,0,.1);margin:0;padding-left:.75em;padding-right:.75em;line-height:.6em}.ui.horizontal.divided.list>.item:first-child{border-left:none;padding-left:0}.ui.divided.inverted.horizontal.list .item,.ui.divided.inverted.list>.item,.ui.divided.inverted.list>.list{border-color:rgba(255,255,255,.2)}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(0,0,0,.1);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(0,0,0,.1)}.ui.celled.list .item .list{margin-left:-.5em;margin-right:-.5em}.ui.celled.list .item .list .item{border-width:0}.ui.celled.list .list .item:first-child{border-top-width:0}.ui.celled.bulleted.list{margin-left:0}.ui.celled.bulleted.list>.item{padding-left:1.5em}.ui.celled.bulleted.list>.item:before{left:.5em}.ui.celled.ordered.list{margin-left:0}.ui.celled.ordered.list .item{padding-left:2em;padding-right:2em}.ui.celled.ordered.list .item:before{left:.5em}.ui.celled.ordered.list .item .list{margin-left:-2em;margin-right:-2em}.ui.horizontal.celled.list{margin-left:0}.ui.horizontal.celled.list .item{border-top:none;border-left:1px solid rgba(0,0,0,.1);margin:0;padding-left:.75em;padding-right:.75em;line-height:.6em}.ui.horizontal.celled.list .item:last-child{border-bottom:none;border-right:1px solid rgba(0,0,0,.1)}.ui.celled.inverted.horizontal.list .item,.ui.celled.inverted.list>.item,.ui.celled.inverted.list>.list{border-color:rgba(255,255,255,.2)}.ui.relaxed.list:not(.horizontal) .item{padding-top:.5em;padding-bottom:.5em}.ui.relaxed.list .header{margin-bottom:.25em}.ui.horizontal.relaxed.list .item{padding-left:1.25em;padding-right:1.25em}.ui.very.relaxed.list:not(.horizontal) .item{padding-top:1em;padding-bottom:1em}.ui.very.relaxed.list .header{margin-bottom:.5em}.ui.horizontal.very.relaxed.list .item{padding-left:2em;padding-right:2em}.ui.mini.list .item{font-size:.7rem}.ui.tiny.list .item{font-size:.8125rem}.ui.small.list .item{font-size:.875rem}.ui.list .item{font-size:1em}.ui.large.list .item{font-size:1.125rem}.ui.big.list .item{font-size:1.25rem}.ui.huge.list .item{font-size:1.375rem}.ui.massive.list .item{font-size:1.5rem}.ui.statistic{text-align:center}.ui.statistic>.number{font-size:4em;font-weight:700;color:rgba(0,0,0,.7)}.ui.statistic>.description{opacity:.8}.hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8;-webkit-text-size-adjust:none}.diff .hljs-header,.hljs-comment{color:#998;font-style:italic}.css .rule .hljs-keyword,.hljs-keyword,.hljs-request,.hljs-status,.hljs-subst,.hljs-winutils,.nginx .hljs-title{color:#333;font-weight:700}.hljs-hexcolor,.hljs-number,.ruby .hljs-constant{color:teal}.hljs-doctag,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#d14}.hljs-id,.hljs-title,.scss .hljs-preprocessor{color:#900;font-weight:700}.hljs-list .hljs-keyword,.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type,.tex .hljs-command,.vhdl .hljs-literal{color:#458;font-weight:700}.django .hljs-tag .hljs-keyword,.hljs-rule .hljs-property,.hljs-tag,.hljs-tag .hljs-title{color:navy;font-weight:400}.hljs-attribute,.hljs-name,.hljs-variable,.lisp .hljs-body{color:teal}.hljs-regexp{color:#009926}.clojure .hljs-keyword,.hljs-prompt,.hljs-symbol,.lisp .hljs-keyword,.ruby .hljs-symbol .hljs-string,.scheme .hljs-keyword,.tex .hljs-special{color:#990073}.hljs-built_in{color:#0086b3}.hljs-cdata,.hljs-doctype,.hljs-pi,.hljs-pragma,.hljs-preprocessor,.hljs-shebang{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}.jcrop-holder{direction:ltr;text-align:left}.jcrop-hline,.jcrop-vline{background:url(/static/7a4b4c6ebdb549fcbe47408f9457493e.gif) #fff;font-size:0;position:absolute}.jcrop-vline{height:100%;width:1px!important}.jcrop-vline.right{right:0}.jcrop-hline{height:1px!important;width:100%}.jcrop-hline.bottom{bottom:0}.jcrop-tracker{height:100%;width:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.jcrop-handle{background-color:#333;border:1px solid #eee;width:7px;height:7px;font-size:1px}.jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0}.jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px}.jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%}.jcrop-handle.ord-w{left:0;margin-left:-4px;margin-top:-4px;top:50%}.jcrop-handle.ord-nw{left:0;margin-left:-4px;margin-top:-4px;top:0}.jcrop-handle.ord-ne{margin-right:-4px;margin-top:-4px;right:0;top:0}.jcrop-handle.ord-se{bottom:0;margin-bottom:-4px;margin-right:-4px;right:0}.jcrop-handle.ord-sw{bottom:0;left:0;margin-bottom:-4px;margin-left:-4px}.jcrop-dragbar.ord-n,.jcrop-dragbar.ord-s{height:7px;width:100%}.jcrop-dragbar.ord-e,.jcrop-dragbar.ord-w{height:100%;width:7px}.jcrop-dragbar.ord-n{margin-top:-4px}.jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px}.jcrop-dragbar.ord-e{margin-right:-4px;right:0}.jcrop-dragbar.ord-w{margin-left:-4px}.jcrop-light .jcrop-hline,.jcrop-light .jcrop-vline{background:#fff;filter:alpha(opacity=70)!important;opacity:.7!important}.jcrop-light .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#000;border-color:#fff;border-radius:3px}.jcrop-dark .jcrop-hline,.jcrop-dark .jcrop-vline{background:#000;filter:alpha(opacity=70)!important;opacity:.7!important}.jcrop-dark .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#fff;border-color:#000;border-radius:3px}.solid-line .jcrop-hline,.solid-line .jcrop-vline{background:#fff}.jcrop-holder img,img.jcrop-preview{max-width:none}.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:#fff;border:1px solid #DDD;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,.1);min-width:120px;z-index:11110!important}.atwho-view .cur{background:#36F;color:#fff}.atwho-view .cur small{color:#fff}.atwho-view strong{color:#36F}.atwho-view .cur strong{color:#fff;font:700}.atwho-view ul{list-style:none;padding:0;margin:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid #DDD;cursor:pointer}.atwho-view small{font-size:smaller;color:#777;font-weight:400}/*! Animate.css - http://daneden.me/animate Licensed under the MIT license Copyright (c) 2013 Daniel Eden Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);-ms-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);-ms-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);-ms-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);-ms-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);-ms-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);-ms-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes wobble{0%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);-ms-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);-ms-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);-ms-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);-ms-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);-ms-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}}@keyframes bounceOut{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes bounceOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes bounceOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0) scale(1);transform:perspective(400px) translateZ(0) rotateY(0) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0) scale(1);-ms-transform:perspective(400px) translateZ(0) rotateY(0) scale(1);transform:perspective(400px) translateZ(0) rotateY(0) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);-ms-transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-ms-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);-ms-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);-ms-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);-ms-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg);-ms-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);-ms-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg);transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg);-ms-transform:perspective(400px) rotateY(-10deg);transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg);-ms-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);-ms-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);-ms-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);-ms-transform:translateX(-20%) skewX(30deg);transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);-ms-transform:translateX(0%) skewX(-15deg);transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);-ms-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);-ms-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);-ms-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(-200deg);-ms-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(200deg);-ms-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);transform:rotate(0);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);transform:translateY(700px);opacity:0}}@keyframes hinge{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-ms-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-ms-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);-ms-transform:rotate(60deg) translateY(0);transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);-ms-transform:translateY(700px);transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg);transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg);-ms-transform:translateX(100%) rotate(120deg);transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}.ps-container{overflow:hidden!important}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block}.ps-container.ps-in-scrolling{pointer-events:none}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;opacity:0;-webkit-transition:background-color .2s linear,opacity .2s linear;-moz-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;bottom:3px;height:8px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;bottom:0;height:8px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;opacity:0;-webkit-transition:background-color .2s linear,opacity .2s linear;-moz-transition:background-color .2s linear,opacity .2s linear;-o-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;right:3px;width:8px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;right:0;width:8px}.ps-container:hover.ps-in-scrolling{pointer-events:none}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}/*! * # Semantic UI 2.1.7 - Flag * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */i.flag:not(.icon){display:inline-block;width:16px;height:11px;line-height:11px;vertical-align:baseline;margin:0 .5em 0 0;text-decoration:inherit;speak:none;font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.flag:not(.icon):before{display:inline-block;content:'';background:url(/static/9c74e172f87984c48ddf5c8108cabe67.png) -108px -1976px no-repeat;width:16px;height:11px}i.flag.ad:before,i.flag.andorra:before{background-position:0 0}i.flag.ae:before,i.flag.uae:before,i.flag.united.arab.emirates:before{background-position:0 -26px}i.flag.af:before,i.flag.afghanistan:before{background-position:0 -52px}i.flag.ag:before,i.flag.antigua:before{background-position:0 -78px}i.flag.ai:before,i.flag.anguilla:before{background-position:0 -104px}i.flag.al:before,i.flag.albania:before{background-position:0 -130px}i.flag.am:before,i.flag.armenia:before{background-position:0 -156px}i.flag.an:before,i.flag.netherlands.antilles:before{background-position:0 -182px}i.flag.angola:before,i.flag.ao:before{background-position:0 -208px}i.flag.ar:before,i.flag.argentina:before{background-position:0 -234px}i.flag.american.samoa:before,i.flag.as:before{background-position:0 -260px}i.flag.at:before,i.flag.austria:before{background-position:0 -286px}i.flag.au:before,i.flag.australia:before{background-position:0 -312px}i.flag.aruba:before,i.flag.aw:before{background-position:0 -338px}i.flag.aland.islands:before,i.flag.ax:before{background-position:0 -364px}i.flag.az:before,i.flag.azerbaijan:before{background-position:0 -390px}i.flag.ba:before,i.flag.bosnia:before{background-position:0 -416px}i.flag.barbados:before,i.flag.bb:before{background-position:0 -442px}i.flag.bangladesh:before,i.flag.bd:before{background-position:0 -468px}i.flag.be:before,i.flag.belgium:before{background-position:0 -494px}i.flag.bf:before,i.flag.burkina.faso:before{background-position:0 -520px}i.flag.bg:before,i.flag.bulgaria:before{background-position:0 -546px}i.flag.bahrain:before,i.flag.bh:before{background-position:0 -572px}i.flag.bi:before,i.flag.burundi:before{background-position:0 -598px}i.flag.benin:before,i.flag.bj:before{background-position:0 -624px}i.flag.bermuda:before,i.flag.bm:before{background-position:0 -650px}i.flag.bn:before,i.flag.brunei:before{background-position:0 -676px}i.flag.bo:before,i.flag.bolivia:before{background-position:0 -702px}i.flag.br:before,i.flag.brazil:before{background-position:0 -728px}i.flag.bahamas:before,i.flag.bs:before{background-position:0 -754px}i.flag.bhutan:before,i.flag.bt:before{background-position:0 -780px}i.flag.bouvet.island:before,i.flag.bv:before{background-position:0 -806px}i.flag.botswana:before,i.flag.bw:before{background-position:0 -832px}i.flag.belarus:before,i.flag.by:before{background-position:0 -858px}i.flag.belize:before,i.flag.bz:before{background-position:0 -884px}i.flag.ca:before,i.flag.canada:before{background-position:0 -910px}i.flag.cc:before,i.flag.cocos.islands:before{background-position:0 -962px}i.flag.cd:before,i.flag.congo:before{background-position:0 -988px}i.flag.central.african.republic:before,i.flag.cf:before{background-position:0 -1014px}i.flag.cg:before,i.flag.congo.brazzaville:before{background-position:0 -1040px}i.flag.ch:before,i.flag.switzerland:before{background-position:0 -1066px}i.flag.ci:before,i.flag.cote.divoire:before{background-position:0 -1092px}i.flag.ck:before,i.flag.cook.islands:before{background-position:0 -1118px}i.flag.chile:before,i.flag.cl:before{background-position:0 -1144px}i.flag.cameroon:before,i.flag.cm:before{background-position:0 -1170px}i.flag.china:before,i.flag.cn:before{background-position:0 -1196px}i.flag.co:before,i.flag.colombia:before{background-position:0 -1222px}i.flag.costa.rica:before,i.flag.cr:before{background-position:0 -1248px}i.flag.cs:before,i.flag.serbia:before{background-position:0 -1274px}i.flag.cu:before,i.flag.cuba:before{background-position:0 -1300px}i.flag.cape.verde:before,i.flag.cv:before{background-position:0 -1326px}i.flag.christmas.island:before,i.flag.cx:before{background-position:0 -1352px}i.flag.cy:before,i.flag.cyprus:before{background-position:0 -1378px}i.flag.cz:before,i.flag.czech.republic:before{background-position:0 -1404px}i.flag.de:before,i.flag.germany:before{background-position:0 -1430px}i.flag.dj:before,i.flag.djibouti:before{background-position:0 -1456px}i.flag.denmark:before,i.flag.dk:before{background-position:0 -1482px}i.flag.dm:before,i.flag.dominica:before{background-position:0 -1508px}i.flag.do:before,i.flag.dominican.republic:before{background-position:0 -1534px}i.flag.algeria:before,i.flag.dz:before{background-position:0 -1560px}i.flag.ec:before,i.flag.ecuador:before{background-position:0 -1586px}i.flag.ee:before,i.flag.estonia:before{background-position:0 -1612px}i.flag.eg:before,i.flag.egypt:before{background-position:0 -1638px}i.flag.eh:before,i.flag.western.sahara:before{background-position:0 -1664px}i.flag.er:before,i.flag.eritrea:before{background-position:0 -1716px}i.flag.es:before,i.flag.spain:before{background-position:0 -1742px}i.flag.et:before,i.flag.ethiopia:before{background-position:0 -1768px}i.flag.eu:before,i.flag.european.union:before{background-position:0 -1794px}i.flag.fi:before,i.flag.finland:before{background-position:0 -1846px}i.flag.fiji:before,i.flag.fj:before{background-position:0 -1872px}i.flag.falkland.islands:before,i.flag.fk:before{background-position:0 -1898px}i.flag.fm:before,i.flag.micronesia:before{background-position:0 -1924px}i.flag.faroe.islands:before,i.flag.fo:before{background-position:0 -1950px}i.flag.fr:before,i.flag.france:before{background-position:0 -1976px}i.flag.ga:before,i.flag.gabon:before{background-position:-36px 0}i.flag.gb:before,i.flag.united.kingdom:before{background-position:-36px -26px}i.flag.gd:before,i.flag.grenada:before{background-position:-36px -52px}i.flag.ge:before,i.flag.georgia:before{background-position:-36px -78px}i.flag.french.guiana:before,i.flag.gf:before{background-position:-36px -104px}i.flag.gh:before,i.flag.ghana:before{background-position:-36px -130px}i.flag.gi:before,i.flag.gibraltar:before{background-position:-36px -156px}i.flag.gl:before,i.flag.greenland:before{background-position:-36px -182px}i.flag.gambia:before,i.flag.gm:before{background-position:-36px -208px}i.flag.gn:before,i.flag.guinea:before{background-position:-36px -234px}i.flag.gp:before,i.flag.guadeloupe:before{background-position:-36px -260px}i.flag.equatorial.guinea:before,i.flag.gq:before{background-position:-36px -286px}i.flag.gr:before,i.flag.greece:before{background-position:-36px -312px}i.flag.gs:before,i.flag.sandwich.islands:before{background-position:-36px -338px}i.flag.gt:before,i.flag.guatemala:before{background-position:-36px -364px}i.flag.gu:before,i.flag.guam:before{background-position:-36px -390px}i.flag.guinea-bissau:before,i.flag.gw:before{background-position:-36px -416px}i.flag.guyana:before,i.flag.gy:before{background-position:-36px -442px}i.flag.hk:before,i.flag.hong.kong:before{background-position:-36px -468px}i.flag.heard.island:before,i.flag.hm:before{background-position:-36px -494px}i.flag.hn:before,i.flag.honduras:before{background-position:-36px -520px}i.flag.croatia:before,i.flag.hr:before{background-position:-36px -546px}i.flag.haiti:before,i.flag.ht:before{background-position:-36px -572px}i.flag.hu:before,i.flag.hungary:before{background-position:-36px -598px}i.flag.id:before,i.flag.indonesia:before{background-position:-36px -624px}i.flag.ie:before,i.flag.ireland:before{background-position:-36px -650px}i.flag.il:before,i.flag.israel:before{background-position:-36px -676px}i.flag.in:before,i.flag.india:before{background-position:-36px -702px}i.flag.indian.ocean.territory:before,i.flag.io:before{background-position:-36px -728px}i.flag.iq:before,i.flag.iraq:before{background-position:-36px -754px}i.flag.ir:before,i.flag.iran:before{background-position:-36px -780px}i.flag.iceland:before,i.flag.is:before{background-position:-36px -806px}i.flag.it:before,i.flag.italy:before{background-position:-36px -832px}i.flag.jamaica:before,i.flag.jm:before{background-position:-36px -858px}i.flag.jo:before,i.flag.jordan:before{background-position:-36px -884px}i.flag.japan:before,i.flag.jp:before{background-position:-36px -910px}i.flag.ke:before,i.flag.kenya:before{background-position:-36px -936px}i.flag.kg:before,i.flag.kyrgyzstan:before{background-position:-36px -962px}i.flag.cambodia:before,i.flag.kh:before{background-position:-36px -988px}i.flag.ki:before,i.flag.kiribati:before{background-position:-36px -1014px}i.flag.comoros:before,i.flag.km:before{background-position:-36px -1040px}i.flag.kn:before,i.flag.saint.kitts.and.nevis:before{background-position:-36px -1066px}i.flag.kp:before,i.flag.north.korea:before{background-position:-36px -1092px}i.flag.kr:before,i.flag.south.korea:before{background-position:-36px -1118px}i.flag.kuwait:before,i.flag.kw:before{background-position:-36px -1144px}i.flag.cayman.islands:before,i.flag.ky:before{background-position:-36px -1170px}i.flag.kazakhstan:before,i.flag.kz:before{background-position:-36px -1196px}i.flag.la:before,i.flag.laos:before{background-position:-36px -1222px}i.flag.lb:before,i.flag.lebanon:before{background-position:-36px -1248px}i.flag.lc:before,i.flag.saint.lucia:before{background-position:-36px -1274px}i.flag.li:before,i.flag.liechtenstein:before{background-position:-36px -1300px}i.flag.lk:before,i.flag.sri.lanka:before{background-position:-36px -1326px}i.flag.liberia:before,i.flag.lr:before{background-position:-36px -1352px}i.flag.lesotho:before,i.flag.ls:before{background-position:-36px -1378px}i.flag.lithuania:before,i.flag.lt:before{background-position:-36px -1404px}i.flag.lu:before,i.flag.luxembourg:before{background-position:-36px -1430px}i.flag.latvia:before,i.flag.lv:before{background-position:-36px -1456px}i.flag.libya:before,i.flag.ly:before{background-position:-36px -1482px}i.flag.ma:before,i.flag.morocco:before{background-position:-36px -1508px}i.flag.mc:before,i.flag.monaco:before{background-position:-36px -1534px}i.flag.md:before,i.flag.moldova:before{background-position:-36px -1560px}i.flag.me:before,i.flag.montenegro:before{background-position:-36px -1586px}i.flag.madagascar:before,i.flag.mg:before{background-position:-36px -1613px}i.flag.marshall.islands:before,i.flag.mh:before{background-position:-36px -1639px}i.flag.macedonia:before,i.flag.mk:before{background-position:-36px -1665px}i.flag.mali:before,i.flag.ml:before{background-position:-36px -1691px}i.flag.burma:before,i.flag.mm:before,i.flag.myanmar:before{background-position:-36px -1717px}i.flag.mn:before,i.flag.mongolia:before{background-position:-36px -1743px}i.flag.macau:before,i.flag.mo:before{background-position:-36px -1769px}i.flag.mp:before,i.flag.northern.mariana.islands:before{background-position:-36px -1795px}i.flag.martinique:before,i.flag.mq:before{background-position:-36px -1821px}i.flag.mauritania:before,i.flag.mr:before{background-position:-36px -1847px}i.flag.montserrat:before,i.flag.ms:before{background-position:-36px -1873px}i.flag.malta:before,i.flag.mt:before{background-position:-36px -1899px}i.flag.mauritius:before,i.flag.mu:before{background-position:-36px -1925px}i.flag.maldives:before,i.flag.mv:before{background-position:-36px -1951px}i.flag.malawi:before,i.flag.mw:before{background-position:-36px -1977px}i.flag.mexico:before,i.flag.mx:before{background-position:-72px 0}i.flag.malaysia:before,i.flag.my:before{background-position:-72px -26px}i.flag.mozambique:before,i.flag.mz:before{background-position:-72px -52px}i.flag.na:before,i.flag.namibia:before{background-position:-72px -78px}i.flag.nc:before,i.flag.new.caledonia:before{background-position:-72px -104px}i.flag.ne:before,i.flag.niger:before{background-position:-72px -130px}i.flag.nf:before,i.flag.norfolk.island:before{background-position:-72px -156px}i.flag.ng:before,i.flag.nigeria:before{background-position:-72px -182px}i.flag.ni:before,i.flag.nicaragua:before{background-position:-72px -208px}i.flag.netherlands:before,i.flag.nl:before{background-position:-72px -234px}i.flag.no:before,i.flag.norway:before{background-position:-72px -260px}i.flag.nepal:before,i.flag.np:before{background-position:-72px -286px}i.flag.nauru:before,i.flag.nr:before{background-position:-72px -312px}i.flag.niue:before,i.flag.nu:before{background-position:-72px -338px}i.flag.new.zealand:before,i.flag.nz:before{background-position:-72px -364px}i.flag.om:before,i.flag.oman:before{background-position:-72px -390px}i.flag.pa:before,i.flag.panama:before{background-position:-72px -416px}i.flag.pe:before,i.flag.peru:before{background-position:-72px -442px}i.flag.french.polynesia:before,i.flag.pf:before{background-position:-72px -468px}i.flag.new.guinea:before,i.flag.pg:before{background-position:-72px -494px}i.flag.ph:before,i.flag.philippines:before{background-position:-72px -520px}i.flag.pakistan:before,i.flag.pk:before{background-position:-72px -546px}i.flag.pl:before,i.flag.poland:before{background-position:-72px -572px}i.flag.pm:before,i.flag.saint.pierre:before{background-position:-72px -598px}i.flag.pitcairn.islands:before,i.flag.pn:before{background-position:-72px -624px}i.flag.pr:before,i.flag.puerto.rico:before{background-position:-72px -650px}i.flag.palestine:before,i.flag.ps:before{background-position:-72px -676px}i.flag.portugal:before,i.flag.pt:before{background-position:-72px -702px}i.flag.palau:before,i.flag.pw:before{background-position:-72px -728px}i.flag.paraguay:before,i.flag.py:before{background-position:-72px -754px}i.flag.qa:before,i.flag.qatar:before{background-position:-72px -780px}i.flag.re:before,i.flag.reunion:before{background-position:-72px -806px}i.flag.ro:before,i.flag.romania:before{background-position:-72px -832px}i.flag.rs:before,i.flag.serbia:before{background-position:-72px -858px}i.flag.ru:before,i.flag.russia:before{background-position:-72px -884px}i.flag.rw:before,i.flag.rwanda:before{background-position:-72px -910px}i.flag.sa:before,i.flag.saudi.arabia:before{background-position:-72px -936px}i.flag.sb:before,i.flag.solomon.islands:before{background-position:-72px -962px}i.flag.sc:before,i.flag.seychelles:before{background-position:-72px -988px}i.flag.sd:before,i.flag.sudan:before{background-position:-72px -1040px}i.flag.se:before,i.flag.sweden:before{background-position:-72px -1066px}i.flag.sg:before,i.flag.singapore:before{background-position:-72px -1092px}i.flag.saint.helena:before,i.flag.sh:before{background-position:-72px -1118px}i.flag.si:before,i.flag.slovenia:before{background-position:-72px -1144px}i.flag.jan.mayen:before,i.flag.sj:before,i.flag.svalbard:before{background-position:-72px -1170px}i.flag.sk:before,i.flag.slovakia:before{background-position:-72px -1196px}i.flag.sierra.leone:before,i.flag.sl:before{background-position:-72px -1222px}i.flag.san.marino:before,i.flag.sm:before{background-position:-72px -1248px}i.flag.senegal:before,i.flag.sn:before{background-position:-72px -1274px}i.flag.so:before,i.flag.somalia:before{background-position:-72px -1300px}i.flag.sr:before,i.flag.suriname:before{background-position:-72px -1326px}i.flag.sao.tome:before,i.flag.st:before{background-position:-72px -1352px}i.flag.el.salvador:before,i.flag.sv:before{background-position:-72px -1378px}i.flag.sy:before,i.flag.syria:before{background-position:-72px -1404px}i.flag.swaziland:before,i.flag.sz:before{background-position:-72px -1430px}i.flag.caicos.islands:before,i.flag.tc:before{background-position:-72px -1456px}i.flag.chad:before,i.flag.td:before{background-position:-72px -1482px}i.flag.french.territories:before,i.flag.tf:before{background-position:-72px -1508px}i.flag.tg:before,i.flag.togo:before{background-position:-72px -1534px}i.flag.th:before,i.flag.thailand:before{background-position:-72px -1560px}i.flag.tajikistan:before,i.flag.tj:before{background-position:-72px -1586px}i.flag.tk:before,i.flag.tokelau:before{background-position:-72px -1612px}i.flag.timorleste:before,i.flag.tl:before{background-position:-72px -1638px}i.flag.tm:before,i.flag.turkmenistan:before{background-position:-72px -1664px}i.flag.tn:before,i.flag.tunisia:before{background-position:-72px -1690px}i.flag.to:before,i.flag.tonga:before{background-position:-72px -1716px}i.flag.tr:before,i.flag.turkey:before{background-position:-72px -1742px}i.flag.trinidad:before,i.flag.tt:before{background-position:-72px -1768px}i.flag.tuvalu:before,i.flag.tv:before{background-position:-72px -1794px}i.flag.taiwan:before,i.flag.tw:before{background-position:-72px -1820px}i.flag.tanzania:before,i.flag.tz:before{background-position:-72px -1846px}i.flag.ua:before,i.flag.ukraine:before{background-position:-72px -1872px}i.flag.ug:before,i.flag.uganda:before{background-position:-72px -1898px}i.flag.um:before,i.flag.us.minor.islands:before{background-position:-72px -1924px}i.flag.america:before,i.flag.united.states:before,i.flag.us:before{background-position:-72px -1950px}i.flag.uruguay:before,i.flag.uy:before{background-position:-72px -1976px}i.flag.uz:before,i.flag.uzbekistan:before{background-position:-108px 0}i.flag.va:before,i.flag.vatican.city:before{background-position:-108px -26px}i.flag.saint.vincent:before,i.flag.vc:before{background-position:-108px -52px}i.flag.ve:before,i.flag.venezuela:before{background-position:-108px -78px}i.flag.british.virgin.islands:before,i.flag.vg:before{background-position:-108px -104px}i.flag.us.virgin.islands:before,i.flag.vi:before{background-position:-108px -130px}i.flag.vietnam:before,i.flag.vn:before{background-position:-108px -156px}i.flag.vanuatu:before,i.flag.vu:before{background-position:-108px -182px}i.flag.wallis.and.futuna:before,i.flag.wf:before{background-position:-108px -234px}i.flag.samoa:before,i.flag.ws:before{background-position:-108px -260px}i.flag.ye:before,i.flag.yemen:before{background-position:-108px -286px}i.flag.mayotte:before,i.flag.yt:before{background-position:-108px -312px}i.flag.south.africa:before,i.flag.za:before{background-position:-108px -338px}i.flag.zambia:before,i.flag.zm:before{background-position:-108px -364px}i.flag.zimbabwe:before,i.flag.zw:before{background-position:-108px -390px} ================================================ FILE: automatic/static/css/page-v3/ak-master-page-v3.css ================================================ @charset "UTF-8"; /*Zara*/ body { font-family: Arial,'Microsoft Yahei' !important; } .ak-zmaster-sidebar-height{height:100%;} .ak-zn-fabars{background-color: #4684cf;border-color: #1ab394;color: #fff;border-radius:3px;padding: 8px 12px;margin:-5px 15px 0 10px;font-size: 14px;float: left;} .nav > li > a{font-weight:normal;} .btn-primary.ak-znavbar-btnblue{background-color: #4684cf;border-color: #4684cf;color: #FFFFFF;} .btn-primary.ak-znavbar-btnblue:hover{background-color: #4684cf;border-color: #4684cf;color: #FFFFFF;} @media (max-width: 992px){.body-small.mini-navbar .navbar-static-side{display: none;}} @media (max-width:992px){body.mini-navbar #page-wrapper{margin: 0 0 0 0;} .ak-zmaster-ntoprow{display:none;} .navbar-header{display:none;} .navbar-static-side{display:none;}} .ak-zprofile-userimg .img-box{width:48px;height:48px;overflow:hidden;display:inline-block;} @media (max-width: 992px){#page-wrapper{margin:0;}}.navbar-default .special_link a{background: #17987e !important;color: white;} .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus{-moz-border-bottom-colors: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;background: none;border-color: #dddddd #dddddd rgba(0, 0, 0, 0);border-bottom: #f3f3f4;border-image: none;border-style: solid;border-width: 1px;color: #555555;cursor: default;} /*top row*/ /*Message center start*/.dropdown-menu.media-list{max-width: 280px;padding: 0;} .dropdown-menu.media-list > .media .media-object{border-radius: 50%;color: #fff;font-size: 14px;height: 36px;line-height: 36px;text-align: center;width: 36px;} .media .media-object{width: 128px;} .bg-red{background: #ff5b57 none repeat scroll 0 0 !important;} .bg-green{background: #00acac none repeat scroll 0 0 !important;} .bg-blue{background: #348fe2 none repeat scroll 0 0 !important;} .media, .media-body{overflow: hidden;} .navbar-default .navbar-nav .open .dropdown-menu > li > a{color: #333;} .dropdown-menu.media-list > .media .media-object{border-radius: 50% !important;color: #fff;font-size: 14px;height: 36px;line-height: 36px;text-align: center;width: 36px;} .header-v6 .shopping-cart .shopping-cart-open.ak-notice-con{padding:0;} .dropdown-menu.media-list .dropdown-header{padding: 10px 20px!important;background: #fafafa;} .dropdown-menu.media-list>.media{margin-top: 0;border-top: 1px solid #eee;border-bottom: 1px solid #eee;margin-bottom: -1px;} .dropdown-menu.media-list>.media>a{display: block;padding: 10px 20px!important;} .dropdown-menu.media-list p{text-overflow: ellipsis;overflow: hidden;margin-bottom: 4px;/*max-width: 200px;*/} .f-s-11{font-size: 11px!important;} .dropdown-header{font-size: 14px;font-weight: 700;color: #242a30;padding: 0;margin: 0 0 10px;} span.ak-top-msbadge{top:-9px;left: 8px;color: #fff;width: 18px;height: 18px;padding: 4px;display: block;font-size: 11px;text-align: center;position: absolute;background: #279fbb;display: inline-block;border-radius: 50% !important;} .ak-top-msbell{width: 25px;cursor: pointer;font-size: 18px;display: inline-block;color:#555;} .ak-top-ms-unread h6.media-heading ,.ak-top-ms-unread .text-muted,.ak-top-ms-unread p{color:#4584ce;} .ak-top-ms-unread{background-color:#fafafa;} .dropdown-menu.ak-notice-con{left: auto;top:40px;} @media (min-width: 992px){.header-v6 .dropdown-menu{padding: 0;} .dropdown-menu.ak-notice-con{max-width: 280px;padding: 0;}} @media (max-width: 768px){.dropdown-menu.ak-notice-con{left: auto;right: -60px;top:30px;}} /*Message center end*/ .ak-zmaster-logo{display:inline-block;float:left;margin-top:11px;display:none;margin-left:-8px;} .ak-zmaster-sidebar.slidebar-open .ak-zmaster-logo{display:block;} @media (max-width:992px){.ak-zmaster-sidebarbtn{height:49px;display:none;} .ak-zmaster-sidebar.slidebar-open .ak-zmaster-sidebarbtn{display:block;}} .ak-zmaster-bottomnav{display:none;z-index:999;background:#f5f5f5;border-top: solid 1px #ddd;font-size:12px;} @media (max-width:992px){.ak-zmaster-bottomnav{position:fixed;bottom:0;width:100%;display:block!important;height:50px;}} .ak-zmaster-bottomnav li{width:20%;float:left;text-align:center;} .ak-zmaster-bottomnav li i.nav-icon{float:none;display:block;margin:0 auto 2px auto;} .ak-zmaster-bottomnav li{padding:5px 0 2px 0;} .ak-zmaster-bottomnav li a{padding:0;} .ak-zmaster-bottomnav li:last-child a{border-right:none;} .ak-zmaster-bottomnav li a:hover{background:transparent;color:#555;} @media (min-width:992px){.ak-zmemo-leftnav,.ak-zmemo-account-con{padding-top:50px;}} /*new top row*/ .ak-zmaster-ntoprow{height:60px;border-bottom: solid 1px #ddd;background:#fff;padding:20px 10px 0 72px;} .ak-zmaster-ntoprow.toprow-fixed{box-shadow: 0 1px 8px rgba(0,0,0,0.1)!important;position:fixed;z-index:999;top:0;left:0;right:0;} .ak-zmaster-ntoplogo{display:inline-block;float:left;margin-top:-5px;} .navbar-appcenter .dropdown-toggle img{float: left;width: 22px;height: 22px;margin-right:15px;} .navbar-user .dropdown-toggle img{float: left;width: 26px;height: 26px;margin: -5px 15px 0 0;-webkit-border-radius: 26px !important;-moz-border-radius: 26px !important;border-radius: 26px !important;} @media (max-width:992px){.ak-zmaster-ntoprow{padding-left:12px;}} @media (min-width: 992px){.ak-zabout-me-height{min-height: 240px;max-height: 300px;overflow-y: auto;}} /*top-row app-center*/ .ak-ztapp-ul{margin:0;padding:0 10px!important;list-style:none;} .ak-ztapp-ul > li{float:left;list-style:none;width:33.3%;margin-bottom:10px;} .ak-ztapp-ul > li a{padding:5px;} .ak-ztapp-ul li .ak-ztapp-smbox{display:block;text-align:center; line-height:170%; padding: 5px!important;} .ak-ztapp-ul li .ak-ztapp-smbox .img-box{width:40px;height:40px;display:inline-block;overflow:hidden;margin:0 auto;} .ak-ztapp-ul li .ak-ztapp-smbox .text{font-size:12px;margin: 0;padding: 0;margin-top: 8px;color: #4a4a4a;text-align: center;overflow: hidden;white-space: nowrap !important;text-overflow: ellipsis;-o-text-overflos: ellipsis;} .ak-znapp-center-dropdown{width:320px;} .ak-znapp-center-dropdown .dropdown-header{font-weight:normal;color: #242a30;padding: 0;margin: 0 0 10px;padding: 10px 20px!important;background: #fafafa;font-size: 14px;} .ak-ztapp-ul li a:hover{background-color: #f2f2f2!important;} .ak-znapp-center-dropdown.message-ul{width:300px;max-height:400px;overflow:auto;} .ak-zmaster-bottomnav{z-index:9999;} .ak-zn-master-con{padding-bottom:56px;} @media (max-width:992px){ .ak-zn-logotop-row{display:none;}} @media (max-width: 768px){} .ak-zdol-sm-magnet-ulbox{margin-top: 10px;} .row.border-bottom{overflow: hidden;} /*user start*/ .navbar-user .dropdown-toggle img{float: left;width: 30px;height: 30px;margin: -5px 10px 0 0;-webkit-border-radius: 30px !important;-moz-border-radius: 30px !important;border-radius: 30px !important;} @media (max-width: 768px){.dropdown-menu.ak-user-dropdown-menu{left: auto;right: -10px;top:30px;}} .ak-zadmin-dptop{position:relative;padding:15px 0;} .ak-zadmin-dptop .img-box{width:60px;height:60px;display:inline-block;overflow:hidden;border-radius:50%;position:absolute;top:10px;left:10px;} .ak-zadmin-dropdown{padding:0;width:200px;} .dropdown.navbar-user.ak-inlineblock.open{} .ak-zadmin-dropmenu{padding:15px 0 0 0;width:300px;} .ak-zadmin-dropmenu .topbox{position:relative;padding-left:95px;border-bottom: solid 1px #eaeaea;height:100px;padding-top:4px; color:#555;} .ak-zadmin-dropmenu .topbox .img-box{width:70px;height:70px;display:inline-block;overflow:hidden;border-radius:50%;position:absolute;top:5px;left:15px;bottom:10px;} .ak-zadmin-dropmenu .topbox .img-box img { min-height: 100%; min-width: 100%;} .ak-zadmin-dropmenu .topbox .name{font-size:14px;margin:0;padding:0;overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis;} .ak-zadmin-dropmenu .topbox .email{font-size:12px;margin:0;padding:0;color:#7f7f7f; line-height:24px;overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis;} .ak-zadmin-infobtn{background:#4d90fe;border:none;color:#fff;outline:medium none;padding:5px 12px;font-size:12px;margin-top:10px;border-radius:3px;line-height: 170%;} .ak-zadmin-dropmenu .mid-ul{margin:0;padding:0;list-style:none;} .ak-zadmin-dropmenu .mid-ul li{border-bottom: solid 1px #eaeaea;} .ak-zadmin-dropmenu .mid-ul li a{display:block;padding:8px 0;width:100%;padding-left:20px;color:#555;padding: 8px 0 8px 20px!important; line-height: 170%; font-size: 14px;} .ak-zadmin-dropmenu .footbox{background:#f5f5f5;padding:10px 25px;} .ak-zadmin-bottombtn{background:transparent;border:solid 1px #d0d0d0;color:#555;outline:medium none;/*padding:2px 12px;*/font-size:12px;border-radius:3px;} .ak-zadmin-bottombtn a{display:block;color:#555;font-size:12px!important;} .ak-zadmin-bottombtn a:hover {color:#4c9be8;background:transparent !important;} .ak-zicon.ak-yun-setting{background-position: -408px -130px;} .ak-zborder-top{border-top: solid 1px #ddd;} .ak-zindex-appnav-ingbox .ak-update-img{width:70px;height:70px;} .ak-zindex-appnav-ingbox img{min-height:100%;min-width:100%;} .ak-zindex-appnav-ingbox .team-grids1 .captn33 span.ak-zvote-photoicon{top:35%;} .ak-app-box .dropdown-menu>li{float:none;width:auto;} .ak-zprofile-userimg .img-box{width:48px;height:48px;overflow:hidden;display:inline-block;} .ak-zprofile-userimg .img-box img{display: block;max-width: 100%;} /*user end*/ /*bottom nav-icon*/ .ak-zicon-masternav-blue{display:none;} i.nav-icon{float: left;margin-right: 20px;text-align: center;width: 20px;height: 20px;display: inline-block;} /*img{display: block;max-width: 100%!important;height: auto;}*/ .ak-zmaster-bottomnav li:hover a .nav-icon .ak-zicon-masternav-grey,.ak-zmaster-bottomnav li.active .nav-icon .ak-zicon-masternav-grey{display:none;} .ak-zmaster-bottomnav li:hover a .nav-icon .ak-zicon-masternav-blue,.ak-zmaster-bottomnav li.active .nav-icon .ak-zicon-masternav-blue{display:inline-block;} .ak-zadmin-bottombtn.m-l-5{margin-left: 5px;} /**/ .members-sidebar { padding:0; width:320px!important;right:-325px; overflow: auto;} .ak-zuser-aimg { width: 40px; height: 40px; display: inline-block; overflow: hidden; border-radius:50%;} .gn-menu-main .navbar-right .ak-zuser-aimgbox { padding: 0 20px !important; } .notifications.ak-zuser-dropdowndiv .dropdown-menu{ padding: 10px 0;line-height: 150%; padding-bottom:0;} .notifications.ak-zuser-dropdowndiv .dropdown-menu ul { width: 100%;} .notifications.ak-zuser-dropdowndiv .dropdown-menu.ak-znapp-center-dropdown { padding:0;} i.nav-icon img { width: 20px; max-width:20px!important; display: inline-block;;} .ak-zmaster-paage2-logo { margin-top:5px; display: inline-block;} .content { padding:58px 15px 40px 15px;} /*.ak-zn-master-con { overflow: hidden;}*/ .members-sidebar { z-index: 998!important;} @media (max-width:768px) {.max-block { display: block!important;} .max-none { display: none!important;} } @media (max-width:768px) {.ak-znapp-center-dropdown { right: 0; left: auto;}} .mini-nav .content { margin: 0 0 0 66px; } /*notice*/ .notice-sidebar { background: #e9eaed; padding: 20px; overflow: hidden; position: fixed; top: 56px; bottom: 0; width: 240px !important; z-index: 605; right: -245px; -webkit-box-shadow: -1px 1px 5px 0px rgba(0, 0, 0, 0.13); box-shadow: -1px 1px 5px 0px rgba(0, 0, 0, 0.13); -webkit-transition: all, .5s; transition: all, .5s; } .notice-sidebar { padding:0; width: 320px!important; right: -325px; overflow: auto; } .notice-sidebar { z-index: 998!important; } .notice-sidebar-open { right: 0 !important; } @media (min-width:992px) {.ak-zn-master-con { margin-top:20px;}} .ak-zmaster-backdropicon { background: url(../../images/ak-common.png) -124px -247px; width: 24px; float: none; } .ak-zdol-searchbox span.searchicon { background: #fff url("../../images/ak-common.png") no-repeat scroll -240px -242px; border: 0 none; display: inline-block; height: 16px; left: 6px; outline: medium none; position: absolute; top: 6px; width: 16px; top: 1px; left: 1px; width: 25px; height: 24px; } /**/ #menu-toggle span {background: #fff !important;} #menu-toggle:hover span { background: #fff !important; } .ak-zpage2-luser { width: 24px; height: 24px; display: inline-block; border-radius:50%; overflow: hidden;} .gn-submenu li a { padding-left: 0; } .gn-submenu li a:before { display: none; } @media (max-width:768px) {.top-clock { display: none!important;} .logo { display: block!important;}} .mini-nav .content { padding-top:0!important;} .content {padding-top:0!important;} .tabbable,.carousel { margin-bottom:0!important;} .ak-mes-defbox-new2 { box-shadow: none!important;} .gn-menu-main .navbar-right .ak-ztapp-ul li a:focus, .gn-menu-main .navbar-right .ak-ztapp-ul li a:hover {background-color: #f2f2f2!important;} .ak-notice-close {width: 16px; height: 16px; background: url(../../images/ak-z-icon.png) -150px -1px; opacity: 1; color: transparent; margin-top: 4px; outline: medium none; display: inline-block; float: right; cursor: pointer;} .ak-zmaster-mes-header { font-weight: normal; color: #555; padding: 0; margin: 0; padding: 12px 15px!important; background: #fafafa; font-size: 16px; } .menu-toggle .hamburger span { width: 26px; height: 2px; position: relative; margin: 6px 2px; } .menu-toggle .cross span:nth-child(1) { height: 0%; width: 2px; position: absolute; top: 34px; left: 9px; -webkit-transition-delay: 0s; transition-delay: 0s; } .menu-toggle .cross span:nth-child(2) { width: 0%; height: 2px; position: absolute; left: -6px; top: 49px; -webkit-transition-delay: .25s; transition-delay: .25s; } .ak-mp01-nav-icon { float: left; text-align: center; width: 20px; height: 20px; display: inline-block; padding:0!important; margin:20px 24px 0 24px; } .ak-mp01-nav-icon.subnav {margin:15px 20px 0 24px; } .ak-mp01-nav-icon.menhu { background-position:-222px -68px; } .ak-mp01-nav-icon.news { background-position:-256px -68px; } .ak-mp01-nav-icon.wendang { background-position:-534px -68px; } .ak-mp01-nav-icon.zhishi { background-position:-678px -68px; } .ak-mp01-nav-icon.txl { background-position:-463px -68px; } .ak-mp01-nav-icon.personal { background-position:-400px -68px; } .ak-mp01-nav-icon.renwu { background-position:-292px -68px; } .ak-mp01-nav-icon.richeng { background-position:-328px -68px; } .ak-mp01-nav-icon.beiwang { background-position:0 -68px; } .ak-mp01-nav-icon.liucheng { background-position:-186px -68px; } .no-touch .gn-menu-main a:hover .ak-mp01-nav-icon, .no-touch .gn-search-item:hover .ak-mp01-nav-icon { background-position-y:0;} .gn-menu li.active > a .ak-mp01-nav-icon {background-position-y:0;} /*=============消息中心 end==============*/ .ak-meeting-box dt.meeting-time{ width:50px; font-size:12px; font-weight:normal; float:left;/* display:block;*/margin-right:5px; height:45px;} .ak-meeting-box dd.date { margin-left:60px; color:#b1afaf; overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis; -o-text-overflos:ellipsis; font-size:12px;} .ak-mes-defbox span.panel-title {/*border-bottom: solid 2px #9f9f9f;padding-bottom:2px;*/ font-size:12px;} .ak-mes-defbox .panel-footer a.detail { display:block; width:100%;} .ak-mes-defbox .panel-footer a.detail:hover { text-decoration:none;} .ak-mes-defbox .panel-footer a.detail i { width:11px; height:14px; float:right; opacity:0.5; margin-top:4px; margin-left:5px;} .ak-mes-defbox .panel-body h4 { font-size:14px;} .ak-mes-defbox p { color:#b8b8b8; font-size:12px;} .ak-caret1 { width:14px; height:15px; display:inline-block;} .ak-fa-plus1 { width:17px; height:17px; display:inline-block; float:left;} .dropdown-toggle:focus { outline:medium none; box-shadow:none;} .ak-handleicon { width:16px; height:16px; display:inline-block; float:left;} :focus { outline: none!important; } .ak-meeting-box dt.meeting-time .colorb8b8b8 { color:#b8b8b8;} .ak-mes-defbox .panel-footer button { width:30%!important;} .ak-mes-defbox .ak-mes-handlebox button { width:45%!important;} .ak-mes-new-btn {margin-right:10px;} @media (max-width:768px) {.ak-mes-new-btn { margin-right:25px;} } .ak-mes-handlebox { padding:10px 0; /*display:none;*/} .ak-mes-handlebox textarea { width:calc(100% - 65px); border: solid 1px #ddd; padding-left:5px;} .ak-collect-star{display: block;width: 16px;height: 16px;position: absolute;right: 5px;top: 0;background-position:0 0;z-index:1030;background-repeat: no-repeat;} .ak-collect-star.active{background-position:-20px 0;} .ak-mes-defbox-new2{padding:0 15px;background:#fff;margin-top:10px;box-shadow: 0 0 8px #ddd;} .mes-heading{padding:5px 0;border-bottom: solid 1px #ddd;} .ak-mes-defbox-new2 span.panel-title{font-size: 12px;} .ak-mes-defbox-new2 span.time{font-size: 12px;color: #b8b8b8;line-height: 210%;} .ak-desk-icon2.title-icon{width: 10px;height: 11px;margin: 5px;background-position: 0 0;cursor:pointer;} .no-padding-lr{padding-left:0!important;padding-right:0!important;} .mes-panel-body{padding:15px 0 10px 0;} .mes-panel-body h4{font-size: 14px;margin-bottom:2px;margin-top:0;width:98%;width: calc(100% - 20px);} .mes-panel-left{width:60px;} .mes-panel-right{width:80%;width:calc( 100% - 60px)!important;} .ak-mes-defbox-new2 p{color: #b8b8b8;font-size: 12px;} /*.mes-foot{padding: 8px 0;border-top: solid 1px #ddd;}*/ .ak-mes-defbox-new2 .mes-foot a.detail{display: block;width: 100%;font-size:12px;color:#b8b8b8;} .ak-mes-defbox-new2 .mes-foot a.detail i{width: 11px;height: 14px;float: right;opacity: 0.5;margin-top: 1px;margin-left: 5px;} .m-b-6{margin-bottom:6px;} .color-7f7f7f{color:#7f7f7f;} .ak-mes-defbox-new2 .mes-foot button{width: 30%!important;} .list-group.width50 p{width:50%;float:left;} .ak-mes-handlebox.ak-mes-handlebox2{background:#f5f5f5;margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px;/*margin-bottom:-8px;*//*margin-top:8px;*/border-top: solid 1px #e1e2e3;} .ak-relative{position: relative;} .ak-mes-docbox{width:98%;background:#f4f5f7;border-radius:3px;overflow:hidden;margin-top:10px;height:60px;margin-left:2px;} .ak-mes-docbox span.img{width:60px;height:60px;} .p-box{margin-top:7px;padding:0 2px;} .list-group.ak-p-col p.col-sm-6 span{width:50%;display:inline-block;overflow:hidden;white-space:nowrap !important;text-overflow:ellipsis;-o-text-overflos:ellipsis;} @media (max-width:1200px){.list-group.ak-p-col .col-sm-6{width:100%!important;}} @media (max-width: 768px){.ak-col-6padding-box .col-md-6.col-sm-6.ak-col-6padding{padding-left:0!important;padding-right:0!important;}} @media (max-width:768px) {.ak-znews-none { display:none;}} .ak-mes-handlebox2 button { border-radius:0!important;} .btn-zblue { background:#4684cf;border:none!important; color:#fff; padding:4px 20px;} .ak-afun-appicon { background-image:none!important; width:50px!important; height:50px!important; overflow:hidden; display:block;} .ak-afun-appicon img {display: block; max-width: 100%; height: auto; width:30px; height:30px; margin:10px;} .ak-news-topsort a.active {color: #3c72b4; font-weight:600;} @media (max-width:768px) {.ak-col-6padding-box .col-md-6.col-sm-6.ak-col-6padding {right:0;}} .col-md-6.col-sm-6.ak-col-6padding:after { margin-bottom: 10px; background:#000; margin-top:50px; } /*message*/ .ak-zwei-people-container{overflow-y:auto;height:-moz-calc(100% - 270px);height:-webkit-calc(100% - 270px);height:calc(100% - 270px);} .ak-zwei-people-ul,.ak-zwei-people-ul li{margin:0;padding:0;list-style:none;} .ak-zwei-people-ul li{padding:8px 10px 0 10px;cursor:pointer;} .ak-zwei-people-ul li:hover{background:#6d84b4;color:#fff!important;} .ak-zwei-weicharrow{position:relative;border-bottom: solid 1px #ddd;} .ak-zwei-people-ul li:hover .ak-zwei-weicharrow{border-bottom: solid 1px transparent;} .ak-zwei-weicharrow .img-box{width:50px;height:50px;display:inline-block;overflow:hidden;float:left;margin-bottom:8px;} .ak-zwei-weicharrow .img-box img{min-width:50px;min-height:50px;} .ak-zwei-weicharrow .text-box{padding:0 60px;} .ak-zwei-weicharrow .text-box .name{font-size:14px;font-weight:600;margin-top:5px;margin-bottom:5px;overflow:hidden;white-space:nowrap !important;text-overflow:ellipsis;-o-text-overflos:ellipsis;} .ak-zwei-weicharrow .text-box .signature{font-size:12px;color:#878787;overflow:hidden;white-space:nowrap !important;text-overflow:ellipsis;-o-text-overflos:ellipsis;margin-bottom:0;} .ak-zwei-weicharrow .time{position:absolute;right:0;top:0;width:50px;overflow:hidden;text-align:right;color:#a3a3a3;} .ak-zwei-people-ul li:hover .text-box .name,.ak-zwei-people-ul li:hover .text-box .signature,.ak-zwei-people-ul li:hover .time{color:#fff!important;} .ak-zwei-signature-icon{width:15px;height:15px;display:inline-block;float:left;} .chat-name{height:50px;line-height:50px;text-align:center;line-height:50px;position:absolute;top:0;left:55px;right:55px;font-size: 16px;cursor: pointer;} .ak-zper-inbox-title.chat{position:relative;} .ak-zwei-dialog-box{height:-moz-calc(100% - 220px);height:-webkit-calc(100% - 220px);height:calc(100% - 220px);} .ak-zwei-dialog-box{position:relative;} .ak-zwei-footsendbox{height:100px;position:absolute;left:0;bottom:0;background:#fff;border-top: solid 1px #ddd;width:100%;} .ak-zwei-sendmessage{height:60px;padding:5px 10px;overflow:hidden;} .ak-zwei-sendbtnbox{height:40px;border-top: solid 1px #ddd;} .ak-zwei-add-enclosure{height:40px;line-height:40px;width:80px;text-align:center;border:none;border-right: solid 1px #ddd;background:transparent;outline:none;} .ak-zwei-add--sendbtn{width:80px;height:28px;text-align:center;border: solid 1px #ddd;background:#f5f5f5;outline:none;line-height:28px;margin:6px 10px;} .ak-zwei-add--sendbtn:hover{background:#e0dfdf;} .ak-zwei-dialog-message-container{padding:10px 15px 10px 10px;height:-moz-calc(100% - 100px);height:-webkit-calc(100% - 100px);height:calc(100% - 100px);overflow:auto;} .ak-zwei-dialog-message-row .img-box{width:40px;height:40px;display:inline-block;overflow:hidden;float:left;cursor:pointer;} .ak-zwei-dialog-message-row .img-box img{min-height:40px;min-height:40px;} .ak-zwei-dialog-message-row{margin-bottom:7px;} .ak-zwei-dialog-message-row .message-bubble{border-radius:4px;padding:10px;line-height:170%;font-size:12px;display:inline-block;margin-left:15px;position:relative;cursor:pointer;max-width:45%;word-wrap: break-word;} .ak-zwei-dialog-message-row .message-bubble.white{background-color:#fff;} .ak-zwei-dialog-message-row .message-bubble.green{background-color:#b4eb7c;} .ak-zwei-dialog-message-row .message-bubble.right{margin-right:15px;margin-left:0;} .ak-zwei-arrow-left{width:0;height:0;border-width:7px 7px 7px 0;border-style:solid;border-color:transparent #fff transparent transparent;position:absolute;top:10px;left:-7px;} .ak-zwei-arrow-right{width:0;height:0;border-width:7px 0 7px 7px;border-style:solid;border-color:transparent transparent transparent #b4eb7c;position:absolute;top:10px;right:-7px;} .ak-zwei-dialog-message-row .message-bubble.img-chatbox{max-width:160px;max-height:150px;padding:2px;} .ak-zwei-dialog-message-row .message-bubble.img-chatbox{max-width:160px;max-height:150px;padding:2px;} @media (max-width:768px){.ak-zwei-people-container{overflow-y:auto;height:-moz-calc(100% - 200px);height:-webkit-calc(100% - 200px);height:calc(100% - 200px);} .ak-zwei-dialog-box{height:-moz-calc(100% - 150px);height:-webkit-calc(100% - 150px);height:calc(100% - 150px);} .ak-zwei-dialog-message-row .message-bubble{max-width:75%;}} @media (max-width:400px){.ak-zmemo-masternav li a{padding: 10px 5px;}}.ak-zwei-addpeople-btn{width:30px;height:30px;cursor:pointer;display:inline-block;float:right;margin:10px;} /*.ak-zmemo-account-con{padding-bottom:9999px;margin-bottom:-9999px;overflow:hidden;min-height:100%;}*/.ak-zwei-chat-searchbox{border-bottom:solid 1px #ddd;height:36px;padding:3px 0;position:relative;} .ak-zwei-chat-searchbox span.searchicon{background:url(../../images/ak-z-icon.png) no-repeat scroll 0 0;border: 0 none;display: inline-block;height: 16px;left: 6px;outline: medium none;position: absolute;top: 12px;width: 16px;} .ak-zwei-chat-searchbox input[type="text"]{border:none;color: #797979;display: inline-block;font-size: 0.975em;outline: medium none;padding: 0 2px 0 30px;width: 100%;height: 36px;background:transparent;} .ak-zwei-friend-row{position:relative;border-bottom: solid 1px #ddd;cursor:pointer;} .ak-zwei-friend-row .img-box{width:36px;height:36px;display: inline-block;overflow: hidden;float: left;margin-bottom: 4px;margin-top:4px;} .ak-zwei-friend-row .img-box img{min-width: 36px;min-height: 36px;} .ak-zwei-friend-row .text-box{padding: 0 60px 0 45px;} .ak-zwei-friend-row .text-box .name{font-size: 14px;margin-top: 5px;margin-bottom: 5px;overflow: hidden;white-space: nowrap !important;text-overflow: ellipsis;-o-text-overflos: ellipsis;} .ak-zwei-friend-row .right-checkbox{position: absolute;right: 10px;top: 0;width: 50px;vertical-align:middle;margin-top:10px;overflow: hidden;text-align: right;color: #a3a3a3;} .ak-zwei-sort-letter{height:26px;background:#ebebeb;color:#878787;padding:0 10px;font-size:12px;line-height:26px;margin:5px 0;} @media (min-width:768px){.ak-zweichat-modal .modal-content{max-height:100%;} .ak-zweichat-mainbody{max-height:600px;} .ak-zweichat-modal .ak-zweichat-modal-height{max-height:540px;overflow:auto;}} .ak-zwei-sending-time-row {margin:7px 0;} .ak-zwei-sending-time { font-size:12px; color:#fff; padding:4px 6px; background:#c4c4c5; display:inline-block; border-radius:6px; cursor:pointer; } @media (max-width:768px) {.ak-zwei-sending-time { padding:2px 5px;}} .ak-zwei-weicharrow .img-box { position:relative;} .ak-zwei-unread-icon { position: absolute; right:-6px; top:-6px; width:20px; height:20px; background:red; color:#fff; display:inline-block; font-style:normal; border-radius:50%; overflow:hidden; text-align:center; line-height:20px; font-size:11px; z-index:9;} .ak-zwei-weicharrow .left-imgbox {width: 50px; position:relative; height: 50px; display: inline-block; float: left; margin-bottom: 8px;} .bottom-bnts a { background: #2C393F; color: #76828E; } .metismenu .fa.arrow:before { content: "\f105"; } .no-touch .gn-menu-main .active > a, .no-touch .gn-search-item.active > a { background: #4c9be8; color: #fff; } .content { background: #fff; overflow: hidden;} .gn-submenu li a.active:after { border-left: 8px solid transparent; } /*nav img*/ .ak-mp01-nav-icon { overflow: hidden; background-image: none; margin-top:22px;} .ak-mp01-nav-icon img {display: block; max-width: 100%; height: auto;} .ak-zmaster-mes-footer { background: #e9e8e8; height: 36px; line-height: 36px; text-align: center; position: absolute; bottom:0; width: 100%; color: #555;} .ak-zmaster-mes-footer a { font-size: 12px; padding: 6px 12px;} .members-sidebar .gn-scroller { height: calc(100% - 100px);} @media (max-width: 992px){ .ak-min-fullwidth-modal .modal-content { min-height: 100%; border-radius: 0!important; } } @media (max-width: 450px){ .ak-znapp-center-dropdown { right:0!important; position: fixed; top:56px; } } .ak-zpage2-luser img { min-height: 24px; min-width: 24px;} /*setting*/ .ak-zuser-dropdowndiv.open > a{ background: #666777; color: #fff;} .ak-zmaster-setting-row {position: relative; cursor: pointer; padding-top:10px; margin-top:-1px;} .ak-zmaster-setting-row .img-box { width: 40px; height: 40px;overflow: hidden; display: inline-block; float: left; } .ak-zmaster-setting-row .img-box img { min-height:100%; min-width:100%;} .ak-zmaster-setting-row .text-box { border-top: solid 1px transparent;border-bottom: solid 1px #eaeaea;margin: 0 30px; padding-bottom:10px;} .ak-zmaster-setting-row:hover {background-color: #f4f9fd; border-bottom: solid 1px #eaeaea;border-top: solid 1px #eaeaea; } .ak-zmaster-setting-row:hover .text-box { border:none;} .ak-zmaster-setting-row .text-box .title { margin: 0 0 5px 0; font-size: 14px; color: #3498db;} .ak-zmaster-setting-row .text-box .describe { font-size: 12px; margin: 0;} .ak-zmaster-setting-h3 { margin: 0 0 0 15px; float: left;} .gn-menu-main .navbar-right li.active > a{background: #4c9be8; color: #fff;} .gn-menu-main .navbar-right { border-radius: 0!important;} .ak-zmaster-droplayer { position: fixed; top: 56px; left: 0; right: 0; bottom: 0; background:transparent none repeat scroll !important; z-index: 1001; width:100%; } .dropcap img{float: left;height: 40px;padding: 2px;width:40px;} .rounded-x{border-radius: 50% !important;} .dropcap{width:50px;height:50px;color: #555;float: left;line-height: 50px;margin: 0 5px 0 0;overflow:hidden;font-size:24px;text-align:center;} .dropcap.dropcap1{width:40px;height:40px; overflow:hidden;} .mes-panel-left{width:60px;} .mes-panel-right{width:80%;width:calc( 100% - 60px)!important;} .ak-mes-defbox-new2 p{color: #b8b8b8;font-size: 12px;} /*navbar*/ @media(max-width:400px) {.gn-menu-main .navbar-right a { padding: 0 8px !important; font-size: 18px; } .gn-menu-main .navbar-right .ak-zuser-aimgbox { padding: 0 8px !important; } } @media(min-width: 992px) {.gn-menu-main.navbar { border-radius: 0!important;}} .navbar{ border-radius: 0!important;} @media (max-width:500px) {.gn-menu-main .logo {padding-left:10px!important;} .menu-toggle .hamburger span { width:20px;}.gn-menu-main li.gn-trigger { width: 46px;}} @media(min-width: 992px) {.gn-menu-main.navbar { border-radius: 0!important;}} .navbar{ border-radius: 0!important;} @media (max-width:500px) {.gn-menu-main .logo {padding-left:10px!important;} .menu-toggle .hamburger span { width:20px;}.gn-menu-main li.gn-trigger { width: 46px;}} .gn-menu-main .logo {overflow:hidden; white-space:nowrap !important;text-overflow:ellipsis;} @media (min-width:1201px) {.gn-menu-main .logo { max-width:460px;}} @media (min-width:993px) and (max-width:1200px) {.gn-menu-main .logo { max-width:350px;}} @media (min-width:769px) and (max-width:992px) {.gn-menu-main .logo { max-width:250px;}} @media (min-width:501px) and (max-width:768px) {.gn-menu-main .logo { max-width:250px;}} @media (min-width:430px) and (max-width:500px) {.gn-menu-main .logo { max-width:200px;}} @media (max-width:430px) {.gn-menu-main .logo { max-width:150px;}} /*.menu-toggle.gn-selected .cross span:nth-child(2){ width: 33px;} .menu-toggle.gn-selected .cross span:nth-child(1){ height: 33px;}*/ /*nav button*/ @media(max-width:500px) {.gn-menu-main > li > .menu-toggle.gn-icon {padding:0;} .menu-toggle .hamburger {margin-left:10px;} .menu-toggle .cross {left:18px;} .menu-toggle .cross span:nth-child(1){top: 26px; left: 8px; } .menu-toggle .cross span:nth-child(2){ left: -5px; top: 40px; } .menu-toggle.gn-selected .cross span:nth-child(2){ width: 30px;} .menu-toggle.gn-selected .cross span:nth-child(1){ height: 30px;} } /*4-15*/ .gn-menu-main ul.gn-menu a { color: #fff;} .gn-menu-main, .gn-menu-main ul { line-height: 56px; } .ak-mp01-nav-icon { margin-top:17px; } .gn-menu-wrapper.gn-open-all .gn-submenu li { height: 50px; line-height: 50px; } .gn-menu-main ul.gn-menu a { display: inline-block; width: 100%; height: 56px; } .gn-menu .arrow { line-height: 50px; color: #fff; } .ak-mp01-nav-icon img {display: block; max-width: 100%; height: auto;} .gn-menu-wrapper { width: 50px!important; top:50px;} .gn-menu-main li.gn-trigger { width: 50px!important;} .gn-menu-wrapper.gn-open-all { width: 270px!important;} .ak-mp01-nav-icon { width: 16px; height: 16px; } .ak-mp01-nav-icon { margin: 17px 20px 0 15px; }.gn-menu-main > li > a { height: 50px;margin:0; } .gn-menu-main, .gn-menu-main ul { line-height: 50px; } .gn-menu-main { height: 50px; } .gn-menu i { padding: 0 18px; font-size: 14px; } .menu-toggle .cross span:nth-child(2) { left: 1px; top: 37px; height: 1px;} .menu-toggle.gn-selected .cross span:nth-child(2) { width: 46%; } .menu-toggle .cross span:nth-child(1) { top: 26px; left: 12px; width: 1px;} .menu-toggle .hamburger { margin-left:-2px; } .menu-toggle .hamburger span { height: 1px; } .gn-menu-main li.gn-trigger a { padding: 0;} /*grey*/ .gn-menu-wrapper { width: 56px!important; top:56px;} .gn-menu-main li.gn-trigger { width: 56px!important;} @media (min-width: 769px) {.gn-menu-main li.gn-trigger {margin:-1px 0 0 -1px!important;}} .gn-menu-wrapper.gn-open-all { width: 270px!important;} .ak-mp01-nav-icon { margin: 20px 20px 0 20px; } .gn-menu-main > li > a { padding: 0 15px; } .gn-menu-main > li > a { height: 56px;margin:0; } .gn-menu-main, .gn-menu-main ul { line-height: 56px; } .gn-menu-main { height: 56px; } .menu-toggle .cross span:nth-child(2) { left: 1px; top: 37px; height: 1px;} .menu-toggle.gn-selected .cross span:nth-child(2) { width: 46%; } .menu-toggle .cross span:nth-child(1) { top: 26px; left: 12px; width: 1px;} .menu-toggle .hamburger { margin-left:-2px; } .ak-mp01-nav-icon { width: 16px; height: 16px; } .menu-toggle .hamburger span { height: 1px; } .gn-open-all .ak-zmp-nav { width: 100%!important; } .gn-menu .fa.arrow:before { display: none; } .gn-menu .fa.arrow{ background:url(../../images/ak-common.png) no-repeat -300px -120px; width: 30px; height: 30px; display: inline-block; margin-top:13px; } .metismenu .active>a>.fa.arrow { background-position:-360px -300px; } .gn-menu-main > li > a { padding: 0 15px; } .menu-toggle .hamburger span { width: 20px; height: 2px; position: relative; } .menu-toggle .cross span:nth-child(1) { height: 0%; width: 2px; position: absolute; top: 32px; left: 9px; -webkit-transition-delay: 0s; transition-delay: 0s; } .menu-toggle .cross span:nth-child(2) { width: 0%; height: 2px; position: absolute; left: -6px; top: 47px; -webkit-transition-delay: .25s; transition-delay: .25s; } .gn-menu-main li.gn-trigger #menu-toggle { padding: 0 15px;} .menu-toggle .cross span:nth-child(1) { position: absolute; top: 32px; left: 9px; width: 3px; height: 0%; -webkit-transition-delay: 0s; transition-delay: 0s; } .menu-toggle .cross span:nth-child(2) { position: absolute; top: 47px; left: -6px; width: 0%; height: 3px; -webkit-transition-delay: .25s; transition-delay: .25s; } .menu-toggle .cross span:nth-child(2) { left: 1px; top: 38px; height: 1px;} .menu-toggle.gn-selected .cross span:nth-child(2) { width: 26px; } .menu-toggle .cross span:nth-child(1) { top: 26px; left: 13px; width: 1px;} .menu-toggle .hamburger { margin-left:-2px; } .menu-toggle .hamburger span { height: 1px; } .menu-toggle.gn-selected .cross span:nth-child(1) { height: 26px; -webkit-transition-delay: .625s; transition-delay: .625s; } .menu-toggle.gn-selected .cross span:nth-child(2) { width: 46%; -webkit-transition-delay: .375s; transition-delay: .375s; } .gn-menu-main li.gn-trigger a { font-size: 14px;} .gn-menu-main .logo {line-height:56px;} .gn-search-item input.gn-search { padding-left:56px;} .mini-nav .content { margin: 0 0 0 56px;} .gn-search-item input.gn-search:hover { color: #fff!important;} .menu-toggle .hamburger { top:15px;} .menu-toggle .cross { top:3px;} ================================================ FILE: automatic/static/css/page-v3/ak-master-page-v3style.css ================================================ @charset "UTF-8"; /* * * RENAISSANCE - Responsive Admin Theme * version 1.3.0 * */ .preloader { position: fixed !important; z-index: 99999; width: 100%; height: 100%; } /*! * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/) * Copyright 2015 Daniel Cardoso <@DanielCardoso> * Licensed under MIT */ .la-ball-scale-multiple, .la-ball-scale-multiple > div { position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .la-ball-scale-multiple { display: block; margin: 0 auto; color: #63A8EB; font-size: 0; } .la-ball-scale-multiple.la-dark { color: #333; } .la-ball-scale-multiple > div { float: none; display: inline-block; border: 0 solid currentColor; background-color: currentColor; } .la-ball-scale-multiple { width: 32px; height: 32px; } .la-ball-scale-multiple > div { position: absolute; top: 0; left: 0; width: 32px; height: 32px; -webkit-border-radius: 100%; border-radius: 100%; opacity: 0; -webkit-animation: ball-scale-multiple 1s 0s linear infinite; animation: ball-scale-multiple 1s 0s linear infinite; } .la-ball-scale-multiple > div:nth-child(2) { -webkit-animation-delay: .2s; animation-delay: .2s; } .la-ball-scale-multiple > div:nth-child(3) { -webkit-animation-delay: .4s; animation-delay: .4s; } .la-ball-scale-multiple.la-sm { width: 16px; height: 16px; } .la-ball-scale-multiple.la-sm > div { width: 16px; height: 16px; } .la-ball-scale-multiple.la-2x { width: 64px; height: 64px; } .la-ball-scale-multiple.la-2x > div { width: 64px; height: 64px; } .la-ball-scale-multiple.la-3x { width: 96px; height: 96px; } .la-ball-scale-multiple.la-3x > div { width: 96px; height: 96px; } /* * Animation */ @-webkit-keyframes ball-scale-multiple { 0% { opacity: 0; -webkit-transform: scale(0); transform: scale(0); } 5% { opacity: .75; } 100% { opacity: 0; -webkit-transform: scale(1); transform: scale(1); } } @keyframes ball-scale-multiple { 0% { opacity: 0; -webkit-transform: scale(0); transform: scale(0); } 5% { opacity: .75; } 100% { opacity: 0; -webkit-transform: scale(1); transform: scale(1); } } /*Timer Loader*/ .refresh-preloader { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; display: none; background: #fff; text-align: center; } .refresh-preloader .la-timer { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); } .gn-scroller { overflow-x: hidden; height: -webkit-calc(100% - 65px); height: calc(100% - 65px); } .gn-menu-main, .gn-menu-main ul { z-index: 1200; margin: 0; padding: 0; width: 270px; list-style: none; text-transform: none; font-weight: 300; line-height: 66px; } .gn-menu-main { position: fixed; top: 0; left: 0; width: 100%; height: 56px; font-size: 13px; } .gn-menu-main a { display: block; height: 100%; text-decoration: none; cursor: pointer; } .gn-menu-main > li { float: left; display: block; padding: 0; height: 100%; text-align: center; } .gn-menu-main > li > a { padding: 0 30px; text-transform: uppercase; letter-spacing: 1px; font-weight: bold; } .gn-menu-main li.gn-trigger { position: relative; width: 66px; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .gn-menu-main:after { clear: both; display: table; content: ""; } .gn-menu-main .navbar-right { width: auto; line-height: 54px; } .gn-menu-main .navbar-right a { padding: 0 20px !important; font-size: 18px; } .gn-menu-main .navbar-right .mdi { vertical-align: -5px; font-size: 30px; } .gn-menu-main .navbar-right .cs-select { margin-bottom: 0; } .gn-menu-main .navbar-right .cs-select > span { margin-top: -1px; padding: 0 3em 0 1em; height: 55px; line-height: 50px; } .gn-menu-main .navbar-right .cs-select ul { width: auto; line-height: 1.42857143; } .gn-menu-main .navbar-right .cs-select ul li { width: 100%; } .gn-menu-main .navbar-right .cs-select ul li span { padding-left: 52px; background-position: 12% 50%; background-size: 2em auto; background-repeat: no-repeat; text-align: left; } .gn-menu-main .navbar-right .cs-skin-elastic .cs-options li.flag-france span { background : #FFFFFF; } .gn-menu-main .navbar-right .cs-skin-elastic .cs-options li.flag-england span { background : #FFFFFF; } .gn-menu-main .navbar-right .cs-skin-elastic .cs-options li.flag-germany span { background : #FFFFFF; } .gn-menu-main .navbar-right .label { right: 8px; } .gn-menu-main .logo { padding: 0 14px; font-weight: 300; font-size: 20px; line-height: 56px; } .gn-menu-main .logo i { margin-left: 10px; } .gn-menu-main .member-info { line-height: 1.42857143; } .menu-toggle { position: relative; cursor: pointer; } .menu-toggle span { display: block; -webkit-border-radius: 2px; border-radius: 2px; -webkit-transition-duration: .2s; transition-duration: .2s; -webkit-transition-property: top, left, width, height; transition-property: top, left, width, height; } .menu-toggle .hamburger { position: absolute; top: 12px; margin-left: -13px; } .menu-toggle .hamburger span { position: relative; margin: 6px 0; width: 30px; height: 3px; } .menu-toggle .hamburger span:nth-child(1) { -webkit-transition-delay: .5s; transition-delay: .5s; } .menu-toggle .hamburger span:nth-child(2) { -webkit-transition-delay: .625s; transition-delay: .625s; } .menu-toggle .hamburger span:nth-child(3) { -webkit-transition-delay: .75s; transition-delay: .75s; } .menu-toggle .cross { position: absolute; width: 100%; height: 100%; -webkit-transform: rotate(45deg); transform: rotate(45deg); -ms-transform: rotate(45deg); } .menu-toggle .cross span:nth-child(1) { position: absolute; top: 32px; left: 9px; width: 3px; height: 0%; -webkit-transition-delay: 0s; transition-delay: 0s; } .menu-toggle .cross span:nth-child(2) { position: absolute; top: 47px; left: -6px; width: 0%; height: 3px; -webkit-transition-delay: .25s; transition-delay: .25s; } .menu-toggle.gn-selected .hamburger span { width: 0%; } .menu-toggle.gn-selected .hamburger span:nth-child(1) { -webkit-transition-delay: 0s; transition-delay: 0s; } .menu-toggle.gn-selected .hamburger span:nth-child(2) { -webkit-transition-delay: .125s; transition-delay: .125s; } .menu-toggle.gn-selected .hamburger span:nth-child(3) { -webkit-transition-delay: .25s; transition-delay: .25s; } .menu-toggle.gn-selected .cross span:nth-child(1) { height: 60%; -webkit-transition-delay: .625s; transition-delay: .625s; } .menu-toggle.gn-selected .cross span:nth-child(2) { width: 52%; -webkit-transition-delay: .375s; transition-delay: .375s; } .gn-menu-wrapper { position: fixed; top: 56px; bottom: 0; left: 0; overflow: hidden; width: 66px; -webkit-transition: -webkit-transform 0.3s, width 0.3s; transition: transform 0.3s, width 0.3s; -webkit-transform: translateX(-66px); transform: translateX(-66px); -ms-transform: translateX(-66px); } .gn-menu { padding-bottom: 40px !important; text-align: left; font-size: 16px; } .gn-menu li.active > a { color: #fff !important; } .gn-menu i { padding: 0 24px; font-size: 19px; } .gn-menu .label { margin-top: 24px; margin-right: 12px; padding-top: .3em; } .gn-menu .arrow { float: right; margin-right: 12px; line-height: 66px; } .gn-submenu { position: relative; z-index: 0 !important; } .gn-submenu li { overflow: hidden; height: 0; -webkit-transition: height, .3s; transition: height, .3s; } .gn-submenu li a { position: relative; padding-left: 66px; } .gn-submenu li a:before { position: absolute; left: 32px; width: 3px; height: 100%; content: ""; } .gn-submenu li a.active:after { position: absolute; top: 16px; left: 35px; border: 8px solid transparent; content: ""; } .gn-search-item { position: relative; } .gn-search-item input.gn-search { position: relative; padding-right: 15px; padding-left: 66px; width: 270px; outline: none; border: none; -webkit-border-radius: 0; border-radius: 0; font-weight: 300; cursor: pointer; -webkit-appearance: none; } input.gn-search:focus { cursor: text; } .gn-menu-main a.search-icon { position: absolute; top: 0; left: 0; height: 60px; } /* if an icon anchor has a span, hide the span */ .search-icon span { display: block; overflow: hidden; width: 0; height: 0; } /* styles for opening menu */ .gn-menu-wrapper.gn-open-all, .gn-menu-wrapper.gn-open-part, .gn-menu-wrapper.gn-open-fixed { -webkit-transform: translateX(0px); transform: translateX(0px); -ms-transform: translateX(0px); } .gn-menu-wrapper.gn-open-all { width: 270px; } .gn-menu-wrapper.gn-open-all .gn-submenu li { height: 50px; line-height: 50px; } .top-clock { position: absolute; top: 0; /*left: 50%;*/ /*margin-left: -90px;*/ width:180px; font-weight: 300; font-size: 24px; line-height: 56px; } .bottom-bnts { position: absolute; right: 0; bottom: 0; left: 0; background: #2C393F; } .bottom-bnts a { display: block; text-align: center; font-size: 19px; line-height: 66px; } .bottom-bnts .profile, .bottom-bnts .fix-nav { display: none; } .gn-open-all .bottom-bnts a { display: inline-block; width: 32%; } .mini-nav .content { margin: 0 0 0 60px; } .right-menu > li { float: left; } .right-menu a { margin: 0; padding: 15px 30px !important; } .right-menu .label { position: absolute; top: 8px; right: 15px; font-size: 72%; } .lang a { padding: 17px 15px !important; font-size: 15px; } .lang i { margin-left: 5px; } .some-btn a { padding: 17px 30px !important; font-size: 15px; } @media screen and (max-width: 422px) { .gn-menu-main ul { width: 100%; } .gn-menu-wrapper.gn-open-all { width: 100%; -webkit-transform: translateX(0px); transform: translateX(0px); -ms-transform: translateX(0px); } .gn-menu-wrapper.gn-open-all .bottom-bnts a { display: inline-block; width: 49%; } .gn-menu-wrapper.gn-open-all .fix-nav { display: none !important; } } a, button { outline: none !important; text-decoration: none; -webkit-tap-highlight-color: transparent; } button:focus, button:active { outline: none !important; } button::-moz-focus-inner { border: 0; } html { height: 100%; } body { position: relative; overflow-x: hidden; padding-top: 56px; background: #F1F4F5; color: #555; font-weight: 300; font-size: 14px; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; } .main-wrapper { position: relative; width: 100%; } .boxed-layout { overflow: hidden; margin: 0 auto; max-width: 1200px; -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75); box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75); } /*Boxes*/ .content { position: relative; margin: 0; padding: 20px 30px 66px; background: #F1F4F5; -webkit-transition: margin, .4s; transition: margin, .4s; } .content-box { position: relative; overflow: hidden; margin-bottom: 30px; -webkit-border-radius: 3px; border-radius: 3px; background: #fff; -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05); box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05); } .content-box .lead { font-size: 16px; } .page-header .breadcrumb, .page-header h2 { margin: 0; padding: 0; } .page-header h2 { padding-bottom: 10px; } .content-title { position: relative; width: 100%; } .content-title h4 { float: left; display: inline-block; } .content-tools > a { position: relative; display: inline-block; margin-left: 28px; text-decoration: none; opacity: .99; cursor: pointer; } .content-tools > a:before { position: absolute; top: -5px; left: -7px; z-index: -1; width: 28px; height: 28px; -webkit-border-radius: 50%; border-radius: 50%; background: rgba(39, 50, 56, 0.25); content: ""; -webkit-transition: -webkit-transform .2s ease-in-out; transition: transform .2s ease-in-out; -webkit-transform: scale(0); transform: scale(0); -ms-transform: scale(0); } .content-tools > a:last-child:before { left: -9px; } .content-tools > a:hover { color: #fff; } .content-tools > a:hover:before { -webkit-transform: scale(1); transform: scale(1); -ms-transform: scale(1); } .chart-legend { position: absolute; right: 20px; bottom: -14px; } .chart-legend table { display: inline-block; } .chart-legend .legendColorBox div { margin-right: 2px; margin-left: 10px; -webkit-border-radius: 50%; border-radius: 50%; } .chart-legend .round { display: inline-block; margin-right: 4px; margin-left: 14px; width: 12px; height: 12px; -webkit-border-radius: 50%; border-radius: 50%; } .left-block, .chart-legend.left { bottom: -30px !important; left: 20px !important; } .left-block .item, .chart-legend.left .item { margin-right: 10px; } .member-info { margin-top: 20px; font-weight: 400; } .member-info img { margin-right: 10px; } .member-info .member-role { margin-top: 8px; } .member-info .member-role .round { display: inline-block; margin-right: 4px; width: 12px; height: 12px; -webkit-border-radius: 50%; border-radius: 50%; } /*Dropdown*/ .dropdown, .dropup { display: inline-block; } /* .dropdown .dropdown-menu, .dropup .dropdown-menu, .btn-group .dropdown-menu, .content-tools .dropdown-menu { opacity: 0; */ /* -webkit-transform: scale(0); */ /* -ms-transform: scale(0); */ /* transform: scale(0); */ /* -webkit-transition: all .2s; */ /* transition: all .2s; */ /* -webkit-backface-visibility: hidden; */ /* backface-visibility: hidden; */ /* display: block; */ /* border-color: transparent; */ /* -webkit-border-radius: 3px; */ /* border-radius: 3px; */ .dropdown .dropdown-menu > li > a, .dropup .dropdown-menu > li > a, .btn-group .dropdown-menu > li > a, .content-tools .dropdown-menu > li > a { padding: 8px 20px; } .dropdown .dropdown-menu.pull-right, .dropup .dropdown-menu.pull-right, .btn-group .dropdown-menu.pull-right, .content-tools .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown .dropdown-menu, .btn-group .dropdown-menu, .content-tools .dropdown-menu { -webkit-transform-origin: top left; transform-origin: top left; -ms-transform-origin: top left; } .dropdown .dropdown-menu.pull-right, .btn-group .dropdown-menu.pull-right, .content-tools .dropdown-menu.pull-right { -webkit-transform-origin: top right; transform-origin: top right; -ms-transform-origin: top right; } .dropdown.notifications .dropdown-menu, .content-tools .dropdown-menu { -webkit-transform-origin: top right; transform-origin: top right; -ms-transform-origin: top right; } .dropup .dropdown-menu { -webkit-transform-origin: bottom left; transform-origin: bottom left; -ms-transform-origin: bottom left; } .dropup .dropdown-menu.pull-right { -webkit-transform-origin: bottom right; transform-origin: bottom right; -ms-transform-origin: bottom right; } .dropdown.open .dropdown-menu, .dropup.open .dropdown-menu, .btn-group.open .dropdown-menu, .content-tools.open .dropdown-menu { opacity: 1; -webkit-transform: scale(1); transform: scale(1); -ms-transform: scale(1); } .user-info .dropdown-menu { margin-top: 10px; } .content-tools .dropdown-menu { margin-top: -5px; margin-right: 28px; min-width: 150px; } .content-tools .dropdown-menu a { margin-left: 0; } .notifications .dropdown-menu, .clock .dropdown-menu { padding: 10px; min-width: 240px; background: #fff !important; } .clock .dropdown-menu { left: -20px; color: #76828E; } .clock .progress { margin-top: 3px; margin-bottom: 6px; height: 10px; } .reg-chart .content-tools .dropdown-menu, .calendar .content-tools .dropdown-menu { margin-top: 10px; margin-right: 9px; min-width: 150px; } /*Page 404*/ .table-wrapper { position: absolute; top: 0; left: 0; display: table; width: 100%; height: 100%; background: #F1F4F5; } .table-wrapper .table-row { display: table-row; } .table-wrapper .table-row .table-cell { display: table-cell; vertical-align: middle; } .table-wrapper .pagenotfound { width: 100%; max-width: 520px; min-width: 280px; } .table-wrapper .pagenotfound .top { position: relative; } .table-wrapper .pagenotfound h1 { font-weight: 100; font-size: 150px; } .table-wrapper .pagenotfound .icon-home { position: absolute; right: 30px; bottom: -25px; } .table-wrapper .pagenotfound .icon-back { position: absolute; top: 10px; left: 10px; } .table-wrapper .pagenotfound .fa-circle { text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.13); } .table-wrapper .pagenotfound h4, .table-wrapper .pagenotfound p { padding: 0 30px; font-weight: 400; } .table-wrapper .pagenotfound .input-group-addon { background: #fff; } .table-wrapper .pagenotfound input { padding-left: 0; border-left: 0; } .table-wrapper .pagenotfound input:focus { border-color: #E7EBEC; -webkit-box-shadow: none; box-shadow: none; } /*Contacts Page*/ .contact-info { margin-top: 10px; padding-left: 50px; } .contact-info i { margin-right: 5px; } .contact-info p { margin: 0; } .contact-info p:first-child { margin-bottom: 10px; } .fileinput-new.input-group .btn-file, .fileinput-new .input-group .btn-file { border: 1px solid #E7EBEC; border-right: 0; -webkit-border-radius: 3px 0 0 3px; border-radius: 3px 0 0 3px; -webkit-box-shadow: none; box-shadow: none; } .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { border-color: #63A8EB; background-color: #63A8EB; } /* Common, default styles for the notification box. Adapted from http://tympanus.net/codrops/2014/07/23/notification-styles-inspiration*/ .ns-box { position: fixed; z-index: 4000; padding: 22px; background: #368fe5; color: #fff; font-size: 90%; line-height: 1.4; pointer-events: none; } .ns-box a { color: inherit; font-weight: 700; opacity: 0.7; } .ns-box a:hover, .ns-box a:focus { opacity: 1; } .ns-box p { margin: 0; } .ns-box .fa { margin-left: -5px; } .ns-box.ns-show, .ns-box.ns-visible { pointer-events: auto; } .ns-close { position: absolute; top: 4px; right: 4px; overflow: hidden; width: 20px; height: 20px; text-indent: 100%; cursor: pointer; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .ns-close:hover, .ns-close:focus { outline: none; } .ns-close:before, .ns-close:after { position: absolute; top: 50%; left: 50%; width: 3px; height: 60%; background: #6e6e6e; content: ''; } .ns-close:hover::before, .ns-close:hover::after { background: #fff; } .ns-close:before { -webkit-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); -ms-transform: translate(-50%, -50%) rotate(45deg); } .ns-close:after { -webkit-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); -ms-transform: translate(-50%, -50%) rotate(-45deg); } /* Growl-style notifications */ .ns-attached { left: 30px; max-width: 300px; } [class^="ns-effect-"].ns-attached.ns-hide, [class*=" ns-effect-"].ns-attached.ns-hide { -webkit-animation-direction: reverse; animation-direction: reverse; } #welcome .ns-box { top: 65px !important; right: 30px; left: auto; padding: 30px 60px !important; } #welcome .ns-box span { color: #fff !important; font-size: 14px; } /* Individual effects */ /* Flip */ .ns-effect-flip { bottom: 0px; padding: 1.5em; max-width: 280px; background: #9bd1a2; font-size: 1.15em; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -ms-transform-origin: 50% 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .ns-effect-flip .ns-close::before, .ns-effect-flip .ns-close::after { background: #5a9862; } .ns-effect-flip .ns-close:hover::before, .ns-effect-flip .ns-close:hover::after { background: #4e8455; } .ns-effect-flip.ns-show, .ns-effect-flip.ns-hide { -webkit-animation-name: animFlipFront; animation-name: animFlipFront; -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .ns-effect-flip.ns-hide { -webkit-animation-name: animFlipBack; animation-name: animFlipBack; } @-webkit-keyframes animFlipFront { 0% { -webkit-transform: perspective(1000px) rotate3d(1, 0, 0, -90deg); transform: perspective(1000px) rotate3d(1, 0, 0, -90deg); } 100% { -webkit-transform: perspective(1000px); transform: perspective(1000px); } } @keyframes animFlipFront { 0% { -webkit-transform: perspective(1000px) rotate3d(1, 0, 0, -90deg); transform: perspective(1000px) rotate3d(1, 0, 0, -90deg); } 100% { -webkit-transform: perspective(1000px); transform: perspective(1000px); } } @-webkit-keyframes animFlipBack { 0% { -webkit-transform: perspective(1000px) rotate3d(1, 0, 0, 90deg); transform: perspective(1000px) rotate3d(1, 0, 0, 90deg); } 100% { -webkit-transform: perspective(1000px); transform: perspective(1000px); } } @keyframes animFlipBack { 0% { -webkit-transform: perspective(1000px) rotate3d(1, 0, 0, 90deg); transform: perspective(1000px) rotate3d(1, 0, 0, 90deg); } 100% { -webkit-transform: perspective(1000px); transform: perspective(1000px); } } /* Bouncy Flip adapted from animate.css by Dan Eden: http://daneden.github.io/animate.css/ */ .ns-effect-bouncyflip { top: 0; background: #ffc107; -webkit-box-shadow: 0 13px 10px -5px rgba(0, 0, 0, 0.2); box-shadow: 0 13px 10px -5px rgba(0, 0, 0, 0.2); color: #484860; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -ms-transform-origin: 50% 0%; } .ns-effect-bouncyflip .icon { position: absolute; top: 2em; left: 2em; display: block; } .ns-effect-bouncyflip p { padding: 0.5em 0.8em 0.8em 3.5em; } .ns-effect-bouncyflip .ns-close::after, .ns-effect-bouncyflip .ns-close::before { background: #fff; opacity: .7; } .ns-effect-bouncyflip .ns-close:hover::after, .ns-effect-bouncyflip .ns-close:hover::before { opacity: 1; } .ns-effect-bouncyflip.ns-show, .ns-effect-bouncyflip.ns-hide { background: #ffc107; color: #fff !important; -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration: 0.8s; animation-duration: 0.8s; } @-webkit-keyframes flipInX { 0% { -webkit-transition-timing-function: ease-in; transition-timing-function: ease-in; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); transform: perspective(400px) rotate3d(1, 0, 0, -90deg); } 40% { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); transform: perspective(400px) rotate3d(1, 0, 0, 20deg); } 60% { opacity: 1; -webkit-transition-timing-function: ease-in; transition-timing-function: ease-in; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg); transform: perspective(400px) rotate3d(1, 0, 0, -10deg); } 80% { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg); transform: perspective(400px) rotate3d(1, 0, 0, 5deg); } 100% { -webkit-transform: perspective(400px); transform: perspective(400px); } } @keyframes flipInX { 0% { -webkit-transition-timing-function: ease-in; transition-timing-function: ease-in; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); transform: perspective(400px) rotate3d(1, 0, 0, -90deg); } 40% { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); transform: perspective(400px) rotate3d(1, 0, 0, 20deg); } 60% { opacity: 1; -webkit-transition-timing-function: ease-in; transition-timing-function: ease-in; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg); transform: perspective(400px) rotate3d(1, 0, 0, -10deg); } 80% { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg); transform: perspective(400px) rotate3d(1, 0, 0, 5deg); } 100% { -webkit-transform: perspective(400px); transform: perspective(400px); } } .ns-effect-bouncyflip.ns-hide { -webkit-animation-name: flipInXSimple; animation-name: flipInXSimple; -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } @-webkit-keyframes flipInXSimple { 0% { -webkit-transition-timing-function: ease-in; transition-timing-function: ease-in; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); transform: perspective(400px) rotate3d(1, 0, 0, -90deg); } 100% { -webkit-transform: perspective(400px); transform: perspective(400px); } } @keyframes flipInXSimple { 0% { -webkit-transition-timing-function: ease-in; transition-timing-function: ease-in; -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); transform: perspective(400px) rotate3d(1, 0, 0, -90deg); } 100% { -webkit-transform: perspective(400px); transform: perspective(400px); } } @media screen and (max-width: 25em) { .ns-attached { right: 30px; left: 30px; max-width: none; } } /* To bar notifications */ .ns-box.ns-bar { top: 0; left: 0; width: 100%; } .ns-bar .ns-close { top: 50%; right: 20px; background: transparent; -webkit-transform: translateY(-50%); transform: translateY(-50%); -ms-transform: translateY(-50%); } .ns-bar .ns-close:before, .ns-bar .ns-close:after { background: #fff; } [class^="ns-effect-"].ns-bar.ns-hide, [class*=" ns-effect-"].ns-bar.ns-hide { -webkit-animation-direction: reverse; animation-direction: reverse; } /* Individual Effects */ body nav .slimScrollDiv { padding-bottom: 65px; } body .slimScrollDiv { padding-bottom: 0; } .form-control.material { padding-left: 0; border: 0; -webkit-border-radius: 0; border-radius: 0; background-color: transparent; background-image: -webkit-gradient(linear, left top, left bottom, from(#63A8EB), to(#63A8EB)), -webkit-gradient(linear, left top, left bottom, from(#d2d2d2), to(#d2d2d2)); background-image: -webkit-linear-gradient(#63A8EB, #63A8EB), -webkit-linear-gradient(#d2d2d2, #d2d2d2); background-image: linear-gradient(#63A8EB, #63A8EB), linear-gradient(#d2d2d2, #d2d2d2); background-position: center bottom, center -webkit-calc(100% - 1px); background-position: center bottom, center calc(100% - 1px); background-size: 0 2px,100% 1px; background-repeat: no-repeat; -webkit-box-shadow: none; box-shadow: none; } .form-control.material:focus { outline: none; -webkit-box-shadow: none; box-shadow: none; -webkit-animation: input-highlight .5s forwards; animation: input-highlight .5s forwards; } @-webkit-keyframes input-highlight { 0% { background-size: 0 2px, 100% 1px; } 100% { background-size: 100% 2px, 100% 1px; } } @keyframes input-highlight { 0% { background-size: 0 2px, 100% 1px; } 100% { background-size: 100% 2px, 100% 1px; } } /*Member sidebar*/ .members-sidebar { position: fixed; top: 56px; right: -245px; bottom: 0; z-index: 605; overflow: hidden; padding: 20px; width: 240px !important; background: #fff; -webkit-box-shadow: -1px 1px 5px 0px rgba(0, 0, 0, 0.13); box-shadow: -1px 1px 5px 0px rgba(0, 0, 0, 0.13); -webkit-transition: all, .5s; transition: all, .5s; } .members-sidebar .messages { margin-top: 30px; } .members-sidebar .member-name { font-weight: 500; } .members-sidebar li { padding: 10px 0; font-weight: 400; } .members-sidebar li .status { display: inline-block; margin-right: 8px; width: 10px; height: 10px; -webkit-border-radius: 50%; border-radius: 50%; background-color: #E7EBEC; } .members-sidebar li .online { background-color: #4caf50; } .members-sidebar li .not-available { background-color: #ffc107; } .members-sidebar .members-group { padding-top: 30px; font-size: 16px; } .members-sidebar-open { right: 0 !important; } .close-members-sidebar { font-size: 18px; cursor: pointer; } /*Skins*/ .gn-menu-main { background: #091c33; color: #fff; } .gn-menu-main ul.gn-menu { background: #273238; } .gn-menu-main ul.gn-menu a { color: #76828E; } .gn-menu-main a:hover { background-color: #666777; } .gn-menu-main ul.gn-menu a.active { color: #fff; } .gn-menu-main a { color: #FFFFFF; } .gn-menu-main .navbar-right .cs-select > span { border-color: #63A8EB; background: #63A8EB; color: #fff; } .gn-menu-main .cs-skin-elastic .cs-options span:hover, .gn-menu-main .cs-skin-elastic .cs-options li.cs-focus span, .gn-menu-main .cs-skin-elastic .cs-options .cs-selected span { color: #63A8EB; } .gn-menu-main .notifications > a:focus { background-color: #666777 !important; } .gn-menu-main .notifications ul { color: #76828E; } #menu-toggle:hover span { background: #fff !important; } #menu-toggle span { background: #273238; } .no-touch .gn-menu-main a:hover, .no-touch .gn-search-item:hover { background: #4c9be8; color: #fff; } .gn-menu-wrapper { background: #273238; } .gn-menu .arrow { color: #76828E; } .gn-submenu { background: #313f47 !important; } .gn-submenu li a { color: #76828E; } .gn-submenu li a:before { background: #273238; } .gn-submenu li a.active { color: #fff; } .gn-submenu li a.active:after { border-left: 8px solid #273238; } .gn-search-item:hover a { color: #fff !important; } .gn-search-item.active input.gn-search { background: #fff; } .gn-search-item.active .search-icon { color: #76828E !important; } .gn-search-item.active .search-icon:hover { background: #fff; } .gn-search-item.active:hover input.gn-search { color: #76828E !important; } .gn-search-item.active:hover input.gn-search:-moz-placeholder { color: #76828E !important; } .gn-search-item.active:hover input.gn-search::-moz-placeholder { color: #76828E !important; } .gn-search-item.active:hover input.gn-search:-ms-input-placeholder { color: #76828E !important; } .gn-search-item.active:hover input.gn-search::-webkit-input-placeholder { color: #76828E !important; } .gn-search-item input.gn-search { background: transparent; color: #76828E; } .gn-search-item input.gn-search:-moz-placeholder { color: #76828E; } .gn-search-item input.gn-search::-moz-placeholder { color: #76828E; } .gn-search-item input.gn-search:-ms-input-placeholder { color: #76828E; } .gn-search-item input.gn-search::-webkit-input-placeholder { color: #76828E; } .gn-search-item:hover input.gn-search { color: #fff !important; } .gn-search-item:hover input.gn-search:-moz-placeholder { color: #fff !important; } .gn-search-item:hover input.gn-search::-moz-placeholder { color: #fff !important; } .gn-search-item:hover input.gn-search:-ms-input-placeholder { color: #fff !important; } .gn-search-item:hover input.gn-search::-webkit-input-placeholder { color: #fff !important; } @media (max-width: 768px) { .footer.f-fixed { margin-left: 0 !important; } /*Remove not useful elements from top navigation*/ .logo, .clock, .lang, .some-btn, .notifications { display: none !important; } /*Remove margins from content block*/ .content { margin: 0; padding: 20px 10px 40px; } @media only screen and (max-width: 450px) { .table-inbox tr td { white-space: nowrap !important; } .content-tools > a { display: inline-block; margin-left: 18px; } .gn-search-item input.gn-search { width: 100%; } } .gn-menu-main { position: fixed; top: 0; left: 0; width: 100%; height: 56px; border: 0; -webkit-border-radius: 0; border-radius: 0; box-shadow: none; font-size: 13px; } .gn-menu-main.ak-menu-shadow { -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); } } ================================================ FILE: automatic/static/css/wheelmenu.css ================================================ /* Required Stylesheets */ a { text-decoration: none; } .wheel-button { position: relative; } .wheel { margin: 0; padding: 0; list-style: none; width: 260px; /* this will determine the diameter of the circle */ height: 200px; /* this will determine the diameter of the circle */ visibility: hidden; position: relative; display: none; } .wheel li { overflow: hidden; float: left; } .wheel li a { display: block; } .wheel-button, .wheel-button:visited { line-height: 35px; font-weight: bold; font-size: 36px; background: #df4727; padding: 10px 11px; text-align: center; border-radius: 50px; width: 60px; height: 60px; color: white; display: block; margin: 70px auto 20px; border: 3px solid #92311e; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); } .wheel-button:hover { color: white; } .wheel-button.ne { border-color: white; background: #35b0ee; color: #0277bd; position: absolute; bottom: 50px; left: 0px; } .wheel-button.nw { border-color: white; background-color: #E67E22; color: #FFFC44; position: absolute; bottom: 10px; right: 10px; } .wheel-button span, .wheel span { position: relative; -moz-transition: all 1s ease; -webkit-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; display: block; } .wheel-button.active span { transform: rotate(135deg); -ms-transform: rotate(135deg); /* IE 9 */ -webkit-transform: rotate(135deg); /* Safari and Chrome */ } .wheel-button.ne span{ font-size:28px; line-height:32px; font-family: sans-serif; } .wheel li a, .wheel li a:visited { background: rgba(0, 0, 0, 0.65); border-radius: 50px; font-weight: bold; padding: 10px; text-align: center; width: 40px; height: 40px; border: 1px solid black; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.5); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.5); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.5); color: white; -moz-transition: all 0.25s ease; -webkit-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease; } .wheel li a:hover { background: rgba(0, 0, 0, 0.8); } ================================================ FILE: automatic/static/js/automagic.js ================================================ /** * Created by ray on 16-9-9. */ function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null)return r[2];return 0; } $(document).ready(function () { //产品和项目二级菜单关联 通过product关联project下拉菜单 $("#selproductid").bind("change", function () { var s1SelectedVal = $('#selproductid').val(); $('#check_productid').val(s1SelectedVal); $.ajax({ type: "GET", data: {'productid': s1SelectedVal}, url: "/setting/get/project/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: 'json', async: false, success: function (result, TextStatus) { //元素管理元素添加项目选择 $('select[name="ele_add_projectid"]').empty(); $('select[name="ele_add_projectid"]').append(''); if (result.length > 0) { for (i = 0; i < result.length; i++) { $('select[name="ele_add_projectid"]').append(''); } } $('#selprojectid').empty(); // $('#selprojectid').append(''); if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#selprojectid').append(''); } } if ($("#selprojectid").val() != localStorage.getItem('project')) { // alert('test'); $("#selprojectid").find("option[value=" + localStorage.getItem('project') + "]").attr("selected", true); } if ($("#selprojectid").val() != "") { $("#selprojectid").change(); } } }); if (s1SelectedVal == localStorage.getItem('product')) { return; } localStorage.setItem('product', s1SelectedVal); localStorage.setItem('moduleid', ''); $('#search_btn').trigger('click'); }); /* 通过project关联module下拉菜单 */ $("#selprojectid").bind("change", function () { var s1SelectedVal = $('#selprojectid').val(); localStorage.setItem('project', s1SelectedVal); $.ajax({ type: "GET", data: {'projectid': s1SelectedVal}, url: "/setting/get/module/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: 'json', success: function (result, TextStatus) { $('#selmoduleid').empty(); $('#selmoduleid').append(''); if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#selmoduleid').append(''); } } if ($("#selmoduleid").val() != localStorage.getItem('moduleid')) { $("#selmoduleid").find("option[value=" + localStorage.getItem('moduleid') + "]").attr("selected", true); } } }); var projectid_url = getUrlParam('projectid'); if (projectid_url == 0 && $('#selprojectid').val() !== null){ $('#search_btn').trigger('click'); } }); /* 通过module关联element 菜单 */ $("#selmoduleid").bind("change", function () { var moduleVal = $('#selmoduleid').val(); var moduleid = localStorage.getItem('moduleid'); if (moduleVal!== moduleid){ $('#search_btn').trigger('click'); localStorage.setItem('moduleid', moduleVal); } }); /* 通过 localStorage 在本地存储选择的产品 */ if (window.localStorage) { var selproduct = localStorage.getItem('product'); $("#selproductid").find("option[value=" + selproduct + "]").attr("selected", true); //$("#selproductid").change(); } if ($("#selproductid") != '') { $("#selproductid").change(); } /* 添加元素页面 project关联module下拉多选菜单 */ $("#sel_projectid").bind("change", function () { var s1SelectedVal = $('#sel_projectid').val(); // $('#mdlist').val(''); // $('#selvalue').val(''); $.ajax({ type: "GET", data: {'projectid': s1SelectedVal}, url: "/setting/get/module/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: 'json', success: function (result, TextStatus) { // $('.multi_select').empty(); // $('#selmoduleid').append(''); // if (result.length > 0) { // $(function (){ // $('.multi_select').MSDL({ // 'width': '160', // 'data': result, // }); // }); // } $('#selvalue').empty(); $('#selvalue').append(''); if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#selvalue').append(''); } } } }); }); /* 编辑元素project关联module下拉菜单 */ $("#eleprojectid").bind("change", function () { var s1SelectedVal = $('#eleprojectid').val(); $.ajax({ type: "GET", data: {'projectid': s1SelectedVal}, url: "/setting/get/module/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: 'json', async: false, success: function (result, TextStatus) { $('#elemoduleid').empty(); $('#elemoduleid').append(''); if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#elemoduleid').append(''); } } } }); }); /* 添加测试用例 */ $('#case_add').submit(function () { $('[name="autocomplete"]').each(function () { if ($(this).val() == '') { $(this).next().val('None') } }); $.ajax({ type: "POST", data: $(this).serialize(), // data:{casedesc:casedesc, isenabled:isenabled, issmoke:issmoke, projectid:projectid, moduleid:moduleid,dependent:dependent,descr:descr,keyword:keyword,elementid:elementid,inputtext:inputtext}, url: "/func/case/add/", cache: false, async: false, dataType: "html", success: function (result, statues, xml) { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1500); window.location.href = "/func/case/list/" }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('保存失败'); setTimeout("$('#log_info').css('display','none');", 1500); } }); return false; }); /* 添加元素 */ $('#ele_add').submit(function () { var descr = $("#id_descr").val(); //获得form中用户输入的descr 注意这里的descr 与你html中的id一致 var projectid = $("#sel_projectid").val(); //同上 var moduleid = $("#selvalue").val(); //同上 var locmode = $("#id_locmode").val(); var location = $("#id_location").val(); var m = [] m = moduleid.split(';') // alert(m.length); for (i = 0; i < m.length; i++) { $.ajax({ type: "POST", data: {descr: descr, projectid: projectid, moduleid: m[i], locmode: locmode, location: location}, url: "/func/element/add/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: "html", success: function (result, statues, xml) { // debugger; $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("$('#log_info').css('display', 'None');$('#id_location').val('');", 1500); //成功时弹出view传回来的结 }, error: function () { // debugger; $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('添加失败。'); setTimeout("location.reload()", 1500); } }); } return false; }); /* 添加关键字 */ $('#add_keyword').submit(function () { var keyword = $('#keyword').val(); var kwdescr = $('#kwdescr').val(); var productid = $('#selproductid').val(); $.ajax({ type: "POST", data: {keyword: keyword, kwdescr: kwdescr, productid: productid}, url: "/func/keyword/add/", cache: false, dataType: "html", success: function (result, statues, xml) { // debugger; $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1500); // alert(result); }, error: function () { // debugger; $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('添加失败,关键字可能已经存在。'); setTimeout("location.reload()", 1500); } }); return false; }); /* 添加产品 */ $('#product_add').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/setting/product/add/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#addProductModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1200); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 编辑产品 */ $('#product_edit').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/setting/product/update/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#editProductModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1200); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 添加项目 */ $('#project_add').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/setting/project/add/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#addProjectModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1200); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 编辑项目 */ $('#project_edit').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/setting/project/update/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#editProjectModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1200); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 添加模块 */ $('#module_add').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/setting/module/add/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#addModuleModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1200); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 编辑模块 */ $('#module_edit').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/setting/module/update/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#editModuleModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1200); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 提交编辑元素 */ $('#element_edit').submit(function () { $.ajax({ type: "POST", data: $(this).serialize(), url: "/func/element/update/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#editElementModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1500); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); $(".radioitem").bind("change", function () { var selectvalue = $("input[name='tasktype']:checked").val(); if (selectvalue == 1) { $("#testrailrunid").show(); $("#testrailsuites").hide(); $("#testsectionid").hide(); $("#treeDemo").show(); $("#customParameters").show(); $("#jenkins_server_url").hide(); $("#user_id").hide(); $("#api_token").hide(); $("#build_name").hide(); $("#selectedCases").show(); } else if (selectvalue == 2) { $("#testrailrunid").hide(); $("#testrailsuites").show(); $("#testsectionid").show(); $("#treeDemo").show(); $("#customParameters").show(); $("#jenkins_server_url").hide(); $("#user_id").hide(); $("#api_token").hide(); $("#build_name").hide(); $("#selectedCases").show(); } else { $("#testrailrunid").hide(); $("#testrailsuites").hide(); $("#testsectionid").hide(); $("#treeDemo").hide(); $("#customParameters").hide(); $("#jenkins_server_url").show(); $("#user_id").show(); $("#api_token").show(); $("#build_name").show(); $("#selectedCases").hide(); } }); /* 提交新增任务 */ $('#task_add').submit(function () { var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); var nodes = treeObj.getCheckedNodes(true); var index = 1; var text = ''; var jsonlist = {}; nodes.forEach(function (node) { if (node.level === 1) { var childIds = []; node.children.forEach(function (child) { childIds.push(child.id) }); jsonlist[index++] = childIds.join(',') } }); text = JSON.stringify(jsonlist); // for (x in nodes){ // if (nodes[x].id < 9999999){ // text = text + nodes[x].id + ","; // } // } $('#caseids').val(text); $.ajax({ type: "POST", data: $(this).serialize(), url: "/func/task/add/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("window.location.href='/func/task/list/'", 500); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('创建失败'); alert('创建失败') } }); return false; }); /* 提交编辑任务 */ $('#task_edit').submit(function () { var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); var nodes = treeObj.getCheckedNodes(true); var index = 1; var text = ""; var jsonlist = {} nodes.forEach(function (node) { if (node.level === 1) { var childIds = [] node.children.forEach(function (child) { if (child.checked === true) { childIds.push(child.id) } }) jsonlist[index++] = childIds.join(',') } }) text = JSON.stringify(jsonlist); // for (x in nodes){ // if (nodes[x].id < 9999999){ // text = text + nodes[x].id + ","; // } // } $('#caseids').val(text); var taskid = $("#taskid").val(); $.ajax({ type: "POST", data: $(this).serialize(), url: "/func/task/update/" + taskid + "/", cache: false, dataType: "html", success: function (result, statues, xml) { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("window.location.href='/func/task/list/'", 500); }, error: function () { $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html('修改失败'); alert('修改失败') } }); return false; }); }); /* 点击产品编辑按钮 */ function setproductValue(id) { $.ajax({ type: "GET", data: {'productid': id}, url: "/setting/setedit/product/", cache: false, dataType: 'json', success: function (result, TextStatus) { if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#editProductModal [name="productid"]').val(result[i].id); $('#editProductModal [name="productname"]').val(result[i].name); $('#editProductModal [name="descr"]').val(result[i].descr); $('#editProductModal [name="sortby"]').val(result[i].sortby); if (result[i].isenabled) { $('#editProductModal input:checkbox').attr("checked", "checked"); } else { $('#editProductModal input:checkbox').attr("checked", false); } } } } }); } /* 点击项目编辑按钮 */ function setprojectValue(id) { $.ajax({ type: "GET", data: {'projectid': id}, url: "/setting/setedit/project/", cache: false, dataType: 'json', success: function (result, TextStatus) { if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#editProjectModal [name="projectid"]').val(result[i].id); $('#editProjectModal [name="projectname"]').val(result[i].name); $('#editProjectModal [name="descr"]').val(result[i].descr); $('#editProjectModal [name="version"]').val(result[i].version); $('#editProjectModal [name="sortby"]').val(result[i].sortby); if (result[i].isenabled) { $('#editProjectModal input:checkbox').attr("checked", "checked"); } else { $('#editProjectModal input:checkbox').attr("checked", false); } } } } }); } /*点击模块编辑按钮*/ function setmoduleValue(id) { $.ajax({ type: "GET", data: {'moduleid': id}, url: "/setting/setedit/module/", cache: false, dataType: 'json', success: function (result, TextStatus) { if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#editModuleModal [name="moduleid"]').val(result[i].id); $('#editModuleModal [name="modulename"]').val(result[i].name); $('#editModuleModal [name="sortby"]').val(result[i].sortby); if (result[i].isenabled) { $('#editModuleModal input:checkbox').attr("checked", "checked"); } else { $('#editModuleModal input:checkbox').attr("checked", false); } // debugger; } } } }); } /* 点击用户编辑按钮 */ function setuserValue(id) { $.ajax({ type: "GET", data: {'userid': id}, url: "/account/setedit/user/", cache: false, dataType: 'json', success: function (result, TextStatus) { if (result.length > 0) { for (i = 0; i < result.length; i++) { $('#editUserModal [name="userid"]').val(result[i].id); $('#editUserModal [name="username"]').val(result[i].username); // $('#editUserModal [name="password"]').val(result[i].password); // $('#editUserModal [name="confirmPassword"]').val(result[i].password); $('#editUserModal [name="email"]').val(result[i].email); $('#editUserModal [name="realname"]').val(result[i].realname); $('#editUserModal [name="mobile"]').val(result[i].mobile); // $('#editUserModal [name="testrailuser"]').val(result[i].testrailuser); // $('#editUserModal [name="testrailpass"]').val(result[i].testrailpass); if (result[i].dept){ $('#editUserModal select[name="dept"]').get(0).value = result[i].dept; } else{ console.log(result[i]); } if (result[i].is_active){ $('#editUserModal input[name="is_active"]').attr("checked", "checked"); } else { $('#editUserModal input[name="is_active"]').attr("checked", false); } if (result[i].is_admin) { $('#editUserModal input[name="is_admin"]').attr("checked", "checked"); } else { $('#editUserModal input[name="is_admin"]').attr("checked", false); } } } } }); } /* 点击元素编辑按钮 */ function setelementValue(id) { $.ajax({ type: "GET", data: {'elementid': id}, url: "/func/element/setedit/", cache: false, dataType: 'json', async: true, success: function (result, TextStatus) { if (result.length > 0) { for (var i = 0; i < result.length; i++) { $('#editElementModal [name="elementid"]').val(result[i].id); $('#editElementModal [name="eledescr"]').val(result[i].descr); $('#editElementModal [name="ele_add_projectid"]').val(result[i].projectid); $('#eleprojectid').change(); $('#editElementModal [name="moduleid"]').val(result[i].moduleid); $('#editElementModal [name="locmode"]').val(result[i].locmode); $('#editElementModal [name="elelocation"]').val(result[i].location); } } // alert(result[i].projectid); } }); } /* 添加用户 */ $(function () { $('#user_add') .bootstrapValidator({ // live: 'disabled', message: 'This value is not valid', feedbackIcons: { valid: 'icon icon-ok', invalid: 'icon icon-remove', validating: 'icon icon-refresh' }, fields: { username: { message: '无效的用户名', validators: { notEmpty: { message: '登录用户名不能为空' }, stringLength: { min: 4, max: 30, message: '用户名的长度为4-30字符' }, regexp: { regexp: /^[a-zA-Z0-9_\.\@]+$/, message: '用户名只能由字母、数字和下划线组成' }, different: { field: 'password', message: '用户名和密码不能一样' } } }, email: { validators: { emailAddress: { message: '无效的邮箱地址' }, notEmpty: { message: '邮箱地址不能为空' } } }, password: { validators: { notEmpty: { message: '登录密码不能为空' }, different: { field: 'username', message: '密码不能和用户名一样' } } }, confirmPassword: { validators: { notEmpty: { message: '确认密码不能为空' }, identical: { field: 'password', message: '密码和确认密码输入不一致' } } } } }) .on('success.form.bv', function (e) { e.preventDefault(); var $form = $(e.target); var bv = $form.data('bootstrapValidator'); $.post($form.attr('action'), $form.serialize(), function (result) { $('#addUserModal').hide() $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1500); }) }); }); /* 编辑用户 */ $(function () { $('#user_edit') .bootstrapValidator({ // live: 'disabled', message: 'This value is not valid', feedbackIcons: { valid: 'icon icon-ok', invalid: 'icon icon-remove', validating: 'icon icon-refresh' }, fields: { email: { validators: { emailAddress: { message: '无效的邮箱地址' }, notEmpty: { message: '邮箱地址不能为空' } } }, password: { validators: { identical: { field: 'confirmPassword', message: '密码和确认密码输入不一致' } } }, confirmPassword: { validators: { identical: { field: 'password', message: '密码和确认密码输入不一致' } } } } }) // .bootstrapValidator({ // // live: 'disabled', // message: 'This value is not valid', // feedbackIcons: { // valid: 'icon icon-ok', // invalid: 'icon icon-remove', // validating: 'icon icon-refresh' // }, // fields: { // email: { // validators: { // emailAddress: { // message: '无效的邮箱地址' // }, // notEmpty: { // message: '邮箱地址不能为空' // } // } // }, // password: { // validators: { // different: { // field: 'username', // message: '密码不能和用户名一样' // } // } // }, // confirmPassword: { // validators: { // identical: { // field: 'password', // message: '密码和确认密码输入不一致' // } // } // }, // } // }) .on('success.form.bv', function (e) { e.preventDefault(); var $form = $(e.target); var bv = $form.data('bootstrapValidator'); $.post($form.attr('action'), $form.serialize(), function (result) { $('#addEditModal').hide(); $('#log_info').addClass('bg-primary'); $('#log_info').css('display', 'block'); $('#log_info').html(result); setTimeout("location.reload()", 1500); }) }); }); /* 执行用例 */ function runcase(id) { $('#run' + id).attr('disabled', true); $('#run' + id + '>i.glyphicon.glyphicon-play-circle').remove(); $('#run' + id).append(''); $.ajax({ type: "GET", data: {'caseid': id}, url: "/func/case/run/", cache: false, dataType: "html", success: function (result, TextStatus, xml) { // debugger; // alert(result); // $('#run'+id).attr('disabled',false); // $('#run'+id).addClass('green'); // $('#run'+id).text('Run'); setTimeout("location.reload()", 500); } }); } /* 执行任务 */ function runtask(id) { // $('#run'+id).attr('disabled',true); $('#run' + id + '>i.glyphicon.glyphicon-play-circle').remove(); $('#run' + id).append(''); $.ajax({ type: "GET", data: {'taskid': id}, url: "/func/task/run/", cache: false, dataType: "html", success: function (result, TextStatus, xml) { // debugger; // alert(result); // $('#run'+id).attr('disabled',false); // $('#run'+id).addClass('green'); // $('#run'+id).text('Run'); setTimeout("location.reload()", 500); } }); } function viewdebuginfo(x) { var debuginfo = $('td#' + x + ' pre').text(); $('#divdebuginfo').text(debuginfo); } $("#selprojectid").on("change", function () { $('#mdlist').val(''); $('#selvalue').val(''); }); /* 编辑元素上下移动行 */ function up(obj) { var objParentTR = $(obj).parent().parent(); var prevTR = objParentTR.prev(); if (prevTR.length > 0) { prevTR.insertAfter(objParentTR); } } function down(obj) { var objParentTR = $(obj).parent().parent(); var nextTR = objParentTR.next(); if (nextTR.length > 0) { nextTR.insertBefore(objParentTR); } } function goback() { window.history.back(); } ================================================ FILE: automatic/static/js/back-to-top.js ================================================ //** jQuery Scroll to Top Control script- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com. //** Available/ usage terms at http://www.dynamicdrive.com (March 30th, 09') //** v1.1 (April 7th, 09'): //** 1) Adds ability to scroll to an absolute position (from top of page) or specific element on the page instead. //** 2) Fixes scroll animation not working in Opera. var scrolltotop={ //startline: Integer. Number of pixels from top of doc scrollbar is scrolled before showing control //scrollto: Keyword (Integer, or "Scroll_to_Element_ID"). How far to scroll document up when control is clicked on (0=top). setting: {startline:100, scrollto: 0, scrollduration:1000, fadeduration:[500, 100]}, controlHTML: '', // //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol" controlattrs: {offsetx:5, offsety:5}, //offset of control relative to right/ bottom of window corner anchorkeyword: '#top', //Enter href value of HTML anchors on the page that should also act as "Scroll Up" links state: {isvisible:false, shouldvisible:false}, scrollup:function(){ if (!this.cssfixedsupport) //if control is positioned using JavaScript this.$control.css({opacity:0}) //hide control immediately after clicking it var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto) if (typeof dest=="string" && jQuery('#'+dest).length==1) //check element set by string exists dest=jQuery('#'+dest).offset().top else dest=0 this.$body.animate({scrollTop: dest}, this.setting.scrollduration); }, keepfixed:function(){ var $window=jQuery(window) var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety this.$control.css({left:controlx+'px', top:controly+'px'}) }, togglecontrol:function(){ var scrolltop=jQuery(window).scrollTop() if (!this.cssfixedsupport) this.keepfixed() this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false if (this.state.shouldvisible && !this.state.isvisible){ this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0]) this.state.isvisible=true } else if (this.state.shouldvisible==false && this.state.isvisible){ this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1]) this.state.isvisible=false } }, init:function(){ jQuery(document).ready(function($){ var mainobj=scrolltotop var iebrws=document.all mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards mode mainobj.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body') mainobj.$control=$('
'+mainobj.controlHTML+'
') .css({position:mainobj.cssfixedsupport? 'fixed' : 'absolute', bottom:mainobj.controlattrs.offsety, right:mainobj.controlattrs.offsetx, opacity:0, cursor:'pointer'}) .attr({title:'Scroll Back to Top'}) .click(function(){mainobj.scrollup(); return false}) .appendTo('body') if (document.all && !window.XMLHttpRequest && mainobj.$control.text()!='') //loose check for IE6 and below, plus whether control contains any text mainobj.$control.css({width:mainobj.$control.width()}) //IE6- seems to require an explicit width on a DIV containing text mainobj.togglecontrol() $('a[href="' + mainobj.anchorkeyword +'"]').click(function(){ mainobj.scrollup() return false }) $(window).bind('scroll resize', function(e){ mainobj.togglecontrol() }) }) } } scrolltotop.init() ================================================ FILE: automatic/static/js/bootstrapValidator.js ================================================ /*! * BootstrapValidator (http://bootstrapvalidator.com) * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 * * @version v0.5.1-dev, built on 2014-07-23 6:05:15 AM * @author https://twitter.com/nghuuphuoc * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc * @license MIT */ (function($) { var BootstrapValidator = function(form, options) { this.$form = $(form); this.options = $.extend({}, $.fn.bootstrapValidator.DEFAULT_OPTIONS, options); this.$invalidFields = $([]); // Array of invalid fields this.$submitButton = null; // The submit button which is clicked to submit form // Validating status this.STATUS_NOT_VALIDATED = 'NOT_VALIDATED'; this.STATUS_VALIDATING = 'VALIDATING'; this.STATUS_INVALID = 'INVALID'; this.STATUS_VALID = 'VALID'; // Determine the event that is fired when user change the field value // Most modern browsers supports input event except IE 7, 8. // IE 9 supports input event but the event is still not fired if I press the backspace key. // Get IE version // https://gist.github.com/padolsey/527683/#comment-7595 var ieVersion = (function() { var v = 3, div = document.createElement('div'), a = div.all || []; while (div.innerHTML = '', a[0]) {} return v > 4 ? v : !v; }()); var el = document.createElement('div'); this._changeEvent = (ieVersion === 9 || !('oninput' in el)) ? 'keyup' : 'input'; // The flag to indicate that the form is ready to submit when a remote/callback validator returns this._submitIfValid = null; // Field elements this._cacheFields = {}; this._init(); }; BootstrapValidator.prototype = { constructor: BootstrapValidator, /** * Init form */ _init: function() { var that = this, options = { excluded: this.$form.attr('data-bv-excluded'), trigger: this.$form.attr('data-bv-trigger'), message: this.$form.attr('data-bv-message'), container: this.$form.attr('data-bv-container'), group: this.$form.attr('data-bv-group'), submitButtons: this.$form.attr('data-bv-submitbuttons'), threshold: this.$form.attr('data-bv-threshold'), live: this.$form.attr('data-bv-live'), onSuccess: this.$form.attr('data-bv-onsuccess'), onError: this.$form.attr('data-bv-onerror'), fields: {}, feedbackIcons: { valid: this.$form.attr('data-bv-feedbackicons-valid'), invalid: this.$form.attr('data-bv-feedbackicons-invalid'), validating: this.$form.attr('data-bv-feedbackicons-validating') } }; this.$form // Disable client side validation in HTML 5 .attr('novalidate', 'novalidate') .addClass(this.options.elementClass) // Disable the default submission first .on('submit.bv', function(e) { e.preventDefault(); that.validate(); }) .on('click.bv', this.options.submitButtons, function() { that.$submitButton = $(this); // The user just click the submit button that._submitIfValid = true; }) // Find all fields which have either "name" or "data-bv-field" attribute .find('[name], [data-bv-field]') .each(function() { var $field = $(this), field = $field.attr('name') || $field.attr('data-bv-field'), opts = that._parseOptions($field); if (opts) { $field.attr('data-bv-field', field); options.fields[field] = $.extend({}, opts, options.fields[field]); } }); this.options = $.extend(true, this.options, options); for (var field in this.options.fields) { this._initField(field); } this.$form.trigger($.Event('init.form.bv'), { bv: this, options: this.options }); // Prepare the events if (this.options.onSuccess) { this.$form.on('success.form.bv', function(e) { $.fn.bootstrapValidator.helpers.call(that.options.onSuccess, [e]); }); } if (this.options.onError) { this.$form.on('error.form.bv', function(e) { $.fn.bootstrapValidator.helpers.call(that.options.onError, [e]); }); } }, /** * Parse the validator options from HTML attributes * * @param {jQuery} $field The field element * @returns {Object} */ _parseOptions: function($field) { var field = $field.attr('name') || $field.attr('data-bv-field'), validators = {}, validator, v, // Validator name enabled, optionName, optionValue, html5AttrName, html5AttrMap; for (v in $.fn.bootstrapValidator.validators) { validator = $.fn.bootstrapValidator.validators[v]; enabled = $field.attr('data-bv-' + v.toLowerCase()) + ''; html5AttrMap = ('function' === typeof validator.enableByHtml5) ? validator.enableByHtml5($field) : null; if ((html5AttrMap && enabled !== 'false') || (html5AttrMap !== true && ('' === enabled || 'true' === enabled))) { // Try to parse the options via attributes validator.html5Attributes = $.extend({}, { message: 'message', onerror: 'onError', onsuccess: 'onSuccess' }, validator.html5Attributes); validators[v] = $.extend({}, html5AttrMap === true ? {} : html5AttrMap, validators[v]); for (html5AttrName in validator.html5Attributes) { optionName = validator.html5Attributes[html5AttrName]; optionValue = $field.attr('data-bv-' + v.toLowerCase() + '-' + html5AttrName); if (optionValue) { if ('true' === optionValue) { optionValue = true; } else if ('false' === optionValue) { optionValue = false; } validators[v][optionName] = optionValue; } } } } var opts = { excluded: $field.attr('data-bv-excluded'), feedbackIcons: $field.attr('data-bv-feedbackicons'), trigger: $field.attr('data-bv-trigger'), message: $field.attr('data-bv-message'), container: $field.attr('data-bv-container'), group: $field.attr('data-bv-group'), selector: $field.attr('data-bv-selector'), threshold: $field.attr('data-bv-threshold'), onStatus: $field.attr('data-bv-onstatus'), onSuccess: $field.attr('data-bv-onsuccess'), onError: $field.attr('data-bv-onerror'), validators: validators }, emptyOptions = $.isEmptyObject(opts), // Check if the field options are set using HTML attributes emptyValidators = $.isEmptyObject(validators); // Check if the field validators are set using HTML attributes if (!emptyValidators || (!emptyOptions && this.options.fields && this.options.fields[field])) { opts.validators = validators; return opts; } else { return null; } }, /** * Init field * * @param {String|jQuery} field The field name or field element */ _initField: function(field) { var fields = $([]); switch (typeof field) { case 'object': fields = field; field = field.attr('data-bv-field'); break; case 'string': fields = this.getFieldElements(field); fields.attr('data-bv-field', field); break; default: break; } if (this.options.fields[field] === null || this.options.fields[field].validators === null) { return; } // We don't need to validate non-existing fields if (fields.length === 0) { delete this.options.fields[field]; return; } var validatorName; for (validatorName in this.options.fields[field].validators) { if (!$.fn.bootstrapValidator.validators[validatorName]) { delete this.options.fields[field].validators[validatorName]; } } if (this.options.fields[field].enabled === null) { this.options.fields[field].enabled = true; } var that = this, total = fields.length, type = fields.attr('type'), updateAll = (total === 1) || ('radio' === type) || ('checkbox' === type), event = ('radio' === type || 'checkbox' === type || 'file' === type || 'SELECT' === fields.eq(0).get(0).tagName) ? 'change' : this._changeEvent, trigger = (this.options.fields[field].trigger || this.options.trigger || event).split(' '), events = $.map(trigger, function(item) { return item + '.update.bv'; }).join(' '); for (var i = 0; i < total; i++) { var $field = fields.eq(i), group = this.options.fields[field].group || this.options.group, $parent = $field.parents(group), // Allow user to indicate where the error messages are shown container = this.options.fields[field].container || this.options.container, $message = (container && container !== 'tooltip' && container !== 'popover') ? $(container) : this._getMessageContainer($field, group); if (container && container !== 'tooltip' && container !== 'popover') { $message.addClass('has-error'); } // Remove all error messages and feedback icons $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]').remove(); $parent.find('i[data-bv-icon-for="' + field + '"]').remove(); // Whenever the user change the field value, mark it as not validated yet $field.off(events).on(events, function() { that.updateStatus($(this), that.STATUS_NOT_VALIDATED); }); // Create help block elements for showing the error messages $field.data('bv.messages', $message); for (validatorName in this.options.fields[field].validators) { $field.data('bv.result.' + validatorName, this.STATUS_NOT_VALIDATED); if (!updateAll || i === total - 1) { $('') .css('display', 'none') .addClass('help-block') .attr('data-bv-validator', validatorName) .attr('data-bv-for', field) .attr('data-bv-result', this.STATUS_NOT_VALIDATED) .html(this._getMessage(field, validatorName)) .appendTo($message); } // Prepare the validator events if (this.options.fields[field].validators[validatorName].onSuccess) { $field.on('success.validator.bv', function(e, data) { $.fn.bootstrapValidator.helpers.call(that.options.fields[field].validators[validatorName].onSuccess, [e, data]); }); } if (this.options.fields[field].validators[validatorName].onError) { $field.on('error.validator.bv', function(e, data) { $.fn.bootstrapValidator.helpers.call(that.options.fields[field].validators[validatorName].onError, [e, data]); }); } } // Prepare the feedback icons // Available from Bootstrap 3.1 (http://getbootstrap.com/css/#forms-control-validation) if (this.options.fields[field].feedbackIcons !== false && this.options.fields[field].feedbackIcons !== 'false' && this.options.feedbackIcons && this.options.feedbackIcons.validating && this.options.feedbackIcons.invalid && this.options.feedbackIcons.valid && (!updateAll || i === total - 1)) { $parent.removeClass('has-success').removeClass('has-error').addClass('has-feedback'); var $icon = $('') .css('display', 'none') .addClass('form-control-feedback') .attr('data-bv-icon-for', field) // Place it after the label containing the checkbox/radio // so when clicking the icon, it doesn't effect to the checkbox/radio element .insertAfter(('checkbox' === type || 'radio' === type) ? $field.parent() : $field); // The feedback icon does not render correctly if there is no label // https://github.com/twbs/bootstrap/issues/12873 if ($parent.find('label').length === 0) { $icon.css('top', 0); } // Fix feedback icons in input-group if ($parent.find('.input-group').length !== 0) { $icon.css({ 'top': 0, 'z-index': 100 }).insertAfter($parent.find('.input-group').eq(0)); } } } // Prepare the events if (this.options.fields[field].onSuccess) { fields.on('success.field.bv', function(e, data) { $.fn.bootstrapValidator.helpers.call(that.options.fields[field].onSuccess, [e, data]); }); } if (this.options.fields[field].onError) { fields.on('error.field.bv', function(e, data) { $.fn.bootstrapValidator.helpers.call(that.options.fields[field].onError, [e, data]); }); } if (this.options.fields[field].onStatus) { fields.on('status.field.bv', function(e, data) { $.fn.bootstrapValidator.helpers.call(that.options.fields[field].onStatus, [e, data]); }); } // Set live mode events = $.map(trigger, function(item) { return item + '.live.bv'; }).join(' '); switch (this.options.live) { case 'submitted': break; case 'disabled': fields.off(events); break; case 'enabled': /* falls through */ default: fields.off(events).on(events, function() { if (that._exceedThreshold($(this))) { that.validateField($(this)); } }); break; } fields.trigger($.Event('init.field.bv'), { bv: this, field: field, element: fields }); }, /** * Get the error message for given field and validator * * @param {String} field The field name * @param {String} validatorName The validator name * @returns {String} */ _getMessage: function(field, validatorName) { if (!this.options.fields[field] || !$.fn.bootstrapValidator.validators[validatorName] || !this.options.fields[field].validators || !this.options.fields[field].validators[validatorName]) { return ''; } var options = this.options.fields[field].validators[validatorName]; switch (true) { case (!!options.message): return options.message; case (!!this.options.fields[field].message): return this.options.fields[field].message; case (!!$.fn.bootstrapValidator.i18n[validatorName]): return $.fn.bootstrapValidator.i18n[validatorName]['default']; default: return this.options.message; } }, /** * Get the element to place the error messages * * @param {jQuery} $field The field element * @param {String} group * @returns {jQuery} */ _getMessageContainer: function($field, group) { var $parent = $field.parent(); if ($parent.is(group)) { return $parent; } var cssClasses = $parent.attr('class'); if (!cssClasses) { return this._getMessageContainer($parent, group); } cssClasses = cssClasses.split(' '); var n = cssClasses.length; for (var i = 0; i < n; i++) { if (/^col-(xs|sm|md|lg)-\d+$/.test(cssClasses[i]) || /^col-(xs|sm|md|lg)-offset-\d+$/.test(cssClasses[i])) { return $parent; } } return this._getMessageContainer($parent, group); }, /** * Called when all validations are completed */ _submit: function() { var isValid = this.isValid(), eventType = isValid ? 'success.form.bv' : 'error.form.bv', e = $.Event(eventType); this.$form.trigger(e); // Call default handler // Check if whether the submit button is clicked if (this.$submitButton) { isValid ? this._onSuccess(e) : this._onError(e); } }, /** * Check if the field is excluded. * Returning true means that the field will not be validated * * @param {jQuery} $field The field element * @returns {Boolean} */ _isExcluded: function($field) { var excludedAttr = $field.attr('data-bv-excluded'), // I still need to check the 'name' attribute while initializing the field field = $field.attr('data-bv-field') || $field.attr('name'); switch (true) { case (!!field && this.options.fields && this.options.fields[field] && (this.options.fields[field].excluded === 'true' || this.options.fields[field].excluded === true)): case (excludedAttr === 'true'): case (excludedAttr === ''): return true; case (!!field && this.options.fields && this.options.fields[field] && (this.options.fields[field].excluded === 'false' || this.options.fields[field].excluded === false)): case (excludedAttr === 'false'): return false; default: if (this.options.excluded) { // Convert to array first if ('string' === typeof this.options.excluded) { this.options.excluded = $.map(this.options.excluded.split(','), function(item) { // Trim the spaces return $.trim(item); }); } var length = this.options.excluded.length; for (var i = 0; i < length; i++) { if (('string' === typeof this.options.excluded[i] && $field.is(this.options.excluded[i])) || ('function' === typeof this.options.excluded[i] && this.options.excluded[i].call(this, $field, this) === true)) { return true; } } } return false; } }, /** * Check if the number of characters of field value exceed the threshold or not * * @param {jQuery} $field The field element * @returns {Boolean} */ _exceedThreshold: function($field) { var field = $field.attr('data-bv-field'), threshold = this.options.fields[field].threshold || this.options.threshold; if (!threshold) { return true; } var cannotType = $.inArray($field.attr('type'), ['button', 'checkbox', 'file', 'hidden', 'image', 'radio', 'reset', 'submit']) !== -1; return (cannotType || $field.val().length >= threshold); }, // --- // Events // --- /** * The default handler of error.form.bv event. * It will be called when there is a invalid field * * @param {jQuery.Event} e The jQuery event object */ _onError: function(e) { if (e.isDefaultPrevented()) { return; } if ('submitted' === this.options.live) { // Enable live mode this.options.live = 'enabled'; var that = this; for (var field in this.options.fields) { (function(f) { var fields = that.getFieldElements(f); if (fields.length) { var type = $(fields[0]).attr('type'), event = ('radio' === type || 'checkbox' === type || 'file' === type || 'SELECT' === $(fields[0]).get(0).tagName) ? 'change' : that._changeEvent, trigger = that.options.fields[field].trigger || that.options.trigger || event, events = $.map(trigger.split(' '), function(item) { return item + '.live.bv'; }).join(' '); fields.off(events).on(events, function() { if (that._exceedThreshold($(this))) { that.validateField($(this)); } }); } })(field); } } var $invalidField = this.$invalidFields.eq(0); if ($invalidField) { // Activate the tab containing the invalid field if exists var $tabPane = $invalidField.parents('.tab-pane'), tabId; if ($tabPane && (tabId = $tabPane.attr('id'))) { $('a[href="#' + tabId + '"][data-toggle="tab"]').tab('show'); } // Focus to the first invalid field $invalidField.focus(); } }, /** * The default handler of success.form.bv event. * It will be called when all the fields are valid * * @param {jQuery.Event} e The jQuery event object */ _onSuccess: function(e) { if (e.isDefaultPrevented()) { return; } // Submit the form this.disableSubmitButtons(true).defaultSubmit(); }, /** * Called after validating a field element * * @param {jQuery} $field The field element * @param {String} [validatorName] The validator name */ _onFieldValidated: function($field, validatorName) { var field = $field.attr('data-bv-field'), validators = this.options.fields[field].validators, counter = {}, numValidators = 0, data = { bv: this, field: field, element: $field, validator: validatorName }; // Trigger an event after given validator completes if (validatorName) { switch ($field.data('bv.result.' + validatorName)) { case this.STATUS_INVALID: $field.trigger($.Event('error.validator.bv'), data); break; case this.STATUS_VALID: $field.trigger($.Event('success.validator.bv'), data); break; default: break; } } counter[this.STATUS_NOT_VALIDATED] = 0; counter[this.STATUS_VALIDATING] = 0; counter[this.STATUS_INVALID] = 0; counter[this.STATUS_VALID] = 0; for (var v in validators) { if (validators[v].enabled === false) { continue; } numValidators++; var result = $field.data('bv.result.' + v); if (result) { counter[result]++; } } if (counter[this.STATUS_VALID] === numValidators) { // Remove from the list of invalid fields this.$invalidFields = this.$invalidFields.not($field); $field.trigger($.Event('success.field.bv'), data); } // If all validators are completed and there is at least one validator which doesn't pass else if (counter[this.STATUS_NOT_VALIDATED] === 0 && counter[this.STATUS_VALIDATING] === 0 && counter[this.STATUS_INVALID] > 0) { // Add to the list of invalid fields this.$invalidFields = this.$invalidFields.add($field); $field.trigger($.Event('error.field.bv'), data); } }, // --- // Public methods // --- /** * Retrieve the field elements by given name * * @param {String} field The field name * @returns {null|jQuery[]} */ getFieldElements: function(field) { if (!this._cacheFields[field]) { this._cacheFields[field] = (this.options.fields[field] && this.options.fields[field].selector) ? $(this.options.fields[field].selector) : this.$form.find('[name="' + field + '"]'); } return this._cacheFields[field]; }, /** * Disable/enable submit buttons * * @param {Boolean} disabled Can be true or false * @returns {BootstrapValidator} */ disableSubmitButtons: function(disabled) { if (!disabled) { this.$form.find(this.options.submitButtons).removeAttr('disabled'); } else if (this.options.live !== 'disabled') { // Don't disable if the live validating mode is disabled this.$form.find(this.options.submitButtons).attr('disabled', 'disabled'); } return this; }, /** * Validate the form * * @returns {BootstrapValidator} */ validate: function() { if (!this.options.fields) { return this; } this.disableSubmitButtons(true); for (var field in this.options.fields) { this.validateField(field); } this._submit(); return this; }, /** * Validate given field * * @param {String|jQuery} field The field name or field element * @returns {BootstrapValidator} */ validateField: function(field) { var fields = $([]); switch (typeof field) { case 'object': fields = field; field = field.attr('data-bv-field'); break; case 'string': fields = this.getFieldElements(field); break; default: break; } if (this.options.fields[field] && this.options.fields[field].enabled === false) { return this; } var that = this, type = fields.attr('type'), total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length, updateAll = ('radio' === type || 'checkbox' === type), validators = this.options.fields[field].validators, validatorName, validateResult; for (var i = 0; i < total; i++) { var $field = fields.eq(i); if (this._isExcluded($field)) { continue; } for (validatorName in validators) { if ($field.data('bv.dfs.' + validatorName)) { $field.data('bv.dfs.' + validatorName).reject(); } // Don't validate field if it is already done var result = $field.data('bv.result.' + validatorName); if (result === this.STATUS_VALID || result === this.STATUS_INVALID || validators[validatorName].enabled === false) { this._onFieldValidated($field, validatorName); continue; } $field.data('bv.result.' + validatorName, this.STATUS_VALIDATING); validateResult = $.fn.bootstrapValidator.validators[validatorName].validate(this, $field, validators[validatorName]); // validateResult can be a $.Deferred object ... if ('object' === typeof validateResult && validateResult.resolve) { this.updateStatus(updateAll ? field : $field, this.STATUS_VALIDATING, validatorName); $field.data('bv.dfs.' + validatorName, validateResult); validateResult.done(function($f, v, isValid, message) { // v is validator name $f.removeData('bv.dfs.' + v); if (message) { that.updateMessage($f, v, message); } that.updateStatus(updateAll ? $f.attr('data-bv-field') : $f, isValid ? that.STATUS_VALID : that.STATUS_INVALID, v); if (isValid && that._submitIfValid === true) { // If a remote validator returns true and the form is ready to submit, then do it that._submit(); } }); } // ... or object { valid: true/false, message: 'dynamic message' } else if ('object' === typeof validateResult && validateResult.valid !== undefined && validateResult.message !== undefined) { this.updateMessage(updateAll ? field : $field, validatorName, validateResult.message); this.updateStatus(updateAll ? field : $field, validateResult.valid ? this.STATUS_VALID : this.STATUS_INVALID, validatorName); } // ... or a boolean value else if ('boolean' === typeof validateResult) { this.updateStatus(updateAll ? field : $field, validateResult ? this.STATUS_VALID : this.STATUS_INVALID, validatorName); } } } return this; }, /** * Update the error message * * @param {String|jQuery} field The field name or field element * @param {String} validator The validator name * @param {String} message The message * @returns {BootstrapValidator} */ updateMessage: function(field, validator, message) { var $fields = $([]); switch (typeof field) { case 'object': $fields = field; field = field.attr('data-bv-field'); break; case 'string': $fields = this.getFieldElements(field); break; default: break; } $fields.each(function() { $(this).data('bv.messages').find('.help-block[data-bv-validator="' + validator + '"][data-bv-for="' + field + '"]').html(message); }); }, /** * Update all validating results of field * * @param {String|jQuery} field The field name or field element * @param {String} status The status. Can be 'NOT_VALIDATED', 'VALIDATING', 'INVALID' or 'VALID' * @param {String} [validatorName] The validator name. If null, the method updates validity result for all validators * @returns {BootstrapValidator} */ updateStatus: function(field, status, validatorName) { var fields = $([]); switch (typeof field) { case 'object': fields = field; field = field.attr('data-bv-field'); break; case 'string': fields = this.getFieldElements(field); break; default: break; } if (status === this.STATUS_NOT_VALIDATED) { // Reset the flag this._submitIfValid = false; } var that = this, type = fields.attr('type'), group = this.options.fields[field].group || this.options.group, total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length; for (var i = 0; i < total; i++) { var $field = fields.eq(i); if (this._isExcluded($field)) { continue; } var $parent = $field.parents(group), $message = $field.data('bv.messages'), $allErrors = $message.find('.help-block[data-bv-validator][data-bv-for="' + field + '"]'), $errors = validatorName ? $allErrors.filter('[data-bv-validator="' + validatorName + '"]') : $allErrors, $icon = $parent.find('.form-control-feedback[data-bv-icon-for="' + field + '"]'), container = this.options.fields[field].container || this.options.container, isValidField = null; // Update status if (validatorName) { $field.data('bv.result.' + validatorName, status); } else { for (var v in this.options.fields[field].validators) { $field.data('bv.result.' + v, status); } } // Show/hide error elements and feedback icons $errors.attr('data-bv-result', status); // Determine the tab containing the element var $tabPane = $field.parents('.tab-pane'), tabId, $tab; if ($tabPane && (tabId = $tabPane.attr('id'))) { $tab = $('a[href="#' + tabId + '"][data-toggle="tab"]').parent(); } switch (status) { case this.STATUS_VALIDATING: isValidField = null; this.disableSubmitButtons(true); $parent.removeClass('has-success').removeClass('has-error'); if ($icon) { $icon.removeClass(this.options.feedbackIcons.valid).removeClass(this.options.feedbackIcons.invalid).addClass(this.options.feedbackIcons.validating).show(); } if ($tab) { $tab.removeClass('bv-tab-success').removeClass('bv-tab-error'); } break; case this.STATUS_INVALID: isValidField = false; this.disableSubmitButtons(true); $parent.removeClass('has-success').addClass('has-error'); if ($icon) { $icon.removeClass(this.options.feedbackIcons.valid).removeClass(this.options.feedbackIcons.validating).addClass(this.options.feedbackIcons.invalid).show(); } if ($tab) { $tab.removeClass('bv-tab-success').addClass('bv-tab-error'); } break; case this.STATUS_VALID: // If the field is valid (passes all validators) isValidField = ($allErrors.filter('[data-bv-result="' + this.STATUS_NOT_VALIDATED +'"]').length === 0) ? ($allErrors.filter('[data-bv-result="' + this.STATUS_VALID +'"]').length === $allErrors.length) // All validators are completed : null; // There are some validators that have not done if (isValidField !== null) { this.disableSubmitButtons(this.$submitButton ? !this.isValid() : !isValidField); if ($icon) { $icon .removeClass(this.options.feedbackIcons.invalid).removeClass(this.options.feedbackIcons.validating).removeClass(this.options.feedbackIcons.valid) .addClass(isValidField ? this.options.feedbackIcons.valid : this.options.feedbackIcons.invalid) .show(); } } $parent.removeClass('has-error has-success').addClass(this.isValidContainer($parent) ? 'has-success' : 'has-error'); if ($tab) { $tab.removeClass('bv-tab-success').removeClass('bv-tab-error').addClass(this.isValidContainer($tabPane) ? 'bv-tab-success' : 'bv-tab-error'); } break; case this.STATUS_NOT_VALIDATED: /* falls through */ default: isValidField = null; this.disableSubmitButtons(false); $parent.removeClass('has-success').removeClass('has-error'); if ($icon) { $icon.removeClass(this.options.feedbackIcons.valid).removeClass(this.options.feedbackIcons.invalid).removeClass(this.options.feedbackIcons.validating).hide(); } if ($tab) { $tab.removeClass('bv-tab-success').removeClass('bv-tab-error'); } break; } switch (true) { // Only show the first error message if it is placed inside a tooltip ... case ($icon && 'tooltip' === container): (isValidField === false) ? $icon.css('cursor', 'pointer').tooltip('destroy').tooltip({ html: true, placement: 'top', title: $allErrors.filter('[data-bv-result="' + that.STATUS_INVALID + '"]').eq(0).html() }) : $icon.css('cursor', '').tooltip('destroy'); break; // ... or popover case ($icon && 'popover' === container): (isValidField === false) ? $icon.css('cursor', 'pointer').popover('destroy').popover({ content: $allErrors.filter('[data-bv-result="' + that.STATUS_INVALID + '"]').eq(0).html(), html: true, placement: 'top', trigger: 'hover click' }) : $icon.css('cursor', '').popover('destroy'); break; default: (status === this.STATUS_INVALID) ? $errors.show() : $errors.hide(); break; } // Trigger an event $field.trigger($.Event('status.field.bv'), { bv: this, field: field, element: $field, status: status }); this._onFieldValidated($field, validatorName); } return this; }, /** * Check the form validity * * @returns {Boolean} */ isValid: function() { for (var field in this.options.fields) { if (!this.isValidField(field)) { return false; } } return true; }, /** * Check if the field is valid or not * * @param {String|jQuery} field The field name or field element * @returns {Boolean} */ isValidField: function(field) { var fields = $([]); switch (typeof field) { case 'object': fields = field; field = field.attr('data-bv-field'); break; case 'string': fields = this.getFieldElements(field); break; default: break; } if (fields.length === 0 || this.options.fields[field] === null || this.options.fields[field].enabled === false) { return true; } var type = fields.attr('type'), total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length, $field, validatorName, status; for (var i = 0; i < total; i++) { $field = fields.eq(i); if (this._isExcluded($field)) { continue; } for (validatorName in this.options.fields[field].validators) { if (this.options.fields[field].validators[validatorName].enabled === false) { continue; } status = $field.data('bv.result.' + validatorName); if (status !== this.STATUS_VALID) { return false; } } } return true; }, /** * Check if all fields inside a given container are valid. * It's useful when working with a wizard-like such as tab, collapse * * @param {String|jQuery} container The container selector or element * @returns {Boolean} */ isValidContainer: function(container) { var that = this, map = {}, $container = ('string' === typeof container) ? $(container) : container; if ($container.length === 0) { return true; } $container.find('[data-bv-field]').each(function() { var $field = $(this), field = $field.attr('data-bv-field'); if (!that._isExcluded($field) && !map[field]) { map[field] = $field; } }); for (var field in map) { var $f = map[field]; if ($f.data('bv.messages') .find('.help-block[data-bv-validator][data-bv-for="' + field + '"]') .filter(function() { var v = $(this).attr('data-bv-validator'), f = $(this).attr('data-bv-for'); return (that.options.fields[f].validators[v].enabled !== false && $f.data('bv.result.' + v) && $f.data('bv.result.' + v) !== that.STATUS_VALID); }) .length !== 0) { // The field is not valid return false; } } return true; }, /** * Submit the form using default submission. * It also does not perform any validations when submitting the form */ defaultSubmit: function() { if (this.$submitButton) { // Create hidden input to send the submit buttons $('') .attr('type', 'hidden') .attr('data-bv-submit-hidden', '') .attr('name', this.$submitButton.attr('name')) .val(this.$submitButton.val()) .appendTo(this.$form); } // Submit form this.$form.off('submit.bv').submit(); }, // --- // Useful APIs which aren't used internally // --- /** * Get the list of invalid fields * * @returns {jQuery[]} */ getInvalidFields: function() { return this.$invalidFields; }, /** * Returns the clicked submit button * * @returns {jQuery} */ getSubmitButton: function() { return this.$submitButton; }, /** * Get the error messages * * @param {String|jQuery} [field] The field name or field element * If the field is not defined, the method returns all error messages of all fields * @param {String} [validator] The name of validator * If the validator is not defined, the method returns error messages of all validators * @returns {String[]} */ getMessages: function(field, validator) { var that = this, messages = [], $fields = $([]); switch (true) { case (field && 'object' === typeof field): $fields = field; break; case (field && 'string' === typeof field): var f = this.getFieldElements(field); if (f.length > 0) { var type = f.attr('type'); $fields = ('radio' === type || 'checkbox' === type) ? f.eq(0) : f; } break; default: $fields = this.$invalidFields; break; } var filter = validator ? '[data-bv-validator="' + validator + '"]' : ''; $fields.each(function() { messages = messages.concat( $(this) .data('bv.messages') .find('.help-block[data-bv-for="' + $(this).attr('data-bv-field') + '"][data-bv-result="' + that.STATUS_INVALID + '"]' + filter) .map(function() { var v = $(this).attr('data-bv-validator'), f = $(this).attr('data-bv-for'); return (that.options.fields[f].validators[v].enabled === false) ? '' : $(this).html(); }) .get() ); }); return messages; }, /** * Get the field options * * @param {String|jQuery} [field] The field name or field element. If it is not set, the method returns the form options * @param {String} [validator] The name of validator. It null, the method returns form options * @param {String} [option] The option name * @return {String|Object} */ getOptions: function(field, validator, option) { if (!field) { return this.options; } if ('object' === typeof field) { field = field.attr('data-bv-field'); } if (!this.options.fields[field]) { return null; } var options = this.options.fields[field]; if (!validator) { return options; } if (!options.validators || !options.validators[validator]) { return null; } return option ? options.validators[validator][option] : options.validators[validator]; }, /** * Update the option of a specific validator * * @param {String|jQuery} field The field name or field element * @param {String} validator The validator name * @param {String} option The option name * @param {String} value The value to set * @returns {BootstrapValidator} */ updateOption: function(field, validator, option, value) { if ('object' === typeof field) { field = field.attr('data-bv-field'); } if (this.options.fields[field] && this.options.fields[field].validators[validator]) { this.options.fields[field].validators[validator][option] = value; this.updateStatus(field, this.STATUS_NOT_VALIDATED, validator); } return this; }, /** * Add a new field * * @param {String|jQuery} field The field name or field element * @param {Object} [options] The validator rules * @returns {BootstrapValidator} */ addField: function(field, options) { var fields = $([]); switch (typeof field) { case 'object': fields = field; field = field.attr('data-bv-field') || field.attr('name'); break; case 'string': delete this._cacheFields[field]; fields = this.getFieldElements(field); break; default: break; } fields.attr('data-bv-field', field); var type = fields.attr('type'), total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length; for (var i = 0; i < total; i++) { var $field = fields.eq(i); // Try to parse the options from HTML attributes var opts = this._parseOptions($field); opts = (opts === null) ? options : $.extend(true, options, opts); this.options.fields[field] = $.extend(true, this.options.fields[field], opts); // Update the cache this._cacheFields[field] = this._cacheFields[field] ? this._cacheFields[field].add($field) : $field; // Init the element this._initField(('checkbox' === type || 'radio' === type) ? field : $field); } this.disableSubmitButtons(false); // Trigger an event this.$form.trigger($.Event('added.field.bv'), { field: field, element: fields, options: this.options.fields[field] }); return this; }, /** * Remove a given field * * @param {String|jQuery} field The field name or field element * @returns {BootstrapValidator} */ removeField: function(field) { var fields = $([]); switch (typeof field) { case 'object': fields = field; field = field.attr('data-bv-field') || field.attr('name'); fields.attr('data-bv-field', field); break; case 'string': fields = this.getFieldElements(field); break; default: break; } if (fields.length === 0) { return this; } var type = fields.attr('type'), total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length; for (var i = 0; i < total; i++) { var $field = fields.eq(i); // Remove from the list of invalid fields this.$invalidFields = this.$invalidFields.not($field); // Update the cache this._cacheFields[field] = this._cacheFields[field].not($field); } if (!this._cacheFields[field] || this._cacheFields[field].length === 0) { delete this.options.fields[field]; } if ('checkbox' === type || 'radio' === type) { this._initField(field); } this.disableSubmitButtons(false); // Trigger an event this.$form.trigger($.Event('removed.field.bv'), { field: field, element: fields }); return this; }, /** * Reset given field * * @param {String|jQuery} field The field name or field element * @param {Boolean} [resetValue] If true, the method resets field value to empty or remove checked/selected attribute (for radio/checkbox) * @returns {BootstrapValidator} */ resetField: function(field, resetValue) { var $fields = $([]); switch (typeof field) { case 'object': $fields = field; field = field.attr('data-bv-field'); break; case 'string': $fields = this.getFieldElements(field); break; default: break; } var total = $fields.length; if (this.options.fields[field]) { for (var i = 0; i < total; i++) { for (var validator in this.options.fields[field].validators) { $fields.eq(i).removeData('bv.dfs.' + validator); } } } // Mark field as not validated yet this.updateStatus(field, this.STATUS_NOT_VALIDATED); if (resetValue) { var type = $fields.attr('type'); ('radio' === type || 'checkbox' === type) ? $fields.removeAttr('checked').removeAttr('selected') : $fields.val(''); } return this; }, /** * Reset the form * * @param {Boolean} [resetValue] If true, the method resets field value to empty or remove checked/selected attribute (for radio/checkbox) * @returns {BootstrapValidator} */ resetForm: function(resetValue) { for (var field in this.options.fields) { this.resetField(field, resetValue); } this.$invalidFields = $([]); this.$submitButton = null; // Enable submit buttons this.disableSubmitButtons(false); return this; }, /** * Revalidate given field * It's used when you need to revalidate the field which its value is updated by other plugin * * @param {String|jQuery} field The field name of field element * @returns {BootstrapValidator} */ revalidateField: function(field) { this.updateStatus(field, this.STATUS_NOT_VALIDATED) .validateField(field); return this; }, /** * Enable/Disable all validators to given field * * @param {String} field The field name * @param {Boolean} enabled Enable/Disable field validators * @param {String} [validatorName] The validator name. If null, all validators will be enabled/disabled * @returns {BootstrapValidator} */ enableFieldValidators: function(field, enabled, validatorName) { var validators = this.options.fields[field].validators; // Enable/disable particular validator if (validatorName && validators && validators[validatorName] && validators[validatorName].enabled !== enabled) { this.options.fields[field].validators[validatorName].enabled = enabled; this.updateStatus(field, this.STATUS_NOT_VALIDATED, validatorName); } // Enable/disable all validators else if (!validatorName && this.options.fields[field].enabled !== enabled) { this.options.fields[field].enabled = enabled; for (var v in validators) { this.enableFieldValidators(field, enabled, v); } } return this; }, /** * Some validators have option which its value is dynamic. * For example, the zipCode validator has the country option which might be changed dynamically by a select element. * * @param {jQuery|String} field The field name or element * @param {String|Function} option The option which can be determined by: * - a string * - name of field which defines the value * - name of function which returns the value * - a function returns the value * * The callback function has the format of * callback: function(value, validator, $field) { * // value is the value of field * // validator is the BootstrapValidator instance * // $field is the field element * } * * @returns {String} */ getDynamicOption: function(field, option) { var $field = ('string' === typeof field) ? this.getFieldElements(field) : field, value = $field.val(); // Option can be determined by // ... a function if ('function' === typeof option) { return $.fn.bootstrapValidator.helpers.call(option, [value, this, $field]); } // ... value of other field else if ('string' === typeof option) { var $f = this.getFieldElements(option); if ($f.length) { return $f.val(); } // ... return value of callback else { return $.fn.bootstrapValidator.helpers.call(option, [value, this, $field]); } } return null; }, /** * Destroy the plugin * It will remove all error messages, feedback icons and turn off the events */ destroy: function() { var field, fields, $field, validator, $icon, container, group; for (field in this.options.fields) { fields = this.getFieldElements(field); container = this.options.fields[field].container || this.options.container, group = this.options.fields[field].group || this.options.group; for (var i = 0; i < fields.length; i++) { $field = fields.eq(i); $field // Remove all error messages .data('bv.messages') .find('.help-block[data-bv-validator][data-bv-for="' + field + '"]').remove().end() .end() .removeData('bv.messages') // Remove feedback classes .parents(group) .removeClass('has-feedback has-error has-success') .end() // Turn off events .off('.bv') .removeAttr('data-bv-field'); // Remove feedback icons, tooltip/popover container $icon = $field.parents(group).find('i[data-bv-icon-for="' + field + '"]'); if ($icon) { switch (container) { case 'tooltip': $icon.tooltip('destroy').remove(); break; case 'popover': $icon.popover('destroy').remove(); break; default: $icon.remove(); break; } } for (validator in this.options.fields[field].validators) { if ($field.data('bv.dfs.' + validator)) { $field.data('bv.dfs.' + validator).reject(); } $field.removeData('bv.result.' + validator).removeData('bv.dfs.' + validator); } } } // Enable submit buttons this.disableSubmitButtons(false); this.$form .removeClass(this.options.elementClass) .off('.bv') .removeData('bootstrapValidator') // Remove generated hidden elements .find('[data-bv-submit-hidden]').remove(); } }; // Plugin definition $.fn.bootstrapValidator = function(option) { var params = arguments; return this.each(function() { var $this = $(this), data = $this.data('bootstrapValidator'), options = 'object' === typeof option && option; if (!data) { data = new BootstrapValidator(this, options); $this.data('bootstrapValidator', data); } // Allow to call plugin method if ('string' === typeof option) { data[option].apply(data, Array.prototype.slice.call(params, 1)); } }); }; // The default options $.fn.bootstrapValidator.DEFAULT_OPTIONS = { // The form CSS class elementClass: 'bv-form', // Default invalid message message: 'This value is not valid', // The CSS selector for indicating the element consists the field // By default, each field is placed inside the
// You should adjust this option if your form group consists of many fields which not all of them need to be validated group: '.form-group', //The error messages container. It can be: // - 'tooltip' if you want to use Bootstrap tooltip to show error messages // - 'popover' if you want to use Bootstrap popover to show error messages // - a CSS selector indicating the container // In the first two cases, since the tooltip/popover should be small enough, the plugin only shows only one error message // You also can define the message container for particular field container: null, // The field will not be live validated if its length is less than this number of characters threshold: null, // Indicate fields which won't be validated // By default, the plugin will not validate the following kind of fields: // - disabled // - hidden // - invisible // // The setting consists of jQuery filters. Accept 3 formats: // - A string. Use a comma to separate filter // - An array. Each element is a filter // - An array. Each element can be a callback function // function($field, validator) { // $field is jQuery object representing the field element // validator is the BootstrapValidator instance // return true or false; // } // // The 3 following settings are equivalent: // // 1) ':disabled, :hidden, :not(:visible)' // 2) [':disabled', ':hidden', ':not(:visible)'] // 3) [':disabled', ':hidden', function($field) { // return !$field.is(':visible'); // }] excluded: [':disabled', ':hidden', ':not(:visible)'], // Shows ok/error/loading icons based on the field validity. // This feature requires Bootstrap v3.1.0 or later (http://getbootstrap.com/css/#forms-control-validation). // Since Bootstrap doesn't provide any methods to know its version, this option cannot be on/off automatically. // In other word, to use this feature you have to upgrade your Bootstrap to v3.1.0 or later. // // Examples: // - Use Glyphicons icons: // feedbackIcons: { // valid: 'glyphicon glyphicon-ok', // invalid: 'glyphicon glyphicon-remove', // validating: 'glyphicon glyphicon-refresh' // } // - Use FontAwesome icons: // feedbackIcons: { // valid: 'fa fa-check', // invalid: 'fa fa-times', // validating: 'fa fa-refresh' // } feedbackIcons: { valid: null, invalid: null, validating: null }, // The submit buttons selector // These buttons will be disabled to prevent the valid form from multiple submissions submitButtons: '[type="submit"]', // Live validating option // Can be one of 3 values: // - enabled: The plugin validates fields as soon as they are changed // - disabled: Disable the live validating. The error messages are only shown after the form is submitted // - submitted: The live validating is enabled after the form is submitted live: 'enabled', // Map the field name with validator rules fields: null }; // Available validators $.fn.bootstrapValidator.validators = {}; // i18n $.fn.bootstrapValidator.i18n = {}; $.fn.bootstrapValidator.Constructor = BootstrapValidator; // Helper methods, which can be used in validator class $.fn.bootstrapValidator.helpers = { /** * Execute a callback function * * @param {String|Function} functionName Can be * - name of global function * - name of namespace function (such as A.B.C) * - a function * @param {Array} args The callback arguments */ call: function(functionName, args) { if ('function' === typeof functionName) { return functionName.apply(this, args); } else if ('string' === typeof functionName) { if ('()' === functionName.substring(functionName.length - 2)) { functionName = functionName.substring(0, functionName.length - 2); } var ns = functionName.split('.'), func = ns.pop(), context = window; for (var i = 0; i < ns.length; i++) { context = context[ns[i]]; } return context[func].apply(this, args); } }, /** * Format a string * It's used to format the error message * format('The field must between %s and %s', [10, 20]) = 'The field must between 10 and 20' * * @param {String} message * @param {Array} parameters * @returns {String} */ format: function(message, parameters) { if (!$.isArray(parameters)) { parameters = [parameters]; } for (var i in parameters) { message = message.replace('%s', parameters[i]); } return message; }, /** * Validate a date * * @param {Number} year The full year in 4 digits * @param {Number} month The month number * @param {Number} day The day number * @param {Boolean} [notInFuture] If true, the date must not be in the future * @returns {Boolean} */ date: function(year, month, day, notInFuture) { if (isNaN(year) || isNaN(month) || isNaN(day)) { return false; } day = parseInt(day, 10); month = parseInt(month, 10); year = parseInt(year, 10); if (year < 1000 || year > 9999 || month <= 0 || month > 12) { return false; } var numDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // Update the number of days in Feb of leap year if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) { numDays[1] = 29; } // Check the day if (day <= 0 || day > numDays[month - 1]) { return false; } if (notInFuture === true) { var currentDate = new Date(), currentYear = currentDate.getFullYear(), currentMonth = currentDate.getMonth(), currentDay = currentDate.getDate(); return (year < currentYear || (year === currentYear && month - 1 < currentMonth) || (year === currentYear && month - 1 === currentMonth && day < currentDay)); } return true; }, /** * Implement Luhn validation algorithm * Credit to https://gist.github.com/ShirtlessKirk/2134376 * * @see http://en.wikipedia.org/wiki/Luhn * @param {String} value * @returns {Boolean} */ luhn: function(value) { var length = value.length, mul = 0, prodArr = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]], sum = 0; while (length--) { sum += prodArr[mul][parseInt(value.charAt(length), 10)]; mul ^= 1; } return (sum % 10 === 0 && sum > 0); }, /** * Implement modulus 11, 10 (ISO 7064) algorithm * * @param {String} value * @returns {Boolean} */ mod11And10: function(value) { var check = 5, length = value.length; for (var i = 0; i < length; i++) { check = (((check || 10) * 2) % 11 + parseInt(value.charAt(i), 10)) % 10; } return (check === 1); }, /** * Implements Mod 37, 36 (ISO 7064) algorithm * Usages: * mod37And36('A12425GABC1234002M') * mod37And36('002006673085', '0123456789') * * @param {String} value * @param {String} [alphabet] * @returns {Boolean} */ mod37And36: function(value, alphabet) { alphabet = alphabet || '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var modulus = alphabet.length, length = value.length, check = Math.floor(modulus / 2); for (var i = 0; i < length; i++) { check = (((check || modulus) * 2) % (modulus + 1) + alphabet.indexOf(value.charAt(i))) % modulus; } return (check === 1); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.base64 = $.extend($.fn.bootstrapValidator.i18n.base64 || {}, { 'default': 'Please enter a valid base 64 encoded' }); $.fn.bootstrapValidator.validators.base64 = { /** * Return true if the input value is a base 64 encoded string. * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.between = $.extend($.fn.bootstrapValidator.i18n.between || {}, { 'default': 'Please enter a value between %s and %s', notInclusive: 'Please enter a value between %s and %s strictly' }); $.fn.bootstrapValidator.validators.between = { html5Attributes: { message: 'message', min: 'min', max: 'max', inclusive: 'inclusive' }, enableByHtml5: function($field) { if ('range' === $field.attr('type')) { return { min: $field.attr('min'), max: $field.attr('max') }; } return false; }, /** * Return true if the input value is between (strictly or not) two given numbers * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - min * - max * * The min, max keys define the number which the field value compares to. min, max can be * - A number * - Name of field which its value defines the number * - Name of callback function that returns the number * - A callback function that returns the number * * - inclusive [optional]: Can be true or false. Default is true * - message: The invalid message * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var min = $.isNumeric(options.min) ? options.min : validator.getDynamicOption($field, options.min), max = $.isNumeric(options.max) ? options.max : validator.getDynamicOption($field, options.max); value = parseFloat(value); return (options.inclusive === true || options.inclusive === undefined) ? { valid: value >= min && value <= max, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.between['default'], [min, max]) } : { valid: value > min && value < max, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.between.notInclusive, [min, max]) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.callback = $.extend($.fn.bootstrapValidator.i18n.callback || {}, { 'default': 'Please enter a valid value' }); $.fn.bootstrapValidator.validators.callback = { html5Attributes: { message: 'message', callback: 'callback' }, /** * Return result from the callback method * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - callback: The callback method that passes 2 parameters: * callback: function(fieldValue, validator, $field) { * // fieldValue is the value of field * // validator is instance of BootstrapValidator * // $field is the field element * } * - message: The invalid message * @returns {Boolean|Deferred} */ validate: function(validator, $field, options) { var value = $field.val(); if (options.callback) { var dfd = new $.Deferred(), response = $.fn.bootstrapValidator.helpers.call(options.callback, [value, validator, $field]); dfd.resolve($field, 'callback', 'boolean' === typeof response ? response : response.valid, 'object' === typeof response && response.message ? response.message : null); return dfd; } return true; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.choice = $.extend($.fn.bootstrapValidator.i18n.choice || {}, { 'default': 'Please enter a valid value', less: 'Please choose %s options at minimum', more: 'Please choose %s options at maximum', between: 'Please choose %s - %s options' }); $.fn.bootstrapValidator.validators.choice = { html5Attributes: { message: 'message', min: 'min', max: 'max' }, /** * Check if the number of checked boxes are less or more than a given number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consists of following keys: * - min * - max * * At least one of two keys is required * The min, max keys define the number which the field value compares to. min, max can be * - A number * - Name of field which its value defines the number * - Name of callback function that returns the number * - A callback function that returns the number * * - message: The invalid message * @returns {Object} */ validate: function(validator, $field, options) { var numChoices = $field.is('select') ? validator.getFieldElements($field.attr('data-bv-field')).find('option').filter(':selected').length : validator.getFieldElements($field.attr('data-bv-field')).filter(':checked').length, min = options.min ? ($.isNumeric(options.min) ? options.min : validator.getDynamicOption($field, options.min)) : null, max = options.max ? ($.isNumeric(options.max) ? options.max : validator.getDynamicOption($field, options.max)) : null, isValid = true, message = options.message || $.fn.bootstrapValidator.i18n.choice['default']; if ((min && numChoices < parseInt(min, 10)) || (max && numChoices > parseInt(max, 10))) { isValid = false; } switch (true) { case (!!min && !!max): message = $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.choice.between, [parseInt(min, 10), parseInt(max, 10)]); break; case (!!min): message = $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.choice.less, parseInt(min, 10)); break; case (!!max): message = $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.choice.more, parseInt(max, 10)); break; default: break; } return { valid: isValid, message: message }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.creditCard = $.extend($.fn.bootstrapValidator.i18n.creditCard || {}, { 'default': 'Please enter a valid credit card number' }); $.fn.bootstrapValidator.validators.creditCard = { /** * Return true if the input value is valid credit card number * Based on https://gist.github.com/DiegoSalazar/4075533 * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} [options] Can consist of the following key: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // Accept only digits, dashes or spaces if (/[^0-9-\s]+/.test(value)) { return false; } value = value.replace(/\D/g, ''); if (!$.fn.bootstrapValidator.helpers.luhn(value)) { return false; } // Validate the card number based on prefix (IIN ranges) and length var cards = { AMERICAN_EXPRESS: { length: [15], prefix: ['34', '37'] }, DINERS_CLUB: { length: [14], prefix: ['300', '301', '302', '303', '304', '305', '36'] }, DINERS_CLUB_US: { length: [16], prefix: ['54', '55'] }, DISCOVER: { length: [16], prefix: ['6011', '622126', '622127', '622128', '622129', '62213', '62214', '62215', '62216', '62217', '62218', '62219', '6222', '6223', '6224', '6225', '6226', '6227', '6228', '62290', '62291', '622920', '622921', '622922', '622923', '622924', '622925', '644', '645', '646', '647', '648', '649', '65'] }, JCB: { length: [16], prefix: ['3528', '3529', '353', '354', '355', '356', '357', '358'] }, LASER: { length: [16, 17, 18, 19], prefix: ['6304', '6706', '6771', '6709'] }, MAESTRO: { length: [12, 13, 14, 15, 16, 17, 18, 19], prefix: ['5018', '5020', '5038', '6304', '6759', '6761', '6762', '6763', '6764', '6765', '6766'] }, MASTERCARD: { length: [16], prefix: ['51', '52', '53', '54', '55'] }, SOLO: { length: [16, 18, 19], prefix: ['6334', '6767'] }, UNIONPAY: { length: [16, 17, 18, 19], prefix: ['622126', '622127', '622128', '622129', '62213', '62214', '62215', '62216', '62217', '62218', '62219', '6222', '6223', '6224', '6225', '6226', '6227', '6228', '62290', '62291', '622920', '622921', '622922', '622923', '622924', '622925'] }, VISA: { length: [16], prefix: ['4'] } }; var type, i; for (type in cards) { for (i in cards[type].prefix) { if (value.substr(0, cards[type].prefix[i].length) === cards[type].prefix[i] // Check the prefix && $.inArray(value.length, cards[type].length) !== -1) // and length { return true; } } } return false; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.cusip = $.extend($.fn.bootstrapValidator.i18n.cusip || {}, { 'default': 'Please enter a valid CUSIP number' }); $.fn.bootstrapValidator.validators.cusip = { /** * Validate a CUSIP * Examples: * - Valid: 037833100, 931142103, 14149YAR8, 126650BG6 * - Invalid: 31430F200, 022615AC2 * * @see http://en.wikipedia.org/wiki/CUSIP * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} [options] Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } value = value.toUpperCase(); if (!/^[0-9A-Z]{9}$/.test(value)) { return false; } var converted = $.map(value.split(''), function(item) { var code = item.charCodeAt(0); return (code >= 'A'.charCodeAt(0) && code <= 'Z'.charCodeAt(0)) // Replace A, B, C, ..., Z with 10, 11, ..., 35 ? (code - 'A'.charCodeAt(0) + 10) : item; }), length = converted.length, sum = 0; for (var i = 0; i < length - 1; i++) { var num = parseInt(converted[i], 10); if (i % 2 !== 0) { num *= 2; } if (num > 9) { num -= 9; } sum += num; } sum = (10 - (sum % 10)) % 10; return sum === converted[length - 1]; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.cvv = $.extend($.fn.bootstrapValidator.i18n.cvv || {}, { 'default': 'Please enter a valid CVV number' }); $.fn.bootstrapValidator.validators.cvv = { html5Attributes: { message: 'message', ccfield: 'creditCardField' }, /** * Return true if the input value is a valid CVV number. * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - creditCardField: The credit card number field. It can be null * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } if (!/^[0-9]{3,4}$/.test(value)) { return false; } if (!options.creditCardField) { return true; } // Get the credit card number var creditCard = validator.getFieldElements(options.creditCardField).val(); if (creditCard === '') { return true; } creditCard = creditCard.replace(/\D/g, ''); // Supported credit card types var cards = { AMERICAN_EXPRESS: { length: [15], prefix: ['34', '37'] }, DINERS_CLUB: { length: [14], prefix: ['300', '301', '302', '303', '304', '305', '36'] }, DINERS_CLUB_US: { length: [16], prefix: ['54', '55'] }, DISCOVER: { length: [16], prefix: ['6011', '622126', '622127', '622128', '622129', '62213', '62214', '62215', '62216', '62217', '62218', '62219', '6222', '6223', '6224', '6225', '6226', '6227', '6228', '62290', '62291', '622920', '622921', '622922', '622923', '622924', '622925', '644', '645', '646', '647', '648', '649', '65'] }, JCB: { length: [16], prefix: ['3528', '3529', '353', '354', '355', '356', '357', '358'] }, LASER: { length: [16, 17, 18, 19], prefix: ['6304', '6706', '6771', '6709'] }, MAESTRO: { length: [12, 13, 14, 15, 16, 17, 18, 19], prefix: ['5018', '5020', '5038', '6304', '6759', '6761', '6762', '6763', '6764', '6765', '6766'] }, MASTERCARD: { length: [16], prefix: ['51', '52', '53', '54', '55'] }, SOLO: { length: [16, 18, 19], prefix: ['6334', '6767'] }, UNIONPAY: { length: [16, 17, 18, 19], prefix: ['622126', '622127', '622128', '622129', '62213', '62214', '62215', '62216', '62217', '62218', '62219', '6222', '6223', '6224', '6225', '6226', '6227', '6228', '62290', '62291', '622920', '622921', '622922', '622923', '622924', '622925'] }, VISA: { length: [16], prefix: ['4'] } }; var type, i, creditCardType = null; for (type in cards) { for (i in cards[type].prefix) { if (creditCard.substr(0, cards[type].prefix[i].length) === cards[type].prefix[i] // Check the prefix && $.inArray(creditCard.length, cards[type].length) !== -1) // and length { creditCardType = type; break; } } } return (creditCardType === null) ? false : (('AMERICAN_EXPRESS' === creditCardType) ? (value.length === 4) : (value.length === 3)); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.date = $.extend($.fn.bootstrapValidator.i18n.date || {}, { 'default': 'Please enter a valid date' }); $.fn.bootstrapValidator.validators.date = { html5Attributes: { message: 'message', format: 'format', separator: 'separator' }, /** * Return true if the input value is valid date * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * - separator: Use to separate the date, month, and year. * By default, it is / * - format: The date format. Default is MM/DD/YYYY * The format can be: * * i) date: Consist of DD, MM, YYYY parts which are separated by the separator option * ii) date and time: * The time can consist of h, m, s parts which are separated by : * ii) date, time and A (indicating AM or PM) * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } options.format = options.format || 'MM/DD/YYYY'; var formats = options.format.split(' '), dateFormat = formats[0], timeFormat = (formats.length > 1) ? formats[1] : null, amOrPm = (formats.length > 2) ? formats[2] : null, sections = value.split(' '), date = sections[0], time = (sections.length > 1) ? sections[1] : null; if (formats.length !== sections.length) { return false; } // Determine the separator var separator = options.separator; if (!separator) { separator = (date.indexOf('/') !== -1) ? '/' : ((date.indexOf('-') !== -1) ? '-' : null); } if (separator === null || date.indexOf(separator) === -1) { return false; } // Determine the date date = date.split(separator); dateFormat = dateFormat.split(separator); if (date.length !== dateFormat.length) { return false; } var year = date[$.inArray('YYYY', dateFormat)], month = date[$.inArray('MM', dateFormat)], day = date[$.inArray('DD', dateFormat)]; if (!year || !month || !day) { return false; } // Determine the time var minutes = null, hours = null, seconds = null; if (timeFormat) { timeFormat = timeFormat.split(':'); time = time.split(':'); if (timeFormat.length !== time.length) { return false; } hours = time.length > 0 ? time[0] : null; minutes = time.length > 1 ? time[1] : null; seconds = time.length > 2 ? time[2] : null; // Validate seconds if (seconds) { seconds = parseInt(seconds, 10); if (isNaN(seconds) || seconds < 0 || seconds > 60) { return false; } } // Validate hours if (hours) { hours = parseInt(hours, 10); if (isNaN(hours) || hours < 0 || hours >= 24 || (amOrPm && hours > 12)) { return false; } } // Validate minutes if (minutes) { minutes = parseInt(minutes, 10); if (isNaN(minutes) || minutes < 0 || minutes > 59) { return false; } } } // Validate day, month, and year return $.fn.bootstrapValidator.helpers.date(year, month, day); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.different = $.extend($.fn.bootstrapValidator.i18n.different || {}, { 'default': 'Please enter a different value' }); $.fn.bootstrapValidator.validators.different = { html5Attributes: { message: 'message', field: 'field' }, /** * Return true if the input value is different with given field's value * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consists of the following key: * - field: The name of field that will be used to compare with current one * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var compareWith = validator.getFieldElements(options.field); if (compareWith === null) { return true; } if (value !== compareWith.val()) { validator.updateStatus(options.field, validator.STATUS_VALID, 'different'); return true; } else { return false; } } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.digits = $.extend($.fn.bootstrapValidator.i18n.digits || {}, { 'default': 'Please enter only digits' }); $.fn.bootstrapValidator.validators.digits = { /** * Return true if the input value contains digits only * * @param {BootstrapValidator} validator Validate plugin instance * @param {jQuery} $field Field element * @param {Object} [options] * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } return /^\d+$/.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.ean = $.extend($.fn.bootstrapValidator.i18n.ean || {}, { 'default': 'Please enter a valid EAN number' }); $.fn.bootstrapValidator.validators.ean = { /** * Validate EAN (International Article Number) * Examples: * - Valid: 73513537, 9780471117094, 4006381333931 * - Invalid: 73513536 * * @see http://en.wikipedia.org/wiki/European_Article_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } if (!/^(\d{8}|\d{12}|\d{13})$/.test(value)) { return false; } var length = value.length, sum = 0, weight = (length === 8) ? [3, 1] : [1, 3]; for (var i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i % 2]; } sum = (10 - sum % 10) % 10; return (sum + '' === value.charAt(length - 1)); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.emailAddress = $.extend($.fn.bootstrapValidator.i18n.emailAddress || {}, { 'default': 'Please enter a valid email address' }); $.fn.bootstrapValidator.validators.emailAddress = { enableByHtml5: function($field) { return ('email' === $field.attr('type')); }, /** * Return true if and only if the input value is a valid email address * * @param {BootstrapValidator} validator Validate plugin instance * @param {jQuery} $field Field element * @param {Object} [options] * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // Email address regular expression // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript var emailRegExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return emailRegExp.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.file = $.extend($.fn.bootstrapValidator.i18n.file || {}, { 'default': 'Please choose a valid file' }); $.fn.bootstrapValidator.validators.file = { html5Attributes: { extension: 'extension', maxsize: 'maxSize', message: 'message', type: 'type' }, /** * Validate upload file. Use HTML 5 API if the browser supports * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - extension: The allowed extensions, separated by a comma * - maxSize: The maximum size in bytes * - message: The invalid message * - type: The allowed MIME type, separated by a comma * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var ext, extensions = options.extension ? options.extension.toLowerCase().split(',') : null, types = options.type ? options.type.toLowerCase().split(',') : null, html5 = (window.File && window.FileList && window.FileReader); if (html5) { // Get FileList instance var files = $field.get(0).files, total = files.length; for (var i = 0; i < total; i++) { // Check file size if (options.maxSize && files[i].size > parseInt(options.maxSize, 10)) { return false; } // Check file extension ext = files[i].name.substr(files[i].name.lastIndexOf('.') + 1); if (extensions && $.inArray(ext.toLowerCase(), extensions) === -1) { return false; } // Check file type if (types && $.inArray(files[i].type.toLowerCase(), types) === -1) { return false; } } } else { // Check file extension ext = value.substr(value.lastIndexOf('.') + 1); if (extensions && $.inArray(ext.toLowerCase(), extensions) === -1) { return false; } } return true; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.greaterThan = $.extend($.fn.bootstrapValidator.i18n.greaterThan || {}, { 'default': 'Please enter a value greater than or equal to %s', notInclusive: 'Please enter a value greater than %s' }); $.fn.bootstrapValidator.validators.greaterThan = { html5Attributes: { message: 'message', value: 'value', inclusive: 'inclusive' }, enableByHtml5: function($field) { var min = $field.attr('min'); if (min) { return { value: min }; } return false; }, /** * Return true if the input value is greater than or equals to given number * * @param {BootstrapValidator} validator Validate plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - value: Define the number to compare with. It can be * - A number * - Name of field which its value defines the number * - Name of callback function that returns the number * - A callback function that returns the number * * - inclusive [optional]: Can be true or false. Default is true * - message: The invalid message * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var compareTo = $.isNumeric(options.value) ? options.value : validator.getDynamicOption($field, options.value); value = parseFloat(value); return (options.inclusive === true || options.inclusive === undefined) ? { valid: value >= compareTo, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.greaterThan['default'], compareTo) } : { valid: value > compareTo, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.greaterThan.notInclusive, compareTo) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.grid = $.extend($.fn.bootstrapValidator.i18n.grid || {}, { 'default': 'Please enter a valid GRId number' }); $.fn.bootstrapValidator.validators.grid = { /** * Validate GRId (Global Release Identifier) * Examples: * - Valid: A12425GABC1234002M, A1-2425G-ABC1234002-M, A1 2425G ABC1234002 M, Grid:A1-2425G-ABC1234002-M * - Invalid: A1-2425G-ABC1234002-Q * * @see http://en.wikipedia.org/wiki/Global_Release_Identifier * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } value = value.toUpperCase(); if (!/^[GRID:]*([0-9A-Z]{2})[-\s]*([0-9A-Z]{5})[-\s]*([0-9A-Z]{10})[-\s]*([0-9A-Z]{1})$/g.test(value)) { return false; } value = value.replace(/\s/g, '').replace(/-/g, ''); if ('GRID:' === value.substr(0, 5)) { value = value.substr(5); } return $.fn.bootstrapValidator.helpers.mod37And36(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.hex = $.extend($.fn.bootstrapValidator.i18n.hex || {}, { 'default': 'Please enter a valid hexadecimal number' }); $.fn.bootstrapValidator.validators.hex = { /** * Return true if and only if the input value is a valid hexadecimal number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } return /^[0-9a-fA-F]+$/.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.hexColor = $.extend($.fn.bootstrapValidator.i18n.hexColor || {}, { 'default': 'Please enter a valid hex color' }); $.fn.bootstrapValidator.validators.hexColor = { enableByHtml5: function($field) { return ('color' === $field.attr('type')); }, /** * Return true if the input value is a valid hex color * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.iban = $.extend($.fn.bootstrapValidator.i18n.iban || {}, { 'default': 'Please enter a valid IBAN number', countryNotSupported: 'The country code %s is not supported', country: 'Please enter a valid IBAN number in %s', countries: { AD: 'Andorra', AE: 'United Arab Emirates', AL: 'Albania', AO: 'Angola', AT: 'Austria', AZ: 'Azerbaijan', BA: 'Bosnia and Herzegovina', BE: 'Belgium', BF: 'Burkina Faso', BG: 'Bulgaria', BH: 'Bahrain', BI: 'Burundi', BJ: 'Benin', BR: 'Brazil', CH: 'Switzerland', CI: 'Ivory Coast', CM: 'Cameroon', CR: 'Costa Rica', CV: 'Cape Verde', CY: 'Cyprus', CZ: 'Czech Republic', DE: 'Germany', DK: 'Denmark', DO: 'Dominican Republic', DZ: 'Algeria', EE: 'Estonia', ES: 'Spain', FI: 'Finland', FO: 'Faroe Islands', FR: 'France', GB: 'United Kingdom', GE: 'Georgia', GI: 'Gibraltar', GL: 'Greenland', GR: 'Greece', GT: 'Guatemala', HR: 'Croatia', HU: 'Hungary', IE: 'Ireland', IL: 'Israel', IR: 'Iran', IS: 'Iceland', IT: 'Italy', JO: 'Jordan', KW: 'Kuwait', KZ: 'Kazakhstan', LB: 'Lebanon', LI: 'Liechtenstein', LT: 'Lithuania', LU: 'Luxembourg', LV: 'Latvia', MC: 'Monaco', MD: 'Moldova', ME: 'Montenegro', MG: 'Madagascar', MK: 'Macedonia', ML: 'Mali', MR: 'Mauritania', MT: 'Malta', MU: 'Mauritius', MZ: 'Mozambique', NL: 'Netherlands', NO: 'Norway', PK: 'Pakistan', PL: 'Poland', PS: 'Palestinian', PT: 'Portugal', QA: 'Qatar', RO: 'Romania', RS: 'Serbia', SA: 'Saudi Arabia', SE: 'Sweden', SI: 'Slovenia', SK: 'Slovakia', SM: 'San Marino', SN: 'Senegal', TN: 'Tunisia', TR: 'Turkey', VG: 'Virgin Islands, British' } }); $.fn.bootstrapValidator.validators.iban = { html5Attributes: { message: 'message', country: 'country' }, // http://www.swift.com/dsp/resources/documents/IBAN_Registry.pdf // http://en.wikipedia.org/wiki/International_Bank_Account_Number#IBAN_formats_by_country REGEX: { AD: 'AD[0-9]{2}[0-9]{4}[0-9]{4}[A-Z0-9]{12}', // Andorra AE: 'AE[0-9]{2}[0-9]{3}[0-9]{16}', // United Arab Emirates AL: 'AL[0-9]{2}[0-9]{8}[A-Z0-9]{16}', // Albania AO: 'AO[0-9]{2}[0-9]{21}', // Angola AT: 'AT[0-9]{2}[0-9]{5}[0-9]{11}', // Austria AZ: 'AZ[0-9]{2}[A-Z]{4}[A-Z0-9]{20}', // Azerbaijan BA: 'BA[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{8}[0-9]{2}', // Bosnia and Herzegovina BE: 'BE[0-9]{2}[0-9]{3}[0-9]{7}[0-9]{2}', // Belgium BF: 'BF[0-9]{2}[0-9]{23}', // Burkina Faso BG: 'BG[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}', // Bulgaria BH: 'BH[0-9]{2}[A-Z]{4}[A-Z0-9]{14}', // Bahrain BI: 'BI[0-9]{2}[0-9]{12}', // Burundi BJ: 'BJ[0-9]{2}[A-Z]{1}[0-9]{23}', // Benin BR: 'BR[0-9]{2}[0-9]{8}[0-9]{5}[0-9]{10}[A-Z][A-Z0-9]', // Brazil CH: 'CH[0-9]{2}[0-9]{5}[A-Z0-9]{12}', // Switzerland CI: 'CI[0-9]{2}[A-Z]{1}[0-9]{23}', // Ivory Coast CM: 'CM[0-9]{2}[0-9]{23}', // Cameroon CR: 'CR[0-9]{2}[0-9]{3}[0-9]{14}', // Costa Rica CV: 'CV[0-9]{2}[0-9]{21}', // Cape Verde CY: 'CY[0-9]{2}[0-9]{3}[0-9]{5}[A-Z0-9]{16}', // Cyprus CZ: 'CZ[0-9]{2}[0-9]{20}', // Czech Republic DE: 'DE[0-9]{2}[0-9]{8}[0-9]{10}', // Germany DK: 'DK[0-9]{2}[0-9]{14}', // Denmark DO: 'DO[0-9]{2}[A-Z0-9]{4}[0-9]{20}', // Dominican Republic DZ: 'DZ[0-9]{2}[0-9]{20}', // Algeria EE: 'EE[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{11}[0-9]{1}', // Estonia ES: 'ES[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{1}[0-9]{1}[0-9]{10}', // Spain FI: 'FI[0-9]{2}[0-9]{6}[0-9]{7}[0-9]{1}', // Finland FO: 'FO[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}', // Faroe Islands FR: 'FR[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}', // France GB: 'GB[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}', // United Kingdom GE: 'GE[0-9]{2}[A-Z]{2}[0-9]{16}', // Georgia GI: 'GI[0-9]{2}[A-Z]{4}[A-Z0-9]{15}', // Gibraltar GL: 'GL[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}', // Greenland GR: 'GR[0-9]{2}[0-9]{3}[0-9]{4}[A-Z0-9]{16}', // Greece GT: 'GT[0-9]{2}[A-Z0-9]{4}[A-Z0-9]{20}', // Guatemala HR: 'HR[0-9]{2}[0-9]{7}[0-9]{10}', // Croatia HU: 'HU[0-9]{2}[0-9]{3}[0-9]{4}[0-9]{1}[0-9]{15}[0-9]{1}', // Hungary IE: 'IE[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}', // Ireland IL: 'IL[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{13}', // Israel IR: 'IR[0-9]{2}[0-9]{22}', // Iran IS: 'IS[0-9]{2}[0-9]{4}[0-9]{2}[0-9]{6}[0-9]{10}', // Iceland IT: 'IT[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}', // Italy JO: 'JO[0-9]{2}[A-Z]{4}[0-9]{4}[0]{8}[A-Z0-9]{10}', // Jordan KW: 'KW[0-9]{2}[A-Z]{4}[0-9]{22}', // Kuwait KZ: 'KZ[0-9]{2}[0-9]{3}[A-Z0-9]{13}', // Kazakhstan LB: 'LB[0-9]{2}[0-9]{4}[A-Z0-9]{20}', // Lebanon LI: 'LI[0-9]{2}[0-9]{5}[A-Z0-9]{12}', // Liechtenstein LT: 'LT[0-9]{2}[0-9]{5}[0-9]{11}', // Lithuania LU: 'LU[0-9]{2}[0-9]{3}[A-Z0-9]{13}', // Luxembourg LV: 'LV[0-9]{2}[A-Z]{4}[A-Z0-9]{13}', // Latvia MC: 'MC[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}', // Monaco MD: 'MD[0-9]{2}[A-Z0-9]{20}', // Moldova ME: 'ME[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}', // Montenegro MG: 'MG[0-9]{2}[0-9]{23}', // Madagascar MK: 'MK[0-9]{2}[0-9]{3}[A-Z0-9]{10}[0-9]{2}', // Macedonia ML: 'ML[0-9]{2}[A-Z]{1}[0-9]{23}', // Mali MR: 'MR13[0-9]{5}[0-9]{5}[0-9]{11}[0-9]{2}', // Mauritania MT: 'MT[0-9]{2}[A-Z]{4}[0-9]{5}[A-Z0-9]{18}', // Malta MU: 'MU[0-9]{2}[A-Z]{4}[0-9]{2}[0-9]{2}[0-9]{12}[0-9]{3}[A-Z]{3}', // Mauritius MZ: 'MZ[0-9]{2}[0-9]{21}', // Mozambique NL: 'NL[0-9]{2}[A-Z]{4}[0-9]{10}', // Netherlands NO: 'NO[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{1}', // Norway PK: 'PK[0-9]{2}[A-Z]{4}[A-Z0-9]{16}', // Pakistan PL: 'PL[0-9]{2}[0-9]{8}[0-9]{16}', // Poland PS: 'PS[0-9]{2}[A-Z]{4}[A-Z0-9]{21}', // Palestinian PT: 'PT[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{11}[0-9]{2}', // Portugal QA: 'QA[0-9]{2}[A-Z]{4}[A-Z0-9]{21}', // Qatar RO: 'RO[0-9]{2}[A-Z]{4}[A-Z0-9]{16}', // Romania RS: 'RS[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}', // Serbia SA: 'SA[0-9]{2}[0-9]{2}[A-Z0-9]{18}', // Saudi Arabia SE: 'SE[0-9]{2}[0-9]{3}[0-9]{16}[0-9]{1}', // Sweden SI: 'SI[0-9]{2}[0-9]{5}[0-9]{8}[0-9]{2}', // Slovenia SK: 'SK[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{10}', // Slovakia SM: 'SM[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}', // San Marino SN: 'SN[0-9]{2}[A-Z]{1}[0-9]{23}', // Senegal TN: 'TN59[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}', // Tunisia TR: 'TR[0-9]{2}[0-9]{5}[A-Z0-9]{1}[A-Z0-9]{16}', // Turkey VG: 'VG[0-9]{2}[A-Z]{4}[0-9]{16}' // Virgin Islands, British }, /** * Validate an International Bank Account Number (IBAN) * To test it, take the sample IBAN from * http://www.nordea.com/Our+services/International+products+and+services/Cash+Management/IBAN+countries/908462.html * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * - country: The ISO 3166-1 country code. It can be * - A country code * - Name of field which its value defines the country code * - Name of callback function that returns the country code * - A callback function that returns the country code * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } value = value.replace(/[^a-zA-Z0-9]/g, '').toUpperCase(); var country = options.country; if (!country) { country = value.substr(0, 2); } else if (typeof country !== 'string' || !this.REGEX[country]) { // Determine the country code country = validator.getDynamicOption($field, country); } if (!this.REGEX[country]) { return { valid: false, message: $.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.iban.countryNotSupported, country) }; } if (!(new RegExp('^' + this.REGEX[country] + '$')).test(value)) { return { valid: false, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.iban.country, $.fn.bootstrapValidator.i18n.iban.countries[country]) }; } value = value.substr(4) + value.substr(0, 4); value = $.map(value.split(''), function(n) { var code = n.charCodeAt(0); return (code >= 'A'.charCodeAt(0) && code <= 'Z'.charCodeAt(0)) // Replace A, B, C, ..., Z with 10, 11, ..., 35 ? (code - 'A'.charCodeAt(0) + 10) : n; }); value = value.join(''); var temp = parseInt(value.substr(0, 1), 10), length = value.length; for (var i = 1; i < length; ++i) { temp = (temp * 10 + parseInt(value.substr(i, 1), 10)) % 97; } return { valid: (temp === 1), message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.iban.country, $.fn.bootstrapValidator.i18n.iban.countries[country]) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.id = $.extend($.fn.bootstrapValidator.i18n.id || {}, { 'default': 'Please enter a valid identification number', countryNotSupported: 'The country code %s is not supported', country: 'Please enter a valid %s identification number', countries: { BA: 'Bosnia and Herzegovina', BG: 'Bulgarian', BR: 'Brazilian', CH: 'Swiss', CL: 'Chilean', CZ: 'Czech', DK: 'Danish', EE: 'Estonian', ES: 'Spanish', FI: 'Finnish', HR: 'Croatian', IE: 'Irish', IS: 'Iceland', LT: 'Lithuanian', LV: 'Latvian', ME: 'Montenegro', MK: 'Macedonian', NL: 'Dutch', RO: 'Romanian', RS: 'Serbian', SE: 'Swedish', SI: 'Slovenian', SK: 'Slovak', SM: 'San Marino', ZA: 'South African' } }); $.fn.bootstrapValidator.validators.id = { html5Attributes: { message: 'message', country: 'country' }, // Supported country codes COUNTRY_CODES: [ 'BA', 'BG', 'BR', 'CH', 'CL', 'CZ', 'DK', 'EE', 'ES', 'FI', 'HR', 'IE', 'IS', 'LT', 'LV', 'ME', 'MK', 'NL', 'RO', 'RS', 'SE', 'SI', 'SK', 'SM', 'ZA' ], /** * Validate identification number in different countries * * @see http://en.wikipedia.org/wiki/National_identification_number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - country: The ISO 3166-1 country code. It can be * - One of country code defined in COUNTRY_CODES * - Name of field which its value defines the country code * - Name of callback function that returns the country code * - A callback function that returns the country code * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var country = options.country; if (!country) { country = value.substr(0, 2); } else if (typeof country !== 'string' || $.inArray(country.toUpperCase(), this.COUNTRY_CODES) === -1) { // Determine the country code country = validator.getDynamicOption($field, country); } if ($.inArray(country, this.COUNTRY_CODES) === -1) { return { valid: false, message: $.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.id.countryNotSupported, country) }; } var method = ['_', country.toLowerCase()].join(''); return this[method](value) ? true : { valid: false, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.id.country, $.fn.bootstrapValidator.i18n.id.countries[country.toUpperCase()]) }; }, /** * Validate Unique Master Citizen Number which uses in * - Bosnia and Herzegovina (country code: BA) * - Macedonia (MK) * - Montenegro (ME) * - Serbia (RS) * - Slovenia (SI) * * @see http://en.wikipedia.org/wiki/Unique_Master_Citizen_Number * @param {String} value The ID * @param {String} countryCode The ISO country code, can be BA, MK, ME, RS, SI * @returns {Boolean} */ _validateJMBG: function(value, countryCode) { if (!/^\d{13}$/.test(value)) { return false; } var day = parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10), year = parseInt(value.substr(4, 3), 10), rr = parseInt(value.substr(7, 2), 10), k = parseInt(value.substr(12, 1), 10); // Validate date of birth // FIXME: Validate the year of birth if (day > 31 || month > 12) { return false; } // Validate checksum var sum = 0; for (var i = 0; i < 6; i++) { sum += (7 - i) * (parseInt(value.charAt(i), 10) + parseInt(value.charAt(i + 6), 10)); } sum = 11 - sum % 11; if (sum === 10 || sum === 11) { sum = 0; } if (sum !== k) { return false; } // Validate political region // rr is the political region of birth, which can be in ranges: // 10-19: Bosnia and Herzegovina // 20-29: Montenegro // 30-39: Croatia (not used anymore) // 41-49: Macedonia // 50-59: Slovenia (only 50 is used) // 70-79: Central Serbia // 80-89: Serbian province of Vojvodina // 90-99: Kosovo switch (countryCode.toUpperCase()) { case 'BA': return (10 <= rr && rr <= 19); case 'MK': return (41 <= rr && rr <= 49); case 'ME': return (20 <= rr && rr <= 29); case 'RS': return (70 <= rr && rr <= 99); case 'SI': return (50 <= rr && rr <= 59); default: return true; } }, _ba: function(value) { return this._validateJMBG(value, 'BA'); }, _mk: function(value) { return this._validateJMBG(value, 'MK'); }, _me: function(value) { return this._validateJMBG(value, 'ME'); }, _rs: function(value) { return this._validateJMBG(value, 'RS'); }, /** * Examples: 0101006500006 */ _si: function(value) { return this._validateJMBG(value, 'SI'); }, /** * Validate Bulgarian national identification number (EGN) * Examples: * - Valid: 7523169263, 8032056031, 803205 603 1, 8001010008, 7501020018, 7552010005, 7542011030 * - Invalid: 8019010008 * * @see http://en.wikipedia.org/wiki/Uniform_civil_number * @param {String} value The ID * @returns {Boolean} */ _bg: function(value) { if (!/^\d{10}$/.test(value) && !/^\d{6}\s\d{3}\s\d{1}$/.test(value)) { return false; } value = value.replace(/\s/g, ''); // Check the birth date var year = parseInt(value.substr(0, 2), 10) + 1900, month = parseInt(value.substr(2, 2), 10), day = parseInt(value.substr(4, 2), 10); if (month > 40) { year += 100; month -= 40; } else if (month > 20) { year -= 100; month -= 20; } if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } var sum = 0, weight = [2, 4, 8, 5, 10, 9, 7, 3, 6]; for (var i = 0; i < 9; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = (sum % 11) % 10; return (sum + '' === value.substr(9, 1)); }, /** * Validate Brazilian national identification number (CPF) * Examples: * - Valid: 39053344705, 390.533.447-05, 111.444.777-35 * - Invalid: 231.002.999-00 * * @see http://en.wikipedia.org/wiki/Cadastro_de_Pessoas_F%C3%ADsicas * @param {String} value The ID * @returns {Boolean} */ _br: function(value) { if (/^1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}$/.test(value)) { return false; } if (!/^\d{11}$/.test(value) && !/^\d{3}\.\d{3}\.\d{3}-\d{2}$/.test(value)) { return false; } value = value.replace(/\./g, '').replace(/-/g, ''); var d1 = 0; for (var i = 0; i < 9; i++) { d1 += (10 - i) * parseInt(value.charAt(i), 10); } d1 = 11 - d1 % 11; if (d1 === 10 || d1 === 11) { d1 = 0; } if (d1 + '' !== value.charAt(9)) { return false; } var d2 = 0; for (i = 0; i < 10; i++) { d2 += (11 - i) * parseInt(value.charAt(i), 10); } d2 = 11 - d2 % 11; if (d2 === 10 || d2 === 11) { d2 = 0; } return (d2 + '' === value.charAt(10)); }, /** * Validate Swiss Social Security Number (AHV-Nr/No AVS) * Examples: * - Valid: 756.1234.5678.95, 7561234567895 * * @see http://en.wikipedia.org/wiki/National_identification_number#Switzerland * @see http://www.bsv.admin.ch/themen/ahv/00011/02185/index.html?lang=de * @param {String} value The ID * @returns {Boolean} */ _ch: function(value) { if (!/^756[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{2}$/.test(value)) { return false; } value = value.replace(/\D/g, '').substr(3); var length = value.length, sum = 0, weight = (length === 8) ? [3, 1] : [1, 3]; for (var i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i % 2]; } sum = 10 - sum % 10; return (sum + '' === value.charAt(length - 1)); }, /** * Validate Chilean national identification number (RUN/RUT) * Examples: * - Valid: 76086428-5, 22060449-7, 12531909-2 * * @see http://en.wikipedia.org/wiki/National_identification_number#Chile * @see https://palena.sii.cl/cvc/dte/ee_empresas_emisoras.html for samples * @param {String} value The ID * @returns {Boolean} */ _cl: function(value) { if (!/^\d{7,8}[-]{0,1}[0-9K]$/i.test(value)) { return false; } value = value.replace(/\-/g, ''); while (value.length < 9) { value = '0' + value; } var sum = 0, weight = [3, 2, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; if (sum === 11) { sum = 0; } else if (sum === 10) { sum = 'K'; } return sum + '' === value.charAt(8).toUpperCase(); }, /** * Validate Czech national identification number (RC) * Examples: * - Valid: 7103192745, 991231123 * - Invalid: 1103492745, 590312123 * * @param {String} value The ID * @returns {Boolean} */ _cz: function(value) { if (!/^\d{9,10}$/.test(value)) { return false; } var year = 1900 + parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10) % 50 % 20, day = parseInt(value.substr(4, 2), 10); if (value.length === 9) { if (year >= 1980) { year -= 100; } if (year > 1953) { return false; } } else if (year < 1954) { year += 100; } if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } // Check that the birth date is not in the future if (value.length === 10) { var check = parseInt(value.substr(0, 9), 10) % 11; if (year < 1985) { check = check % 10; } return (check + '' === value.substr(9, 1)); } return true; }, /** * Validate Danish Personal Identification number (CPR) * Examples: * - Valid: 2110625629, 211062-5629 * - Invalid: 511062-5629 * * @see https://en.wikipedia.org/wiki/Personal_identification_number_(Denmark) * @param {String} value The ID * @returns {Boolean} */ _dk: function(value) { if (!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(value)) { return false; } value = value.replace(/-/g, ''); var day = parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10), year = parseInt(value.substr(4, 2), 10); switch (true) { case ('5678'.indexOf(value.charAt(6)) !== -1 && year >= 58): year += 1800; break; case ('0123'.indexOf(value.charAt(6)) !== -1): case ('49'.indexOf(value.charAt(6)) !== -1 && year >= 37): year += 1900; break; default: year += 2000; break; } return $.fn.bootstrapValidator.helpers.date(year, month, day); }, /** * Validate Estonian Personal Identification Code (isikukood) * Examples: * - Valid: 37605030299 * * @see http://et.wikipedia.org/wiki/Isikukood * @param {String} value The ID * @returns {Boolean} */ _ee: function(value) { // Use the same format as Lithuanian Personal Code return this._lt(value); }, /** * Validate Spanish personal identity code (DNI) * Support i) DNI (for Spanish citizens) and ii) NIE (for foreign people) * * Examples: * - Valid: i) 54362315K, 54362315-K; ii) X2482300W, X-2482300W, X-2482300-W * - Invalid: i) 54362315Z; ii) X-2482300A * * @see https://en.wikipedia.org/wiki/National_identification_number#Spain * @param {String} value The ID * @returns {Boolean} */ _es: function(value) { if (!/^[0-9A-Z]{8}[-]{0,1}[0-9A-Z]$/.test(value) // DNI && !/^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-Z]$/.test(value)) { // NIE return false; } value = value.replace(/-/g, ''); var index = 'XYZ'.indexOf(value.charAt(0)); if (index !== -1) { // It is NIE number value = index + value.substr(1) + ''; } var check = parseInt(value.substr(0, 8), 10); check = 'TRWAGMYFPDXBNJZSQVHLCKE'[check % 23]; return (check === value.substr(8, 1)); }, /** * Validate Finnish Personal Identity Code (HETU) * Examples: * - Valid: 311280-888Y, 131052-308T * - Invalid: 131052-308U, 310252-308Y * * @param {String} value The ID * @returns {Boolean} */ _fi: function(value) { if (!/^[0-9]{6}[-+A][0-9]{3}[0-9ABCDEFHJKLMNPRSTUVWXY]$/.test(value)) { return false; } var day = parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10), year = parseInt(value.substr(4, 2), 10), centuries = { '+': 1800, '-': 1900, 'A': 2000 }; year = centuries[value.charAt(6)] + year; if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } var individual = parseInt(value.substr(7, 3), 10); if (individual < 2) { return false; } var n = value.substr(0, 6) + value.substr(7, 3) + ''; n = parseInt(n, 10); return '0123456789ABCDEFHJKLMNPRSTUVWXY'.charAt(n % 31) === value.charAt(10); }, /** * Validate Croatian personal identification number (OIB) * Examples: * - Valid: 33392005961 * - Invalid: 33392005962 * * @param {String} value The ID * @returns {Boolean} */ _hr: function(value) { if (!/^[0-9]{11}$/.test(value)) { return false; } return $.fn.bootstrapValidator.helpers.mod11And10(value); }, /** * Validate Irish Personal Public Service Number (PPS) * Examples: * - Valid: 6433435F, 6433435FT, 6433435FW, 6433435OA, 6433435IH, 1234567TW, 1234567FA * - Invalid: 6433435E, 6433435VH * * @see https://en.wikipedia.org/wiki/Personal_Public_Service_Number * @param {String} value The ID * @returns {Boolean} */ _ie: function(value) { if (!/^\d{7}[A-W][AHWTX]?$/.test(value)) { return false; } var getCheckDigit = function(value) { while (value.length < 7) { value = '0' + value; } var alphabet = 'WABCDEFGHIJKLMNOPQRSTUV', sum = 0; for (var i = 0; i < 7; i++) { sum += parseInt(value.charAt(i), 10) * (8 - i); } sum += 9 * alphabet.indexOf(value.substr(7)); return alphabet[sum % 23]; }; // 2013 format if (value.length === 9 && ('A' === value.charAt(8) || 'H' === value.charAt(8))) { return value.charAt(7) === getCheckDigit(value.substr(0, 7) + value.substr(8) + ''); } // The old format else { return value.charAt(7) === getCheckDigit(value.substr(0, 7)); } }, /** * Validate Iceland national identification number (Kennitala) * Examples: * - Valid: 120174-3399, 1201743399, 0902862349 * * @see http://en.wikipedia.org/wiki/Kennitala * @param {String} value The ID * @returns {Boolean} */ _is: function(value) { if (!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(value)) { return false; } value = value.replace(/-/g, ''); var day = parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10), year = parseInt(value.substr(4, 2), 10), century = parseInt(value.charAt(9), 10); year = (century === 9) ? (1900 + year) : ((20 + century) * 100 + year); if (!$.fn.bootstrapValidator.helpers.date(year, month, day, true)) { return false; } // Validate the check digit var sum = 0, weight = [3, 2, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; return (sum + '' === value.charAt(8)); }, /** * Validate Lithuanian Personal Code (Asmens kodas) * Examples: * - Valid: 38703181745 * - Invalid: 38703181746, 78703181745, 38703421745 * * @see http://en.wikipedia.org/wiki/National_identification_number#Lithuania * @see http://www.adomas.org/midi2007/pcode.html * @param {String} value The ID * @returns {Boolean} */ _lt: function(value) { if (!/^[0-9]{11}$/.test(value)) { return false; } var gender = parseInt(value.charAt(0), 10), year = parseInt(value.substr(1, 2), 10), month = parseInt(value.substr(3, 2), 10), day = parseInt(value.substr(5, 2), 10), century = (gender % 2 === 0) ? (17 + gender / 2) : (17 + (gender + 1) / 2); year = century * 100 + year; if (!$.fn.bootstrapValidator.helpers.date(year, month, day, true)) { return false; } // Validate the check digit var sum = 0, weight = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1]; for (var i = 0; i < 10; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 11; if (sum !== 10) { return sum + '' === value.charAt(10); } // Re-calculate the check digit sum = 0; weight = [3, 4, 5, 6, 7, 8, 9, 1, 2, 3]; for (i = 0; i < 10; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 11; if (sum === 10) { sum = 0; } return (sum + '' === value.charAt(10)); }, /** * Validate Latvian Personal Code (Personas kods) * Examples: * - Valid: 161175-19997, 16117519997 * - Invalid: 161375-19997 * * @see http://laacz.lv/2006/11/25/pk-parbaudes-algoritms/ * @param {String} value The ID * @returns {Boolean} */ _lv: function(value) { if (!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test(value)) { return false; } value = value.replace(/\D/g, ''); // Check birth date var day = parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10), year = parseInt(value.substr(4, 2), 10); year = year + 1800 + parseInt(value.charAt(6), 10) * 100; if (!$.fn.bootstrapValidator.helpers.date(year, month, day, true)) { return false; } // Check personal code var sum = 0, weight = [10, 5, 8, 4, 2, 1, 6, 3, 7, 9]; for (var i = 0; i < 10; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = (sum + 1) % 11 % 10; return (sum + '' === value.charAt(10)); }, /** * Validate Dutch national identification number (BSN) * Examples: * - Valid: 111222333, 941331490, 9413.31.490 * - Invalid: 111252333 * * @see https://nl.wikipedia.org/wiki/Burgerservicenummer * @param {String} value The ID * @returns {Boolean} */ _nl: function(value) { while (value.length < 9) { value = '0' + value; } if (!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(value)) { return false; } value = value.replace(/\./g, ''); if (parseInt(value, 10) === 0) { return false; } var sum = 0, length = value.length; for (var i = 0; i < length - 1; i++) { sum += (9 - i) * parseInt(value.charAt(i), 10); } sum = sum % 11; if (sum === 10) { sum = 0; } return (sum + '' === value.charAt(length - 1)); }, /** * Validate Romanian numerical personal code (CNP) * Examples: * - Valid: 1630615123457, 1800101221144 * - Invalid: 8800101221144, 1632215123457, 1630615123458 * * @see http://en.wikipedia.org/wiki/National_identification_number#Romania * @param {String} value The ID * @returns {Boolean} */ _ro: function(value) { if (!/^[0-9]{13}$/.test(value)) { return false; } var gender = parseInt(value.charAt(0), 10); if (gender === 0 || gender === 7 || gender === 8) { return false; } // Determine the date of birth var year = parseInt(value.substr(1, 2), 10), month = parseInt(value.substr(3, 2), 10), day = parseInt(value.substr(5, 2), 10), // The year of date is determined base on the gender centuries = { '1': 1900, // Male born between 1900 and 1999 '2': 1900, // Female born between 1900 and 1999 '3': 1800, // Male born between 1800 and 1899 '4': 1800, // Female born between 1800 and 1899 '5': 2000, // Male born after 2000 '6': 2000 // Female born after 2000 }; if (day > 31 && month > 12) { return false; } if (gender !== 9) { year = centuries[gender + ''] + year; if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } } // Validate the check digit var sum = 0, weight = [2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9], length = value.length; for (var i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 11; if (sum === 10) { sum = 1; } return (sum + '' === value.charAt(length - 1)); }, /** * Validate Swedish personal identity number (personnummer) * Examples: * - Valid: 8112289874, 811228-9874, 811228+9874 * - Invalid: 811228-9873 * * @see http://en.wikipedia.org/wiki/Personal_identity_number_(Sweden) * @param {String} value The ID * @returns {Boolean} */ _se: function(value) { if (!/^[0-9]{10}$/.test(value) && !/^[0-9]{6}[-|+][0-9]{4}$/.test(value)) { return false; } value = value.replace(/[^0-9]/g, ''); var year = parseInt(value.substr(0, 2), 10) + 1900, month = parseInt(value.substr(2, 2), 10), day = parseInt(value.substr(4, 2), 10); if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } // Validate the last check digit return $.fn.bootstrapValidator.helpers.luhn(value); }, /** * Validate Slovak national identifier number (RC) * Examples: * - Valid: 7103192745, 991231123 * - Invalid: 7103192746, 1103492745 * * @param {String} value The ID * @returns {Boolean} */ _sk: function(value) { // Slovakia uses the same format as Czech Republic return this._cz(value); }, /** * Validate San Marino citizen number * * @see http://en.wikipedia.org/wiki/National_identification_number#San_Marino * @param {String} value The ID * @returns {Boolean} */ _sm: function(value) { return /^\d{5}$/.test(value); }, /** * Validate South African ID * Example: * - Valid: 8001015009087 * - Invalid: 8001015009287, 8001015009086 * * @see http://en.wikipedia.org/wiki/National_identification_number#South_Africa * @param {String} value The ID * @returns {Boolean} */ _za: function(value) { if (!/^[0-9]{10}[0|1][8|9][0-9]$/.test(value)) { return false; } var year = parseInt(value.substr(0, 2), 10), currentYear = new Date().getFullYear() % 100, month = parseInt(value.substr(2, 2), 10), day = parseInt(value.substr(4, 2), 10); year = (year >= currentYear) ? (year + 1900) : (year + 2000); if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } // Validate the last check digit return $.fn.bootstrapValidator.helpers.luhn(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.identical = $.extend($.fn.bootstrapValidator.i18n.identical || {}, { 'default': 'Please enter the same value' }); $.fn.bootstrapValidator.validators.identical = { html5Attributes: { message: 'message', field: 'field' }, /** * Check if input value equals to value of particular one * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consists of the following key: * - field: The name of field that will be used to compare with current one * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var compareWith = validator.getFieldElements(options.field); if (compareWith === null) { return true; } if (value === compareWith.val()) { validator.updateStatus(options.field, validator.STATUS_VALID, 'identical'); return true; } else { return false; } } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.imei = $.extend($.fn.bootstrapValidator.i18n.imei || {}, { 'default': 'Please enter a valid IMEI number' }); $.fn.bootstrapValidator.validators.imei = { /** * Validate IMEI (International Mobile Station Equipment Identity) * Examples: * - Valid: 35-209900-176148-1, 35-209900-176148-23, 3568680000414120, 490154203237518 * - Invalid: 490154203237517 * * @see http://en.wikipedia.org/wiki/International_Mobile_Station_Equipment_Identity * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } switch (true) { case /^\d{15}$/.test(value): case /^\d{2}-\d{6}-\d{6}-\d{1}$/.test(value): case /^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(value): value = value.replace(/[^0-9]/g, ''); return $.fn.bootstrapValidator.helpers.luhn(value); case /^\d{14}$/.test(value): case /^\d{16}$/.test(value): case /^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(value): case /^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(value): return true; default: return false; } } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.imo = $.extend($.fn.bootstrapValidator.i18n.imo || {}, { 'default': 'Please enter a valid IMO number' }); $.fn.bootstrapValidator.validators.imo = { /** * Validate IMO (International Maritime Organization) * Examples: * - Valid: IMO 8814275, IMO 9176187 * - Invalid: IMO 8814274 * * @see http://en.wikipedia.org/wiki/IMO_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } if (!/^IMO \d{7}$/i.test(value)) { return false; } // Grab just the digits var sum = 0, digits = value.replace(/^.*(\d{7})$/, '$1'); // Go over each char, multiplying by the inverse of it's position // IMO 9176187 // (9 * 7) + (1 * 6) + (7 * 5) + (6 * 4) + (1 * 3) + (8 * 2) = 147 // Take the last digit of that, that's the check digit (7) for (var i = 6; i >= 1; i--) { sum += (digits.slice((6 - i), -i) * (i + 1)); } return sum % 10 === parseInt(digits.charAt(6), 10); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.integer = $.extend($.fn.bootstrapValidator.i18n.integer || {}, { 'default': 'Please enter a valid number' }); $.fn.bootstrapValidator.validators.integer = { enableByHtml5: function($field) { return ('number' === $field.attr('type')) && ($field.attr('step') === undefined || $field.attr('step') % 1 === 0); }, /** * Return true if the input value is an integer * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following key: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } return /^(?:-?(?:0|[1-9][0-9]*))$/.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.ip = $.extend($.fn.bootstrapValidator.i18n.ip || {}, { 'default': 'Please enter a valid IP address', ipv4: 'Please enter a valid IPv4 address', ipv6: 'Please enter a valid IPv6 address' }); $.fn.bootstrapValidator.validators.ip = { html5Attributes: { message: 'message', ipv4: 'ipv4', ipv6: 'ipv6' }, /** * Return true if the input value is a IP address. * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - ipv4: Enable IPv4 validator, default to true * - ipv6: Enable IPv6 validator, default to true * - message: The invalid message * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } options = $.extend({}, { ipv4: true, ipv6: true }, options); var ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, ipv6Regex = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/, valid = false, message; switch (true) { case (options.ipv4 && !options.ipv6): valid = ipv4Regex.test(value); message = options.message || $.fn.bootstrapValidator.i18n.ip.ipv4; break; case (!options.ipv4 && options.ipv6): valid = ipv6Regex.test(value); message = options.message || $.fn.bootstrapValidator.i18n.ip.ipv6; break; case (options.ipv4 && options.ipv6): /* falls through */ default: valid = ipv4Regex.test(value) && ipv6Regex.test(value); message = options.message || $.fn.bootstrapValidator.i18n.ip.default; break; } return { valid: valid, message: message }; } }; }(window.jQuery));;(function($) { $.fn.bootstrapValidator.i18n.isbn = $.extend($.fn.bootstrapValidator.i18n.isbn || {}, { 'default': 'Please enter a valid ISBN number' }); $.fn.bootstrapValidator.validators.isbn = { /** * Return true if the input value is a valid ISBN 10 or ISBN 13 number * Examples: * - Valid: * ISBN 10: 99921-58-10-7, 9971-5-0210-0, 960-425-059-0, 80-902734-1-6, 85-359-0277-5, 1-84356-028-3, 0-684-84328-5, 0-8044-2957-X, 0-85131-041-9, 0-943396-04-2, 0-9752298-0-X * ISBN 13: 978-0-306-40615-7 * - Invalid: * ISBN 10: 99921-58-10-6 * ISBN 13: 978-0-306-40615-6 * * @see http://en.wikipedia.org/wiki/International_Standard_Book_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} [options] Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // http://en.wikipedia.org/wiki/International_Standard_Book_Number#Overview // Groups are separated by a hyphen or a space var type; switch (true) { case /^\d{9}[\dX]$/.test(value): case (value.length === 13 && /^(\d+)-(\d+)-(\d+)-([\dX])$/.test(value)): case (value.length === 13 && /^(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(value)): type = 'ISBN10'; break; case /^(978|979)\d{9}[\dX]$/.test(value): case (value.length === 17 && /^(978|979)-(\d+)-(\d+)-(\d+)-([\dX])$/.test(value)): case (value.length === 17 && /^(978|979)\s(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(value)): type = 'ISBN13'; break; default: return false; } // Replace all special characters except digits and X value = value.replace(/[^0-9X]/gi, ''); var chars = value.split(''), length = chars.length, sum = 0, i, checksum; switch (type) { case 'ISBN10': sum = 0; for (i = 0; i < length - 1; i++) { sum += parseInt(chars[i], 10) * (10 - i); } checksum = 11 - (sum % 11); if (checksum === 11) { checksum = 0; } else if (checksum === 10) { checksum = 'X'; } return (checksum + '' === chars[length - 1]); case 'ISBN13': sum = 0; for (i = 0; i < length - 1; i++) { sum += ((i % 2 === 0) ? parseInt(chars[i], 10) : (parseInt(chars[i], 10) * 3)); } checksum = 10 - (sum % 10); if (checksum === 10) { checksum = '0'; } return (checksum + '' === chars[length - 1]); default: return false; } } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.isin = $.extend($.fn.bootstrapValidator.i18n.isin || {}, { 'default': 'Please enter a valid ISIN number' }); $.fn.bootstrapValidator.validators.isin = { // Available country codes // See http://isin.net/country-codes/ COUNTRY_CODES: 'AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW', /** * Validate an ISIN (International Securities Identification Number) * Examples: * - Valid: US0378331005, AU0000XVGZA3, GB0002634946 * - Invalid: US0378331004, AA0000XVGZA3 * * @see http://en.wikipedia.org/wiki/International_Securities_Identifying_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } value = value.toUpperCase(); var regex = new RegExp('^(' + this.COUNTRY_CODES + ')[0-9A-Z]{10}$'); if (!regex.test(value)) { return false; } var converted = '', length = value.length; // Convert letters to number for (var i = 0; i < length - 1; i++) { var c = value.charCodeAt(i); converted += ((c > 57) ? (c - 55).toString() : value.charAt(i)); } var digits = '', n = converted.length, group = (n % 2 !== 0) ? 0 : 1; for (i = 0; i < n; i++) { digits += (parseInt(converted[i], 10) * ((i % 2) === group ? 2 : 1) + ''); } var sum = 0; for (i = 0; i < digits.length; i++) { sum += parseInt(digits.charAt(i), 10); } sum = (10 - (sum % 10)) % 10; return sum + '' === value.charAt(length - 1); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.ismn = $.extend($.fn.bootstrapValidator.i18n.ismn || {}, { 'default': 'Please enter a valid ISMN number' }); $.fn.bootstrapValidator.validators.ismn = { /** * Validate ISMN (International Standard Music Number) * Examples: * - Valid: M230671187, 979-0-0601-1561-5, 979 0 3452 4680 5, 9790060115615 * - Invalid: 9790060115614 * * @see http://en.wikipedia.org/wiki/International_Standard_Music_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // Groups are separated by a hyphen or a space var type; switch (true) { case /^M\d{9}$/.test(value): case /^M-\d{4}-\d{4}-\d{1}$/.test(value): case /^M\s\d{4}\s\d{4}\s\d{1}$/.test(value): type = 'ISMN10'; break; case /^9790\d{9}$/.test(value): case /^979-0-\d{4}-\d{4}-\d{1}$/.test(value): case /^979\s0\s\d{4}\s\d{4}\s\d{1}$/.test(value): type = 'ISMN13'; break; default: return false; } if ('ISMN10' === type) { value = '9790' + value.substr(1); } // Replace all special characters except digits value = value.replace(/[^0-9]/gi, ''); var length = value.length, sum = 0, weight = [1, 3]; for (var i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i % 2]; } sum = 10 - sum % 10; return (sum + '' === value.charAt(length - 1)); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.issn = $.extend($.fn.bootstrapValidator.i18n.issn || {}, { 'default': 'Please enter a valid ISSN number' }); $.fn.bootstrapValidator.validators.issn = { /** * Validate ISSN (International Standard Serial Number) * Examples: * - Valid: 0378-5955, 0024-9319, 0032-1478 * - Invalid: 0032-147X * * @see http://en.wikipedia.org/wiki/International_Standard_Serial_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // Groups are separated by a hyphen or a space if (!/^\d{4}\-\d{3}[\dX]$/.test(value)) { return false; } // Replace all special characters except digits and X value = value.replace(/[^0-9X]/gi, ''); var chars = value.split(''), length = chars.length, sum = 0; if (chars[7] === 'X') { chars[7] = 10; } for (var i = 0; i < length; i++) { sum += parseInt(chars[i], 10) * (8 - i); } return (sum % 11 === 0); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.lessThan = $.extend($.fn.bootstrapValidator.i18n.lessThan || {}, { 'default': 'Please enter a value less than or equal to %s', notInclusive: 'Please enter a value less than %s' }); $.fn.bootstrapValidator.validators.lessThan = { html5Attributes: { message: 'message', value: 'value', inclusive: 'inclusive' }, enableByHtml5: function($field) { var max = $field.attr('max'); if (max) { return { value: max }; } return false; }, /** * Return true if the input value is less than or equal to given number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - value: The number used to compare to. It can be * - A number * - Name of field which its value defines the number * - Name of callback function that returns the number * - A callback function that returns the number * * - inclusive [optional]: Can be true or false. Default is true * - message: The invalid message * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var compareTo = $.isNumeric(options.value) ? options.value : validator.getDynamicOption($field, options.value); value = parseFloat(value); return (options.inclusive === true || options.inclusive === undefined) ? { valid: value <= compareTo, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.lessThan['default'], compareTo) } : { valid: value < compareTo, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.lessThan.notInclusive, compareTo) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.mac = $.extend($.fn.bootstrapValidator.i18n.mac || {}, { 'default': 'Please enter a valid MAC address' }); $.fn.bootstrapValidator.validators.mac = { /** * Return true if the input value is a MAC address. * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } return /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.meid = $.extend($.fn.bootstrapValidator.i18n.meid || {}, { 'default': 'Please enter a valid MEID number' }); $.fn.bootstrapValidator.validators.meid = { /** * Validate MEID (Mobile Equipment Identifier) * Examples: * - Valid: 293608736500703710, 29360-87365-0070-3710, AF0123450ABCDE, AF-012345-0ABCDE * - Invalid: 2936087365007037101 * * @see http://en.wikipedia.org/wiki/Mobile_equipment_identifier * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } switch (true) { // 14 digit hex representation (no check digit) case /^[0-9A-F]{15}$/i.test(value): // 14 digit hex representation + dashes or spaces (no check digit) case /^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}[- ][0-9A-F]$/i.test(value): // 18 digit decimal representation (no check digit) case /^\d{19}$/.test(value): // 18 digit decimal representation + dashes or spaces (no check digit) case /^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}[- ]\d$/.test(value): // Grab the check digit var cd = value.charAt(value.length - 1); // Strip any non-hex chars value = value.replace(/[- ]/g, ''); // If it's all digits, luhn base 10 is used if (value.match(/^\d*$/i)) { return $.fn.bootstrapValidator.helpers.luhn(value); } // Strip the check digit value = value.slice(0, -1); // Get every other char, and double it var cdCalc = ''; for (var i = 1; i <= 13; i += 2) { cdCalc += (parseInt(value.charAt(i), 16) * 2).toString(16); } // Get the sum of each char in the string var sum = 0; for (i = 0; i < cdCalc.length; i++) { sum += parseInt(cdCalc.charAt(i), 16); } // If the last digit of the calc is 0, the check digit is 0 return (sum % 10 === 0) ? (cd === '0') // Subtract it from the next highest 10s number (64 goes to 70) and subtract the sum // Double it and turn it into a hex char : (cd === ((Math.floor((sum + 10) / 10) * 10 - sum) * 2).toString(16)); // 14 digit hex representation (no check digit) case /^[0-9A-F]{14}$/i.test(value): // 14 digit hex representation + dashes or spaces (no check digit) case /^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}$/i.test(value): // 18 digit decimal representation (no check digit) case /^\d{18}$/.test(value): // 18 digit decimal representation + dashes or spaces (no check digit) case /^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}$/.test(value): return true; default: return false; } } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.notEmpty = $.extend($.fn.bootstrapValidator.i18n.notEmpty || {}, { 'default': 'Please enter a value' }); $.fn.bootstrapValidator.validators.notEmpty = { enableByHtml5: function($field) { var required = $field.attr('required') + ''; return ('required' === required || 'true' === required); }, /** * Check if input value is empty or not * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options * @returns {Boolean} */ validate: function(validator, $field, options) { var type = $field.attr('type'); if ('radio' === type || 'checkbox' === type) { return validator .getFieldElements($field.attr('data-bv-field')) .filter(':checked') .length > 0; } return $.trim($field.val()) !== ''; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.numeric = $.extend($.fn.bootstrapValidator.i18n.numeric || {}, { 'default': 'Please enter a valid float number' }); $.fn.bootstrapValidator.validators.numeric = { html5Attributes: { message: 'message', separator: 'separator' }, enableByHtml5: function($field) { return ('number' === $field.attr('type')) && ($field.attr('step') !== undefined) && ($field.attr('step') % 1 !== 0); }, /** * Validate decimal number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - separator: The decimal separator. Can be "." (default), "," * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var separator = options.separator || '.'; if (separator !== '.') { value = value.replace(separator, '.'); } return !isNaN(parseFloat(value)) && isFinite(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.phone = $.extend($.fn.bootstrapValidator.i18n.phone || {}, { 'default': 'Please enter a valid phone number', countryNotSupported: 'The country code %s is not supported', country: 'Please enter a valid phone number in %s', countries: { ES: 'Spain', FR: 'France', GB: 'United Kingdom', US: 'USA' } }); $.fn.bootstrapValidator.validators.phone = { html5Attributes: { message: 'message', country: 'country' }, // The supported countries COUNTRY_CODES: ['ES', 'FR', 'GB', 'US'], /** * Return true if the input value contains a valid phone number for the country * selected in the options * * @param {BootstrapValidator} validator Validate plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - country: The ISO-3166 country code. It can be * - A country code * - Name of field which its value defines the country code * - Name of callback function that returns the country code * - A callback function that returns the country code * * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var country = options.country; if (typeof country !== 'string' || $.inArray(country, this.COUNTRY_CODES) === -1) { // Try to determine the country country = validator.getDynamicOption($field, country); } if (!country || $.inArray(country.toUpperCase(), this.COUNTRY_CODES) === -1) { return { valid: false, message: $.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.phone.countryNotSupported, country) }; } var isValid = true; switch (country.toUpperCase()) { case 'ES': // http://regex101.com/r/rB9mA9/1 value = $.trim(value); isValid = (/^(?:(?:(?:\+|00)34\D?))?(?:9|6)(?:\d\D?){8}$/).test(value); break; case 'FR': // http://regexr.com/395dq value = $.trim(value); isValid = (/^(?:(?:(?:\+|00)33\D?(?:\D?\(0\)\D?)?)|0){1}[1-9]{1}(?:\D?\d{2}){4}$/).test(value); break; case 'GB': // http://aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers#Match_GB_telephone_number_in_any_format // Test: http://regexr.com/38uhv value = $.trim(value); isValid = (/^\(?(?:(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?\(?(?:0\)?[\s-]?\(?)?|0)(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}|\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4}|\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3})|\d{5}\)?[\s-]?\d{4,5}|8(?:00[\s-]?11[\s-]?11|45[\s-]?46[\s-]?4\d))(?:(?:[\s-]?(?:x|ext\.?\s?|\#)\d+)?)$/).test(value); break; case 'US': /* falls through */ default: // Make sure US phone numbers have 10 digits // May start with 1, +1, or 1-; should discard // Area code may be delimited with (), & sections may be delimited with . or - // Test: http://regexr.com/38mqi value = value.replace(/\D/g, ''); isValid = (/^(?:(1\-?)|(\+1 ?))?\(?(\d{3})[\)\-\.]?(\d{3})[\-\.]?(\d{4})$/).test(value) && (value.length === 10); break; } return { valid: isValid, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.phone.country, $.fn.bootstrapValidator.i18n.phone.countries[country]) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.regexp = $.extend($.fn.bootstrapValidator.i18n.regexp || {}, { 'default': 'Please enter a value matching the pattern' }); $.fn.bootstrapValidator.validators.regexp = { html5Attributes: { message: 'message', regexp: 'regexp' }, enableByHtml5: function($field) { var pattern = $field.attr('pattern'); if (pattern) { return { regexp: pattern }; } return false; }, /** * Check if the element value matches given regular expression * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consists of the following key: * - regexp: The regular expression you need to check * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var regexp = ('string' === typeof options.regexp) ? new RegExp(options.regexp) : options.regexp; return regexp.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.remote = $.extend($.fn.bootstrapValidator.i18n.remote || {}, { 'default': 'Please enter a valid value' }); $.fn.bootstrapValidator.validators.remote = { html5Attributes: { message: 'message', url: 'url', name: 'name' }, /** * Request a remote server to check the input value * * @param {BootstrapValidator} validator Plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - url {String|Function} * - type {String} [optional] Can be GET or POST (default) * - data {Object|Function} [optional]: By default, it will take the value * { * : * } * - name {String} [optional]: Override the field name for the request. * - message: The invalid message * @returns {Boolean|Deferred} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var name = $field.attr('data-bv-field'), data = options.data || {}, url = options.url, type = options.type || 'POST'; // Support dynamic data if ('function' === typeof data) { data = data.call(this, validator); } // Support dynamic url if ('function' === typeof url) { url = url.call(this, validator); } data[options.name || name] = value; var dfd = new $.Deferred(); var xhr = $.ajax({ type: type, url: url, dataType: 'json', data: data }); xhr.then(function(response) { dfd.resolve($field, 'remote', response.valid === true || response.valid === 'true', response.message ? response.message : null); }); dfd.fail(function() { xhr.abort(); }); return dfd; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.rtn = $.extend($.fn.bootstrapValidator.i18n.rtn || {}, { 'default': 'Please enter a valid RTN number' }); $.fn.bootstrapValidator.validators.rtn = { /** * Validate a RTN (Routing transit number) * Examples: * - Valid: 021200025, 789456124 * * @see http://en.wikipedia.org/wiki/Routing_transit_number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } if (!/^\d{9}$/.test(value)) { return false; } var sum = 0; for (var i = 0; i < value.length; i += 3) { sum += parseInt(value.charAt(i), 10) * 3 + parseInt(value.charAt(i + 1), 10) * 7 + parseInt(value.charAt(i + 2), 10); } return (sum !== 0 && sum % 10 === 0); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.sedol = $.extend($.fn.bootstrapValidator.i18n.sedol || {}, { 'default': 'Please enter a valid SEDOL number' }); $.fn.bootstrapValidator.validators.sedol = { /** * Validate a SEDOL (Stock Exchange Daily Official List) * Examples: * - Valid: 0263494, B0WNLY7 * * @see http://en.wikipedia.org/wiki/SEDOL * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } value = value.toUpperCase(); if (!/^[0-9A-Z]{7}$/.test(value)) { return false; } var sum = 0, weight = [1, 3, 1, 7, 3, 9, 1], length = value.length; for (var i = 0; i < length - 1; i++) { sum += weight[i] * parseInt(value.charAt(i), 36); } sum = (10 - sum % 10) % 10; return sum + '' === value.charAt(length - 1); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.siren = $.extend($.fn.bootstrapValidator.i18n.siren || {}, { 'default': 'Please enter a valid SIREN number' }); $.fn.bootstrapValidator.validators.siren = { /** * Check if a string is a siren number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } if (!/^\d{9}$/.test(value)) { return false; } return $.fn.bootstrapValidator.helpers.luhn(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.siret = $.extend($.fn.bootstrapValidator.i18n.siret || {}, { 'default': 'Please enter a valid SIRET number' }); $.fn.bootstrapValidator.validators.siret = { /** * Check if a string is a siret number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var sum = 0, length = value.length, tmp; for (var i = 0; i < length; i++) { tmp = parseInt(value.charAt(i), 10); if ((i % 2) === 0) { tmp = tmp * 2; if (tmp > 9) { tmp -= 9; } } sum += tmp; } return (sum % 10 === 0); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.step = $.extend($.fn.bootstrapValidator.i18n.step || {}, { 'default': 'Please enter a valid step of %s' }); $.fn.bootstrapValidator.validators.step = { html5Attributes: { message: 'message', base: 'baseValue', step: 'step' }, /** * Return true if the input value is valid step one * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - baseValue: The base value * - step: The step * - message: The invalid message * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } options = $.extend({}, { baseValue: 0, step: 1 }, options); value = parseFloat(value); if (!$.isNumeric(value)) { return false; } var round = function(x, precision) { var m = Math.pow(10, precision); x = x * m; var sign = (x > 0) | -(x < 0), isHalf = (x % 1 === 0.5 * sign); if (isHalf) { return (Math.floor(x) + (sign > 0)) / m; } else { return Math.round(x) / m; } }, floatMod = function(x, y) { if (y === 0.0) { return 1.0; } var dotX = (x + '').split('.'), dotY = (y + '').split('.'), precision = ((dotX.length === 1) ? 0 : dotX[1].length) + ((dotY.length === 1) ? 0 : dotY[1].length); return round(x - y * Math.floor(x / y), precision); }; var mod = floatMod(value - options.baseValue, options.step); return { valid: mod === 0.0 || mod === options.step, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.step['default'], [options.step]) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.stringCase = $.extend($.fn.bootstrapValidator.i18n.stringCase || {}, { 'default': 'Please enter only lowercase characters', upper: 'Please enter only uppercase characters' }); $.fn.bootstrapValidator.validators.stringCase = { html5Attributes: { message: 'message', 'case': 'case' }, /** * Check if a string is a lower or upper case one * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - case: Can be 'lower' (default) or 'upper' * @returns {Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var stringCase = (options['case'] || 'lower').toLowerCase(); return { valid: ('upper' === stringCase) ? value === value.toUpperCase() : value === value.toLowerCase(), message: options.message || (('upper' === stringCase) ? $.fn.bootstrapValidator.i18n.stringCase.upper : $.fn.bootstrapValidator.i18n.stringCase['default']) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.stringLength = $.extend($.fn.bootstrapValidator.i18n.stringLength || {}, { 'default': 'Please enter a value with valid length', less: 'Please enter less than %s characters', more: 'Please enter more than %s characters', between: 'Please enter value between %s and %s characters long' }); $.fn.bootstrapValidator.validators.stringLength = { html5Attributes: { message: 'message', min: 'min', max: 'max' }, enableByHtml5: function($field) { var maxLength = $field.attr('maxlength'); if (maxLength) { return { max: parseInt(maxLength, 10) }; } return false; }, /** * Check if the length of element value is less or more than given number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consists of following keys: * - min * - max * At least one of two keys is required * The min, max keys define the number which the field value compares to. min, max can be * - A number * - Name of field which its value defines the number * - Name of callback function that returns the number * - A callback function that returns the number * * - message: The invalid message * @returns {Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var min = $.isNumeric(options.min) ? options.min : validator.getDynamicOption($field, options.min), max = $.isNumeric(options.max) ? options.max : validator.getDynamicOption($field, options.max), length = value.length, isValid = true, message = options.message || $.fn.bootstrapValidator.i18n.stringLength['default']; if ((min && length < parseInt(min, 10)) || (max && length > parseInt(max, 10))) { isValid = false; } switch (true) { case (!!min && !!max): message = $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.stringLength.between, [parseInt(min, 10), parseInt(max, 10)]); break; case (!!min): message = $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.stringLength.more, parseInt(min, 10)); break; case (!!max): message = $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.stringLength.less, parseInt(max, 10)); break; default: break; } return { valid: isValid, message: message }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.uri = $.extend($.fn.bootstrapValidator.i18n.uri || {}, { 'default': 'Please enter a valid URI' }); $.fn.bootstrapValidator.validators.uri = { html5Attributes: { message: 'message', allowlocal: 'allowLocal' }, enableByHtml5: function($field) { return ('url' === $field.attr('type')); }, /** * Return true if the input value is a valid URL * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options * - message: The error message * - allowLocal: Allow the private and local network IP. Default to false * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // Credit to https://gist.github.com/dperini/729294 // // Regular Expression for URL validation // // Author: Diego Perini // Updated: 2010/12/05 // // the regular expression composed & commented // could be easily tweaked for RFC compliance, // it was expressly modified to fit & satisfy // these test for an URL shortener: // // http://mathiasbynens.be/demo/url-regex // // Notes on possible differences from a standard/generic validation: // // - utf-8 char class take in consideration the full Unicode range // - TLDs are mandatory unless `allowLocal` is true // - protocols have been restricted to ftp, http and https only as requested // // Changes: // // - IP address dotted notation validation, range: 1.0.0.0 - 223.255.255.255 // first and last IP address of each class is considered invalid // (since they are broadcast/network addresses) // // - Added exclusion of private, reserved and/or local networks ranges // unless `allowLocal` is true // var allowLocal = options.allowLocal === true || options.allowLocal === 'true', urlExp = new RegExp( "^" + // protocol identifier "(?:(?:https?|ftp)://)" + // user:pass authentication "(?:\\S+(?::\\S*)?@)?" + "(?:" + // IP address exclusion // private & local networks (allowLocal ? '' : ("(?!(?:10|127)(?:\\.\\d{1,3}){3})" + "(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" + "(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})")) + // IP address dotted notation octets // excludes loopback network 0.0.0.0 // excludes reserved space >= 224.0.0.0 // excludes network & broadcast addresses // (first & last IP address of each class) "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" + "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" + "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" + "|" + // host name "(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)" + // domain name "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*" + // TLD identifier "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" + // Allow intranet sites (no TLD) if `allowLocal` is true (allowLocal ? '?' : '') + ")" + // port number "(?::\\d{2,5})?" + // resource path "(?:/[^\\s]*)?" + "$", "i" ); return urlExp.test(value); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.uuid = $.extend($.fn.bootstrapValidator.i18n.uuid || {}, { 'default': 'Please enter a valid UUID number', version: 'Please enter a valid UUID version %s number' }); $.fn.bootstrapValidator.validators.uuid = { html5Attributes: { message: 'message', version: 'version' }, /** * Return true if and only if the input value is a valid UUID string * * @see http://en.wikipedia.org/wiki/Universally_unique_identifier * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - version: Can be 3, 4, 5, null * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // See the format at http://en.wikipedia.org/wiki/Universally_unique_identifier#Variants_and_versions var patterns = { '3': /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i, '4': /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, '5': /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i }, version = options.version ? (options.version + '') : 'all'; return { valid: (null === patterns[version]) ? true : patterns[version].test(value), message: options.version ? $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.uuid.version, options.version) : (options.message || $.fn.bootstrapValidator.i18n.uuid['default']) }; } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.vat = $.extend($.fn.bootstrapValidator.i18n.vat || {}, { 'default': 'Please enter a valid VAT number', countryNotSupported: 'The country code %s is not supported', country: 'Please enter a valid %s VAT number', countries: { AT: 'Austrian', BE: 'Belgian', BG: 'Bulgarian', CH: 'Swiss', CY: 'Cypriot', CZ: 'Czech', DE: 'German', DK: 'Danish', EE: 'Estonian', ES: 'Spanish', FI: 'Finnish', FR: 'French', GB: 'United Kingdom', GR: 'Greek', EL: 'Greek', HU: 'Hungarian', HR: 'Croatian', IE: 'Irish', IT: 'Italian', LT: 'Lithuanian', LU: 'Luxembourg', LV: 'Latvian', MT: 'Maltese', NL: 'Dutch', NO: 'Norwegian', PL: 'Polish', PT: 'Portuguese', RO: 'Romanian', RU: 'Russian', RS: 'Serbian', SE: 'Swedish', SI: 'Slovenian', SK: 'Slovak' } }); $.fn.bootstrapValidator.validators.vat = { html5Attributes: { message: 'message', country: 'country' }, // Supported country codes COUNTRY_CODES: [ 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'EL', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RU', 'RS', 'SK', 'SI', 'ES', 'SE', 'CH', 'GB' ], /** * Validate an European VAT number * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - country: The ISO 3166-1 country code. It can be * - One of country code defined in COUNTRY_CODES * - Name of field which its value defines the country code * - Name of callback function that returns the country code * - A callback function that returns the country code * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } var country = options.country; if (!country) { country = value.substr(0, 2); } else if (typeof country !== 'string' || $.inArray(country.toUpperCase(), this.COUNTRY_CODES) === -1) { // Determine the country code country = validator.getDynamicOption($field, country); } if ($.inArray(country, this.COUNTRY_CODES) === -1) { return { valid: false, message: $.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.vat.countryNotSupported, country) }; } var method = ['_', country.toLowerCase()].join(''); return this[method](value) ? true : { valid: false, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.vat.country, $.fn.bootstrapValidator.i18n.vat.countries[country.toUpperCase()]) }; }, // VAT validators /** * Validate Austrian VAT number * Example: * - Valid: ATU13585627 * - Invalid: ATU13585626 * * @param {String} value VAT number * @returns {Boolean} */ _at: function(value) { if (!/^ATU[0-9]{8}$/.test(value)) { return false; } value = value.substr(3); var sum = 0, weight = [1, 2, 1, 2, 1, 2, 1], temp = 0; for (var i = 0; i < 7; i++) { temp = parseInt(value.charAt(i), 10) * weight[i]; if (temp > 9) { temp = Math.floor(temp / 10) + temp % 10; } sum += temp; } sum = 10 - (sum + 4) % 10; if (sum === 10) { sum = 0; } return (sum + '' === value.substr(7, 1)); }, /** * Validate Belgian VAT number * Example: * - Valid: BE0428759497 * - Invalid: BE431150351 * * @param {String} value VAT number * @returns {Boolean} */ _be: function(value) { if (!/^BE[0]{0,1}[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); if (value.length === 9) { value = '0' + value; } if (value.substr(1, 1) === '0') { return false; } var sum = parseInt(value.substr(0, 8), 10) + parseInt(value.substr(8, 2), 10); return (sum % 97 === 0); }, /** * Validate Bulgarian VAT number * Example: * - Valid: BG175074752, * BG7523169263, BG8032056031, * BG7542011030, * BG7111042925 * - Invalid: BG175074753, BG7552A10004, BG7111042922 * * @param {String} value VAT number * @returns {Boolean} */ _bg: function(value) { if (!/^BG[0-9]{9,10}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, i = 0; // Legal entities if (value.length === 9) { for (i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * (i + 1); } sum = sum % 11; if (sum === 10) { sum = 0; for (i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * (i + 3); } } sum = sum % 10; return (sum + '' === value.substr(8)); } // Physical persons, foreigners and others else if (value.length === 10) { // Validate Bulgarian national identification numbers var egn = function(value) { // Check the birth date var year = parseInt(value.substr(0, 2), 10) + 1900, month = parseInt(value.substr(2, 2), 10), day = parseInt(value.substr(4, 2), 10); if (month > 40) { year += 100; month -= 40; } else if (month > 20) { year -= 100; month -= 20; } if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } var sum = 0, weight = [2, 4, 8, 5, 10, 9, 7, 3, 6]; for (var i = 0; i < 9; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = (sum % 11) % 10; return (sum + '' === value.substr(9, 1)); }, // Validate Bulgarian personal number of a foreigner pnf = function(value) { var sum = 0, weight = [21, 19, 17, 13, 11, 9, 7, 3, 1]; for (var i = 0; i < 9; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 10; return (sum + '' === value.substr(9, 1)); }, // Finally, consider it as a VAT number vat = function(value) { var sum = 0, weight = [4, 3, 2, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 9; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; if (sum === 10) { return false; } if (sum === 11) { sum = 0; } return (sum + '' === value.substr(9, 1)); }; return (egn(value) || pnf(value) || vat(value)); } return false; }, /** * Validate Swiss VAT number * * @param {String} value VAT number * @returns {Boolean} */ _ch: function(value) { if (!/^CHE[0-9]{9}(MWST)?$/.test(value)) { return false; } value = value.substr(3); var sum = 0, weight = [5, 4, 3, 2, 7, 6, 5, 4]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; if (sum === 10) { return false; } if (sum === 11) { sum = 0; } return (sum + '' === value.substr(8, 1)); }, /** * Validate Cypriot VAT number * Examples: * - Valid: CY10259033P * - Invalid: CY10259033Z * * @param {String} value VAT number * @returns {Boolean} */ _cy: function(value) { if (!/^CY[0-5|9]{1}[0-9]{7}[A-Z]{1}$/.test(value)) { return false; } value = value.substr(2); // Do not allow to start with "12" if (value.substr(0, 2) === '12') { return false; } // Extract the next digit and multiply by the counter. var sum = 0, translation = { '0': 1, '1': 0, '2': 5, '3': 7, '4': 9, '5': 13, '6': 15, '7': 17, '8': 19, '9': 21 }; for (var i = 0; i < 8; i++) { var temp = parseInt(value.charAt(i), 10); if (i % 2 === 0) { temp = translation[temp + '']; } sum += temp; } sum = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[sum % 26]; return (sum + '' === value.substr(8, 1)); }, /** * Validate Czech Republic VAT number * Can be: * i) Legal entities (8 digit numbers) * ii) Individuals with a RC (the 9 or 10 digit Czech birth number) * iii) Individuals without a RC (9 digit numbers beginning with 6) * * Examples: * - Valid: i) CZ25123891; ii) CZ7103192745, CZ991231123; iii) CZ640903926 * - Invalid: i) CZ25123890; ii) CZ1103492745, CZ590312123 * * @param {String} value VAT number * @returns {Boolean} */ _cz: function(value) { if (!/^CZ[0-9]{8,10}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, i = 0; if (value.length === 8) { // Do not allow to start with '9' if (value.charAt(0) + '' === '9') { return false; } sum = 0; for (i = 0; i < 7; i++) { sum += parseInt(value.charAt(i), 10) * (8 - i); } sum = 11 - sum % 11; if (sum === 10) { sum = 0; } if (sum === 11) { sum = 1; } return (sum + '' === value.substr(7, 1)); } else if (value.length === 9 && (value.charAt(0) + '' === '6')) { sum = 0; // Skip the first (which is 6) for (i = 0; i < 7; i++) { sum += parseInt(value.charAt(i + 1), 10) * (8 - i); } sum = 11 - sum % 11; if (sum === 10) { sum = 0; } if (sum === 11) { sum = 1; } sum = [8, 7, 6, 5, 4, 3, 2, 1, 0, 9, 10][sum - 1]; return (sum + '' === value.substr(8, 1)); } else if (value.length === 9 || value.length === 10) { // Validate Czech birth number (Rodné číslo), which is also national identifier var year = 1900 + parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10) % 50 % 20, day = parseInt(value.substr(4, 2), 10); if (value.length === 9) { if (year >= 1980) { year -= 100; } if (year > 1953) { return false; } } else if (year < 1954) { year += 100; } if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } // Check that the birth date is not in the future if (value.length === 10) { var check = parseInt(value.substr(0, 9), 10) % 11; if (year < 1985) { check = check % 10; } return (check + '' === value.substr(9, 1)); } return true; } return false; }, /** * Validate German VAT number * Examples: * - Valid: DE136695976 * - Invalid: DE136695978 * * @param {String} value VAT number * @returns {Boolean} */ _de: function(value) { if (!/^DE[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); return $.fn.bootstrapValidator.helpers.mod11And10(value); }, /** * Validate Danish VAT number * Example: * - Valid: DK13585628 * - Invalid: DK13585627 * * @param {String} value VAT number * @returns {Boolean} */ _dk: function(value) { if (!/^DK[0-9]{8}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [2, 7, 6, 5, 4, 3, 2, 1]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } return (sum % 11 === 0); }, /** * Validate Estonian VAT number * Examples: * - Valid: EE100931558, EE100594102 * - Invalid: EE100594103 * * @param {String} value VAT number * @returns {Boolean} */ _ee: function(value) { if (!/^EE[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [3, 7, 1, 3, 7, 1, 3, 7, 1]; for (var i = 0; i < 9; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } return (sum % 10 === 0); }, /** * Validate Spanish VAT number (NIF - Número de Identificación Fiscal) * Can be: * i) DNI (Documento nacional de identidad), for Spaniards * ii) NIE (Número de Identificación de Extranjeros), for foreigners * iii) CIF (Certificado de Identificación Fiscal), for legal entities and others * * Examples: * - Valid: i) ES54362315K; ii) ESX2482300W, ESX5253868R; iii) ESM1234567L, ESJ99216582, ESB58378431, ESB64717838 * - Invalid: i) ES54362315Z; ii) ESX2482300A; iii) ESJ99216583 * * @param {String} value VAT number * @returns {Boolean} */ _es: function(value) { if (!/^ES[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(value)) { return false; } value = value.substr(2); var dni = function(value) { var check = parseInt(value.substr(0, 8), 10); check = 'TRWAGMYFPDXBNJZSQVHLCKE'[check % 23]; return (check + '' === value.substr(8, 1)); }, nie = function(value) { var check = ['XYZ'.indexOf(value.charAt(0)), value.substr(1)].join(''); check = parseInt(check, 10); check = 'TRWAGMYFPDXBNJZSQVHLCKE'[check % 23]; return (check + '' === value.substr(8, 1)); }, cif = function(value) { var first = value.charAt(0), check; if ('KLM'.indexOf(first) !== -1) { // K: Spanish younger than 14 year old // L: Spanish living outside Spain without DNI // M: Granted the tax to foreigners who have no NIE check = parseInt(value.substr(1, 8), 10); check = 'TRWAGMYFPDXBNJZSQVHLCKE'[check % 23]; return (check + '' === value.substr(8, 1)); } else if ('ABCDEFGHJNPQRSUVW'.indexOf(first) !== -1) { var sum = 0, weight = [2, 1, 2, 1, 2, 1, 2], temp = 0; for (var i = 0; i < 7; i++) { temp = parseInt(value.charAt(i + 1), 10) * weight[i]; if (temp > 9) { temp = Math.floor(temp / 10) + temp % 10; } sum += temp; } sum = 10 - sum % 10; return (sum + '' === value.substr(8, 1) || 'JABCDEFGHI'[sum] === value.substr(8, 1)); } return false; }; var first = value.charAt(0); if (/^[0-9]$/.test(first)) { return dni(value); } else if (/^[XYZ]$/.test(first)) { return nie(value); } else { return cif(value); } }, /** * Validate Finnish VAT number * Examples: * - Valid: FI20774740 * - Invalid: FI20774741 * * @param {String} value VAT number * @returns {Boolean} */ _fi: function(value) { if (!/^FI[0-9]{8}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [7, 9, 10, 5, 8, 4, 2, 1]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } return (sum % 11 === 0); }, /** * Validate French VAT number (TVA - taxe sur la valeur ajoutée) * It's constructed by a SIREN number, prefixed by two characters. * * Examples: * - Valid: FR40303265045, FR23334175221, FRK7399859412, FR4Z123456782 * - Invalid: FR84323140391 * * @param {String} value VAT number * @returns {Boolean} */ _fr: function(value) { if (!/^FR[0-9A-Z]{2}[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); if (!$.fn.bootstrapValidator.helpers.luhn(value.substr(2))) { return false; } if (/^[0-9]{2}$/.test(value.substr(0, 2))) { // First two characters are digits return value.substr(0, 2) === (parseInt(value.substr(2) + '12', 10) % 97 + ''); } else { // The first characters cann't be O and I var alphabet = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ', check; // First one is digit if (/^[0-9]{1}$/.test(value.charAt(0))) { check = alphabet.indexOf(value.charAt(0)) * 24 + alphabet.indexOf(value.charAt(1)) - 10; } else { check = alphabet.indexOf(value.charAt(0)) * 34 + alphabet.indexOf(value.charAt(1)) - 100; } return ((parseInt(value.substr(2), 10) + 1 + Math.floor(check / 11)) % 11) === (check % 11); } }, /** * Validate United Kingdom VAT number * Example: * - Valid: GB980780684 * - Invalid: GB802311781 * * @param {String} value VAT number * @returns {Boolean} */ _gb: function(value) { if (!/^GB[0-9]{9}$/.test(value) /* Standard */ && !/^GB[0-9]{12}$/.test(value) /* Branches */ && !/^GBGD[0-9]{3}$/.test(value) /* Government department */ && !/^GBHA[0-9]{3}$/.test(value) /* Health authority */ && !/^GB(GD|HA)8888[0-9]{5}$/.test(value)) { return false; } value = value.substr(2); var length = value.length; if (length === 5) { var firstTwo = value.substr(0, 2), lastThree = parseInt(value.substr(2), 10); return ('GD' === firstTwo && lastThree < 500) || ('HA' === firstTwo && lastThree >= 500); } else if (length === 11 && ('GD8888' === value.substr(0, 6) || 'HA8888' === value.substr(0, 6))) { if (('GD' === value.substr(0, 2) && parseInt(value.substr(6, 3), 10) >= 500) || ('HA' === value.substr(0, 2) && parseInt(value.substr(6, 3), 10) < 500)) { return false; } return (parseInt(value.substr(6, 3), 10) % 97 === parseInt(value.substr(9, 2), 10)); } else if (length === 9 || length === 12) { var sum = 0, weight = [8, 7, 6, 5, 4, 3, 2, 10, 1]; for (var i = 0; i < 9; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 97; if (parseInt(value.substr(0, 3), 10) >= 100) { return (sum === 0 || sum === 42 || sum === 55); } else { return (sum === 0); } } return true; }, /** * Validate Greek VAT number * Examples: * - Valid: GR023456780, EL094259216 * - Invalid: EL123456781 * * @param {String} value VAT number * @returns {Boolean} */ _gr: function(value) { if (!/^GR[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); if (value.length === 8) { value = '0' + value; } var sum = 0, weight = [256, 128, 64, 32, 16, 8, 4, 2]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = (sum % 11) % 10; return (sum + '' === value.substr(8, 1)); }, // EL is traditionally prefix of Greek VAT numbers _el: function(value) { if (!/^EL[0-9]{9}$/.test(value)) { return false; } value = 'GR' + value.substr(2); return this._gr(value); }, /** * Validate Hungarian VAT number * Examples: * - Valid: HU12892312 * - Invalid: HU12892313 * * @param {String} value VAT number * @returns {Boolean} */ _hu: function(value) { if (!/^HU[0-9]{8}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [9, 7, 3, 1, 9, 7, 3, 1]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } return (sum % 10 === 0); }, /** * Validate Croatian VAT number * Examples: * - Valid: HR33392005961 * - Invalid: HR33392005962 * * @param {String} value VAT number * @returns {Boolean} */ _hr: function(value) { if (!/^HR[0-9]{11}$/.test(value)) { return false; } value = value.substr(2); return $.fn.bootstrapValidator.helpers.mod11And10(value); }, /** * Validate Irish VAT number * Examples: * - Valid: IE6433435F, IE6433435OA, IE8D79739I * - Invalid: IE8D79738J * * @param {String} value VAT number * @returns {Boolean} */ _ie: function(value) { if (!/^IE[0-9]{1}[0-9A-Z\*\+]{1}[0-9]{5}[A-Z]{1,2}$/.test(value)) { return false; } value = value.substr(2); var getCheckDigit = function(value) { while (value.length < 7) { value = '0' + value; } var alphabet = 'WABCDEFGHIJKLMNOPQRSTUV', sum = 0; for (var i = 0; i < 7; i++) { sum += parseInt(value.charAt(i), 10) * (8 - i); } sum += 9 * alphabet.indexOf(value.substr(7)); return alphabet[sum % 23]; }; // The first 7 characters are digits if (/^[0-9]+$/.test(value.substr(0, 7))) { // New system return value.charAt(7) === getCheckDigit(value.substr(0, 7) + value.substr(8) + ''); } else if ('ABCDEFGHIJKLMNOPQRSTUVWXYZ+*'.indexOf(value.charAt(1)) !== -1) { // Old system return value.charAt(7) === getCheckDigit(value.substr(2, 5) + value.substr(0, 1) + ''); } return true; }, /** * Validate Italian VAT number, which consists of 11 digits. * - First 7 digits are a company identifier * - Next 3 are the province of residence * - The last one is a check digit * * Examples: * - Valid: IT00743110157 * - Invalid: IT00743110158 * * @param {String} value VAT number * @returns {Boolean} */ _it: function(value) { if (!/^IT[0-9]{11}$/.test(value)) { return false; } value = value.substr(2); if (parseInt(value.substr(0, 7), 10) === 0) { return false; } var lastThree = parseInt(value.substr(7, 3), 10); if ((lastThree < 1) || (lastThree > 201) && lastThree !== 999 && lastThree !== 888) { return false; } return $.fn.bootstrapValidator.helpers.luhn(value); }, /** * Validate Lithuanian VAT number * It can be: * - 9 digits, for legal entities * - 12 digits, for temporarily registered taxpayers * * Examples: * - Valid: LT119511515, LT100001919017, LT100004801610 * - Invalid: LT100001919018 * * @param {String} value VAT number * @returns {Boolean} */ _lt: function(value) { if (!/^LT([0-9]{7}1[0-9]{1}|[0-9]{10}1[0-9]{1})$/.test(value)) { return false; } value = value.substr(2); var length = value.length, sum = 0, i; for (i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * (1 + i % 9); } var check = sum % 11; if (check === 10) { sum = 0; for (i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * (1 + (i + 2) % 9); } } check = check % 11 % 10; return (check + '' === value.charAt(length - 1)); }, /** * Validate Luxembourg VAT number * Examples: * - Valid: LU15027442 * - Invalid: LU15027443 * * @param {String} value VAT number * @returns {Boolean} */ _lu: function(value) { if (!/^LU[0-9]{8}$/.test(value)) { return false; } value = value.substr(2); return ((parseInt(value.substr(0, 6), 10) % 89) + '' === value.substr(6, 2)); }, /** * Validate Latvian VAT number * Examples: * - Valid: LV40003521600, LV16117519997 * - Invalid: LV40003521601, LV16137519997 * * @param {String} value VAT number * @returns {Boolean} */ _lv: function(value) { if (!/^LV[0-9]{11}$/.test(value)) { return false; } value = value.substr(2); var first = parseInt(value.charAt(0), 10), sum = 0, weight = [], i, length = value.length; if (first > 3) { // Legal entity sum = 0; weight = [9, 1, 4, 8, 3, 10, 2, 5, 7, 6, 1]; for (i = 0; i < length; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 11; return (sum === 3); } else { // Check birth date var day = parseInt(value.substr(0, 2), 10), month = parseInt(value.substr(2, 2), 10), year = parseInt(value.substr(4, 2), 10); year = year + 1800 + parseInt(value.charAt(6), 10) * 100; if (!$.fn.bootstrapValidator.helpers.date(year, month, day)) { return false; } // Check personal code sum = 0; weight = [10, 5, 8, 4, 2, 1, 6, 3, 7, 9]; for (i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = (sum + 1) % 11 % 10; return (sum + '' === value.charAt(length - 1)); } }, /** * Validate Maltese VAT number * Examples: * - Valid: MT11679112 * - Invalid: MT11679113 * * @param {String} value VAT number * @returns {Boolean} */ _mt: function(value) { if (!/^MT[0-9]{8}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [3, 4, 6, 7, 8, 9, 10, 1]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } return (sum % 37 === 0); }, /** * Validate Dutch VAT number * Examples: * - Valid: NL004495445B01 * - Invalid: NL123456789B90 * * @param {String} value VAT number * @returns {Boolean} */ _nl: function(value) { if (!/^NL[0-9]{9}B[0-9]{2}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [9, 8, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 11; if (sum > 9) { sum = 0; } return (sum + '' === value.substr(8, 1)); }, /** * Validate Norwegian VAT number * * @see http://www.brreg.no/english/coordination/number.html * @param {String} value VAT number * @returns {Boolean} */ _no: function(value) { if (!/^NO[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [3, 2, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; if (sum === 11) { sum = 0; } return (sum + '' === value.substr(8, 1)); }, /** * Validate Polish VAT number * Examples: * - Valid: PL8567346215 * - Invalid: PL8567346216 * * @param {String} value VAT number * @returns {Boolean} */ _pl: function(value) { if (!/^PL[0-9]{10}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [6, 5, 7, 2, 3, 4, 5, 6, 7, -1]; for (var i = 0; i < 10; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } return (sum % 11 === 0); }, /** * Validate Portuguese VAT number * Examples: * - Valid: PT501964843 * - Invalid: PT501964842 * * @param {String} value VAT number * @returns {Boolean} */ _pt: function(value) { if (!/^PT[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [9, 8, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 8; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; if (sum > 9) { sum = 0; } return (sum + '' === value.substr(8, 1)); }, /** * Validate Romanian VAT number * Examples: * - Valid: RO18547290 * - Invalid: RO18547291 * * @param {String} value VAT number * @returns {Boolean} */ _ro: function(value) { if (!/^RO[1-9][0-9]{1,9}$/.test(value)) { return false; } value = value.substr(2); var length = value.length, weight = [7, 5, 3, 2, 1, 7, 5, 3, 2].slice(10 - length), sum = 0; for (var i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = (10 * sum) % 11 % 10; return (sum + '' === value.substr(length - 1, 1)); }, /** * Validate Russian VAT number (Taxpayer Identification Number - INN) * * @param {String} value VAT number * @returns {Boolean} */ _ru: function(value) { if (!/^RU([0-9]{9}|[0-9]{12})$/.test(value)) { return false; } value = value.substr(2); var i = 0; if (value.length === 10) { var sum = 0, weight = [2, 4, 10, 3, 5, 9, 4, 6, 8, 0]; for (i = 0; i < 10; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = sum % 11; if (sum > 9) { sum = sum % 10; } return (sum + '' === value.substr(9, 1)); } else if (value.length === 12) { var sum1 = 0, weight1 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0], sum2 = 0, weight2 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0]; for (i = 0; i < 11; i++) { sum1 += parseInt(value.charAt(i), 10) * weight1[i]; sum2 += parseInt(value.charAt(i), 10) * weight2[i]; } sum1 = sum1 % 11; if (sum1 > 9) { sum1 = sum1 % 10; } sum2 = sum2 % 11; if (sum2 > 9) { sum2 = sum2 % 10; } return (sum1 + '' === value.substr(10, 1) && sum2 + '' === value.substr(11, 1)); } return false; }, /** * Validate Serbian VAT number * * @param {String} value VAT number * @returns {Boolean} */ _rs: function(value) { if (!/^RS[0-9]{9}$/.test(value)) { return false; } value = value.substr(2); var sum = 10, temp = 0; for (var i = 0; i < 8; i++) { temp = (parseInt(value.charAt(i), 10) + sum) % 10; if (temp === 0) { temp = 10; } sum = (2 * temp) % 11; } return ((sum + parseInt(value.substr(8, 1), 10)) % 10 === 1); }, /** * Validate Swedish VAT number * Examples: * - Valid: SE123456789701 * - Invalid: SE123456789101 * * @param {String} value VAT number * @returns {Boolean} */ _se: function(value) { if (!/^SE[0-9]{10}01$/.test(value)) { return false; } value = value.substr(2, 10); return $.fn.bootstrapValidator.helpers.luhn(value); }, /** * Validate Slovenian VAT number * Examples: * - Valid: SI50223054 * - Invalid: SI50223055 * * @param {String} value VAT number * @returns {Boolean} */ _si: function(value) { if (!/^SI[0-9]{8}$/.test(value)) { return false; } value = value.substr(2); var sum = 0, weight = [8, 7, 6, 5, 4, 3, 2]; for (var i = 0; i < 7; i++) { sum += parseInt(value.charAt(i), 10) * weight[i]; } sum = 11 - sum % 11; if (sum === 10) { sum = 0; } return (sum + '' === value.substr(7, 1)); }, /** * Validate Slovak VAT number * Examples: * - Valid: SK2022749619 * - Invalid: SK2022749618 * * @param {String} value VAT number * @returns {Boolean} */ _sk: function(value) { if (!/^SK[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(value)) { return false; } return (parseInt(value.substr(2), 10) % 11 === 0); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.vin = $.extend($.fn.bootstrapValidator.i18n.vin || {}, { 'default': 'Please enter a valid VIN number' }); $.fn.bootstrapValidator.validators.vin = { /** * Validate an US VIN (Vehicle Identification Number) * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } // Don't accept I, O, Q characters if (!/^[a-hj-npr-z0-9]{8}[0-9xX][a-hj-npr-z0-9]{8}$/i.test(value)) { return false; } value = value.toUpperCase(); var chars = { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, J: 1, K: 2, L: 3, M: 4, N: 5, P: 7, R: 9, S: 2, T: 3, U: 4, V: 5, W: 6, X: 7, Y: 8, Z: 9, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '0': 0 }, weights = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2], sum = 0, length = value.length; for (var i = 0; i < length; i++) { sum += chars[value.charAt(i) + ''] * weights[i]; } var reminder = sum % 11; if (reminder === 10) { reminder = 'X'; } return (reminder + '') === value.charAt(8); } }; }(window.jQuery)); ;(function($) { $.fn.bootstrapValidator.i18n.zipCode = $.extend($.fn.bootstrapValidator.i18n.zipCode || {}, { 'default': 'Please enter a valid zip code', countryNotSupported: 'The country code %s is not supported', country: 'Please enter a valid %s', countries: { CA: 'Canadian postal code', DK: 'Danish postal code', GB: 'United Kingdom postal code', IT: 'Italian postal code', NL: 'Dutch postal code', SE: 'Swiss postal code', SG: 'Singapore postal code', US: 'US zip code' } }); $.fn.bootstrapValidator.validators.zipCode = { html5Attributes: { message: 'message', country: 'country' }, COUNTRY_CODES: ['CA', 'DK', 'GB', 'IT', 'NL', 'SE', 'SG', 'US'], /** * Return true if and only if the input value is a valid country zip code * * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Consist of key: * - message: The invalid message * - country: The country * * The country can be defined by: * - An ISO 3166 country code * Currently it supports the following countries: * - US (United States) * - CA (Canada) * - DK (Denmark) * - GB (United Kingdom) * - IT (Italy) * - NL (Netherlands) * - SE (Sweden) * - SG (Singapore) * * - Name of field which its value defines the country code * - Name of callback function that returns the country code * - A callback function that returns the country code * * callback: function(value, validator, $field) { * // value is the value of field * // validator is the BootstrapValidator instance * // $field is jQuery element representing the field * } * * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '' || !options.country) { return true; } var country = options.country; if (typeof country !== 'string' || $.inArray(country, this.COUNTRY_CODES) === -1) { // Try to determine the country country = validator.getDynamicOption($field, country); } if (!country || $.inArray(country.toUpperCase(), this.COUNTRY_CODES) === -1) { return { valid: false, message: $.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.zipCode.countryNotSupported, country) }; } var isValid = false; country = country.toUpperCase(); switch (country) { case 'CA': isValid = /^(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}\s?[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}[0-9]{1}$/i.test(value); break; case 'DK': isValid = /^(DK(-|\s)?)?\d{4}$/i.test(value); break; case 'GB': isValid = this._gb(value); break; // http://en.wikipedia.org/wiki/List_of_postal_codes_in_Italy case 'IT': isValid = /^(I-|IT-)?\d{5}$/i.test(value); break; // http://en.wikipedia.org/wiki/Postal_codes_in_the_Netherlands case 'NL': isValid = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(value); break; case 'SE': isValid = /^(S-)?\d{3}\s?\d{2}$/i.test(value); break; case 'SG': isValid = /^([0][1-9]|[1-6][0-9]|[7]([0-3]|[5-9])|[8][0-2])(\d{4})$/i.test(value); break; case 'US': /* falls through */ default: isValid = /^\d{4,5}([\-]?\d{4})?$/.test(value); break; } return { valid: isValid, message: $.fn.bootstrapValidator.helpers.format(options.message || $.fn.bootstrapValidator.i18n.zipCode.country, $.fn.bootstrapValidator.i18n.zipCode.countries[country]) }; }, /** * Validate United Kingdom postcode * Examples: * - Standard: EC1A 1BB, W1A 1HQ, M1 1AA, B33 8TH, CR2 6XH, DN55 1PT * - Special cases: * AI-2640, ASCN 1ZZ, GIR 0AA * * @see http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom * @param {String} value The postcode * @returns {Boolean} */ _gb: function(value) { var firstChar = '[ABCDEFGHIJKLMNOPRSTUWYZ]', // Does not accept QVX secondChar = '[ABCDEFGHKLMNOPQRSTUVWXY]', // Does not accept IJZ thirdChar = '[ABCDEFGHJKPMNRSTUVWXY]', fourthChar = '[ABEHMNPRVWXY]', fifthChar = '[ABDEFGHJLNPQRSTUWXYZ]', regexps = [ // AN NAA, ANN NAA, AAN NAA, AANN NAA format new RegExp('^(' + firstChar + '{1}' + secondChar + '?[0-9]{1,2})(\\s*)([0-9]{1}' + fifthChar + '{2})$', 'i'), // ANA NAA new RegExp('^(' + firstChar + '{1}[0-9]{1}' + thirdChar + '{1})(\\s*)([0-9]{1}' + fifthChar + '{2})$', 'i'), // AANA NAA new RegExp('^(' + firstChar + '{1}' + secondChar + '{1}?[0-9]{1}' + fourthChar + '{1})(\\s*)([0-9]{1}' + fifthChar + '{2})$', 'i'), new RegExp('^(BF1)(\\s*)([0-6]{1}[ABDEFGHJLNPQRST]{1}[ABDEFGHJLNPQRSTUWZYZ]{1})$', 'i'), // BFPO postcodes /^(GIR)(\s*)(0AA)$/i, // Special postcode GIR 0AA /^(BFPO)(\s*)([0-9]{1,4})$/i, // Standard BFPO numbers /^(BFPO)(\s*)(c\/o\s*[0-9]{1,3})$/i, // c/o BFPO numbers /^([A-Z]{4})(\s*)(1ZZ)$/i, // Overseas Territories /^(AI-2640)$/i // Anguilla ]; for (var i = 0; i < regexps.length; i++) { if (regexps[i].test(value)) { return true; } } return false; } }; }(window.jQuery)); ================================================ FILE: automatic/static/js/casemanage.js ================================================ /** * Created by ray on 16-11-2. */ var keywordlist = [] $(document).ready(function(){ /* 根据项目查询元素进行模糊搜索匹配 */ if($("#selprojectid").val() != ""){ var s1SelectedVal = $('#selprojectid').val(); //通过 project 查询对应 element 进行模糊搜索匹配 $.ajax({ type:"GET", data:{'projectid':s1SelectedVal}, url: "/func/element/get/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType:'json', async:false, success: function(result,TextStatus) { if (result.length > 0) { elementTags = result; $('input[name="autocomplete"]').each(function() { $(this).autocomplete({ minLength: 0, source: elementTags, focus: function (event, ui) { return false; }, select: function (event, ui) { $(this).val(ui.item.value); $(this).next().val(ui.item.key); return false; }, }).data("ui-autocomplete")._renderItem = function (ul, item) { return $("
  • ") .append('
    ' + item.value + '
    ') .appendTo(ul); }; }) } } }); } /* 根据产品名称查询关键字列表 */ if($('[name="caseproductname"]').val() != ""){ var productid = $('[name="caseproductname"]').val(); $.ajax({ type: "GET", data: {'productid': productid}, url: "/func/keyword/get/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: 'json', success: function (result, TextStatus) { keywordlist = result; if ($('#case_add').length > 0){ $('#keyword_1').empty(); $('#keyword_1').append(''); if (result.length > 0) { for (i = 0; i < result.length; i++) { $('select[name="keyword"]').append(''); } } } }, error:function (result) { alert(result); } }); } }); /* 通过project关联对应 element */ $("#selprojectid").bind("change",function(){ var s1SelectedVal = $('#selprojectid').val(); /* 根据项目查询元素进行模糊搜索匹配 */ if($("#selprojectid").val() != ""){ //通过 project 查询对应 element 进行模糊搜索匹配 $.ajax({ type:"GET", data:{'projectid':s1SelectedVal}, url: "/func/element/get/", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType:'json', async:false, success: function(result,TextStatus) { if (result.length > 0) { elementTags = result; $('input[name="autocomplete"]').each(function() { $(this).autocomplete({ minLength: 0, source: elementTags, focus: function (event, ui) { return false; }, select: function (event, ui) { $(this).val(ui.item.value); $(this).next().val(ui.item.key); return false; }, }).data("ui-autocomplete")._renderItem = function (ul, item) { return $("
  • ") .append('
    ' + item.value + '
    ') .appendTo(ul); }; }) } } }); } }); //行添加 function case_step_addtr() { rowid = $('#rowid').val(); var len = parseInt($("#linecounter").val())+1; $("#tab tbody").append('' +''+len+'' +'' +'' +'' +'' +'' + '' + '' + '' +''); $("#linecounter").val(len); if(rowid != ''){ $('#row'+len).insertAfter('#row'+rowid); } $('#rowid').val(''); $('#keyword_'+len).empty(); if (keywordlist.length > 0) { for (i = 0; i < keywordlist.length; i++) { $('#keyword_'+len).append(''); } } $( "#autocomplete_" +len ).autocomplete({ minLength: 0, source: elementTags, focus: function( event, ui ) { return false; }, select: function( event, ui ) { $( "#autocomplete_"+len ).val( ui.item.value ); $( "#elementid_"+len ).val( ui.item.key ); return false; }, }) .data( "ui-autocomplete" )._renderItem = function( ul, item ) { return $( "
  • " ) .append('
    ' + item.value + '
    ') .appendTo( ul ); }; } //行复制 function case_step_copytr(obj) { // row_num = $('#rowid_copy').val(); // var len = parseInt($("#linecounter").val())+1; // copy_rowid= '#row'+row_num var objParentTR = $(obj).parent().parent(); copy_rowid = '#'+objParentTR[0].id var len = parseInt($("#linecounter").val())+1; var descr=$(copy_rowid).find($("input[name='descr']"))[0].value; var keyword_selectedIndex=$(copy_rowid).find($("select[name='keyword']"))[0].selectedIndex; var element=$(copy_rowid).find($("input[name='autocomplete']"))[0].value; var element_num=$(copy_rowid).find($("input[name='elementid']"))[0].value; var inputtext=$(copy_rowid).find($("input[name='inputtext']"))[0].value; $("#tab tbody").append('' +''+len+'' +'' +'' +'' +'' +'' + '' + '' + '' +''); $("#linecounter").val(len); $("#row"+len).find($("input[name='descr']"))[0].value=descr if(copy_rowid != ''){ $('#row'+len).insertAfter('#row'+len); } $('#copy_rowid').val(''); $('#keyword_'+len).empty(); if (keywordlist.length > 0) { for (i = 0; i < keywordlist.length; i++) { if(i==keyword_selectedIndex) $('#keyword_'+len).append(''); else $('#keyword_'+len).append(''); } } $( "#autocomplete_" +len ).autocomplete({ minLength: 0, source: elementTags, focus: function( event, ui ) { return false; }, select: function( event, ui ) { $( "#autocomplete_"+len ).val( ui.item.value ); $( "#elementid_"+len ).val( ui.item.key ); return false; }, }) .data( "ui-autocomplete" )._renderItem = function( ul, item ) { return $( "
  • " ) .append('
    ' + item.value + '
    ') .appendTo( ul ); }; } //行删除 function deltr(index) { $("tr[id='row"+index+"']").remove();//删除当前行 } ================================================ FILE: automatic/static/js/common.js ================================================ /* * * RENAISSANCE - Responsive Admin Theme * version 1.3.0 * */ var datetime = null, date = null; var update = function () { date = moment(new Date()) datetime.html(date.format('h:mm A')); }; $(window).on('load', function(){ //Preloader setTimeout(function(){ $('.preloader').fadeOut(100); }, 500); }); // check if browser support HTML5 local storage function localStorageSupport() { return (('localStorage' in window) && window['localStorage'] !== null) } //Personal working platform Sidebar $("li.perwork-btn").click(function(){ $(this).toggleClass("active").siblings().removeClass("active"); var currentEle=$(this); var siblingsElel=currentEle.siblings("li.members-btn"); $.each(siblingsElel,function(index,ele){ $("#"+$(ele).data("href")).removeClass('members-sidebar-open'); if($("#"+$(ele).data("href")).hasClass('dropdown-menu')){ $("#"+$(ele).data("href")).attr("aria-expanded","false"); $(ele).removeClass("open").removeClass("active"); } }); cta($(this)[0], $("#"+currentEle.data("href"))[0], {relativeToWindow: true}, function () { if($("#"+currentEle.data("href")).hasClass('dropdown-menu')){ $("#"+currentEle.data("href")).attr("aria-expanded","true"); currentEle.toggleClass("open"); }else{ $("#"+currentEle.data("href")).toggleClass('members-sidebar-open'); } }); $(currentEle.data("close")).click(function(){ $("#"+currentEle.data("href")).removeClass('members-sidebar-open'); currentEle.removeClass('active'); }); return false; }); ================================================ FILE: automatic/static/js/jquery-ui.js ================================================ /*! jQuery UI - v1.12.1 - 2016-09-14 * http://jqueryui.com * Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js * Copyright jQuery Foundation and other contributors; Licensed MIT */ (function( factory ) { if ( typeof define === "function" && define.amd ) { // AMD. Register as an anonymous module. define([ "jquery" ], factory ); } else { // Browser globals factory( jQuery ); } }(function( $ ) { $.ui = $.ui || {}; var version = $.ui.version = "1.12.1"; /*! * jQuery UI Widget 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Widget //>>group: Core //>>description: Provides a factory for creating stateful widgets with a common API. //>>docs: http://api.jqueryui.com/jQuery.widget/ //>>demos: http://jqueryui.com/widget/ var widgetUuid = 0; var widgetSlice = Array.prototype.slice; $.cleanData = ( function( orig ) { return function( elems ) { var events, elem, i; for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { try { // Only trigger remove when necessary to save time events = $._data( elem, "events" ); if ( events && events.remove ) { $( elem ).triggerHandler( "remove" ); } // Http://bugs.jquery.com/ticket/8235 } catch ( e ) {} } orig( elems ); }; } )( $.cleanData ); $.widget = function( name, base, prototype ) { var existingConstructor, constructor, basePrototype; // ProxiedPrototype allows the provided prototype to remain unmodified // so that it can be used as a mixin for multiple widgets (#8876) var proxiedPrototype = {}; var namespace = name.split( "." )[ 0 ]; name = name.split( "." )[ 1 ]; var fullName = namespace + "-" + name; if ( !prototype ) { prototype = base; base = $.Widget; } if ( $.isArray( prototype ) ) { prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); } // Create selector for plugin $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { return !!$.data( elem, fullName ); }; $[ namespace ] = $[ namespace ] || {}; existingConstructor = $[ namespace ][ name ]; constructor = $[ namespace ][ name ] = function( options, element ) { // Allow instantiation without "new" keyword if ( !this._createWidget ) { return new constructor( options, element ); } // Allow instantiation without initializing for simple inheritance // must use "new" keyword (the code above always passes args) if ( arguments.length ) { this._createWidget( options, element ); } }; // Extend with the existing constructor to carry over any static properties $.extend( constructor, existingConstructor, { version: prototype.version, // Copy the object used to create the prototype in case we need to // redefine the widget later _proto: $.extend( {}, prototype ), // Track widgets that inherit from this widget in case this widget is // redefined after a widget inherits from it _childConstructors: [] } ); basePrototype = new base(); // We need to make the options hash a property directly on the new instance // otherwise we'll modify the options hash on the prototype that we're // inheriting from basePrototype.options = $.widget.extend( {}, basePrototype.options ); $.each( prototype, function( prop, value ) { if ( !$.isFunction( value ) ) { proxiedPrototype[ prop ] = value; return; } proxiedPrototype[ prop ] = ( function() { function _super() { return base.prototype[ prop ].apply( this, arguments ); } function _superApply( args ) { return base.prototype[ prop ].apply( this, args ); } return function() { var __super = this._super; var __superApply = this._superApply; var returnValue; this._super = _super; this._superApply = _superApply; returnValue = value.apply( this, arguments ); this._super = __super; this._superApply = __superApply; return returnValue; }; } )(); } ); constructor.prototype = $.widget.extend( basePrototype, { // TODO: remove support for widgetEventPrefix // always use the name + a colon as the prefix, e.g., draggable:start // don't prefix for widgets that aren't DOM-based widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name }, proxiedPrototype, { constructor: constructor, namespace: namespace, widgetName: name, widgetFullName: fullName } ); // If this widget is being redefined then we need to find all widgets that // are inheriting from it and redefine all of them so that they inherit from // the new version of this widget. We're essentially trying to replace one // level in the prototype chain. if ( existingConstructor ) { $.each( existingConstructor._childConstructors, function( i, child ) { var childPrototype = child.prototype; // Redefine the child widget using the same prototype that was // originally used, but inherit from the new version of the base $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); } ); // Remove the list of existing child constructors from the old constructor // so the old child constructors can be garbage collected delete existingConstructor._childConstructors; } else { base._childConstructors.push( constructor ); } $.widget.bridge( name, constructor ); return constructor; }; $.widget.extend = function( target ) { var input = widgetSlice.call( arguments, 1 ); var inputIndex = 0; var inputLength = input.length; var key; var value; for ( ; inputIndex < inputLength; inputIndex++ ) { for ( key in input[ inputIndex ] ) { value = input[ inputIndex ][ key ]; if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { // Clone objects if ( $.isPlainObject( value ) ) { target[ key ] = $.isPlainObject( target[ key ] ) ? $.widget.extend( {}, target[ key ], value ) : // Don't extend strings, arrays, etc. with objects $.widget.extend( {}, value ); // Copy everything else by reference } else { target[ key ] = value; } } } } return target; }; $.widget.bridge = function( name, object ) { var fullName = object.prototype.widgetFullName || name; $.fn[ name ] = function( options ) { var isMethodCall = typeof options === "string"; var args = widgetSlice.call( arguments, 1 ); var returnValue = this; if ( isMethodCall ) { // If this is an empty collection, we need to have the instance method // return undefined instead of the jQuery instance if ( !this.length && options === "instance" ) { returnValue = undefined; } else { this.each( function() { var methodValue; var instance = $.data( this, fullName ); if ( options === "instance" ) { returnValue = instance; return false; } if ( !instance ) { return $.error( "cannot call methods on " + name + " prior to initialization; " + "attempted to call method '" + options + "'" ); } if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { return $.error( "no such method '" + options + "' for " + name + " widget instance" ); } methodValue = instance[ options ].apply( instance, args ); if ( methodValue !== instance && methodValue !== undefined ) { returnValue = methodValue && methodValue.jquery ? returnValue.pushStack( methodValue.get() ) : methodValue; return false; } } ); } } else { // Allow multiple hashes to be passed on init if ( args.length ) { options = $.widget.extend.apply( null, [ options ].concat( args ) ); } this.each( function() { var instance = $.data( this, fullName ); if ( instance ) { instance.option( options || {} ); if ( instance._init ) { instance._init(); } } else { $.data( this, fullName, new object( options, this ) ); } } ); } return returnValue; }; }; $.Widget = function( /* options, element */ ) {}; $.Widget._childConstructors = []; $.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "
    ", options: { classes: {}, disabled: false, // Callbacks create: null }, _createWidget: function( options, element ) { element = $( element || this.defaultElement || this )[ 0 ]; this.element = $( element ); this.uuid = widgetUuid++; this.eventNamespace = "." + this.widgetName + this.uuid; this.bindings = $(); this.hoverable = $(); this.focusable = $(); this.classesElementLookup = {}; if ( element !== this ) { $.data( element, this.widgetFullName, this ); this._on( true, this.element, { remove: function( event ) { if ( event.target === element ) { this.destroy(); } } } ); this.document = $( element.style ? // Element within the document element.ownerDocument : // Element is window or document element.document || element ); this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); } this.options = $.widget.extend( {}, this.options, this._getCreateOptions(), options ); this._create(); if ( this.options.disabled ) { this._setOptionDisabled( this.options.disabled ); } this._trigger( "create", null, this._getCreateEventData() ); this._init(); }, _getCreateOptions: function() { return {}; }, _getCreateEventData: $.noop, _create: $.noop, _init: $.noop, destroy: function() { var that = this; this._destroy(); $.each( this.classesElementLookup, function( key, value ) { that._removeClass( value, key ); } ); // We can probably remove the unbind calls in 2.0 // all event bindings should go through this._on() this.element .off( this.eventNamespace ) .removeData( this.widgetFullName ); this.widget() .off( this.eventNamespace ) .removeAttr( "aria-disabled" ); // Clean up events and states this.bindings.off( this.eventNamespace ); }, _destroy: $.noop, widget: function() { return this.element; }, option: function( key, value ) { var options = key; var parts; var curOption; var i; if ( arguments.length === 0 ) { // Don't return a reference to the internal hash return $.widget.extend( {}, this.options ); } if ( typeof key === "string" ) { // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } options = {}; parts = key.split( "." ); key = parts.shift(); if ( parts.length ) { curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); for ( i = 0; i < parts.length - 1; i++ ) { curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; curOption = curOption[ parts[ i ] ]; } key = parts.pop(); if ( arguments.length === 1 ) { return curOption[ key ] === undefined ? null : curOption[ key ]; } curOption[ key ] = value; } else { if ( arguments.length === 1 ) { return this.options[ key ] === undefined ? null : this.options[ key ]; } options[ key ] = value; } } this._setOptions( options ); return this; }, _setOptions: function( options ) { var key; for ( key in options ) { this._setOption( key, options[ key ] ); } return this; }, _setOption: function( key, value ) { if ( key === "classes" ) { this._setOptionClasses( value ); } this.options[ key ] = value; if ( key === "disabled" ) { this._setOptionDisabled( value ); } return this; }, _setOptionClasses: function( value ) { var classKey, elements, currentElements; for ( classKey in value ) { currentElements = this.classesElementLookup[ classKey ]; if ( value[ classKey ] === this.options.classes[ classKey ] || !currentElements || !currentElements.length ) { continue; } // We are doing this to create a new jQuery object because the _removeClass() call // on the next line is going to destroy the reference to the current elements being // tracked. We need to save a copy of this collection so that we can add the new classes // below. elements = $( currentElements.get() ); this._removeClass( currentElements, classKey ); // We don't use _addClass() here, because that uses this.options.classes // for generating the string of classes. We want to use the value passed in from // _setOption(), this is the new value of the classes option which was passed to // _setOption(). We pass this value directly to _classes(). elements.addClass( this._classes( { element: elements, keys: classKey, classes: value, add: true } ) ); } }, _setOptionDisabled: function( value ) { this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); // If the widget is becoming disabled, then nothing is interactive if ( value ) { this._removeClass( this.hoverable, null, "ui-state-hover" ); this._removeClass( this.focusable, null, "ui-state-focus" ); } }, enable: function() { return this._setOptions( { disabled: false } ); }, disable: function() { return this._setOptions( { disabled: true } ); }, _classes: function( options ) { var full = []; var that = this; options = $.extend( { element: this.element, classes: this.options.classes || {} }, options ); function processClassString( classes, checkOption ) { var current, i; for ( i = 0; i < classes.length; i++ ) { current = that.classesElementLookup[ classes[ i ] ] || $(); if ( options.add ) { current = $( $.unique( current.get().concat( options.element.get() ) ) ); } else { current = $( current.not( options.element ).get() ); } that.classesElementLookup[ classes[ i ] ] = current; full.push( classes[ i ] ); if ( checkOption && options.classes[ classes[ i ] ] ) { full.push( options.classes[ classes[ i ] ] ); } } } this._on( options.element, { "remove": "_untrackClassesElement" } ); if ( options.keys ) { processClassString( options.keys.match( /\S+/g ) || [], true ); } if ( options.extra ) { processClassString( options.extra.match( /\S+/g ) || [] ); } return full.join( " " ); }, _untrackClassesElement: function( event ) { var that = this; $.each( that.classesElementLookup, function( key, value ) { if ( $.inArray( event.target, value ) !== -1 ) { that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); } } ); }, _removeClass: function( element, keys, extra ) { return this._toggleClass( element, keys, extra, false ); }, _addClass: function( element, keys, extra ) { return this._toggleClass( element, keys, extra, true ); }, _toggleClass: function( element, keys, extra, add ) { add = ( typeof add === "boolean" ) ? add : extra; var shift = ( typeof element === "string" || element === null ), options = { extra: shift ? keys : extra, keys: shift ? element : keys, element: shift ? this.element : element, add: add }; options.element.toggleClass( this._classes( options ), add ); return this; }, _on: function( suppressDisabledCheck, element, handlers ) { var delegateElement; var instance = this; // No suppressDisabledCheck flag, shuffle arguments if ( typeof suppressDisabledCheck !== "boolean" ) { handlers = element; element = suppressDisabledCheck; suppressDisabledCheck = false; } // No element argument, shuffle and use this.element if ( !handlers ) { handlers = element; element = this.element; delegateElement = this.widget(); } else { element = delegateElement = $( element ); this.bindings = this.bindings.add( element ); } $.each( handlers, function( event, handler ) { function handlerProxy() { // Allow widgets to customize the disabled handling // - disabled as an array instead of boolean // - disabled class as method for disabling individual parts if ( !suppressDisabledCheck && ( instance.options.disabled === true || $( this ).hasClass( "ui-state-disabled" ) ) ) { return; } return ( typeof handler === "string" ? instance[ handler ] : handler ) .apply( instance, arguments ); } // Copy the guid so direct unbinding works if ( typeof handler !== "string" ) { handlerProxy.guid = handler.guid = handler.guid || handlerProxy.guid || $.guid++; } var match = event.match( /^([\w:-]*)\s*(.*)$/ ); var eventName = match[ 1 ] + instance.eventNamespace; var selector = match[ 2 ]; if ( selector ) { delegateElement.on( eventName, selector, handlerProxy ); } else { element.on( eventName, handlerProxy ); } } ); }, _off: function( element, eventName ) { eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; element.off( eventName ).off( eventName ); // Clear the stack to avoid memory leaks (#10056) this.bindings = $( this.bindings.not( element ).get() ); this.focusable = $( this.focusable.not( element ).get() ); this.hoverable = $( this.hoverable.not( element ).get() ); }, _delay: function( handler, delay ) { function handlerProxy() { return ( typeof handler === "string" ? instance[ handler ] : handler ) .apply( instance, arguments ); } var instance = this; return setTimeout( handlerProxy, delay || 0 ); }, _hoverable: function( element ) { this.hoverable = this.hoverable.add( element ); this._on( element, { mouseenter: function( event ) { this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); }, mouseleave: function( event ) { this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); } } ); }, _focusable: function( element ) { this.focusable = this.focusable.add( element ); this._on( element, { focusin: function( event ) { this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); }, focusout: function( event ) { this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); } } ); }, _trigger: function( type, event, data ) { var prop, orig; var callback = this.options[ type ]; data = data || {}; event = $.Event( event ); event.type = ( type === this.widgetEventPrefix ? type : this.widgetEventPrefix + type ).toLowerCase(); // The original event may come from any element // so we need to reset the target on the new event event.target = this.element[ 0 ]; // Copy original event properties over to the new event orig = event.originalEvent; if ( orig ) { for ( prop in orig ) { if ( !( prop in event ) ) { event[ prop ] = orig[ prop ]; } } } this.element.trigger( event, data ); return !( $.isFunction( callback ) && callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || event.isDefaultPrevented() ); } }; $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { if ( typeof options === "string" ) { options = { effect: options }; } var hasOptions; var effectName = !options ? method : options === true || typeof options === "number" ? defaultEffect : options.effect || defaultEffect; options = options || {}; if ( typeof options === "number" ) { options = { duration: options }; } hasOptions = !$.isEmptyObject( options ); options.complete = callback; if ( options.delay ) { element.delay( options.delay ); } if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { element[ method ]( options ); } else if ( effectName !== method && element[ effectName ] ) { element[ effectName ]( options.duration, options.easing, callback ); } else { element.queue( function( next ) { $( this )[ method ](); if ( callback ) { callback.call( element[ 0 ] ); } next(); } ); } }; } ); var widget = $.widget; /*! * jQuery UI Position 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * http://api.jqueryui.com/position/ */ //>>label: Position //>>group: Core //>>description: Positions elements relative to other elements. //>>docs: http://api.jqueryui.com/position/ //>>demos: http://jqueryui.com/position/ ( function() { var cachedScrollbarWidth, max = Math.max, abs = Math.abs, rhorizontal = /left|center|right/, rvertical = /top|center|bottom/, roffset = /[\+\-]\d+(\.[\d]+)?%?/, rposition = /^\w+/, rpercent = /%$/, _position = $.fn.position; function getOffsets( offsets, width, height ) { return [ parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) ]; } function parseCss( element, property ) { return parseInt( $.css( element, property ), 10 ) || 0; } function getDimensions( elem ) { var raw = elem[ 0 ]; if ( raw.nodeType === 9 ) { return { width: elem.width(), height: elem.height(), offset: { top: 0, left: 0 } }; } if ( $.isWindow( raw ) ) { return { width: elem.width(), height: elem.height(), offset: { top: elem.scrollTop(), left: elem.scrollLeft() } }; } if ( raw.preventDefault ) { return { width: 0, height: 0, offset: { top: raw.pageY, left: raw.pageX } }; } return { width: elem.outerWidth(), height: elem.outerHeight(), offset: elem.offset() }; } $.position = { scrollbarWidth: function() { if ( cachedScrollbarWidth !== undefined ) { return cachedScrollbarWidth; } var w1, w2, div = $( "
    " + "
    " ), innerDiv = div.children()[ 0 ]; $( "body" ).append( div ); w1 = innerDiv.offsetWidth; div.css( "overflow", "scroll" ); w2 = innerDiv.offsetWidth; if ( w1 === w2 ) { w2 = div[ 0 ].clientWidth; } div.remove(); return ( cachedScrollbarWidth = w1 - w2 ); }, getScrollInfo: function( within ) { var overflowX = within.isWindow || within.isDocument ? "" : within.element.css( "overflow-x" ), overflowY = within.isWindow || within.isDocument ? "" : within.element.css( "overflow-y" ), hasOverflowX = overflowX === "scroll" || ( overflowX === "auto" && within.width < within.element[ 0 ].scrollWidth ), hasOverflowY = overflowY === "scroll" || ( overflowY === "auto" && within.height < within.element[ 0 ].scrollHeight ); return { width: hasOverflowY ? $.position.scrollbarWidth() : 0, height: hasOverflowX ? $.position.scrollbarWidth() : 0 }; }, getWithinInfo: function( element ) { var withinElement = $( element || window ), isWindow = $.isWindow( withinElement[ 0 ] ), isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9, hasOffset = !isWindow && !isDocument; return { element: withinElement, isWindow: isWindow, isDocument: isDocument, offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 }, scrollLeft: withinElement.scrollLeft(), scrollTop: withinElement.scrollTop(), width: withinElement.outerWidth(), height: withinElement.outerHeight() }; } }; $.fn.position = function( options ) { if ( !options || !options.of ) { return _position.apply( this, arguments ); } // Make a copy, we don't want to modify arguments options = $.extend( {}, options ); var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, target = $( options.of ), within = $.position.getWithinInfo( options.within ), scrollInfo = $.position.getScrollInfo( within ), collision = ( options.collision || "flip" ).split( " " ), offsets = {}; dimensions = getDimensions( target ); if ( target[ 0 ].preventDefault ) { // Force left top to allow flipping options.at = "left top"; } targetWidth = dimensions.width; targetHeight = dimensions.height; targetOffset = dimensions.offset; // Clone to reuse original targetOffset later basePosition = $.extend( {}, targetOffset ); // Force my and at to have valid horizontal and vertical positions // if a value is missing or invalid, it will be converted to center $.each( [ "my", "at" ], function() { var pos = ( options[ this ] || "" ).split( " " ), horizontalOffset, verticalOffset; if ( pos.length === 1 ) { pos = rhorizontal.test( pos[ 0 ] ) ? pos.concat( [ "center" ] ) : rvertical.test( pos[ 0 ] ) ? [ "center" ].concat( pos ) : [ "center", "center" ]; } pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; // Calculate offsets horizontalOffset = roffset.exec( pos[ 0 ] ); verticalOffset = roffset.exec( pos[ 1 ] ); offsets[ this ] = [ horizontalOffset ? horizontalOffset[ 0 ] : 0, verticalOffset ? verticalOffset[ 0 ] : 0 ]; // Reduce to just the positions without the offsets options[ this ] = [ rposition.exec( pos[ 0 ] )[ 0 ], rposition.exec( pos[ 1 ] )[ 0 ] ]; } ); // Normalize collision option if ( collision.length === 1 ) { collision[ 1 ] = collision[ 0 ]; } if ( options.at[ 0 ] === "right" ) { basePosition.left += targetWidth; } else if ( options.at[ 0 ] === "center" ) { basePosition.left += targetWidth / 2; } if ( options.at[ 1 ] === "bottom" ) { basePosition.top += targetHeight; } else if ( options.at[ 1 ] === "center" ) { basePosition.top += targetHeight / 2; } atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); basePosition.left += atOffset[ 0 ]; basePosition.top += atOffset[ 1 ]; return this.each( function() { var collisionPosition, using, elem = $( this ), elemWidth = elem.outerWidth(), elemHeight = elem.outerHeight(), marginLeft = parseCss( this, "marginLeft" ), marginTop = parseCss( this, "marginTop" ), collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, position = $.extend( {}, basePosition ), myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); if ( options.my[ 0 ] === "right" ) { position.left -= elemWidth; } else if ( options.my[ 0 ] === "center" ) { position.left -= elemWidth / 2; } if ( options.my[ 1 ] === "bottom" ) { position.top -= elemHeight; } else if ( options.my[ 1 ] === "center" ) { position.top -= elemHeight / 2; } position.left += myOffset[ 0 ]; position.top += myOffset[ 1 ]; collisionPosition = { marginLeft: marginLeft, marginTop: marginTop }; $.each( [ "left", "top" ], function( i, dir ) { if ( $.ui.position[ collision[ i ] ] ) { $.ui.position[ collision[ i ] ][ dir ]( position, { targetWidth: targetWidth, targetHeight: targetHeight, elemWidth: elemWidth, elemHeight: elemHeight, collisionPosition: collisionPosition, collisionWidth: collisionWidth, collisionHeight: collisionHeight, offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], my: options.my, at: options.at, within: within, elem: elem } ); } } ); if ( options.using ) { // Adds feedback as second argument to using callback, if present using = function( props ) { var left = targetOffset.left - position.left, right = left + targetWidth - elemWidth, top = targetOffset.top - position.top, bottom = top + targetHeight - elemHeight, feedback = { target: { element: target, left: targetOffset.left, top: targetOffset.top, width: targetWidth, height: targetHeight }, element: { element: elem, left: position.left, top: position.top, width: elemWidth, height: elemHeight }, horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" }; if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { feedback.horizontal = "center"; } if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { feedback.vertical = "middle"; } if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { feedback.important = "horizontal"; } else { feedback.important = "vertical"; } options.using.call( this, props, feedback ); }; } elem.offset( $.extend( position, { using: using } ) ); } ); }; $.ui.position = { fit: { left: function( position, data ) { var within = data.within, withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, outerWidth = within.width, collisionPosLeft = position.left - data.collisionPosition.marginLeft, overLeft = withinOffset - collisionPosLeft, overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, newOverRight; // Element is wider than within if ( data.collisionWidth > outerWidth ) { // Element is initially over the left side of within if ( overLeft > 0 && overRight <= 0 ) { newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; position.left += overLeft - newOverRight; // Element is initially over right side of within } else if ( overRight > 0 && overLeft <= 0 ) { position.left = withinOffset; // Element is initially over both left and right sides of within } else { if ( overLeft > overRight ) { position.left = withinOffset + outerWidth - data.collisionWidth; } else { position.left = withinOffset; } } // Too far left -> align with left edge } else if ( overLeft > 0 ) { position.left += overLeft; // Too far right -> align with right edge } else if ( overRight > 0 ) { position.left -= overRight; // Adjust based on position and margin } else { position.left = max( position.left - collisionPosLeft, position.left ); } }, top: function( position, data ) { var within = data.within, withinOffset = within.isWindow ? within.scrollTop : within.offset.top, outerHeight = data.within.height, collisionPosTop = position.top - data.collisionPosition.marginTop, overTop = withinOffset - collisionPosTop, overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, newOverBottom; // Element is taller than within if ( data.collisionHeight > outerHeight ) { // Element is initially over the top of within if ( overTop > 0 && overBottom <= 0 ) { newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; position.top += overTop - newOverBottom; // Element is initially over bottom of within } else if ( overBottom > 0 && overTop <= 0 ) { position.top = withinOffset; // Element is initially over both top and bottom of within } else { if ( overTop > overBottom ) { position.top = withinOffset + outerHeight - data.collisionHeight; } else { position.top = withinOffset; } } // Too far up -> align with top } else if ( overTop > 0 ) { position.top += overTop; // Too far down -> align with bottom edge } else if ( overBottom > 0 ) { position.top -= overBottom; // Adjust based on position and margin } else { position.top = max( position.top - collisionPosTop, position.top ); } } }, flip: { left: function( position, data ) { var within = data.within, withinOffset = within.offset.left + within.scrollLeft, outerWidth = within.width, offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, collisionPosLeft = position.left - data.collisionPosition.marginLeft, overLeft = collisionPosLeft - offsetLeft, overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, myOffset = data.my[ 0 ] === "left" ? -data.elemWidth : data.my[ 0 ] === "right" ? data.elemWidth : 0, atOffset = data.at[ 0 ] === "left" ? data.targetWidth : data.at[ 0 ] === "right" ? -data.targetWidth : 0, offset = -2 * data.offset[ 0 ], newOverRight, newOverLeft; if ( overLeft < 0 ) { newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { position.left += myOffset + atOffset + offset; } } else if ( overRight > 0 ) { newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { position.left += myOffset + atOffset + offset; } } }, top: function( position, data ) { var within = data.within, withinOffset = within.offset.top + within.scrollTop, outerHeight = within.height, offsetTop = within.isWindow ? within.scrollTop : within.offset.top, collisionPosTop = position.top - data.collisionPosition.marginTop, overTop = collisionPosTop - offsetTop, overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, top = data.my[ 1 ] === "top", myOffset = top ? -data.elemHeight : data.my[ 1 ] === "bottom" ? data.elemHeight : 0, atOffset = data.at[ 1 ] === "top" ? data.targetHeight : data.at[ 1 ] === "bottom" ? -data.targetHeight : 0, offset = -2 * data.offset[ 1 ], newOverTop, newOverBottom; if ( overTop < 0 ) { newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { position.top += myOffset + atOffset + offset; } } else if ( overBottom > 0 ) { newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { position.top += myOffset + atOffset + offset; } } } }, flipfit: { left: function() { $.ui.position.flip.left.apply( this, arguments ); $.ui.position.fit.left.apply( this, arguments ); }, top: function() { $.ui.position.flip.top.apply( this, arguments ); $.ui.position.fit.top.apply( this, arguments ); } } }; } )(); var position = $.ui.position; /*! * jQuery UI :data 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: :data Selector //>>group: Core //>>description: Selects elements which have data stored under the specified key. //>>docs: http://api.jqueryui.com/data-selector/ var data = $.extend( $.expr[ ":" ], { data: $.expr.createPseudo ? $.expr.createPseudo( function( dataName ) { return function( elem ) { return !!$.data( elem, dataName ); }; } ) : // Support: jQuery <1.8 function( elem, i, match ) { return !!$.data( elem, match[ 3 ] ); } } ); /*! * jQuery UI Disable Selection 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: disableSelection //>>group: Core //>>description: Disable selection of text content within the set of matched elements. //>>docs: http://api.jqueryui.com/disableSelection/ // This file is deprecated var disableSelection = $.fn.extend( { disableSelection: ( function() { var eventType = "onselectstart" in document.createElement( "div" ) ? "selectstart" : "mousedown"; return function() { return this.on( eventType + ".ui-disableSelection", function( event ) { event.preventDefault(); } ); }; } )(), enableSelection: function() { return this.off( ".ui-disableSelection" ); } } ); /*! * jQuery UI Effects 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Effects Core //>>group: Effects // jscs:disable maximumLineLength //>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects. // jscs:enable maximumLineLength //>>docs: http://api.jqueryui.com/category/effects-core/ //>>demos: http://jqueryui.com/effect/ var dataSpace = "ui-effects-", dataSpaceStyle = "ui-effects-style", dataSpaceAnimated = "ui-effects-animated", // Create a local jQuery because jQuery Color relies on it and the // global may not exist with AMD and a custom build (#10199) jQuery = $; $.effects = { effect: {} }; /*! * jQuery Color Animations v2.1.2 * https://github.com/jquery/jquery-color * * Copyright 2014 jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * Date: Wed Jan 16 08:47:09 2013 -0600 */ ( function( jQuery, undefined ) { var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor " + "borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", // Plusequals test for += 100 -= 100 rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, // A set of RE's that can match strings and generate color tuples. stringParsers = [ { re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, parse: function( execResult ) { return [ execResult[ 1 ], execResult[ 2 ], execResult[ 3 ], execResult[ 4 ] ]; } }, { re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, parse: function( execResult ) { return [ execResult[ 1 ] * 2.55, execResult[ 2 ] * 2.55, execResult[ 3 ] * 2.55, execResult[ 4 ] ]; } }, { // This regex ignores A-F because it's compared against an already lowercased string re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, parse: function( execResult ) { return [ parseInt( execResult[ 1 ], 16 ), parseInt( execResult[ 2 ], 16 ), parseInt( execResult[ 3 ], 16 ) ]; } }, { // This regex ignores A-F because it's compared against an already lowercased string re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, parse: function( execResult ) { return [ parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) ]; } }, { re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, space: "hsla", parse: function( execResult ) { return [ execResult[ 1 ], execResult[ 2 ] / 100, execResult[ 3 ] / 100, execResult[ 4 ] ]; } } ], // JQuery.Color( ) color = jQuery.Color = function( color, green, blue, alpha ) { return new jQuery.Color.fn.parse( color, green, blue, alpha ); }, spaces = { rgba: { props: { red: { idx: 0, type: "byte" }, green: { idx: 1, type: "byte" }, blue: { idx: 2, type: "byte" } } }, hsla: { props: { hue: { idx: 0, type: "degrees" }, saturation: { idx: 1, type: "percent" }, lightness: { idx: 2, type: "percent" } } } }, propTypes = { "byte": { floor: true, max: 255 }, "percent": { max: 1 }, "degrees": { mod: 360, floor: true } }, support = color.support = {}, // Element for support tests supportElem = jQuery( "

    " )[ 0 ], // Colors = jQuery.Color.names colors, // Local aliases of functions called often each = jQuery.each; // Determine rgba support immediately supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; // Define cache name and alpha properties // for rgba and hsla spaces each( spaces, function( spaceName, space ) { space.cache = "_" + spaceName; space.props.alpha = { idx: 3, type: "percent", def: 1 }; } ); function clamp( value, prop, allowEmpty ) { var type = propTypes[ prop.type ] || {}; if ( value == null ) { return ( allowEmpty || !prop.def ) ? null : prop.def; } // ~~ is an short way of doing floor for positive numbers value = type.floor ? ~~value : parseFloat( value ); // IE will pass in empty strings as value for alpha, // which will hit this case if ( isNaN( value ) ) { return prop.def; } if ( type.mod ) { // We add mod before modding to make sure that negatives values // get converted properly: -10 -> 350 return ( value + type.mod ) % type.mod; } // For now all property types without mod have min and max return 0 > value ? 0 : type.max < value ? type.max : value; } function stringParse( string ) { var inst = color(), rgba = inst._rgba = []; string = string.toLowerCase(); each( stringParsers, function( i, parser ) { var parsed, match = parser.re.exec( string ), values = match && parser.parse( match ), spaceName = parser.space || "rgba"; if ( values ) { parsed = inst[ spaceName ]( values ); // If this was an rgba parse the assignment might happen twice // oh well.... inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; rgba = inst._rgba = parsed._rgba; // Exit each( stringParsers ) here because we matched return false; } } ); // Found a stringParser that handled it if ( rgba.length ) { // If this came from a parsed string, force "transparent" when alpha is 0 // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) if ( rgba.join() === "0,0,0,0" ) { jQuery.extend( rgba, colors.transparent ); } return inst; } // Named colors return colors[ string ]; } color.fn = jQuery.extend( color.prototype, { parse: function( red, green, blue, alpha ) { if ( red === undefined ) { this._rgba = [ null, null, null, null ]; return this; } if ( red.jquery || red.nodeType ) { red = jQuery( red ).css( green ); green = undefined; } var inst = this, type = jQuery.type( red ), rgba = this._rgba = []; // More than 1 argument specified - assume ( red, green, blue, alpha ) if ( green !== undefined ) { red = [ red, green, blue, alpha ]; type = "array"; } if ( type === "string" ) { return this.parse( stringParse( red ) || colors._default ); } if ( type === "array" ) { each( spaces.rgba.props, function( key, prop ) { rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); } ); return this; } if ( type === "object" ) { if ( red instanceof color ) { each( spaces, function( spaceName, space ) { if ( red[ space.cache ] ) { inst[ space.cache ] = red[ space.cache ].slice(); } } ); } else { each( spaces, function( spaceName, space ) { var cache = space.cache; each( space.props, function( key, prop ) { // If the cache doesn't exist, and we know how to convert if ( !inst[ cache ] && space.to ) { // If the value was null, we don't need to copy it // if the key was alpha, we don't need to copy it either if ( key === "alpha" || red[ key ] == null ) { return; } inst[ cache ] = space.to( inst._rgba ); } // This is the only case where we allow nulls for ALL properties. // call clamp with alwaysAllowEmpty inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); } ); // Everything defined but alpha? if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { // Use the default of 1 inst[ cache ][ 3 ] = 1; if ( space.from ) { inst._rgba = space.from( inst[ cache ] ); } } } ); } return this; } }, is: function( compare ) { var is = color( compare ), same = true, inst = this; each( spaces, function( _, space ) { var localCache, isCache = is[ space.cache ]; if ( isCache ) { localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; each( space.props, function( _, prop ) { if ( isCache[ prop.idx ] != null ) { same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); return same; } } ); } return same; } ); return same; }, _space: function() { var used = [], inst = this; each( spaces, function( spaceName, space ) { if ( inst[ space.cache ] ) { used.push( spaceName ); } } ); return used.pop(); }, transition: function( other, distance ) { var end = color( other ), spaceName = end._space(), space = spaces[ spaceName ], startColor = this.alpha() === 0 ? color( "transparent" ) : this, start = startColor[ space.cache ] || space.to( startColor._rgba ), result = start.slice(); end = end[ space.cache ]; each( space.props, function( key, prop ) { var index = prop.idx, startValue = start[ index ], endValue = end[ index ], type = propTypes[ prop.type ] || {}; // If null, don't override start value if ( endValue === null ) { return; } // If null - use end if ( startValue === null ) { result[ index ] = endValue; } else { if ( type.mod ) { if ( endValue - startValue > type.mod / 2 ) { startValue += type.mod; } else if ( startValue - endValue > type.mod / 2 ) { startValue -= type.mod; } } result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); } } ); return this[ spaceName ]( result ); }, blend: function( opaque ) { // If we are already opaque - return ourself if ( this._rgba[ 3 ] === 1 ) { return this; } var rgb = this._rgba.slice(), a = rgb.pop(), blend = color( opaque )._rgba; return color( jQuery.map( rgb, function( v, i ) { return ( 1 - a ) * blend[ i ] + a * v; } ) ); }, toRgbaString: function() { var prefix = "rgba(", rgba = jQuery.map( this._rgba, function( v, i ) { return v == null ? ( i > 2 ? 1 : 0 ) : v; } ); if ( rgba[ 3 ] === 1 ) { rgba.pop(); prefix = "rgb("; } return prefix + rgba.join() + ")"; }, toHslaString: function() { var prefix = "hsla(", hsla = jQuery.map( this.hsla(), function( v, i ) { if ( v == null ) { v = i > 2 ? 1 : 0; } // Catch 1 and 2 if ( i && i < 3 ) { v = Math.round( v * 100 ) + "%"; } return v; } ); if ( hsla[ 3 ] === 1 ) { hsla.pop(); prefix = "hsl("; } return prefix + hsla.join() + ")"; }, toHexString: function( includeAlpha ) { var rgba = this._rgba.slice(), alpha = rgba.pop(); if ( includeAlpha ) { rgba.push( ~~( alpha * 255 ) ); } return "#" + jQuery.map( rgba, function( v ) { // Default to 0 when nulls exist v = ( v || 0 ).toString( 16 ); return v.length === 1 ? "0" + v : v; } ).join( "" ); }, toString: function() { return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); } } ); color.fn.parse.prototype = color.fn; // Hsla conversions adapted from: // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 function hue2rgb( p, q, h ) { h = ( h + 1 ) % 1; if ( h * 6 < 1 ) { return p + ( q - p ) * h * 6; } if ( h * 2 < 1 ) { return q; } if ( h * 3 < 2 ) { return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6; } return p; } spaces.hsla.to = function( rgba ) { if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { return [ null, null, null, rgba[ 3 ] ]; } var r = rgba[ 0 ] / 255, g = rgba[ 1 ] / 255, b = rgba[ 2 ] / 255, a = rgba[ 3 ], max = Math.max( r, g, b ), min = Math.min( r, g, b ), diff = max - min, add = max + min, l = add * 0.5, h, s; if ( min === max ) { h = 0; } else if ( r === max ) { h = ( 60 * ( g - b ) / diff ) + 360; } else if ( g === max ) { h = ( 60 * ( b - r ) / diff ) + 120; } else { h = ( 60 * ( r - g ) / diff ) + 240; } // Chroma (diff) == 0 means greyscale which, by definition, saturation = 0% // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) if ( diff === 0 ) { s = 0; } else if ( l <= 0.5 ) { s = diff / add; } else { s = diff / ( 2 - add ); } return [ Math.round( h ) % 360, s, l, a == null ? 1 : a ]; }; spaces.hsla.from = function( hsla ) { if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { return [ null, null, null, hsla[ 3 ] ]; } var h = hsla[ 0 ] / 360, s = hsla[ 1 ], l = hsla[ 2 ], a = hsla[ 3 ], q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, p = 2 * l - q; return [ Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), Math.round( hue2rgb( p, q, h ) * 255 ), Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), a ]; }; each( spaces, function( spaceName, space ) { var props = space.props, cache = space.cache, to = space.to, from = space.from; // Makes rgba() and hsla() color.fn[ spaceName ] = function( value ) { // Generate a cache for this space if it doesn't exist if ( to && !this[ cache ] ) { this[ cache ] = to( this._rgba ); } if ( value === undefined ) { return this[ cache ].slice(); } var ret, type = jQuery.type( value ), arr = ( type === "array" || type === "object" ) ? value : arguments, local = this[ cache ].slice(); each( props, function( key, prop ) { var val = arr[ type === "object" ? key : prop.idx ]; if ( val == null ) { val = local[ prop.idx ]; } local[ prop.idx ] = clamp( val, prop ); } ); if ( from ) { ret = color( from( local ) ); ret[ cache ] = local; return ret; } else { return color( local ); } }; // Makes red() green() blue() alpha() hue() saturation() lightness() each( props, function( key, prop ) { // Alpha is included in more than one space if ( color.fn[ key ] ) { return; } color.fn[ key ] = function( value ) { var vtype = jQuery.type( value ), fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), local = this[ fn ](), cur = local[ prop.idx ], match; if ( vtype === "undefined" ) { return cur; } if ( vtype === "function" ) { value = value.call( this, cur ); vtype = jQuery.type( value ); } if ( value == null && prop.empty ) { return this; } if ( vtype === "string" ) { match = rplusequals.exec( value ); if ( match ) { value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); } } local[ prop.idx ] = value; return this[ fn ]( local ); }; } ); } ); // Add cssHook and .fx.step function for each named hook. // accept a space separated string of properties color.hook = function( hook ) { var hooks = hook.split( " " ); each( hooks, function( i, hook ) { jQuery.cssHooks[ hook ] = { set: function( elem, value ) { var parsed, curElem, backgroundColor = ""; if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) { value = color( parsed || value ); if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { curElem = hook === "backgroundColor" ? elem.parentNode : elem; while ( ( backgroundColor === "" || backgroundColor === "transparent" ) && curElem && curElem.style ) { try { backgroundColor = jQuery.css( curElem, "backgroundColor" ); curElem = curElem.parentNode; } catch ( e ) { } } value = value.blend( backgroundColor && backgroundColor !== "transparent" ? backgroundColor : "_default" ); } value = value.toRgbaString(); } try { elem.style[ hook ] = value; } catch ( e ) { // Wrapped to prevent IE from throwing errors on "invalid" values like // 'auto' or 'inherit' } } }; jQuery.fx.step[ hook ] = function( fx ) { if ( !fx.colorInit ) { fx.start = color( fx.elem, hook ); fx.end = color( fx.end ); fx.colorInit = true; } jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); }; } ); }; color.hook( stepHooks ); jQuery.cssHooks.borderColor = { expand: function( value ) { var expanded = {}; each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { expanded[ "border" + part + "Color" ] = value; } ); return expanded; } }; // Basic color names only. // Usage of any of the other color names requires adding yourself or including // jquery.color.svg-names.js. colors = jQuery.Color.names = { // 4.1. Basic color keywords aqua: "#00ffff", black: "#000000", blue: "#0000ff", fuchsia: "#ff00ff", gray: "#808080", green: "#008000", lime: "#00ff00", maroon: "#800000", navy: "#000080", olive: "#808000", purple: "#800080", red: "#ff0000", silver: "#c0c0c0", teal: "#008080", white: "#ffffff", yellow: "#ffff00", // 4.2.3. "transparent" color keyword transparent: [ null, null, null, 0 ], _default: "#ffffff" }; } )( jQuery ); /******************************************************************************/ /****************************** CLASS ANIMATIONS ******************************/ /******************************************************************************/ ( function() { var classAnimationActions = [ "add", "remove", "toggle" ], shorthandStyles = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }; $.each( [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) { $.fx.step[ prop ] = function( fx ) { if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { jQuery.style( fx.elem, prop, fx.end ); fx.setAttr = true; } }; } ); function getElementStyles( elem ) { var key, len, style = elem.ownerDocument.defaultView ? elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : elem.currentStyle, styles = {}; if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { len = style.length; while ( len-- ) { key = style[ len ]; if ( typeof style[ key ] === "string" ) { styles[ $.camelCase( key ) ] = style[ key ]; } } // Support: Opera, IE <9 } else { for ( key in style ) { if ( typeof style[ key ] === "string" ) { styles[ key ] = style[ key ]; } } } return styles; } function styleDifference( oldStyle, newStyle ) { var diff = {}, name, value; for ( name in newStyle ) { value = newStyle[ name ]; if ( oldStyle[ name ] !== value ) { if ( !shorthandStyles[ name ] ) { if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { diff[ name ] = value; } } } } return diff; } // Support: jQuery <1.8 if ( !$.fn.addBack ) { $.fn.addBack = function( selector ) { return this.add( selector == null ? this.prevObject : this.prevObject.filter( selector ) ); }; } $.effects.animateClass = function( value, duration, easing, callback ) { var o = $.speed( duration, easing, callback ); return this.queue( function() { var animated = $( this ), baseClass = animated.attr( "class" ) || "", applyClassChange, allAnimations = o.children ? animated.find( "*" ).addBack() : animated; // Map the animated objects to store the original styles. allAnimations = allAnimations.map( function() { var el = $( this ); return { el: el, start: getElementStyles( this ) }; } ); // Apply class change applyClassChange = function() { $.each( classAnimationActions, function( i, action ) { if ( value[ action ] ) { animated[ action + "Class" ]( value[ action ] ); } } ); }; applyClassChange(); // Map all animated objects again - calculate new styles and diff allAnimations = allAnimations.map( function() { this.end = getElementStyles( this.el[ 0 ] ); this.diff = styleDifference( this.start, this.end ); return this; } ); // Apply original class animated.attr( "class", baseClass ); // Map all animated objects again - this time collecting a promise allAnimations = allAnimations.map( function() { var styleInfo = this, dfd = $.Deferred(), opts = $.extend( {}, o, { queue: false, complete: function() { dfd.resolve( styleInfo ); } } ); this.el.animate( this.diff, opts ); return dfd.promise(); } ); // Once all animations have completed: $.when.apply( $, allAnimations.get() ).done( function() { // Set the final class applyClassChange(); // For each animated element, // clear all css properties that were animated $.each( arguments, function() { var el = this.el; $.each( this.diff, function( key ) { el.css( key, "" ); } ); } ); // This is guarnteed to be there if you use jQuery.speed() // it also handles dequeuing the next anim... o.complete.call( animated[ 0 ] ); } ); } ); }; $.fn.extend( { addClass: ( function( orig ) { return function( classNames, speed, easing, callback ) { return speed ? $.effects.animateClass.call( this, { add: classNames }, speed, easing, callback ) : orig.apply( this, arguments ); }; } )( $.fn.addClass ), removeClass: ( function( orig ) { return function( classNames, speed, easing, callback ) { return arguments.length > 1 ? $.effects.animateClass.call( this, { remove: classNames }, speed, easing, callback ) : orig.apply( this, arguments ); }; } )( $.fn.removeClass ), toggleClass: ( function( orig ) { return function( classNames, force, speed, easing, callback ) { if ( typeof force === "boolean" || force === undefined ) { if ( !speed ) { // Without speed parameter return orig.apply( this, arguments ); } else { return $.effects.animateClass.call( this, ( force ? { add: classNames } : { remove: classNames } ), speed, easing, callback ); } } else { // Without force parameter return $.effects.animateClass.call( this, { toggle: classNames }, force, speed, easing ); } }; } )( $.fn.toggleClass ), switchClass: function( remove, add, speed, easing, callback ) { return $.effects.animateClass.call( this, { add: add, remove: remove }, speed, easing, callback ); } } ); } )(); /******************************************************************************/ /*********************************** EFFECTS **********************************/ /******************************************************************************/ ( function() { if ( $.expr && $.expr.filters && $.expr.filters.animated ) { $.expr.filters.animated = ( function( orig ) { return function( elem ) { return !!$( elem ).data( dataSpaceAnimated ) || orig( elem ); }; } )( $.expr.filters.animated ); } if ( $.uiBackCompat !== false ) { $.extend( $.effects, { // Saves a set of properties in a data storage save: function( element, set ) { var i = 0, length = set.length; for ( ; i < length; i++ ) { if ( set[ i ] !== null ) { element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); } } }, // Restores a set of previously saved properties from a data storage restore: function( element, set ) { var val, i = 0, length = set.length; for ( ; i < length; i++ ) { if ( set[ i ] !== null ) { val = element.data( dataSpace + set[ i ] ); element.css( set[ i ], val ); } } }, setMode: function( el, mode ) { if ( mode === "toggle" ) { mode = el.is( ":hidden" ) ? "show" : "hide"; } return mode; }, // Wraps the element around a wrapper that copies position properties createWrapper: function( element ) { // If the element is already wrapped, return it if ( element.parent().is( ".ui-effects-wrapper" ) ) { return element.parent(); } // Wrap the element var props = { width: element.outerWidth( true ), height: element.outerHeight( true ), "float": element.css( "float" ) }, wrapper = $( "

    " ) .addClass( "ui-effects-wrapper" ) .css( { fontSize: "100%", background: "transparent", border: "none", margin: 0, padding: 0 } ), // Store the size in case width/height are defined in % - Fixes #5245 size = { width: element.width(), height: element.height() }, active = document.activeElement; // Support: Firefox // Firefox incorrectly exposes anonymous content // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 try { active.id; } catch ( e ) { active = document.body; } element.wrap( wrapper ); // Fixes #7595 - Elements lose focus when wrapped. if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { $( active ).trigger( "focus" ); } // Hotfix for jQuery 1.4 since some change in wrap() seems to actually // lose the reference to the wrapped element wrapper = element.parent(); // Transfer positioning properties to the wrapper if ( element.css( "position" ) === "static" ) { wrapper.css( { position: "relative" } ); element.css( { position: "relative" } ); } else { $.extend( props, { position: element.css( "position" ), zIndex: element.css( "z-index" ) } ); $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) { props[ pos ] = element.css( pos ); if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { props[ pos ] = "auto"; } } ); element.css( { position: "relative", top: 0, left: 0, right: "auto", bottom: "auto" } ); } element.css( size ); return wrapper.css( props ).show(); }, removeWrapper: function( element ) { var active = document.activeElement; if ( element.parent().is( ".ui-effects-wrapper" ) ) { element.parent().replaceWith( element ); // Fixes #7595 - Elements lose focus when wrapped. if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { $( active ).trigger( "focus" ); } } return element; } } ); } $.extend( $.effects, { version: "1.12.1", define: function( name, mode, effect ) { if ( !effect ) { effect = mode; mode = "effect"; } $.effects.effect[ name ] = effect; $.effects.effect[ name ].mode = mode; return effect; }, scaledDimensions: function( element, percent, direction ) { if ( percent === 0 ) { return { height: 0, width: 0, outerHeight: 0, outerWidth: 0 }; } var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1, y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1; return { height: element.height() * y, width: element.width() * x, outerHeight: element.outerHeight() * y, outerWidth: element.outerWidth() * x }; }, clipToBox: function( animation ) { return { width: animation.clip.right - animation.clip.left, height: animation.clip.bottom - animation.clip.top, left: animation.clip.left, top: animation.clip.top }; }, // Injects recently queued functions to be first in line (after "inprogress") unshift: function( element, queueLength, count ) { var queue = element.queue(); if ( queueLength > 1 ) { queue.splice.apply( queue, [ 1, 0 ].concat( queue.splice( queueLength, count ) ) ); } element.dequeue(); }, saveStyle: function( element ) { element.data( dataSpaceStyle, element[ 0 ].style.cssText ); }, restoreStyle: function( element ) { element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || ""; element.removeData( dataSpaceStyle ); }, mode: function( element, mode ) { var hidden = element.is( ":hidden" ); if ( mode === "toggle" ) { mode = hidden ? "show" : "hide"; } if ( hidden ? mode === "hide" : mode === "show" ) { mode = "none"; } return mode; }, // Translates a [top,left] array into a baseline value getBaseline: function( origin, original ) { var y, x; switch ( origin[ 0 ] ) { case "top": y = 0; break; case "middle": y = 0.5; break; case "bottom": y = 1; break; default: y = origin[ 0 ] / original.height; } switch ( origin[ 1 ] ) { case "left": x = 0; break; case "center": x = 0.5; break; case "right": x = 1; break; default: x = origin[ 1 ] / original.width; } return { x: x, y: y }; }, // Creates a placeholder element so that the original element can be made absolute createPlaceholder: function( element ) { var placeholder, cssPosition = element.css( "position" ), position = element.position(); // Lock in margins first to account for form elements, which // will change margin if you explicitly set height // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380 // Support: Safari element.css( { marginTop: element.css( "marginTop" ), marginBottom: element.css( "marginBottom" ), marginLeft: element.css( "marginLeft" ), marginRight: element.css( "marginRight" ) } ) .outerWidth( element.outerWidth() ) .outerHeight( element.outerHeight() ); if ( /^(static|relative)/.test( cssPosition ) ) { cssPosition = "absolute"; placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( { // Convert inline to inline block to account for inline elements // that turn to inline block based on content (like img) display: /^(inline|ruby)/.test( element.css( "display" ) ) ? "inline-block" : "block", visibility: "hidden", // Margins need to be set to account for margin collapse marginTop: element.css( "marginTop" ), marginBottom: element.css( "marginBottom" ), marginLeft: element.css( "marginLeft" ), marginRight: element.css( "marginRight" ), "float": element.css( "float" ) } ) .outerWidth( element.outerWidth() ) .outerHeight( element.outerHeight() ) .addClass( "ui-effects-placeholder" ); element.data( dataSpace + "placeholder", placeholder ); } element.css( { position: cssPosition, left: position.left, top: position.top } ); return placeholder; }, removePlaceholder: function( element ) { var dataKey = dataSpace + "placeholder", placeholder = element.data( dataKey ); if ( placeholder ) { placeholder.remove(); element.removeData( dataKey ); } }, // Removes a placeholder if it exists and restores // properties that were modified during placeholder creation cleanUp: function( element ) { $.effects.restoreStyle( element ); $.effects.removePlaceholder( element ); }, setTransition: function( element, list, factor, value ) { value = value || {}; $.each( list, function( i, x ) { var unit = element.cssUnit( x ); if ( unit[ 0 ] > 0 ) { value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; } } ); return value; } } ); // Return an effect options object for the given parameters: function _normalizeArguments( effect, options, speed, callback ) { // Allow passing all options as the first parameter if ( $.isPlainObject( effect ) ) { options = effect; effect = effect.effect; } // Convert to an object effect = { effect: effect }; // Catch (effect, null, ...) if ( options == null ) { options = {}; } // Catch (effect, callback) if ( $.isFunction( options ) ) { callback = options; speed = null; options = {}; } // Catch (effect, speed, ?) if ( typeof options === "number" || $.fx.speeds[ options ] ) { callback = speed; speed = options; options = {}; } // Catch (effect, options, callback) if ( $.isFunction( speed ) ) { callback = speed; speed = null; } // Add options to effect if ( options ) { $.extend( effect, options ); } speed = speed || options.duration; effect.duration = $.fx.off ? 0 : typeof speed === "number" ? speed : speed in $.fx.speeds ? $.fx.speeds[ speed ] : $.fx.speeds._default; effect.complete = callback || options.complete; return effect; } function standardAnimationOption( option ) { // Valid standard speeds (nothing, number, named speed) if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { return true; } // Invalid strings - treat as "normal" speed if ( typeof option === "string" && !$.effects.effect[ option ] ) { return true; } // Complete callback if ( $.isFunction( option ) ) { return true; } // Options hash (but not naming an effect) if ( typeof option === "object" && !option.effect ) { return true; } // Didn't match any standard API return false; } $.fn.extend( { effect: function( /* effect, options, speed, callback */ ) { var args = _normalizeArguments.apply( this, arguments ), effectMethod = $.effects.effect[ args.effect ], defaultMode = effectMethod.mode, queue = args.queue, queueName = queue || "fx", complete = args.complete, mode = args.mode, modes = [], prefilter = function( next ) { var el = $( this ), normalizedMode = $.effects.mode( el, mode ) || defaultMode; // Sentinel for duck-punching the :animated psuedo-selector el.data( dataSpaceAnimated, true ); // Save effect mode for later use, // we can't just call $.effects.mode again later, // as the .show() below destroys the initial state modes.push( normalizedMode ); // See $.uiBackCompat inside of run() for removal of defaultMode in 1.13 if ( defaultMode && ( normalizedMode === "show" || ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) { el.show(); } if ( !defaultMode || normalizedMode !== "none" ) { $.effects.saveStyle( el ); } if ( $.isFunction( next ) ) { next(); } }; if ( $.fx.off || !effectMethod ) { // Delegate to the original method (e.g., .show()) if possible if ( mode ) { return this[ mode ]( args.duration, complete ); } else { return this.each( function() { if ( complete ) { complete.call( this ); } } ); } } function run( next ) { var elem = $( this ); function cleanup() { elem.removeData( dataSpaceAnimated ); $.effects.cleanUp( elem ); if ( args.mode === "hide" ) { elem.hide(); } done(); } function done() { if ( $.isFunction( complete ) ) { complete.call( elem[ 0 ] ); } if ( $.isFunction( next ) ) { next(); } } // Override mode option on a per element basis, // as toggle can be either show or hide depending on element state args.mode = modes.shift(); if ( $.uiBackCompat !== false && !defaultMode ) { if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { // Call the core method to track "olddisplay" properly elem[ mode ](); done(); } else { effectMethod.call( elem[ 0 ], args, done ); } } else { if ( args.mode === "none" ) { // Call the core method to track "olddisplay" properly elem[ mode ](); done(); } else { effectMethod.call( elem[ 0 ], args, cleanup ); } } } // Run prefilter on all elements first to ensure that // any showing or hiding happens before placeholder creation, // which ensures that any layout changes are correctly captured. return queue === false ? this.each( prefilter ).each( run ) : this.queue( queueName, prefilter ).queue( queueName, run ); }, show: ( function( orig ) { return function( option ) { if ( standardAnimationOption( option ) ) { return orig.apply( this, arguments ); } else { var args = _normalizeArguments.apply( this, arguments ); args.mode = "show"; return this.effect.call( this, args ); } }; } )( $.fn.show ), hide: ( function( orig ) { return function( option ) { if ( standardAnimationOption( option ) ) { return orig.apply( this, arguments ); } else { var args = _normalizeArguments.apply( this, arguments ); args.mode = "hide"; return this.effect.call( this, args ); } }; } )( $.fn.hide ), toggle: ( function( orig ) { return function( option ) { if ( standardAnimationOption( option ) || typeof option === "boolean" ) { return orig.apply( this, arguments ); } else { var args = _normalizeArguments.apply( this, arguments ); args.mode = "toggle"; return this.effect.call( this, args ); } }; } )( $.fn.toggle ), cssUnit: function( key ) { var style = this.css( key ), val = []; $.each( [ "em", "px", "%", "pt" ], function( i, unit ) { if ( style.indexOf( unit ) > 0 ) { val = [ parseFloat( style ), unit ]; } } ); return val; }, cssClip: function( clipObj ) { if ( clipObj ) { return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " + clipObj.bottom + "px " + clipObj.left + "px)" ); } return parseClip( this.css( "clip" ), this ); }, transfer: function( options, done ) { var element = $( this ), target = $( options.to ), targetFixed = target.css( "position" ) === "fixed", body = $( "body" ), fixTop = targetFixed ? body.scrollTop() : 0, fixLeft = targetFixed ? body.scrollLeft() : 0, endPosition = target.offset(), animation = { top: endPosition.top - fixTop, left: endPosition.left - fixLeft, height: target.innerHeight(), width: target.innerWidth() }, startPosition = element.offset(), transfer = $( "
    " ) .appendTo( "body" ) .addClass( options.className ) .css( { top: startPosition.top - fixTop, left: startPosition.left - fixLeft, height: element.innerHeight(), width: element.innerWidth(), position: targetFixed ? "fixed" : "absolute" } ) .animate( animation, options.duration, options.easing, function() { transfer.remove(); if ( $.isFunction( done ) ) { done(); } } ); } } ); function parseClip( str, element ) { var outerWidth = element.outerWidth(), outerHeight = element.outerHeight(), clipRegex = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/, values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ]; return { top: parseFloat( values[ 1 ] ) || 0, right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ), bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ), left: parseFloat( values[ 4 ] ) || 0 }; } $.fx.step.clip = function( fx ) { if ( !fx.clipInit ) { fx.start = $( fx.elem ).cssClip(); if ( typeof fx.end === "string" ) { fx.end = parseClip( fx.end, fx.elem ); } fx.clipInit = true; } $( fx.elem ).cssClip( { top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top, right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right, bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom, left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left } ); }; } )(); /******************************************************************************/ /*********************************** EASING ***********************************/ /******************************************************************************/ ( function() { // Based on easing equations from Robert Penner (http://www.robertpenner.com/easing) var baseEasings = {}; $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { baseEasings[ name ] = function( p ) { return Math.pow( p, i + 2 ); }; } ); $.extend( baseEasings, { Sine: function( p ) { return 1 - Math.cos( p * Math.PI / 2 ); }, Circ: function( p ) { return 1 - Math.sqrt( 1 - p * p ); }, Elastic: function( p ) { return p === 0 || p === 1 ? p : -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 ); }, Back: function( p ) { return p * p * ( 3 * p - 2 ); }, Bounce: function( p ) { var pow2, bounce = 4; while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); } } ); $.each( baseEasings, function( name, easeIn ) { $.easing[ "easeIn" + name ] = easeIn; $.easing[ "easeOut" + name ] = function( p ) { return 1 - easeIn( 1 - p ); }; $.easing[ "easeInOut" + name ] = function( p ) { return p < 0.5 ? easeIn( p * 2 ) / 2 : 1 - easeIn( p * -2 + 2 ) / 2; }; } ); } )(); var effect = $.effects; /*! * jQuery UI Effects Blind 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Blind Effect //>>group: Effects //>>description: Blinds the element. //>>docs: http://api.jqueryui.com/blind-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectBlind = $.effects.define( "blind", "hide", function( options, done ) { var map = { up: [ "bottom", "top" ], vertical: [ "bottom", "top" ], down: [ "top", "bottom" ], left: [ "right", "left" ], horizontal: [ "right", "left" ], right: [ "left", "right" ] }, element = $( this ), direction = options.direction || "up", start = element.cssClip(), animate = { clip: $.extend( {}, start ) }, placeholder = $.effects.createPlaceholder( element ); animate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ]; if ( options.mode === "show" ) { element.cssClip( animate.clip ); if ( placeholder ) { placeholder.css( $.effects.clipToBox( animate ) ); } animate.clip = start; } if ( placeholder ) { placeholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing ); } element.animate( animate, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Bounce 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Bounce Effect //>>group: Effects //>>description: Bounces an element horizontally or vertically n times. //>>docs: http://api.jqueryui.com/bounce-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectBounce = $.effects.define( "bounce", function( options, done ) { var upAnim, downAnim, refValue, element = $( this ), // Defaults: mode = options.mode, hide = mode === "hide", show = mode === "show", direction = options.direction || "up", distance = options.distance, times = options.times || 5, // Number of internal animations anims = times * 2 + ( show || hide ? 1 : 0 ), speed = options.duration / anims, easing = options.easing, // Utility: ref = ( direction === "up" || direction === "down" ) ? "top" : "left", motion = ( direction === "up" || direction === "left" ), i = 0, queuelen = element.queue().length; $.effects.createPlaceholder( element ); refValue = element.css( ref ); // Default distance for the BIGGEST bounce is the outer Distance / 3 if ( !distance ) { distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; } if ( show ) { downAnim = { opacity: 1 }; downAnim[ ref ] = refValue; // If we are showing, force opacity 0 and set the initial position // then do the "first" animation element .css( "opacity", 0 ) .css( ref, motion ? -distance * 2 : distance * 2 ) .animate( downAnim, speed, easing ); } // Start at the smallest distance if we are hiding if ( hide ) { distance = distance / Math.pow( 2, times - 1 ); } downAnim = {}; downAnim[ ref ] = refValue; // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here for ( ; i < times; i++ ) { upAnim = {}; upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; element .animate( upAnim, speed, easing ) .animate( downAnim, speed, easing ); distance = hide ? distance * 2 : distance / 2; } // Last Bounce when Hiding if ( hide ) { upAnim = { opacity: 0 }; upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; element.animate( upAnim, speed, easing ); } element.queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); /*! * jQuery UI Effects Clip 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Clip Effect //>>group: Effects //>>description: Clips the element on and off like an old TV. //>>docs: http://api.jqueryui.com/clip-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectClip = $.effects.define( "clip", "hide", function( options, done ) { var start, animate = {}, element = $( this ), direction = options.direction || "vertical", both = direction === "both", horizontal = both || direction === "horizontal", vertical = both || direction === "vertical"; start = element.cssClip(); animate.clip = { top: vertical ? ( start.bottom - start.top ) / 2 : start.top, right: horizontal ? ( start.right - start.left ) / 2 : start.right, bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, left: horizontal ? ( start.right - start.left ) / 2 : start.left }; $.effects.createPlaceholder( element ); if ( options.mode === "show" ) { element.cssClip( animate.clip ); animate.clip = start; } element.animate( animate, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Drop 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Drop Effect //>>group: Effects //>>description: Moves an element in one direction and hides it at the same time. //>>docs: http://api.jqueryui.com/drop-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectDrop = $.effects.define( "drop", "hide", function( options, done ) { var distance, element = $( this ), mode = options.mode, show = mode === "show", direction = options.direction || "left", ref = ( direction === "up" || direction === "down" ) ? "top" : "left", motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", animation = { opacity: 0 }; $.effects.createPlaceholder( element ); distance = options.distance || element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; animation[ ref ] = motion + distance; if ( show ) { element.css( animation ); animation[ ref ] = oppositeMotion + distance; animation.opacity = 1; } // Animate element.animate( animation, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Explode 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Explode Effect //>>group: Effects // jscs:disable maximumLineLength //>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. // jscs:enable maximumLineLength //>>docs: http://api.jqueryui.com/explode-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectExplode = $.effects.define( "explode", "hide", function( options, done ) { var i, j, left, top, mx, my, rows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3, cells = rows, element = $( this ), mode = options.mode, show = mode === "show", // Show and then visibility:hidden the element before calculating offset offset = element.show().css( "visibility", "hidden" ).offset(), // Width and height of a piece width = Math.ceil( element.outerWidth() / cells ), height = Math.ceil( element.outerHeight() / rows ), pieces = []; // Children animate complete: function childComplete() { pieces.push( this ); if ( pieces.length === rows * cells ) { animComplete(); } } // Clone the element for each row and cell. for ( i = 0; i < rows; i++ ) { // ===> top = offset.top + i * height; my = i - ( rows - 1 ) / 2; for ( j = 0; j < cells; j++ ) { // ||| left = offset.left + j * width; mx = j - ( cells - 1 ) / 2; // Create a clone of the now hidden main element that will be absolute positioned // within a wrapper div off the -left and -top equal to size of our pieces element .clone() .appendTo( "body" ) .wrap( "
    " ) .css( { position: "absolute", visibility: "visible", left: -j * width, top: -i * height } ) // Select the wrapper - make it overflow: hidden and absolute positioned based on // where the original was located +left and +top equal to the size of pieces .parent() .addClass( "ui-effects-explode" ) .css( { position: "absolute", overflow: "hidden", width: width, height: height, left: left + ( show ? mx * width : 0 ), top: top + ( show ? my * height : 0 ), opacity: show ? 0 : 1 } ) .animate( { left: left + ( show ? 0 : mx * width ), top: top + ( show ? 0 : my * height ), opacity: show ? 1 : 0 }, options.duration || 500, options.easing, childComplete ); } } function animComplete() { element.css( { visibility: "visible" } ); $( pieces ).remove(); done(); } } ); /*! * jQuery UI Effects Fade 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Fade Effect //>>group: Effects //>>description: Fades the element. //>>docs: http://api.jqueryui.com/fade-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectFade = $.effects.define( "fade", "toggle", function( options, done ) { var show = options.mode === "show"; $( this ) .css( "opacity", show ? 0 : 1 ) .animate( { opacity: show ? 1 : 0 }, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Fold 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Fold Effect //>>group: Effects //>>description: Folds an element first horizontally and then vertically. //>>docs: http://api.jqueryui.com/fold-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectFold = $.effects.define( "fold", "hide", function( options, done ) { // Create element var element = $( this ), mode = options.mode, show = mode === "show", hide = mode === "hide", size = options.size || 15, percent = /([0-9]+)%/.exec( size ), horizFirst = !!options.horizFirst, ref = horizFirst ? [ "right", "bottom" ] : [ "bottom", "right" ], duration = options.duration / 2, placeholder = $.effects.createPlaceholder( element ), start = element.cssClip(), animation1 = { clip: $.extend( {}, start ) }, animation2 = { clip: $.extend( {}, start ) }, distance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ], queuelen = element.queue().length; if ( percent ) { size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; } animation1.clip[ ref[ 0 ] ] = size; animation2.clip[ ref[ 0 ] ] = size; animation2.clip[ ref[ 1 ] ] = 0; if ( show ) { element.cssClip( animation2.clip ); if ( placeholder ) { placeholder.css( $.effects.clipToBox( animation2 ) ); } animation2.clip = start; } // Animate element .queue( function( next ) { if ( placeholder ) { placeholder .animate( $.effects.clipToBox( animation1 ), duration, options.easing ) .animate( $.effects.clipToBox( animation2 ), duration, options.easing ); } next(); } ) .animate( animation1, duration, options.easing ) .animate( animation2, duration, options.easing ) .queue( done ); $.effects.unshift( element, queuelen, 4 ); } ); /*! * jQuery UI Effects Highlight 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Highlight Effect //>>group: Effects //>>description: Highlights the background of an element in a defined color for a custom duration. //>>docs: http://api.jqueryui.com/highlight-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectHighlight = $.effects.define( "highlight", "show", function( options, done ) { var element = $( this ), animation = { backgroundColor: element.css( "backgroundColor" ) }; if ( options.mode === "hide" ) { animation.opacity = 0; } $.effects.saveStyle( element ); element .css( { backgroundImage: "none", backgroundColor: options.color || "#ffff99" } ) .animate( animation, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Size 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Size Effect //>>group: Effects //>>description: Resize an element to a specified width and height. //>>docs: http://api.jqueryui.com/size-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectSize = $.effects.define( "size", function( options, done ) { // Create element var baseline, factor, temp, element = $( this ), // Copy for children cProps = [ "fontSize" ], vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ], hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ], // Set options mode = options.mode, restore = mode !== "effect", scale = options.scale || "both", origin = options.origin || [ "middle", "center" ], position = element.css( "position" ), pos = element.position(), original = $.effects.scaledDimensions( element ), from = options.from || original, to = options.to || $.effects.scaledDimensions( element, 0 ); $.effects.createPlaceholder( element ); if ( mode === "show" ) { temp = from; from = to; to = temp; } // Set scaling factor factor = { from: { y: from.height / original.height, x: from.width / original.width }, to: { y: to.height / original.height, x: to.width / original.width } }; // Scale the css box if ( scale === "box" || scale === "both" ) { // Vertical props scaling if ( factor.from.y !== factor.to.y ) { from = $.effects.setTransition( element, vProps, factor.from.y, from ); to = $.effects.setTransition( element, vProps, factor.to.y, to ); } // Horizontal props scaling if ( factor.from.x !== factor.to.x ) { from = $.effects.setTransition( element, hProps, factor.from.x, from ); to = $.effects.setTransition( element, hProps, factor.to.x, to ); } } // Scale the content if ( scale === "content" || scale === "both" ) { // Vertical props scaling if ( factor.from.y !== factor.to.y ) { from = $.effects.setTransition( element, cProps, factor.from.y, from ); to = $.effects.setTransition( element, cProps, factor.to.y, to ); } } // Adjust the position properties based on the provided origin points if ( origin ) { baseline = $.effects.getBaseline( origin, original ); from.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top; from.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left; to.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top; to.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left; } element.css( from ); // Animate the children if desired if ( scale === "content" || scale === "both" ) { vProps = vProps.concat( [ "marginTop", "marginBottom" ] ).concat( cProps ); hProps = hProps.concat( [ "marginLeft", "marginRight" ] ); // Only animate children with width attributes specified // TODO: is this right? should we include anything with css width specified as well element.find( "*[width]" ).each( function() { var child = $( this ), childOriginal = $.effects.scaledDimensions( child ), childFrom = { height: childOriginal.height * factor.from.y, width: childOriginal.width * factor.from.x, outerHeight: childOriginal.outerHeight * factor.from.y, outerWidth: childOriginal.outerWidth * factor.from.x }, childTo = { height: childOriginal.height * factor.to.y, width: childOriginal.width * factor.to.x, outerHeight: childOriginal.height * factor.to.y, outerWidth: childOriginal.width * factor.to.x }; // Vertical props scaling if ( factor.from.y !== factor.to.y ) { childFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom ); childTo = $.effects.setTransition( child, vProps, factor.to.y, childTo ); } // Horizontal props scaling if ( factor.from.x !== factor.to.x ) { childFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom ); childTo = $.effects.setTransition( child, hProps, factor.to.x, childTo ); } if ( restore ) { $.effects.saveStyle( child ); } // Animate children child.css( childFrom ); child.animate( childTo, options.duration, options.easing, function() { // Restore children if ( restore ) { $.effects.restoreStyle( child ); } } ); } ); } // Animate element.animate( to, { queue: false, duration: options.duration, easing: options.easing, complete: function() { var offset = element.offset(); if ( to.opacity === 0 ) { element.css( "opacity", from.opacity ); } if ( !restore ) { element .css( "position", position === "static" ? "relative" : position ) .offset( offset ); // Need to save style here so that automatic style restoration // doesn't restore to the original styles from before the animation. $.effects.saveStyle( element ); } done(); } } ); } ); /*! * jQuery UI Effects Scale 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Scale Effect //>>group: Effects //>>description: Grows or shrinks an element and its content. //>>docs: http://api.jqueryui.com/scale-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectScale = $.effects.define( "scale", function( options, done ) { // Create element var el = $( this ), mode = options.mode, percent = parseInt( options.percent, 10 ) || ( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== "effect" ? 0 : 100 ) ), newOptions = $.extend( true, { from: $.effects.scaledDimensions( el ), to: $.effects.scaledDimensions( el, percent, options.direction || "both" ), origin: options.origin || [ "middle", "center" ] }, options ); // Fade option to support puff if ( options.fade ) { newOptions.from.opacity = 1; newOptions.to.opacity = 0; } $.effects.effect.size.call( this, newOptions, done ); } ); /*! * jQuery UI Effects Puff 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Puff Effect //>>group: Effects //>>description: Creates a puff effect by scaling the element up and hiding it at the same time. //>>docs: http://api.jqueryui.com/puff-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectPuff = $.effects.define( "puff", "hide", function( options, done ) { var newOptions = $.extend( true, {}, options, { fade: true, percent: parseInt( options.percent, 10 ) || 150 } ); $.effects.effect.scale.call( this, newOptions, done ); } ); /*! * jQuery UI Effects Pulsate 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Pulsate Effect //>>group: Effects //>>description: Pulsates an element n times by changing the opacity to zero and back. //>>docs: http://api.jqueryui.com/pulsate-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectPulsate = $.effects.define( "pulsate", "show", function( options, done ) { var element = $( this ), mode = options.mode, show = mode === "show", hide = mode === "hide", showhide = show || hide, // Showing or hiding leaves off the "last" animation anims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), duration = options.duration / anims, animateTo = 0, i = 1, queuelen = element.queue().length; if ( show || !element.is( ":visible" ) ) { element.css( "opacity", 0 ).show(); animateTo = 1; } // Anims - 1 opacity "toggles" for ( ; i < anims; i++ ) { element.animate( { opacity: animateTo }, duration, options.easing ); animateTo = 1 - animateTo; } element.animate( { opacity: animateTo }, duration, options.easing ); element.queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); /*! * jQuery UI Effects Shake 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Shake Effect //>>group: Effects //>>description: Shakes an element horizontally or vertically n times. //>>docs: http://api.jqueryui.com/shake-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectShake = $.effects.define( "shake", function( options, done ) { var i = 1, element = $( this ), direction = options.direction || "left", distance = options.distance || 20, times = options.times || 3, anims = times * 2 + 1, speed = Math.round( options.duration / anims ), ref = ( direction === "up" || direction === "down" ) ? "top" : "left", positiveMotion = ( direction === "up" || direction === "left" ), animation = {}, animation1 = {}, animation2 = {}, queuelen = element.queue().length; $.effects.createPlaceholder( element ); // Animation animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; // Animate element.animate( animation, speed, options.easing ); // Shakes for ( ; i < times; i++ ) { element .animate( animation1, speed, options.easing ) .animate( animation2, speed, options.easing ); } element .animate( animation1, speed, options.easing ) .animate( animation, speed / 2, options.easing ) .queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); /*! * jQuery UI Effects Slide 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Slide Effect //>>group: Effects //>>description: Slides an element in and out of the viewport. //>>docs: http://api.jqueryui.com/slide-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectSlide = $.effects.define( "slide", "show", function( options, done ) { var startClip, startRef, element = $( this ), map = { up: [ "bottom", "top" ], down: [ "top", "bottom" ], left: [ "right", "left" ], right: [ "left", "right" ] }, mode = options.mode, direction = options.direction || "left", ref = ( direction === "up" || direction === "down" ) ? "top" : "left", positiveMotion = ( direction === "up" || direction === "left" ), distance = options.distance || element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ), animation = {}; $.effects.createPlaceholder( element ); startClip = element.cssClip(); startRef = element.position()[ ref ]; // Define hide animation animation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef; animation.clip = element.cssClip(); animation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ]; // Reverse the animation if we're showing if ( mode === "show" ) { element.cssClip( animation.clip ); element.css( ref, animation[ ref ] ); animation.clip = startClip; animation[ ref ] = startRef; } // Actually animate element.animate( animation, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Transfer 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Transfer Effect //>>group: Effects //>>description: Displays a transfer effect from one element to another. //>>docs: http://api.jqueryui.com/transfer-effect/ //>>demos: http://jqueryui.com/effect/ var effect; if ( $.uiBackCompat !== false ) { effect = $.effects.define( "transfer", function( options, done ) { $( this ).transfer( options, done ); } ); } var effectsEffectTransfer = effect; /*! * jQuery UI Focusable 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: :focusable Selector //>>group: Core //>>description: Selects elements which can be focused. //>>docs: http://api.jqueryui.com/focusable-selector/ // Selectors $.ui.focusable = function( element, hasTabindex ) { var map, mapName, img, focusableIfVisible, fieldset, nodeName = element.nodeName.toLowerCase(); if ( "area" === nodeName ) { map = element.parentNode; mapName = map.name; if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { return false; } img = $( "img[usemap='#" + mapName + "']" ); return img.length > 0 && img.is( ":visible" ); } if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) { focusableIfVisible = !element.disabled; if ( focusableIfVisible ) { // Form controls within a disabled fieldset are disabled. // However, controls within the fieldset's legend do not get disabled. // Since controls generally aren't placed inside legends, we skip // this portion of the check. fieldset = $( element ).closest( "fieldset" )[ 0 ]; if ( fieldset ) { focusableIfVisible = !fieldset.disabled; } } } else if ( "a" === nodeName ) { focusableIfVisible = element.href || hasTabindex; } else { focusableIfVisible = hasTabindex; } return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) ); }; // Support: IE 8 only // IE 8 doesn't resolve inherit to visible/hidden for computed values function visible( element ) { var visibility = element.css( "visibility" ); while ( visibility === "inherit" ) { element = element.parent(); visibility = element.css( "visibility" ); } return visibility !== "hidden"; } $.extend( $.expr[ ":" ], { focusable: function( element ) { return $.ui.focusable( element, $.attr( element, "tabindex" ) != null ); } } ); var focusable = $.ui.focusable; // Support: IE8 Only // IE8 does not support the form attribute and when it is supplied. It overwrites the form prop // with a string, so we need to find the proper form. var form = $.fn.form = function() { return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form ); }; /*! * jQuery UI Form Reset Mixin 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Form Reset Mixin //>>group: Core //>>description: Refresh input widgets when their form is reset //>>docs: http://api.jqueryui.com/form-reset-mixin/ var formResetMixin = $.ui.formResetMixin = { _formResetHandler: function() { var form = $( this ); // Wait for the form reset to actually happen before refreshing setTimeout( function() { var instances = form.data( "ui-form-reset-instances" ); $.each( instances, function() { this.refresh(); } ); } ); }, _bindFormResetHandler: function() { this.form = this.element.form(); if ( !this.form.length ) { return; } var instances = this.form.data( "ui-form-reset-instances" ) || []; if ( !instances.length ) { // We don't use _on() here because we use a single event handler per form this.form.on( "reset.ui-form-reset", this._formResetHandler ); } instances.push( this ); this.form.data( "ui-form-reset-instances", instances ); }, _unbindFormResetHandler: function() { if ( !this.form.length ) { return; } var instances = this.form.data( "ui-form-reset-instances" ); instances.splice( $.inArray( this, instances ), 1 ); if ( instances.length ) { this.form.data( "ui-form-reset-instances", instances ); } else { this.form .removeData( "ui-form-reset-instances" ) .off( "reset.ui-form-reset" ); } } }; /*! * jQuery UI Support for jQuery core 1.7.x 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * */ //>>label: jQuery 1.7 Support //>>group: Core //>>description: Support version 1.7.x of jQuery core // Support: jQuery 1.7 only // Not a great way to check versions, but since we only support 1.7+ and only // need to detect <1.8, this is a simple check that should suffice. Checking // for "1.7." would be a bit safer, but the version string is 1.7, not 1.7.0 // and we'll never reach 1.70.0 (if we do, we certainly won't be supporting // 1.7 anymore). See #11197 for why we're not using feature detection. if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) { // Setters for .innerWidth(), .innerHeight(), .outerWidth(), .outerHeight() // Unlike jQuery Core 1.8+, these only support numeric values to set the // dimensions in pixels $.each( [ "Width", "Height" ], function( i, name ) { var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], type = name.toLowerCase(), orig = { innerWidth: $.fn.innerWidth, innerHeight: $.fn.innerHeight, outerWidth: $.fn.outerWidth, outerHeight: $.fn.outerHeight }; function reduce( elem, size, border, margin ) { $.each( side, function() { size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; if ( border ) { size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; } if ( margin ) { size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; } } ); return size; } $.fn[ "inner" + name ] = function( size ) { if ( size === undefined ) { return orig[ "inner" + name ].call( this ); } return this.each( function() { $( this ).css( type, reduce( this, size ) + "px" ); } ); }; $.fn[ "outer" + name ] = function( size, margin ) { if ( typeof size !== "number" ) { return orig[ "outer" + name ].call( this, size ); } return this.each( function() { $( this ).css( type, reduce( this, size, true, margin ) + "px" ); } ); }; } ); $.fn.addBack = function( selector ) { return this.add( selector == null ? this.prevObject : this.prevObject.filter( selector ) ); }; } ; /*! * jQuery UI Keycode 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Keycode //>>group: Core //>>description: Provide keycodes as keynames //>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/ var keycode = $.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }; // Internal use only var escapeSelector = $.ui.escapeSelector = ( function() { var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; return function( selector ) { return selector.replace( selectorEscape, "\\$1" ); }; } )(); /*! * jQuery UI Labels 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: labels //>>group: Core //>>description: Find all the labels associated with a given input //>>docs: http://api.jqueryui.com/labels/ var labels = $.fn.labels = function() { var ancestor, selector, id, labels, ancestors; // Check control.labels first if ( this[ 0 ].labels && this[ 0 ].labels.length ) { return this.pushStack( this[ 0 ].labels ); } // Support: IE <= 11, FF <= 37, Android <= 2.3 only // Above browsers do not support control.labels. Everything below is to support them // as well as document fragments. control.labels does not work on document fragments labels = this.eq( 0 ).parents( "label" ); // Look for the label based on the id id = this.attr( "id" ); if ( id ) { // We don't search against the document in case the element // is disconnected from the DOM ancestor = this.eq( 0 ).parents().last(); // Get a full set of top level ancestors ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() ); // Create a selector for the label based on the id selector = "label[for='" + $.ui.escapeSelector( id ) + "']"; labels = labels.add( ancestors.find( selector ).addBack( selector ) ); } // Return whatever we have found for labels return this.pushStack( labels ); }; /*! * jQuery UI Scroll Parent 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: scrollParent //>>group: Core //>>description: Get the closest ancestor element that is scrollable. //>>docs: http://api.jqueryui.com/scrollParent/ var scrollParent = $.fn.scrollParent = function( includeHidden ) { var position = this.css( "position" ), excludeStaticParent = position === "absolute", overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, scrollParent = this.parents().filter( function() { var parent = $( this ); if ( excludeStaticParent && parent.css( "position" ) === "static" ) { return false; } return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); } ).eq( 0 ); return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; }; /*! * jQuery UI Tabbable 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: :tabbable Selector //>>group: Core //>>description: Selects elements which can be tabbed to. //>>docs: http://api.jqueryui.com/tabbable-selector/ var tabbable = $.extend( $.expr[ ":" ], { tabbable: function( element ) { var tabIndex = $.attr( element, "tabindex" ), hasTabindex = tabIndex != null; return ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex ); } } ); /*! * jQuery UI Unique ID 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: uniqueId //>>group: Core //>>description: Functions to generate and remove uniqueId's //>>docs: http://api.jqueryui.com/uniqueId/ var uniqueId = $.fn.extend( { uniqueId: ( function() { var uuid = 0; return function() { return this.each( function() { if ( !this.id ) { this.id = "ui-id-" + ( ++uuid ); } } ); }; } )(), removeUniqueId: function() { return this.each( function() { if ( /^ui-id-\d+$/.test( this.id ) ) { $( this ).removeAttr( "id" ); } } ); } } ); /*! * jQuery UI Accordion 1.12.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Accordion //>>group: Widgets // jscs:disable maximumLineLength //>>description: Displays collapsible content panels for presenting information in a limited amount of space. // jscs:enable maximumLineLength //>>docs: http://api.jqueryui.com/accordion/ //>>demos: http://jqueryui.com/accordion/ //>>css.structure: ../../themes/base/core.css //>>css.structure: ../../themes/base/accordion.css //>>css.theme: ../../themes/base/theme.css var widgetsAccordion = $.widget( "ui.accordion", { version: "1.12.1", options: { active: 0, animate: {}, classes: { "ui-accordion-header": "ui-corner-top", "ui-accordion-header-collapsed": "ui-corner-all", "ui-accordion-content": "ui-corner-bottom" }, collapsible: false, event: "click", header: "> li > :first-child, > :not(li):even", heightStyle: "auto", icons: { activeHeader: "ui-icon-triangle-1-s", header: "ui-icon-triangle-1-e" }, // Callbacks activate: null, beforeActivate: null }, hideProps: { borderTopWidth: "hide", borderBottomWidth: "hide", paddingTop: "hide", paddingBottom: "hide", height: "hide" }, showProps: { borderTopWidth: "show", borderBottomWidth: "show", paddingTop: "show", paddingBottom: "show", height: "show" }, _create: function() { var options = this.options; this.prevShow = this.prevHide = $(); this._addClass( "ui-accordion", "ui-widget ui-helper-reset" ); this.element.attr( "role", "tablist" ); // Don't allow collapsible: false and active: false / null if ( !options.collapsible && ( options.active === false || options.active == null ) ) { options.active = 0; } this._processPanels(); // handle negative values if ( options.active < 0 ) { options.active += this.headers.length; } this._refresh(); }, _getCreateEventData: function() { return { header: this.active, panel: !this.active.length ? $() : this.active.next() }; }, _createIcons: function() { var icon, children, icons = this.options.icons; if ( icons ) { icon = $( "" ); this._addClass( icon, "ui-accordion-header-icon", "ui-icon " + icons.header ); icon.prependTo( this.headers ); children = this.active.children( ".ui-accordion-header-icon" ); this._removeClass( children, icons.header ) ._addClass( children, null, icons.activeHeader ) ._addClass( this.headers, "ui-accordion-icons" ); } }, _destroyIcons: function() { this._removeClass( this.headers, "ui-accordion-icons" ); this.headers.children( ".ui-accordion-header-icon" ).remove(); }, _destroy: function() { var contents; // Clean up main element this.element.removeAttr( "role" ); // Clean up headers this.headers .removeAttr( "role aria-expanded aria-selected aria-controls tabIndex" ) .removeUniqueId(); this._destroyIcons(); // Clean up content panels contents = this.headers.next() .css( "display", "" ) .removeAttr( "role aria-hidden aria-labelledby" ) .removeUniqueId(); if ( this.options.heightStyle !== "content" ) { contents.css( "height", "" ); } }, _setOption: function( key, value ) { if ( key === "active" ) { // _activate() will handle invalid values and update this.options this._activate( value ); return; } if ( key === "event" ) { if ( this.options.event ) { this._off( this.headers, this.options.event ); } this._setupEvents( value ); } this._super( key, value ); // Setting collapsible: false while collapsed; open first panel if ( key === "collapsible" && !value && this.options.active === false ) { this._activate( 0 ); } if ( key === "icons" ) { this._destroyIcons(); if ( value ) { this._createIcons(); } } }, _setOptionDisabled: function( value ) { this._super( value ); this.element.attr( "aria-disabled", value ); // Support: IE8 Only // #5332 / #6059 - opacity doesn't cascade to positioned elements in IE // so we need to add the disabled class to the headers and panels this._toggleClass( null, "ui-state-disabled", !!value ); this._toggleClass( this.headers.add( this.headers.next() ), null, "ui-state-disabled", !!value ); }, _keydown: function( event ) { if ( event.altKey || event.ctrlKey ) { return; } var keyCode = $.ui.keyCode, length = this.headers.length, currentIndex = this.headers.index( event.target ), toFocus = false; switch ( event.keyCode ) { case keyCode.RIGHT: case keyCode.DOWN: toFocus = this.headers[ ( currentIndex + 1 ) % length ]; break; case keyCode.LEFT: case keyCode.UP: toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; break; case keyCode.SPACE: case keyCode.ENTER: this._eventHandler( event ); break; case keyCode.HOME: toFocus = this.headers[ 0 ]; break; case keyCode.END: toFocus = this.headers[ length - 1 ]; break; } if ( toFocus ) { $( event.target ).attr( "tabIndex", -1 ); $( toFocus ).attr( "tabIndex", 0 ); $( toFocus ).trigger( "focus" ); event.preventDefault(); } }, _panelKeyDown: function( event ) { if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { $( event.currentTarget ).prev().trigger( "focus" ); } }, refresh: function() { var options = this.options; this._processPanels(); // Was collapsed or no panel if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) { options.active = false; this.active = $(); // active false only when collapsible is true } else if ( options.active === false ) { this._activate( 0 ); // was active, but active panel is gone } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { // all remaining panel are disabled if ( this.headers.length === this.headers.find( ".ui-state-disabled" ).length ) { options.active = false; this.active = $(); // activate previous panel } else { this._activate( Math.max( 0, options.active - 1 ) ); } // was active, active panel still exists } else { // make sure active index is correct options.active = this.headers.index( this.active ); } this._destroyIcons(); this._refresh(); }, _processPanels: function() { var prevHeaders = this.headers, prevPanels = this.panels; this.headers = this.element.find( this.options.header ); this._addClass( this.headers, "ui-accordion-header ui-accordion-header-collapsed", "ui-state-default" ); this.panels = this.headers.next().filter( ":not(.ui-accordion-content-active)" ).hide(); this._addClass( this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content" ); // Avoid memory leaks (#10056) if ( prevPanels ) { this._off( prevHeaders.not( this.headers ) ); this._off( prevPanels.not( this.panels ) ); } }, _refresh: function() { var maxHeight, options = this.options, heightStyle = options.heightStyle, parent = this.element.parent(); this.active = this._findActive( options.active ); this._addClass( this.active, "ui-accordion-header-active", "ui-state-active" ) ._removeClass( this.active, "ui-accordion-header-collapsed" ); this._addClass( this.active.next(), "ui-accordion-content-active" ); this.active.next().show(); this.headers .attr( "role", "tab" ) .each( function() { var header = $( this ), headerId = header.uniqueId().attr( "id" ), panel = header.next(), panelId = panel.uniqueId().attr( "id" ); header.attr( "aria-controls", panelId ); panel.attr( "aria-labelledby", headerId ); } ) .next() .attr( "role", "tabpanel" ); this.headers .not( this.active ) .attr( { "aria-selected": "false", "aria-expanded": "false", tabIndex: -1 } ) .next() .attr( { "aria-hidden": "true" } ) .hide(); // Make sure at least one header is in the tab order if ( !this.active.length ) { this.headers.eq( 0 ).attr( "tabIndex", 0 ); } else { this.active.attr( { "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 } ) .next() .attr( { "aria-hidden": "false" } ); } this._createIcons(); this._setupEvents( options.event ); if ( heightStyle === "fill" ) { maxHeight = parent.height(); this.element.siblings( ":visible" ).each( function() { var elem = $( this ), position = elem.css( "position" ); if ( position === "absolute" || position === "fixed" ) { return; } maxHeight -= elem.outerHeight( true ); } ); this.headers.each( function() { maxHeight -= $( this ).outerHeight( true ); } ); this.headers.next() .each( function() { $( this ).height( Math.max( 0, maxHeight - $( this ).innerHeight() + $( this ).height() ) ); } ) .css( "overflow", "auto" ); } else if ( heightStyle === "auto" ) { maxHeight = 0; this.headers.next() .each( function() { var isVisible = $( this ).is( ":visible" ); if ( !isVisible ) { $( this ).show(); } maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); if ( !isVisible ) { $( this ).hide(); } } ) .height( maxHeight ); } }, _activate: function( index ) { var active = this._findActive( index )[ 0 ]; // Trying to activate the already active panel if ( active === this.active[ 0 ] ) { return; } // Trying to collapse, simulate a click on the currently active header active = active || this.active[ 0 ]; this._eventHandler( { target: active, currentTarget: active, preventDefault: $.noop } ); }, _findActive: function( selector ) { return typeof selector === "number" ? this.headers.eq( selector ) : $(); }, _setupEvents: function( event ) { var events = { keydown: "_keydown" }; if ( event ) { $.each( event.split( " " ), function( index, eventName ) { events[ eventName ] = "_eventHandler"; } ); } this._off( this.headers.add( this.headers.next() ) ); this._on( this.headers, events ); this._on( this.headers.next(), { keydown: "_panelKeyDown" } ); this._hoverable( this.headers ); this._focusable( this.headers ); }, _eventHandler: function( event ) { var activeChildren, clickedChildren, options = this.options, active = this.active, clicked = $( event.currentTarget ), clickedIsActive = clicked[ 0 ] === active[ 0 ], collapsing = clickedIsActive && options.collapsible, toShow = collapsing ? $() : clicked.next(), toHide = active.next(), eventData = { oldHeader: active, oldPanel: toHide, newHeader: collapsing ? $() : clicked, newPanel: toShow }; event.preventDefault(); if ( // click on active header, but not collapsible ( clickedIsActive && !options.collapsible ) || // allow canceling activation ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { return; } options.active = collapsing ? false : this.headers.index( clicked ); // When the call to ._toggle() comes after the class changes // it causes a very odd bug in IE 8 (see #6720) this.active = clickedIsActive ? $() : clicked; this._toggle( eventData ); // Switch classes // corner classes on the previously active header stay after the animation this._removeClass( active, "ui-accordion-header-active", "ui-state-active" ); if ( options.icons ) { activeChildren = active.children( ".ui-accordion-header-icon" ); this._removeClass( activeChildren, null, options.icons.activeHeader ) ._addClass( activeChildren, null, options.icons.header ); } if ( !clickedIsActive ) { this._removeClass( clicked, "ui-accordion-header-collapsed" ) ._addClass( clicked, "ui-accordion-header-active", "ui-state-active" ); if ( options.icons ) { clickedChildren = clicked.children( ".ui-accordion-header-icon" ); this._removeClass( clickedChildren, null, options.icons.header ) ._addClass( clickedChildren, null, options.icons.activeHeader ); } this._addClass( clicked.next(), "ui-accordion-content-active" ); } }, _toggle: function( data ) { var toShow = data.newPanel, toHide = this.prevShow.length ? this.prevShow : data.oldPanel; // Handle activating a panel during the animation for another activation this.prevShow.add( this.prevHide ).stop( true, true ); this.prevShow = toShow; this.prevHide = toHide; if ( this.options.animate ) { this._animate( toShow, toHide, data ); } else { toHide.hide(); toShow.show(); this._toggleComplete( data ); } toHide.attr( { "aria-hidden": "true" } ); toHide.prev().attr( { "aria-selected": "false", "aria-expanded": "false" } ); // if we're switching panels, remove the old header from the tab order // if we're opening from collapsed state, remove the previous header from the tab order // if we're collapsing, then keep the collapsing header in the tab order if ( toShow.length && toHide.length ) { toHide.prev().attr( { "tabIndex": -1, "aria-expanded": "false" } ); } else if ( toShow.length ) { this.headers.filter( function() { return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; } ) .attr( "tabIndex", -1 ); } toShow .attr( "aria-hidden", "false" ) .prev() .attr( { "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 } ); }, _animate: function( toShow, toHide, data ) { var total, easing, duration, that = this, adjust = 0, boxSizing = toShow.css( "box-sizing" ), down = toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) ), animate = this.options.animate || {}, options = down && animate.down || animate, complete = function() { that._toggleComplete( data ); }; if ( typeof options === "number" ) { duration = options; } if ( typeof options === "string" ) { easing = options; } // fall back from options to animation in case of partial down settings easing = easing || options.easing || animate.easing; duration = duration || options.duration || animate.duration; if ( !toHide.length ) { return toShow.animate( this.showProps, duration, easing, complete ); } if ( !toShow.length ) { return toHide.animate( this.hideProps, duration, easing, complete ); } total = toShow.show().outerHeight(); toHide.animate( this.hideProps, { duration: duration, easing: easing, step: function( now, fx ) { fx.now = Math.round( now ); } } ); toShow .hide() .animate( this.showProps, { duration: duration, easing: easing, complete: complete, step: function( now, fx ) { fx.now = Math.round( now ); if ( fx.prop !== "height" ) { if ( boxSizing === "content-box" ) { adjust += fx.now; } } else if ( that.options.heightStyle !== "content" ) { fx.now = Math.round( total - toHide.outerHeight() - adjust ); adjust = 0; } } } ); }, _toggleComplete: function( data ) { var toHide = data.oldPanel, prev = toHide.prev(); this._removeClass( toHide, "ui-accordion-content-active" ); this._removeClass( prev, "ui-accordion-header-active" ) ._addClass( prev, "ui-accordion-header-collapsed" ); // Work around for rendering bug in IE (#5421) if ( toHide.length ) { toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; } this._trigger( "activate", null, data ); } } ); var safeActiveElement = $.ui.safeActiveElement = function( document ) { var activeElement; // Support: IE 9 only // IE9 throws an "Unspecified error" accessing document.activeElement from an