@ -1,8 +1,12 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.contrib.auth.models import AbstractUser
|
from django.contrib.auth.models import AbstractUser
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
class BlogUser(AbstractUser):
|
class BlogUser(AbstractUser):
|
||||||
nickname = models.CharField('昵称', max_length=50, blank=True)
|
nickname = models.CharField('昵称', max_length=50, blank=True)
|
||||||
mugshot = models.ImageField('头像', upload_to='upload/mugshots', blank=True)
|
mugshot = models.ImageField('头像', upload_to='upload/mugshots', blank=True)
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return reverse('blog:author_detail', kwargs={'author_name': self.username})
|
||||||
|
|||||||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,13 @@
|
|||||||
|
/*!
|
||||||
|
* IE10 viewport hack for Surface/desktop Windows 8 bug
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See the Getting Started docs for more information:
|
||||||
|
* http://getbootstrap.com/getting-started/#support-ie10-width
|
||||||
|
*/
|
||||||
|
@-ms-viewport { width: device-width; }
|
||||||
|
@-o-viewport { width: device-width; }
|
||||||
|
@viewport { width: device-width; }
|
||||||
@ -0,0 +1,66 @@
|
|||||||
|
.hll { background-color: #ffffcc }
|
||||||
|
/*{ background: #f0f3f3; }*/
|
||||||
|
.c { color: #999; } /* Comment */
|
||||||
|
.err { color: #AA0000; background-color: #FFAAAA } /* Error */
|
||||||
|
.k { color: #006699; } /* Keyword */
|
||||||
|
.o { color: #555555 } /* Operator */
|
||||||
|
.cm { color: #999; } /* Comment.Multiline */ /* Edited to remove italics and make into comment */
|
||||||
|
.cp { color: #009999 } /* Comment.Preproc */
|
||||||
|
.c1 { color: #999; } /* Comment.Single */
|
||||||
|
.cs { color: #999; } /* Comment.Special */
|
||||||
|
.gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
|
||||||
|
.ge { font-style: italic } /* Generic.Emph */
|
||||||
|
.gr { color: #FF0000 } /* Generic.Error */
|
||||||
|
.gh { color: #003300; } /* Generic.Heading */
|
||||||
|
.gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
|
||||||
|
.go { color: #AAAAAA } /* Generic.Output */
|
||||||
|
.gp { color: #000099; } /* Generic.Prompt */
|
||||||
|
.gs { } /* Generic.Strong */
|
||||||
|
.gu { color: #003300; } /* Generic.Subheading */
|
||||||
|
.gt { color: #99CC66 } /* Generic.Traceback */
|
||||||
|
.kc { color: #006699; } /* Keyword.Constant */
|
||||||
|
.kd { color: #006699; } /* Keyword.Declaration */
|
||||||
|
.kn { color: #006699; } /* Keyword.Namespace */
|
||||||
|
.kp { color: #006699 } /* Keyword.Pseudo */
|
||||||
|
.kr { color: #006699; } /* Keyword.Reserved */
|
||||||
|
.kt { color: #007788; } /* Keyword.Type */
|
||||||
|
.m { color: #FF6600 } /* Literal.Number */
|
||||||
|
.s { color: #d44950 } /* Literal.String */
|
||||||
|
.na { color: #4f9fcf } /* Name.Attribute */
|
||||||
|
.nb { color: #336666 } /* Name.Builtin */
|
||||||
|
.nc { color: #00AA88; } /* Name.Class */
|
||||||
|
.no { color: #336600 } /* Name.Constant */
|
||||||
|
.nd { color: #9999FF } /* Name.Decorator */
|
||||||
|
.ni { color: #999999; } /* Name.Entity */
|
||||||
|
.ne { color: #CC0000; } /* Name.Exception */
|
||||||
|
.nf { color: #CC00FF } /* Name.Function */
|
||||||
|
.nl { color: #9999FF } /* Name.Label */
|
||||||
|
.nn { color: #00CCFF; } /* Name.Namespace */
|
||||||
|
.nt { color: #2f6f9f; } /* Name.Tag */
|
||||||
|
.nv { color: #003333 } /* Name.Variable */
|
||||||
|
.ow { color: #000000; } /* Operator.Word */
|
||||||
|
.w { color: #bbbbbb } /* Text.Whitespace */
|
||||||
|
.mf { color: #FF6600 } /* Literal.Number.Float */
|
||||||
|
.mh { color: #FF6600 } /* Literal.Number.Hex */
|
||||||
|
.mi { color: #FF6600 } /* Literal.Number.Integer */
|
||||||
|
.mo { color: #FF6600 } /* Literal.Number.Oct */
|
||||||
|
.sb { color: #CC3300 } /* Literal.String.Backtick */
|
||||||
|
.sc { color: #CC3300 } /* Literal.String.Char */
|
||||||
|
.sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
|
||||||
|
.s2 { color: #CC3300 } /* Literal.String.Double */
|
||||||
|
.se { color: #CC3300; } /* Literal.String.Escape */
|
||||||
|
.sh { color: #CC3300 } /* Literal.String.Heredoc */
|
||||||
|
.si { color: #AA0000 } /* Literal.String.Interpol */
|
||||||
|
.sx { color: #CC3300 } /* Literal.String.Other */
|
||||||
|
.sr { color: #33AAAA } /* Literal.String.Regex */
|
||||||
|
.s1 { color: #CC3300 } /* Literal.String.Single */
|
||||||
|
.ss { color: #FFCC33 } /* Literal.String.Symbol */
|
||||||
|
.bp { color: #336666 } /* Name.Builtin.Pseudo */
|
||||||
|
.vc { color: #003333 } /* Name.Variable.Class */
|
||||||
|
.vg { color: #003333 } /* Name.Variable.Global */
|
||||||
|
.vi { color: #003333 } /* Name.Variable.Instance */
|
||||||
|
.il { color: #FF6600 } /* Literal.Number.Integer.Long */
|
||||||
|
|
||||||
|
.css .o,
|
||||||
|
.css .o + .nt,
|
||||||
|
.css .nt + .nt { color: #999; }
|
||||||
@ -0,0 +1,605 @@
|
|||||||
|
/*
|
||||||
|
Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
|
||||||
|
*/
|
||||||
|
.select2-container {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
/* inline-block for ie7 */
|
||||||
|
zoom: 1;
|
||||||
|
*display: inline;
|
||||||
|
vertical-align: top;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
/* To override styles found in Bootstrap3 */
|
||||||
|
.select2-container:hover {
|
||||||
|
border: 0;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container,
|
||||||
|
.select2-drop,
|
||||||
|
.select2-search,
|
||||||
|
.select2-search input{
|
||||||
|
/*
|
||||||
|
Force border-box so that % widths fit the parent
|
||||||
|
container without overlap because of margin/padding.
|
||||||
|
|
||||||
|
More Info : http://www.quirksmode.org/css/box.html
|
||||||
|
*/
|
||||||
|
-moz-box-sizing: border-box; /* firefox */
|
||||||
|
-ms-box-sizing: border-box; /* ie */
|
||||||
|
-webkit-box-sizing: border-box; /* webkit */
|
||||||
|
-khtml-box-sizing: border-box; /* konqueror */
|
||||||
|
box-sizing: border-box; /* css3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-choice {
|
||||||
|
display: block; /* ? */
|
||||||
|
overflow: hidden;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
padding: 4px 12px;
|
||||||
|
margin: 0;
|
||||||
|
color: #333;
|
||||||
|
text-shadow: 0 1px 0 #fff;
|
||||||
|
white-space: nowrap;
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 13px;
|
||||||
|
cursor: default;
|
||||||
|
height: 18px;
|
||||||
|
background-color: #f3f3f3;
|
||||||
|
background-image: -moz-linear-gradient(top, #f5f5f5, #f1f1f1);
|
||||||
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f1f1f1));
|
||||||
|
background-image: -webkit-linear-gradient(top, #f5f5f5, #f1f1f1);
|
||||||
|
background-image: -o-linear-gradient(top, #f5f5f5, #f1f1f1);
|
||||||
|
background-image: linear-gradient(to bottom, #f5f5f5, #f1f1f1);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff1f1f1', GradientType=0);
|
||||||
|
-webkit-background-clip: padding;
|
||||||
|
-moz-background-clip: padding;
|
||||||
|
background-clip: padding;
|
||||||
|
border: 1px solid #dcdcdc;
|
||||||
|
-webkit-border-radius: 2px;
|
||||||
|
-moz-border-radius: 2px;
|
||||||
|
border-radius: 2px;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
-moz-box-sizing: content-box; /* firefox */
|
||||||
|
-ms-box-sizing: content-box; /* ie */
|
||||||
|
-webkit-box-sizing: content-box; /* webkit */
|
||||||
|
-khtml-box-sizing: content-box; /* konqueror */
|
||||||
|
box-sizing: content-box; /* css3 */
|
||||||
|
}
|
||||||
|
.select2-container .select2-choice:hover {
|
||||||
|
color: #333;
|
||||||
|
text-shadow: none;
|
||||||
|
border-color: #c6c6c6;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
background-image: -moz-linear-gradient(top, #f8f8f8, #f1f1f1);
|
||||||
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f8f8f8), to(#f1f1f1));
|
||||||
|
background-image: -webkit-linear-gradient(top, #f8f8f8, #f1f1f1);
|
||||||
|
background-image: -o-linear-gradient(top, #f8f8f8, #f1f1f1);
|
||||||
|
background-image: linear-gradient(to bottom, #f8f8f8, #f1f1f1);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8f8f8', endColorstr='#fff1f1f1', GradientType=0);
|
||||||
|
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
background-position: 0 0;
|
||||||
|
-webkit-transition: none;
|
||||||
|
-moz-transition: none;
|
||||||
|
-o-transition: none;
|
||||||
|
transition: none;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.select2-container-active .select2-choice:hover {
|
||||||
|
border: 1px solid #4D90FE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container.select2-drop-above .select2-choice
|
||||||
|
{
|
||||||
|
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white));
|
||||||
|
background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%);
|
||||||
|
background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%);
|
||||||
|
background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%);
|
||||||
|
background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 90%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
|
||||||
|
background-image: linear-gradient(top, #eeeeee 0%,#ffffff 90%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-choice span {
|
||||||
|
margin-right: 26px;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
-o-text-overflow: ellipsis;
|
||||||
|
-ms-text-overflow: ellipsis;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-choice abbr {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
right: 26px;
|
||||||
|
top: 8px;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
|
||||||
|
font-size: 17px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #595959;
|
||||||
|
font-weight: 700;
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
border:0;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
.select2-container .select2-choice abbr:hover {
|
||||||
|
color: #222;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-drop-mask {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: 9998;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-drop {
|
||||||
|
background: #fff;
|
||||||
|
color: #000;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
|
||||||
|
-moz-box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
|
||||||
|
-o-box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
|
||||||
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
|
||||||
|
z-index: 9999;
|
||||||
|
width:100%;
|
||||||
|
margin-top:1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-drop.select2-drop-above {
|
||||||
|
margin-top: -1px;
|
||||||
|
|
||||||
|
-webkit-box-shadow: 0 -2px 4px rgba(0, 0, 0, .2);
|
||||||
|
-moz-box-shadow: 0 -2px 4px rgba(0, 0, 0, .2);
|
||||||
|
-o-box-shadow: 0 -2px 4px rgba(0, 0, 0, .2);
|
||||||
|
box-shadow: 0 -2px 4px rgba(0, 0, 0, .2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-choice div {
|
||||||
|
-webkit-border-radius: 0 2px 2px 0;
|
||||||
|
-moz-border-radius: 0 2px 2px 0;
|
||||||
|
border-radius: 0 2px 2px 0;
|
||||||
|
-moz-background-clip: padding;
|
||||||
|
-webkit-background-clip: padding-box;
|
||||||
|
background-clip: padding-box;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
display: block;
|
||||||
|
height: 100%;
|
||||||
|
width: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-choice div b {
|
||||||
|
background: url('/assets/img/select2.png') no-repeat -30px 2px;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search {
|
||||||
|
display: inline-block;
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 10000;
|
||||||
|
min-height: 26px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px 4px 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search-hidden {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
left: -10000px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search input {
|
||||||
|
background: #fff url('/assets/img/select2.png') no-repeat 100% -22px;
|
||||||
|
background: url('/assets/img/select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
|
||||||
|
background: url('/assets/img/select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
||||||
|
background: url('/assets/img/select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
||||||
|
background: url('/assets/img/select2.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
|
||||||
|
background: url('/assets/img/select2.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
||||||
|
background: url('/assets/img/select2.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
||||||
|
padding: 4px 20px 4px 5px;
|
||||||
|
outline: 0;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 1em;
|
||||||
|
width:100%;
|
||||||
|
margin:0;
|
||||||
|
height:auto !important;
|
||||||
|
min-height: 26px;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-drop.select2-drop-above .select2-search input
|
||||||
|
{
|
||||||
|
margin-top:4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search input.select2-active {
|
||||||
|
background: #fff url('../img/spinner.gif') no-repeat 100%;
|
||||||
|
background: url('../img/spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
|
||||||
|
background: url('../img/spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
||||||
|
background: url('../img/spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
||||||
|
background: url('../img/spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
|
||||||
|
background: url('../img/spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
||||||
|
background: url('../img/spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.select2-container-active .select2-choice,
|
||||||
|
.select2-container-active .select2-choices {
|
||||||
|
border: 1px solid #4D90FE;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-dropdown-open .select2-choice,
|
||||||
|
.select2-dropdown-open .select2-choice:hover {
|
||||||
|
/*
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-bottom-color: transparent;
|
||||||
|
-webkit-border-bottom-left-radius : 0;
|
||||||
|
-webkit-border-bottom-right-radius: 0;
|
||||||
|
-moz-border-radius-bottomleft : 0;
|
||||||
|
-moz-border-radius-bottomright: 0;
|
||||||
|
border-bottom-left-radius : 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
*/
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
background-image: -moz-linear-gradient(top, #f6f6f6, #f1f1f1);
|
||||||
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f6f6f6), to(#f1f1f1));
|
||||||
|
background-image: -webkit-linear-gradient(top, #f6f6f6, #f1f1f1);
|
||||||
|
background-image: -o-linear-gradient(top, #f6f6f6, #f1f1f1);
|
||||||
|
background-image: linear-gradient(to bottom, #f6f6f6, #f1f1f1);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f6f6', endColorstr='#fff1f1f1', GradientType=0);
|
||||||
|
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-dropdown-open .select2-choice div {
|
||||||
|
background: transparent;
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
.select2-dropdown-open .select2-choice div b {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* results */
|
||||||
|
.select2-results {
|
||||||
|
margin: 4px 1px 4px 0;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
max-height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results ul.select2-result-sub {
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
|
||||||
|
.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
|
||||||
|
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
|
||||||
|
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
|
||||||
|
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
|
||||||
|
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
|
||||||
|
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
|
||||||
|
|
||||||
|
.select2-results li {
|
||||||
|
list-style: none;
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results li.select2-result-with-children > .select2-result-label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results .select2-result-label {
|
||||||
|
padding: 3px 7px 4px;
|
||||||
|
margin: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results .select2-highlighted {
|
||||||
|
background: #eee;
|
||||||
|
/*color: #fff;*/
|
||||||
|
}
|
||||||
|
.select2-results li em {
|
||||||
|
background: #feffde;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
.select2-results .select2-highlighted em {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.select2-results .select2-no-results,
|
||||||
|
.select2-results .select2-searching,
|
||||||
|
.select2-results .select2-selection-limit {
|
||||||
|
background: #f4f4f4;
|
||||||
|
display: list-item;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
disabled look for already selected choices in the results dropdown
|
||||||
|
.select2-results .select2-disabled.select2-highlighted {
|
||||||
|
color: #666;
|
||||||
|
background: #f4f4f4;
|
||||||
|
display: list-item;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.select2-results .select2-disabled {
|
||||||
|
background: #f4f4f4;
|
||||||
|
display: list-item;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
.select2-results .select2-disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-more-results.select2-active {
|
||||||
|
background: #f4f4f4 url('../img/spinner.gif') no-repeat 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-more-results {
|
||||||
|
background: #f4f4f4;
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* disabled styles */
|
||||||
|
|
||||||
|
.select2-container.select2-container-disabled .select2-choice {
|
||||||
|
color: #b3b3b3;
|
||||||
|
border-color: #d9d9d9;
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
background-image: none;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container.select2-container-disabled .select2-choice div {
|
||||||
|
opacity: 0.5;
|
||||||
|
filter:alpha(opacity=50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* multiselect */
|
||||||
|
|
||||||
|
.select2-container-multi .select2-choices {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #d9d9d9;
|
||||||
|
border-top: 1px solid #c0c0c0;
|
||||||
|
-webkit-border-radius: 1px;
|
||||||
|
-moz-border-radius: 1px;
|
||||||
|
border-radius: 1px;
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
cursor: text;
|
||||||
|
overflow: hidden;
|
||||||
|
height: auto !important;
|
||||||
|
height: 1%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.select2-container-multi .select2-choices:hover {
|
||||||
|
border: 1px solid #b9b9b9;
|
||||||
|
border-top: 1px solid #a0a0a0;
|
||||||
|
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi .select2-choices {
|
||||||
|
min-height: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi.select2-container-active .select2-choices {
|
||||||
|
border: 1px solid #4D90FE;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.select2-container-multi .select2-choices li {
|
||||||
|
float: left;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.select2-container-multi .select2-choices .select2-search-field {
|
||||||
|
white-space: nowrap;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi .select2-choices .select2-search-field input {
|
||||||
|
color: #666;
|
||||||
|
background: transparent !important;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 100%;
|
||||||
|
height: 23px;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 1px 0;
|
||||||
|
outline: 0;
|
||||||
|
border: 0;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow : none;
|
||||||
|
-o-box-shadow : none;
|
||||||
|
box-shadow : none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi .select2-choices .select2-search-field input.select2-active {
|
||||||
|
background: #fff url('../img/spinner.gif') no-repeat 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-default {
|
||||||
|
color: #999 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi .select2-choices .select2-search-choice {
|
||||||
|
-webkit-border-radius: 2px;
|
||||||
|
-moz-border-radius : 2px;
|
||||||
|
border-radius : 2px;
|
||||||
|
-moz-background-clip : padding;
|
||||||
|
-webkit-background-clip: padding-box;
|
||||||
|
background-clip : padding-box;
|
||||||
|
background-color: #DAE4F6;
|
||||||
|
color: #222;
|
||||||
|
font-family: Arial;
|
||||||
|
border: 1px solid #DAE4F6;
|
||||||
|
line-height: 23px;
|
||||||
|
padding: 0 19px 0 5px;
|
||||||
|
margin: 1px;
|
||||||
|
position: relative;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.select2-container-multi .select2-choices .select2-search-choice span {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.select2-container-multi .select2-choices .select2-search-choice-focus {
|
||||||
|
background: #A6D7F5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search-choice-close {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
right: 3px;
|
||||||
|
top: 4px;
|
||||||
|
width: 12px;
|
||||||
|
height: 13px;
|
||||||
|
font-size: 17px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #444;
|
||||||
|
font-weight: 700;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.select2-search-choice-close:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #222;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* disabled styles */
|
||||||
|
|
||||||
|
.select2-container-multi.select2-container-disabled .select2-choices{
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
background-image: none;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
|
||||||
|
background-image: none;
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
padding: 3px 5px 3px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* end multiselect */
|
||||||
|
|
||||||
|
.select2-result-selectable .select2-match,
|
||||||
|
.select2-result-unselectable .select2-result-selectable .select2-match { font-weight: bold; /*text-decoration: underline;*/ }
|
||||||
|
.select2-result-unselectable .select2-match { text-decoration: none; }
|
||||||
|
|
||||||
|
.select2-offscreen { position: absolute; left: -10000px; }
|
||||||
|
|
||||||
|
|
||||||
|
/** Scrollbars */
|
||||||
|
.select2-results::-webkit-scrollbar {
|
||||||
|
height: 16px;
|
||||||
|
width: 10px;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-button:start:decrement,
|
||||||
|
.select2-results::-webkit-scrollbar-button:end:increment {
|
||||||
|
background-color: transparent;
|
||||||
|
display: block;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-track {
|
||||||
|
background-clip: padding-box;
|
||||||
|
border: solid
|
||||||
|
transparent;
|
||||||
|
border-width: 0 0 0 4px;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-track-piece {
|
||||||
|
background-color: transparent;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar:hover {
|
||||||
|
background-color: #f3f3f3;
|
||||||
|
border: 1px solid #dbdbdb;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-thumb:vertical,
|
||||||
|
.select2-results::-webkit-scrollbar-thumb:horizontal {
|
||||||
|
background-color: #c6c6c6;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-thumb {
|
||||||
|
background-color: rgba(0, 0, 0, 0.2);
|
||||||
|
border: solid transparent;
|
||||||
|
border-width: 0;
|
||||||
|
-webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,0.10),inset 0 -1px 0 rgba(0,0,0,0.07);
|
||||||
|
-moz-box-shadow: inset 1px 1px 0 rgba(0,0,0,0.10),inset 0 -1px 0 rgba(0,0,0,0.07);
|
||||||
|
box-shadow: inset 1px 1px 0 rgba(0,0,0,0.10),inset 0 -1px 0 rgba(0,0,0,0.07);
|
||||||
|
background-clip: padding-box;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: #949494;
|
||||||
|
}
|
||||||
|
.select2-results::-webkit-scrollbar-thumb:active {
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
-webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.35);
|
||||||
|
-moz-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.35);
|
||||||
|
box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.35);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Retina-ize icons */
|
||||||
|
|
||||||
|
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
|
||||||
|
.select2-search input, .select2-container .select2-choice div b {
|
||||||
|
background-image: url('/assets/img/select2x2.png') !important;
|
||||||
|
background-repeat: no-repeat !important;
|
||||||
|
background-size: 60px 40px !important;
|
||||||
|
}
|
||||||
|
.select2-search input {
|
||||||
|
background-position: 100% -21px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 239 B |
|
After Width: | Height: | Size: 632 B |
|
After Width: | Height: | Size: 809 B |
|
After Width: | Height: | Size: 1.8 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
/**
|
||||||
|
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||||
|
*/
|
||||||
|
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
/*!
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
*/
|
||||||
|
// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
function emulatedIEMajorVersion() {
|
||||||
|
var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
|
||||||
|
if (groups === null) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
var ieVersionNum = parseInt(groups[1], 10)
|
||||||
|
var ieMajorVersion = Math.floor(ieVersionNum)
|
||||||
|
return ieMajorVersion
|
||||||
|
}
|
||||||
|
|
||||||
|
function actualNonEmulatedIEMajorVersion() {
|
||||||
|
// Detects the actual version of IE in use, even if it's in an older-IE emulation mode.
|
||||||
|
// IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx
|
||||||
|
// @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx
|
||||||
|
var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // jshint ignore:line
|
||||||
|
if (jscriptVersion === undefined) {
|
||||||
|
return 11 // IE11+ not in emulation mode
|
||||||
|
}
|
||||||
|
if (jscriptVersion < 9) {
|
||||||
|
return 8 // IE8 (or lower; haven't tested on IE<8)
|
||||||
|
}
|
||||||
|
return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode
|
||||||
|
}
|
||||||
|
|
||||||
|
var ua = window.navigator.userAgent
|
||||||
|
if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) {
|
||||||
|
return // Opera, which might pretend to be IE
|
||||||
|
}
|
||||||
|
var emulated = emulatedIEMajorVersion()
|
||||||
|
if (emulated === null) {
|
||||||
|
return // Not IE
|
||||||
|
}
|
||||||
|
var nonEmulated = actualNonEmulatedIEMajorVersion()
|
||||||
|
|
||||||
|
if (emulated !== nonEmulated) {
|
||||||
|
window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
|
||||||
|
}
|
||||||
|
})();
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
/*!
|
||||||
|
* IE10 viewport hack for Surface/desktop Windows 8 bug
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
|
// See the Getting Started docs for more information:
|
||||||
|
// http://getbootstrap.com/getting-started/#support-ie10-width
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
||||||
|
var msViewportStyle = document.createElement('style')
|
||||||
|
msViewportStyle.appendChild(
|
||||||
|
document.createTextNode(
|
||||||
|
'@-ms-viewport{width:auto!important}'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
document.querySelector('head').appendChild(msViewportStyle)
|
||||||
|
}
|
||||||
|
|
||||||
|
})();
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
/*!
|
||||||
|
* Copyright 2011-2015 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
*/
|
||||||
|
// Intended to prevent false-positive bug reports about responsive styling supposedly not working in IE8.
|
||||||
|
if (window.location.protocol == 'file:') {
|
||||||
|
window.alert('ERROR: Bootstrap\'s responsive CSS is disabled!\nSee getbootstrap.com/getting-started/#respond-file-proto for details.')
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
|
||||||
|
* Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
|
||||||
|
* */
|
||||||
|
|
||||||
|
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
|
||||||
@ -0,0 +1,194 @@
|
|||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S ALL JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* JavaScript for Bootstrap's docs (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* global ZeroClipboard, anchors */
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
|
||||||
|
// Scrollspy
|
||||||
|
var $window = $(window)
|
||||||
|
var $body = $(document.body)
|
||||||
|
|
||||||
|
var navHeight = $('.navbar').outerHeight(true) + 16
|
||||||
|
|
||||||
|
$body.scrollspy({
|
||||||
|
target: '.bs-docs-sidebar',
|
||||||
|
offset: navHeight
|
||||||
|
})
|
||||||
|
$window.on('load', function () {
|
||||||
|
$body.scrollspy('refresh')
|
||||||
|
})
|
||||||
|
|
||||||
|
// Kill links
|
||||||
|
$('.bs-docs-container [href="#"]').click(function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
|
||||||
|
// Sidenav affixing
|
||||||
|
setTimeout(function () {
|
||||||
|
var $sideBar = $('.bs-docs-sidebar')
|
||||||
|
|
||||||
|
$sideBar.affix({
|
||||||
|
offset: {
|
||||||
|
top: function () {
|
||||||
|
var offsetTop = $sideBar.offset().top
|
||||||
|
var sideBarMargin = parseInt($sideBar.children(0).css('margin-top'), 10)
|
||||||
|
var navOuterHeight = $('.bs-docs-nav').height()
|
||||||
|
|
||||||
|
return (this.top = offsetTop - navOuterHeight - sideBarMargin)
|
||||||
|
},
|
||||||
|
bottom: function () {
|
||||||
|
return (this.bottom = $('.bs-docs-footer').outerHeight(true))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
$('.bs-top').affix()
|
||||||
|
}, 100)
|
||||||
|
|
||||||
|
// Theme toggler
|
||||||
|
;(function () {
|
||||||
|
var $stylesheetLink = $('#bs-theme-stylesheet')
|
||||||
|
var $themeBtn = $('.bs-docs-theme-toggle')
|
||||||
|
|
||||||
|
var activateTheme = function () {
|
||||||
|
$stylesheetLink.attr('href', $stylesheetLink.attr('data-href'))
|
||||||
|
$themeBtn.text('Disable theme preview')
|
||||||
|
localStorage.setItem('previewTheme', true)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (localStorage.getItem('previewTheme')) {
|
||||||
|
activateTheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
$themeBtn.click(function () {
|
||||||
|
var href = $stylesheetLink.attr('href')
|
||||||
|
if (!href || href.indexOf('data') === 0) {
|
||||||
|
activateTheme()
|
||||||
|
} else {
|
||||||
|
$stylesheetLink.attr('href', '')
|
||||||
|
$themeBtn.text('Preview theme')
|
||||||
|
localStorage.removeItem('previewTheme')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})();
|
||||||
|
|
||||||
|
// Tooltip and popover demos
|
||||||
|
$('.tooltip-demo').tooltip({
|
||||||
|
selector: '[data-toggle="tooltip"]',
|
||||||
|
container: 'body'
|
||||||
|
})
|
||||||
|
$('.popover-demo').popover({
|
||||||
|
selector: '[data-toggle="popover"]',
|
||||||
|
container: 'body'
|
||||||
|
})
|
||||||
|
|
||||||
|
// Demos within modals
|
||||||
|
$('.tooltip-test').tooltip()
|
||||||
|
$('.popover-test').popover()
|
||||||
|
|
||||||
|
// Popover demos
|
||||||
|
$('.bs-docs-popover').popover()
|
||||||
|
|
||||||
|
// Button state demo
|
||||||
|
$('#loading-example-btn').on('click', function () {
|
||||||
|
var $btn = $(this)
|
||||||
|
$btn.button('loading')
|
||||||
|
setTimeout(function () {
|
||||||
|
$btn.button('reset')
|
||||||
|
}, 3000)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Modal relatedTarget demo
|
||||||
|
$('#exampleModal').on('show.bs.modal', function (event) {
|
||||||
|
var $button = $(event.relatedTarget) // Button that triggered the modal
|
||||||
|
var recipient = $button.data('whatever') // Extract info from data-* attributes
|
||||||
|
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
|
||||||
|
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
|
||||||
|
var $modal = $(this)
|
||||||
|
$modal.find('.modal-title').text('New message to ' + recipient)
|
||||||
|
$modal.find('.modal-body input').val(recipient)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Activate animated progress bar
|
||||||
|
$('.bs-docs-activate-animated-progressbar').on('click', function () {
|
||||||
|
$(this).siblings('.progress').find('.progress-bar-striped').toggleClass('active')
|
||||||
|
})
|
||||||
|
|
||||||
|
// Config ZeroClipboard
|
||||||
|
ZeroClipboard.config({
|
||||||
|
moviePath: '/assets/flash/ZeroClipboard.swf',
|
||||||
|
hoverClass: 'btn-clipboard-hover'
|
||||||
|
})
|
||||||
|
|
||||||
|
// Insert copy to clipboard button before .highlight
|
||||||
|
$('.highlight').each(function () {
|
||||||
|
var btnHtml = '<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>'
|
||||||
|
$(this).before(btnHtml)
|
||||||
|
})
|
||||||
|
var zeroClipboard = new ZeroClipboard($('.btn-clipboard'))
|
||||||
|
var $htmlBridge = $('#global-zeroclipboard-html-bridge')
|
||||||
|
|
||||||
|
// Handlers for ZeroClipboard
|
||||||
|
zeroClipboard.on('load', function () {
|
||||||
|
$htmlBridge
|
||||||
|
.data('placement', 'top')
|
||||||
|
.attr('title', 'Copy to clipboard')
|
||||||
|
.tooltip()
|
||||||
|
|
||||||
|
|
||||||
|
// Copy to clipboard
|
||||||
|
zeroClipboard.on('dataRequested', function (client) {
|
||||||
|
var highlight = $(this).parent().nextAll('.highlight').first()
|
||||||
|
client.setText(highlight.text())
|
||||||
|
})
|
||||||
|
|
||||||
|
// Notify copy success and reset tooltip title
|
||||||
|
zeroClipboard.on('complete', function () {
|
||||||
|
$htmlBridge
|
||||||
|
.attr('title', 'Copied!')
|
||||||
|
.tooltip('fixTitle')
|
||||||
|
.tooltip('show')
|
||||||
|
.attr('title', 'Copy to clipboard')
|
||||||
|
.tooltip('fixTitle')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// Hide copy button when no Flash is found
|
||||||
|
// or wrong Flash version is present
|
||||||
|
zeroClipboard.on('noflash wrongflash', function () {
|
||||||
|
$('.zero-clipboard').remove()
|
||||||
|
ZeroClipboard.destroy()
|
||||||
|
})
|
||||||
|
|
||||||
|
// Google styled selects
|
||||||
|
$('select').not('.input-lg').not('.input-sm').each(function () {
|
||||||
|
var $e = $(this)
|
||||||
|
$e.select2({
|
||||||
|
minimumResultsForSearch: 20
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}(jQuery)
|
||||||
|
|
||||||
|
;(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
anchors.options.placement = 'left';
|
||||||
|
anchors.add('.bs-docs-section > h1, .bs-docs-section > h2, .bs-docs-section > h3, .bs-docs-section > h4, .bs-docs-section > h5')
|
||||||
|
})();
|
||||||
@ -0,0 +1,521 @@
|
|||||||
|
/*!
|
||||||
|
* Bootstrap Customizer (http://getbootstrap.com/customize/)
|
||||||
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* jshint es3:false */
|
||||||
|
/* global JSZip, less, autoprefixer, saveAs, UglifyJS, __configBridge, __js, __less, __fonts */
|
||||||
|
|
||||||
|
window.onload = function () { // wait for load in a dumb way because B-0
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var cw = '/*!\n' +
|
||||||
|
' * Bootstrap v3.3.7 (http://getbootstrap.com)\n' +
|
||||||
|
' * Copyright 2011-' + new Date().getFullYear() + ' Twitter, Inc.\n' +
|
||||||
|
' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
|
||||||
|
' */\n\n'
|
||||||
|
|
||||||
|
var supportsFile = window.File && window.FileReader && window.FileList && window.Blob
|
||||||
|
var $importDropTarget = $('#import-drop-target')
|
||||||
|
|
||||||
|
function showError(msg, err) {
|
||||||
|
$('<div id="bsCustomizerAlert" class="bs-customizer-alert">' +
|
||||||
|
'<div class="container">' +
|
||||||
|
'<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right" aria-label="Close" role="button"><span aria-hidden="true">×</span></a>' +
|
||||||
|
'<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span><span class="sr-only">Warning:</span>' + msg + '</p>' +
|
||||||
|
(err.message ? $('<p></p>').text('Error: ' + err.message)[0].outerHTML : '') +
|
||||||
|
(err.extract ? $('<pre class="bs-customizer-alert-extract"></pre>').text(err.extract.join('\n'))[0].outerHTML : '') +
|
||||||
|
'</div>' +
|
||||||
|
'</div>').appendTo('body').alert()
|
||||||
|
throw err
|
||||||
|
}
|
||||||
|
|
||||||
|
function showSuccess(msg) {
|
||||||
|
$('<div class="bs-callout bs-callout-info">' +
|
||||||
|
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>' + msg +
|
||||||
|
'</div>').insertAfter('.bs-customize-download')
|
||||||
|
}
|
||||||
|
|
||||||
|
function showCallout(msg, showUpTop) {
|
||||||
|
var $callout = $('<div class="bs-callout bs-callout-danger">' +
|
||||||
|
'<h4>Attention!</h4>' +
|
||||||
|
'<p>' + msg + '</p>' +
|
||||||
|
'</div>')
|
||||||
|
|
||||||
|
if (showUpTop) {
|
||||||
|
$callout.appendTo('.bs-docs-container')
|
||||||
|
} else {
|
||||||
|
$callout.insertAfter('.bs-customize-download')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showAlert(type, msg, insertAfter) {
|
||||||
|
$('<div class="alert alert-' + type + '">' + msg + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button></div>')
|
||||||
|
.insertAfter(insertAfter)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getQueryParam(key) {
|
||||||
|
key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, '\\$&') // escape RegEx meta chars
|
||||||
|
var match = location.search.match(new RegExp('[?&]' + key + '=([^&]+)(&|$)'))
|
||||||
|
return match && decodeURIComponent(match[1].replace(/\+/g, ' '))
|
||||||
|
}
|
||||||
|
|
||||||
|
function createGist(configJson, callback) {
|
||||||
|
var data = {
|
||||||
|
description: 'Bootstrap Customizer Config',
|
||||||
|
'public': true,
|
||||||
|
files: {
|
||||||
|
'config.json': {
|
||||||
|
content: configJson
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
url: 'https://api.github.com/gists',
|
||||||
|
type: 'POST',
|
||||||
|
contentType: 'application/json; charset=UTF-8',
|
||||||
|
dataType: 'json',
|
||||||
|
data: JSON.stringify(data)
|
||||||
|
})
|
||||||
|
.success(function (result) {
|
||||||
|
var gistUrl = result.html_url;
|
||||||
|
var origin = window.location.protocol + '//' + window.location.host
|
||||||
|
var customizerUrl = origin + window.location.pathname + '?id=' + result.id
|
||||||
|
showSuccess('<strong>Success!</strong> Your configuration has been saved to <a href="' + gistUrl + '">' + gistUrl + '</a> ' +
|
||||||
|
'and can be revisited here at <a href="' + customizerUrl + '">' + customizerUrl + '</a> for further customization.')
|
||||||
|
history.replaceState(false, document.title, customizerUrl)
|
||||||
|
callback(gistUrl, customizerUrl)
|
||||||
|
})
|
||||||
|
.error(function (err) {
|
||||||
|
try {
|
||||||
|
showError('<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.', err)
|
||||||
|
} catch (sameErr) {
|
||||||
|
// deliberately ignore the error
|
||||||
|
}
|
||||||
|
callback('<none>', '<none>')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCustomizerData() {
|
||||||
|
var vars = {}
|
||||||
|
|
||||||
|
$('#less-variables-section input')
|
||||||
|
.each(function () {
|
||||||
|
$(this).val() && (vars[$(this).prev().text()] = $(this).val())
|
||||||
|
})
|
||||||
|
|
||||||
|
var data = {
|
||||||
|
vars: vars,
|
||||||
|
css: $('#less-section input:checked') .map(function () { return this.value }).toArray(),
|
||||||
|
js: $('#plugin-section input:checked').map(function () { return this.value }).toArray()
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return null
|
||||||
|
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateCustomizerFromJson(data) {
|
||||||
|
if (data.js) {
|
||||||
|
$('#plugin-section input').each(function () {
|
||||||
|
$(this).prop('checked', ~$.inArray(this.value, data.js))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (data.css) {
|
||||||
|
$('#less-section input').each(function () {
|
||||||
|
$(this).prop('checked', ~$.inArray(this.value, data.css))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (data.vars) {
|
||||||
|
for (var i in data.vars) {
|
||||||
|
$('input[data-var="' + i + '"]').val(data.vars[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseUrl() {
|
||||||
|
var id = getQueryParam('id')
|
||||||
|
|
||||||
|
if (!id) return
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: 'https://api.github.com/gists/' + id,
|
||||||
|
type: 'GET',
|
||||||
|
dataType: 'json'
|
||||||
|
})
|
||||||
|
.success(function (result) {
|
||||||
|
var data = JSON.parse(result.files['config.json'].content)
|
||||||
|
updateCustomizerFromJson(data)
|
||||||
|
})
|
||||||
|
.error(function (err) {
|
||||||
|
showError('Error fetching bootstrap config file', err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateZip(css, js, fonts, config, complete) {
|
||||||
|
if (!css && !js) return showError('<strong>Ruh roh!</strong> No Bootstrap files selected.', new Error('no Bootstrap'))
|
||||||
|
|
||||||
|
var zip = new JSZip()
|
||||||
|
|
||||||
|
if (css) {
|
||||||
|
var cssFolder = zip.folder('css')
|
||||||
|
for (var fileName in css) {
|
||||||
|
cssFolder.file(fileName, css[fileName])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (js) {
|
||||||
|
var jsFolder = zip.folder('js')
|
||||||
|
for (var jsFileName in js) {
|
||||||
|
jsFolder.file(jsFileName, js[jsFileName])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fonts) {
|
||||||
|
var fontsFolder = zip.folder('fonts')
|
||||||
|
for (var fontsFileName in fonts) {
|
||||||
|
fontsFolder.file(fontsFileName, fonts[fontsFileName], { base64: true })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config) {
|
||||||
|
zip.file('config.json', config)
|
||||||
|
}
|
||||||
|
|
||||||
|
var content = zip.generate({ type: 'blob' })
|
||||||
|
|
||||||
|
complete(content)
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateCustomLess(vars) {
|
||||||
|
var result = ''
|
||||||
|
|
||||||
|
for (var key in vars) {
|
||||||
|
result += key + ': ' + vars[key] + ';\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
return result + '\n\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateFonts() {
|
||||||
|
var $glyphicons = $('#less-section [value="glyphicons.less"]:checked')
|
||||||
|
if ($glyphicons.length) {
|
||||||
|
return __fonts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns an Array of @import'd filenames in the order
|
||||||
|
// in which they appear in the file.
|
||||||
|
function includedLessFilenames(lessFilename) {
|
||||||
|
var IMPORT_REGEX = /^@import \"(.*?)\";$/
|
||||||
|
var lessLines = __less[lessFilename].split('\n')
|
||||||
|
|
||||||
|
var imports = []
|
||||||
|
$.each(lessLines, function (index, lessLine) {
|
||||||
|
var match = IMPORT_REGEX.exec(lessLine)
|
||||||
|
if (match) {
|
||||||
|
var importee = match[1]
|
||||||
|
var transitiveImports = includedLessFilenames(importee)
|
||||||
|
$.each(transitiveImports, function (index, transitiveImportee) {
|
||||||
|
if ($.inArray(transitiveImportee, imports) === -1) {
|
||||||
|
imports.push(transitiveImportee)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
imports.push(importee)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return imports
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateLESS(lessFilename, lessFileIncludes, vars) {
|
||||||
|
var lessSource = __less[lessFilename]
|
||||||
|
|
||||||
|
var lessFilenames = includedLessFilenames(lessFilename)
|
||||||
|
$.each(lessFilenames, function (index, filename) {
|
||||||
|
var fileInclude = lessFileIncludes[filename]
|
||||||
|
|
||||||
|
// Files not explicitly unchecked are compiled into the final stylesheet.
|
||||||
|
// Core stylesheets like 'normalize.less' are not included in the form
|
||||||
|
// since disabling them would wreck everything, and so their 'fileInclude'
|
||||||
|
// will be 'undefined'.
|
||||||
|
if (fileInclude || fileInclude == null) lessSource += __less[filename]
|
||||||
|
|
||||||
|
// Custom variables are added after Bootstrap variables so the custom
|
||||||
|
// ones take precedence.
|
||||||
|
if (filename === 'variables.less' && vars) lessSource += generateCustomLess(vars)
|
||||||
|
})
|
||||||
|
|
||||||
|
lessSource = lessSource.replace(/@import[^\n]*/gi, '') // strip any imports
|
||||||
|
return lessSource
|
||||||
|
}
|
||||||
|
|
||||||
|
function compileLESS(lessSource, baseFilename, intoResult) {
|
||||||
|
var promise = $.Deferred()
|
||||||
|
var parser = new less.Parser({
|
||||||
|
paths: ['variables.less', 'mixins.less'],
|
||||||
|
optimization: 0,
|
||||||
|
filename: baseFilename + '.css'
|
||||||
|
})
|
||||||
|
|
||||||
|
parser.parse(lessSource, function (parseErr, tree) {
|
||||||
|
if (parseErr) {
|
||||||
|
return promise.reject(parseErr)
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
intoResult[baseFilename + '.css'] = cw + tree.toCSS()
|
||||||
|
intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true })
|
||||||
|
} catch (compileErr) {
|
||||||
|
return promise.reject(compileErr)
|
||||||
|
}
|
||||||
|
promise.resolve()
|
||||||
|
})
|
||||||
|
|
||||||
|
return promise.promise()
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateCSS(preamble) {
|
||||||
|
var promise = $.Deferred()
|
||||||
|
var oneChecked = false
|
||||||
|
var lessFileIncludes = {}
|
||||||
|
$('#less-section input').each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
var checked = $this.is(':checked')
|
||||||
|
lessFileIncludes[$this.val()] = checked
|
||||||
|
|
||||||
|
oneChecked = oneChecked || checked
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!oneChecked) return false
|
||||||
|
|
||||||
|
var result = {}
|
||||||
|
var vars = {}
|
||||||
|
|
||||||
|
$('#less-variables-section input')
|
||||||
|
.each(function () {
|
||||||
|
$(this).val() && (vars[$(this).prev().text()] = $(this).val())
|
||||||
|
})
|
||||||
|
|
||||||
|
var bsLessSource = preamble + generateLESS('bootstrap.less', lessFileIncludes, vars)
|
||||||
|
var themeLessSource = preamble + generateLESS('theme.less', lessFileIncludes, vars)
|
||||||
|
|
||||||
|
var prefixer = autoprefixer({ browsers: __configBridge.autoprefixerBrowsers })
|
||||||
|
|
||||||
|
$.when(
|
||||||
|
compileLESS(bsLessSource, 'bootstrap', result),
|
||||||
|
compileLESS(themeLessSource, 'bootstrap-theme', result)
|
||||||
|
).done(function () {
|
||||||
|
for (var key in result) {
|
||||||
|
result[key] = prefixer.process(result[key]).css
|
||||||
|
}
|
||||||
|
promise.resolve(result)
|
||||||
|
}).fail(function (err) {
|
||||||
|
showError('<strong>Ruh roh!</strong> Problem parsing or compiling Less files.', err)
|
||||||
|
promise.reject()
|
||||||
|
})
|
||||||
|
|
||||||
|
return promise.promise()
|
||||||
|
}
|
||||||
|
|
||||||
|
function uglify(js) {
|
||||||
|
var ast = UglifyJS.parse(js)
|
||||||
|
ast.figure_out_scope()
|
||||||
|
|
||||||
|
var compressor = UglifyJS.Compressor()
|
||||||
|
var compressedAst = ast.transform(compressor)
|
||||||
|
|
||||||
|
compressedAst.figure_out_scope()
|
||||||
|
compressedAst.compute_char_frequency()
|
||||||
|
compressedAst.mangle_names()
|
||||||
|
|
||||||
|
var stream = UglifyJS.OutputStream()
|
||||||
|
compressedAst.print(stream)
|
||||||
|
|
||||||
|
return stream.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateJS(preamble) {
|
||||||
|
var $checked = $('#plugin-section input:checked')
|
||||||
|
var jqueryCheck = __configBridge.jqueryCheck.join('\n')
|
||||||
|
var jqueryVersionCheck = __configBridge.jqueryVersionCheck.join('\n')
|
||||||
|
|
||||||
|
if (!$checked.length) return false
|
||||||
|
|
||||||
|
var js = $checked
|
||||||
|
.map(function () { return __js[this.value] })
|
||||||
|
.toArray()
|
||||||
|
.join('\n')
|
||||||
|
|
||||||
|
preamble = cw + preamble
|
||||||
|
js = jqueryCheck + jqueryVersionCheck + js
|
||||||
|
|
||||||
|
return {
|
||||||
|
'bootstrap.js': preamble + js,
|
||||||
|
'bootstrap.min.js': preamble + uglify(js)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeImportAlerts() {
|
||||||
|
$importDropTarget.nextAll('.alert').remove()
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleConfigFileSelect(e) {
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
|
||||||
|
var file = e.originalEvent.hasOwnProperty('dataTransfer') ? e.originalEvent.dataTransfer.files[0] : e.originalEvent.target.files[0]
|
||||||
|
|
||||||
|
var reader = new FileReader()
|
||||||
|
|
||||||
|
reader.onload = function (e) {
|
||||||
|
var text = e.target.result
|
||||||
|
|
||||||
|
try {
|
||||||
|
var json = JSON.parse(text)
|
||||||
|
|
||||||
|
if (!$.isPlainObject(json)) {
|
||||||
|
throw new Error('JSON data from config file is not an object.')
|
||||||
|
}
|
||||||
|
|
||||||
|
updateCustomizerFromJson(json)
|
||||||
|
showAlert('success', '<strong>Woohoo!</strong> Your configuration was successfully uploaded. Tweak your settings, then hit Download.', $importDropTarget)
|
||||||
|
} catch (err) {
|
||||||
|
return showAlert('danger', '<strong>Shucks.</strong> We can only read valid <code>.json</code> files. Please try again.', $importDropTarget)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.readAsText(file, 'utf-8')
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleConfigDragOver(e) {
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
e.originalEvent.dataTransfer.dropEffect = 'copy'
|
||||||
|
|
||||||
|
removeImportAlerts()
|
||||||
|
}
|
||||||
|
|
||||||
|
if (supportsFile) {
|
||||||
|
$importDropTarget
|
||||||
|
.on('dragover', handleConfigDragOver)
|
||||||
|
.on('drop', handleConfigFileSelect)
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#import-file-select').on('change', handleConfigFileSelect)
|
||||||
|
$('#import-manual-trigger').on('click', removeImportAlerts)
|
||||||
|
|
||||||
|
var $inputsComponent = $('#less-section input')
|
||||||
|
var $inputsPlugin = $('#plugin-section input')
|
||||||
|
var $inputsVariables = $('#less-variables-section input')
|
||||||
|
|
||||||
|
$('#less-section .toggle').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
$inputsComponent.prop('checked', !$inputsComponent.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#plugin-section .toggle').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
$inputsPlugin.prop('checked', !$inputsPlugin.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#less-variables-section .toggle').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
$inputsVariables.val('')
|
||||||
|
})
|
||||||
|
|
||||||
|
$('[data-dependencies]').on('click', function () {
|
||||||
|
if (!$(this).is(':checked')) return
|
||||||
|
var dependencies = this.getAttribute('data-dependencies')
|
||||||
|
if (!dependencies) return
|
||||||
|
dependencies = dependencies.split(',')
|
||||||
|
for (var i = 0; i < dependencies.length; i++) {
|
||||||
|
var $dependency = $('[value="' + dependencies[i] + '"]')
|
||||||
|
$dependency && $dependency.prop('checked', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
$('[data-dependents]').on('click', function () {
|
||||||
|
if ($(this).is(':checked')) return
|
||||||
|
var dependents = this.getAttribute('data-dependents')
|
||||||
|
if (!dependents) return
|
||||||
|
dependents = dependents.split(',')
|
||||||
|
for (var i = 0; i < dependents.length; i++) {
|
||||||
|
var $dependent = $('[value="' + dependents[i] + '"]')
|
||||||
|
$dependent && $dependent.prop('checked', false)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
var $compileBtn = $('#btn-compile')
|
||||||
|
|
||||||
|
$compileBtn.on('click', function (e) {
|
||||||
|
var configData = getCustomizerData()
|
||||||
|
var configJson = JSON.stringify(configData, null, 2)
|
||||||
|
|
||||||
|
e.preventDefault()
|
||||||
|
|
||||||
|
$compileBtn.attr('disabled', 'disabled')
|
||||||
|
|
||||||
|
createGist(configJson, function (gistUrl, customizerUrl) {
|
||||||
|
configData.customizerUrl = customizerUrl
|
||||||
|
configJson = JSON.stringify(configData, null, 2)
|
||||||
|
|
||||||
|
var preamble = '/*!\n' +
|
||||||
|
' * Generated using the Bootstrap Customizer (' + customizerUrl + ')\n' +
|
||||||
|
' * Config saved to config.json and ' + gistUrl + '\n' +
|
||||||
|
' */\n'
|
||||||
|
|
||||||
|
$.when(
|
||||||
|
generateCSS(preamble),
|
||||||
|
generateJS(preamble),
|
||||||
|
generateFonts()
|
||||||
|
).done(function (css, js, fonts) {
|
||||||
|
generateZip(css, js, fonts, configJson, function (blob) {
|
||||||
|
$compileBtn.removeAttr('disabled')
|
||||||
|
setTimeout(function () {
|
||||||
|
saveAs(blob, 'bootstrap.zip')
|
||||||
|
}, 0)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
// browser support alert
|
||||||
|
(function () {
|
||||||
|
function failback() {
|
||||||
|
$('.bs-docs-section, .bs-docs-sidebar').css('display', 'none')
|
||||||
|
showCallout('Looks like your current browser doesn\'t support the Bootstrap Customizer. Please take a second ' +
|
||||||
|
'to <a href="http://browsehappy.com/">upgrade to a more modern browser</a> (other than Safari).', true)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Based on:
|
||||||
|
* Blob Feature Check v1.1.0
|
||||||
|
* https://github.com/ssorallen/blob-feature-check/
|
||||||
|
* License: Public domain (http://unlicense.org)
|
||||||
|
*/
|
||||||
|
var url = window.webkitURL || window.URL // Safari 6 uses "webkitURL".
|
||||||
|
var svg = new Blob(
|
||||||
|
['<svg xmlns=\'http://www.w3.org/2000/svg\'></svg>'],
|
||||||
|
{ type: 'image/svg+xml;charset=utf-8' }
|
||||||
|
)
|
||||||
|
var objectUrl = url.createObjectURL(svg);
|
||||||
|
|
||||||
|
if (/^blob:/.exec(objectUrl) === null || !supportsFile) {
|
||||||
|
// `URL.createObjectURL` created a URL that started with something other
|
||||||
|
// than "blob:", which means it has been polyfilled and is not supported by
|
||||||
|
// this browser.
|
||||||
|
failback()
|
||||||
|
} else {
|
||||||
|
$('<img>')
|
||||||
|
.on('load', function () {
|
||||||
|
$compileBtn.prop('disabled', false)
|
||||||
|
})
|
||||||
|
.on('error', failback)
|
||||||
|
.attr('src', objectUrl)
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
parseUrl()
|
||||||
|
}
|
||||||
@ -0,0 +1,211 @@
|
|||||||
|
/* Blob.js
|
||||||
|
* A Blob implementation.
|
||||||
|
* 2014-07-24
|
||||||
|
*
|
||||||
|
* By Eli Grey, http://eligrey.com
|
||||||
|
* By Devin Samarin, https://github.com/dsamarin
|
||||||
|
* License: X11/MIT
|
||||||
|
* See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*global self, unescape */
|
||||||
|
/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,
|
||||||
|
plusplus: true */
|
||||||
|
|
||||||
|
/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */
|
||||||
|
|
||||||
|
(function (view) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
view.URL = view.URL || view.webkitURL;
|
||||||
|
|
||||||
|
if (view.Blob && view.URL) {
|
||||||
|
try {
|
||||||
|
new Blob;
|
||||||
|
return;
|
||||||
|
} catch (e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internally we use a BlobBuilder implementation to base Blob off of
|
||||||
|
// in order to support older browsers that only have BlobBuilder
|
||||||
|
var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) {
|
||||||
|
var
|
||||||
|
get_class = function(object) {
|
||||||
|
return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];
|
||||||
|
}
|
||||||
|
, FakeBlobBuilder = function BlobBuilder() {
|
||||||
|
this.data = [];
|
||||||
|
}
|
||||||
|
, FakeBlob = function Blob(data, type, encoding) {
|
||||||
|
this.data = data;
|
||||||
|
this.size = data.length;
|
||||||
|
this.type = type;
|
||||||
|
this.encoding = encoding;
|
||||||
|
}
|
||||||
|
, FBB_proto = FakeBlobBuilder.prototype
|
||||||
|
, FB_proto = FakeBlob.prototype
|
||||||
|
, FileReaderSync = view.FileReaderSync
|
||||||
|
, FileException = function(type) {
|
||||||
|
this.code = this[this.name = type];
|
||||||
|
}
|
||||||
|
, file_ex_codes = (
|
||||||
|
"NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR "
|
||||||
|
+ "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR"
|
||||||
|
).split(" ")
|
||||||
|
, file_ex_code = file_ex_codes.length
|
||||||
|
, real_URL = view.URL || view.webkitURL || view
|
||||||
|
, real_create_object_URL = real_URL.createObjectURL
|
||||||
|
, real_revoke_object_URL = real_URL.revokeObjectURL
|
||||||
|
, URL = real_URL
|
||||||
|
, btoa = view.btoa
|
||||||
|
, atob = view.atob
|
||||||
|
|
||||||
|
, ArrayBuffer = view.ArrayBuffer
|
||||||
|
, Uint8Array = view.Uint8Array
|
||||||
|
|
||||||
|
, origin = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/
|
||||||
|
;
|
||||||
|
FakeBlob.fake = FB_proto.fake = true;
|
||||||
|
while (file_ex_code--) {
|
||||||
|
FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;
|
||||||
|
}
|
||||||
|
// Polyfill URL
|
||||||
|
if (!real_URL.createObjectURL) {
|
||||||
|
URL = view.URL = function(uri) {
|
||||||
|
var
|
||||||
|
uri_info = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||||
|
, uri_origin
|
||||||
|
;
|
||||||
|
uri_info.href = uri;
|
||||||
|
if (!("origin" in uri_info)) {
|
||||||
|
if (uri_info.protocol.toLowerCase() === "data:") {
|
||||||
|
uri_info.origin = null;
|
||||||
|
} else {
|
||||||
|
uri_origin = uri.match(origin);
|
||||||
|
uri_info.origin = uri_origin && uri_origin[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return uri_info;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
URL.createObjectURL = function(blob) {
|
||||||
|
var
|
||||||
|
type = blob.type
|
||||||
|
, data_URI_header
|
||||||
|
;
|
||||||
|
if (type === null) {
|
||||||
|
type = "application/octet-stream";
|
||||||
|
}
|
||||||
|
if (blob instanceof FakeBlob) {
|
||||||
|
data_URI_header = "data:" + type;
|
||||||
|
if (blob.encoding === "base64") {
|
||||||
|
return data_URI_header + ";base64," + blob.data;
|
||||||
|
} else if (blob.encoding === "URI") {
|
||||||
|
return data_URI_header + "," + decodeURIComponent(blob.data);
|
||||||
|
} if (btoa) {
|
||||||
|
return data_URI_header + ";base64," + btoa(blob.data);
|
||||||
|
} else {
|
||||||
|
return data_URI_header + "," + encodeURIComponent(blob.data);
|
||||||
|
}
|
||||||
|
} else if (real_create_object_URL) {
|
||||||
|
return real_create_object_URL.call(real_URL, blob);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
URL.revokeObjectURL = function(object_URL) {
|
||||||
|
if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) {
|
||||||
|
real_revoke_object_URL.call(real_URL, object_URL);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
FBB_proto.append = function(data/*, endings*/) {
|
||||||
|
var bb = this.data;
|
||||||
|
// decode data to a binary string
|
||||||
|
if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) {
|
||||||
|
var
|
||||||
|
str = ""
|
||||||
|
, buf = new Uint8Array(data)
|
||||||
|
, i = 0
|
||||||
|
, buf_len = buf.length
|
||||||
|
;
|
||||||
|
for (; i < buf_len; i++) {
|
||||||
|
str += String.fromCharCode(buf[i]);
|
||||||
|
}
|
||||||
|
bb.push(str);
|
||||||
|
} else if (get_class(data) === "Blob" || get_class(data) === "File") {
|
||||||
|
if (FileReaderSync) {
|
||||||
|
var fr = new FileReaderSync;
|
||||||
|
bb.push(fr.readAsBinaryString(data));
|
||||||
|
} else {
|
||||||
|
// async FileReader won't work as BlobBuilder is sync
|
||||||
|
throw new FileException("NOT_READABLE_ERR");
|
||||||
|
}
|
||||||
|
} else if (data instanceof FakeBlob) {
|
||||||
|
if (data.encoding === "base64" && atob) {
|
||||||
|
bb.push(atob(data.data));
|
||||||
|
} else if (data.encoding === "URI") {
|
||||||
|
bb.push(decodeURIComponent(data.data));
|
||||||
|
} else if (data.encoding === "raw") {
|
||||||
|
bb.push(data.data);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (typeof data !== "string") {
|
||||||
|
data += ""; // convert unsupported types to strings
|
||||||
|
}
|
||||||
|
// decode UTF-16 to binary string
|
||||||
|
bb.push(unescape(encodeURIComponent(data)));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
FBB_proto.getBlob = function(type) {
|
||||||
|
if (!arguments.length) {
|
||||||
|
type = null;
|
||||||
|
}
|
||||||
|
return new FakeBlob(this.data.join(""), type, "raw");
|
||||||
|
};
|
||||||
|
FBB_proto.toString = function() {
|
||||||
|
return "[object BlobBuilder]";
|
||||||
|
};
|
||||||
|
FB_proto.slice = function(start, end, type) {
|
||||||
|
var args = arguments.length;
|
||||||
|
if (args < 3) {
|
||||||
|
type = null;
|
||||||
|
}
|
||||||
|
return new FakeBlob(
|
||||||
|
this.data.slice(start, args > 1 ? end : this.data.length)
|
||||||
|
, type
|
||||||
|
, this.encoding
|
||||||
|
);
|
||||||
|
};
|
||||||
|
FB_proto.toString = function() {
|
||||||
|
return "[object Blob]";
|
||||||
|
};
|
||||||
|
FB_proto.close = function() {
|
||||||
|
this.size = 0;
|
||||||
|
delete this.data;
|
||||||
|
};
|
||||||
|
return FakeBlobBuilder;
|
||||||
|
}(view));
|
||||||
|
|
||||||
|
view.Blob = function(blobParts, options) {
|
||||||
|
var type = options ? (options.type || "") : "";
|
||||||
|
var builder = new BlobBuilder();
|
||||||
|
if (blobParts) {
|
||||||
|
for (var i = 0, len = blobParts.length; i < len; i++) {
|
||||||
|
if (Uint8Array && blobParts[i] instanceof Uint8Array) {
|
||||||
|
builder.append(blobParts[i].buffer);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
builder.append(blobParts[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var blob = builder.getBlob(type);
|
||||||
|
if (!blob.slice && blob.webkitSlice) {
|
||||||
|
blob.slice = blob.webkitSlice;
|
||||||
|
}
|
||||||
|
return blob;
|
||||||
|
};
|
||||||
|
|
||||||
|
var getPrototypeOf = Object.getPrototypeOf || function(object) {
|
||||||
|
return object.__proto__;
|
||||||
|
};
|
||||||
|
view.Blob.prototype = getPrototypeOf(new view.Blob());
|
||||||
|
}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this));
|
||||||
@ -0,0 +1,248 @@
|
|||||||
|
/* FileSaver.js
|
||||||
|
* A saveAs() FileSaver implementation.
|
||||||
|
* 2015-03-04
|
||||||
|
*
|
||||||
|
* By Eli Grey, http://eligrey.com
|
||||||
|
* License: X11/MIT
|
||||||
|
* See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*global self */
|
||||||
|
/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
|
||||||
|
|
||||||
|
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
|
||||||
|
|
||||||
|
var saveAs = saveAs
|
||||||
|
// IE 10+ (native saveAs)
|
||||||
|
|| (typeof navigator !== "undefined" &&
|
||||||
|
navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator))
|
||||||
|
// Everyone else
|
||||||
|
|| (function(view) {
|
||||||
|
"use strict";
|
||||||
|
// IE <10 is explicitly unsupported
|
||||||
|
if (typeof navigator !== "undefined" &&
|
||||||
|
/MSIE [1-9]\./.test(navigator.userAgent)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var
|
||||||
|
doc = view.document
|
||||||
|
// only get URL when necessary in case Blob.js hasn't overridden it yet
|
||||||
|
, get_URL = function() {
|
||||||
|
return view.URL || view.webkitURL || view;
|
||||||
|
}
|
||||||
|
, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||||
|
, can_use_save_link = "download" in save_link
|
||||||
|
, click = function(node) {
|
||||||
|
var event = doc.createEvent("MouseEvents");
|
||||||
|
event.initMouseEvent(
|
||||||
|
"click", true, false, view, 0, 0, 0, 0, 0
|
||||||
|
, false, false, false, false, 0, null
|
||||||
|
);
|
||||||
|
node.dispatchEvent(event);
|
||||||
|
}
|
||||||
|
, webkit_req_fs = view.webkitRequestFileSystem
|
||||||
|
, req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem
|
||||||
|
, throw_outside = function(ex) {
|
||||||
|
(view.setImmediate || view.setTimeout)(function() {
|
||||||
|
throw ex;
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
, force_saveable_type = "application/octet-stream"
|
||||||
|
, fs_min_size = 0
|
||||||
|
// See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and
|
||||||
|
// https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047
|
||||||
|
// for the reasoning behind the timeout and revocation flow
|
||||||
|
, arbitrary_revoke_timeout = 500 // in ms
|
||||||
|
, revoke = function(file) {
|
||||||
|
var revoker = function() {
|
||||||
|
if (typeof file === "string") { // file is an object URL
|
||||||
|
get_URL().revokeObjectURL(file);
|
||||||
|
} else { // file is a File
|
||||||
|
file.remove();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (view.chrome) {
|
||||||
|
revoker();
|
||||||
|
} else {
|
||||||
|
setTimeout(revoker, arbitrary_revoke_timeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, dispatch = function(filesaver, event_types, event) {
|
||||||
|
event_types = [].concat(event_types);
|
||||||
|
var i = event_types.length;
|
||||||
|
while (i--) {
|
||||||
|
var listener = filesaver["on" + event_types[i]];
|
||||||
|
if (typeof listener === "function") {
|
||||||
|
try {
|
||||||
|
listener.call(filesaver, event || filesaver);
|
||||||
|
} catch (ex) {
|
||||||
|
throw_outside(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, FileSaver = function(blob, name) {
|
||||||
|
// First try a.download, then web filesystem, then object URLs
|
||||||
|
var
|
||||||
|
filesaver = this
|
||||||
|
, type = blob.type
|
||||||
|
, blob_changed = false
|
||||||
|
, object_url
|
||||||
|
, target_view
|
||||||
|
, dispatch_all = function() {
|
||||||
|
dispatch(filesaver, "writestart progress write writeend".split(" "));
|
||||||
|
}
|
||||||
|
// on any filesys errors revert to saving with object URLs
|
||||||
|
, fs_error = function() {
|
||||||
|
// don't create more object URLs than needed
|
||||||
|
if (blob_changed || !object_url) {
|
||||||
|
object_url = get_URL().createObjectURL(blob);
|
||||||
|
}
|
||||||
|
if (target_view) {
|
||||||
|
target_view.location.href = object_url;
|
||||||
|
} else {
|
||||||
|
var new_tab = view.open(object_url, "_blank");
|
||||||
|
if (new_tab == undefined && typeof safari !== "undefined") {
|
||||||
|
//Apple do not allow window.open, see http://bit.ly/1kZffRI
|
||||||
|
view.location.href = object_url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
filesaver.readyState = filesaver.DONE;
|
||||||
|
dispatch_all();
|
||||||
|
revoke(object_url);
|
||||||
|
}
|
||||||
|
, abortable = function(func) {
|
||||||
|
return function() {
|
||||||
|
if (filesaver.readyState !== filesaver.DONE) {
|
||||||
|
return func.apply(this, arguments);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
, create_if_not_found = {create: true, exclusive: false}
|
||||||
|
, slice
|
||||||
|
;
|
||||||
|
filesaver.readyState = filesaver.INIT;
|
||||||
|
if (!name) {
|
||||||
|
name = "download";
|
||||||
|
}
|
||||||
|
if (can_use_save_link) {
|
||||||
|
object_url = get_URL().createObjectURL(blob);
|
||||||
|
save_link.href = object_url;
|
||||||
|
save_link.download = name;
|
||||||
|
click(save_link);
|
||||||
|
filesaver.readyState = filesaver.DONE;
|
||||||
|
dispatch_all();
|
||||||
|
revoke(object_url);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// prepend BOM for UTF-8 XML and text/plain types
|
||||||
|
if (/^\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
|
||||||
|
blob = new Blob(["\ufeff", blob], {type: blob.type});
|
||||||
|
}
|
||||||
|
// Object and web filesystem URLs have a problem saving in Google Chrome when
|
||||||
|
// viewed in a tab, so I force save with application/octet-stream
|
||||||
|
// http://code.google.com/p/chromium/issues/detail?id=91158
|
||||||
|
// Update: Google errantly closed 91158, I submitted it again:
|
||||||
|
// https://code.google.com/p/chromium/issues/detail?id=389642
|
||||||
|
if (view.chrome && type && type !== force_saveable_type) {
|
||||||
|
slice = blob.slice || blob.webkitSlice;
|
||||||
|
blob = slice.call(blob, 0, blob.size, force_saveable_type);
|
||||||
|
blob_changed = true;
|
||||||
|
}
|
||||||
|
// Since I can't be sure that the guessed media type will trigger a download
|
||||||
|
// in WebKit, I append .download to the filename.
|
||||||
|
// https://bugs.webkit.org/show_bug.cgi?id=65440
|
||||||
|
if (webkit_req_fs && name !== "download") {
|
||||||
|
name += ".download";
|
||||||
|
}
|
||||||
|
if (type === force_saveable_type || webkit_req_fs) {
|
||||||
|
target_view = view;
|
||||||
|
}
|
||||||
|
if (!req_fs) {
|
||||||
|
fs_error();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
fs_min_size += blob.size;
|
||||||
|
req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) {
|
||||||
|
fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) {
|
||||||
|
var save = function() {
|
||||||
|
dir.getFile(name, create_if_not_found, abortable(function(file) {
|
||||||
|
file.createWriter(abortable(function(writer) {
|
||||||
|
writer.onwriteend = function(event) {
|
||||||
|
target_view.location.href = file.toURL();
|
||||||
|
filesaver.readyState = filesaver.DONE;
|
||||||
|
dispatch(filesaver, "writeend", event);
|
||||||
|
revoke(file);
|
||||||
|
};
|
||||||
|
writer.onerror = function() {
|
||||||
|
var error = writer.error;
|
||||||
|
if (error.code !== error.ABORT_ERR) {
|
||||||
|
fs_error();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
"writestart progress write abort".split(" ").forEach(function(event) {
|
||||||
|
writer["on" + event] = filesaver["on" + event];
|
||||||
|
});
|
||||||
|
writer.write(blob);
|
||||||
|
filesaver.abort = function() {
|
||||||
|
writer.abort();
|
||||||
|
filesaver.readyState = filesaver.DONE;
|
||||||
|
};
|
||||||
|
filesaver.readyState = filesaver.WRITING;
|
||||||
|
}), fs_error);
|
||||||
|
}), fs_error);
|
||||||
|
};
|
||||||
|
dir.getFile(name, {create: false}, abortable(function(file) {
|
||||||
|
// delete file if it already exists
|
||||||
|
file.remove();
|
||||||
|
save();
|
||||||
|
}), abortable(function(ex) {
|
||||||
|
if (ex.code === ex.NOT_FOUND_ERR) {
|
||||||
|
save();
|
||||||
|
} else {
|
||||||
|
fs_error();
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}), fs_error);
|
||||||
|
}), fs_error);
|
||||||
|
}
|
||||||
|
, FS_proto = FileSaver.prototype
|
||||||
|
, saveAs = function(blob, name) {
|
||||||
|
return new FileSaver(blob, name);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
FS_proto.abort = function() {
|
||||||
|
var filesaver = this;
|
||||||
|
filesaver.readyState = filesaver.DONE;
|
||||||
|
dispatch(filesaver, "abort");
|
||||||
|
};
|
||||||
|
FS_proto.readyState = FS_proto.INIT = 0;
|
||||||
|
FS_proto.WRITING = 1;
|
||||||
|
FS_proto.DONE = 2;
|
||||||
|
|
||||||
|
FS_proto.error =
|
||||||
|
FS_proto.onwritestart =
|
||||||
|
FS_proto.onprogress =
|
||||||
|
FS_proto.onwrite =
|
||||||
|
FS_proto.onabort =
|
||||||
|
FS_proto.onerror =
|
||||||
|
FS_proto.onwriteend =
|
||||||
|
null;
|
||||||
|
|
||||||
|
return saveAs;
|
||||||
|
}(
|
||||||
|
typeof self !== "undefined" && self
|
||||||
|
|| typeof window !== "undefined" && window
|
||||||
|
|| this.content
|
||||||
|
));
|
||||||
|
// `self` is undefined in Firefox for Android content script context
|
||||||
|
// while `this` is nsIContentFrameMessageManager
|
||||||
|
// with an attribute `content` that corresponds to the window
|
||||||
|
|
||||||
|
if (typeof module !== "undefined" && module.exports) {
|
||||||
|
module.exports.saveAs = saveAs;
|
||||||
|
} else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) {
|
||||||
|
define([], function() {
|
||||||
|
return saveAs;
|
||||||
|
});
|
||||||
|
}
|
||||||
@ -1,113 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Black & White</title>
|
|
||||||
|
|
||||||
<!-- meta -->
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
|
|
||||||
<!-- css -->
|
|
||||||
<link rel="stylesheet" href="css/bootstrap.min.css">
|
|
||||||
<link rel="stylesheet" href="css/ionicons.min.css">
|
|
||||||
<link rel="stylesheet" href="css/pace.css">
|
|
||||||
<link rel="stylesheet" href="css/custom.css">
|
|
||||||
|
|
||||||
<!-- js -->
|
|
||||||
<script src="js/jquery-2.1.3.min.js"></script>
|
|
||||||
<script src="js/bootstrap.min.js"></script>
|
|
||||||
<script src="js/pace.min.js"></script>
|
|
||||||
<script src="js/modernizr.custom.js"></script>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body id="page">
|
|
||||||
<div class="container">
|
|
||||||
<header id="site-header">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-4 col-sm-5 col-xs-8">
|
|
||||||
<div class="logo">
|
|
||||||
<h1><a href="index.html"><b>Black</b> & White</a></h1>
|
|
||||||
</div>
|
|
||||||
</div><!-- col-md-4 -->
|
|
||||||
<div class="col-md-8 col-sm-7 col-xs-4">
|
|
||||||
<nav class="main-nav" role="navigation">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" id="trigger-overlay" class="navbar-toggle">
|
|
||||||
<span class="ion-navicon"></span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
|
||||||
<ul class="nav navbar-nav navbar-right">
|
|
||||||
<li class="cl-effect-11"><a href="index.html" data-hover="Home">Home</a></li>
|
|
||||||
<li class="cl-effect-11"><a href="full-width.html" data-hover="Blog">Blog</a></li>
|
|
||||||
<li class="cl-effect-11"><a href="about.html" data-hover="About">About</a></li>
|
|
||||||
<li class="cl-effect-11"><a href="contact.html" data-hover="Contact">Contact</a></li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- /.navbar-collapse -->
|
|
||||||
</nav>
|
|
||||||
<div id="header-search-box">
|
|
||||||
<a id="search-menu" href="#"><span id="search-icon" class="ion-ios-search-strong"></span></a>
|
|
||||||
<div id="search-form" class="search-form">
|
|
||||||
<form role="search" method="get" id="searchform" action="#">
|
|
||||||
<input type="search" placeholder="Search" required>
|
|
||||||
<button type="submit"><span class="ion-ios-search-strong"></span></button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- col-md-8 -->
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content-body">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<main class="col-md-12">
|
|
||||||
<h1 class="page-title">Contact</h1>
|
|
||||||
<article class="post">
|
|
||||||
<div class="entry-content clearfix">
|
|
||||||
<form action="#" method="post" class="contact-form">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6 col-md-offset-3">
|
|
||||||
<input type="text" name="name" placeholder="Name" required>
|
|
||||||
<input type="email" name="email" placeholder="Email" required>
|
|
||||||
<input type="text" name="subject" placeholder="Subject" required>
|
|
||||||
<textarea name="message" rows="7" placeholder="Your Message" required></textarea>
|
|
||||||
<button class="btn-send btn-5 btn-5b ion-ios-paperplane"><span>Drop Me a Line</span></button>
|
|
||||||
</div>
|
|
||||||
</div> <!-- row -->
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
</main>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<footer id="site-footer">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<p class="copyright">© 2014 ThemeWagon.com</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<!-- Mobile Menu -->
|
|
||||||
<div class="overlay overlay-hugeinc">
|
|
||||||
<button type="button" class="overlay-close"><span class="ion-ios-close-empty"></span></button>
|
|
||||||
<nav>
|
|
||||||
<ul>
|
|
||||||
<li><a href="index.html">Home</a></li>
|
|
||||||
<li><a href="full-width.html">Blog</a></li>
|
|
||||||
<li><a href="about.html">About</a></li>
|
|
||||||
<li><a href="contact.html">Contact</a></li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script src="js/script.js"></script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -0,0 +1,166 @@
|
|||||||
|
/*
|
||||||
|
* Globals
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: Georgia, "Times New Roman", Times, serif;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, .h1,
|
||||||
|
h2, .h2,
|
||||||
|
h3, .h3,
|
||||||
|
h4, .h4,
|
||||||
|
h5, .h5,
|
||||||
|
h6, .h6 {
|
||||||
|
margin-top: 0;
|
||||||
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Override Bootstrap's default container.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.container {
|
||||||
|
width: 970px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Masthead for nav
|
||||||
|
*/
|
||||||
|
|
||||||
|
.blog-masthead {
|
||||||
|
background-color: #428bca;
|
||||||
|
-webkit-box-shadow: inset 0 -2px 5px rgba(0,0,0,.1);
|
||||||
|
box-shadow: inset 0 -2px 5px rgba(0,0,0,.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav links */
|
||||||
|
.blog-nav-item {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #cdddeb;
|
||||||
|
}
|
||||||
|
.blog-nav-item:hover,
|
||||||
|
.blog-nav-item:focus {
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Active state gets a caret at the bottom */
|
||||||
|
.blog-nav .active {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.blog-nav .active:after {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
margin-left: -5px;
|
||||||
|
vertical-align: middle;
|
||||||
|
content: " ";
|
||||||
|
border-right: 5px solid transparent;
|
||||||
|
border-bottom: 5px solid;
|
||||||
|
border-left: 5px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Blog name and description
|
||||||
|
*/
|
||||||
|
|
||||||
|
.blog-header {
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
.blog-title {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-size: 60px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.blog-description {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Main column and sidebar layout
|
||||||
|
*/
|
||||||
|
|
||||||
|
.blog-main {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sidebar modules for boxing content */
|
||||||
|
.sidebar-module {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0 -15px 15px;
|
||||||
|
}
|
||||||
|
.sidebar-module-inset {
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.sidebar-module-inset p:last-child,
|
||||||
|
.sidebar-module-inset ul:last-child,
|
||||||
|
.sidebar-module-inset ol:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Pagination */
|
||||||
|
.pager {
|
||||||
|
margin-bottom: 60px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.pager > li > a {
|
||||||
|
width: 140px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Blog posts
|
||||||
|
*/
|
||||||
|
|
||||||
|
.blog-post {
|
||||||
|
margin-bottom: 60px;
|
||||||
|
}
|
||||||
|
.blog-post-title {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
.blog-post-meta {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Footer
|
||||||
|
*/
|
||||||
|
|
||||||
|
.blog-footer {
|
||||||
|
padding: 40px 0;
|
||||||
|
color: #999;
|
||||||
|
text-align: center;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border-top: 1px solid #e5e5e5;
|
||||||
|
}
|
||||||
|
.blog-footer p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
@ -0,0 +1,587 @@
|
|||||||
|
/*!
|
||||||
|
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
.btn-default,
|
||||||
|
.btn-primary,
|
||||||
|
.btn-success,
|
||||||
|
.btn-info,
|
||||||
|
.btn-warning,
|
||||||
|
.btn-danger {
|
||||||
|
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
|
||||||
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
||||||
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
||||||
|
}
|
||||||
|
.btn-default:active,
|
||||||
|
.btn-primary:active,
|
||||||
|
.btn-success:active,
|
||||||
|
.btn-info:active,
|
||||||
|
.btn-warning:active,
|
||||||
|
.btn-danger:active,
|
||||||
|
.btn-default.active,
|
||||||
|
.btn-primary.active,
|
||||||
|
.btn-success.active,
|
||||||
|
.btn-info.active,
|
||||||
|
.btn-warning.active,
|
||||||
|
.btn-danger.active {
|
||||||
|
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||||
|
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||||
|
}
|
||||||
|
.btn-default.disabled,
|
||||||
|
.btn-primary.disabled,
|
||||||
|
.btn-success.disabled,
|
||||||
|
.btn-info.disabled,
|
||||||
|
.btn-warning.disabled,
|
||||||
|
.btn-danger.disabled,
|
||||||
|
.btn-default[disabled],
|
||||||
|
.btn-primary[disabled],
|
||||||
|
.btn-success[disabled],
|
||||||
|
.btn-info[disabled],
|
||||||
|
.btn-warning[disabled],
|
||||||
|
.btn-danger[disabled],
|
||||||
|
fieldset[disabled] .btn-default,
|
||||||
|
fieldset[disabled] .btn-primary,
|
||||||
|
fieldset[disabled] .btn-success,
|
||||||
|
fieldset[disabled] .btn-info,
|
||||||
|
fieldset[disabled] .btn-warning,
|
||||||
|
fieldset[disabled] .btn-danger {
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
.btn-default .badge,
|
||||||
|
.btn-primary .badge,
|
||||||
|
.btn-success .badge,
|
||||||
|
.btn-info .badge,
|
||||||
|
.btn-warning .badge,
|
||||||
|
.btn-danger .badge {
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
.btn:active,
|
||||||
|
.btn.active {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.btn-default {
|
||||||
|
text-shadow: 0 1px 0 #fff;
|
||||||
|
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
|
||||||
|
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #dbdbdb;
|
||||||
|
border-color: #ccc;
|
||||||
|
}
|
||||||
|
.btn-default:hover,
|
||||||
|
.btn-default:focus {
|
||||||
|
background-color: #e0e0e0;
|
||||||
|
background-position: 0 -15px;
|
||||||
|
}
|
||||||
|
.btn-default:active,
|
||||||
|
.btn-default.active {
|
||||||
|
background-color: #e0e0e0;
|
||||||
|
border-color: #dbdbdb;
|
||||||
|
}
|
||||||
|
.btn-default.disabled,
|
||||||
|
.btn-default[disabled],
|
||||||
|
fieldset[disabled] .btn-default,
|
||||||
|
.btn-default.disabled:hover,
|
||||||
|
.btn-default[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-default:hover,
|
||||||
|
.btn-default.disabled:focus,
|
||||||
|
.btn-default[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-default:focus,
|
||||||
|
.btn-default.disabled.focus,
|
||||||
|
.btn-default[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-default.focus,
|
||||||
|
.btn-default.disabled:active,
|
||||||
|
.btn-default[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-default:active,
|
||||||
|
.btn-default.disabled.active,
|
||||||
|
.btn-default[disabled].active,
|
||||||
|
fieldset[disabled] .btn-default.active {
|
||||||
|
background-color: #e0e0e0;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.btn-primary {
|
||||||
|
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
||||||
|
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #245580;
|
||||||
|
}
|
||||||
|
.btn-primary:hover,
|
||||||
|
.btn-primary:focus {
|
||||||
|
background-color: #265a88;
|
||||||
|
background-position: 0 -15px;
|
||||||
|
}
|
||||||
|
.btn-primary:active,
|
||||||
|
.btn-primary.active {
|
||||||
|
background-color: #265a88;
|
||||||
|
border-color: #245580;
|
||||||
|
}
|
||||||
|
.btn-primary.disabled,
|
||||||
|
.btn-primary[disabled],
|
||||||
|
fieldset[disabled] .btn-primary,
|
||||||
|
.btn-primary.disabled:hover,
|
||||||
|
.btn-primary[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-primary:hover,
|
||||||
|
.btn-primary.disabled:focus,
|
||||||
|
.btn-primary[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-primary:focus,
|
||||||
|
.btn-primary.disabled.focus,
|
||||||
|
.btn-primary[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-primary.focus,
|
||||||
|
.btn-primary.disabled:active,
|
||||||
|
.btn-primary[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-primary:active,
|
||||||
|
.btn-primary.disabled.active,
|
||||||
|
.btn-primary[disabled].active,
|
||||||
|
fieldset[disabled] .btn-primary.active {
|
||||||
|
background-color: #265a88;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.btn-success {
|
||||||
|
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
||||||
|
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #3e8f3e;
|
||||||
|
}
|
||||||
|
.btn-success:hover,
|
||||||
|
.btn-success:focus {
|
||||||
|
background-color: #419641;
|
||||||
|
background-position: 0 -15px;
|
||||||
|
}
|
||||||
|
.btn-success:active,
|
||||||
|
.btn-success.active {
|
||||||
|
background-color: #419641;
|
||||||
|
border-color: #3e8f3e;
|
||||||
|
}
|
||||||
|
.btn-success.disabled,
|
||||||
|
.btn-success[disabled],
|
||||||
|
fieldset[disabled] .btn-success,
|
||||||
|
.btn-success.disabled:hover,
|
||||||
|
.btn-success[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-success:hover,
|
||||||
|
.btn-success.disabled:focus,
|
||||||
|
.btn-success[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-success:focus,
|
||||||
|
.btn-success.disabled.focus,
|
||||||
|
.btn-success[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-success.focus,
|
||||||
|
.btn-success.disabled:active,
|
||||||
|
.btn-success[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-success:active,
|
||||||
|
.btn-success.disabled.active,
|
||||||
|
.btn-success[disabled].active,
|
||||||
|
fieldset[disabled] .btn-success.active {
|
||||||
|
background-color: #419641;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.btn-info {
|
||||||
|
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
||||||
|
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #28a4c9;
|
||||||
|
}
|
||||||
|
.btn-info:hover,
|
||||||
|
.btn-info:focus {
|
||||||
|
background-color: #2aabd2;
|
||||||
|
background-position: 0 -15px;
|
||||||
|
}
|
||||||
|
.btn-info:active,
|
||||||
|
.btn-info.active {
|
||||||
|
background-color: #2aabd2;
|
||||||
|
border-color: #28a4c9;
|
||||||
|
}
|
||||||
|
.btn-info.disabled,
|
||||||
|
.btn-info[disabled],
|
||||||
|
fieldset[disabled] .btn-info,
|
||||||
|
.btn-info.disabled:hover,
|
||||||
|
.btn-info[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-info:hover,
|
||||||
|
.btn-info.disabled:focus,
|
||||||
|
.btn-info[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-info:focus,
|
||||||
|
.btn-info.disabled.focus,
|
||||||
|
.btn-info[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-info.focus,
|
||||||
|
.btn-info.disabled:active,
|
||||||
|
.btn-info[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-info:active,
|
||||||
|
.btn-info.disabled.active,
|
||||||
|
.btn-info[disabled].active,
|
||||||
|
fieldset[disabled] .btn-info.active {
|
||||||
|
background-color: #2aabd2;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.btn-warning {
|
||||||
|
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
||||||
|
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #e38d13;
|
||||||
|
}
|
||||||
|
.btn-warning:hover,
|
||||||
|
.btn-warning:focus {
|
||||||
|
background-color: #eb9316;
|
||||||
|
background-position: 0 -15px;
|
||||||
|
}
|
||||||
|
.btn-warning:active,
|
||||||
|
.btn-warning.active {
|
||||||
|
background-color: #eb9316;
|
||||||
|
border-color: #e38d13;
|
||||||
|
}
|
||||||
|
.btn-warning.disabled,
|
||||||
|
.btn-warning[disabled],
|
||||||
|
fieldset[disabled] .btn-warning,
|
||||||
|
.btn-warning.disabled:hover,
|
||||||
|
.btn-warning[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-warning:hover,
|
||||||
|
.btn-warning.disabled:focus,
|
||||||
|
.btn-warning[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-warning:focus,
|
||||||
|
.btn-warning.disabled.focus,
|
||||||
|
.btn-warning[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-warning.focus,
|
||||||
|
.btn-warning.disabled:active,
|
||||||
|
.btn-warning[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-warning:active,
|
||||||
|
.btn-warning.disabled.active,
|
||||||
|
.btn-warning[disabled].active,
|
||||||
|
fieldset[disabled] .btn-warning.active {
|
||||||
|
background-color: #eb9316;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.btn-danger {
|
||||||
|
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
||||||
|
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #b92c28;
|
||||||
|
}
|
||||||
|
.btn-danger:hover,
|
||||||
|
.btn-danger:focus {
|
||||||
|
background-color: #c12e2a;
|
||||||
|
background-position: 0 -15px;
|
||||||
|
}
|
||||||
|
.btn-danger:active,
|
||||||
|
.btn-danger.active {
|
||||||
|
background-color: #c12e2a;
|
||||||
|
border-color: #b92c28;
|
||||||
|
}
|
||||||
|
.btn-danger.disabled,
|
||||||
|
.btn-danger[disabled],
|
||||||
|
fieldset[disabled] .btn-danger,
|
||||||
|
.btn-danger.disabled:hover,
|
||||||
|
.btn-danger[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-danger:hover,
|
||||||
|
.btn-danger.disabled:focus,
|
||||||
|
.btn-danger[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-danger:focus,
|
||||||
|
.btn-danger.disabled.focus,
|
||||||
|
.btn-danger[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-danger.focus,
|
||||||
|
.btn-danger.disabled:active,
|
||||||
|
.btn-danger[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-danger:active,
|
||||||
|
.btn-danger.disabled.active,
|
||||||
|
.btn-danger[disabled].active,
|
||||||
|
fieldset[disabled] .btn-danger.active {
|
||||||
|
background-color: #c12e2a;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.thumbnail,
|
||||||
|
.img-thumbnail {
|
||||||
|
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||||
|
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||||
|
}
|
||||||
|
.dropdown-menu > li > a:hover,
|
||||||
|
.dropdown-menu > li > a:focus {
|
||||||
|
background-color: #e8e8e8;
|
||||||
|
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||||
|
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.dropdown-menu > .active > a,
|
||||||
|
.dropdown-menu > .active > a:hover,
|
||||||
|
.dropdown-menu > .active > a:focus {
|
||||||
|
background-color: #2e6da4;
|
||||||
|
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||||
|
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.navbar-default {
|
||||||
|
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
|
||||||
|
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||||
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||||
|
}
|
||||||
|
.navbar-default .navbar-nav > .open > a,
|
||||||
|
.navbar-default .navbar-nav > .active > a {
|
||||||
|
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
|
||||||
|
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||||
|
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||||
|
}
|
||||||
|
.navbar-brand,
|
||||||
|
.navbar-nav > li > a {
|
||||||
|
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
|
||||||
|
}
|
||||||
|
.navbar-inverse {
|
||||||
|
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
|
||||||
|
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.navbar-inverse .navbar-nav > .open > a,
|
||||||
|
.navbar-inverse .navbar-nav > .active > a {
|
||||||
|
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
|
||||||
|
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||||
|
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||||
|
}
|
||||||
|
.navbar-inverse .navbar-brand,
|
||||||
|
.navbar-inverse .navbar-nav > li > a {
|
||||||
|
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
|
||||||
|
}
|
||||||
|
.navbar-static-top,
|
||||||
|
.navbar-fixed-top,
|
||||||
|
.navbar-fixed-bottom {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
||||||
|
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
||||||
|
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
||||||
|
color: #fff;
|
||||||
|
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||||
|
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.alert {
|
||||||
|
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
|
||||||
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
||||||
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
||||||
|
}
|
||||||
|
.alert-success {
|
||||||
|
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
||||||
|
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #b2dba1;
|
||||||
|
}
|
||||||
|
.alert-info {
|
||||||
|
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
||||||
|
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #9acfea;
|
||||||
|
}
|
||||||
|
.alert-warning {
|
||||||
|
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
||||||
|
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #f5e79e;
|
||||||
|
}
|
||||||
|
.alert-danger {
|
||||||
|
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
||||||
|
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #dca7a7;
|
||||||
|
}
|
||||||
|
.progress {
|
||||||
|
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
||||||
|
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.progress-bar {
|
||||||
|
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
||||||
|
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.progress-bar-success {
|
||||||
|
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
||||||
|
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.progress-bar-info {
|
||||||
|
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
||||||
|
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.progress-bar-warning {
|
||||||
|
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
||||||
|
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.progress-bar-danger {
|
||||||
|
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
||||||
|
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.progress-bar-striped {
|
||||||
|
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||||
|
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||||
|
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||||
|
}
|
||||||
|
.list-group {
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||||
|
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||||
|
}
|
||||||
|
.list-group-item.active,
|
||||||
|
.list-group-item.active:hover,
|
||||||
|
.list-group-item.active:focus {
|
||||||
|
text-shadow: 0 -1px 0 #286090;
|
||||||
|
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
||||||
|
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #2b669a;
|
||||||
|
}
|
||||||
|
.list-group-item.active .badge,
|
||||||
|
.list-group-item.active:hover .badge,
|
||||||
|
.list-group-item.active:focus .badge {
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
.panel {
|
||||||
|
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
||||||
|
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
||||||
|
}
|
||||||
|
.panel-default > .panel-heading {
|
||||||
|
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||||
|
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.panel-primary > .panel-heading {
|
||||||
|
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||||
|
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.panel-success > .panel-heading {
|
||||||
|
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
||||||
|
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.panel-info > .panel-heading {
|
||||||
|
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
||||||
|
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.panel-warning > .panel-heading {
|
||||||
|
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
||||||
|
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.panel-danger > .panel-heading {
|
||||||
|
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
||||||
|
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.well {
|
||||||
|
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
||||||
|
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border-color: #dcdcdc;
|
||||||
|
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||||
|
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||||
|
}
|
||||||
|
/*# sourceMappingURL=bootstrap-theme.css.map */
|
||||||
@ -1,804 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Table of Contents
|
|
||||||
*
|
|
||||||
* 1.0 - Google Font
|
|
||||||
* 2.0 - General Elements
|
|
||||||
* 3.0 - Site Header
|
|
||||||
* 3.1 - Logo
|
|
||||||
* 3.2 - Main Navigation
|
|
||||||
* 3.2.1 - Main Nav CSS 3 Hover Effect
|
|
||||||
* 4.0 - Home/Blog
|
|
||||||
* 4.1 - Read More Button CSS 3 style
|
|
||||||
* 5.0 - Widget
|
|
||||||
* 6.0 - Footer
|
|
||||||
* 7.0 - Header Search Bar
|
|
||||||
* 8.0 - Mobile Menu
|
|
||||||
* 9.0 - Contact Page Social
|
|
||||||
* 10.0 - Contact Form
|
|
||||||
* 11.0 - Media Query
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1.0 - Google Font
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
@import url(http://fonts.useso.com/css?family=Lato:300,400);
|
|
||||||
@import url(http://fonts.useso.com/css?family=Ubuntu:300,400);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 2.0 - General Elements
|
|
||||||
*/
|
|
||||||
|
|
||||||
* {outline: none;}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
b {
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover, a:focus {
|
|
||||||
text-decoration: none;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
::selection {
|
|
||||||
background-color: #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
color: #444;
|
|
||||||
font-family: 'Lato', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-family: 'Ubuntu', sans-serif;
|
|
||||||
font-weight: 400;
|
|
||||||
word-spacing: 1px;
|
|
||||||
letter-spacing: 0.01em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#single p,
|
|
||||||
#page p {
|
|
||||||
margin-bottom: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page-title {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
figure {
|
|
||||||
margin-bottom: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.img-responsive-center img {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.height-40px {
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 3.0 - Site Header
|
|
||||||
*/
|
|
||||||
|
|
||||||
#site-header {
|
|
||||||
background-color: #FFF;
|
|
||||||
padding: 25px 20px;
|
|
||||||
margin-bottom: 40px;
|
|
||||||
border-bottom: 1px solid #e7e7e7;
|
|
||||||
}
|
|
||||||
.copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 3.1 - Logo
|
|
||||||
*/
|
|
||||||
|
|
||||||
.logo h1 a {
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo h1 a:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo h1 {
|
|
||||||
margin: 0;
|
|
||||||
font-family: 'Lato', sans-serif;
|
|
||||||
font-weight: 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 3.2 - Main Navigation
|
|
||||||
*/
|
|
||||||
|
|
||||||
.main-nav {
|
|
||||||
margin-top: 11px;
|
|
||||||
max-width: 95%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-nav a {
|
|
||||||
color: #000000 !important;
|
|
||||||
padding: 0 0 5px 0 !important;
|
|
||||||
margin-right: 30px;
|
|
||||||
font-family: 'Lato', sans-serif;
|
|
||||||
font-weight: 300;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-nav a:active,
|
|
||||||
.main-nav a:focus,
|
|
||||||
.main-nav a:hover {
|
|
||||||
background-color: transparent !important;
|
|
||||||
border-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-toggle {
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
margin-right: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-toggle span {
|
|
||||||
font-size: 2em;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 3.2.1 - Main Nav CSS 3 Hover Effect
|
|
||||||
*/
|
|
||||||
|
|
||||||
.cl-effect-11 a {
|
|
||||||
padding: 10px 0;
|
|
||||||
color: #0972b4;
|
|
||||||
text-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-11 a::before {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0 0 5px 0 !important;
|
|
||||||
max-width: 0;
|
|
||||||
border-bottom: 1px solid #000;
|
|
||||||
color: #000;
|
|
||||||
content: attr(data-hover);
|
|
||||||
-webkit-transition: max-width 0.5s;
|
|
||||||
-moz-transition: max-width 0.5s;
|
|
||||||
transition: max-width 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-11 a:hover::before,
|
|
||||||
.cl-effect-11 a:focus::before {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 4.0 - Home/Blog
|
|
||||||
*/
|
|
||||||
|
|
||||||
.content-body {
|
|
||||||
padding-bottom: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post {
|
|
||||||
background: #fff;
|
|
||||||
padding: 30px 30px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.entry-title {
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.9em;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
line-height: 1.6;
|
|
||||||
padding: 10px 20px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.entry-meta {
|
|
||||||
text-align: center;
|
|
||||||
color: #DDDDDD;
|
|
||||||
font-size: 13px;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.entry-content {
|
|
||||||
font-size: 18px;
|
|
||||||
line-height: 1.9;
|
|
||||||
font-weight: 300;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post-category,
|
|
||||||
.post-date,
|
|
||||||
.post-author {
|
|
||||||
position: relative;
|
|
||||||
padding-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post-category::after,
|
|
||||||
.post-date::after,
|
|
||||||
.post-author::after {
|
|
||||||
position: absolute;
|
|
||||||
content: '.';
|
|
||||||
color: #000;
|
|
||||||
font-size: 30px;
|
|
||||||
top: -22px;
|
|
||||||
right: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 4.1 - Read More Button CSS 3 style
|
|
||||||
*/
|
|
||||||
|
|
||||||
.read-more {
|
|
||||||
font-family: 'Ubuntu', sans-serif;
|
|
||||||
font-weight: 400;
|
|
||||||
word-spacing: 1px;
|
|
||||||
letter-spacing: 0.01em;
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a {
|
|
||||||
padding: 0 20px;
|
|
||||||
height: 45px;
|
|
||||||
line-height: 45px;
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 15px 25px;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
font-weight: 400;
|
|
||||||
text-shadow: 0 0 1px rgba(255,255,255,0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a::before,
|
|
||||||
.cl-effect-14 a::after {
|
|
||||||
position: absolute;
|
|
||||||
width: 45px;
|
|
||||||
height: 1px;
|
|
||||||
background: #C3C3C3;
|
|
||||||
content: '';
|
|
||||||
-webkit-transition: all 0.3s;
|
|
||||||
-moz-transition: all 0.3s;
|
|
||||||
transition: all 0.3s;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a::before {
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
-webkit-transform: rotate(90deg);
|
|
||||||
-moz-transform: rotate(90deg);
|
|
||||||
transform: rotate(90deg);
|
|
||||||
-webkit-transform-origin: 0 0;
|
|
||||||
-moz-transform-origin: 0 0;
|
|
||||||
transform-origin: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a::after {
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
-webkit-transform: rotate(90deg);
|
|
||||||
-moz-transform: rotate(90deg);
|
|
||||||
transform: rotate(90deg);
|
|
||||||
-webkit-transform-origin: 100% 0;
|
|
||||||
-moz-transform-origin: 100% 0;
|
|
||||||
transform-origin: 100% 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a:hover::before,
|
|
||||||
.cl-effect-14 a:hover::after,
|
|
||||||
.cl-effect-14 a:focus::before,
|
|
||||||
.cl-effect-14 a:focus::after {
|
|
||||||
background: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a:hover::before,
|
|
||||||
.cl-effect-14 a:focus::before {
|
|
||||||
left: 50%;
|
|
||||||
-webkit-transform: rotate(0deg) translateX(-50%);
|
|
||||||
-moz-transform: rotate(0deg) translateX(-50%);
|
|
||||||
transform: rotate(0deg) translateX(-50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.cl-effect-14 a:hover::after,
|
|
||||||
.cl-effect-14 a:focus::after {
|
|
||||||
right: 50%;
|
|
||||||
-webkit-transform: rotate(0deg) translateX(50%);
|
|
||||||
-moz-transform: rotate(0deg) translateX(50%);
|
|
||||||
transform: rotate(0deg) translateX(50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 5.0 - Widget
|
|
||||||
*/
|
|
||||||
|
|
||||||
.widget {
|
|
||||||
background: #fff;
|
|
||||||
padding: 30px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-title {
|
|
||||||
font-size: 1.5em;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
line-height: 1.6;
|
|
||||||
padding: 10px 0 0;
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-recent-posts ul {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-recent-posts ul li {
|
|
||||||
list-style-type: none;
|
|
||||||
position: relative;
|
|
||||||
line-height: 170%;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-recent-posts ul li::before {
|
|
||||||
content: '\f3d3';
|
|
||||||
font-family: "Ionicons";
|
|
||||||
position: absolute;
|
|
||||||
left: -17px;
|
|
||||||
top: 3px;
|
|
||||||
font-size: 16px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-archives ul {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding-left: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-archives ul li {
|
|
||||||
list-style-type: none;
|
|
||||||
position: relative;
|
|
||||||
line-height: 170%;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-archives ul li::before {
|
|
||||||
content: '\f3f3';
|
|
||||||
font-family: "Ionicons";
|
|
||||||
position: absolute;
|
|
||||||
left: -25px;
|
|
||||||
top: 1px;
|
|
||||||
font-size: 16px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-category ul {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding-left: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-category ul li {
|
|
||||||
list-style-type: none;
|
|
||||||
position: relative;
|
|
||||||
line-height: 170%;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-category ul li::before {
|
|
||||||
content: '\f3fe';
|
|
||||||
font-family: "Ionicons";
|
|
||||||
position: absolute;
|
|
||||||
left: -25px;
|
|
||||||
top: 1px;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 6.0 - Footer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#site-footer {
|
|
||||||
padding-top: 10px;
|
|
||||||
padding: 0 0 1.5em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.copyright {
|
|
||||||
text-align: center;
|
|
||||||
padding-top: 1em;
|
|
||||||
margin: 0;
|
|
||||||
border-top: 1px solid #eee;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 7.0 - Header Search Bar
|
|
||||||
*/
|
|
||||||
|
|
||||||
#header-search-box {
|
|
||||||
position: absolute;
|
|
||||||
right: 38px;
|
|
||||||
top: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-form {
|
|
||||||
display: none;
|
|
||||||
width: 25%;
|
|
||||||
position: absolute;
|
|
||||||
min-width: 200px;
|
|
||||||
right: -6px;
|
|
||||||
top: 33px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#search-menu span {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#searchform {
|
|
||||||
position: relative;
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
min-height: 42px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#searchform input[type=search] {
|
|
||||||
width: 100%;
|
|
||||||
border: none;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
padding: 10px 30px 10px 10px;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
|
|
||||||
#searchform button {
|
|
||||||
position: absolute;
|
|
||||||
right: 6px;
|
|
||||||
top: 4px;
|
|
||||||
z-index: 999;
|
|
||||||
background: transparent;
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#searchform button span {
|
|
||||||
font-size: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#search-menu span.ion-ios-close-empty {
|
|
||||||
font-size: 40px;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
top: -6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 8.0 - Mobile Menu
|
|
||||||
*/
|
|
||||||
|
|
||||||
.overlay {
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay .overlay-close {
|
|
||||||
position: absolute;
|
|
||||||
right: 25px;
|
|
||||||
top: 10px;
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
border: none;
|
|
||||||
color: transparent;
|
|
||||||
background-color: transparent;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc.open .ion-ios-close-empty {
|
|
||||||
color: #000;
|
|
||||||
font-size: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay nav {
|
|
||||||
text-align: center;
|
|
||||||
position: relative;
|
|
||||||
top: 50%;
|
|
||||||
height: 60%;
|
|
||||||
font-size: 54px;
|
|
||||||
-webkit-transform: translateY(-50%);
|
|
||||||
transform: translateY(-50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay ul {
|
|
||||||
list-style: none;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0 auto;
|
|
||||||
display: inline-block;
|
|
||||||
height: 100%;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay ul li {
|
|
||||||
display: block;
|
|
||||||
height: 20%;
|
|
||||||
height: calc(100% / 5);
|
|
||||||
min-height: 54px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay ul li a {
|
|
||||||
font-weight: 300;
|
|
||||||
display: block;
|
|
||||||
-webkit-transition: color 0.2s;
|
|
||||||
transition: color 0.2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay ul li a:hover,
|
|
||||||
.overlay ul li a:focus {
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc {
|
|
||||||
opacity: 0;
|
|
||||||
visibility: hidden;
|
|
||||||
-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
|
|
||||||
transition: opacity 0.5s, visibility 0s 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc.open {
|
|
||||||
opacity: 1;
|
|
||||||
visibility: visible;
|
|
||||||
-webkit-transition: opacity 0.5s;
|
|
||||||
transition: opacity 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc nav {
|
|
||||||
-webkit-perspective: 1200px;
|
|
||||||
perspective: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc nav ul {
|
|
||||||
opacity: 0.4;
|
|
||||||
-webkit-transform: translateY(-25%) rotateX(35deg);
|
|
||||||
transform: translateY(-25%) rotateX(35deg);
|
|
||||||
-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
|
|
||||||
transition: transform 0.5s, opacity 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc.open nav ul {
|
|
||||||
opacity: 1;
|
|
||||||
-webkit-transform: rotateX(0deg);
|
|
||||||
transform: rotateX(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay-hugeinc.close nav ul {
|
|
||||||
-webkit-transform: translateY(25%) rotateX(-35deg);
|
|
||||||
transform: translateY(25%) rotateX(-35deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 9.0 - Contact Page Social
|
|
||||||
*/
|
|
||||||
|
|
||||||
.social {
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social li {
|
|
||||||
display: inline-block;
|
|
||||||
margin-right: 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social li a {
|
|
||||||
border: 1px solid #888;
|
|
||||||
font-size: 22px;
|
|
||||||
color: #888;
|
|
||||||
transition: all 0.3s ease-in;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social li a:hover {
|
|
||||||
background-color: #333;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.facebook a {
|
|
||||||
padding: 12px 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.twitter a {
|
|
||||||
padding: 12px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.google-plus a {
|
|
||||||
padding: 12px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tumblr a {
|
|
||||||
padding: 12px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 10.0 - Contact Form
|
|
||||||
*/
|
|
||||||
|
|
||||||
.contact-form input {
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
width: 100%;
|
|
||||||
padding: 15px 15px;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 100%;
|
|
||||||
transition: 0.4s border-color linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contact-form textarea {
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
width: 100%;
|
|
||||||
padding: 15px 15px;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 20px !important;
|
|
||||||
min-height: 183px;
|
|
||||||
transition: 0.4s border-color linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contact-form input:focus,
|
|
||||||
.contact-form textarea:focus {
|
|
||||||
border-color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-send {
|
|
||||||
background: none;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 25px 80px;
|
|
||||||
display: inline-block;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
position: relative;
|
|
||||||
transition: all 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5 {
|
|
||||||
color: #666;
|
|
||||||
height: 70px;
|
|
||||||
min-width: 260px;
|
|
||||||
line-height: 15px;
|
|
||||||
font-size: 16px;
|
|
||||||
overflow: hidden;
|
|
||||||
-webkit-backface-visibility: hidden;
|
|
||||||
-moz-backface-visibility: hidden;
|
|
||||||
backface-visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5 span {
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
-webkit-transition: all 0.3s;
|
|
||||||
-webkit-backface-visibility: hidden;
|
|
||||||
-moz-transition: all 0.3s;
|
|
||||||
-moz-backface-visibility: hidden;
|
|
||||||
transition: all 0.3s;
|
|
||||||
backface-visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5:before {
|
|
||||||
position: absolute;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
line-height: 2.5;
|
|
||||||
font-size: 180%;
|
|
||||||
-webkit-transition: all 0.3s;
|
|
||||||
-moz-transition: all 0.3s;
|
|
||||||
transition: all 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5:active:before {
|
|
||||||
color: #703b87;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5b:hover span {
|
|
||||||
-webkit-transform: translateX(200%);
|
|
||||||
-moz-transform: translateX(200%);
|
|
||||||
-ms-transform: translateX(200%);
|
|
||||||
transform: translateX(200%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5b:before {
|
|
||||||
left: -100%;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5b:hover:before {
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 11.0 - Media Query
|
|
||||||
*/
|
|
||||||
|
|
||||||
@media (max-width: 991px) {
|
|
||||||
.main-nav a {
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header-search-box {
|
|
||||||
position: absolute;
|
|
||||||
right: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
#header-search-box {
|
|
||||||
right: 20px;
|
|
||||||
top: 9px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-nav {
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5 span {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-5b:before {
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 431px) {
|
|
||||||
.logo h1 {
|
|
||||||
margin-top: 8px;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post {
|
|
||||||
background: #fff;
|
|
||||||
padding: 0 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.more-link {
|
|
||||||
font-size: 0.9em;
|
|
||||||
line-height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-height: 30.5em) {
|
|
||||||
.overlay nav {
|
|
||||||
height: 70%;
|
|
||||||
font-size: 34px;
|
|
||||||
}
|
|
||||||
.overlay ul li {
|
|
||||||
min-height: 34px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
/*!
|
||||||
|
* IE10 viewport hack for Surface/desktop Windows 8 bug
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See the Getting Started docs for more information:
|
||||||
|
* http://getbootstrap.com/getting-started/#support-ie10-width
|
||||||
|
*/
|
||||||
|
@-ms-viewport { width: device-width; }
|
||||||
|
@-o-viewport { width: device-width; }
|
||||||
|
@viewport { width: device-width; }
|
||||||
@ -1,13 +0,0 @@
|
|||||||
.pace .pace-progress {
|
|
||||||
background: #000;
|
|
||||||
position: fixed;
|
|
||||||
z-index: 2000;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
height: 1px;
|
|
||||||
transition: width 1s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pace-inactive {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 169 B |
|
Before Width: | Height: | Size: 62 KiB |
@ -0,0 +1,51 @@
|
|||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
/*!
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
*/
|
||||||
|
// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
function emulatedIEMajorVersion() {
|
||||||
|
var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
|
||||||
|
if (groups === null) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
var ieVersionNum = parseInt(groups[1], 10)
|
||||||
|
var ieMajorVersion = Math.floor(ieVersionNum)
|
||||||
|
return ieMajorVersion
|
||||||
|
}
|
||||||
|
|
||||||
|
function actualNonEmulatedIEMajorVersion() {
|
||||||
|
// Detects the actual version of IE in use, even if it's in an older-IE emulation mode.
|
||||||
|
// IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx
|
||||||
|
// @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx
|
||||||
|
var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // jshint ignore:line
|
||||||
|
if (jscriptVersion === undefined) {
|
||||||
|
return 11 // IE11+ not in emulation mode
|
||||||
|
}
|
||||||
|
if (jscriptVersion < 9) {
|
||||||
|
return 8 // IE8 (or lower; haven't tested on IE<8)
|
||||||
|
}
|
||||||
|
return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode
|
||||||
|
}
|
||||||
|
|
||||||
|
var ua = window.navigator.userAgent
|
||||||
|
if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) {
|
||||||
|
return // Opera, which might pretend to be IE
|
||||||
|
}
|
||||||
|
var emulated = emulatedIEMajorVersion()
|
||||||
|
if (emulated === null) {
|
||||||
|
return // Not IE
|
||||||
|
}
|
||||||
|
var nonEmulated = actualNonEmulatedIEMajorVersion()
|
||||||
|
|
||||||
|
if (emulated !== nonEmulated) {
|
||||||
|
window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
|
||||||
|
}
|
||||||
|
})();
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
/*!
|
||||||
|
* IE10 viewport hack for Surface/desktop Windows 8 bug
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
|
// See the Getting Started docs for more information:
|
||||||
|
// http://getbootstrap.com/getting-started/#support-ie10-width
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
||||||
|
var msViewportStyle = document.createElement('style')
|
||||||
|
msViewportStyle.appendChild(
|
||||||
|
document.createTextNode(
|
||||||
|
'@-ms-viewport{width:auto!important}'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
document.querySelector('head').appendChild(msViewportStyle)
|
||||||
|
}
|
||||||
|
|
||||||
|
})();
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
/*!
|
||||||
|
* Copyright 2011-2015 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
*/
|
||||||
|
// Intended to prevent false-positive bug reports about responsive styling supposedly not working in IE8.
|
||||||
|
if (window.location.protocol == 'file:') {
|
||||||
|
window.alert('ERROR: Bootstrap\'s responsive CSS is disabled!\nSee getbootstrap.com/getting-started/#respond-file-proto for details.')
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
|
||||||
|
require('../../js/transition.js')
|
||||||
|
require('../../js/alert.js')
|
||||||
|
require('../../js/button.js')
|
||||||
|
require('../../js/carousel.js')
|
||||||
|
require('../../js/collapse.js')
|
||||||
|
require('../../js/dropdown.js')
|
||||||
|
require('../../js/modal.js')
|
||||||
|
require('../../js/tooltip.js')
|
||||||
|
require('../../js/popover.js')
|
||||||
|
require('../../js/scrollspy.js')
|
||||||
|
require('../../js/tab.js')
|
||||||
|
require('../../js/affix.js')
|
||||||
@ -1,152 +0,0 @@
|
|||||||
var searchvisible = 0;
|
|
||||||
|
|
||||||
$("#search-menu").click(function(e){
|
|
||||||
//This stops the page scrolling to the top on a # link.
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
var val = $('#search-icon');
|
|
||||||
if(val.hasClass('ion-ios-search-strong')){
|
|
||||||
val.addClass('ion-ios-close-empty');
|
|
||||||
val.removeClass('ion-ios-search-strong');
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
val.removeClass('ion-ios-close-empty');
|
|
||||||
val.addClass('ion-ios-search-strong');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (searchvisible ===0) {
|
|
||||||
//Search is currently hidden. Slide down and show it.
|
|
||||||
$("#search-form").slideDown(200);
|
|
||||||
$("#s").focus(); //Set focus on the search input field.
|
|
||||||
searchvisible = 1; //Set search visible flag to visible.
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
//Search is currently showing. Slide it back up and hide it.
|
|
||||||
$("#search-form").slideUp(200);
|
|
||||||
searchvisible = 0;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* classie - class helper functions
|
|
||||||
* from bonzo https://github.com/ded/bonzo
|
|
||||||
*
|
|
||||||
* classie.has( elem, 'my-class' ) -> true/false
|
|
||||||
* classie.add( elem, 'my-new-class' )
|
|
||||||
* classie.remove( elem, 'my-unwanted-class' )
|
|
||||||
* classie.toggle( elem, 'my-class' )
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*jshint browser: true, strict: true, undef: true */
|
|
||||||
/*global define: false */
|
|
||||||
|
|
||||||
( function( window ) {
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
// class helper functions from bonzo https://github.com/ded/bonzo
|
|
||||||
|
|
||||||
function classReg( className ) {
|
|
||||||
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
|
|
||||||
}
|
|
||||||
|
|
||||||
// classList support for class management
|
|
||||||
// altho to be fair, the api sucks because it won't accept multiple classes at once
|
|
||||||
var hasClass, addClass, removeClass;
|
|
||||||
|
|
||||||
if ( 'classList' in document.documentElement ) {
|
|
||||||
hasClass = function( elem, c ) {
|
|
||||||
return elem.classList.contains( c );
|
|
||||||
};
|
|
||||||
addClass = function( elem, c ) {
|
|
||||||
elem.classList.add( c );
|
|
||||||
};
|
|
||||||
removeClass = function( elem, c ) {
|
|
||||||
elem.classList.remove( c );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
hasClass = function( elem, c ) {
|
|
||||||
return classReg( c ).test( elem.className );
|
|
||||||
};
|
|
||||||
addClass = function( elem, c ) {
|
|
||||||
if ( !hasClass( elem, c ) ) {
|
|
||||||
elem.className = elem.className + ' ' + c;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
removeClass = function( elem, c ) {
|
|
||||||
elem.className = elem.className.replace( classReg( c ), ' ' );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleClass( elem, c ) {
|
|
||||||
var fn = hasClass( elem, c ) ? removeClass : addClass;
|
|
||||||
fn( elem, c );
|
|
||||||
}
|
|
||||||
|
|
||||||
var classie = {
|
|
||||||
// full names
|
|
||||||
hasClass: hasClass,
|
|
||||||
addClass: addClass,
|
|
||||||
removeClass: removeClass,
|
|
||||||
toggleClass: toggleClass,
|
|
||||||
// short names
|
|
||||||
has: hasClass,
|
|
||||||
add: addClass,
|
|
||||||
remove: removeClass,
|
|
||||||
toggle: toggleClass
|
|
||||||
};
|
|
||||||
|
|
||||||
// transport
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( classie );
|
|
||||||
} else {
|
|
||||||
// browser global
|
|
||||||
window.classie = classie;
|
|
||||||
}
|
|
||||||
|
|
||||||
})( window );
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
var triggerBttn = document.getElementById( 'trigger-overlay' ),
|
|
||||||
overlay = document.querySelector( 'div.overlay' ),
|
|
||||||
closeBttn = overlay.querySelector( 'button.overlay-close' );
|
|
||||||
transEndEventNames = {
|
|
||||||
'WebkitTransition': 'webkitTransitionEnd',
|
|
||||||
'MozTransition': 'transitionend',
|
|
||||||
'OTransition': 'oTransitionEnd',
|
|
||||||
'msTransition': 'MSTransitionEnd',
|
|
||||||
'transition': 'transitionend'
|
|
||||||
},
|
|
||||||
transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
|
|
||||||
support = { transitions : Modernizr.csstransitions };
|
|
||||||
|
|
||||||
function toggleOverlay() {
|
|
||||||
if( classie.has( overlay, 'open' ) ) {
|
|
||||||
classie.remove( overlay, 'open' );
|
|
||||||
classie.add( overlay, 'close' );
|
|
||||||
var onEndTransitionFn = function( ev ) {
|
|
||||||
if( support.transitions ) {
|
|
||||||
if( ev.propertyName !== 'visibility' ) return;
|
|
||||||
this.removeEventListener( transEndEventName, onEndTransitionFn );
|
|
||||||
}
|
|
||||||
classie.remove( overlay, 'close' );
|
|
||||||
};
|
|
||||||
if( support.transitions ) {
|
|
||||||
overlay.addEventListener( transEndEventName, onEndTransitionFn );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
onEndTransitionFn();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if( !classie.has( overlay, 'close' ) ) {
|
|
||||||
classie.add( overlay, 'open' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
triggerBttn.addEventListener( 'click', toggleOverlay );
|
|
||||||
closeBttn.addEventListener( 'click', toggleOverlay );
|
|
||||||
})();
|
|
||||||
@ -0,0 +1,104 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
{% load blog_tags %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-sm-8 blog-main">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="blog-post">
|
||||||
|
<a href="#" class="blog-post-title">{{ article.title }}</a>
|
||||||
|
{% parseCategoryName article %}
|
||||||
|
<p class="blog-post-meta">{% comment %}<a href="#">{{ article.category.name }}</a>{% endcomment %}
|
||||||
|
<time class="entry-date"
|
||||||
|
datetime="{{ article.created_time }}">
|
||||||
|
{% timeformat article.created_time %}
|
||||||
|
</time>
|
||||||
|
by <a href="#">{{ article.author }}</a></p>
|
||||||
|
|
||||||
|
{{ article.body|custom_markdown }}
|
||||||
|
</div><!-- /.blog-post -->
|
||||||
|
|
||||||
|
|
||||||
|
{% comment %}<div class="blog-post">
|
||||||
|
<h2 class="blog-post-title">Another blog post</h2>
|
||||||
|
<p class="blog-post-meta">December 23, 2013 by <a href="#">Jacob</a></p>
|
||||||
|
|
||||||
|
<p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus.
|
||||||
|
Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere
|
||||||
|
consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||||
|
<blockquote>
|
||||||
|
<p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare
|
||||||
|
vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
</blockquote>
|
||||||
|
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet
|
||||||
|
fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
|
||||||
|
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo
|
||||||
|
luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac
|
||||||
|
consectetur ac, vestibulum at eros.</p>
|
||||||
|
</div><!-- /.blog-post -->
|
||||||
|
|
||||||
|
<div class="blog-post">
|
||||||
|
<h2 class="blog-post-title">New feature</h2>
|
||||||
|
<p class="blog-post-meta">December 14, 2013 by <a href="#">Chris</a></p>
|
||||||
|
|
||||||
|
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia
|
||||||
|
bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus,
|
||||||
|
tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet
|
||||||
|
risus.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
|
||||||
|
<li>Donec id elit non mi porta gravida at eget metus.</li>
|
||||||
|
<li>Nulla vitae elit libero, a pharetra augue.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet
|
||||||
|
fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
|
||||||
|
<p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
|
||||||
|
</div><!-- /.blog-post -->{% endcomment %}
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<ul class="pager">
|
||||||
|
<li><a href="#">Previous</a></li>
|
||||||
|
<li><a href="#">Next</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
</div><!-- /.blog-main -->
|
||||||
|
|
||||||
|
<div class="col-sm-3 col-sm-offset-1 blog-sidebar">
|
||||||
|
<div class="sidebar-module sidebar-module-inset">
|
||||||
|
<h4>About</h4>
|
||||||
|
<p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet
|
||||||
|
fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-module">
|
||||||
|
<h4>Archives</h4>
|
||||||
|
<ol class="list-unstyled">
|
||||||
|
<li><a href="#">March 2014</a></li>
|
||||||
|
<li><a href="#">February 2014</a></li>
|
||||||
|
<li><a href="#">January 2014</a></li>
|
||||||
|
<li><a href="#">December 2013</a></li>
|
||||||
|
<li><a href="#">November 2013</a></li>
|
||||||
|
<li><a href="#">October 2013</a></li>
|
||||||
|
<li><a href="#">September 2013</a></li>
|
||||||
|
<li><a href="#">August 2013</a></li>
|
||||||
|
<li><a href="#">July 2013</a></li>
|
||||||
|
<li><a href="#">June 2013</a></li>
|
||||||
|
<li><a href="#">May 2013</a></li>
|
||||||
|
<li><a href="#">April 2013</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-module">
|
||||||
|
<h4>Elsewhere</h4>
|
||||||
|
<ol class="list-unstyled">
|
||||||
|
<li><a href="#">GitHub</a></li>
|
||||||
|
<li><a href="#">Twitter</a></li>
|
||||||
|
<li><a href="#">Facebook</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.blog-sidebar -->
|
||||||
|
|
||||||
|
</div><!-- /.row -->
|
||||||
|
{% endblock %}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
{% for name,url in names %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ url }}">
|
||||||
|
{{ name }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ol>
|
||||||
|
|
||||||