big code cleanup
rename lib to vendor, remove deprecated LESS version, revise package.json, load jQuery easing through npm, restructure SCSS directory into modules, expanded code commenting and documentation theme-wide
This commit is contained in:
parent
bf91fc05cd
commit
7db1bc641a
3
LICENSE
3
LICENSE
@ -1,7 +1,6 @@
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2017 Blackrock Digital LLC.
|
||||
Copyright (c) 2013-2017 Blackrock Digital LLC
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
401
css/agency.css
401
css/agency.css
@ -1,15 +1,12 @@
|
||||
/*!
|
||||
* Start Bootstrap - Agency v4.0.0-alpha (http://startbootstrap.com/template-overviews/agency)
|
||||
* Copyright 2013-2017 Start Bootstrap
|
||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||
* Licensed under ()
|
||||
*/
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif; }
|
||||
|
||||
.text-primary {
|
||||
color: #fed136 !important; }
|
||||
|
||||
p {
|
||||
line-height: 1.75; }
|
||||
|
||||
@ -18,93 +15,50 @@ a {
|
||||
a:hover, a:focus, a:active, a.active {
|
||||
color: #fec503; }
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700; }
|
||||
|
||||
.btn-primary {
|
||||
color: white;
|
||||
background-color: #fed136;
|
||||
border-color: #fed136;
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700; }
|
||||
.btn-primary:focus, .btn-primary.focus {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #b48b01; }
|
||||
.btn-primary:hover {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-primary:active, .btn-primary.active,
|
||||
.open > .btn-primary.dropdown-toggle {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
|
||||
.open > .btn-primary.dropdown-toggle:hover,
|
||||
.open > .btn-primary.dropdown-toggle:focus,
|
||||
.open > .btn-primary.dropdown-toggle.focus {
|
||||
color: white;
|
||||
background-color: #dcab01;
|
||||
border-color: #b48b01; }
|
||||
.btn-primary:active, .btn-primary.active,
|
||||
.open > .btn-primary.dropdown-toggle {
|
||||
background-image: none; }
|
||||
.btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
|
||||
fieldset[disabled] .btn-primary:hover,
|
||||
fieldset[disabled] .btn-primary:focus,
|
||||
fieldset[disabled] .btn-primary.focus {
|
||||
background-color: #fed136;
|
||||
border-color: #fed136; }
|
||||
.btn-primary .badge {
|
||||
color: #fed136;
|
||||
background-color: white; }
|
||||
section {
|
||||
padding: 100px 0; }
|
||||
section h2.section-heading {
|
||||
font-size: 40px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px; }
|
||||
section h3.section-subheading {
|
||||
font-size: 16px;
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: none;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
margin-bottom: 75px; }
|
||||
|
||||
.btn-xl {
|
||||
color: white;
|
||||
background-color: #fed136;
|
||||
border-color: #fed136;
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
border-radius: 3px;
|
||||
font-size: 18px;
|
||||
padding: 20px 40px; }
|
||||
.btn-xl:focus, .btn-xl.focus {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #b48b01; }
|
||||
.btn-xl:hover {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-xl:active, .btn-xl.active,
|
||||
.open > .btn-xl.dropdown-toggle {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-xl:active:hover, .btn-xl:active:focus, .btn-xl:active.focus, .btn-xl.active:hover, .btn-xl.active:focus, .btn-xl.active.focus,
|
||||
.open > .btn-xl.dropdown-toggle:hover,
|
||||
.open > .btn-xl.dropdown-toggle:focus,
|
||||
.open > .btn-xl.dropdown-toggle.focus {
|
||||
color: white;
|
||||
background-color: #dcab01;
|
||||
border-color: #b48b01; }
|
||||
.btn-xl:active, .btn-xl.active,
|
||||
.open > .btn-xl.dropdown-toggle {
|
||||
background-image: none; }
|
||||
.btn-xl.disabled:hover, .btn-xl.disabled:focus, .btn-xl.disabled.focus, .btn-xl[disabled]:hover, .btn-xl[disabled]:focus, .btn-xl[disabled].focus,
|
||||
fieldset[disabled] .btn-xl:hover,
|
||||
fieldset[disabled] .btn-xl:focus,
|
||||
fieldset[disabled] .btn-xl.focus {
|
||||
background-color: #fed136;
|
||||
border-color: #fed136; }
|
||||
.btn-xl .badge {
|
||||
color: #fed136;
|
||||
background-color: white; }
|
||||
@media (min-width: 768px) {
|
||||
section {
|
||||
padding: 150px 0; } }
|
||||
|
||||
::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #fed136; }
|
||||
|
||||
::selection {
|
||||
text-shadow: none;
|
||||
background: #fed136; }
|
||||
|
||||
img::selection {
|
||||
background: transparent; }
|
||||
|
||||
img::-moz-selection {
|
||||
background: transparent; }
|
||||
|
||||
body {
|
||||
-webkit-tap-highlight-color: #fed136; }
|
||||
|
||||
#mainNav {
|
||||
background-color: #222222; }
|
||||
@ -158,7 +112,7 @@ h1, h2, h3, h4, h5, h6 {
|
||||
padding: 12px 0;
|
||||
font-size: 1.25em; } }
|
||||
|
||||
header {
|
||||
header.masthead {
|
||||
background-image: url("../img/header-bg.jpg");
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: scroll;
|
||||
@ -169,16 +123,16 @@ header {
|
||||
-o-background-size: cover;
|
||||
text-align: center;
|
||||
color: white; }
|
||||
header .intro-text {
|
||||
header.masthead .intro-text {
|
||||
padding-top: 100px;
|
||||
padding-bottom: 50px; }
|
||||
header .intro-text .intro-lead-in {
|
||||
header.masthead .intro-text .intro-lead-in {
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-style: italic;
|
||||
font-size: 22px;
|
||||
line-height: 22px;
|
||||
margin-bottom: 25px; }
|
||||
header .intro-text .intro-heading {
|
||||
header.masthead .intro-text .intro-heading {
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
@ -187,16 +141,16 @@ header {
|
||||
margin-bottom: 25px; }
|
||||
|
||||
@media (min-width: 768px) {
|
||||
header .intro-text {
|
||||
header.masthead .intro-text {
|
||||
padding-top: 300px;
|
||||
padding-bottom: 200px; }
|
||||
header .intro-text .intro-lead-in {
|
||||
header.masthead .intro-text .intro-lead-in {
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-style: italic;
|
||||
font-size: 40px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 25px; }
|
||||
header .intro-text .intro-heading {
|
||||
header.masthead .intro-text .intro-heading {
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
@ -204,24 +158,6 @@ header {
|
||||
line-height: 75px;
|
||||
margin-bottom: 50px; } }
|
||||
|
||||
section {
|
||||
padding: 100px 0; }
|
||||
section h2.section-heading {
|
||||
font-size: 40px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px; }
|
||||
section h3.section-subheading {
|
||||
font-size: 16px;
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: none;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
margin-bottom: 75px; }
|
||||
|
||||
@media (min-width: 768px) {
|
||||
section {
|
||||
padding: 150px 0; } }
|
||||
|
||||
.service-heading {
|
||||
margin: 15px 0;
|
||||
text-transform: none; }
|
||||
@ -230,12 +166,13 @@ section {
|
||||
margin: 0 0 15px;
|
||||
right: 0; }
|
||||
#portfolio .portfolio-item .portfolio-link {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
position: relative;
|
||||
max-width: 400px;
|
||||
margin: 0 auto; }
|
||||
#portfolio .portfolio-item .portfolio-link .portfolio-hover {
|
||||
background: rgba(254, 209, 54, 0.1);
|
||||
background: rgba(254, 209, 54, 0.9);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@ -281,6 +218,74 @@ section {
|
||||
#portfolio .portfolio-item {
|
||||
margin: 0 0 30px; } }
|
||||
|
||||
.portfolio-modal .modal-dialog {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
max-width: none; }
|
||||
|
||||
.portfolio-modal .modal-content {
|
||||
border-radius: 0;
|
||||
background-clip: border-box;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-height: 100%;
|
||||
padding: 100px 0;
|
||||
text-align: center; }
|
||||
.portfolio-modal .modal-content h2 {
|
||||
margin-bottom: 15px;
|
||||
font-size: 3em; }
|
||||
.portfolio-modal .modal-content p {
|
||||
margin-bottom: 30px; }
|
||||
.portfolio-modal .modal-content p.item-intro {
|
||||
margin: 20px 0 30px;
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-style: italic;
|
||||
font-size: 16px; }
|
||||
.portfolio-modal .modal-content ul.list-inline {
|
||||
margin-bottom: 30px;
|
||||
margin-top: 0; }
|
||||
.portfolio-modal .modal-content img {
|
||||
margin-bottom: 30px; }
|
||||
.portfolio-modal .modal-content button {
|
||||
cursor: pointer; }
|
||||
|
||||
.portfolio-modal .close-modal {
|
||||
position: absolute;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
background-color: transparent;
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
cursor: pointer; }
|
||||
.portfolio-modal .close-modal:hover {
|
||||
opacity: 0.3; }
|
||||
.portfolio-modal .close-modal .lr {
|
||||
height: 75px;
|
||||
width: 1px;
|
||||
margin-left: 35px;
|
||||
background-color: #222222;
|
||||
transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(45deg);
|
||||
/* Safari and Chrome */
|
||||
z-index: 1051; }
|
||||
.portfolio-modal .close-modal .lr .rl {
|
||||
height: 75px;
|
||||
width: 1px;
|
||||
background-color: #222222;
|
||||
transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(90deg);
|
||||
/* Safari and Chrome */
|
||||
z-index: 1052; }
|
||||
|
||||
.portfolio-modal .modal-backdrop {
|
||||
opacity: 0;
|
||||
display: none; }
|
||||
|
||||
.timeline {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
@ -429,9 +434,6 @@ section {
|
||||
.team-member p {
|
||||
margin-top: 0; }
|
||||
|
||||
aside.clients img {
|
||||
margin: 50px auto; }
|
||||
|
||||
section#contact {
|
||||
background-color: #222222;
|
||||
background-image: url("../img/map-image.png");
|
||||
@ -511,91 +513,88 @@ ul.social-buttons {
|
||||
ul.social-buttons li a:hover, ul.social-buttons li a:focus, ul.social-buttons li a:active {
|
||||
background-color: #fed136; }
|
||||
|
||||
.btn:focus,
|
||||
.btn:active,
|
||||
.btn.active,
|
||||
.btn:active:focus {
|
||||
outline: none; }
|
||||
.text-primary {
|
||||
color: #fed136 !important; }
|
||||
|
||||
.portfolio-modal .modal-dialog {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
max-width: none; }
|
||||
.btn-primary {
|
||||
color: white;
|
||||
background-color: #fed136;
|
||||
border-color: #fed136;
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700; }
|
||||
.btn-primary:focus, .btn-primary.focus {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #b48b01; }
|
||||
.btn-primary:hover {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-primary:active, .btn-primary.active,
|
||||
.open > .btn-primary.dropdown-toggle {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
|
||||
.open > .btn-primary.dropdown-toggle:hover,
|
||||
.open > .btn-primary.dropdown-toggle:focus,
|
||||
.open > .btn-primary.dropdown-toggle.focus {
|
||||
color: white;
|
||||
background-color: #dcab01;
|
||||
border-color: #b48b01; }
|
||||
.btn-primary:active, .btn-primary.active,
|
||||
.open > .btn-primary.dropdown-toggle {
|
||||
background-image: none; }
|
||||
.btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
|
||||
fieldset[disabled] .btn-primary:hover,
|
||||
fieldset[disabled] .btn-primary:focus,
|
||||
fieldset[disabled] .btn-primary.focus {
|
||||
background-color: #fed136;
|
||||
border-color: #fed136; }
|
||||
.btn-primary .badge {
|
||||
color: #fed136;
|
||||
background-color: white; }
|
||||
|
||||
.portfolio-modal .modal-content {
|
||||
border-radius: 0;
|
||||
background-clip: border-box;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-height: 100%;
|
||||
padding: 100px 0;
|
||||
text-align: center; }
|
||||
.portfolio-modal .modal-content h2 {
|
||||
margin-bottom: 15px;
|
||||
font-size: 3em; }
|
||||
.portfolio-modal .modal-content p {
|
||||
margin-bottom: 30px; }
|
||||
.portfolio-modal .modal-content p.item-intro {
|
||||
margin: 20px 0 30px;
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-style: italic;
|
||||
font-size: 16px; }
|
||||
.portfolio-modal .modal-content ul.list-inline {
|
||||
margin-bottom: 30px;
|
||||
margin-top: 0; }
|
||||
.portfolio-modal .modal-content img {
|
||||
margin-bottom: 30px; }
|
||||
|
||||
.portfolio-modal .close-modal {
|
||||
position: absolute;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
background-color: transparent;
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
cursor: pointer; }
|
||||
.portfolio-modal .close-modal:hover {
|
||||
opacity: 0.3; }
|
||||
.portfolio-modal .close-modal .lr {
|
||||
height: 75px;
|
||||
width: 1px;
|
||||
margin-left: 35px;
|
||||
background-color: #222222;
|
||||
transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(45deg);
|
||||
/* Safari and Chrome */
|
||||
z-index: 1051; }
|
||||
.portfolio-modal .close-modal .lr .rl {
|
||||
height: 75px;
|
||||
width: 1px;
|
||||
background-color: #222222;
|
||||
transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(90deg);
|
||||
/* Safari and Chrome */
|
||||
z-index: 1052; }
|
||||
|
||||
.portfolio-modal .modal-backdrop {
|
||||
opacity: 0;
|
||||
display: none; }
|
||||
|
||||
::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #fed136; }
|
||||
|
||||
::selection {
|
||||
text-shadow: none;
|
||||
background: #fed136; }
|
||||
|
||||
img::selection {
|
||||
background: transparent; }
|
||||
|
||||
img::-moz-selection {
|
||||
background: transparent; }
|
||||
|
||||
body {
|
||||
webkit-tap-highlight-color: #fed136; }
|
||||
.btn-xl {
|
||||
color: white;
|
||||
background-color: #fed136;
|
||||
border-color: #fed136;
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
border-radius: 3px;
|
||||
font-size: 18px;
|
||||
padding: 20px 40px; }
|
||||
.btn-xl:focus, .btn-xl.focus {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #b48b01; }
|
||||
.btn-xl:hover {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-xl:active, .btn-xl.active,
|
||||
.open > .btn-xl.dropdown-toggle {
|
||||
color: white;
|
||||
background-color: #fec503;
|
||||
border-color: #f6bf01; }
|
||||
.btn-xl:active:hover, .btn-xl:active:focus, .btn-xl:active.focus, .btn-xl.active:hover, .btn-xl.active:focus, .btn-xl.active.focus,
|
||||
.open > .btn-xl.dropdown-toggle:hover,
|
||||
.open > .btn-xl.dropdown-toggle:focus,
|
||||
.open > .btn-xl.dropdown-toggle.focus {
|
||||
color: white;
|
||||
background-color: #dcab01;
|
||||
border-color: #b48b01; }
|
||||
.btn-xl:active, .btn-xl.active,
|
||||
.open > .btn-xl.dropdown-toggle {
|
||||
background-image: none; }
|
||||
.btn-xl.disabled:hover, .btn-xl.disabled:focus, .btn-xl.disabled.focus, .btn-xl[disabled]:hover, .btn-xl[disabled]:focus, .btn-xl[disabled].focus,
|
||||
fieldset[disabled] .btn-xl:hover,
|
||||
fieldset[disabled] .btn-xl:focus,
|
||||
fieldset[disabled] .btn-xl.focus {
|
||||
background-color: #fed136;
|
||||
border-color: #fed136; }
|
||||
.btn-xl .badge {
|
||||
color: #fed136;
|
||||
background-color: white; }
|
||||
|
4
css/agency.min.css
vendored
4
css/agency.min.css
vendored
File diff suppressed because one or more lines are too long
30
gulpfile.js
30
gulpfile.js
@ -1,5 +1,4 @@
|
||||
var gulp = require('gulp');
|
||||
var less = require('gulp-less');
|
||||
var sass = require('gulp-sass');
|
||||
var browserSync = require('browser-sync').create();
|
||||
var header = require('gulp-header');
|
||||
@ -39,7 +38,7 @@ gulp.task('minify-css', ['sass'], function() {
|
||||
}))
|
||||
});
|
||||
|
||||
// Minify JS
|
||||
// Minify custom JS
|
||||
gulp.task('minify-js', function() {
|
||||
return gulp.src('js/agency.js')
|
||||
.pipe(uglify())
|
||||
@ -51,16 +50,20 @@ gulp.task('minify-js', function() {
|
||||
}))
|
||||
});
|
||||
|
||||
// Copy vendor libraries from /node_modules into /vendor
|
||||
// Copy vendor files from /node_modules into /vendor
|
||||
// NOTE: requires `npm install` before running!
|
||||
gulp.task('copy', function() {
|
||||
gulp.src(['node_modules/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map'])
|
||||
.pipe(gulp.dest('lib/bootstrap'))
|
||||
.pipe(gulp.dest('vendor/bootstrap'))
|
||||
|
||||
gulp.src(['node_modules/jquery/dist/jquery.js', 'node_modules/jquery/dist/jquery.min.js'])
|
||||
.pipe(gulp.dest('lib/jquery'))
|
||||
.pipe(gulp.dest('vendor/jquery'))
|
||||
|
||||
gulp.src(['node_modules/tether/dist/js/*.js'])
|
||||
.pipe(gulp.dest('lib/tether'))
|
||||
.pipe(gulp.dest('vendor/tether'))
|
||||
|
||||
gulp.src(['node_modules/jquery.easing/*.js'])
|
||||
.pipe(gulp.dest('vendor/jquery-easing'))
|
||||
|
||||
gulp.src([
|
||||
'node_modules/font-awesome/**',
|
||||
@ -70,10 +73,10 @@ gulp.task('copy', function() {
|
||||
'!node_modules/font-awesome/*.md',
|
||||
'!node_modules/font-awesome/*.json'
|
||||
])
|
||||
.pipe(gulp.dest('lib/font-awesome'))
|
||||
.pipe(gulp.dest('vendor/font-awesome'))
|
||||
})
|
||||
|
||||
// Run everything
|
||||
// Default task
|
||||
gulp.task('default', ['sass', 'minify-css', 'minify-js', 'copy']);
|
||||
|
||||
// Configure the browserSync task
|
||||
@ -94,14 +97,3 @@ gulp.task('dev', ['browserSync', 'sass', 'minify-css', 'minify-js'], function()
|
||||
gulp.watch('*.html', browserSync.reload);
|
||||
gulp.watch('js/**/*.js', browserSync.reload);
|
||||
});
|
||||
|
||||
// OPTIONAL: LESS task if you prefer to use LESS over SASS
|
||||
gulp.task('less', function() {
|
||||
return gulp.src('less/agency.less')
|
||||
.pipe(less())
|
||||
.pipe(header(banner, { pkg: pkg }))
|
||||
.pipe(gulp.dest('css'))
|
||||
.pipe(browserSync.reload({
|
||||
stream: true
|
||||
}))
|
||||
});
|
160
index.html
160
index.html
@ -11,19 +11,19 @@
|
||||
<title>Agency - Start Bootstrap Theme</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Additional fonts for this theme -->
|
||||
<link href="lib/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<!-- Custom fonts for this template -->
|
||||
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Kaushan+Script' rel='stylesheet' type='text/css'>
|
||||
<link href='https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
|
||||
<link href='https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Custom styles for this theme -->
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="css/agency.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Temporary navbar container fix until Bootstrap 4 is patched -->
|
||||
<!-- Temporary navbar container fix -->
|
||||
<style>
|
||||
.navbar-toggler {
|
||||
z-index: 1;
|
||||
@ -46,23 +46,23 @@
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||
Menu <i class="fa fa-bars"></i>
|
||||
</button>
|
||||
<a class="navbar-brand page-scroll" href="#page-top">Start Bootstrap</a>
|
||||
<a class="navbar-brand" href="#page-top">Start Bootstrap</a>
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link page-scroll" href="#services">Services</a>
|
||||
<a class="nav-link" href="#services">Services</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link page-scroll" href="#portfolio">Portfolio</a>
|
||||
<a class="nav-link" href="#portfolio">Portfolio</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link page-scroll" href="#about">About</a>
|
||||
<a class="nav-link" href="#about">About</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link page-scroll" href="#team">Team</a>
|
||||
<a class="nav-link" href="#team">Team</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link page-scroll" href="#contact">Contact</a>
|
||||
<a class="nav-link" href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -70,12 +70,12 @@
|
||||
</nav>
|
||||
|
||||
<!-- Header -->
|
||||
<header>
|
||||
<header class="masthead">
|
||||
<div class="container">
|
||||
<div class="intro-text">
|
||||
<div class="intro-lead-in">Welcome To Our Studio!</div>
|
||||
<div class="intro-heading">It's Nice To Meet You</div>
|
||||
<a href="#services" class="page-scroll btn btn-xl">Tell Me More</a>
|
||||
<a href="#services" class="btn btn-xl">Tell Me More</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@ -119,7 +119,7 @@
|
||||
</section>
|
||||
|
||||
<!-- Portfolio Grid -->
|
||||
<section id="portfolio" class="bg-faded">
|
||||
<section class="bg-faded" id="portfolio">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
@ -129,84 +129,84 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-sm-6 portfolio-item">
|
||||
<a href="#portfolioModal1" class="portfolio-link" data-toggle="modal">
|
||||
<div class="portfolio-link" data-toggle="modal" href="#portfolioModal1">
|
||||
<div class="portfolio-hover">
|
||||
<div class="portfolio-hover-content">
|
||||
<i class="fa fa-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/01-thumbnail.jpg" class="img-fluid" alt="">
|
||||
</a>
|
||||
<img class="img-fluid" src="img/portfolio/01-thumbnail.jpg" alt="">
|
||||
</div>
|
||||
<div class="portfolio-caption">
|
||||
<h4>Threads</h4>
|
||||
<p class="text-muted">Illustration</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item">
|
||||
<a href="#portfolioModal2" class="portfolio-link" data-toggle="modal">
|
||||
<div class="portfolio-link" data-toggle="modal" href="#portfolioModal2">
|
||||
<div class="portfolio-hover">
|
||||
<div class="portfolio-hover-content">
|
||||
<i class="fa fa-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/02-thumbnail.jpg" class="img-fluid" alt="">
|
||||
</a>
|
||||
<img class="img-fluid" src="img/portfolio/02-thumbnail.jpg" alt="">
|
||||
</div>
|
||||
<div class="portfolio-caption">
|
||||
<h4>Explore</h4>
|
||||
<p class="text-muted">Graphic Design</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item">
|
||||
<a href="#portfolioModal3" class="portfolio-link" data-toggle="modal">
|
||||
<div class="portfolio-link" data-toggle="modal" href="#portfolioModal3">
|
||||
<div class="portfolio-hover">
|
||||
<div class="portfolio-hover-content">
|
||||
<i class="fa fa-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/03-thumbnail.jpg" class="img-fluid" alt="">
|
||||
</a>
|
||||
<img class="img-fluid" src="img/portfolio/03-thumbnail.jpg" alt="">
|
||||
</div>
|
||||
<div class="portfolio-caption">
|
||||
<h4>Finish</h4>
|
||||
<p class="text-muted">Identity</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item">
|
||||
<a href="#portfolioModal4" class="portfolio-link" data-toggle="modal">
|
||||
<div class="portfolio-link" data-toggle="modal" href="#portfolioModal4">
|
||||
<div class="portfolio-hover">
|
||||
<div class="portfolio-hover-content">
|
||||
<i class="fa fa-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/04-thumbnail.jpg" class="img-fluid" alt="">
|
||||
</a>
|
||||
<img class="img-fluid" src="img/portfolio/04-thumbnail.jpg" alt="">
|
||||
</div>
|
||||
<div class="portfolio-caption">
|
||||
<h4>Lines</h4>
|
||||
<p class="text-muted">Branding</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item">
|
||||
<a href="#portfolioModal5" class="portfolio-link" data-toggle="modal">
|
||||
<div class="portfolio-link" data-toggle="modal" href="#portfolioModal5">
|
||||
<div class="portfolio-hover">
|
||||
<div class="portfolio-hover-content">
|
||||
<i class="fa fa-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/05-thumbnail.jpg" class="img-fluid" alt="">
|
||||
</a>
|
||||
<img class="img-fluid" src="img/portfolio/05-thumbnail.jpg" alt="">
|
||||
</div>
|
||||
<div class="portfolio-caption">
|
||||
<h4>Southwest</h4>
|
||||
<p class="text-muted">Website Design</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item">
|
||||
<a href="#portfolioModal6" class="portfolio-link" data-toggle="modal">
|
||||
<div class="portfolio-link" data-toggle="modal" href="#portfolioModal6">
|
||||
<div class="portfolio-hover">
|
||||
<div class="portfolio-hover-content">
|
||||
<i class="fa fa-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/06-thumbnail.jpg" class="img-fluid" alt="">
|
||||
</a>
|
||||
<img class="img-fluid" src="img/portfolio/06-thumbnail.jpg" alt="">
|
||||
</div>
|
||||
<div class="portfolio-caption">
|
||||
<h4>Window</h4>
|
||||
<p class="text-muted">Photography</p>
|
||||
@ -298,7 +298,7 @@
|
||||
</section>
|
||||
|
||||
<!-- Team -->
|
||||
<section id="team" class="bg-faded">
|
||||
<section class="bg-faded" id="team">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
@ -309,45 +309,54 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<div class="team-member">
|
||||
<img src="img/team/1.jpg" class="mx-auto rounded-circle" alt="">
|
||||
<img class="mx-auto rounded-circle" src="img/team/1.jpg" alt="">
|
||||
<h4>Kay Garland</h4>
|
||||
<p class="text-muted">Lead Designer</p>
|
||||
<ul class="list-inline social-buttons">
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-twitter"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-twitter"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-facebook"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-facebook"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="team-member">
|
||||
<img src="img/team/2.jpg" class="mx-auto rounded-circle" alt="">
|
||||
<img class="mx-auto rounded-circle" src="img/team/2.jpg" alt="">
|
||||
<h4>Larry Parker</h4>
|
||||
<p class="text-muted">Lead Marketer</p>
|
||||
<ul class="list-inline social-buttons">
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-twitter"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-twitter"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-facebook"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-facebook"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="team-member">
|
||||
<img src="img/team/3.jpg" class="mx-auto rounded-circle" alt="">
|
||||
<img class="mx-auto rounded-circle" src="img/team/3.jpg" alt="">
|
||||
<h4>Diana Pertersen</h4>
|
||||
<p class="text-muted">Lead Developer</p>
|
||||
<ul class="list-inline social-buttons">
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-twitter"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-twitter"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-facebook"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-facebook"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -362,32 +371,32 @@
|
||||
</section>
|
||||
|
||||
<!-- Clients -->
|
||||
<aside class="clients">
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-sm-6">
|
||||
<a href="#">
|
||||
<img src="img/logos/envato.jpg" class="img-fluid d-block mx-auto" alt="">
|
||||
<img class="img-fluid d-block mx-auto" src="img/logos/envato.jpg" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-6">
|
||||
<a href="#">
|
||||
<img src="img/logos/designmodo.jpg" class="img-fluid d-block mx-auto" alt="">
|
||||
<img class="img-fluid d-block mx-auto" src="img/logos/designmodo.jpg" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-6">
|
||||
<a href="#">
|
||||
<img src="img/logos/themeforest.jpg" class="img-fluid d-block mx-auto" alt="">
|
||||
<img class="img-fluid d-block mx-auto" src="img/logos/themeforest.jpg" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-6">
|
||||
<a href="#">
|
||||
<img src="img/logos/creative-market.jpg" class="img-fluid d-block mx-auto" alt="">
|
||||
<img class="img-fluid d-block mx-auto" src="img/logos/creative-market.jpg" alt="">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
<!-- Contact -->
|
||||
<section id="contact">
|
||||
@ -400,32 +409,32 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form name="sentMessage" id="contactForm" novalidate>
|
||||
<form id="contactForm" name="sentMessage" novalidate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Your Name *" id="name" required data-validation-required-message="Please enter your name.">
|
||||
<input class="form-control" id="name" type="text" placeholder="Your Name *" required data-validation-required-message="Please enter your name.">
|
||||
<p class="help-block text-danger"></p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="email" class="form-control" placeholder="Your Email *" id="email" required data-validation-required-message="Please enter your email address.">
|
||||
<input class="form-control" id="email" type="email" placeholder="Your Email *" required data-validation-required-message="Please enter your email address.">
|
||||
<p class="help-block text-danger"></p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="tel" class="form-control" placeholder="Your Phone *" id="phone" required data-validation-required-message="Please enter your phone number.">
|
||||
<input class="form-control" id="phone" type="tel" placeholder="Your Phone *" required data-validation-required-message="Please enter your phone number.">
|
||||
<p class="help-block text-danger"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<textarea class="form-control" placeholder="Your Message *" id="message" required data-validation-required-message="Please enter a message."></textarea>
|
||||
<textarea class="form-control" id="message" placeholder="Your Message *" required data-validation-required-message="Please enter a message."></textarea>
|
||||
<p class="help-block text-danger"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="col-lg-12 text-center">
|
||||
<div id="success"></div>
|
||||
<button type="submit" class="btn btn-xl">Send Message</button>
|
||||
<button class="btn btn-xl" type="submit">Send Message</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@ -443,19 +452,24 @@
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<ul class="list-inline social-buttons">
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-twitter"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-twitter"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-facebook"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-facebook"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#"><i class="fa fa-linkedin"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<ul class="list-inline quicklinks">
|
||||
<li class="list-inline-item"><a href="#">Privacy Policy</a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#">Privacy Policy</a>
|
||||
</li>
|
||||
<li class="list-inline-item"><a href="#">Terms of Use</a>
|
||||
<li class="list-inline-item">
|
||||
<a href="#">Terms of Use</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -489,7 +503,7 @@
|
||||
<li>Client: Threads</li>
|
||||
<li>Category: Illustration</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Close Project</button>
|
||||
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -522,7 +536,7 @@
|
||||
<li>Client: Explore</li>
|
||||
<li>Category: Graphic Design</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Close Project</button>
|
||||
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -555,7 +569,7 @@
|
||||
<li>Client: Finish</li>
|
||||
<li>Category: Identity</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Close Project</button>
|
||||
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -588,7 +602,7 @@
|
||||
<li>Client: Lines</li>
|
||||
<li>Category: Branding</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Close Project</button>
|
||||
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -621,7 +635,7 @@
|
||||
<li>Client: Southwest</li>
|
||||
<li>Category: Website Design</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Close Project</button>
|
||||
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -654,7 +668,7 @@
|
||||
<li>Client: Window</li>
|
||||
<li>Category: Photography</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Close Project</button>
|
||||
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -664,18 +678,18 @@
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap core JavaScript -->
|
||||
<script src="lib/jquery/jquery.min.js"></script>
|
||||
<script src="lib/tether/tether.min.js"></script>
|
||||
<script src="lib/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="vendor/jquery/jquery.min.js"></script>
|
||||
<script src="vendor/tether/tether.min.js"></script>
|
||||
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
|
||||
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
|
||||
|
||||
<!-- Contact form JavaScript -->
|
||||
<script src="js/jqBootstrapValidation.js"></script>
|
||||
<script src="js/contact_me.js"></script>
|
||||
|
||||
<!-- Custom JavaScript for this theme -->
|
||||
<!-- Custom scripts for this template -->
|
||||
<script src="js/agency.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
27
js/agency.js
27
js/agency.js
@ -1,29 +1,32 @@
|
||||
// Agency Theme JavaScript
|
||||
|
||||
(function($) {
|
||||
"use strict"; // Start of use strict
|
||||
|
||||
// jQuery for page scrolling feature - requires jQuery Easing plugin
|
||||
$(document).on('click', 'a.page-scroll', function(event) {
|
||||
var $anchor = $(this);
|
||||
$('html, body').stop().animate({
|
||||
scrollTop: ($($anchor.attr('href')).offset().top - 54)
|
||||
}, 1250, 'easeInOutExpo');
|
||||
event.preventDefault();
|
||||
// Smooth scrolling using jQuery Easing
|
||||
$('a[href*="#"]:not([href="#"])').click(function() {
|
||||
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
if (target.length) {
|
||||
$('html, body').animate({
|
||||
scrollTop: (target.offset().top - 54)
|
||||
}, 1000, "easeInOutExpo");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Highlight the top nav as scrolling occurs
|
||||
// Activate scrollspy to add active class to navbar items on scroll
|
||||
$('body').scrollspy({
|
||||
target: '#mainNav',
|
||||
offset: 54
|
||||
});
|
||||
|
||||
// Closes the Responsive Menu on Menu Item Click
|
||||
// Closes responsive menu when a link is clicked
|
||||
$('.navbar-collapse>ul>li>a').click(function() {
|
||||
$('.navbar-collapse').collapse('hide');
|
||||
});
|
||||
|
||||
// jQuery to collapse the navbar on scroll
|
||||
// Collapse the navbar when page is scrolled
|
||||
$(window).scroll(function() {
|
||||
if ($("#mainNav").offset().top > 100) {
|
||||
$("#mainNav").addClass("navbar-shrink");
|
||||
|
4
js/agency.min.js
vendored
4
js/agency.min.js
vendored
@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* Start Bootstrap - Agency v4.0.0-alpha (http://startbootstrap.com/template-overviews/agency)
|
||||
* Copyright 2013-2017 Start Bootstrap
|
||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||
* Licensed under ()
|
||||
*/
|
||||
!function(a){"use strict";a(document).on("click","a.page-scroll",function(o){var n=a(this);a("html, body").stop().animate({scrollTop:a(n.attr("href")).offset().top-54},1250,"easeInOutExpo"),o.preventDefault()}),a("body").scrollspy({target:"#mainNav",offset:54}),a(".navbar-collapse>ul>li>a").click(function(){a(".navbar-collapse").collapse("hide")}),a(window).scroll(function(){a("#mainNav").offset().top>100?a("#mainNav").addClass("navbar-shrink"):a("#mainNav").removeClass("navbar-shrink")})}(jQuery);
|
||||
!function(a){"use strict";a('a[href*="#"]:not([href="#"])').click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var n=a(this.hash);if(n=n.length?n:a("[name="+this.hash.slice(1)+"]"),n.length)return a("html, body").animate({scrollTop:n.offset().top-54},1e3,"easeInOutExpo"),!1}}),a("body").scrollspy({target:"#mainNav",offset:54}),a(".navbar-collapse>ul>li>a").click(function(){a(".navbar-collapse").collapse("hide")}),a(window).scroll(function(){a("#mainNav").offset().top>100?a("#mainNav").addClass("navbar-shrink"):a("#mainNav").removeClass("navbar-shrink")})}(jQuery);
|
@ -1,5 +1,3 @@
|
||||
// Contact Form Scripts
|
||||
|
||||
$(function() {
|
||||
|
||||
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
|
||||
|
700
less/agency.less
700
less/agency.less
@ -1,700 +0,0 @@
|
||||
@import "variables.less";
|
||||
@import "mixins.less";
|
||||
|
||||
// Global Components
|
||||
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
.body-font;
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: @theme-primary !important;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.75;
|
||||
}
|
||||
|
||||
a {
|
||||
color: @theme-primary;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
color: darken(@theme-primary, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
// Restyled Primary Buttons
|
||||
|
||||
.btn-primary {
|
||||
.button-variant(white; @theme-primary; @theme-primary);
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.btn-xl {
|
||||
.button-variant(white; @theme-primary; @theme-primary);
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
border-radius: 3px;
|
||||
font-size: 18px;
|
||||
padding: 20px 40px;
|
||||
}
|
||||
|
||||
// Custom Navigation Bar
|
||||
|
||||
#mainNav {
|
||||
background-color: @gray-darker;
|
||||
.navbar-toggler {
|
||||
border: 0;
|
||||
color: white;
|
||||
background-color: @theme-primary;
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
.heading-font;
|
||||
padding: 13px;
|
||||
right: 0;
|
||||
}
|
||||
.container {
|
||||
padding: 0;
|
||||
.navbar-brand {
|
||||
color: @theme-primary;
|
||||
.script-font;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
color: darken(@theme-primary, 10%);
|
||||
}
|
||||
}
|
||||
.navbar-nav {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
font-size: 90%;
|
||||
padding: 0.75em 0;
|
||||
.heading-font;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
color: white;
|
||||
&:hover,
|
||||
&.active {
|
||||
color: @theme-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:992px) {
|
||||
#mainNav {
|
||||
background-color: transparent;
|
||||
padding: 25px 0;
|
||||
-webkit-transition: padding 0.3s;
|
||||
-moz-transition: padding 0.3s;
|
||||
transition: padding 0.3s;
|
||||
border: none;
|
||||
.navbar-brand {
|
||||
font-size: 1.75em;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.navbar-nav {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
padding: 1.1em 1em !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.navbar-shrink {
|
||||
background-color: @gray-darker;
|
||||
padding: 0;
|
||||
.navbar-brand {
|
||||
padding: 12px 0;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
background-image: url('../img/header-bg.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: scroll;
|
||||
background-position: center center;
|
||||
.background-cover;
|
||||
text-align: center;
|
||||
color: white;
|
||||
.intro-text {
|
||||
padding-top: 100px;
|
||||
padding-bottom: 50px;
|
||||
.intro-lead-in {
|
||||
.serif-font;
|
||||
font-style: italic;
|
||||
font-size: 22px;
|
||||
line-height: 22px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.intro-heading {
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
font-size: 50px;
|
||||
line-height: 50px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
header {
|
||||
.intro-text {
|
||||
padding-top: 300px;
|
||||
padding-bottom: 200px;
|
||||
.intro-lead-in {
|
||||
.serif-font;
|
||||
font-style: italic;
|
||||
font-size: 40px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.intro-heading {
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
font-size: 75px;
|
||||
line-height: 75px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Global Section Styles
|
||||
|
||||
section {
|
||||
padding: 100px 0;
|
||||
h2.section-heading {
|
||||
font-size: 40px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
h3.section-subheading {
|
||||
font-size: 16px;
|
||||
.serif-font;
|
||||
text-transform: none;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
margin-bottom: 75px;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
section {
|
||||
padding: 150px 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Services Section
|
||||
|
||||
.service-heading {
|
||||
margin: 15px 0;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
// Portfolio Section
|
||||
|
||||
#portfolio {
|
||||
.portfolio-item {
|
||||
margin: 0 0 15px;
|
||||
right: 0;
|
||||
.portfolio-link {
|
||||
display: block;
|
||||
position: relative;
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
.portfolio-hover {
|
||||
background: fade(@theme-primary, 90%);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
transition: all ease 0.5s;
|
||||
-webkit-transition: all ease 0.5s;
|
||||
-moz-transition: all ease 0.5s;
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.portfolio-hover-content {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
top: 50%;
|
||||
margin-top: -12px;
|
||||
color: white;
|
||||
i {
|
||||
margin-top: -12px;
|
||||
}
|
||||
h3,
|
||||
h4 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.portfolio-caption {
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
background-color: white;
|
||||
text-align: center;
|
||||
padding: 25px;
|
||||
h4 {
|
||||
text-transform: none;
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
.serif-font;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
* {
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:767px) {
|
||||
#portfolio {
|
||||
.portfolio-item {
|
||||
margin: 0 0 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Timeline
|
||||
|
||||
.timeline {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
&:before {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 2px;
|
||||
background-color: #f1f1f1;
|
||||
left: 40px;
|
||||
margin-left: -1.5px;
|
||||
}
|
||||
> li {
|
||||
margin-bottom: 50px;
|
||||
position: relative;
|
||||
min-height: 50px;
|
||||
&:before,
|
||||
&:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
&:after {
|
||||
clear: both;
|
||||
}
|
||||
.timeline-panel {
|
||||
width: 100%;
|
||||
float: right;
|
||||
padding: 0 20px 0 100px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
&:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
&:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
.timeline-image {
|
||||
left: 0;
|
||||
margin-left: 0;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
background-color: @theme-primary;
|
||||
color: white;
|
||||
border-radius: 100%;
|
||||
border: 7px solid #f1f1f1;
|
||||
text-align: center;
|
||||
h4 {
|
||||
font-size: 10px;
|
||||
margin-top: 12px;
|
||||
line-height: 14px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
text-align: left;
|
||||
padding: 0 20px 0 100px;
|
||||
&:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
&:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.timeline-heading {
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
color: inherit;
|
||||
&.subheading {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.timeline-body {
|
||||
> p,
|
||||
> ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.timeline {
|
||||
&:before {
|
||||
left: 50%;
|
||||
}
|
||||
> li {
|
||||
margin-bottom: 100px;
|
||||
min-height: 100px;
|
||||
.timeline-panel {
|
||||
width: 41%;
|
||||
float: left;
|
||||
padding: 0 20px 20px 30px;
|
||||
text-align: right;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
left: 50%;
|
||||
margin-left: -50px;
|
||||
h4 {
|
||||
font-size: 13px;
|
||||
margin-top: 16px;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
text-align: left;
|
||||
padding: 0 30px 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:992px) {
|
||||
.timeline {
|
||||
> li {
|
||||
min-height: 150px;
|
||||
.timeline-panel {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin-left: -75px;
|
||||
h4 {
|
||||
font-size: 18px;
|
||||
margin-top: 30px;
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:1200px) {
|
||||
.timeline {
|
||||
> li {
|
||||
min-height: 170px;
|
||||
.timeline-panel {
|
||||
padding: 0 20px 20px 100px;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 170px;
|
||||
height: 170px;
|
||||
margin-left: -85px;
|
||||
h4 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
padding: 0 100px 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Team Section
|
||||
|
||||
.team-member {
|
||||
text-align: center;
|
||||
margin-bottom: 50px;
|
||||
img {
|
||||
height: 225px;
|
||||
width: 225px;
|
||||
border: 7px solid white;
|
||||
}
|
||||
h4 {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 0;
|
||||
text-transform: none;
|
||||
}
|
||||
p {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Clients Aside
|
||||
|
||||
aside.clients {
|
||||
img {
|
||||
margin: 50px auto;
|
||||
}
|
||||
}
|
||||
|
||||
// Contact Section
|
||||
|
||||
section#contact {
|
||||
background-color: @gray-darker;
|
||||
background-image: url('../img/map-image.png');
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
.section-heading {
|
||||
color: white;
|
||||
}
|
||||
.form-group {
|
||||
margin-bottom: 25px;
|
||||
input,
|
||||
textarea {
|
||||
padding: 20px;
|
||||
}
|
||||
input.form-control {
|
||||
height: auto;
|
||||
}
|
||||
textarea.form-control {
|
||||
height: 236px;
|
||||
}
|
||||
}
|
||||
.form-control:focus {
|
||||
border-color: @theme-primary;
|
||||
box-shadow: none;
|
||||
}
|
||||
::-webkit-input-placeholder {
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
color: @gray-lighter;
|
||||
}
|
||||
:-moz-placeholder { /* Firefox 18- */
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
color: @gray-lighter;
|
||||
}
|
||||
::-moz-placeholder { /* Firefox 19+ */
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
color: @gray-lighter;
|
||||
}
|
||||
:-ms-input-placeholder {
|
||||
.heading-font;
|
||||
font-weight: 700;
|
||||
color: @gray-lighter;
|
||||
}
|
||||
.text-danger {
|
||||
color: @theme-danger;
|
||||
}
|
||||
}
|
||||
|
||||
// Footer
|
||||
|
||||
footer {
|
||||
padding: 25px 0;
|
||||
text-align: center;
|
||||
span.copyright {
|
||||
font-size: 90%;
|
||||
line-height: 40px;
|
||||
.heading-font;
|
||||
text-transform: none;
|
||||
}
|
||||
ul.quicklinks {
|
||||
font-size: 90%;
|
||||
margin-bottom: 0;
|
||||
line-height: 40px;
|
||||
.heading-font;
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Social Buttons
|
||||
|
||||
ul.social-buttons {
|
||||
margin-bottom: 0;
|
||||
li {
|
||||
a {
|
||||
display: block;
|
||||
background-color: @gray-darker;
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
border-radius: 100%;
|
||||
font-size: 20px;
|
||||
line-height: 40px;
|
||||
color: white;
|
||||
outline: none;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background-color: @theme-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn:focus,
|
||||
.btn:active,
|
||||
.btn.active,
|
||||
.btn:active:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.portfolio-modal {
|
||||
.modal-dialog{
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
max-width: none;
|
||||
}
|
||||
.modal-content {
|
||||
border-radius: 0;
|
||||
background-clip: border-box;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-height: 100%;
|
||||
padding: 100px 0;
|
||||
text-align: center;
|
||||
h2 {
|
||||
margin-bottom: 15px;
|
||||
font-size: 3em;
|
||||
}
|
||||
p {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
p.item-intro {
|
||||
margin: 20px 0 30px;
|
||||
.serif-font;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
}
|
||||
ul.list-inline {
|
||||
margin-bottom: 30px;
|
||||
margin-top: 0;
|
||||
}
|
||||
img {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
}
|
||||
.close-modal {
|
||||
position: absolute;
|
||||
width:75px;
|
||||
height:75px;
|
||||
background-color:transparent;
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.lr {
|
||||
height:75px;
|
||||
width:1px;
|
||||
margin-left:35px;
|
||||
background-color:@gray-darker;
|
||||
transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(45deg);
|
||||
/* Safari and Chrome */
|
||||
z-index:1051;
|
||||
.rl {
|
||||
height:75px;
|
||||
width:1px;
|
||||
background-color:@gray-darker;
|
||||
transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(90deg);
|
||||
/* Safari and Chrome */
|
||||
z-index:1052;
|
||||
}
|
||||
}
|
||||
}
|
||||
.modal-backdrop {
|
||||
opacity: 0;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Highlight Color Customization
|
||||
|
||||
::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: @theme-primary;
|
||||
}
|
||||
|
||||
::selection {
|
||||
text-shadow: none;
|
||||
background: @theme-primary;
|
||||
}
|
||||
|
||||
img::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
img::-moz-selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
webkit-tap-highlight-color: @theme-primary;
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
// Mixins
|
||||
|
||||
// Bootstrap Button Variant
|
||||
|
||||
.button-variant(@color; @background; @border) {
|
||||
color: @color;
|
||||
background-color: @background;
|
||||
border-color: @border;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active,
|
||||
&:active:focus,
|
||||
.open .dropdown-toggle& {
|
||||
color: @color;
|
||||
background-color: darken(@background, 10%);
|
||||
border-color: darken(@border, 12%);
|
||||
}
|
||||
&:active,
|
||||
&.active,
|
||||
.open .dropdown-toggle& {
|
||||
background-image: none;
|
||||
}
|
||||
&.disabled,
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
background-color: @background;
|
||||
border-color: @border;
|
||||
}
|
||||
}
|
||||
|
||||
.badge {
|
||||
color: @background;
|
||||
background-color: @color;
|
||||
}
|
||||
}
|
||||
|
||||
// Background Cover Mixin
|
||||
|
||||
.background-cover() {
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
background-size: cover;
|
||||
-o-background-size: cover;
|
||||
}
|
||||
|
||||
// Font Mixins
|
||||
|
||||
.serif-font() {
|
||||
font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.script-font() {
|
||||
font-family: "Kaushan Script", "Helvetica Neue", Helvetica, Arial, cursive;
|
||||
}
|
||||
|
||||
.body-font() {
|
||||
font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.heading-font() {
|
||||
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
// Variables
|
||||
|
||||
// Gray and Brand Colors for use across theme
|
||||
|
||||
@theme-primary: #fed136;
|
||||
@theme-danger: #e74c3c;
|
||||
|
||||
@gray-base: #000;
|
||||
@gray-darker: lighten(@gray-base, 13.5%); // #222
|
||||
@gray-dark: lighten(@gray-base, 20%); // #333
|
||||
@gray: lighten(@gray-base, 33.5%); // #555
|
||||
@gray-light: lighten(@gray-base, 46.7%); // #777
|
||||
@gray-lighter: lighten(@gray-base, 93.5%); // #eee
|
7381
lib/bootstrap/css/bootstrap-flex.css
vendored
7381
lib/bootstrap/css/bootstrap-flex.css
vendored
File diff suppressed because it is too large
Load Diff
7
lib/bootstrap/css/bootstrap-flex.min.css
vendored
7
lib/bootstrap/css/bootstrap-flex.min.css
vendored
File diff suppressed because one or more lines are too long
4
lib/jquery/jquery.min.js
vendored
4
lib/jquery/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
53
package.json
53
package.json
@ -1,29 +1,44 @@
|
||||
{
|
||||
"name": "startbootstrap-agency",
|
||||
"title": "Agency",
|
||||
"name": "startbootstrap-agency",
|
||||
"version": "4.0.0-alpha",
|
||||
"description": "Agency is a one page HTML theme for Bootstrap.",
|
||||
"keywords": [
|
||||
"css",
|
||||
"sass",
|
||||
"html",
|
||||
"responsive",
|
||||
"theme",
|
||||
"template"
|
||||
],
|
||||
"homepage": "http://startbootstrap.com/template-overviews/agency",
|
||||
"bugs": {
|
||||
"url": "https://github.com/BlackrockDigital/startbootstrap-agency/issues",
|
||||
"email": "feedback@startbootstrap.com"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": "Start Bootstrap",
|
||||
"license": {
|
||||
"type": "MIT",
|
||||
"url": "https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bootstrap": "^4.0.0-alpha.6",
|
||||
"browser-sync": "^2.13.0",
|
||||
"font-awesome": "^4.6.3",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-clean-css": "^2.0.10",
|
||||
"gulp-header": "^1.8.7",
|
||||
"gulp-less": "^3.1.0",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-sass": "^2.3.2",
|
||||
"gulp-uglify": "^1.5.4",
|
||||
"jquery": "^3.1.1",
|
||||
"tether": "^1.4.0"
|
||||
},
|
||||
"contributors": [
|
||||
"David Miller (http://davidmiller.io/)"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/BlackrockDigital/startbootstrap-agency.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^4.0.0-alpha.6",
|
||||
"font-awesome": "^4.6.3",
|
||||
"jquery": "^3.2.1",
|
||||
"jquery.easing": "^1.4.1",
|
||||
"tether": "^1.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"browser-sync": "^2.18.8",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-clean-css": "^3.0.4",
|
||||
"gulp-header": "^1.8.7",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-sass": "^3.1.0",
|
||||
"gulp-uglify": "^2.1.2"
|
||||
}
|
||||
}
|
||||
|
19
scss/_bootstrap-overrides.scss
Normal file
19
scss/_bootstrap-overrides.scss
Normal file
@ -0,0 +1,19 @@
|
||||
// Bootstrap overrides for this template
|
||||
.text-primary {
|
||||
color: $theme-primary !important;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
@include button-variant(white, $theme-primary, $theme-primary);
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.btn-xl {
|
||||
@include button-variant(white, $theme-primary, $theme-primary);
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
border-radius: 3px;
|
||||
font-size: 18px;
|
||||
padding: 20px 40px;
|
||||
}
|
52
scss/_contact.scss
Normal file
52
scss/_contact.scss
Normal file
@ -0,0 +1,52 @@
|
||||
// Styling for the contact section
|
||||
section#contact {
|
||||
background-color: $gray-darker;
|
||||
background-image: url('../img/map-image.png');
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
.section-heading {
|
||||
color: white;
|
||||
}
|
||||
.form-group {
|
||||
margin-bottom: 25px;
|
||||
input,
|
||||
textarea {
|
||||
padding: 20px;
|
||||
}
|
||||
input.form-control {
|
||||
height: auto;
|
||||
}
|
||||
textarea.form-control {
|
||||
height: 236px;
|
||||
}
|
||||
}
|
||||
.form-control:focus {
|
||||
border-color: $theme-primary;
|
||||
box-shadow: none;
|
||||
}
|
||||
::-webkit-input-placeholder {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
:-moz-placeholder {
|
||||
/* Firefox 18- */
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
::-moz-placeholder {
|
||||
/* Firefox 19+ */
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
:-ms-input-placeholder {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
.text-danger {
|
||||
color: $theme-danger;
|
||||
}
|
||||
}
|
43
scss/_footer.scss
Normal file
43
scss/_footer.scss
Normal file
@ -0,0 +1,43 @@
|
||||
// Styling for the footer
|
||||
footer {
|
||||
padding: 25px 0;
|
||||
text-align: center;
|
||||
span.copyright {
|
||||
font-size: 90%;
|
||||
line-height: 40px;
|
||||
@include heading-font;
|
||||
text-transform: none;
|
||||
}
|
||||
ul.quicklinks {
|
||||
font-size: 90%;
|
||||
margin-bottom: 0;
|
||||
line-height: 40px;
|
||||
@include heading-font;
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
ul.social-buttons {
|
||||
margin-bottom: 0;
|
||||
li {
|
||||
a {
|
||||
display: block;
|
||||
background-color: $gray-darker;
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
border-radius: 100%;
|
||||
font-size: 20px;
|
||||
line-height: 40px;
|
||||
color: white;
|
||||
outline: none;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background-color: $theme-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
75
scss/_global.scss
Normal file
75
scss/_global.scss
Normal file
@ -0,0 +1,75 @@
|
||||
// Global styling for this template
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
@include body-font;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.75;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $theme-primary;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
color: darken($theme-primary, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 100px 0;
|
||||
h2.section-heading {
|
||||
font-size: 40px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
h3.section-subheading {
|
||||
font-size: 16px;
|
||||
@include serif-font;
|
||||
text-transform: none;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
margin-bottom: 75px;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
section {
|
||||
padding: 150px 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Highlight color customization
|
||||
::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: $theme-primary;
|
||||
}
|
||||
|
||||
::selection {
|
||||
text-shadow: none;
|
||||
background: $theme-primary;
|
||||
}
|
||||
|
||||
img::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
img::-moz-selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-tap-highlight-color: $theme-primary;
|
||||
}
|
51
scss/_masthead.scss
Normal file
51
scss/_masthead.scss
Normal file
@ -0,0 +1,51 @@
|
||||
// Styling for the masthead
|
||||
header.masthead {
|
||||
background-image: url('../img/header-bg.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: scroll;
|
||||
background-position: center center;
|
||||
@include background-cover;
|
||||
text-align: center;
|
||||
color: white;
|
||||
.intro-text {
|
||||
padding-top: 100px;
|
||||
padding-bottom: 50px;
|
||||
.intro-lead-in {
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 22px;
|
||||
line-height: 22px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.intro-heading {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
font-size: 50px;
|
||||
line-height: 50px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
header.masthead {
|
||||
.intro-text {
|
||||
padding-top: 300px;
|
||||
padding-bottom: 200px;
|
||||
.intro-lead-in {
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 40px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.intro-heading {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
font-size: 75px;
|
||||
line-height: 75px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
75
scss/_navbar.scss
Normal file
75
scss/_navbar.scss
Normal file
@ -0,0 +1,75 @@
|
||||
// Styling for the navbar
|
||||
#mainNav {
|
||||
background-color: $gray-darker;
|
||||
.navbar-toggler {
|
||||
border: 0;
|
||||
color: white;
|
||||
background-color: $theme-primary;
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
@include heading-font;
|
||||
padding: 13px;
|
||||
right: 0;
|
||||
}
|
||||
.container {
|
||||
padding: 0;
|
||||
.navbar-brand {
|
||||
color: $theme-primary;
|
||||
@include script-font;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
color: darken($theme-primary, 10%);
|
||||
}
|
||||
}
|
||||
.navbar-nav {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
font-size: 90%;
|
||||
padding: 0.75em 0;
|
||||
@include heading-font;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
color: white;
|
||||
&:hover,
|
||||
&.active {
|
||||
color: $theme-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:992px) {
|
||||
#mainNav {
|
||||
background-color: transparent;
|
||||
padding: 25px 0;
|
||||
-webkit-transition: padding 0.3s;
|
||||
-moz-transition: padding 0.3s;
|
||||
transition: padding 0.3s;
|
||||
border: none;
|
||||
.navbar-brand {
|
||||
font-size: 1.75em;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.navbar-nav {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
padding: 1.1em 1em !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.navbar-shrink {
|
||||
background-color: $gray-darker;
|
||||
padding: 0;
|
||||
.navbar-brand {
|
||||
padding: 12px 0;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
152
scss/_portfolio.scss
Normal file
152
scss/_portfolio.scss
Normal file
@ -0,0 +1,152 @@
|
||||
// Styling for the portfolio section
|
||||
#portfolio {
|
||||
.portfolio-item {
|
||||
margin: 0 0 15px;
|
||||
right: 0;
|
||||
.portfolio-link {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
position: relative;
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
.portfolio-hover {
|
||||
background: fade-out($theme-primary, .1);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
transition: all ease 0.5s;
|
||||
-webkit-transition: all ease 0.5s;
|
||||
-moz-transition: all ease 0.5s;
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.portfolio-hover-content {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
top: 50%;
|
||||
margin-top: -12px;
|
||||
color: white;
|
||||
i {
|
||||
margin-top: -12px;
|
||||
}
|
||||
h3,
|
||||
h4 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.portfolio-caption {
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
background-color: white;
|
||||
text-align: center;
|
||||
padding: 25px;
|
||||
h4 {
|
||||
text-transform: none;
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
* {
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:767px) {
|
||||
#portfolio {
|
||||
.portfolio-item {
|
||||
margin: 0 0 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.portfolio-modal {
|
||||
.modal-dialog {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
max-width: none;
|
||||
}
|
||||
.modal-content {
|
||||
border-radius: 0;
|
||||
background-clip: border-box;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-height: 100%;
|
||||
padding: 100px 0;
|
||||
text-align: center;
|
||||
h2 {
|
||||
margin-bottom: 15px;
|
||||
font-size: 3em;
|
||||
}
|
||||
p {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
p.item-intro {
|
||||
margin: 20px 0 30px;
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
}
|
||||
ul.list-inline {
|
||||
margin-bottom: 30px;
|
||||
margin-top: 0;
|
||||
}
|
||||
img {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
button {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.close-modal {
|
||||
position: absolute;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
background-color: transparent;
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.lr {
|
||||
height: 75px;
|
||||
width: 1px;
|
||||
margin-left: 35px;
|
||||
background-color: $gray-darker;
|
||||
transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(45deg);
|
||||
/* Safari and Chrome */
|
||||
z-index: 1051;
|
||||
.rl {
|
||||
height: 75px;
|
||||
width: 1px;
|
||||
background-color: $gray-darker;
|
||||
transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(90deg);
|
||||
/* Safari and Chrome */
|
||||
z-index: 1052;
|
||||
}
|
||||
}
|
||||
}
|
||||
.modal-backdrop {
|
||||
opacity: 0;
|
||||
display: none;
|
||||
}
|
||||
}
|
5
scss/_services.scss
Normal file
5
scss/_services.scss
Normal file
@ -0,0 +1,5 @@
|
||||
// Styling for the services section
|
||||
.service-heading {
|
||||
margin: 15px 0;
|
||||
text-transform: none;
|
||||
}
|
18
scss/_team.scss
Normal file
18
scss/_team.scss
Normal file
@ -0,0 +1,18 @@
|
||||
// Styling for the team section
|
||||
.team-member {
|
||||
text-align: center;
|
||||
margin-bottom: 50px;
|
||||
img {
|
||||
height: 225px;
|
||||
width: 225px;
|
||||
border: 7px solid white;
|
||||
}
|
||||
h4 {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 0;
|
||||
text-transform: none;
|
||||
}
|
||||
p {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
181
scss/_timeline.scss
Normal file
181
scss/_timeline.scss
Normal file
@ -0,0 +1,181 @@
|
||||
// Styling for the timeline section
|
||||
.timeline {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
&:before {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 2px;
|
||||
background-color: #f1f1f1;
|
||||
left: 40px;
|
||||
margin-left: -1.5px;
|
||||
}
|
||||
> li {
|
||||
margin-bottom: 50px;
|
||||
position: relative;
|
||||
min-height: 50px;
|
||||
&:before,
|
||||
&:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
&:after {
|
||||
clear: both;
|
||||
}
|
||||
.timeline-panel {
|
||||
width: 100%;
|
||||
float: right;
|
||||
padding: 0 20px 0 100px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
&:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
&:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
.timeline-image {
|
||||
left: 0;
|
||||
margin-left: 0;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
background-color: $theme-primary;
|
||||
color: white;
|
||||
border-radius: 100%;
|
||||
border: 7px solid #f1f1f1;
|
||||
text-align: center;
|
||||
h4 {
|
||||
font-size: 10px;
|
||||
margin-top: 12px;
|
||||
line-height: 14px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
text-align: left;
|
||||
padding: 0 20px 0 100px;
|
||||
&:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
&:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.timeline-heading {
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
color: inherit;
|
||||
&.subheading {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.timeline-body {
|
||||
> p,
|
||||
> ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.timeline {
|
||||
&:before {
|
||||
left: 50%;
|
||||
}
|
||||
> li {
|
||||
margin-bottom: 100px;
|
||||
min-height: 100px;
|
||||
.timeline-panel {
|
||||
width: 41%;
|
||||
float: left;
|
||||
padding: 0 20px 20px 30px;
|
||||
text-align: right;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
left: 50%;
|
||||
margin-left: -50px;
|
||||
h4 {
|
||||
font-size: 13px;
|
||||
margin-top: 16px;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
text-align: left;
|
||||
padding: 0 30px 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:992px) {
|
||||
.timeline {
|
||||
> li {
|
||||
min-height: 150px;
|
||||
.timeline-panel {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin-left: -75px;
|
||||
h4 {
|
||||
font-size: 18px;
|
||||
margin-top: 30px;
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:1200px) {
|
||||
.timeline {
|
||||
> li {
|
||||
min-height: 170px;
|
||||
.timeline-panel {
|
||||
padding: 0 20px 20px 100px;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 170px;
|
||||
height: 170px;
|
||||
margin-left: -85px;
|
||||
h4 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
padding: 0 100px 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
712
scss/agency.scss
712
scss/agency.scss
@ -1,700 +1,16 @@
|
||||
// Core variables and mixins
|
||||
@import "variables.scss";
|
||||
@import "mixins.scss";
|
||||
|
||||
// Global Components
|
||||
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
@include body-font;
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: $theme-primary !important;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.75;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $theme-primary;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
color: darken($theme-primary, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
// Restyled Primary Buttons
|
||||
|
||||
.btn-primary {
|
||||
@include button-variant(white, $theme-primary, $theme-primary);
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.btn-xl {
|
||||
@include button-variant(white, $theme-primary, $theme-primary);
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
border-radius: 3px;
|
||||
font-size: 18px;
|
||||
padding: 20px 40px;
|
||||
}
|
||||
|
||||
// Custom Navigation Bar
|
||||
|
||||
#mainNav {
|
||||
background-color: $gray-darker;
|
||||
.navbar-toggler {
|
||||
border: 0;
|
||||
color: white;
|
||||
background-color: $theme-primary;
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
@include heading-font;
|
||||
padding: 13px;
|
||||
right: 0;
|
||||
}
|
||||
.container {
|
||||
padding: 0;
|
||||
.navbar-brand {
|
||||
color: $theme-primary;
|
||||
@include script-font;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active,
|
||||
&.active {
|
||||
color: darken($theme-primary, 10%);
|
||||
}
|
||||
}
|
||||
.navbar-nav {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
font-size: 90%;
|
||||
padding: 0.75em 0;
|
||||
@include heading-font;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
color: white;
|
||||
&:hover,
|
||||
&.active {
|
||||
color: $theme-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:992px) {
|
||||
#mainNav {
|
||||
background-color: transparent;
|
||||
padding: 25px 0;
|
||||
-webkit-transition: padding 0.3s;
|
||||
-moz-transition: padding 0.3s;
|
||||
transition: padding 0.3s;
|
||||
border: none;
|
||||
.navbar-brand {
|
||||
font-size: 1.75em;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.navbar-nav {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
padding: 1.1em 1em !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.navbar-shrink {
|
||||
background-color: $gray-darker;
|
||||
padding: 0;
|
||||
.navbar-brand {
|
||||
padding: 12px 0;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
background-image: url('../img/header-bg.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: scroll;
|
||||
background-position: center center;
|
||||
@include background-cover;
|
||||
text-align: center;
|
||||
color: white;
|
||||
.intro-text {
|
||||
padding-top: 100px;
|
||||
padding-bottom: 50px;
|
||||
.intro-lead-in {
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 22px;
|
||||
line-height: 22px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.intro-heading {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
font-size: 50px;
|
||||
line-height: 50px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
header {
|
||||
.intro-text {
|
||||
padding-top: 300px;
|
||||
padding-bottom: 200px;
|
||||
.intro-lead-in {
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 40px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.intro-heading {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
font-size: 75px;
|
||||
line-height: 75px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Global Section Styles
|
||||
|
||||
section {
|
||||
padding: 100px 0;
|
||||
h2.section-heading {
|
||||
font-size: 40px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
h3.section-subheading {
|
||||
font-size: 16px;
|
||||
@include serif-font;
|
||||
text-transform: none;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
margin-bottom: 75px;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
section {
|
||||
padding: 150px 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Services Section
|
||||
|
||||
.service-heading {
|
||||
margin: 15px 0;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
// Portfolio Section
|
||||
|
||||
#portfolio {
|
||||
.portfolio-item {
|
||||
margin: 0 0 15px;
|
||||
right: 0;
|
||||
.portfolio-link {
|
||||
display: block;
|
||||
position: relative;
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
.portfolio-hover {
|
||||
background: fade-out($theme-primary, .9);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
transition: all ease 0.5s;
|
||||
-webkit-transition: all ease 0.5s;
|
||||
-moz-transition: all ease 0.5s;
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.portfolio-hover-content {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
top: 50%;
|
||||
margin-top: -12px;
|
||||
color: white;
|
||||
i {
|
||||
margin-top: -12px;
|
||||
}
|
||||
h3,
|
||||
h4 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.portfolio-caption {
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
background-color: white;
|
||||
text-align: center;
|
||||
padding: 25px;
|
||||
h4 {
|
||||
text-transform: none;
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
* {
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:767px) {
|
||||
#portfolio {
|
||||
.portfolio-item {
|
||||
margin: 0 0 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Timeline
|
||||
|
||||
.timeline {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
&:before {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 2px;
|
||||
background-color: #f1f1f1;
|
||||
left: 40px;
|
||||
margin-left: -1.5px;
|
||||
}
|
||||
> li {
|
||||
margin-bottom: 50px;
|
||||
position: relative;
|
||||
min-height: 50px;
|
||||
&:before,
|
||||
&:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
&:after {
|
||||
clear: both;
|
||||
}
|
||||
.timeline-panel {
|
||||
width: 100%;
|
||||
float: right;
|
||||
padding: 0 20px 0 100px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
&:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
&:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
.timeline-image {
|
||||
left: 0;
|
||||
margin-left: 0;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
background-color: $theme-primary;
|
||||
color: white;
|
||||
border-radius: 100%;
|
||||
border: 7px solid #f1f1f1;
|
||||
text-align: center;
|
||||
h4 {
|
||||
font-size: 10px;
|
||||
margin-top: 12px;
|
||||
line-height: 14px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
text-align: left;
|
||||
padding: 0 20px 0 100px;
|
||||
&:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
&:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.timeline-heading {
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
color: inherit;
|
||||
&.subheading {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.timeline-body {
|
||||
> p,
|
||||
> ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.timeline {
|
||||
&:before {
|
||||
left: 50%;
|
||||
}
|
||||
> li {
|
||||
margin-bottom: 100px;
|
||||
min-height: 100px;
|
||||
.timeline-panel {
|
||||
width: 41%;
|
||||
float: left;
|
||||
padding: 0 20px 20px 30px;
|
||||
text-align: right;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
left: 50%;
|
||||
margin-left: -50px;
|
||||
h4 {
|
||||
font-size: 13px;
|
||||
margin-top: 16px;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
text-align: left;
|
||||
padding: 0 30px 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:992px) {
|
||||
.timeline {
|
||||
> li {
|
||||
min-height: 150px;
|
||||
.timeline-panel {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin-left: -75px;
|
||||
h4 {
|
||||
font-size: 18px;
|
||||
margin-top: 30px;
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:1200px) {
|
||||
.timeline {
|
||||
> li {
|
||||
min-height: 170px;
|
||||
.timeline-panel {
|
||||
padding: 0 20px 20px 100px;
|
||||
}
|
||||
.timeline-image {
|
||||
width: 170px;
|
||||
height: 170px;
|
||||
margin-left: -85px;
|
||||
h4 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
}
|
||||
&.timeline-inverted > .timeline-panel {
|
||||
padding: 0 100px 20px 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Team Section
|
||||
|
||||
.team-member {
|
||||
text-align: center;
|
||||
margin-bottom: 50px;
|
||||
img {
|
||||
height: 225px;
|
||||
width: 225px;
|
||||
border: 7px solid white;
|
||||
}
|
||||
h4 {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 0;
|
||||
text-transform: none;
|
||||
}
|
||||
p {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Clients Aside
|
||||
|
||||
aside.clients {
|
||||
img {
|
||||
margin: 50px auto;
|
||||
}
|
||||
}
|
||||
|
||||
// Contact Section
|
||||
|
||||
section#contact {
|
||||
background-color: $gray-darker;
|
||||
background-image: url('../img/map-image.png');
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
.section-heading {
|
||||
color: white;
|
||||
}
|
||||
.form-group {
|
||||
margin-bottom: 25px;
|
||||
input,
|
||||
textarea {
|
||||
padding: 20px;
|
||||
}
|
||||
input.form-control {
|
||||
height: auto;
|
||||
}
|
||||
textarea.form-control {
|
||||
height: 236px;
|
||||
}
|
||||
}
|
||||
.form-control:focus {
|
||||
border-color: $theme-primary;
|
||||
box-shadow: none;
|
||||
}
|
||||
::-webkit-input-placeholder {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
:-moz-placeholder { /* Firefox 18- */
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
::-moz-placeholder { /* Firefox 19+ */
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
:-ms-input-placeholder {
|
||||
@include heading-font;
|
||||
font-weight: 700;
|
||||
color: $gray-lighter;
|
||||
}
|
||||
.text-danger {
|
||||
color: $theme-danger;
|
||||
}
|
||||
}
|
||||
|
||||
// Footer
|
||||
|
||||
footer {
|
||||
padding: 25px 0;
|
||||
text-align: center;
|
||||
span.copyright {
|
||||
font-size: 90%;
|
||||
line-height: 40px;
|
||||
@include heading-font;
|
||||
text-transform: none;
|
||||
}
|
||||
ul.quicklinks {
|
||||
font-size: 90%;
|
||||
margin-bottom: 0;
|
||||
line-height: 40px;
|
||||
@include heading-font;
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Social Buttons
|
||||
|
||||
ul.social-buttons {
|
||||
margin-bottom: 0;
|
||||
li {
|
||||
a {
|
||||
display: block;
|
||||
background-color: $gray-darker;
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
border-radius: 100%;
|
||||
font-size: 20px;
|
||||
line-height: 40px;
|
||||
color: white;
|
||||
outline: none;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background-color: $theme-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn:focus,
|
||||
.btn:active,
|
||||
.btn.active,
|
||||
.btn:active:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.portfolio-modal {
|
||||
.modal-dialog{
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
max-width: none;
|
||||
}
|
||||
.modal-content {
|
||||
border-radius: 0;
|
||||
background-clip: border-box;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-height: 100%;
|
||||
padding: 100px 0;
|
||||
text-align: center;
|
||||
h2 {
|
||||
margin-bottom: 15px;
|
||||
font-size: 3em;
|
||||
}
|
||||
p {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
p.item-intro {
|
||||
margin: 20px 0 30px;
|
||||
@include serif-font;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
}
|
||||
ul.list-inline {
|
||||
margin-bottom: 30px;
|
||||
margin-top: 0;
|
||||
}
|
||||
img {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
}
|
||||
.close-modal {
|
||||
position: absolute;
|
||||
width:75px;
|
||||
height:75px;
|
||||
background-color:transparent;
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.lr {
|
||||
height:75px;
|
||||
width:1px;
|
||||
margin-left:35px;
|
||||
background-color:$gray-darker;
|
||||
transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(45deg);
|
||||
/* Safari and Chrome */
|
||||
z-index:1051;
|
||||
.rl {
|
||||
height:75px;
|
||||
width:1px;
|
||||
background-color:$gray-darker;
|
||||
transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
/* IE 9 */
|
||||
-webkit-transform: rotate(90deg);
|
||||
/* Safari and Chrome */
|
||||
z-index:1052;
|
||||
}
|
||||
}
|
||||
}
|
||||
.modal-backdrop {
|
||||
opacity: 0;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Highlight Color Customization
|
||||
|
||||
::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: $theme-primary;
|
||||
}
|
||||
|
||||
::selection {
|
||||
text-shadow: none;
|
||||
background: $theme-primary;
|
||||
}
|
||||
|
||||
img::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
img::-moz-selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
webkit-tap-highlight-color: $theme-primary;
|
||||
}
|
||||
// Global CSS
|
||||
@import "global.scss";
|
||||
// Components
|
||||
@import "navbar.scss";
|
||||
@import "masthead.scss";
|
||||
@import "services.scss";
|
||||
@import "portfolio.scss";
|
||||
@import "timeline.scss";
|
||||
@import "team.scss";
|
||||
@import "contact.scss";
|
||||
@import "footer.scss";
|
||||
// Bootstrap Overrides
|
||||
@import "bootstrap-overrides.scss";
|
||||
|
Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 434 KiB |
59
vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Executable file
59
vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Executable file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Easing Compatibility v1 - http://gsgd.co.uk/sandbox/jquery/easing
|
||||
*
|
||||
* Adds compatibility for applications that use the pre 1.2 easing names
|
||||
*
|
||||
* Copyright (c) 2007 George Smith
|
||||
* Licensed under the MIT License:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
(function($){
|
||||
$.extend( $.easing,
|
||||
{
|
||||
easeIn: function (x, t, b, c, d) {
|
||||
return $.easing.easeInQuad(x, t, b, c, d);
|
||||
},
|
||||
easeOut: function (x, t, b, c, d) {
|
||||
return $.easing.easeOutQuad(x, t, b, c, d);
|
||||
},
|
||||
easeInOut: function (x, t, b, c, d) {
|
||||
return $.easing.easeInOutQuad(x, t, b, c, d);
|
||||
},
|
||||
expoin: function(x, t, b, c, d) {
|
||||
return $.easing.easeInExpo(x, t, b, c, d);
|
||||
},
|
||||
expoout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutExpo(x, t, b, c, d);
|
||||
},
|
||||
expoinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutExpo(x, t, b, c, d);
|
||||
},
|
||||
bouncein: function(x, t, b, c, d) {
|
||||
return $.easing.easeInBounce(x, t, b, c, d);
|
||||
},
|
||||
bounceout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutBounce(x, t, b, c, d);
|
||||
},
|
||||
bounceinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutBounce(x, t, b, c, d);
|
||||
},
|
||||
elasin: function(x, t, b, c, d) {
|
||||
return $.easing.easeInElastic(x, t, b, c, d);
|
||||
},
|
||||
elasout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutElastic(x, t, b, c, d);
|
||||
},
|
||||
elasinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutElastic(x, t, b, c, d);
|
||||
},
|
||||
backin: function(x, t, b, c, d) {
|
||||
return $.easing.easeInBack(x, t, b, c, d);
|
||||
},
|
||||
backout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutBack(x, t, b, c, d);
|
||||
},
|
||||
backinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutBack(x, t, b, c, d);
|
||||
}
|
||||
});})(jQuery);
|
166
vendor/jquery-easing/jquery.easing.js
vendored
Executable file
166
vendor/jquery-easing/jquery.easing.js
vendored
Executable file
@ -0,0 +1,166 @@
|
||||
/*
|
||||
* jQuery Easing v1.4.1 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
* Open source under the BSD License.
|
||||
* Copyright © 2008 George McGinley Smith
|
||||
* All rights reserved.
|
||||
* https://raw.github.com/gdsmith/jquery-easing/master/LICENSE
|
||||
*/
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(['jquery'], function ($) {
|
||||
return factory($);
|
||||
});
|
||||
} else if (typeof module === "object" && typeof module.exports === "object") {
|
||||
exports = factory(require('jquery'));
|
||||
} else {
|
||||
factory(jQuery);
|
||||
}
|
||||
})(function($){
|
||||
|
||||
// Preserve the original jQuery "swing" easing as "jswing"
|
||||
$.easing.jswing = $.easing.swing;
|
||||
|
||||
var pow = Math.pow,
|
||||
sqrt = Math.sqrt,
|
||||
sin = Math.sin,
|
||||
cos = Math.cos,
|
||||
PI = Math.PI,
|
||||
c1 = 1.70158,
|
||||
c2 = c1 * 1.525,
|
||||
c3 = c1 + 1,
|
||||
c4 = ( 2 * PI ) / 3,
|
||||
c5 = ( 2 * PI ) / 4.5;
|
||||
|
||||
// x is the fraction of animation progress, in the range 0..1
|
||||
function bounceOut(x) {
|
||||
var n1 = 7.5625,
|
||||
d1 = 2.75;
|
||||
if ( x < 1/d1 ) {
|
||||
return n1*x*x;
|
||||
} else if ( x < 2/d1 ) {
|
||||
return n1*(x-=(1.5/d1))*x + 0.75;
|
||||
} else if ( x < 2.5/d1 ) {
|
||||
return n1*(x-=(2.25/d1))*x + 0.9375;
|
||||
} else {
|
||||
return n1*(x-=(2.625/d1))*x + 0.984375;
|
||||
}
|
||||
}
|
||||
|
||||
$.extend( $.easing,
|
||||
{
|
||||
def: 'easeOutQuad',
|
||||
swing: function (x) {
|
||||
return $.easing[$.easing.def](x);
|
||||
},
|
||||
easeInQuad: function (x) {
|
||||
return x * x;
|
||||
},
|
||||
easeOutQuad: function (x) {
|
||||
return 1 - ( 1 - x ) * ( 1 - x );
|
||||
},
|
||||
easeInOutQuad: function (x) {
|
||||
return x < 0.5 ?
|
||||
2 * x * x :
|
||||
1 - pow( -2 * x + 2, 2 ) / 2;
|
||||
},
|
||||
easeInCubic: function (x) {
|
||||
return x * x * x;
|
||||
},
|
||||
easeOutCubic: function (x) {
|
||||
return 1 - pow( 1 - x, 3 );
|
||||
},
|
||||
easeInOutCubic: function (x) {
|
||||
return x < 0.5 ?
|
||||
4 * x * x * x :
|
||||
1 - pow( -2 * x + 2, 3 ) / 2;
|
||||
},
|
||||
easeInQuart: function (x) {
|
||||
return x * x * x * x;
|
||||
},
|
||||
easeOutQuart: function (x) {
|
||||
return 1 - pow( 1 - x, 4 );
|
||||
},
|
||||
easeInOutQuart: function (x) {
|
||||
return x < 0.5 ?
|
||||
8 * x * x * x * x :
|
||||
1 - pow( -2 * x + 2, 4 ) / 2;
|
||||
},
|
||||
easeInQuint: function (x) {
|
||||
return x * x * x * x * x;
|
||||
},
|
||||
easeOutQuint: function (x) {
|
||||
return 1 - pow( 1 - x, 5 );
|
||||
},
|
||||
easeInOutQuint: function (x) {
|
||||
return x < 0.5 ?
|
||||
16 * x * x * x * x * x :
|
||||
1 - pow( -2 * x + 2, 5 ) / 2;
|
||||
},
|
||||
easeInSine: function (x) {
|
||||
return 1 - cos( x * PI/2 );
|
||||
},
|
||||
easeOutSine: function (x) {
|
||||
return sin( x * PI/2 );
|
||||
},
|
||||
easeInOutSine: function (x) {
|
||||
return -( cos( PI * x ) - 1 ) / 2;
|
||||
},
|
||||
easeInExpo: function (x) {
|
||||
return x === 0 ? 0 : pow( 2, 10 * x - 10 );
|
||||
},
|
||||
easeOutExpo: function (x) {
|
||||
return x === 1 ? 1 : 1 - pow( 2, -10 * x );
|
||||
},
|
||||
easeInOutExpo: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
|
||||
pow( 2, 20 * x - 10 ) / 2 :
|
||||
( 2 - pow( 2, -20 * x + 10 ) ) / 2;
|
||||
},
|
||||
easeInCirc: function (x) {
|
||||
return 1 - sqrt( 1 - pow( x, 2 ) );
|
||||
},
|
||||
easeOutCirc: function (x) {
|
||||
return sqrt( 1 - pow( x - 1, 2 ) );
|
||||
},
|
||||
easeInOutCirc: function (x) {
|
||||
return x < 0.5 ?
|
||||
( 1 - sqrt( 1 - pow( 2 * x, 2 ) ) ) / 2 :
|
||||
( sqrt( 1 - pow( -2 * x + 2, 2 ) ) + 1 ) / 2;
|
||||
},
|
||||
easeInElastic: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 :
|
||||
-pow( 2, 10 * x - 10 ) * sin( ( x * 10 - 10.75 ) * c4 );
|
||||
},
|
||||
easeOutElastic: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 :
|
||||
pow( 2, -10 * x ) * sin( ( x * 10 - 0.75 ) * c4 ) + 1;
|
||||
},
|
||||
easeInOutElastic: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
|
||||
-( pow( 2, 20 * x - 10 ) * sin( ( 20 * x - 11.125 ) * c5 )) / 2 :
|
||||
pow( 2, -20 * x + 10 ) * sin( ( 20 * x - 11.125 ) * c5 ) / 2 + 1;
|
||||
},
|
||||
easeInBack: function (x) {
|
||||
return c3 * x * x * x - c1 * x * x;
|
||||
},
|
||||
easeOutBack: function (x) {
|
||||
return 1 + c3 * pow( x - 1, 3 ) + c1 * pow( x - 1, 2 );
|
||||
},
|
||||
easeInOutBack: function (x) {
|
||||
return x < 0.5 ?
|
||||
( pow( 2 * x, 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 :
|
||||
( pow( 2 * x - 2, 2 ) *( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2;
|
||||
},
|
||||
easeInBounce: function (x) {
|
||||
return 1 - bounceOut( 1 - x );
|
||||
},
|
||||
easeOutBounce: bounceOut,
|
||||
easeInOutBounce: function (x) {
|
||||
return x < 0.5 ?
|
||||
( 1 - bounceOut( 1 - 2 * x ) ) / 2 :
|
||||
( 1 + bounceOut( 2 * x - 1 ) ) / 2;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
1
vendor/jquery-easing/jquery.easing.min.js
vendored
Executable file
1
vendor/jquery-easing/jquery.easing.min.js
vendored
Executable file
@ -0,0 +1 @@
|
||||
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],function($){return factory($)})}else if(typeof module==="object"&&typeof module.exports==="object"){exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.easing.jswing=$.easing.swing;var pow=Math.pow,sqrt=Math.sqrt,sin=Math.sin,cos=Math.cos,PI=Math.PI,c1=1.70158,c2=c1*1.525,c3=c1+1,c4=2*PI/3,c5=2*PI/4.5;function bounceOut(x){var n1=7.5625,d1=2.75;if(x<1/d1){return n1*x*x}else if(x<2/d1){return n1*(x-=1.5/d1)*x+.75}else if(x<2.5/d1){return n1*(x-=2.25/d1)*x+.9375}else{return n1*(x-=2.625/d1)*x+.984375}}$.extend($.easing,{def:"easeOutQuad",swing:function(x){return $.easing[$.easing.def](x)},easeInQuad:function(x){return x*x},easeOutQuad:function(x){return 1-(1-x)*(1-x)},easeInOutQuad:function(x){return x<.5?2*x*x:1-pow(-2*x+2,2)/2},easeInCubic:function(x){return x*x*x},easeOutCubic:function(x){return 1-pow(1-x,3)},easeInOutCubic:function(x){return x<.5?4*x*x*x:1-pow(-2*x+2,3)/2},easeInQuart:function(x){return x*x*x*x},easeOutQuart:function(x){return 1-pow(1-x,4)},easeInOutQuart:function(x){return x<.5?8*x*x*x*x:1-pow(-2*x+2,4)/2},easeInQuint:function(x){return x*x*x*x*x},easeOutQuint:function(x){return 1-pow(1-x,5)},easeInOutQuint:function(x){return x<.5?16*x*x*x*x*x:1-pow(-2*x+2,5)/2},easeInSine:function(x){return 1-cos(x*PI/2)},easeOutSine:function(x){return sin(x*PI/2)},easeInOutSine:function(x){return-(cos(PI*x)-1)/2},easeInExpo:function(x){return x===0?0:pow(2,10*x-10)},easeOutExpo:function(x){return x===1?1:1-pow(2,-10*x)},easeInOutExpo:function(x){return x===0?0:x===1?1:x<.5?pow(2,20*x-10)/2:(2-pow(2,-20*x+10))/2},easeInCirc:function(x){return 1-sqrt(1-pow(x,2))},easeOutCirc:function(x){return sqrt(1-pow(x-1,2))},easeInOutCirc:function(x){return x<.5?(1-sqrt(1-pow(2*x,2)))/2:(sqrt(1-pow(-2*x+2,2))+1)/2},easeInElastic:function(x){return x===0?0:x===1?1:-pow(2,10*x-10)*sin((x*10-10.75)*c4)},easeOutElastic:function(x){return x===0?0:x===1?1:pow(2,-10*x)*sin((x*10-.75)*c4)+1},easeInOutElastic:function(x){return x===0?0:x===1?1:x<.5?-(pow(2,20*x-10)*sin((20*x-11.125)*c5))/2:pow(2,-20*x+10)*sin((20*x-11.125)*c5)/2+1},easeInBack:function(x){return c3*x*x*x-c1*x*x},easeOutBack:function(x){return 1+c3*pow(x-1,3)+c1*pow(x-1,2)},easeInOutBack:function(x){return x<.5?pow(2*x,2)*((c2+1)*2*x-c2)/2:(pow(2*x-2,2)*((c2+1)*(x*2-2)+c2)+2)/2},easeInBounce:function(x){return 1-bounceOut(1-x)},easeOutBounce:bounceOut,easeInOutBounce:function(x){return x<.5?(1-bounceOut(1-2*x))/2:(1+bounceOut(2*x-1))/2}})});
|
279
lib/jquery/jquery.js → vendor/jquery/jquery.js
vendored
279
lib/jquery/jquery.js → vendor/jquery/jquery.js
vendored
@ -1,15 +1,15 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v3.1.1
|
||||
* jQuery JavaScript Library v3.2.1
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Copyright JS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2016-09-22T22:30Z
|
||||
* Date: 2017-03-20T18:59Z
|
||||
*/
|
||||
( function( global, factory ) {
|
||||
|
||||
@ -88,7 +88,7 @@ var support = {};
|
||||
|
||||
|
||||
var
|
||||
version = "3.1.1",
|
||||
version = "3.2.1",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
@ -236,11 +236,11 @@ jQuery.extend = jQuery.fn.extend = function() {
|
||||
|
||||
// Recurse if we're merging plain objects or arrays
|
||||
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
|
||||
( copyIsArray = jQuery.isArray( copy ) ) ) ) {
|
||||
( copyIsArray = Array.isArray( copy ) ) ) ) {
|
||||
|
||||
if ( copyIsArray ) {
|
||||
copyIsArray = false;
|
||||
clone = src && jQuery.isArray( src ) ? src : [];
|
||||
clone = src && Array.isArray( src ) ? src : [];
|
||||
|
||||
} else {
|
||||
clone = src && jQuery.isPlainObject( src ) ? src : {};
|
||||
@ -279,8 +279,6 @@ jQuery.extend( {
|
||||
return jQuery.type( obj ) === "function";
|
||||
},
|
||||
|
||||
isArray: Array.isArray,
|
||||
|
||||
isWindow: function( obj ) {
|
||||
return obj != null && obj === obj.window;
|
||||
},
|
||||
@ -355,10 +353,6 @@ jQuery.extend( {
|
||||
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
||||
},
|
||||
|
||||
nodeName: function( elem, name ) {
|
||||
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
|
||||
},
|
||||
|
||||
each: function( obj, callback ) {
|
||||
var length, i = 0;
|
||||
|
||||
@ -2843,6 +2837,13 @@ var siblings = function( n, elem ) {
|
||||
|
||||
var rneedsContext = jQuery.expr.match.needsContext;
|
||||
|
||||
|
||||
|
||||
function nodeName( elem, name ) {
|
||||
|
||||
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
|
||||
|
||||
};
|
||||
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
|
||||
|
||||
|
||||
@ -3194,7 +3195,18 @@ jQuery.each( {
|
||||
return siblings( elem.firstChild );
|
||||
},
|
||||
contents: function( elem ) {
|
||||
return elem.contentDocument || jQuery.merge( [], elem.childNodes );
|
||||
if ( nodeName( elem, "iframe" ) ) {
|
||||
return elem.contentDocument;
|
||||
}
|
||||
|
||||
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
|
||||
// Treat the template element as a regular one in browsers that
|
||||
// don't support it.
|
||||
if ( nodeName( elem, "template" ) ) {
|
||||
elem = elem.content || elem;
|
||||
}
|
||||
|
||||
return jQuery.merge( [], elem.childNodes );
|
||||
}
|
||||
}, function( name, fn ) {
|
||||
jQuery.fn[ name ] = function( until, selector ) {
|
||||
@ -3292,7 +3304,7 @@ jQuery.Callbacks = function( options ) {
|
||||
fire = function() {
|
||||
|
||||
// Enforce single-firing
|
||||
locked = options.once;
|
||||
locked = locked || options.once;
|
||||
|
||||
// Execute callbacks for all pending executions,
|
||||
// respecting firingIndex overrides and runtime changes
|
||||
@ -3461,7 +3473,7 @@ function Thrower( ex ) {
|
||||
throw ex;
|
||||
}
|
||||
|
||||
function adoptValue( value, resolve, reject ) {
|
||||
function adoptValue( value, resolve, reject, noValue ) {
|
||||
var method;
|
||||
|
||||
try {
|
||||
@ -3477,9 +3489,10 @@ function adoptValue( value, resolve, reject ) {
|
||||
// Other non-thenables
|
||||
} else {
|
||||
|
||||
// Support: Android 4.0 only
|
||||
// Strict mode functions invoked without .call/.apply get global-object context
|
||||
resolve.call( undefined, value );
|
||||
// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
|
||||
// * false: [ value ].slice( 0 ) => resolve( value )
|
||||
// * true: [ value ].slice( 1 ) => resolve()
|
||||
resolve.apply( undefined, [ value ].slice( noValue ) );
|
||||
}
|
||||
|
||||
// For Promises/A+, convert exceptions into rejections
|
||||
@ -3489,7 +3502,7 @@ function adoptValue( value, resolve, reject ) {
|
||||
|
||||
// Support: Android 4.0 only
|
||||
// Strict mode functions invoked without .call/.apply get global-object context
|
||||
reject.call( undefined, value );
|
||||
reject.apply( undefined, [ value ] );
|
||||
}
|
||||
}
|
||||
|
||||
@ -3814,7 +3827,8 @@ jQuery.extend( {
|
||||
|
||||
// Single- and empty arguments are adopted like Promise.resolve
|
||||
if ( remaining <= 1 ) {
|
||||
adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject );
|
||||
adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
|
||||
!remaining );
|
||||
|
||||
// Use .then() to unwrap secondary thenables (cf. gh-3000)
|
||||
if ( master.state() === "pending" ||
|
||||
@ -3886,15 +3900,6 @@ jQuery.extend( {
|
||||
// the ready event fires. See #6781
|
||||
readyWait: 1,
|
||||
|
||||
// Hold (or release) the ready event
|
||||
holdReady: function( hold ) {
|
||||
if ( hold ) {
|
||||
jQuery.readyWait++;
|
||||
} else {
|
||||
jQuery.ready( true );
|
||||
}
|
||||
},
|
||||
|
||||
// Handle when the DOM is ready
|
||||
ready: function( wait ) {
|
||||
|
||||
@ -4130,7 +4135,7 @@ Data.prototype = {
|
||||
if ( key !== undefined ) {
|
||||
|
||||
// Support array or space separated string of keys
|
||||
if ( jQuery.isArray( key ) ) {
|
||||
if ( Array.isArray( key ) ) {
|
||||
|
||||
// If key is an array of keys...
|
||||
// We always set camelCase keys, so remove that.
|
||||
@ -4356,7 +4361,7 @@ jQuery.extend( {
|
||||
|
||||
// Speed up dequeue by getting out quickly if this is just a lookup
|
||||
if ( data ) {
|
||||
if ( !queue || jQuery.isArray( data ) ) {
|
||||
if ( !queue || Array.isArray( data ) ) {
|
||||
queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
|
||||
} else {
|
||||
queue.push( data );
|
||||
@ -4733,7 +4738,7 @@ function getAll( context, tag ) {
|
||||
ret = [];
|
||||
}
|
||||
|
||||
if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) {
|
||||
if ( tag === undefined || tag && nodeName( context, tag ) ) {
|
||||
return jQuery.merge( [ context ], ret );
|
||||
}
|
||||
|
||||
@ -5340,7 +5345,7 @@ jQuery.event = {
|
||||
|
||||
// For checkbox, fire native event so checked state will be right
|
||||
trigger: function() {
|
||||
if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
|
||||
if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
|
||||
this.click();
|
||||
return false;
|
||||
}
|
||||
@ -5348,7 +5353,7 @@ jQuery.event = {
|
||||
|
||||
// For cross-browser consistency, don't fire native .click() on links
|
||||
_default: function( event ) {
|
||||
return jQuery.nodeName( event.target, "a" );
|
||||
return nodeName( event.target, "a" );
|
||||
}
|
||||
},
|
||||
|
||||
@ -5625,11 +5630,12 @@ var
|
||||
rscriptTypeMasked = /^true\/(.*)/,
|
||||
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
|
||||
|
||||
// Prefer a tbody over its parent table for containing new rows
|
||||
function manipulationTarget( elem, content ) {
|
||||
if ( jQuery.nodeName( elem, "table" ) &&
|
||||
jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
|
||||
if ( nodeName( elem, "table" ) &&
|
||||
nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
|
||||
|
||||
return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
|
||||
return jQuery( ">tbody", elem )[ 0 ] || elem;
|
||||
}
|
||||
|
||||
return elem;
|
||||
@ -6159,12 +6165,18 @@ var getStyles = function( elem ) {
|
||||
|
||||
function curCSS( elem, name, computed ) {
|
||||
var width, minWidth, maxWidth, ret,
|
||||
|
||||
// Support: Firefox 51+
|
||||
// Retrieving style before computed somehow
|
||||
// fixes an issue with getting wrong values
|
||||
// on detached elements
|
||||
style = elem.style;
|
||||
|
||||
computed = computed || getStyles( elem );
|
||||
|
||||
// Support: IE <=9 only
|
||||
// getPropertyValue is only needed for .css('filter') (#12537)
|
||||
// getPropertyValue is needed for:
|
||||
// .css('filter') (IE 9 only, #12537)
|
||||
// .css('--customProperty) (#3144)
|
||||
if ( computed ) {
|
||||
ret = computed.getPropertyValue( name ) || computed[ name ];
|
||||
|
||||
@ -6230,6 +6242,7 @@ var
|
||||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
rcustomProp = /^--/,
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
@ -6259,6 +6272,16 @@ function vendorPropName( name ) {
|
||||
}
|
||||
}
|
||||
|
||||
// Return a property mapped along what jQuery.cssProps suggests or to
|
||||
// a vendor prefixed property.
|
||||
function finalPropName( name ) {
|
||||
var ret = jQuery.cssProps[ name ];
|
||||
if ( !ret ) {
|
||||
ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function setPositiveNumber( elem, value, subtract ) {
|
||||
|
||||
// Any relative (+/-) values have already been
|
||||
@ -6319,30 +6342,12 @@ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
|
||||
|
||||
function getWidthOrHeight( elem, name, extra ) {
|
||||
|
||||
// Start with offset property, which is equivalent to the border-box value
|
||||
var val,
|
||||
valueIsBorderBox = true,
|
||||
// Start with computed style
|
||||
var valueIsBorderBox,
|
||||
styles = getStyles( elem ),
|
||||
val = curCSS( elem, name, styles ),
|
||||
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
|
||||
|
||||
// Support: IE <=11 only
|
||||
// Running getBoundingClientRect on a disconnected node
|
||||
// in IE throws an error.
|
||||
if ( elem.getClientRects().length ) {
|
||||
val = elem.getBoundingClientRect()[ name ];
|
||||
}
|
||||
|
||||
// Some non-html elements return undefined for offsetWidth, so check for null/undefined
|
||||
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
|
||||
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
|
||||
if ( val <= 0 || val == null ) {
|
||||
|
||||
// Fall back to computed then uncomputed css if necessary
|
||||
val = curCSS( elem, name, styles );
|
||||
if ( val < 0 || val == null ) {
|
||||
val = elem.style[ name ];
|
||||
}
|
||||
|
||||
// Computed unit is not pixels. Stop here and return.
|
||||
if ( rnumnonpx.test( val ) ) {
|
||||
return val;
|
||||
@ -6353,9 +6358,14 @@ function getWidthOrHeight( elem, name, extra ) {
|
||||
valueIsBorderBox = isBorderBox &&
|
||||
( support.boxSizingReliable() || val === elem.style[ name ] );
|
||||
|
||||
// Fall back to offsetWidth/Height when value is "auto"
|
||||
// This happens for inline elements with no explicit setting (gh-3571)
|
||||
if ( val === "auto" ) {
|
||||
val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
|
||||
}
|
||||
|
||||
// Normalize "", auto, and prepare for extra
|
||||
val = parseFloat( val ) || 0;
|
||||
}
|
||||
|
||||
// Use the active box-sizing model to add/subtract irrelevant styles
|
||||
return ( val +
|
||||
@ -6420,10 +6430,15 @@ jQuery.extend( {
|
||||
// Make sure that we're working with the right name
|
||||
var ret, type, hooks,
|
||||
origName = jQuery.camelCase( name ),
|
||||
isCustomProp = rcustomProp.test( name ),
|
||||
style = elem.style;
|
||||
|
||||
name = jQuery.cssProps[ origName ] ||
|
||||
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
|
||||
// Make sure that we're working with the right name. We don't
|
||||
// want to query the value if it is a CSS custom property
|
||||
// since they are user-defined.
|
||||
if ( !isCustomProp ) {
|
||||
name = finalPropName( origName );
|
||||
}
|
||||
|
||||
// Gets hook for the prefixed version, then unprefixed version
|
||||
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
||||
@ -6459,8 +6474,12 @@ jQuery.extend( {
|
||||
if ( !hooks || !( "set" in hooks ) ||
|
||||
( value = hooks.set( elem, value, extra ) ) !== undefined ) {
|
||||
|
||||
if ( isCustomProp ) {
|
||||
style.setProperty( name, value );
|
||||
} else {
|
||||
style[ name ] = value;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@ -6478,11 +6497,15 @@ jQuery.extend( {
|
||||
|
||||
css: function( elem, name, extra, styles ) {
|
||||
var val, num, hooks,
|
||||
origName = jQuery.camelCase( name );
|
||||
origName = jQuery.camelCase( name ),
|
||||
isCustomProp = rcustomProp.test( name );
|
||||
|
||||
// Make sure that we're working with the right name
|
||||
name = jQuery.cssProps[ origName ] ||
|
||||
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
|
||||
// Make sure that we're working with the right name. We don't
|
||||
// want to modify the value if it is a CSS custom property
|
||||
// since they are user-defined.
|
||||
if ( !isCustomProp ) {
|
||||
name = finalPropName( origName );
|
||||
}
|
||||
|
||||
// Try prefixed name followed by the unprefixed name
|
||||
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
||||
@ -6507,6 +6530,7 @@ jQuery.extend( {
|
||||
num = parseFloat( val );
|
||||
return extra === true || isFinite( num ) ? num || 0 : val;
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
} );
|
||||
@ -6606,7 +6630,7 @@ jQuery.fn.extend( {
|
||||
map = {},
|
||||
i = 0;
|
||||
|
||||
if ( jQuery.isArray( name ) ) {
|
||||
if ( Array.isArray( name ) ) {
|
||||
styles = getStyles( elem );
|
||||
len = name.length;
|
||||
|
||||
@ -6744,13 +6768,18 @@ jQuery.fx.step = {};
|
||||
|
||||
|
||||
var
|
||||
fxNow, timerId,
|
||||
fxNow, inProgress,
|
||||
rfxtypes = /^(?:toggle|show|hide)$/,
|
||||
rrun = /queueHooks$/;
|
||||
|
||||
function raf() {
|
||||
if ( timerId ) {
|
||||
window.requestAnimationFrame( raf );
|
||||
function schedule() {
|
||||
if ( inProgress ) {
|
||||
if ( document.hidden === false && window.requestAnimationFrame ) {
|
||||
window.requestAnimationFrame( schedule );
|
||||
} else {
|
||||
window.setTimeout( schedule, jQuery.fx.interval );
|
||||
}
|
||||
|
||||
jQuery.fx.tick();
|
||||
}
|
||||
}
|
||||
@ -6977,7 +7006,7 @@ function propFilter( props, specialEasing ) {
|
||||
name = jQuery.camelCase( index );
|
||||
easing = specialEasing[ name ];
|
||||
value = props[ index ];
|
||||
if ( jQuery.isArray( value ) ) {
|
||||
if ( Array.isArray( value ) ) {
|
||||
easing = value[ 1 ];
|
||||
value = props[ index ] = value[ 0 ];
|
||||
}
|
||||
@ -7036,12 +7065,19 @@ function Animation( elem, properties, options ) {
|
||||
|
||||
deferred.notifyWith( elem, [ animation, percent, remaining ] );
|
||||
|
||||
// If there's more to do, yield
|
||||
if ( percent < 1 && length ) {
|
||||
return remaining;
|
||||
} else {
|
||||
}
|
||||
|
||||
// If this was an empty animation, synthesize a final progress notification
|
||||
if ( !length ) {
|
||||
deferred.notifyWith( elem, [ animation, 1, 0 ] );
|
||||
}
|
||||
|
||||
// Resolve the animation and report its conclusion
|
||||
deferred.resolveWith( elem, [ animation ] );
|
||||
return false;
|
||||
}
|
||||
},
|
||||
animation = deferred.promise( {
|
||||
elem: elem,
|
||||
@ -7106,6 +7142,13 @@ function Animation( elem, properties, options ) {
|
||||
animation.opts.start.call( elem, animation );
|
||||
}
|
||||
|
||||
// Attach callbacks from options
|
||||
animation
|
||||
.progress( animation.opts.progress )
|
||||
.done( animation.opts.done, animation.opts.complete )
|
||||
.fail( animation.opts.fail )
|
||||
.always( animation.opts.always );
|
||||
|
||||
jQuery.fx.timer(
|
||||
jQuery.extend( tick, {
|
||||
elem: elem,
|
||||
@ -7114,11 +7157,7 @@ function Animation( elem, properties, options ) {
|
||||
} )
|
||||
);
|
||||
|
||||
// attach callbacks from options
|
||||
return animation.progress( animation.opts.progress )
|
||||
.done( animation.opts.done, animation.opts.complete )
|
||||
.fail( animation.opts.fail )
|
||||
.always( animation.opts.always );
|
||||
return animation;
|
||||
}
|
||||
|
||||
jQuery.Animation = jQuery.extend( Animation, {
|
||||
@ -7169,8 +7208,8 @@ jQuery.speed = function( speed, easing, fn ) {
|
||||
easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
|
||||
};
|
||||
|
||||
// Go to the end state if fx are off or if document is hidden
|
||||
if ( jQuery.fx.off || document.hidden ) {
|
||||
// Go to the end state if fx are off
|
||||
if ( jQuery.fx.off ) {
|
||||
opt.duration = 0;
|
||||
|
||||
} else {
|
||||
@ -7362,7 +7401,7 @@ jQuery.fx.tick = function() {
|
||||
for ( ; i < timers.length; i++ ) {
|
||||
timer = timers[ i ];
|
||||
|
||||
// Checks the timer has not already been removed
|
||||
// Run the timer and safely remove it when done (allowing for external removal)
|
||||
if ( !timer() && timers[ i ] === timer ) {
|
||||
timers.splice( i--, 1 );
|
||||
}
|
||||
@ -7376,30 +7415,21 @@ jQuery.fx.tick = function() {
|
||||
|
||||
jQuery.fx.timer = function( timer ) {
|
||||
jQuery.timers.push( timer );
|
||||
if ( timer() ) {
|
||||
jQuery.fx.start();
|
||||
} else {
|
||||
jQuery.timers.pop();
|
||||
}
|
||||
};
|
||||
|
||||
jQuery.fx.interval = 13;
|
||||
jQuery.fx.start = function() {
|
||||
if ( !timerId ) {
|
||||
timerId = window.requestAnimationFrame ?
|
||||
window.requestAnimationFrame( raf ) :
|
||||
window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
|
||||
if ( inProgress ) {
|
||||
return;
|
||||
}
|
||||
|
||||
inProgress = true;
|
||||
schedule();
|
||||
};
|
||||
|
||||
jQuery.fx.stop = function() {
|
||||
if ( window.cancelAnimationFrame ) {
|
||||
window.cancelAnimationFrame( timerId );
|
||||
} else {
|
||||
window.clearInterval( timerId );
|
||||
}
|
||||
|
||||
timerId = null;
|
||||
inProgress = null;
|
||||
};
|
||||
|
||||
jQuery.fx.speeds = {
|
||||
@ -7516,7 +7546,7 @@ jQuery.extend( {
|
||||
type: {
|
||||
set: function( elem, value ) {
|
||||
if ( !support.radioValue && value === "radio" &&
|
||||
jQuery.nodeName( elem, "input" ) ) {
|
||||
nodeName( elem, "input" ) ) {
|
||||
var val = elem.value;
|
||||
elem.setAttribute( "type", value );
|
||||
if ( val ) {
|
||||
@ -7947,7 +7977,7 @@ jQuery.fn.extend( {
|
||||
} else if ( typeof val === "number" ) {
|
||||
val += "";
|
||||
|
||||
} else if ( jQuery.isArray( val ) ) {
|
||||
} else if ( Array.isArray( val ) ) {
|
||||
val = jQuery.map( val, function( value ) {
|
||||
return value == null ? "" : value + "";
|
||||
} );
|
||||
@ -8006,7 +8036,7 @@ jQuery.extend( {
|
||||
// Don't return options that are disabled or in a disabled optgroup
|
||||
!option.disabled &&
|
||||
( !option.parentNode.disabled ||
|
||||
!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
|
||||
!nodeName( option.parentNode, "optgroup" ) ) ) {
|
||||
|
||||
// Get the specific value for the option
|
||||
value = jQuery( option ).val();
|
||||
@ -8058,7 +8088,7 @@ jQuery.extend( {
|
||||
jQuery.each( [ "radio", "checkbox" ], function() {
|
||||
jQuery.valHooks[ this ] = {
|
||||
set: function( elem, value ) {
|
||||
if ( jQuery.isArray( value ) ) {
|
||||
if ( Array.isArray( value ) ) {
|
||||
return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
|
||||
}
|
||||
}
|
||||
@ -8353,7 +8383,7 @@ var
|
||||
function buildParams( prefix, obj, traditional, add ) {
|
||||
var name;
|
||||
|
||||
if ( jQuery.isArray( obj ) ) {
|
||||
if ( Array.isArray( obj ) ) {
|
||||
|
||||
// Serialize array item.
|
||||
jQuery.each( obj, function( i, v ) {
|
||||
@ -8405,7 +8435,7 @@ jQuery.param = function( a, traditional ) {
|
||||
};
|
||||
|
||||
// If an array was passed in, assume that it is an array of form elements.
|
||||
if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
|
||||
if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
|
||||
|
||||
// Serialize the form elements
|
||||
jQuery.each( a, function() {
|
||||
@ -8451,7 +8481,7 @@ jQuery.fn.extend( {
|
||||
return null;
|
||||
}
|
||||
|
||||
if ( jQuery.isArray( val ) ) {
|
||||
if ( Array.isArray( val ) ) {
|
||||
return jQuery.map( val, function( val ) {
|
||||
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
|
||||
} );
|
||||
@ -9876,13 +9906,6 @@ jQuery.expr.pseudos.animated = function( elem ) {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Gets a window from an element
|
||||
*/
|
||||
function getWindow( elem ) {
|
||||
return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
|
||||
}
|
||||
|
||||
jQuery.offset = {
|
||||
setOffset: function( elem, options, i ) {
|
||||
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
|
||||
@ -9947,13 +9970,14 @@ jQuery.fn.extend( {
|
||||
} );
|
||||
}
|
||||
|
||||
var docElem, win, rect, doc,
|
||||
var doc, docElem, rect, win,
|
||||
elem = this[ 0 ];
|
||||
|
||||
if ( !elem ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
|
||||
// Support: IE <=11 only
|
||||
// Running getBoundingClientRect on a
|
||||
// disconnected node in IE throws an error
|
||||
@ -9963,20 +9987,14 @@ jQuery.fn.extend( {
|
||||
|
||||
rect = elem.getBoundingClientRect();
|
||||
|
||||
// Make sure element is not hidden (display: none)
|
||||
if ( rect.width || rect.height ) {
|
||||
doc = elem.ownerDocument;
|
||||
win = getWindow( doc );
|
||||
docElem = doc.documentElement;
|
||||
win = doc.defaultView;
|
||||
|
||||
return {
|
||||
top: rect.top + win.pageYOffset - docElem.clientTop,
|
||||
left: rect.left + win.pageXOffset - docElem.clientLeft
|
||||
};
|
||||
}
|
||||
|
||||
// Return zeros for disconnected and hidden elements (gh-2310)
|
||||
return rect;
|
||||
},
|
||||
|
||||
position: function() {
|
||||
@ -10002,7 +10020,7 @@ jQuery.fn.extend( {
|
||||
|
||||
// Get correct offsets
|
||||
offset = this.offset();
|
||||
if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
|
||||
if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
|
||||
parentOffset = offsetParent.offset();
|
||||
}
|
||||
|
||||
@ -10049,7 +10067,14 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
|
||||
|
||||
jQuery.fn[ method ] = function( val ) {
|
||||
return access( this, function( elem, method, val ) {
|
||||
var win = getWindow( elem );
|
||||
|
||||
// Coalesce documents and windows
|
||||
var win;
|
||||
if ( jQuery.isWindow( elem ) ) {
|
||||
win = elem;
|
||||
} else if ( elem.nodeType === 9 ) {
|
||||
win = elem.defaultView;
|
||||
}
|
||||
|
||||
if ( val === undefined ) {
|
||||
return win ? win[ prop ] : elem[ method ];
|
||||
@ -10158,7 +10183,16 @@ jQuery.fn.extend( {
|
||||
}
|
||||
} );
|
||||
|
||||
jQuery.holdReady = function( hold ) {
|
||||
if ( hold ) {
|
||||
jQuery.readyWait++;
|
||||
} else {
|
||||
jQuery.ready( true );
|
||||
}
|
||||
};
|
||||
jQuery.isArray = Array.isArray;
|
||||
jQuery.parseJSON = JSON.parse;
|
||||
jQuery.nodeName = nodeName;
|
||||
|
||||
|
||||
|
||||
@ -10215,6 +10249,5 @@ if ( !noGlobal ) {
|
||||
|
||||
|
||||
|
||||
|
||||
return jQuery;
|
||||
} );
|
4
vendor/jquery/jquery.min.js
vendored
Normal file
4
vendor/jquery/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user