├── .gitignore ├── LICENSE ├── README.md ├── _config.yml ├── _data └── navigation.yml ├── _includes ├── footer.html ├── header.html └── topbar.html ├── _js └── src │ ├── app.js │ ├── back-to-top.js │ ├── magnific-popup.js │ └── match-height.js ├── _layouts ├── default.html ├── home.html └── page.html ├── _pages ├── 404.md ├── about.md ├── contact.md ├── domains.md ├── email.md ├── home.md ├── hosting.md ├── services.md ├── testimonials.md └── websites.md ├── _scss ├── base │ └── _global.scss ├── components │ └── _navbar.scss ├── layout │ ├── _footer.scss │ ├── _header.scss │ ├── _page-banner.scss │ ├── _page.scss │ └── _topbar.scss ├── main.scss ├── mixins │ ├── _rem.scss │ └── _transitions.scss ├── pages │ └── _home-page.scss └── typography │ └── _headings.scss ├── css └── main.css ├── feed.xml ├── fonts └── FontAwesome │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── gulpfile.js ├── js └── dist │ └── app.bundle.js ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | # ignore node modules 2 | /node_modules/ 3 | /.jekyll-cache/ 4 | 5 | # ignore compiled site 6 | /_site/ 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 David Malone 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Jekyll Bootstrap 5 2 | Jekyll + Gulp 4 + Browser-sync + Bootstrap 5 + Font-Awesome + Magnific popup 3 | 4 | ## Requirements 5 | ### https://jekyllrb.com/docs/installation/ 6 | - Ruby (refer to jekyll documentation or sudo apt-get install ruby-full) 7 | - RubyGems (refer to jekyll documentation or sudo apt-get install jekyll) 8 | - NodeJS (sudo apt-get install nodejs) 9 | - NPM (sudo apt-get install npm) 10 | - Gulp (sudo npm install gulp -g) 11 | 12 | ## Installation 13 | 1. Clone or download this respository. 14 | 2. Run 'npm install' via cmd line to get all of the node dependancies, this will also install Gulp for compiling scss and js. 15 | 3. Run "gulp" via the cmd line to compile uncompressed sass and js as well as build the website in _site. It will also start Browsersync to watch for changes. 16 | 4. Copy _site contents to your live server. 17 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Your awesome title 3 | email: your-email@domain.com 4 | description: > # this means to ignore newlines until "baseurl:" 5 | Write an awesome description for your new site here. You can edit this 6 | line in _config.yml. It will appear in your document head meta (for 7 | Google search results) and in your feed.xml site description. 8 | baseurl: "" # the subpath of your site, e.g. /blog/ 9 | url: "http://yourdomain.com" # the base hostname & protocol for your site 10 | twitter_username: jekyllrb 11 | github_username: jekyll 12 | 13 | # Build settings 14 | markdown: kramdown 15 | 16 | exclude: 17 | - package.json 18 | - node_modules 19 | - gulpfile.js 20 | 21 | keep_files: 22 | - _site/css 23 | - _site/js 24 | 25 | include: ['_pages'] 26 | -------------------------------------------------------------------------------- /_data/navigation.yml: -------------------------------------------------------------------------------- 1 | # example /_data/navigation.yml 2 | - title: "About" 3 | href: /about/ 4 | 5 | - title: "Services" 6 | href: /services/ 7 | subcategories: 8 | - subtitle: "Email" 9 | subhref: "/services/email/" 10 | - subtitle: "Domains" 11 | subhref: "/services/domains" 12 | - subtitle: "Hosting" 13 | subhref: "/services/hosting" 14 | 15 | - title: "Websites" 16 | href: /websites/ 17 | 18 | - title: "Testimonials" 19 | href: /testimonials/ 20 | 21 | - title: "Contact" 22 | href: /contact/ -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 34 |
35 |
36 | -------------------------------------------------------------------------------- /_includes/topbar.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Trade and service in location, Country

4 | 027 123 4567 5 | 6 |
7 |
8 | -------------------------------------------------------------------------------- /_js/src/app.js: -------------------------------------------------------------------------------- 1 | $('.dropdown-chevron-mobile').on('click', function(e) { 2 | 3 | e.preventDefault(); 4 | 5 | // Toggles the arrow class on itself. 6 | $(this).toggleClass('open'); 7 | 8 | // Get the parent list item and its id. 9 | var parent = $(e.target).parent('li'); 10 | parent.children('ul').toggleClass('open'); 11 | 12 | }); 13 | -------------------------------------------------------------------------------- /_js/src/back-to-top.js: -------------------------------------------------------------------------------- 1 | /* Back to top */ 2 | $(window).scroll(function(){ 3 | if ($(this).scrollTop() > 100) { 4 | $('.back-to-top').fadeIn(); 5 | } else { 6 | $('.back-to-top').fadeOut(); 7 | } 8 | }); 9 | 10 | $('.back-to-top').click(function(){ 11 | $("html, body").animate({ scrollTop: 0 }, 600); 12 | return false; 13 | }); 14 | -------------------------------------------------------------------------------- /_js/src/magnific-popup.js: -------------------------------------------------------------------------------- 1 | /* Magnific Popup */ 2 | $('.image-link').magnificPopup({ 3 | type:'image', 4 | gallery: { 5 | enabled: true 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /_js/src/match-height.js: -------------------------------------------------------------------------------- 1 | /* Match height */ 2 | $('.pricing-card-features').matchHeight(); 3 | $('.panel').matchHeight(); 4 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 8 | 9 | 10 | 11 | 12 | 13 | {% include topbar.html %} 14 | {% include header.html %} 15 | {{ content }} 16 | {% include footer.html %} 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /_layouts/home.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 |
7 |
8 |
9 |
10 |

Introduction

11 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Consectetur adipiscing elit, sed do eiusmod.

12 |
    13 |
  • Nulla vitae elit libero
  • 14 |
  • Libero augue interdum
  • 15 |
  • Augue pharetra mollis
  • 16 |
17 | Contact page link 18 |
19 |
20 |
21 | 63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | 73 | 74 | 75 |
76 |

Title

77 |

Description

78 | Page link one 79 |
80 |
81 |
82 |
83 |
84 | 85 | 86 | 87 |
88 |

Title

89 |

Description

90 | Page link two 91 |
92 |
93 |
94 |
95 |
96 | 97 | 98 | 99 |
100 |

Title

101 |

Description

102 | Page link three 103 |
104 |
105 |
106 |
107 |
108 |
109 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 |
7 |

{{ page.title }}

8 |
9 |
10 | 11 |
12 |
13 |
14 |
15 |
16 | {{ content }} 17 |
18 |
19 |
20 |
21 |
22 | -------------------------------------------------------------------------------- /_pages/404.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About 4 | permalink: /about/ 5 | --- 6 | 7 | We never thought of finding' a place where we belong. Don't have to stand alone, we'll never let you fall. Don't need permission to decide what you believe. You gotta learn something when we meet you after school. I said jump, down on Jump Street. I said jump, down on Jump Street. Your friends will be there when your back is to the wall. You'll find you'll need us cause there's no one else to call. When it was hopeless a decision is what you need. You'd better be ready cause' your runnin' outta time. Say jump, 21 Jump, Street. 8 | -------------------------------------------------------------------------------- /_pages/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About 4 | permalink: /about/ 5 | --- 6 | 7 | About page content 8 | -------------------------------------------------------------------------------- /_pages/contact.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Contact 4 | permalink: /contact/ 5 | --- 6 | 7 | Contact page content -------------------------------------------------------------------------------- /_pages/domains.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Domains 4 | permalink: /services/domains/ 5 | --- 6 | 7 | Websites page content -------------------------------------------------------------------------------- /_pages/email.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Email 4 | permalink: /services/email/ 5 | --- 6 | 7 | Websites page content -------------------------------------------------------------------------------- /_pages/home.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | title: Home 4 | permalink: / 5 | --- 6 | 7 | Home page content -------------------------------------------------------------------------------- /_pages/hosting.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Hosting 4 | permalink: /services/hosting/ 5 | --- 6 | 7 | Websites page content -------------------------------------------------------------------------------- /_pages/services.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Services 4 | permalink: /services/ 5 | --- 6 | 7 | Services page content 8 | -------------------------------------------------------------------------------- /_pages/testimonials.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Testimonials 4 | permalink: /testimonials/ 5 | --- 6 | 7 | Testimonials page content -------------------------------------------------------------------------------- /_pages/websites.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Websites 4 | permalink: /websites/ 5 | --- 6 | 7 | Websites page content -------------------------------------------------------------------------------- /_scss/base/_global.scss: -------------------------------------------------------------------------------- 1 | /* Global */ 2 | 3 | * { 4 | box-sizing: border-box; 5 | } 6 | 7 | body, 8 | html { 9 | height: 100%; 10 | } 11 | 12 | body { 13 | font-size: 18px; 14 | line-height: 1.6; 15 | font-family: "arial", sans-serif; 16 | background-color: #333; 17 | } 18 | 19 | html { 20 | background-color: #ddd; 21 | } 22 | 23 | img { 24 | max-width: 100%; 25 | } 26 | 27 | @media (min-width: 1200px) { 28 | .container { 29 | width: 1250px; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /_scss/components/_navbar.scss: -------------------------------------------------------------------------------- 1 | /* Navigation */ 2 | 3 | .navbar-toggler { 4 | cursor: pointer; 5 | } 6 | 7 | .subcategory { 8 | @include rem(padding, 8px 15px 8px 15px !important); 9 | list-style: none; 10 | margin: 0; 11 | padding: 0; 12 | position: absolute; 13 | width: 200px; 14 | z-index: 99; 15 | background-color: #eee; 16 | opacity: 0; 17 | border: 1px solid #ccc; 18 | &:before, 19 | &:after { 20 | position: absolute; 21 | left: 40px; 22 | content:''; 23 | width: 0; 24 | height: 0; 25 | border-left: 12px solid transparent; 26 | border-right: 12px solid transparent; 27 | } 28 | &:after { 29 | top: -12px; 30 | border-bottom: 12px solid #eee; 31 | } 32 | &:before { 33 | top: -14px; 34 | border-bottom: 13px solid #ccc; 35 | } 36 | @include transition(opacity, 1s, ease-in-out); 37 | @include media-breakpoint-down(md) { 38 | @include rem(padding, 0 !important); 39 | display: none; 40 | &:before, 41 | &:after { 42 | display: none; 43 | } 44 | background: transparent; 45 | opacity: 1; 46 | position: relative; 47 | width: 100%; 48 | padding: 0; 49 | border: 0; 50 | } 51 | } 52 | 53 | .nav-subitem { 54 | border-bottom: 1px solid #eee; 55 | } 56 | 57 | .nav-sublink { 58 | display: block; 59 | color: rgba(0, 0, 0, 0.5); 60 | &:hover { 61 | text-decoration: none; 62 | color: #555; 63 | } 64 | @include rem(padding, 4px 0 4px 0 !important); 65 | @include media-breakpoint-down(md) { 66 | @include rem(padding, 12px 0 12px 35px !important); 67 | } 68 | } 69 | 70 | .nav-item { 71 | &:hover { 72 | .subcategory { 73 | opacity: 1; 74 | } 75 | } 76 | position:relative; 77 | @include media-breakpoint-down(md) { 78 | border-bottom: 1px solid #eee; 79 | } 80 | 81 | } 82 | 83 | .nav-link { 84 | display: block; 85 | z-index: 1; 86 | @include rem(padding, 12px 16px 12px 16px !important); 87 | @include media-breakpoint-down(md) { 88 | @include rem(padding, 12px 0 12px 0 !important); 89 | } 90 | } 91 | 92 | .nav-link.has-subcat { 93 | @include media-breakpoint-down(md) { 94 | margin-right: 58px; 95 | } 96 | } 97 | 98 | .navbar-nav { 99 | li:last-child { 100 | .nav-link { 101 | @include rem(padding, 12px 30px 12px 30px !important); 102 | margin-left: 18px; 103 | background-color: #ddd; 104 | @include media-breakpoint-down(md) { 105 | @include rem(padding, 12px 0 12px 0 !important); 106 | margin-left: 0; 107 | background-color: transparent; 108 | } 109 | } 110 | } 111 | li:last-child { 112 | border-bottom: 0; 113 | } 114 | } 115 | 116 | .dropdown-chevron-desktop { 117 | @include media-breakpoint-down(md) { 118 | display: none; 119 | } 120 | } 121 | 122 | .dropdown-chevron-mobile { 123 | display: none; 124 | position: absolute; 125 | right: 0; 126 | top: 0; 127 | padding: 12px 20px 12px 20px; 128 | border-left: 1px solid #eee; 129 | cursor: pointer; 130 | @include media-breakpoint-down(md) { 131 | display: block; 132 | } 133 | &:after { 134 | font-family: FontAwesome; 135 | content: '\f078'; 136 | font-size: 14px; 137 | } 138 | } 139 | 140 | .dropdown-chevron-mobile.open { 141 | &:after { 142 | content: '\f077'; 143 | } 144 | } 145 | 146 | .subcategory.open { 147 | display: block; 148 | border-top:1px solid #eee; 149 | } 150 | -------------------------------------------------------------------------------- /_scss/layout/_footer.scss: -------------------------------------------------------------------------------- 1 | /* Footer */ 2 | 3 | footer { 4 | @include rem(padding, 30px 0 30px 0); 5 | background-color: #333; 6 | color: #888; 7 | a { 8 | color: #888; 9 | &:hover { 10 | color: #fff; 11 | } 12 | } 13 | } 14 | 15 | .footer-copyright { 16 | float: left; 17 | } 18 | 19 | .footer-facebook { 20 | float: right; 21 | font-size: 24px; 22 | } 23 | 24 | .footer-twitter { 25 | float: right; 26 | font-size: 24px; 27 | margin-right: 15px; 28 | } 29 | 30 | .footer-sitemap { 31 | float: right; 32 | } 33 | 34 | .footer-author { 35 | float: right; 36 | } 37 | 38 | .footer-divider { 39 | &:after { 40 | content:"-"; 41 | color: #fff; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /_scss/layout/_header.scss: -------------------------------------------------------------------------------- 1 | /* Header */ 2 | 3 | header { 4 | @include rem(padding, 25px 0 25px 0); 5 | background-color: #fff; 6 | border-bottom: 1px solid #ccc; 7 | .container { 8 | padding: 0; 9 | } 10 | } 11 | 12 | .navbar-brand { 13 | font-size: 32px; 14 | } 15 | -------------------------------------------------------------------------------- /_scss/layout/_page-banner.scss: -------------------------------------------------------------------------------- 1 | /* Page banner */ 2 | 3 | .page-banner-background { 4 | background-color: #eee; 5 | border-bottom: 1px solid #ddd; 6 | } 7 | 8 | .page-banner { 9 | @include rem(padding-top, 20px); 10 | @include rem(padding-bottom, 20px); 11 | h1 { 12 | margin: 0; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /_scss/layout/_page.scss: -------------------------------------------------------------------------------- 1 | /* Page */ 2 | 3 | .page-background { 4 | background-color: #fff; 5 | } 6 | 7 | .page { 8 | @include rem(padding, 30px 0 30px 0); 9 | } 10 | -------------------------------------------------------------------------------- /_scss/layout/_topbar.scss: -------------------------------------------------------------------------------- 1 | /* Top bar */ 2 | 3 | .topbar { 4 | @include rem(padding, 9px 0 9px 0); 5 | background-color: #eee; 6 | h1 { 7 | display: inline; 8 | margin: 0; 9 | padding: 0; 10 | font-size: 16px; 11 | color: #777; 12 | } 13 | @include media-breakpoint-down(sm) { 14 | display: none; 15 | } 16 | } 17 | 18 | .phone, 19 | .email { 20 | position: relative; 21 | top: 3px; 22 | float: right; 23 | color: #777; 24 | font-size: 16px; 25 | } 26 | 27 | .email { 28 | @include rem(margin-right, 30px); 29 | color: #777; 30 | &:hover { 31 | text-decoration: none; 32 | color: #555; 33 | } 34 | i { 35 | font-size: 18px; 36 | position: relative; 37 | @include rem(margin-right, 2px); 38 | } 39 | } 40 | 41 | .phone { 42 | i { 43 | position: relative; 44 | font-size: 18px; 45 | top: 1px; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /_scss/main.scss: -------------------------------------------------------------------------------- 1 | /* Bootstrap */ 2 | @import "../node_modules/bootstrap/scss/bootstrap"; 3 | 4 | /* Font Awesome */ 5 | $fa-font-path: "../fonts/FontAwesome"; 6 | @import "../node_modules/font-awesome/scss/font-awesome"; 7 | 8 | /* Mixins */ 9 | @import "mixins/rem"; 10 | @import "mixins/transitions"; 11 | 12 | /* Global */ 13 | @import "base/global"; 14 | 15 | /* Page */ 16 | @import "pages/home-page"; 17 | 18 | /* Layout */ 19 | @import "layout/topbar"; 20 | @import "layout/header"; 21 | @import "layout/page"; 22 | @import "layout/page-banner"; 23 | @import "layout/footer"; 24 | 25 | /* Components */ 26 | @import "components/navbar"; 27 | 28 | /* Typography */ 29 | @import "typography/headings"; 30 | -------------------------------------------------------------------------------- /_scss/mixins/_rem.scss: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------- 2 | // Rem units with fallback to px for older browsers 3 | // Simplified version of: https://github.com/ry5n/rem 4 | // 5 | // Examples: 6 | // These will output the same thing: 7 | // @include rem(font-size, 60px); 8 | // @include rem(font-size, 3.75rem); 9 | // 10 | // Can also use shorthand properties: 11 | // @include rem(margin, 20px 10px 0 5%); 12 | // Above will output the following: 13 | // margin: 20px 10px 0 5%; 14 | // margin: 1.25rem 0.625rem 0 5%; 15 | // 16 | // Note: This overrides Susy's rem mixin,to convert px grids to rem. 17 | // -------------------------------------------------- 18 | 19 | // Base font size in pixels, if not already defined. 20 | // Should be the same as the font-size of the html element. 21 | $base-font-size: 16px !default; 22 | $rem-ratio: ($base-font-size / 1px) / 1rem; 23 | 24 | // Whether to output fallback values in px when outputting rems. 25 | $rem-with-px-fallback: true !default; 26 | 27 | // For the given property, use rem units with px as a fallback. 28 | // 29 | // $property - The css property name. 30 | // $values - The value (or space-separated list of values) for the property. 31 | // 32 | @mixin rem($property, $values) { 33 | // Create a couple of empty lists as output buffers. 34 | $px-values: (); 35 | $rem-values: (); 36 | 37 | // Ensure $values is a list. 38 | @if type-of($values) != 'list' { 39 | $values: join((), $values); 40 | } 41 | 42 | // Loop through the $values list 43 | @each $value in $values { 44 | // For each property value, if it's in rem or px, derive both rem and 45 | // px values for it and add those to the end of the appropriate buffer. 46 | // Ensure all pixel values are rounded to the nearest pixel. 47 | @if type-of($value) == number and not unitless($value) and (unit($value) == px or unit($value) == rem) { 48 | // unit is px 49 | @if unit($value) == px { 50 | $px-values: join($px-values, round($value)); 51 | $rem-values: join($rem-values, $value / $base-font-size + rem); 52 | } 53 | // unit is rem 54 | @else { 55 | $px-values: join($px-values, round($value * $rem-ratio) + px); 56 | $rem-values: join($rem-values, $value); 57 | } 58 | } 59 | // Otherwise, pass non-px/rem values along to both outputs. 60 | @else { 61 | $px-values: join($px-values, $value); 62 | $rem-values: join($rem-values, $value); 63 | } 64 | } 65 | 66 | // Use pixel fallback for browsers that don't understand rem units. 67 | @if $rem-with-px-fallback { 68 | #{$property}: $px-values; 69 | } 70 | 71 | // Use rem values for everyone else (overrides pixel values). 72 | #{$property}: $rem-values; 73 | } 74 | 75 | // Override Susy's if-rem() mixin so it uses this simplified rem() mixin instead. 76 | @mixin if-rem($property, $values) { 77 | @include rem($property, $values); 78 | } 79 | -------------------------------------------------------------------------------- /_scss/mixins/_transitions.scss: -------------------------------------------------------------------------------- 1 | /* Transitions */ 2 | 3 | @mixin transition($var, $duration, $timing-function) { 4 | -webkit-transition: $var, $duration, $timing-function; 5 | -moz-transition: $var, $duration, $timing-function; 6 | -ms-transition: $var, $duration, $timing-function; 7 | -o-transition: $var, $duration, $timing-function; 8 | transition: $var, $duration, $timing-function; 9 | } 10 | -------------------------------------------------------------------------------- /_scss/pages/_home-page.scss: -------------------------------------------------------------------------------- 1 | /* Home Page */ 2 | 3 | .home-page-intro-container { 4 | background-color: #fff; 5 | } 6 | 7 | .home-intro { 8 | display: block; 9 | @include rem(padding, 40px 0 40px 0); 10 | @include media-breakpoint-down(sm) { 11 | padding-bottom: 0; 12 | .btn-success { 13 | width: 100%; 14 | } 15 | } 16 | } 17 | 18 | .home-carousel { 19 | @include rem(margin, 40px 0 40px 0); 20 | border: 1px solid #bbb; 21 | box-shadow: rgba(0,0,0,0.0980392) 0 1px 4px; 22 | img { 23 | height:100%; 24 | width:100%; 25 | } 26 | @include media-breakpoint-down(xs) { 27 | display: none; 28 | } 29 | } 30 | 31 | .home-page-cards-background { 32 | background-color: #ccc; 33 | @include rem(padding, 40px 0 40px 0); 34 | @include media-breakpoint-down(xs) { 35 | background-color: #fff; 36 | } 37 | } 38 | 39 | .home-card { 40 | background-color: #fff; 41 | float: left; 42 | width: 100%; 43 | border: 1px solid #bbb; 44 | box-shadow: rgba(0,0,0,0.0980392) 0 1px 4px; 45 | @include media-breakpoint-down(xs) { 46 | box-shadow: none; 47 | border: 0px; 48 | } 49 | img { 50 | &:hover { 51 | opacity: 0.9; 52 | } 53 | } 54 | @include media-breakpoint-down(md) { 55 | @include rem(margin-bottom, 40px); 56 | img { 57 | float: left; 58 | width: 50%; 59 | } 60 | } 61 | @include media-breakpoint-down(sm) { 62 | @include rem(padding, 0); 63 | img { 64 | float: left; 65 | width: 100%; 66 | @include rem(margin-bottom, 15px); 67 | } 68 | } 69 | .home-card-content { 70 | float: left; 71 | width: 100%; 72 | @include rem(padding, 30px); 73 | @include media-breakpoint-down(md) { 74 | width: 50%; 75 | } 76 | @include media-breakpoint-down(xs) { 77 | width: 100%; 78 | padding: 0; 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /_scss/typography/_headings.scss: -------------------------------------------------------------------------------- 1 | /* Headings */ 2 | 3 | h1 { 4 | font-size: 28px; 5 | } 6 | 7 | h2 { 8 | font-size: 24px; 9 | } 10 | -------------------------------------------------------------------------------- /feed.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.description | xml_escape }} 9 | {{ site.url }}{{ site.baseurl }}/ 10 | 11 | {{ site.time | date_to_rfc822 }} 12 | {{ site.time | date_to_rfc822 }} 13 | Jekyll v{{ jekyll.version }} 14 | {% for post in site.posts limit:10 %} 15 | 16 | {{ post.title | xml_escape }} 17 | {{ post.content | xml_escape }} 18 | {{ post.date | date_to_rfc822 }} 19 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 20 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 21 | {% for tag in post.tags %} 22 | {{ tag | xml_escape }} 23 | {% endfor %} 24 | {% for cat in post.categories %} 25 | {{ cat | xml_escape }} 26 | {% endfor %} 27 | 28 | {% endfor %} 29 | 30 | 31 | -------------------------------------------------------------------------------- /fonts/FontAwesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soulroll/jekyll-bootstrap-5/ce7fe2c049953039e6886f4c4c50050341c31610/fonts/FontAwesome/FontAwesome.otf -------------------------------------------------------------------------------- /fonts/FontAwesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soulroll/jekyll-bootstrap-5/ce7fe2c049953039e6886f4c4c50050341c31610/fonts/FontAwesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /fonts/FontAwesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soulroll/jekyll-bootstrap-5/ce7fe2c049953039e6886f4c4c50050341c31610/fonts/FontAwesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /fonts/FontAwesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soulroll/jekyll-bootstrap-5/ce7fe2c049953039e6886f4c4c50050341c31610/fonts/FontAwesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /fonts/FontAwesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soulroll/jekyll-bootstrap-5/ce7fe2c049953039e6886f4c4c50050341c31610/fonts/FontAwesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var sass = require('gulp-sass')(require('sass')); 3 | var cssnano = require('cssnano'); 4 | var autoprefixer = require('autoprefixer'); 5 | var sourcemaps = require('gulp-sourcemaps'); 6 | var postcss = require('gulp-postcss'); 7 | var cp = require('child_process'); 8 | var jekyll = process.platform === 'win32' ? 'jekyll.bat' : 'jekyll'; 9 | var concatjs = require('gulp-concat'); 10 | var browserSync = require('browser-sync').create(); 11 | 12 | var paths = { 13 | styles: { 14 | src: '_scss/**/*.scss', 15 | dest: '_site/css', 16 | destsecond: 'css' 17 | }, 18 | scripts: { 19 | src: '_js/src/*.js', 20 | dest: '_site/js/dist/', 21 | destsecond: 'js/dist/' 22 | } 23 | }; 24 | 25 | function jekyllBuild() { 26 | return cp.spawn( jekyll , ['build'], {stdio: 'inherit'}) 27 | } 28 | 29 | function style() { 30 | return gulp.src(paths.styles.src) 31 | .pipe(sass({ 32 | includePaths: ['scss'], 33 | outputStyle: 'expanded', 34 | onError: browserSync.notify 35 | })) 36 | .pipe(postcss([ 37 | autoprefixer() 38 | ])) 39 | .pipe(gulp.dest(paths.styles.dest)) 40 | .pipe(browserSync.reload({stream:true})) 41 | .pipe(gulp.dest(paths.styles.destsecond)); 42 | } 43 | 44 | function js() { 45 | return gulp.src([ 46 | './node_modules/jquery/dist/jquery.min.js', 47 | './node_modules/bootstrap/dist/js/bootstrap.bundle.js', 48 | './node_modules/jquery-match-height/dist/jquery.matchHeight-min.js', 49 | paths.scripts.src 50 | ]) 51 | .pipe(concatjs('app.bundle.js')) 52 | .pipe(gulp.dest(paths.scripts.dest)) 53 | .pipe(browserSync.reload({stream:true})) 54 | } 55 | 56 | function browserSyncServe(done) { 57 | browserSync.init({ 58 | server: { 59 | baseDir: "_site" 60 | } 61 | }) 62 | done(); 63 | } 64 | 65 | function browserSyncReload(done) { 66 | browserSync.reload(); 67 | done(); 68 | } 69 | 70 | function watch() { 71 | gulp.watch(paths.styles.src, style) 72 | gulp.watch(paths.scripts.src, js) 73 | gulp.watch( 74 | [ 75 | '*.html', 76 | '_layouts/*.html', 77 | '_pages/*', 78 | '_posts/*', 79 | '_data/*', 80 | '_includes/*' 81 | ], 82 | gulp.series(jekyllBuild, browserSyncReload)); 83 | } 84 | 85 | gulp.task('default', gulp.parallel(jekyllBuild, browserSyncServe, watch)) 86 | -------------------------------------------------------------------------------- /js/dist/app.bundle.js: -------------------------------------------------------------------------------- 1 | !function o(s,a,l){function c(t,e){if(!a[t]){if(!s[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(u)return u(t,!0);var i=new Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}var r=a[t]={exports:{}};s[t][0].call(r.exports,function(e){return c(s[t][1][e]||e)},r,r.exports,o,s,a,l)}return a[t].exports}for(var u="function"==typeof require&&require,e=0;ethis._items.length-1||e<0))if(this._isSliding)O(this._element).one(z.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right
',trigger:"hover focus",title:"",delay:0,html:!(ht={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(pt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},vt="out",yt={HIDE:"hide"+ct,HIDDEN:"hidden"+ct,SHOW:(gt="show")+ct,SHOWN:"shown"+ct,INSERTED:"inserted"+ct,CLICK:"click"+ct,FOCUSIN:"focusin"+ct,FOCUSOUT:"focusout"+ct,MOUSEENTER:"mouseenter"+ct,MOUSELEAVE:"mouseleave"+ct},_t="fade",bt="show",wt=".tooltip-inner",Et=".arrow",Tt="hover",Ct="focus",xt="click",St="manual",At=function(){function i(e,t){if(void 0===u)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=st(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),st(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(st(this.getTipElement()).hasClass(bt))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),st.removeData(this.element,this.constructor.DATA_KEY),st(this.element).off(this.constructor.EVENT_KEY),st(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&st(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===st(this.element).css("display"))throw new Error("Please use show on visible elements");var e=st.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){st(this.element).trigger(e);var n=st.contains(this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=En.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&st(i).addClass(_t);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:st(this.config.container);st(i).data(this.constructor.DATA_KEY,this),st.contains(this.element.ownerDocument.documentElement,this.tip)||st(i).appendTo(a),st(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Et},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),st(i).addClass(bt),"ontouchstart"in document.documentElement&&st(document.body).children().on("mouseover",null,st.noop);var l=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,st(t.element).trigger(t.constructor.Event.SHOWN),e===vt&&t._leave(null,t)};if(st(this.tip).hasClass(_t)){var c=En.getTransitionDurationFromElement(this.tip);st(this.tip).one(En.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},e.hide=function(e){var t=this,n=this.getTipElement(),i=st.Event(this.constructor.Event.HIDE),r=function(){t._hoverState!==gt&&n.parentNode&&n.parentNode.removeChild(n),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),st(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(st(this.element).trigger(i),!i.isDefaultPrevented()){if(st(n).removeClass(bt),"ontouchstart"in document.documentElement&&st(document.body).children().off("mouseover",null,st.noop),this._activeTrigger[xt]=!1,this._activeTrigger[Ct]=!1,this._activeTrigger[Tt]=!1,st(this.tip).hasClass(_t)){var o=En.getTransitionDurationFromElement(n);st(n).one(En.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){st(this.getTipElement()).addClass(ft+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||st(this.config.template)[0],this.tip},e.setContent=function(){var e=st(this.getTipElement());this.setElementContent(e.find(wt),this.getTitle()),e.removeClass(_t+" "+bt)},e.setElementContent=function(e,t){var n=this.config.html;"object"==typeof t&&(t.nodeType||t.jquery)?n?st(t).parent().is(e)||e.empty().append(t):e.text(st(t).text()):e[n?"html":"text"](t)},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},e._getAttachment=function(e){return ht[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)st(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==St){var t=e===Tt?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Tt?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;st(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}st(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=c({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||st(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),st(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Ct:Tt]=!0),st(t.getTipElement()).hasClass(bt)||t._hoverState===gt?t._hoverState=gt:(clearTimeout(t._timeout),t._hoverState=gt,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===gt&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||st(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),st(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Ct:Tt]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=vt,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===vt&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){return"number"==typeof(e=c({},this.constructor.Default,st(this.element).data(),"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),En.typeCheckConfig(at,e,this.constructor.DefaultType),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=st(this.getTipElement()),t=e.attr("class").match(dt);null!==t&&0

'}),Ht=c({},In.DefaultType,{content:"(string|element|function)"}),Mt="fade",Ft=".popover-header",Wt=".popover-body",qt={HIDE:"hide"+Nt,HIDDEN:"hidden"+Nt,SHOW:(Rt="show")+Nt,SHOWN:"shown"+Nt,INSERTED:"inserted"+Nt,CLICK:"click"+Nt,FOCUSIN:"focusin"+Nt,FOCUSOUT:"focusout"+Nt,MOUSEENTER:"mouseenter"+Nt,MOUSELEAVE:"mouseleave"+Nt},Bt=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(e){Dt(this.getTipElement()).addClass(jt+"-"+e)},r.getTipElement=function(){return this.tip=this.tip||Dt(this.config.template)[0],this.tip},r.setContent=function(){var e=Dt(this.getTipElement());this.setElementContent(e.find(Ft),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(Wt),t),e.removeClass(Mt+" "+Rt)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var e=Dt(this.getTipElement()),t=e.attr("class").match(Lt);null!==t&&0=this._offsets[r]&&(void 0===this._offsets[r+1]||er&&(r=e.outerHeight(!1)),t?e.attr("style",t):e.css("display","")})}n.each(function(){var e=l(this),t=0;o.target&&e.is(o.target)||("border-box"!==e.css("box-sizing")&&(t+=c(e.css("border-top-width"))+c(e.css("border-bottom-width")),t+=c(e.css("padding-top"))+c(e.css("padding-bottom"))),e.css(o.property,r-t+"px"))})}),a.each(function(){var e=l(this);e.attr("style",e.data("style-cache")||null)}),d._maintainScroll&&l(window).scrollTop(r/s*l("html").outerHeight(!0)),this},d._applyDataApi=function(){var n={};l("[data-match-height], [data-mh]").each(function(){var e=l(this),t=e.attr("data-mh")||e.attr("data-match-height");n[t]=t in n?n[t].add(e):e}),l.each(n,function(){this.matchHeight(!0)})};var o=function(e){d._beforeUpdate&&d._beforeUpdate(e,d._groups),l.each(d._groups,function(){d._apply(this.elements,this.options)}),d._afterUpdate&&d._afterUpdate(e,d._groups)};d._update=function(e,t){if(t&&"resize"===t.type){var n=l(window).width();if(n===i)return;i=n}e?-1===r&&(r=setTimeout(function(){o(t),r=-1},d._throttle)):o(t)},l(d._applyDataApi);var e=l.fn.on?"on":"bind";l(window)[e]("load",function(e){d._update(!1,e)}),l(window)[e]("resize orientationchange",function(e){d._update(!0,e)})})},{jquery:4}],4:[function(e,n,t){!function(e,t){"use strict";"object"==typeof n&&"object"==typeof n.exports?n.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(T,e){"use strict";var t=[],C=T.document,i=Object.getPrototypeOf,a=t.slice,m=t.concat,l=t.push,r=t.indexOf,n={},o=n.toString,g=n.hasOwnProperty,s=g.toString,c=s.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},_=function(e){return null!=e&&e===e.window},u={type:!0,src:!0,noModule:!0};function b(e,t,n){var i,r=(t=t||C).createElement("script");if(r.text=e,n)for(i in u)n[i]&&(r[i]=n[i]);t.head.appendChild(r).parentNode.removeChild(r)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var x=function(e,t){return new x.fn.init(e,t)},f=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!y(e)&&!_(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+H+")"+H+"*"),z=new RegExp("="+H+"*([^\\]'\"]*?)"+H+"*\\]","g"),K=new RegExp(F),$=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+R),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+H+"*(even|odd|(([+-]|)(\\d*)n|)"+H+"*(?:([+-]|)"+H+"*(\\d+)|))"+H+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+H+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+H+"*((?:-\\d)?\\d*)"+H+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,J=new RegExp("\\\\([\\da-f]{1,6}"+H+"?|("+H+")|.)","ig"),ee=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){E()},re=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{O.apply(t=j.call(y.childNodes),y.childNodes),t[y.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){N.apply(e,j.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function oe(e,t,n,i){var r,o,s,a,l,c,u,f=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!i&&((t?t.ownerDocument||t:y)!==T&&E(t),t=t||T,C)){if(11!==d&&(l=X.exec(e)))if(r=l[1]){if(9===d){if(!(s=t.getElementById(r)))return n;if(s.id===r)return n.push(s),n}else if(f&&(s=f.getElementById(r))&&v(t,s)&&s.id===r)return n.push(s),n}else{if(l[2])return O.apply(n,t.getElementsByTagName(e)),n;if((r=l[3])&&p.getElementsByClassName&&t.getElementsByClassName)return O.apply(n,t.getElementsByClassName(r)),n}if(p.qsa&&!A[e+" "]&&(!g||!g.test(e))){if(1!==d)f=t,u=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(te,ne):t.setAttribute("id",a=x),o=(c=h(e)).length;o--;)c[o]="#"+a+" "+ve(c[o]);u=c.join(","),f=Z.test(e)&&me(t.parentNode)||t}if(u)try{return O.apply(n,f.querySelectorAll(u)),n}catch(e){}finally{a===x&&t.removeAttribute("id")}}}return m(e.replace(q,"$1"),t,n,i)}function se(){var i=[];return function e(t,n){return i.push(t+" ")>b.cacheLength&&delete e[i.shift()],e[t+" "]=n}}function ae(e){return e[x]=!0,e}function le(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var n=e.split("|"),i=n.length;i--;)b.attrHandle[n[i]]=t}function ue(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function de(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function pe(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&re(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function he(s){return ae(function(o){return o=+o,ae(function(e,t){for(var n,i=s([],e.length,o),r=i.length;r--;)e[n=i[r]]&&(e[n]=!(t[n]=e[n]))})})}function me(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in p=oe.support={},r=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},E=oe.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:y;return i!==T&&9===i.nodeType&&i.documentElement&&(s=(T=i).documentElement,C=!r(T),y!==T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",ie,!1):n.attachEvent&&n.attachEvent("onunload",ie)),p.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=le(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=G.test(T.getElementsByClassName),p.getById=le(function(e){return s.appendChild(e).id=x,!T.getElementsByName||!T.getElementsByName(x).length}),p.getById?(b.filter.ID=function(e){var t=e.replace(J,ee);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(J,ee);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&C){var n,i,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=p.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},b.find.CLASS=p.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&C)return t.getElementsByClassName(e)},a=[],g=[],(p.qsa=G.test(T.querySelectorAll))&&(le(function(e){s.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+H+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+H+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+x+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||g.push(".#.+[+~]")}),le(function(e){e.innerHTML="";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+H+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),s.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(p.matchesSelector=G.test(u=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&le(function(e){p.disconnectedMatch=u.call(e,"*"),u.call(e,"[s!='']:x"),a.push("!=",F)}),g=g.length&&new RegExp(g.join("|")),a=a.length&&new RegExp(a.join("|")),t=G.test(s.compareDocumentPosition),v=t||G.test(s.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return c=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument===y&&v(y,e)?-1:t===T||t.ownerDocument===y&&v(y,t)?1:l?L(l,e)-L(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return c=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e===T?-1:t===T?1:r?-1:o?1:l?L(l,e)-L(l,t):0;if(r===o)return ue(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?ue(s[i],a[i]):s[i]===y?-1:a[i]===y?1:0}),T},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==T&&E(e),t=t.replace(z,"='$1']"),p.matchesSelector&&C&&!A[t+" "]&&(!a||!a.test(t))&&(!g||!g.test(t)))try{var n=u.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(J,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(J,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&K.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(J,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=d[e+" "];return t||(t=new RegExp("(^|"+H+")"+e+"("+H+"|$)"))&&d(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,i,r){return function(e){var t=oe.attr(e,n);return null==t?"!="===i:!i||(t+="","="===i?t===r:"!="===i?t!==r:"^="===i?r&&0===t.indexOf(r):"*="===i?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function I(e,n,i){return y(n)?x.grep(e,function(e,t){return!!n.call(e,t,e)!==i}):n.nodeType?x.grep(e,function(e){return e===n!==i}):"string"!=typeof n?x.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(x.fn.init=function(e,t,n){var i,r;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:N.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),D.test(i[1])&&x.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=C.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(x):x.makeArray(e,this)}).prototype=x.fn,k=x(C);var O=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function L(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}x.fn.extend({has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]+)/i,ue=/^$|^module$|\/(?:java|ecma)script/i,fe={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function de(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?x.merge([e],n):n}function pe(e,t){for(var n=0,i=e.length;nx",v.noCloneChecked=!!he.cloneNode(!0).lastChild.defaultValue;var ye=C.documentElement,_e=/^key/,be=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Te(){return!1}function Ce(){try{return C.activeElement}catch(e){}}function xe(e,t,n,i,r,o){var s,a;if("object"==typeof t){for(a in"string"!=typeof n&&(i=i||n,n=void 0),t)xe(e,a,n,i,t[a],o);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Te;else if(!r)return e;return 1===o&&(s=r,(r=function(e){return x().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=x.guid++)),e.each(function(){x.event.add(this,t,r,i,n)})}x.event={global:{},add:function(t,e,n,i,r){var o,s,a,l,c,u,f,d,p,h,m,g=Y.get(t);if(g)for(n.handler&&(n=(o=n).handler,r=o.selector),r&&x.find.matchesSelector(ye,r),n.guid||(n.guid=x.guid++),(l=g.events)||(l=g.events={}),(s=g.handle)||(s=g.handle=function(e){return void 0!==x&&x.event.triggered!==e.type?x.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(P)||[""]).length;c--;)p=m=(a=we.exec(e[c])||[])[1],h=(a[2]||"").split(".").sort(),p&&(f=x.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,f=x.event.special[p]||{},u=x.extend({type:p,origType:m,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&x.expr.match.needsContext.test(r),namespace:h.join(".")},o),(d=l[p])||((d=l[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,i,h,s)||t.addEventListener&&t.addEventListener(p,s)),f.add&&(f.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?d.splice(d.delegateCount++,0,u):d.push(u),x.event.global[p]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,c,u,f,d,p,h,m,g=Y.hasData(e)&&Y.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(P)||[""]).length;c--;)if(p=m=(a=we.exec(t[c])||[])[1],h=(a[2]||"").split(".").sort(),p){for(f=x.event.special[p]||{},d=l[p=(i?f.delegateType:f.bindType)||p]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)u=d[o],!r&&m!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(d.splice(o,1),u.selector&&d.delegateCount--,f.remove&&f.remove.call(e,u));s&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,g.handle)||x.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)x.event.remove(e,p+t[c],n,i,!0);x.isEmptyObject(l)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,i,r,o,s,a=x.event.fix(e),l=new Array(arguments.length),c=(Y.get(this,"events")||{})[a.type]||[],u=x.event.special[a.type]||{};for(l[0]=a,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function ke(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&x(e).children("tbody")[0]||e}function Ne(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function je(e,t){var n,i,r,o,s,a,l,c;if(1===t.nodeType){if(Y.hasData(e)&&(o=Y.access(e),s=Y.set(t,o),c=o.events))for(r in delete s.handle,s.events={},c)for(n=0,i=c[r].length;n")},clone:function(e,t,n){var i,r,o,s,a,l,c,u=e.cloneNode(!0),f=x.contains(e.ownerDocument,e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=de(u),i=0,r=(o=de(e)).length;i").prop({charset:n.scriptCharset,src:n.url}).on("load error",r=function(e){i.remove(),r=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(i[0])},abort:function(){r&&r()}}});var Bt,Ut=[],zt=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ut.pop()||x.expando+"_"+bt++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(e,t,n){var i,r,o,s=!1!==e.jsonp&&(zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&zt.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=y(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(zt,"$1"+i):!1!==e.jsonp&&(e.url+=(wt.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return o||x.error(i+" was not called"),o[0]},e.dataTypes[0]="json",r=T[i],T[i]=function(){o=arguments},n.always(function(){void 0===r?x(T).removeProp(i):T[i]=r,e[i]&&(e.jsonpCallback=t.jsonpCallback,Ut.push(i)),o&&y(r)&&r(o[0]),o=r=void 0}),"script"}),v.createHTMLDocument=((Bt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Bt.childNodes.length),x.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((i=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(i)):t=C),o=!n&&[],(r=D.exec(e))?[t.createElement(r[1])]:(r=ve([e],t,o),o&&o.length&&x(o).remove(),x.merge([],r.childNodes)));var i,r,o},x.fn.load=function(e,t,n){var i,r,o,s=this,a=e.indexOf(" ");return-1").append(x.parseHTML(e)).find(i):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.expr.pseudos.animated=function(t){return x.grep(x.timers,function(e){return t===e.elem}).length},x.offset={setOffset:function(e,t,n){var i,r,o,s,a,l,c=x.css(e,"position"),u=x(e),f={};"static"===c&&(e.style.position="relative"),a=u.offset(),o=x.css(e,"top"),l=x.css(e,"left"),("absolute"===c||"fixed"===c)&&-1<(o+l).indexOf("auto")?(s=(i=u.position()).top,r=i.left):(s=parseFloat(o)||0,r=parseFloat(l)||0),y(t)&&(t=t.call(e,n,x.extend({},a))),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+r),"using"in t?t.using.call(e,f):u.css(f)}},x.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){x.offset.setOffset(this,t,e)});var e,n,i=this[0];return i?i.getClientRects().length?(e=i.getBoundingClientRect(),n=i.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,i=this[0],r={top:0,left:0};if("fixed"===x.css(i,"position"))t=i.getBoundingClientRect();else{for(t=this.offset(),n=i.ownerDocument,e=i.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===x.css(e,"position");)e=e.parentNode;e&&e!==i&&1===e.nodeType&&((r=x(e).offset()).top+=x.css(e,"borderTopWidth",!0),r.left+=x.css(e,"borderLeftWidth",!0))}return{top:t.top-r.top-x.css(i,"marginTop",!0),left:t.left-r.left-x.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===x.css(e,"position");)e=e.offsetParent;return e||ye})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,r){var o="pageYOffset"===r;x.fn[t]=function(e){return B(this,function(e,t,n){var i;if(_(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===n)return i?i[r]:e[t];i?i.scrollTo(o?i.pageXOffset:n,o?n:i.pageYOffset):e[t]=n},t,e,arguments.length)}}),x.each(["top","left"],function(e,n){x.cssHooks[n]=We(v.pixelPosition,function(e,t){if(t)return t=Fe(e,n),He.test(t)?x(e).position()[n]+"px":t})}),x.each({Height:"height",Width:"width"},function(s,a){x.each({padding:"inner"+s,content:a,"":"outer"+s},function(i,o){x.fn[o]=function(e,t){var n=arguments.length&&(i||"boolean"!=typeof e),r=i||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var i;return _(e)?0===o.indexOf("outer")?e["inner"+s]:e.document.documentElement["client"+s]:9===e.nodeType?(i=e.documentElement,Math.max(e.body["scroll"+s],i["scroll"+s],e.body["offset"+s],i["offset"+s],i["client"+s])):void 0===n?x.css(e,t,r):x.style(e,t,n,r)},a,n?e:void 0,n)}})}),x.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){x.fn[n]=function(e,t){return 0(e||y.height())},_setFocus:function(){(f.st.focus?f.content.find(f.st.focus).eq(0):f.wrap).focus()},_onFocusIn:function(e){if(e.target!==f.wrap[0]&&!u.contains(f.wrap[0],e.target))return f._setFocus(),!1},_parseMarkup:function(r,e,t){var o;t.data&&(e=u.extend(t.data,e)),w(h,[r,e,t]),u.each(e,function(e,t){if(void 0===t||!1===t)return!0;if(1<(o=e.split("_")).length){var n=r.find(g+"-"+o[0]);if(0").attr("src",t).attr("class",n.attr("class"))):n.attr(o[1],t)}}else r.find(g+"-"+e).html(t)})},_getScrollbarSize:function(){if(void 0===f.scrollbarSize){var e=document.createElement("div");e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),f.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return f.scrollbarSize}},u.magnificPopup={instance:null,proto:e.prototype,modules:[],open:function(e,t){return o(),(e=e?u.extend(!0,{},e):{}).isObj=!0,e.index=t||0,this.instance.open(e)},close:function(){return u.magnificPopup.instance&&u.magnificPopup.instance.close()},registerModule:function(e,t){t.options&&(u.magnificPopup.defaults[e]=t.options),u.extend(this.proto,t.proto),this.modules.push(e)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},u.fn.magnificPopup=function(e){o();var t=u(this);if("string"==typeof e)if("open"===e){var n,i=a?t.data("magnificPopup"):t[0].magnificPopup,r=parseInt(arguments[1],10)||0;i.items?n=i.items[r]:(n=t,i.delegate&&(n=n.find(i.delegate)),n=n.eq(r)),f._openClick({mfpEl:n},t,i)}else f.isOpen&&f[e].apply(f,Array.prototype.slice.call(arguments,1));else e=u.extend(!0,{},e),a?t.data("magnificPopup",e):t[0].magnificPopup=e,f.addGroup(t,e);return t};var T,C,x,S="inline",A=function(){x&&(C.after(x.addClass(T)).detach(),x=null)};u.magnificPopup.registerModule(S,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){f.types.push(S),_(l+"."+S,function(){A()})},getInline:function(e,t){if(A(),e.src){var n=f.st.inline,i=u(e.src);if(i.length){var r=i[0].parentNode;r&&r.tagName&&(C||(T=n.hiddenClass,C=b(T),T="mfp-"+T),x=i.after(C).detach().removeClass(T)),f.updateStatus("ready")}else f.updateStatus("error",n.tNotFound),i=u("
");return e.inlineElement=i}return f.updateStatus("ready"),f._parseMarkup(t,{},e),t}}});var D,I="ajax",k=function(){D&&u(document.body).removeClass(D)},N=function(){k(),f.req&&f.req.abort()};u.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){f.types.push(I),D=f.st.ajax.cursor,_(l+"."+I,N),_("BeforeChange."+I,N)},getAjax:function(r){D&&u(document.body).addClass(D),f.updateStatus("loading");var e=u.extend({url:r.src,success:function(e,t,n){var i={data:e,xhr:n};w("ParseAjax",i),f.appendContent(u(i.data),I),r.finished=!0,k(),f._setFocus(),setTimeout(function(){f.wrap.addClass(v)},16),f.updateStatus("ready"),w("AjaxContentAdded")},error:function(){k(),r.finished=r.loadError=!0,f.updateStatus("error",f.st.ajax.tError.replace("%url%",r.src))}},f.st.ajax.settings);return f.req=u.ajax(e),""}}});var O;u.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var e=f.st.image,t=".image";f.types.push("image"),_(m+t,function(){"image"===f.currItem.type&&e.cursor&&u(document.body).addClass(e.cursor)}),_(l+t,function(){e.cursor&&u(document.body).removeClass(e.cursor),y.off("resize"+g)}),_("Resize"+t,f.resizeImage),f.isLowIE&&_("AfterChange",f.resizeImage)},resizeImage:function(){var e=f.currItem;if(e&&e.img&&f.st.image.verticalFit){var t=0;f.isLowIE&&(t=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",f.wH-t)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,O&&clearInterval(O),e.isCheckingImgSize=!1,w("ImageHasSize",e),e.imgHidden&&(f.content&&f.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(t){var n=0,i=t.img[0],r=function(e){O&&clearInterval(O),O=setInterval(function(){0
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){f.types.push(L),_("BeforeChange",function(e,t,n){t!==n&&(t===L?P():n===L&&P(!0))}),_(l+"."+L,function(){P()})},getIframe:function(e,t){var n=e.src,i=f.st.iframe;u.each(i.patterns,function(){if(-1',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var o=f.st.gallery,e=".mfp-gallery";if(f.direction=!0,!o||!o.enabled)return!1;p+=" mfp-gallery",_(m+e,function(){o.navigateByImgClick&&f.wrap.on("click"+e,".mfp-img",function(){if(1=f.index,f.index=e,f.updateItemHTML()},preloadNearbyImages:function(){var e,t=f.st.gallery.preload,n=Math.min(t[0],f.items.length),i=Math.min(t[1],f.items.length);for(e=1;e<=(f.direction?i:n);e++)f._preloadItem(f.index+e);for(e=1;e<=(f.direction?n:i);e++)f._preloadItem(f.index-e)},_preloadItem:function(e){if(e=H(e),!f.items[e].preloaded){var t=f.items[e];t.parsed||(t=f.parseEl(e)),w("LazyLoad",t),"image"===t.type&&(t.img=u('').on("load.mfploader",function(){t.hasSize=!0}).on("error.mfploader",function(){t.hasSize=!0,t.loadError=!0,w("LazyLoadError",t)}).attr("src",t.src)),t.preloaded=!0}}}});var R="retina";u.magnificPopup.registerModule(R,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(1=i.clientWidth&&n>=i.clientHeight}),u=0l[e]&&!i.escapeWithReference&&(n=Math.min(u[t],l[e]-("right"===e?u.width:u.height))),w({},t,n)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";u=E({},u,f[t](e))}),e.offsets.popper=u,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,r=e.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]o(i[a])&&(e.offsets.popper[l]=o(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!B(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",u=l?"Top":"Left",f=u.toLowerCase(),d=l?"left":"top",p=l?"bottom":"right",h=k(i)[c];a[p]-hs[p]&&(e.offsets.popper[f]+=a[f]+h-s[p]),e.offsets.popper=T(e.offsets.popper);var m=a[f]+a[c]/2-h/2,g=b(e.instance.popper),v=parseFloat(g["margin"+u],10),y=parseFloat(g["border"+u+"Width"],10),_=m-e.offsets.popper[f]-v-y;return _=Math.max(Math.min(s[c]-h,_),0),e.arrowElement=i,e.offsets.arrow=(w(n={},f,Math.round(_)),w(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(h,m){if(P(h.instance.modifiers,"inner"))return h;if(h.flipped&&h.placement===h.originalPlacement)return h;var g=A(h.instance.popper,h.instance.reference,m.padding,m.boundariesElement,h.positionFixed),v=h.placement.split("-")[0],y=N(v),_=h.placement.split("-")[1]||"",b=[];switch(m.behavior){case $.FLIP:b=[v,y];break;case $.CLOCKWISE:b=K(v);break;case $.COUNTERCLOCKWISE:b=K(v,!0);break;default:b=m.behavior}return b.forEach(function(e,t){if(v!==e||b.length===t+1)return h;v=h.placement.split("-")[0],y=N(v);var n,i=h.offsets.popper,r=h.offsets.reference,o=Math.floor,s="left"===v&&o(i.right)>o(r.left)||"right"===v&&o(i.left)o(r.top)||"bottom"===v&&o(i.top)o(g.right),c=o(i.top)o(g.bottom),f="left"===v&&a||"right"===v&&l||"top"===v&&c||"bottom"===v&&u,d=-1!==["top","bottom"].indexOf(v),p=!!m.flipVariations&&(d&&"start"===_&&a||d&&"end"===_&&l||!d&&"start"===_&&c||!d&&"end"===_&&u);(s||f||p)&&(h.flipped=!0,(s||f)&&(v=b[t+1]),p&&(_="end"===(n=_)?"start":"start"===n?"end":n),h.placement=v+(_?"-"+_:""),h.offsets.popper=E({},h.offsets.popper,O(h.instance.popper,h.offsets.reference,h.placement)),h=L(h.instance.modifiers,h,"flip"))}),h},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),e.placement=N(t),e.offsets.popper=T(r),e}},hide:{order:800,enabled:!0,fn:function(e){if(!B(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=j(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right