BS4 Beta Update
This commit is contained in:
parent
c5676d6196
commit
3b833405e4
114
css/agency.css
114
css/agency.css
@ -12,7 +12,7 @@ p {
|
|||||||
|
|
||||||
a {
|
a {
|
||||||
color: #fed136; }
|
color: #fed136; }
|
||||||
a:hover, a:focus, a:active, a.active {
|
a.active, a:active, a:focus, a:hover {
|
||||||
color: #fec503; }
|
color: #fec503; }
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
@ -72,41 +72,41 @@ body {
|
|||||||
background-color: #fed136;
|
background-color: #fed136;
|
||||||
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
text-transform: uppercase; }
|
text-transform: uppercase; }
|
||||||
#mainNav .container {
|
#mainNav .navbar-brand {
|
||||||
padding: 0; }
|
color: #fed136;
|
||||||
#mainNav .container .navbar-brand {
|
font-family: 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial, cursive; }
|
||||||
color: #fed136;
|
#mainNav .navbar-brand.active, #mainNav .navbar-brand:active, #mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||||
font-family: 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial, cursive; }
|
color: #fec503; }
|
||||||
#mainNav .container .navbar-brand:hover, #mainNav .container .navbar-brand:focus, #mainNav .container .navbar-brand:active, #mainNav .container .navbar-brand.active {
|
#mainNav .navbar-nav .nav-item .nav-link {
|
||||||
color: #fec503; }
|
font-size: 90%;
|
||||||
#mainNav .container .navbar-nav .nav-item .nav-link {
|
font-weight: 400;
|
||||||
font-size: 90%;
|
padding: 0.75em 0;
|
||||||
font-weight: 400;
|
letter-spacing: 1px;
|
||||||
padding: .75em 0;
|
color: white;
|
||||||
letter-spacing: 1px;
|
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
color: white;
|
text-transform: uppercase; }
|
||||||
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
#mainNav .navbar-nav .nav-item .nav-link.active, #mainNav .navbar-nav .nav-item .nav-link:hover {
|
||||||
text-transform: uppercase; }
|
color: #fed136; }
|
||||||
#mainNav .container .navbar-nav .nav-item .nav-link:hover, #mainNav .container .navbar-nav .nav-item .nav-link.active {
|
|
||||||
color: #fed136; }
|
|
||||||
|
|
||||||
@media (min-width: 992px) {
|
@media (min-width: 992px) {
|
||||||
#mainNav {
|
#mainNav {
|
||||||
padding: 25px 0;
|
padding-top: 25px;
|
||||||
-webkit-transition: padding .3s;
|
padding-bottom: 25px;
|
||||||
-moz-transition: padding .3s;
|
-webkit-transition: padding-top 0.3s, padding-bottom 0.3s;
|
||||||
transition: padding .3s;
|
-moz-transition: padding-top 0.3s, padding-bottom 0.3s;
|
||||||
|
transition: padding-top 0.3s, padding-bottom 0.3s;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: transparent; }
|
background-color: transparent; }
|
||||||
#mainNav .navbar-brand {
|
#mainNav .navbar-brand {
|
||||||
font-size: 1.75em;
|
font-size: 1.75em;
|
||||||
-webkit-transition: all .3s;
|
-webkit-transition: all 0.3s;
|
||||||
-moz-transition: all .3s;
|
-moz-transition: all 0.3s;
|
||||||
transition: all .3s; }
|
transition: all 0.3s; }
|
||||||
#mainNav .navbar-nav .nav-item .nav-link {
|
#mainNav .navbar-nav .nav-item .nav-link {
|
||||||
padding: 1.1em 1em !important; }
|
padding: 1.1em 1em !important; }
|
||||||
#mainNav.navbar-shrink {
|
#mainNav.navbar-shrink {
|
||||||
padding: 0;
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
background-color: #222222; }
|
background-color: #222222; }
|
||||||
#mainNav.navbar-shrink .navbar-brand {
|
#mainNav.navbar-shrink .navbar-brand {
|
||||||
font-size: 1.25em;
|
font-size: 1.25em;
|
||||||
@ -124,8 +124,8 @@ header.masthead {
|
|||||||
-o-background-size: cover;
|
-o-background-size: cover;
|
||||||
background-size: cover; }
|
background-size: cover; }
|
||||||
header.masthead .intro-text {
|
header.masthead .intro-text {
|
||||||
padding-top: 100px;
|
padding-top: 150px;
|
||||||
padding-bottom: 50px; }
|
padding-bottom: 100px; }
|
||||||
header.masthead .intro-text .intro-lead-in {
|
header.masthead .intro-text .intro-lead-in {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
@ -175,9 +175,9 @@ header.masthead {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
-webkit-transition: all ease .5s;
|
-webkit-transition: all ease 0.5s;
|
||||||
-moz-transition: all ease .5s;
|
-moz-transition: all ease 0.5s;
|
||||||
transition: all ease .5s;
|
transition: all ease 0.5s;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
background: rgba(254, 209, 54, 0.9); }
|
background: rgba(254, 209, 54, 0.9); }
|
||||||
#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover {
|
#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover {
|
||||||
@ -259,7 +259,7 @@ header.masthead {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-color: transparent; }
|
background-color: transparent; }
|
||||||
.portfolio-modal .close-modal:hover {
|
.portfolio-modal .close-modal:hover {
|
||||||
opacity: .3; }
|
opacity: 0.3; }
|
||||||
.portfolio-modal .close-modal .lr {
|
.portfolio-modal .close-modal .lr {
|
||||||
/* Safari and Chrome */
|
/* Safari and Chrome */
|
||||||
z-index: 1051;
|
z-index: 1051;
|
||||||
@ -303,7 +303,7 @@ header.masthead {
|
|||||||
position: relative;
|
position: relative;
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
margin-bottom: 50px; }
|
margin-bottom: 50px; }
|
||||||
.timeline > li:before, .timeline > li:after {
|
.timeline > li:after, .timeline > li:before {
|
||||||
display: table;
|
display: table;
|
||||||
content: ' '; }
|
content: ' '; }
|
||||||
.timeline > li:after {
|
.timeline > li:after {
|
||||||
@ -361,8 +361,8 @@ header.masthead {
|
|||||||
color: inherit; }
|
color: inherit; }
|
||||||
.timeline .timeline-heading h4.subheading {
|
.timeline .timeline-heading h4.subheading {
|
||||||
text-transform: none; }
|
text-transform: none; }
|
||||||
.timeline .timeline-body > p,
|
.timeline .timeline-body > ul,
|
||||||
.timeline .timeline-body > ul {
|
.timeline .timeline-body > p {
|
||||||
margin-bottom: 0; }
|
margin-bottom: 0; }
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
@ -503,14 +503,14 @@ ul.social-buttons {
|
|||||||
display: block;
|
display: block;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
-webkit-transition: all .3s;
|
-webkit-transition: all 0.3s;
|
||||||
-moz-transition: all .3s;
|
-moz-transition: all 0.3s;
|
||||||
transition: all .3s;
|
transition: all 0.3s;
|
||||||
color: white;
|
color: white;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
outline: none;
|
outline: none;
|
||||||
background-color: #222222; }
|
background-color: #222222; }
|
||||||
ul.social-buttons li a:hover, ul.social-buttons li a:focus, ul.social-buttons li a:active {
|
ul.social-buttons li a:active, ul.social-buttons li a:focus, ul.social-buttons li a:hover {
|
||||||
background-color: #fed136; }
|
background-color: #fed136; }
|
||||||
|
|
||||||
.text-primary {
|
.text-primary {
|
||||||
@ -523,7 +523,7 @@ ul.social-buttons {
|
|||||||
background-color: #fed136;
|
background-color: #fed136;
|
||||||
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
text-transform: uppercase; }
|
text-transform: uppercase; }
|
||||||
.btn-primary:focus, .btn-primary.focus {
|
.btn-primary.focus, .btn-primary:focus {
|
||||||
color: white;
|
color: white;
|
||||||
border-color: #b48b01;
|
border-color: #b48b01;
|
||||||
background-color: #fec503; }
|
background-color: #fec503; }
|
||||||
@ -531,25 +531,25 @@ ul.social-buttons {
|
|||||||
color: white;
|
color: white;
|
||||||
border-color: #f6bf01;
|
border-color: #f6bf01;
|
||||||
background-color: #fec503; }
|
background-color: #fec503; }
|
||||||
.btn-primary:active, .btn-primary.active,
|
.btn-primary.active, .btn-primary:active,
|
||||||
.open > .btn-primary.dropdown-toggle {
|
.open > .btn-primary.dropdown-toggle {
|
||||||
color: white;
|
color: white;
|
||||||
border-color: #f6bf01;
|
border-color: #f6bf01;
|
||||||
background-color: #fec503; }
|
background-color: #fec503; }
|
||||||
.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
|
.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover,
|
||||||
.open > .btn-primary.dropdown-toggle:hover,
|
.open > .btn-primary.dropdown-toggle.focus,
|
||||||
.open > .btn-primary.dropdown-toggle:focus,
|
.open > .btn-primary.dropdown-toggle:focus,
|
||||||
.open > .btn-primary.dropdown-toggle.focus {
|
.open > .btn-primary.dropdown-toggle:hover {
|
||||||
color: white;
|
color: white;
|
||||||
border-color: #b48b01;
|
border-color: #b48b01;
|
||||||
background-color: #dcab01; }
|
background-color: #dcab01; }
|
||||||
.btn-primary:active, .btn-primary.active,
|
.btn-primary.active, .btn-primary:active,
|
||||||
.open > .btn-primary.dropdown-toggle {
|
.open > .btn-primary.dropdown-toggle {
|
||||||
background-image: none; }
|
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,
|
.btn-primary.disabled.focus, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled].focus, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover,
|
||||||
fieldset[disabled] .btn-primary:hover,
|
fieldset[disabled] .btn-primary.focus,
|
||||||
fieldset[disabled] .btn-primary:focus,
|
fieldset[disabled] .btn-primary:focus,
|
||||||
fieldset[disabled] .btn-primary.focus {
|
fieldset[disabled] .btn-primary:hover {
|
||||||
border-color: #fed136;
|
border-color: #fed136;
|
||||||
background-color: #fed136; }
|
background-color: #fed136; }
|
||||||
.btn-primary .badge {
|
.btn-primary .badge {
|
||||||
@ -566,7 +566,7 @@ ul.social-buttons {
|
|||||||
background-color: #fed136;
|
background-color: #fed136;
|
||||||
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
text-transform: uppercase; }
|
text-transform: uppercase; }
|
||||||
.btn-xl:focus, .btn-xl.focus {
|
.btn-xl.focus, .btn-xl:focus {
|
||||||
color: white;
|
color: white;
|
||||||
border-color: #b48b01;
|
border-color: #b48b01;
|
||||||
background-color: #fec503; }
|
background-color: #fec503; }
|
||||||
@ -574,25 +574,25 @@ ul.social-buttons {
|
|||||||
color: white;
|
color: white;
|
||||||
border-color: #f6bf01;
|
border-color: #f6bf01;
|
||||||
background-color: #fec503; }
|
background-color: #fec503; }
|
||||||
.btn-xl:active, .btn-xl.active,
|
.btn-xl.active, .btn-xl:active,
|
||||||
.open > .btn-xl.dropdown-toggle {
|
.open > .btn-xl.dropdown-toggle {
|
||||||
color: white;
|
color: white;
|
||||||
border-color: #f6bf01;
|
border-color: #f6bf01;
|
||||||
background-color: #fec503; }
|
background-color: #fec503; }
|
||||||
.btn-xl:active:hover, .btn-xl:active:focus, .btn-xl:active.focus, .btn-xl.active:hover, .btn-xl.active:focus, .btn-xl.active.focus,
|
.btn-xl.active.focus, .btn-xl.active:focus, .btn-xl.active:hover, .btn-xl:active.focus, .btn-xl:active:focus, .btn-xl:active:hover,
|
||||||
.open > .btn-xl.dropdown-toggle:hover,
|
.open > .btn-xl.dropdown-toggle.focus,
|
||||||
.open > .btn-xl.dropdown-toggle:focus,
|
.open > .btn-xl.dropdown-toggle:focus,
|
||||||
.open > .btn-xl.dropdown-toggle.focus {
|
.open > .btn-xl.dropdown-toggle:hover {
|
||||||
color: white;
|
color: white;
|
||||||
border-color: #b48b01;
|
border-color: #b48b01;
|
||||||
background-color: #dcab01; }
|
background-color: #dcab01; }
|
||||||
.btn-xl:active, .btn-xl.active,
|
.btn-xl.active, .btn-xl:active,
|
||||||
.open > .btn-xl.dropdown-toggle {
|
.open > .btn-xl.dropdown-toggle {
|
||||||
background-image: none; }
|
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,
|
.btn-xl.disabled.focus, .btn-xl.disabled:focus, .btn-xl.disabled:hover, .btn-xl[disabled].focus, .btn-xl[disabled]:focus, .btn-xl[disabled]:hover,
|
||||||
fieldset[disabled] .btn-xl:hover,
|
fieldset[disabled] .btn-xl.focus,
|
||||||
fieldset[disabled] .btn-xl:focus,
|
fieldset[disabled] .btn-xl:focus,
|
||||||
fieldset[disabled] .btn-xl.focus {
|
fieldset[disabled] .btn-xl:hover {
|
||||||
border-color: #fed136;
|
border-color: #fed136;
|
||||||
background-color: #fed136; }
|
background-color: #fed136; }
|
||||||
.btn-xl .badge {
|
.btn-xl .badge {
|
||||||
|
2
css/agency.min.css
vendored
2
css/agency.min.css
vendored
File diff suppressed because one or more lines are too long
125
gulpfile.js
125
gulpfile.js
@ -9,71 +9,86 @@ var pkg = require('./package.json');
|
|||||||
|
|
||||||
// Set the banner content
|
// Set the banner content
|
||||||
var banner = ['/*!\n',
|
var banner = ['/*!\n',
|
||||||
' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n',
|
' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n',
|
||||||
' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n',
|
' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n',
|
||||||
' * Licensed under <%= pkg.license %> (https://github.com/BlackrockDigital/<%= pkg.name %>/blob/master/LICENSE)\n',
|
' * Licensed under <%= pkg.license %> (https://github.com/BlackrockDigital/<%= pkg.name %>/blob/master/LICENSE)\n',
|
||||||
' */\n',
|
' */\n',
|
||||||
''
|
''
|
||||||
].join('');
|
].join('');
|
||||||
|
|
||||||
// Compiles SCSS files from /scss into /css
|
// Compiles SCSS files from /scss into /css
|
||||||
gulp.task('sass', function() {
|
gulp.task('sass', function() {
|
||||||
return gulp.src('scss/agency.scss')
|
return gulp.src('scss/agency.scss')
|
||||||
.pipe(sass())
|
.pipe(sass())
|
||||||
.pipe(header(banner, { pkg: pkg }))
|
.pipe(header(banner, {
|
||||||
.pipe(gulp.dest('css'))
|
pkg: pkg
|
||||||
.pipe(browserSync.reload({
|
}))
|
||||||
stream: true
|
.pipe(gulp.dest('css'))
|
||||||
}))
|
.pipe(browserSync.reload({
|
||||||
|
stream: true
|
||||||
|
}))
|
||||||
});
|
});
|
||||||
|
|
||||||
// Minify compiled CSS
|
// Minify compiled CSS
|
||||||
gulp.task('minify-css', ['sass'], function() {
|
gulp.task('minify-css', ['sass'], function() {
|
||||||
return gulp.src('css/agency.css')
|
return gulp.src('css/agency.css')
|
||||||
.pipe(cleanCSS({ compatibility: 'ie8' }))
|
.pipe(cleanCSS({
|
||||||
.pipe(rename({ suffix: '.min' }))
|
compatibility: 'ie8'
|
||||||
.pipe(gulp.dest('css'))
|
}))
|
||||||
.pipe(browserSync.reload({
|
.pipe(rename({
|
||||||
stream: true
|
suffix: '.min'
|
||||||
}))
|
}))
|
||||||
|
.pipe(gulp.dest('css'))
|
||||||
|
.pipe(browserSync.reload({
|
||||||
|
stream: true
|
||||||
|
}))
|
||||||
});
|
});
|
||||||
|
|
||||||
// Minify custom JS
|
// Minify custom JS
|
||||||
gulp.task('minify-js', function() {
|
gulp.task('minify-js', function() {
|
||||||
return gulp.src('js/agency.js')
|
return gulp.src('js/agency.js')
|
||||||
.pipe(uglify())
|
.pipe(uglify())
|
||||||
.pipe(header(banner, { pkg: pkg }))
|
.pipe(header(banner, {
|
||||||
.pipe(rename({ suffix: '.min' }))
|
pkg: pkg
|
||||||
.pipe(gulp.dest('js'))
|
}))
|
||||||
.pipe(browserSync.reload({
|
.pipe(rename({
|
||||||
stream: true
|
suffix: '.min'
|
||||||
}))
|
}))
|
||||||
|
.pipe(gulp.dest('js'))
|
||||||
|
.pipe(browserSync.reload({
|
||||||
|
stream: true
|
||||||
|
}))
|
||||||
});
|
});
|
||||||
|
|
||||||
// Copy vendor files from /node_modules into /vendor
|
// Copy vendor files from /node_modules into /vendor
|
||||||
// NOTE: requires `npm install` before running!
|
// NOTE: requires `npm install` before running!
|
||||||
gulp.task('copy', function() {
|
gulp.task('copy', function() {
|
||||||
gulp.src(['node_modules/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map'])
|
gulp.src([
|
||||||
.pipe(gulp.dest('vendor/bootstrap'))
|
'node_modules/bootstrap/dist/**/*',
|
||||||
|
'!**/npm.js',
|
||||||
|
'!**/bootstrap-theme.*',
|
||||||
|
'!**/*.map'
|
||||||
|
])
|
||||||
|
.pipe(gulp.dest('vendor/bootstrap'))
|
||||||
|
|
||||||
gulp.src(['node_modules/jquery/dist/jquery.js', 'node_modules/jquery/dist/jquery.min.js'])
|
gulp.src(['node_modules/jquery/dist/jquery.js', 'node_modules/jquery/dist/jquery.min.js'])
|
||||||
.pipe(gulp.dest('vendor/jquery'))
|
.pipe(gulp.dest('vendor/jquery'))
|
||||||
|
|
||||||
gulp.src(['node_modules/tether/dist/js/*.js'])
|
gulp.src(['node_modules/popper.js/dist/umd/popper.js', 'node_modules/popper.js/dist/umd/popper.min.js'])
|
||||||
.pipe(gulp.dest('vendor/tether'))
|
.pipe(gulp.dest('vendor/popper'))
|
||||||
|
|
||||||
gulp.src(['node_modules/jquery.easing/*.js'])
|
gulp.src(['node_modules/jquery.easing/*.js'])
|
||||||
.pipe(gulp.dest('vendor/jquery-easing'))
|
.pipe(gulp.dest('vendor/jquery-easing'))
|
||||||
|
|
||||||
gulp.src([
|
gulp.src([
|
||||||
'node_modules/font-awesome/**',
|
'node_modules/font-awesome/**',
|
||||||
'!node_modules/font-awesome/**/*.map',
|
'!node_modules/font-awesome/**/*.map',
|
||||||
'!node_modules/font-awesome/.npmignore',
|
'!node_modules/font-awesome/.npmignore',
|
||||||
'!node_modules/font-awesome/*.txt',
|
'!node_modules/font-awesome/*.txt',
|
||||||
'!node_modules/font-awesome/*.md',
|
'!node_modules/font-awesome/*.md',
|
||||||
'!node_modules/font-awesome/*.json'
|
'!node_modules/font-awesome/*.json'
|
||||||
])
|
])
|
||||||
.pipe(gulp.dest('vendor/font-awesome'))
|
.pipe(gulp.dest('vendor/font-awesome'))
|
||||||
})
|
})
|
||||||
|
|
||||||
// Default task
|
// Default task
|
||||||
@ -81,19 +96,19 @@ gulp.task('default', ['sass', 'minify-css', 'minify-js', 'copy']);
|
|||||||
|
|
||||||
// Configure the browserSync task
|
// Configure the browserSync task
|
||||||
gulp.task('browserSync', function() {
|
gulp.task('browserSync', function() {
|
||||||
browserSync.init({
|
browserSync.init({
|
||||||
server: {
|
server: {
|
||||||
baseDir: ''
|
baseDir: ''
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
// Dev task with browserSync
|
// Dev task with browserSync
|
||||||
gulp.task('dev', ['browserSync', 'sass', 'minify-css', 'minify-js'], function() {
|
gulp.task('dev', ['browserSync', 'sass', 'minify-css', 'minify-js'], function() {
|
||||||
gulp.watch('scss/*.scss', ['sass']);
|
gulp.watch('scss/*.scss', ['sass']);
|
||||||
gulp.watch('css/*.css', ['minify-css']);
|
gulp.watch('css/*.css', ['minify-css']);
|
||||||
gulp.watch('js/*.js', ['minify-js']);
|
gulp.watch('js/*.js', ['minify-js']);
|
||||||
// Reloads the browser whenever HTML or JS files change
|
// Reloads the browser whenever HTML or JS files change
|
||||||
gulp.watch('*.html', browserSync.reload);
|
gulp.watch('*.html', browserSync.reload);
|
||||||
gulp.watch('js/**/*.js', browserSync.reload);
|
gulp.watch('js/**/*.js', browserSync.reload);
|
||||||
});
|
});
|
||||||
|
1170
index.html
1170
index.html
File diff suppressed because it is too large
Load Diff
62
js/agency.js
62
js/agency.js
@ -1,38 +1,38 @@
|
|||||||
(function($) {
|
(function($) {
|
||||||
"use strict"; // Start of use strict
|
"use strict"; // Start of use strict
|
||||||
|
|
||||||
// Smooth scrolling using jQuery easing
|
// Smooth scrolling using jQuery easing
|
||||||
$('a[href*="#"]:not([href="#"])').click(function() {
|
$('a[href*="#"]:not([href="#"])').click(function() {
|
||||||
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
|
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
|
||||||
var target = $(this.hash);
|
var target = $(this.hash);
|
||||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||||
if (target.length) {
|
if (target.length) {
|
||||||
$('html, body').animate({
|
$('html, body').animate({
|
||||||
scrollTop: (target.offset().top - 54)
|
scrollTop: (target.offset().top - 54)
|
||||||
}, 1000, "easeInOutExpo");
|
}, 1000, "easeInOutExpo");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Activate scrollspy to add active class to navbar items on scroll
|
// Activate scrollspy to add active class to navbar items on scroll
|
||||||
$('body').scrollspy({
|
$('body').scrollspy({
|
||||||
target: '#mainNav',
|
target: '#mainNav',
|
||||||
offset: 54
|
offset: 54
|
||||||
});
|
});
|
||||||
|
|
||||||
// Closes responsive menu when a link is clicked
|
// Closes responsive menu when a link is clicked
|
||||||
$('.navbar-collapse>ul>li>a').click(function() {
|
$('.navbar-collapse>ul>li>a').click(function() {
|
||||||
$('.navbar-collapse').collapse('hide');
|
$('.navbar-collapse').collapse('hide');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Collapse the navbar when page is scrolled
|
// Collapse the navbar when page is scrolled
|
||||||
$(window).scroll(function() {
|
$(window).scroll(function() {
|
||||||
if ($("#mainNav").offset().top > 100) {
|
if ($("#mainNav").offset().top > 100) {
|
||||||
$("#mainNav").addClass("navbar-shrink");
|
$("#mainNav").addClass("navbar-shrink");
|
||||||
} else {
|
} else {
|
||||||
$("#mainNav").removeClass("navbar-shrink");
|
$("#mainNav").removeClass("navbar-shrink");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
})(jQuery); // End of use strict
|
})(jQuery); // End of use strict
|
||||||
|
2
js/agency.min.js
vendored
2
js/agency.min.js
vendored
@ -3,4 +3,4 @@
|
|||||||
* Copyright 2013-2017 Start Bootstrap
|
* Copyright 2013-2017 Start Bootstrap
|
||||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-agency/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-agency/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
!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);
|
!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)+"]")).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);
|
116
js/contact_me.js
116
js/contact_me.js
@ -1,70 +1,70 @@
|
|||||||
$(function() {
|
$(function() {
|
||||||
|
|
||||||
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
|
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
|
||||||
preventSubmit: true,
|
preventSubmit: true,
|
||||||
submitError: function($form, event, errors) {
|
submitError: function($form, event, errors) {
|
||||||
// additional error messages or events
|
// additional error messages or events
|
||||||
|
},
|
||||||
|
submitSuccess: function($form, event) {
|
||||||
|
event.preventDefault(); // prevent default submit behaviour
|
||||||
|
// get values from FORM
|
||||||
|
var name = $("input#name").val();
|
||||||
|
var email = $("input#email").val();
|
||||||
|
var phone = $("input#phone").val();
|
||||||
|
var message = $("textarea#message").val();
|
||||||
|
var firstName = name; // For Success/Failure Message
|
||||||
|
// Check for white space in name for Success/Fail message
|
||||||
|
if (firstName.indexOf(' ') >= 0) {
|
||||||
|
firstName = name.split(' ').slice(0, -1).join(' ');
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
url: "././mail/contact_me.php",
|
||||||
|
type: "POST",
|
||||||
|
data: {
|
||||||
|
name: name,
|
||||||
|
phone: phone,
|
||||||
|
email: email,
|
||||||
|
message: message
|
||||||
},
|
},
|
||||||
submitSuccess: function($form, event) {
|
cache: false,
|
||||||
event.preventDefault(); // prevent default submit behaviour
|
success: function() {
|
||||||
// get values from FORM
|
// Success message
|
||||||
var name = $("input#name").val();
|
$('#success').html("<div class='alert alert-success'>");
|
||||||
var email = $("input#email").val();
|
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
|
||||||
var phone = $("input#phone").val();
|
.append("</button>");
|
||||||
var message = $("textarea#message").val();
|
$('#success > .alert-success')
|
||||||
var firstName = name; // For Success/Failure Message
|
.append("<strong>Your message has been sent. </strong>");
|
||||||
// Check for white space in name for Success/Fail message
|
$('#success > .alert-success')
|
||||||
if (firstName.indexOf(' ') >= 0) {
|
.append('</div>');
|
||||||
firstName = name.split(' ').slice(0, -1).join(' ');
|
|
||||||
}
|
|
||||||
$.ajax({
|
|
||||||
url: "././mail/contact_me.php",
|
|
||||||
type: "POST",
|
|
||||||
data: {
|
|
||||||
name: name,
|
|
||||||
phone: phone,
|
|
||||||
email: email,
|
|
||||||
message: message
|
|
||||||
},
|
|
||||||
cache: false,
|
|
||||||
success: function() {
|
|
||||||
// Success message
|
|
||||||
$('#success').html("<div class='alert alert-success'>");
|
|
||||||
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
|
|
||||||
.append("</button>");
|
|
||||||
$('#success > .alert-success')
|
|
||||||
.append("<strong>Your message has been sent. </strong>");
|
|
||||||
$('#success > .alert-success')
|
|
||||||
.append('</div>');
|
|
||||||
|
|
||||||
//clear all fields
|
//clear all fields
|
||||||
$('#contactForm').trigger("reset");
|
$('#contactForm').trigger("reset");
|
||||||
},
|
|
||||||
error: function() {
|
|
||||||
// Fail message
|
|
||||||
$('#success').html("<div class='alert alert-danger'>");
|
|
||||||
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
|
|
||||||
.append("</button>");
|
|
||||||
$('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"));
|
|
||||||
$('#success > .alert-danger').append('</div>');
|
|
||||||
//clear all fields
|
|
||||||
$('#contactForm').trigger("reset");
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
filter: function() {
|
error: function() {
|
||||||
return $(this).is(":visible");
|
// Fail message
|
||||||
|
$('#success').html("<div class='alert alert-danger'>");
|
||||||
|
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
|
||||||
|
.append("</button>");
|
||||||
|
$('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"));
|
||||||
|
$('#success > .alert-danger').append('</div>');
|
||||||
|
//clear all fields
|
||||||
|
$('#contactForm').trigger("reset");
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
filter: function() {
|
||||||
|
return $(this).is(":visible");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
$("a[data-toggle=\"tab\"]").click(function(e) {
|
$("a[data-toggle=\"tab\"]").click(function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).tab("show");
|
$(this).tab("show");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/*When clicking on Full hide fail/success boxes */
|
/*When clicking on Full hide fail/success boxes */
|
||||||
$('#name').focus(function() {
|
$('#name').focus(function() {
|
||||||
$('#success').html('');
|
$('#success').html('');
|
||||||
});
|
});
|
||||||
|
@ -8,28 +8,28 @@
|
|||||||
* http://ReactiveRaven.github.com/jqBootstrapValidation/
|
* http://ReactiveRaven.github.com/jqBootstrapValidation/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(function( $ ){
|
(function($) {
|
||||||
|
|
||||||
var createdElements = [];
|
var createdElements = [];
|
||||||
|
|
||||||
var defaults = {
|
var defaults = {
|
||||||
options: {
|
options: {
|
||||||
prependExistingHelpBlock: false,
|
prependExistingHelpBlock: false,
|
||||||
sniffHtml: true, // sniff for 'required', 'maxlength', etc
|
sniffHtml: true, // sniff for 'required', 'maxlength', etc
|
||||||
preventSubmit: true, // stop the form submit event from firing if validation fails
|
preventSubmit: true, // stop the form submit event from firing if validation fails
|
||||||
submitError: false, // function called if there is an error when trying to submit
|
submitError: false, // function called if there is an error when trying to submit
|
||||||
submitSuccess: false, // function called just before a successful submit event is sent to the server
|
submitSuccess: false, // function called just before a successful submit event is sent to the server
|
||||||
semanticallyStrict: false, // set to true to tidy up generated HTML output
|
semanticallyStrict: false, // set to true to tidy up generated HTML output
|
||||||
autoAdd: {
|
autoAdd: {
|
||||||
helpBlocks: true
|
helpBlocks: true
|
||||||
},
|
},
|
||||||
filter: function () {
|
filter: function() {
|
||||||
// return $(this).is(":visible"); // only validate elements you can see
|
// return $(this).is(":visible"); // only validate elements you can see
|
||||||
return true; // validate everything
|
return true; // validate everything
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init : function( options ) {
|
init: function(options) {
|
||||||
|
|
||||||
var settings = $.extend(true, {}, defaults);
|
var settings = $.extend(true, {}, defaults);
|
||||||
|
|
||||||
@ -38,18 +38,18 @@
|
|||||||
var $siblingElements = this;
|
var $siblingElements = this;
|
||||||
|
|
||||||
var uniqueForms = $.unique(
|
var uniqueForms = $.unique(
|
||||||
$siblingElements.map( function () {
|
$siblingElements.map(function() {
|
||||||
return $(this).parents("form")[0];
|
return $(this).parents("form")[0];
|
||||||
}).toArray()
|
}).toArray()
|
||||||
);
|
);
|
||||||
|
|
||||||
$(uniqueForms).bind("submit", function (e) {
|
$(uniqueForms).bind("submit", function(e) {
|
||||||
var $form = $(this);
|
var $form = $(this);
|
||||||
var warningsFound = 0;
|
var warningsFound = 0;
|
||||||
var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
|
var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
|
||||||
$inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
|
$inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
|
||||||
|
|
||||||
$inputs.each(function (i, el) {
|
$inputs.each(function(i, el) {
|
||||||
var $this = $(el),
|
var $this = $(el),
|
||||||
$controlGroup = $this.parents(".form-group").first();
|
$controlGroup = $this.parents(".form-group").first();
|
||||||
if (
|
if (
|
||||||
@ -78,7 +78,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return this.each(function(){
|
return this.each(function() {
|
||||||
|
|
||||||
// Get references to everything we're interested in
|
// Get references to everything we're interested in
|
||||||
var $this = $(this),
|
var $this = $(this),
|
||||||
@ -89,9 +89,9 @@
|
|||||||
|
|
||||||
// create message container if not exists
|
// create message container if not exists
|
||||||
if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
|
if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
|
||||||
$helpBlock = $('<div class="help-block" />');
|
$helpBlock = $('<div class="help-block" />');
|
||||||
$controlGroup.find('.controls').append($helpBlock);
|
$controlGroup.find('.controls').append($helpBlock);
|
||||||
createdElements.push($helpBlock[0]);
|
createdElements.push($helpBlock[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// =============================================================
|
// =============================================================
|
||||||
@ -225,7 +225,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get extra ones defined on the element's data attributes
|
// Get extra ones defined on the element's data attributes
|
||||||
$.each($this.data(), function (i, el) {
|
$.each($this.data(), function(i, el) {
|
||||||
var parts = i.replace(/([A-Z])/g, ",$1").split(",");
|
var parts = i.replace(/([A-Z])/g, ",$1").split(",");
|
||||||
if (parts[0] === "validation" && parts[1]) {
|
if (parts[0] === "validation" && parts[1]) {
|
||||||
validatorNames.push(parts[1]);
|
validatorNames.push(parts[1]);
|
||||||
@ -242,7 +242,7 @@
|
|||||||
do // repeatedly expand 'shortcut' validators into their real validators
|
do // repeatedly expand 'shortcut' validators into their real validators
|
||||||
{
|
{
|
||||||
// Uppercase only the first letter of each name
|
// Uppercase only the first letter of each name
|
||||||
$.each(validatorNames, function (i, el) {
|
$.each(validatorNames, function(i, el) {
|
||||||
validatorNames[i] = formatValidatorName(el);
|
validatorNames[i] = formatValidatorName(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -263,7 +263,7 @@
|
|||||||
// Pull it out!
|
// Pull it out!
|
||||||
var validator = settings.builtInValidators[el.toLowerCase()];
|
var validator = settings.builtInValidators[el.toLowerCase()];
|
||||||
if (validator.type.toLowerCase() === "shortcut") {
|
if (validator.type.toLowerCase() === "shortcut") {
|
||||||
$.each(validator.shortcut.split(","), function (i, el) {
|
$.each(validator.shortcut.split(","), function(i, el) {
|
||||||
el = formatValidatorName(el);
|
el = formatValidatorName(el);
|
||||||
newValidatorNamesToInspect.push(el);
|
newValidatorNamesToInspect.push(el);
|
||||||
validatorNames.push(el);
|
validatorNames.push(el);
|
||||||
@ -282,30 +282,28 @@
|
|||||||
|
|
||||||
var validators = {};
|
var validators = {};
|
||||||
|
|
||||||
$.each(validatorNames, function (i, el) {
|
$.each(validatorNames, function(i, el) {
|
||||||
// Set up the 'override' message
|
// Set up the 'override' message
|
||||||
var message = $this.data("validation" + el + "Message");
|
var message = $this.data("validation" + el + "Message");
|
||||||
var hasOverrideMessage = (message !== undefined);
|
var hasOverrideMessage = (message !== undefined);
|
||||||
var foundValidator = false;
|
var foundValidator = false;
|
||||||
message =
|
message =
|
||||||
(
|
(
|
||||||
message
|
message ?
|
||||||
? message
|
message :
|
||||||
: "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
|
"'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
|
||||||
)
|
);
|
||||||
;
|
|
||||||
|
|
||||||
$.each(
|
$.each(
|
||||||
settings.validatorTypes,
|
settings.validatorTypes,
|
||||||
function (validatorType, validatorTemplate) {
|
function(validatorType, validatorTemplate) {
|
||||||
if (validators[validatorType] === undefined) {
|
if (validators[validatorType] === undefined) {
|
||||||
validators[validatorType] = [];
|
validators[validatorType] = [];
|
||||||
}
|
}
|
||||||
if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
|
if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
|
||||||
validators[validatorType].push(
|
validators[validatorType].push(
|
||||||
$.extend(
|
$.extend(
|
||||||
true,
|
true, {
|
||||||
{
|
|
||||||
name: formatValidatorName(validatorTemplate.name),
|
name: formatValidatorName(validatorTemplate.name),
|
||||||
message: message
|
message: message
|
||||||
},
|
},
|
||||||
@ -330,7 +328,7 @@
|
|||||||
} else {
|
} else {
|
||||||
$.each(
|
$.each(
|
||||||
settings.validatorTypes,
|
settings.validatorTypes,
|
||||||
function (validatorTemplateType, validatorTemplate) {
|
function(validatorTemplateType, validatorTemplate) {
|
||||||
if (validators[validatorTemplateType] === undefined) {
|
if (validators[validatorTemplateType] === undefined) {
|
||||||
validators[validatorTemplateType] = [];
|
validators[validatorTemplateType] = [];
|
||||||
}
|
}
|
||||||
@ -349,7 +347,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! foundValidator) {
|
if (!foundValidator) {
|
||||||
$.error("Cannot find validation info for '" + el + "'");
|
$.error("Cannot find validation info for '" + el + "'");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -361,36 +359,36 @@
|
|||||||
$helpBlock.data(
|
$helpBlock.data(
|
||||||
"original-contents",
|
"original-contents",
|
||||||
(
|
(
|
||||||
$helpBlock.data("original-contents")
|
$helpBlock.data("original-contents") ?
|
||||||
? $helpBlock.data("original-contents")
|
$helpBlock.data("original-contents") :
|
||||||
: $helpBlock.html()
|
$helpBlock.html()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$helpBlock.data(
|
$helpBlock.data(
|
||||||
"original-role",
|
"original-role",
|
||||||
(
|
(
|
||||||
$helpBlock.data("original-role")
|
$helpBlock.data("original-role") ?
|
||||||
? $helpBlock.data("original-role")
|
$helpBlock.data("original-role") :
|
||||||
: $helpBlock.attr("role")
|
$helpBlock.attr("role")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$controlGroup.data(
|
$controlGroup.data(
|
||||||
"original-classes",
|
"original-classes",
|
||||||
(
|
(
|
||||||
$controlGroup.data("original-clases")
|
$controlGroup.data("original-clases") ?
|
||||||
? $controlGroup.data("original-classes")
|
$controlGroup.data("original-classes") :
|
||||||
: $controlGroup.attr("class")
|
$controlGroup.attr("class")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$this.data(
|
$this.data(
|
||||||
"original-aria-invalid",
|
"original-aria-invalid",
|
||||||
(
|
(
|
||||||
$this.data("original-aria-invalid")
|
$this.data("original-aria-invalid") ?
|
||||||
? $this.data("original-aria-invalid")
|
$this.data("original-aria-invalid") :
|
||||||
: $this.attr("aria-invalid")
|
$this.attr("aria-invalid")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -400,16 +398,16 @@
|
|||||||
|
|
||||||
$this.bind(
|
$this.bind(
|
||||||
"validation.validation",
|
"validation.validation",
|
||||||
function (event, params) {
|
function(event, params) {
|
||||||
|
|
||||||
var value = getValue($this);
|
var value = getValue($this);
|
||||||
|
|
||||||
// Get a list of the errors to apply
|
// Get a list of the errors to apply
|
||||||
var errorsFound = [];
|
var errorsFound = [];
|
||||||
|
|
||||||
$.each(validators, function (validatorType, validatorTypeArray) {
|
$.each(validators, function(validatorType, validatorTypeArray) {
|
||||||
if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
|
if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
|
||||||
$.each(validatorTypeArray, function (i, validator) {
|
$.each(validatorTypeArray, function(i, validator) {
|
||||||
if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
|
if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
|
||||||
errorsFound.push(validator.message);
|
errorsFound.push(validator.message);
|
||||||
}
|
}
|
||||||
@ -423,7 +421,7 @@
|
|||||||
|
|
||||||
$this.bind(
|
$this.bind(
|
||||||
"getValidators.validation",
|
"getValidators.validation",
|
||||||
function () {
|
function() {
|
||||||
return validators;
|
return validators;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -433,8 +431,10 @@
|
|||||||
// =============================================================
|
// =============================================================
|
||||||
$this.bind(
|
$this.bind(
|
||||||
"submit.validation",
|
"submit.validation",
|
||||||
function () {
|
function() {
|
||||||
return $this.triggerHandler("change.validation", {submitting: true});
|
return $this.triggerHandler("change.validation", {
|
||||||
|
submitting: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$this.bind(
|
$this.bind(
|
||||||
@ -447,15 +447,15 @@
|
|||||||
"keypress",
|
"keypress",
|
||||||
"change"
|
"change"
|
||||||
].join(".validation ") + ".validation",
|
].join(".validation ") + ".validation",
|
||||||
function (e, params) {
|
function(e, params) {
|
||||||
|
|
||||||
var value = getValue($this);
|
var value = getValue($this);
|
||||||
|
|
||||||
var errorsFound = [];
|
var errorsFound = [];
|
||||||
|
|
||||||
$controlGroup.find("input,textarea,select").each(function (i, el) {
|
$controlGroup.find("input,textarea,select").each(function(i, el) {
|
||||||
var oldCount = errorsFound.length;
|
var oldCount = errorsFound.length;
|
||||||
$.each($(el).triggerHandler("validation.validation", params), function (j, message) {
|
$.each($(el).triggerHandler("validation.validation", params), function(j, message) {
|
||||||
errorsFound.push(message);
|
errorsFound.push(message);
|
||||||
});
|
});
|
||||||
if (errorsFound.length > oldCount) {
|
if (errorsFound.length > oldCount) {
|
||||||
@ -478,12 +478,12 @@
|
|||||||
// How many errors did we find?
|
// How many errors did we find?
|
||||||
if (settings.options.semanticallyStrict && errorsFound.length === 1) {
|
if (settings.options.semanticallyStrict && errorsFound.length === 1) {
|
||||||
// Only one? Being strict? Just output it.
|
// Only one? Being strict? Just output it.
|
||||||
$helpBlock.html(errorsFound[0] +
|
$helpBlock.html(errorsFound[0] +
|
||||||
( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
|
(settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : ""));
|
||||||
} else {
|
} else {
|
||||||
// Multiple? Being sloppy? Glue them together into an UL.
|
// Multiple? Being sloppy? Glue them together into an UL.
|
||||||
$helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
|
$helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
|
||||||
( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
|
(settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : ""));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$controlGroup.removeClass("warning error success");
|
$controlGroup.removeClass("warning error success");
|
||||||
@ -498,12 +498,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$this.bind("validationLostFocus.validation", function () {
|
$this.bind("validationLostFocus.validation", function() {
|
||||||
$controlGroup.removeClass("success");
|
$controlGroup.removeClass("success");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
destroy : function( ) {
|
destroy: function() {
|
||||||
|
|
||||||
return this.each(
|
return this.each(
|
||||||
function() {
|
function() {
|
||||||
@ -523,26 +523,28 @@
|
|||||||
$this.attr("aria-invalid", $this.data("original-aria-invalid"));
|
$this.attr("aria-invalid", $this.data("original-aria-invalid"));
|
||||||
// reset role
|
// reset role
|
||||||
$helpBlock.attr("role", $this.data("original-role"));
|
$helpBlock.attr("role", $this.data("original-role"));
|
||||||
// remove all elements we created
|
// remove all elements we created
|
||||||
if (createdElements.indexOf($helpBlock[0]) > -1) {
|
if (createdElements.indexOf($helpBlock[0]) > -1) {
|
||||||
$helpBlock.remove();
|
$helpBlock.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
},
|
},
|
||||||
collectErrors : function(includeEmpty) {
|
collectErrors: function(includeEmpty) {
|
||||||
|
|
||||||
var errorMessages = {};
|
var errorMessages = {};
|
||||||
this.each(function (i, el) {
|
this.each(function(i, el) {
|
||||||
var $el = $(el);
|
var $el = $(el);
|
||||||
var name = $el.attr("name");
|
var name = $el.attr("name");
|
||||||
var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
|
var errors = $el.triggerHandler("validation.validation", {
|
||||||
|
includeEmpty: true
|
||||||
|
});
|
||||||
errorMessages[name] = $.extend(true, errors, errorMessages[name]);
|
errorMessages[name] = $.extend(true, errors, errorMessages[name]);
|
||||||
});
|
});
|
||||||
|
|
||||||
$.each(errorMessages, function (i, el) {
|
$.each(errorMessages, function(i, el) {
|
||||||
if (el.length === 0) {
|
if (el.length === 0) {
|
||||||
delete errorMessages[i];
|
delete errorMessages[i];
|
||||||
}
|
}
|
||||||
@ -555,22 +557,24 @@
|
|||||||
|
|
||||||
var errorMessages = [];
|
var errorMessages = [];
|
||||||
|
|
||||||
this.each(function (i, el) {
|
this.each(function(i, el) {
|
||||||
errorMessages = errorMessages.concat(
|
errorMessages = errorMessages.concat(
|
||||||
$(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
|
$(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {
|
||||||
|
submitting: true
|
||||||
|
}) : []
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
return (errorMessages.length > 0);
|
return (errorMessages.length > 0);
|
||||||
},
|
},
|
||||||
override : function (newDefaults) {
|
override: function(newDefaults) {
|
||||||
defaults = $.extend(true, defaults, newDefaults);
|
defaults = $.extend(true, defaults, newDefaults);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
validatorTypes: {
|
validatorTypes: {
|
||||||
callback: {
|
callback: {
|
||||||
name: "callback",
|
name: "callback",
|
||||||
init: function ($this, name) {
|
init: function($this, name) {
|
||||||
return {
|
return {
|
||||||
validatorName: name,
|
validatorName: name,
|
||||||
callback: $this.data("validation" + name + "Callback"),
|
callback: $this.data("validation" + name + "Callback"),
|
||||||
@ -579,13 +583,12 @@
|
|||||||
lastFinished: true
|
lastFinished: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
validate: function ($this, value, validator) {
|
validate: function($this, value, validator) {
|
||||||
if (validator.lastValue === value && validator.lastFinished) {
|
if (validator.lastValue === value && validator.lastFinished) {
|
||||||
return !validator.lastValid;
|
return !validator.lastValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (validator.lastFinished === true)
|
if (validator.lastFinished === true) {
|
||||||
{
|
|
||||||
validator.lastValue = value;
|
validator.lastValue = value;
|
||||||
validator.lastValid = true;
|
validator.lastValid = true;
|
||||||
validator.lastFinished = false;
|
validator.lastFinished = false;
|
||||||
@ -597,7 +600,7 @@
|
|||||||
window,
|
window,
|
||||||
$this,
|
$this,
|
||||||
value,
|
value,
|
||||||
function (data) {
|
function(data) {
|
||||||
if (rrjqbvValidator.lastValue === data.value) {
|
if (rrjqbvValidator.lastValue === data.value) {
|
||||||
rrjqbvValidator.lastValid = data.valid;
|
rrjqbvValidator.lastValid = data.valid;
|
||||||
if (data.message) {
|
if (data.message) {
|
||||||
@ -606,7 +609,7 @@
|
|||||||
rrjqbvValidator.lastFinished = true;
|
rrjqbvValidator.lastFinished = true;
|
||||||
rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
|
rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
|
||||||
// Timeout is set to avoid problems with the events being considered 'already fired'
|
// Timeout is set to avoid problems with the events being considered 'already fired'
|
||||||
setTimeout(function () {
|
setTimeout(function() {
|
||||||
rrjqbvThis.trigger("change.validation");
|
rrjqbvThis.trigger("change.validation");
|
||||||
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
|
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
|
||||||
}
|
}
|
||||||
@ -620,7 +623,7 @@
|
|||||||
},
|
},
|
||||||
ajax: {
|
ajax: {
|
||||||
name: "ajax",
|
name: "ajax",
|
||||||
init: function ($this, name) {
|
init: function($this, name) {
|
||||||
return {
|
return {
|
||||||
validatorName: name,
|
validatorName: name,
|
||||||
url: $this.data("validation" + name + "Ajax"),
|
url: $this.data("validation" + name + "Ajax"),
|
||||||
@ -629,13 +632,12 @@
|
|||||||
lastFinished: true
|
lastFinished: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
validate: function ($this, value, validator) {
|
validate: function($this, value, validator) {
|
||||||
if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
|
if ("" + validator.lastValue === "" + value && validator.lastFinished === true) {
|
||||||
return validator.lastValid === false;
|
return validator.lastValid === false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (validator.lastFinished === true)
|
if (validator.lastFinished === true) {
|
||||||
{
|
|
||||||
validator.lastValue = value;
|
validator.lastValue = value;
|
||||||
validator.lastValid = true;
|
validator.lastValid = true;
|
||||||
validator.lastFinished = false;
|
validator.lastFinished = false;
|
||||||
@ -643,8 +645,8 @@
|
|||||||
url: validator.url,
|
url: validator.url,
|
||||||
data: "value=" + value + "&field=" + $this.attr("name"),
|
data: "value=" + value + "&field=" + $this.attr("name"),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function(data) {
|
||||||
if (""+validator.lastValue === ""+data.value) {
|
if ("" + validator.lastValue === "" + data.value) {
|
||||||
validator.lastValid = !!(data.valid);
|
validator.lastValid = !!(data.valid);
|
||||||
if (data.message) {
|
if (data.message) {
|
||||||
validator.message = data.message;
|
validator.message = data.message;
|
||||||
@ -652,18 +654,18 @@
|
|||||||
validator.lastFinished = true;
|
validator.lastFinished = true;
|
||||||
$this.data("validation" + validator.validatorName + "Message", validator.message);
|
$this.data("validation" + validator.validatorName + "Message", validator.message);
|
||||||
// Timeout is set to avoid problems with the events being considered 'already fired'
|
// Timeout is set to avoid problems with the events being considered 'already fired'
|
||||||
setTimeout(function () {
|
setTimeout(function() {
|
||||||
$this.trigger("change.validation");
|
$this.trigger("change.validation");
|
||||||
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
|
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
failure: function () {
|
failure: function() {
|
||||||
validator.lastValid = true;
|
validator.lastValid = true;
|
||||||
validator.message = "ajax call failed";
|
validator.message = "ajax call failed";
|
||||||
validator.lastFinished = true;
|
validator.lastFinished = true;
|
||||||
$this.data("validation" + validator.validatorName + "Message", validator.message);
|
$this.data("validation" + validator.validatorName + "Message", validator.message);
|
||||||
// Timeout is set to avoid problems with the events being considered 'already fired'
|
// Timeout is set to avoid problems with the events being considered 'already fired'
|
||||||
setTimeout(function () {
|
setTimeout(function() {
|
||||||
$this.trigger("change.validation");
|
$this.trigger("change.validation");
|
||||||
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
|
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
|
||||||
}
|
}
|
||||||
@ -674,239 +676,262 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
regex: {
|
regex: {
|
||||||
name: "regex",
|
name: "regex",
|
||||||
init: function ($this, name) {
|
init: function($this, name) {
|
||||||
return {regex: regexFromString($this.data("validation" + name + "Regex"))};
|
return {
|
||||||
},
|
regex: regexFromString($this.data("validation" + name + "Regex"))
|
||||||
validate: function ($this, value, validator) {
|
};
|
||||||
return (!validator.regex.test(value) && ! validator.negative)
|
},
|
||||||
|| (validator.regex.test(value) && validator.negative);
|
validate: function($this, value, validator) {
|
||||||
}
|
return (!validator.regex.test(value) && !validator.negative) ||
|
||||||
},
|
(validator.regex.test(value) && validator.negative);
|
||||||
required: {
|
}
|
||||||
name: "required",
|
},
|
||||||
init: function ($this, name) {
|
required: {
|
||||||
return {};
|
name: "required",
|
||||||
},
|
init: function($this, name) {
|
||||||
validate: function ($this, value, validator) {
|
return {};
|
||||||
return !!(value.length === 0 && ! validator.negative)
|
},
|
||||||
|| !!(value.length > 0 && validator.negative);
|
validate: function($this, value, validator) {
|
||||||
},
|
return !!(value.length === 0 && !validator.negative) ||
|
||||||
|
!!(value.length > 0 && validator.negative);
|
||||||
|
},
|
||||||
blockSubmit: true
|
blockSubmit: true
|
||||||
},
|
},
|
||||||
match: {
|
match: {
|
||||||
name: "match",
|
name: "match",
|
||||||
init: function ($this, name) {
|
init: function($this, name) {
|
||||||
var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
|
var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
|
||||||
element.bind("validation.validation", function () {
|
element.bind("validation.validation", function() {
|
||||||
$this.trigger("change.validation", {submitting: true});
|
$this.trigger("change.validation", {
|
||||||
});
|
submitting: true
|
||||||
return {"element": element};
|
});
|
||||||
},
|
});
|
||||||
validate: function ($this, value, validator) {
|
return {
|
||||||
return (value !== validator.element.val() && ! validator.negative)
|
"element": element
|
||||||
|| (value === validator.element.val() && validator.negative);
|
};
|
||||||
},
|
},
|
||||||
|
validate: function($this, value, validator) {
|
||||||
|
return (value !== validator.element.val() && !validator.negative) ||
|
||||||
|
(value === validator.element.val() && validator.negative);
|
||||||
|
},
|
||||||
blockSubmit: true
|
blockSubmit: true
|
||||||
},
|
},
|
||||||
max: {
|
max: {
|
||||||
name: "max",
|
name: "max",
|
||||||
init: function ($this, name) {
|
init: function($this, name) {
|
||||||
return {max: $this.data("validation" + name + "Max")};
|
return {
|
||||||
},
|
max: $this.data("validation" + name + "Max")
|
||||||
validate: function ($this, value, validator) {
|
};
|
||||||
return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)
|
},
|
||||||
|| (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
|
validate: function($this, value, validator) {
|
||||||
}
|
return (parseFloat(value, 10) > parseFloat(validator.max, 10) && !validator.negative) ||
|
||||||
},
|
(parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
|
||||||
min: {
|
}
|
||||||
name: "min",
|
},
|
||||||
init: function ($this, name) {
|
min: {
|
||||||
return {min: $this.data("validation" + name + "Min")};
|
name: "min",
|
||||||
},
|
init: function($this, name) {
|
||||||
validate: function ($this, value, validator) {
|
return {
|
||||||
return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
|
min: $this.data("validation" + name + "Min")
|
||||||
|| (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
|
};
|
||||||
}
|
},
|
||||||
},
|
validate: function($this, value, validator) {
|
||||||
maxlength: {
|
return (parseFloat(value) < parseFloat(validator.min) && !validator.negative) ||
|
||||||
name: "maxlength",
|
(parseFloat(value) >= parseFloat(validator.min) && validator.negative);
|
||||||
init: function ($this, name) {
|
}
|
||||||
return {maxlength: $this.data("validation" + name + "Maxlength")};
|
},
|
||||||
},
|
maxlength: {
|
||||||
validate: function ($this, value, validator) {
|
name: "maxlength",
|
||||||
return ((value.length > validator.maxlength) && ! validator.negative)
|
init: function($this, name) {
|
||||||
|| ((value.length <= validator.maxlength) && validator.negative);
|
return {
|
||||||
}
|
maxlength: $this.data("validation" + name + "Maxlength")
|
||||||
},
|
};
|
||||||
minlength: {
|
},
|
||||||
name: "minlength",
|
validate: function($this, value, validator) {
|
||||||
init: function ($this, name) {
|
return ((value.length > validator.maxlength) && !validator.negative) ||
|
||||||
return {minlength: $this.data("validation" + name + "Minlength")};
|
((value.length <= validator.maxlength) && validator.negative);
|
||||||
},
|
}
|
||||||
validate: function ($this, value, validator) {
|
},
|
||||||
return ((value.length < validator.minlength) && ! validator.negative)
|
minlength: {
|
||||||
|| ((value.length >= validator.minlength) && validator.negative);
|
name: "minlength",
|
||||||
}
|
init: function($this, name) {
|
||||||
},
|
return {
|
||||||
maxchecked: {
|
minlength: $this.data("validation" + name + "Minlength")
|
||||||
name: "maxchecked",
|
};
|
||||||
init: function ($this, name) {
|
},
|
||||||
var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
|
validate: function($this, value, validator) {
|
||||||
elements.bind("click.validation", function () {
|
return ((value.length < validator.minlength) && !validator.negative) ||
|
||||||
$this.trigger("change.validation", {includeEmpty: true});
|
((value.length >= validator.minlength) && validator.negative);
|
||||||
});
|
}
|
||||||
return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
|
},
|
||||||
},
|
maxchecked: {
|
||||||
validate: function ($this, value, validator) {
|
name: "maxchecked",
|
||||||
return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)
|
init: function($this, name) {
|
||||||
|| (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
|
var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
|
||||||
},
|
elements.bind("click.validation", function() {
|
||||||
|
$this.trigger("change.validation", {
|
||||||
|
includeEmpty: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
maxchecked: $this.data("validation" + name + "Maxchecked"),
|
||||||
|
elements: elements
|
||||||
|
};
|
||||||
|
},
|
||||||
|
validate: function($this, value, validator) {
|
||||||
|
return (validator.elements.filter(":checked").length > validator.maxchecked && !validator.negative) ||
|
||||||
|
(validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
|
||||||
|
},
|
||||||
blockSubmit: true
|
blockSubmit: true
|
||||||
},
|
},
|
||||||
minchecked: {
|
minchecked: {
|
||||||
name: "minchecked",
|
name: "minchecked",
|
||||||
init: function ($this, name) {
|
init: function($this, name) {
|
||||||
var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
|
var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
|
||||||
elements.bind("click.validation", function () {
|
elements.bind("click.validation", function() {
|
||||||
$this.trigger("change.validation", {includeEmpty: true});
|
$this.trigger("change.validation", {
|
||||||
});
|
includeEmpty: true
|
||||||
return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
|
});
|
||||||
},
|
});
|
||||||
validate: function ($this, value, validator) {
|
return {
|
||||||
return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)
|
minchecked: $this.data("validation" + name + "Minchecked"),
|
||||||
|| (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
|
elements: elements
|
||||||
},
|
};
|
||||||
|
},
|
||||||
|
validate: function($this, value, validator) {
|
||||||
|
return (validator.elements.filter(":checked").length < validator.minchecked && !validator.negative) ||
|
||||||
|
(validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
|
||||||
|
},
|
||||||
blockSubmit: true
|
blockSubmit: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
builtInValidators: {
|
builtInValidators: {
|
||||||
email: {
|
email: {
|
||||||
name: "Email",
|
name: "Email",
|
||||||
type: "shortcut",
|
type: "shortcut",
|
||||||
shortcut: "validemail"
|
shortcut: "validemail"
|
||||||
},
|
},
|
||||||
validemail: {
|
validemail: {
|
||||||
name: "Validemail",
|
name: "Validemail",
|
||||||
type: "regex",
|
type: "regex",
|
||||||
regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
|
regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
|
||||||
message: "Not a valid email address<!-- data-validator-validemail-message to override -->"
|
message: "Not a valid email address<!-- data-validator-validemail-message to override -->"
|
||||||
},
|
},
|
||||||
passwordagain: {
|
passwordagain: {
|
||||||
name: "Passwordagain",
|
name: "Passwordagain",
|
||||||
type: "match",
|
type: "match",
|
||||||
match: "password",
|
match: "password",
|
||||||
message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
|
message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
|
||||||
},
|
},
|
||||||
positive: {
|
positive: {
|
||||||
name: "Positive",
|
name: "Positive",
|
||||||
type: "shortcut",
|
type: "shortcut",
|
||||||
shortcut: "number,positivenumber"
|
shortcut: "number,positivenumber"
|
||||||
},
|
},
|
||||||
negative: {
|
negative: {
|
||||||
name: "Negative",
|
name: "Negative",
|
||||||
type: "shortcut",
|
type: "shortcut",
|
||||||
shortcut: "number,negativenumber"
|
shortcut: "number,negativenumber"
|
||||||
},
|
},
|
||||||
number: {
|
number: {
|
||||||
name: "Number",
|
name: "Number",
|
||||||
type: "regex",
|
type: "regex",
|
||||||
regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
|
regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
|
||||||
message: "Must be a number<!-- data-validator-number-message to override -->"
|
message: "Must be a number<!-- data-validator-number-message to override -->"
|
||||||
},
|
},
|
||||||
integer: {
|
integer: {
|
||||||
name: "Integer",
|
name: "Integer",
|
||||||
type: "regex",
|
type: "regex",
|
||||||
regex: "[+-]?\\\d+",
|
regex: "[+-]?\\\d+",
|
||||||
message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
|
message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
|
||||||
},
|
},
|
||||||
positivenumber: {
|
positivenumber: {
|
||||||
name: "Positivenumber",
|
name: "Positivenumber",
|
||||||
type: "min",
|
type: "min",
|
||||||
min: 0,
|
min: 0,
|
||||||
message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
|
message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
|
||||||
},
|
},
|
||||||
negativenumber: {
|
negativenumber: {
|
||||||
name: "Negativenumber",
|
name: "Negativenumber",
|
||||||
type: "max",
|
type: "max",
|
||||||
max: 0,
|
max: 0,
|
||||||
message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
|
message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
|
||||||
},
|
},
|
||||||
required: {
|
required: {
|
||||||
name: "Required",
|
name: "Required",
|
||||||
type: "required",
|
type: "required",
|
||||||
message: "This is required<!-- data-validator-required-message to override -->"
|
message: "This is required<!-- data-validator-required-message to override -->"
|
||||||
},
|
},
|
||||||
checkone: {
|
checkone: {
|
||||||
name: "Checkone",
|
name: "Checkone",
|
||||||
type: "minchecked",
|
type: "minchecked",
|
||||||
minchecked: 1,
|
minchecked: 1,
|
||||||
message: "Check at least one option<!-- data-validation-checkone-message to override -->"
|
message: "Check at least one option<!-- data-validation-checkone-message to override -->"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var formatValidatorName = function (name) {
|
var formatValidatorName = function(name) {
|
||||||
return name
|
return name
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.replace(
|
.replace(
|
||||||
/(^|\s)([a-z])/g ,
|
/(^|\s)([a-z])/g,
|
||||||
function(m,p1,p2) {
|
function(m, p1, p2) {
|
||||||
return p1+p2.toUpperCase();
|
return p1 + p2.toUpperCase();
|
||||||
}
|
}
|
||||||
)
|
);
|
||||||
;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
var getValue = function ($this) {
|
var getValue = function($this) {
|
||||||
// Extract the value we're talking about
|
// Extract the value we're talking about
|
||||||
var value = $this.val();
|
var value = $this.val();
|
||||||
var type = $this.attr("type");
|
var type = $this.attr("type");
|
||||||
if (type === "checkbox") {
|
if (type === "checkbox") {
|
||||||
value = ($this.is(":checked") ? value : "");
|
value = ($this.is(":checked") ? value : "");
|
||||||
}
|
}
|
||||||
if (type === "radio") {
|
if (type === "radio") {
|
||||||
value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
|
value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
|
||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
};
|
};
|
||||||
|
|
||||||
function regexFromString(inputstring) {
|
function regexFromString(inputstring) {
|
||||||
return new RegExp("^" + inputstring + "$");
|
return new RegExp("^" + inputstring + "$");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thanks to Jason Bunting via StackOverflow.com
|
* Thanks to Jason Bunting via StackOverflow.com
|
||||||
*
|
*
|
||||||
* http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
|
* http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
|
||||||
* Short link: http://tinyurl.com/executeFunctionByName
|
* Short link: http://tinyurl.com/executeFunctionByName
|
||||||
**/
|
**/
|
||||||
function executeFunctionByName(functionName, context /*, args*/) {
|
function executeFunctionByName(functionName, context /*, args*/ ) {
|
||||||
var args = Array.prototype.slice.call(arguments).splice(2);
|
var args = Array.prototype.slice.call(arguments).splice(2);
|
||||||
var namespaces = functionName.split(".");
|
var namespaces = functionName.split(".");
|
||||||
var func = namespaces.pop();
|
var func = namespaces.pop();
|
||||||
for(var i = 0; i < namespaces.length; i++) {
|
for (var i = 0; i < namespaces.length; i++) {
|
||||||
context = context[namespaces[i]];
|
context = context[namespaces[i]];
|
||||||
}
|
}
|
||||||
return context[func].apply(this, args);
|
return context[func].apply(this, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
$.fn.jqBootstrapValidation = function( method ) {
|
$.fn.jqBootstrapValidation = function(method) {
|
||||||
|
|
||||||
if ( defaults.methods[method] ) {
|
if (defaults.methods[method]) {
|
||||||
return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
|
return defaults.methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
|
||||||
} else if ( typeof method === 'object' || ! method ) {
|
} else if (typeof method === 'object' || !method) {
|
||||||
return defaults.methods.init.apply( this, arguments );
|
return defaults.methods.init.apply(this, arguments);
|
||||||
} else {
|
} else {
|
||||||
$.error( 'Method ' + method + ' does not exist on jQuery.jqBootstrapValidation' );
|
$.error('Method ' + method + ' does not exist on jQuery.jqBootstrapValidation');
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
$.jqBootstrapValidation = function (options) {
|
|
||||||
$(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
})( jQuery );
|
$.jqBootstrapValidation = function(options) {
|
||||||
|
$(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this, arguments);
|
||||||
|
};
|
||||||
|
|
||||||
|
})(jQuery);
|
||||||
|
86
package.json
86
package.json
@ -1,44 +1,44 @@
|
|||||||
{
|
{
|
||||||
"title": "Agency",
|
"title": "Agency",
|
||||||
"name": "startbootstrap-agency",
|
"name": "startbootstrap-agency",
|
||||||
"version": "4.0.0-alpha",
|
"version": "4.0.0-alpha",
|
||||||
"description": "Agency is a one page HTML theme for Bootstrap.",
|
"description": "Agency is a one page HTML theme for Bootstrap.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"css",
|
"css",
|
||||||
"sass",
|
"sass",
|
||||||
"html",
|
"html",
|
||||||
"responsive",
|
"responsive",
|
||||||
"theme",
|
"theme",
|
||||||
"template"
|
"template"
|
||||||
],
|
],
|
||||||
"homepage": "http://startbootstrap.com/template-overviews/agency",
|
"homepage": "http://startbootstrap.com/template-overviews/agency",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/BlackrockDigital/startbootstrap-agency/issues",
|
"url": "https://github.com/BlackrockDigital/startbootstrap-agency/issues",
|
||||||
"email": "feedback@startbootstrap.com"
|
"email": "feedback@startbootstrap.com"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "Start Bootstrap",
|
"author": "Start Bootstrap",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"David Miller (http://davidmiller.io/)"
|
"David Miller (http://davidmiller.io/)"
|
||||||
],
|
],
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/BlackrockDigital/startbootstrap-agency.git"
|
"url": "https://github.com/BlackrockDigital/startbootstrap-agency.git"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "^4.0.0-alpha.6",
|
"bootstrap": "^4.0.0-beta",
|
||||||
"font-awesome": "4.7.0",
|
"font-awesome": "4.7.0",
|
||||||
"jquery": "^3.2.1",
|
"jquery": "^3.2.1",
|
||||||
"jquery.easing": "^1.4.1",
|
"jquery.easing": "^1.4.1",
|
||||||
"tether": "^1.4.0"
|
"popper.js": "^1.11.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"browser-sync": "^2.18.8",
|
"browser-sync": "2.18.13",
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
"gulp-clean-css": "3.2.0",
|
"gulp-clean-css": "3.7.0",
|
||||||
"gulp-header": "1.8.8",
|
"gulp-header": "1.8.9",
|
||||||
"gulp-rename": "^1.2.2",
|
"gulp-rename": "^1.2.2",
|
||||||
"gulp-sass": "^3.1.0",
|
"gulp-sass": "^3.1.0",
|
||||||
"gulp-uglify": "^2.1.2"
|
"gulp-uglify": "3.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
// Bootstrap overrides for this template
|
// Bootstrap overrides for this template
|
||||||
.text-primary {
|
.text-primary {
|
||||||
color: $theme-primary !important;
|
color: $theme-primary !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@include button-variant(white, $theme-primary, $theme-primary);
|
@include button-variant(white, $theme-primary, $theme-primary);
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-xl {
|
.btn-xl {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
padding: 20px 40px;
|
padding: 20px 40px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
@include button-variant(white, $theme-primary, $theme-primary);
|
@include button-variant(white, $theme-primary, $theme-primary);
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
}
|
||||||
|
@ -1,52 +1,52 @@
|
|||||||
// Styling for the contact section
|
// Styling for the contact section
|
||||||
section#contact {
|
section#contact {
|
||||||
background-color: $gray-darker;
|
background-color: $gray-darker;
|
||||||
background-image: url('../img/map-image.png');
|
background-image: url('../img/map-image.png');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
.section-heading {
|
.section-heading {
|
||||||
color: white;
|
color: white;
|
||||||
|
}
|
||||||
|
.form-group {
|
||||||
|
margin-bottom: 25px;
|
||||||
|
input,
|
||||||
|
textarea {
|
||||||
|
padding: 20px;
|
||||||
}
|
}
|
||||||
.form-group {
|
input.form-control {
|
||||||
margin-bottom: 25px;
|
height: auto;
|
||||||
input,
|
|
||||||
textarea {
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
input.form-control {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
textarea.form-control {
|
|
||||||
height: 236px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.form-control:focus {
|
textarea.form-control {
|
||||||
border-color: $theme-primary;
|
height: 236px;
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
::-webkit-input-placeholder {
|
|
||||||
font-weight: 700;
|
|
||||||
color: $gray-lighter;
|
|
||||||
@include heading-font;
|
|
||||||
}
|
|
||||||
:-moz-placeholder {
|
|
||||||
font-weight: 700;
|
|
||||||
color: $gray-lighter;
|
|
||||||
/* Firefox 18- */
|
|
||||||
@include heading-font;
|
|
||||||
}
|
|
||||||
::-moz-placeholder {
|
|
||||||
font-weight: 700;
|
|
||||||
color: $gray-lighter;
|
|
||||||
/* Firefox 19+ */
|
|
||||||
@include heading-font;
|
|
||||||
}
|
|
||||||
:-ms-input-placeholder {
|
|
||||||
font-weight: 700;
|
|
||||||
color: $gray-lighter;
|
|
||||||
@include heading-font;
|
|
||||||
}
|
|
||||||
.text-danger {
|
|
||||||
color: $theme-danger;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
.form-control:focus {
|
||||||
|
border-color: $theme-primary;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
::-webkit-input-placeholder {
|
||||||
|
font-weight: 700;
|
||||||
|
color: $gray-lighter;
|
||||||
|
@include heading-font;
|
||||||
|
}
|
||||||
|
:-moz-placeholder {
|
||||||
|
font-weight: 700;
|
||||||
|
color: $gray-lighter;
|
||||||
|
/* Firefox 18- */
|
||||||
|
@include heading-font;
|
||||||
|
}
|
||||||
|
::-moz-placeholder {
|
||||||
|
font-weight: 700;
|
||||||
|
color: $gray-lighter;
|
||||||
|
/* Firefox 19+ */
|
||||||
|
@include heading-font;
|
||||||
|
}
|
||||||
|
:-ms-input-placeholder {
|
||||||
|
font-weight: 700;
|
||||||
|
color: $gray-lighter;
|
||||||
|
@include heading-font;
|
||||||
|
}
|
||||||
|
.text-danger {
|
||||||
|
color: $theme-danger;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,43 +1,43 @@
|
|||||||
// Styling for the footer
|
// Styling for the footer
|
||||||
footer {
|
footer {
|
||||||
padding: 25px 0;
|
padding: 25px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
span.copyright {
|
span.copyright {
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
}
|
||||||
ul.quicklinks {
|
ul.quicklinks {
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.social-buttons {
|
ul.social-buttons {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
li {
|
li {
|
||||||
a {
|
a {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
display: block;
|
display: block;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
-webkit-transition: all .3s;
|
-webkit-transition: all 0.3s;
|
||||||
-moz-transition: all .3s;
|
-moz-transition: all 0.3s;
|
||||||
transition: all .3s;
|
transition: all 0.3s;
|
||||||
color: white;
|
color: white;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
outline: none;
|
outline: none;
|
||||||
background-color: $gray-darker;
|
background-color: $gray-darker;
|
||||||
&:hover,
|
&:active,
|
||||||
&:focus,
|
&:focus,
|
||||||
&:active {
|
&:hover {
|
||||||
background-color: $theme-primary;
|
background-color: $theme-primary;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
// Global styling for this template
|
// Global styling for this template
|
||||||
body {
|
body {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
@include body-font;
|
@include body-font;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
line-height: 1.75;
|
line-height: 1.75;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: $theme-primary;
|
color: $theme-primary;
|
||||||
&:hover,
|
&.active,
|
||||||
&:focus,
|
&:active,
|
||||||
&:active,
|
&:focus,
|
||||||
&.active {
|
&:hover {
|
||||||
color: darken($theme-primary, 10%);
|
color: darken($theme-primary, 10%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
@ -24,52 +24,51 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
}
|
||||||
|
|
||||||
section {
|
section {
|
||||||
padding: 100px 0;
|
padding: 100px 0;
|
||||||
h2.section-heading {
|
h2.section-heading {
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
h3.section-subheading {
|
h3.section-subheading {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
margin-bottom: 75px;
|
margin-bottom: 75px;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
@include serif-font;
|
@include serif-font;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width:768px) {
|
@media(min-width:768px) {
|
||||||
section {
|
section {
|
||||||
padding: 150px 0;
|
padding: 150px 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Highlight color customization
|
// Highlight color customization
|
||||||
::-moz-selection {
|
::-moz-selection {
|
||||||
background: $theme-primary;
|
background: $theme-primary;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
::selection {
|
::selection {
|
||||||
background: $theme-primary;
|
background: $theme-primary;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
img::selection {
|
img::selection {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
img::-moz-selection {
|
img::-moz-selection {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
-webkit-tap-highlight-color: $theme-primary;
|
-webkit-tap-highlight-color: $theme-primary;
|
||||||
}
|
}
|
||||||
|
@ -1,51 +1,50 @@
|
|||||||
// Styling for the masthead
|
// Styling for the masthead
|
||||||
header.masthead {
|
header.masthead {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: white;
|
color: white;
|
||||||
background-image: url('../img/header-bg.jpg');
|
background-image: url('../img/header-bg.jpg');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-attachment: scroll;
|
background-attachment: scroll;
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
@include background-cover;
|
@include background-cover;
|
||||||
.intro-text {
|
.intro-text {
|
||||||
padding-top: 100px;
|
padding-top: 150px;
|
||||||
padding-bottom: 50px;
|
padding-bottom: 100px;
|
||||||
.intro-lead-in {
|
.intro-lead-in {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
margin-bottom: 25px;
|
margin-bottom: 25px;
|
||||||
@include serif-font;
|
@include serif-font;
|
||||||
}
|
|
||||||
.intro-heading {
|
|
||||||
font-size: 50px;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 50px;
|
|
||||||
margin-bottom: 25px;
|
|
||||||
@include heading-font;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
.intro-heading {
|
||||||
|
font-size: 50px;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 50px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
@include heading-font;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width:768px) {
|
@media(min-width:768px) {
|
||||||
header.masthead {
|
header.masthead {
|
||||||
.intro-text {
|
.intro-text {
|
||||||
padding-top: 300px;
|
padding-top: 300px;
|
||||||
padding-bottom: 200px;
|
padding-bottom: 200px;
|
||||||
.intro-lead-in {
|
.intro-lead-in {
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
margin-bottom: 25px;
|
margin-bottom: 25px;
|
||||||
@include serif-font;
|
@include serif-font;
|
||||||
}
|
}
|
||||||
.intro-heading {
|
.intro-heading {
|
||||||
font-size: 75px;
|
font-size: 75px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 75px;
|
line-height: 75px;
|
||||||
margin-bottom: 50px;
|
margin-bottom: 50px;
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,77 +1,74 @@
|
|||||||
// Mixins
|
// Mixins
|
||||||
// Bootstrap Button Variant
|
// Bootstrap Button Variant
|
||||||
@mixin button-variant($color, $background, $border) {
|
@mixin button-variant($color, $background, $border) {
|
||||||
|
color: $color;
|
||||||
|
border-color: $border;
|
||||||
|
background-color: $background;
|
||||||
|
&.focus,
|
||||||
|
&:focus {
|
||||||
color: $color;
|
color: $color;
|
||||||
border-color: $border;
|
border-color: darken($border, 25%);
|
||||||
background-color: $background;
|
background-color: darken($background, 10%);
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
color: $color;
|
||||||
|
border-color: darken($border, 12%);
|
||||||
|
background-color: darken($background, 10%);
|
||||||
|
}
|
||||||
|
&.active,
|
||||||
|
&:active,
|
||||||
|
.open > &.dropdown-toggle {
|
||||||
|
color: $color;
|
||||||
|
border-color: darken($border, 12%);
|
||||||
|
background-color: darken($background, 10%);
|
||||||
|
&.focus,
|
||||||
&:focus,
|
&:focus,
|
||||||
&.focus {
|
|
||||||
color: $color;
|
|
||||||
border-color: darken($border, 25%);
|
|
||||||
background-color: darken($background, 10%);
|
|
||||||
}
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: $color;
|
color: $color;
|
||||||
border-color: darken($border, 12%);
|
border-color: darken($border, 25%);
|
||||||
background-color: darken($background, 10%);
|
background-color: darken($background, 17%);
|
||||||
}
|
}
|
||||||
&:active,
|
}
|
||||||
&.active,
|
&.active,
|
||||||
.open > &.dropdown-toggle {
|
&:active,
|
||||||
color: $color;
|
.open > &.dropdown-toggle {
|
||||||
border-color: darken($border, 12%);
|
background-image: none;
|
||||||
background-color: darken($background, 10%);
|
}
|
||||||
&:hover,
|
&.disabled,
|
||||||
&:focus,
|
&[disabled],
|
||||||
&.focus {
|
fieldset[disabled] & {
|
||||||
color: $color;
|
&.focus,
|
||||||
border-color: darken($border, 25%);
|
&:focus,
|
||||||
background-color: darken($background, 17%);
|
&:hover {
|
||||||
}
|
border-color: $border;
|
||||||
}
|
background-color: $background;
|
||||||
&:active,
|
|
||||||
&.active,
|
|
||||||
.open > &.dropdown-toggle {
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
&.disabled,
|
|
||||||
&[disabled],
|
|
||||||
fieldset[disabled] & {
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
|
||||||
&.focus {
|
|
||||||
border-color: $border;
|
|
||||||
background-color: $background;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.badge {
|
|
||||||
color: $background;
|
|
||||||
background-color: $color;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
.badge {
|
||||||
|
color: $background;
|
||||||
|
background-color: $color;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Background Cover Mixin
|
// Background Cover Mixin
|
||||||
@mixin background-cover {
|
@mixin background-cover {
|
||||||
-webkit-background-size: cover;
|
-webkit-background-size: cover;
|
||||||
-moz-background-size: cover;
|
-moz-background-size: cover;
|
||||||
-o-background-size: cover;
|
-o-background-size: cover;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Font Mixins
|
// Font Mixins
|
||||||
@mixin serif-font {
|
@mixin serif-font {
|
||||||
font-family: 'Droid Serif', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
font-family: 'Droid Serif', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin script-font {
|
@mixin script-font {
|
||||||
font-family: 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial, cursive;
|
font-family: 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial, cursive;
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin body-font {
|
@mixin body-font {
|
||||||
font-family: 'Roboto Slab', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
font-family: 'Roboto Slab', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin heading-font {
|
@mixin heading-font {
|
||||||
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
@ -1,75 +1,73 @@
|
|||||||
// Styling for the navbar
|
// Styling for the navbar
|
||||||
#mainNav {
|
#mainNav {
|
||||||
background-color: $gray-darker;
|
background-color: $gray-darker;
|
||||||
.navbar-toggler {
|
.navbar-toggler {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
right: 0;
|
right: 0;
|
||||||
padding: 13px;
|
padding: 13px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
color: white;
|
||||||
|
border: 0;
|
||||||
|
background-color: $theme-primary;
|
||||||
|
@include heading-font;
|
||||||
|
}
|
||||||
|
.navbar-brand {
|
||||||
|
color: $theme-primary;
|
||||||
|
@include script-font;
|
||||||
|
&.active,
|
||||||
|
&:active,
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
color: darken($theme-primary, 10%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.navbar-nav {
|
||||||
|
.nav-item {
|
||||||
|
.nav-link {
|
||||||
|
font-size: 90%;
|
||||||
|
font-weight: 400;
|
||||||
|
padding: 0.75em 0;
|
||||||
|
letter-spacing: 1px;
|
||||||
color: white;
|
color: white;
|
||||||
border: 0;
|
|
||||||
background-color: $theme-primary;
|
|
||||||
@include heading-font;
|
@include heading-font;
|
||||||
}
|
&.active,
|
||||||
.container {
|
&:hover {
|
||||||
padding: 0;
|
color: $theme-primary;
|
||||||
.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%;
|
|
||||||
font-weight: 400;
|
|
||||||
padding: .75em 0;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
color: white;
|
|
||||||
@include heading-font;
|
|
||||||
&:hover,
|
|
||||||
&.active {
|
|
||||||
color: $theme-primary;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width:992px) {
|
@media(min-width:992px) {
|
||||||
#mainNav {
|
#mainNav {
|
||||||
padding: 25px 0;
|
padding-top: 25px;
|
||||||
-webkit-transition: padding .3s;
|
padding-bottom: 25px;
|
||||||
-moz-transition: padding .3s;
|
-webkit-transition: padding-top 0.3s, padding-bottom 0.3s;
|
||||||
transition: padding .3s;
|
-moz-transition: padding-top 0.3s, padding-bottom 0.3s;
|
||||||
border: none;
|
transition: padding-top 0.3s, padding-bottom 0.3s;
|
||||||
background-color: transparent;
|
border: none;
|
||||||
.navbar-brand {
|
background-color: transparent;
|
||||||
font-size: 1.75em;
|
.navbar-brand {
|
||||||
-webkit-transition: all .3s;
|
font-size: 1.75em;
|
||||||
-moz-transition: all .3s;
|
-webkit-transition: all 0.3s;
|
||||||
transition: all .3s;
|
-moz-transition: all 0.3s;
|
||||||
}
|
transition: all 0.3s;
|
||||||
.navbar-nav {
|
|
||||||
.nav-item {
|
|
||||||
.nav-link {
|
|
||||||
padding: 1.1em 1em !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.navbar-shrink {
|
|
||||||
padding: 0;
|
|
||||||
background-color: $gray-darker;
|
|
||||||
.navbar-brand {
|
|
||||||
font-size: 1.25em;
|
|
||||||
padding: 12px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
.navbar-nav {
|
||||||
|
.nav-item {
|
||||||
|
.nav-link {
|
||||||
|
padding: 1.1em 1em !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.navbar-shrink {
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
background-color: $gray-darker;
|
||||||
|
.navbar-brand {
|
||||||
|
font-size: 1.25em;
|
||||||
|
padding: 12px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,152 +1,151 @@
|
|||||||
// Styling for the portfolio section
|
// Styling for the portfolio section
|
||||||
#portfolio {
|
#portfolio {
|
||||||
.portfolio-item {
|
.portfolio-item {
|
||||||
right: 0;
|
right: 0;
|
||||||
margin: 0 0 15px;
|
margin: 0 0 15px;
|
||||||
.portfolio-link {
|
.portfolio-link {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: block;
|
display: block;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
.portfolio-hover {
|
.portfolio-hover {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
-webkit-transition: all ease .5s;
|
-webkit-transition: all ease 0.5s;
|
||||||
-moz-transition: all ease .5s;
|
-moz-transition: all ease 0.5s;
|
||||||
transition: all ease .5s;
|
transition: all ease 0.5s;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
background: fade-out($theme-primary, .1);
|
background: fade-out($theme-primary, .1);
|
||||||
&:hover {
|
&:hover {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
|
||||||
.portfolio-hover-content {
|
|
||||||
font-size: 20px;
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
width: 100%;
|
|
||||||
height: 20px;
|
|
||||||
margin-top: -12px;
|
|
||||||
text-align: center;
|
|
||||||
color: white;
|
|
||||||
i {
|
|
||||||
margin-top: -12px;
|
|
||||||
}
|
|
||||||
h3,
|
|
||||||
h4 {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.portfolio-caption {
|
.portfolio-hover-content {
|
||||||
max-width: 400px;
|
font-size: 20px;
|
||||||
margin: 0 auto;
|
position: absolute;
|
||||||
padding: 25px;
|
top: 50%;
|
||||||
text-align: center;
|
width: 100%;
|
||||||
background-color: white;
|
height: 20px;
|
||||||
h4 {
|
margin-top: -12px;
|
||||||
margin: 0;
|
text-align: center;
|
||||||
text-transform: none;
|
color: white;
|
||||||
}
|
i {
|
||||||
p {
|
margin-top: -12px;
|
||||||
font-size: 16px;
|
}
|
||||||
font-style: italic;
|
h3,
|
||||||
margin: 0;
|
h4 {
|
||||||
@include serif-font;
|
margin: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
* {
|
.portfolio-caption {
|
||||||
z-index: 2;
|
max-width: 400px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 25px;
|
||||||
|
text-align: center;
|
||||||
|
background-color: white;
|
||||||
|
h4 {
|
||||||
|
margin: 0;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: italic;
|
||||||
|
margin: 0;
|
||||||
|
@include serif-font;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width:767px) {
|
@media(min-width:767px) {
|
||||||
#portfolio {
|
#portfolio {
|
||||||
.portfolio-item {
|
.portfolio-item {
|
||||||
margin: 0 0 30px;
|
margin: 0 0 30px;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.portfolio-modal {
|
.portfolio-modal {
|
||||||
.modal-dialog {
|
.modal-dialog {
|
||||||
max-width: none;
|
max-width: none;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
}
|
||||||
|
.modal-content {
|
||||||
|
min-height: 100%;
|
||||||
|
padding: 100px 0;
|
||||||
|
text-align: center;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
background-clip: border-box;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
h2 {
|
||||||
|
font-size: 3em;
|
||||||
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
.modal-content {
|
p {
|
||||||
min-height: 100%;
|
margin-bottom: 30px;
|
||||||
padding: 100px 0;
|
|
||||||
text-align: center;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
background-clip: border-box;
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
box-shadow: none;
|
|
||||||
h2 {
|
|
||||||
font-size: 3em;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
p.item-intro {
|
|
||||||
font-size: 16px;
|
|
||||||
font-style: italic;
|
|
||||||
margin: 20px 0 30px;
|
|
||||||
@include serif-font;
|
|
||||||
}
|
|
||||||
ul.list-inline {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.close-modal {
|
p.item-intro {
|
||||||
position: absolute;
|
font-size: 16px;
|
||||||
top: 25px;
|
font-style: italic;
|
||||||
right: 25px;
|
margin: 20px 0 30px;
|
||||||
width: 75px;
|
@include serif-font;
|
||||||
|
}
|
||||||
|
ul.list-inline {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.close-modal {
|
||||||
|
position: absolute;
|
||||||
|
top: 25px;
|
||||||
|
right: 25px;
|
||||||
|
width: 75px;
|
||||||
|
height: 75px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: transparent;
|
||||||
|
&:hover {
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
.lr {
|
||||||
|
/* Safari and Chrome */
|
||||||
|
z-index: 1051;
|
||||||
|
width: 1px;
|
||||||
|
height: 75px;
|
||||||
|
margin-left: 35px;
|
||||||
|
/* IE 9 */
|
||||||
|
-webkit-transform: rotate(45deg);
|
||||||
|
-ms-transform: rotate(45deg);
|
||||||
|
transform: rotate(45deg);
|
||||||
|
background-color: $gray-darker;
|
||||||
|
.rl {
|
||||||
|
/* Safari and Chrome */
|
||||||
|
z-index: 1052;
|
||||||
|
width: 1px;
|
||||||
height: 75px;
|
height: 75px;
|
||||||
cursor: pointer;
|
/* IE 9 */
|
||||||
background-color: transparent;
|
-webkit-transform: rotate(90deg);
|
||||||
&:hover {
|
-ms-transform: rotate(90deg);
|
||||||
opacity: .3;
|
transform: rotate(90deg);
|
||||||
}
|
background-color: $gray-darker;
|
||||||
.lr {
|
}
|
||||||
/* Safari and Chrome */
|
|
||||||
z-index: 1051;
|
|
||||||
width: 1px;
|
|
||||||
height: 75px;
|
|
||||||
margin-left: 35px;
|
|
||||||
/* IE 9 */
|
|
||||||
-webkit-transform: rotate(45deg);
|
|
||||||
-ms-transform: rotate(45deg);
|
|
||||||
transform: rotate(45deg);
|
|
||||||
background-color: $gray-darker;
|
|
||||||
.rl {
|
|
||||||
/* Safari and Chrome */
|
|
||||||
z-index: 1052;
|
|
||||||
width: 1px;
|
|
||||||
height: 75px;
|
|
||||||
/* IE 9 */
|
|
||||||
-webkit-transform: rotate(90deg);
|
|
||||||
-ms-transform: rotate(90deg);
|
|
||||||
transform: rotate(90deg);
|
|
||||||
background-color: $gray-darker;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.modal-backdrop {
|
|
||||||
display: none;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
.modal-backdrop {
|
||||||
|
display: none;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Styling for the services section
|
// Styling for the services section
|
||||||
.service-heading {
|
.service-heading {
|
||||||
margin: 15px 0;
|
margin: 15px 0;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
// Styling for the team section
|
// Styling for the team section
|
||||||
.team-member {
|
.team-member {
|
||||||
margin-bottom: 50px;
|
margin-bottom: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
img {
|
img {
|
||||||
width: 225px;
|
width: 225px;
|
||||||
height: 225px;
|
height: 225px;
|
||||||
border: 7px solid white;
|
border: 7px solid white;
|
||||||
}
|
}
|
||||||
h4 {
|
h4 {
|
||||||
margin-top: 25px;
|
margin-top: 25px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,181 +1,178 @@
|
|||||||
// Styling for the timeline section
|
// Styling for the timeline section
|
||||||
.timeline {
|
.timeline {
|
||||||
|
position: relative;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
&:before {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 40px;
|
||||||
|
width: 2px;
|
||||||
|
margin-left: -1.5px;
|
||||||
|
content: '';
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
}
|
||||||
|
> li {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 0;
|
min-height: 50px;
|
||||||
list-style: none;
|
margin-bottom: 50px;
|
||||||
|
&:after,
|
||||||
&:before {
|
&:before {
|
||||||
position: absolute;
|
display: table;
|
||||||
top: 0;
|
content: ' ';
|
||||||
bottom: 0;
|
}
|
||||||
left: 40px;
|
&:after {
|
||||||
width: 2px;
|
clear: both;
|
||||||
margin-left: -1.5px;
|
}
|
||||||
content: '';
|
.timeline-panel {
|
||||||
background-color: #f1f1f1;
|
position: relative;
|
||||||
|
float: right;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 20px 0 100px;
|
||||||
|
text-align: left;
|
||||||
|
&:before {
|
||||||
|
right: auto;
|
||||||
|
left: -15px;
|
||||||
|
border-right-width: 15px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
&:after {
|
||||||
|
right: auto;
|
||||||
|
left: -14px;
|
||||||
|
border-right-width: 14px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.timeline-image {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 100;
|
||||||
|
left: 0;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
margin-left: 0;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
border: 7px solid #f1f1f1;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: $theme-primary;
|
||||||
|
h4 {
|
||||||
|
font-size: 10px;
|
||||||
|
line-height: 14px;
|
||||||
|
margin-top: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.timeline-inverted > .timeline-panel {
|
||||||
|
float: right;
|
||||||
|
padding: 0 20px 0 100px;
|
||||||
|
text-align: left;
|
||||||
|
&:before {
|
||||||
|
right: auto;
|
||||||
|
left: -15px;
|
||||||
|
border-right-width: 15px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
&:after {
|
||||||
|
right: auto;
|
||||||
|
left: -14px;
|
||||||
|
border-right-width: 14px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.timeline-heading {
|
||||||
|
h4 {
|
||||||
|
margin-top: 0;
|
||||||
|
color: inherit;
|
||||||
|
&.subheading {
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.timeline-body {
|
||||||
|
> ul,
|
||||||
|
> p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media(min-width:768px) {
|
||||||
|
.timeline {
|
||||||
|
&:before {
|
||||||
|
left: 50%;
|
||||||
}
|
}
|
||||||
> li {
|
> li {
|
||||||
position: relative;
|
min-height: 100px;
|
||||||
min-height: 50px;
|
margin-bottom: 100px;
|
||||||
margin-bottom: 50px;
|
.timeline-panel {
|
||||||
&:before,
|
float: left;
|
||||||
&:after {
|
width: 41%;
|
||||||
display: table;
|
padding: 0 20px 20px 30px;
|
||||||
content: ' ';
|
text-align: right;
|
||||||
}
|
}
|
||||||
&:after {
|
.timeline-image {
|
||||||
clear: both;
|
left: 50%;
|
||||||
}
|
width: 100px;
|
||||||
.timeline-panel {
|
height: 100px;
|
||||||
position: relative;
|
margin-left: -50px;
|
||||||
float: right;
|
|
||||||
width: 100%;
|
|
||||||
padding: 0 20px 0 100px;
|
|
||||||
text-align: left;
|
|
||||||
&:before {
|
|
||||||
right: auto;
|
|
||||||
left: -15px;
|
|
||||||
border-right-width: 15px;
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
&:after {
|
|
||||||
right: auto;
|
|
||||||
left: -14px;
|
|
||||||
border-right-width: 14px;
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.timeline-image {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 100;
|
|
||||||
left: 0;
|
|
||||||
width: 80px;
|
|
||||||
height: 80px;
|
|
||||||
margin-left: 0;
|
|
||||||
text-align: center;
|
|
||||||
color: white;
|
|
||||||
border: 7px solid #f1f1f1;
|
|
||||||
border-radius: 100%;
|
|
||||||
background-color: $theme-primary;
|
|
||||||
h4 {
|
|
||||||
font-size: 10px;
|
|
||||||
line-height: 14px;
|
|
||||||
margin-top: 12px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.timeline-inverted > .timeline-panel {
|
|
||||||
float: right;
|
|
||||||
padding: 0 20px 0 100px;
|
|
||||||
text-align: left;
|
|
||||||
&:before {
|
|
||||||
right: auto;
|
|
||||||
left: -15px;
|
|
||||||
border-right-width: 15px;
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
&:after {
|
|
||||||
right: auto;
|
|
||||||
left: -14px;
|
|
||||||
border-right-width: 14px;
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.timeline-heading {
|
|
||||||
h4 {
|
h4 {
|
||||||
margin-top: 0;
|
font-size: 13px;
|
||||||
color: inherit;
|
line-height: 18px;
|
||||||
&.subheading {
|
margin-top: 16px;
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.timeline-body {
|
|
||||||
> p,
|
|
||||||
> ul {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
&.timeline-inverted > .timeline-panel {
|
||||||
|
float: right;
|
||||||
|
padding: 0 30px 20px 20px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width:768px) {
|
|
||||||
.timeline {
|
|
||||||
&:before {
|
|
||||||
left: 50%;
|
|
||||||
}
|
|
||||||
> li {
|
|
||||||
min-height: 100px;
|
|
||||||
margin-bottom: 100px;
|
|
||||||
.timeline-panel {
|
|
||||||
float: left;
|
|
||||||
width: 41%;
|
|
||||||
padding: 0 20px 20px 30px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.timeline-image {
|
|
||||||
left: 50%;
|
|
||||||
width: 100px;
|
|
||||||
height: 100px;
|
|
||||||
margin-left: -50px;
|
|
||||||
h4 {
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 18px;
|
|
||||||
margin-top: 16px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.timeline-inverted > .timeline-panel {
|
|
||||||
float: right;
|
|
||||||
padding: 0 30px 20px 20px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media(min-width:992px) {
|
@media(min-width:992px) {
|
||||||
.timeline {
|
.timeline {
|
||||||
> li {
|
> li {
|
||||||
min-height: 150px;
|
min-height: 150px;
|
||||||
.timeline-panel {
|
.timeline-panel {
|
||||||
padding: 0 20px 20px;
|
padding: 0 20px 20px;
|
||||||
}
|
}
|
||||||
.timeline-image {
|
.timeline-image {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
height: 150px;
|
height: 150px;
|
||||||
margin-left: -75px;
|
margin-left: -75px;
|
||||||
h4 {
|
h4 {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
}
|
|
||||||
}
|
|
||||||
&.timeline-inverted > .timeline-panel {
|
|
||||||
padding: 0 20px 20px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
&.timeline-inverted > .timeline-panel {
|
||||||
|
padding: 0 20px 20px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width:1200px) {
|
@media(min-width:1200px) {
|
||||||
.timeline {
|
.timeline {
|
||||||
> li {
|
> li {
|
||||||
min-height: 170px;
|
min-height: 170px;
|
||||||
.timeline-panel {
|
.timeline-panel {
|
||||||
padding: 0 20px 20px 100px;
|
padding: 0 20px 20px 100px;
|
||||||
}
|
}
|
||||||
.timeline-image {
|
.timeline-image {
|
||||||
width: 170px;
|
width: 170px;
|
||||||
height: 170px;
|
height: 170px;
|
||||||
margin-left: -85px;
|
margin-left: -85px;
|
||||||
h4 {
|
h4 {
|
||||||
margin-top: 40px;
|
margin-top: 40px;
|
||||||
}
|
|
||||||
}
|
|
||||||
&.timeline-inverted > .timeline-panel {
|
|
||||||
padding: 0 100px 20px 20px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
&.timeline-inverted > .timeline-panel {
|
||||||
|
padding: 0 100px 20px 20px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
// Gray and Brand Colors for use across theme
|
// Gray and Brand Colors for use across theme
|
||||||
|
|
||||||
$theme-primary: #fed136;
|
$theme-primary: #fed136;
|
||||||
$theme-danger: #e74c3c;
|
$theme-danger: #e74c3c;
|
||||||
|
|
||||||
$gray-base: #000 !default;
|
$gray-base: #000 !default;
|
||||||
$gray-darker: lighten($gray-base, 13.5%) !default; // #222
|
$gray-darker: lighten($gray-base, 13.5%) !default;
|
||||||
$gray-dark: lighten($gray-base, 20%) !default; // #333
|
$gray-dark: lighten($gray-base, 20%) !default;
|
||||||
$gray: lighten($gray-base, 33.5%) !default; // #555
|
$gray: lighten($gray-base, 33.5%) !default;
|
||||||
$gray-light: lighten($gray-base, 46.7%) !default; // #777
|
$gray-light: lighten($gray-base, 46.7%) !default;
|
||||||
$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
|
$gray-lighter: lighten($gray-base, 93.5%) !default;
|
||||||
|
1884
vendor/bootstrap/css/bootstrap-grid.css
vendored
1884
vendor/bootstrap/css/bootstrap-grid.css
vendored
File diff suppressed because it is too large
Load Diff
3
vendor/bootstrap/css/bootstrap-grid.min.css
vendored
3
vendor/bootstrap/css/bootstrap-grid.min.css
vendored
File diff suppressed because one or more lines are too long
397
vendor/bootstrap/css/bootstrap-reboot.css
vendored
397
vendor/bootstrap/css/bootstrap-reboot.css
vendored
@ -1,274 +1,34 @@
|
|||||||
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
|
|
||||||
html {
|
html {
|
||||||
|
box-sizing: border-box;
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
-ms-text-size-adjust: 100%;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 100%;
|
||||||
}
|
-ms-text-size-adjust: 100%;
|
||||||
|
-ms-overflow-style: scrollbar;
|
||||||
body {
|
-webkit-tap-highlight-color: transparent;
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
article,
|
|
||||||
aside,
|
|
||||||
footer,
|
|
||||||
header,
|
|
||||||
nav,
|
|
||||||
section {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 2em;
|
|
||||||
margin: 0.67em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
figcaption,
|
|
||||||
figure,
|
|
||||||
main {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
figure {
|
|
||||||
margin: 1em 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
height: 0;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
font-family: monospace, monospace;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
background-color: transparent;
|
|
||||||
-webkit-text-decoration-skip: objects;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:active,
|
|
||||||
a:hover {
|
|
||||||
outline-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
abbr[title] {
|
|
||||||
border-bottom: none;
|
|
||||||
text-decoration: underline;
|
|
||||||
text-decoration: underline dotted;
|
|
||||||
}
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
|
|
||||||
code,
|
|
||||||
kbd,
|
|
||||||
samp {
|
|
||||||
font-family: monospace, monospace;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
dfn {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
mark {
|
|
||||||
background-color: #ff0;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub,
|
|
||||||
sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
audio,
|
|
||||||
video {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
audio:not([controls]) {
|
|
||||||
display: none;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
border-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
svg:not(:root) {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 100%;
|
|
||||||
line-height: 1.15;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
button,
|
|
||||||
input {
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
button,
|
|
||||||
select {
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
button,
|
|
||||||
html [type="button"],
|
|
||||||
[type="reset"],
|
|
||||||
[type="submit"] {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
}
|
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
[type="button"]::-moz-focus-inner,
|
|
||||||
[type="reset"]::-moz-focus-inner,
|
|
||||||
[type="submit"]::-moz-focus-inner {
|
|
||||||
border-style: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:-moz-focusring,
|
|
||||||
[type="button"]:-moz-focusring,
|
|
||||||
[type="reset"]:-moz-focusring,
|
|
||||||
[type="submit"]:-moz-focusring {
|
|
||||||
outline: 1px dotted ButtonText;
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
border: 1px solid #c0c0c0;
|
|
||||||
margin: 0 2px;
|
|
||||||
padding: 0.35em 0.625em 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
legend {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
color: inherit;
|
|
||||||
display: table;
|
|
||||||
max-width: 100%;
|
|
||||||
padding: 0;
|
|
||||||
white-space: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
progress {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
[type="checkbox"],
|
|
||||||
[type="radio"] {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[type="number"]::-webkit-inner-spin-button,
|
|
||||||
[type="number"]::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
[type="search"] {
|
|
||||||
-webkit-appearance: textfield;
|
|
||||||
outline-offset: -2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[type="search"]::-webkit-search-cancel-button,
|
|
||||||
[type="search"]::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-file-upload-button {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
font: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
details,
|
|
||||||
menu {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
summary {
|
|
||||||
display: list-item;
|
|
||||||
}
|
|
||||||
|
|
||||||
canvas {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
[hidden] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
*,
|
*,
|
||||||
*::before,
|
*::before,
|
||||||
*::after {
|
*::after {
|
||||||
-webkit-box-sizing: inherit;
|
box-sizing: inherit;
|
||||||
box-sizing: inherit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@-ms-viewport {
|
@-ms-viewport {
|
||||||
width: device-width;
|
width: device-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||||
-ms-overflow-style: scrollbar;
|
display: block;
|
||||||
-webkit-tap-highlight-color: transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
margin: 0;
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
color: #292b2c;
|
color: #212529;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,6 +36,12 @@ body {
|
|||||||
outline: none !important;
|
outline: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
box-sizing: content-box;
|
||||||
|
height: 0;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
h1, h2, h3, h4, h5, h6 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: .5rem;
|
||||||
@ -288,7 +54,11 @@ p {
|
|||||||
|
|
||||||
abbr[title],
|
abbr[title],
|
||||||
abbr[data-original-title] {
|
abbr[data-original-title] {
|
||||||
|
text-decoration: underline;
|
||||||
|
-webkit-text-decoration: underline dotted;
|
||||||
|
text-decoration: underline dotted;
|
||||||
cursor: help;
|
cursor: help;
|
||||||
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
address {
|
address {
|
||||||
@ -324,13 +94,44 @@ blockquote {
|
|||||||
margin: 0 0 1rem;
|
margin: 0 0 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
dfn {
|
||||||
color: #0275d8;
|
font-style: italic;
|
||||||
text-decoration: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a:focus, a:hover {
|
b,
|
||||||
color: #014c8c;
|
strong {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
position: relative;
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #007bff;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: transparent;
|
||||||
|
-webkit-text-decoration-skip: objects;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #0056b3;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,6 +149,14 @@ a:not([href]):not([tabindex]):focus {
|
|||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
@ -360,10 +169,11 @@ figure {
|
|||||||
|
|
||||||
img {
|
img {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
border-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
[role="button"] {
|
svg:not(:root) {
|
||||||
cursor: pointer;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
@ -381,13 +191,12 @@ textarea {
|
|||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
background-color: transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
caption {
|
caption {
|
||||||
padding-top: 0.75rem;
|
padding-top: 0.75rem;
|
||||||
padding-bottom: 0.75rem;
|
padding-bottom: 0.75rem;
|
||||||
color: #636c72;
|
color: #868e96;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
caption-side: bottom;
|
caption-side: bottom;
|
||||||
}
|
}
|
||||||
@ -409,13 +218,43 @@ button:focus {
|
|||||||
input,
|
input,
|
||||||
button,
|
button,
|
||||||
select,
|
select,
|
||||||
|
optgroup,
|
||||||
textarea {
|
textarea {
|
||||||
|
margin: 0;
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
line-height: inherit;
|
line-height: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="radio"]:disabled,
|
button,
|
||||||
input[type="checkbox"]:disabled {
|
input {
|
||||||
cursor: not-allowed;
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
select {
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
html [type="button"],
|
||||||
|
[type="reset"],
|
||||||
|
[type="submit"] {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
[type="button"]::-moz-focus-inner,
|
||||||
|
[type="reset"]::-moz-focus-inner,
|
||||||
|
[type="submit"]::-moz-focus-inner {
|
||||||
|
padding: 0;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="radio"],
|
||||||
|
input[type="checkbox"] {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="date"],
|
input[type="date"],
|
||||||
@ -426,6 +265,7 @@ input[type="month"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
|
overflow: auto;
|
||||||
resize: vertical;
|
resize: vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -439,20 +279,51 @@ fieldset {
|
|||||||
legend {
|
legend {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: .5rem;
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
line-height: inherit;
|
line-height: inherit;
|
||||||
|
color: inherit;
|
||||||
|
white-space: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="search"] {
|
progress {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="number"]::-webkit-inner-spin-button,
|
||||||
|
[type="number"]::-webkit-outer-spin-button {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="search"] {
|
||||||
|
outline-offset: -2px;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[type="search"]::-webkit-search-cancel-button,
|
||||||
|
[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-file-upload-button {
|
||||||
|
font: inherit;
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
output {
|
output {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
template {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
[hidden] {
|
[hidden] {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
@ -1 +1,2 @@
|
|||||||
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
html{box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
|
||||||
|
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
5973
vendor/bootstrap/css/bootstrap.css
vendored
5973
vendor/bootstrap/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
5
vendor/bootstrap/css/bootstrap.min.css
vendored
5
vendor/bootstrap/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
1038
vendor/bootstrap/js/bootstrap.js
vendored
1038
vendor/bootstrap/js/bootstrap.js
vendored
File diff suppressed because it is too large
Load Diff
5
vendor/bootstrap/js/bootstrap.min.js
vendored
5
vendor/bootstrap/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
2438
vendor/popper/popper.js
vendored
Normal file
2438
vendor/popper/popper.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5
vendor/popper/popper.min.js
vendored
Normal file
5
vendor/popper/popper.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1811
vendor/tether/tether.js
vendored
1811
vendor/tether/tether.js
vendored
File diff suppressed because it is too large
Load Diff
1
vendor/tether/tether.min.js
vendored
1
vendor/tether/tether.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user