BS4 Beta Update

This commit is contained in:
David Miller 2017-08-11 15:12:34 -04:00
parent c5676d6196
commit 3b833405e4
33 changed files with 8408 additions and 8684 deletions

View File

@ -12,7 +12,7 @@ p {
a {
color: #fed136; }
a:hover, a:focus, a:active, a.active {
a.active, a:active, a:focus, a:hover {
color: #fec503; }
h1,
@ -72,41 +72,41 @@ body {
background-color: #fed136;
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
text-transform: uppercase; }
#mainNav .container {
padding: 0; }
#mainNav .container .navbar-brand {
#mainNav .navbar-brand {
color: #fed136;
font-family: 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial, cursive; }
#mainNav .container .navbar-brand:hover, #mainNav .container .navbar-brand:focus, #mainNav .container .navbar-brand:active, #mainNav .container .navbar-brand.active {
#mainNav .navbar-brand.active, #mainNav .navbar-brand:active, #mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
color: #fec503; }
#mainNav .container .navbar-nav .nav-item .nav-link {
#mainNav .navbar-nav .nav-item .nav-link {
font-size: 90%;
font-weight: 400;
padding: .75em 0;
padding: 0.75em 0;
letter-spacing: 1px;
color: white;
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
text-transform: uppercase; }
#mainNav .container .navbar-nav .nav-item .nav-link:hover, #mainNav .container .navbar-nav .nav-item .nav-link.active {
#mainNav .navbar-nav .nav-item .nav-link.active, #mainNav .navbar-nav .nav-item .nav-link:hover {
color: #fed136; }
@media (min-width: 992px) {
#mainNav {
padding: 25px 0;
-webkit-transition: padding .3s;
-moz-transition: padding .3s;
transition: padding .3s;
padding-top: 25px;
padding-bottom: 25px;
-webkit-transition: padding-top 0.3s, padding-bottom 0.3s;
-moz-transition: padding-top 0.3s, padding-bottom 0.3s;
transition: padding-top 0.3s, padding-bottom 0.3s;
border: none;
background-color: transparent; }
#mainNav .navbar-brand {
font-size: 1.75em;
-webkit-transition: all .3s;
-moz-transition: all .3s;
transition: all .3s; }
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s; }
#mainNav .navbar-nav .nav-item .nav-link {
padding: 1.1em 1em !important; }
#mainNav.navbar-shrink {
padding: 0;
padding-top: 0;
padding-bottom: 0;
background-color: #222222; }
#mainNav.navbar-shrink .navbar-brand {
font-size: 1.25em;
@ -124,8 +124,8 @@ header.masthead {
-o-background-size: cover;
background-size: cover; }
header.masthead .intro-text {
padding-top: 100px;
padding-bottom: 50px; }
padding-top: 150px;
padding-bottom: 100px; }
header.masthead .intro-text .intro-lead-in {
font-size: 22px;
font-style: italic;
@ -175,9 +175,9 @@ header.masthead {
position: absolute;
width: 100%;
height: 100%;
-webkit-transition: all ease .5s;
-moz-transition: all ease .5s;
transition: all ease .5s;
-webkit-transition: all ease 0.5s;
-moz-transition: all ease 0.5s;
transition: all ease 0.5s;
opacity: 0;
background: rgba(254, 209, 54, 0.9); }
#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover {
@ -259,7 +259,7 @@ header.masthead {
cursor: pointer;
background-color: transparent; }
.portfolio-modal .close-modal:hover {
opacity: .3; }
opacity: 0.3; }
.portfolio-modal .close-modal .lr {
/* Safari and Chrome */
z-index: 1051;
@ -303,7 +303,7 @@ header.masthead {
position: relative;
min-height: 50px;
margin-bottom: 50px; }
.timeline > li:before, .timeline > li:after {
.timeline > li:after, .timeline > li:before {
display: table;
content: ' '; }
.timeline > li:after {
@ -361,8 +361,8 @@ header.masthead {
color: inherit; }
.timeline .timeline-heading h4.subheading {
text-transform: none; }
.timeline .timeline-body > p,
.timeline .timeline-body > ul {
.timeline .timeline-body > ul,
.timeline .timeline-body > p {
margin-bottom: 0; }
@media (min-width: 768px) {
@ -503,14 +503,14 @@ ul.social-buttons {
display: block;
width: 40px;
height: 40px;
-webkit-transition: all .3s;
-moz-transition: all .3s;
transition: all .3s;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
color: white;
border-radius: 100%;
outline: none;
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; }
.text-primary {
@ -523,7 +523,7 @@ ul.social-buttons {
background-color: #fed136;
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
text-transform: uppercase; }
.btn-primary:focus, .btn-primary.focus {
.btn-primary.focus, .btn-primary:focus {
color: white;
border-color: #b48b01;
background-color: #fec503; }
@ -531,25 +531,25 @@ ul.social-buttons {
color: white;
border-color: #f6bf01;
background-color: #fec503; }
.btn-primary:active, .btn-primary.active,
.btn-primary.active, .btn-primary:active,
.open > .btn-primary.dropdown-toggle {
color: white;
border-color: #f6bf01;
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,
.open > .btn-primary.dropdown-toggle:hover,
.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.focus,
.open > .btn-primary.dropdown-toggle:focus,
.open > .btn-primary.dropdown-toggle.focus {
.open > .btn-primary.dropdown-toggle:hover {
color: white;
border-color: #b48b01;
background-color: #dcab01; }
.btn-primary:active, .btn-primary.active,
.btn-primary.active, .btn-primary:active,
.open > .btn-primary.dropdown-toggle {
background-image: none; }
.btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
fieldset[disabled] .btn-primary:hover,
.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.focus,
fieldset[disabled] .btn-primary:focus,
fieldset[disabled] .btn-primary.focus {
fieldset[disabled] .btn-primary:hover {
border-color: #fed136;
background-color: #fed136; }
.btn-primary .badge {
@ -566,7 +566,7 @@ ul.social-buttons {
background-color: #fed136;
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
text-transform: uppercase; }
.btn-xl:focus, .btn-xl.focus {
.btn-xl.focus, .btn-xl:focus {
color: white;
border-color: #b48b01;
background-color: #fec503; }
@ -574,25 +574,25 @@ ul.social-buttons {
color: white;
border-color: #f6bf01;
background-color: #fec503; }
.btn-xl:active, .btn-xl.active,
.btn-xl.active, .btn-xl:active,
.open > .btn-xl.dropdown-toggle {
color: white;
border-color: #f6bf01;
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,
.open > .btn-xl.dropdown-toggle:hover,
.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.focus,
.open > .btn-xl.dropdown-toggle:focus,
.open > .btn-xl.dropdown-toggle.focus {
.open > .btn-xl.dropdown-toggle:hover {
color: white;
border-color: #b48b01;
background-color: #dcab01; }
.btn-xl:active, .btn-xl.active,
.btn-xl.active, .btn-xl:active,
.open > .btn-xl.dropdown-toggle {
background-image: none; }
.btn-xl.disabled:hover, .btn-xl.disabled:focus, .btn-xl.disabled.focus, .btn-xl[disabled]:hover, .btn-xl[disabled]:focus, .btn-xl[disabled].focus,
fieldset[disabled] .btn-xl:hover,
.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.focus,
fieldset[disabled] .btn-xl:focus,
fieldset[disabled] .btn-xl.focus {
fieldset[disabled] .btn-xl:hover {
border-color: #fed136;
background-color: #fed136; }
.btn-xl .badge {

2
css/agency.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -20,7 +20,9 @@ var banner = ['/*!\n',
gulp.task('sass', function() {
return gulp.src('scss/agency.scss')
.pipe(sass())
.pipe(header(banner, { pkg: pkg }))
.pipe(header(banner, {
pkg: pkg
}))
.pipe(gulp.dest('css'))
.pipe(browserSync.reload({
stream: true
@ -30,8 +32,12 @@ gulp.task('sass', function() {
// Minify compiled CSS
gulp.task('minify-css', ['sass'], function() {
return gulp.src('css/agency.css')
.pipe(cleanCSS({ compatibility: 'ie8' }))
.pipe(rename({ suffix: '.min' }))
.pipe(cleanCSS({
compatibility: 'ie8'
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('css'))
.pipe(browserSync.reload({
stream: true
@ -42,8 +48,12 @@ gulp.task('minify-css', ['sass'], function() {
gulp.task('minify-js', function() {
return gulp.src('js/agency.js')
.pipe(uglify())
.pipe(header(banner, { pkg: pkg }))
.pipe(rename({ suffix: '.min' }))
.pipe(header(banner, {
pkg: pkg
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('js'))
.pipe(browserSync.reload({
stream: true
@ -53,14 +63,19 @@ gulp.task('minify-js', function() {
// Copy vendor files from /node_modules into /vendor
// NOTE: requires `npm install` before running!
gulp.task('copy', function() {
gulp.src(['node_modules/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map'])
gulp.src([
'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'])
.pipe(gulp.dest('vendor/jquery'))
gulp.src(['node_modules/tether/dist/js/*.js'])
.pipe(gulp.dest('vendor/tether'))
gulp.src(['node_modules/popper.js/dist/umd/popper.js', 'node_modules/popper.js/dist/umd/popper.min.js'])
.pipe(gulp.dest('vendor/popper'))
gulp.src(['node_modules/jquery.easing/*.js'])
.pipe(gulp.dest('vendor/jquery-easing'))

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@ -23,30 +23,17 @@
<!-- Custom styles for this template -->
<link href="css/agency.min.css" rel="stylesheet">
<!-- Temporary navbar container fix -->
<style>
.navbar-toggler {
z-index: 1;
}
</head>
@media (max-width: 576px) {
nav > .container {
width: 100%;
}
}
</style>
</head>
<body id="page-top">
<body id="page-top">
<!-- Navigation -->
<nav class="navbar fixed-top navbar-toggleable-md navbar-inverse" id="mainNav">
<div class="container">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu <i class="fa fa-bars"></i>
</button>
<nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
<a class="navbar-brand" href="#page-top">Start Bootstrap</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
@ -66,7 +53,6 @@
</li>
</ul>
</div>
</div>
</nav>
<!-- Header -->
@ -119,7 +105,7 @@
</section>
<!-- Portfolio Grid -->
<section class="bg-faded" id="portfolio">
<section class="bg-light" id="portfolio">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
@ -298,7 +284,7 @@
</section>
<!-- Team -->
<section class="bg-faded" id="team">
<section class="bg-light" id="team">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
@ -314,13 +300,19 @@
<p class="text-muted">Lead Designer</p>
<ul class="list-inline social-buttons">
<li class="list-inline-item">
<a href="#"><i class="fa fa-twitter"></i></a>
<a href="#">
<i class="fa fa-twitter"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-facebook"></i></a>
<a href="#">
<i class="fa fa-facebook"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-linkedin"></i></a>
<a href="#">
<i class="fa fa-linkedin"></i>
</a>
</li>
</ul>
</div>
@ -332,13 +324,19 @@
<p class="text-muted">Lead Marketer</p>
<ul class="list-inline social-buttons">
<li class="list-inline-item">
<a href="#"><i class="fa fa-twitter"></i></a>
<a href="#">
<i class="fa fa-twitter"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-facebook"></i></a>
<a href="#">
<i class="fa fa-facebook"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-linkedin"></i></a>
<a href="#">
<i class="fa fa-linkedin"></i>
</a>
</li>
</ul>
</div>
@ -350,20 +348,26 @@
<p class="text-muted">Lead Developer</p>
<ul class="list-inline social-buttons">
<li class="list-inline-item">
<a href="#"><i class="fa fa-twitter"></i></a>
<a href="#">
<i class="fa fa-twitter"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-facebook"></i></a>
<a href="#">
<i class="fa fa-facebook"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-linkedin"></i></a>
<a href="#">
<i class="fa fa-linkedin"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-8 offset-lg-2 text-center">
<div class="col-lg-8 mx-auto text-center">
<p class="large text-muted">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut eaque, laboriosam veritatis, quos non quis ad perspiciatis, totam corporis ea, alias ut unde.</p>
</div>
</div>
@ -371,7 +375,7 @@
</section>
<!-- Clients -->
<section>
<section class="py-5">
<div class="container">
<div class="row">
<div class="col-md-3 col-sm-6">
@ -453,13 +457,19 @@
<div class="col-md-4">
<ul class="list-inline social-buttons">
<li class="list-inline-item">
<a href="#"><i class="fa fa-twitter"></i></a>
<a href="#">
<i class="fa fa-twitter"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-facebook"></i></a>
<a href="#">
<i class="fa fa-facebook"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#"><i class="fa fa-linkedin"></i></a>
<a href="#">
<i class="fa fa-linkedin"></i>
</a>
</li>
</ul>
</div>
@ -485,13 +495,12 @@
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
<div class="rl"></div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="col-lg-8 mx-auto">
<div class="modal-body">
<!-- Project Details Go Here -->
<h2>Project Name</h2>
@ -503,7 +512,9 @@
<li>Client: Threads</li>
<li>Category: Illustration</li>
</ul>
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
<button class="btn btn-primary" data-dismiss="modal" type="button">
<i class="fa fa-times"></i>
Close Project</button>
</div>
</div>
</div>
@ -518,13 +529,12 @@
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
<div class="rl"></div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="col-lg-8 mx-auto">
<div class="modal-body">
<!-- Project Details Go Here -->
<h2>Project Name</h2>
@ -536,7 +546,9 @@
<li>Client: Explore</li>
<li>Category: Graphic Design</li>
</ul>
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
<button class="btn btn-primary" data-dismiss="modal" type="button">
<i class="fa fa-times"></i>
Close Project</button>
</div>
</div>
</div>
@ -551,13 +563,12 @@
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
<div class="rl"></div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="col-lg-8 mx-auto">
<div class="modal-body">
<!-- Project Details Go Here -->
<h2>Project Name</h2>
@ -569,7 +580,9 @@
<li>Client: Finish</li>
<li>Category: Identity</li>
</ul>
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
<button class="btn btn-primary" data-dismiss="modal" type="button">
<i class="fa fa-times"></i>
Close Project</button>
</div>
</div>
</div>
@ -584,13 +597,12 @@
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
<div class="rl"></div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="col-lg-8 mx-auto">
<div class="modal-body">
<!-- Project Details Go Here -->
<h2>Project Name</h2>
@ -602,7 +614,9 @@
<li>Client: Lines</li>
<li>Category: Branding</li>
</ul>
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
<button class="btn btn-primary" data-dismiss="modal" type="button">
<i class="fa fa-times"></i>
Close Project</button>
</div>
</div>
</div>
@ -617,13 +631,12 @@
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
<div class="rl"></div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="col-lg-8 mx-auto">
<div class="modal-body">
<!-- Project Details Go Here -->
<h2>Project Name</h2>
@ -635,7 +648,9 @@
<li>Client: Southwest</li>
<li>Category: Website Design</li>
</ul>
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
<button class="btn btn-primary" data-dismiss="modal" type="button">
<i class="fa fa-times"></i>
Close Project</button>
</div>
</div>
</div>
@ -650,13 +665,12 @@
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
<div class="rl"></div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="col-lg-8 mx-auto">
<div class="modal-body">
<!-- Project Details Go Here -->
<h2>Project Name</h2>
@ -668,7 +682,9 @@
<li>Client: Window</li>
<li>Category: Photography</li>
</ul>
<button class="btn btn-primary" data-dismiss="modal" type="button"><i class="fa fa-times"></i> Close Project</button>
<button class="btn btn-primary" data-dismiss="modal" type="button">
<i class="fa fa-times"></i>
Close Project</button>
</div>
</div>
</div>
@ -679,7 +695,7 @@
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/tether/tether.min.js"></script>
<script src="vendor/popper/popper.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
<!-- Plugin JavaScript -->
@ -692,6 +708,6 @@
<!-- Custom scripts for this template -->
<script src="js/agency.min.js"></script>
</body>
</body>
</html>

2
js/agency.min.js vendored
View File

@ -3,4 +3,4 @@
* Copyright 2013-2017 Start Bootstrap
* 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);

View File

@ -8,7 +8,7 @@
* http://ReactiveRaven.github.com/jqBootstrapValidation/
*/
(function( $ ){
(function($) {
var createdElements = [];
@ -23,13 +23,13 @@
autoAdd: {
helpBlocks: true
},
filter: function () {
filter: function() {
// return $(this).is(":visible"); // only validate elements you can see
return true; // validate everything
}
},
methods: {
init : function( options ) {
init: function(options) {
var settings = $.extend(true, {}, defaults);
@ -38,18 +38,18 @@
var $siblingElements = this;
var uniqueForms = $.unique(
$siblingElements.map( function () {
$siblingElements.map(function() {
return $(this).parents("form")[0];
}).toArray()
);
$(uniqueForms).bind("submit", function (e) {
$(uniqueForms).bind("submit", function(e) {
var $form = $(this);
var warningsFound = 0;
var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
$inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
$inputs.each(function (i, el) {
$inputs.each(function(i, el) {
var $this = $(el),
$controlGroup = $this.parents(".form-group").first();
if (
@ -78,7 +78,7 @@
}
});
return this.each(function(){
return this.each(function() {
// Get references to everything we're interested in
var $this = $(this),
@ -225,7 +225,7 @@
}
// 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(",");
if (parts[0] === "validation" && parts[1]) {
validatorNames.push(parts[1]);
@ -242,7 +242,7 @@
do // repeatedly expand 'shortcut' validators into their real validators
{
// Uppercase only the first letter of each name
$.each(validatorNames, function (i, el) {
$.each(validatorNames, function(i, el) {
validatorNames[i] = formatValidatorName(el);
});
@ -263,7 +263,7 @@
// Pull it out!
var validator = settings.builtInValidators[el.toLowerCase()];
if (validator.type.toLowerCase() === "shortcut") {
$.each(validator.shortcut.split(","), function (i, el) {
$.each(validator.shortcut.split(","), function(i, el) {
el = formatValidatorName(el);
newValidatorNamesToInspect.push(el);
validatorNames.push(el);
@ -282,30 +282,28 @@
var validators = {};
$.each(validatorNames, function (i, el) {
$.each(validatorNames, function(i, el) {
// Set up the 'override' message
var message = $this.data("validation" + el + "Message");
var hasOverrideMessage = (message !== undefined);
var foundValidator = false;
message =
(
message
? message
: "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
)
;
message ?
message :
"'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
);
$.each(
settings.validatorTypes,
function (validatorType, validatorTemplate) {
function(validatorType, validatorTemplate) {
if (validators[validatorType] === undefined) {
validators[validatorType] = [];
}
if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
validators[validatorType].push(
$.extend(
true,
{
true, {
name: formatValidatorName(validatorTemplate.name),
message: message
},
@ -330,7 +328,7 @@
} else {
$.each(
settings.validatorTypes,
function (validatorTemplateType, validatorTemplate) {
function(validatorTemplateType, validatorTemplate) {
if (validators[validatorTemplateType] === undefined) {
validators[validatorTemplateType] = [];
}
@ -349,7 +347,7 @@
}
}
if (! foundValidator) {
if (!foundValidator) {
$.error("Cannot find validation info for '" + el + "'");
}
});
@ -361,36 +359,36 @@
$helpBlock.data(
"original-contents",
(
$helpBlock.data("original-contents")
? $helpBlock.data("original-contents")
: $helpBlock.html()
$helpBlock.data("original-contents") ?
$helpBlock.data("original-contents") :
$helpBlock.html()
)
);
$helpBlock.data(
"original-role",
(
$helpBlock.data("original-role")
? $helpBlock.data("original-role")
: $helpBlock.attr("role")
$helpBlock.data("original-role") ?
$helpBlock.data("original-role") :
$helpBlock.attr("role")
)
);
$controlGroup.data(
"original-classes",
(
$controlGroup.data("original-clases")
? $controlGroup.data("original-classes")
: $controlGroup.attr("class")
$controlGroup.data("original-clases") ?
$controlGroup.data("original-classes") :
$controlGroup.attr("class")
)
);
$this.data(
"original-aria-invalid",
(
$this.data("original-aria-invalid")
? $this.data("original-aria-invalid")
: $this.attr("aria-invalid")
$this.data("original-aria-invalid") ?
$this.data("original-aria-invalid") :
$this.attr("aria-invalid")
)
);
@ -400,16 +398,16 @@
$this.bind(
"validation.validation",
function (event, params) {
function(event, params) {
var value = getValue($this);
// Get a list of the errors to apply
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)) {
$.each(validatorTypeArray, function (i, validator) {
$.each(validatorTypeArray, function(i, validator) {
if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
errorsFound.push(validator.message);
}
@ -423,7 +421,7 @@
$this.bind(
"getValidators.validation",
function () {
function() {
return validators;
}
);
@ -433,8 +431,10 @@
// =============================================================
$this.bind(
"submit.validation",
function () {
return $this.triggerHandler("change.validation", {submitting: true});
function() {
return $this.triggerHandler("change.validation", {
submitting: true
});
}
);
$this.bind(
@ -447,15 +447,15 @@
"keypress",
"change"
].join(".validation ") + ".validation",
function (e, params) {
function(e, params) {
var value = getValue($this);
var errorsFound = [];
$controlGroup.find("input,textarea,select").each(function (i, el) {
$controlGroup.find("input,textarea,select").each(function(i, el) {
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);
});
if (errorsFound.length > oldCount) {
@ -479,11 +479,11 @@
if (settings.options.semanticallyStrict && errorsFound.length === 1) {
// Only one? Being strict? Just output it.
$helpBlock.html(errorsFound[0] +
( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
(settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : ""));
} else {
// Multiple? Being sloppy? Glue them together into an 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 {
$controlGroup.removeClass("warning error success");
@ -498,12 +498,12 @@
}
}
);
$this.bind("validationLostFocus.validation", function () {
$this.bind("validationLostFocus.validation", function() {
$controlGroup.removeClass("success");
});
});
},
destroy : function( ) {
destroy: function() {
return this.each(
function() {
@ -532,17 +532,19 @@
);
},
collectErrors : function(includeEmpty) {
collectErrors: function(includeEmpty) {
var errorMessages = {};
this.each(function (i, el) {
this.each(function(i, el) {
var $el = $(el);
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]);
});
$.each(errorMessages, function (i, el) {
$.each(errorMessages, function(i, el) {
if (el.length === 0) {
delete errorMessages[i];
}
@ -555,22 +557,24 @@
var errorMessages = [];
this.each(function (i, el) {
this.each(function(i, el) {
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);
},
override : function (newDefaults) {
override: function(newDefaults) {
defaults = $.extend(true, defaults, newDefaults);
}
},
validatorTypes: {
callback: {
name: "callback",
init: function ($this, name) {
init: function($this, name) {
return {
validatorName: name,
callback: $this.data("validation" + name + "Callback"),
@ -579,13 +583,12 @@
lastFinished: true
};
},
validate: function ($this, value, validator) {
validate: function($this, value, validator) {
if (validator.lastValue === value && validator.lastFinished) {
return !validator.lastValid;
}
if (validator.lastFinished === true)
{
if (validator.lastFinished === true) {
validator.lastValue = value;
validator.lastValid = true;
validator.lastFinished = false;
@ -597,7 +600,7 @@
window,
$this,
value,
function (data) {
function(data) {
if (rrjqbvValidator.lastValue === data.value) {
rrjqbvValidator.lastValid = data.valid;
if (data.message) {
@ -606,7 +609,7 @@
rrjqbvValidator.lastFinished = true;
rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
// Timeout is set to avoid problems with the events being considered 'already fired'
setTimeout(function () {
setTimeout(function() {
rrjqbvThis.trigger("change.validation");
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
}
@ -620,7 +623,7 @@
},
ajax: {
name: "ajax",
init: function ($this, name) {
init: function($this, name) {
return {
validatorName: name,
url: $this.data("validation" + name + "Ajax"),
@ -629,13 +632,12 @@
lastFinished: true
};
},
validate: function ($this, value, validator) {
if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
validate: function($this, value, validator) {
if ("" + validator.lastValue === "" + value && validator.lastFinished === true) {
return validator.lastValid === false;
}
if (validator.lastFinished === true)
{
if (validator.lastFinished === true) {
validator.lastValue = value;
validator.lastValid = true;
validator.lastFinished = false;
@ -643,8 +645,8 @@
url: validator.url,
data: "value=" + value + "&field=" + $this.attr("name"),
dataType: "json",
success: function (data) {
if (""+validator.lastValue === ""+data.value) {
success: function(data) {
if ("" + validator.lastValue === "" + data.value) {
validator.lastValid = !!(data.valid);
if (data.message) {
validator.message = data.message;
@ -652,18 +654,18 @@
validator.lastFinished = true;
$this.data("validation" + validator.validatorName + "Message", validator.message);
// Timeout is set to avoid problems with the events being considered 'already fired'
setTimeout(function () {
setTimeout(function() {
$this.trigger("change.validation");
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
}
},
failure: function () {
failure: function() {
validator.lastValid = true;
validator.message = "ajax call failed";
validator.lastFinished = true;
$this.data("validation" + validator.validatorName + "Message", validator.message);
// Timeout is set to avoid problems with the events being considered 'already fired'
setTimeout(function () {
setTimeout(function() {
$this.trigger("change.validation");
}, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
}
@ -676,107 +678,131 @@
},
regex: {
name: "regex",
init: function ($this, name) {
return {regex: regexFromString($this.data("validation" + name + "Regex"))};
init: function($this, name) {
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) {
init: function($this, name) {
return {};
},
validate: function ($this, value, validator) {
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
},
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();
element.bind("validation.validation", function () {
$this.trigger("change.validation", {submitting: true});
element.bind("validation.validation", function() {
$this.trigger("change.validation", {
submitting: true
});
return {"element": element};
});
return {
"element": element
};
},
validate: function ($this, value, validator) {
return (value !== validator.element.val() && ! validator.negative)
|| (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
},
max: {
name: "max",
init: function ($this, name) {
return {max: $this.data("validation" + name + "Max")};
init: function($this, name) {
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) {
return {min: $this.data("validation" + name + "Min")};
init: function($this, name) {
return {
min: $this.data("validation" + name + "Min")
};
},
validate: function ($this, value, validator) {
return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
|| (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
validate: function($this, value, validator) {
return (parseFloat(value) < parseFloat(validator.min) && !validator.negative) ||
(parseFloat(value) >= parseFloat(validator.min) && validator.negative);
}
},
maxlength: {
name: "maxlength",
init: function ($this, name) {
return {maxlength: $this.data("validation" + name + "Maxlength")};
init: function($this, name) {
return {
maxlength: $this.data("validation" + name + "Maxlength")
};
},
validate: function ($this, value, validator) {
return ((value.length > validator.maxlength) && ! validator.negative)
|| ((value.length <= validator.maxlength) && validator.negative);
validate: function($this, value, validator) {
return ((value.length > validator.maxlength) && !validator.negative) ||
((value.length <= validator.maxlength) && validator.negative);
}
},
minlength: {
name: "minlength",
init: function ($this, name) {
return {minlength: $this.data("validation" + name + "Minlength")};
init: function($this, name) {
return {
minlength: $this.data("validation" + name + "Minlength")
};
},
validate: function ($this, value, validator) {
return ((value.length < validator.minlength) && ! validator.negative)
|| ((value.length >= validator.minlength) && validator.negative);
validate: function($this, value, validator) {
return ((value.length < validator.minlength) && !validator.negative) ||
((value.length >= validator.minlength) && validator.negative);
}
},
maxchecked: {
name: "maxchecked",
init: function ($this, name) {
init: function($this, name) {
var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
elements.bind("click.validation", function () {
$this.trigger("change.validation", {includeEmpty: true});
elements.bind("click.validation", function() {
$this.trigger("change.validation", {
includeEmpty: true
});
return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
});
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);
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
},
minchecked: {
name: "minchecked",
init: function ($this, name) {
init: function($this, name) {
var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
elements.bind("click.validation", function () {
$this.trigger("change.validation", {includeEmpty: true});
elements.bind("click.validation", function() {
$this.trigger("change.validation", {
includeEmpty: true
});
return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
});
return {
minchecked: $this.data("validation" + name + "Minchecked"),
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);
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
}
@ -847,19 +873,18 @@
}
};
var formatValidatorName = function (name) {
var formatValidatorName = function(name) {
return name
.toLowerCase()
.replace(
/(^|\s)([a-z])/g ,
function(m,p1,p2) {
return p1+p2.toUpperCase();
/(^|\s)([a-z])/g,
function(m, p1, p2) {
return p1 + p2.toUpperCase();
}
)
;
);
};
var getValue = function ($this) {
var getValue = function($this) {
// Extract the value we're talking about
var value = $this.val();
var type = $this.attr("type");
@ -882,31 +907,31 @@
* 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
**/
function executeFunctionByName(functionName, context /*, args*/) {
function executeFunctionByName(functionName, context /*, args*/ ) {
var args = Array.prototype.slice.call(arguments).splice(2);
var namespaces = functionName.split(".");
var func = namespaces.pop();
for(var i = 0; i < namespaces.length; i++) {
for (var i = 0; i < namespaces.length; i++) {
context = context[namespaces[i]];
}
return context[func].apply(this, args);
}
$.fn.jqBootstrapValidation = function( method ) {
$.fn.jqBootstrapValidation = function(method) {
if ( defaults.methods[method] ) {
return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return defaults.methods.init.apply( this, arguments );
if (defaults.methods[method]) {
return defaults.methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return defaults.methods.init.apply(this, arguments);
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.jqBootstrapValidation' );
$.error('Method ' + method + ' does not exist on jQuery.jqBootstrapValidation');
return null;
}
};
$.jqBootstrapValidation = function (options) {
$(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
$.jqBootstrapValidation = function(options) {
$(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this, arguments);
};
})( jQuery );
})(jQuery);

View File

@ -26,19 +26,19 @@
"url": "https://github.com/BlackrockDigital/startbootstrap-agency.git"
},
"dependencies": {
"bootstrap": "^4.0.0-alpha.6",
"bootstrap": "^4.0.0-beta",
"font-awesome": "4.7.0",
"jquery": "^3.2.1",
"jquery.easing": "^1.4.1",
"tether": "^1.4.0"
"popper.js": "^1.11.1"
},
"devDependencies": {
"browser-sync": "^2.18.8",
"browser-sync": "2.18.13",
"gulp": "^3.9.1",
"gulp-clean-css": "3.2.0",
"gulp-header": "1.8.8",
"gulp-clean-css": "3.7.0",
"gulp-header": "1.8.9",
"gulp-rename": "^1.2.2",
"gulp-sass": "^3.1.0",
"gulp-uglify": "^2.1.2"
"gulp-uglify": "3.0.0"
}
}

View File

@ -26,16 +26,16 @@ ul.social-buttons {
display: block;
width: 40px;
height: 40px;
-webkit-transition: all .3s;
-moz-transition: all .3s;
transition: all .3s;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
color: white;
border-radius: 100%;
outline: none;
background-color: $gray-darker;
&:hover,
&:active,
&:focus,
&:active {
&:hover {
background-color: $theme-primary;
}
}

View File

@ -10,10 +10,10 @@ p {
a {
color: $theme-primary;
&:hover,
&:focus,
&.active,
&:active,
&.active {
&:focus,
&:hover {
color: darken($theme-primary, 10%);
}
}
@ -44,7 +44,6 @@ section {
@include serif-font;
}
}
@media(min-width:768px) {
section {
padding: 150px 0;

View File

@ -8,8 +8,8 @@ header.masthead {
background-position: center center;
@include background-cover;
.intro-text {
padding-top: 100px;
padding-bottom: 50px;
padding-top: 150px;
padding-bottom: 100px;
.intro-lead-in {
font-size: 22px;
font-style: italic;
@ -26,7 +26,6 @@ header.masthead {
}
}
}
@media(min-width:768px) {
header.masthead {
.intro-text {

View File

@ -4,8 +4,8 @@
color: $color;
border-color: $border;
background-color: $background;
&:focus,
&.focus {
&.focus,
&:focus {
color: $color;
border-color: darken($border, 25%);
background-color: darken($background, 10%);
@ -15,31 +15,31 @@
border-color: darken($border, 12%);
background-color: darken($background, 10%);
}
&:active,
&.active,
&:active,
.open > &.dropdown-toggle {
color: $color;
border-color: darken($border, 12%);
background-color: darken($background, 10%);
&:hover,
&.focus,
&:focus,
&.focus {
&:hover {
color: $color;
border-color: darken($border, 25%);
background-color: darken($background, 17%);
}
}
&:active,
&.active,
&:active,
.open > &.dropdown-toggle {
background-image: none;
}
&.disabled,
&[disabled],
fieldset[disabled] & {
&:hover,
&.focus,
&:focus,
&.focus {
&:hover {
border-color: $border;
background-color: $background;
}
@ -62,15 +62,12 @@
@mixin serif-font {
font-family: 'Droid Serif', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
@mixin script-font {
font-family: 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial, cursive;
}
@mixin body-font {
font-family: 'Roboto Slab', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
@mixin heading-font {
font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
text-transform: uppercase;

View File

@ -11,15 +11,13 @@
background-color: $theme-primary;
@include heading-font;
}
.container {
padding: 0;
.navbar-brand {
color: $theme-primary;
@include script-font;
&:hover,
&:focus,
&.active,
&:active,
&.active {
&:focus,
&:hover {
color: darken($theme-primary, 10%);
}
}
@ -28,33 +26,32 @@
.nav-link {
font-size: 90%;
font-weight: 400;
padding: .75em 0;
padding: 0.75em 0;
letter-spacing: 1px;
color: white;
@include heading-font;
&:hover,
&.active {
&.active,
&:hover {
color: $theme-primary;
}
}
}
}
}
}
@media(min-width:992px) {
#mainNav {
padding: 25px 0;
-webkit-transition: padding .3s;
-moz-transition: padding .3s;
transition: padding .3s;
padding-top: 25px;
padding-bottom: 25px;
-webkit-transition: padding-top 0.3s, padding-bottom 0.3s;
-moz-transition: padding-top 0.3s, padding-bottom 0.3s;
transition: padding-top 0.3s, padding-bottom 0.3s;
border: none;
background-color: transparent;
.navbar-brand {
font-size: 1.75em;
-webkit-transition: all .3s;
-moz-transition: all .3s;
transition: all .3s;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
.navbar-nav {
.nav-item {
@ -64,7 +61,8 @@
}
}
&.navbar-shrink {
padding: 0;
padding-top: 0;
padding-bottom: 0;
background-color: $gray-darker;
.navbar-brand {
font-size: 1.25em;

View File

@ -13,9 +13,9 @@
position: absolute;
width: 100%;
height: 100%;
-webkit-transition: all ease .5s;
-moz-transition: all ease .5s;
transition: all ease .5s;
-webkit-transition: all ease 0.5s;
-moz-transition: all ease 0.5s;
transition: all ease 0.5s;
opacity: 0;
background: fade-out($theme-primary, .1);
&:hover {
@ -62,7 +62,6 @@
z-index: 2;
}
}
@media(min-width:767px) {
#portfolio {
.portfolio-item {
@ -119,7 +118,7 @@
cursor: pointer;
background-color: transparent;
&:hover {
opacity: .3;
opacity: 0.3;
}
.lr {
/* Safari and Chrome */

View File

@ -17,8 +17,8 @@
position: relative;
min-height: 50px;
margin-bottom: 50px;
&:before,
&:after {
&:after,
&:before {
display: table;
content: ' ';
}
@ -93,13 +93,12 @@
}
}
.timeline-body {
> p,
> ul {
> ul,
> p {
margin-bottom: 0;
}
}
}
@media(min-width:768px) {
.timeline {
&:before {
@ -133,7 +132,6 @@
}
}
}
@media(min-width:992px) {
.timeline {
> li {
@ -157,7 +155,6 @@
}
}
}
@media(min-width:1200px) {
.timeline {
> li {

View File

@ -6,8 +6,8 @@ $theme-primary: #fed136;
$theme-danger: #e74c3c;
$gray-base: #000 !default;
$gray-darker: lighten($gray-base, 13.5%) !default; // #222
$gray-dark: lighten($gray-base, 20%) !default; // #333
$gray: lighten($gray-base, 33.5%) !default; // #555
$gray-light: lighten($gray-base, 46.7%) !default; // #777
$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
$gray-darker: lighten($gray-base, 13.5%) !default;
$gray-dark: lighten($gray-base, 20%) !default;
$gray: lighten($gray-base, 33.5%) !default;
$gray-light: lighten($gray-base, 46.7%) !default;
$gray-lighter: lighten($gray-base, 93.5%) !default;

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,256 +1,16 @@
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
box-sizing: border-box;
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: 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;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
@ -258,17 +18,17 @@ html {
width: device-width;
}
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
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-weight: normal;
line-height: 1.5;
color: #292b2c;
color: #212529;
background-color: #fff;
}
@ -276,6 +36,12 @@ body {
outline: none !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
@ -288,7 +54,11 @@ p {
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
}
address {
@ -324,13 +94,44 @@ blockquote {
margin: 0 0 1rem;
}
a {
color: #0275d8;
text-decoration: none;
dfn {
font-style: italic;
}
a:focus, a:hover {
color: #014c8c;
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;
}
@ -348,6 +149,14 @@ a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre,
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
@ -360,10 +169,11 @@ figure {
img {
vertical-align: middle;
border-style: none;
}
[role="button"] {
cursor: pointer;
svg:not(:root) {
overflow: hidden;
}
a,
@ -381,13 +191,12 @@ textarea {
table {
border-collapse: collapse;
background-color: transparent;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
color: #868e96;
text-align: left;
caption-side: bottom;
}
@ -409,13 +218,43 @@ button:focus {
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
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 {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
@ -426,6 +265,7 @@ input[type="month"] {
}
textarea {
overflow: auto;
resize: vertical;
}
@ -439,20 +279,51 @@ fieldset {
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;
}
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;
}
[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;
}

View File

@ -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 */

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

1811
vendor/tether/tether.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long