├── exampleSite ├── content │ └── .gitkeep ├── static │ └── .gitkeep ├── .gitignore ├── data │ └── projects │ │ ├── 2014-07-07-project-3.yaml │ │ ├── 2014-07-10-project-6.yaml │ │ ├── 2014-07-09-project-5.yaml │ │ ├── 2014-07-08-project-4.yaml │ │ ├── 2014-07-06-project-2.yaml │ │ └── 2014-07-05-project-1.yaml └── config.toml ├── archetypes └── default.md ├── images ├── tn.png └── screenshot.png ├── static ├── favicon.ico ├── img │ ├── 404 │ │ └── 404.jpg │ ├── about │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ └── 4.jpg │ ├── team │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ └── 3.jpg │ ├── header-bg.jpg │ ├── map-image.png │ ├── logos │ │ ├── aetuts.jpg │ │ ├── envato.jpg │ │ ├── wordpress.jpg │ │ ├── designmodo.jpg │ │ ├── microlancer.jpg │ │ ├── themeforest.jpg │ │ └── creative-market.jpg │ └── portfolio │ │ ├── dreams.png │ │ ├── escape.png │ │ ├── golden.png │ │ ├── roundicons.png │ │ ├── treehouse.png │ │ ├── dreams-preview.png │ │ ├── escape-preview.png │ │ ├── golden-preview.png │ │ ├── roundicons-preview.png │ │ ├── startup-framework.png │ │ ├── treehouse-preview.png │ │ └── startup-framework-preview.png ├── font-awesome-v4.7.0 │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ └── css │ │ └── font-awesome.min.css ├── fonts │ └── bootstrap-v3.3.7 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 ├── js │ ├── jquery.form-validator-v2.3.44 │ │ ├── toggleDisabled.js │ │ ├── html5.js │ │ ├── security.js │ │ └── jquery.form-validator.min.js │ ├── agency.js │ └── bootstrap-v3.3.7 │ │ └── bootstrap.min.js └── css │ └── agency.css ├── layouts ├── partials │ ├── hero.html │ ├── footer.html │ ├── js.html │ ├── clients.html │ ├── _analytics │ │ └── piwik.html │ ├── services.html │ ├── portfolio.html │ ├── modals.html │ ├── about.html │ ├── team.html │ ├── head.html │ ├── nav.html │ └── contact.html ├── 404.html └── index.html ├── theme.toml ├── CHANGELOG.md ├── README.md └── LICENSE /exampleSite/content/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exampleSite/static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exampleSite/.gitignore: -------------------------------------------------------------------------------- 1 | public/ 2 | themes -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | tags = [] 3 | categories = [] 4 | +++ 5 | -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/images/tn.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/favicon.ico -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/images/screenshot.png -------------------------------------------------------------------------------- /static/img/404/404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/404/404.jpg -------------------------------------------------------------------------------- /static/img/about/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/about/1.jpg -------------------------------------------------------------------------------- /static/img/about/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/about/2.jpg -------------------------------------------------------------------------------- /static/img/about/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/about/3.jpg -------------------------------------------------------------------------------- /static/img/about/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/about/4.jpg -------------------------------------------------------------------------------- /static/img/team/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/team/1.jpg -------------------------------------------------------------------------------- /static/img/team/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/team/2.jpg -------------------------------------------------------------------------------- /static/img/team/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/team/3.jpg -------------------------------------------------------------------------------- /static/img/header-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/header-bg.jpg -------------------------------------------------------------------------------- /static/img/map-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/map-image.png -------------------------------------------------------------------------------- /static/img/logos/aetuts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/aetuts.jpg -------------------------------------------------------------------------------- /static/img/logos/envato.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/envato.jpg -------------------------------------------------------------------------------- /static/img/logos/wordpress.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/wordpress.jpg -------------------------------------------------------------------------------- /static/img/logos/designmodo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/designmodo.jpg -------------------------------------------------------------------------------- /static/img/logos/microlancer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/microlancer.jpg -------------------------------------------------------------------------------- /static/img/logos/themeforest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/themeforest.jpg -------------------------------------------------------------------------------- /static/img/portfolio/dreams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/dreams.png -------------------------------------------------------------------------------- /static/img/portfolio/escape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/escape.png -------------------------------------------------------------------------------- /static/img/portfolio/golden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/golden.png -------------------------------------------------------------------------------- /static/img/portfolio/roundicons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/roundicons.png -------------------------------------------------------------------------------- /static/img/portfolio/treehouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/treehouse.png -------------------------------------------------------------------------------- /static/img/logos/creative-market.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/logos/creative-market.jpg -------------------------------------------------------------------------------- /static/img/portfolio/dreams-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/dreams-preview.png -------------------------------------------------------------------------------- /static/img/portfolio/escape-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/escape-preview.png -------------------------------------------------------------------------------- /static/img/portfolio/golden-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/golden-preview.png -------------------------------------------------------------------------------- /static/img/portfolio/roundicons-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/roundicons-preview.png -------------------------------------------------------------------------------- /static/img/portfolio/startup-framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/startup-framework.png -------------------------------------------------------------------------------- /static/img/portfolio/treehouse-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/treehouse-preview.png -------------------------------------------------------------------------------- /static/font-awesome-v4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/font-awesome-v4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /static/img/portfolio/startup-framework-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/img/portfolio/startup-framework-preview.png -------------------------------------------------------------------------------- /static/font-awesome-v4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/font-awesome-v4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /static/font-awesome-v4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/font-awesome-v4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /static/font-awesome-v4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/font-awesome-v4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /static/font-awesome-v4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/font-awesome-v4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/static/fonts/bootstrap-v3.3.7/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /layouts/partials/hero.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 |
3 |
4 |
5 |
{{ with .Site.Params.hero.title }}{{ . | markdownify }}{{ end }}
6 |
{{ with .Site.Params.hero.subtitle }}{{ . | markdownify }}{{ end }}
7 | {{ with .Site.Params.hero.buttonText }}{{ . }}{{ end }} 8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /exampleSite/data/projects/2014-07-07-project-3.yaml: -------------------------------------------------------------------------------- 1 | modalID: 3 2 | title: Treehouse 3 | subtitle: Lorem ipsum dolor sit amet consectetur. 4 | date: 2014-07-07 5 | img: treehouse.png 6 | preview: treehouse-preview.png 7 | client: Start Bootstrap 8 | clientLink: "#" 9 | category: Website Design 10 | description: Treehouse is a free PSD web template built by [Mathavan Jaya](//www.behance.net/MathavanJaya). This is bright and spacious design perfect for people or startup companies looking to showcase their apps or other projects.

You can download the PSD template in this portfolio sample item at [FreebiesXpress.com](freebiesxpress.com/gallery/treehouse-free-psd-web-template/). -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "Agency" 2 | license = "Apache License 2.0" 3 | licenselink = "//github.com/digitalcraftsman/hugo-agency-theme/blob/master/LICENSE" 4 | description = "A one page portfolio for companies and freelancers." 5 | homepage = "//github.com/digitalcraftsman/hugo-agency-theme" 6 | tags = ["portfolio", "company", "contact form", "timeline", "google analytics", "piwik"] 7 | min_version = 0.15 8 | 9 | [author] 10 | name = "digitalcraftsman" 11 | homepage = "//github.com/digitalcraftsman" 12 | 13 | # If porting an existing theme 14 | [original] 15 | name = "David Miller" 16 | homepage = "//www.ironsummitmedia.com/" 17 | repo = "//github.com/IronSummitMedia/startbootstrap-agency" 18 | -------------------------------------------------------------------------------- /exampleSite/data/projects/2014-07-10-project-6.yaml: -------------------------------------------------------------------------------- 1 | modalID: 6 2 | title: Dreams 3 | subtitle: Lorem ipsum dolor sit amet consectetur. 4 | date: 2014-07-10 5 | img: dreams.png 6 | preview: dreams-preview.png 7 | client: Start Bootstrap 8 | clientLink: "#" 9 | category: Website Design 10 | description: Dreams is a free PSD web template built by [Mathavan Jaya](//www.behance.net/MathavanJaya). Dreams is a modern one page web template designed for almost any purpose. It’s a beautiful template that’s designed with the Bootstrap framework in mind.

You can download the PSD template in this portfolio sample item at [FreebiesXpress.com](//freebiesxpress.com/gallery/dreams-free-one-page-web-template/). -------------------------------------------------------------------------------- /exampleSite/data/projects/2014-07-09-project-5.yaml: -------------------------------------------------------------------------------- 1 | modalID: 4 2 | title: Escape 3 | subtitle: Lorem ipsum dolor sit amet consectetur. 4 | date: 2014-07-08 5 | img: escape.png 6 | preview: escape-preview.png 7 | client: Start Bootstrap 8 | clientLink: "#" 9 | category: Website Design 10 | description: Escape is a free PSD web template built by [Mathavan Jaya](//www.behance.net/MathavanJaya). Escape is a one page web template that was designed with agencies in mind. This template is ideal for those looking for a simple one page solution to describe your business and offer your services.

You can download the PSD template in this portfolio sample item at [FreebiesXpress.com](//freebiesxpress.com/gallery/escape-one-page-psd-web-template/). -------------------------------------------------------------------------------- /exampleSite/data/projects/2014-07-08-project-4.yaml: -------------------------------------------------------------------------------- 1 | modalID: 5 2 | title: Golden 3 | subtitle: Lorem ipsum dolor sit amet consectetur. 4 | date: 2014-07-09 5 | img: golden.png 6 | preview: golden-preview.png 7 | client: Start Bootstrap 8 | clientLink: "#" 9 | category: Website Design 10 | description: Start Bootstrap's Agency theme is based on Golden, a free PSD website template built by [Mathavan Jaya](//www.behance.net/MathavanJaya). Golden is a modern and clean one page web template that was made exclusively for Best PSD Freebies. This template has a great portfolio, timeline, and meet your team sections that can be easily modified to fit your needs.

You can download the PSD template in this portfolio sample item at [FreebiesXpress.com](//freebiesxpress.com/gallery/golden-free-one-page-web-template/). -------------------------------------------------------------------------------- /exampleSite/data/projects/2014-07-06-project-2.yaml: -------------------------------------------------------------------------------- 1 | modalID: 2 2 | title: Startup Framework 3 | subtitle: Lorem ipsum dolor sit amet consectetur. 4 | date: 2014-07-06 5 | img: startup-framework.png 6 | preview: startup-framework-preview.png 7 | client: Start Bootstrap 8 | clientLink: "#" 9 | category: Website Design 10 | description: "[Startup Framework](//designmodo.com/startup/?u=787) is a website builder for professionals. Startup Framework contains components and complex blocks (PSD+HTML Bootstrap themes and templates) which can easily be integrated into almost any design. All of these components are made in the same style, and can easily be integrated into projects, allowing you to create hundreds of solutions for your future projects.

You can preview Startup Framework [here](//designmodo.com/startup/?u=787)." -------------------------------------------------------------------------------- /exampleSite/data/projects/2014-07-05-project-1.yaml: -------------------------------------------------------------------------------- 1 | modalID: 1 2 | title: Round Icons 3 | subtitle: Lorem ipsum dolor sit amet consectetur. 4 | date: 2014-07-05 5 | img: roundicons.png 6 | preview: roundicons-preview.png 7 | client: Start Bootstrap 8 | clientLink: "#" 9 | category: Graphic Design 10 | description: Use this area to describe your project. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!

**Want these icons in this portfolio item sample?** You can download 60 of them for free, courtesy of [RoundIcons.com](//getdpd.com/cart/hoplink/18076?referrer=bvbo4kax5k8ogc), or you can purchase the 1500 icon set [here](//getdpd.com/cart/hoplink/18076?referrer=bvbo4kax5k8ogc). -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 | 29 | -------------------------------------------------------------------------------- /layouts/partials/js.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 | 3 | 4 | {{ "" | safeHTML }} 5 | 6 | 7 | {{ "" | safeHTML }} 8 | 9 | 10 | {{ "" | safeHTML }} 11 | 12 | 13 | {{ template "_internal/google_analytics_async.html" . }} 14 | 15 | {{ if .Site.Params.analytics.piwik }} 16 | {{ partial "_analytics/piwik.html" . }} 17 | {{ end }} 18 | 19 | {{ if .Site.Params.contact.captcha }} 20 | 21 | {{ end }} 22 | 23 | {{ range .Site.Params.custom_js }} 24 | 25 | {{ end }} 26 | -------------------------------------------------------------------------------- /layouts/partials/clients.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 | 27 | -------------------------------------------------------------------------------- /layouts/partials/_analytics/piwik.html: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /layouts/partials/services.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 |
3 |
4 |
5 |
6 |

{{ with .Site.Params.services.title }}{{ . }}{{ end }}

7 |

{{ with .Site.Params.services.subtitle }}{{ . | markdownify }}{{ end }}

8 |
9 |
10 | {{ range .Site.Params.services.row }} 11 |
12 | {{ range .list }} 13 |
14 | 15 | 16 | 17 | 18 |

{{ if .url }}{{ .title | markdownify }}{{ else }}{{ .title | markdownify }}{{ end }}

19 |

{{ .description | markdownify }}

20 |
21 | {{ end }} 22 |
23 | {{ end }} 24 |
25 |
26 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ partial "head.html" . }} 5 | 6 | 7 | {{ partial "nav.html" . }} 8 | 9 | {{ "" | safeHTML }} 10 |
11 |
12 |
13 |
14 |
Page not found
15 | 16 | {{ with .Site.Params.error404 }} 17 |
{{ .heading | markdownify }}
18 | 19 |
{{ .text | markdownify }}
20 | {{ else }} 21 |
Requested page could not be found.
22 |
You can always go back to our main page.
23 | {{ end }} 24 | 25 |
26 |
27 |
28 |
29 | 30 | {{ if .Site.Params.footer.enable }} 31 | {{ partial "footer.html" . }} 32 | {{ end }} 33 | 34 | {{ partial "js.html" . }} 35 | 36 | 37 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ partial "head.html" . }} 5 | 6 | 7 | {{ partial "nav.html" . }} 8 | {{ partial "hero.html" . }} 9 | 10 | {{ if .Site.Params.services.enable }} 11 | {{ partial "services.html" . }} 12 | {{ end }} 13 | 14 | {{ if .Site.Params.portfolio.enable }} 15 | {{ partial "portfolio.html" . }} 16 | {{ end }} 17 | 18 | {{ if .Site.Params.about.enable }} 19 | {{ partial "about.html" . }} 20 | {{ end }} 21 | 22 | {{ if .Site.Params.team.enable }} 23 | {{ partial "team.html" . }} 24 | {{ end }} 25 | 26 | {{ if .Site.Params.clients_list.enable }} 27 | {{ partial "clients.html" . }} 28 | {{ end }} 29 | 30 | {{ if .Site.Params.contact.enable }} 31 | {{ partial "contact.html" . }} 32 | {{ end }} 33 | 34 | {{ if .Site.Params.footer.enable }} 35 | {{ partial "footer.html" . }} 36 | {{ end }} 37 | 38 | {{ if .Site.Params.portfolio.enable }} 39 | {{ partial "modals.html" . }} 40 | {{ end }} 41 | 42 | {{ partial "js.html" . }} 43 | 44 | 45 | -------------------------------------------------------------------------------- /layouts/partials/portfolio.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 |
3 |
4 |
5 |
6 |

{{ with .Site.Params.portfolio.title }}{{ . | markdownify }}{{ end }}

7 |

{{ with .Site.Params.portfolio.subtitle }}{{ . | markdownify }}{{ end }}

8 |
9 |
10 |
11 | 12 | {{ range .Site.Data.projects }} 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 | {{ $url := printf "img/portfolio/%s" .preview }} 21 | 22 |
23 |
24 |

{{ .title | markdownify }}

25 |

{{ .category | markdownify }}

26 |
27 |
28 | {{ end }} 29 | 30 |
31 |
32 |
33 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ### 11th November 2016 4 | - Center team members and improve variety alignment issues. 5 | - Add additional information options for team members. 6 | - Make services clickable via url attribute. 7 | - Possibility to substitute formspring.io for forms. 8 | - Enable removal of contact form fields. 9 | 10 | [Show me the diff](https://github.com/digitalcraftsman/hugo-agency-theme/compare/615f5242d0c2c20b2062545d48cf15125d9ca91d...f9c636485fd6c846d83e531eb4e5c0247eabf4a7) 11 | 12 | ### 22nd September 2016 13 | - Add Tracking via piwik as alternative to Google Analytics. 14 | - Ability to disable fonts for performance and privacy. 15 | 16 | [Show me the diff](https://github.com/digitalcraftsman/hugo-agency-theme/compare/bf89cf62acf794db3a387b39f8792df807ba1698...615f5242d0c2c20b2062545d48cf15125d9ca91d) 17 | 18 | ### 4th May 2016 19 | - Custom CSS and JS files via `custom_css` and `custom_js` 20 | 21 | [Show me the diff](https://github.com/digitalcraftsman/hugo-agency-theme/commit/178dc61b1b0ee09e6a00299ee2c2ee70168b0eba) 22 | 23 | ### 29th November 2015 24 | - Hugo v0.15 is required in order to upgrade. 25 | 26 | ##### Integration of Google Analytics 27 | - Traffic analysis via Google Analytics. (Enter your tracking code under in the `googleAnalytics` variable.) 28 | 29 | [Show me the diff](https://github.com/digitalcraftsman/hugo-agency-theme/commit/f603403388d962d93af8f24e917a5d980de9dc97) 30 | -------------------------------------------------------------------------------- /static/js/jquery.form-validator-v2.3.44/toggleDisabled.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.49 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a,b,c){"use strict";var d=function(a,b){"disabled"===b?a.find('*[type="submit"]').addClass("disabled").attr("disabled","disabled"):a.find('*[type="submit"]').removeClass("disabled").removeAttr("disabled")},e=!1;a.formUtils.$win.bind("validatorsLoaded formValidationSetup",function(b,f,g){var h=g.disabledFormFilter?f.filter(g.disabledFormFilter):f,i=g.showErrorDialogs===c||g.showErrorDialogs,j=function(b,c,d){var e=a(this);d.indexOf("blur")>-1?e.unbind("afterValidation",j):c.isValid?e.unbind("afterValidation",j):e.valAttr("have-been-blurred")||(c.shouldChangeDisplay=!1)};h.addClass(i?"disabled-with-errors":"disabled-without-errors").find("*[data-validation]").valAttr("event","keyup change").on("validation",function(b,c){if(!e){e=!0;var f=a(this).closest("form");c&&f.isValid(g.language,g,!1)?d(f,"enabled"):d(f,"disabled"),e=!1}}).on("afterValidation",j).on("blur",function(){a(this).valAttr("have-been-blurred",1)}),d(h,"disabled"),h.validateOnEvent(g.language,g)}).on("validationErrorDisplay",function(a,b,c){b.closest("form").hasClass("disabled-without-errors")&&c.hide()})}(a,window)}); -------------------------------------------------------------------------------- /layouts/partials/modals.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 | {{ range .Site.Data.projects }} 3 | 32 | {{ end }} 33 | -------------------------------------------------------------------------------- /layouts/partials/about.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 |
3 |
4 |
5 |
6 |

{{ with .Site.Params.about.title }}{{ . | markdownify }}{{ end }}

7 |

{{ with .Site.Params.about.subtitle }}{{ . | markdownify }}{{ end }}

8 |
9 |
10 |
11 |
12 |
    13 | 14 | {{ range $i, $e := .Site.Params.about.events }} 15 |
  • 16 |
    17 | {{ $url := printf "img/about/%s" .img }} 18 | 19 |
    20 |
    21 |
    22 |

    {{ .date }}

    23 |

    {{ .title | markdownify }}

    24 |
    25 |
    26 |

    {{ .description | markdownify }}

    27 |
    28 |
    29 |
  • 30 | {{ end }} 31 | 32 |
  • 33 |
    34 |

    {{ with .Site.Params.about.endpoint }}{{ . | markdownify }}{{ end }}

    35 |
    36 |
  • 37 |
38 |
39 |
40 |
41 |
42 | -------------------------------------------------------------------------------- /layouts/partials/team.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 |
3 |
4 |
5 |
6 |

{{ with .Site.Params.team.title }}{{ . | markdownify }}{{ end }}

7 |

{{ with .Site.Params.team.subtitle }}{{ . | markdownify }}{{ end }}

8 |
9 |
10 |
11 | {{ range .Site.Params.team.members }} 12 |
13 |
14 | {{ $url := printf "img/team/%s" .img }} 15 | {{ .name }} 16 |

{{ .name | markdownify }}

17 | 18 | {{ with .position }} 19 |

{{ . | markdownify }}

20 | {{ end }} 21 | {{ with .reportsTo }} 22 |
Reports to {{ . | markdownify }}
23 | {{ end }} 24 | 25 | {{ with .livesIn }} 26 |
Lives in {{ . | markdownify }}
27 | {{ end }} 28 | 29 | {{ with .scope }} 30 |
    31 | {{ range . }} 32 |
  • {{ . | markdownify }}
  • 33 | {{ end }} 34 |
35 | {{ end }} 36 | 37 | 42 | 43 | {{ with .bio }} 44 |

{{ . | markdownify }}

45 | {{ end }} 46 | 47 |
48 |
49 | {{ end }} 50 |
51 |
52 |
53 |

{{ with .Site.Params.team.description }}{{ . | markdownify }}{{ end }}

54 |
55 |
56 |
57 |
58 | -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ with .Site.Params.description }}{{ end }} 6 | {{ with .Site.Params.name }}{{ end }} 7 | {{ .Hugo.Generator }} 8 | {{ .Title }}{{ if not .IsHome }} · {{ .Site.Title }}{{ end }} 9 | {{ "" | safeHTML }} 10 | 11 | 12 | 13 | 14 | {{ range .Site.Params.custom_css }} 15 | 16 | {{ end }} 17 | 18 | {{ "" | safeHTML }} 19 | 20 | 21 | {{ with not .Site.Params.disableFonts }} 22 | 23 | 24 | 25 | 26 | {{ end }} 27 | 28 | {{ with .Site.Params.favicon }} 29 | 30 | 31 | {{ end }} 32 | 33 | {{ "" | safeHTML }} 34 | {{ "" | safeHTML }} 35 | {{ "" | safeHTML }} 39 | 40 | -------------------------------------------------------------------------------- /static/js/agency.js: -------------------------------------------------------------------------------- 1 | // Smooth scrolling via animate() 2 | $(document).ready(function(){ 3 | if ($('.g-recaptcha')) { 4 | checkReCaptcha() 5 | } 6 | 7 | $("a").on('click', function(event) { 8 | if (this.hash && window.location.pathname == "/") { 9 | event.preventDefault(); 10 | var hash = this.hash; 11 | $('html, body').animate({ 12 | scrollTop: $(hash).offset().top 13 | }, 800, function(){ 14 | window.location.hash = hash; 15 | }); 16 | } 17 | }); 18 | 19 | // Navigation change on scroll 20 | var maxOffset = 300; 21 | $(window).scroll(function() { 22 | if ($(window).scrollTop() >= maxOffset) { 23 | $('.navbar-default').addClass('navbar-shrink'); 24 | } 25 | else { 26 | $('.navbar-default').removeClass('navbar-shrink'); 27 | } 28 | }); 29 | 30 | var maxOffset = 300; 31 | if ($(window).scrollTop() >= maxOffset) { 32 | $('.navbar-default').addClass('navbar-shrink'); 33 | } 34 | else { 35 | $('.navbar-default').removeClass('navbar-shrink'); 36 | } 37 | }); 38 | 39 | // Highlight the top nav as scrolling occurs 40 | $('body').scrollspy({ 41 | target: '.navbar-fixed-top' 42 | }) 43 | 44 | // Closes the Responsive Menu on Menu Item Click 45 | $('.navbar-collapse ul li a').click(function() { 46 | $('.navbar-toggle:visible').click(); 47 | }); 48 | 49 | // Async contact form 50 | $('form[id=contactForm]').submit(function(){ 51 | $.post($(this).attr('action'), $(this).serialize(), function(data, textStatus, jqXHR){ 52 | $('form[id=contactForm] #success').hide(); 53 | $('form[id=contactForm] #error').hide(); 54 | if (jqXHR.status == 200) { 55 | $('form[id=contactForm] #success').show(); 56 | }}).fail(function(){ 57 | $('form[id=contactForm] #success').hide(); 58 | $('form[id=contactForm] #error').hide(); 59 | $('form[id=contactForm] #error').show(); 60 | }); 61 | return false; 62 | }); 63 | 64 | // Contact form validation 65 | $.validate({ 66 | modules : 'html5, toggleDisabled' 67 | }); 68 | 69 | function onContactCaptcha($form) { 70 | $('form#contactForm').submit(); 71 | } 72 | 73 | function checkReCaptcha() { 74 | if (typeof grecaptcha === "undefined") { 75 | $('.captcha-error').show(); 76 | setTimeout(checkReCaptcha, 200); 77 | } else { 78 | $('.captcha-error').hide(); 79 | $('.g-recaptcha-filler').hide(); 80 | $('.g-recaptcha').attr('disabled', true); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /static/js/jquery.form-validator-v2.3.44/html5.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.49 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";var b="placeholder"in document.createElement("INPUT"),c="options"in document.createElement("DATALIST"),d=!1,e=function(e){e.each(function(){var e=a(this),f=e.find("input,textarea,select"),g=!1;f.each(function(){var b=[],e=a(this),f=e.attr("required"),h={};switch(f&&b.push("required"),(e.attr("type")||"").toLowerCase()){case"time":b.push("time"),a.formUtils.validators.validate_date||d||(d=!0,a.formUtils.loadModules("date"));break;case"url":b.push("url");break;case"email":b.push("email");break;case"date":b.push("date");break;case"number":b.push("number");var i=e.attr("max"),j=e.attr("min"),k=e.attr("step");j||i?(j||(j="0"),i||(i="9007199254740992"),k||(k="1"),h["data-validation-allowing"]="range["+j+";"+i+"]",0!==j.indexOf("-")&&0!==i.indexOf("-")||(h["data-validation-allowing"]+=",negative"),(j.indexOf(".")>-1||i.indexOf(".")>-1||k.indexOf(".")>-1)&&(h["data-validation-allowing"]+=",float")):h["data-validation-allowing"]+=",float,negative"}if(e.attr("pattern")&&(b.push("custom"),h["data-validation-regexp"]=e.attr("pattern")),e.attr("maxlength")&&(b.push("length"),h["data-validation-length"]="max"+e.attr("maxlength")),!c&&e.attr("list")){var l=[],m=a("#"+e.attr("list"));if(m.find("option").each(function(){l.push(a(this).text())}),0===l.length){var n=a.trim(a("#"+e.attr("list")).text()).split("\n");a.each(n,function(b,c){l.push(a.trim(c))})}m.remove(),a.formUtils.suggest(e,l)}if(b.length){f||(h["data-validation-optional"]="true"),g=!0;var o=(e.attr("data-validation")||"")+" "+b.join(" ");e.attr("data-validation",a.trim(o)),a.each(h,function(a,b){e.attr(a,b)})}}),g&&e.trigger("html5ValidationAttrsFound"),b||f.filter("input[placeholder]").each(function(){this.__defaultValue=this.getAttribute("placeholder"),a(this).bind("focus",function(){this.value===this.__defaultValue&&(this.value="",a(this).removeClass("showing-placeholder"))}).bind("blur",function(){""===a.trim(this.value)&&(this.value=this.__defaultValue,a(this).addClass("showing-placeholder"))})})})};a.formUtils.$win.bind("validatorsLoaded formValidationSetup",function(b,c){c||(c=a("form")),e(c)}),a.formUtils.setupValidationUsingHTML5Attr=e}(a,window)}); -------------------------------------------------------------------------------- /layouts/partials/nav.html: -------------------------------------------------------------------------------- 1 | {{ "" | safeHTML }} 2 | 79 | -------------------------------------------------------------------------------- /layouts/partials/contact.html: -------------------------------------------------------------------------------- 1 | {{ $contact := .Site.Params.contact }} 2 | {{ "" | safeHTML }} 3 | 4 |
5 |
6 |
7 |
8 | 9 | {{ with $contact.title }} 10 |

{{ . | markdownify }}

11 | {{ end }} 12 | 13 | {{ with $contact.subtitle }} 14 |

{{ . | markdownify }}

15 | {{ end }} 16 | 17 |
18 |
19 |
20 |
21 |
30 | 31 |
32 |
33 |
34 | 35 | {{ with $contact.form.name }} 36 |
37 | 38 |

39 |
40 | {{ end }} 41 | 42 | {{ with $contact.form.email }} 43 |
44 | 45 |

46 |
47 | {{ end }} 48 | 49 | {{ with $contact.form.phone }} 50 |
51 | 52 |

53 |
54 | {{ end }} 55 |
56 | 57 |
58 | {{ with $contact.form.message }} 59 |
60 | 61 |

62 |
63 | {{ end }} 64 | 65 |
66 |
67 |
68 | 75 |
76 | Message is not sendable due to captcha not loadable. Please contact us at {{ (or $contact.email .Site.Params.email) -}}. 77 |
78 |
85 | {{ with $contact.captcha }} 86 |
87 | 88 | 98 | 99 |
100 | {{ else }} 101 | 104 | {{ end }} 105 |
106 |
107 | {{ range $contact.form.hidden }} 108 | {{ if eq .name "site" }} 109 | 110 | {{ else if eq .name "page" }} 111 | 112 | {{ else }} 113 | 114 | {{ end }} 115 | {{ end }} 116 |
117 |
118 |
119 |
120 |
121 |
122 | -------------------------------------------------------------------------------- /static/js/jquery.form-validator-v2.3.44/security.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.49 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.addValidator({name:"spamcheck",validatorFunction:function(a,b){var c=b.valAttr("captcha");return c===a},errorMessage:"",errorMessageKey:"badSecurityAnswer"}),a.formUtils.addValidator({name:"confirmation",validatorFunction:function(b,c,d,e,f){var g,h=c.valAttr("confirm")||c.attr("name")+"_confirmation",i=f.find('[name="'+h+'"]');if(!i.length)return a.formUtils.warn('Password confirmation validator: could not find an input with name "'+h+'"'),!1;if(g=i.val(),d.validateOnBlur&&!i[0].hasValidationCallback){i[0].hasValidationCallback=!0;var j=function(){c.validate()};i.on("keyup",j),f.one("formValidationSetup",function(){i[0].hasValidationCallback=!1,i.off("keyup",j)})}return b===g},errorMessage:"",errorMessageKey:"notConfirmed"});var c={amex:[15,15],diners_club:[14,14],cjb:[16,16],laser:[16,19],visa:[16,16],mastercard:[16,16],maestro:[12,19],discover:[16,16]},d=!1,e=!1;a.formUtils.addValidator({name:"creditcard",validatorFunction:function(b,f){var g=a.split(f.valAttr("allowing")||"");if(e=a.inArray("amex",g)>-1,d=e&&1===g.length,g.length>0){var h=!1;if(a.each(g,function(d,e){if(e in c){if(b.length>=c[e][0]&&b.length<=c[e][1])return h=!0,!1}else a.formUtils.warn('Use of unknown credit card "'+e+'"')}),!h)return!1}if(""!==b.replace(new RegExp("[0-9]","g"),""))return!1;var i=0;return a.each(b.split("").reverse(),function(a,b){b=parseInt(b,10),a%2===0?i+=b:(b*=2,i+=b<10?b:b-9)}),i%10===0},errorMessage:"",errorMessageKey:"badCreditCard"}),a.formUtils.addValidator({name:"cvv",validatorFunction:function(a){return""===a.replace(/[0-9]/g,"")&&(a+="",d?4===a.length:e?3===a.length||4===a.length:3===a.length)},errorMessage:"",errorMessageKey:"badCVV"}),a.formUtils.addValidator({name:"strength",validatorFunction:function(b,c){var d=c.valAttr("strength")||2;return d&&d>3&&(d=3),a.formUtils.validators.validate_strength.calculatePasswordStrength(b)>=d},errorMessage:"",errorMessageKey:"badStrength",calculatePasswordStrength:function(a){if(a.length<4)return 0;var b=0,c=function(a,b){for(var c="",d=0;d100&&(b=100),b<20?0:b<40?1:b<=60?2:3},strengthDisplay:function(b,c){var d={fontSize:"12pt",padding:"4px",bad:"Very bad",weak:"Weak",good:"Good",strong:"Strong"};c&&a.extend(d,c),b.bind("keyup",function(){var b=a(this).val(),c="undefined"==typeof d.parent?a(this).parent():a(d.parent),e=c.find(".strength-meter"),f=a.formUtils.validators.validate_strength.calculatePasswordStrength(b),g={background:"pink",color:"#FF0000",fontWeight:"bold",border:"red solid 1px",borderWidth:"0px 0px 4px",display:"inline-block",fontSize:d.fontSize,padding:d.padding},h=d.bad;0===e.length&&(e=a(""),e.addClass("strength-meter").appendTo(c)),b?e.show():e.hide(),1===f?h=d.weak:2===f?(g.background="lightyellow",g.borderColor="yellow",g.color="goldenrod",h=d.good):f>=3&&(g.background="lightgreen",g.borderColor="darkgreen",g.color="darkgreen",h=d.strong),e.css(g).text(h)})}});var f=function(b,c,d,e,f){var g=c.valAttr("req-params")||c.data("validation-req-params")||{},h=function(a,b){b(a)};g||(g={}),"string"==typeof g&&(g=a.parseJSON(g)),g[c.valAttr("param-name")||c.attr("name")]=d,a.ajax({url:b,type:"POST",cache:!1,data:g,dataType:"json",error:function(a){return h({valid:!1,message:"Connection failed with status: "+a.statusText},f),!1},success:function(a){h(a,f)}})};a.formUtils.addValidator({name:"server",validatorFunction:function(b,c,d,e,g,h){var i=a.formUtils.asyncValidation(this.name,c,g);return i.run(h,function(a){var e=c.valAttr("url")||d.backendUrl||document.location.href;g.addClass("validating-server-side"),c.addClass("validating-server-side"),f(e,c,b,d,function(b){g.removeClass("validating-server-side"),c.removeClass("validating-server-side"),b.message&&c.attr(d.validationErrorMsgAttribute,b.message),a(b.valid)})})},errorMessage:"",errorMessageKey:"badBackend"}),a.formUtils.addValidator({name:"letternumeric",validatorFunction:function(b,c,d,e){var f="^([a-zA-Z0-9ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",g="]+)$",h=c.valAttr("allowing"),i="";if(h){i=f+h+g;var j=h.replace(/\\/g,"");j.indexOf(" ")>-1&&(j=j.replace(" ",""),j+=e.andSpaces||a.formUtils.LANG.andSpaces),this.errorMessage=e.badAlphaNumeric+e.badAlphaNumericExtra+j}else i=f+g,this.errorMessage=e.badAlphaNumeric;return new RegExp(i).test(b)},errorMessage:"",errorMessageKey:"requiredFields"}),a.formUtils.addValidator({name:"complexity",validatorFunction:function(b,c,d,e){var f=c.valAttr("require-uc-letter")||"0",g=c.valAttr("require-lc-letter")||"0",h=c.valAttr("require-special-char")||"0",i=c.valAttr("require-numeral")||"0",j=c.valAttr("require-length")||"0",k={"uc-letter":{pattern:"^(?=(?:.*[A-Z]){"+f+",}).+",numRequired:f,dialogEnd:e.passwordComplexityUppercaseInfo},"lc-letter":{pattern:"^(?=(?:.*[a-z]){"+g+",}).+",numRequired:g,dialogEnd:e.passwordComplexityLowercaseInfo},"special-char":{pattern:"^(?=(?:.*(_|[!\"#$%&'()*+\\\\,-./:;<=>?@[\\]^_`{|}~])){"+h+",}).+",numRequired:h,dialogEnd:e.passwordComplexitySpecialCharsInfo},numeral:{pattern:"^(?=(?:.*\\d){"+i+",}).+",numRequired:i,dialogEnd:a.formUtils.LANG.passwordComplexityNumericCharsInfo},length:{callback:function(a){return a.length>j},numRequired:j,dialogEnd:"Lorem te ipsum"}},l="";return a.each(k,function(a,d){var f=parseInt(d.numRequired,10);if(f){var g=new RegExp(d.pattern),h=!1;h=d.callback?d.callback(b):g.test(b),h?c.trigger("complexityRequirementValidation",[!0,a]):(""===l&&(l=e.passwordComplexityStart),l+=e.passwordComplexitySeparator+f+d.dialogEnd,c.trigger("complexityRequirementValidation",[!1,a]))}}),!l||(this.errorMessage=l+e.passwordComplexityEnd,!1)},errorMessage:"",errorMessageKey:""}),a.formUtils.addValidator({name:"recaptcha",validatorFunction:function(a,b){return""!==grecaptcha.getResponse(b.valAttr("recaptcha-widget-id"))},errorMessage:"",errorMessageKey:"badreCaptcha"}),a.fn.displayPasswordStrength=function(b){return new a.formUtils.validators.validate_strength.strengthDisplay(this,b),this};var g=function(b,c,d){if(c||(c=a("form")),"undefined"!=typeof grecaptcha&&!a.formUtils.hasLoadedGrecaptcha)throw new Error("reCaptcha API can not be loaded by hand, delete reCaptcha API snippet.");if(!a.formUtils.hasLoadedGrecaptcha&&a('[data-validation~="recaptcha"]',c).length){a.formUtils.hasLoadedGrecaptcha=!0;var e="//www.google.com/recaptcha/api.js?onload=reCaptchaLoaded&render=explicit"+(d.lang?"&hl="+d.lang:""),f=document.createElement("script");f.type="text/javascript",f.async=!0,f.defer=!0,f.src=e,document.getElementsByTagName("body")[0].appendChild(f)}};b.reCaptchaLoaded=function(b){b&&"object"==typeof b&&b.length||(b=a("form")),b.each(function(){var b=a(this),c=b.context.validationConfig;a('[data-validation~="recaptcha"]',b).each(function(){var b=a(this),d=document.createElement("DIV"),e=c.reCaptchaSiteKey||b.valAttr("recaptcha-sitekey"),f=c.reCaptchaTheme||b.valAttr("recaptcha-theme")||"light";if(!e)throw new Error("Google reCaptcha site key is required.");var g=function(b){a("form").each(function(){a('[data-validation~="recaptcha"]',a(this)).each(function(){a(this).trigger("validation",b&&""!==b)})})},h=grecaptcha.render(d,{sitekey:e,theme:f,callback:g,"expired-callback":g});b.valAttr("recaptcha-widget-id",h).hide().on("beforeValidation",function(a){a.stopImmediatePropagation()}).parent().append(d)})})},a(b).on("validatorsLoaded formValidationSetup",g)}(a,window)}); 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Agency Theme 2 | 3 | #### NOTE: This theme has been archived 4 | 5 | The development of this theme has been discontinued on 07.08.2019. The repository is archived in its current state. In this state it will not be possible to create new pull requests or issues. However, feel free to fork this theme. 6 | 7 | [Syna](https://syna.okkur.org) has been developed by [Michael Grosser](https://github.com/stp-ip) as a flexible evolution of the Agency theme. Please consider to use it for new projects instead. 8 | 9 | Thanks to all contributors who have helped to improve this theme. 10 | 11 | --- 12 | 13 | Agency Theme is a one page portfolio for companies and freelancers based on the [original Bootstrap theme](//github.com/IronSummitMedia/startbootstrap-agency) by [David Miller](//github.com/davidtmiller). This Hugo theme features several content sections, a responsive portfolio grid with hover effects, full page portfolio item modals, a timeline, and a contact form. 14 | 15 | 16 | 17 | ![Hugo Agency Theme screenshot](https://raw.githubusercontent.com/digitalcraftsman/hugo-agency-theme/master/images/screenshot.png) 18 | 19 | 20 | ## Installation 21 | 22 | Inside the folder of your Hugo site run: 23 | 24 | $ cd themes 25 | $ git clone https://github.com/digitalcraftsman/hugo-agency-theme 26 | 27 | For more information read the official [setup guide](//gohugo.io/overview/installing/) of Hugo. 28 | 29 | 30 | ## Getting started 31 | 32 | After installing the Agency Theme successfully it requires a just a few more steps to get your site running. 33 | 34 | 35 | ### The config file 36 | 37 | Take a look inside the [`exampleSite`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/exampleSite) folder of this theme. You'll find a file called [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml). To use it, copy the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml) in the root folder of your Hugo site. Feel free to change the strings in this theme. 38 | 39 | 40 | ### Change the hero background 41 | 42 | The hero acts as an eye-catcher for your site. So consider to give him a nice background. You just need to replace the [`header-bg.jpg`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/static/img/header-bg.jpg) at [`static/img`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/static/img) with your own background image. But it's important that you keep the original filename. 43 | 44 | 45 | ### Present your skills 46 | 47 | This section should show your capabilities and skills. You can change the services at `[params.services.list]` in the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml). 48 | 49 | All icons are part of Fontawesome's icon font. Look at the website of [Fontawesome](//fortawesome.github.io/Font-Awesome/icons/) for more icons. The icons are represented by their corresponding CSS class of Fontawesome. A skill is defined like this example: 50 | 51 | ```toml 52 | [[params.services.list]] 53 | icon = "fa-shopping-cart" 54 | title = "E-Commerce" 55 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit." 56 | ``` 57 | 58 | 59 | ### Create your portfolio 60 | 61 | Beside the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml), there is under `data` another subfolder called [`projects`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/exampleSite/data/projects) which hosts the files that will appear as your projects in the portfolio section. Such a project file might look like [this one](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/data/projects/2014-07-05-project-1.yaml) written in YAML: 62 | 63 | ```yaml 64 | modalID: 1 65 | title: Round Icons 66 | subtitle: Lorem ipsum dolor sit amet consectetur. 67 | date: 2014-07-05 68 | img: roundicons.png 69 | preview: roundicons-preview.png 70 | client: Start Bootstrap 71 | clientLink: "#" 72 | category: Graphic Design 73 | description: Use this area to describe your project. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!

**Want these icons in this portfolio item sample?** You can download 60 of them for free, courtesy of [RoundIcons.com](//getdpd.com/cart/hoplink/18076?referrer=bvbo4kax5k8ogc), or you can purchase the 1500 icon set [here](//getdpd.com/cart/hoplink/18076?referrer=bvbo4kax5k8ogc). 74 | ``` 75 | 76 | Copy [`projects`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/exampleSite/data/projects) inside the `data` folder in the **root** directory of your site. Let's make some changes. 77 | 78 | Pay attention to the `modalID`. It must be a unique integer and be incremented with each new project you want to add to the portfolio. Otherwise, the corresponding modal can't be rendered. 79 | 80 | Furthermore, you can use Markdown syntax for URLs like here `[text](//url.to/source)` in the description. 81 | 82 | To give your projects an image, save those under [`static/img/portfolio`](github.com/digitalcraftsman/hugo-agency-theme/tree/master/static/img/portfolio). Don't forget to set the appropriate **filename** under `img` in your project. 83 | 84 | 85 | ### Show what happened 86 | 87 | This theme features a timeline for important events in your company or your career too. You can add a new event by copying the following snippet to the `[params.about]` section in the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml). 88 | 89 | ```toml 90 | [[params.about.events]] 91 | img = "1.jpg" 92 | date = "2009-2011" 93 | title = "Our Humble Beginnings" 94 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!" 95 | ``` 96 | 97 | The image set under `img` needs to be stored at [`static/img/about`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/static/img/about). The events will be listed from the top to the bottom. 98 | 99 | 100 | ### Introduce your team 101 | 102 | Let the visitors or potential clients know who you are. To add a team member paste the code below into the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml). The `img` field refers to the shown image. Paste those of you or your colleages into [`static/img/team`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/static/img/team) 103 | 104 | ```toml 105 | [[params.team.members]] 106 | img = "1.jpg" 107 | name = "Kay Garland" 108 | position = "Lead Designer" 109 | social = [ 110 | ["fa-twitter", "#"], 111 | ["fa-facebook", "#"], 112 | ["fa-linkedin", "#"] 113 | ] 114 | ``` 115 | 116 | As you can see there's an option to link individual social networks. The first index of the array represents the icon (or CSS class) of [Fontawesome](//fortawesome.github.io/Font-Awesome/icons/). The last index is simply the link to the social network profiles. 117 | 118 | 119 | ### List your clients 120 | 121 | You can also show some of your clients. To do so, paste the client's logos into [`static/img/logos`](//github.com/digitalcraftsman/hugo-agency-theme/tree/master/static/img/logos) and add the example below to the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml). 122 | 123 | ```toml 124 | [[params.clients]] 125 | logo = "designmodo.jpg" 126 | link = "#" 127 | ``` 128 | 129 | ***The logos require a dimension of 200 x 50 pixels.*** 130 | 131 | 132 | ### Make the contact form working 133 | 134 | Since this page will be static, you can use [formspree.io](//formspree.io/) as proxy to send the actual email. Each month, visitors can send you up to one thousand emails without incurring extra charges. Begin the setup by following the steps below: 135 | 136 | 1. Enter your email address under 'email' in the [`config.toml`](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/exampleSite/config.toml) 137 | 2. Upload the generated site to your server 138 | 3. Send a dummy email yourself to confirm your account 139 | 4. Click the confirm link in the email from [formspree.io](//formspree.io/) 140 | 5. You're done. Happy mailing! 141 | 142 | 143 | ### Nearly finished 144 | 145 | In order to see your site in action, run Hugo's built-in local server. 146 | 147 | $ hugo server 148 | 149 | Now enter [`localhost:1313`](http://localhost:1313/) in the address bar of your browser. 150 | 151 | 152 | ## Contributing 153 | 154 | Did you found a bug or got an idea for a new feature? Feel free to use the [issue tracker](//github.com/digitalcraftsman/hugo-agency-theme/issues) to let me know. Or make directly a [pull request](//github.com/digitalcraftsman/hugo-agency-theme/pulls). 155 | 156 | 157 | ## License 158 | 159 | This theme is released under the Apache License 2.0 For more information read the [License](//github.com/digitalcraftsman/hugo-agency-theme/blob/master/LICENSE). 160 | 161 | 162 | ## Acknowledgements 163 | 164 | Thanks to 165 | 166 | - [David Miller](//github.com/davidtmiller) for creating this theme 167 | - [Steve Francia](//github.com/spf13) for creating Hugo and the awesome community around the project 168 | - [Michael Grosser](https://github.com/stp-ip) for contributing a significant amount of improvements 169 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | 203 | -------------------------------------------------------------------------------- /exampleSite/config.toml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | baseurl = "https://example.org/" 3 | languageCode = "en-us" 4 | title = "Agency" 5 | theme = "hugo-agency-theme" 6 | 7 | # Enter your tracking code to enable Google Analytics 8 | googleAnalytics = "" 9 | 10 | [params] 11 | # You can use Markdown syntax for urls [text](//url.to/source) or 12 | # most longer texts. 13 | # 14 | # All icons using Fontawesome's icon font. Look at fortawesome.github.io/Font-Awesome/icons/ 15 | # for more icons. The icons are represented by their corresponding 16 | # CSS class. 17 | 18 | # To provide some metadata for search engines feel free to add a few 19 | # information about you and your website. 20 | name = "Your name" 21 | description = "Your description" 22 | # email = "your@email.com" 23 | 24 | # Link custom assets relative to /static 25 | custom_css = [] 26 | custom_js = [] 27 | favicon = "favicon.ico" 28 | 29 | # Possibility to disable external/additional fonts 30 | # Exception: Fontawesome 31 | disableFonts = false 32 | 33 | # 404 error customization 34 | [params.error404] 35 | heading = "Page couldn't be found" 36 | text = "Please visit [this page](/)" 37 | 38 | # Optional piwik tracking 39 | #[params.analytics.piwik] 40 | # URL = "https://stats.example.com" 41 | # ID = "42" 42 | # # Track all subdomains with "*.example.com" 43 | # domain = "www.example.com" 44 | # # Optional integrity check hash 45 | # hash = "sha512-RfeD0pacGTqy9m7U6PgehQfS4cc7SIt+e+P+H5e848kEvB/RW84CUGO3O4O3LNbxjevym6KPUZ8muPsMrI8WIw==" 46 | 47 | # Navigation 48 | [params.navigation] 49 | brand = "The Agency" 50 | # Optional logo as brand stored in img/ 51 | #logo = "logo.svg" 52 | services = "Services" 53 | portfolio = "Portfolio" 54 | about = "About" 55 | team = "Team" 56 | contact = "Contact" 57 | 58 | # Add custom links. Those can be pre- and postpended to the default menu above. 59 | # Use the weight attribute to order your custom links. Uncomment the example 60 | # below and replace the values with your own. 61 | 62 | # prepended links 63 | #[[menu.prepend]] 64 | # url = "http://gohugo.io" 65 | # name = "Hugo" 66 | # weight = 10 67 | 68 | # postpended links 69 | [[menu.postpend]] 70 | url = "http://gohugo.io" 71 | name = "External link" 72 | weight = 10 73 | 74 | 75 | # Hero section 76 | [params.hero] 77 | # To change the background image of the hero, replace 'header-bg.jpg' in 78 | # the 'static/img' folder. 79 | title = "Welcome To Our Studio!" 80 | subtitle = "It's nice to meet you" 81 | buttonText = "Tell me more" 82 | 83 | 84 | # Services section 85 | [params.services] 86 | enable = true 87 | title = "Services" 88 | subtitle = "Lorem ipsum dolor sit amet consectetur." 89 | 90 | [[params.services.row]] 91 | 92 | [[params.services.row.list]] 93 | icon = "fa-shopping-cart" 94 | title = "E-Commerce" 95 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit." 96 | url = "#" 97 | 98 | [[params.services.row.list]] 99 | icon = "fa-laptop" 100 | title = "Responsive Design" 101 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit." 102 | url = "#" 103 | 104 | [[params.services.row.list]] 105 | icon = "fa-lock" 106 | title = "Web" 107 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit." 108 | url = "#" 109 | 110 | # Portfolio section 111 | [params.portfolio] 112 | enable = true 113 | # All projects defined in their own files. You can find example projects 114 | # at 'exampleSite/data/projects'. Copy the 'projects' folder into the 'data' directory 115 | # at the root of this Hugo site. 116 | # For more informtion take a look at the README. 117 | title = "Portfolio" 118 | subtitle = "Lorem ipsum dolor sit amet consectetur." 119 | 120 | [params.portfolio.modal] 121 | client = "Client" 122 | date = "Date" 123 | category = "Category" 124 | buttonText = "Close project" 125 | 126 | 127 | # About section 128 | [params.about] 129 | enable = true 130 | title = "About" 131 | subtitle = "Lorem ipsum dolor sit amet consectetur." 132 | endpoint = "Be part
of our
story!" 133 | 134 | # The events will be listed from the top to the bottom. 135 | # All images are stored under 'static/img/about'. 136 | # Replace them with your own. 137 | [[params.about.events]] 138 | img = "1.jpg" 139 | date = "2009-2011" 140 | title = "Our Humble Beginnings" 141 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!" 142 | 143 | [[params.about.events]] 144 | img = "2.jpg" 145 | date = "March 2011" 146 | title = "An Agency is Born" 147 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!" 148 | 149 | [[params.about.events]] 150 | img = "3.jpg" 151 | date = "December 2012" 152 | title = "Our Humble Beginnings" 153 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!" 154 | 155 | [[params.about.events]] 156 | img = "4.jpg" 157 | date = "July 2014" 158 | title = "Phase Two Expansion" 159 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!" 160 | 161 | 162 | # Team section 163 | [params.team] 164 | enable = true 165 | # Possibility to center items 166 | #center = true 167 | title = "Our amazing team" 168 | subtitle = "Lorem ipsum dolor sit amet consectetur." 169 | description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut eaque, laboriosam veritatis, quos non quis ad perspiciatis, totam corporis ea, alias ut unde." 170 | 171 | # All team member's pictures are stored under 'static/img/team'. 172 | # Replace them with your own too. 173 | # Suggestion: Image size should be at least 360px*360px or the alignment might be affected. 174 | [[params.team.members]] 175 | img = "1.jpg" 176 | name = "Kay Garland" 177 | position = "Lead Designer" 178 | reportsTo = "CTO" 179 | livesIn = "[Munich, Germany](#some-maps-url)" 180 | scope = [ 181 | "UX for [member dashboard](#)", 182 | "Maintainer for [awesome-project](#)", 183 | "Open Source [community management](#)" 184 | ] 185 | # For bio markdown and even multiline strings are available. 186 | bio = """Kay is an awesome Lead Designer with heaps of experience in the field of UX. 187 | She worked at Pied Piper for years until they went belly up.""" 188 | social = [ 189 | ["fa-twitter", "#"], 190 | ["fa-facebook", "#"], 191 | ["fa-linkedin", "#"] 192 | ] 193 | 194 | [[params.team.members]] 195 | img = "2.jpg" 196 | name = "Larry Parker" 197 | position = "Lead Marketer" 198 | social = [ 199 | ["fa-twitter", "#"], 200 | ["fa-facebook", "#"], 201 | ["fa-linkedin", "#"] 202 | ] 203 | 204 | [[params.team.members]] 205 | img = "3.jpg" 206 | name = "Diana Pertersen" 207 | position = "Lead Developer" 208 | social = [ 209 | ["fa-twitter", "#"], 210 | ["fa-facebook", "#"], 211 | ["fa-linkedin", "#"] 212 | ] 213 | 214 | # Client section 215 | [params.clients_list] 216 | enable = true 217 | # Possibility to center items 218 | #center = true 219 | # Optional client title specifying the involvement 220 | #title = "Used and trusted by" 221 | 222 | # All the clients' logos are stored under 'static/img/logos'. 223 | # Replace them with your clients's logos. 224 | # Suggestion: .svg in the size of 280px*80px looks good 225 | [[params.clients]] 226 | logo = "envato.jpg" 227 | link = "#" 228 | 229 | [[params.clients]] 230 | logo = "designmodo.jpg" 231 | link = "#" 232 | 233 | [[params.clients]] 234 | logo = "themeforest.jpg" 235 | link = "#" 236 | 237 | [[params.clients]] 238 | logo = "creative-market.jpg" 239 | link = "#" 240 | 241 | # Contact section 242 | [params.contact] 243 | enable = true 244 | title = "Contact us" 245 | subtitle = "Lorem ipsum dolor sit amet consectetur." 246 | buttonText = "Send message" 247 | # netlify = true 248 | 249 | # Since this template is static, the contact form uses www.formspree.io as a 250 | # proxy. The form makes a POST request to their servers to send the actual 251 | # email. Visitors can send up to a 1000 emails each month for free. 252 | # 253 | # What you need to do for the setup? 254 | # 255 | # - set your email address under 'email' below 256 | # - upload the generated site to your server 257 | # - send a dummy email yourself to confirm your account 258 | # - click the confirm link in the email from www.formspree.io 259 | # - you're done. Happy mailing! 260 | 261 | # It is possible to substitute formspring with other providers 262 | # as an example the mailout plugin from caddy. 263 | # Provide the post URL for the form and depending on the provider 264 | # add some custom JS script to finish the implementation. 265 | # postURL = "https://example.com/mailout/" 266 | 267 | email = "your@email.com" 268 | 269 | # Success and error message overwrite for async contact form 270 | #thanks = "Thank you for awesomely contacting us." 271 | #error = "Message could not be send. Please contact us at mail@example.com instead." 272 | 273 | [params.contact.captcha] 274 | # sitekey = "" 275 | 276 | # 'warning' defines error messages for invalid inputs 277 | [params.contact.form.name] 278 | text = "Your Name *" 279 | warning = "Please enter your name." 280 | 281 | [params.contact.form.email] 282 | text = "Your Email *" 283 | warning = "Please enter your email address." 284 | 285 | [params.contact.form.phone] 286 | text = "Your Phone *" 287 | warning = "Please enter your phone number." 288 | 289 | [params.contact.form.message] 290 | text = "Your Message *" 291 | warning = "Please enter a message." 292 | 293 | # Add optional form fields to identify contact forms 294 | #[[params.contact.form.hidden]] 295 | # name = "someID" 296 | # value = "example.com" 297 | # 298 | #[[params.contact.form.hidden]] 299 | # Special values for name such as "page" and "site" will be autofilled 300 | # name = "page" 301 | 302 | # Footer section 303 | [params.footer] 304 | enable = true 305 | copyright = "Published under the Apache License 2.0." 306 | 307 | [[params.footer.social]] 308 | icon = "fa-twitter" 309 | link = "#" 310 | title = "Twitter" 311 | 312 | [[params.footer.social]] 313 | icon = "fa-facebook" 314 | link = "#" 315 | title = "Facebook" 316 | 317 | [[params.footer.social]] 318 | icon = "fa-linkedin" 319 | link = "#" 320 | title = "LinkedIn" 321 | 322 | [[params.footer.quicklinks]] 323 | text = "Privacy Policy" 324 | link = "#" 325 | 326 | [[params.footer.quicklinks]] 327 | text = "Terms of Use" 328 | link = "#" 329 | -------------------------------------------------------------------------------- /static/css/agency.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Agency Bootstrap Theme (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | body { 8 | overflow-x: hidden; 9 | font-family: "Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif; 10 | } 11 | 12 | .text-muted { 13 | color: #777; 14 | } 15 | 16 | .text-primary { 17 | color: #fed136; 18 | } 19 | 20 | p { 21 | font-size: 14px; 22 | line-height: 1.75; 23 | } 24 | 25 | p.large { 26 | font-size: 16px; 27 | } 28 | 29 | a, 30 | a:hover, 31 | a:focus, 32 | a:active, 33 | a.active { 34 | outline: 0; 35 | } 36 | 37 | a { 38 | color: #fed136; 39 | } 40 | 41 | a:hover, 42 | a:focus, 43 | a:active, 44 | a.active { 45 | color: #fec503; 46 | } 47 | 48 | h1, 49 | h2, 50 | h3, 51 | h4, 52 | h5, 53 | h6 { 54 | text-transform: uppercase; 55 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 56 | font-weight: 700; 57 | } 58 | 59 | .img-centered { 60 | margin: 0 auto; 61 | } 62 | 63 | .bg-light-gray { 64 | background-color: #f7f7f7; 65 | } 66 | 67 | .bg-darkest-gray { 68 | background-color: #222; 69 | } 70 | 71 | .btn-primary { 72 | border-color: #fed136; 73 | text-transform: uppercase; 74 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 75 | font-weight: 700; 76 | color: #fff; 77 | background-color: #fed136; 78 | } 79 | 80 | .btn-primary:hover, 81 | .btn-primary:focus, 82 | .btn-primary:active, 83 | .btn-primary.active, 84 | .open .dropdown-toggle.btn-primary { 85 | border-color: #f6bf01; 86 | color: #fff; 87 | background-color: #fec503; 88 | } 89 | 90 | .btn-primary:active, 91 | .btn-primary.active, 92 | .open .dropdown-toggle.btn-primary { 93 | background-image: none; 94 | } 95 | 96 | .btn-primary.disabled, 97 | .btn-primary[disabled], 98 | fieldset[disabled] .btn-primary, 99 | .btn-primary.disabled:hover, 100 | .btn-primary[disabled]:hover, 101 | fieldset[disabled] .btn-primary:hover, 102 | .btn-primary.disabled:focus, 103 | .btn-primary[disabled]:focus, 104 | fieldset[disabled] .btn-primary:focus, 105 | .btn-primary.disabled:active, 106 | .btn-primary[disabled]:active, 107 | fieldset[disabled] .btn-primary:active, 108 | .btn-primary.disabled.active, 109 | .btn-primary[disabled].active, 110 | fieldset[disabled] .btn-primary.active { 111 | border-color: #fed136; 112 | background-color: #fed136; 113 | } 114 | 115 | .btn-primary .badge { 116 | color: #fed136; 117 | background-color: #fff; 118 | } 119 | 120 | .btn-xl { 121 | padding: 20px 40px; 122 | border-color: #fed136; 123 | border-radius: 3px; 124 | text-transform: uppercase; 125 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 126 | font-size: 18px; 127 | font-weight: 700; 128 | color: #fff; 129 | background-color: #fed136; 130 | } 131 | 132 | .btn-xl:hover, 133 | .btn-xl:focus, 134 | .btn-xl:active, 135 | .btn-xl.active, 136 | .open .dropdown-toggle.btn-xl { 137 | border-color: #f6bf01; 138 | color: #fff; 139 | background-color: #fec503; 140 | } 141 | 142 | .btn-xl:active, 143 | .btn-xl.active, 144 | .open .dropdown-toggle.btn-xl { 145 | background-image: none; 146 | } 147 | 148 | .btn-xl.disabled, 149 | .btn-xl[disabled], 150 | fieldset[disabled] .btn-xl, 151 | .btn-xl.disabled:hover, 152 | .btn-xl[disabled]:hover, 153 | fieldset[disabled] .btn-xl:hover, 154 | .btn-xl.disabled:focus, 155 | .btn-xl[disabled]:focus, 156 | fieldset[disabled] .btn-xl:focus, 157 | .btn-xl.disabled:active, 158 | .btn-xl[disabled]:active, 159 | fieldset[disabled] .btn-xl:active, 160 | .btn-xl.disabled.active, 161 | .btn-xl[disabled].active, 162 | fieldset[disabled] .btn-xl.active { 163 | border-color: #fed136; 164 | background-color: #fed136; 165 | } 166 | 167 | .btn-xl .badge { 168 | color: #fed136; 169 | background-color: #fff; 170 | } 171 | 172 | .navbar-default { 173 | border-color: transparent; 174 | background-color: #222; 175 | } 176 | 177 | .navbar-default .navbar-brand { 178 | font-family: "Kaushan Script","Helvetica Neue",Helvetica,Arial,cursive; 179 | color: #fed136; 180 | } 181 | 182 | .navbar-default .navbar-brand:hover, 183 | .navbar-default .navbar-brand:focus, 184 | .navbar-default .navbar-brand:active, 185 | .navbar-default .navbar-brand.active { 186 | color: #fec503; 187 | } 188 | 189 | .navbar-brand>img { 190 | height: 50px; 191 | max-width: 250px; 192 | margin: -15px; 193 | } 194 | 195 | @media(min-width:768px) { 196 | .navbar-brand>img { 197 | height: 50px; 198 | max-width: 300px; 199 | margin: -15px; 200 | } 201 | } 202 | 203 | @media(min-width:992px) { 204 | .navbar-brand>img { 205 | height: 50px; 206 | max-width: 400px; 207 | margin: -15px; 208 | } 209 | } 210 | 211 | .navbar-default .navbar-collapse { 212 | border-color: rgba(255,255,255,.02); 213 | } 214 | 215 | .navbar-default .navbar-toggle { 216 | border-color: #fed136; 217 | background-color: #fed136; 218 | } 219 | 220 | .navbar-default .navbar-toggle .icon-bar { 221 | background-color: #fff; 222 | } 223 | 224 | .navbar-default .navbar-toggle:hover, 225 | .navbar-default .navbar-toggle:focus { 226 | background-color: #fed136; 227 | } 228 | 229 | .navbar-default .nav li a { 230 | text-transform: uppercase; 231 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 232 | font-weight: 400; 233 | letter-spacing: 1px; 234 | color: #fff; 235 | } 236 | 237 | .navbar-default .nav li a:hover, 238 | .navbar-default .nav li a:focus { 239 | outline: 0; 240 | color: #fed136; 241 | } 242 | 243 | .navbar-default .navbar-nav>.active>a { 244 | border-radius: 0; 245 | color: #fff; 246 | background-color: #fed136; 247 | } 248 | 249 | .navbar-default .navbar-nav>.active>a:hover, 250 | .navbar-default .navbar-nav>.active>a:focus { 251 | color: #fff; 252 | background-color: #fec503; 253 | } 254 | 255 | @media(min-width:768px) { 256 | .navbar-default { 257 | padding: 25px 0; 258 | border: 0; 259 | background-color: transparent; 260 | -webkit-transition: padding .3s; 261 | -moz-transition: padding .3s; 262 | transition: padding .3s; 263 | } 264 | 265 | .navbar-default .navbar-brand { 266 | font-size: 2em; 267 | -webkit-transition: all .3s; 268 | -moz-transition: all .3s; 269 | transition: all .3s; 270 | } 271 | 272 | .navbar-default .navbar-nav>.active>a { 273 | border-radius: 3px; 274 | } 275 | 276 | .navbar-default.navbar-shrink { 277 | padding: 10px 0; 278 | background-color: #222; 279 | } 280 | 281 | .navbar-default.navbar-shrink .navbar-brand { 282 | font-size: 1.5em; 283 | } 284 | } 285 | 286 | header { 287 | text-align: center; 288 | color: #fff; 289 | background-attachment: scroll; 290 | background-image: url(../img/header-bg.jpg); 291 | background-position: center center; 292 | background-repeat: none; 293 | -webkit-background-size: cover; 294 | -moz-background-size: cover; 295 | background-size: cover; 296 | -o-background-size: cover; 297 | } 298 | 299 | header .intro-text { 300 | padding-top: 100px; 301 | padding-bottom: 50px; 302 | } 303 | 304 | header .intro-text .intro-lead-in { 305 | margin-bottom: 25px; 306 | font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif; 307 | font-size: 22px; 308 | font-style: italic; 309 | line-height: 22px; 310 | } 311 | 312 | header .intro-text .intro-heading { 313 | margin-bottom: 25px; 314 | text-transform: uppercase; 315 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 316 | font-size: 50px; 317 | font-weight: 700; 318 | line-height: 50px; 319 | } 320 | 321 | @media(min-width:768px) { 322 | header .intro-text { 323 | padding-top: 300px; 324 | padding-bottom: 200px; 325 | } 326 | 327 | header .intro-text .intro-lead-in { 328 | margin-bottom: 25px; 329 | font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif; 330 | font-size: 40px; 331 | font-style: italic; 332 | line-height: 40px; 333 | } 334 | 335 | header .intro-text .intro-heading { 336 | margin-bottom: 50px; 337 | text-transform: uppercase; 338 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 339 | font-size: 75px; 340 | font-weight: 700; 341 | line-height: 75px; 342 | } 343 | } 344 | 345 | section { 346 | padding: 100px 0; 347 | } 348 | 349 | section h2.section-heading { 350 | margin-top: 0; 351 | margin-bottom: 15px; 352 | font-size: 40px; 353 | } 354 | 355 | section h3.section-subheading { 356 | margin-bottom: 75px; 357 | text-transform: none; 358 | font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif; 359 | font-size: 16px; 360 | font-style: italic; 361 | font-weight: 400; 362 | } 363 | 364 | @media(min-width:768px) { 365 | section { 366 | padding: 150px 0; 367 | } 368 | } 369 | 370 | .service-heading { 371 | margin: 15px 0; 372 | text-transform: none; 373 | } 374 | 375 | #portfolio .portfolio-item { 376 | right: 0; 377 | margin: 0 0 15px; 378 | } 379 | 380 | #portfolio .portfolio-item .portfolio-link { 381 | display: block; 382 | position: relative; 383 | margin: 0 auto; 384 | max-width: 400px; 385 | } 386 | 387 | #portfolio .portfolio-item .portfolio-link img { 388 | height: 240px; 389 | } 390 | 391 | #portfolio .portfolio-item .portfolio-link .portfolio-hover { 392 | position: absolute; 393 | width: 100%; 394 | height: 100%; 395 | opacity: 0; 396 | background: rgba(254,209,54,.9); 397 | -webkit-transition: all ease .5s; 398 | -moz-transition: all ease .5s; 399 | transition: all ease .5s; 400 | } 401 | 402 | #portfolio .portfolio-item .portfolio-link .portfolio-hover:hover { 403 | opacity: 1; 404 | } 405 | 406 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content { 407 | position: absolute; 408 | top: 50%; 409 | width: 100%; 410 | height: 20px; 411 | margin-top: -12px; 412 | text-align: center; 413 | font-size: 20px; 414 | color: #fff; 415 | } 416 | 417 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i { 418 | margin-top: -12px; 419 | } 420 | 421 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3, 422 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4 { 423 | margin: 0; 424 | } 425 | 426 | #portfolio .portfolio-item .portfolio-caption { 427 | margin: 0 auto; 428 | padding: 25px; 429 | max-width: 400px; 430 | text-align: center; 431 | background-color: #fff; 432 | } 433 | 434 | #portfolio .portfolio-item .portfolio-caption h4 { 435 | margin: 0; 436 | text-transform: none; 437 | } 438 | 439 | #portfolio .portfolio-item .portfolio-caption p { 440 | margin: 0; 441 | font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif; 442 | font-size: 16px; 443 | font-style: italic; 444 | } 445 | 446 | #portfolio * { 447 | z-index: 2; 448 | } 449 | 450 | @media(min-width:767px) { 451 | #portfolio .portfolio-item { 452 | margin: 0 0 30px; 453 | } 454 | } 455 | 456 | .timeline { 457 | position: relative; 458 | padding: 0; 459 | list-style: none; 460 | } 461 | 462 | .timeline:before { 463 | content: ""; 464 | position: absolute; 465 | top: 0; 466 | bottom: 0; 467 | left: 40px; 468 | width: 2px; 469 | margin-left: -1.5px; 470 | background-color: #f1f1f1; 471 | } 472 | 473 | .timeline>li { 474 | position: relative; 475 | margin-bottom: 50px; 476 | min-height: 50px; 477 | } 478 | 479 | .timeline>li:before, 480 | .timeline>li:after { 481 | content: " "; 482 | display: table; 483 | } 484 | 485 | .timeline>li:after { 486 | clear: both; 487 | } 488 | 489 | .timeline>li .timeline-panel { 490 | float: right; 491 | position: relative; 492 | width: 100%; 493 | padding: 0 20px 0 100px; 494 | text-align: left; 495 | } 496 | 497 | .timeline>li .timeline-panel:before { 498 | right: auto; 499 | left: -15px; 500 | border-right-width: 15px; 501 | border-left-width: 0; 502 | } 503 | 504 | .timeline>li .timeline-panel:after { 505 | right: auto; 506 | left: -14px; 507 | border-right-width: 14px; 508 | border-left-width: 0; 509 | } 510 | 511 | .timeline>li .timeline-image { 512 | z-index: 100; 513 | position: absolute; 514 | left: 0; 515 | width: 80px; 516 | height: 80px; 517 | margin-left: 0; 518 | border: 7px solid #f1f1f1; 519 | border-radius: 100%; 520 | text-align: center; 521 | color: #fff; 522 | background-color: #fed136; 523 | } 524 | 525 | .timeline>li .timeline-image h4 { 526 | margin-top: 12px; 527 | font-size: 10px; 528 | line-height: 14px; 529 | } 530 | 531 | .timeline>li.timeline-inverted>.timeline-panel { 532 | float: right; 533 | padding: 0 20px 0 100px; 534 | text-align: left; 535 | } 536 | 537 | .timeline>li.timeline-inverted>.timeline-panel:before { 538 | right: auto; 539 | left: -15px; 540 | border-right-width: 15px; 541 | border-left-width: 0; 542 | } 543 | 544 | .timeline>li.timeline-inverted>.timeline-panel:after { 545 | right: auto; 546 | left: -14px; 547 | border-right-width: 14px; 548 | border-left-width: 0; 549 | } 550 | 551 | .timeline>li:last-child { 552 | margin-bottom: 0; 553 | } 554 | 555 | .timeline .timeline-heading h4 { 556 | margin-top: 0; 557 | color: inherit; 558 | } 559 | 560 | .timeline .timeline-heading h4.subheading { 561 | text-transform: none; 562 | } 563 | 564 | .timeline .timeline-body>p, 565 | .timeline .timeline-body>ul { 566 | margin-bottom: 0; 567 | } 568 | 569 | @media(min-width:768px) { 570 | .timeline:before { 571 | left: 50%; 572 | } 573 | 574 | .timeline>li { 575 | margin-bottom: 100px; 576 | min-height: 100px; 577 | } 578 | 579 | .timeline>li .timeline-panel { 580 | float: left; 581 | width: 41%; 582 | padding: 0 20px 20px 30px; 583 | text-align: right; 584 | } 585 | 586 | .timeline>li .timeline-image { 587 | left: 50%; 588 | width: 100px; 589 | height: 100px; 590 | margin-left: -50px; 591 | } 592 | 593 | .timeline>li .timeline-image h4 { 594 | margin-top: 16px; 595 | font-size: 13px; 596 | line-height: 18px; 597 | } 598 | 599 | .timeline>li.timeline-inverted>.timeline-panel { 600 | float: right; 601 | padding: 0 30px 20px 20px; 602 | text-align: left; 603 | } 604 | } 605 | 606 | @media(min-width:992px) { 607 | .timeline>li { 608 | min-height: 150px; 609 | } 610 | 611 | .timeline>li .timeline-panel { 612 | padding: 0 20px 20px; 613 | } 614 | 615 | .timeline>li .timeline-image { 616 | width: 150px; 617 | height: 150px; 618 | margin-left: -75px; 619 | } 620 | 621 | .timeline>li .timeline-image h4 { 622 | margin-top: 30px; 623 | font-size: 18px; 624 | line-height: 26px; 625 | } 626 | 627 | .timeline>li.timeline-inverted>.timeline-panel { 628 | padding: 0 20px 20px; 629 | } 630 | } 631 | 632 | @media(min-width:1200px) { 633 | .timeline>li { 634 | min-height: 170px; 635 | } 636 | 637 | .timeline>li .timeline-panel { 638 | padding: 0 20px 20px 100px; 639 | } 640 | 641 | .timeline>li .timeline-image { 642 | width: 170px; 643 | height: 170px; 644 | margin-left: -85px; 645 | } 646 | 647 | .timeline>li .timeline-image h4 { 648 | margin-top: 40px; 649 | } 650 | 651 | .timeline>li.timeline-inverted>.timeline-panel { 652 | padding: 0 100px 20px 20px; 653 | } 654 | } 655 | 656 | .flexbox { 657 | display: -webkit-box; 658 | display: -moz-box; 659 | display: -ms-flexbox; 660 | display: -webkit-flex; 661 | display: flex; 662 | -webkit-flex-flow: row wrap; 663 | flex-flow: row wrap; 664 | justify-content: flex-start; 665 | align-items: stretch; 666 | } 667 | 668 | .flexbox-center { 669 | justify-content: center; 670 | } 671 | 672 | .team-member { 673 | margin-bottom: 50px; 674 | text-align: center; 675 | } 676 | 677 | .team-member img { 678 | margin: 0 auto; 679 | border: 7px solid #fff; 680 | } 681 | 682 | .team-member p { 683 | margin-top: 0; 684 | } 685 | .team-member h3 { 686 | text-transform: none; 687 | font-weight: 600; 688 | color: #333; 689 | } 690 | 691 | .team-member h4 { 692 | font-size: 16px; 693 | text-transform: none; 694 | font-weight: 400; 695 | color: #777; 696 | margin-bottom: 0px; 697 | } 698 | 699 | .team-member h4 a { 700 | text-transform: none; 701 | } 702 | 703 | .team-member h5 { 704 | font-size: 14px; 705 | text-transform: none; 706 | font-style: italic; 707 | font-weight: 200; 708 | color: #777; 709 | margin-bottom: 15px 710 | } 711 | 712 | .team-member .report { 713 | margin-top: 0px; 714 | } 715 | 716 | .team-member h5 a { 717 | text-transform: none; 718 | } 719 | 720 | .team-member ul { 721 | list-style: none; 722 | text-align: center; 723 | margin-top: 15px; 724 | margin-bottom: 15px; 725 | padding: 0; 726 | } 727 | 728 | .team-bio { 729 | padding: 15px 730 | } 731 | 732 | @media(min-width:992px) { 733 | aside.clients img { 734 | margin: 50px auto; 735 | } 736 | } 737 | 738 | aside.clients img { 739 | margin-top: 50px; 740 | } 741 | 742 | aside .heading { 743 | text-transform: none; 744 | color: #777; 745 | margin-top: 20px; 746 | margin-bottom: -40px; 747 | } 748 | 749 | section#contact { 750 | background-color: #222; 751 | background-image: url(../img/map-image.png); 752 | background-position: center; 753 | background-repeat: no-repeat; 754 | } 755 | 756 | section#contact .section-heading { 757 | color: #fff; 758 | } 759 | 760 | section#contact .form-group { 761 | margin-bottom: 25px; 762 | } 763 | 764 | section#contact .form-group input, 765 | section#contact .form-group textarea { 766 | padding: 20px; 767 | } 768 | 769 | section#contact .form-group input.form-control { 770 | height: auto; 771 | } 772 | 773 | section#contact .form-group textarea.form-control { 774 | height: 236px; 775 | } 776 | 777 | section#contact .form-control:focus { 778 | border-color: #fed136; 779 | box-shadow: none; 780 | } 781 | 782 | section#contact::-webkit-input-placeholder { 783 | text-transform: uppercase; 784 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 785 | font-weight: 700; 786 | color: #bbb; 787 | } 788 | 789 | section#contact:-moz-placeholder { 790 | text-transform: uppercase; 791 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 792 | font-weight: 700; 793 | color: #bbb; 794 | } 795 | 796 | section#contact::-moz-placeholder { 797 | text-transform: uppercase; 798 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 799 | font-weight: 700; 800 | color: #bbb; 801 | } 802 | 803 | section#contact:-ms-input-placeholder { 804 | text-transform: uppercase; 805 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 806 | font-weight: 700; 807 | color: #bbb; 808 | } 809 | 810 | section#contact .text-danger { 811 | color: #e74c3c; 812 | } 813 | 814 | section#contact .text-success { 815 | color: #ffffff; 816 | } 817 | 818 | footer { 819 | padding: 25px 0; 820 | text-align: center; 821 | } 822 | 823 | footer span.copyright { 824 | text-transform: uppercase; 825 | text-transform: none; 826 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 827 | line-height: 40px; 828 | } 829 | 830 | footer ul.quicklinks { 831 | margin-bottom: 0; 832 | text-transform: uppercase; 833 | text-transform: none; 834 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 835 | line-height: 40px; 836 | } 837 | 838 | ul.social-buttons { 839 | margin-top: 20px; 840 | margin-bottom: 10px; 841 | } 842 | 843 | ul.social-buttons li a { 844 | display: block; 845 | width: 40px; 846 | height: 40px; 847 | border-radius: 100%; 848 | font-size: 20px; 849 | line-height: 40px; 850 | outline: 0; 851 | color: #fff; 852 | background-color: #222; 853 | -webkit-transition: all .3s; 854 | -moz-transition: all .3s; 855 | transition: all .3s; 856 | } 857 | 858 | ul.social-buttons li a:hover, 859 | ul.social-buttons li a:focus, 860 | ul.social-buttons li a:active { 861 | background-color: #fed136; 862 | } 863 | 864 | .btn:focus, 865 | .btn:active, 866 | .btn.active, 867 | .btn:active:focus { 868 | outline: 0; 869 | } 870 | 871 | .portfolio-modal .modal-content { 872 | padding: 100px 0; 873 | min-height: 100%; 874 | border: 0; 875 | border-radius: 0; 876 | text-align: center; 877 | background-clip: border-box; 878 | -webkit-box-shadow: none; 879 | box-shadow: none; 880 | } 881 | 882 | .portfolio-modal .modal-content h2 { 883 | margin-bottom: 15px; 884 | font-size: 3em; 885 | } 886 | 887 | .portfolio-modal .modal-content p { 888 | margin-bottom: 30px; 889 | } 890 | 891 | .portfolio-modal .modal-content p.item-intro { 892 | margin: 20px 0 30px; 893 | font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif; 894 | font-size: 16px; 895 | font-style: italic; 896 | } 897 | 898 | .portfolio-modal .modal-content ul.list-inline { 899 | margin-top: 0; 900 | margin-bottom: 30px; 901 | } 902 | 903 | .portfolio-modal .modal-content img { 904 | margin-bottom: 30px; 905 | } 906 | 907 | .portfolio-modal .close-modal { 908 | position: absolute; 909 | top: 25px; 910 | right: 25px; 911 | width: 75px; 912 | height: 75px; 913 | background-color: transparent; 914 | cursor: pointer; 915 | } 916 | 917 | .portfolio-modal .close-modal:hover { 918 | opacity: .3; 919 | } 920 | 921 | .portfolio-modal .close-modal .lr { 922 | z-index: 1051; 923 | width: 1px; 924 | height: 75px; 925 | margin-left: 35px; 926 | background-color: #222; 927 | -webkit-transform: rotate(45deg); 928 | -ms-transform: rotate(45deg); 929 | transform: rotate(45deg); 930 | } 931 | 932 | .portfolio-modal .close-modal .lr .rl { 933 | z-index: 1052; 934 | width: 1px; 935 | height: 75px; 936 | background-color: #222; 937 | -webkit-transform: rotate(90deg); 938 | -ms-transform: rotate(90deg); 939 | transform: rotate(90deg); 940 | } 941 | 942 | .portfolio-modal .modal-backdrop { 943 | display: none; 944 | opacity: 0; 945 | } 946 | 947 | ::-moz-selection { 948 | text-shadow: none; 949 | background: #fed136; 950 | } 951 | 952 | ::selection { 953 | text-shadow: none; 954 | background: #fed136; 955 | } 956 | 957 | img::selection { 958 | background: 0 0; 959 | } 960 | 961 | img::-moz-selection { 962 | background: 0 0; 963 | } 964 | 965 | body { 966 | webkit-tap-highlight-color: #fed136; 967 | } 968 | -------------------------------------------------------------------------------- /static/js/jquery.form-validator-v2.3.44/jquery.form-validator.min.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.26 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a,b){"use strict";function c(b){b&&"custom"===b.errorMessagePosition&&"function"==typeof b.errorMessageCustom&&(a.formUtils.warn("Use of deprecated function errorMessageCustom, use config.submitErrorMessageCallback instead"),b.submitErrorMessageCallback=function(a,c){b.errorMessageCustom(a,b.language.errorTitle,c,b)})}function d(b){if(b.errorMessagePosition&&"object"==typeof b.errorMessagePosition){a.formUtils.warn("Deprecated use of config parameter errorMessagePosition, use config.submitErrorMessageCallback instead");var c=b.errorMessagePosition;b.errorMessagePosition="top",b.submitErrorMessageCallback=function(){return c}}}function e(b){var c=b.find("[data-validation-if-checked]");c.length&&a.formUtils.warn('Detected use of attribute "data-validation-if-checked" which is deprecated. Use "data-validation-depends-on" provided by module "logic"'),c.on("beforeValidation",function(){var c=a(this),d=c.valAttr("if-checked"),e=a('input[name="'+d+'"]',b),f=e.is(":checked"),g=(a.formUtils.getValue(e)||"").toString(),h=c.valAttr("if-checked-value");(!f||h&&h!==g)&&c.valAttr("skipped",!0)})}a.fn.validateForm=function(b,c){return a.formUtils.warn("Use of deprecated function $.validateForm, use $.isValid instead"),this.isValid(b,c,!0)},a(window).on("validatorsLoaded formValidationSetup",function(b,f,g){f||(f=a("form")),c(g),d(g),e(f)})}(a),function(a){"use strict";var b={resolveErrorMessage:function(a,b,c,d,e){var f=d.validationErrorMsgAttribute+"-"+c.replace("validate_",""),g=a.attr(f);return g||(g=a.attr(d.validationErrorMsgAttribute),g||(g="function"!=typeof b.errorMessageKey?e[b.errorMessageKey]:e[b.errorMessageKey(d)],g||(g=b.errorMessage))),g},getParentContainer:function(b){if(b.valAttr("error-msg-container"))return a(b.valAttr("error-msg-container"));var c=b.parent();if(!c.hasClass("form-group")&&!c.closest("form").hasClass("form-horizontal")){var d=c.closest(".form-group");if(d.length)return d.eq(0)}return c},applyInputErrorStyling:function(a,b){a.addClass(b.errorElementClass).removeClass("valid"),this.getParentContainer(a).addClass(b.inputParentClassOnError).removeClass(b.inputParentClassOnSuccess),""!==b.borderColorOnError&&a.css("border-color",b.borderColorOnError)},applyInputSuccessStyling:function(a,b){a.addClass("valid"),this.getParentContainer(a).addClass(b.inputParentClassOnSuccess)},removeInputStylingAndMessage:function(a,c){a.removeClass("valid").removeClass(c.errorElementClass).css("border-color","");var d=b.getParentContainer(a);if(d.removeClass(c.inputParentClassOnError).removeClass(c.inputParentClassOnSuccess),"function"==typeof c.inlineErrorMessageCallback){var e=c.inlineErrorMessageCallback(a,!1,c);e&&e.html("")}else d.find("."+c.errorMessageClass).remove()},removeAllMessagesAndStyling:function(c,d){if("function"==typeof d.submitErrorMessageCallback){var e=d.submitErrorMessageCallback(c,d);e&&e.html("")}else c.find("."+d.errorMessageClass+".alert").remove();c.find("."+d.errorElementClass+",.valid").each(function(){b.removeInputStylingAndMessage(a(this),d)})},setInlineMessage:function(b,c,d){this.applyInputErrorStyling(b,d);var e,f=document.getElementById(b.attr("name")+"_err_msg"),g=!1,h=function(d){a.formUtils.$win.trigger("validationErrorDisplay",[b,d]),d.html(c)},i=function(){var f=!1;g.find("."+d.errorMessageClass).each(function(){return this.inputReferer===b[0]?(f=a(this),!1):void 0}),f?c?h(f):f.remove():""!==c&&(e=a('
'),h(e),e[0].inputReferer=b[0],g.prepend(e))};if(f)a.formUtils.warn("Using deprecated element reference "+f.id),g=a(f),i();else if("function"==typeof d.inlineErrorMessageCallback){if(g=d.inlineErrorMessageCallback(b,c,d),!g)return;i()}else{var j=this.getParentContainer(b);e=j.find("."+d.errorMessageClass+".help-block"),0===e.length&&(e=a("").addClass("help-block").addClass(d.errorMessageClass),e.appendTo(j)),h(e)}},setMessageInTopOfForm:function(b,c,d,e){var f='
{errorTitle}
',g=!1;if("function"!=typeof d.submitErrorMessageCallback||(g=d.submitErrorMessageCallback(b,c,d))){var h={errorTitle:e.errorTitle,fields:"",errorMessageClass:d.errorMessageClass};a.each(c,function(a,b){h.fields+="
  • "+b+"
  • "}),a.each(h,function(a,b){f=f.replace("{"+a+"}",b)}),g?g.html(f):b.children().eq(0).before(a(f))}}};a.formUtils=a.extend(a.formUtils||{},{dialogs:b})}(a),function(a,b,c){"use strict";var d=0;a.fn.validateOnBlur=function(b,c){var d=this,e=this.find("*[data-validation]");return e.each(function(){var e=a(this);if(e.is("[type=radio]")){var f=d.find('[type=radio][name="'+e.attr("name")+'"]');f.bind("blur.validation",function(){e.validateInputOnBlur(b,c,!0,"blur")}),c.validateCheckboxRadioOnClick&&f.bind("click.validation",function(){e.validateInputOnBlur(b,c,!0,"click")})}}),e.bind("blur.validation",function(){a(this).validateInputOnBlur(b,c,!0,"blur")}),c.validateCheckboxRadioOnClick&&this.find("input[type=checkbox][data-validation],input[type=radio][data-validation]").bind("click.validation",function(){a(this).validateInputOnBlur(b,c,!0,"click")}),this},a.fn.validateOnEvent=function(b,c){var d="FORM"===this[0].nodeName?this.find("*[data-validation-event]"):this;return d.each(function(){var d=a(this),e=d.valAttr("event");e&&d.unbind(e+".validation").bind(e+".validation",function(d){9!==(d||{}).keyCode&&a(this).validateInputOnBlur(b,c,!0,e)})}),this},a.fn.showHelpOnFocus=function(b){return b||(b="data-validation-help"),this.find(".has-help-txt").valAttr("has-keyup-event",!1).removeClass("has-help-txt"),this.find("textarea,input").each(function(){var c=a(this),e="jquery_form_help_"+ ++d,f=c.attr(b);f&&c.addClass("has-help-txt").unbind("focus.help").bind("focus.help",function(){var b=c.parent().find("."+e);0===b.length&&(b=a("").addClass(e).addClass("help").addClass("help-block").text(f).hide(),c.after(b)),b.fadeIn()}).unbind("blur.help").bind("blur.help",function(){a(this).parent().find("."+e).fadeOut("slow")})}),this},a.fn.validate=function(b,c,d){var e=a.extend({},a.formUtils.LANG,d||{});this.each(function(){var d=a(this),f=d.closest("form").get(0).validationConfig||{};d.one("validation",function(a,c){"function"==typeof b&&b(c,this,a)}),d.validateInputOnBlur(e,a.extend({},f,c||{}),!0)})},a.fn.willPostponeValidation=function(){return(this.valAttr("suggestion-nr")||this.valAttr("postpone")||this.hasClass("hasDatepicker"))&&!b.postponedValidation},a.fn.validateInputOnBlur=function(c,d,e,f){if(a.formUtils.eventType=f,this.willPostponeValidation()){var g=this,h=this.valAttr("postpone")||200;return b.postponedValidation=function(){g.validateInputOnBlur(c,d,e,f),b.postponedValidation=!1},setTimeout(function(){b.postponedValidation&&b.postponedValidation()},h),this}c=a.extend({},a.formUtils.LANG,c||{}),a.formUtils.dialogs.removeInputStylingAndMessage(this,d);var i=this,j=i.closest("form"),k=a.formUtils.validateInput(i,c,d,j,f);return e&&i.unbind("keyup.validation"),k.shouldChangeDisplay&&(k.isValid?a.formUtils.dialogs.applyInputSuccessStyling(i,d):a.formUtils.dialogs.setInlineMessage(i,k.errorMsg,d)),!k.isValid&&e&&i.bind("keyup.validation",function(b){9!==b.keyCode&&a(this).validateInputOnBlur(c,d,!1,"keyup")}),this},a.fn.valAttr=function(a,b){return b===c?this.attr("data-validation-"+a):b===!1||null===b?this.removeAttr("data-validation-"+a):(a=a.length>0?"-"+a:"",this.attr("data-validation"+a,b))},a.fn.isValid=function(b,c,d){if(a.formUtils.isLoadingModules){var e=this;return setTimeout(function(){e.isValid(b,c,d)},200),null}c=a.extend({},a.formUtils.defaultConfig(),c||{}),b=a.extend({},a.formUtils.LANG,b||{}),d=d!==!1,a.formUtils.errorDisplayPreventedWhenHalted&&(delete a.formUtils.errorDisplayPreventedWhenHalted,d=!1),a.formUtils.isValidatingEntireForm=!0,a.formUtils.haltValidation=!1;var f=function(b,e){a.inArray(b,h)<0&&h.push(b),i.push(e),e.attr("current-error",b),d&&a.formUtils.dialogs.applyInputErrorStyling(e,c)},g=[],h=[],i=[],j=this,k=function(b,d){return"submit"===d||"button"===d||"reset"===d?!0:a.inArray(b,c.ignore||[])>-1};if(d&&a.formUtils.dialogs.removeAllMessagesAndStyling(j,c),j.find("input,textarea,select").filter(':not([type="submit"],[type="button"])').each(function(){var d=a(this),e=d.attr("type"),h="radio"===e||"checkbox"===e,i=d.attr("name");if(!k(i,e)&&(!h||a.inArray(i,g)<0)){h&&g.push(i);var l=a.formUtils.validateInput(d,b,c,j,"submit");l.isValid?l.isValid&&l.shouldChangeDisplay&&(d.valAttr("current-error",!1),a.formUtils.dialogs.applyInputSuccessStyling(d,c)):f(l.errorMsg,d)}}),"function"==typeof c.onValidate){var l=c.onValidate(j);a.isArray(l)?a.each(l,function(a,b){f(b.message,b.element)}):l&&l.element&&l.message&&f(l.message,l.element)}return a.formUtils.isValidatingEntireForm=!1,!a.formUtils.haltValidation&&i.length>0?(d&&("top"===c.errorMessagePosition?a.formUtils.dialogs.setMessageInTopOfForm(j,h,c,b):a.each(i,function(b,d){a.formUtils.dialogs.setInlineMessage(d,d.attr("current-error"),c)}),c.scrollToTopOnError&&a.formUtils.$win.scrollTop(j.offset().top-20)),!1):(!d&&a.formUtils.haltValidation&&(a.formUtils.errorDisplayPreventedWhenHalted=!0),!a.formUtils.haltValidation)},a.fn.restrictLength=function(b){return new a.formUtils.lengthRestriction(this,b),this},a.fn.addSuggestions=function(b){var c=!1;return this.find("input").each(function(){var d=a(this);c=a.split(d.attr("data-suggestions")),c.length>0&&!d.hasClass("has-suggestions")&&(a.formUtils.suggest(d,c,b),d.addClass("has-suggestions"))}),this}}(a,window),function(a){"use strict";a.formUtils=a.extend(a.formUtils||{},{isLoadingModules:!1,loadedModules:{},loadModules:function(b,c,d){if(a.formUtils.isLoadingModules)return void setTimeout(function(){a.formUtils.loadModules(b,c,d)},10);var e=!1,f=function(b,c){var f=a.split(b),g=f.length,h=function(){g--,0===g&&(a.formUtils.isLoadingModules=!1,d&&e&&"function"==typeof d&&d())};g>0&&(a.formUtils.isLoadingModules=!0);var i="?_="+(new Date).getTime(),j=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0];a.each(f,function(b,d){if(d=a.trim(d),0===d.length)h();else{var f=c+d+(".js"===d.slice(-3)?"":".js"),g=document.createElement("SCRIPT");f in a.formUtils.loadedModules?h():(a.formUtils.loadedModules[f]=1,e=!0,g.type="text/javascript",g.onload=h,g.src=f+(".dev.js"===f.slice(-7)?i:""),g.onerror=function(){a.formUtils.warn("Unable to load form validation module "+f)},g.onreadystatechange=function(){"complete"!==this.readyState&&"loaded"!==this.readyState||(h(),this.onload=null,this.onreadystatechange=null)},j.appendChild(g))}})};if(c)f(b,c);else{var g=function(){var c=!1;return a('script[src*="form-validator"]').each(function(){return c=this.src.substr(0,this.src.lastIndexOf("/"))+"/","/"===c&&(c=""),!1}),c!==!1?(f(b,c),!0):!1};g()||a(g)}}})}(a),function(a){"use strict";a.split=function(b,c){if("function"!=typeof c){if(!b)return[];var d=[];return a.each(b.split(c?c:/[,|\-\s]\s*/g),function(b,c){c=a.trim(c),c.length&&d.push(c)}),d}b&&a.each(b.split(/[,|\-\s]\s*/g),function(b,d){return d=a.trim(d),d.length?c(d,b):void 0})},a.validate=function(b){var c=a.extend(a.formUtils.defaultConfig(),{form:"form",validateOnEvent:!1,validateOnBlur:!0,validateCheckboxRadioOnClick:!0,showHelpOnFocus:!0,addSuggestions:!0,modules:"",onModulesLoaded:null,language:!1,onSuccess:!1,onError:!1,onElementValidate:!1});if(b=a.extend(c,b||{}),b.lang&&"en"!==b.lang){var d="lang/"+b.lang+".js";b.modules+=b.modules.length?","+d:d}a(b.form).each(function(c,d){d.validationConfig=b;var e=a(d);e.trigger("formValidationSetup",[e,b]),e.find(".has-help-txt").unbind("focus.validation").unbind("blur.validation"),e.removeClass("has-validation-callback").unbind("submit.validation").unbind("reset.validation").find("input[data-validation],textarea[data-validation]").unbind("blur.validation"),e.bind("submit.validation",function(c){var d=a(this),e=function(){return c.stopImmediatePropagation(),!1};if(a.formUtils.haltValidation)return e();if(a.formUtils.isLoadingModules)return setTimeout(function(){d.trigger("submit.validation")},200),e();var f=d.isValid(b.language,b);if(a.formUtils.haltValidation)return e();if(!f||"function"!=typeof b.onSuccess)return f||"function"!=typeof b.onError?f?!0:e():(b.onError(d),e());var g=b.onSuccess(d);return g===!1?e():void 0}).bind("reset.validation",function(){a.formUtils.dialogs.removeAllMessagesAndStyling(e,b)}).addClass("has-validation-callback"),b.showHelpOnFocus&&e.showHelpOnFocus(),b.addSuggestions&&e.addSuggestions(),b.validateOnBlur&&(e.validateOnBlur(b.language,b),e.bind("html5ValidationAttrsFound",function(){e.validateOnBlur(b.language,b)})),b.validateOnEvent&&e.validateOnEvent(b.language,b)}),""!==b.modules&&a.formUtils.loadModules(b.modules,!1,function(){"function"==typeof b.onModulesLoaded&&b.onModulesLoaded();var c="string"==typeof b.form?a(b.form):b.form;a.formUtils.$win.trigger("validatorsLoaded",[c,b])})}}(a),function(a,b){"use strict";var c=a(b);a.formUtils=a.extend(a.formUtils||{},{$win:c,defaultConfig:function(){return{ignore:[],errorElementClass:"error",borderColorOnError:"#b94a48",errorMessageClass:"form-error",validationRuleAttribute:"data-validation",validationErrorMsgAttribute:"data-validation-error-msg",errorMessagePosition:"inline",errorMessageTemplate:{container:'
    {messages}
    ',messages:"{errorTitle}",field:"
  • {msg}
  • "},scrollToTopOnError:!0,dateFormat:"yyyy-mm-dd",addValidClassOnAll:!1,decimalSeparator:".",inputParentClassOnError:"has-error",inputParentClassOnSuccess:"has-success",validateHiddenInputs:!1,inlineErrorMessageCallback:!1,submitErrorMessageCallback:!1}},validators:{},_events:{load:[],valid:[],invalid:[]},haltValidation:!1,isValidatingEntireForm:!1,addValidator:function(a){var b=0===a.name.indexOf("validate_")?a.name:"validate_"+a.name;void 0===a.validateOnKeyUp&&(a.validateOnKeyUp=!0),this.validators[b]=a},warn:function(a){"console"in b?"function"==typeof b.console.warn?b.console.warn(a):"function"==typeof b.console.log&&b.console.log(a):alert(a)},getValue:function(a,b){var c=b?b.find(a):a;if(c.length>0){var d=c.eq(0).attr("type");return"radio"===d||"checkbox"===d?c.filter(":checked").val():c.val()}return!1},validateInput:function(b,c,d,e,f){d=d||a.formUtils.defaultConfig(),c=c||a.formUtils.LANG;var g=this.getValue(b);b.valAttr("skipped",!1).one("beforeValidation",function(){(b.attr("disabled")||!b.is(":visible")&&!d.validateHiddenInputs)&&b.valAttr("skipped",1)}).trigger("beforeValidation",[g,d,c]);var h="true"===b.valAttr("optional"),i=!g&&h,j=b.attr(d.validationRuleAttribute),k=!0,l="",m={isValid:!0,shouldChangeDisplay:!0,errorMsg:""};if(!j||i||b.valAttr("skipped"))return m.shouldChangeDisplay=d.addValidClassOnAll,m;var n=b.valAttr("ignore");return n&&a.each(n.split(""),function(a,b){g=g.replace(new RegExp("\\"+b),"")}),a.split(j,function(h){0!==h.indexOf("validate_")&&(h="validate_"+h);var i=a.formUtils.validators[h];if(!i)throw new Error('Using undefined validator "'+h+'". Maybe you have forgotten to load the module that "'+h+'" belongs to?');return"validate_checkbox_group"===h&&(b=e.find('[name="'+b.attr("name")+'"]:eq(0)')),("keyup"!==f||i.validateOnKeyUp)&&(k=i.validatorFunction(g,b,d,c,e)),k?void 0:(l=a.formUtils.dialogs.resolveErrorMessage(b,i,h,d,c),!1)}," "),k===!1?(b.trigger("validation",!1),m.errorMsg=l,m.isValid=!1,m.shouldChangeDisplay=!0):null===k?m.shouldChangeDisplay=!1:(b.trigger("validation",!0),m.shouldChangeDisplay=!0),"function"==typeof d.onElementValidate&&null!==l&&d.onElementValidate(m.isValid,b,e,l),b.trigger("afterValidation",[m,f]),m},parseDate:function(b,c,d){var e,f,g,h,i=c.replace(/[a-zA-Z]/gi,"").substring(0,1),j="^",k=c.split(i||null);if(a.each(k,function(a,b){j+=(a>0?"\\"+i:"")+"(\\d{"+b.length+"})"}),j+="$",d){var l=[];a.each(b.split(i),function(a,b){1===b.length&&(b="0"+b),l.push(b)}),b=l.join(i)}if(e=b.match(new RegExp(j)),null===e)return!1;var m=function(b,c,d){for(var e=0;e28&&(h%4!==0||h%100===0&&h%400!==0)||2===g&&f>29&&(h%4===0||h%100!==0&&h%400===0)||g>12||0===g?!1:this.isShortMonth(g)&&f>30||!this.isShortMonth(g)&&f>31||0===f?!1:[h,g,f]},parseDateInt:function(a){return 0===a.indexOf("0")&&(a=a.replace("0","")),parseInt(a,10)},isShortMonth:function(a){return a%2===0&&7>a||a%2!==0&&a>7},lengthRestriction:function(b,c){var d=parseInt(c.text(),10),e=0,f=function(){var a=b.val().length;if(a>d){var f=b.scrollTop();b.val(b.val().substring(0,d)),b.scrollTop(f)}e=d-a,0>e&&(e=0),c.text(e)};a(b).bind("keydown keyup keypress focus blur",f).bind("cut paste",function(){setTimeout(f,100)}),a(document).bind("ready",f)},numericRangeCheck:function(b,c){var d=a.split(c),e=parseInt(c.substr(3),10);return 1===d.length&&-1===c.indexOf("min")&&-1===c.indexOf("max")&&(d=[c,c]),2===d.length&&(bparseInt(d[1],10))?["out",d[0],d[1]]:0===c.indexOf("min")&&e>b?["min",e]:0===c.indexOf("max")&&b>e?["max",e]:["ok"]},_numSuggestionElements:0,_selectedSuggestion:null,_previousTypedVal:null,suggest:function(b,d,e){var f={css:{maxHeight:"150px",background:"#FFF",lineHeight:"150%",textDecoration:"underline",overflowX:"hidden",overflowY:"auto",border:"#CCC solid 1px",borderTop:"none",cursor:"pointer"},activeSuggestionCSS:{background:"#E9E9E9"}},g=function(a,b){var c=b.offset();a.css({width:b.outerWidth(),left:c.left+"px",top:c.top+b.outerHeight()+"px"})};e&&a.extend(f,e),f.css.position="absolute",f.css["z-index"]=9999,b.attr("autocomplete","off"),0===this._numSuggestionElements&&c.bind("resize",function(){a(".jquery-form-suggestions").each(function(){var b=a(this),c=b.attr("data-suggest-container");g(b,a(".suggestions-"+c).eq(0))})}),this._numSuggestionElements++;var h=function(b){var c=b.valAttr("suggestion-nr");a.formUtils._selectedSuggestion=null,a.formUtils._previousTypedVal=null,a(".jquery-form-suggestion-"+c).fadeOut("fast")};return b.data("suggestions",d).valAttr("suggestion-nr",this._numSuggestionElements).unbind("focus.suggest").bind("focus.suggest",function(){a(this).trigger("keyup"),a.formUtils._selectedSuggestion=null}).unbind("keyup.suggest").bind("keyup.suggest",function(){var c=a(this),d=[],e=a.trim(c.val()).toLocaleLowerCase();if(e!==a.formUtils._previousTypedVal){a.formUtils._previousTypedVal=e;var i=!1,j=c.valAttr("suggestion-nr"),k=a(".jquery-form-suggestion-"+j);if(k.scrollTop(0),""!==e){var l=e.length>2;a.each(c.data("suggestions"),function(a,b){var c=b.toLocaleLowerCase();return c===e?(d.push(""+b+""),i=!0,!1):void((0===c.indexOf(e)||l&&c.indexOf(e)>-1)&&d.push(b.replace(new RegExp(e,"gi"),"$&")))})}i||0===d.length&&k.length>0?k.hide():d.length>0&&0===k.length?(k=a("
    ").css(f.css).appendTo("body"),b.addClass("suggestions-"+j),k.attr("data-suggest-container",j).addClass("jquery-form-suggestions").addClass("jquery-form-suggestion-"+j)):d.length>0&&!k.is(":visible")&&k.show(),d.length>0&&e.length!==d[0].length&&(g(k,c),k.html(""),a.each(d,function(b,d){a("
    ").append(d).css({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",padding:"5px"}).addClass("form-suggest-element").appendTo(k).click(function(){c.focus(),c.val(a(this).text()),c.trigger("change"),h(c)})}))}}).unbind("keydown.validation").bind("keydown.validation",function(b){var c,d,e=b.keyCode?b.keyCode:b.which,g=a(this);if(13===e&&null!==a.formUtils._selectedSuggestion){if(c=g.valAttr("suggestion-nr"),d=a(".jquery-form-suggestion-"+c),d.length>0){var i=d.find("div").eq(a.formUtils._selectedSuggestion).text();g.val(i),g.trigger("change"),h(g),b.preventDefault()}}else{c=g.valAttr("suggestion-nr"),d=a(".jquery-form-suggestion-"+c);var j=d.children();if(j.length>0&&a.inArray(e,[38,40])>-1){38===e?(null===a.formUtils._selectedSuggestion?a.formUtils._selectedSuggestion=j.length-1:a.formUtils._selectedSuggestion--,a.formUtils._selectedSuggestion<0&&(a.formUtils._selectedSuggestion=j.length-1)):40===e&&(null===a.formUtils._selectedSuggestion?a.formUtils._selectedSuggestion=0:a.formUtils._selectedSuggestion++,a.formUtils._selectedSuggestion>j.length-1&&(a.formUtils._selectedSuggestion=0));var k=d.innerHeight(),l=d.scrollTop(),m=d.children().eq(0).outerHeight(),n=m*a.formUtils._selectedSuggestion;return(l>n||n>l+k)&&d.scrollTop(n),j.removeClass("active-suggestion").css("background","none").eq(a.formUtils._selectedSuggestion).addClass("active-suggestion").css(f.activeSuggestionCSS),b.preventDefault(),!1}}}).unbind("blur.suggest").bind("blur.suggest",function(){h(a(this))}),b},LANG:{errorTitle:"Form submission failed!",requiredField:"This is a required field",requiredFields:"You have not answered all required fields",badTime:"You have not given a correct time",badEmail:"You have not given a correct e-mail address",badTelephone:"You have not given a correct phone number",badSecurityAnswer:"You have not given a correct answer to the security question",badDate:"You have not given a correct date",lengthBadStart:"The input value must be between ",lengthBadEnd:" characters",lengthTooLongStart:"The input value is longer than ",lengthTooShortStart:"The input value is shorter than ",notConfirmed:"Input values could not be confirmed",badDomain:"Incorrect domain value",badUrl:"The input value is not a correct URL",badCustomVal:"The input value is incorrect",andSpaces:" and spaces ",badInt:"The input value was not a correct number",badSecurityNumber:"Your social security number was incorrect",badUKVatAnswer:"Incorrect UK VAT Number",badUKNin:"Incorrect UK NIN",badUKUtr:"Incorrect UK UTR Number",badStrength:"The password isn't strong enough",badNumberOfSelectedOptionsStart:"You have to choose at least ",badNumberOfSelectedOptionsEnd:" answers",badAlphaNumeric:"The input value can only contain alphanumeric characters ",badAlphaNumericExtra:" and ",wrongFileSize:"The file you are trying to upload is too large (max %s)",wrongFileType:"Only files of type %s is allowed",groupCheckedRangeStart:"Please choose between ",groupCheckedTooFewStart:"Please choose at least ",groupCheckedTooManyStart:"Please choose a maximum of ",groupCheckedEnd:" item(s)",badCreditCard:"The credit card number is not correct",badCVV:"The CVV number was not correct",wrongFileDim:"Incorrect image dimensions,",imageTooTall:"the image can not be taller than",imageTooWide:"the image can not be wider than",imageTooSmall:"the image was too small",min:"min",max:"max",imageRatioNotAccepted:"Image ratio is not be accepted",badBrazilTelephoneAnswer:"The phone number entered is invalid",badBrazilCEPAnswer:"The CEP entered is invalid",badBrazilCPFAnswer:"The CPF entered is invalid",badPlPesel:"The PESEL entered is invalid",badPlNip:"The NIP entered is invalid",badPlRegon:"The REGON entered is invalid",badreCaptcha:"Please confirm that you are not a bot"}})}(a,window),function(a){a.formUtils.addValidator({name:"email",validatorFunction:function(b){var c=b.toLowerCase().split("@"),d=c[0],e=c[1];if(d&&e){if(0===d.indexOf('"')){var f=d.length;if(d=d.replace(/\"/g,""),d.length!==f-2)return!1}return a.formUtils.validators.validate_domain.validatorFunction(c[1])&&0!==d.indexOf(".")&&"."!==d.substring(d.length-1,d.length)&&-1===d.indexOf("..")&&!/[^\w\+\.\-\#\-\_\~\!\$\&\'\(\)\*\+\,\;\=\:]/.test(d)}return!1},errorMessage:"",errorMessageKey:"badEmail"}),a.formUtils.addValidator({name:"domain",validatorFunction:function(a){return a.length>0&&a.length<=253&&!/[^a-zA-Z0-9]/.test(a.slice(-2))&&!/[^a-zA-Z0-9]/.test(a.substr(0,1))&&!/[^a-zA-Z0-9\.\-]/.test(a)&&1===a.split("..").length&&a.split(".").length>1},errorMessage:"",errorMessageKey:"badDomain"}),a.formUtils.addValidator({name:"required",validatorFunction:function(b,c,d,e,f){switch(c.attr("type")){case"checkbox":return c.is(":checked");case"radio":return f.find('input[name="'+c.attr("name")+'"]').filter(":checked").length>0;default:return""!==a.trim(b)}},errorMessage:"",errorMessageKey:function(a){return"top"===a.errorMessagePosition||"function"==typeof a.errorMessagePosition?"requiredFields":"requiredField"}}),a.formUtils.addValidator({name:"length",validatorFunction:function(b,c,d,e){var f=c.valAttr("length"),g=c.attr("type");if(void 0===f)return alert('Please add attribute "data-validation-length" to '+c[0].nodeName+" named "+c.attr("name")),!0;var h,i="file"===g&&void 0!==c.get(0).files?c.get(0).files.length:b.length,j=a.formUtils.numericRangeCheck(i,f);switch(j[0]){case"out":this.errorMessage=e.lengthBadStart+f+e.lengthBadEnd,h=!1;break;case"min":this.errorMessage=e.lengthTooShortStart+j[1]+e.lengthBadEnd,h=!1;break;case"max":this.errorMessage=e.lengthTooLongStart+j[1]+e.lengthBadEnd,h=!1;break;default:h=!0}return h},errorMessage:"",errorMessageKey:""}),a.formUtils.addValidator({name:"url",validatorFunction:function(b){var c=/^(https?|ftp):\/\/((((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|\[|\]|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;if(c.test(b)){var d=b.split("://")[1],e=d.indexOf("/");return e>-1&&(d=d.substr(0,e)),a.formUtils.validators.validate_domain.validatorFunction(d)}return!1},errorMessage:"",errorMessageKey:"badUrl"}),a.formUtils.addValidator({name:"number",validatorFunction:function(a,b,c){if(""!==a){var d,e,f=b.valAttr("allowing")||"",g=b.valAttr("decimal-separator")||c.decimalSeparator,h=!1,i=b.valAttr("step")||"",j=!1,k=b.attr("data-sanitize")||"",l=k.match(/(^|[\s])numberFormat([\s]|$)/i);if(l){if(!window.numeral)throw new ReferenceError("The data-sanitize value numberFormat cannot be used without the numeral library. Please see Data Validation in http://www.formvalidator.net for more information.");a.length&&(a=String(numeral().unformat(a)))}if(-1===f.indexOf("number")&&(f+=",number"),-1===f.indexOf("negative")&&0===a.indexOf("-"))return!1;if(f.indexOf("range")>-1&&(d=parseFloat(f.substring(f.indexOf("[")+1,f.indexOf(";"))),e=parseFloat(f.substring(f.indexOf(";")+1,f.indexOf("]"))),h=!0),""!==i&&(j=!0),","===g){if(a.indexOf(".")>-1)return!1;a=a.replace(",",".")}if(""===a.replace(/[0-9-]/g,"")&&(!h||a>=d&&e>=a)&&(!j||a%i===0))return!0;if(f.indexOf("float")>-1&&null!==a.match(new RegExp("^([0-9-]+)\\.([0-9]+)$"))&&(!h||a>=d&&e>=a)&&(!j||a%i===0))return!0}return!1},errorMessage:"",errorMessageKey:"badInt"}),a.formUtils.addValidator({name:"alphanumeric",validatorFunction:function(b,c,d,e){var f="^([a-zA-Z0-9",g="]+)$",h=c.valAttr("allowing"),i="";if(h){i=f+h+g;var j=h.replace(/\\/g,"");j.indexOf(" ")>-1&&(j=j.replace(" ",""),j+=e.andSpaces||a.formUtils.LANG.andSpaces),this.errorMessage=e.badAlphaNumeric+e.badAlphaNumericExtra+j}else i=f+g,this.errorMessage=e.badAlphaNumeric;return new RegExp(i).test(b)},errorMessage:"",errorMessageKey:""}),a.formUtils.addValidator({name:"custom",validatorFunction:function(a,b){var c=new RegExp(b.valAttr("regexp"));return c.test(a)},errorMessage:"",errorMessageKey:"badCustomVal"}),a.formUtils.addValidator({name:"date",validatorFunction:function(b,c,d){var e=c.valAttr("format")||d.dateFormat||"yyyy-mm-dd",f="false"===c.valAttr("require-leading-zero");return a.formUtils.parseDate(b,e,f)!==!1},errorMessage:"",errorMessageKey:"badDate"}),a.formUtils.addValidator({name:"checkbox_group",validatorFunction:function(b,c,d,e,f){var g=!0,h=c.attr("name"),i=a('input[type=checkbox][name^="'+h+'"]',f),j=i.filter(":checked").length,k=c.valAttr("qty");if(void 0===k){var l=c.get(0).nodeName;alert('Attribute "data-validation-qty" is missing from '+l+" named "+c.attr("name"))}var m=a.formUtils.numericRangeCheck(j,k);switch(m[0]){case"out":this.errorMessage=e.groupCheckedRangeStart+k+e.groupCheckedEnd,g=!1;break;case"min":this.errorMessage=e.groupCheckedTooFewStart+m[1]+e.groupCheckedEnd,g=!1;break;case"max":this.errorMessage=e.groupCheckedTooManyStart+m[1]+e.groupCheckedEnd,g=!1;break;default:g=!0}if(!g){var n=function(){i.unbind("click",n),i.filter("*[data-validation]").validateInputOnBlur(e,d,!1,"blur")};i.bind("click",n)}return g}})}(a)}); -------------------------------------------------------------------------------- /static/font-awesome-v4.7.0/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} 5 | -------------------------------------------------------------------------------- /static/js/bootstrap-v3.3.7/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.7 (http://getbootstrap.com) 3 | * Copyright 2011-2016 Twitter, Inc. 4 | * Licensed under the MIT license 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",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(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); --------------------------------------------------------------------------------