├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── Papers ├── Database Concurrency │ └── readme.md ├── Database Security │ └── readme.md ├── Performance-analysis │ └── log.hv └── readme.md ├── README.md ├── dependencies.t ├── documentation └── Project_report_final_format.pdf ├── presentation └── dbms_project_ppt.pdf ├── requirements.txt ├── src ├── Booking.php ├── aboutus.html ├── cancel.php ├── css │ ├── main.css │ └── util.css ├── default │ ├── index.php │ ├── test_sockets.php │ └── testmysql.php ├── enquiry.html ├── enquiry.php ├── fonts │ ├── Linearicons-Free-v1.0.0 │ │ ├── WebFont │ │ │ ├── Linearicons-Free.eot │ │ │ ├── Linearicons-Free.svg │ │ │ ├── Linearicons-Free.ttf │ │ │ ├── Linearicons-Free.woff │ │ │ └── Linearicons-Free.woff2 │ │ └── icon-font.min.css │ ├── font-awesome-4.7.0 │ │ ├── HELP-US-OUT.txt │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── screen-reader.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ ├── iconic │ │ ├── css │ │ │ ├── material-design-iconic-font.css │ │ │ └── material-design-iconic-font.min.css │ │ └── fonts │ │ │ ├── Material-Design-Iconic-Font.eot │ │ │ ├── Material-Design-Iconic-Font.svg │ │ │ ├── Material-Design-Iconic-Font.ttf │ │ │ ├── Material-Design-Iconic-Font.woff │ │ │ └── Material-Design-Iconic-Font.woff2 │ └── poppins │ │ ├── Poppins-Black.ttf │ │ ├── Poppins-BlackItalic.ttf │ │ ├── Poppins-Bold.ttf │ │ ├── Poppins-BoldItalic.ttf │ │ ├── Poppins-ExtraBold.ttf │ │ ├── Poppins-ExtraBoldItalic.ttf │ │ ├── Poppins-ExtraLight.ttf │ │ ├── Poppins-ExtraLightItalic.ttf │ │ ├── Poppins-Italic.ttf │ │ ├── Poppins-Light.ttf │ │ ├── Poppins-LightItalic.ttf │ │ ├── Poppins-Medium.ttf │ │ ├── Poppins-MediumItalic.ttf │ │ ├── Poppins-Regular.ttf │ │ ├── Poppins-SemiBold.ttf │ │ ├── Poppins-SemiBoldItalic.ttf │ │ ├── Poppins-Thin.ttf │ │ └── Poppins-ThinItalic.ttf ├── front.html ├── images │ ├── bg-01.png │ └── icons │ │ ├── favicon.ico │ │ └── map-marker.png ├── js │ ├── main.js │ └── map-custom.js ├── login.php ├── robots.txt ├── signup.php └── vendor │ ├── animate │ └── animate.css │ ├── animsition │ ├── css │ │ ├── animsition.css │ │ └── animsition.min.css │ └── js │ │ ├── animsition.js │ │ └── animsition.min.js │ ├── bootstrap │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── popper.js │ │ ├── popper.min.js │ │ └── tooltip.js │ ├── countdowntime │ └── countdowntime.js │ ├── css-hamburgers │ ├── hamburgers.css │ └── hamburgers.min.css │ ├── daterangepicker │ ├── daterangepicker.css │ ├── daterangepicker.js │ ├── moment.js │ └── moment.min.js │ ├── jquery │ └── jquery-3.2.1.min.js │ ├── perfect-scrollbar │ ├── perfect-scrollbar.css │ └── perfect-scrollbar.min.js │ └── select2 │ ├── select2.css │ ├── select2.js │ ├── select2.min.css │ └── select2.min.js └── travis.yml /.gitignore: -------------------------------------------------------------------------------- 1 | _site/ 2 | .sass-cache/ 3 | .jekyll-cache/ 4 | .jekyll-metadata 5 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 AnkitJishan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Papers/Database Concurrency/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Papers/Database Security/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Papers/Performance-analysis/log.hv: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Papers/readme.md: -------------------------------------------------------------------------------- 1 | Also note: 2 | 3 | - Project paper available at https://github.com/jishanshaikh4/MSDP-Paper/ 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Metro System Database Project 2 | [![Hits-of-Code](https://hitsofcode.com/github/jishanshaikh4/metro-system-database-project)](https://hitsofcode.com/github/jishanshaikh4/metro-system-database-project/view) 3 | 4 | 5 | # Sections 6 | [Abstract](https://github.com/AnkitJishan/Metro-System-Database-Project#abstract) | [Keywords](https://github.com/AnkitJishan/Metro-System-Database-Project#keywords) | [Preface](https://github.com/AnkitJishan/Metro-System-Database-Project#preface) | [Contributions](https://github.com/AnkitJishan/Metro-System-Database-Project#contributions) | [License](https://github.com/AnkitJishan/Metro-System-Database-Project#license) 7 | 8 | ## Abstract 9 | > A Metro System is one which helps us to maintain an organisational data regarding a metro system. Since it is very difficult to maintain a record of data items and this information manually or in file system, we are creating a database for the complete management of resources and tasks of metro system. A Metro System database is one which is used for operational ease in place of traditional file system or Excel worksheets for information storage and retrieval with customized user queries implemented in SQL and is a fully functionally required software prototype with proper user interface and some random software engineering standards. Organising database for data collection and retrieval helps us to maintain data easily. We design it with the help of Entity-Relationship diagram, UML diagrams, data flow diagrams, and using tables & proper User interfaces. It consists of several steps to be followed and many webpages are to be maintained simultaneously. It is a working prototype of a database schema which can further be enhanced. The usage of standard webpages in HTML, CSS, JavaScript, PHP helps us to take project online without much modifications. 10 | 11 | > For main functionalities, we have to maintain many records such as train numbers, train route, departure time, arrival time, train type, fare, managements, departments, customers, etc. When we want to travel we reserve seat (Additional feature for Metro System but it is not compulsory for all passengers to reserve seats for them, they can still check in at last moment in case of availability in first in first serve order), for this we have to fill the reservation form which includes entries such as train number, train name, departure time, arrival time, route, train type. So, we should gather all the information regarding all these. 12 | 13 | ### Keywords: 14 | 15 | **Metro System, Railway, Database, Prototype, Software Engineering Principles, User Interface** 16 | 17 | ## Preface 18 | This project titled Metro System Database Project is one of the academic projects we (as a team of 2 members) take in DataBase Management System Laboratory course (4th Sem) of Bachelor in Technology (Computer Science & Engineering), here at Maulana Azad National Institue of Technology, Bhopal. This project was started in End of February 2018 and merely ends at the submission date by April 13. (Work in off days only) 19 | 20 | The complete report is organized into small chapters, sections, subsections, appendices, etc. Snapshots and screenshots are taken for clear idea of what’s going. We’ve tried to cover all information regarding project to be assemble in report but still SRS document, Plan document, Design document, Preliminary RMMM plan does not find their place in the report. Further they can be merged into report in future as per requirements. 21 | 22 | The foundations of project started in January 18, when new session starts and topic of project decided. Some points such that project management, scalability, risk analysis, version control, aims, etc. were discussed primarily. The major aims set at beginning of this project was- 23 | 24 | - To gain the technical knowledge and experience and practical "hands" behind databases, their management systems, and other technologies. 25 | - A clear idea of working title; incorporating traditional accent but with some modern software engineering principles, practices, and standards. 26 | - Improving team skills under fully supervision (Project management including risk analysis and soft-skills). 27 | - To present a final result implementation, its analysis, and evaluation with proper documentation/project report. 28 | 29 | Althrought the aims were set primarily and broadly, we as a team collaborate on multiple issues and try as much as we can to be stick on aims along with healthy communication from supervisors. The documentation is neither a fully formal documentation nor a research based report, but it inherits many attributes of both in it. Here are some highlights of the project - 30 | 31 | - A single document having combination of documentation, project report, reference manual, tutorial, user manual for the output 32 | - Practical implementation of DataBase System used for Metro system 33 | - Parallel implementation of DataBase in many DataBases platforms, here we used MySQL workbench and LibreOffice Base as major two platforms using SQL as major query language 34 | - Incorporation of Software Engineering elements such as principles, practices, life-cycle, etc. 35 | 36 | Most of the collected contents are properly referenced*. If any of work is not, please feel free to notify us OR directly pull requests. 37 | 38 | Everyone has authority to analyse, evaluate, and collaborate on this project. We will welcome all enthusiasts. This project is licensed under Creative Commons ShareAlike Non-distribution 3.0 International licence 2018. From software engineering practice we know Software prototype maintainance never ends as no software built is perfect, so the modifications to the first version/release of this project is completely moved to github. Althrough we are saying output as a software, it might not be a fully functional SOFTWARE. We can say it as a working prototype of software which can further be enhanced in form of a software. 39 | 40 | It was very memorable to work on such a project with such a team and such a mentor. No work is perfect, remember to write your views to us! Healthy critism, suggestions, feedback, and even your opinions are always welcome to enhance this project either at github. It will be good if it includes its internal responsive filter search, thats why it is in To-do list. 41 | 42 | ## Contributions 43 | We are willing to accept contributions from open source developers. What you have to do is simply fork this repository, made changes to it, and leave a pull request. Anybody can contribute to this repository following industry ethics. 44 | 45 | ## License 46 | This project is licensed under MIT Licence. You can not use, re-modify, distribute it for commercial purposes. Read more about licence [here](https://en.wikipedia.org/wiki/MIT_License). 47 | 48 | Copyright 2017-Present. Ankit Chouhan & Jishan Shaikh. 49 | 50 | MIT License 51 | 52 | https://en.wikipedia.org/wiki/MIT_License 53 | 54 | ![](https://upload.wikimedia.org/wikipedia/commons/f/f8/License_icon-mit-88x31-2.svg) 55 | -------------------------------------------------------------------------------- /dependencies.t: -------------------------------------------------------------------------------- 1 | js -enable 2 | ts -optional 3 | -------------------------------------------------------------------------------- /documentation/Project_report_final_format.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/documentation/Project_report_final_format.pdf -------------------------------------------------------------------------------- /presentation/dbms_project_ppt.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/presentation/dbms_project_ppt.pdf -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # Basic requirements 2 | 3 | - HTML5 (NOT EXPLICIT) 4 | - CSS3 (NOT EXPLICIT) 5 | - Jquery (NOT EXPLICIT) 6 | - JavaScript (Should be enabled) 7 | - MySQL Database (NECESSARY AND CUSTOMIZED) 8 | -------------------------------------------------------------------------------- /src/Booking.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Login V13 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | "; 46 | 47 | 48 | /* 49 | $sql= "CREATE TABLE Reservations(ReservationID INT(3) PRIMARY KEY, PassengerName VARCHAR(30), SeatsReserved INT(3), FromStation VARCHAR(30), 50 | ToStation VARCHAR(30), TrainName VARCHAR(30))"; 51 | */ 52 | 53 | 54 | /* 55 | INSERT INTO TABLE Reservations(ReservationID, PassengerName, SeatsReserved, FromStation, ToStation, TrainName) 56 | VALUES (1, 'Neeraj', 3, 'Bhopal', 'Goa', 'Bikini_Express' 57 | */ 58 | 59 | /* 60 | if(mysqli_query($conn, $sql)){ 61 | echo "Data entered in Reservations enteredd successffully"; 62 | }else{ 63 | echo "Errorr inserting data in table table : ".mysqli_error($conn); 64 | } 65 | $sql1 = "SELECT ReservationID FROM Reservations WHERE PassengerName='Subhash'"; 66 | 67 | $result = mysqli_query($conn, $sql1); 68 | 69 | while($row=mysqli_fetch_assoc($result)){ 70 | echo "ID ".$row['ReservationID']; 71 | } 72 | */ 73 | 74 | if(isset($_POST['submit'])){ 75 | if( isset($_POST['from']) && isset($_POST['to']) && isset($_POST['Train']) &&isset($_POST['PassengerName'])){ 76 | $from=$_POST['from']; 77 | $to=$_POST['to']; 78 | $PassengerName=$_POST['PassengerName']; 79 | $train=$_POST['Train']; 80 | $registerID=rand(1, 999); 81 | $PassengerId=$_SESSION["PassengerId"]; 82 | $sql = "INSERT INTO Reservations(ReservationID,PassengerId, PassengerName, FromStation, ToStation, TrainName) 83 | VALUES ('{$registerID}', '{$PassengerId}', '{$PassengerName}', '{$from}', '{$to}', '{$train}')"; 84 | /* 85 | if(mysqli_query($conn, $sql)){ 86 | echo "Data entered into table successfully"; 87 | }else{ 88 | echo "Error in inserting: ".mysqli_error($conn); 89 | } 90 | 91 | */ 92 | 93 | if(mysqli_query($conn, $sql)) 94 | { 95 | ?> 96 | 97 | 0) 101 | { 102 | while($row = mysqli_fetch_assoc($result)) 103 | { 104 | $NewSeats = $row["SeatsRemaining"]; 105 | } 106 | if($NewSeats>0){ 107 | $NewSeats = $NewSeats-1; 108 | 109 | $sql = "UPDATE Train SET SeatsRemaining='$NewSeats' WHERE TrainName='$train'"; 110 | $set = mysqli_query($conn, $sql); 111 | 112 | } 113 | } 114 | } 115 | } 116 | } 117 | 118 | /* 119 | $sql = "SELECT ReservationID FROM Reservations"; 120 | $result = mysqli_query($conn, $sql); 121 | 122 | while($row=mysqli_fetch_assoc($result)){ 123 | echo "ID ".$row['ReservationID']; 124 | } 125 | 126 | */ 127 | 128 | /* 129 | $sql = "SELECT ReservationID, PassengerName, FromStation,ToStation, TrainName FROM Reservations"; 130 | $result = mysqli_query($conn, $sql); 131 | 132 | echo " 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | "; 147 | 148 | 149 | 150 | 151 | if (mysqli_num_rows($result) > 0) { 152 | // output data of each row 153 | while($row = mysqli_fetch_assoc($result)) { 154 | 155 | echo ""; 156 | 157 | echo ""; 160 | 161 | echo ""; 162 | 163 | echo ""; 164 | 165 | echo ""; 166 | 167 | echo ""; 168 | 169 | } 170 | } else { 171 | echo "0 results"; 172 | } 173 | 174 | echo "
ReservationID PassengerNameFromStationToStationTrainName
" . $row['ReservationID'] . ""; 158 | 159 | echo "" . $row['PassengerName'] . "" . $row['FromStation'] . "" . $row['ToStation'] . "" . $row['TrainName'] . "
"; 175 | */ 176 | 177 | ?> 178 | 179 | 180 |
181 |
182 |
183 |
184 | 185 |
186 | 187 | 188 | Registration 189 | 190 | 191 |
192 | From 193 | 201 | 202 |
203 | 204 |
205 | To 206 | 214 | 215 |
216 | 217 |
218 | Train 219 | 239 |
240 | 241 |
242 | Enter your Name 243 | 244 | 245 |
246 | 247 | 248 |
249 |
250 | 251 | 259 |
260 | 261 | 262 |
263 | 264 |
265 |
266 |
267 | 270 |
271 | 272 |
273 |
274 |
275 | 278 |
279 | 280 | 281 | Cancel 282 | 283 | 284 |
285 | 286 |
287 |
288 |
289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | -------------------------------------------------------------------------------- /src/aboutus.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | About-Us 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 | 38 |
39 |
40 | 41 | About-Us 42 | 43 |
44 | 45 |

Ankit Chouhan

46 | 47 |
73 |
74 |
75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /src/cancel.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Login V13 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 54 | 55 | 0) 60 | { 61 | while($row = mysqli_fetch_assoc($result)) 62 | { 63 | $NewSeats = $row["SeatsRemaining"]; 64 | } 65 | 66 | $NewSeats = $NewSeats+1; 67 | 68 | $sql = "UPDATE Train SET SeatsRemaining='$NewSeats' WHERE TrainName='$train'"; 69 | $set = mysqli_query($conn, $sql); 70 | } 71 | else 72 | { 73 | ?> 74 | 75 | 84 | 85 | 86 |
87 |
88 |
89 |
90 | 91 |
92 | 93 | 94 | Booking Cancellation 95 | 96 | 97 | 98 |
99 | Reservation Id 100 | 101 | 102 |
103 | 104 |
105 | Train Name 106 | 126 |
127 | 128 | 129 |
130 |
131 | 132 | 140 |
141 | 142 | 143 |
144 | 145 |
146 |
147 |
148 | 151 |
152 | 153 | 154 | Cancel 155 | 156 | 157 |
158 | 159 |
160 |
161 |
162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | -------------------------------------------------------------------------------- /src/css/main.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | /*////////////////////////////////////////////////////////////////// 6 | [ FONT ]*/ 7 | 8 | @font-face { 9 | font-family: Poppins-Regular; 10 | src: url('../fonts/poppins/Poppins-Regular.ttf'); 11 | } 12 | 13 | @font-face { 14 | font-family: Poppins-Medium; 15 | src: url('../fonts/poppins/Poppins-Medium.ttf'); 16 | } 17 | 18 | @font-face { 19 | font-family: Poppins-Bold; 20 | src: url('../fonts/poppins/Poppins-Bold.ttf'); 21 | } 22 | 23 | @font-face { 24 | font-family: Poppins-SemiBold; 25 | src: url('../fonts/poppins/Poppins-SemiBold.ttf'); 26 | } 27 | 28 | /*////////////////////////////////////////////////////////////////// 29 | [ RESTYLE TAG ]*/ 30 | 31 | * { 32 | margin: 0px; 33 | padding: 0px; 34 | box-sizing: border-box; 35 | } 36 | 37 | body, html { 38 | height: 100%; 39 | font-family: Poppins-Regular, sans-serif; 40 | } 41 | 42 | /*---------------------------------------------*/ 43 | a { 44 | font-family: Poppins-Regular; 45 | font-size: 14px; 46 | line-height: 1.7; 47 | color: #666666; 48 | margin: 0px; 49 | transition: all 0.4s; 50 | -webkit-transition: all 0.4s; 51 | -o-transition: all 0.4s; 52 | -moz-transition: all 0.4s; 53 | } 54 | 55 | a:focus { 56 | outline: none !important; 57 | } 58 | 59 | a:hover { 60 | text-decoration: none; 61 | } 62 | 63 | /*---------------------------------------------*/ 64 | h1,h2,h3,h4,h5,h6 { 65 | margin: 0px; 66 | } 67 | 68 | p { 69 | font-family: Poppins-Regular; 70 | font-size: 14px; 71 | line-height: 1.7; 72 | color: #666666; 73 | margin: 0px; 74 | } 75 | 76 | ul, li { 77 | margin: 0px; 78 | list-style-type: none; 79 | } 80 | 81 | 82 | /*---------------------------------------------*/ 83 | input { 84 | outline: none; 85 | border: none; 86 | } 87 | 88 | input[type="number"] { 89 | -moz-appearance: textfield; 90 | appearance: none; 91 | -webkit-appearance: none; 92 | } 93 | 94 | input[type="number"]::-webkit-outer-spin-button, 95 | input[type="number"]::-webkit-inner-spin-button { 96 | -webkit-appearance: none; 97 | } 98 | 99 | textarea { 100 | outline: none; 101 | border: none; 102 | } 103 | 104 | textarea:focus, input:focus { 105 | border-color: transparent !important; 106 | } 107 | 108 | input:focus::-webkit-input-placeholder { color:transparent; } 109 | input:focus:-moz-placeholder { color:transparent; } 110 | input:focus::-moz-placeholder { color:transparent; } 111 | input:focus:-ms-input-placeholder { color:transparent; } 112 | 113 | textarea:focus::-webkit-input-placeholder { color:transparent; } 114 | textarea:focus:-moz-placeholder { color:transparent; } 115 | textarea:focus::-moz-placeholder { color:transparent; } 116 | textarea:focus:-ms-input-placeholder { color:transparent; } 117 | 118 | input::-webkit-input-placeholder {color: #cccccc;} 119 | input:-moz-placeholder {color: #cccccc;} 120 | input::-moz-placeholder {color: #cccccc;} 121 | input:-ms-input-placeholder {color: #cccccc;} 122 | 123 | textarea::-webkit-input-placeholder {color: #cccccc;} 124 | textarea:-moz-placeholder {color: #cccccc;} 125 | textarea::-moz-placeholder {color: #cccccc;} 126 | textarea:-ms-input-placeholder {color: #cccccc;} 127 | 128 | /*---------------------------------------------*/ 129 | button { 130 | outline: none !important; 131 | border: none; 132 | background: transparent; 133 | } 134 | 135 | button:hover { 136 | cursor: pointer; 137 | } 138 | 139 | iframe { 140 | border: none !important; 141 | } 142 | 143 | 144 | /*////////////////////////////////////////////////////////////////// 145 | [ Utility ]*/ 146 | .txt1 { 147 | font-family: Poppins-Regular; 148 | font-size: 15px; 149 | color: #999999; 150 | line-height: 1.4; 151 | } 152 | 153 | .txt2 { 154 | font-family: Poppins-Regular; 155 | font-size: 15px; 156 | color: #666666; 157 | line-height: 1.4; 158 | } 159 | 160 | .txt3 { 161 | font-family: Poppins-Regular; 162 | font-size: 16px; 163 | color: #666666; 164 | line-height: 1.4; 165 | } 166 | 167 | .hov1:hover { 168 | color: #c87ef0; 169 | } 170 | 171 | 172 | 173 | /*////////////////////////////////////////////////////////////////// 174 | [ login ]*/ 175 | .limiter { 176 | width: 100%; 177 | margin: 0 auto; 178 | } 179 | 180 | .container-login100 { 181 | width: 100%; 182 | display: -webkit-box; 183 | display: -webkit-flex; 184 | display: -moz-box; 185 | display: -ms-flexbox; 186 | display: flex; 187 | flex-wrap: wrap; 188 | align-items: stretch; 189 | flex-wrap: wrap; 190 | } 191 | 192 | 193 | .wrap-login100 { 194 | width: 520px; 195 | min-height: 100vh; 196 | background: #fff; 197 | border-radius: 2px; 198 | position: relative; 199 | } 200 | 201 | /*------------------------------------------------------------------ 202 | [ Login100 more ]*/ 203 | .login100-more { 204 | background-repeat: no-repeat; 205 | background-position: center; 206 | background-size: cover; 207 | width: calc(100% - 520px); 208 | position: relative; 209 | z-index: 1; 210 | } 211 | 212 | .login100-more::before { 213 | content: ""; 214 | display: block; 215 | position: absolute; 216 | z-index: -1; 217 | width: 100%; 218 | height: 100%; 219 | top: 0; 220 | left: 0; 221 | background: #e8519e; 222 | background: -webkit-linear-gradient(bottom, #e8519e, #c77ff2); 223 | background: -o-linear-gradient(bottom, #e8519e, #c77ff2); 224 | background: -moz-linear-gradient(bottom, #e8519e, #c77ff2); 225 | background: linear-gradient(bottom, #e8519e, #c77ff2); 226 | opacity: 0.8; 227 | } 228 | 229 | /*================================================================== 230 | [ Form ]*/ 231 | 232 | .login100-form { 233 | width: 100%; 234 | display: -webkit-box; 235 | display: -webkit-flex; 236 | display: -moz-box; 237 | display: -ms-flexbox; 238 | display: flex; 239 | flex-wrap: wrap; 240 | justify-content: space-between; 241 | } 242 | 243 | .login100-form-title { 244 | display: block; 245 | width: 100%; 246 | font-family: Poppins-Bold; 247 | font-size: 39px; 248 | color: #333333; 249 | line-height: 1.2; 250 | text-align: left; 251 | } 252 | 253 | 254 | 255 | /*------------------------------------------------------------------ 256 | [ Input ]*/ 257 | 258 | .wrap-input100 { 259 | width: 100%; 260 | position: relative; 261 | border-bottom: 2px solid #dbdbdb; 262 | margin-bottom: 45px; 263 | } 264 | 265 | .label-input100 { 266 | font-family: Poppins-SemiBold; 267 | font-size: 18px; 268 | color: #999999; 269 | line-height: 1.2; 270 | padding-left: 2px; 271 | } 272 | 273 | .input100 { 274 | display: block; 275 | width: 100%; 276 | height: 50px; 277 | background: transparent; 278 | font-family: Poppins-Regular; 279 | font-size: 22px; 280 | color: #555555; 281 | line-height: 1.2; 282 | padding: 0 2px; 283 | } 284 | 285 | .focus-input100 { 286 | position: absolute; 287 | display: block; 288 | width: 100%; 289 | height: 100%; 290 | top: 0; 291 | left: 0; 292 | pointer-events: none; 293 | } 294 | 295 | .focus-input100::before { 296 | content: ""; 297 | display: block; 298 | position: absolute; 299 | bottom: -2px; 300 | left: 0; 301 | width: 0; 302 | height: 2px; 303 | 304 | -webkit-transition: all 0.4s; 305 | -o-transition: all 0.4s; 306 | -moz-transition: all 0.4s; 307 | transition: all 0.4s; 308 | 309 | background: #d5007d; 310 | background: -webkit-linear-gradient(45deg, #d5007d, #e53935); 311 | background: -o-linear-gradient(45deg, #d5007d, #e53935); 312 | background: -moz-linear-gradient(45deg, #d5007d, #e53935); 313 | background: linear-gradient(45deg, #d5007d, #e53935); 314 | } 315 | 316 | 317 | .input100:focus + .focus-input100::before { 318 | width: 100%; 319 | } 320 | 321 | .has-val.input100 + .focus-input100::before { 322 | width: 100%; 323 | } 324 | 325 | /*================================================================== 326 | [ Restyle Checkbox ]*/ 327 | 328 | .input-checkbox100 { 329 | display: none; 330 | } 331 | 332 | .label-checkbox100 { 333 | margin: 0; 334 | 335 | display: block; 336 | position: relative; 337 | padding-left: 26px; 338 | cursor: pointer; 339 | } 340 | 341 | .label-checkbox100::before { 342 | content: "\f00c"; 343 | font-family: FontAwesome; 344 | font-size: 13px; 345 | color: transparent; 346 | 347 | display: -webkit-box; 348 | display: -webkit-flex; 349 | display: -moz-box; 350 | display: -ms-flexbox; 351 | display: flex; 352 | justify-content: center; 353 | align-items: center; 354 | position: absolute; 355 | width: 16px; 356 | height: 16px; 357 | border-radius: 2px; 358 | background: #e6e6e6; 359 | left: 0; 360 | top: 50%; 361 | -webkit-transform: translateY(-50%); 362 | -moz-transform: translateY(-50%); 363 | -ms-transform: translateY(-50%); 364 | -o-transform: translateY(-50%); 365 | transform: translateY(-50%); 366 | } 367 | 368 | .input-checkbox100:checked + .label-checkbox100::before { 369 | color: #c87ef0; 370 | } 371 | 372 | /*------------------------------------------------------------------ 373 | [ Button ]*/ 374 | .container-login100-form-btn { 375 | width: 100%; 376 | display: -webkit-box; 377 | display: -webkit-flex; 378 | display: -moz-box; 379 | display: -ms-flexbox; 380 | display: flex; 381 | flex-wrap: wrap; 382 | justify-content: space-between; 383 | align-items: center; 384 | } 385 | 386 | .wrap-login100-form-btn { 387 | display: block; 388 | position: relative; 389 | z-index: 1; 390 | border-radius: 25px; 391 | overflow: hidden; 392 | } 393 | 394 | .login100-form-bgbtn { 395 | position: absolute; 396 | z-index: -1; 397 | width: 100%; 398 | height: 300%; 399 | background: #e8519e; 400 | background: -webkit-linear-gradient(top, #e8519e, #c77ff2, #e8519e, #c77ff2); 401 | background: -o-linear-gradient(top, #e8519e, #c77ff2, #e8519e, #c77ff2); 402 | background: -moz-linear-gradient(top, #e8519e, #c77ff2, #e8519e, #c77ff2); 403 | background: linear-gradient(top, #e8519e, #c77ff2, #e8519e, #c77ff2); 404 | bottom: -100%; 405 | left: 0; 406 | 407 | -webkit-transition: all 0.4s; 408 | -o-transition: all 0.4s; 409 | -moz-transition: all 0.4s; 410 | transition: all 0.4s; 411 | } 412 | 413 | .login100-form-btn { 414 | display: -webkit-box; 415 | display: -webkit-flex; 416 | display: -moz-box; 417 | display: -ms-flexbox; 418 | display: flex; 419 | justify-content: center; 420 | align-items: center; 421 | padding: 0 20px; 422 | min-width: 244px; 423 | height: 50px; 424 | 425 | font-family: Poppins-Medium; 426 | font-size: 16px; 427 | color: #fff; 428 | line-height: 1.2; 429 | } 430 | 431 | .wrap-login100-form-btn:hover .login100-form-bgbtn { 432 | bottom: 0; 433 | } 434 | 435 | 436 | /*------------------------------------------------------------------ 437 | [ Alert validate ]*/ 438 | 439 | .validate-input { 440 | position: relative; 441 | } 442 | 443 | .alert-validate::before { 444 | content: attr(data-validate); 445 | position: absolute; 446 | max-width: 70%; 447 | background-color: #fff; 448 | border: 1px solid #c80000; 449 | border-radius: 2px; 450 | padding: 4px 30px 4px 10px; 451 | bottom: calc((100% - 25px) / 2); 452 | -webkit-transform: translateY(50%); 453 | -moz-transform: translateY(50%); 454 | -ms-transform: translateY(50%); 455 | -o-transform: translateY(50%); 456 | transform: translateY(50%); 457 | right: 2px; 458 | pointer-events: none; 459 | 460 | font-family: Poppins-Medium; 461 | color: #c80000; 462 | font-size: 14px; 463 | line-height: 1.4; 464 | text-align: left; 465 | 466 | visibility: hidden; 467 | opacity: 0; 468 | 469 | -webkit-transition: opacity 0.4s; 470 | -o-transition: opacity 0.4s; 471 | -moz-transition: opacity 0.4s; 472 | transition: opacity 0.4s; 473 | } 474 | 475 | .alert-validate::after { 476 | content: "\f06a"; 477 | font-family: FontAwesome; 478 | display: block; 479 | position: absolute; 480 | color: #c80000; 481 | font-size: 18px; 482 | bottom: calc((100% - 25px) / 2); 483 | -webkit-transform: translateY(50%); 484 | -moz-transform: translateY(50%); 485 | -ms-transform: translateY(50%); 486 | -o-transform: translateY(50%); 487 | transform: translateY(50%); 488 | right: 8px; 489 | } 490 | 491 | .alert-validate:hover:before { 492 | visibility: visible; 493 | opacity: 1; 494 | } 495 | 496 | @media (max-width: 992px) { 497 | .alert-validate::before { 498 | visibility: visible; 499 | opacity: 1; 500 | } 501 | } 502 | 503 | .true-validate::after { 504 | content: "\f26b"; 505 | font-family: Material-Design-Iconic-Font; 506 | font-size: 22px; 507 | color: #00ad5f; 508 | display: -webkit-box; 509 | display: -webkit-flex; 510 | display: -moz-box; 511 | display: -ms-flexbox; 512 | display: flex; 513 | align-items: center; 514 | justify-content: center; 515 | position: absolute; 516 | bottom: calc((100% - 25px) / 2); 517 | -webkit-transform: translateY(50%); 518 | -moz-transform: translateY(50%); 519 | -ms-transform: translateY(50%); 520 | -o-transform: translateY(50%); 521 | transform: translateY(50%); 522 | right: 5px; 523 | } 524 | 525 | /*////////////////////////////////////////////////////////////////// 526 | [ Responsive ]*/ 527 | 528 | @media (max-width: 576px) { 529 | .wrap-login100 { 530 | padding-left: 15px; 531 | padding-right: 15px; 532 | } 533 | } -------------------------------------------------------------------------------- /src/default/test_sockets.php: -------------------------------------------------------------------------------- 1 | Error socket IPv4: ".$errormsg."

\n" ; 9 | } 10 | else { 11 | echo "

Socket IPv4 supported

\n" ; 12 | socket_close($socket); 13 | } 14 | 15 | //Create socket IPv6 16 | $socket = socket_create(AF_INET6, SOCK_STREAM, SOL_TCP) ; 17 | if($socket === false) { 18 | $errorcode = socket_last_error() ; 19 | $errormsg = socket_strerror($errorcode); 20 | echo "

Error socket IPv6: ".$errormsg."

\n" ; 21 | } 22 | else { 23 | echo "

Socket IPv6 supported

\n" ; 24 | socket_close($socket); 25 | } 26 | } 27 | else echo "

Extension PHP sockets not loaded

\n" ; 28 | ?> 29 | -------------------------------------------------------------------------------- /src/default/testmysql.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/default/testmysql.php -------------------------------------------------------------------------------- /src/enquiry.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Login V13 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 | 38 |
39 |
40 | 41 | Enquiry 42 | 43 | 44 |
45 | Choose Train 46 | 66 |
67 | 68 | 69 |
70 |
71 | 72 | 80 |
81 | 82 | 83 |
84 | 85 |
86 |
87 |
88 | 91 |
92 | 93 | 94 | Go Back 95 | 96 | 97 |
98 |
99 |
100 |
101 |
102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /src/enquiry.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Login V13 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
39 |
40 |
41 | 42 |
43 | 44 | Details 45 | 46 |
47 | 67 | 68 | 69 | 70 | TrainId 71 | . 72 | 73 | Train Name 74 | 75 | From 76 | 77 | To 78 | 79 | STime 80 | 81 | ETime 82 | 83 | Seats 84 | 85 | "; 86 | 87 | if (mysqli_num_rows($result) > 0) { 88 | // output data of each row 89 | while($row = mysqli_fetch_assoc($result)) { 90 | 91 | echo ""; 92 | 93 | echo "" . $row['TrainId'] . ""; 94 | 95 | echo "" . $row['TrainName'] . ""; 96 | 97 | echo "" . $row['FromStation'] . ""; 98 | 99 | echo "" . $row['ToStation'] . ""; 100 | 101 | echo "" . $row['Starttime'] . ""; 102 | 103 | echo "" . $row['EndTime'] . ""; 104 | 105 | echo "" . $row['SeatsRemaining'] . ""; 106 | 107 | echo ""; 108 | 109 | } 110 | } else { 111 | echo "0 results"; 112 | } 113 | 114 | echo ""; 115 | } 116 | } 117 | 118 | ?> 119 |
120 | 121 |
122 |
123 |
124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.eot -------------------------------------------------------------------------------- /src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.ttf -------------------------------------------------------------------------------- /src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff -------------------------------------------------------------------------------- /src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff2 -------------------------------------------------------------------------------- /src/fonts/Linearicons-Free-v1.0.0/icon-font.min.css: -------------------------------------------------------------------------------- 1 | /* 2 | Linearicons Free v1.0.0 - https://linearicons.com/free 3 | By Perxis - https://perxis.com 4 | (c) 2014-2015 Perxis.com 5 | License: https://linearicons.com/free/license 6 | */ 7 | @font-face{font-family:Linearicons-Free;src:url(https://cdn.linearicons.com/free/1.0.0/Linearicons-Free.eot);src:url(https://cdn.linearicons.com/free/1.0.0/Linearicons-Free.eot?#iefix) format('embedded-opentype'),url(https://cdn.linearicons.com/free/1.0.0/Linearicons-Free.woff2) format('woff2'),url(https://cdn.linearicons.com/free/1.0.0/Linearicons-Free.ttf) format('truetype'),url(https://cdn.linearicons.com/free/1.0.0/Linearicons-Free.woff) format('woff'),url(https://cdn.linearicons.com/free/1.0.0/Linearicons-Free.svg#Linearicons-Free) format('svg');font-weight:400;font-style:normal}.lnr{font-family:Linearicons-Free;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}.lnr-home:before{content:"\e800"}.lnr-apartment:before{content:"\e801"}.lnr-pencil:before{content:"\e802"}.lnr-magic-wand:before{content:"\e803"}.lnr-drop:before{content:"\e804"}.lnr-lighter:before{content:"\e805"}.lnr-poop:before{content:"\e806"}.lnr-sun:before{content:"\e807"}.lnr-moon:before{content:"\e808"}.lnr-cloud:before{content:"\e809"}.lnr-cloud-upload:before{content:"\e80a"}.lnr-cloud-download:before{content:"\e80b"}.lnr-cloud-sync:before{content:"\e80c"}.lnr-cloud-check:before{content:"\e80d"}.lnr-database:before{content:"\e80e"}.lnr-lock:before{content:"\e80f"}.lnr-cog:before{content:"\e810"}.lnr-trash:before{content:"\e811"}.lnr-dice:before{content:"\e812"}.lnr-heart:before{content:"\e813"}.lnr-star:before{content:"\e814"}.lnr-star-half:before{content:"\e815"}.lnr-star-empty:before{content:"\e816"}.lnr-flag:before{content:"\e817"}.lnr-envelope:before{content:"\e818"}.lnr-paperclip:before{content:"\e819"}.lnr-inbox:before{content:"\e81a"}.lnr-eye:before{content:"\e81b"}.lnr-printer:before{content:"\e81c"}.lnr-file-empty:before{content:"\e81d"}.lnr-file-add:before{content:"\e81e"}.lnr-enter:before{content:"\e81f"}.lnr-exit:before{content:"\e820"}.lnr-graduation-hat:before{content:"\e821"}.lnr-license:before{content:"\e822"}.lnr-music-note:before{content:"\e823"}.lnr-film-play:before{content:"\e824"}.lnr-camera-video:before{content:"\e825"}.lnr-camera:before{content:"\e826"}.lnr-picture:before{content:"\e827"}.lnr-book:before{content:"\e828"}.lnr-bookmark:before{content:"\e829"}.lnr-user:before{content:"\e82a"}.lnr-users:before{content:"\e82b"}.lnr-shirt:before{content:"\e82c"}.lnr-store:before{content:"\e82d"}.lnr-cart:before{content:"\e82e"}.lnr-tag:before{content:"\e82f"}.lnr-phone-handset:before{content:"\e830"}.lnr-phone:before{content:"\e831"}.lnr-pushpin:before{content:"\e832"}.lnr-map-marker:before{content:"\e833"}.lnr-map:before{content:"\e834"}.lnr-location:before{content:"\e835"}.lnr-calendar-full:before{content:"\e836"}.lnr-keyboard:before{content:"\e837"}.lnr-spell-check:before{content:"\e838"}.lnr-screen:before{content:"\e839"}.lnr-smartphone:before{content:"\e83a"}.lnr-tablet:before{content:"\e83b"}.lnr-laptop:before{content:"\e83c"}.lnr-laptop-phone:before{content:"\e83d"}.lnr-power-switch:before{content:"\e83e"}.lnr-bubble:before{content:"\e83f"}.lnr-heart-pulse:before{content:"\e840"}.lnr-construction:before{content:"\e841"}.lnr-pie-chart:before{content:"\e842"}.lnr-chart-bars:before{content:"\e843"}.lnr-gift:before{content:"\e844"}.lnr-diamond:before{content:"\e845"}.lnr-linearicons:before{content:"\e846"}.lnr-dinner:before{content:"\e847"}.lnr-coffee-cup:before{content:"\e848"}.lnr-leaf:before{content:"\e849"}.lnr-paw:before{content:"\e84a"}.lnr-rocket:before{content:"\e84b"}.lnr-briefcase:before{content:"\e84c"}.lnr-bus:before{content:"\e84d"}.lnr-car:before{content:"\e84e"}.lnr-train:before{content:"\e84f"}.lnr-bicycle:before{content:"\e850"}.lnr-wheelchair:before{content:"\e851"}.lnr-select:before{content:"\e852"}.lnr-earth:before{content:"\e853"}.lnr-smile:before{content:"\e854"}.lnr-sad:before{content:"\e855"}.lnr-neutral:before{content:"\e856"}.lnr-mustache:before{content:"\e857"}.lnr-alarm:before{content:"\e858"}.lnr-bullhorn:before{content:"\e859"}.lnr-volume-high:before{content:"\e85a"}.lnr-volume-medium:before{content:"\e85b"}.lnr-volume-low:before{content:"\e85c"}.lnr-volume:before{content:"\e85d"}.lnr-mic:before{content:"\e85e"}.lnr-hourglass:before{content:"\e85f"}.lnr-undo:before{content:"\e860"}.lnr-redo:before{content:"\e861"}.lnr-sync:before{content:"\e862"}.lnr-history:before{content:"\e863"}.lnr-clock:before{content:"\e864"}.lnr-download:before{content:"\e865"}.lnr-upload:before{content:"\e866"}.lnr-enter-down:before{content:"\e867"}.lnr-exit-up:before{content:"\e868"}.lnr-bug:before{content:"\e869"}.lnr-code:before{content:"\e86a"}.lnr-link:before{content:"\e86b"}.lnr-unlink:before{content:"\e86c"}.lnr-thumbs-up:before{content:"\e86d"}.lnr-thumbs-down:before{content:"\e86e"}.lnr-magnifier:before{content:"\e86f"}.lnr-cross:before{content:"\e870"}.lnr-menu:before{content:"\e871"}.lnr-list:before{content:"\e872"}.lnr-chevron-up:before{content:"\e873"}.lnr-chevron-down:before{content:"\e874"}.lnr-chevron-left:before{content:"\e875"}.lnr-chevron-right:before{content:"\e876"}.lnr-arrow-up:before{content:"\e877"}.lnr-arrow-down:before{content:"\e878"}.lnr-arrow-left:before{content:"\e879"}.lnr-arrow-right:before{content:"\e87a"}.lnr-move:before{content:"\e87b"}.lnr-warning:before{content:"\e87c"}.lnr-question-circle:before{content:"\e87d"}.lnr-menu-circle:before{content:"\e87e"}.lnr-checkmark-circle:before{content:"\e87f"}.lnr-cross-circle:before{content:"\e880"}.lnr-plus-circle:before{content:"\e881"}.lnr-circle-minus:before{content:"\e882"}.lnr-arrow-up-circle:before{content:"\e883"}.lnr-arrow-down-circle:before{content:"\e884"}.lnr-arrow-left-circle:before{content:"\e885"}.lnr-arrow-right-circle:before{content:"\e886"}.lnr-chevron-up-circle:before{content:"\e887"}.lnr-chevron-down-circle:before{content:"\e888"}.lnr-chevron-left-circle:before{content:"\e889"}.lnr-chevron-right-circle:before{content:"\e88a"}.lnr-crop:before{content:"\e88b"}.lnr-frame-expand:before{content:"\e88c"}.lnr-frame-contract:before{content:"\e88d"}.lnr-layers:before{content:"\e88e"}.lnr-funnel:before{content:"\e88f"}.lnr-text-format:before{content:"\e890"}.lnr-text-format-remove:before{content:"\e891"}.lnr-text-size:before{content:"\e892"}.lnr-bold:before{content:"\e893"}.lnr-italic:before{content:"\e894"}.lnr-underline:before{content:"\e895"}.lnr-strikethrough:before{content:"\e896"}.lnr-highlight:before{content:"\e897"}.lnr-text-align-left:before{content:"\e898"}.lnr-text-align-center:before{content:"\e899"}.lnr-text-align-right:before{content:"\e89a"}.lnr-text-align-justify:before{content:"\e89b"}.lnr-line-spacing:before{content:"\e89c"}.lnr-indent-increase:before{content:"\e89d"}.lnr-indent-decrease:before{content:"\e89e"}.lnr-pilcrow:before{content:"\e89f"}.lnr-direction-ltr:before{content:"\e8a0"}.lnr-direction-rtl:before{content:"\e8a1"}.lnr-page-break:before{content:"\e8a2"}.lnr-sort-alpha-asc:before{content:"\e8a3"}.lnr-sort-amount-asc:before{content:"\e8a4"}.lnr-hand:before{content:"\e8a5"}.lnr-pointer-up:before{content:"\e8a6"}.lnr-pointer-right:before{content:"\e8a7"}.lnr-pointer-down:before{content:"\e8a8"}.lnr-pointer-left:before{content:"\e8a9"} -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/fonts/font-awesome-4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /src/fonts/iconic/fonts/Material-Design-Iconic-Font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/iconic/fonts/Material-Design-Iconic-Font.eot -------------------------------------------------------------------------------- /src/fonts/iconic/fonts/Material-Design-Iconic-Font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/iconic/fonts/Material-Design-Iconic-Font.ttf -------------------------------------------------------------------------------- /src/fonts/iconic/fonts/Material-Design-Iconic-Font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/iconic/fonts/Material-Design-Iconic-Font.woff -------------------------------------------------------------------------------- /src/fonts/iconic/fonts/Material-Design-Iconic-Font.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/iconic/fonts/Material-Design-Iconic-Font.woff2 -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Black.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-BlackItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Bold.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-BoldItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-ExtraBold.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-ExtraLight.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Italic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Light.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-LightItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Medium.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-MediumItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Regular.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-SemiBold.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-Thin.ttf -------------------------------------------------------------------------------- /src/fonts/poppins/Poppins-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/fonts/poppins/Poppins-ThinItalic.ttf -------------------------------------------------------------------------------- /src/front.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | front 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 | 38 |
39 | 40 | 41 | Metro System Pvt. Ltd. 42 | 43 | 44 |
45 |
46 |
47 | 50 |
51 | 52 |
53 |
54 |
55 | 58 |
59 | 60 |
61 |
62 |
63 | 66 |
67 | 68 | 69 |
70 |
71 |
72 | 75 |
76 | 77 | 78 | 79 |
80 |
81 |
82 | 85 |
86 |
87 | 88 | 89 |
90 | 91 |
92 |
93 |
94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /src/images/bg-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/images/bg-01.png -------------------------------------------------------------------------------- /src/images/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/images/icons/favicon.ico -------------------------------------------------------------------------------- /src/images/icons/map-marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jishanshaikh4/metro-system-database-project/532a131d9237209e692d939ee2571b06eae47ef5/src/images/icons/map-marker.png -------------------------------------------------------------------------------- /src/js/main.js: -------------------------------------------------------------------------------- 1 | 2 | (function ($) { 3 | "use strict"; 4 | 5 | /*================================================================== 6 | [ Focus Contact2 ]*/ 7 | $('.input100').each(function(){ 8 | $(this).on('blur', function(){ 9 | if($(this).val().trim() != "") { 10 | $(this).addClass('has-val'); 11 | } 12 | else { 13 | $(this).removeClass('has-val'); 14 | } 15 | }) 16 | }) 17 | 18 | 19 | /*================================================================== 20 | [ Validate after type ]*/ 21 | $('.validate-input .input100').each(function(){ 22 | $(this).on('blur', function(){ 23 | if(validate(this) == false){ 24 | showValidate(this); 25 | } 26 | else { 27 | $(this).parent().addClass('true-validate'); 28 | } 29 | }) 30 | }) 31 | 32 | /*================================================================== 33 | [ Validate ]*/ 34 | var input = $('.validate-input .input100'); 35 | 36 | $('.validate-form').on('submit',function(){ 37 | var check = true; 38 | 39 | for(var i=0; i 2 | 3 | 4 | 5 | Login V13 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 0) { 55 | ?> 56 | 57 | 63 | 64 | 78 | 79 | 80 |
81 |
82 |
83 |
84 | 85 |
86 | 87 | 88 | Log-in 89 | 90 | 91 |
92 | User-Name 93 | 94 | 95 |
96 | 97 |
98 | User-Id 99 | 100 | 101 |
102 | 103 |
104 | Password 105 | 106 | 107 |
108 | 109 |
110 |
111 | 112 | 120 |
121 | 122 | 123 |
124 | 125 |
126 |
127 |
128 | 131 |
132 | 133 | 134 |
135 |
136 |
137 | 140 |
141 | 142 | 143 | Cancel 144 | 145 | 146 |
147 | 148 |
149 |
150 |
151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | -------------------------------------------------------------------------------- /src/robots.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/signup.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Login V13 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 62 | 64 | 74 | 75 |
76 |
77 |
78 |
79 | 80 |
81 | 82 | 83 | Sign-Up 84 | 85 | 86 |
87 | User-Name 88 | 89 | 90 |
91 | 92 |
93 | Password 94 | 95 | 96 |
97 | 98 |
99 | Re-Enter your Password 100 | 101 | 102 |
103 | 104 |
105 | Aadhar-No. 106 | 107 | 108 |
109 | 110 |
111 |
112 | 113 | 121 |
122 | 123 | 124 |
125 | 126 |
127 |
128 |
129 | 132 |
133 | 134 | 135 | Cancel 136 | 137 | 138 |
139 | 140 |
141 |
142 |
143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /src/vendor/animsition/js/animsition.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * animsition v4.0.2 3 | * A simple and easy jQuery plugin for CSS animated page transitions. 4 | * http://blivesta.github.io/animsition 5 | * License : MIT 6 | * Author : blivesta (http://blivesta.com/) 7 | */ 8 | ;(function (factory) { 9 | 'use strict'; 10 | if (typeof define === 'function' && define.amd) { 11 | define(['jquery'], factory); 12 | } else if (typeof exports === 'object') { 13 | module.exports = factory(require('jquery')); 14 | } else { 15 | factory(jQuery); 16 | } 17 | }(function ($) { 18 | 'use strict'; 19 | var namespace = 'animsition'; 20 | var __ = { 21 | init: function(options){ 22 | options = $.extend({ 23 | inClass : 'fade-in', 24 | outClass : 'fade-out', 25 | inDuration : 1500, 26 | outDuration : 800, 27 | linkElement : '.animsition-link', 28 | // e.g. linkElement : 'a:not([target="_blank"]):not([href^="#"])' 29 | loading : true, 30 | loadingParentElement : 'body', //animsition wrapper element 31 | loadingClass : 'animsition-loading', 32 | loadingInner : '', // e.g '' 33 | timeout : false, 34 | timeoutCountdown : 5000, 35 | onLoadEvent : true, 36 | browser : [ 'animation-duration', '-webkit-animation-duration'], 37 | // "browser" option allows you to disable the "animsition" in case the css property in the array is not supported by your browser. 38 | // The default setting is to disable the "animsition" in a browser that does not support "animation-duration". 39 | overlay : false, 40 | overlayClass : 'animsition-overlay-slide', 41 | overlayParentElement : 'body', 42 | transition : function(url){ window.location.href = url; } 43 | }, options); 44 | 45 | __.settings = { 46 | timer: false, 47 | data: { 48 | inClass: 'animsition-in-class', 49 | inDuration: 'animsition-in-duration', 50 | outClass: 'animsition-out-class', 51 | outDuration: 'animsition-out-duration', 52 | overlay: 'animsition-overlay' 53 | }, 54 | events: { 55 | inStart: 'animsition.inStart', 56 | inEnd: 'animsition.inEnd', 57 | outStart: 'animsition.outStart', 58 | outEnd: 'animsition.outEnd' 59 | } 60 | }; 61 | 62 | // Remove the "Animsition" in a browser 63 | // that does not support the "animaition-duration". 64 | var support = __.supportCheck.call(this, options); 65 | 66 | if(!support && options.browser.length > 0){ 67 | if(!support || !this.length){ 68 | // If do not have a console object to object window 69 | if (!('console' in window)) { 70 | window.console = {}; 71 | window.console.log = function(str){ return str; }; 72 | } 73 | if(!this.length) console.log('Animsition: Element does not exist on page.'); 74 | if(!support) console.log('Animsition: Does not support this browser.'); 75 | return __.destroy.call(this); 76 | } 77 | } 78 | 79 | var overlayMode = __.optionCheck.call(this, options); 80 | 81 | if (overlayMode && $('.' + options.overlayClass).length <= 0) { 82 | __.addOverlay.call(this, options); 83 | } 84 | 85 | if (options.loading && $('.' + options.loadingClass).length <= 0) { 86 | __.addLoading.call(this, options); 87 | } 88 | 89 | return this.each(function(){ 90 | var _this = this; 91 | var $this = $(this); 92 | var $window = $(window); 93 | var $document = $(document); 94 | var data = $this.data(namespace); 95 | 96 | if (!data) { 97 | options = $.extend({}, options); 98 | 99 | $this.data(namespace, { options: options }); 100 | 101 | if(options.timeout) __.addTimer.call(_this); 102 | 103 | if(options.onLoadEvent) { 104 | $window.on('load.' + namespace, function() { 105 | if(__.settings.timer) clearTimeout(__.settings.timer); 106 | __.in.call(_this); 107 | }); 108 | } 109 | 110 | $window.on('pageshow.' + namespace, function(event) { 111 | if(event.originalEvent.persisted) __.in.call(_this); 112 | }); 113 | 114 | // Firefox back button issue #4 115 | $window.on('unload.' + namespace, function() { }); 116 | 117 | $document.on('click.' + namespace, options.linkElement, function(event) { 118 | event.preventDefault(); 119 | var $self = $(this); 120 | var url = $self.attr('href'); 121 | 122 | // middle mouse button issue #24 123 | // if(middle mouse button || command key || shift key || win control key) 124 | if (event.which === 2 || event.metaKey || event.shiftKey || navigator.platform.toUpperCase().indexOf('WIN') !== -1 && event.ctrlKey) { 125 | window.open(url, '_blank'); 126 | } else { 127 | __.out.call(_this, $self, url); 128 | } 129 | 130 | }); 131 | } 132 | }); // end each 133 | }, 134 | 135 | addOverlay: function(options){ 136 | $(options.overlayParentElement) 137 | .prepend('
'); 138 | }, 139 | 140 | addLoading: function(options){ 141 | $(options.loadingParentElement) 142 | .append('
' + options.loadingInner + '
'); 143 | }, 144 | 145 | removeLoading: function(){ 146 | var $this = $(this); 147 | var options = $this.data(namespace).options; 148 | var $loading = $(options.loadingParentElement).children('.' + options.loadingClass); 149 | 150 | $loading.fadeOut().remove(); 151 | }, 152 | 153 | addTimer: function(){ 154 | var _this = this; 155 | var $this = $(this); 156 | var options = $this.data(namespace).options; 157 | 158 | __.settings.timer = setTimeout(function(){ 159 | __.in.call(_this); 160 | $(window).off('load.' + namespace); 161 | }, options.timeoutCountdown); 162 | }, 163 | 164 | supportCheck: function(options){ 165 | var $this = $(this); 166 | var props = options.browser; 167 | var propsNum = props.length; 168 | var support = false; 169 | 170 | if (propsNum === 0) { 171 | support = true; 172 | } 173 | for (var i = 0; i < propsNum; i++) { 174 | if (typeof $this.css(props[i]) === 'string') { 175 | support = true; 176 | break; 177 | } 178 | } 179 | return support; 180 | }, 181 | 182 | optionCheck: function(options){ 183 | var $this = $(this); 184 | var overlayMode; 185 | if(options.overlay || $this.data(__.settings.data.overlay)){ 186 | overlayMode = true; 187 | } else { 188 | overlayMode = false; 189 | } 190 | return overlayMode; 191 | }, 192 | 193 | animationCheck : function(data, stateClass, stateIn){ 194 | var $this = $(this); 195 | var options = $this.data(namespace).options; 196 | var dataType = typeof data; 197 | var dataDuration = !stateClass && dataType === 'number'; 198 | var dataClass = stateClass && dataType === 'string' && data.length > 0; 199 | 200 | if(dataDuration || dataClass){ 201 | data = data; 202 | } else if(stateClass && stateIn) { 203 | data = options.inClass; 204 | } else if(!stateClass && stateIn) { 205 | data = options.inDuration; 206 | } else if(stateClass && !stateIn) { 207 | data = options.outClass; 208 | } else if(!stateClass && !stateIn) { 209 | data = options.outDuration; 210 | } 211 | return data; 212 | }, 213 | 214 | in: function(){ 215 | var _this = this; 216 | var $this = $(this); 217 | var options = $this.data(namespace).options; 218 | var thisInDuration = $this.data(__.settings.data.inDuration); 219 | var thisInClass = $this.data(__.settings.data.inClass); 220 | var inDuration = __.animationCheck.call(_this, thisInDuration, false, true); 221 | var inClass = __.animationCheck.call(_this, thisInClass, true, true); 222 | var overlayMode = __.optionCheck.call(_this, options); 223 | var outClass = $this.data(namespace).outClass; 224 | 225 | if(options.loading) __.removeLoading.call(_this); 226 | 227 | if(outClass) $this.removeClass(outClass); 228 | 229 | if(overlayMode) { 230 | __.inOverlay.call(_this, inClass, inDuration); 231 | } else { 232 | __.inDefault.call(_this, inClass, inDuration); 233 | } 234 | }, 235 | 236 | inDefault: function(inClass, inDuration){ 237 | var $this = $(this); 238 | 239 | $this 240 | .css({ 'animation-duration' : inDuration + 'ms' }) 241 | .addClass(inClass) 242 | .trigger(__.settings.events.inStart) 243 | .animateCallback(function(){ 244 | $this 245 | .removeClass(inClass) 246 | .css({ 'opacity' : 1 }) 247 | .trigger(__.settings.events.inEnd); 248 | }); 249 | }, 250 | 251 | inOverlay: function(inClass, inDuration){ 252 | var $this = $(this); 253 | var options = $this.data(namespace).options; 254 | 255 | $this 256 | .css({ 'opacity' : 1 }) 257 | .trigger(__.settings.events.inStart); 258 | 259 | $(options.overlayParentElement) 260 | .children('.' + options.overlayClass) 261 | .css({ 'animation-duration' : inDuration + 'ms' }) 262 | .addClass(inClass) 263 | .animateCallback(function(){ 264 | $this 265 | .trigger(__.settings.events.inEnd); 266 | }); 267 | }, 268 | 269 | out: function($self, url){ 270 | var _this = this; 271 | var $this = $(this); 272 | var options = $this.data(namespace).options; 273 | var selfOutClass = $self.data(__.settings.data.outClass); 274 | var thisOutClass = $this.data(__.settings.data.outClass); 275 | var selfOutDuration = $self.data(__.settings.data.outDuration); 276 | var thisOutDuration = $this.data(__.settings.data.outDuration); 277 | var isOutClass = selfOutClass ? selfOutClass : thisOutClass; 278 | var isOutDuration = selfOutDuration ? selfOutDuration : thisOutDuration; 279 | var outClass = __.animationCheck.call(_this, isOutClass, true, false); 280 | var outDuration = __.animationCheck.call(_this, isOutDuration, false, false); 281 | var overlayMode = __.optionCheck.call(_this, options); 282 | 283 | $this.data(namespace).outClass = outClass; 284 | 285 | if(overlayMode) { 286 | __.outOverlay.call(_this, outClass, outDuration, url); 287 | } else { 288 | __.outDefault.call(_this, outClass, outDuration, url); 289 | } 290 | }, 291 | 292 | outDefault: function(outClass, outDuration, url){ 293 | var $this = $(this); 294 | var options = $this.data(namespace).options; 295 | 296 | // (outDuration + 1) | #55 outDuration: 0 crashes on Safari only 297 | $this 298 | .css({ 'animation-duration' : (outDuration + 1) + 'ms' }) 299 | .addClass(outClass) 300 | .trigger(__.settings.events.outStart) 301 | .animateCallback(function(){ 302 | $this.trigger(__.settings.events.outEnd); 303 | options.transition(url); 304 | }); 305 | }, 306 | 307 | 308 | outOverlay: function(outClass, outDuration, url){ 309 | var _this = this; 310 | var $this = $(this); 311 | var options = $this.data(namespace).options; 312 | var thisInClass = $this.data(__.settings.data.inClass); 313 | var inClass = __.animationCheck.call(_this, thisInClass, true, true); 314 | 315 | // (outDuration + 1) | #55 outDuration: 0 crashes animsition on Safari only 316 | $(options.overlayParentElement) 317 | .children('.' + options.overlayClass) 318 | .css({ 'animation-duration' : (outDuration + 1) + 'ms' }) 319 | .removeClass(inClass) 320 | .addClass(outClass) 321 | .trigger(__.settings.events.outStart) 322 | .animateCallback(function(){ 323 | $this.trigger(__.settings.events.outEnd); 324 | options.transition(url); 325 | }); 326 | }, 327 | 328 | destroy: function(){ 329 | return this.each(function(){ 330 | var $this = $(this); 331 | $(window).off('.'+ namespace); 332 | $this 333 | .css({'opacity': 1}) 334 | .removeData(namespace); 335 | }); 336 | } 337 | 338 | }; 339 | 340 | $.fn.animateCallback = function(callback){ 341 | var end = 'animationend webkitAnimationEnd'; 342 | return this.each(function() { 343 | var $this = $(this); 344 | $this.on(end, function(){ 345 | $this.off(end); 346 | return callback.call(this); 347 | }); 348 | }); 349 | }; 350 | 351 | $.fn.animsition = function(method){ 352 | if ( __[method] ) { 353 | return __[method].apply( this, Array.prototype.slice.call( arguments, 1 )); 354 | } else if ( typeof method === 'object' || ! method ) { 355 | return __.init.apply( this, arguments ); 356 | } else { 357 | $.error( 'Method ' + method + ' does not exist on jQuery.'+namespace); 358 | } 359 | }; 360 | 361 | })); 362 | -------------------------------------------------------------------------------- /src/vendor/animsition/js/animsition.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * animsition v4.0.2 3 | * A simple and easy jQuery plugin for CSS animated page transitions. 4 | * http://blivesta.github.io/animsition 5 | * License : MIT 6 | * Author : blivesta (http://blivesta.com/) 7 | */ 8 | !function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){"use strict";var n="animsition",i={init:function(a){a=t.extend({inClass:"fade-in",outClass:"fade-out",inDuration:1500,outDuration:800,linkElement:".animsition-link",loading:!0,loadingParentElement:"body",loadingClass:"animsition-loading",loadingInner:"",timeout:!1,timeoutCountdown:5e3,onLoadEvent:!0,browser:["animation-duration","-webkit-animation-duration"],overlay:!1,overlayClass:"animsition-overlay-slide",overlayParentElement:"body",transition:function(t){window.location.href=t}},a),i.settings={timer:!1,data:{inClass:"animsition-in-class",inDuration:"animsition-in-duration",outClass:"animsition-out-class",outDuration:"animsition-out-duration",overlay:"animsition-overlay"},events:{inStart:"animsition.inStart",inEnd:"animsition.inEnd",outStart:"animsition.outStart",outEnd:"animsition.outEnd"}};var o=i.supportCheck.call(this,a);if(!o&&a.browser.length>0&&(!o||!this.length))return"console"in window||(window.console={},window.console.log=function(t){return t}),this.length||console.log("Animsition: Element does not exist on page."),o||console.log("Animsition: Does not support this browser."),i.destroy.call(this);var e=i.optionCheck.call(this,a);return e&&t("."+a.overlayClass).length<=0&&i.addOverlay.call(this,a),a.loading&&t("."+a.loadingClass).length<=0&&i.addLoading.call(this,a),this.each(function(){var o=this,e=t(this),s=t(window),r=t(document),l=e.data(n);l||(a=t.extend({},a),e.data(n,{options:a}),a.timeout&&i.addTimer.call(o),a.onLoadEvent&&s.on("load."+n,function(){i.settings.timer&&clearTimeout(i.settings.timer),i["in"].call(o)}),s.on("pageshow."+n,function(t){t.originalEvent.persisted&&i["in"].call(o)}),s.on("unload."+n,function(){}),r.on("click."+n,a.linkElement,function(n){n.preventDefault();var a=t(this),e=a.attr("href");2===n.which||n.metaKey||n.shiftKey||-1!==navigator.platform.toUpperCase().indexOf("WIN")&&n.ctrlKey?window.open(e,"_blank"):i.out.call(o,a,e)}))})},addOverlay:function(n){t(n.overlayParentElement).prepend('
')},addLoading:function(n){t(n.loadingParentElement).append('
'+n.loadingInner+"
")},removeLoading:function(){var i=t(this),a=i.data(n).options,o=t(a.loadingParentElement).children("."+a.loadingClass);o.fadeOut().remove()},addTimer:function(){var a=this,o=t(this),e=o.data(n).options;i.settings.timer=setTimeout(function(){i["in"].call(a),t(window).off("load."+n)},e.timeoutCountdown)},supportCheck:function(n){var i=t(this),a=n.browser,o=a.length,e=!1;0===o&&(e=!0);for(var s=0;o>s;s++)if("string"==typeof i.css(a[s])){e=!0;break}return e},optionCheck:function(n){var a,o=t(this);return a=n.overlay||o.data(i.settings.data.overlay)?!0:!1},animationCheck:function(i,a,o){var e=t(this),s=e.data(n).options,r=typeof i,l=!a&&"number"===r,d=a&&"string"===r&&i.length>0;return l||d?i=i:a&&o?i=s.inClass:!a&&o?i=s.inDuration:a&&!o?i=s.outClass:a||o||(i=s.outDuration),i},"in":function(){var a=this,o=t(this),e=o.data(n).options,s=o.data(i.settings.data.inDuration),r=o.data(i.settings.data.inClass),l=i.animationCheck.call(a,s,!1,!0),d=i.animationCheck.call(a,r,!0,!0),u=i.optionCheck.call(a,e),c=o.data(n).outClass;e.loading&&i.removeLoading.call(a),c&&o.removeClass(c),u?i.inOverlay.call(a,d,l):i.inDefault.call(a,d,l)},inDefault:function(n,a){var o=t(this);o.css({"animation-duration":a+"ms"}).addClass(n).trigger(i.settings.events.inStart).animateCallback(function(){o.removeClass(n).css({opacity:1}).trigger(i.settings.events.inEnd)})},inOverlay:function(a,o){var e=t(this),s=e.data(n).options;e.css({opacity:1}).trigger(i.settings.events.inStart),t(s.overlayParentElement).children("."+s.overlayClass).css({"animation-duration":o+"ms"}).addClass(a).animateCallback(function(){e.trigger(i.settings.events.inEnd)})},out:function(a,o){var e=this,s=t(this),r=s.data(n).options,l=a.data(i.settings.data.outClass),d=s.data(i.settings.data.outClass),u=a.data(i.settings.data.outDuration),c=s.data(i.settings.data.outDuration),m=l?l:d,g=u?u:c,f=i.animationCheck.call(e,m,!0,!1),v=i.animationCheck.call(e,g,!1,!1),h=i.optionCheck.call(e,r);s.data(n).outClass=f,h?i.outOverlay.call(e,f,v,o):i.outDefault.call(e,f,v,o)},outDefault:function(a,o,e){var s=t(this),r=s.data(n).options;s.css({"animation-duration":o+1+"ms"}).addClass(a).trigger(i.settings.events.outStart).animateCallback(function(){s.trigger(i.settings.events.outEnd),r.transition(e)})},outOverlay:function(a,o,e){var s=this,r=t(this),l=r.data(n).options,d=r.data(i.settings.data.inClass),u=i.animationCheck.call(s,d,!0,!0);t(l.overlayParentElement).children("."+l.overlayClass).css({"animation-duration":o+1+"ms"}).removeClass(u).addClass(a).trigger(i.settings.events.outStart).animateCallback(function(){r.trigger(i.settings.events.outEnd),l.transition(e)})},destroy:function(){return this.each(function(){var i=t(this);t(window).off("."+n),i.css({opacity:1}).removeData(n)})}};t.fn.animateCallback=function(n){var i="animationend webkitAnimationEnd";return this.each(function(){var a=t(this);a.on(i,function(){return a.off(i),n.call(this)})})},t.fn.animsition=function(a){return i[a]?i[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void t.error("Method "+a+" does not exist on jQuery."+n):i.init.apply(this,arguments)}}); -------------------------------------------------------------------------------- /src/vendor/bootstrap/css/bootstrap-reboot.css: -------------------------------------------------------------------------------- 1 | html { 2 | box-sizing: border-box; 3 | font-family: sans-serif; 4 | line-height: 1.15; 5 | -webkit-text-size-adjust: 100%; 6 | -ms-text-size-adjust: 100%; 7 | -ms-overflow-style: scrollbar; 8 | -webkit-tap-highlight-color: transparent; 9 | } 10 | 11 | *, 12 | *::before, 13 | *::after { 14 | box-sizing: inherit; 15 | } 16 | 17 | @-ms-viewport { 18 | width: device-width; 19 | } 20 | 21 | article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { 22 | display: block; 23 | } 24 | 25 | body { 26 | margin: 0; 27 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 28 | font-size: 1rem; 29 | font-weight: normal; 30 | line-height: 1.5; 31 | color: #212529; 32 | background-color: #fff; 33 | } 34 | 35 | [tabindex="-1"]:focus { 36 | outline: none !important; 37 | } 38 | 39 | hr { 40 | box-sizing: content-box; 41 | height: 0; 42 | overflow: visible; 43 | } 44 | 45 | h1, h2, h3, h4, h5, h6 { 46 | margin-top: 0; 47 | margin-bottom: .5rem; 48 | } 49 | 50 | p { 51 | margin-top: 0; 52 | margin-bottom: 1rem; 53 | } 54 | 55 | abbr[title], 56 | abbr[data-original-title] { 57 | text-decoration: underline; 58 | -webkit-text-decoration: underline dotted; 59 | text-decoration: underline dotted; 60 | cursor: help; 61 | border-bottom: 0; 62 | } 63 | 64 | address { 65 | margin-bottom: 1rem; 66 | font-style: normal; 67 | line-height: inherit; 68 | } 69 | 70 | ol, 71 | ul, 72 | dl { 73 | margin-top: 0; 74 | margin-bottom: 1rem; 75 | } 76 | 77 | ol ol, 78 | ul ul, 79 | ol ul, 80 | ul ol { 81 | margin-bottom: 0; 82 | } 83 | 84 | dt { 85 | font-weight: bold; 86 | } 87 | 88 | dd { 89 | margin-bottom: .5rem; 90 | margin-left: 0; 91 | } 92 | 93 | blockquote { 94 | margin: 0 0 1rem; 95 | } 96 | 97 | dfn { 98 | font-style: italic; 99 | } 100 | 101 | b, 102 | strong { 103 | font-weight: bolder; 104 | } 105 | 106 | small { 107 | font-size: 80%; 108 | } 109 | 110 | sub, 111 | sup { 112 | position: relative; 113 | font-size: 75%; 114 | line-height: 0; 115 | vertical-align: baseline; 116 | } 117 | 118 | sub { 119 | bottom: -.25em; 120 | } 121 | 122 | sup { 123 | top: -.5em; 124 | } 125 | 126 | a { 127 | color: #007bff; 128 | text-decoration: none; 129 | background-color: transparent; 130 | -webkit-text-decoration-skip: objects; 131 | } 132 | 133 | a:hover { 134 | color: #0056b3; 135 | text-decoration: underline; 136 | } 137 | 138 | a:not([href]):not([tabindex]) { 139 | color: inherit; 140 | text-decoration: none; 141 | } 142 | 143 | a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { 144 | color: inherit; 145 | text-decoration: none; 146 | } 147 | 148 | a:not([href]):not([tabindex]):focus { 149 | outline: 0; 150 | } 151 | 152 | pre, 153 | code, 154 | kbd, 155 | samp { 156 | font-family: monospace, monospace; 157 | font-size: 1em; 158 | } 159 | 160 | pre { 161 | margin-top: 0; 162 | margin-bottom: 1rem; 163 | overflow: auto; 164 | } 165 | 166 | figure { 167 | margin: 0 0 1rem; 168 | } 169 | 170 | img { 171 | vertical-align: middle; 172 | border-style: none; 173 | } 174 | 175 | svg:not(:root) { 176 | overflow: hidden; 177 | } 178 | 179 | a, 180 | area, 181 | button, 182 | [role="button"], 183 | input, 184 | label, 185 | select, 186 | summary, 187 | textarea { 188 | -ms-touch-action: manipulation; 189 | touch-action: manipulation; 190 | } 191 | 192 | table { 193 | border-collapse: collapse; 194 | } 195 | 196 | caption { 197 | padding-top: 0.75rem; 198 | padding-bottom: 0.75rem; 199 | color: #868e96; 200 | text-align: left; 201 | caption-side: bottom; 202 | } 203 | 204 | th { 205 | text-align: left; 206 | } 207 | 208 | label { 209 | display: inline-block; 210 | margin-bottom: .5rem; 211 | } 212 | 213 | button:focus { 214 | outline: 1px dotted; 215 | outline: 5px auto -webkit-focus-ring-color; 216 | } 217 | 218 | input, 219 | button, 220 | select, 221 | optgroup, 222 | textarea { 223 | margin: 0; 224 | font-family: inherit; 225 | font-size: inherit; 226 | line-height: inherit; 227 | } 228 | 229 | button, 230 | input { 231 | overflow: visible; 232 | } 233 | 234 | button, 235 | select { 236 | text-transform: none; 237 | } 238 | 239 | button, 240 | html [type="button"], 241 | [type="reset"], 242 | [type="submit"] { 243 | -webkit-appearance: button; 244 | } 245 | 246 | button::-moz-focus-inner, 247 | [type="button"]::-moz-focus-inner, 248 | [type="reset"]::-moz-focus-inner, 249 | [type="submit"]::-moz-focus-inner { 250 | padding: 0; 251 | border-style: none; 252 | } 253 | 254 | input[type="radio"], 255 | input[type="checkbox"] { 256 | box-sizing: border-box; 257 | padding: 0; 258 | } 259 | 260 | input[type="date"], 261 | input[type="time"], 262 | input[type="datetime-local"], 263 | input[type="month"] { 264 | -webkit-appearance: listbox; 265 | } 266 | 267 | textarea { 268 | overflow: auto; 269 | resize: vertical; 270 | } 271 | 272 | fieldset { 273 | min-width: 0; 274 | padding: 0; 275 | margin: 0; 276 | border: 0; 277 | } 278 | 279 | legend { 280 | display: block; 281 | width: 100%; 282 | max-width: 100%; 283 | padding: 0; 284 | margin-bottom: .5rem; 285 | font-size: 1.5rem; 286 | line-height: inherit; 287 | color: inherit; 288 | white-space: normal; 289 | } 290 | 291 | progress { 292 | vertical-align: baseline; 293 | } 294 | 295 | [type="number"]::-webkit-inner-spin-button, 296 | [type="number"]::-webkit-outer-spin-button { 297 | height: auto; 298 | } 299 | 300 | [type="search"] { 301 | outline-offset: -2px; 302 | -webkit-appearance: none; 303 | } 304 | 305 | [type="search"]::-webkit-search-cancel-button, 306 | [type="search"]::-webkit-search-decoration { 307 | -webkit-appearance: none; 308 | } 309 | 310 | ::-webkit-file-upload-button { 311 | font: inherit; 312 | -webkit-appearance: button; 313 | } 314 | 315 | output { 316 | display: inline-block; 317 | } 318 | 319 | summary { 320 | display: list-item; 321 | } 322 | 323 | template { 324 | display: none; 325 | } 326 | 327 | [hidden] { 328 | display: none !important; 329 | } 330 | /*# sourceMappingURL=bootstrap-reboot.css.map */ -------------------------------------------------------------------------------- /src/vendor/bootstrap/css/bootstrap-reboot.min.css: -------------------------------------------------------------------------------- 1 | html{box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important} 2 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */ -------------------------------------------------------------------------------- /src/vendor/countdowntime/countdowntime.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | "use strict"; 3 | 4 | function getTimeRemaining(endtime) { 5 | var t = Date.parse(endtime) - Date.parse(new Date()); 6 | var seconds = Math.floor((t / 1000) % 60); 7 | var minutes = Math.floor((t / 1000 / 60) % 60); 8 | var hours = Math.floor((t / (1000 * 60 * 60)) % 24); 9 | var days = Math.floor(t / (1000 * 60 * 60 * 24)); 10 | return { 11 | 'total': t, 12 | 'days': days, 13 | 'hours': hours, 14 | 'minutes': minutes, 15 | 'seconds': seconds 16 | }; 17 | } 18 | 19 | function initializeClock(id, endtime) { 20 | var daysSpan = $('.days'); 21 | var hoursSpan = $('.hours'); 22 | var minutesSpan = $('.minutes'); 23 | var secondsSpan = $('.seconds'); 24 | 25 | function updateClock() { 26 | var t = getTimeRemaining(endtime); 27 | 28 | daysSpan.html(t.days); 29 | hoursSpan.html(('0' + t.hours).slice(-2)); 30 | minutesSpan.html(('0' + t.minutes).slice(-2)); 31 | secondsSpan.html(('0' + t.seconds).slice(-2)) 32 | 33 | if (t.total <= 0) { 34 | clearInterval(timeinterval); 35 | } 36 | } 37 | 38 | updateClock(); 39 | var timeinterval = setInterval(updateClock, 1000); 40 | } 41 | 42 | var deadline = new Date(Date.parse(new Date()) + 25 * 24 * 60 * 60 * 1000 + 13 * 60 * 60 * 1000); 43 | initializeClock('clockdiv', deadline); 44 | 45 | })(jQuery); -------------------------------------------------------------------------------- /src/vendor/daterangepicker/daterangepicker.css: -------------------------------------------------------------------------------- 1 | .daterangepicker { 2 | position: absolute; 3 | color: inherit; 4 | background-color: #fff; 5 | border-radius: 4px; 6 | width: 278px; 7 | padding: 4px; 8 | margin-top: 1px; 9 | top: 100px; 10 | left: 20px; 11 | /* Calendars */ } 12 | .daterangepicker:before, .daterangepicker:after { 13 | position: absolute; 14 | display: inline-block; 15 | border-bottom-color: rgba(0, 0, 0, 0.2); 16 | content: ''; } 17 | .daterangepicker:before { 18 | top: -7px; 19 | border-right: 7px solid transparent; 20 | border-left: 7px solid transparent; 21 | border-bottom: 7px solid #ccc; } 22 | .daterangepicker:after { 23 | top: -6px; 24 | border-right: 6px solid transparent; 25 | border-bottom: 6px solid #fff; 26 | border-left: 6px solid transparent; } 27 | .daterangepicker.opensleft:before { 28 | right: 9px; } 29 | .daterangepicker.opensleft:after { 30 | right: 10px; } 31 | .daterangepicker.openscenter:before { 32 | left: 0; 33 | right: 0; 34 | width: 0; 35 | margin-left: auto; 36 | margin-right: auto; } 37 | .daterangepicker.openscenter:after { 38 | left: 0; 39 | right: 0; 40 | width: 0; 41 | margin-left: auto; 42 | margin-right: auto; } 43 | .daterangepicker.opensright:before { 44 | left: 9px; } 45 | .daterangepicker.opensright:after { 46 | left: 10px; } 47 | .daterangepicker.dropup { 48 | margin-top: -5px; } 49 | .daterangepicker.dropup:before { 50 | top: initial; 51 | bottom: -7px; 52 | border-bottom: initial; 53 | border-top: 7px solid #ccc; } 54 | .daterangepicker.dropup:after { 55 | top: initial; 56 | bottom: -6px; 57 | border-bottom: initial; 58 | border-top: 6px solid #fff; } 59 | .daterangepicker.dropdown-menu { 60 | max-width: none; 61 | z-index: 3001; } 62 | .daterangepicker.single .ranges, .daterangepicker.single .calendar { 63 | float: none; } 64 | .daterangepicker.show-calendar .calendar { 65 | display: block; } 66 | .daterangepicker .calendar { 67 | display: none; 68 | max-width: 270px; 69 | margin: 4px; } 70 | .daterangepicker .calendar.single .calendar-table { 71 | border: none; } 72 | .daterangepicker .calendar th, .daterangepicker .calendar td { 73 | white-space: nowrap; 74 | text-align: center; 75 | min-width: 32px; } 76 | .daterangepicker .calendar-table { 77 | border: 1px solid #fff; 78 | padding: 4px; 79 | border-radius: 4px; 80 | background-color: #fff; } 81 | .daterangepicker table { 82 | width: 100%; 83 | margin: 0; } 84 | .daterangepicker td, .daterangepicker th { 85 | text-align: center; 86 | width: 20px; 87 | height: 20px; 88 | border-radius: 4px; 89 | border: 1px solid transparent; 90 | white-space: nowrap; 91 | cursor: pointer; } 92 | .daterangepicker td.available:hover, .daterangepicker th.available:hover { 93 | background-color: #eee; 94 | border-color: transparent; 95 | color: inherit; } 96 | .daterangepicker td.week, .daterangepicker th.week { 97 | font-size: 80%; 98 | color: #ccc; } 99 | .daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date { 100 | background-color: #fff; 101 | border-color: transparent; 102 | color: #999; } 103 | .daterangepicker td.in-range { 104 | background-color: #ebf4f8; 105 | border-color: transparent; 106 | color: #000; 107 | border-radius: 0; } 108 | .daterangepicker td.start-date { 109 | border-radius: 4px 0 0 4px; } 110 | .daterangepicker td.end-date { 111 | border-radius: 0 4px 4px 0; } 112 | .daterangepicker td.start-date.end-date { 113 | border-radius: 4px; } 114 | .daterangepicker td.active, .daterangepicker td.active:hover { 115 | background-color: #357ebd; 116 | border-color: transparent; 117 | color: #fff; } 118 | .daterangepicker th.month { 119 | width: auto; } 120 | .daterangepicker td.disabled, .daterangepicker option.disabled { 121 | color: #999; 122 | cursor: not-allowed; 123 | text-decoration: line-through; } 124 | .daterangepicker select.monthselect, .daterangepicker select.yearselect { 125 | font-size: 12px; 126 | padding: 1px; 127 | height: auto; 128 | margin: 0; 129 | cursor: default; } 130 | .daterangepicker select.monthselect { 131 | margin-right: 2%; 132 | width: 56%; } 133 | .daterangepicker select.yearselect { 134 | width: 40%; } 135 | .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect { 136 | width: 50px; 137 | margin-bottom: 0; } 138 | .daterangepicker .input-mini { 139 | border: 1px solid #ccc; 140 | border-radius: 4px; 141 | color: #555; 142 | height: 30px; 143 | line-height: 30px; 144 | display: block; 145 | vertical-align: middle; 146 | margin: 0 0 5px 0; 147 | padding: 0 6px 0 28px; 148 | width: 100%; } 149 | .daterangepicker .input-mini.active { 150 | border: 1px solid #08c; 151 | border-radius: 4px; } 152 | .daterangepicker .daterangepicker_input { 153 | position: relative; } 154 | .daterangepicker .daterangepicker_input i { 155 | position: absolute; 156 | left: 8px; 157 | top: 8px; } 158 | .daterangepicker.rtl .input-mini { 159 | padding-right: 28px; 160 | padding-left: 6px; } 161 | .daterangepicker.rtl .daterangepicker_input i { 162 | left: auto; 163 | right: 8px; } 164 | .daterangepicker .calendar-time { 165 | text-align: center; 166 | margin: 5px auto; 167 | line-height: 30px; 168 | position: relative; 169 | padding-left: 28px; } 170 | .daterangepicker .calendar-time select.disabled { 171 | color: #ccc; 172 | cursor: not-allowed; } 173 | 174 | .ranges { 175 | font-size: 11px; 176 | float: none; 177 | margin: 4px; 178 | text-align: left; } 179 | .ranges ul { 180 | list-style: none; 181 | margin: 0 auto; 182 | padding: 0; 183 | width: 100%; } 184 | .ranges li { 185 | font-size: 13px; 186 | background-color: #f5f5f5; 187 | border: 1px solid #f5f5f5; 188 | border-radius: 4px; 189 | color: #08c; 190 | padding: 3px 12px; 191 | margin-bottom: 8px; 192 | cursor: pointer; } 193 | .ranges li:hover { 194 | background-color: #08c; 195 | border: 1px solid #08c; 196 | color: #fff; } 197 | .ranges li.active { 198 | background-color: #08c; 199 | border: 1px solid #08c; 200 | color: #fff; } 201 | 202 | /* Larger Screen Styling */ 203 | @media (min-width: 564px) { 204 | .daterangepicker { 205 | width: auto; } 206 | .daterangepicker .ranges ul { 207 | width: 160px; } 208 | .daterangepicker.single .ranges ul { 209 | width: 100%; } 210 | .daterangepicker.single .calendar.left { 211 | clear: none; } 212 | .daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .calendar { 213 | float: left; } 214 | .daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .calendar { 215 | float: right; } 216 | .daterangepicker.ltr { 217 | direction: ltr; 218 | text-align: left; } 219 | .daterangepicker.ltr .calendar.left { 220 | clear: left; 221 | margin-right: 0; } 222 | .daterangepicker.ltr .calendar.left .calendar-table { 223 | border-right: none; 224 | border-top-right-radius: 0; 225 | border-bottom-right-radius: 0; } 226 | .daterangepicker.ltr .calendar.right { 227 | margin-left: 0; } 228 | .daterangepicker.ltr .calendar.right .calendar-table { 229 | border-left: none; 230 | border-top-left-radius: 0; 231 | border-bottom-left-radius: 0; } 232 | .daterangepicker.ltr .left .daterangepicker_input { 233 | padding-right: 12px; } 234 | .daterangepicker.ltr .calendar.left .calendar-table { 235 | padding-right: 12px; } 236 | .daterangepicker.ltr .ranges, .daterangepicker.ltr .calendar { 237 | float: left; } 238 | .daterangepicker.rtl { 239 | direction: rtl; 240 | text-align: right; } 241 | .daterangepicker.rtl .calendar.left { 242 | clear: right; 243 | margin-left: 0; } 244 | .daterangepicker.rtl .calendar.left .calendar-table { 245 | border-left: none; 246 | border-top-left-radius: 0; 247 | border-bottom-left-radius: 0; } 248 | .daterangepicker.rtl .calendar.right { 249 | margin-right: 0; } 250 | .daterangepicker.rtl .calendar.right .calendar-table { 251 | border-right: none; 252 | border-top-right-radius: 0; 253 | border-bottom-right-radius: 0; } 254 | .daterangepicker.rtl .left .daterangepicker_input { 255 | padding-left: 12px; } 256 | .daterangepicker.rtl .calendar.left .calendar-table { 257 | padding-left: 12px; } 258 | .daterangepicker.rtl .ranges, .daterangepicker.rtl .calendar { 259 | text-align: right; 260 | float: right; } } 261 | @media (min-width: 730px) { 262 | .daterangepicker .ranges { 263 | width: auto; } 264 | .daterangepicker.ltr .ranges { 265 | float: left; } 266 | .daterangepicker.rtl .ranges { 267 | float: right; } 268 | .daterangepicker .calendar.left { 269 | clear: none !important; } } 270 | -------------------------------------------------------------------------------- /src/vendor/perfect-scrollbar/perfect-scrollbar.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Container style 3 | */ 4 | .ps { 5 | overflow: hidden !important; 6 | overflow-anchor: none; 7 | -ms-overflow-style: none; 8 | touch-action: auto; 9 | -ms-touch-action: auto; 10 | } 11 | 12 | /* 13 | * Scrollbar rail styles 14 | */ 15 | .ps__rail-x { 16 | display: none; 17 | opacity: 0; 18 | transition: background-color .2s linear, opacity .2s linear; 19 | -webkit-transition: background-color .2s linear, opacity .2s linear; 20 | height: 15px; 21 | /* there must be 'bottom' or 'top' for ps__rail-x */ 22 | bottom: 0px; 23 | /* please don't change 'position' */ 24 | position: absolute; 25 | } 26 | 27 | .ps__rail-y { 28 | display: none; 29 | opacity: 0; 30 | transition: background-color .2s linear, opacity .2s linear; 31 | -webkit-transition: background-color .2s linear, opacity .2s linear; 32 | width: 15px; 33 | /* there must be 'right' or 'left' for ps__rail-y */ 34 | right: 0; 35 | /* please don't change 'position' */ 36 | position: absolute; 37 | } 38 | 39 | .ps--active-x > .ps__rail-x, 40 | .ps--active-y > .ps__rail-y { 41 | display: block; 42 | background-color: transparent; 43 | } 44 | 45 | .ps:hover > .ps__rail-x, 46 | .ps:hover > .ps__rail-y, 47 | .ps--focus > .ps__rail-x, 48 | .ps--focus > .ps__rail-y, 49 | .ps--scrolling-x > .ps__rail-x, 50 | .ps--scrolling-y > .ps__rail-y { 51 | opacity: 0.6; 52 | } 53 | 54 | .ps__rail-x:hover, 55 | .ps__rail-y:hover, 56 | .ps__rail-x:focus, 57 | .ps__rail-y:focus { 58 | background-color: #eee; 59 | opacity: 0.9; 60 | } 61 | 62 | /* 63 | * Scrollbar thumb styles 64 | */ 65 | .ps__thumb-x { 66 | background-color: #aaa; 67 | border-radius: 6px; 68 | transition: background-color .2s linear, height .2s ease-in-out; 69 | -webkit-transition: background-color .2s linear, height .2s ease-in-out; 70 | height: 6px; 71 | /* there must be 'bottom' for ps__thumb-x */ 72 | bottom: 2px; 73 | /* please don't change 'position' */ 74 | position: absolute; 75 | } 76 | 77 | .ps__thumb-y { 78 | background-color: #aaa; 79 | border-radius: 6px; 80 | transition: background-color .2s linear, width .2s ease-in-out; 81 | -webkit-transition: background-color .2s linear, width .2s ease-in-out; 82 | width: 6px; 83 | /* there must be 'right' for ps__thumb-y */ 84 | right: 2px; 85 | /* please don't change 'position' */ 86 | position: absolute; 87 | } 88 | 89 | .ps__rail-x:hover > .ps__thumb-x, 90 | .ps__rail-x:focus > .ps__thumb-x { 91 | background-color: #999; 92 | height: 11px; 93 | } 94 | 95 | .ps__rail-y:hover > .ps__thumb-y, 96 | .ps__rail-y:focus > .ps__thumb-y { 97 | background-color: #999; 98 | width: 11px; 99 | } 100 | 101 | /* MS supports */ 102 | @supports (-ms-overflow-style: none) { 103 | .ps { 104 | overflow: auto !important; 105 | } 106 | } 107 | 108 | @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 109 | .ps { 110 | overflow: auto !important; 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /src/vendor/perfect-scrollbar/perfect-scrollbar.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * perfect-scrollbar v1.1.0 3 | * (c) 2017 Hyunje Jun 4 | * @license MIT 5 | */ 6 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.PerfectScrollbar=e()}(this,function(){"use strict";function t(t){return getComputedStyle(t)}function e(t,e){for(var i in e){var n=e[i];"number"==typeof n&&(n+="px"),t.style[i]=n}return t}function i(t){var e=document.createElement("div");return e.className=t,e}function n(t,e){if(!v)throw new Error("No element matching method supported");return v.call(t,e)}function r(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function l(t,e){return Array.prototype.filter.call(t.children,function(t){return n(t,e)})}function o(t,e){var i=t.element.classList,n=m.state.scrolling(e);i.contains(n)?clearTimeout(w[e]):i.add(n)}function s(t,e){w[e]=setTimeout(function(){return t.element.classList.remove(m.state.scrolling(e))},t.settings.scrollingThreshold)}function a(t,e){o(t,e),s(t,e)}function c(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}function h(t,e,i,n){var r=i[0],l=i[1],o=i[2],s=i[3],h=i[4],u=i[5],d=t.element,p=!1;t.reach[s]=null,e<=0&&(e=0,t.reach[s]="start"),e>=t[r]-t[l]&&((e=t[r]-t[l])-d[o]<=2&&(p=!0),t.reach[s]="end");var f=d[o]-e;f&&(d.dispatchEvent(c("ps-scroll-"+s)),f>0?d.dispatchEvent(c("ps-scroll-"+h)):d.dispatchEvent(c("ps-scroll-"+u)),p||(d[o]=e),t.reach[s]&&d.dispatchEvent(c("ps-"+s+"-reach-"+t.reach[s])),n&&a(t,s))}function u(t){return parseInt(t,10)||0}function d(t){return n(t,"input,[contenteditable]")||n(t,"select,[contenteditable]")||n(t,"textarea,[contenteditable]")||n(t,"button,[contenteditable]")}function p(e){var i=t(e);return u(i.width)+u(i.paddingLeft)+u(i.paddingRight)+u(i.borderLeftWidth)+u(i.borderRightWidth)}function f(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function b(t,i){var n={width:i.railXWidth};i.isRtl?n.left=i.negativeScrollAdjustment+t.scrollLeft+i.containerWidth-i.contentWidth:n.left=t.scrollLeft,i.isScrollbarXUsingBottom?n.bottom=i.scrollbarXBottom-t.scrollTop:n.top=i.scrollbarXTop+t.scrollTop,e(i.scrollbarXRail,n);var r={top:t.scrollTop,height:i.railYHeight};i.isScrollbarYUsingRight?i.isRtl?r.right=i.contentWidth-(i.negativeScrollAdjustment+t.scrollLeft)-i.scrollbarYRight-i.scrollbarYOuterWidth:r.right=i.scrollbarYRight-t.scrollLeft:i.isRtl?r.left=i.negativeScrollAdjustment+t.scrollLeft+2*i.containerWidth-i.contentWidth-i.scrollbarYLeft-i.scrollbarYOuterWidth:r.left=i.scrollbarYLeft+t.scrollLeft,e(i.scrollbarYRail,r),e(i.scrollbarX,{left:i.scrollbarXLeft,width:i.scrollbarXWidth-i.railBorderXWidth}),e(i.scrollbarY,{top:i.scrollbarYTop,height:i.scrollbarYHeight-i.railBorderYWidth})}function g(t,e){function i(e){y(t,p,g+m*(e[a]-v),!1),o(t,f),L(t),e.stopPropagation(),e.preventDefault()}function n(){s(t,f),t.event.unbind(t.ownerDocument,"mousemove",i)}var r=e[0],l=e[1],a=e[2],c=e[3],h=e[4],u=e[5],d=e[6],p=e[7],f=e[8],b=t.element,g=null,v=null,m=null;t.event.bind(t[h],"mousedown",function(e){g=b[d],v=e[a],m=(t[l]-t[r])/(t[c]-t[u]),t.event.bind(t.ownerDocument,"mousemove",i),t.event.once(t.ownerDocument,"mouseup",n),e.stopPropagation(),e.preventDefault()})}var v=Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.msMatchesSelector,m={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},w={x:null,y:null},Y=function(t){this.element=t,this.handlers={}},X={isEmpty:{configurable:!0}};Y.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},Y.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter(function(n){return!(!e||n===e)||(i.element.removeEventListener(t,n,!1),!1)})},Y.prototype.unbindAll=function(){var t=this;for(var e in t.handlers)t.unbind(e)},X.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(Y.prototype,X);var W=function(){this.eventElements=[]};W.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new Y(t),this.eventElements.push(e)),e},W.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},W.prototype.unbind=function(t,e,i){var n=this.eventElement(t);n.unbind(e,i),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)},W.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},W.prototype.once=function(t,e,i){var n=this.eventElement(t),r=function(t){n.unbind(e,r),i(t)};n.bind(e,r)};var y=function(t,e,i,n){void 0===n&&(n=!0);var r;if("top"===e)r=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");r=["contentWidth","containerWidth","scrollLeft","x","left","right"]}h(t,i,r,n)},R={isWebKit:document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:navigator&&navigator.msMaxTouchPoints},L=function(t){var e=t.element;t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(l(e,m.element.rail("x")).forEach(function(t){return r(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(l(e,m.element.rail("y")).forEach(function(t){return r(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),b(e,t),t.scrollbarXActive?e.classList.add(m.state.active("x")):(e.classList.remove(m.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,y(t,"left",0)),t.scrollbarYActive?e.classList.add(m.state.active("y")):(e.classList.remove(m.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,y(t,"top",0))},H={"click-rail":function(t){var e=t.element;t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(i){var n=i.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top>t.scrollbarYTop?1:-1;y(t,"top",e.scrollTop+n*t.containerHeight),L(t),i.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(i){var n=i.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left>t.scrollbarXLeft?1:-1;y(t,"left",e.scrollLeft+n*t.containerWidth),L(t),i.stopPropagation()})},"drag-thumb":function(t){g(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","left","x"]),g(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","top","y"])},keyboard:function(t){function e(e,n){var r=i.scrollTop;if(0===e){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}var l=i.scrollLeft;if(0===n){if(!t.scrollbarXActive)return!1;if(0===l&&e<0||l>=t.contentWidth-t.containerWidth&&e>0)return!t.settings.wheelPropagation}return!0}var i=t.element,r=function(){return n(i,":hover")},l=function(){return n(t.scrollbarX,":focus")||n(t.scrollbarY,":focus")};t.event.bind(t.ownerDocument,"keydown",function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(r()||l())){var o=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(o){if("IFRAME"===o.tagName)o=o.contentDocument.activeElement;else for(;o.shadowRoot;)o=o.shadowRoot.activeElement;if(d(o))return}var s=0,a=0;switch(n.which){case 37:s=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:a=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:s=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:a=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 32:a=n.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==a||(y(t,"top",i.scrollTop-a),y(t,"left",i.scrollLeft+s),L(t),e(s,a)&&n.preventDefault())}})},wheel:function(e){function i(t,i){var n=o.scrollTop;if(0===t){if(!e.scrollbarYActive)return!1;if(0===n&&i>0||n>=e.contentHeight-e.containerHeight&&i<0)return!e.settings.wheelPropagation}var r=o.scrollLeft;if(0===i){if(!e.scrollbarXActive)return!1;if(0===r&&t<0||r>=e.contentWidth-e.containerWidth&&t>0)return!e.settings.wheelPropagation}return!0}function n(t){var e=t.deltaX,i=-1*t.deltaY;return void 0!==e&&void 0!==i||(e=-1*t.wheelDeltaX/6,i=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,i*=10),e!==e&&i!==i&&(e=0,i=t.wheelDelta),t.shiftKey?[-i,-e]:[e,i]}function r(e,i,n){if(!R.isWebKit&&o.querySelector("select:focus"))return!0;if(!o.contains(e))return!1;for(var r=e;r&&r!==o;){if(r.classList.contains(m.element.consuming))return!0;var l=t(r);if([l.overflow,l.overflowX,l.overflowY].join("").match(/(scroll|auto)/)){var s=r.scrollHeight-r.clientHeight;if(s>0&&!(0===r.scrollTop&&n>0||r.scrollTop===s&&n<0))return!0;var a=r.scrollLeft-r.clientWidth;if(a>0&&!(0===r.scrollLeft&&i<0||r.scrollLeft===a&&i>0))return!0}r=r.parentNode}return!1}function l(t){var l=n(t),s=l[0],a=l[1];if(!r(t.target,s,a)){var c=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(a?y(e,"top",o.scrollTop-a*e.settings.wheelSpeed):y(e,"top",o.scrollTop+s*e.settings.wheelSpeed),c=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(s?y(e,"left",o.scrollLeft+s*e.settings.wheelSpeed):y(e,"left",o.scrollLeft-a*e.settings.wheelSpeed),c=!0):(y(e,"top",o.scrollTop-a*e.settings.wheelSpeed),y(e,"left",o.scrollLeft+s*e.settings.wheelSpeed)),L(e),(c=c||i(s,a))&&(t.stopPropagation(),t.preventDefault())}}var o=e.element;void 0!==window.onwheel?e.event.bind(o,"wheel",l):void 0!==window.onmousewheel&&e.event.bind(o,"mousewheel",l)},touch:function(t){function e(e,i){var n=h.scrollTop,r=h.scrollLeft,l=Math.abs(e),o=Math.abs(i);if(o>l){if(i<0&&n===t.contentHeight-t.containerHeight||i>0&&0===n)return{stop:!t.settings.swipePropagation,prevent:0===window.scrollY}}else if(l>o&&(e<0&&r===t.contentWidth-t.containerWidth||e>0&&0===r))return{stop:!t.settings.swipePropagation,prevent:!0};return{stop:!0,prevent:!0}}function i(e,i){y(t,"top",h.scrollTop-i),y(t,"left",h.scrollLeft-e),L(t)}function n(){b=!0}function r(){b=!1}function l(t){return t.targetTouches?t.targetTouches[0]:t}function o(t){return!(t.pointerType&&"pen"===t.pointerType&&0===t.buttons||(!t.targetTouches||1!==t.targetTouches.length)&&(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function s(t){if(o(t)){g=!0;var e=l(t);u.pageX=e.pageX,u.pageY=e.pageY,d=(new Date).getTime(),null!==f&&clearInterval(f),t.stopPropagation()}}function a(n){if(!g&&t.settings.swipePropagation&&s(n),!b&&g&&o(n)){var r=l(n),a={pageX:r.pageX,pageY:r.pageY},c=a.pageX-u.pageX,h=a.pageY-u.pageY;i(c,h),u=a;var f=(new Date).getTime(),v=f-d;v>0&&(p.x=c/v,p.y=h/v,d=f);var m=e(c,h),w=m.stop,Y=m.prevent;w&&n.stopPropagation(),Y&&n.preventDefault()}}function c(){!b&&g&&(g=!1,t.settings.swipeEasing&&(clearInterval(f),f=setInterval(function(){t.isInitialized?clearInterval(f):p.x||p.y?Math.abs(p.x)<.01&&Math.abs(p.y)<.01?clearInterval(f):(i(30*p.x,30*p.y),p.x*=.8,p.y*=.8):clearInterval(f)},10)))}if(R.supportsTouch||R.supportsIePointer){var h=t.element,u={},d=0,p={},f=null,b=!1,g=!1;R.supportsTouch?(t.event.bind(window,"touchstart",n),t.event.bind(window,"touchend",r),t.event.bind(h,"touchstart",s),t.event.bind(h,"touchmove",a),t.event.bind(h,"touchend",c)):R.supportsIePointer&&(window.PointerEvent?(t.event.bind(window,"pointerdown",n),t.event.bind(window,"pointerup",r),t.event.bind(h,"pointerdown",s),t.event.bind(h,"pointermove",a),t.event.bind(h,"pointerup",c)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",n),t.event.bind(window,"MSPointerUp",r),t.event.bind(h,"MSPointerDown",s),t.event.bind(h,"MSPointerMove",a),t.event.bind(h,"MSPointerUp",c)))}}},T=function(n,r){var l=this;if(void 0===r&&(r={}),"string"==typeof n&&(n=document.querySelector(n)),!n||!n.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=n,n.classList.add(m.main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1};for(var o in r)l.settings[o]=r[o];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var s=function(){return n.classList.add(m.state.focus)},a=function(){return n.classList.remove(m.state.focus)};this.isRtl="rtl"===t(n).direction,this.isNegativeScroll=function(){var t=n.scrollLeft,e=null;return n.scrollLeft=-1,e=n.scrollLeft<0,n.scrollLeft=t,e}(),this.negativeScrollAdjustment=this.isNegativeScroll?n.scrollWidth-n.clientWidth:0,this.event=new W,this.ownerDocument=n.ownerDocument||document,this.scrollbarXRail=i(m.element.rail("x")),n.appendChild(this.scrollbarXRail),this.scrollbarX=i(m.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",s),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var c=t(this.scrollbarXRail);this.scrollbarXBottom=parseInt(c.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=u(c.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=u(c.borderLeftWidth)+u(c.borderRightWidth),e(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=u(c.marginLeft)+u(c.marginRight),e(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=i(m.element.rail("y")),n.appendChild(this.scrollbarYRail),this.scrollbarY=i(m.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",s),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var h=t(this.scrollbarYRail);this.scrollbarYRight=parseInt(h.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=u(h.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?p(this.scrollbarY):null,this.railBorderYWidth=u(h.borderTopWidth)+u(h.borderBottomWidth),e(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=u(h.marginTop)+u(h.marginBottom),e(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:n.scrollLeft<=0?"start":n.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:n.scrollTop<=0?"start":n.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.settings.handlers.forEach(function(t){return H[t](l)}),this.event.bind(this.element,"scroll",function(){return L(l)}),L(this)},E={isInitialized:{configurable:!0}};return E.isInitialized.get=function(){return this.element.classList.contains(m.main)},T.prototype.update=function(){this.isInitialized&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,e(this.scrollbarXRail,{display:"block"}),e(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=u(t(this.scrollbarXRail).marginLeft)+u(t(this.scrollbarXRail).marginRight),this.railYMarginHeight=u(t(this.scrollbarYRail).marginTop)+u(t(this.scrollbarYRail).marginBottom),e(this.scrollbarXRail,{display:"none"}),e(this.scrollbarYRail,{display:"none"}),L(this),e(this.scrollbarXRail,{display:""}),e(this.scrollbarYRail,{display:""}))},T.prototype.destroy=function(){this.isInitialized&&(this.event.unbindAll(),r(this.scrollbarX),r(this.scrollbarY),r(this.scrollbarXRail),r(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null)},T.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")},Object.defineProperties(T.prototype,E),T}); -------------------------------------------------------------------------------- /src/vendor/select2/select2.min.css: -------------------------------------------------------------------------------- 1 | .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} 2 | -------------------------------------------------------------------------------- /travis.yml: -------------------------------------------------------------------------------- 1 | config-information: 2 | - version: 0.1 3 | - built: source 4 | - compile: none 5 | - git-enabled: true 6 | --------------------------------------------------------------------------------