├── img ├── google.png ├── profile.png ├── LOGO_IH_256.png └── cd-arrow.svg ├── projects ├── images │ ├── not-found.png │ └── weather-icon.ico ├── README.md ├── index.html ├── css │ └── style.css └── project.js ├── LICENSE ├── js ├── scripts.min.js ├── freelancer.js ├── bootstrap-portfilter.js ├── contact_me.js ├── jquery.mobile.custom.min.js ├── main.js ├── modernizr.js └── jquery-2.1.4.js ├── README.md ├── css └── styles.css └── index.html /img/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossiiita/iiitahacks.github.io/master/img/google.png -------------------------------------------------------------------------------- /img/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossiiita/iiitahacks.github.io/master/img/profile.png -------------------------------------------------------------------------------- /img/LOGO_IH_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossiiita/iiitahacks.github.io/master/img/LOGO_IH_256.png -------------------------------------------------------------------------------- /projects/images/not-found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossiiita/iiitahacks.github.io/master/projects/images/not-found.png -------------------------------------------------------------------------------- /projects/images/weather-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossiiita/iiitahacks.github.io/master/projects/images/weather-icon.ico -------------------------------------------------------------------------------- /img/cd-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /projects/README.md: -------------------------------------------------------------------------------- 1 | ###About 2 | 3 | This folder has the links to all the projects done during hackinthenorth hackathon by the various participants. 4 | 5 | ###Steps to Add your Project 6 | 7 | * Clone this repository 8 | * Edit the project.js file 9 | * Add your project with a thumbnail image and github link to your project as follow: 10 | 11 | ``` 12 | var projects = { 13 | .... 14 | "":{ 15 | "image":"images/", 16 | "team":"", 17 | "link":"" 18 | }, 19 | .... 20 | } 21 | ``` 22 | * Upload the thumbnail image to the images folder 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Diwakar M 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 | -------------------------------------------------------------------------------- /js/scripts.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Freelancer v1.1.1 (http://startbootstrap.com/template-overviews/freelancer) 3 | * Copyright 2013-2016 Start Bootstrap 4 | * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE) 5 | */ 6 | ! function(o) { 7 | "use strict"; 8 | o(".page-scroll a").bind("click", function(t) { 9 | var l = o(this); 10 | o("html, body").stop().animate({ 11 | scrollTop: o(l.attr("href")).offset().top - 50 12 | }, 1250, "easeInOutExpo"), t.preventDefault() 13 | }), o("body").scrollspy({ 14 | target: ".navbar-fixed-top", 15 | offset: 51 16 | }), o(".navbar-collapse ul li a:not(.dropdown-toggle)").click(function() { 17 | o(".navbar-toggle:visible").click() 18 | }), o("#mainNav").affix({ 19 | offset: { 20 | top: 100 21 | } 22 | }), o(function() { 23 | o("body").on("input propertychange", ".floating-label-form-group", function(t) { 24 | o(this).toggleClass("floating-label-form-group-with-value", !!o(t.target).val()) 25 | }).on("focus", ".floating-label-form-group", function() { 26 | o(this).addClass("floating-label-form-group-with-focus") 27 | }).on("blur", ".floating-label-form-group", function() { 28 | o(this).removeClass("floating-label-form-group-with-focus") 29 | }) 30 | }) 31 | }(jQuery); 32 | -------------------------------------------------------------------------------- /js/freelancer.js: -------------------------------------------------------------------------------- 1 | // Freelancer Theme JavaScript 2 | 3 | (function($) { 4 | "use strict"; // Start of use strict 5 | 6 | // jQuery for page scrolling feature - requires jQuery Easing plugin 7 | $('.page-scroll a').bind('click', function(event) { 8 | var $anchor = $(this); 9 | $('html, body').stop().animate({ 10 | scrollTop: ($($anchor.attr('href')).offset().top - 50) 11 | }, 1250, 'easeInOutExpo'); 12 | event.preventDefault(); 13 | }); 14 | 15 | // Highlight the top nav as scrolling occurs 16 | $('body').scrollspy({ 17 | target: '.navbar-fixed-top', 18 | offset: 51 19 | }); 20 | 21 | // Closes the Responsive Menu on Menu Item Click 22 | $('.navbar-collapse ul li a:not(.dropdown-toggle)').click(function() { 23 | $('.navbar-toggle:visible').click(); 24 | }); 25 | 26 | // Offset for Main Navigation 27 | $('#mainNav').affix({ 28 | offset: { 29 | top: 100 30 | } 31 | }) 32 | 33 | // Floating label headings for the contact form 34 | $(function() { 35 | $("body").on("input propertychange", ".floating-label-form-group", function(e) { 36 | $(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val()); 37 | }).on("focus", ".floating-label-form-group", function() { 38 | $(this).addClass("floating-label-form-group-with-focus"); 39 | }).on("blur", ".floating-label-form-group", function() { 40 | $(this).removeClass("floating-label-form-group-with-focus"); 41 | }); 42 | }); 43 | 44 | })(jQuery); // End of use strict 45 | -------------------------------------------------------------------------------- /projects/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | IIITA Hacks | Projects 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 |
19 |
20 |

IIITA Hacks Projects

21 |
22 |
23 |


24 |
25 | 26 |
27 |


28 |
29 | 30 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /projects/css/style.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | padding-top: 40px; 4 | background-color: #2c3e50; 5 | color: #fff; 6 | font-family: 'Josefin Sans', sans-serif; 7 | animation: background 90s linear infinite; 8 | -webkit-animation: background 21s linear infinite; 9 | } 10 | 11 | h1 { 12 | font-family: 'Josefin Sans', sans-serif; 13 | font-size: 54px; 14 | } 15 | 16 | .card { 17 | border-radius: 5px; 18 | //background-color: #246d96; 19 | background-color: #fff; 20 | margin: 10px; 21 | padding: 10px; 22 | //border-style: solid; 23 | //border-width: 2px; 24 | //border-color: #fff; 25 | //border-color: #222; 26 | color: #000; 27 | } 28 | 29 | .card * { 30 | padding: 8px; 31 | } 32 | 33 | .card img { 34 | width: 100px; 35 | height: 100px; 36 | float: left; 37 | border-radius: 50%; 38 | } 39 | 40 | .btn-new { 41 | background-color: #18BC9C; 42 | color: #fff; 43 | } 44 | 45 | .btn-new:link { 46 | background-color: #18BC9C; 47 | color: #fff; 48 | } 49 | 50 | .btn-new:visited { 51 | background-color: #18BC9C; 52 | color: #fff; 53 | } 54 | 55 | .btn-new:hover { 56 | background-color: #18BC9C; 57 | color: #fff; 58 | } 59 | 60 | .btn-new:active { 61 | background-color: #18BC9C; 62 | color: #fff; 63 | } 64 | 65 | @keyframes background { 66 | 0% { 67 | background: #74C390; 68 | } 69 | 16% { 70 | background: #5DBDB6; 71 | } 72 | 33% { 73 | background: #59D4E1; 74 | } 75 | 50% { 76 | background: #51BCE8; 77 | } 78 | 66% { 79 | background: #FA5374; 80 | } 81 | 83% { 82 | background: #E46653; 83 | } 84 | 100% { 85 | background: #74C390; 86 | } 87 | } 88 | 89 | @-webkit-keyframes background { 90 | 0% { 91 | background: #74C390; 92 | transform: rotate(0deg); 93 | } 94 | 16% { 95 | background: #5DBDB6; 96 | } 97 | 33% { 98 | background: #59D4E1; 99 | } 100 | 50% { 101 | background: #51BCE8; 102 | } 103 | 66% { 104 | background: #FA5374; 105 | } 106 | 83% { 107 | background: #E46653; 108 | } 109 | 100% { 110 | background: #74C390; 111 | transform: rotate(360deg); 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /js/bootstrap-portfilter.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-portfilter.js for Bootstrap v2.3.1 3 | * https://github.com/geedmo/portfilter 4 | * ============================================================ 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ 19 | * 20 | * jQuery (Very) Lightweight Portfolio Filter for Bootstrap 21 | * 22 | * Author: Geedmo (http://geedmo.com) 23 | * Version: 1.0 24 | * Usage: 25 | * For handlers 26 | * ... 27 | * For items 28 | * ... 29 | * ============================================================ */ 30 | 31 | !function ($) { 32 | 33 | "use strict"; // jshint ;_; 34 | 35 | var pluginName = 'portfilter'; 36 | 37 | /* PUBLIC CLASS DEFINITION 38 | * ============================== */ 39 | 40 | var PortFilter = function (element) { 41 | 42 | this.$element = $(element) 43 | this.stuff = $('[data-tag]'); 44 | this.target = this.$element.data('target') || ''; 45 | 46 | } 47 | 48 | PortFilter.prototype.filter = function (params) { 49 | var items = [], 50 | target = this.target; 51 | this.stuff 52 | .fadeOut('fast').promise().done(function(){ 53 | $(this).each(function(){ 54 | if($(this).data('tag') == target || target == 'all') 55 | items.push(this); 56 | }); 57 | $(items).show() 58 | }); 59 | } 60 | 61 | 62 | /* PLUGIN DEFINITION 63 | * ======================== */ 64 | 65 | var old = $.fn[pluginName] 66 | 67 | $.fn[pluginName] = function (option) { 68 | return this.each(function () { 69 | var $this = $(this) 70 | , data = $this.data(pluginName); 71 | 72 | if(!data) $this.data(pluginName, (data = new PortFilter(this))) 73 | 74 | if (option == 'filter') data.filter() 75 | }) 76 | } 77 | 78 | // DEFAULTS 79 | $.fn[pluginName].defaults = {} 80 | 81 | // CONSTRUCTOR CONVENTION 82 | $.fn[pluginName].Constructor = PortFilter; 83 | 84 | 85 | /* PORTFILTER NO CONFLICT 86 | * ================== */ 87 | 88 | $.fn[pluginName].noConflict = function () { 89 | $.fn[pluginName] = old 90 | return this 91 | } 92 | 93 | /* PORTFILTER DATA-API 94 | * =============== */ 95 | 96 | $(document).on('click.portfilter.data-api', '[data-toggle^=portfilter]', function (e) { 97 | $(this).portfilter('filter') 98 | }) 99 | 100 | }(window.jQuery); 101 | -------------------------------------------------------------------------------- /js/contact_me.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | $("#contactForm input,#contactForm textarea").jqBootstrapValidation({ 4 | preventSubmit: true, 5 | submitError: function($form, event, errors) { 6 | // additional error messages or events 7 | }, 8 | submitSuccess: function($form, event) { 9 | // Prevent spam click and default submit behaviour 10 | $("#btnSubmit").attr("disabled", true); 11 | event.preventDefault(); 12 | 13 | // get values from FORM 14 | var name = $("input#name").val(); 15 | var email = $("input#email").val(); 16 | var phone = $("input#phone").val(); 17 | var message = $("textarea#message").val(); 18 | var firstName = name; // For Success/Failure Message 19 | // Check for white space in name for Success/Fail message 20 | if (firstName.indexOf(' ') >= 0) { 21 | firstName = name.split(' ').slice(0, -1).join(' '); 22 | } 23 | $.ajax({ 24 | url: "https://formspree.io/diwakar03121997@gmail.com", 25 | type: "POST", 26 | data: { 27 | name: name, 28 | phone: phone, 29 | email: email, 30 | message: message 31 | }, 32 | dataType: "json", 33 | cache: false, 34 | success: function() { 35 | // Enable button & show success message 36 | $("#btnSubmit").attr("disabled", false); 37 | $('#success').html("
"); 38 | $('#success > .alert-success').html(""); 40 | $('#success > .alert-success') 41 | .append("Your message has been sent. "); 42 | $('#success > .alert-success') 43 | .append('
'); 44 | 45 | //clear all fields 46 | $('#contactForm').trigger("reset"); 47 | }, 48 | error: function() { 49 | // Fail message 50 | $('#success').html("
"); 51 | $('#success > .alert-danger').html(""); 53 | $('#success > .alert-danger').append("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"); 54 | $('#success > .alert-danger').append('
'); 55 | //clear all fields 56 | $('#contactForm').trigger("reset"); 57 | }, 58 | }); 59 | }, 60 | filter: function() { 61 | return $(this).is(":visible"); 62 | }, 63 | }); 64 | 65 | $("a[data-toggle=\"tab\"]").click(function(e) { 66 | e.preventDefault(); 67 | $(this).tab("show"); 68 | }); 69 | }); 70 | 71 | // When clicking on Full hide fail/success boxes 72 | $('#name').focus(function() { 73 | $('#success').html(''); 74 | }); 75 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # iiitahacks.github.io 2 | Website of iiita hacks hackthon. 3 | 4 | The hackthon is from 10th Sep 9 pm Sat to Sun 3 pm. 5 | 6 | ##### Project Maintainter: [magician03](https://www.github.com/magician03) (Diwakar) 7 | 8 | Steps for participants 9 | --------------------- 10 | 1. Fork this repository 11 | 2. Go to projects folder 12 | 3. Edit the project.json file . Refer the readme there for more info. 13 | 4. Send a pull request in the format "Add " to your repo. 14 | 5. Send PR to the main repo 15 | 16 | If you face any problems please contact any organiser for any doubts. We are here to help you. 17 | --------------------------------------------------------------------------------------------- 18 | 19 | Rules 20 | ----- 21 | 1. A team must consist of a maximum of 5 members. At least one fresher is compulsory. 22 | 2. To ensure a level playing field for all contestants, all code, design and assets must be created during the duration of the Hackathon. 23 | 3. You are, however, free to make plans, create wireframes, and brainstorm prior to the event. The only exception to this rule would include material that is freely available to the public. 24 | 4. The teams will be subject to a code review to verify that there was no foul play.If your project is caught for plagiarism you will be disqualified. No appeals would be taken. 25 | 5. Teams cannot use their previously written code. Judges are clever enough to understand. 26 | 6. You are encouraged to use 3rd party services, APIs, open source projects, libraries, and frameworks. 27 | 7. All teams retain full ownership of what they have created during the Hackathon. 28 | 8. Be kind to others. Do not insult or put down other attendees.Attendees violating these rules may be asked to leave the Hackathon at the sole discretion of the Hackathon organizers. 29 | 9. You are required to make a github repo and push all your code before 1. 6 am on 11th September 2. After final submission, add your repo link in this https://github.com/…/iiitahacks.github…/tree/master/projects 30 | 10. You are required to have a live demo ready by the end of 11th sep 12 pm .Powerpoint presentations or videos are encouraged but not compulsory. 31 | 11. First years allotted to you will be final. Any request to change or transfer will not be entertained without proper reason. 32 | 33 | Winners 34 | ----------- 35 | #1. KrayZ 36 | Indresh Attri - IIT20150121 37 | Rajatbir Singh Bajwa - RIT2015012 38 | Piyush Gurnule - IEC2016026 39 | Nakul Srivastava - IIT2016056 40 | Madhur Gupta IIT2016083 41 | #2.And_the_winner_is 42 | Abhishek Deora - IIT2014141 43 | Aditya Kumawat - ICM2014001 44 | Yogesh Gupta - IRM2014004 45 | Aswanth - IIT2016105 46 | Niharika Srivastava - IEC2016044 47 | #3.Vimjas 48 | Aditya Dewan - IIT2015097 49 | Himanshu Gusain - IIT2015090 50 | Deepak Kumar Yadav - IIT2015124 51 | Neil Leeson Syiemlieh - IIT2015125 52 | Rochisha Haldyani - IIT2016139 53 | #BestGirlsTeam : Gallifreyans 54 | Akanksha Bharadwaj - RIT2015053 55 | Shivani Singhal - RIT2015011 56 | Geetika Bakshi - RIT2015003 57 | Srishti Agarwal - ECM2016001 58 | Those who missed by an inch. 59 | #Meet your makers: 60 | Himanshu Vimal - IRO2015001 61 | Swapnil Verma - IRO2015002 62 | Krishan Kumar - IRO2015007 63 | Druval CR - IMM2016005 64 | #Droid fuelled 65 | Pranjal Paliwal - RIT2015015 66 | Suraj Singh - RIT2015013 67 | Harsh Gupta - RIT2015012 68 | Utkarsh Gupta - IEC2016026 69 | Prajal Bhandari - IIT2016056 70 | #noobGod 71 | Abhishekh Jaiswal - IIT2013129 72 | Abhishekh Agarwal - IIT2013128 73 | Nilotpal Pramanik - BIM2016005 74 | Surabhi Gogte - IIT2016053 75 | #Progamers 76 | Harsh Shah - IIT2014071 77 | Maharshi Roy - ISM2014006 78 | Priyanka Karnati - IIT2016080 79 | #Checkmate 80 | M Diwakar - IIT2015051 81 | Arul Prakaash A - IIM2015002 82 | Akshay Kumar - IIT2016018 83 | Dhvit Mehta - ICM2016003 84 | P DInesh IIT2015060 85 | #Lannisters suck 86 | Sameer Killamsetty - IIT2013042 87 | Anurag Das - IIT2013198 88 | Aanandita Dhawan - IEC2016052 89 | #Nullvector[1] 90 | Aseem Shrey - RIT2015044 91 | Abhishek Singhal - RIT2015016 92 | Anurag Kushwaha - RIT2015058 93 | Manan Maheshwari - LIT2016065 94 | Shreyansh Chaudhary - IIT2016068 95 | #Hopeless 96 | Saptak Sengupta - IIT2013193 97 | Neha Kandpal - IEC2015048 98 | Shubhangi Nigam - IIT2016023 99 | Gauri Kesarwani - IEC2016014 100 | Ridam Arora - IIT2016134 101 | #Daemons 102 | Himanshu Shekhar - RIT2015013 103 | Souvik Sen - RIT2015012 104 | Priyanshu Kumar - IEC2016026 105 | Nabeel Jawahir - IIT2016056 106 | -------------------------------------------------------------------------------- /projects/project.js: -------------------------------------------------------------------------------- 1 | var projects = { 2 | 3 | "":{ 4 | "image":"https://avatars3.githubusercontent.com/u/22071699?v=3&s=200", 5 | "team":"IIIT-A Hacks", 6 | "link":"https://github.com/iiitahacks" 7 | }, 8 | 9 | "Augumented Reality based pokemon fight game": { 10 | "image": "http://orig03.deviantart.net/d3c1/f/2015/187/5/0/pikachu_icon_by_tooncito-d907bf9.jpg", 11 | "team" : "noobGod", 12 | "link" : "https://github.com/abshk111/PokemonApp" 13 | }, 14 | 15 | "Gather": { 16 | "image":"https://avatars3.githubusercontent.com/u/22071699?v=3&s=200", 17 | "team":"checkmate", 18 | "link":"https://github.com/magician03/gather" 19 | }, 20 | 21 | "KrayZ": { 22 | "image":"https://openclipart.org/image/800px/svg_to_png/227918/Video-Game-Controller-Icon.png", 23 | "team":"Krayz", 24 | "link":"https://github.com/indreshattri/KrayZ" 25 | }, 26 | 27 | "voix": { 28 | "image":"http://images.clipartpanda.com/simple-microphone-vector-microphone-voice_318-26622.jpg", 29 | "team":"HopeLess", 30 | "link":"https://github.com/SaptakS/voix.git" 31 | }, 32 | 33 | "Khana Khazana":{ 34 | "image":"http://www.quirkybyte.com/wp-content/uploads/2016/08/non-veg-dishes.jpg", 35 | "team":"bits please", 36 | "link":"https://github.com/akanshugupta9/khana-khazana" 37 | }, 38 | 39 | "IIITA Cart": { 40 | "image":"http://www.iconsplace.com/icons/preview/orange/shoping-cart-filled-256.png", 41 | "team":"fellow hackers", 42 | "link":"https://github.com/fellowhacker/iiitacart" 43 | }, 44 | 45 | "Bunk Manager":{ 46 | "image":"https://avatars3.githubusercontent.com/u/22071699?v=3&s=200", 47 | "team":"Error:404", 48 | "link":"https://github.com/prankuragarwal/Error-404-Attendance_manager" 49 | }, 50 | 51 | "Smart Locator":{ 52 | "image":"https://avatars3.githubusercontent.com/u/22071699?v=3&s=200", 53 | "team":"Droid Fueled", 54 | "link":"https://github.com/betterclever/Smart-Locator" 55 | }, 56 | 57 | "Kisan Mandi":{ 58 | "image":"http://www.commondreams.org/sites/default/files/styles/cd_large/public/views-article/world_bank_farming.jpg?itok=jPw38H4p", 59 | "team":"Android Geeks", 60 | "link":"https://github.com/rajatm005/Kisan-Mandi" 61 | }, 62 | 63 | "smiplify" : { 64 | "image": "http://www.simplifynow.org/wp-content/uploads/2014/10/simplify-fb-logo1.jpg", 65 | "team" : "and_the_winner_is", 66 | "link" : "https://github.com/adeora7/simplify" 67 | 68 | }, 69 | 70 | "Tweelyser":{ 71 | "image":"https://s3.amazonaws.com/images.seroundtable.com/twitter-logo-anlytics-1371211804.png", 72 | "team":"daemons", 73 | "link":"https//github.com/himanshub16/tweelyser" 74 | }, 75 | 76 | "MoodSplash":{ 77 | "image":"http://data.whicdn.com/images/32772812/original.gif", 78 | "team":"Gallifreyans", 79 | "link":"https://github.com/sashafierce/MoodSplash" 80 | }, 81 | 82 | "smartSwitch":{ 83 | "image":"http://cdn.toptenreviews.com/rev/prod/ce/61046-ankuoo-neo-wi-fi-light-switch-box.jpg", 84 | "team":"MeetYourMakers", 85 | "link":"https://github.com/sw4p/Smart-Switch" 86 | }, 87 | 88 | "Weather-stat":{ 89 | "image":"https://github.com/ritikamotwani/iiitahacks.github.io/blob/master/projects/images/weather-icon.ico", 90 | "team":"kuchbhi", 91 | "link":"https://github.com/ritikamotwani/Weather-stat" 92 | }, 93 | 94 | "Imsify":{ 95 | "image":"https://github.com/Trailblazerr1/iiita-hacks-musify/blob/master/app/static/img/party.jpg", 96 | "team":"NullVectors", 97 | "link":"https://github.com/Trailblazerr1/iiita-hacks-musify" 98 | }, 99 | 100 | "smart facebook birthday assistant": { 101 | "image":"https://avatars3.githubusercontent.com/u/22071699?v=3&s=200", 102 | "team":"lannisters sucks", 103 | "link":"https://github.com/sameer2800/IIITA_HACKS" 104 | }, 105 | "No-Distractiton Atom plug-in":{ 106 | "image":"https://camo.githubusercontent.com/2c08678c355ef710338f4abf170cc999501b4093/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f36393136392f323239303235302f63333564383637612d613031372d313165332d383662652d6364376335626633666639622e676966", 107 | "team":"Vimjas", 108 | "link":"https://github.com/dewana-dewan/IIITA-Hacks" 109 | }, 110 | "Ungli": { 111 | "image":"https://raw.githubusercontent.com/BelieveC/Ungli/master/Preview/Ungli.png", 112 | "team":"corrupt_shooters", 113 | "link":"https://github.com/BelieveC/Ungli" 114 | }, 115 | "Third Eye":{ 116 | "image":"https://raw.githubusercontent.com/RaghavTheCyberdude/ThirdEye/master/media/logo.png", 117 | "team":"W.I.C.K.E.D.", 118 | "link":"https://github.com/RaghavTheCyberdude/ThirdEye" 119 | } 120 | 121 | } 122 | -------------------------------------------------------------------------------- /js/jquery.mobile.custom.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery Mobile v1.4.5 | Copyright 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ 2 | 3 | (function(e,t,n){typeof define=="function"&&define.amd?define(["jquery"],function(r){return n(r,e,t),r.mobile}):n(e.jQuery,e,t)})(this,document,function(e,t,n,r){(function(e,t,n,r){function T(e){while(e&&typeof e.originalEvent!="undefined")e=e.originalEvent;return e}function N(t,n){var i=t.type,s,o,a,l,c,h,p,d,v;t=e.Event(t),t.type=n,s=t.originalEvent,o=e.event.props,i.search(/^(mouse|click)/)>-1&&(o=f);if(s)for(p=o.length,l;p;)l=o[--p],t[l]=s[l];i.search(/mouse(down|up)|click/)>-1&&!t.which&&(t.which=1);if(i.search(/^touch/)!==-1){a=T(s),i=a.touches,c=a.changedTouches,h=i&&i.length?i[0]:c&&c.length?c[0]:r;if(h)for(d=0,v=u.length;di||Math.abs(n.pageY-p)>i,d&&!r&&P("vmousecancel",t,s),P("vmousemove",t,s),_()}function I(e){if(g)return;A();var t=C(e.target),n,r;P("vmouseup",e,t),d||(n=P("vclick",e,t),n&&n.isDefaultPrevented()&&(r=T(e).changedTouches[0],v.push({touchID:E,x:r.clientX,y:r.clientY}),m=!0)),P("vmouseout",e,t),d=!1,_()}function q(t){var n=e.data(t,i),r;if(n)for(r in n)if(n[r])return!0;return!1}function R(){}function U(t){var n=t.substr(1);return{setup:function(){q(this)||e.data(this,i,{});var r=e.data(this,i);r[t]=!0,l[t]=(l[t]||0)+1,l[t]===1&&b.bind(n,H),e(this).bind(n,R),y&&(l.touchstart=(l.touchstart||0)+1,l.touchstart===1&&b.bind("touchstart",B).bind("touchend",I).bind("touchmove",F).bind("scroll",j))},teardown:function(){--l[t],l[t]||b.unbind(n,H),y&&(--l.touchstart,l.touchstart||b.unbind("touchstart",B).unbind("touchmove",F).unbind("touchend",I).unbind("scroll",j));var r=e(this),s=e.data(this,i);s&&(s[t]=!1),r.unbind(n,R),q(this)||r.removeData(i)}}}var i="virtualMouseBindings",s="virtualTouchID",o="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),u="clientX clientY pageX pageY screenX screenY".split(" "),a=e.event.mouseHooks?e.event.mouseHooks.props:[],f=e.event.props.concat(a),l={},c=0,h=0,p=0,d=!1,v=[],m=!1,g=!1,y="addEventListener"in n,b=e(n),w=1,E=0,S,x;e.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500};for(x=0;xMath.floor(e.pageY)||e.pageX===0&&Math.floor(i)>Math.floor(e.pageX))i-=n,s-=r;else if(se.event.special.swipe.horizontalDistanceThreshold&&Math.abs(t.coords[1]-n.coords[1])n.coords[0]?"swipeleft":"swiperight";return l(r,"swipe",e.Event("swipe",{target:i,swipestart:t,swipestop:n}),!0),l(r,s,e.Event(s,{target:i,swipestart:t,swipestop:n}),!0),!0}return!1},eventInProgress:!1,setup:function(){var t,n=this,r=e(n),s={};t=e.data(this,"mobile-events"),t||(t={length:0},e.data(this,"mobile-events",t)),t.length++,t.swipe=s,s.start=function(t){if(e.event.special.swipe.eventInProgress)return;e.event.special.swipe.eventInProgress=!0;var r,o=e.event.special.swipe.start(t),u=t.target,l=!1;s.move=function(t){if(!o||t.isDefaultPrevented())return;r=e.event.special.swipe.stop(t),l||(l=e.event.special.swipe.handleSwipe(o,r,n,u),l&&(e.event.special.swipe.eventInProgress=!1)),Math.abs(o.coords[0]-r.coords[0])>e.event.special.swipe.scrollSupressionThreshold&&t.preventDefault()},s.stop=function(){l=!0,e.event.special.swipe.eventInProgress=!1,i.off(f,s.move),s.move=null},i.on(f,s.move).one(a,s.stop)},r.on(u,s.start)},teardown:function(){var t,n;t=e.data(this,"mobile-events"),t&&(n=t.swipe,delete t.swipe,t.length--,t.length===0&&e.removeData(this,"mobile-events")),n&&(n.start&&e(this).off(u,n.start),n.move&&i.off(f,n.move),n.stop&&i.off(a,n.stop))}},e.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe.left",swiperight:"swipe.right"},function(t,n){e.event.special[t]={setup:function(){e(this).bind(n,e.noop)},teardown:function(){e(this).unbind(n)}}})}(e,this)}); 4 | -------------------------------------------------------------------------------- /js/main.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function($){ 2 | var timelines = $('.cd-horizontal-timeline'), 3 | eventsMinDistance = 80; 4 | 5 | (timelines.length > 0) && initTimeline(timelines); 6 | 7 | function initTimeline(timelines) { 8 | timelines.each(function(){ 9 | var timeline = $(this), 10 | timelineComponents = {}; 11 | //cache timeline components 12 | timelineComponents['timelineWrapper'] = timeline.find('.events-wrapper'); 13 | timelineComponents['eventsWrapper'] = timelineComponents['timelineWrapper'].children('.events'); 14 | timelineComponents['fillingLine'] = timelineComponents['eventsWrapper'].children('.filling-line'); 15 | timelineComponents['timelineEvents'] = timelineComponents['eventsWrapper'].find('a'); 16 | timelineComponents['timelineDates'] = parseDate(timelineComponents['timelineEvents']); 17 | timelineComponents['eventsMinLapse'] = minLapse(timelineComponents['timelineDates']); 18 | timelineComponents['timelineNavigation'] = timeline.find('.cd-timeline-navigation'); 19 | timelineComponents['eventsContent'] = timeline.children('.events-content'); 20 | 21 | //assign a left postion to the single events along the timeline 22 | setDatePosition(timelineComponents, eventsMinDistance); 23 | //assign a width to the timeline 24 | var timelineTotWidth = setTimelineWidth(timelineComponents, eventsMinDistance); 25 | //the timeline has been initialize - show it 26 | timeline.addClass('loaded'); 27 | 28 | //detect click on the next arrow 29 | timelineComponents['timelineNavigation'].on('click', '.next', function(event){ 30 | event.preventDefault(); 31 | updateSlide(timelineComponents, timelineTotWidth, 'next'); 32 | }); 33 | //detect click on the prev arrow 34 | timelineComponents['timelineNavigation'].on('click', '.prev', function(event){ 35 | event.preventDefault(); 36 | updateSlide(timelineComponents, timelineTotWidth, 'prev'); 37 | }); 38 | //detect click on the a single event - show new event content 39 | timelineComponents['eventsWrapper'].on('click', 'a', function(event){ 40 | event.preventDefault(); 41 | timelineComponents['timelineEvents'].removeClass('selected'); 42 | $(this).addClass('selected'); 43 | updateOlderEvents($(this)); 44 | updateFilling($(this), timelineComponents['fillingLine'], timelineTotWidth); 45 | updateVisibleContent($(this), timelineComponents['eventsContent']); 46 | }); 47 | 48 | //on swipe, show next/prev event content 49 | timelineComponents['eventsContent'].on('swipeleft', function(){ 50 | var mq = checkMQ(); 51 | ( mq == 'mobile' ) && showNewContent(timelineComponents, timelineTotWidth, 'next'); 52 | }); 53 | timelineComponents['eventsContent'].on('swiperight', function(){ 54 | var mq = checkMQ(); 55 | ( mq == 'mobile' ) && showNewContent(timelineComponents, timelineTotWidth, 'prev'); 56 | }); 57 | 58 | //keyboard navigation 59 | $(document).keyup(function(event){ 60 | if(event.which=='37' && elementInViewport(timeline.get(0)) ) { 61 | showNewContent(timelineComponents, timelineTotWidth, 'prev'); 62 | } else if( event.which=='39' && elementInViewport(timeline.get(0))) { 63 | showNewContent(timelineComponents, timelineTotWidth, 'next'); 64 | } 65 | }); 66 | }); 67 | } 68 | 69 | function updateSlide(timelineComponents, timelineTotWidth, string) { 70 | //retrieve translateX value of timelineComponents['eventsWrapper'] 71 | var translateValue = getTranslateValue(timelineComponents['eventsWrapper']), 72 | wrapperWidth = Number(timelineComponents['timelineWrapper'].css('width').replace('px', '')); 73 | //translate the timeline to the left('next')/right('prev') 74 | (string == 'next') 75 | ? translateTimeline(timelineComponents, translateValue - wrapperWidth + eventsMinDistance, wrapperWidth - timelineTotWidth) 76 | : translateTimeline(timelineComponents, translateValue + wrapperWidth - eventsMinDistance); 77 | } 78 | 79 | function showNewContent(timelineComponents, timelineTotWidth, string) { 80 | //go from one event to the next/previous one 81 | var visibleContent = timelineComponents['eventsContent'].find('.selected'), 82 | newContent = ( string == 'next' ) ? visibleContent.next() : visibleContent.prev(); 83 | 84 | if ( newContent.length > 0 ) { //if there's a next/prev event - show it 85 | var selectedDate = timelineComponents['eventsWrapper'].find('.selected'), 86 | newEvent = ( string == 'next' ) ? selectedDate.parent('li').next('li').children('a') : selectedDate.parent('li').prev('li').children('a'); 87 | 88 | updateFilling(newEvent, timelineComponents['fillingLine'], timelineTotWidth); 89 | updateVisibleContent(newEvent, timelineComponents['eventsContent']); 90 | newEvent.addClass('selected'); 91 | selectedDate.removeClass('selected'); 92 | updateOlderEvents(newEvent); 93 | updateTimelinePosition(string, newEvent, timelineComponents); 94 | } 95 | } 96 | 97 | function updateTimelinePosition(string, event, timelineComponents) { 98 | //translate timeline to the left/right according to the position of the selected event 99 | var eventStyle = window.getComputedStyle(event.get(0), null), 100 | eventLeft = Number(eventStyle.getPropertyValue("left").replace('px', '')), 101 | timelineWidth = Number(timelineComponents['timelineWrapper'].css('width').replace('px', '')), 102 | timelineTotWidth = Number(timelineComponents['eventsWrapper'].css('width').replace('px', '')); 103 | var timelineTranslate = getTranslateValue(timelineComponents['eventsWrapper']); 104 | 105 | if( (string == 'next' && eventLeft > timelineWidth - timelineTranslate) || (string == 'prev' && eventLeft < - timelineTranslate) ) { 106 | translateTimeline(timelineComponents, - eventLeft + timelineWidth/2, timelineWidth - timelineTotWidth); 107 | } 108 | } 109 | 110 | function translateTimeline(timelineComponents, value, totWidth) { 111 | var eventsWrapper = timelineComponents['eventsWrapper'].get(0); 112 | value = (value > 0) ? 0 : value; //only negative translate value 113 | value = ( !(typeof totWidth === 'undefined') && value < totWidth ) ? totWidth : value; //do not translate more than timeline width 114 | setTransformValue(eventsWrapper, 'translateX', value+'px'); 115 | //update navigation arrows visibility 116 | (value == 0 ) ? timelineComponents['timelineNavigation'].find('.prev').addClass('inactive') : timelineComponents['timelineNavigation'].find('.prev').removeClass('inactive'); 117 | (value == totWidth ) ? timelineComponents['timelineNavigation'].find('.next').addClass('inactive') : timelineComponents['timelineNavigation'].find('.next').removeClass('inactive'); 118 | } 119 | 120 | function updateFilling(selectedEvent, filling, totWidth) { 121 | //change .filling-line length according to the selected event 122 | var eventStyle = window.getComputedStyle(selectedEvent.get(0), null), 123 | eventLeft = eventStyle.getPropertyValue("left"), 124 | eventWidth = eventStyle.getPropertyValue("width"); 125 | eventLeft = Number(eventLeft.replace('px', '')) + Number(eventWidth.replace('px', ''))/2; 126 | var scaleValue = eventLeft/totWidth; 127 | setTransformValue(filling.get(0), 'scaleX', scaleValue); 128 | } 129 | 130 | function setDatePosition(timelineComponents, min) { 131 | for (i = 0; i < timelineComponents['timelineDates'].length; i++) { 132 | var distance = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][i]), 133 | distanceNorm = Math.round(distance/timelineComponents['eventsMinLapse']) + 2; 134 | timelineComponents['timelineEvents'].eq(i).css('left', distanceNorm*min+'px'); 135 | } 136 | } 137 | 138 | function setTimelineWidth(timelineComponents, width) { 139 | var timeSpan = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][timelineComponents['timelineDates'].length-1]), 140 | timeSpanNorm = timeSpan/timelineComponents['eventsMinLapse'], 141 | timeSpanNorm = Math.round(timeSpanNorm) + 4, 142 | totalWidth = timeSpanNorm*width; 143 | timelineComponents['eventsWrapper'].css('width', totalWidth+'px'); 144 | updateFilling(timelineComponents['eventsWrapper'].find('a.selected'), timelineComponents['fillingLine'], totalWidth); 145 | updateTimelinePosition('next', timelineComponents['eventsWrapper'].find('a.selected'), timelineComponents); 146 | 147 | return totalWidth; 148 | } 149 | 150 | function updateVisibleContent(event, eventsContent) { 151 | var eventDate = event.data('date'), 152 | visibleContent = eventsContent.find('.selected'), 153 | selectedContent = eventsContent.find('[data-date="'+ eventDate +'"]'), 154 | selectedContentHeight = selectedContent.height(); 155 | 156 | if (selectedContent.index() > visibleContent.index()) { 157 | var classEnetering = 'selected enter-right', 158 | classLeaving = 'leave-left'; 159 | } else { 160 | var classEnetering = 'selected enter-left', 161 | classLeaving = 'leave-right'; 162 | } 163 | 164 | selectedContent.attr('class', classEnetering); 165 | visibleContent.attr('class', classLeaving).one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(){ 166 | visibleContent.removeClass('leave-right leave-left'); 167 | selectedContent.removeClass('enter-left enter-right'); 168 | }); 169 | eventsContent.css('height', selectedContentHeight+'px'); 170 | } 171 | 172 | function updateOlderEvents(event) { 173 | event.parent('li').prevAll('li').children('a').addClass('older-event').end().end().nextAll('li').children('a').removeClass('older-event'); 174 | } 175 | 176 | function getTranslateValue(timeline) { 177 | var timelineStyle = window.getComputedStyle(timeline.get(0), null), 178 | timelineTranslate = timelineStyle.getPropertyValue("-webkit-transform") || 179 | timelineStyle.getPropertyValue("-moz-transform") || 180 | timelineStyle.getPropertyValue("-ms-transform") || 181 | timelineStyle.getPropertyValue("-o-transform") || 182 | timelineStyle.getPropertyValue("transform"); 183 | 184 | if( timelineTranslate.indexOf('(') >=0 ) { 185 | var timelineTranslate = timelineTranslate.split('(')[1]; 186 | timelineTranslate = timelineTranslate.split(')')[0]; 187 | timelineTranslate = timelineTranslate.split(','); 188 | var translateValue = timelineTranslate[4]; 189 | } else { 190 | var translateValue = 0; 191 | } 192 | 193 | return Number(translateValue); 194 | } 195 | 196 | function setTransformValue(element, property, value) { 197 | element.style["-webkit-transform"] = property+"("+value+")"; 198 | element.style["-moz-transform"] = property+"("+value+")"; 199 | element.style["-ms-transform"] = property+"("+value+")"; 200 | element.style["-o-transform"] = property+"("+value+")"; 201 | element.style["transform"] = property+"("+value+")"; 202 | } 203 | 204 | //based on http://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between-two-dates-in-javascript 205 | function parseDate(events) { 206 | var dateArrays = []; 207 | events.each(function(){ 208 | var singleDate = $(this), 209 | dateComp = singleDate.data('date').split('T'); 210 | if( dateComp.length > 1 ) { //both DD/MM/YEAR and time are provided 211 | var dayComp = dateComp[0].split('/'), 212 | timeComp = dateComp[1].split(':'); 213 | } else if( dateComp[0].indexOf(':') >=0 ) { //only time is provide 214 | var dayComp = ["2000", "0", "0"], 215 | timeComp = dateComp[0].split(':'); 216 | } else { //only DD/MM/YEAR 217 | var dayComp = dateComp[0].split('/'), 218 | timeComp = ["0", "0"]; 219 | } 220 | var newDate = new Date(dayComp[2], dayComp[1]-1, dayComp[0], timeComp[0], timeComp[1]); 221 | dateArrays.push(newDate); 222 | }); 223 | return dateArrays; 224 | } 225 | 226 | function daydiff(first, second) { 227 | return Math.round((second-first)); 228 | } 229 | 230 | function minLapse(dates) { 231 | //determine the minimum distance among events 232 | var dateDistances = []; 233 | for (i = 1; i < dates.length; i++) { 234 | var distance = daydiff(dates[i-1], dates[i]); 235 | dateDistances.push(distance); 236 | } 237 | return Math.min.apply(null, dateDistances); 238 | } 239 | 240 | /* 241 | How to tell if a DOM element is visible in the current viewport? 242 | http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport 243 | */ 244 | function elementInViewport(el) { 245 | var top = el.offsetTop; 246 | var left = el.offsetLeft; 247 | var width = el.offsetWidth; 248 | var height = el.offsetHeight; 249 | 250 | while(el.offsetParent) { 251 | el = el.offsetParent; 252 | top += el.offsetTop; 253 | left += el.offsetLeft; 254 | } 255 | 256 | return ( 257 | top < (window.pageYOffset + window.innerHeight) && 258 | left < (window.pageXOffset + window.innerWidth) && 259 | (top + height) > window.pageYOffset && 260 | (left + width) > window.pageXOffset 261 | ); 262 | } 263 | 264 | function checkMQ() { 265 | //check if mobile or desktop device 266 | return window.getComputedStyle(document.querySelector('.cd-horizontal-timeline'), '::before').getPropertyValue('content').replace(/'/g, "").replace(/"/g, ""); 267 | } 268 | }); 269 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Josefin Sans', sans-serif; 3 | overflow-x: hidden; 4 | } 5 | header, .navbar-custom, #timeline, #team { 6 | animation: theme 21s linear infinite; 7 | color: white; 8 | font-family: 'Josefin Sans', sans-serif; 9 | } 10 | .fb-like { 11 | margin: 20px; 12 | } 13 | ol, ul { 14 | list-style: none; 15 | } 16 | .caption i { 17 | float: right; 18 | margin: 3px; 19 | } 20 | .caption span { 21 | font-size: 20px; 22 | } 23 | 24 | .sponsors{ 25 | font-family: 'Dancing Script', cursive; 26 | font-size: 17px; 27 | } 28 | 29 | .modal-body{ 30 | text-align: left; 31 | } 32 | 33 | iframe { 34 | display: block; 35 | margin: auto; 36 | } 37 | h2 { 38 | text-align: center; 39 | } 40 | #typing { 41 | font-size: 30px; 42 | } 43 | header { 44 | height: 100vh; 45 | } 46 | header:after, header:before, #timeline:before, #timeline:after, #team:before, #team:after { 47 | content: ''; 48 | display: block; 49 | position: fixed; 50 | z-index: 0; 51 | top: 0; 52 | background: rgba(0, 0, 0, 0.05); 53 | animation: background 90s linear infinite; 54 | } 55 | .navbar-custom:after, .navbar-custom:before { 56 | content: ''; 57 | display: block; 58 | position: fixed; 59 | z-index: -1; 60 | top: 0; 61 | background: rgba(0, 0, 0, 0.05); 62 | animation: background 90s linear infinite; 63 | } 64 | @keyframes theme { 65 | 0% { 66 | background: #74C390; 67 | } 68 | 16% { 69 | background: #5DBDB6; 70 | } 71 | 33% { 72 | background: #59D4E1; 73 | } 74 | 50% { 75 | background: #51BCE8; 76 | } 77 | 66% { 78 | background: #FA5374; 79 | } 80 | 83% { 81 | background: #E46653; 82 | } 83 | 100% { 84 | background: #74C390; 85 | } 86 | } 87 | @keyframes background { 88 | 0% { 89 | transform: rotate(0deg); 90 | } 91 | 100% { 92 | transform: rotate(360deg); 93 | } 94 | } 95 | @keyframes background { 96 | 0% { 97 | transform: rotate(0deg); 98 | } 99 | 100% { 100 | transform: rotate(360deg); 101 | } 102 | } 103 | p { 104 | font-size: 20px; 105 | } 106 | p.small { 107 | font-size: 16px; 108 | } 109 | a, a:hover, a:focus, a:active, a.active { 110 | color: #18BC9C; 111 | outline: none; 112 | } 113 | h1, h2, h3, h4, h5, h6 { 114 | font-family: 'Josefin Sans', sans-serif; 115 | text-transform: uppercase; 116 | font-weight: 700; 117 | } 118 | hr.star-light, hr.star-primary { 119 | padding: 0; 120 | border: none; 121 | border-top: solid 5px; 122 | text-align: center; 123 | max-width: 250px; 124 | margin: 25px auto 30px; 125 | } 126 | hr.star-light:after, hr.star-primary:after { 127 | content: "\f005"; 128 | font-family: FontAwesome; 129 | display: inline-block; 130 | position: relative; 131 | top: -0.8em; 132 | font-size: 2em; 133 | padding: 0 0.25em; 134 | } 135 | hr.star-light { 136 | border-color: white; 137 | } 138 | hr.star-light:after { 139 | background-color: #18BC9C; 140 | color: white; 141 | } 142 | hr.star-primary { 143 | border-color: #2C3E50; 144 | } 145 | hr.star-primary:after { 146 | background-color: white; 147 | color: #2C3E50; 148 | } 149 | .img-centered { 150 | margin: 0 auto; 151 | } 152 | header { 153 | text-align: center; 154 | color: white; 155 | } 156 | header .container { 157 | padding-top: 80px; 158 | } 159 | header img { 160 | display: block; 161 | margin: 0 auto 20px; 162 | } 163 | header .intro-text .name { 164 | font-family: 'Josefin Sans', sans-serif; 165 | font-weight: 150; 166 | font-size: 2em; 167 | } 168 | header .intro-text .typed { 169 | font-size: 1.25em; 170 | font-weight: 300; 171 | } 172 | @media (min-width: 768px) { 173 | header .container { 174 | padding-top: 130px; 175 | padding-bottom: 100px; 176 | } 177 | header .intro-text .name { 178 | font-size: 4.75em; 179 | } 180 | header .intro-text .typed { 181 | font-size: 1.75em; 182 | } 183 | } 184 | #team button { 185 | margin: 10px; 186 | } 187 | .navbar-custom { 188 | background: #2C3E50; 189 | font-family: 'Josefin Sans', sans-serif; 190 | text-transform: uppercase; 191 | font-weight: 700; 192 | border: none; 193 | } 194 | .navbar-custom a:focus { 195 | outline: none; 196 | } 197 | .navbar-custom .navbar-brand { 198 | color: white; 199 | } 200 | .navbar-custom .navbar-brand:hover, .navbar-custom .navbar-brand:focus, .navbar-custom .navbar-brand:active, .navbar-custom .navbar-brand.active { 201 | color: white; 202 | } 203 | .navbar-custom .navbar-nav { 204 | letter-spacing: 1px; 205 | } 206 | .navbar-custom .navbar-nav li a { 207 | color: white; 208 | } 209 | .navbar-custom .navbar-nav li a:hover { 210 | color: #18BC9C; 211 | outline: none; 212 | } 213 | .navbar-custom .navbar-nav li a:focus, .navbar-custom .navbar-nav li a:active { 214 | color: white; 215 | } 216 | .navbar-custom .navbar-nav li.active a { 217 | color: white; 218 | background: rgba(200, 200, 200, 0.5); 219 | ; 220 | } 221 | .navbar-custom .navbar-nav li.active a:hover, .navbar-custom .navbar-nav li.active a:focus, .navbar-custom .navbar-nav li.active a:active { 222 | color: white; 223 | background: #18BC9C; 224 | } 225 | .navbar-custom .navbar-toggle { 226 | color: white; 227 | text-transform: uppercase; 228 | font-size: 10px; 229 | border-color: white; 230 | } 231 | .navbar-custom .navbar-toggle:hover, .navbar-custom .navbar-toggle:focus { 232 | background-color: #18BC9C; 233 | color: white; 234 | border-color: #18BC9C; 235 | } 236 | @media (min-width: 768px) { 237 | .navbar-custom { 238 | padding: 25px 0; 239 | -webkit-transition: padding 0.3s; 240 | -moz-transition: padding 0.3s; 241 | transition: padding 0.3s; 242 | } 243 | .navbar-custom .navbar-brand { 244 | font-size: 2em; 245 | -webkit-transition: all 0.3s; 246 | -moz-transition: all 0.3s; 247 | transition: all 0.3s; 248 | } 249 | .navbar-custom.affix { 250 | padding: 10px 0; 251 | } 252 | .navbar-custom.affix .navbar-brand { 253 | font-size: 1.5em; 254 | } 255 | } 256 | section { 257 | padding: 100px 0; 258 | } 259 | section h2 { 260 | margin: 0; 261 | font-size: 3em; 262 | } 263 | section.success { 264 | background: #18BC9C; 265 | color: white; 266 | } 267 | @media (max-width: 767px) { 268 | section { 269 | padding: 75px 0; 270 | } 271 | section.first { 272 | padding-top: 75px; 273 | } 274 | } 275 | .floating-label-form-group { 276 | position: relative; 277 | margin-bottom: 0; 278 | padding-bottom: 0.5em; 279 | border-bottom: 1px solid #eeeeee; 280 | } 281 | .floating-label-form-group input, .floating-label-form-group textarea { 282 | z-index: 1; 283 | position: relative; 284 | padding-right: 0; 285 | padding-left: 0; 286 | border: none; 287 | border-radius: 0; 288 | font-size: 1.5em; 289 | background: none; 290 | box-shadow: none !important; 291 | resize: none; 292 | } 293 | .floating-label-form-group label { 294 | display: block; 295 | z-index: 0; 296 | position: relative; 297 | top: 2em; 298 | margin: 0; 299 | font-size: 0.85em; 300 | line-height: 1.764705882em; 301 | vertical-align: middle; 302 | vertical-align: baseline; 303 | opacity: 0; 304 | -webkit-transition: top 0.3s ease, opacity 0.3s ease; 305 | -moz-transition: top 0.3s ease, opacity 0.3s ease; 306 | -ms-transition: top 0.3s ease, opacity 0.3s ease; 307 | transition: top 0.3s ease, opacity 0.3s ease; 308 | } 309 | .floating-label-form-group:not(:first-child) { 310 | padding-left: 14px; 311 | border-left: 1px solid #eeeeee; 312 | } 313 | .floating-label-form-group-with-value label { 314 | top: 0; 315 | opacity: 1; 316 | } 317 | .floating-label-form-group-with-focus label { 318 | color: #18BC9C; 319 | } 320 | form .row:first-child .floating-label-form-group { 321 | border-top: 1px solid #eeeeee; 322 | } 323 | footer { 324 | color: white; 325 | } 326 | footer h3 { 327 | margin-bottom: 30px; 328 | } 329 | footer .footer-above { 330 | padding-top: 50px; 331 | background-color: #2C3E50; 332 | } 333 | footer .footer-col { 334 | margin-bottom: 50px; 335 | } 336 | footer .footer-below { 337 | padding: 25px 0; 338 | background-color: #233140; 339 | } 340 | .btn-outline { 341 | color: white; 342 | font-size: 20px; 343 | border: solid 2px white; 344 | background: transparent; 345 | transition: all 0.3s ease-in-out; 346 | margin-top: 15px; 347 | } 348 | .btn-outline:hover, .btn-outline:focus, .btn-outline:active, .btn-outline.active { 349 | color: #18BC9C; 350 | background: white; 351 | border: solid 2px white; 352 | } 353 | .btn-primary { 354 | color: white; 355 | background-color: #2C3E50; 356 | border-color: #2C3E50; 357 | font-weight: 700; 358 | } 359 | .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { 360 | color: white; 361 | background-color: #1a242f; 362 | border-color: #161f29; 363 | } 364 | .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { 365 | background-image: none; 366 | } 367 | .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { 368 | background-color: #2C3E50; 369 | border-color: #2C3E50; 370 | } 371 | .btn-primary .badge { 372 | color: #2C3E50; 373 | background-color: white; 374 | } 375 | .btn-success { 376 | color: white; 377 | background-color: #18BC9C; 378 | border-color: #18BC9C; 379 | font-weight: 700; 380 | } 381 | .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { 382 | color: white; 383 | background-color: #128f76; 384 | border-color: #11866f; 385 | } 386 | .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { 387 | background-image: none; 388 | } 389 | .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { 390 | background-color: #18BC9C; 391 | border-color: #18BC9C; 392 | } 393 | .btn-success .badge { 394 | color: #18BC9C; 395 | background-color: white; 396 | } 397 | .btn-social { 398 | display: inline-block; 399 | height: 50px; 400 | width: 50px; 401 | border: 2px solid white; 402 | border-radius: 100%; 403 | text-align: center; 404 | font-size: 20px; 405 | line-height: 45px; 406 | } 407 | .btn:focus, .btn:active, .btn.active { 408 | outline: none; 409 | } 410 | .scroll-top { 411 | position: fixed; 412 | right: 2%; 413 | bottom: 2%; 414 | width: 50px; 415 | height: 50px; 416 | z-index: 1049; 417 | } 418 | .scroll-top .btn { 419 | font-size: 20px; 420 | width: 50px; 421 | height: 50px; 422 | border-radius: 100%; 423 | line-height: 28px; 424 | } 425 | .scroll-top .btn:focus { 426 | outline: none; 427 | } 428 | .typed-cursor { 429 | opacity: 1; 430 | font-weight: 100; 431 | font-size: 30px; 432 | -webkit-animation: blink 0.7s infinite; 433 | -moz-animation: blink 0.7s infinite; 434 | -ms-animation: blink 0.7s infinite; 435 | -o-animation: blink 0.7s infinite; 436 | animation: blink 0.7s infinite; 437 | } 438 | @-keyframes blink { 439 | 0% { 440 | opacity: 1; 441 | } 442 | 50% { 443 | opacity: 0; 444 | } 445 | 100% { 446 | opacity: 1; 447 | } 448 | } 449 | @-webkit-keyframes blink { 450 | 0% { 451 | opacity: 1; 452 | } 453 | 50% { 454 | opacity: 0; 455 | } 456 | 100% { 457 | opacity: 1; 458 | } 459 | } 460 | @-moz-keyframes blink { 461 | 0% { 462 | opacity: 1; 463 | } 464 | 50% { 465 | opacity: 0; 466 | } 467 | 100% { 468 | opacity: 1; 469 | } 470 | } 471 | @-ms-keyframes blink { 472 | 0% { 473 | opacity: 1; 474 | } 475 | 50% { 476 | opacity: 0; 477 | } 478 | 100% { 479 | opacity: 1; 480 | } 481 | } 482 | @-o-keyframes blink { 483 | 0% { 484 | opacity: 1; 485 | } 486 | 50% { 487 | opacity: 0; 488 | } 489 | 100% { 490 | opacity: 1; 491 | } 492 | } 493 | .cd-horizontal-timeline { 494 | margin: 2em auto; 495 | height: 100vh; 496 | -webkit-transition: opacity 0.2s; 497 | -moz-transition: opacity 0.2s; 498 | transition: opacity 0.2s; 499 | } 500 | .cd-horizontal-timeline::before { 501 | /* never visible - this is used in jQuery to check the current MQ */ 502 | content: 'mobile'; 503 | display: none; 504 | } 505 | .cd-horizontal-timeline.loaded { 506 | /* show the timeline after events position has been set (using JavaScript) */ 507 | opacity: 1; 508 | } 509 | .cd-horizontal-timeline .timeline { 510 | position: relative; 511 | height: 100px; 512 | width: 90%; 513 | max-width: 800px; 514 | margin: 0 auto; 515 | } 516 | .cd-horizontal-timeline .events-wrapper { 517 | position: relative; 518 | height: 100%; 519 | margin: 0 40px; 520 | overflow: hidden; 521 | } 522 | .cd-horizontal-timeline .events-wrapper::after, .cd-horizontal-timeline .events-wrapper::before { 523 | /* these are used to create a shadow effect at the sides of the timeline */ 524 | content: ''; 525 | position: absolute; 526 | z-index: 2; 527 | top: 0; 528 | height: 100%; 529 | width: 20px; 530 | } 531 | .cd-horizontal-timeline .events { 532 | /* this is the grey line/timeline */ 533 | position: absolute; 534 | z-index: 1; 535 | left: 0; 536 | top: 49px; 537 | height: 2px; 538 | /* width will be set using JavaScript */ 539 | -webkit-transition: -webkit-transform 0.4s; 540 | -moz-transition: -moz-transform 0.4s; 541 | transition: transform 0.4s; 542 | } 543 | .cd-horizontal-timeline .filling-line { 544 | position: absolute; 545 | z-index: 1; 546 | left: 0; 547 | top: 0; 548 | height: 100%; 549 | width: 100%; 550 | background-color: white; 551 | -webkit-transform: scaleX(0); 552 | -moz-transform: scaleX(0); 553 | -ms-transform: scaleX(0); 554 | -o-transform: scaleX(0); 555 | transform: scaleX(0); 556 | -webkit-transform-origin: left center; 557 | -moz-transform-origin: left center; 558 | -ms-transform-origin: left center; 559 | -o-transform-origin: left center; 560 | transform-origin: left center; 561 | -webkit-transition: -webkit-transform 0.3s; 562 | -moz-transition: -moz-transform 0.3s; 563 | transition: transform 0.3s; 564 | } 565 | .cd-horizontal-timeline .events a { 566 | position: absolute; 567 | bottom: 0; 568 | z-index: 2; 569 | text-align: center; 570 | font-size: 1.3rem; 571 | padding-bottom: 15px; 572 | color: white; 573 | /* fix bug on Safari - text flickering while timeline translates */ 574 | -webkit-transform: translateZ(0); 575 | -moz-transform: translateZ(0); 576 | -ms-transform: translateZ(0); 577 | -o-transform: translateZ(0); 578 | transform: translateZ(0); 579 | } 580 | .cd-horizontal-timeline .events a::after { 581 | /* this is used to create the event spot */ 582 | content: ''; 583 | position: absolute; 584 | left: 50%; 585 | right: auto; 586 | -webkit-transform: translateX(-50%); 587 | -moz-transform: translateX(-50%); 588 | -ms-transform: translateX(-50%); 589 | -o-transform: translateX(-50%); 590 | transform: translateX(-50%); 591 | bottom: -5px; 592 | height: 12px; 593 | width: 12px; 594 | border-radius: 50%; 595 | border: 2px solid white; 596 | -webkit-transition: background-color 0.3s, border-color 0.3s; 597 | -moz-transition: background-color 0.3s, border-color 0.3s; 598 | transition: background-color 0.3s, border-color 0.3s; 599 | } 600 | .no-touch .cd-horizontal-timeline .events a:hover::after { 601 | background-color: white; 602 | border-color: white; 603 | } 604 | .cd-horizontal-timeline .events a.selected { 605 | pointer-events: none; 606 | } 607 | .cd-horizontal-timeline .events a.selected::after { 608 | background-color: white; 609 | border-color: white; 610 | } 611 | .cd-horizontal-timeline .events a.older-event::after { 612 | border-color: white; 613 | } 614 | @media only screen and (min-width: 1100px) { 615 | .cd-horizontal-timeline { 616 | margin: 6em auto; 617 | } 618 | .cd-horizontal-timeline::before { 619 | /* never visible - this is used in jQuery to check the current MQ */ 620 | content: 'desktop'; 621 | } 622 | } 623 | .cd-timeline-navigation a { 624 | /* these are the left/right arrows to navigate the timeline */ 625 | position: absolute; 626 | z-index: 1; 627 | top: 50%; 628 | bottom: auto; 629 | -webkit-transform: translateY(-50%); 630 | -moz-transform: translateY(-50%); 631 | -ms-transform: translateY(-50%); 632 | -o-transform: translateY(-50%); 633 | transform: translateY(-50%); 634 | height: 34px; 635 | width: 34px; 636 | border-radius: 50%; 637 | border: 2px solid #dfdfdf; 638 | /* replace text with an icon */ 639 | overflow: hidden; 640 | color: transparent; 641 | text-indent: 100%; 642 | white-space: nowrap; 643 | -webkit-transition: border-color 0.3s; 644 | -moz-transition: border-color 0.3s; 645 | transition: border-color 0.3s; 646 | } 647 | .cd-timeline-navigation a::after { 648 | /* arrow icon */ 649 | content: ''; 650 | position: absolute; 651 | height: 16px; 652 | width: 16px; 653 | left: 50%; 654 | top: 50%; 655 | bottom: auto; 656 | right: auto; 657 | -webkit-transform: translateX(-50%) translateY(-50%); 658 | -moz-transform: translateX(-50%) translateY(-50%); 659 | -ms-transform: translateX(-50%) translateY(-50%); 660 | -o-transform: translateX(-50%) translateY(-50%); 661 | transform: translateX(-50%) translateY(-50%); 662 | background: url(../img/cd-arrow.svg) no-repeat 0 0; 663 | } 664 | .cd-timeline-navigation a.prev { 665 | left: 0; 666 | -webkit-transform: translateY(-50%) rotate(180deg); 667 | -moz-transform: translateY(-50%) rotate(180deg); 668 | -ms-transform: translateY(-50%) rotate(180deg); 669 | -o-transform: translateY(-50%) rotate(180deg); 670 | transform: translateY(-50%) rotate(180deg); 671 | } 672 | .cd-timeline-navigation a.next { 673 | right: 0; 674 | } 675 | .no-touch .cd-timeline-navigation a:hover { 676 | border-color: white; 677 | } 678 | .cd-timeline-navigation a.inactive { 679 | cursor: not-allowed; 680 | } 681 | .cd-timeline-navigation a.inactive::after { 682 | background-position: 0 -16px; 683 | } 684 | .no-touch .cd-timeline-navigation a.inactive:hover { 685 | border-color: #dfdfdf; 686 | } 687 | .cd-horizontal-timeline .events-content { 688 | position: relative; 689 | width: 100%; 690 | margin: 2em 0; 691 | overflow: hidden; 692 | -webkit-transition: height 0.4s; 693 | -moz-transition: height 0.4s; 694 | transition: height 0.4s; 695 | } 696 | .cd-horizontal-timeline .events-content li { 697 | position: absolute; 698 | z-index: 1; 699 | width: 100%; 700 | left: 0; 701 | top: 0; 702 | -webkit-transform: translateX(-100%); 703 | -moz-transform: translateX(-100%); 704 | -ms-transform: translateX(-100%); 705 | -o-transform: translateX(-100%); 706 | transform: translateX(-100%); 707 | padding: 0 5%; 708 | opacity: 0; 709 | -webkit-animation-duration: 0.4s; 710 | -moz-animation-duration: 0.4s; 711 | animation-duration: 0.4s; 712 | -webkit-animation-timing-function: ease-in-out; 713 | -moz-animation-timing-function: ease-in-out; 714 | animation-timing-function: ease-in-out; 715 | } 716 | .cd-horizontal-timeline .events-content li.selected { 717 | /* visible event content */ 718 | position: relative; 719 | z-index: 2; 720 | opacity: 1; 721 | -webkit-transform: translateX(0); 722 | -moz-transform: translateX(0); 723 | -ms-transform: translateX(0); 724 | -o-transform: translateX(0); 725 | transform: translateX(0); 726 | } 727 | .cd-horizontal-timeline .events-content li.enter-right, .cd-horizontal-timeline .events-content li.leave-right { 728 | -webkit-animation-name: cd-enter-right; 729 | -moz-animation-name: cd-enter-right; 730 | animation-name: cd-enter-right; 731 | } 732 | .cd-horizontal-timeline .events-content li.enter-left, .cd-horizontal-timeline .events-content li.leave-left { 733 | -webkit-animation-name: cd-enter-left; 734 | -moz-animation-name: cd-enter-left; 735 | animation-name: cd-enter-left; 736 | } 737 | .cd-horizontal-timeline .events-content li.leave-right, .cd-horizontal-timeline .events-content li.leave-left { 738 | -webkit-animation-direction: reverse; 739 | -moz-animation-direction: reverse; 740 | animation-direction: reverse; 741 | } 742 | .cd-horizontal-timeline .events-content li> * { 743 | max-width: 800px; 744 | margin: 0 auto; 745 | } 746 | .cd-horizontal-timeline .events-content h2 { 747 | font-weight: bold; 748 | font-size: 2.6rem; 749 | font-weight: 700; 750 | line-height: 1.2; 751 | } 752 | .cd-horizontal-timeline .events-content em { 753 | display: block; 754 | font-style: italic; 755 | margin: 10px auto; 756 | } 757 | .cd-horizontal-timeline .events-content em::before { 758 | content: '- '; 759 | } 760 | .cd-horizontal-timeline .events-content p { 761 | font-size: 1.4rem; 762 | } 763 | .cd-horizontal-timeline .events-content em, .cd-horizontal-timeline .events-content p { 764 | line-height: 1.6; 765 | } 766 | @media only screen and (min-width: 768px) { 767 | .cd-horizontal-timeline .events-content h2 { 768 | font-size: 4.5rem; 769 | } 770 | .cd-horizontal-timeline .events-content em { 771 | font-size: 2rem; 772 | } 773 | .cd-horizontal-timeline .events-content p { 774 | font-size: 1.8rem; 775 | } 776 | } 777 | @-webkit-keyframes cd-enter-right { 778 | 0% { 779 | opacity: 0; 780 | -webkit-transform: translateX(100%); 781 | } 782 | 100% { 783 | opacity: 1; 784 | -webkit-transform: translateX(0%); 785 | } 786 | } 787 | @-moz-keyframes cd-enter-right { 788 | 0% { 789 | opacity: 0; 790 | -moz-transform: translateX(100%); 791 | } 792 | 100% { 793 | opacity: 1; 794 | -moz-transform: translateX(0%); 795 | } 796 | } 797 | @keyframes cd-enter-right { 798 | 0% { 799 | opacity: 0; 800 | -webkit-transform: translateX(100%); 801 | -moz-transform: translateX(100%); 802 | -ms-transform: translateX(100%); 803 | -o-transform: translateX(100%); 804 | transform: translateX(100%); 805 | } 806 | 100% { 807 | opacity: 1; 808 | -webkit-transform: translateX(0%); 809 | -moz-transform: translateX(0%); 810 | -ms-transform: translateX(0%); 811 | -o-transform: translateX(0%); 812 | transform: translateX(0%); 813 | } 814 | } 815 | @-webkit-keyframes cd-enter-left { 816 | 0% { 817 | opacity: 0; 818 | -webkit-transform: translateX(-100%); 819 | } 820 | 100% { 821 | opacity: 1; 822 | -webkit-transform: translateX(0%); 823 | } 824 | } 825 | @-moz-keyframes cd-enter-left { 826 | 0% { 827 | opacity: 0; 828 | -moz-transform: translateX(-100%); 829 | } 830 | 100% { 831 | opacity: 1; 832 | -moz-transform: translateX(0%); 833 | } 834 | } 835 | @keyframes cd-enter-left { 836 | 0% { 837 | opacity: 0; 838 | -webkit-transform: translateX(-100%); 839 | -moz-transform: translateX(-100%); 840 | -ms-transform: translateX(-100%); 841 | -o-transform: translateX(-100%); 842 | transform: translateX(-100%); 843 | } 844 | 100% { 845 | opacity: 1; 846 | -webkit-transform: translateX(0%); 847 | -moz-transform: translateX(0%); 848 | -ms-transform: translateX(0%); 849 | -o-transform: translateX(0%); 850 | transform: translateX(0%); 851 | } 852 | } 853 | .form_google { 854 | position: relative; 855 | } 856 | .form_google .ratio { 857 | display: block; 858 | width: 100%; 859 | height: auto; 860 | } 861 | .form_google iframe { 862 | top: 0; 863 | left: 0; 864 | width: 100%; 865 | height: 500px; 866 | } 867 | font-family: 'Alegreya Sans', sans-serif; 868 | font-family: 'Josefin Sans', sans-serif; 869 | font-family: 'Raleway', sans-serif; 870 | font-family: 'Open Sans', sans-serif; 871 | -------------------------------------------------------------------------------- /js/modernizr.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.8.3 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load 3 | */ 4 | ; 5 | window.Modernizr = function(a, b, c) { 6 | function C(a) { 7 | j.cssText = a 8 | } 9 | 10 | function D(a, b) { 11 | return C(n.join(a + ";") + (b || "")) 12 | } 13 | 14 | function E(a, b) { 15 | return typeof a === b 16 | } 17 | 18 | function F(a, b) { 19 | return !!~("" + a).indexOf(b) 20 | } 21 | 22 | function G(a, b) { 23 | for (var d in a) { 24 | var e = a[d]; 25 | if (!F(e, "-") && j[e] !== c) return b == "pfx" ? e : !0 26 | } 27 | return !1 28 | } 29 | 30 | function H(a, b, d) { 31 | for (var e in a) { 32 | var f = b[a[e]]; 33 | if (f !== c) return d === !1 ? a[e] : E(f, "function") ? f.bind(d || b) : f 34 | } 35 | return !1 36 | } 37 | 38 | function I(a, b, c) { 39 | var d = a.charAt(0).toUpperCase() + a.slice(1), 40 | e = (a + " " + p.join(d + " ") + d).split(" "); 41 | return E(b, "string") || E(b, "undefined") ? G(e, b) : (e = (a + " " + q.join(d + " ") + d).split(" "), H(e, b, c)) 42 | } 43 | 44 | function J() { 45 | e.input = function(c) { 46 | for (var d = 0, e = c.length; d < e; d++) u[c[d]] = c[d] in k; 47 | return u.list && (u.list = !!b.createElement("datalist") && !!a.HTMLDataListElement), u 48 | }("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")), e.inputtypes = function(a) { 49 | for (var d = 0, e, f, h, i = a.length; d < i; d++) k.setAttribute("type", f = a[d]), e = k.type !== "text", e && (k.value = l, k.style.cssText = "position:absolute;visibility:hidden;", /^range$/.test(f) && k.style.WebkitAppearance !== c ? (g.appendChild(k), h = b.defaultView, e = h.getComputedStyle && h.getComputedStyle(k, null).WebkitAppearance !== "textfield" && k.offsetHeight !== 0, g.removeChild(k)) : /^(search|tel)$/.test(f) || (/^(url|email)$/.test(f) ? e = k.checkValidity && k.checkValidity() === !1 : e = k.value != l)), t[a[d]] = !!e; 50 | return t 51 | }("search tel url email datetime date month week time datetime-local number range color".split(" ")) 52 | } 53 | var d = "2.8.3", 54 | e = {}, 55 | f = !0, 56 | g = b.documentElement, 57 | h = "modernizr", 58 | i = b.createElement(h), 59 | j = i.style, 60 | k = b.createElement("input"), 61 | l = ":)", 62 | m = {}.toString, 63 | n = " -webkit- -moz- -o- -ms- ".split(" "), 64 | o = "Webkit Moz O ms", 65 | p = o.split(" "), 66 | q = o.toLowerCase().split(" "), 67 | r = { 68 | svg: "http://www.w3.org/2000/svg" 69 | }, 70 | s = {}, 71 | t = {}, 72 | u = {}, 73 | v = [], 74 | w = v.slice, 75 | x, y = function(a, c, d, e) { 76 | var f, i, j, k, l = b.createElement("div"), 77 | m = b.body, 78 | n = m || b.createElement("body"); 79 | if (parseInt(d, 10)) 80 | while (d--) j = b.createElement("div"), j.id = e ? e[d] : h + (d + 1), l.appendChild(j); 81 | return f = ["­", '"].join(""), l.id = h, (m ? l : n).innerHTML += f, n.appendChild(l), m || (n.style.background = "", n.style.overflow = "hidden", k = g.style.overflow, g.style.overflow = "hidden", g.appendChild(n)), i = c(l, a), m ? l.parentNode.removeChild(l) : (n.parentNode.removeChild(n), g.style.overflow = k), !!i 82 | }, 83 | z = function() { 84 | function d(d, e) { 85 | e = e || b.createElement(a[d] || "div"), d = "on" + d; 86 | var f = d in e; 87 | return f || (e.setAttribute || (e = b.createElement("div")), e.setAttribute && e.removeAttribute && (e.setAttribute(d, ""), f = E(e[d], "function"), E(e[d], "undefined") || (e[d] = c), e.removeAttribute(d))), e = null, f 88 | } 89 | var a = { 90 | select: "input", 91 | change: "input", 92 | submit: "form", 93 | reset: "form", 94 | error: "img", 95 | load: "img", 96 | abort: "img" 97 | }; 98 | return d 99 | }(), 100 | A = {}.hasOwnProperty, 101 | B; 102 | !E(A, "undefined") && !E(A.call, "undefined") ? B = function(a, b) { 103 | return A.call(a, b) 104 | } : B = function(a, b) { 105 | return b in a && E(a.constructor.prototype[b], "undefined") 106 | }, Function.prototype.bind || (Function.prototype.bind = function(b) { 107 | var c = this; 108 | if (typeof c != "function") throw new TypeError; 109 | var d = w.call(arguments, 1), 110 | e = function() { 111 | if (this instanceof e) { 112 | var a = function() {}; 113 | a.prototype = c.prototype; 114 | var f = new a, 115 | g = c.apply(f, d.concat(w.call(arguments))); 116 | return Object(g) === g ? g : f 117 | } 118 | return c.apply(b, d.concat(w.call(arguments))) 119 | }; 120 | return e 121 | }), s.flexbox = function() { 122 | return I("flexWrap") 123 | }, s.canvas = function() { 124 | var a = b.createElement("canvas"); 125 | return !!a.getContext && !!a.getContext("2d") 126 | }, s.canvastext = function() { 127 | return !!e.canvas && !!E(b.createElement("canvas").getContext("2d").fillText, "function") 128 | }, s.webgl = function() { 129 | return !!a.WebGLRenderingContext 130 | }, s.touch = function() { 131 | var c; 132 | return "ontouchstart" in a || a.DocumentTouch && b instanceof DocumentTouch ? c = !0 : y(["@media (", n.join("touch-enabled),("), h, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), function(a) { 133 | c = a.offsetTop === 9 134 | }), c 135 | }, s.geolocation = function() { 136 | return "geolocation" in navigator 137 | }, s.postmessage = function() { 138 | return !!a.postMessage 139 | }, s.websqldatabase = function() { 140 | return !!a.openDatabase 141 | }, s.indexedDB = function() { 142 | return !!I("indexedDB", a) 143 | }, s.hashchange = function() { 144 | return z("hashchange", a) && (b.documentMode === c || b.documentMode > 7) 145 | }, s.history = function() { 146 | return !!a.history && !!history.pushState 147 | }, s.draganddrop = function() { 148 | var a = b.createElement("div"); 149 | return "draggable" in a || "ondragstart" in a && "ondrop" in a 150 | }, s.websockets = function() { 151 | return "WebSocket" in a || "MozWebSocket" in a 152 | }, s.rgba = function() { 153 | return C("background-color:rgba(150,255,150,.5)"), F(j.backgroundColor, "rgba") 154 | }, s.hsla = function() { 155 | return C("background-color:hsla(120,40%,100%,.5)"), F(j.backgroundColor, "rgba") || F(j.backgroundColor, "hsla") 156 | }, s.multiplebgs = function() { 157 | return C("background:url(https://),url(https://),red url(https://)"), /(url\s*\(.*?){3}/.test(j.background) 158 | }, s.backgroundsize = function() { 159 | return I("backgroundSize") 160 | }, s.borderimage = function() { 161 | return I("borderImage") 162 | }, s.borderradius = function() { 163 | return I("borderRadius") 164 | }, s.boxshadow = function() { 165 | return I("boxShadow") 166 | }, s.textshadow = function() { 167 | return b.createElement("div").style.textShadow === "" 168 | }, s.opacity = function() { 169 | return D("opacity:.55"), /^0.55$/.test(j.opacity) 170 | }, s.cssanimations = function() { 171 | return I("animationName") 172 | }, s.csscolumns = function() { 173 | return I("columnCount") 174 | }, s.cssgradients = function() { 175 | var a = "background-image:", 176 | b = "gradient(linear,left top,right bottom,from(#9f9),to(white));", 177 | c = "linear-gradient(left top,#9f9, white);"; 178 | return C((a + "-webkit- ".split(" ").join(b + a) + n.join(c + a)).slice(0, -a.length)), F(j.backgroundImage, "gradient") 179 | }, s.cssreflections = function() { 180 | return I("boxReflect") 181 | }, s.csstransforms = function() { 182 | return !!I("transform") 183 | }, s.csstransforms3d = function() { 184 | var a = !!I("perspective"); 185 | return a && "webkitPerspective" in g.style && y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", function(b, c) { 186 | a = b.offsetLeft === 9 && b.offsetHeight === 3 187 | }), a 188 | }, s.csstransitions = function() { 189 | return I("transition") 190 | }, s.fontface = function() { 191 | var a; 192 | return y('@font-face {font-family:"font";src:url("https://")}', function(c, d) { 193 | var e = b.getElementById("smodernizr"), 194 | f = e.sheet || e.styleSheet, 195 | g = f ? f.cssRules && f.cssRules[0] ? f.cssRules[0].cssText : f.cssText || "" : ""; 196 | a = /src/i.test(g) && g.indexOf(d.split(" ")[0]) === 0 197 | }), a 198 | }, s.generatedcontent = function() { 199 | var a; 200 | return y(["#", h, "{font:0/0 a}#", h, ':after{content:"', l, '";visibility:hidden;font:3px/1 a}'].join(""), function(b) { 201 | a = b.offsetHeight >= 3 202 | }), a 203 | }, s.video = function() { 204 | var a = b.createElement("video"), 205 | c = !1; 206 | try { 207 | if (c = !!a.canPlayType) c = new Boolean(c), c.ogg = a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ""), c.h264 = a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""), c.webm = a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, "") 208 | } catch (d) {} 209 | return c 210 | }, s.audio = function() { 211 | var a = b.createElement("audio"), 212 | c = !1; 213 | try { 214 | if (c = !!a.canPlayType) c = new Boolean(c), c.ogg = a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), c.mp3 = a.canPlayType("audio/mpeg;").replace(/^no$/, ""), c.wav = a.canPlayType('audio/wav; codecs="1"').replace(/^no$/, ""), c.m4a = (a.canPlayType("audio/x-m4a;") || a.canPlayType("audio/aac;")).replace(/^no$/, "") 215 | } catch (d) {} 216 | return c 217 | }, s.localstorage = function() { 218 | try { 219 | return localStorage.setItem(h, h), localStorage.removeItem(h), !0 220 | } catch (a) { 221 | return !1 222 | } 223 | }, s.sessionstorage = function() { 224 | try { 225 | return sessionStorage.setItem(h, h), sessionStorage.removeItem(h), !0 226 | } catch (a) { 227 | return !1 228 | } 229 | }, s.webworkers = function() { 230 | return !!a.Worker 231 | }, s.applicationcache = function() { 232 | return !!a.applicationCache 233 | }, s.svg = function() { 234 | return !!b.createElementNS && !!b.createElementNS(r.svg, "svg").createSVGRect 235 | }, s.inlinesvg = function() { 236 | var a = b.createElement("div"); 237 | return a.innerHTML = "", (a.firstChild && a.firstChild.namespaceURI) == r.svg 238 | }, s.smil = function() { 239 | return !!b.createElementNS && /SVGAnimate/.test(m.call(b.createElementNS(r.svg, "animate"))) 240 | }, s.svgclippaths = function() { 241 | return !!b.createElementNS && /SVGClipPath/.test(m.call(b.createElementNS(r.svg, "clipPath"))) 242 | }; 243 | for (var K in s) B(s, K) && (x = K.toLowerCase(), e[x] = s[K](), v.push((e[x] ? "" : "no-") + x)); 244 | return e.input || J(), e.addTest = function(a, b) { 245 | if (typeof a == "object") 246 | for (var d in a) B(a, d) && e.addTest(d, a[d]); 247 | else { 248 | a = a.toLowerCase(); 249 | if (e[a] !== c) return e; 250 | b = typeof b == "function" ? b() : b, typeof f != "undefined" && f && (g.className += " " + (b ? "" : "no-") + a), e[a] = b 251 | } 252 | return e 253 | }, C(""), i = k = null, 254 | function(a, b) { 255 | function l(a, b) { 256 | var c = a.createElement("p"), 257 | d = a.getElementsByTagName("head")[0] || a.documentElement; 258 | return c.innerHTML = "x", d.insertBefore(c.lastChild, d.firstChild) 259 | } 260 | 261 | function m() { 262 | var a = s.elements; 263 | return typeof a == "string" ? a.split(" ") : a 264 | } 265 | 266 | function n(a) { 267 | var b = j[a[h]]; 268 | return b || (b = {}, i++, a[h] = i, j[i] = b), b 269 | } 270 | 271 | function o(a, c, d) { 272 | c || (c = b); 273 | if (k) return c.createElement(a); 274 | d || (d = n(c)); 275 | var g; 276 | return d.cache[a] ? g = d.cache[a].cloneNode() : f.test(a) ? g = (d.cache[a] = d.createElem(a)).cloneNode() : g = d.createElem(a), g.canHaveChildren && !e.test(a) && !g.tagUrn ? d.frag.appendChild(g) : g 277 | } 278 | 279 | function p(a, c) { 280 | a || (a = b); 281 | if (k) return a.createDocumentFragment(); 282 | c = c || n(a); 283 | var d = c.frag.cloneNode(), 284 | e = 0, 285 | f = m(), 286 | g = f.length; 287 | for (; e < g; e++) d.createElement(f[e]); 288 | return d 289 | } 290 | 291 | function q(a, b) { 292 | b.cache || (b.cache = {}, b.createElem = a.createElement, b.createFrag = a.createDocumentFragment, b.frag = b.createFrag()), a.createElement = function(c) { 293 | return s.shivMethods ? o(c, a, b) : b.createElem(c) 294 | }, a.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + m().join().replace(/[\w\-]+/g, function(a) { 295 | return b.createElem(a), b.frag.createElement(a), 'c("' + a + '")' 296 | }) + ");return n}")(s, b.frag) 297 | } 298 | 299 | function r(a) { 300 | a || (a = b); 301 | var c = n(a); 302 | return s.shivCSS && !g && !c.hasCSS && (c.hasCSS = !!l(a, "article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")), k || q(a, c), a 303 | } 304 | var c = "3.7.0", 305 | d = a.html5 || {}, 306 | e = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, 307 | f = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, 308 | g, h = "_html5shiv", 309 | i = 0, 310 | j = {}, 311 | k; 312 | (function() { 313 | try { 314 | var a = b.createElement("a"); 315 | a.innerHTML = "", g = "hidden" in a, k = a.childNodes.length == 1 || function() { 316 | b.createElement("a"); 317 | var a = b.createDocumentFragment(); 318 | return typeof a.cloneNode == "undefined" || typeof a.createDocumentFragment == "undefined" || typeof a.createElement == "undefined" 319 | }() 320 | } catch (c) { 321 | g = !0, k = !0 322 | } 323 | })(); 324 | var s = { 325 | elements: d.elements || "abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video", 326 | version: c, 327 | shivCSS: d.shivCSS !== !1, 328 | supportsUnknownElements: k, 329 | shivMethods: d.shivMethods !== !1, 330 | type: "default", 331 | shivDocument: r, 332 | createElement: o, 333 | createDocumentFragment: p 334 | }; 335 | a.html5 = s, r(b) 336 | }(this, b), e._version = d, e._prefixes = n, e._domPrefixes = q, e._cssomPrefixes = p, e.hasEvent = z, e.testProp = function(a) { 337 | return G([a]) 338 | }, e.testAllProps = I, e.testStyles = y, e.prefixed = function(a, b, c) { 339 | return b ? I(a, b, c) : I(a, "pfx") 340 | }, g.className = g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + (f ? " js " + v.join(" ") : ""), e 341 | }(this, this.document), 342 | function(a, b, c) { 343 | function d(a) { 344 | return "[object Function]" == o.call(a) 345 | } 346 | 347 | function e(a) { 348 | return "string" == typeof a 349 | } 350 | 351 | function f() {} 352 | 353 | function g(a) { 354 | return !a || "loaded" == a || "complete" == a || "uninitialized" == a 355 | } 356 | 357 | function h() { 358 | var a = p.shift(); 359 | q = 1, a ? a.t ? m(function() { 360 | ("c" == a.t ? B.injectCss : B.injectJs)(a.s, 0, a.a, a.x, a.e, 1) 361 | }, 0) : (a(), h()) : q = 0 362 | } 363 | 364 | function i(a, c, d, e, f, i, j) { 365 | function k(b) { 366 | if (!o && g(l.readyState) && (u.r = o = 1, !q && h(), l.onload = l.onreadystatechange = null, b)) { 367 | "img" != a && m(function() { 368 | t.removeChild(l) 369 | }, 50); 370 | for (var d in y[c]) y[c].hasOwnProperty(d) && y[c][d].onload() 371 | } 372 | } 373 | var j = j || B.errorTimeout, 374 | l = b.createElement(a), 375 | o = 0, 376 | r = 0, 377 | u = { 378 | t: d, 379 | s: c, 380 | e: f, 381 | a: i, 382 | x: j 383 | }; 384 | 1 === y[c] && (r = 1, y[c] = []), "object" == a ? l.data = c : (l.src = c, l.type = a), l.width = l.height = "0", l.onerror = l.onload = l.onreadystatechange = function() { 385 | k.call(this, r) 386 | }, p.splice(e, 0, u), "img" != a && (r || 2 === y[c] ? (t.insertBefore(l, s ? null : n), m(k, j)) : y[c].push(l)) 387 | } 388 | 389 | function j(a, b, c, d, f) { 390 | return q = 0, b = b || "j", e(a) ? i("c" == b ? v : u, a, b, this.i++, c, d, f) : (p.splice(this.i++, 0, a), 1 == p.length && h()), this 391 | } 392 | 393 | function k() { 394 | var a = B; 395 | return a.loader = { 396 | load: j, 397 | i: 0 398 | }, a 399 | } 400 | var l = b.documentElement, 401 | m = a.setTimeout, 402 | n = b.getElementsByTagName("script")[0], 403 | o = {}.toString, 404 | p = [], 405 | q = 0, 406 | r = "MozAppearance" in l.style, 407 | s = r && !!b.createRange().compareNode, 408 | t = s ? l : n.parentNode, 409 | l = a.opera && "[object Opera]" == o.call(a.opera), 410 | l = !!b.attachEvent && !l, 411 | u = r ? "object" : l ? "script" : "img", 412 | v = l ? "script" : u, 413 | w = Array.isArray || function(a) { 414 | return "[object Array]" == o.call(a) 415 | }, 416 | x = [], 417 | y = {}, 418 | z = { 419 | timeout: function(a, b) { 420 | return b.length && (a.timeout = b[0]), a 421 | } 422 | }, 423 | A, B; 424 | B = function(a) { 425 | function b(a) { 426 | var a = a.split("!"), 427 | b = x.length, 428 | c = a.pop(), 429 | d = a.length, 430 | c = { 431 | url: c, 432 | origUrl: c, 433 | prefixes: a 434 | }, 435 | e, f, g; 436 | for (f = 0; f < d; f++) g = a[f].split("="), (e = z[g.shift()]) && (c = e(c, g)); 437 | for (f = 0; f < b; f++) c = x[f](c); 438 | return c 439 | } 440 | 441 | function g(a, e, f, g, h) { 442 | var i = b(a), 443 | j = i.autoCallback; 444 | i.url.split(".").pop().split("?").shift(), i.bypass || (e && (e = d(e) ? e : e[a] || e[g] || e[a.split("/").pop().split("?")[0]]), i.instead ? i.instead(a, e, f, g, h) : (y[i.url] ? i.noexec = !0 : y[i.url] = 1, f.load(i.url, i.forceCSS || !i.forceJS && "css" == i.url.split(".").pop().split("?").shift() ? "c" : c, i.noexec, i.attrs, i.timeout), (d(e) || d(j)) && f.load(function() { 445 | k(), e && e(i.origUrl, h, g), j && j(i.origUrl, h, g), y[i.url] = 2 446 | }))) 447 | } 448 | 449 | function h(a, b) { 450 | function c(a, c) { 451 | if (a) { 452 | if (e(a)) c || (j = function() { 453 | var a = [].slice.call(arguments); 454 | k.apply(this, a), l() 455 | }), g(a, j, b, 0, h); 456 | else if (Object(a) === a) 457 | for (n in m = function() { 458 | var b = 0, 459 | c; 460 | for (c in a) a.hasOwnProperty(c) && b++; 461 | return b 462 | }(), a) a.hasOwnProperty(n) && (!c && !--m && (d(j) ? j = function() { 463 | var a = [].slice.call(arguments); 464 | k.apply(this, a), l() 465 | } : j[n] = function(a) { 466 | return function() { 467 | var b = [].slice.call(arguments); 468 | a && a.apply(this, b), l() 469 | } 470 | }(k[n])), g(a[n], j, b, n, h)) 471 | } else !c && l() 472 | } 473 | var h = !!a.test, 474 | i = a.load || a.both, 475 | j = a.callback || f, 476 | k = j, 477 | l = a.complete || f, 478 | m, n; 479 | c(h ? a.yep : a.nope, !!i), i && c(i) 480 | } 481 | var i, j, l = this.yepnope.loader; 482 | if (e(a)) g(a, 0, l, 0); 483 | else if (w(a)) 484 | for (i = 0; i < a.length; i++) j = a[i], e(j) ? g(j, 0, l, 0) : w(j) ? B(j) : Object(j) === j && h(j, l); 485 | else Object(a) === a && h(a, l) 486 | }, B.addPrefix = function(a, b) { 487 | z[a] = b 488 | }, B.addFilter = function(a) { 489 | x.push(a) 490 | }, B.errorTimeout = 1e4, null == b.readyState && b.addEventListener && (b.readyState = "loading", b.addEventListener("DOMContentLoaded", A = function() { 491 | b.removeEventListener("DOMContentLoaded", A, 0), b.readyState = "complete" 492 | }, 0)), a.yepnope = k(), a.yepnope.executeStack = h, a.yepnope.injectJs = function(a, c, d, e, i, j) { 493 | var k = b.createElement("script"), 494 | l, o, e = e || B.errorTimeout; 495 | k.src = a; 496 | for (o in d) k.setAttribute(o, d[o]); 497 | c = j ? h : c || f, k.onreadystatechange = k.onload = function() { 498 | !l && g(k.readyState) && (l = 1, c(), k.onload = k.onreadystatechange = null) 499 | }, m(function() { 500 | l || (l = 1, c(1)) 501 | }, e), i ? k.onload() : n.parentNode.insertBefore(k, n) 502 | }, a.yepnope.injectCss = function(a, c, d, e, g, i) { 503 | var e = b.createElement("link"), 504 | j, c = i ? h : c || f; 505 | e.href = a, e.rel = "stylesheet", e.type = "text/css"; 506 | for (j in d) e.setAttribute(j, d[j]); 507 | g || (n.parentNode.insertBefore(e, n), m(c, 0)) 508 | } 509 | }(this, document), Modernizr.load = function() { 510 | yepnope.apply(window, [].slice.call(arguments, 0)) 511 | }; 512 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | IIITA Hacks 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 46 | 47 | 48 | 49 | 50 | 51 |
52 | 62 | 63 | 64 | 103 | 104 | 105 |
106 |
107 |
108 |
109 | 110 |
111 | IIITA Hacks 112 |
- Presented by GDG Allahabad and Geekhaven
113 |
114 |
115 |
116 |

code^300

117 |

build^300

118 |

hack^300

119 |

create^300

120 |

design^300

121 |

imagine^300

122 |

innovate^300

123 |

integrate^300

124 |
125 | 126 | Time to what you love 127 |
128 | 129 | 130 | 131 |
132 |
133 |
134 |
135 |
136 | 137 |
138 |
139 |
140 |
141 |

About

142 |
143 |
144 |
145 |
146 |
147 |

Hackathon is an event, typically lasting several days, in which a large number of people meet to engage in collaborative computer programming. The concept of the hackathon was born out of the open source community. 148 |

149 |
150 |
151 |

This time on popular demand IIIT-A is organising a mini hacakthon for its students, a 20 hour long event. The hackathon would inspire you to imagine, design, code and create. So it time to show the magic in your fingers and create 152 | the project you have always thought of, or discussed with your friend on the late night intellectual tea breaks, or anything random which is too crazy to be ignored.

153 |
154 |
155 | 156 |
157 | 158 | 159 | 186 |
187 |
188 |
189 |
190 |
191 | 192 | 193 |
194 |
195 | 196 |
197 |
198 |
    199 |
  1. 9 Sep 20:00
  2. 200 |
  3. 10 Sep 20:30
  4. 201 |
  5. 10 Sep 21:00
  6. 202 |
  7. 11 Sep 06:00
  8. 203 |
  9. 11 Sep 13:00
  10. 204 |
  11. 11 Sep 13:30
  12. 205 |
  13. Results
  14. 206 | 207 |
208 | 209 | 210 |
211 | 212 |
213 | 214 | 215 | 219 | 220 |
221 | 222 | 223 |
224 |
    225 |
  1. 226 |

    Inaguaration

    227 | September 10th 20:00 228 |

    229 | Hackathon will be inaugurated at Computer centre 3 by Rahul Kala Sir and the hackathon team organisers. Hackers must report to Computer centre 3 before 9 PM, where they will be given the instructions to be followed during the 17 hour event. 230 |

    231 |
  2. 232 | 233 |
  3. 234 |

    Registration

    235 | September 10th 20:30 236 |

    237 | Registration will begin at 20:30. Participants are to form groups of 1-3 people. They are also asked to create Github repos before hand. Hackers will code for 15 hours, till noon the next day. 238 |

    239 |
  4. 240 | 241 |
  5. 242 |

    Hacking Starts

    243 | September 10th 21:00 244 |

    245 | The teams are to be seated at their allocated labs where they will work and rest during the event. All participants will recieve sufficient snacks and drinks to keep them going throughout the event. Incase of any sort of inconveniance, hackers can approach 246 | the organisers at anytime during the event. 247 |

    248 |
  6. 249 | 250 |
  7. 251 |

    Mid-Term Evaluation

    252 | September 11th 6:00 253 |

    254 | Hackers will be asked to present the progress of their projects to the organisers at 6 AM. The idea of the project must be clear by this time. The progress till then should be pushed to respective github repos. 255 |

    256 |
  8. 257 | 258 |
  9. 259 |

    Project Finishes

    260 | September 11th 13:00 261 |

    262 | Hackers are to stop coding at 1 PM. They must Upload their finished projects to Github and submit the repo to the organiser before the final presentation. 263 |

    264 |
  10. 265 | 266 |
  11. 267 |

    Project Presentation

    268 | September 11th 13:30 269 |

    270 | Project presentation will take place inside the admin audi. Hackers will have to give a presentation on their projects as well as a live demo infront of a panel of judges. 271 |

    272 |
  12. 273 | 274 |
  13. 275 |

    Result Declaration

    276 |
    277 |

    278 | Results will be declared within a few days. The projects will be reviewed based on authenticity, creativity and real life applications. 279 |

    280 |
  14. 281 |
282 |
283 | 284 |
285 | 286 |
287 |

Apply

288 | 298 |
299 |
300 | 301 |
302 | 303 | 304 |
305 | 306 |
307 | 308 |
309 | 310 |
311 |

Team

312 |
313 |
314 | 315 | 318 | 321 | 324 |
325 |
326 | 327 |
328 | 329 | 442 |
443 |


444 |
Projects
445 |
446 | 447 | 448 |
449 | 450 | 451 |
452 | 475 | 484 |
485 | 486 | 487 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | -------------------------------------------------------------------------------- /js/jquery-2.1.4.js: -------------------------------------------------------------------------------- 1 | /*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ 2 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ 3 | return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("