New menu and mobile menu

This commit is contained in:
Razi KAntorp 2014-06-13 15:49:37 +02:00
parent 3b5fe6ee9c
commit 4441c9f283
6 changed files with 617 additions and 92 deletions

View File

@ -9,6 +9,7 @@
<link href="{{ asset('css/bootstrap.splash.css') }}" rel="stylesheet" type="text/css"/>
<link href="{{ asset('css/splash.css') }}" rel="stylesheet" type="text/css"/>
-->
<link href="{{ asset('vendor/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css"/>
<!--
<link href="{{ asset('images/apple-touch-icon-114x114-precomposed.png') }}" rel="apple-touch-icon-precomposed" sizes="114x114">
@ -19,6 +20,7 @@
<script src="{{ asset('js/simpleexpand.js') }}" type="text/javascript"></script>
<script src="{{ asset('js/valign.js') }}" type="text/javascript"></script>
<script src="{{ asset('js/bootstrap.min.js') }}" type="text/javascript"></script>
<style>
.hero {
@ -93,19 +95,45 @@
return false;
}
</script>
<div class="navbar" style="margin-bottom:0px">
<div class="navbar-top navbar hidden-phone" style="margin-bottom:0px">
<div class="container">
<div class="navbar-inner">
<a class="brand" href="https://www.invoiceninja.com/"><img src="{{ asset('images/invoiceninja-logo.png') }}"></a>
<ul class="navbar-list">
<li>{{ link_to('https://www.invoiceninja.com/features', 'Features' ) }}</li>
<!-- <li>{{ link_to('https://www.invoiceninja.com/faq', 'FAQ' ) }}</li> -->
<li>{{ link_to('https://www.invoiceninja.com/about', 'About Us' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/plans', 'Plans' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/contact', 'Contact Us' ) }}</li>
<ul>
<li><a href="https://www.facebook.com/invoiceninja" target="_blank"><span class="socicon">b</span></a></li>
<li><a href="https://twitter.com/invoiceninja" target="_blank"><span class="socicon">a</span></a></li>
<li><a href="https://www.linkedin.com/company/invoice-ninja"><span class="socicon">j</span></a></li>
<li><a href="https://plus.google.com/104031016152831072143" target="_blank"><span class="socicon">c</span></a></li>
<li><a href="https://github.com/hillelcoren/invoice-ninja"><span class="socicon">Q</span></a></li>
<li><a href="https://www.pinterest.com/invoiceninja" target="_blank"><span class="socicon">d</span></a></li>
<li><a href="http://blog.invoiceninja.com/feed/rss2" target="_blank"><span class="socicon">,</span></a></li>
<li>{{ link_to('http://blog.invoiceninja.com', 'Blog' ) }}</li>
<li>{{ link_to('login', Auth::check() ? 'My Account' : 'Login' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/about', 'About Us' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/contact', 'Contact Us' ) }}</li>
</ul>
</div>
</div>
</div>
<div class="navbar" style="margin-bottom:0px">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://www.invoiceninja.com/"><img src="{{ asset('images/invoiceninja-logo.png') }}"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="hidden-desktop">{{ link_to('http://blog.invoiceninja.com', 'Blog' ) }}</li>
<li class="hidden-desktop">{{ link_to('https://www.invoiceninja.com/about', 'About Us' ) }}</li>
<li class="hidden-desktop">{{ link_to('https://www.invoiceninja.com/contact', 'Contact Us' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/features', 'Features' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/faq', 'FAQ' ) }}</li>
<li>{{ link_to('https://www.invoiceninja.com/plans', 'Plans' ) }}</li>
<li><span class="glyphicon glyphicon-user"></span>
{{ link_to('login', Auth::check() ? 'My Account' : 'Login' ) }}</li>
</ul>
</div>
</div>
@ -180,14 +208,6 @@
</ul>
</div>
<div class="col-md-4">
<h3><span class="glyphicon glyphicon-share-alt"></span>Connect with Us</h3>
<div class="social">

View File

@ -97,43 +97,113 @@ text-align: center;
}
.form-control.with-icon {padding-left: 50px !important;}
/* Responsive actions */
.hidden-desktop {
display: none !important;
}
/* Navigation */
.navbar {
background: #211f1f;
padding: 30px 0;
padding: 40px 0;
border: none;
border-radius: 0;
}
ul.navbar-list {
.navbar-brand {
padding: 0;
line-height: 1;
height: auto;
}
ul.navbar-nav {
float: right;
list-style-type: none;
height: 26px;
margin: 0;
padding: 0;
}
ul.navbar-list li {
ul.navbar-nav li {
display: inline;
font-family: Roboto, sans-serif;
font-weight: 700;
margin: 40px 0;
font-weight: 900;
text-transform: uppercase;
height: 26px;
line-height: 26px;
}
ul.navbar-list li a {
ul.navbar-nav li a {
color: #fff;
padding-left: 20px;
margin-left: 20px;
border-left: 1px solid #4f4b4b;
margin-left: 45px;
}
ul.navbar-list li:last-child a {
ul.navbar-nav .glyphicon {
color: #ebbe09;
}
ul.navbar-list li:first-child a {
ul.navbar-nav li:last-child a {
color: #ebbe09;
margin-left: 5px;
}
ul.navbar-nav li:last-child {
border-left: 1px solid #4f4b4b;
padding-left: 45px;
margin-left: 45px;
}
ul.navbar-nav li:first-child a {
border-left: none;
margin: 0;
padding: 0;
padding-left: 0;
}
ul.navbar-list li a:hover {
ul.navbar-nav li a:hover {
color: #ebbe09;
text-decoration: none;
}
<!-- Bootstrap resets -->
.navbar-nav>li {
float: right;
}
.navbar-nav>li>a {
padding: 0;
display: inline-block;
}
.nav>li>a:hover, .nav>li>a:focus {
background-color: transparent;
}
.navbar-top {
padding: 5px 0 0 0;
background: #fff;
}
.navbar-top ul {
float: right;
margin: 0;
}
.navbar-top ul li {
display: inline-block;
font-size: 12px;
text-transform: uppercase;
margin-left: 30px;
height: 40px;
line-height: 40px;
vertical-align: middle;
}
.navbar-top ul li .socicon {
text-transform: none;
margin-top: 1px;
}
.navbar-top ul li a .socicon {
font-size: 16px;
color: #a6a5a5;
display: inline-block;
}
.navbar-top ul li a .socicon:hover {
color: #ebbe09;
}
.navbar-top ul li a {
color: #736b6b;
}
.navbar-top ul li a:hover {
color: #2e2b2b;
}
a .cta h2 {
width: 100%;
height: 63px;
@ -713,13 +783,104 @@ footer.footer form#mad_mimi_signup_form input {
color: #b7b7b6;
}
/* Fonts */
.socicon {
font-family: 'socicon' !important;
}
@font-face {
font-family: socicon;
src: url(../fonts/socicon-webfont.eot);
src: url(../fonts/socicon-webfont.eot?#iefix) format(embedded-opentype), url(../fonts/socicon-webfont.woff) format(woff), url(../fonts/socicon-webfont.ttf) format(truetype), url(../fonts/socicon-webfont.svg#sociconregular) format(svg);
font-weight: 400;
font-style: normal;
}
@media (max-width: 768px) {
/* Responsive actions */
.hidden-desktop {
display: block !important;
}
.hidden-phone {
display: none !important;
}
/* Typo */
h1 {
font-size: 30px;
}
h2 {
font-size: 20px;
}
/* Mobile navigation */
.navbar {
text-align: center;
padding: 0;
}
.navbar-header {
padding: 15px 0;
}
ul.navbar-nav {
width: 100%;
}
.navbar li.hidden-desktop {
font-weight: 400;
font-size: 11px;
}
ul.navbar-nav li {
float: none;
margin: 0;
height: 30px;
line-height: 30px;
font-size: 12px;
display: block !important;
}
ul.navbar-nav li a {
margin: 0;
display: inline;
width: 100%;
float: none;
padding: 0;
}
ul.navbar-nav li:first-child {
margin-top: 12px;
}
ul.navbar-nav li:first-child a {
margin: 0;
padding: 0;
}
ul.navbar-nav li:last-child {
border-left: none;
padding-left: 0;
margin-left: 0;
margin-bottom: 12px;
}
.navbar-collapse {
border-top: none;
box-shadow: none;
background: #282525;
}
.navbar-toggle {
border: 1px solid #ddd;
margin: 0;
}
.navbar-toggle .icon-bar {
background: #ddd;
}
ul.navbar-list {
float: none;
margin-top: 10px;
}
.navbar-brand {
margin-top: 6px;
}
.container>.navbar-header {
margin: 0;
}
section.about .col-md-5 {
padding-left: 15px !important;
}
@ -749,14 +910,6 @@ footer.footer form#mad_mimi_signup_form input {
section.faq .contact-box p {
margin: 0;
}
.navbar {
text-align: center;
padding: 25px 0 18px;
}
ul.navbar-list {
float: none;
margin-top: 10px;
}
.hero .caption {
width: 100%;
background: #fff;
@ -926,13 +1079,6 @@ div.fb_iframe_widget {
div.fb_iframe_widget > span {
vertical-align: top !important;
}
@font-face {
font-family: socicon;
src: url(/fonts/socicon-webfont.eot);
src: url(/fonts/socicon-webfont.eot?#iefix) format(embedded-opentype), url(/fonts/socicon-webfont.woff) format(woff), url(/fonts/socicon-webfont.ttf) format(truetype), url(/fonts/socicon-webfont.svg#sociconregular) format(svg);
font-weight: 400;
font-style: normal;
}
::selection {
color: #fff;
background: #2e2b2b;
@ -1073,15 +1219,8 @@ div.fb_iframe_widget > span {
.plans-table a .cta h2 span {
background: #1e84a5;
}
@media screen and (min-width: 769px) {
.hide-desktop {
display: none;
}
}
@media screen and (max-width: 769px) {
.hide-mobile {
display: none;
}
.plans-table .cell {
height: auto;
padding: 14px 0;

View File

@ -86,43 +86,113 @@ text-align: center;
}
.form-control.with-icon {padding-left: 50px !important;}
/* Responsive actions */
.hidden-desktop {
display: none !important;
}
/* Navigation */
.navbar {
background: #211f1f;
padding: 30px 0;
padding: 40px 0;
border: none;
border-radius: 0;
}
ul.navbar-list {
.navbar-brand {
padding: 0;
line-height: 1;
height: auto;
}
ul.navbar-nav {
float: right;
list-style-type: none;
height: 26px;
margin: 0;
padding: 0;
}
ul.navbar-list li {
ul.navbar-nav li {
display: inline;
font-family: Roboto, sans-serif;
font-weight: 700;
margin: 40px 0;
font-weight: 900;
text-transform: uppercase;
height: 26px;
line-height: 26px;
}
ul.navbar-list li a {
ul.navbar-nav li a {
color: #fff;
padding-left: 20px;
margin-left: 20px;
border-left: 1px solid #4f4b4b;
margin-left: 45px;
}
ul.navbar-list li:last-child a {
ul.navbar-nav .glyphicon {
color: #ebbe09;
}
ul.navbar-list li:first-child a {
ul.navbar-nav li:last-child a {
color: #ebbe09;
margin-left: 5px;
}
ul.navbar-nav li:last-child {
border-left: 1px solid #4f4b4b;
padding-left: 45px;
margin-left: 45px;
}
ul.navbar-nav li:first-child a {
border-left: none;
margin: 0;
padding: 0;
padding-left: 0;
}
ul.navbar-list li a:hover {
ul.navbar-nav li a:hover {
color: #ebbe09;
text-decoration: none;
}
<!-- Bootstrap resets -->
.navbar-nav>li {
float: right;
}
.navbar-nav>li>a {
padding: 0;
display: inline-block;
}
.nav>li>a:hover, .nav>li>a:focus {
background-color: transparent;
}
.navbar-top {
padding: 5px 0 0 0;
background: #fff;
}
.navbar-top ul {
float: right;
margin: 0;
}
.navbar-top ul li {
display: inline-block;
font-size: 12px;
text-transform: uppercase;
margin-left: 30px;
height: 40px;
line-height: 40px;
vertical-align: middle;
}
.navbar-top ul li .socicon {
text-transform: none;
margin-top: 1px;
}
.navbar-top ul li a .socicon {
font-size: 16px;
color: #a6a5a5;
display: inline-block;
}
.navbar-top ul li a .socicon:hover {
color: #ebbe09;
}
.navbar-top ul li a {
color: #736b6b;
}
.navbar-top ul li a:hover {
color: #2e2b2b;
}
a .cta h2 {
width: 100%;
height: 63px;
@ -702,13 +772,104 @@ footer.footer form#mad_mimi_signup_form input {
color: #b7b7b6;
}
/* Fonts */
.socicon {
font-family: 'socicon' !important;
}
@font-face {
font-family: socicon;
src: url(../fonts/socicon-webfont.eot);
src: url(../fonts/socicon-webfont.eot?#iefix) format(embedded-opentype), url(../fonts/socicon-webfont.woff) format(woff), url(../fonts/socicon-webfont.ttf) format(truetype), url(../fonts/socicon-webfont.svg#sociconregular) format(svg);
font-weight: 400;
font-style: normal;
}
@media (max-width: 768px) {
/* Responsive actions */
.hidden-desktop {
display: block !important;
}
.hidden-phone {
display: none !important;
}
/* Typo */
h1 {
font-size: 30px;
}
h2 {
font-size: 20px;
}
/* Mobile navigation */
.navbar {
text-align: center;
padding: 0;
}
.navbar-header {
padding: 15px 0;
}
ul.navbar-nav {
width: 100%;
}
.navbar li.hidden-desktop {
font-weight: 400;
font-size: 11px;
}
ul.navbar-nav li {
float: none;
margin: 0;
height: 30px;
line-height: 30px;
font-size: 12px;
display: block !important;
}
ul.navbar-nav li a {
margin: 0;
display: inline;
width: 100%;
float: none;
padding: 0;
}
ul.navbar-nav li:first-child {
margin-top: 12px;
}
ul.navbar-nav li:first-child a {
margin: 0;
padding: 0;
}
ul.navbar-nav li:last-child {
border-left: none;
padding-left: 0;
margin-left: 0;
margin-bottom: 12px;
}
.navbar-collapse {
border-top: none;
box-shadow: none;
background: #282525;
}
.navbar-toggle {
border: 1px solid #ddd;
margin: 0;
}
.navbar-toggle .icon-bar {
background: #ddd;
}
ul.navbar-list {
float: none;
margin-top: 10px;
}
.navbar-brand {
margin-top: 6px;
}
.container>.navbar-header {
margin: 0;
}
section.about .col-md-5 {
padding-left: 15px !important;
}
@ -738,14 +899,6 @@ footer.footer form#mad_mimi_signup_form input {
section.faq .contact-box p {
margin: 0;
}
.navbar {
text-align: center;
padding: 25px 0 18px;
}
ul.navbar-list {
float: none;
margin-top: 10px;
}
.hero .caption {
width: 100%;
background: #fff;
@ -915,13 +1068,6 @@ div.fb_iframe_widget {
div.fb_iframe_widget > span {
vertical-align: top !important;
}
@font-face {
font-family: socicon;
src: url(/fonts/socicon-webfont.eot);
src: url(/fonts/socicon-webfont.eot?#iefix) format(embedded-opentype), url(/fonts/socicon-webfont.woff) format(woff), url(/fonts/socicon-webfont.ttf) format(truetype), url(/fonts/socicon-webfont.svg#sociconregular) format(svg);
font-weight: 400;
font-style: normal;
}
::selection {
color: #fff;
background: #2e2b2b;
@ -1062,15 +1208,8 @@ div.fb_iframe_widget > span {
.plans-table a .cta h2 span {
background: #1e84a5;
}
@media screen and (min-width: 769px) {
.hide-desktop {
display: none;
}
}
@media screen and (max-width: 769px) {
.hide-mobile {
display: none;
}
.plans-table .cell {
height: auto;
padding: 14px 0;

1
public/fonts/.empty Normal file
View File

@ -0,0 +1 @@
I'm a folder!

219
public/js/bootstrap.js vendored Normal file
View File

@ -0,0 +1,219 @@
/* ========================================================================
* Bootstrap: collapse.js v3.1.1
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+function ($) {
'use strict';
// COLLAPSE PUBLIC CLASS DEFINITION
// ================================
var Collapse = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, Collapse.DEFAULTS, options)
this.transitioning = null
if (this.options.parent) this.$parent = $(this.options.parent)
if (this.options.toggle) this.toggle()
}
Collapse.DEFAULTS = {
toggle: true
}
Collapse.prototype.dimension = function () {
var hasWidth = this.$element.hasClass('width')
return hasWidth ? 'width' : 'height'
}
Collapse.prototype.show = function () {
if (this.transitioning || this.$element.hasClass('in')) return
var startEvent = $.Event('show.bs.collapse')
this.$element.trigger(startEvent)
if (startEvent.isDefaultPrevented()) return
var actives = this.$parent && this.$parent.find('> .panel > .in')
if (actives && actives.length) {
var hasData = actives.data('bs.collapse')
if (hasData && hasData.transitioning) return
actives.collapse('hide')
hasData || actives.data('bs.collapse', null)
}
var dimension = this.dimension()
this.$element
.removeClass('collapse')
.addClass('collapsing')
[dimension](0)
this.transitioning = 1
var complete = function () {
this.$element
.removeClass('collapsing')
.addClass('collapse in')
[dimension]('auto')
this.transitioning = 0
this.$element.trigger('shown.bs.collapse')
}
if (!$.support.transition) return complete.call(this)
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
this.$element
.one($.support.transition.end, $.proxy(complete, this))
.emulateTransitionEnd(350)
[dimension](this.$element[0][scrollSize])
}
Collapse.prototype.hide = function () {
if (this.transitioning || !this.$element.hasClass('in')) return
var startEvent = $.Event('hide.bs.collapse')
this.$element.trigger(startEvent)
if (startEvent.isDefaultPrevented()) return
var dimension = this.dimension()
this.$element
[dimension](this.$element[dimension]())
[0].offsetHeight
this.$element
.addClass('collapsing')
.removeClass('collapse')
.removeClass('in')
this.transitioning = 1
var complete = function () {
this.transitioning = 0
this.$element
.trigger('hidden.bs.collapse')
.removeClass('collapsing')
.addClass('collapse')
}
if (!$.support.transition) return complete.call(this)
this.$element
[dimension](0)
.one($.support.transition.end, $.proxy(complete, this))
.emulateTransitionEnd(350)
}
Collapse.prototype.toggle = function () {
this[this.$element.hasClass('in') ? 'hide' : 'show']()
}
// COLLAPSE PLUGIN DEFINITION
// ==========================
var old = $.fn.collapse
$.fn.collapse = function (option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data && options.toggle && option == 'show') option = !option
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.collapse.Constructor = Collapse
// COLLAPSE NO CONFLICT
// ====================
$.fn.collapse.noConflict = function () {
$.fn.collapse = old
return this
}
// COLLAPSE DATA-API
// =================
$(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href
var target = $this.attr('data-target')
|| e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
var $target = $(target)
var data = $target.data('bs.collapse')
var option = data ? 'toggle' : $this.data()
var parent = $this.attr('data-parent')
var $parent = parent && $(parent)
if (!data || !data.transitioning) {
if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
}
$target.collapse(option)
})
}(jQuery);
/* ========================================================================
* Bootstrap: transition.js v3.1.1
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+function ($) {
'use strict';
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
// ============================================================
function transitionEnd() {
var el = document.createElement('bootstrap')
var transEndEventNames = {
'WebkitTransition' : 'webkitTransitionEnd',
'MozTransition' : 'transitionend',
'OTransition' : 'oTransitionEnd otransitionend',
'transition' : 'transitionend'
}
for (var name in transEndEventNames) {
if (el.style[name] !== undefined) {
return { end: transEndEventNames[name] }
}
}
return false // explicit for ie8 ( ._.)
}
// http://blog.alexmaccaw.com/css-transitions
$.fn.emulateTransitionEnd = function (duration) {
var called = false, $el = this
$(this).one($.support.transition.end, function () { called = true })
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
setTimeout(callback, duration)
return this
}
$(function () {
$.support.transition = transitionEnd()
})
}(jQuery);

7
public/js/bootstrap.min.js vendored Normal file
View File

@ -0,0 +1,7 @@
/*!
* Bootstrap v3.1.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var b=a.Event("show.bs.collapse");this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])},b.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var b=a.Event("hide.bs.collapse");this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};if(!a.support.transition)return d.call(this);this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350)},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),typeof c=="object"&&c);!e&&f.toggle&&c=="show"&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":c.data(),i=c.attr("data-parent"),j=i&&a(i);if(!g||!g.transitioning)j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(c).addClass("collapsed"),c[f.hasClass("in")?"addClass":"removeClass"]("collapsed");f.collapse(h)})}(jQuery),+function(a){function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(a.style[c]!==undefined)return{end:b[c]};return!1}"use strict",a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery)