diff --git a/css/bootstrap.css b/css/bootstrap.css new file mode 100644 index 0000000..9a7117a --- /dev/null +++ b/css/bootstrap.css @@ -0,0 +1,2061 @@ +/*! + * Bootstrap v2.3.0 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} +audio:not([controls]) { + display: none; +} +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +a:hover, +a:active { + outline: 0; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + /* Responsive images (ensure images don't scale beyond their parents) */ + + max-width: 100%; + /* Part 1: Set a maxium relative to the parent */ + + width: auto\9; + /* IE7-8 need help adjusting responsive images */ + + height: auto; + /* Part 2: Scale the height according to the width, otherwise you get stretching */ + + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} +#map_canvas img, +.google-maps img { + max-width: none; +} +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} +button, +input { + *overflow: visible; + line-height: normal; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} +textarea { + overflow: auto; + vertical-align: top; +} +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} +body { + margin: 0; + font-family: Arial, Helvetica, sans-serif; + font-size: 13px; + line-height: 18px; + color: #666666; + background-color: #ffffff; +} +a { + color: #0179c6; + text-decoration: none; +} +a:hover, +a:focus { + color: #df152b; +} +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} +.row { + margin-left: -20px; + *zoom: 1; +} +.row:before, +.row:after { + display: table; + content: ""; + line-height: 0; +} +.row:after { + clear: both; +} +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} +.span12 { + width: 940px; +} +.span11 { + width: 860px; +} +.span10 { + width: 780px; +} +.span9 { + width: 700px; +} +.span8 { + width: 620px; +} +.span7 { + width: 540px; +} +.span6 { + width: 460px; +} +.span5 { + width: 380px; +} +.span4 { + width: 300px; +} +.span3 { + width: 220px; +} +.span2 { + width: 140px; +} +.span1 { + width: 60px; +} +.offset12 { + margin-left: 980px; +} +.offset11 { + margin-left: 900px; +} +.offset10 { + margin-left: 820px; +} +.offset9 { + margin-left: 740px; +} +.offset8 { + margin-left: 660px; +} +.offset7 { + margin-left: 580px; +} +.offset6 { + margin-left: 500px; +} +.offset5 { + margin-left: 420px; +} +.offset4 { + margin-left: 340px; +} +.offset3 { + margin-left: 260px; +} +.offset2 { + margin-left: 180px; +} +.offset1 { + margin-left: 100px; +} +.row-fluid { + width: 100%; + *zoom: 1; +} +.row-fluid:before, +.row-fluid:after { + display: table; + content: ""; + line-height: 0; +} +.row-fluid:after { + clear: both; +} +.row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; +} +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} +.row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.127659574468085%; +} +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} +.container:before, +.container:after { + display: table; + content: ""; + line-height: 0; +} +.container:after { + clear: both; +} +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} +.container-fluid:before, +.container-fluid:after { + display: table; + content: ""; + line-height: 0; +} +.container-fluid:after { + clear: both; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 19.5px; + font-weight: 200; + line-height: 27px; +} +small { + font-size: 85%; +} +strong { + font-weight: bold; +} +em { + font-style: italic; +} +cite { + font-style: normal; +} +.muted { + color: #999999; +} +a.muted:hover, +a.muted:focus { + color: #808080; +} +.text-warning { + color: #c09853; +} +a.text-warning:hover, +a.text-warning:focus { + color: #a47e3c; +} +.text-error { + color: #b94a48; +} +a.text-error:hover, +a.text-error:focus { + color: #953b39; +} +.text-info { + color: #3a87ad; +} +a.text-info:hover, +a.text-info:focus { + color: #2d6987; +} +.text-success { + color: #468847; +} +a.text-success:hover, +a.text-success:focus { + color: #356635; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 9px 0; + font-family: inherit; + font-weight: bold; + line-height: 18px; + color: inherit; + text-rendering: optimizelegibility; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} +h1, +h2, +h3 { + line-height: 36px; +} +h1 { + font-size: 35.75px; +} +h2 { + font-size: 29.25px; +} +h3 { + font-size: 22.75px; +} +h4 { + font-size: 16.25px; +} +h5 { + font-size: 13px; +} +h6 { + font-size: 11.049999999999999px; +} +h1 small { + font-size: 22.75px; +} +h2 small { + font-size: 16.25px; +} +h3 small { + font-size: 13px; +} +h4 small { + font-size: 13px; +} +.page-header { + padding-bottom: 8px; + margin: 18px 0 27px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + padding: 0; + margin: 0 0 9px 25px; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} +li { + line-height: 18px; +} +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; +} +ul.inline > li, +ol.inline > li { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-bottom: 18px; +} +dt, +dd { + line-height: 18px; +} +dt { + font-weight: bold; +} +dd { + margin-left: 9px; +} +.dl-horizontal { + *zoom: 1; +} +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + content: ""; + line-height: 0; +} +.dl-horizontal:after { + clear: both; +} +.dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.dl-horizontal dd { + margin-left: 180px; +} +hr { + margin: 18px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 0 0 0 15px; + margin: 0 0 18px; + border-left: 5px solid #eeeeee; +} +blockquote p { + margin-bottom: 0; + font-size: 16.25px; + font-weight: 300; + line-height: 1.25; +} +blockquote small { + display: block; + line-height: 18px; + color: #999999; +} +blockquote small:before { + content: '\2014 \00A0'; +} +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} +blockquote.pull-right small:before { + content: ''; +} +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} +address { + display: block; + margin-bottom: 18px; + font-style: normal; + line-height: 18px; +} +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 11px; + color: #3a3a3a; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +code { + padding: 2px 4px; + color: #d14; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; + white-space: nowrap; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 18px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +pre.prettyprint { + margin-bottom: 18px; +} +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.alert { + padding: 18px 35px 18px 14px; + margin-bottom: 18px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + font-size: 15px; + line-height: 20px; +} +.alert i { + font-size: 20px; + margin-right: 10px; + display: inline-block; +} +.alert, +.alert h4 { + color: #c09853; +} +.alert h4 { + margin: 0; +} +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} +.alert-success { + background-color: #d6e9c6; + border-color: none; + color: #468847; +} +.alert-success h4 { + color: #468847; +} +.alert-danger, +.alert-error { + background-color: #f2dede; + border-color: none; + color: #b94a48; +} +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} +.alert-info { + background-color: #d9edf7; + border-color: none; + color: #3a87ad; +} +.alert-info h4 { + color: #3a87ad; +} +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.hide { + display: none; +} +.show { + display: block; +} +.invisible { + visibility: hidden; +} +.affix { + position: fixed; +} +/*! + * Font Awesome 3.0.2 + * the iconic font designed for use with Twitter Bootstrap + * ------------------------------------------------------- + * The full suite of pictographic icons, examples, and documentation + * can be found at: http://fortawesome.github.com/Font-Awesome/ + * + * License + * ------------------------------------------------------- + * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + * http://opensource.org/licenses/mit-license.html + * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + * Contact + * ------------------------------------------------------- + * Email: dave@davegandy.com + * Twitter: http://twitter.com/fortaweso_me + * Work: Lead Product Designer @ http://kyruus.com + */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=3.0.1'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=3.0.1') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); + font-weight: normal; + font-style: normal; +} +/* Font Awesome styles + ------------------------------------------------------- */ +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + /* sprites.less reset */ + + display: inline; + width: auto; + height: auto; + line-height: normal; + vertical-align: baseline; + background-image: none; + background-position: 0% 0%; + background-repeat: repeat; + margin-top: 0; +} +/* more sprites.less reset */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: none; +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} +/* makes sure icons active on rollover in links */ +a [class^="icon-"], +a [class*=" icon-"] { + display: inline-block; +} +/* makes the font 33% larger relative to the icon container */ +.icon-large:before { + vertical-align: -10%; + font-size: 1.3333333333333333em; +} +.btn [class^="icon-"], +.nav [class^="icon-"], +.btn [class*=" icon-"], +.nav [class*=" icon-"] { + display: inline; + /* keeps button heights with and without icons the same */ + +} +.btn [class^="icon-"].icon-large, +.nav [class^="icon-"].icon-large, +.btn [class*=" icon-"].icon-large, +.nav [class*=" icon-"].icon-large { + line-height: .9em; +} +.btn [class^="icon-"].icon-spin, +.nav [class^="icon-"].icon-spin, +.btn [class*=" icon-"].icon-spin, +.nav [class*=" icon-"].icon-spin { + display: inline-block; +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"] { + /* keeps button heights with and without icons the same */ + +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"], +.nav-tabs [class^="icon-"].icon-large, +.nav-pills [class^="icon-"].icon-large, +.nav-tabs [class*=" icon-"].icon-large, +.nav-pills [class*=" icon-"].icon-large { + line-height: .9em; +} +li [class^="icon-"], +.nav li [class^="icon-"], +li [class*=" icon-"], +.nav li [class*=" icon-"] { + display: inline-block; + width: 1.25em; + text-align: center; +} +li [class^="icon-"].icon-large, +.nav li [class^="icon-"].icon-large, +li [class*=" icon-"].icon-large, +.nav li [class*=" icon-"].icon-large { + /* increased font size for icon-large */ + + width: 1.5625em; +} +ul.icons { + list-style-type: none; + text-indent: -0.75em; +} +ul.icons li [class^="icon-"], +ul.icons li [class*=" icon-"] { + width: .75em; +} +.icon-muted { + color: #eeeeee; +} +.icon-border { + border: solid 1px #eeeeee; + padding: .2em .25em .15em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.icon-2x { + font-size: 2em; +} +.icon-2x.icon-border { + border-width: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.icon-3x { + font-size: 3em; +} +.icon-3x.icon-border { + border-width: 3px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.icon-4x { + font-size: 4em; +} +.icon-4x.icon-border { + border-width: 4px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +[class^="icon-"].pull-left, +[class*=" icon-"].pull-left { + margin-right: .3em; +} +[class^="icon-"].pull-right, +[class*=" icon-"].pull-right { + margin-left: .3em; +} +.btn [class^="icon-"].pull-left.icon-2x, +.btn [class*=" icon-"].pull-left.icon-2x, +.btn [class^="icon-"].pull-right.icon-2x, +.btn [class*=" icon-"].pull-right.icon-2x { + margin-top: .18em; +} +.btn [class^="icon-"].icon-spin.icon-large, +.btn [class*=" icon-"].icon-spin.icon-large { + line-height: .8em; +} +.btn.btn-small [class^="icon-"].pull-left.icon-2x, +.btn.btn-small [class*=" icon-"].pull-left.icon-2x, +.btn.btn-small [class^="icon-"].pull-right.icon-2x, +.btn.btn-small [class*=" icon-"].pull-right.icon-2x { + margin-top: .25em; +} +.btn.btn-large [class^="icon-"], +.btn.btn-large [class*=" icon-"] { + margin-top: 0; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x, +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-top: .05em; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x { + margin-right: .2em; +} +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-left: .2em; +} +.icon-spin { + display: inline-block; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -ms-transform: rotate(0deg); + } + 100% { + -ms-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +@-moz-document url-prefix() { + .icon-spin { + height: .9em; + } + .btn .icon-spin { + height: auto; + } + .icon-spin.icon-large { + height: 1.25em; + } + .btn .icon-spin.icon-large { + height: .75em; + } +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.icon-glass:before { + content: "\f000"; +} +.icon-music:before { + content: "\f001"; +} +.icon-search:before { + content: "\f002"; +} +.icon-envelope:before { + content: "\f003"; +} +.icon-heart:before { + content: "\f004"; +} +.icon-star:before { + content: "\f005"; +} +.icon-star-empty:before { + content: "\f006"; +} +.icon-user:before { + content: "\f007"; +} +.icon-film:before { + content: "\f008"; +} +.icon-th-large:before { + content: "\f009"; +} +.icon-th:before { + content: "\f00a"; +} +.icon-th-list:before { + content: "\f00b"; +} +.icon-ok:before { + content: "\f00c"; +} +.icon-remove:before { + content: "\f00d"; +} +.icon-zoom-in:before { + content: "\f00e"; +} +.icon-zoom-out:before { + content: "\f010"; +} +.icon-off:before { + content: "\f011"; +} +.icon-signal:before { + content: "\f012"; +} +.icon-cog:before { + content: "\f013"; +} +.icon-trash:before { + content: "\f014"; +} +.icon-home:before { + content: "\f015"; +} +.icon-file:before { + content: "\f016"; +} +.icon-time:before { + content: "\f017"; +} +.icon-road:before { + content: "\f018"; +} +.icon-download-alt:before { + content: "\f019"; +} +.icon-download:before { + content: "\f01a"; +} +.icon-upload:before { + content: "\f01b"; +} +.icon-inbox:before { + content: "\f01c"; +} +.icon-play-circle:before { + content: "\f01d"; +} +.icon-repeat:before { + content: "\f01e"; +} +/* \f020 doesn't work in Safari. all shifted one down */ +.icon-refresh:before { + content: "\f021"; +} +.icon-list-alt:before { + content: "\f022"; +} +.icon-lock:before { + content: "\f023"; +} +.icon-flag:before { + content: "\f024"; +} +.icon-headphones:before { + content: "\f025"; +} +.icon-volume-off:before { + content: "\f026"; +} +.icon-volume-down:before { + content: "\f027"; +} +.icon-volume-up:before { + content: "\f028"; +} +.icon-qrcode:before { + content: "\f029"; +} +.icon-barcode:before { + content: "\f02a"; +} +.icon-tag:before { + content: "\f02b"; +} +.icon-tags:before { + content: "\f02c"; +} +.icon-book:before { + content: "\f02d"; +} +.icon-bookmark:before { + content: "\f02e"; +} +.icon-print:before { + content: "\f02f"; +} +.icon-camera:before { + content: "\f030"; +} +.icon-font:before { + content: "\f031"; +} +.icon-bold:before { + content: "\f032"; +} +.icon-italic:before { + content: "\f033"; +} +.icon-text-height:before { + content: "\f034"; +} +.icon-text-width:before { + content: "\f035"; +} +.icon-align-left:before { + content: "\f036"; +} +.icon-align-center:before { + content: "\f037"; +} +.icon-align-right:before { + content: "\f038"; +} +.icon-align-justify:before { + content: "\f039"; +} +.icon-list:before { + content: "\f03a"; +} +.icon-indent-left:before { + content: "\f03b"; +} +.icon-indent-right:before { + content: "\f03c"; +} +.icon-facetime-video:before { + content: "\f03d"; +} +.icon-picture:before { + content: "\f03e"; +} +.icon-pencil:before { + content: "\f040"; +} +.icon-map-marker:before { + content: "\f041"; +} +.icon-adjust:before { + content: "\f042"; +} +.icon-tint:before { + content: "\f043"; +} +.icon-edit:before { + content: "\f044"; +} +.icon-share:before { + content: "\f045"; +} +.icon-check:before { + content: "\f046"; +} +.icon-move:before { + content: "\f047"; +} +.icon-step-backward:before { + content: "\f048"; +} +.icon-fast-backward:before { + content: "\f049"; +} +.icon-backward:before { + content: "\f04a"; +} +.icon-play:before { + content: "\f04b"; +} +.icon-pause:before { + content: "\f04c"; +} +.icon-stop:before { + content: "\f04d"; +} +.icon-forward:before { + content: "\f04e"; +} +.icon-fast-forward:before { + content: "\f050"; +} +.icon-step-forward:before { + content: "\f051"; +} +.icon-eject:before { + content: "\f052"; +} +.icon-chevron-left:before { + content: "\f053"; +} +.icon-chevron-right:before { + content: "\f054"; +} +.icon-plus-sign:before { + content: "\f055"; +} +.icon-minus-sign:before { + content: "\f056"; +} +.icon-remove-sign:before { + content: "\f057"; +} +.icon-ok-sign:before { + content: "\f058"; +} +.icon-question-sign:before { + content: "\f059"; +} +.icon-info-sign:before { + content: "\f05a"; +} +.icon-screenshot:before { + content: "\f05b"; +} +.icon-remove-circle:before { + content: "\f05c"; +} +.icon-ok-circle:before { + content: "\f05d"; +} +.icon-ban-circle:before { + content: "\f05e"; +} +.icon-arrow-left:before { + content: "\f060"; +} +.icon-arrow-right:before { + content: "\f061"; +} +.icon-arrow-up:before { + content: "\f062"; +} +.icon-arrow-down:before { + content: "\f063"; +} +.icon-share-alt:before { + content: "\f064"; +} +.icon-resize-full:before { + content: "\f065"; +} +.icon-resize-small:before { + content: "\f066"; +} +.icon-plus:before { + content: "\f067"; +} +.icon-minus:before { + content: "\f068"; +} +.icon-asterisk:before { + content: "\f069"; +} +.icon-exclamation-sign:before { + content: "\f06a"; +} +.icon-gift:before { + content: "\f06b"; +} +.icon-leaf:before { + content: "\f06c"; +} +.icon-fire:before { + content: "\f06d"; +} +.icon-eye-open:before { + content: "\f06e"; +} +.icon-eye-close:before { + content: "\f070"; +} +.icon-warning-sign:before { + content: "\f071"; +} +.icon-plane:before { + content: "\f072"; +} +.icon-calendar:before { + content: "\f073"; +} +.icon-random:before { + content: "\f074"; +} +.icon-comment:before { + content: "\f075"; +} +.icon-magnet:before { + content: "\f076"; +} +.icon-chevron-up:before { + content: "\f077"; +} +.icon-chevron-down:before { + content: "\f078"; +} +.icon-retweet:before { + content: "\f079"; +} +.icon-shopping-cart:before { + content: "\f07a"; +} +.icon-folder-close:before { + content: "\f07b"; +} +.icon-folder-open:before { + content: "\f07c"; +} +.icon-resize-vertical:before { + content: "\f07d"; +} +.icon-resize-horizontal:before { + content: "\f07e"; +} +.icon-bar-chart:before { + content: "\f080"; +} +.icon-twitter-sign:before { + content: "\f081"; +} +.icon-facebook-sign:before { + content: "\f082"; +} +.icon-camera-retro:before { + content: "\f083"; +} +.icon-key:before { + content: "\f084"; +} +.icon-cogs:before { + content: "\f085"; +} +.icon-comments:before { + content: "\f086"; +} +.icon-thumbs-up:before { + content: "\f087"; +} +.icon-thumbs-down:before { + content: "\f088"; +} +.icon-star-half:before { + content: "\f089"; +} +.icon-heart-empty:before { + content: "\f08a"; +} +.icon-signout:before { + content: "\f08b"; +} +.icon-linkedin-sign:before { + content: "\f08c"; +} +.icon-pushpin:before { + content: "\f08d"; +} +.icon-external-link:before { + content: "\f08e"; +} +.icon-signin:before { + content: "\f090"; +} +.icon-trophy:before { + content: "\f091"; +} +.icon-github-sign:before { + content: "\f092"; +} +.icon-upload-alt:before { + content: "\f093"; +} +.icon-lemon:before { + content: "\f094"; +} +.icon-phone:before { + content: "\f095"; +} +.icon-check-empty:before { + content: "\f096"; +} +.icon-bookmark-empty:before { + content: "\f097"; +} +.icon-phone-sign:before { + content: "\f098"; +} +.icon-twitter:before { + content: "\f099"; +} +.icon-facebook:before { + content: "\f09a"; +} +.icon-github:before { + content: "\f09b"; +} +.icon-unlock:before { + content: "\f09c"; +} +.icon-credit-card:before { + content: "\f09d"; +} +.icon-rss:before { + content: "\f09e"; +} +.icon-hdd:before { + content: "\f0a0"; +} +.icon-bullhorn:before { + content: "\f0a1"; +} +.icon-bell:before { + content: "\f0a2"; +} +.icon-certificate:before { + content: "\f0a3"; +} +.icon-hand-right:before { + content: "\f0a4"; +} +.icon-hand-left:before { + content: "\f0a5"; +} +.icon-hand-up:before { + content: "\f0a6"; +} +.icon-hand-down:before { + content: "\f0a7"; +} +.icon-circle-arrow-left:before { + content: "\f0a8"; +} +.icon-circle-arrow-right:before { + content: "\f0a9"; +} +.icon-circle-arrow-up:before { + content: "\f0aa"; +} +.icon-circle-arrow-down:before { + content: "\f0ab"; +} +.icon-globe:before { + content: "\f0ac"; +} +.icon-wrench:before { + content: "\f0ad"; +} +.icon-tasks:before { + content: "\f0ae"; +} +.icon-filter:before { + content: "\f0b0"; +} +.icon-briefcase:before { + content: "\f0b1"; +} +.icon-fullscreen:before { + content: "\f0b2"; +} +.icon-group:before { + content: "\f0c0"; +} +.icon-link:before { + content: "\f0c1"; +} +.icon-cloud:before { + content: "\f0c2"; +} +.icon-beaker:before { + content: "\f0c3"; +} +.icon-cut:before { + content: "\f0c4"; +} +.icon-copy:before { + content: "\f0c5"; +} +.icon-paper-clip:before { + content: "\f0c6"; +} +.icon-save:before { + content: "\f0c7"; +} +.icon-sign-blank:before { + content: "\f0c8"; +} +.icon-reorder:before { + content: "\f0c9"; +} +.icon-list-ul:before { + content: "\f0ca"; +} +.icon-list-ol:before { + content: "\f0cb"; +} +.icon-strikethrough:before { + content: "\f0cc"; +} +.icon-underline:before { + content: "\f0cd"; +} +.icon-table:before { + content: "\f0ce"; +} +.icon-magic:before { + content: "\f0d0"; +} +.icon-truck:before { + content: "\f0d1"; +} +.icon-pinterest:before { + content: "\f0d2"; +} +.icon-pinterest-sign:before { + content: "\f0d3"; +} +.icon-google-plus-sign:before { + content: "\f0d4"; +} +.icon-google-plus:before { + content: "\f0d5"; +} +.icon-money:before { + content: "\f0d6"; +} +.icon-caret-down:before { + content: "\f0d7"; +} +.icon-caret-up:before { + content: "\f0d8"; +} +.icon-caret-left:before { + content: "\f0d9"; +} +.icon-caret-right:before { + content: "\f0da"; +} +.icon-columns:before { + content: "\f0db"; +} +.icon-sort:before { + content: "\f0dc"; +} +.icon-sort-down:before { + content: "\f0dd"; +} +.icon-sort-up:before { + content: "\f0de"; +} +.icon-envelope-alt:before { + content: "\f0e0"; +} +.icon-linkedin:before { + content: "\f0e1"; +} +.icon-undo:before { + content: "\f0e2"; +} +.icon-legal:before { + content: "\f0e3"; +} +.icon-dashboard:before { + content: "\f0e4"; +} +.icon-comment-alt:before { + content: "\f0e5"; +} +.icon-comments-alt:before { + content: "\f0e6"; +} +.icon-bolt:before { + content: "\f0e7"; +} +.icon-sitemap:before { + content: "\f0e8"; +} +.icon-umbrella:before { + content: "\f0e9"; +} +.icon-paste:before { + content: "\f0ea"; +} +.icon-lightbulb:before { + content: "\f0eb"; +} +.icon-exchange:before { + content: "\f0ec"; +} +.icon-cloud-download:before { + content: "\f0ed"; +} +.icon-cloud-upload:before { + content: "\f0ee"; +} +.icon-user-md:before { + content: "\f0f0"; +} +.icon-stethoscope:before { + content: "\f0f1"; +} +.icon-suitcase:before { + content: "\f0f2"; +} +.icon-bell-alt:before { + content: "\f0f3"; +} +.icon-coffee:before { + content: "\f0f4"; +} +.icon-food:before { + content: "\f0f5"; +} +.icon-file-alt:before { + content: "\f0f6"; +} +.icon-building:before { + content: "\f0f7"; +} +.icon-hospital:before { + content: "\f0f8"; +} +.icon-ambulance:before { + content: "\f0f9"; +} +.icon-medkit:before { + content: "\f0fa"; +} +.icon-fighter-jet:before { + content: "\f0fb"; +} +.icon-beer:before { + content: "\f0fc"; +} +.icon-h-sign:before { + content: "\f0fd"; +} +.icon-plus-sign-alt:before { + content: "\f0fe"; +} +.icon-double-angle-left:before { + content: "\f100"; +} +.icon-double-angle-right:before { + content: "\f101"; +} +.icon-double-angle-up:before { + content: "\f102"; +} +.icon-double-angle-down:before { + content: "\f103"; +} +.icon-angle-left:before { + content: "\f104"; +} +.icon-angle-right:before { + content: "\f105"; +} +.icon-angle-up:before { + content: "\f106"; +} +.icon-angle-down:before { + content: "\f107"; +} +.icon-desktop:before { + content: "\f108"; +} +.icon-laptop:before { + content: "\f109"; +} +.icon-tablet:before { + content: "\f10a"; +} +.icon-mobile-phone:before { + content: "\f10b"; +} +.icon-circle-blank:before { + content: "\f10c"; +} +.icon-quote-left:before { + content: "\f10d"; +} +.icon-quote-right:before { + content: "\f10e"; +} +.icon-spinner:before { + content: "\f110"; +} +.icon-circle:before { + content: "\f111"; +} +.icon-reply:before { + content: "\f112"; +} +.icon-github-alt:before { + content: "\f113"; +} +.icon-folder-close-alt:before { + content: "\f114"; +} +.icon-folder-open-alt:before { + content: "\f115"; +} +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 10.998px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #999999; +} +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.badge { + padding-left: 9px; + padding-right: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} +a.label:hover, +a.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.label-important, +.badge-important { + background-color: #b94a48; +} +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} +.label-warning, +.badge-warning { + background-color: #f89406; +} +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} +.label-success, +.badge-success { + background-color: #468847; +} +.label-success[href], +.badge-success[href] { + background-color: #356635; +} +.label-info, +.badge-info { + background-color: #3a87ad; +} +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} +.label-inverse, +.badge-inverse { + background-color: #3a3a3a; +} +.label-inverse[href], +.badge-inverse[href] { + background-color: #212121; +} +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} +.btn-mini .label, +.btn-mini .badge { + top: 0; +} diff --git a/css/flexslider.css b/css/flexslider.css new file mode 100644 index 0000000..ad3298e --- /dev/null +++ b/css/flexslider.css @@ -0,0 +1,59 @@ + + + +.flexslider .slides > li + {display: none;position:relative} /* Hide the slides before the JS is loaded. Avoids image jumping */ +.flex-pauseplay span {text-transform: capitalize;} +/* Clearfix for the .slides element */ +.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;} + +html[xmlns] .slides {display: block;} +* html .slides {height: 1%;} + +.flexslider { + margin:0; + position:relative; +} + + +.flex-caption { + z-index:10; + position:relative; + background: rgba(0, 0, 0, 0.7); + color: #fff; + position: absolute; + bottom: 0; + left: 0; + width: 100%; +} + +.flex-caption p{ + padding:12px; +} + +.flexslider .slides +{ +list-style: none outside none; + margin:0;} +/* Control Nav */ + +.flexslider .flex-direction-nav{display:none} + +.flexslider .flex-control-paging{margin:0;position:absolute;top:-27px;right:0;overflow:hidden} +.flexslider .flex-control-paging li{float:left;margin:0 0 0 3px;overflow:hidden;padding:0;line-height:0} +.flexslider .flex-control-paging li a{ +overflow:hidden; +text-indent:-1000px; +font-size:0;line-height:0; +margin:0;padding:0; +cursor:pointer; + display:block;background:url(../img/pags.png) no-repeat 0 0;width:18px;height:17px;display:block} +.flexslider .flex-control-paging li a:hover, +.flexslider .flex-control-paging li a.flex-active +{background-position:0 bottom} + + +@media only screen and (min-width: 768px) and (max-width: 995px) { + +} + diff --git a/css/font-awesome.css b/css/font-awesome.css new file mode 100644 index 0000000..42f0986 --- /dev/null +++ b/css/font-awesome.css @@ -0,0 +1,1039 @@ +/*! + * Font Awesome 3.0.2 + * the iconic font designed for use with Twitter Bootstrap + * ------------------------------------------------------- + * The full suite of pictographic icons, examples, and documentation + * can be found at: http://fortawesome.github.com/Font-Awesome/ + * + * License + * ------------------------------------------------------- + * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + * http://opensource.org/licenses/mit-license.html + * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + * Contact + * ------------------------------------------------------- + * Email: dave@davegandy.com + * Twitter: http://twitter.com/fortaweso_me + * Work: Lead Product Designer @ http://kyruus.com + */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=3.0.1'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=3.0.1') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); + font-weight: normal; + font-style: normal; +} +/* Font Awesome styles + ------------------------------------------------------- */ +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + /* sprites.less reset */ + + display: inline; + width: auto; + height: auto; + line-height: normal; + vertical-align: baseline; + background-image: none; + background-position: 0% 0%; + background-repeat: repeat; + margin-top: 0; +} +/* more sprites.less reset */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: none; +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} +/* makes sure icons active on rollover in links */ +a [class^="icon-"], +a [class*=" icon-"] { + display: inline-block; +} +/* makes the font 33% larger relative to the icon container */ +.icon-large:before { + vertical-align: -10%; + font-size: 1.3333333333333333em; +} +.btn [class^="icon-"], +.nav [class^="icon-"], +.btn [class*=" icon-"], +.nav [class*=" icon-"] { + display: inline; + /* keeps button heights with and without icons the same */ + +} +.btn [class^="icon-"].icon-large, +.nav [class^="icon-"].icon-large, +.btn [class*=" icon-"].icon-large, +.nav [class*=" icon-"].icon-large { + line-height: .9em; +} +.btn [class^="icon-"].icon-spin, +.nav [class^="icon-"].icon-spin, +.btn [class*=" icon-"].icon-spin, +.nav [class*=" icon-"].icon-spin { + display: inline-block; +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"] { + /* keeps button heights with and without icons the same */ + +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"], +.nav-tabs [class^="icon-"].icon-large, +.nav-pills [class^="icon-"].icon-large, +.nav-tabs [class*=" icon-"].icon-large, +.nav-pills [class*=" icon-"].icon-large { + line-height: .9em; +} +li [class^="icon-"], +.nav li [class^="icon-"], +li [class*=" icon-"], +.nav li [class*=" icon-"] { + display: inline-block; + width: 1.25em; + text-align: center; +} +li [class^="icon-"].icon-large, +.nav li [class^="icon-"].icon-large, +li [class*=" icon-"].icon-large, +.nav li [class*=" icon-"].icon-large { + /* increased font size for icon-large */ + + width: 1.5625em; +} +ul.icons { + list-style-type: none; + text-indent: -0.75em; +} +ul.icons li [class^="icon-"], +ul.icons li [class*=" icon-"] { + width: .75em; +} +.icon-muted { + color: #eeeeee; +} +.icon-border { + border: solid 1px #eeeeee; + padding: .2em .25em .15em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.icon-2x { + font-size: 2em; +} +.icon-2x.icon-border { + border-width: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.icon-3x { + font-size: 3em; +} +.icon-3x.icon-border { + border-width: 3px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.icon-4x { + font-size: 4em; +} +.icon-4x.icon-border { + border-width: 4px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +[class^="icon-"].pull-left, +[class*=" icon-"].pull-left { + margin-right: .3em; +} +[class^="icon-"].pull-right, +[class*=" icon-"].pull-right { + margin-left: .3em; +} +.btn [class^="icon-"].pull-left.icon-2x, +.btn [class*=" icon-"].pull-left.icon-2x, +.btn [class^="icon-"].pull-right.icon-2x, +.btn [class*=" icon-"].pull-right.icon-2x { + margin-top: .18em; +} +.btn [class^="icon-"].icon-spin.icon-large, +.btn [class*=" icon-"].icon-spin.icon-large { + line-height: .8em; +} +.btn.btn-small [class^="icon-"].pull-left.icon-2x, +.btn.btn-small [class*=" icon-"].pull-left.icon-2x, +.btn.btn-small [class^="icon-"].pull-right.icon-2x, +.btn.btn-small [class*=" icon-"].pull-right.icon-2x { + margin-top: .25em; +} +.btn.btn-large [class^="icon-"], +.btn.btn-large [class*=" icon-"] { + margin-top: 0; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x, +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-top: .05em; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x { + margin-right: .2em; +} +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-left: .2em; +} +.icon-spin { + display: inline-block; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -ms-transform: rotate(0deg); + } + 100% { + -ms-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +@-moz-document url-prefix() { + .icon-spin { + height: .9em; + } + .btn .icon-spin { + height: auto; + } + .icon-spin.icon-large { + height: 1.25em; + } + .btn .icon-spin.icon-large { + height: .75em; + } +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.icon-glass:before { + content: "\f000"; +} +.icon-music:before { + content: "\f001"; +} +.icon-search:before { + content: "\f002"; +} +.icon-envelope:before { + content: "\f003"; +} +.icon-heart:before { + content: "\f004"; +} +.icon-star:before { + content: "\f005"; +} +.icon-star-empty:before { + content: "\f006"; +} +.icon-user:before { + content: "\f007"; +} +.icon-film:before { + content: "\f008"; +} +.icon-th-large:before { + content: "\f009"; +} +.icon-th:before { + content: "\f00a"; +} +.icon-th-list:before { + content: "\f00b"; +} +.icon-ok:before { + content: "\f00c"; +} +.icon-remove:before { + content: "\f00d"; +} +.icon-zoom-in:before { + content: "\f00e"; +} +.icon-zoom-out:before { + content: "\f010"; +} +.icon-off:before { + content: "\f011"; +} +.icon-signal:before { + content: "\f012"; +} +.icon-cog:before { + content: "\f013"; +} +.icon-trash:before { + content: "\f014"; +} +.icon-home:before { + content: "\f015"; +} +.icon-file:before { + content: "\f016"; +} +.icon-time:before { + content: "\f017"; +} +.icon-road:before { + content: "\f018"; +} +.icon-download-alt:before { + content: "\f019"; +} +.icon-download:before { + content: "\f01a"; +} +.icon-upload:before { + content: "\f01b"; +} +.icon-inbox:before { + content: "\f01c"; +} +.icon-play-circle:before { + content: "\f01d"; +} +.icon-repeat:before { + content: "\f01e"; +} +/* \f020 doesn't work in Safari. all shifted one down */ +.icon-refresh:before { + content: "\f021"; +} +.icon-list-alt:before { + content: "\f022"; +} +.icon-lock:before { + content: "\f023"; +} +.icon-flag:before { + content: "\f024"; +} +.icon-headphones:before { + content: "\f025"; +} +.icon-volume-off:before { + content: "\f026"; +} +.icon-volume-down:before { + content: "\f027"; +} +.icon-volume-up:before { + content: "\f028"; +} +.icon-qrcode:before { + content: "\f029"; +} +.icon-barcode:before { + content: "\f02a"; +} +.icon-tag:before { + content: "\f02b"; +} +.icon-tags:before { + content: "\f02c"; +} +.icon-book:before { + content: "\f02d"; +} +.icon-bookmark:before { + content: "\f02e"; +} +.icon-print:before { + content: "\f02f"; +} +.icon-camera:before { + content: "\f030"; +} +.icon-font:before { + content: "\f031"; +} +.icon-bold:before { + content: "\f032"; +} +.icon-italic:before { + content: "\f033"; +} +.icon-text-height:before { + content: "\f034"; +} +.icon-text-width:before { + content: "\f035"; +} +.icon-align-left:before { + content: "\f036"; +} +.icon-align-center:before { + content: "\f037"; +} +.icon-align-right:before { + content: "\f038"; +} +.icon-align-justify:before { + content: "\f039"; +} +.icon-list:before { + content: "\f03a"; +} +.icon-indent-left:before { + content: "\f03b"; +} +.icon-indent-right:before { + content: "\f03c"; +} +.icon-facetime-video:before { + content: "\f03d"; +} +.icon-picture:before { + content: "\f03e"; +} +.icon-pencil:before { + content: "\f040"; +} +.icon-map-marker:before { + content: "\f041"; +} +.icon-adjust:before { + content: "\f042"; +} +.icon-tint:before { + content: "\f043"; +} +.icon-edit:before { + content: "\f044"; +} +.icon-share:before { + content: "\f045"; +} +.icon-check:before { + content: "\f046"; +} +.icon-move:before { + content: "\f047"; +} +.icon-step-backward:before { + content: "\f048"; +} +.icon-fast-backward:before { + content: "\f049"; +} +.icon-backward:before { + content: "\f04a"; +} +.icon-play:before { + content: "\f04b"; +} +.icon-pause:before { + content: "\f04c"; +} +.icon-stop:before { + content: "\f04d"; +} +.icon-forward:before { + content: "\f04e"; +} +.icon-fast-forward:before { + content: "\f050"; +} +.icon-step-forward:before { + content: "\f051"; +} +.icon-eject:before { + content: "\f052"; +} +.icon-chevron-left:before { + content: "\f053"; +} +.icon-chevron-right:before { + content: "\f054"; +} +.icon-plus-sign:before { + content: "\f055"; +} +.icon-minus-sign:before { + content: "\f056"; +} +.icon-remove-sign:before { + content: "\f057"; +} +.icon-ok-sign:before { + content: "\f058"; +} +.icon-question-sign:before { + content: "\f059"; +} +.icon-info-sign:before { + content: "\f05a"; +} +.icon-screenshot:before { + content: "\f05b"; +} +.icon-remove-circle:before { + content: "\f05c"; +} +.icon-ok-circle:before { + content: "\f05d"; +} +.icon-ban-circle:before { + content: "\f05e"; +} +.icon-arrow-left:before { + content: "\f060"; +} +.icon-arrow-right:before { + content: "\f061"; +} +.icon-arrow-up:before { + content: "\f062"; +} +.icon-arrow-down:before { + content: "\f063"; +} +.icon-share-alt:before { + content: "\f064"; +} +.icon-resize-full:before { + content: "\f065"; +} +.icon-resize-small:before { + content: "\f066"; +} +.icon-plus:before { + content: "\f067"; +} +.icon-minus:before { + content: "\f068"; +} +.icon-asterisk:before { + content: "\f069"; +} +.icon-exclamation-sign:before { + content: "\f06a"; +} +.icon-gift:before { + content: "\f06b"; +} +.icon-leaf:before { + content: "\f06c"; +} +.icon-fire:before { + content: "\f06d"; +} +.icon-eye-open:before { + content: "\f06e"; +} +.icon-eye-close:before { + content: "\f070"; +} +.icon-warning-sign:before { + content: "\f071"; +} +.icon-plane:before { + content: "\f072"; +} +.icon-calendar:before { + content: "\f073"; +} +.icon-random:before { + content: "\f074"; +} +.icon-comment:before { + content: "\f075"; +} +.icon-magnet:before { + content: "\f076"; +} +.icon-chevron-up:before { + content: "\f077"; +} +.icon-chevron-down:before { + content: "\f078"; +} +.icon-retweet:before { + content: "\f079"; +} +.icon-shopping-cart:before { + content: "\f07a"; +} +.icon-folder-close:before { + content: "\f07b"; +} +.icon-folder-open:before { + content: "\f07c"; +} +.icon-resize-vertical:before { + content: "\f07d"; +} +.icon-resize-horizontal:before { + content: "\f07e"; +} +.icon-bar-chart:before { + content: "\f080"; +} +.icon-twitter-sign:before { + content: "\f081"; +} +.icon-facebook-sign:before { + content: "\f082"; +} +.icon-camera-retro:before { + content: "\f083"; +} +.icon-key:before { + content: "\f084"; +} +.icon-cogs:before { + content: "\f085"; +} +.icon-comments:before { + content: "\f086"; +} +.icon-thumbs-up:before { + content: "\f087"; +} +.icon-thumbs-down:before { + content: "\f088"; +} +.icon-star-half:before { + content: "\f089"; +} +.icon-heart-empty:before { + content: "\f08a"; +} +.icon-signout:before { + content: "\f08b"; +} +.icon-linkedin-sign:before { + content: "\f08c"; +} +.icon-pushpin:before { + content: "\f08d"; +} +.icon-external-link:before { + content: "\f08e"; +} +.icon-signin:before { + content: "\f090"; +} +.icon-trophy:before { + content: "\f091"; +} +.icon-github-sign:before { + content: "\f092"; +} +.icon-upload-alt:before { + content: "\f093"; +} +.icon-lemon:before { + content: "\f094"; +} +.icon-phone:before { + content: "\f095"; +} +.icon-check-empty:before { + content: "\f096"; +} +.icon-bookmark-empty:before { + content: "\f097"; +} +.icon-phone-sign:before { + content: "\f098"; +} +.icon-twitter:before { + content: "\f099"; +} +.icon-facebook:before { + content: "\f09a"; +} +.icon-github:before { + content: "\f09b"; +} +.icon-unlock:before { + content: "\f09c"; +} +.icon-credit-card:before { + content: "\f09d"; +} +.icon-rss:before { + content: "\f09e"; +} +.icon-hdd:before { + content: "\f0a0"; +} +.icon-bullhorn:before { + content: "\f0a1"; +} +.icon-bell:before { + content: "\f0a2"; +} +.icon-certificate:before { + content: "\f0a3"; +} +.icon-hand-right:before { + content: "\f0a4"; +} +.icon-hand-left:before { + content: "\f0a5"; +} +.icon-hand-up:before { + content: "\f0a6"; +} +.icon-hand-down:before { + content: "\f0a7"; +} +.icon-circle-arrow-left:before { + content: "\f0a8"; +} +.icon-circle-arrow-right:before { + content: "\f0a9"; +} +.icon-circle-arrow-up:before { + content: "\f0aa"; +} +.icon-circle-arrow-down:before { + content: "\f0ab"; +} +.icon-globe:before { + content: "\f0ac"; +} +.icon-wrench:before { + content: "\f0ad"; +} +.icon-tasks:before { + content: "\f0ae"; +} +.icon-filter:before { + content: "\f0b0"; +} +.icon-briefcase:before { + content: "\f0b1"; +} +.icon-fullscreen:before { + content: "\f0b2"; +} +.icon-group:before { + content: "\f0c0"; +} +.icon-link:before { + content: "\f0c1"; +} +.icon-cloud:before { + content: "\f0c2"; +} +.icon-beaker:before { + content: "\f0c3"; +} +.icon-cut:before { + content: "\f0c4"; +} +.icon-copy:before { + content: "\f0c5"; +} +.icon-paper-clip:before { + content: "\f0c6"; +} +.icon-save:before { + content: "\f0c7"; +} +.icon-sign-blank:before { + content: "\f0c8"; +} +.icon-reorder:before { + content: "\f0c9"; +} +.icon-list-ul:before { + content: "\f0ca"; +} +.icon-list-ol:before { + content: "\f0cb"; +} +.icon-strikethrough:before { + content: "\f0cc"; +} +.icon-underline:before { + content: "\f0cd"; +} +.icon-table:before { + content: "\f0ce"; +} +.icon-magic:before { + content: "\f0d0"; +} +.icon-truck:before { + content: "\f0d1"; +} +.icon-pinterest:before { + content: "\f0d2"; +} +.icon-pinterest-sign:before { + content: "\f0d3"; +} +.icon-google-plus-sign:before { + content: "\f0d4"; +} +.icon-google-plus:before { + content: "\f0d5"; +} +.icon-money:before { + content: "\f0d6"; +} +.icon-caret-down:before { + content: "\f0d7"; +} +.icon-caret-up:before { + content: "\f0d8"; +} +.icon-caret-left:before { + content: "\f0d9"; +} +.icon-caret-right:before { + content: "\f0da"; +} +.icon-columns:before { + content: "\f0db"; +} +.icon-sort:before { + content: "\f0dc"; +} +.icon-sort-down:before { + content: "\f0dd"; +} +.icon-sort-up:before { + content: "\f0de"; +} +.icon-envelope-alt:before { + content: "\f0e0"; +} +.icon-linkedin:before { + content: "\f0e1"; +} +.icon-undo:before { + content: "\f0e2"; +} +.icon-legal:before { + content: "\f0e3"; +} +.icon-dashboard:before { + content: "\f0e4"; +} +.icon-comment-alt:before { + content: "\f0e5"; +} +.icon-comments-alt:before { + content: "\f0e6"; +} +.icon-bolt:before { + content: "\f0e7"; +} +.icon-sitemap:before { + content: "\f0e8"; +} +.icon-umbrella:before { + content: "\f0e9"; +} +.icon-paste:before { + content: "\f0ea"; +} +.icon-lightbulb:before { + content: "\f0eb"; +} +.icon-exchange:before { + content: "\f0ec"; +} +.icon-cloud-download:before { + content: "\f0ed"; +} +.icon-cloud-upload:before { + content: "\f0ee"; +} +.icon-user-md:before { + content: "\f0f0"; +} +.icon-stethoscope:before { + content: "\f0f1"; +} +.icon-suitcase:before { + content: "\f0f2"; +} +.icon-bell-alt:before { + content: "\f0f3"; +} +.icon-coffee:before { + content: "\f0f4"; +} +.icon-food:before { + content: "\f0f5"; +} +.icon-file-alt:before { + content: "\f0f6"; +} +.icon-building:before { + content: "\f0f7"; +} +.icon-hospital:before { + content: "\f0f8"; +} +.icon-ambulance:before { + content: "\f0f9"; +} +.icon-medkit:before { + content: "\f0fa"; +} +.icon-fighter-jet:before { + content: "\f0fb"; +} +.icon-beer:before { + content: "\f0fc"; +} +.icon-h-sign:before { + content: "\f0fd"; +} +.icon-plus-sign-alt:before { + content: "\f0fe"; +} +.icon-double-angle-left:before { + content: "\f100"; +} +.icon-double-angle-right:before { + content: "\f101"; +} +.icon-double-angle-up:before { + content: "\f102"; +} +.icon-double-angle-down:before { + content: "\f103"; +} +.icon-angle-left:before { + content: "\f104"; +} +.icon-angle-right:before { + content: "\f105"; +} +.icon-angle-up:before { + content: "\f106"; +} +.icon-angle-down:before { + content: "\f107"; +} +.icon-desktop:before { + content: "\f108"; +} +.icon-laptop:before { + content: "\f109"; +} +.icon-tablet:before { + content: "\f10a"; +} +.icon-mobile-phone:before { + content: "\f10b"; +} +.icon-circle-blank:before { + content: "\f10c"; +} +.icon-quote-left:before { + content: "\f10d"; +} +.icon-quote-right:before { + content: "\f10e"; +} +.icon-spinner:before { + content: "\f110"; +} +.icon-circle:before { + content: "\f111"; +} +.icon-reply:before { + content: "\f112"; +} +.icon-github-alt:before { + content: "\f113"; +} +.icon-folder-close-alt:before { + content: "\f114"; +} +.icon-folder-open-alt:before { + content: "\f115"; +} diff --git a/css/ie.css b/css/ie.css new file mode 100644 index 0000000..d51d6d1 --- /dev/null +++ b/css/ie.css @@ -0,0 +1,3 @@ +.item-price:before { + left: -13px !important; + } \ No newline at end of file diff --git a/css/prettify.css b/css/prettify.css new file mode 100644 index 0000000..279c23b --- /dev/null +++ b/css/prettify.css @@ -0,0 +1,30 @@ +.com { color: #93a1a1; } +.lit { color: #195f91; } +.pun, .opn, .clo { color: #1e347b; } +.fun { color: #dc322f; } +.str, .atv { color: #D14; } +.kwd, .prettyprint .tag { color: #1e347b; } +.typ, .atn, .dec, .var { color: #000; } +.pln { color: #1e347b; } + +.prettyprint { + padding: 8px; + background-color: #f5f5f5; + border: 1px solid #ccc; +} +.prettyprint.linenums { + -webkit-box-shadow: inset 40px 0 0 #f9f9f9, inset 41px 0 0 #ccc; + -moz-box-shadow: inset 40px 0 0 #f9f9f9, inset 41px 0 0 #ccc; + box-shadow: inset 40px 0 0 #f9f9f9, inset 41px 0 0 #ccc; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin: 0 0 0 33px; /* IE indents via margin-left */ +} +ol.linenums li { + padding-left: 12px; + color: #bebec5; + line-height: 20px; + text-shadow: 0 1px 0 #fff; +} \ No newline at end of file diff --git a/css/prettyPhoto.css b/css/prettyPhoto.css new file mode 100644 index 0000000..f63f007 --- /dev/null +++ b/css/prettyPhoto.css @@ -0,0 +1,529 @@ +/* ------------------------------------------------------------------------ + This you can edit. +------------------------------------------------------------------------- */ + + /* ---------------------------------- + Default Theme + ----------------------------------- */ + + div.pp_default .pp_top, + div.pp_default .pp_top .pp_middle, + div.pp_default .pp_top .pp_left, + div.pp_default .pp_top .pp_right, + div.pp_default .pp_bottom, + div.pp_default .pp_bottom .pp_left, + div.pp_default .pp_bottom .pp_middle, + div.pp_default .pp_bottom .pp_right { height: 13px; } + + div.pp_default .pp_top .pp_left { background: url(../img/prettyPhoto/default/sprite.png) -78px -93px no-repeat; } /* Top left corner */ + div.pp_default .pp_top .pp_middle { background: url(../img/prettyPhoto/default/sprite_x.png) top left repeat-x; } /* Top pattern/color */ + div.pp_default .pp_top .pp_right { background: url(../img/prettyPhoto/default/sprite.png) -112px -93px no-repeat; } /* Top right corner */ + + div.pp_default .pp_content .ppt { color: #f8f8f8; } + div.pp_default .pp_content_container .pp_left { background: url(../img/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y; padding-left: 13px; } + div.pp_default .pp_content_container .pp_right { background: url(../img/prettyPhoto/default/sprite_y.png) top right repeat-y; padding-right: 13px; } + div.pp_default .pp_content { background-color: #fff; } /* Content background */ + div.pp_default .pp_next:hover { background: url(../img/prettyPhoto/default/sprite_next.png) center right no-repeat; cursor: pointer; } /* Next button */ + div.pp_default .pp_previous:hover { background: url(../img/prettyPhoto/default/sprite_prev.png) center left no-repeat; cursor: pointer; } /* Previous button */ + div.pp_default .pp_expand { background: url(../img/prettyPhoto/default/sprite.png) 0 -29px no-repeat; cursor: pointer; width: 28px; height: 28px; } /* Expand button */ + div.pp_default .pp_expand:hover { background: url(../img/prettyPhoto/default/sprite.png) 0 -56px no-repeat; cursor: pointer; } /* Expand button hover */ + div.pp_default .pp_contract { background: url(../img/prettyPhoto/default/sprite.png) 0 -84px no-repeat; cursor: pointer; width: 28px; height: 28px; } /* Contract button */ + div.pp_default .pp_contract:hover { background: url(../img/prettyPhoto/default/sprite.png) 0 -113px no-repeat; cursor: pointer; } /* Contract button hover */ + div.pp_default .pp_close { width: 30px; height: 30px; background: url(../img/prettyPhoto/default/sprite.png) 2px 1px no-repeat; cursor: pointer; } /* Close button */ + div.pp_default #pp_full_res .pp_inline { color: #000; } + div.pp_default .pp_gallery ul li a { background: url(../img/prettyPhoto/default/default_thumb.png) center center #f8f8f8; border:1px solid #aaa; } + div.pp_default .pp_gallery ul li a:hover, + div.pp_default .pp_gallery ul li.selected a { border-color: #fff; } + + div.pp_default .pp_gallery a.pp_arrow_previous, + div.pp_default .pp_gallery a.pp_arrow_next { position: static; left: auto; } + div.pp_default .pp_nav .pp_play, + div.pp_default .pp_nav .pp_pause { background: url(../img/prettyPhoto/default/sprite.png) -51px 1px no-repeat; height:30px; width:30px; } + div.pp_default .pp_nav .pp_pause { background-position: -51px -29px; } + div.pp_default .pp_details { position: relative; } + div.pp_default a.pp_arrow_previous, + div.pp_default a.pp_arrow_next { background: url(../img/prettyPhoto/default/sprite.png) -31px -3px no-repeat; height: 20px; margin: 4px 0 0 0; width: 20px; } + div.pp_default a.pp_arrow_next { left: 52px; background-position: -82px -3px; } /* The next arrow in the bottom nav */ + div.pp_default .pp_content_container .pp_details { margin-top: 5px; } + div.pp_default .pp_nav { clear: none; height: 30px; width: 105px; position: relative; } + div.pp_default .pp_nav .currentTextHolder{ font-family: Georgia; font-style: italic; color:#999; font-size: 11px; left: 75px; line-height: 25px; margin: 0; padding: 0 0 0 10px; position: absolute; top: 2px; } + + div.pp_default .pp_close:hover, div.pp_default .pp_nav .pp_play:hover, div.pp_default .pp_nav .pp_pause:hover, div.pp_default .pp_arrow_next:hover, div.pp_default .pp_arrow_previous:hover { opacity:0.7; } + + div.pp_default .pp_description{ font-size: 11px; font-weight: bold; line-height: 14px; margin: 5px 50px 5px 0; } + + div.pp_default .pp_bottom .pp_left { background: url(../img/prettyPhoto/default/sprite.png) -78px -127px no-repeat; } /* Bottom left corner */ + div.pp_default .pp_bottom .pp_middle { background: url(../img/prettyPhoto/default/sprite_x.png) bottom left repeat-x; } /* Bottom pattern/color */ + div.pp_default .pp_bottom .pp_right { background: url(../img/prettyPhoto/default/sprite.png) -112px -127px no-repeat; } /* Bottom right corner */ + + div.pp_default .pp_loaderIcon { background: url(../img/prettyPhoto/default/loader.gif) center center no-repeat; } /* Loader icon */ + + + /* ---------------------------------- + Light Rounded Theme + ----------------------------------- */ + + + div.light_rounded .pp_top .pp_left { background: url(../img/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat; } /* Top left corner */ + div.light_rounded .pp_top .pp_middle { background: #fff; } /* Top pattern/color */ + div.light_rounded .pp_top .pp_right { background: url(../img/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat; } /* Top right corner */ + + div.light_rounded .pp_content .ppt { color: #000; } + div.light_rounded .pp_content_container .pp_left, + div.light_rounded .pp_content_container .pp_right { background: #fff; } + div.light_rounded .pp_content { background-color: #fff; } /* Content background */ + div.light_rounded .pp_next:hover { background: url(../img/prettyPhoto/light_rounded/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */ + div.light_rounded .pp_previous:hover { background: url(../img/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ + div.light_rounded .pp_expand { background: url(../img/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ + div.light_rounded .pp_expand:hover { background: url(../img/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ + div.light_rounded .pp_contract { background: url(../img/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ + div.light_rounded .pp_contract:hover { background: url(../img/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ + div.light_rounded .pp_close { width: 75px; height: 22px; background: url(../img/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ + div.light_rounded .pp_details { position: relative; } + div.light_rounded .pp_description { margin-right: 85px; } + div.light_rounded #pp_full_res .pp_inline { color: #000; } + div.light_rounded .pp_gallery a.pp_arrow_previous, + div.light_rounded .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } + div.light_rounded .pp_nav .pp_play { background: url(../img/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } + div.light_rounded .pp_nav .pp_pause { background: url(../img/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } + + div.light_rounded .pp_arrow_previous { background: url(../img/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ + div.light_rounded .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } + div.light_rounded .pp_arrow_next { background: url(../img/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ + div.light_rounded .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } + + div.light_rounded .pp_bottom .pp_left { background: url(../img/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */ + div.light_rounded .pp_bottom .pp_middle { background: #fff; } /* Bottom pattern/color */ + div.light_rounded .pp_bottom .pp_right { background: url(../img/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */ + + div.light_rounded .pp_loaderIcon { background: url(../img/prettyPhoto/light_rounded/loader.gif) center center no-repeat; } /* Loader icon */ + + /* ---------------------------------- + Dark Rounded Theme + ----------------------------------- */ + + div.dark_rounded .pp_top .pp_left { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat; } /* Top left corner */ + div.dark_rounded .pp_top .pp_middle { background: url(../img/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Top pattern/color */ + div.dark_rounded .pp_top .pp_right { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat; } /* Top right corner */ + + div.dark_rounded .pp_content_container .pp_left { background: url(../img/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y; } /* Left Content background */ + div.dark_rounded .pp_content_container .pp_right { background: url(../img/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y; } /* Right Content background */ + div.dark_rounded .pp_content { background: url(../img/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Content background */ + div.dark_rounded .pp_next:hover { background: url(../img/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */ + div.dark_rounded .pp_previous:hover { background: url(../img/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ + div.dark_rounded .pp_expand { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ + div.dark_rounded .pp_expand:hover { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ + div.dark_rounded .pp_contract { background: url(../img/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ + div.dark_rounded .pp_contract:hover { background: url(../img/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ + div.dark_rounded .pp_close { width: 75px; height: 22px; background: url(../img/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ + div.dark_rounded .pp_details { position: relative; } + div.dark_rounded .pp_description { margin-right: 85px; } + div.dark_rounded .currentTextHolder { color: #c4c4c4; } + div.dark_rounded .pp_description { color: #fff; } + div.dark_rounded #pp_full_res .pp_inline { color: #fff; } + div.dark_rounded .pp_gallery a.pp_arrow_previous, + div.dark_rounded .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } + div.dark_rounded .pp_nav .pp_play { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } + div.dark_rounded .pp_nav .pp_pause { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } + + div.dark_rounded .pp_arrow_previous { background: url(../img/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ + div.dark_rounded .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } + div.dark_rounded .pp_arrow_next { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ + div.dark_rounded .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } + + div.dark_rounded .pp_bottom .pp_left { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */ + div.dark_rounded .pp_bottom .pp_middle { background: url(../img/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Bottom pattern/color */ + div.dark_rounded .pp_bottom .pp_right { background: url(../img/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */ + + div.dark_rounded .pp_loaderIcon { background: url(../img/prettyPhoto/dark_rounded/loader.gif) center center no-repeat; } /* Loader icon */ + + + /* ---------------------------------- + Dark Square Theme + ----------------------------------- */ + + div.dark_square .pp_left , + div.dark_square .pp_middle, + div.dark_square .pp_right, + div.dark_square .pp_content { background: #000; } + + div.dark_square .currentTextHolder { color: #c4c4c4; } + div.dark_square .pp_description { color: #fff; } + div.dark_square .pp_loaderIcon { background: url(../img/prettyPhoto/dark_square/loader.gif) center center no-repeat; } /* Loader icon */ + + div.dark_square .pp_expand { background: url(../img/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ + div.dark_square .pp_expand:hover { background: url(../img/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ + div.dark_square .pp_contract { background: url(../img/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ + div.dark_square .pp_contract:hover { background: url(../img/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ + div.dark_square .pp_close { width: 75px; height: 22px; background: url(../img/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ + div.dark_square .pp_details { position: relative; } + div.dark_square .pp_description { margin: 0 85px 0 0; } + div.dark_square #pp_full_res .pp_inline { color: #fff; } + div.dark_square .pp_gallery a.pp_arrow_previous, + div.dark_square .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } + div.dark_square .pp_nav { clear: none; } + div.dark_square .pp_nav .pp_play { background: url(../img/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } + div.dark_square .pp_nav .pp_pause { background: url(../img/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } + + div.dark_square .pp_arrow_previous { background: url(../img/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ + div.dark_square .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } + div.dark_square .pp_arrow_next { background: url(../img/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ + div.dark_square .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } + + div.dark_square .pp_next:hover { background: url(../img/prettyPhoto/dark_square/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */ + div.dark_square .pp_previous:hover { background: url(../img/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ + + + /* ---------------------------------- + Light Square Theme + ----------------------------------- */ + + div.light_square .pp_left , + div.light_square .pp_middle, + div.light_square .pp_right, + div.light_square .pp_content { background: #fff; } + + div.light_square .pp_content .ppt { color: #000; } + div.light_square .pp_expand { background: url(../img/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ + div.light_square .pp_expand:hover { background: url(../img/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ + div.light_square .pp_contract { background: url(../img/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ + div.light_square .pp_contract:hover { background: url(../img/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ + div.light_square .pp_close { width: 75px; height: 22px; background: url(../img/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ + div.light_square .pp_details { position: relative; } + div.light_square .pp_description { margin-right: 85px; } + div.light_square #pp_full_res .pp_inline { color: #000; } + div.light_square .pp_gallery a.pp_arrow_previous, + div.light_square .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } + div.light_square .pp_nav .pp_play { background: url(../img/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } + div.light_square .pp_nav .pp_pause { background: url(../img/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } + + div.light_square .pp_arrow_previous { background: url(../img/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ + div.light_square .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } + div.light_square .pp_arrow_next { background: url(../img/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ + div.light_square .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } + + div.light_square .pp_next:hover { background: url(../img/prettyPhoto/light_square/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */ + div.light_square .pp_previous:hover { background: url(../img/prettyPhoto/light_square/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ + + div.light_square .pp_loaderIcon { background: url(../img/prettyPhoto/light_rounded/loader.gif) center center no-repeat; } /* Loader icon */ + + + /* ---------------------------------- + Facebook style Theme + ----------------------------------- */ + + div.facebook .pp_top .pp_left { background: url(../img/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat; } /* Top left corner */ + div.facebook .pp_top .pp_middle { background: url(../img/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x; } /* Top pattern/color */ + div.facebook .pp_top .pp_right { background: url(../img/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat; } /* Top right corner */ + + div.facebook .pp_content .ppt { color: #000; } + div.facebook .pp_content_container .pp_left { background: url(../img/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y; } /* Content background */ + div.facebook .pp_content_container .pp_right { background: url(../img/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y; } /* Content background */ + div.facebook .pp_content { background: #fff; } /* Content background */ + div.facebook .pp_expand { background: url(../img/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ + div.facebook .pp_expand:hover { background: url(../img/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ + div.facebook .pp_contract { background: url(../img/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ + div.facebook .pp_contract:hover { background: url(../img/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ + div.facebook .pp_close { width: 22px; height: 22px; background: url(../img/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ + div.facebook .pp_details { position: relative; } + div.facebook .pp_description { margin: 0 37px 0 0; } + div.facebook #pp_full_res .pp_inline { color: #000; } + div.facebook .pp_loaderIcon { background: url(../img/prettyPhoto/facebook/loader.gif) center center no-repeat; } /* Loader icon */ + + div.facebook .pp_arrow_previous { background: url(../img/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat; height: 22px; margin-top: 0; width: 22px; } /* The previous arrow in the bottom nav */ + div.facebook .pp_arrow_previous.disabled { background-position: 0 -96px; cursor: default; } + div.facebook .pp_arrow_next { background: url(../img/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat; height: 22px; margin-top: 0; width: 22px; } /* The next arrow in the bottom nav */ + div.facebook .pp_arrow_next.disabled { background-position: -32px -96px; cursor: default; } + div.facebook .pp_nav { margin-top: 0; } + div.facebook .pp_nav p { font-size: 15px; padding: 0 3px 0 4px; color:#383838;} + div.facebook .pp_nav .pp_play { background: url(../img/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat; height: 22px; width: 22px; } + div.facebook .pp_nav .pp_pause { background: url(../img/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat; height: 22px; width: 22px; } + + div.facebook .pp_next:hover { background: url(../img/prettyPhoto/facebook/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */ + div.facebook .pp_previous:hover { background: url(../img/prettyPhoto/facebook/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ + + div.facebook .pp_bottom .pp_left { background: url(../img/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */ + div.facebook .pp_bottom .pp_middle { background: url(../img/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x; } /* Bottom pattern/color */ + div.facebook .pp_bottom .pp_right { background: url(../img/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */ + + +/* ------------------------------------------------------------------------ + DO NOT CHANGE +------------------------------------------------------------------------- */ + + div.pp_pic_holder a:focus { outline:none; } + + div.pp_overlay { + background: #000; + display: none; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 9500; + } + + div.pp_pic_holder { + display: none; + position: absolute; + width: 100px; + z-index: 10000; + } + + + .pp_top { + height: 20px; + position: relative; + } + * html .pp_top { padding: 0 20px; } + + .pp_top .pp_left { + height: 20px; + left: 0; + position: absolute; + width: 20px; + } + .pp_top .pp_middle { + height: 20px; + left: 20px; + position: absolute; + right: 20px; + } + * html .pp_top .pp_middle { + left: 0; + position: static; + } + + .pp_top .pp_right { + height: 20px; + left: auto; + position: absolute; + right: 0; + top: 0; + width: 20px; + } + + .pp_content { height: 40px; min-width: 40px; } + * html .pp_content { width: 40px; } + + .pp_fade { display: none; } + + .pp_content_container { + position: relative; + text-align: left; + width: 100%; + } + + .pp_content_container .pp_left { padding-left: 20px; } + .pp_content_container .pp_right { padding-right: 20px; } + + .pp_content_container .pp_details { + float: left; + margin: 10px 0 2px 0; + } + .pp_description { + display: none; + margin: 0; + } + + .pp_social { float: left; margin: 7px 0 0 0; } + .pp_social .facebook { float: left; position: relative; top: -1px; margin-left: 5px; width: 55px; overflow: hidden; } + .pp_social .twitter { float: left; } + + .pp_nav { + clear: right; + float: left; + margin: 3px 10px 0 0; + } + + .pp_nav p { + float: left; + margin: 2px 4px; + } + + .pp_nav .pp_play, + .pp_nav .pp_pause { + float: left; + margin-right: 4px; + text-indent: -10000px; + } + + a.pp_arrow_previous, + a.pp_arrow_next { + display: block; + float: left; + height: 15px; + margin-top: 3px; + overflow: hidden; + text-indent: -10000px; + width: 14px; + } + + .pp_hoverContainer { + position: absolute; + top: 0; + width: 100%; + z-index: 2000; + } + + .pp_gallery { + display: none; + left: 50%; + margin-top: -50px; + position: absolute; + z-index: 10000; + } + + .pp_gallery div { + float: left; + overflow: hidden; + position: relative; + } + + .pp_gallery ul { + float: left; + height: 35px; + margin: 0 0 0 5px; + padding: 0; + position: relative; + white-space: nowrap; + } + + .pp_gallery ul a { + border: 1px #000 solid; + border: 1px rgba(0,0,0,0.5) solid; + display: block; + float: left; + height: 33px; + overflow: hidden; + } + + .pp_gallery ul a:hover, + .pp_gallery li.selected a { border-color: #fff; } + + .pp_gallery ul a img { border: 0; } + + .pp_gallery li { + display: block; + float: left; + margin: 0 5px 0 0; + padding: 0; + } + + .pp_gallery li.default a { + background: url(../img/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat; + display: block; + height: 33px; + width: 50px; + } + + .pp_gallery li.default a img { display: none; } + + .pp_gallery .pp_arrow_previous, + .pp_gallery .pp_arrow_next { + margin-top: 7px !important; + + } + + a.pp_next { + background: url(../img/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat; + display: none; + float: right; + height: 100%; + text-indent: -10000px; + width: 49%; + } + + a.pp_previous { + background: url(../img/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat; + display: none; + float: left; + height: 100%; + text-indent: -10000px; + width: 49%; + } + + a.pp_expand, + a.pp_contract { + cursor: pointer; + display: none; + height: 20px; + position: absolute; + right: 30px; + text-indent: -10000px; + top: 10px; + width: 20px; + z-index: 20000; + } + + a.pp_close { + position: absolute; right: 0; top: 0; + display: block; + line-height:22px; + text-indent: -10000px; + } + + .pp_bottom { + height: 20px; + position: relative; + } + * html .pp_bottom { padding: 0 20px; } + + .pp_bottom .pp_left { + height: 20px; + left: 0; + position: absolute; + width: 20px; + } + .pp_bottom .pp_middle { + height: 20px; + left: 20px; + position: absolute; + right: 20px; + } + * html .pp_bottom .pp_middle { + left: 0; + position: static; + } + + .pp_bottom .pp_right { + height: 20px; + left: auto; + position: absolute; + right: 0; + top: 0; + width: 20px; + } + + .pp_loaderIcon { + display: block; + height: 24px; + left: 50%; + margin: -12px 0 0 -12px; + position: absolute; + top: 50%; + width: 24px; + } + + #pp_full_res { + line-height: 1 !important; + } + + #pp_full_res .pp_inline { + text-align: left; + } + + #pp_full_res .pp_inline p { margin: 0 0 15px 0; } + + div.ppt { + color: #fff; + display: none; + font-size: 17px; + margin: 0 0 5px 15px; + z-index: 9999; + } + +/* ------------------------------------------------------------------------ + Miscellaneous +------------------------------------------------------------------------- */ + diff --git a/css/responsive-utilities.css b/css/responsive-utilities.css new file mode 100644 index 0000000..20f23d1 --- /dev/null +++ b/css/responsive-utilities.css @@ -0,0 +1,58 @@ +@-ms-viewport { + width: device-width; +} +.hidden { + display: none; + visibility: hidden; +} +.visible-phone { + display: none !important; +} +.visible-tablet { + display: none !important; +} +.hidden-desktop { + display: none !important; +} +.visible-desktop { + display: inherit !important; +} +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } +} +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: inherit !important; + } + .hidden-print { + display: none !important; + } +} diff --git a/css/responsive.css b/css/responsive.css new file mode 100644 index 0000000..957cb9c --- /dev/null +++ b/css/responsive.css @@ -0,0 +1,600 @@ +/*! + * Bootstrap Responsive v2.3.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +@-ms-viewport { + width: device-width; +} +.hidden { + display: none; + visibility: hidden; +} +.visible-phone { + display: none !important; +} +.visible-tablet { + display: none !important; +} +.hidden-desktop { + display: none !important; +} +.visible-desktop { + display: inherit !important; +} +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } +} +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: inherit !important; + } + .hidden-print { + display: none !important; + } +} +@media (min-width: 1200px) { + .row { + margin-left: -30px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 30px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 1170px; + } + .span12 { + width: 1170px; + } + .span11 { + width: 1070px; + } + .span10 { + width: 970px; + } + .span9 { + width: 870px; + } + .span8 { + width: 770px; + } + .span7 { + width: 670px; + } + .span6 { + width: 570px; + } + .span5 { + width: 470px; + } + .span4 { + width: 370px; + } + .span3 { + width: 270px; + } + .span2 { + width: 170px; + } + .span1 { + width: 70px; + } + .offset12 { + margin-left: 1230px; + } + .offset11 { + margin-left: 1130px; + } + .offset10 { + margin-left: 1030px; + } + .offset9 { + margin-left: 930px; + } + .offset8 { + margin-left: 830px; + } + .offset7 { + margin-left: 730px; + } + .offset6 { + margin-left: 630px; + } + .offset5 { + margin-left: 530px; + } + .offset4 { + margin-left: 430px; + } + .offset3 { + margin-left: 330px; + } + .offset2 { + margin-left: 230px; + } + .offset1 { + margin-left: 130px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + content: ""; + line-height: 0; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + margin-left: 2.564102564102564%; + *margin-left: 2.5109110747408616%; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.564102564102564%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.45299145299145%; + *width: 91.39979996362975%; + } + .row-fluid .span10 { + width: 82.90598290598291%; + *width: 82.8527914166212%; + } + .row-fluid .span9 { + width: 74.35897435897436%; + *width: 74.30578286961266%; + } + .row-fluid .span8 { + width: 65.81196581196582%; + *width: 65.75877432260411%; + } + .row-fluid .span7 { + width: 57.26495726495726%; + *width: 57.21176577559556%; + } + .row-fluid .span6 { + width: 48.717948717948715%; + *width: 48.664757228587014%; + } + .row-fluid .span5 { + width: 40.17094017094017%; + *width: 40.11774868157847%; + } + .row-fluid .span4 { + width: 31.623931623931625%; + *width: 31.570740134569924%; + } + .row-fluid .span3 { + width: 23.076923076923077%; + *width: 23.023731587561375%; + } + .row-fluid .span2 { + width: 14.52991452991453%; + *width: 14.476723040552828%; + } + .row-fluid .span1 { + width: 5.982905982905983%; + *width: 5.929714493544281%; + } + .row-fluid .offset12 { + margin-left: 105.12820512820512%; + *margin-left: 105.02182214948171%; + } + .row-fluid .offset12:first-child { + margin-left: 102.56410256410257%; + *margin-left: 102.45771958537915%; + } + .row-fluid .offset11 { + margin-left: 96.58119658119658%; + *margin-left: 96.47481360247316%; + } + .row-fluid .offset11:first-child { + margin-left: 94.01709401709402%; + *margin-left: 93.91071103837061%; + } + .row-fluid .offset10 { + margin-left: 88.03418803418803%; + *margin-left: 87.92780505546462%; + } + .row-fluid .offset10:first-child { + margin-left: 85.47008547008548%; + *margin-left: 85.36370249136206%; + } + .row-fluid .offset9 { + margin-left: 79.48717948717949%; + *margin-left: 79.38079650845607%; + } + .row-fluid .offset9:first-child { + margin-left: 76.92307692307693%; + *margin-left: 76.81669394435352%; + } + .row-fluid .offset8 { + margin-left: 70.94017094017094%; + *margin-left: 70.83378796144753%; + } + .row-fluid .offset8:first-child { + margin-left: 68.37606837606839%; + *margin-left: 68.26968539734497%; + } + .row-fluid .offset7 { + margin-left: 62.393162393162385%; + *margin-left: 62.28677941443899%; + } + .row-fluid .offset7:first-child { + margin-left: 59.82905982905982%; + *margin-left: 59.72267685033642%; + } + .row-fluid .offset6 { + margin-left: 53.84615384615384%; + *margin-left: 53.739770867430444%; + } + .row-fluid .offset6:first-child { + margin-left: 51.28205128205128%; + *margin-left: 51.175668303327875%; + } + .row-fluid .offset5 { + margin-left: 45.299145299145295%; + *margin-left: 45.1927623204219%; + } + .row-fluid .offset5:first-child { + margin-left: 42.73504273504273%; + *margin-left: 42.62865975631933%; + } + .row-fluid .offset4 { + margin-left: 36.75213675213675%; + *margin-left: 36.645753773413354%; + } + .row-fluid .offset4:first-child { + margin-left: 34.18803418803419%; + *margin-left: 34.081651209310785%; + } + .row-fluid .offset3 { + margin-left: 28.205128205128204%; + *margin-left: 28.0987452264048%; + } + .row-fluid .offset3:first-child { + margin-left: 25.641025641025642%; + *margin-left: 25.53464266230224%; + } + .row-fluid .offset2 { + margin-left: 19.65811965811966%; + *margin-left: 19.551736679396257%; + } + .row-fluid .offset2:first-child { + margin-left: 17.094017094017094%; + *margin-left: 16.98763411529369%; + } + .row-fluid .offset1 { + margin-left: 11.11111111111111%; + *margin-left: 11.004728132387708%; + } + .row-fluid .offset1:first-child { + margin-left: 8.547008547008547%; + *margin-left: 8.440625568285142%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 30px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 1156px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 1056px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 956px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 856px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 756px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 656px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 556px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 456px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 356px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 256px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 156px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 56px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 18px; + } + .navbar-fixed-bottom { + margin-top: 18px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 9px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .nav > li > a:focus, + .nav-collapse .dropdown-menu a:hover, + .nav-collapse .dropdown-menu a:focus { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .nav > li > a:focus, + .navbar-inverse .nav-collapse .dropdown-menu a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:focus { + background-color: #111111; + } + .nav-collapse.in .btn-group { + margin-top: 5px; + padding: 0; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: none; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .open > .dropdown-menu { + display: block; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 9px 15px; + margin: 9px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + overflow: hidden; + height: 0; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } +} +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..d136006 --- /dev/null +++ b/css/style.css @@ -0,0 +1,703 @@ +/*Core variables and mixins*/ +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.clear { + clear:both; + display:block; + overflow:hidden; + visibility:hidden; + width:0; + height:0; +} +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +ul { + list-style-type: none; +} +*, +a:focus { + outline: none !important; +} +#content { + min-width: 980px; +} +.clearfix { + overflow: hidden; +} +.clearfix ul { + margin-left: 0; +} +/*------ template stylization ------*/ +body { + min-width: 767px; + color: #666666; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + line-height: 1em; + color: inherit; + text-rendering: optimizelegibility; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} +h1 { + font-size: 30px; + line-height: 1.1em; + color: #3a3a3a; +} +h2 { + color: #000000; + font-size: 27px; + font-weight: normal; + padding: 39px 0 19px; +} +h2 small { + font-size: 14px; +} +h3 { + color: #999999; + font-size: 24px; + font-weight: normal; + padding: 34px 0 29px; +} +h4 { + font-size: 16px; + line-height: 18px; + color: #000000; + font-weight: normal; + padding: 30px 0 18px; +} +h6 { + font-weight: bold; + color: #010101; + font-size: 13px; + margin: 0; + padding: 19px 0 2px; +} +h5 { + margin: 0 0 10px; + line-height: 18px; + font-size: 13px; +} +code.prettyprint, +pre.prettyprint { + background: #f5f5f5 !important; + border: 1px solid #cecece !important; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 10px !important; + -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); +} +.container-fluid { + max-width: 1170px; + margin: 0 auto; +} +ol { + list-style-position: inside; +} +.btn { + background: #fafafa; + display: inline-block; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1), inset 0px 0px 1px #ffffff; + -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1), inset 0px 0px 1px #ffffff; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1), inset 0px 0px 1px #ffffff; + font-size: 13px; + line-height: 1em; + color: #3a3a3a; + font-weight: bold; + text-decoration: none; + padding: 9px 16px 10px 16px; + margin: 0; + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} +.top-indent { + margin-top: 20px; +} +p { + padding-bottom: 9px; + margin: 0; +} +.overfow { + overflow: hidden; +} +.img-indent { + float: left; + margin: 13px 30px 27px 0; +} +.img-indent1 { + margin: 0; + display: inline-block; +} +.img-indent2 { + margin: 30px 0 0 ; +} +figure.img-polaroid { + text-align: center; + display: block; + margin-left: auto; + margin-right: auto; +} +.img-container { + display: block; + text-align: center; +} +.link-1 { + text-decoration: underline; +} +.link-1:hover { + text-decoration: none; +} +p strong { + color: #010101; +} +/*------ header ------- */ +header { + background: #fcfcfc; + padding: 14px 0 17px; +} +header h1 { + margin: 2px 0 0 67px; +} +header h1 a { + color: #3a3a3a; +} +header .brand { + text-indent: -1000px; + background: url(../img/logo-monster.jpg) no-repeat 0 0; + width: 274px; + height: 48px; + display: block; +} +/*------ content ------- */ +#content { + background: url(../img/tail-content.gif); + border-top: 1px solid #e1e1e1; + border-bottom: 1px solid #d7d7d7; + padding-bottom: 36px; +} +#content .bg-content-top { + background: url(../img/tail-content-top.gif) repeat-x 0 0; + padding-top: 44px; +} +#content ul { + list-style: none; +} +/*------ bs-docs-sidenav ------- */ +#nav_container { + background: #ffffff; + border-top: 1px solid #ccc; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.1); + padding-bottom: 18px; +} +#affect_all { + padding: 2px 0 8px 0; + float: none; + text-align: center; + color: #666666; + display: block; + height: 12px; + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} +#affect_all:hover { + color: #0179c6; +} +#affect_all i:before { + font-size: 18px; +} +#affect_all .close, +#affect_all .expand { + position: relative; +} +#affect_all .close { + display: none; +} +#nav_container { + width: 270px; +} +.bs-docs-sidenav.affix, +#nav_container.affix { + top: 40px; +} +#content .bs-docs-sidenav li a { + width: inherit; +} +.bs-docs-sidenav { + width: 100%; + margin: 0; + padding: 0; + background-color: #ffffff; +} +.bs-docs-sidenav > li { + border-top: 1px solid #dfdfdf; + padding: 0; +} +.bs-docs-sidenav li dt a:hover, +.bs-docs-sidenav li.current > a { + text-shadow: none; + color: #3a3a3a; +} +.bs-docs-sidenav li dt { + overflow: hidden; + position: relative; +} +.bs-docs-sidenav li dt:hover { + background: #f5f5f5; +} +.bs-docs-sidenav li dt a { + font-family: Arial, Helvetica, sans-serif; + display: block; + width: inherit; +} +.bs-docs-sidenav li dt a:before { + font-family: 'FontAwesome'; +} +.bs-docs-sidenav li dt i { + float: right; + margin-right: 12px; + font-size: 10px; + font-weight: normal; + color: #999999; + display: block; + position: relative; + z-index: 20; + padding: 5px; + top: 7px; + cursor: pointer; +} +.bs-docs-sidenav li dt i:before { + content: "\f067"; +} +.bs-docs-sidenav li dt a { + float: left; +} +.bs-docs-sidenav li.act_item dt { + background: #f5f5f5; +} +.bs-docs-sidenav li.act_item dt a:before { + color: #0179c6; +} +.bs-docs-sidenav li.open_item dt i:before { + content: "\f068"; +} +.bs-docs-sidenav li.current .slide-down dd { + display: block; +} +.bs-docs-sidenav .slide-down dd { + display: none; +} +.bs-docs-sidenav .slide-down { + margin: 0; +} +.bs-docs-sidenav .slide-down dd { + margin: 0; +} +.bs-docs-sidenav > li:first-child { + border: none; +} +.bs-docs-sidenav li dt a, +.bs-docs-sidenav > li > a { + padding: 10px 0 10px 43px; + display: block; + font-weight: bold; + margin: 0; + position: relative; + font-size: 13px; + color: #3a3a3a; +} +.bs-docs-sidenav li dt a:before, +.bs-docs-sidenav > li > a:before { + position: absolute; + left: 14px; + font-size: 20px; + -webkit-font-smoothing: antialiased; +} +.bs-docs-sidenav li.first dt { + border-top: 1px solid #dfdfdf; +} +.bs-docs-sidenav li.last dt { + border-bottom: 1px solid #dfdfdf; +} +.bs-docs-sidenav .list { + margin: 0; + padding: 8px 0 6px 20px ; +} +.bs-docs-sidenav .list li { + padding: 0 20px 10px 7px; +} +.bs-docs-sidenav .list li a i { + margin-right: 8px; +} +.bs-docs-sidenav .list li a i:before { + content: "\f0da"; + font-size: 12px; + color: #999999; +} +.bs-docs-sidenav .list li.current a, +.bs-docs-sidenav .list li.current i:before { + color: #0179c6; + background: none; +} +.bs-docs-sidenav .list li.current a:hover, +.bs-docs-sidenav .list li.current i:before:hover { + color: #000; +} +.bs-docs-sidenav .list a { + color: #3a3a3a; +} +.bs-docs-sidenav .list a:hover { + color: #000; +} +.bs-docs-sidenav .list a:hover i:before { + color: #000; +} +#content .bs-docs-sidenav li a { + text-align: left; +} +#content .bs-docs-sidenav li dt i.icon-sample { + position: absolute; + top: 8px; + right: 0; +} +/*------ box-conten ------- */ +.box-content { + border-top: 1px solid #ccc; + background-color: #ffffff; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.1); +} +.box-content section { + padding: 0 33px 25px; + border-bottom: 1px solid #cccccc; +} +#mod_table .module { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 10px; +} +#mod_table .module:nth-child(even) { + background: #f5f5f5; +} +.files_structure li i { + color: #999999; +} +#section-2 { + padding: 7px 48px 71px 33px; +} +.img-paraloid { + text-align: center; + padding: 5px; + background: #f5f5f5; + border: 1px solid #cecece; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -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); +} +span.img-paraloid { + display: inline-block; + margin: 10px 0; +} +.pull-left.img-paraloid { + margin-top: 0; + margin-right: 25px; +} +.list-1 { + margin: 10px 0 0 ; + list-style: decimal; + padding-left: 20px; +} +.list-1 li { + line-height: 18px; + padding-bottom: 6px; +} +.list-1 strong { + color: #010101; +} +.box-info, +.box-error, +.box-notification, +.box-success { + position: relative; + margin-bottom: 18px; + padding: 15px 30px 15px 74px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + min-height: 74px; +} +.box-info span, +.box-error span, +.box-notification span, +.box-success span { + font-size: 15px; + line-height: 20px; + color: #ffffff; + vertical-align: middle; + display: table-cell; + height: 40px; +} +.box-info:before, +.box-error:before, +.box-notification:before, +.box-success:before { + position: absolute; + top: 15px; + left: 15px; + width: 43px; + height: 44px; + content: ""; +} +.box-info a, +.box-error a, +.box-notification a, +.box-success a { + color: #fff; + text-decoration: underline; +} +.box-info a:hover, +.box-error a:hover, +.box-notification a:hover, +.box-success a:hover { + text-decoration: none; +} +.box-info { + background-color: #307dc0; + background-image: -moz-linear-gradient(top, #3383c8, #2b74b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#3383c8), to(#2b74b4)); + background-image: -webkit-linear-gradient(top, #3383c8, #2b74b4); + background-image: -o-linear-gradient(top, #3383c8, #2b74b4); + background-image: linear-gradient(to bottom, #3383c8, #2b74b4); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3383c8', endColorstr='#ff2b74b4', GradientType=0); +} +.box-info:before { + background: url(../img/icon-1.png) no-repeat 0 0; +} +.box-error { + background-color: #c93737; + background-image: -moz-linear-gradient(top, #c93737, #c93737); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#c93737), to(#c93737)); + background-image: -webkit-linear-gradient(top, #c93737, #c93737); + background-image: -o-linear-gradient(top, #c93737, #c93737); + background-image: linear-gradient(to bottom, #c93737, #c93737); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc93737', endColorstr='#ffc93737', GradientType=0); + padding: 26px 30px 25px 74px; +} +.box-error:before { + background: url(../img/icon-2.png) no-repeat 0 0; + top: 25px; +} +.box-notification { + background-color: #fca106; + background-image: -moz-linear-gradient(top, #ffa800, #f8970f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffa800), to(#f8970f)); + background-image: -webkit-linear-gradient(top, #ffa800, #f8970f); + background-image: -o-linear-gradient(top, #ffa800, #f8970f); + background-image: linear-gradient(to bottom, #ffa800, #f8970f); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffa800', endColorstr='#fff8970f', GradientType=0); +} +.box-notification:before { + background: url(../img/icon-3.png) no-repeat 0 0; +} +.box-success { + background-color: #a1c831; + background-image: -moz-linear-gradient(top, #a8d149, #97ba0e); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#a8d149), to(#97ba0e)); + background-image: -webkit-linear-gradient(top, #a8d149, #97ba0e); + background-image: -o-linear-gradient(top, #a8d149, #97ba0e); + background-image: linear-gradient(to bottom, #a8d149, #97ba0e); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa8d149', endColorstr='#ff97ba0e', GradientType=0); +} +.box-success:before { + content: "\f00c"; + color: #fff; + font-size: 44px; + font-family: FontAwesome; + margin-top: 10px; +} +.btnDisabled { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.btnDisabled span { + background: url(../img/btn-size.png) no-repeat 50% 50%; + width: 45px; + height: 45px; + display: block; +} +.magnifier { + opacity: 1; + position: relative; + background: url(../img/tail-lightbox-hover.png); + height: auto; + display: block; + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.magnifier:after { + content: ''; + display: block; + width: 100%; + height: 100%; + position: absolute; + opacity: 0; + left: 0; + top: 0; + background: url(../img/btn-size.png) no-repeat 50% 50%; + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.magnifier:hover:after { + opacity: 1; +} +.iframe { + padding: 13px 0 0 82px; +} +footer { + text-align: center; + font-size: 13px; + line-height: 20px; + background: #ffffff; + padding: 30px 0 40px; +} +.list-2 { + margin-bottom: 15px; +} +@media (max-width: 1200px) { + #content #nav_container { + width: 220px; + } +} +.flexslider { + margin-top: 30px !important; + overflow: visible; +} +.flex-control-nav li { + text-indent: -1000px; +} +.margbot { + margin-bottom: 30px; +} +.pretty_image { + position: relative; +} +.pretty_image i { + display: block; + position: absolute; + top: -100px; + left: 50%; + width: 30px; + height: 30px; + font-size: 30px; + margin-left: -15px; + opacity: 0; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; + color: #0179c6; +} +.pretty_image:hover i { + top: 40%; + opacity: 0.9; +} +.indent_top { + padding-top: 8px; +} +/*======================= SCROLL TO TOP =======================*/ +#back-top { + position: fixed; + bottom: 20px; + right: 20px; + z-index: 99; +} +#back-top a { + width: 51px; + display: block; + /* transition */ + + -webkit-transition: 0.1s; + -moz-transition: 0.1s; + transition: 0.1s; + color: #666666; + background: #fff; + text-align: center; + border: 1px solid #dfdfdf; + height: 51px; +} +#back-top a:hover { + background: #f5f5f5; +} +#back-top a i { + line-height: 51px; + font-size: 27px; +} diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf new file mode 100644 index 0000000..64049bf Binary files /dev/null and b/fonts/FontAwesome.otf differ diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..7d81019 Binary files /dev/null and b/fonts/fontawesome-webfont.eot differ diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..ba0afe5 --- /dev/null +++ b/fonts/fontawesome-webfont.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..d461724 Binary files /dev/null and b/fonts/fontawesome-webfont.ttf differ diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..3c89ae0 Binary files /dev/null and b/fonts/fontawesome-webfont.woff differ diff --git a/fonts/icomoon.dev.svg b/fonts/icomoon.dev.svg new file mode 100644 index 0000000..5f10c4b --- /dev/null +++ b/fonts/icomoon.dev.svg @@ -0,0 +1,1451 @@ + + + + +This is a custom SVG font generated by IcoMoon. +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/icomoon.eot b/fonts/icomoon.eot new file mode 100644 index 0000000..1046ddb Binary files /dev/null and b/fonts/icomoon.eot differ diff --git a/fonts/icomoon.svg b/fonts/icomoon.svg new file mode 100644 index 0000000..5ac446c --- /dev/null +++ b/fonts/icomoon.svg @@ -0,0 +1,1451 @@ + + + + +This is a custom SVG font generated by IcoMoon. +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/icomoon.ttf b/fonts/icomoon.ttf new file mode 100644 index 0000000..3232e71 Binary files /dev/null and b/fonts/icomoon.ttf differ diff --git a/fonts/icomoon.woff b/fonts/icomoon.woff new file mode 100644 index 0000000..6b6117e Binary files /dev/null and b/fonts/icomoon.woff differ diff --git a/google-code-prettify/prettify.css b/google-code-prettify/prettify.css new file mode 100644 index 0000000..400fd74 --- /dev/null +++ b/google-code-prettify/prettify.css @@ -0,0 +1,52 @@ +/* Pretty printing styles. Used with prettify.js. */ + +/* SPAN elements with the classes below are added by prettyprint. */ +.pln { color: #000 } /* plain text */ + +@media screen { + .str { color: #080 } /* string content */ + .kwd { color: #008 } /* a keyword */ + .com { color: #800 } /* a comment */ + .typ { color: #606 } /* a type name */ + .lit { color: #066 } /* a literal value */ + /* punctuation, lisp open bracket, lisp close bracket */ + .pun, .opn, .clo { color: #660 } + .tag { color: #008 } /* a markup tag name */ + .atn { color: #606 } /* a markup attribute name */ + .atv { color: #080 } /* a markup attribute value */ + .dec, .var { color: #606 } /* a declaration; a variable name */ + .fun { color: red } /* a function name */ +} + +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { color: #060 } + .kwd { color: #006; font-weight: bold } + .com { color: #600; font-style: italic } + .typ { color: #404; font-weight: bold } + .lit { color: #044 } + .pun, .opn, .clo { color: #440 } + .tag { color: #006; font-weight: bold } + .atn { color: #404 } + .atv { color: #060 } +} + +/* Put a border around prettyprinted code snippets. */ +pre.prettyprint { padding: 2px; border: 1px solid #888 } + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */ +li.L0, +li.L1, +li.L2, +li.L3, +li.L5, +li.L6, +li.L7, +li.L8 { list-style-type: none } +/* Alternate shading for lines */ +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { background: #eee } diff --git a/google-code-prettify/prettify.js b/google-code-prettify/prettify.js new file mode 100644 index 0000000..10c9fb7 --- /dev/null +++ b/google-code-prettify/prettify.js @@ -0,0 +1,1655 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + * + *

+ * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window, define */
    +
    +/** @define {boolean} */
    +var IN_GLOBAL_SCOPE = true;
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/**
    + * Pretty print a chunk of code.
    + * @param {string} sourceCodeHtml The HTML to pretty print.
    + * @param {string} opt_langExtension The language name to use.
    + *     Typically, a filename extension like 'cpp' or 'java'.
    + * @param {number|boolean} opt_numberLines True to number lines,
    + *     or the 1-indexed number of the first line in sourceCodeHtml.
    + * @return {string} code as html, but prettier
    + */
    +var prettyPrintOne;
    +/**
    + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    + * {@code class=prettyprint} and prettify them.
    + *
    + * @param {Function} opt_whenDone called when prettifying is done.
    + * @param {HTMLElement|HTMLDocument} opt_root an element or document
    + *   containing all the elements to pretty print.
    + *   Defaults to {@code document.body}.
    + */
    +var prettyPrint;
    +
    +
    +(function () {
    +  var win = window;
    +  // Keyword lists for various languages.
    +  // We use things that coerce to strings to make them compact when minified
    +  // and to defeat aggressive optimizers that fold large string constants.
    +  var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
    +  var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," + 
    +      "double,enum,extern,float,goto,inline,int,long,register,short,signed," +
    +      "sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];
    +  var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
    +      "new,operator,private,protected,public,this,throw,true,try,typeof"];
    +  var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
    +      "concept,concept_map,const_cast,constexpr,decltype,delegate," +
    +      "dynamic_cast,explicit,export,friend,generic,late_check," +
    +      "mutable,namespace,nullptr,property,reinterpret_cast,static_assert," +
    +      "static_cast,template,typeid,typename,using,virtual,where"];
    +  var JAVA_KEYWORDS = [COMMON_KEYWORDS,
    +      "abstract,assert,boolean,byte,extends,final,finally,implements,import," +
    +      "instanceof,interface,null,native,package,strictfp,super,synchronized," +
    +      "throws,transient"];
    +  var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
    +      "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
    +      "fixed,foreach,from,group,implicit,in,internal,into,is,let," +
    +      "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," +
    +      "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," +
    +      "var,virtual,where"];
    +  var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
    +      "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
    +      "throw,true,try,unless,until,when,while,yes";
    +  var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
    +      "debugger,eval,export,function,get,null,set,undefined,var,with," +
    +      "Infinity,NaN"];
    +  var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," +
    +      "goto,if,import,last,local,my,next,no,our,print,package,redo,require," +
    +      "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
    +  var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
    +      "elif,except,exec,finally,from,global,import,in,is,lambda," +
    +      "nonlocal,not,or,pass,print,raise,try,with,yield," +
    +      "False,True,None"];
    +  var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
    +      "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
    +      "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
    +      "BEGIN,END"];
    +   var RUST_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "as,assert,const,copy,drop," +
    +      "enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv," +
    +      "pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"];
    +  var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
    +      "function,in,local,set,then,until"];
    +  var ALL_KEYWORDS = [
    +      CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS,
    +      PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS];
    +  var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/;
    +
    +  // token style names.  correspond to css classes
    +  /**
    +   * token style for a string literal
    +   * @const
    +   */
    +  var PR_STRING = 'str';
    +  /**
    +   * token style for a keyword
    +   * @const
    +   */
    +  var PR_KEYWORD = 'kwd';
    +  /**
    +   * token style for a comment
    +   * @const
    +   */
    +  var PR_COMMENT = 'com';
    +  /**
    +   * token style for a type
    +   * @const
    +   */
    +  var PR_TYPE = 'typ';
    +  /**
    +   * token style for a literal value.  e.g. 1, null, true.
    +   * @const
    +   */
    +  var PR_LITERAL = 'lit';
    +  /**
    +   * token style for a punctuation string.
    +   * @const
    +   */
    +  var PR_PUNCTUATION = 'pun';
    +  /**
    +   * token style for plain text.
    +   * @const
    +   */
    +  var PR_PLAIN = 'pln';
    +
    +  /**
    +   * token style for an sgml tag.
    +   * @const
    +   */
    +  var PR_TAG = 'tag';
    +  /**
    +   * token style for a markup declaration such as a DOCTYPE.
    +   * @const
    +   */
    +  var PR_DECLARATION = 'dec';
    +  /**
    +   * token style for embedded source.
    +   * @const
    +   */
    +  var PR_SOURCE = 'src';
    +  /**
    +   * token style for an sgml attribute name.
    +   * @const
    +   */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /**
    +   * token style for an sgml attribute value.
    +   * @const
    +   */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   * @const
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  
    +  
    +  /**
    +   * A set of tokens that can precede a regular expression literal in
    +   * javascript
    +   * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
    +   * has the full list, but I've removed ones that might be problematic when
    +   * seen in languages that don't support regular expression literals.
    +   *
    +   * <p>Specifically, I've removed any keywords that can't precede a regexp
    +   * literal in a syntactically legal javascript program, and I've removed the
    +   * "in" keyword since it's not a keyword in many languages, and might be used
    +   * as a count of inches.
    +   *
    +   * <p>The link above does not accurately describe EcmaScript rules since
    +   * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +   * very well in practice.
    +   *
    +   * @private
    +   * @const
    +   */
    +  var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
    +  
    +  // CAVEAT: this does not properly handle the case where a regular
    +  // expression immediately follows another since a regular expression may
    +  // have flags for case-sensitivity and the like.  Having regexp tokens
    +  // adjacent is not valid in any language I'm aware of, so I'm punting.
    +  // TODO: maybe style special characters inside a regexp as punctuation.
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union of the sets of strings matched by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +  
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +  
    +    var escapeCharToCodeUnit = {
    +      'b': 8,
    +      't': 9,
    +      'n': 0xa,
    +      'v': 0xb,
    +      'f': 0xc,
    +      'r': 0xd
    +    };
    +  
    +    function decodeEscape(charsetPart) {
    +      var cc0 = charsetPart.charCodeAt(0);
    +      if (cc0 !== 92 /* \\ */) {
    +        return cc0;
    +      }
    +      var c1 = charsetPart.charAt(1);
    +      cc0 = escapeCharToCodeUnit[c1];
    +      if (cc0) {
    +        return cc0;
    +      } else if ('0' <= c1 && c1 <= '7') {
    +        return parseInt(charsetPart.substring(1), 8);
    +      } else if (c1 === 'u' || c1 === 'x') {
    +        return parseInt(charsetPart.substring(2), 16);
    +      } else {
    +        return charsetPart.charCodeAt(1);
    +      }
    +    }
    +  
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      return (ch === '\\' || ch === '-' || ch === ']' || ch === '^')
    +          ? "\\" + ch : ch;
    +    }
    +  
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +  
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +  
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        if (/\\[bdsw]/i.test(p)) {  // Don't muck with named groups.
    +          out.push(p);
    +        } else {
    +          var start = decodeEscape(p);
    +          var end;
    +          if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +            end = decodeEscape(charsetParts[i + 2]);
    +            i += 2;
    +          } else {
    +            end = start;
    +          }
    +          ranges.push([start, end]);
    +          // If the range might intersect letters, then expand it.
    +          // This case handling is too simplistic.
    +          // It does not deal with non-latin case folding.
    +          // It works for latin source code identifiers though.
    +          if (!(end < 65 || start > 122)) {
    +            if (!(end < 65 || start > 90)) {
    +              ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +            }
    +            if (!(end < 97 || start > 122)) {
    +              ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +            }
    +          }
    +        }
    +      }
    +  
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +  
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +  
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/end of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +  
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +  
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue) {
    +            if (decimalValue <= groupIndex) {
    +              capturedGroups[decimalValue] = -1;
    +            } else {
    +              // Replace with an unambiguous escape sequence so that
    +              // an octal escape sequence does not turn into a backreference
    +              // to a capturing group from an earlier regex.
    +              parts[i] = encodeEscape(decimalValue);
    +            }
    +          }
    +        }
    +      }
    +  
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (!capturedGroups[groupIndex]) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[decimalValue];
    +          }
    +        }
    +      }
    +  
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +  
    +      // Expand letters to groups to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +  
    +      return parts.join('');
    +    }
    +  
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +  
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  /**
    +   * Split markup into a string of source code and an array mapping ranges in
    +   * that string to the text nodes in which they appear.
    +   *
    +   * <p>
    +   * The HTML DOM structure:</p>
    +   * <pre>
    +   * (Element   "p"
    +   *   (Element "b"
    +   *     (Text  "print "))       ; #1
    +   *   (Text    "'Hello '")      ; #2
    +   *   (Element "br")            ; #3
    +   *   (Text    "  + 'World';")) ; #4
    +   * </pre>
    +   * <p>
    +   * corresponds to the HTML
    +   * {@code <p><b>print </b>'Hello '<br>  + 'World';</p>}.</p>
    +   *
    +   * <p>
    +   * It will produce the output:</p>
    +   * <pre>
    +   * {
    +   *   sourceCode: "print 'Hello '\n  + 'World';",
    +   *   //                     1          2
    +   *   //           012345678901234 5678901234567
    +   *   spans: [0, #1, 6, #2, 14, #3, 15, #4]
    +   * }
    +   * </pre>
    +   * <p>
    +   * where #1 is a reference to the {@code "print "} text node above, and so
    +   * on for the other text nodes.
    +   * </p>
    +   *
    +   * <p>
    +   * The {@code} spans array is an array of pairs.  Even elements are the start
    +   * indices of substrings, and odd elements are the text nodes (or BR elements)
    +   * that contain the text for those substrings.
    +   * Substrings continue until the next index or the end of the source.
    +   * </p>
    +   *
    +   * @param {Node} node an HTML DOM subtree containing source-code.
    +   * @param {boolean} isPreformatted true if white-space in text nodes should
    +   *    be considered significant.
    +   * @return {Object} source code and the text nodes in which they occur.
    +   */
    +  function extractSourceSpans(node, isPreformatted) {
    +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    +  
    +    var chunks = [];
    +    var length = 0;
    +    var spans = [];
    +    var k = 0;
    +  
    +    function walk(node) {
    +      var type = node.nodeType;
    +      if (type == 1) {  // Element
    +        if (nocode.test(node.className)) { return; }
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          walk(child);
    +        }
    +        var nodeName = node.nodeName.toLowerCase();
    +        if ('br' === nodeName || 'li' === nodeName) {
    +          chunks[k] = '\n';
    +          spans[k << 1] = length++;
    +          spans[(k++ << 1) | 1] = node;
    +        }
    +      } else if (type == 3 || type == 4) {  // Text
    +        var text = node.nodeValue;
    +        if (text.length) {
    +          if (!isPreformatted) {
    +            text = text.replace(/[ \t\r\n]+/g, ' ');
    +          } else {
    +            text = text.replace(/\r\n?/g, '\n');  // Normalize newlines.
    +          }
    +          // TODO: handle tabs here?
    +          chunks[k] = text;
    +          spans[k << 1] = length;
    +          length += text.length;
    +          spans[(k++ << 1) | 1] = node;
    +        }
    +      }
    +    }
    +  
    +    walk(node);
    +  
    +    return {
    +      sourceCode: chunks.join('').replace(/\n$/, ''),
    +      spans: spans
    +    };
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      sourceCode: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  var notWs = /\S/;
    +
    +  /**
    +   * Given an element, if it contains only one child element and any text nodes
    +   * it contains contain only space characters, return the sole child element.
    +   * Otherwise returns undefined.
    +   * <p>
    +   * This is meant to return the CODE element in {@code <pre><code ...>} when
    +   * there is a single child element that contains all the non-space textual
    +   * content, but not to return anything where there are multiple child elements
    +   * as in {@code <pre><code>...</code><code>...</code></pre>} or when there
    +   * is textual content.
    +   */
    +  function childContentWrapper(element) {
    +    var wrapper = undefined;
    +    for (var c = element.firstChild; c; c = c.nextSibling) {
    +      var type = c.nodeType;
    +      wrapper = (type === 1)  // Element Node
    +          ? (wrapper ? element : c)
    +          : (type === 3)  // Text Node
    +          ? (notWs.test(c.nodeValue) ? element : wrapper)
    +          : wrapper;
    +    }
    +    return wrapper === element ? undefined : wrapper;
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +
    +    /**
    +     * Lexes job.sourceCode and produces an output array job.decorations of
    +     * style classes preceded by the position at which they start in
    +     * job.sourceCode in order.
    +     *
    +     * @param {Object} job an object like <pre>{
    +     *    sourceCode: {string} sourceText plain text,
    +     *    basePos: {int} position of job.sourceCode in the larger chunk of
    +     *        sourceCode.
    +     * }</pre>
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.sourceCode, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    var hc = options['hashComments'];
    +    if (hc) {
    +      if (options['cStyleComments']) {
    +        if (hc > 1) {  // multiline hash comments
    +          shortcutStylePatterns.push(
    +              [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
    +        } else {
    +          // Stop C preprocessor declarations at an unclosed open comment
    +          shortcutStylePatterns.push(
    +              [PR_COMMENT, /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +               null, '#']);
    +        }
    +        // #include <stdio.h>
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    var regexLiterals = options['regexLiterals'];
    +    if (regexLiterals) {
    +      /**
    +       * @const
    +       */
    +      var regexExcls = regexLiterals > 1
    +        ? ''  // Multiline regex literals
    +        : '\n\r';
    +      /**
    +       * @const
    +       */
    +      var regexAny = regexExcls ? '.' : '[\\S\\s]';
    +      /**
    +       * @const
    +       */
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*' + regexExcls + '])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C' + regexExcls + ']'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C' + regexAny
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D' + regexExcls + ']'
    +          +             '|\\x5C' + regexAny + ')*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var types = options['types'];
    +    if (types) {
    +      fallthroughStylePatterns.push([PR_TYPE, types]);
    +    }
    +
    +    var keywords = ("" + options['keywords']).replace(/^ | $/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'),
    +           null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +
    +    var punctuation =
    +      // The Bash man page says
    +
    +      // A word is a sequence of characters considered as a single
    +      // unit by GRUB. Words are separated by metacharacters,
    +      // which are the following plus space, tab, and newline: { }
    +      // | & $ ; < >
    +      // ...
    +      
    +      // A word beginning with # causes that word and all remaining
    +      // characters on that line to be ignored.
    +
    +      // which means that only a '#' after /(?:^|[{}|&$;<>\s])/ starts a
    +      // comment but empirically
    +      // $ echo {#}
    +      // {#}
    +      // $ echo \$#
    +      // $#
    +      // $ echo }#
    +      // }#
    +
    +      // so /(?:^|[|&;<>\s])/ is more appropriate.
    +
    +      // http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC3
    +      // suggests that this definition is compatible with a
    +      // default mode that tries to use a single token definition
    +      // to recognize both bash/python style comments and C
    +      // preprocessor directives.
    +
    +      // This definition of punctuation does not include # in the list of
    +      // follow-on exclusions, so # will not be broken before if preceeded
    +      // by a punctuation character.  We could try to exclude # after
    +      // [|&;<>] but that doesn't seem to cause many major problems.
    +      // If that does turn out to be a problem, we should change the below
    +      // when hc is truthy to include # in the run of punctuation characters
    +      // only when not followint [|&;<>].
    +      '^.[^\\s\\w.$@\'"`/\\\\]*';
    +    if (options['regexLiterals']) {
    +      punctuation += '(?!\s*\/)';
    +    }
    +
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        // Don't treat escaped quotes in bash as starting strings.
    +        // See issue 144.
    +        [PR_PLAIN,       /^\\[\s\S]?/, null],
    +        [PR_PUNCTUATION, new RegExp(punctuation), null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /**
    +   * Given a DOM subtree, wraps it in a list, and puts each line into its own
    +   * list item.
    +   *
    +   * @param {Node} node modified in place.  Its content is pulled into an
    +   *     HTMLOListElement, and each line is moved into a separate list item.
    +   *     This requires cloning elements, so the input might not have unique
    +   *     IDs after numbering.
    +   * @param {boolean} isPreformatted true iff white-space in text nodes should
    +   *     be treated as significant.
    +   */
    +  function numberLines(node, opt_startLineNum, isPreformatted) {
    +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    +    var lineBreak = /\r\n?|\n/;
    +  
    +    var document = node.ownerDocument;
    +  
    +    var li = document.createElement('li');
    +    while (node.firstChild) {
    +      li.appendChild(node.firstChild);
    +    }
    +    // An array of lines.  We split below, so this is initialized to one
    +    // un-split line.
    +    var listItems = [li];
    +  
    +    function walk(node) {
    +      var type = node.nodeType;
    +      if (type == 1 && !nocode.test(node.className)) {  // Element
    +        if ('br' === node.nodeName) {
    +          breakAfter(node);
    +          // Discard the <BR> since it is now flush against a </LI>.
    +          if (node.parentNode) {
    +            node.parentNode.removeChild(node);
    +          }
    +        } else {
    +          for (var child = node.firstChild; child; child = child.nextSibling) {
    +            walk(child);
    +          }
    +        }
    +      } else if ((type == 3 || type == 4) && isPreformatted) {  // Text
    +        var text = node.nodeValue;
    +        var match = text.match(lineBreak);
    +        if (match) {
    +          var firstLine = text.substring(0, match.index);
    +          node.nodeValue = firstLine;
    +          var tail = text.substring(match.index + match[0].length);
    +          if (tail) {
    +            var parent = node.parentNode;
    +            parent.insertBefore(
    +              document.createTextNode(tail), node.nextSibling);
    +          }
    +          breakAfter(node);
    +          if (!firstLine) {
    +            // Don't leave blank text nodes in the DOM.
    +            node.parentNode.removeChild(node);
    +          }
    +        }
    +      }
    +    }
    +  
    +    // Split a line after the given node.
    +    function breakAfter(lineEndNode) {
    +      // If there's nothing to the right, then we can skip ending the line
    +      // here, and move root-wards since splitting just before an end-tag
    +      // would require us to create a bunch of empty copies.
    +      while (!lineEndNode.nextSibling) {
    +        lineEndNode = lineEndNode.parentNode;
    +        if (!lineEndNode) { return; }
    +      }
    +  
    +      function breakLeftOf(limit, copy) {
    +        // Clone shallowly if this node needs to be on both sides of the break.
    +        var rightSide = copy ? limit.cloneNode(false) : limit;
    +        var parent = limit.parentNode;
    +        if (parent) {
    +          // We clone the parent chain.
    +          // This helps us resurrect important styling elements that cross lines.
    +          // E.g. in <i>Foo<br>Bar</i>
    +          // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>.
    +          var parentClone = breakLeftOf(parent, 1);
    +          // Move the clone and everything to the right of the original
    +          // onto the cloned parent.
    +          var next = limit.nextSibling;
    +          parentClone.appendChild(rightSide);
    +          for (var sibling = next; sibling; sibling = next) {
    +            next = sibling.nextSibling;
    +            parentClone.appendChild(sibling);
    +          }
    +        }
    +        return rightSide;
    +      }
    +  
    +      var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0);
    +  
    +      // Walk the parent chain until we reach an unattached LI.
    +      for (var parent;
    +           // Check nodeType since IE invents document fragments.
    +           (parent = copiedListItem.parentNode) && parent.nodeType === 1;) {
    +        copiedListItem = parent;
    +      }
    +      // Put it on the list of lines for later processing.
    +      listItems.push(copiedListItem);
    +    }
    +  
    +    // Split lines while there are lines left to split.
    +    for (var i = 0;  // Number of lines that have been split so far.
    +         i < listItems.length;  // length updated by breakAfter calls.
    +         ++i) {
    +      walk(listItems[i]);
    +    }
    +  
    +    // Make sure numeric indices show correctly.
    +    if (opt_startLineNum === (opt_startLineNum|0)) {
    +      listItems[0].setAttribute('value', opt_startLineNum);
    +    }
    +  
    +    var ol = document.createElement('ol');
    +    ol.className = 'linenums';
    +    var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0;
    +    for (var i = 0, n = listItems.length; i < n; ++i) {
    +      li = listItems[i];
    +      // Stick a class on the LIs so that stylesheets can
    +      // color odd/even rows, or any other row pattern that
    +      // is co-prime with 10.
    +      li.className = 'L' + ((i + offset) % 10);
    +      if (!li.firstChild) {
    +        li.appendChild(document.createTextNode('\xA0'));
    +      }
    +      ol.appendChild(li);
    +    }
    +  
    +    node.appendChild(ol);
    +  }
    +  /**
    +   * Breaks {@code job.sourceCode} around style boundaries in
    +   * {@code job.decorations} and modifies {@code job.sourceNode} in place.
    +   * @param {Object} job like <pre>{
    +   *    sourceCode: {string} source as plain text,
    +   *    sourceNode: {HTMLElement} the element containing the source,
    +   *    spans: {Array.<number|Node>} alternating span start indices into source
    +   *       and the text node or element (e.g. {@code <BR>}) corresponding to that
    +   *       span.
    +   *    decorations: {Array.<number|string} an array of style classes preceded
    +   *       by the position at which they start in job.sourceCode in order
    +   * }</pre>
    +   * @private
    +   */
    +  function recombineTagsAndDecorations(job) {
    +    var isIE8OrEarlier = /\bMSIE\s(\d+)/.exec(navigator.userAgent);
    +    isIE8OrEarlier = isIE8OrEarlier && +isIE8OrEarlier[1] <= 8;
    +    var newlineRe = /\n/g;
    +  
    +    var source = job.sourceCode;
    +    var sourceLength = source.length;
    +    // Index into source after the last code-unit recombined.
    +    var sourceIndex = 0;
    +  
    +    var spans = job.spans;
    +    var nSpans = spans.length;
    +    // Index into spans after the last span which ends at or before sourceIndex.
    +    var spanIndex = 0;
    +  
    +    var decorations = job.decorations;
    +    var nDecorations = decorations.length;
    +    // Index into decorations after the last decoration which ends at or before
    +    // sourceIndex.
    +    var decorationIndex = 0;
    +  
    +    // Remove all zero-length decorations.
    +    decorations[nDecorations] = sourceLength;
    +    var decPos, i;
    +    for (i = decPos = 0; i < nDecorations;) {
    +      if (decorations[i] !== decorations[i + 2]) {
    +        decorations[decPos++] = decorations[i++];
    +        decorations[decPos++] = decorations[i++];
    +      } else {
    +        i += 2;
    +      }
    +    }
    +    nDecorations = decPos;
    +  
    +    // Simplify decorations.
    +    for (i = decPos = 0; i < nDecorations;) {
    +      var startPos = decorations[i];
    +      // Conflate all adjacent decorations that use the same style.
    +      var startDec = decorations[i + 1];
    +      var end = i + 2;
    +      while (end + 2 <= nDecorations && decorations[end + 1] === startDec) {
    +        end += 2;
    +      }
    +      decorations[decPos++] = startPos;
    +      decorations[decPos++] = startDec;
    +      i = end;
    +    }
    +  
    +    nDecorations = decorations.length = decPos;
    +  
    +    var sourceNode = job.sourceNode;
    +    var oldDisplay;
    +    if (sourceNode) {
    +      oldDisplay = sourceNode.style.display;
    +      sourceNode.style.display = 'none';
    +    }
    +    try {
    +      var decoration = null;
    +      while (spanIndex < nSpans) {
    +        var spanStart = spans[spanIndex];
    +        var spanEnd = spans[spanIndex + 2] || sourceLength;
    +  
    +        var decEnd = decorations[decorationIndex + 2] || sourceLength;
    +  
    +        var end = Math.min(spanEnd, decEnd);
    +  
    +        var textNode = spans[spanIndex + 1];
    +        var styledText;
    +        if (textNode.nodeType !== 1  // Don't muck with <BR>s or <LI>s
    +            // Don't introduce spans around empty text nodes.
    +            && (styledText = source.substring(sourceIndex, end))) {
    +          // This may seem bizarre, and it is.  Emitting LF on IE causes the
    +          // code to display with spaces instead of line breaks.
    +          // Emitting Windows standard issue linebreaks (CRLF) causes a blank
    +          // space to appear at the beginning of every line but the first.
    +          // Emitting an old Mac OS 9 line separator makes everything spiffy.
    +          if (isIE8OrEarlier) {
    +            styledText = styledText.replace(newlineRe, '\r');
    +          }
    +          textNode.nodeValue = styledText;
    +          var document = textNode.ownerDocument;
    +          var span = document.createElement('span');
    +          span.className = decorations[decorationIndex + 1];
    +          var parentNode = textNode.parentNode;
    +          parentNode.replaceChild(span, textNode);
    +          span.appendChild(textNode);
    +          if (sourceIndex < spanEnd) {  // Split off a text node.
    +            spans[spanIndex + 1] = textNode
    +                // TODO: Possibly optimize by using '' if there's no flicker.
    +                = document.createTextNode(source.substring(end, spanEnd));
    +            parentNode.insertBefore(textNode, span.nextSibling);
    +          }
    +        }
    +  
    +        sourceIndex = end;
    +  
    +        if (sourceIndex >= spanEnd) {
    +          spanIndex += 2;
    +        }
    +        if (sourceIndex >= decEnd) {
    +          decorationIndex += 2;
    +        }
    +      }
    +    } finally {
    +      if (sourceNode) {
    +        sourceNode.style.display = oldDisplay;
    +      }
    +    }
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        sourceCode: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.sourceCode in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if (win['console']) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'types': C_TYPES
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null,true,false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true,
    +          'types': C_TYPES
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bash', 'bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py', 'python']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': 2  // multiline regex literals
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb', 'ruby']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['javascript', 'js']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': COFFEE_KEYWORDS,
    +          'hashComments': 3,  // ### style block comments
    +          'cStyleComments': true,
    +          'multilineStrings': true,
    +          'tripleQuotedStrings': true,
    +          'regexLiterals': true
    +        }), ['coffee']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUST_KEYWORDS,
    +          'cStyleComments': true,
    +          'multilineStrings': true
    +        }), ['rc', 'rs', 'rust']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var opt_langExtension = job.langExtension;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndSpans = extractSourceSpans(job.sourceNode, job.pre);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndSpans.sourceCode;
    +      job.sourceCode = source;
    +      job.spans = sourceAndSpans.spans;
    +      job.basePos = 0;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +
    +      // Integrate the decorations and tags back into the source code,
    +      // modifying the sourceNode in place.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if (win['console']) {
    +        console['log'](e && e['stack'] || e);
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Pretty print a chunk of code.
    +   * @param sourceCodeHtml {string} The HTML to pretty print.
    +   * @param opt_langExtension {string} The language name to use.
    +   *     Typically, a filename extension like 'cpp' or 'java'.
    +   * @param opt_numberLines {number|boolean} True to number lines,
    +   *     or the 1-indexed number of the first line in sourceCodeHtml.
    +   */
    +  function $prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
    +    var container = document.createElement('div');
    +    // This could cause images to load and onload listeners to fire.
    +    // E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
    +    // We assume that the inner HTML is from a trusted source.
    +    // The pre-tag is required for IE8 which strips newlines from innerHTML
    +    // when it is injected into a <pre> tag.
    +    // http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie
    +    // http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript
    +    container.innerHTML = '<pre>' + sourceCodeHtml + '</pre>';
    +    container = container.firstChild;
    +    if (opt_numberLines) {
    +      numberLines(container, opt_numberLines, true);
    +    }
    +
    +    var job = {
    +      langExtension: opt_langExtension,
    +      numberLines: opt_numberLines,
    +      sourceNode: container,
    +      pre: 1
    +    };
    +    applyDecorator(job);
    +    return container.innerHTML;
    +  }
    +
    +   /**
    +    * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +    * {@code class=prettyprint} and prettify them.
    +    *
    +    * @param {Function} opt_whenDone called when prettifying is done.
    +    * @param {HTMLElement|HTMLDocument} opt_root an element or document
    +    *   containing all the elements to pretty print.
    +    *   Defaults to {@code document.body}.
    +    */
    +  function $prettyPrint(opt_whenDone, opt_root) {
    +    var root = opt_root || document.body;
    +    var doc = root.ownerDocument || document;
    +    function byTagName(tn) { return root.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return +(new Date); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/;
    +    var prettyPrintRe = /\bprettyprint\b/;
    +    var prettyPrintedRe = /\bprettyprinted\b/;
    +    var preformattedTagNameRe = /pre|xmp/i;
    +    var codeRe = /^code$/i;
    +    var preCodeXmpRe = /^(?:pre|code|xmp)$/i;
    +    var EMPTY = {};
    +
    +    function doWork() {
    +      var endTime = (win['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock['now']() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock['now']() < endTime; k++) {
    +        var cs = elements[k];
    +
    +        // Look for a preceding comment like
    +        // <?prettify lang="..." linenums="..."?>
    +        var attrs = EMPTY;
    +        {
    +          for (var preceder = cs; (preceder = preceder.previousSibling);) {
    +            var nt = preceder.nodeType;
    +            // <?foo?> is parsed by HTML 5 to a comment node (8)
    +            // like <!--?foo?-->, but in XML is a processing instruction
    +            var value = (nt === 7 || nt === 8) && preceder.nodeValue;
    +            if (value
    +                ? !/^\??prettify\b/.test(value)
    +                : (nt !== 3 || /\S/.test(preceder.nodeValue))) {
    +              // Skip over white-space text nodes but not others.
    +              break;
    +            }
    +            if (value) {
    +              attrs = {};
    +              value.replace(
    +                  /\b(\w+)=([\w:.%+-]+)/g,
    +                function (_, name, value) { attrs[name] = value; });
    +              break;
    +            }
    +          }
    +        }
    +
    +        var className = cs.className;
    +        if ((attrs !== EMPTY || prettyPrintRe.test(className))
    +            // Don't redo this if we've already done it.
    +            // This allows recalling pretty print to just prettyprint elements
    +            // that have been added to the page since last call.
    +            && !prettyPrintedRe.test(className)) {
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            var tn = p.tagName;
    +            if (preCodeXmpRe.test(tn)
    +                && p.className && prettyPrintRe.test(p.className)) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // Mark done.  If we fail to prettyprint for whatever reason,
    +            // we shouldn't try again.
    +            cs.className += ' prettyprinted';
    +
    +            // If the classes includes a language extensions, use it.
    +            // Language extensions can be specified like
    +            //     <pre class="prettyprint lang-cpp">
    +            // the language extension "cpp" is used to find a language handler
    +            // as passed to PR.registerLangHandler.
    +            // HTML5 recommends that a language be specified using "language-"
    +            // as the prefix instead.  Google Code Prettify supports both.
    +            // http://dev.w3.org/html5/spec-author-view/the-code-element.html
    +            var langExtension = attrs['lang'];
    +            if (!langExtension) {
    +              langExtension = className.match(langExtensionRe);
    +              // Support <pre class="prettyprint"><code class="language-c">
    +              var wrapper;
    +              if (!langExtension && (wrapper = childContentWrapper(cs))
    +                  && codeRe.test(wrapper.tagName)) {
    +                langExtension = wrapper.className.match(langExtensionRe);
    +              }
    +
    +              if (langExtension) { langExtension = langExtension[1]; }
    +            }
    +
    +            var preformatted;
    +            if (preformattedTagNameRe.test(cs.tagName)) {
    +              preformatted = 1;
    +            } else {
    +              var currentStyle = cs['currentStyle'];
    +              var defaultView = doc.defaultView;
    +              var whitespace = (
    +                  currentStyle
    +                  ? currentStyle['whiteSpace']
    +                  : (defaultView
    +                     && defaultView.getComputedStyle)
    +                  ? defaultView.getComputedStyle(cs, null)
    +                  .getPropertyValue('white-space')
    +                  : 0);
    +              preformatted = whitespace
    +                  && 'pre' === whitespace.substring(0, 3);
    +            }
    +
    +            // Look for a class like linenums or linenums:<n> where <n> is the
    +            // 1-indexed number of the first line.
    +            var lineNums = attrs['linenums'];
    +            if (!(lineNums = lineNums === 'true' || +lineNums)) {
    +              lineNums = className.match(/\blinenums\b(?::(\d+))?/);
    +              lineNums =
    +                lineNums
    +                ? lineNums[1] && lineNums[1].length
    +                  ? +lineNums[1] : true
    +                : false;
    +            }
    +            if (lineNums) { numberLines(cs, lineNums, preformatted); }
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              langExtension: langExtension,
    +              sourceNode: cs,
    +              numberLines: lineNums,
    +              pre: preformatted
    +            };
    +            applyDecorator(prettyPrintingJob);
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if ('function' === typeof opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  /**
    +   * Contains functions for creating and registering new language handlers.
    +   * @type {Object}
    +   */
    +  var PR = win['PR'] = {
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE,
    +        'prettyPrintOne':
    +           IN_GLOBAL_SCOPE
    +             ? (win['prettyPrintOne'] = $prettyPrintOne)
    +             : (prettyPrintOne = $prettyPrintOne),
    +        'prettyPrint': prettyPrint =
    +           IN_GLOBAL_SCOPE
    +             ? (win['prettyPrint'] = $prettyPrint)
    +             : (prettyPrint = $prettyPrint)
    +      };
    +
    +  // Make PR available via the Asynchronous Module Definition (AMD) API.
    +  // Per https://github.com/amdjs/amdjs-api/wiki/AMD:
    +  // The Asynchronous Module Definition (AMD) API specifies a
    +  // mechanism for defining modules such that the module and its
    +  // dependencies can be asynchronously loaded.
    +  // ...
    +  // To allow a clear indicator that a global define function (as
    +  // needed for script src browser loading) conforms to the AMD API,
    +  // any global define function SHOULD have a property called "amd"
    +  // whose value is an object. This helps avoid conflict with any
    +  // other existing JavaScript code that could have defined a define()
    +  // function that does not conform to the AMD API.
    +  if (typeof define === "function" && define['amd']) {
    +    define("google-code-prettify", [], function () {
    +      return PR; 
    +    });
    +  }
    +})();
    diff --git a/img/audio_video_1.jpg b/img/audio_video_1.jpg
    new file mode 100644
    index 0000000..65562d4
    Binary files /dev/null and b/img/audio_video_1.jpg differ
    diff --git a/img/audio_video_2.jpg b/img/audio_video_2.jpg
    new file mode 100644
    index 0000000..fed646d
    Binary files /dev/null and b/img/audio_video_2.jpg differ
    diff --git a/img/btn-size.png b/img/btn-size.png
    new file mode 100644
    index 0000000..a8b156b
    Binary files /dev/null and b/img/btn-size.png differ
    diff --git a/img/database-create-1.jpg b/img/database-create-1.jpg
    new file mode 100644
    index 0000000..34d0f3f
    Binary files /dev/null and b/img/database-create-1.jpg differ
    diff --git a/img/database-create-2.jpg b/img/database-create-2.jpg
    new file mode 100644
    index 0000000..195f88b
    Binary files /dev/null and b/img/database-create-2.jpg differ
    diff --git a/img/database-create-3.jpg b/img/database-create-3.jpg
    new file mode 100644
    index 0000000..5126e66
    Binary files /dev/null and b/img/database-create-3.jpg differ
    diff --git a/img/fancybox/fancybox_buttons.png b/img/fancybox/fancybox_buttons.png
    new file mode 100644
    index 0000000..0787207
    Binary files /dev/null and b/img/fancybox/fancybox_buttons.png differ
    diff --git a/img/fancybox/fancybox_loading.gif b/img/fancybox/fancybox_loading.gif
    new file mode 100644
    index 0000000..0158617
    Binary files /dev/null and b/img/fancybox/fancybox_loading.gif differ
    diff --git a/img/fancybox/fancybox_overlay.png b/img/fancybox/fancybox_overlay.png
    new file mode 100644
    index 0000000..ff85e16
    Binary files /dev/null and b/img/fancybox/fancybox_overlay.png differ
    diff --git a/img/fancybox/fancybox_sprite.png b/img/fancybox/fancybox_sprite.png
    new file mode 100644
    index 0000000..fd8d5ca
    Binary files /dev/null and b/img/fancybox/fancybox_sprite.png differ
    diff --git a/img/glyphicons-halflings-white.png b/img/glyphicons-halflings-white.png
    new file mode 100644
    index 0000000..3bf6484
    Binary files /dev/null and b/img/glyphicons-halflings-white.png differ
    diff --git a/img/glyphicons-halflings.png b/img/glyphicons-halflings.png
    new file mode 100644
    index 0000000..a996999
    Binary files /dev/null and b/img/glyphicons-halflings.png differ
    diff --git a/img/icon-1.png b/img/icon-1.png
    new file mode 100644
    index 0000000..9502f01
    Binary files /dev/null and b/img/icon-1.png differ
    diff --git a/img/icon-2.png b/img/icon-2.png
    new file mode 100644
    index 0000000..d1712ca
    Binary files /dev/null and b/img/icon-2.png differ
    diff --git a/img/icon-3.png b/img/icon-3.png
    new file mode 100644
    index 0000000..2a7db56
    Binary files /dev/null and b/img/icon-3.png differ
    diff --git a/img/logo-monster.jpg b/img/logo-monster.jpg
    new file mode 100644
    index 0000000..e0211ef
    Binary files /dev/null and b/img/logo-monster.jpg differ
    diff --git a/img/logo-monster2.jpg b/img/logo-monster2.jpg
    new file mode 100644
    index 0000000..e643e57
    Binary files /dev/null and b/img/logo-monster2.jpg differ
    diff --git a/img/marker-1.png b/img/marker-1.png
    new file mode 100644
    index 0000000..d55b7ca
    Binary files /dev/null and b/img/marker-1.png differ
    diff --git a/img/nav-icon1.png b/img/nav-icon1.png
    new file mode 100644
    index 0000000..6dd9a1c
    Binary files /dev/null and b/img/nav-icon1.png differ
    diff --git a/img/nav-icon10.png b/img/nav-icon10.png
    new file mode 100644
    index 0000000..e533525
    Binary files /dev/null and b/img/nav-icon10.png differ
    diff --git a/img/nav-icon2.png b/img/nav-icon2.png
    new file mode 100644
    index 0000000..666fdbb
    Binary files /dev/null and b/img/nav-icon2.png differ
    diff --git a/img/nav-icon3.png b/img/nav-icon3.png
    new file mode 100644
    index 0000000..0fea8f8
    Binary files /dev/null and b/img/nav-icon3.png differ
    diff --git a/img/nav-icon4.png b/img/nav-icon4.png
    new file mode 100644
    index 0000000..bc4c402
    Binary files /dev/null and b/img/nav-icon4.png differ
    diff --git a/img/nav-icon5.png b/img/nav-icon5.png
    new file mode 100644
    index 0000000..9c05c66
    Binary files /dev/null and b/img/nav-icon5.png differ
    diff --git a/img/nav-icon6.png b/img/nav-icon6.png
    new file mode 100644
    index 0000000..7493ab0
    Binary files /dev/null and b/img/nav-icon6.png differ
    diff --git a/img/nav-icon7.png b/img/nav-icon7.png
    new file mode 100644
    index 0000000..9ea87dc
    Binary files /dev/null and b/img/nav-icon7.png differ
    diff --git a/img/nav-icon8.png b/img/nav-icon8.png
    new file mode 100644
    index 0000000..9e41896
    Binary files /dev/null and b/img/nav-icon8.png differ
    diff --git a/img/nav-icon9.png b/img/nav-icon9.png
    new file mode 100644
    index 0000000..94fab82
    Binary files /dev/null and b/img/nav-icon9.png differ
    diff --git a/img/pags.png b/img/pags.png
    new file mode 100644
    index 0000000..c6174a9
    Binary files /dev/null and b/img/pags.png differ
    diff --git a/img/prettyPhoto/dark_rounded/btnNext.png b/img/prettyPhoto/dark_rounded/btnNext.png
    new file mode 100644
    index 0000000..b28c1ef
    Binary files /dev/null and b/img/prettyPhoto/dark_rounded/btnNext.png differ
    diff --git a/img/prettyPhoto/dark_rounded/btnPrevious.png b/img/prettyPhoto/dark_rounded/btnPrevious.png
    new file mode 100644
    index 0000000..e0cd9c4
    Binary files /dev/null and b/img/prettyPhoto/dark_rounded/btnPrevious.png differ
    diff --git a/img/prettyPhoto/dark_rounded/contentPattern.png b/img/prettyPhoto/dark_rounded/contentPattern.png
    new file mode 100644
    index 0000000..e5a047c
    Binary files /dev/null and b/img/prettyPhoto/dark_rounded/contentPattern.png differ
    diff --git a/img/prettyPhoto/dark_rounded/default_thumbnail.gif b/img/prettyPhoto/dark_rounded/default_thumbnail.gif
    new file mode 100644
    index 0000000..2b1280f
    Binary files /dev/null and b/img/prettyPhoto/dark_rounded/default_thumbnail.gif differ
    diff --git a/img/prettyPhoto/dark_rounded/loader.gif b/img/prettyPhoto/dark_rounded/loader.gif
    new file mode 100644
    index 0000000..50820ee
    Binary files /dev/null and b/img/prettyPhoto/dark_rounded/loader.gif differ
    diff --git a/img/prettyPhoto/dark_rounded/sprite.png b/img/prettyPhoto/dark_rounded/sprite.png
    new file mode 100644
    index 0000000..fb8c0f8
    Binary files /dev/null and b/img/prettyPhoto/dark_rounded/sprite.png differ
    diff --git a/img/prettyPhoto/dark_square/btnNext.png b/img/prettyPhoto/dark_square/btnNext.png
    new file mode 100644
    index 0000000..b28c1ef
    Binary files /dev/null and b/img/prettyPhoto/dark_square/btnNext.png differ
    diff --git a/img/prettyPhoto/dark_square/btnPrevious.png b/img/prettyPhoto/dark_square/btnPrevious.png
    new file mode 100644
    index 0000000..e0cd9c4
    Binary files /dev/null and b/img/prettyPhoto/dark_square/btnPrevious.png differ
    diff --git a/img/prettyPhoto/dark_square/contentPattern.png b/img/prettyPhoto/dark_square/contentPattern.png
    new file mode 100644
    index 0000000..7b50aff
    Binary files /dev/null and b/img/prettyPhoto/dark_square/contentPattern.png differ
    diff --git a/img/prettyPhoto/dark_square/default_thumbnail.gif b/img/prettyPhoto/dark_square/default_thumbnail.gif
    new file mode 100644
    index 0000000..2b1280f
    Binary files /dev/null and b/img/prettyPhoto/dark_square/default_thumbnail.gif differ
    diff --git a/img/prettyPhoto/dark_square/loader.gif b/img/prettyPhoto/dark_square/loader.gif
    new file mode 100644
    index 0000000..50820ee
    Binary files /dev/null and b/img/prettyPhoto/dark_square/loader.gif differ
    diff --git a/img/prettyPhoto/dark_square/sprite.png b/img/prettyPhoto/dark_square/sprite.png
    new file mode 100644
    index 0000000..4fe3547
    Binary files /dev/null and b/img/prettyPhoto/dark_square/sprite.png differ
    diff --git a/img/prettyPhoto/default/default_thumb.png b/img/prettyPhoto/default/default_thumb.png
    new file mode 100644
    index 0000000..1a26e4b
    Binary files /dev/null and b/img/prettyPhoto/default/default_thumb.png differ
    diff --git a/img/prettyPhoto/default/loader.gif b/img/prettyPhoto/default/loader.gif
    new file mode 100644
    index 0000000..35d397c
    Binary files /dev/null and b/img/prettyPhoto/default/loader.gif differ
    diff --git a/img/prettyPhoto/default/sprite.png b/img/prettyPhoto/default/sprite.png
    new file mode 100644
    index 0000000..5f07ddc
    Binary files /dev/null and b/img/prettyPhoto/default/sprite.png differ
    diff --git a/img/prettyPhoto/default/sprite_next.png b/img/prettyPhoto/default/sprite_next.png
    new file mode 100644
    index 0000000..379dc0d
    Binary files /dev/null and b/img/prettyPhoto/default/sprite_next.png differ
    diff --git a/img/prettyPhoto/default/sprite_prev.png b/img/prettyPhoto/default/sprite_prev.png
    new file mode 100644
    index 0000000..1ee4865
    Binary files /dev/null and b/img/prettyPhoto/default/sprite_prev.png differ
    diff --git a/img/prettyPhoto/default/sprite_x.png b/img/prettyPhoto/default/sprite_x.png
    new file mode 100644
    index 0000000..d4433ab
    Binary files /dev/null and b/img/prettyPhoto/default/sprite_x.png differ
    diff --git a/img/prettyPhoto/default/sprite_y.png b/img/prettyPhoto/default/sprite_y.png
    new file mode 100644
    index 0000000..7786ab5
    Binary files /dev/null and b/img/prettyPhoto/default/sprite_y.png differ
    diff --git a/img/prettyPhoto/facebook/btnNext.png b/img/prettyPhoto/facebook/btnNext.png
    new file mode 100644
    index 0000000..e809c3b
    Binary files /dev/null and b/img/prettyPhoto/facebook/btnNext.png differ
    diff --git a/img/prettyPhoto/facebook/btnPrevious.png b/img/prettyPhoto/facebook/btnPrevious.png
    new file mode 100644
    index 0000000..0812542
    Binary files /dev/null and b/img/prettyPhoto/facebook/btnPrevious.png differ
    diff --git a/img/prettyPhoto/facebook/contentPatternBottom.png b/img/prettyPhoto/facebook/contentPatternBottom.png
    new file mode 100644
    index 0000000..a9be3b2
    Binary files /dev/null and b/img/prettyPhoto/facebook/contentPatternBottom.png differ
    diff --git a/img/prettyPhoto/facebook/contentPatternLeft.png b/img/prettyPhoto/facebook/contentPatternLeft.png
    new file mode 100644
    index 0000000..277c87a
    Binary files /dev/null and b/img/prettyPhoto/facebook/contentPatternLeft.png differ
    diff --git a/img/prettyPhoto/facebook/contentPatternRight.png b/img/prettyPhoto/facebook/contentPatternRight.png
    new file mode 100644
    index 0000000..76e50d0
    Binary files /dev/null and b/img/prettyPhoto/facebook/contentPatternRight.png differ
    diff --git a/img/prettyPhoto/facebook/contentPatternTop.png b/img/prettyPhoto/facebook/contentPatternTop.png
    new file mode 100644
    index 0000000..8b110ba
    Binary files /dev/null and b/img/prettyPhoto/facebook/contentPatternTop.png differ
    diff --git a/img/prettyPhoto/facebook/default_thumbnail.gif b/img/prettyPhoto/facebook/default_thumbnail.gif
    new file mode 100644
    index 0000000..2b1280f
    Binary files /dev/null and b/img/prettyPhoto/facebook/default_thumbnail.gif differ
    diff --git a/img/prettyPhoto/facebook/loader.gif b/img/prettyPhoto/facebook/loader.gif
    new file mode 100644
    index 0000000..7ac990c
    Binary files /dev/null and b/img/prettyPhoto/facebook/loader.gif differ
    diff --git a/img/prettyPhoto/facebook/sprite.png b/img/prettyPhoto/facebook/sprite.png
    new file mode 100644
    index 0000000..660a254
    Binary files /dev/null and b/img/prettyPhoto/facebook/sprite.png differ
    diff --git a/img/prettyPhoto/light_rounded/btnNext.png b/img/prettyPhoto/light_rounded/btnNext.png
    new file mode 100644
    index 0000000..b28c1ef
    Binary files /dev/null and b/img/prettyPhoto/light_rounded/btnNext.png differ
    diff --git a/img/prettyPhoto/light_rounded/btnPrevious.png b/img/prettyPhoto/light_rounded/btnPrevious.png
    new file mode 100644
    index 0000000..e0cd9c4
    Binary files /dev/null and b/img/prettyPhoto/light_rounded/btnPrevious.png differ
    diff --git a/img/prettyPhoto/light_rounded/default_thumbnail.gif b/img/prettyPhoto/light_rounded/default_thumbnail.gif
    new file mode 100644
    index 0000000..2b1280f
    Binary files /dev/null and b/img/prettyPhoto/light_rounded/default_thumbnail.gif differ
    diff --git a/img/prettyPhoto/light_rounded/loader.gif b/img/prettyPhoto/light_rounded/loader.gif
    new file mode 100644
    index 0000000..7ac990c
    Binary files /dev/null and b/img/prettyPhoto/light_rounded/loader.gif differ
    diff --git a/img/prettyPhoto/light_rounded/sprite.png b/img/prettyPhoto/light_rounded/sprite.png
    new file mode 100644
    index 0000000..7f28379
    Binary files /dev/null and b/img/prettyPhoto/light_rounded/sprite.png differ
    diff --git a/img/prettyPhoto/light_square/btnNext.png b/img/prettyPhoto/light_square/btnNext.png
    new file mode 100644
    index 0000000..b28c1ef
    Binary files /dev/null and b/img/prettyPhoto/light_square/btnNext.png differ
    diff --git a/img/prettyPhoto/light_square/btnPrevious.png b/img/prettyPhoto/light_square/btnPrevious.png
    new file mode 100644
    index 0000000..e0cd9c4
    Binary files /dev/null and b/img/prettyPhoto/light_square/btnPrevious.png differ
    diff --git a/img/prettyPhoto/light_square/default_thumbnail.gif b/img/prettyPhoto/light_square/default_thumbnail.gif
    new file mode 100644
    index 0000000..2b1280f
    Binary files /dev/null and b/img/prettyPhoto/light_square/default_thumbnail.gif differ
    diff --git a/img/prettyPhoto/light_square/loader.gif b/img/prettyPhoto/light_square/loader.gif
    new file mode 100644
    index 0000000..7ac990c
    Binary files /dev/null and b/img/prettyPhoto/light_square/loader.gif differ
    diff --git a/img/prettyPhoto/light_square/sprite.png b/img/prettyPhoto/light_square/sprite.png
    new file mode 100644
    index 0000000..4fe3547
    Binary files /dev/null and b/img/prettyPhoto/light_square/sprite.png differ
    diff --git a/img/tail-content-top.gif b/img/tail-content-top.gif
    new file mode 100644
    index 0000000..2f329a7
    Binary files /dev/null and b/img/tail-content-top.gif differ
    diff --git a/img/tail-content.gif b/img/tail-content.gif
    new file mode 100644
    index 0000000..9ceb430
    Binary files /dev/null and b/img/tail-content.gif differ
    diff --git a/img/tail-lightbox-hover.png b/img/tail-lightbox-hover.png
    new file mode 100644
    index 0000000..fa9a872
    Binary files /dev/null and b/img/tail-lightbox-hover.png differ
    diff --git a/img/woo-logo.png b/img/woo-logo.png
    new file mode 100644
    index 0000000..1fa4050
    Binary files /dev/null and b/img/woo-logo.png differ
    diff --git a/img/wordpress/add_media.png b/img/wordpress/add_media.png
    new file mode 100644
    index 0000000..a2e6c7e
    Binary files /dev/null and b/img/wordpress/add_media.png differ
    diff --git a/img/wordpress/backup.jpg b/img/wordpress/backup.jpg
    new file mode 100644
    index 0000000..30dba59
    Binary files /dev/null and b/img/wordpress/backup.jpg differ
    diff --git a/img/wordpress/cat1.jpg b/img/wordpress/cat1.jpg
    new file mode 100644
    index 0000000..7495c5f
    Binary files /dev/null and b/img/wordpress/cat1.jpg differ
    diff --git a/img/wordpress/cat3.jpg b/img/wordpress/cat3.jpg
    new file mode 100644
    index 0000000..a04abf8
    Binary files /dev/null and b/img/wordpress/cat3.jpg differ
    diff --git a/img/wordpress/category_in.jpg b/img/wordpress/category_in.jpg
    new file mode 100644
    index 0000000..18251b9
    Binary files /dev/null and b/img/wordpress/category_in.jpg differ
    diff --git a/img/wordpress/faq.jpg b/img/wordpress/faq.jpg
    new file mode 100644
    index 0000000..3f2532e
    Binary files /dev/null and b/img/wordpress/faq.jpg differ
    diff --git a/img/wordpress/folio.jpg b/img/wordpress/folio.jpg
    new file mode 100644
    index 0000000..4019a63
    Binary files /dev/null and b/img/wordpress/folio.jpg differ
    diff --git a/img/wordpress/folio_format.jpg b/img/wordpress/folio_format.jpg
    new file mode 100644
    index 0000000..88aab5a
    Binary files /dev/null and b/img/wordpress/folio_format.jpg differ
    diff --git a/img/wordpress/folio_page.jpg b/img/wordpress/folio_page.jpg
    new file mode 100644
    index 0000000..d20a0fc
    Binary files /dev/null and b/img/wordpress/folio_page.jpg differ
    diff --git a/img/wordpress/folio_panel.jpg b/img/wordpress/folio_panel.jpg
    new file mode 100644
    index 0000000..4ea201f
    Binary files /dev/null and b/img/wordpress/folio_panel.jpg differ
    diff --git a/img/wordpress/import_1st_step.jpg b/img/wordpress/import_1st_step.jpg
    new file mode 100644
    index 0000000..bb3afc0
    Binary files /dev/null and b/img/wordpress/import_1st_step.jpg differ
    diff --git a/img/wordpress/import_2nd_step.jpg b/img/wordpress/import_2nd_step.jpg
    new file mode 100644
    index 0000000..62021e7
    Binary files /dev/null and b/img/wordpress/import_2nd_step.jpg differ
    diff --git a/img/wordpress/import_3d_step.jpg b/img/wordpress/import_3d_step.jpg
    new file mode 100644
    index 0000000..0616652
    Binary files /dev/null and b/img/wordpress/import_3d_step.jpg differ
    diff --git a/img/wordpress/import_4nd_step.jpg b/img/wordpress/import_4nd_step.jpg
    new file mode 100644
    index 0000000..920d599
    Binary files /dev/null and b/img/wordpress/import_4nd_step.jpg differ
    diff --git a/img/wordpress/import_5nd_step.jpg b/img/wordpress/import_5nd_step.jpg
    new file mode 100644
    index 0000000..01952ca
    Binary files /dev/null and b/img/wordpress/import_5nd_step.jpg differ
    diff --git a/img/wordpress/import_permalinks.jpg b/img/wordpress/import_permalinks.jpg
    new file mode 100644
    index 0000000..8f052e6
    Binary files /dev/null and b/img/wordpress/import_permalinks.jpg differ
    diff --git a/img/wordpress/insert-media.jpg b/img/wordpress/insert-media.jpg
    new file mode 100644
    index 0000000..fa19948
    Binary files /dev/null and b/img/wordpress/insert-media.jpg differ
    diff --git a/img/wordpress/install.jpg b/img/wordpress/install.jpg
    new file mode 100644
    index 0000000..0b0979f
    Binary files /dev/null and b/img/wordpress/install.jpg differ
    diff --git a/img/wordpress/menu.jpg b/img/wordpress/menu.jpg
    new file mode 100644
    index 0000000..a2f93fc
    Binary files /dev/null and b/img/wordpress/menu.jpg differ
    diff --git a/img/wordpress/our_team.jpg b/img/wordpress/our_team.jpg
    new file mode 100644
    index 0000000..065c77f
    Binary files /dev/null and b/img/wordpress/our_team.jpg differ
    diff --git a/img/wordpress/permalinks.jpg b/img/wordpress/permalinks.jpg
    new file mode 100644
    index 0000000..dc2bcbd
    Binary files /dev/null and b/img/wordpress/permalinks.jpg differ
    diff --git a/img/wordpress/plugins_install.jpg b/img/wordpress/plugins_install.jpg
    new file mode 100644
    index 0000000..c8dc287
    Binary files /dev/null and b/img/wordpress/plugins_install.jpg differ
    diff --git a/img/wordpress/post_format.jpg b/img/wordpress/post_format.jpg
    new file mode 100644
    index 0000000..5838ead
    Binary files /dev/null and b/img/wordpress/post_format.jpg differ
    diff --git a/img/wordpress/post_format_audio.jpg b/img/wordpress/post_format_audio.jpg
    new file mode 100644
    index 0000000..ea1a318
    Binary files /dev/null and b/img/wordpress/post_format_audio.jpg differ
    diff --git a/img/wordpress/post_format_image.jpg b/img/wordpress/post_format_image.jpg
    new file mode 100644
    index 0000000..36788f0
    Binary files /dev/null and b/img/wordpress/post_format_image.jpg differ
    diff --git a/img/wordpress/post_format_link.jpg b/img/wordpress/post_format_link.jpg
    new file mode 100644
    index 0000000..57e657e
    Binary files /dev/null and b/img/wordpress/post_format_link.jpg differ
    diff --git a/img/wordpress/post_format_quote.jpg b/img/wordpress/post_format_quote.jpg
    new file mode 100644
    index 0000000..2204154
    Binary files /dev/null and b/img/wordpress/post_format_quote.jpg differ
    diff --git a/img/wordpress/post_format_standard.jpg b/img/wordpress/post_format_standard.jpg
    new file mode 100644
    index 0000000..083bf13
    Binary files /dev/null and b/img/wordpress/post_format_standard.jpg differ
    diff --git a/img/wordpress/post_format_video.jpg b/img/wordpress/post_format_video.jpg
    new file mode 100644
    index 0000000..9e25235
    Binary files /dev/null and b/img/wordpress/post_format_video.jpg differ
    diff --git a/img/wordpress/product_add.png b/img/wordpress/product_add.png
    new file mode 100644
    index 0000000..cee659a
    Binary files /dev/null and b/img/wordpress/product_add.png differ
    diff --git a/img/wordpress/product_new.jpg b/img/wordpress/product_new.jpg
    new file mode 100644
    index 0000000..c8e3ea4
    Binary files /dev/null and b/img/wordpress/product_new.jpg differ
    diff --git a/img/wordpress/sc_menu.jpg b/img/wordpress/sc_menu.jpg
    new file mode 100644
    index 0000000..26e9183
    Binary files /dev/null and b/img/wordpress/sc_menu.jpg differ
    diff --git a/img/wordpress/sc_visual.jpg b/img/wordpress/sc_visual.jpg
    new file mode 100644
    index 0000000..57cccec
    Binary files /dev/null and b/img/wordpress/sc_visual.jpg differ
    diff --git a/img/wordpress/shortcode_alert.jpg b/img/wordpress/shortcode_alert.jpg
    new file mode 100644
    index 0000000..8646bc1
    Binary files /dev/null and b/img/wordpress/shortcode_alert.jpg differ
    diff --git a/img/wordpress/shortcode_banner.jpg b/img/wordpress/shortcode_banner.jpg
    new file mode 100644
    index 0000000..c47f009
    Binary files /dev/null and b/img/wordpress/shortcode_banner.jpg differ
    diff --git a/img/wordpress/shortcode_button.jpg b/img/wordpress/shortcode_button.jpg
    new file mode 100644
    index 0000000..3cb0c76
    Binary files /dev/null and b/img/wordpress/shortcode_button.jpg differ
    diff --git a/img/wordpress/shortcode_car.jpg b/img/wordpress/shortcode_car.jpg
    new file mode 100644
    index 0000000..f0ced3a
    Binary files /dev/null and b/img/wordpress/shortcode_car.jpg differ
    diff --git a/img/wordpress/shortcode_cat.jpg b/img/wordpress/shortcode_cat.jpg
    new file mode 100644
    index 0000000..30e8c99
    Binary files /dev/null and b/img/wordpress/shortcode_cat.jpg differ
    diff --git a/img/wordpress/shortcode_comments.jpg b/img/wordpress/shortcode_comments.jpg
    new file mode 100644
    index 0000000..60c9cc0
    Binary files /dev/null and b/img/wordpress/shortcode_comments.jpg differ
    diff --git a/img/wordpress/shortcode_hero.jpg b/img/wordpress/shortcode_hero.jpg
    new file mode 100644
    index 0000000..8188186
    Binary files /dev/null and b/img/wordpress/shortcode_hero.jpg differ
    diff --git a/img/wordpress/shortcode_icon.jpg b/img/wordpress/shortcode_icon.jpg
    new file mode 100644
    index 0000000..d98fcb3
    Binary files /dev/null and b/img/wordpress/shortcode_icon.jpg differ
    diff --git a/img/wordpress/shortcode_label.jpg b/img/wordpress/shortcode_label.jpg
    new file mode 100644
    index 0000000..024eca3
    Binary files /dev/null and b/img/wordpress/shortcode_label.jpg differ
    diff --git a/img/wordpress/shortcode_map.jpg b/img/wordpress/shortcode_map.jpg
    new file mode 100644
    index 0000000..d896cf0
    Binary files /dev/null and b/img/wordpress/shortcode_map.jpg differ
    diff --git a/img/wordpress/shortcode_minipostgrid.jpg b/img/wordpress/shortcode_minipostgrid.jpg
    new file mode 100644
    index 0000000..e0f90f3
    Binary files /dev/null and b/img/wordpress/shortcode_minipostgrid.jpg differ
    diff --git a/img/wordpress/shortcode_minipostlist.jpg b/img/wordpress/shortcode_minipostlist.jpg
    new file mode 100644
    index 0000000..24c20e0
    Binary files /dev/null and b/img/wordpress/shortcode_minipostlist.jpg differ
    diff --git a/img/wordpress/shortcode_postcycle.jpg b/img/wordpress/shortcode_postcycle.jpg
    new file mode 100644
    index 0000000..2a4b52b
    Binary files /dev/null and b/img/wordpress/shortcode_postcycle.jpg differ
    diff --git a/img/wordpress/shortcode_postgrid.jpg b/img/wordpress/shortcode_postgrid.jpg
    new file mode 100644
    index 0000000..112bfd7
    Binary files /dev/null and b/img/wordpress/shortcode_postgrid.jpg differ
    diff --git a/img/wordpress/shortcode_postlist.jpg b/img/wordpress/shortcode_postlist.jpg
    new file mode 100644
    index 0000000..b435ee8
    Binary files /dev/null and b/img/wordpress/shortcode_postlist.jpg differ
    diff --git a/img/wordpress/shortcode_progress.jpg b/img/wordpress/shortcode_progress.jpg
    new file mode 100644
    index 0000000..a7a95ee
    Binary files /dev/null and b/img/wordpress/shortcode_progress.jpg differ
    diff --git a/img/wordpress/shortcode_recentposts.jpg b/img/wordpress/shortcode_recentposts.jpg
    new file mode 100644
    index 0000000..55fb665
    Binary files /dev/null and b/img/wordpress/shortcode_recentposts.jpg differ
    diff --git a/img/wordpress/shortcode_recenttesti.jpg b/img/wordpress/shortcode_recenttesti.jpg
    new file mode 100644
    index 0000000..fbfd14c
    Binary files /dev/null and b/img/wordpress/shortcode_recenttesti.jpg differ
    diff --git a/img/wordpress/shortcode_roundabout.jpg b/img/wordpress/shortcode_roundabout.jpg
    new file mode 100644
    index 0000000..18997cd
    Binary files /dev/null and b/img/wordpress/shortcode_roundabout.jpg differ
    diff --git a/img/wordpress/shortcode_service.jpg b/img/wordpress/shortcode_service.jpg
    new file mode 100644
    index 0000000..c14ccc0
    Binary files /dev/null and b/img/wordpress/shortcode_service.jpg differ
    diff --git a/img/wordpress/shortcode_title.jpg b/img/wordpress/shortcode_title.jpg
    new file mode 100644
    index 0000000..c25c5af
    Binary files /dev/null and b/img/wordpress/shortcode_title.jpg differ
    diff --git a/img/wordpress/shortcode_video_preview.jpg b/img/wordpress/shortcode_video_preview.jpg
    new file mode 100644
    index 0000000..083318e
    Binary files /dev/null and b/img/wordpress/shortcode_video_preview.jpg differ
    diff --git a/img/wordpress/slide_new.jpg b/img/wordpress/slide_new.jpg
    new file mode 100644
    index 0000000..0d9d497
    Binary files /dev/null and b/img/wordpress/slide_new.jpg differ
    diff --git a/img/wordpress/slider.jpg b/img/wordpress/slider.jpg
    new file mode 100644
    index 0000000..8f40936
    Binary files /dev/null and b/img/wordpress/slider.jpg differ
    diff --git a/img/wordpress/testi.jpg b/img/wordpress/testi.jpg
    new file mode 100644
    index 0000000..382e9cb
    Binary files /dev/null and b/img/wordpress/testi.jpg differ
    diff --git a/img/wordpress/theme_activate.jpg b/img/wordpress/theme_activate.jpg
    new file mode 100644
    index 0000000..a0dcb0e
    Binary files /dev/null and b/img/wordpress/theme_activate.jpg differ
    diff --git a/img/wordpress/theme_options_blog.jpg b/img/wordpress/theme_options_blog.jpg
    new file mode 100644
    index 0000000..e0053bf
    Binary files /dev/null and b/img/wordpress/theme_options_blog.jpg differ
    diff --git a/img/wordpress/theme_options_footer.jpg b/img/wordpress/theme_options_footer.jpg
    new file mode 100644
    index 0000000..df5058d
    Binary files /dev/null and b/img/wordpress/theme_options_footer.jpg differ
    diff --git a/img/wordpress/theme_options_general.jpg b/img/wordpress/theme_options_general.jpg
    new file mode 100644
    index 0000000..4a02043
    Binary files /dev/null and b/img/wordpress/theme_options_general.jpg differ
    diff --git a/img/wordpress/theme_options_logo.jpg b/img/wordpress/theme_options_logo.jpg
    new file mode 100644
    index 0000000..9eeb8e4
    Binary files /dev/null and b/img/wordpress/theme_options_logo.jpg differ
    diff --git a/img/wordpress/theme_options_nav.jpg b/img/wordpress/theme_options_nav.jpg
    new file mode 100644
    index 0000000..37e0f4b
    Binary files /dev/null and b/img/wordpress/theme_options_nav.jpg differ
    diff --git a/img/wordpress/theme_options_portfolio.jpg b/img/wordpress/theme_options_portfolio.jpg
    new file mode 100644
    index 0000000..e20aec0
    Binary files /dev/null and b/img/wordpress/theme_options_portfolio.jpg differ
    diff --git a/img/wordpress/theme_options_shop.jpg b/img/wordpress/theme_options_shop.jpg
    new file mode 100644
    index 0000000..7b1f3d9
    Binary files /dev/null and b/img/wordpress/theme_options_shop.jpg differ
    diff --git a/img/wordpress/theme_options_slider.jpg b/img/wordpress/theme_options_slider.jpg
    new file mode 100644
    index 0000000..a599992
    Binary files /dev/null and b/img/wordpress/theme_options_slider.jpg differ
    diff --git a/img/wordpress/theme_options_slider_accordion.jpg b/img/wordpress/theme_options_slider_accordion.jpg
    new file mode 100644
    index 0000000..e6df5b9
    Binary files /dev/null and b/img/wordpress/theme_options_slider_accordion.jpg differ
    diff --git a/img/wordpress/theme_options_slider_camera.jpg b/img/wordpress/theme_options_slider_camera.jpg
    new file mode 100644
    index 0000000..44e3437
    Binary files /dev/null and b/img/wordpress/theme_options_slider_camera.jpg differ
    diff --git a/img/wordpress/theme_options_slider_none.jpg b/img/wordpress/theme_options_slider_none.jpg
    new file mode 100644
    index 0000000..bec1ccf
    Binary files /dev/null and b/img/wordpress/theme_options_slider_none.jpg differ
    diff --git a/img/wordpress/update.jpg b/img/wordpress/update.jpg
    new file mode 100644
    index 0000000..9c3fb8a
    Binary files /dev/null and b/img/wordpress/update.jpg differ
    diff --git a/img/wordpress/uploaded-images.jpg b/img/wordpress/uploaded-images.jpg
    new file mode 100644
    index 0000000..8c0a8c7
    Binary files /dev/null and b/img/wordpress/uploaded-images.jpg differ
    diff --git a/img/wordpress/widget_advanced_cycle.jpg b/img/wordpress/widget_advanced_cycle.jpg
    new file mode 100644
    index 0000000..834f587
    Binary files /dev/null and b/img/wordpress/widget_advanced_cycle.jpg differ
    diff --git a/img/wordpress/widget_banners.jpg b/img/wordpress/widget_banners.jpg
    new file mode 100644
    index 0000000..f87db6d
    Binary files /dev/null and b/img/wordpress/widget_banners.jpg differ
    diff --git a/img/wordpress/widget_flickr.jpg b/img/wordpress/widget_flickr.jpg
    new file mode 100644
    index 0000000..5128725
    Binary files /dev/null and b/img/wordpress/widget_flickr.jpg differ
    diff --git a/img/wordpress/widget_recent_comments.jpg b/img/wordpress/widget_recent_comments.jpg
    new file mode 100644
    index 0000000..d57181d
    Binary files /dev/null and b/img/wordpress/widget_recent_comments.jpg differ
    diff --git a/img/wordpress/widget_recent_posts.jpg b/img/wordpress/widget_recent_posts.jpg
    new file mode 100644
    index 0000000..f1ec51f
    Binary files /dev/null and b/img/wordpress/widget_recent_posts.jpg differ
    diff --git a/img/wordpress/widget_social_networks.jpg b/img/wordpress/widget_social_networks.jpg
    new file mode 100644
    index 0000000..a0971da
    Binary files /dev/null and b/img/wordpress/widget_social_networks.jpg differ
    diff --git a/img/wordpress/widget_twitter.jpg b/img/wordpress/widget_twitter.jpg
    new file mode 100644
    index 0000000..8d70f6a
    Binary files /dev/null and b/img/wordpress/widget_twitter.jpg differ
    diff --git a/img/wordpress/widget_vcard.jpg b/img/wordpress/widget_vcard.jpg
    new file mode 100644
    index 0000000..2077d1d
    Binary files /dev/null and b/img/wordpress/widget_vcard.jpg differ
    diff --git a/img/wordpress/wp-install-1-b.jpg b/img/wordpress/wp-install-1-b.jpg
    new file mode 100644
    index 0000000..8762b25
    Binary files /dev/null and b/img/wordpress/wp-install-1-b.jpg differ
    diff --git a/img/wordpress/wp-install-3-b.jpg b/img/wordpress/wp-install-3-b.jpg
    new file mode 100644
    index 0000000..4a7467d
    Binary files /dev/null and b/img/wordpress/wp-install-3-b.jpg differ
    diff --git a/img/wordpress/wp-install-6-b.jpg b/img/wordpress/wp-install-6-b.jpg
    new file mode 100644
    index 0000000..42dd804
    Binary files /dev/null and b/img/wordpress/wp-install-6-b.jpg differ
    diff --git a/img/wordpress/wp-install-7-b.jpg b/img/wordpress/wp-install-7-b.jpg
    new file mode 100644
    index 0000000..e1a7b8e
    Binary files /dev/null and b/img/wordpress/wp-install-7-b.jpg differ
    diff --git a/img/wordpress/wp_prefix.jpg b/img/wordpress/wp_prefix.jpg
    new file mode 100644
    index 0000000..3df0854
    Binary files /dev/null and b/img/wordpress/wp_prefix.jpg differ
    diff --git a/img/wordpress_logo.png b/img/wordpress_logo.png
    new file mode 100644
    index 0000000..ab03ddf
    Binary files /dev/null and b/img/wordpress_logo.png differ
    diff --git a/index_en.html b/index_en.html
    new file mode 100644
    index 0000000..581bbde
    --- /dev/null
    +++ b/index_en.html
    @@ -0,0 +1,1680 @@
    +<!DOCTYPE html>
    +<html>
    +<head>
    +  <title>WooCommerce Documentation</title>
    +  <meta charset="utf-8">
    +  <link rel="stylesheet" href="css/bootstrap.css" media="screen">
    +  <link rel="stylesheet" href="css/responsive.css" media="screen">
    +  <link rel="stylesheet" href="css/style.css" media="screen">
    +  <link rel="stylesheet" href="css/flexslider.css"  media="screen">
    +  <link rel="stylesheet" href="css/prettify.css"  media="screen">
    +   <link rel="stylesheet" href="css/prettyPhoto.css"  media="screen">
    +  <script src="js/jquery.js"></script>
    +  <script src="js/jquery.scrollTo.js"></script>
    +  <script src="js/jquery-migrate-1.1.0.js"></script>
    +  <script src="js/prettify.js"></script>
    +  <script src="js/jquery.flexslider.js"></script>
    +  <script src="js/bootstrap-affix.js"></script>
    +  <script src="js/script.js"></script>
    +  <script type="text/javascript" src="js/jquery.prettyPhoto.js"></script> 
    +  <link href="google-code-prettify/prettify.css" type="text/css" rel="stylesheet" />
    +  <script type="text/javascript" src="google-code-prettify/prettify.js"></script>
    +
    +    <!--[if lt IE 8]>
    +  		<div style='text-align:center'>
    +        <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx?ocid=ie6_countdown_bannercode"><img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0000_us.jpg" border="0" alt="" /></a>
    +      </div>  
    + 	  <![endif]-->
    +    <!--[if lt IE 9]>
    +      <script src="js/html5shiv.js"></script>
    +    <![endif]-->
    +</head>
    +
    +<body>  
    +
    +<!-- header
    +================================================== -->
    +<header class="header">
    +  <div class="container">
    +  <div class="row">
    +  <article class="span3"><a class="brand" href="http://templatemonster.com" target="_blank"></a></article>
    + <article class="span7">
    + <h1><img alt="" src="img/woo-logo.png"> WooCommerce Documentation</h1>
    +  </article> 
    +  <!-- languages switcher
    +   <article class="span2">
    +    <div class="languages pull-right">
    +      <span class="lang_label">Language: </span><div id="lang_icon"><b>En</b><i class="icon-angle-down"></i></div>
    +      <ul id="lang_list">
    +        <li class="active"><a href="index_en.html"><span>English </span><img src="img/flags/gb.png" height="14" width="22" alt="en"></a></li>
    +        <li><a href="index_es.html"><span>Español </span><img src="img/flags/es.png" height="14" width="22" alt="es"></a></li>
    +        <li><a href="index_de.html"><span>Deutsch </span><img src="img/flags/de.png" height="14" width="22" alt="de"></a></li>
    +        <li><a href="index_ru.html"><span>Русский </span><img src="img/flags/ru.png" height="14" width="22" alt="ru"></a></li>
    +      </ul>
    +    </div>
    +  </article>   
    +   -->   
    +  </div>  	
    +  </div>
    +</header>
    +<div id="content"> 
    +<div class="bg-content-top">
    +<div class="container">
    +
    +<!-- Docs nav
    +    ================================================== -->
    +  <div class="row">
    +      <div class="span3"> 
    +
    +        <div id="nav_container">
    +          <a href="javascript:;" id="affect_all">
    +            <span class="expand">
    +              <i class="icon-angle-down"></i>
    +            </span>            
    +            <span class="close">
    +              <i class="icon-angle-up"></i>
    +            </span>
    +          </a>
    +            <div class="row-fluid"></div>    
    +                <ul class="nav nav-list bs-docs-sidenav"  id="nav">
    +                  <li class="nav-item item1">
    +                    <dl class="slide-down">
    +                       <dt><a href="#introduction" class="icon-info-sign">Introduction</a></dt>
    +                       <dd></dd>
    +                     </dl>   
    +                  </li>
    +                  <li class="nav-item item2">
    +                    <dl class="slide-down">
    +                       <dt><a href="#prepare" class="icon-check">Prepare </a></dt>  
    +                       <dd></dd>                       
    +                     </dl> 
    +                  </li>           
    +                  <li class="nav-item item3">
    +                    <dl class="slide-down">
    +                       <dt><a href="#getting_started" class="icon-play">Getting Started </a> <i class="icon-sample"></i></dt>
    +                         <dd>
    +                           <ul class="list">          
    +                            <li><a href="#engine-installation">Engine installation</a></li>
    +                            <li><a href="#theme-installation">Theme installation</a></li>
    +                            <li><a href="#plugins_intstall">Plugin Installation</a></li>
    +                            <li><a href="#theme_sample_data">Sample Data Install</a></li>
    +                            <li><a href="#manual_install">Manual installation</a></li>
    +                            <li><a href="#permilinks_settings">Permalinks settings</a></li>
    +                            <li><a href="#menu_settings">Menu setu</a></li>
    +                           </ul> 
    +                       </dd>
    +                     </dl> 
    +                  </li>          
    +                  <li class="nav-item item4">
    +                    <dl class="slide-down">
    +                      <dt><a href="#backup_update" class="icon-refresh">Backup and Update</a></dt>
    +                      <dd></dd>
    +                     </dl> 
    +                  </li>
    +                  <li class="nav-item item5">
    +                    <dl class="slide-down">
    +                      <dt><a href="#page_templates_sidebars" class="icon-file-alt">Page Templates and Sidebars</a></dt>
    +                      <dd></dd>
    +                     </dl> 
    +                  </li> 
    +                  <li class="nav-item item6">
    +                    <dl class="slide-down">
    +                      <dt><a href="#posts_categories" class="icon-edit">Posts, Cat. and Post Formats</a><i class="icon-sample"></i></dt>
    +                      <dd>
    +                        <ul class="list">
    +                          <li><a href="#adding-category">Adding category</a></li>
    +                          <li><a href="#blog_post">Creating a Blog post</a></li>
    +                          <li><a href="#post-formats">Choosing a Post Format</a></li>
    +                          <li><a href="#product_post">Creating a Product post</a></li>
    +                          <li><a href="#slider_post">Creating a slider post</a></li>
    +                          <li><a href="#portfolio_post">Adding a Portfolio post</a></li>
    +                          <li><a href="#testimonial_post">Adding a Testimonials post</a></li>
    +                          <li><a href="#faq_post">Adding an FAQs post</a></li>
    +                          <li><a href="#team_post">Adding an Our Team post</a></li>
    +                        </ul>
    +                      </dd>
    +                    </dl>
    +                  </li>                  
    +                  <li class="nav-item item7">
    +                    <dl class="slide-down">
    +                       <dt><a href="#portfolio_page" class="icon-picture">Portfolio page </a></dt>
    +                         <dd></dd>
    +                     </dl> 
    +                  </li> 
    +                  <li class="nav-item item8">
    +                    <dl class="slide-down">
    +                       <dt><a href="#shortcodes" class="icon-file">Shortcodes </a> <i class="icon-sample"></i></dt>
    +                         <dd>
    +                           <ul class="list">          
    +                            <li><a href="#dynamic_shortcodes">Dynamic</a></li>
    +                            <li><a href="#columns_shortcodes">Columns</a></li>     
    +                            <li><a href="#elements_shortcodes">Elements</a></li>  
    +                            <li><a href="#other_shortcodes">Other</a></li>                
    +                           </ul> 
    +                       </dd>
    +                     </dl> 
    +                  </li> 
    +                  <li class="nav-item item9">
    +                    <dl class="slide-down">
    +                      <dt><a href="#plugins_widgets" class="icon-magnet">Custom Widgets</a></dt>
    +                     </dl> 
    +                  </li> 
    +                  <li class="nav-item item10">
    +                    <dl class="slide-down">
    +                      <dt><a href="#theme_options" class="icon-cogs">Cherry Options</a><i class="icon-sample"></i></dt>
    +                      <dd>
    +                         <ul class="list">          
    +                          <li><a href="#general_option">General</a></li>
    +                          <li><a href="#logo_option">Logo &amp; Favicon</a></li>    
    +                          <li><a href="#navigation_option">Navigation</a></li>    
    +                          <li><a href="#slider_option">Slider</a></li>    
    +                          <li><a href="#blog_option">Blog</a></li>    
    +                          <li><a href="#portfolio_option">Portfolio</a></li>  
    +                          <li><a href="#footer_option">Footer</a></li>
    +                          <li><a href="#shop_option">Shop Options</a></li>                  
    +                         </ul> 
    +                      </dd>
    +                     </dl> 
    +                  </li> 
    +                </ul>
    +            </div>
    +      </div> 
    +
    +      
    +<div class="span9">
    +
    +<!-- box-content
    +================================================== -->
    +<div class="box-content">
    +  <!-- block-started
    +  ================================================== -->
    +  <section class="block-started"  id="introduction">
    +    <h2><i class="icon-info-sign"></i> Introduction</h2>
    +    <p>Thank you for purchasing WooCommerce template. This documentation consists of several parts and shows you the entire process of setting up and administering WordPress Website from scratch.</p>
    +    
    +    <div id="wordpress_cms_desc">
    +      <h4>What is WordPress CMS?</h4>
    +      <p>WordPress is a free and open source blogging tool and a content management system (CMS) based on PHP and MySQL. It enables you to build Websites and powerful on-line applications and requires almost no technical skills or knowledge to manage. Many aspects, including its ease-of-use and extensibility, have made WordPress the most popular Web site software available. <a href="http://wordpress.org/about/" target="_blank">Learn More</a></p>
    +    </div>
    +
    +    <div id="wordpress_template_desc">
    +      <h4>What is WooCommerce template</h4>
    +      <p>WooCommerce template is a skin for website built with WordPress CMS platform. In other words you can easily change your WordPress Web site appearance installing new template in a few easy steps. With all it's simplicity WordPress template is provided with all necessary source files and you are free to edit or extend it the way you need.</p>
    +    </div>
    +
    +    <div id="file_structure">
    +      <h4>Files structure</h4>
    +      <p>The template package you have downloaded consists of several folders. Let's see what each folder contains :</p>
    +      <ul class="files_structure">
    +
    +        <li class="folder"><i class="icon-folder-close"></i> <b>Documentation</b><small class="muted"> - contains documentation files</small>
    +          <ul>
    +            <li class="file"><i class="icon-file"></i> template_instructions.html<small class="muted"> - main documentation file. You are right here :)</small></li>
    +          </ul>
    +        </li>
    +
    +        <li class="folder"><b>Screenshots</b><small class="muted"> - contains template screenshots. Not for production</small></li>
    +
    +        <li class="folder"><b>Sources</b><small class="muted"> - contains template source files</small>
    +          <ul>
    +            <li class="folder"><i class="icon-folder-close"></i> psd<small class="muted"> - template Adobe Photoshop source files (.psd)</small></li>
    +          </ul>
    +        </li>
    +
    +        <li class="folder"><i class="icon-folder-close"></i> <b>Theme</b><small class="muted"> - contains WordPress theme files</small>
    +          <ul>
    +            <li class="file"><i class="icon-file"></i> CherryFramework.zip<small class="muted"> - Cherry Framework theme archive. Contains all theme files. Should be installed through WordPress extension manager</small></li>
    +            <li class="file"><i class="icon-file"></i> theme####.zip<small class="muted"> - theme(child-theme) archive. Contains all theme files. Should be installed through WordPress extension manager</small></li>
    +            <li class="folder"><i class="icon-folder-close"></i> sample_data<small class="muted"> - contains files that can make your WordPress website look like our live demo</small>
    +              <ul> 
    +                <li class="file"><i class="icon-file"></i> sample_data.xml<small class="muted"> - contains all template sample data (posts, pages, categories etc.)</small></li>
    +                <li class="file"><i class="icon-file"></i> widgets.json<small class="muted"> - contains widgets settings</small></li>
    +              </ul>
    +            </li>
    +            <li class="folder"><i class="icon-folder-close"></i> manuall_install<small class="muted"> - contains files that can make your WordPress website look like our live demo</small>
    +              <ul> 
    +                <li class="file"><i class="icon-folder-close"></i> uploads<small class="muted"> - contains theme images</small></li>
    +                <li class="file"><i class="icon-file"></i> theme#####.sql<small class="muted"> - database backup file(contains theme content)</small></li>
    +              </ul>
    +            </li>
    +            <li class="file"><i class="icon-file"></i> license.txt<small class="muted"> - contains license details</small></li>
    +          </ul>
    +        </li>
    +
    +        <li class="file"><i class="icon-file"></i> fonts_info.txt<small class="muted"> - contains links where the template custom fonts can be downloaded</small></li>
    +        <li class="file"><i class="icon-file"></i> info.txt<small class="muted"> - contains instructions on how to extract source files</small></li>
    +      </ul>
    +    </div>
    +  </section>
    +  
    +<!-- prepare started --> 
    +  <section class="block-templates" id="prepare">  
    +    <h2><i class="icon-check"></i> Prepare</h2>
    +    <p>Before you proceed to setting up your WordPress Web site please make sure you are fully prepared. Please complete the following preparation steps:</p>
    +
    +    <div id="software">
    +      <h4>Editing software</h4>
    +      <p>To feel comfortable working with WooCommerce template we recommend you to download all applications required. You can see the list of required software at the template preview page. <br>Requirements may vary depending on the template, we're going to tell you in general what’s needed:</p>
    +
    +      <ol>
    +        <li>First of all you need the right applications to extract the password protected sources_#########.zip archive. You can use WinZip 9+ (Windows) and Stuffit Expander 10+ (Mac).</li>
    +        <li>You may also need Adobe Photoshop application. It’s used to edit .PSD source files and it’s necessary if you want to edit template design graphics and images.</li>
    +        <li>To edit template source code files you need some code editor like Adobe Dreamweaver, Notepad++, Sublime Text etc.</li>
    +        <li>To upload files to the hosting server you may need an FTP Manager like Total Commander, FileZilla, CuteFTP etc.</li>
    +      </ol>
    +    </div>
    +
    +    <div id="hosting">
    +      <h4>Hosting</h4>
    +      <p>As WordPress CMS is a PHP/MySQL based application, you need to prepare a hosting environment to run WordPress.</p>
    +      <p>If you have a live hosting please make sure it matches <a href="http://wordpress.org/about/requirements/" target="_blank">WordPress software requirements</a> and is ready to be used for WordPress websites.</p>
    +      <p>Otherwise you can run WordPress locally on your computer using the local server. To create a local hosting server please use the localhost applications as <b>WAMP</b>, <b>AppServ</b>, <b>MAMP</b> etc. Any of those can be easily installed as any other program and used to run WordPress. </p>
    +      <p>Please check the tutorials below on how to configure local development environment:</p>
    +      <ul class="unstyled">
    +        <li><i class="icon-film"> </i><a href="http://templatemonster.com/help/how-to-install-appserv-web-development-environment.html">How to install AppServ web development environment</a></li>
    +        <li><i class="icon-film"> </i><a href="http://templatemonster.com/help/how-to-install-wamp-web-development-environment.html">How to install WAMP web development environment</a></li>
    +        <li><i class="icon-film"> </i><a href="http://templatemonster.com/help/how-to-install-xamp-web-development-environment.html">How to install XAMP web development environment</a></li>
    +      </ul>
    +    </div>
    +  </section>
    +<!-- prepare started --> 
    +
    +<!-- Getting started --> 
    +  <section class="block-templates" id="getting_started">  
    +
    +    <h2><i class="icon-play"></i> Getting Started</h2>
    +
    +      <!-- Engine installation -->
    +
    +    <article id="engine-installation">
    +      <h4>Engine installation</h4>
    +      <div class="box-info"><span>Download correct WordPress engine version. At the template preview page, in the requirements section you can see the required WordPress version. Please make sure you are downloading the correct one.</span></div>
    +      <ol>
    +        <li>The WordPress engine could be downloaded from the official website at WordPress.org <a href="http://wordpress.org/download/" target="_blank"><strong>Download WordPress</strong></a>. In case you need earlier release you can click the Release <a href="http://wordpress.org/download/release-archive/" target="_blank"><strong>Release Archive</strong></a> link.
    +        </li>
    +        <li>When you are done with the downloading you need to extract the files from the engine and template packages. To extract the files from the WordPress engine <strong>ZIP</strong> package you can use any archive manager that can handle ZIP archives.
    +          <p>The following tutorials will show you how to extract files on <a href="http://www.templatemonster.com/help/unzipping-your-template.html" target="_blank"><strong>Windows(WinZip)</strong></a> and <a href="http://www.templatemonster.com/help/how-unzip-template-mac.html" target="_blank"><strong>MAC(StuffitExpander)</strong></a>.</p>
    +          <ul class="list-2">
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/extract-archived-files-mac-os.html" target="_blank">Extract archived files (MAC OS)</a></li>
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/extract-archived-files-windows-os.html" target="_blank">Extract archived files (Windows OS)</a></li>
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/downloading-and-installing-winzip.html" target="_blank">Downloading and Installing WinZip</a></li>
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/how-unzip-template-mac.html" target="_blank">How to unzip a template (MAC OS)</a></li>
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/unzipping-your-template.html" target="_blank">How to unzip a template (Windows OS)</a></li>
    +          </ul>
    +        </li>
    +        <li>After extracting the files you need to upload the WordPress engine files and folders to your hosting server.
    +          <p>All these files and folders should be uploaded to your hosting server. The engine files should be uploaded to the <strong>PUBLIC_HTML</strong> or <strong>WWW </strong>directory on your server.</p>
    +
    +          <div class="box-info"><span>If you don’t see PUBLIC_HTML or WWW directories on your hosting server please contact your hosting and specify where to upload the website files.</span></div>
    +
    +          <p>Please check the following tutorials on how to upload files to server:</p>
    +          <ul class="list-2">
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/how-upload-files-server-2.html" target="blank">How to upload files to server</a>
    +            <li><i class="icon-info-sign"></i> <a href="http://www.templatemonster.com/help/how-to-upload-files-to-a-server-using-cpanel-webhost-manager-whm.html" target="blank">How to upload files to a server using cPanel (WebHost Manager, WHM)</a> </li>
    +          </ul>
    +        </li>
    +        <li>At this step you need to create a database which will be used by your WordPress engine.
    +
    +          <p>You can create new database using database management tool from your hosting control panel (<i>usually PhpMyAdmin</i>).</p>
    +
    +          <p>With phpMyAdmin tool you will be able to create new database in 3 simple steps: (check the slides below)</p>
    +
    +          <ol class="list">
    +            <li>Click Database button from the top navigation menu to access the database listing</li>
    +            <li>Input database name into the "Create new database" field </li>
    +            <li>Click Create button on the right side</li>
    +          </ol>
    +
    +          <p>Your database can be seen in the database listing. Click on it's name to get access to the database</p>
    +
    +          <div class="flexslider clearfix img-polaroid">
    +            <ul class="slides">
    +              <li>
    +                <img src="img/database-create-1.jpg" alt="" />
    +                <div class="flex-caption">
    +                  <p>1. Click Database button to access to the database listing</p>
    +                </div>
    +              </li>                   
    +              <li>
    +                <img src="img/database-create-2.jpg" alt="" />
    +                <div class="flex-caption">
    +                  <p>2. Input database name <br>
    +                  3. Click Create button</p>
    +                </div>
    +              </li>
    +              <li>
    +                <img src="img/database-create-3.jpg" alt="" />
    +                <div class="flex-caption">
    +                  <p>4. Your database can be seen in the database listing. Click on it's name to get access to the database.</p>
    +                </div>
    +              </li> 
    +            </ul>    
    +          </div>
    +            <br>     
    +          <p>You can also check detailed video tutorial on <i class="icon-film"> </i>  <a href="http://templatemonster.com/help/how-to-create-a-database.html">How to create a database</a></p>
    +       <br />   
    +          <div class="box-notification"><span>If you have any issues creating a database please contact your hosting provider for help and assistance.</span></div>
    +
    +          <p>Feel free to check detailed tutorials below:</p>
    +          <ul class="list-2">
    +            <li class="first"><i class="icon-info-sign"></i> <a target="_blank" href="http://www.templatemonster.com/help/how-create-database.html">How to create a database</a></li>
    +            <li class="last"><i class="icon-info-sign"></i> <a target="_blank" href="http://www.templatemonster.com/help/how-to-create-mysql-database-with-godaddy.html">How to create MySQL database with GoDaddy </a></li>
    +          </ul>
    +        </li>
    +        <li>In your browser address bar type your domain name/root to the WordPress files and press Enter. This will start the installation procedure.
    +        </li>
    +        <li><strong>Creating configuration file.</strong> The initial WordPress installation screen will notify you that the configuration file is unavailable. Click Create Configuration File button to create it.
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/wp-install-1-b.jpg" alt="Creating configuration file."></figure>
    +            <p class="muted text-center"></p>
    +
    +        </li>
    +        <li><strong>Inserting database details.</strong> Here you need to input the WordPress database connection details.
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/wp-install-3-b.jpg" alt="Inserting database details."></figure>
    +            <p class="muted text-center"></p>
    +
    +        </li>
    +        <li><strong>Inserting website details.</strong> On the following screen you should input the website details such as:
    +          <ul>
    +            <li><i class="icon-angle-right"></i> website title</li>
    +            <li><i class="icon-angle-right"></i> administrator username and password</li>
    +            <li><i class="icon-angle-right"></i> website email address</li>
    +          </ul>
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/wp-install-6-b.jpg" alt="Inserting website details."></figure>
    +            <p class="muted text-center"></p>
    +
    +        </li>
    +        <li>When you are done click Install WordPress button.
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/wp-install-7-b.jpg" alt="Install WordPress button."></figure>
    +            <p class="muted text-center"></p>
    +
    +          <p>If all data has been inserted correctly you’ll see the Success window with the button to LogIn to your WordPress administration panel.</p>
    +        </li>
    +      </ol>     
    +                
    +      <div class="box-success"><span>Congratulations! You have successfully installed WordPress CMS.</span></div>
    +    </article>
    +
    +    <!-- Theme installation -->
    +
    +    <article>
    +        <h4 id="theme-installation">Theme installation</h4>
    +
    +              <div class="box-notification">
    +                <span>
    +                  <strong>Warning!</strong>
    +                  WooCommerce plugin should be installed before the theme installation
    +                </span>
    +              </div>
    +
    +              <p>There are two ways to install the theme: via the admin panel of WordPress or via FTP. If one way does not work for you for some reason, you can always try the other one. </p>
    +              <h5>Upload via WordPress admin:</h5>
    +              <p>Installation process includes two steps: framework installation and child theme installation. Both steps are basically identical and  easy to follow.</p>
    +              <ol style="margin-bottom:.5em;">
    +                <li>Login to your WordPress admin panel (add /wp-admin to your domain name in the browser address bar).</li>
    +                <li>Go to the menu <strong>Appearance</strong> > <strong>Themes</strong> and click the <strong>Install Themes </strong>tab.</li>
    +                <li>Click the <strong>Browse</strong> button and navigate to the unzipped template package on your computer.</li>
    +                <li>Look for a file called  <strong>CherryFramework.zip</strong>. Click on it to select, then click <strong>Ok</strong>.</li>
    +                <li>Click the <strong>Install Now</strong> button and wait till the installtion is complete.</li>
    +                <li>Click the <strong>Activate</strong> theme link.</li>
    +              </ol>
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/install.jpg" alt=""></figure>
    +            <p class="muted text-center"></p>
    +
    +              <p>For more information, feel free to check the detailed video tutorial on <a href="http://www.templatemonster.com/help/how-install-wordpress-theme-via-admin-panel.html" target="_blank">How to install a WordPress theme via admin panel</a> and <a href="http://www.templatemonster.com/help/wordpress-how-to-install-cherry-framework-template.html" target="_blank">How to install Cherry framework template</a>.</p>
    +              <p>Congratulations, you have just installed the framework. Now you can proceed to installing  the child theme: <strong>theme####.zip</strong>. The steps are the same:</p>
    +              <ol style="margin-bottom:.5em;">
    +                <li>Go to the menu <strong>Appearance</strong> > <strong>Themes</strong> and click the <strong>Install Themes </strong>tab.</li>
    +                <li>Click the <strong>Browse</strong> button and navigate to the unzipped template package on your computer.</li>
    +                <li>Look for a file called <strong>theme####.zip </strong>(where <strong>XXXX</strong> is the unique number of your theme). Click on it to select, then click <strong>Ok</strong>.</li>
    +                <li>Click the <strong>Install Now</strong> button and wait till the installtion is complete.</li>
    +                <li>Click the <strong>Activate</strong>  link to change the current layout of the site to the theme your purchased.</li>
    +              </ol>
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/theme_activate.jpg" alt=""></figure>
    +            <p class="muted text-center"></p>
    +
    +              <p>Congratulations, both the framework and theme have been successfully installed!</p>
    +            <br>
    +              <div class="box-info"><span>If there are problems to install them via the admin panel, here's the alternative way to do it.</span></div>
    +              <h5>Upload via ftp:</h5>
    +              <p>This way  assumes that you have access to your WordPress site files on FTP through the File  Manager of your hosting control panel or an FTP client like Filezilla,  CutrFTP,. Total Commander etc.</p>
    +            <ol>
    +              <li>Unzip the <strong>CherryFramework.zip</strong> and <strong>theme####.zip</strong> file to any folder on your hard drive (fist right  click each of the .zip files, select <strong>Unzip  to… CherryFramework and theme####</strong>   accordingly, so you get two folders called CherryFramework and theme####).
    +              </li>
    +              <li>Upload the <strong>CherryFramework</strong> and <strong>theme####</strong> folders to the <strong>/wp-content/themes/</strong> directory on your FTP server.</li>
    +              <li>Login to your WordPress admin panel (add /wp-admin after your domain name in the browser address bar).</li>
    +              <li>Go to the menu <strong>Appearance</strong> > <strong>Themes</strong>.</li>
    +              <li>Under the <strong>Available Themes</strong> section find <strong>theme####</strong> and activate it by clicking <strong>Activate</strong> button.</li>
    +            </ol>
    +              <br />
    +              <h4 id="plugins_intstall">Plugin Installation</h4>
    +              <p>Once the  theme is installed and activated, you will need to install its plugins:</p>
    +              <ol>
    +                <li>In your WordPress admin panel,  go to the menu <strong>Plugins -&gt; Add New.</strong></li>
    +                <li>Click <strong>Upload</strong>.</li>
    +                <li>Click <strong>Browse</strong>.</li>
    +                <li>Navigate to the <strong>theme####.zip\includes\plugins</strong>  folder in  your template package (the theme####.zip should be unzipped).</li>
    +                <li>Select of the .zip files in this  directory and click <strong>Ok</strong>.</li>
    +                <li>Click<strong> Install Now.</strong></li>
    +                <li>When the plugin is installed, click <strong>Activate</strong>.</li>
    +                <li>If there are more than one plugin in  the /plugins/ folder, repeat the steps to install and activate all of them.
    +                </li>
    +              </ol>
    +              <ul class="unstyled">
    +                <li><i class="icon-film"> </i> <a href="http://www.templatemonster.com/help/files/wordpress/how-to-install-plugin.swf">How to install Plugin</a></li>
    +              </ul>
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/plugins_install.jpg" alt=""></figure>
    +            <p class="muted text-center"></p>
    +
    +            <article id="plugins">
    +              <h4>Theme Plugins:</h4>
    +              <h5>Contact Form 7</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/extend/plugins/contact-form-7/">http://wordpress.org/extend/plugins/contact-form-7/</a><br />
    +              <span class="label">Description:</span> Contact form for contact page.</p>
    +
    +              <h5 class="indent_top">WooCommerce</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/plugins/woocommerce/">http://wordpress.org/plugins/woocommerce/</a><br />
    +              <span class="label">Description:</span> WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.</p>
    +            </article>
    +
    +            <article id="compat_plugins">
    +              <h4>Compatible Plugins:</h4>
    +              <h5 class="indent_top">WPML</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wpml.org/">http://wpml.org/</a><br />
    +              <span class="label">Description:</span> WPML makes it easy to build multilingual sites and run them.</p>
    +
    +              <h5 class="indent_top">JigoShop</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/plugins/jigoshop/">http://wordpress.org/plugins/jigoshop/</a><br />
    +              <span class="label">Description:</span> A feature-packed eCommerce plugin built upon WordPress core functionality ensuring excellent performance and customizability.</p>
    +
    +              <h5 class="indent_top">BuddyPress</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/plugins/buddypress/">http://wordpress.org/plugins/buddypress/</a><br />
    +              <span class="label">Description:</span> Social networking in a box. Build a social network for your company, school, sports team or niche community.</p>
    +
    +              <h5 class="indent_top">bbpress</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/plugins/bbpress/">http://wordpress.org/plugins/bbpress/</a><br />
    +              <span class="label">Description:</span> bbPress is forum software, made the WordPress way.</p>
    +
    +              <h5 class="indent_top">Mingle Forum</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/plugins/mingle-forum/">http://wordpress.org/plugins/mingle-forum/</a><br />
    +              <span class="label">Description:</span> Mingle Forum allows you to easily and quickly put a Forum on your WordPress site/blog.</p>
    +
    +              <h5 class="indent_top">WP Forum Server</h5>
    +              <p><span class="label label-info">Download:</span> <a href="http://wordpress.org/plugins/forum-server/">http://wordpress.org/plugins/forum-server/</a><br />
    +              <span class="label">Description:</span> This WordPress plugin is a complete forum system for your wordpress blog.</p>
    +            </article>
    +
    +              <br />
    +              <h4 id="theme_sample_data">Sample Data Install</h4>
    +              <p>To make your WordPress website look like our live demo, please follow the instructions below. We also  suggest you always have a backup .sql file <a href="http://www.templatemonster.com/help/phpmyadmin-how-to-backup-a-database.html">exported</a> from your database.  </p>
    +            <ol>
    +            <li>Go to the menu <strong>Cherry Options &gt; Import.</strong></li>
    +                <li>Follow the steps there. On <strong>Step One</strong> you will be prompted to upload the file with <strong>sample_data.xml</strong> extension, which contains all template sample data (posts, pages, categories etc.). Once you have selected the file, click <strong>Upload File and Import</strong> button (If you do not want to install sample data from live demo you need to <strong>skip</strong> this step.)
    +                  <p>&nbsp;</p>
    +            <figure class="img-paraloid"><img src="img/wordpress/import_1st_step.jpg" alt=""></figure>
    +                </li>
    +                <li>
    +                  <p>After this you will need to select the author for the posts and pages you are importing. Click <strong>Next</strong> button to run the process.</p>
    +                  <p>Sample data import process usually takes approximately 2 minutes so be patient and wait a bit. Please, <strong>don't terminate this process</strong>.</p>
    +            <figure class="img-paraloid"><img src="img/wordpress/import_2nd_step.jpg" alt=""></figure>
    +
    +                </li>
    +                <li>
    +                  <p>On the third step you will be prompted to upload <strong>widgets.json</strong> (This file located in  the <strong>/theme/sample_data/</strong> folder of the template package contains widgets settings. Before  importing the file, make sure there are no widgets already added to your site:  go to the menu <strong>Appearance &gt; Widgets, </strong>open  the widget areas on the right and if there are any widgets, drag and drop  them to the left side under Inactive Widgets so all these widget areas are  empty). Once you have selected the file, click <strong>Next</strong> button (If you do not want to install widgets  settings from live demo you need to skip this step).</p>
    +           
    +            <figure class="img-paraloid"><img src="img/wordpress/import_3d_step.jpg" alt=""></figure>
    +                </li>
    +                <li>
    +                  <p>This will  allow you to choose what widgets you would like to install from the list. All widgets  should be checked if you would like to install them all.Сlick <strong>Next </strong>to proceed to the next  step.</p>
    +            <figure class="img-paraloid"><img src="img/wordpress/import_4nd_step.jpg" alt=""></figure>
    +                  
    +                </li>
    +                <li>
    +                  <p>Click the<strong> Save Changes</strong> button, to activate SEO-optimized permalinks structure.</p>
    +   
    +            <figure class="img-paraloid"><img src="img/wordpress/import_permalinks.jpg" alt=""></figure>
    +                </li>
    +                <li>
    +                  <p><strong>Congratulations!</strong> You have successfully installed your Cherry WordPress Theme. You can look theme now</p>
    +   
    +            <figure class="img-paraloid"><img src="img/wordpress/import_5nd_step.jpg" alt=""></figure>
    +                </li>
    +              </ol>
    +              <h4 id="manual_install">Manual installation</h4>
    +              <p>If you are  having problems with installing the sample data, please follow the instructions  below.</p>
    +            <div class="box-notification"><span>ATTENTION: Importing the SQL file to your database will overwrite your existing content and website settings. DO NOT import the SQL file if you want to keep the existing content.</span></div>
    +                <div class="box-info"><span>NOTE: Always backup your database before performing any modifications.</span></div>
    +                <div class="box-info"><span>Please note that the prefix of WordPress database tables should be <strong>wp_</strong></span></div>
    +   
    +            <figure class="img-paraloid"><img src="img/wordpress/wp_prefix.jpg" alt=""></figure>
    +            <p class="muted text-center"></p>        
    +              <p>If the  database prefix is different, it should be changed according to this <a href="http://www.templatemonster.com/help/wordpress-how-to-change-database-tables-prefix-in-sql-file.html">manual</a>.</p>
    +            <p>To make your WordPress look like our live demo please, follow the instructions bellow.</p>
    +              <ol>
    +                <li>Make sure the theme has been installed according to the <a href="#theme-installation">following directions.</a></li>
    +                <li>Copy the"<strong>uploads</strong>" folder (that is located under the<strong> theme/manual_install/</strong>folder of your template package) to the<strong> /wp-content/ </strong> folder on your FTP.</li>
    +                <li>Open the <strong>theme####.sql</strong> file that is located in the <strong>theme/manual_install/</strong> folder in any text editor (preferably Dreamweaver or Notepad) and replace all instances of "<strong>your_website_url_here</strong>" with your website URL in the entire document using the <strong>Find and Replace</strong> tool (hit Ctrl+H hot keys to open this window). E.g.: http://www.mywebsite.com</li> 
    +                <li>Please, make sure that you do not have the forward slash "/" sign at the end of the address and the url starts with http://www.</li>
    +                <li>Save your changes and close the file.</li>
    +                <li>Now  you can <a href="http://www.templatemonster.com/help/phpmyadmin-how-to-import-sample-data-dump-file-phpmyadmin.html">import</a> the dump file with the <strong>phpMyAdmin</strong> tool or some other database management tool.            </li>
    +              </ol>
    +              <p>If you have problems with manual installation, please read this <a href="http://www.templatemonster.com/help/wordpress-how-to-install-cherry-framework-theme-sample-data-manually.html">manual</a>.</p>
    +              <h4 id="permilinks_settings" style="font-size:14px">Permalinks settings</h4>
    +              <div class="box-info"><span>NOTE: Congifure the given settings right after the installation of the theme.</span></div>
    +              <p>In this template custom Permalinks are used, so the standard paths like <strong>http://demolink.org/?p=1</strong> are replaced with <strong>http://demolink.org/home </strong>etc. This way of links configuration can be used  not only by our blog followers but will also help with SEO-optimisation of your site. The advantages and the main features of this link configuration method are covered at <a href="http://codex.wordpress.org/Using_Permalinks">http://codex.wordpress.org/Using_Permalinks</a></p>
    +                Please follow the steps below:
    +                <ol>
    +                  <li>Log in to your WordPress Administration Panel (Dashboard).</li>
    +                  <li>Go to the menu   <strong>Settings</strong> &gt; <strong>Permalinks</strong>.</li>
    +                  <li>On the  permalinks settings page please check <strong>Custom structure</strong>, then copy and paste the following settings <strong>/%category%/%postname%/</strong></li>
    +                  <li>With that done, click the <strong>Save changes</strong> button.</li>
    +                </ol>
    +
    +            <figure class="img-paraloid"><img src="img/wordpress/permalinks.jpg" alt=""></figure>
    +            <p class="muted text-center"></p>   
    +              <p>If you install the theme with the dump.sql file the settings will be configured automatically. However, you need to save current settings by clicking <strong>Save changes</strong>. Otherwise, some links may not work.</p>
    +              <br />
    +              <h4 id="menu_settings" style="font-size:14px">Menu setup</h4>
    +              <div class="row">
    +            <div class="pull-left">
    +            <figure class="img-paraloid"><img src="img/wordpress/menu.jpg" alt=""></figure>
    +            <p class="muted text-center"></p></div>
    +                <div class="extra-wrap">
    +                  <p>WordPress 3.0 comes with a new menu management panel, which makes building your site’s navigation very easy and flexible.</p>
    +                  <h4>This theme is registered with three menu locations:</h4>
    +                  <ul>
    +                    <li><i class="icon-angle-right"></i> Header Menu - in Header</li>
    +                    <li><i class="icon-angle-right"></i> Footer Menu - in Footer</li>
    +                    <li><i class="icon-angle-right"></i> Shop Menu - in Header before Header Menu</li>
    +                  </ul>
    +                  For more info on how to setup your menu in wp 3.0, see <a href="http://codex.wordpress.org/Appearance_Menus_SubPanel">http://codex.wordpress.org/Appearance_Menus_SubPanel</a>
    +                </div>
    +              </div>
    +               <div class="box-info"><span>Note! If the menu does not appear as the livedemo, go to Appereance > Menus and select the dropdown "Header Menu"</span></div>
    +    </article>
    +  </section>
    +<!-- Getting started end --> 
    +<!--Backup and Update started --> 
    +  <section class="block-templates" id="backup_update">  
    +
    +    <h2><i class="icon-refresh"></i> Backup and Update</h2>
    +
    +    <div class="box-notification"><span>Before updating Cherry Framework we are strongly suggesting you make a backup of the current version.</span></div>
    +    <h4>Backup</h4>
    +    <div class="row">
    +      <figure class="img-paraloid pull-left"><img src="img/wordpress/backup.jpg" alt=""></figure>
    +      <p>To make things right you need to follow some simple steps:</p>
    +      <ol>
    +        <li>In your admin panel open the tab Appearance => Themes;</li>
    +        <li>Then you need to find Cherry Framework in the Available Themes section;</li>
    +        <li>Press the button Backup which is under the Cherry framework’s thumbnail;</li>
    +        <li>Wait till the process begins;</li>
    +        <li>…and it’s done.</li>
    +      </ol>
    +      <p>Now you can find the archive with your framework or child theme in the wordpress/wp-content/themes_backup/ folder.</p>
    +      <p>If some difficulties occur you may download the archive and re-install framework via tabs Appearance -> Themes -> Install Themes -> Upload.</p>
    +    </div>
    +
    +    <h4>Update</h4>
    +    <div class="row">
    +      <figure class="img-paraloid pull-left"><img src="img/wordpress/update.jpg" alt=""></figure>
    +      <p>To update Cherry Framework you need to follow some simple steps:</p>
    +      <ol>
    +        <li>In your admin panel open the tab Appearance => Themes;</li>
    +        <li>Then you need to find Cherry Framework in the Available Themes section;</li>
    +        <li>Press the button Update Now which is under the Cherry framework’s links;</li>
    +        <li>Wait till the process begins;</li>
    +        <li>…and it’s done.</li>
    +      </ol>
    +    </div>
    +  </section>
    +<!--Backup and Update end --> 
    +<!-- Page Templates and Sidebars begin -->
    +  <section class="block-templates" id="page_templates_sidebars">  
    +
    +    <h2><i class="icon-file-alt"></i> Page Templates and Sidebars</h2>
    +
    +    <h4>Page Templates</h4>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Default Template</strong> (the default page template with a sidebar position)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Full Width Page</strong> (a page template with one column without a sidebar)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Home Page </strong> (a page template used for the Home page)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Filter Folio 2 cols</strong> (a page template for the custom gallery/portfolio posts displayed in 2 columns)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Filter Folio 3 cols</strong> (a page template for the custom gallery/portfolio posts displayed in 3 columns)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Filter Folio 4 cols</strong> (a page template for the custom gallery/portfolio posts displayed in 4 columns)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Testimonials</strong> (a page template to display the testimonial custom posts)</li>
    +        <li><i class="icon-angle-right"></i> <strong>FAQs</strong> (the page template to display the  FAQ posts)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Archives</strong> (the page template for displaying archives)</li>
    +      </ul>
    +      <br />
    +      <h4>Sidebar Position</h4>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Sidebar</strong> - areas <em>located on the right/left side of the pages</em></li>
    +        <li><i class="icon-angle-right"></i> <strong>Cart Holder</strong> - <em>Located at the top of pages. Created for the widget "WooCommerce Cart".</em></li>
    +        <li><i class="icon-angle-right"></i> <strong>Footer Area 1,2,3,4</strong> (optional) - areas l<em>ocated at the bottom of the pages.</em></li>
    +      </ul>
    +  </section>   
    +<!-- Page Templates and Sidebars end --> 
    +
    +<!-- Posts, Categories and Post Formats begin -->
    +  <section class="block-templates" id="posts_categories">  
    +
    +    <h2><i class="icon-edit"></i> Posts, Categories and Post Formats</h2>
    +
    +    <!-- Adding category -->
    +    <article id="adding-category">
    +      <h4>Adding category</h4>
    +      <p>Review the following article for more information on adding categories: <a href="http://codex.wordpress.org/Manage_Categories_SubPanel">http://codex.wordpress.org/Manage_Categories_SubPanel</a></p>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/cat1.jpg" alt=""></figure>
    +        <p class="muted text-center"></p>   
    +        <ol>
    +        <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Post</strong> tab</li>
    +        <li>With that done, click <strong>Categories</strong> for blog posts</li>
    +        <li>Type in the name of your new category</li>
    +        <li>With that done, click the <strong>Add New Category</strong> button</li>
    +        </ol>Click the <strong>Publish</strong> button.</li>
    +      </div>
    +    </article>
    +
    +    <!-- Blog post -->
    +    <article id="blog_post">
    +      <h4>Creating a Blog post</h4>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/cat3.jpg" alt=""></figure>
    +        <p class="muted text-center"></p>   
    +        <ol>
    +          <li>Log in to your WordPress Administration Panel (Dashboard).</li>
    +          <li>Click the <strong>Posts</strong> tab</li>
    +          <li>Click the <strong>Add New</strong> tab</li>
    +          <li>Type in your post content. For more info on adding posts, please check the following link <a href="http://codex.wordpress.org/Posts_Add_New_SubPanel">http://codex.wordpress.org/Posts_Add_New_SubPanel</a></li>
    +          <li>
    +        </ol>
    +      </div>
    +    </article>
    +
    +    <!-- Post Formats -->
    +    <article id="post-formats">
    +      <h4>Choosing a Post Format</h4>
    +      <p>Review the following link for more info on different post formats: <a href="http://codex.wordpress.org/Post_Formats">http://codex.wordpress.org/Post_Formats</a></p>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/post_format.jpg" alt=""></figure>
    +        <p class="muted text-center"></p>   
    +        <ol>
    +          <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +          <li>Click the <strong>Post</strong> tab</li>
    +          <li>To choose post format, check the ones listed under the <strong>Format</strong> box.</li>
    +        </ol>
    +        <span class="label label-info">Note:</span> Some of these formats have their own options. Their settings will appear under the post editor.
    +      </div>
    +      <p>Below is the list of available post formats with their descriptions and settings.</p>
    +      <h4>Standard Post Format</h4>
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_standard.jpg" alt=""></figure>
    +        <p class="muted text-center">Standard Post Format</p>     
    +        <p>A regular, standard post which has the following fields:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Post title</strong> - post title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Post content</strong> - post content</li>
    +          <li><i class="icon-angle-right"></i> <strong>Categories</strong> - post category(-ies)</li>
    +          <li><i class="icon-angle-right"></i> <strong>Tags</strong> - post tags</li>
    +          <li><i class="icon-angle-right"></i> <strong>Featured Image</strong> - post image</li>
    +          <li><i class="icon-angle-right"></i> and other fields which can be enabled under the <strong>Screen Options</strong> section located at the top right corner.</li>
    +        </ul>
    +        <h4>Aside Post Format</h4>
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_standard.jpg" alt=""></figure>
    +        <p class="muted text-center">Aside Post Format</p>    
    +        <p>This is a simplified regular post version. In other words, it comes with a post content field only and you don't need to fill in the post title and other fields. This is a so called post-note. </p>
    +        <h4>Gallery Post Format</h4>
    +        <p>The main feature of this post format is the ability to maintain unlimited number of attached images.</p>
    +        <p>Adding a Gallery Post Format:</p>
    +        <ol>
    +          <li>Click the<strong> Add Media</strong> button<br><span class="img-paraloid"><img src="img/wordpress/add_media.png" alt=""></span></li>
    +          <li>To add images from your hard drive, drag and drop your files into the box that appears, or click <strong>Select Files</strong> to choose a picture from your computer to upload.
    +            <figure class="img-paraloid"><img src="img/wordpress/insert-media.jpg" alt=""></figure></li>
    +          <li>After the images have finished uploading, you will be shown all the images in your Media Library. Select <strong>Uploaded to this post</strong> to see attached images.
    +            <figure class="img-paraloid"><img src="img/wordpress/uploaded-images.jpg" alt=""></figure>
    +          </li>
    +          <li>When you’ve finished editing, you may close Media Library. Uploaded images will be attached automatically.</li>
    +        </ol>
    +        <p>The gallery post format has all the standard fields (like title, content, categories etc.) same as the regular post format.</p>
    +        <h4>Link Post Format</h4>   
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_link.jpg" alt=""></figure>
    +        <p class="muted text-center">Link Post Format</p>  
    +        <p>After selecting the <strong>Link Post Format </strong>you will get an additional   <strong>URL </strong>field, where you need to specify the link (URL) for the target page/resource. The <strong>Post title </strong>will be used as your link text.</p>
    +        <p>In case you will fill in the post content field, it will be used as the target page/source description.</p>
    +        <h4>Image Post Format</h4>
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_image.jpg" alt=""></figure>
    +        <p class="muted text-center">Image Post Format</p>  
    +        <p>An<strong> Image Post Format</strong> is a post format based on single image, uploaded via the<strong> Featured Image</strong> option.<br> Upon selecting the Image Post Format you will be able to disable the lightbox image feature by selecting the corresponding setting in the <strong>Enable Lightbox</strong> image option.</p>
    +        <h4>Quote Post Format</h4>
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_quote.jpg" alt=""></figure>
    +        <p class="muted text-center">Quote Post Format</p>  
    +        <p>A<strong> Quote Post Format</strong> serves as so-called post-citation. It's used to publish a quotation of some person.</p>
    +        <p>Upon selecting this post format you will get an additional <strong>The Quote</strong> field - basically the body of the quotation and an<strong> Author</strong> field - quotation author name.</p>
    +        <h4>Audio Post Format</h4>
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_audio.jpg" alt=""></figure>
    +        <p class="muted text-center">Audio Post Format</p>  
    +        <p><strong>Audio Post Format</strong> is used for publishing audio-content.</p>
    +        <p>Upon selecting this post format you will get the following additional options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title</strong> - a track title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Artist</strong> - an audio track performer</li>
    +          <li><i class="icon-angle-right"></i> <strong>Audio Format</strong> - an audio track format</li>
    +          <li><i class="icon-angle-right"></i> <strong>Audio URL</strong> - a direct link to the audio track</li>
    +        </ul>
    +        <h4>Video Post Format</h4>
    +        <figure class="img-paraloid"><img src="img/wordpress/post_format_video.jpg" alt=""></figure>
    +        <p class="muted text-center">Video Post Format</p>  
    +        <p>A<strong> Video Post Format</strong> is used for publishing video-content.</p>
    +        <p>Upon selecting this post format you will get the following additional options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title</strong> - a video-clip title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Artist</strong> - a video-clip performer</li>
    +          <li><i class="icon-angle-right"></i> <strong>URL #1</strong> - a direct link to a video-clip in m4v format</li>
    +          <li><i class="icon-angle-right"></i> <strong>URL #2</strong> - a direct link to a video-clip in ogv format</li>
    +          <li><i class="icon-angle-right"></i> <strong>Embedded Code</strong> - used for off-site video embedding, e.g. via youtube, vimeo etc.</li>
    +        </ul>
    +        <p>Manual: <a href="http://www.templatemonster.com/help/wordpress-how-to-create-audiovideo-post.html">How to create audio/video post</a></p>
    +    </article>
    +
    +    <!-- Creating a product post -->
    +    <article id="product_post">
    +      <h4>Creating a Product post</h4>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/product_add.png" alt=""></figure>
    +        <p>Products are essentially <a href="http://codex.wordpress.org/Post_Types#Custom_Types">custom post types</a> which means that they are different from common posts, such as blog posts, portfolio posts etc. That allows us to manage the content of the site really easy. </p>
    +      </div>
    +      <p>You can learn the features of these types of posts at the official website of the <a href="http://docs.woothemes.com/document/managing-products/" target="_blank">WooCommerce</a> plugin.</p>
    +      <figure class="img-paraloid pull-left"><img src="img/wordpress/product_new.jpg" alt="" style="width:100%; height:auto"><br />
    +        <figcaption>Creating a product post</figcaption>
    +      </figure>
    +      <ol>
    +        <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Products</strong> tab</li>
    +        <li>Click the <strong>Add New</strong> tab</li>
    +        <li>Insert your product <strong>title</strong>.</li>
    +        <li>Upload your image with the help of the <strong>Featured Image </strong>option (click the <strong>Set featured image</strong> link)</li>
    +        <li>More information about product options you can find in <a href="http://docs.woothemes.com/document/managing-products/" target="_blank">Adding and managing products</a> article</li>
    +        <li>Click the <strong>Publish</strong> button</li>
    +      </ol>
    +    </article>
    +
    +    <!-- Creating a slider post -->
    +    <article id="slider_post">
    +      <h4>Creating a slider post</h4>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/slide_new.jpg" alt=""></figure>
    +        <p>Slides are essentially <a href="http://codex.wordpress.org/Post_Types#Custom_Types">custom post types</a> which means that they are different from common posts, such as blog posts, portfolio posts etc. That allows us to manage the content of the site really easy. </p>
    +      </div>
    +      <figure class="img-paraloid"><img src="img/wordpress/slider.jpg" alt=""></figure>
    +      <p class="muted text-center">Creating a slider post</p>  
    +      <ol>
    +        <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Slider</strong> tab</li>
    +        <li>And now click the <strong>Add New</strong> tab</li>
    +        <li>Insert your slider <strong>title</strong>.</li>
    +        <li>Upload your image with the help of the <strong>Featured Image </strong>option (click the <strong>Set featured image</strong> link)</li>
    +        <li>You can use the following fields for your slider<em></em>:
    +          <ul>
    +            <li><i class="icon-angle-right"></i> <strong>Caption</strong> -a field for slide caption.</li>
    +            <li><i class="icon-angle-right"></i> <strong>URL</strong> -a field for slide URL (you can put external link here).</li>
    +          </ul>
    +        </li>
    +        <li>And click the <strong>Publish</strong> button</li>
    +      </ol>
    +    </article>
    +    <!-- Creating a Portfolio post -->
    +    <article id="portfolio_post">
    +      <h4>Adding a Portfolio post</h4>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/folio_panel.jpg" alt=""></figure>
    +        <p>Portfolio items are essentially custom post types <a href="http://codex.wordpress.org/Post_Types#Custom_Types">http://codex.wordpress.org/Post_Types#Custom_Types</a> which means that they are different from common posts, such as blog posts, portfolio posts etc. That allows us to manage the content of the site really easy. </p>
    +      </div>
    +      <figure class="img-paraloid"><img src="img/wordpress/folio.jpg" alt=""></figure>
    +      <p class="muted text-center">Adding a portfolio post</p>
    +      <ol>
    +        <li>Log in to your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Portfolio</strong> tab</li>
    +        <li>And now the <strong>Add New</strong> one</li>
    +        <li>Fill in all the required fields (<strong>title</strong>, <strong>content</strong>)</li>
    +        <li>Upload your image with the help of the <strong>Featured Image </strong>option (click the <strong>Set featured image </strong>link)</li>
    +        <li>And click the <strong>Publish</strong> button</li>
    +      </ol>
    +      <h4>Choosing Portfolio post format</h4>
    +      <div class="row">
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/folio_format.jpg" alt=""></figure>
    +        <p>Creating a portfolio post in this theme allows you to select one of the available post types.</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Image</strong> - a default gallery post format. Displays only <em>featured image</em>.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Slideshow</strong> - the project gallery is displayed as a slideshow. It can contain unlimited number of images uploaded and attached to the post. </li>
    +          <li><i class="icon-angle-right"></i> <strong>Grid Gallery</strong> - post images are displayed as a gallery. Can contain unlimited number of images uploaded and attached to the post. </li>
    +          <li><i class="icon-angle-right"></i> <strong>Video</strong> - by selecting this post type you can embed a video from any video hosting (YouTube, Vimeo etc.).</li>
    +          <li><i class="icon-angle-right"></i> <strong>Audio</strong> - by selecting this post type you can embed your audio link. </li>
    +        </ul>
    +      </div>
    +    </article>
    +    <!-- Creating a Testimonials post -->
    +    <article id="testimonial_post">
    +      <h4>Adding a Testimonials post</h4>
    +      <figure class="img-paraloid"><img src="img/wordpress/testi.jpg" alt=""></figure>
    +      <p class="muted text-center">Adding a Testimonials post</p>
    +      <ol>
    +        <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Testimonials</strong> tab</li>
    +        <li>And click the <strong>Add New</strong> tab</li>
    +        <li>Fill in all the required fields (<strong>title</strong>, <strong>content</strong>)</li>
    +        <li>Upload your image with the help of the <strong>Featured Image </strong>option (click the <strong>Set featured image </strong>link)</li>
    +        <li>You can use the following fields for this sort of posts:
    +          <ul>
    +            <li><i class="icon-angle-right"></i> <strong>Name</strong> - author's name</li>
    +            <li><i class="icon-angle-right"></i> <strong>URL</strong> - author's link</li>
    +            <li><i class="icon-angle-right"></i> <strong>Info</strong> - author's additional info</li>
    +          </ul>
    +        </li>
    +        <li>Hit the <strong>Publish</strong> button</li>
    +      </ol>
    +    </article>
    +    <!-- Creating a Portfolio post -->
    +    <article id="faq_post">
    +      <h4>Adding an FAQs post</h4>
    +      <figure class="img-paraloid"><img src="img/wordpress/faq.jpg" alt=""></figure>
    +      <p class="muted text-center">Adding a FAQs post</p>
    +      <ol>
    +        <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>FAQs</strong> tab</li>
    +        <li>And now the <strong>Add New</strong> button</li>
    +        <li>Since it is a question/answer type of post, the title of the post is the question and the content is the answer.</li>
    +        <li>Click <strong>Publish</strong></li>
    +      </ol>
    +    </article>
    +    <!-- Creating a Portfolio post -->
    +    <article id="team_post">
    +      <h4>Adding an Our Team post</h4>
    +      <figure class="img-paraloid"><img src="img/wordpress/our_team.jpg" alt=""></figure>
    +      <p class="muted text-center">Adding a Our Team post</p>
    +      <ol>
    +        <li>Log into your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Our Team</strong> tab</li>
    +        <li>And now the <strong>Add New</strong> button</li>
    +        <li>Fill in all the required fields (<strong>title</strong>, <strong>content</strong>)</li>
    +        <li>Upload your image with the help of the <strong>Featured Image </strong>option (click the <strong>Set featured image </strong>link)</li>
    +        <li>You can use the following fields for this sort of posts:
    +          <ul>
    +            <li><i class="icon-angle-right"></i> <strong>Position</strong> - the position of the person.</li>
    +            <li><i class="icon-angle-right"></i> <strong>Info</strong> - an additional info</li>
    +          </ul>
    +        </li>
    +        <li>Click <strong>Publish</strong></li>
    +      </ol>
    +    </article>
    +  </section>   
    +<!-- Posts, Categories and Post Formats end --> 
    +
    +<!-- Portfolio page begin -->
    +  <section class="block-templates" id="portfolio_page">  
    +
    +    <h2><i class="icon-picture"></i> Portfolio page</h2>
    +
    +    <!-- Creating a Portfolio page -->
    +    <article>
    +      <h4>Creating a Portfolio page</h4>
    +      <figure class="img-paraloid"><img src="img/wordpress/folio_page.jpg" alt=""></figure>
    +      <p class="muted text-center">Creating a Portfolio page</p>
    +      <p>Portfolio pages can be created with the help of the page templates</p>
    +      <ol class="margbot">
    +        <li>Log in to your WordPress Administration Panel (Dashboard).</li>
    +        <li>Click the <strong>Pages</strong> tab</li>
    +        <li>Click the <strong>Add New</strong> tab</li>
    +        <li>Type in your page name, for example <strong>Portfolio page</strong></li>
    +        <li>Select your page template ( <strong>Filter Folio 2 cols</strong>, <strong>Filter Folio 3 cols</strong> or <strong>Filter Folio 4 cols</strong> in the <strong>Page Attributes</strong> drop-down menu)</li>
    +        <li>With that done, click the <strong>Publish</strong> button</li>
    +      </ol>
    +      <p>You can create category portfolio page using <strong>Category Include</strong> field. You need to write the slug of the category which you want to be displayed.</p>
    +      <figure class="img-paraloid"><img src="img/wordpress/category_in.jpg" alt=""></figure>
    +      <p>Feel free to check out the following tutorial on <a href="http://www.templatemonster.com/help/wordpress-how-to-add-portfolio-page.html" target="_blank">how to add portfolio page</a> and <a href="http://www.templatemonster.com/help/wordpress-how-to-work-with-portfolio-page.html" target="_blank">how to work with portfolio page</a>.</p>
    +    </article>
    +  </section>   
    +<!-- Portfolio page end -->
    +
    +<!-- Shortcodes begin -->
    +  <section class="block-templates" id="shortcodes">  
    +
    +    <h2><i class="icon-file"></i> Shortcodes</h2>
    +    <p>A shortcode is a powerful content building tool <a href="http://codex.wordpress.org/Shortcode">http://codex.wordpress.org/Shortcode</a>. Shortcodes are easy to use. First off all, make sure that the editing mode is set to <strong>Visual</strong>.</p>
    +    <figure class="img-paraloid"><img src="img/wordpress/sc_visual.jpg" alt=""></figure>
    +    <p>Then please click the button for the shortcodes. Then  select the shortcode you want to insert.</p>
    +    <figure class="img-paraloid"><img src="img/wordpress/sc_menu.jpg" alt=""></figure>
    +    <br>
    +    <p>All available shortcodes are conditionally divided into the three groups:</p>
    +    <ul>
    +      <li><i class="icon-angle-right"></i> <strong>Dynamic</strong> - used for content output (posts, custom post types, tags etc.)</li>
    +      <li><i class="icon-angle-right"></i> <strong>Grid Columns</strong> - various columns for grid forming.</li>
    +      <li><i class="icon-angle-right"></i> <strong>Elements</strong> - additional elements for content forming.</li>
    +      <li><i class="icon-angle-right"></i> <strong>Other</strong> - additional elements for advanced/complex content forming.</li>
    +    </ul>
    +    <article id="dynamic_shortcodes">
    +      <h4>Dynamic</h4>
    +      <h5>Post Grid</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_postgrid.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[posts_grid columns="3" rows="3" order_by="date" order="DESC" thumb_width="100" thumb_height="100" meta="yes" excerpt_count="20" link="yes" link_text="more" custom_class="custom_class"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> displays standard and custom posts in table view with configurable amount of columns and rows.</p></div>
    +      </div>
    +      <br>
    +      <h5>Post List</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_postlist.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[posts_list numb="3" thumbs="large" thumb_width="100" thumb_height="100" post_content="excerpt" order_by="date" order="DESC" link="yes" link_text="more" tags="yes" custom_class="custom_class"] </pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> displays standard and custom posts as on the blog page.</p></div>
    +      </div>
    +      <br>
    +      <h5>Mini Post Grid</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_minipostgrid.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[mini_posts_grid numb="3" thumbs="small" thumb_width="100" thumb_height="100" order_by="date" order="DESC" align="left"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> more compact version of [post_grid] shortcode. Displays the images of standard and custom posts with configurable images size.</p></div>
    +      </div>
    +      <br>
    +      <h5>Mini Post List</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_minipostlist.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[mini_posts_list numb="3" thumbs="small" thumb_width="100" thumb_height="100" meta="yes" order_by="date" order="DESC" excerpt_count="20"] </pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> more compact version of  [posts_list] shortcode. Displays standard and custom posts in list view.</p></div> 
    +      </div>
    +      <br>
    +      <h5>Recent Posts</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_recentposts.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[recent_posts num="3" post_format="standard" meta="false" thumb="true" excerpt_count="20"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> displays the recent posts which can be configured with the following options (post type, posts amount, post format, excerpt length, button title and others).</p></div>
    +      </div>
    +      <br>
    +      <h5>Recent Testimonials</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_recenttesti.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[recenttesti num="2" thumb="true"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> displays specified amount of Testimonials custom post type posts, includes the ability to show/hide posts images and manage words count.</p></div>
    +      </div>
    +      <br>
    +      <h5>Banner</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_banner.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[banner img="#" banner_link="#" title="Title" text="Text" btn_text="Button" target="_self"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a block with static text and/or image, title, link etc.</p></div>
    +      </div>
    +      <br>
    +      <h5>Comments</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_comments.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[recent_comments num="5"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> displays the latest comments.</p></div>
    +      </div>
    +      <br>
    +      <h5>Post Cycle</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_postcycle.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[post_cycle num="5" type="blog" meta="false" thumb="true" thumb_width="50" thumb_height="50" effect="slide"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> compact display of different posts in mini-slider view.</p></div>
    +      </div>
    +      <br>
    +      <h5>Carousel</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_car.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[carousel num="5" type="blog" thumb="true" thumb_width="120" thumb_height="50" date="yes" author="yes" min_items="3"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> displays the posts in carousel view, has various additional options.</p></div>
    +      </div>
    +      <br>
    +      <h5>Roundabout</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_roundabout.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[roundabout title="Title" num="3" type="blog"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> Roundabout is a jQuery plugin that converts a structure of static HTML elements into a highly customizable turntable-like interactive area.</p></div>
    +      </div>
    +      <br>
    +      <h5>Service Box</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_service.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[service_box title="Title" icon="icon1" text="Your text" btn_text="Button" btn_link="#" btn_size="normal" target="_self"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> used to display information blocks that include title, icon, text, button. The main feature of this shortcode is the existence of pre-installed icons.</p></div>
    +      </div>
    +      <br>
    +      <h5>Hero unit</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_hero.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span7"><pre class="prettyprint">[hero_unit title="Title" text="Text" btn_text="Button" btn_link="#" btn_style="default" btn_size="normal" target="_self"]</pre></div>
    +        <div class="span5"><p><span class="label">Description:</span> used to display major website information, promotions etc. Usually located on the main website page, right after the header.</p></div>
    +      </div>
    +      <br>
    +      <h5>Categories</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_cat.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[categories class="plus"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display the tags.</p></div>
    +      </div>
    +      <br>
    +      <h5>Tags</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[tags]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display the tags.</p></div>
    +      </div>
    +      <br>
    +    </article>
    +    <article id="columns_shortcodes">
    +      <h4>Columns</h4>
    +      <h5>Grid Columns (span1-12)</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[span#] [/span#] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used for forming of structural grid elements, where # - a number from 1 to 12, which defines element width.</p></div>
    +      </div>
    +      <br>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[row]
    +[span6] Your Content... [/span6]
    +[span6] t... [/span6]
    +[/row]</pre></div>
    +        <div class="span6"><p><span class="label label-info">Note,</span> while forming a grid you should "wrap" grid elements into [row] shortcode:</p></div>
    +      </div>
    +      <br>
    +      <h5>Fluid Columns (one_half, one_third...)</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[one_half] [/one_half] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used for forming of structural grid elements, grid elements width is delineated with %.</p></div>
    +      </div>
    +      <br>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[row_fluid]
    +[five_sixth] Your content... [/five_sixth]
    +[one_sixntent... [/one_sixth]
    +[/row_fluid]</pre></div>
    +        <div class="span6"><p><span class="label label-info">Note,</span> while forming a fluid grid you should "wrap" grid elements into [row_fluid] shortcode:</p></div>
    +      </div>
    +      <br>
    +      <h5>Multiple Columns (75% / 25% и etc.)</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">
    +[row]
    +[span8] t... [/span8]
    +[span4] Your content... [/span4]
    +[/row]</pre></div>
    +        <div class="span6"><p>Multiple Columns shortcodes used to simplify content forming by inserting the most used grid variants.</p></div>
    +      </div>
    +      <br>
    +    </article>
    +    <article id="elements_shortcodes">
    +      <h4>Elements</h4>
    +      <h5>Label</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_label.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[label style="default"]label[/label]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a label with pre-defined styling.</p></div>
    +      </div>
    +      <br>
    +      <h5>Highlight</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[highlight]Text[/highlight]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to highlight a chosen text fragment.</p></div>
    +      </div>
    +      <br>
    +      <h5>Button</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_button.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[button text="Text" link="#" style="default" size="normal" target="_self" display="inline" icon="no"] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to insert a button with various display settings (style, size, icon etc.).</p></div>
    +      </div>
    +      <br>
    +      <h5>Dropcap</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[dropcap]L[/dropcap] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a dropped capital letter.</p></div>
    +      </div>
    +      <br>
    +      <h5>Blockquote</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[blockquote] Text... [/blockquote]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a quotation.</p></div>
    +      </div>
    +      <br>
    +      <h5>Icon</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_icon.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[icon image="#" align="left"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a simple icon.</p></div>
    +      </div>
    +      <br>
    +      <h5>Frame</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[frame] I'm frame [/frame]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a container, which can maintain various content.</p></div>
    +      </div>
    +      <br>
    +      <h5>Horizontal rule</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[hr] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display horizontal line.</p></div>
    +      </div>
    +      <br>
    +      <h5>Small Horizontal rule</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[sm_hr] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display an alternative horizontal line with a smaller margin.</p></div>
    +      </div>
    +      <br>
    +      <h5>Vertical Rule</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[vr] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display vertical line.</p></div>
    +      </div>
    +      <br>
    +      <h5>Spacer</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[spacer] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to set vertical spacing between elements.</p></div>
    +      </div>
    +      <br>
    +      <h5>Progress bar</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_progress.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[progressbar value="20" type="info" grad_type="vertical" animated="no"]  </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display an indicator of some process completion.</p></div>
    +      </div>
    +      <br>
    +      <h5>Address</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[address] Your address here [/address] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used as some container for the address.</p></div>
    +      </div>
    +      <br>
    +      <h5>Clear</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[clear] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used for the re-zeroing of element flow around.</p></div>
    +      </div>
    +      <br>
    +      <h5>Lists shortcodes (unstyled, check, check2, arrow, arrow2, star, plus, minus)</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[check_list] List here ... [/check_list] </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> shortcodes set used to display various lists stylizations. Each shortcode implements it's own marker for the list items.</p></div>
    +      </div>
    +    </article>
    +    <article id="other_shortcodes">
    +      <h4>Other</h4>
    +      <h5>Video Preview</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_video_preview.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[video_preview post_url="http://demolink.org/blog/video-post-type/" title="yes" date="yes" author="yes"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to insert video preview, which can be loaded from the off-site services (youtube, vimeo) or from your website (self hosted).</p></div>
    +      </div>
    +      <h5>Alert Boxes (message, info, success, danger)</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_alert.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[alert_box style="message" close="yes"]Hello, World![/alert_box]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> shortcodes set used to display service messages.</p></div>
    +      </div>
    +      <br>
    +      <h5>Close icon</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[close dismiss="alert"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display close icon which closes parent element.</p></div>
    +      </div>
    +      <br>
    +      <h5>Well</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[well size="well-normal"] Your text here... [/well]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to insert stylized container.</p></div>
    +      </div>
    +      <br>
    +      <h5>Small</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[small] Your text here... [/small]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to insert a text block with smaller font size.</p></div>
    +      </div>
    +      <br>
    +      <h5>Title Box</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_title.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[title_box title="Title" subtitle="subtitle text" icon="#"]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display double title: main title text and additional one.</p></div>
    +      </div>
    +      <br>
    +      <h5>Tabs</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[tabs tab1="Title #1" tab2="Title #2" tab3="Title #3"] [tab1] Tab 1 content... [/tab1] [tab2] Tab 2 content... [/tab2] [tab3] Tab 3 content... [/tab3][/tabs]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display content arranged into tabs. Tabs may contain static and dynamic content.</p></div>
    +      </div>
    +      <br>
    +      <h5>Accordion</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[accordions] [accordion title="title1" visible="yes"] tab content [/accordion] [accordion title="title2"] another content tab [/accordion] [/accordions]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display an accordion - fold up panels with titles.</p></div>
    +      </div>
    +      <br>
    +      <h5>Table</h5>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[table td1="#" td2="Title" td3="Value"] [td1] 1 [/td1] [td2] some title 1 [/td2] [td3] some value 1 [/td3] [/table]</pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display a table.</p></div>
    +      </div>
    +      <br>
    +      <h5>Google Map</h5>
    +      <figure class="img-paraloid"><img src="img/wordpress/shortcode_map.jpg" alt=""></figure>
    +      <div class="row-fluid">
    +        <div class="span6"><pre class="prettyprint">[map src="#" width="300" height="200"]  </pre></div>
    +        <div class="span6"><p><span class="label">Description:</span> used to display Google maps. To make the shortcode work, you need to insert the desired location link from <a href="https://maps.google.com/">Google</a></div>
    +      </div>
    +       <br>
    +    <h5>Audio / Video</h5>
    +    <p><span class="label">Description:</span> WordPress 3.6 has great support for embedding YouTube and Vimeo videos, but if you wanted to play a video or audio file, like an MP3 or MP4 file, that has been uploaded to a server, you needed to implement some kind of player so that the file would appear as media rather than a link on your site. <a href="http://make.wordpress.org/core/2013/04/08/audio-video-support-in-core/" target="_blank">Read More</a></p>
    +    The process is similar to inserting an image into your post content:
    +    <ol class="clearfix">
    +      <li>Add or edit a page or post</li>
    +      <li>
    +        <p>Click in your content where you want the player to appear then hit <strong style="color:#666">Add Media</strong> above the content editor</p>
    +        <figure class="img-paraloid pull-left"><img src="img/audio_video_1.jpg" height="35" width="107" alt=""></figure>
    +        <div class="clear"></div>
    +      </li>
    +      <li>Click <strong>Upload Files</strong></li>
    +      <li>Upload an audio or video file</li>
    +      <li>
    +        <p>Make sure the file you uploaded is selected then under <em>Attachment Display Settings</em> set <em>Embed or Link</em> to &quot;Embed Media Player&quot;</p>
    +        <figure class="img-paraloid pull-left"><img src="img/audio_video_2.jpg" height="92" width="268" alt=""></figure>
    +        <div class="clear"></div>
    +      </li>
    +      <li>Click <strong>Insert into page</strong></li>
    +    </ol>
    +    <p>WordPress will have inserted a shortcode for your audio or video that will be replaced with the player.</p>
    +    <p>Maybe you uploaded an audio or video file to another server, say Amazon S3 or a file hosting service. Just enter the URL to your media file (unlinked) on a line of its own. For example, you want to embed a YouTube video. Simply paste that into your content on a line of its own and the YouTube player will show in its place when you publish. Be sure that the URL is not linked.</p>
    +    <div class="row-fluid">
    +      <div class="span6">
    +        <pre class="prettyprint prettyprinted">http://www.youtube.com/watch?v=mmRPSoDrrFU</pre>
    +      </div>
    +      <div class="span6">
    +        <p>That simple line above becomes this:</p>
    +        <iframe width="390" height="260" src="http://www.youtube.com/embed/2kodXWejuy0" frameborder="0" allowfullscreen=""></iframe>
    +      </div>
    +    </div>
    +    </article>
    +  </section>  
    +<!-- Shortcodes end --> 
    +<!-- Plugins and Custom Widgets begin -->
    +  <section class="block-templates" id="plugins_widgets">  
    +
    +    <h2><i class="icon-magnet"></i> Custom Widgets</h2>
    +    <article id="widgets">
    +      <h4>Widgets</h4>
    +      <p>The following widgets are also used in the theme:</p>
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_recent_comments.jpg" alt=""></figure>
    +        <h5>Cherry - Recent Comments</h5>
    +        <p>Displays recent comments in a more convenient format. The given widget includes the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title </li>
    +          <li><i class="icon-angle-right"></i> <strong>Number of comments to show:</strong> - Number of comments to show.</li>
    +        </ul>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_recent_posts.jpg" alt=""></figure>
    +        <h5>Cherry - Recent Posts</h5>
    +        <p>Displays your recent posts. You can also show custom posts of certain categories and add a read more link. The given Widget contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Category Slug:</strong> - Post Category Slug.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Post Format:</strong> - Choose Post Format for displaying posts.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Post Order:</strong> - You can choose order for displaying posts.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Posts per page:</strong> - The number of posts to display.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Excerpt length (words):</strong> - excerpt length (the number of words)</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link Text:</strong> - the Link Text that is displayed after the Recent Posts.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link Url:</strong> - Link URL that is displayed after the Recent posts.</li>
    +        </ul>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left" style="width:30%;"><a href="img/wordpress/widget_advanced_cycle.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/widget_advanced_cycle.jpg" alt=""><i class="icon-search"></i></a></figure>
    +        <div class="clearfix">
    +        <h5>Cherry - Advanced Cycle</h5>
    +        <p>The multifunctional widget is used to display different post types including the blog posts, as well as the functionality of changing display settings. This widget contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Posts type:</strong> - select Posts type</li>
    +          <li><i class="icon-angle-right"></i> <strong>Number of posts to show:</strong> - the number of posts</li>
    +          <li><i class="icon-angle-right"></i> <strong>Sort by:</strong> - Post selection option</li>
    +          <li><i class="icon-angle-right"></i> <strong>Reverse sort order (ascending):</strong> - reverse sort order</li>
    +          <li><i class="icon-angle-right"></i> <strong>Show number of comments</strong> - show the number of comments</li>
    +          <li><i class="icon-angle-right"></i> <strong>Show meta</strong> - show meta</li>
    +          <li><i class="icon-angle-right"></i> <strong>Container class:</strong> - wrapper class. Set to <em>featured_custom_posts</em> by default</li>
    +          <li><i class="icon-angle-right"></i> <strong>Show post title</strong> - show post title.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Date as title</strong> - for date usage instead of the title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Before title:</strong> - custom HTML-markup before Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>After title:</strong> - custom HTML-markup after Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Show post excerpt</strong> - show excerpt</li>
    +          <li><i class="icon-angle-right"></i> <strong>Excerpt length (words):</strong> - excerpt length (the number of words)</li>
    +          <li><i class="icon-angle-right"></i> <strong>Excerpt as link</strong> - convert excerpt into a link</li>
    +          <li><i class="icon-angle-right"></i> <strong>Show "More link"</strong> - show link <em>More</em> after the post</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link text:</strong> - Link Text</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link class:</strong> - CSS-class for the link <em>More link</em></li>
    +          <li><i class="icon-angle-right"></i> <strong>Show post thumbnail</strong> - show thumbnail for a post</li>
    +          <li><i class="icon-angle-right"></i> <strong>Width:</strong> - Image Width</li>
    +          <li><i class="icon-angle-right"></i> <strong>Height:</strong> - Image Height</li>
    +          <li><i class="icon-angle-right"></i> <strong>Thumbnail as link</strong> - convert the image into a link</li>
    +          <li><i class="icon-angle-right"></i> <strong>Show global link to all posts</strong> - Show global link to all posts</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link text:</strong> - the text of the given link</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link URL:</strong> - Link URL</li>
    +        </ul>
    +        </div>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_social_networks.jpg" alt=""></figure>
    +        <h5>Cherry - Social Networks</h5>
    +        <p>This is the Widget that allows linking to your social network accounts. The widget contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Facebook URL</strong>, <strong>Twitter URL</strong>, <strong>Flickr URL</strong> etc. - the links to your Social Network accounts</li>
    +          <li><i class="icon-angle-right"></i> <strong>Display:</strong> the way icons are displayed.
    +            <ul style="padding:.5em 0 0 1em;overflow:hidden;">
    +              <li><i class="icon-angle-right"></i> <em>Icons</em> - icons only.</li>
    +              <li><i class="icon-angle-right"></i> <em>Labels</em> - text only.</li>
    +              <li><i class="icon-angle-right"></i> <em>Both</em> - icons and text.</li>
    +            </ul>
    +          </li>
    +        </ul>
    +        <p>Manual: <a href="http://www.templatemonster.com/help/wordpress-how-to-work-with-the-social-icons-widget.html">How to work with the social icons widget</a></p>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_banners.jpg" alt=""></figure>
    +        <h5>Cherry - 125x125 Ads</h5>
    +        <p>This is the Widget that allows you to show a set of banners. The widget contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Image Ad link:</strong> - path to your banner image.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Ad link:</strong> - your banner link.</li>
    +        </ul>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_twitter.jpg" alt=""></figure>
    +        <h5>Cherry - Twitter</h5>
    +        <p>This widget alllows you to display the latest twitts from your twitter account. The widget contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Twitter Name:</strong> - your twitter name</li>
    +          <li><i class="icon-angle-right"></i> <strong>Twitts number:</strong> - amount of twitts to show.</li>
    +        </ul>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_flickr.jpg" alt=""></figure>
    +        <h5>Cherry - Flickr</h5>
    +        <p>This widget alllows you to  display photos from your flickr gallery. It contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title:</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Flickr ID:</strong> - your flickr ID</li>
    +          <li><i class="icon-angle-right"></i> <strong>Images count:</strong> - amount of photos to show.</li>
    +          <li><i class="icon-angle-right"></i> <strong>Link Text:</strong> - the  link text under your flickr photos.</li>
    +        </ul>
    +      </div>
    +      <br />
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left"><img src="img/wordpress/widget_vcard.jpg" alt=""></figure>
    +        <h5>Cherry - vCard</h5>
    +        <p>This widget alllows you to  display information about your company or about you. It contains the following options:</p>
    +        <ul>
    +          <li><i class="icon-angle-right"></i> <strong>Title (optional):</strong> - Widget Title</li>
    +          <li><i class="icon-angle-right"></i> <strong>Street Address:</strong> - put your street address here</li>
    +          <li><i class="icon-angle-right"></i> <strong>City/Locality:</strong> - enter your city or locality here</li>
    +          <li><i class="icon-angle-right"></i> <strong>State/Region:</strong> - enter your state or region here</li>
    +          <li><i class="icon-angle-right"></i> <strong>Zipcode/Postal Code:</strong> - enter your zipcode or postal code here</li>
    +          <li><i class="icon-angle-right"></i> <strong>Telephone:</strong> - telephone number</li>
    +          <li><i class="icon-angle-right"></i> <strong>Email:</strong> - your email</li>
    +        </ul>
    +      </div>
    +    </article>
    +  </section>  
    +<!-- Plugins and Custom Widgets end -->
    +<!-- Theme Options begin -->
    +  <section class="block-templates" id="theme_options">  
    +
    +    <h2><i class="icon-cogs"></i> Cherry Options</h2>
    +    <p>The following theme contains the Settings option. These settings allow you to change of theme’s color palette, order of items, turn items on/off  and do lots of other things. In order to use these settings, please go to <strong>Appearance &rarr; Cherry Options</strong>.</p>
    +    <article id="general_option"> 
    +      <h4>General</h4>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_general.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_general.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Body styling</strong> - you can select the body color and the background pattern.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Header background color</strong> - Header background color</li>
    +        <li><i class="icon-angle-right"></i> <strong>Buttons and links color</strong> - Buttons and links color</li>
    +        <li><i class="icon-angle-right"></i> <strong>Body Text</strong> - You can choose your preferred font for body text. There are following options available for editing the fonts:
    +          <ol style="margin-bottom:0; padding-left:20px; overflow:hidden;">
    +            <li><em>Font size</em></li>
    +            <li><em>Line height</em></li>
    +            <li><em>Font Family</em></li>
    +            <li><em>Font style (normal, bold, italic)</em></li>
    +            <li><em>Character Sets (Latin, Greek, Cyrillic etc.)</em></li>
    +            <li><em>Color</em></li>
    +          </ol>
    +        </li>
    +        <p><span class="label label-warning">Note:</span> Font marked with * means that it will be loaded from the Google Web Fonts library.</p>
    +        <li><i class="icon-angle-right"></i> <strong>H1-H6 Headings</strong> - You can choose your preferred font for headings and titles. There are following options available for editing the fonts:
    +          <ol style="margin-bottom:0; padding-left:20px; overflow:hidden;">
    +            <li><em>Font size</em></li>
    +            <li><em>Line height</em></li>
    +            <li><em>Font Family</em></li>
    +            <li><em>Font style (normal, bold, italic)</em></li>
    +            <li><em>Character Sets (latin, greek, cyrillic etc.)</em></li>
    +            <li><em>Color</em></li>
    +          </ol>
    +        </li>
    +        <p><span class="label label-warning">Note:</span> Font marked with * means that it will be loaded from the Google Web Fonts library.</p>
    +        <li><i class="icon-angle-right"></i> <strong>Display search box?</strong> - show/hide the search bar in the header</li>
    +        <li><i class="icon-angle-right"></i> <strong>Display breadcrumbs?</strong> - show/hide the breadcrumbs in the pages</li>
    +        <li><i class="icon-angle-right"></i> <strong>Custom CSS</strong> - if you need to add some CSS rules, but you don't want to mess with the main css file, you can use this field. Just insert your new css rules</li>
    +      </ul>
    +      </div>
    +    </article>
    +    <article id="logo_option">
    +      <h4>Logo &amp; Favicon</h4> 
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_logo.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_logo.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>What kind of logo?</strong> - indicates what kind of logo to use, whether the text one or the image logo.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Logo URL</strong> - with Image logo selected you can upload the new image with the help of the 'upload' feature or use any pic from the Media Library.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Logo Typography</strong> - You can choose your preferred font for text logo. There are following options available for editing the fonts:
    +          <ol style="margin-bottom:0; padding-left:20px; overflow:hidden;">
    +            <li><em>Font size</em></li>
    +            <li><em>Line height</em></li>
    +            <li><em>Font Family</em></li>
    +            <li><em>Font style (normal, bold, italic)</em></li>
    +            <li><em>Character Sets (Latin, Greek, Cyrillic etc.)</em></li>
    +            <li><em>Color</em></li>
    +          </ol>
    +        </li>
    +        <p><span class="label label-warning">Note:</span> <strong>*</strong> near the font means that font will be loaded from the Google Web Fonts library.</p>
    +        <li><i class="icon-angle-right"></i> <strong>Favicon</strong> - you can upload the new favicon with the help of the 'upload' feature or use any pic from the Media Library.</li>
    +      </ul>
    +      </div>
    +    </article>
    +    <article id="navigation_option">
    +      <h4>Navigation</h4> 
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_nav.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_nav.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Menu Typography</strong> - You can choose your preferred font for main menu. There are following options available for editing the fonts:
    +          <ol style="margin-bottom:0; padding-left:20px; overflow:hidden;">
    +            <li><em>Font size</em></li>
    +            <li><em>Line height</em></li>
    +            <li><em>Font Family</em></li>
    +            <li><em>Font style (normal, bold, italic)</em></li>
    +            <li><em>Character Sets (latin, greek, cyrillic etc.)</em></li>
    +            <li><em>Color</em></li>
    +          </ol>
    +        <p><span class="label label-warning">Note:</span> <strong>*</strong> near the font means that font will be loaded from the Google Web Fonts library.</p>
    +        </li>
    +        <li><i class="icon-angle-right"></i> <strong>Delay</strong> - delay in milliseconds that defines when the menu hides</li>
    +        <li><i class="icon-angle-right"></i> <strong>Fade-in animation</strong> - enable/disable the fade-in animation</li>
    +        <li><i class="icon-angle-right"></i> <strong>Slide-down animation</strong> - enable/disable the slide animation</li>
    +        <li><i class="icon-angle-right"></i> <strong>Speed</strong> - the speed of the submenu expanding</li>
    +        <li><i class="icon-angle-right"></i> <strong>Arrows markup</strong> - enable/disable  arrows for the menu items that have submenus</li>
    +      </ul>
    +      </div>
    +    </article>
    +    <article id="slider_option">
    +      <h4>Slider</h4>
    +      <h5>Disable Slider</h5>
    +      <div class="row"> 
    +        <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_slider_none.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_slider_none.jpg" alt=""><i class="icon-search"></i></a></figure>
    +        <p>You can switch off slider.</p>
    +      </div>
    +      <h5>Slideshow</h5>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_slider_camera.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_slider_camera.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Sliding effect</strong> - slider transition effect</li>
    +        <li><i class="icon-angle-right"></i> <strong>Number of columns</strong> - number of columns</li>
    +        <li><i class="icon-angle-right"></i> <strong>Number of rows</strong> - Number of rows</li>
    +        <li><i class="icon-angle-right"></i> <strong>Banner effect</strong> - Select your banner animation type</li>
    +        <li><i class="icon-angle-right"></i> <strong>Pause time</strong> - Pause time (ms)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Animation speed</strong> - Animation speed (ms)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Slideshow</strong> - Animate slider automatically?</li>
    +        <li><i class="icon-angle-right"></i> <strong>Thumbnails</strong> - Display thumbnails?</li>
    +        <li><i class="icon-angle-right"></i> <strong>Pagination</strong> - Display pagination?</li>
    +        <li><i class="icon-angle-right"></i> <strong>Next &amp; Prev navigation</strong> - Display next & prev navigation?</li>
    +        <li><i class="icon-angle-right"></i> <strong>Display next &amp; prev navigation only on hover?</strong> - If 'yes' the navigation button (prev, next and play/stop buttons) will be visible on hover state only, if 'no' they will be visible always</li>
    +        <li><i class="icon-angle-right"></i> <strong>Play/Pause button</strong> - Display Play/Pause button?</li>
    +        <li><i class="icon-angle-right"></i> <strong>Loader</strong> - Slider loader</li>
    +      </ul>
    +      </div>
    +      <h5>Accordion</h5>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_slider_accordion.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_slider_accordion.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Slides to display</strong> - Select the slides that you want to be displayed on slider. If no slide is selected, all slides will be displayed.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Slideshow</strong> - Animate slider automatically?</li>
    +        <li><i class="icon-angle-right"></i> <strong>Pause on mouseover</strong> - The auto play will pause when you mouse over the slider.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Pause time</strong> - Pause time (ms).</li>
    +        <li><i class="icon-angle-right"></i> <strong>Animation speed</strong> - Animation speed (ms)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Animation slowdown</strong> - You can choose different types of animation slowdown for transition of slides.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Mouse events for transition of slides</strong> - You can choose different types of mouse events for transition of slides.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Active slide</strong> - Set the number of slide that will be active by default. If the value is 0, all slides will be of the same width when page loads.</li>
    +      </ul>
    +      </div>
    +    </article>
    +    <article id="blog_option">
    +      <h4>Blog</h4>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_blog.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_blog.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Blog Title</strong> - your Blog Title used on Blog page</li>
    +        <li><i class="icon-angle-right"></i> <strong>Related Posts Title</strong> - your Title used on Single Post page for related posts.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Sidebar position</strong> - you can select the position for the sidebar(right or left)</li>
    +        <li><i class="icon-angle-right"></i> <strong>Blog image size</strong> - the Image size (Normal size or Large size) for the Blog page</li>
    +        <li><i class="icon-angle-right"></i> <strong>Single post image size</strong> - the image size (Normal size or Large size) for the single post page</li>
    +        <li><i class="icon-angle-right"></i> <strong>Enable Meta for blog posts?</strong> - display meta for posts</li>
    +        <li><i class="icon-angle-right"></i> <strong>Enable excerpt for blog posts?</strong> - display excerpt for posts</li>
    +      </ul>
    +      </div>
    +    </article>
    +    <article id="portfolio_option">
    +      <h4>Portfolio</h4>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_portfolio.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_portfolio.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Filter</strong> - Portfolio filter.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Show title?</strong> - Enable or Disable title for portfolio posts.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Show excerpt?</strong> - Enable or Disable excerpt for portfolio posts.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Excerpt words</strong> - Excerpt length (words).</li>
    +        <li><i class="icon-angle-right"></i> <strong>Show button?</strong> - Enable or Disable button for portfolio posts.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Layout</strong> - Portfolio has different layout modes. You can set and change the layout mode via this option.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Portfolio 2 columns items amount</strong> - Portfolio items amount for Portfolio 2 columns template.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Portfolio 3 columns items amount</strong> - Portfolio items amount for Portfolio 3 columns template.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Portfolio 4 columns items amount</strong> - Portfolio items amount for Portfolio 4 columns template.</li>
    +      </ul>
    +      </div>
    +    </article>
    +    <article id="footer_option">
    +      <h4>Footer</h4>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_footer.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_footer.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Footer copyright text</strong> - footer text content. If the text field is empty, the default content will be displayed. It is located in the <em>footer.php</em> file</li>
    +        <li><i class="icon-angle-right"></i> <strong>Google Analytics Code</strong> -you can put a code for gathering your site's SEO stats. . For instance, <em>Google Analytics Code</em></li>
    +        <li><i class="icon-angle-right"></i> <strong>Feedburner URL</strong> - <a href="http://www.feedburner.com/" target="_blank">Feedburner</a> is a Google service that takes care of your RSS feed. Paste your Feedburner URL here to let readers see it in your website</li>
    +        <li><i class="icon-angle-right"></i> <strong>Display Footer menu</strong> - enable or disable the footer menu</li>
    +        <li><i class="icon-angle-right"></i> <strong>Foter Menu Typography</strong> - You can choose your preferred font for footer menu. There are following options available for editing the fonts:
    +          <ol style="margin-bottom:0; padding-left:20px; overflow:hidden;">
    +            <li><em>Font size</em></li>
    +            <li><em>Line height</em></li>
    +            <li><em>Font Family</em></li>
    +            <li><em>Font style (normal, bold, italic)</em></li>
    +            <li><em>Character Sets (latin, greek, cyrillic etc.)</em></li>
    +            <li><em>Color</em></li>
    +          </ol>
    +        <p><span class="label label-warning">Note:</span> <strong>*</strong> near the font means that font will be loaded from the Google Web Fonts library.</p>
    +        </li>
    +      </ul>
    +      </div>
    +    </article>
    +
    +    <article id="shop_option">
    +      <h4>Shop Options</h4>
    +      <div class="row"> 
    +      <figure class="img-paraloid pull-left" style="width:40%;"><a href="img/wordpress/theme_options_shop.jpg" class="pretty_image" data-gal="prettyPhoto"><img src="img/wordpress/theme_options_shop.jpg" alt=""><i class="icon-search"></i></a></figure>
    +      <ul>
    +        <li><i class="icon-angle-right"></i> <strong>Products per page</strong> - Number of producrs per catalog page</li>
    +        <li><i class="icon-angle-right"></i> <strong>Product description</strong> - Show/hide product description on catalog page</li>
    +        <li><i class="icon-angle-right"></i> <strong>Show details button on catalog page</strong> - Show/hide product details button on catalog page</li>
    +        <li><i class="icon-angle-right"></i> <strong>Display login links?</strong> - Display login links in the shop menu?</li>
    +        <li><i class="icon-angle-right"></i> <strong>User profile link</strong> - user profile link title. If you use macro %username% it will be replaced with the current username. For example Site %username% .</li>
    +        <li><i class="icon-angle-right"></i> <strong>Logoff link</strong> - Logoff link title.</li>
    +        <li><i class="icon-angle-right"></i> <strong>Registration link</strong> - Registration link title</li>
    +        <li><i class="icon-angle-right"></i> <strong>Authentication link (login)</strong> - Authentication (login) link title</li>
    +      </ul>
    +      </div>
    +    </article>
    +
    +  </section>  
    +<!-- Theme Options end -->
    +</div>
    +</div>
    +
    +  </div>
    +</div>
    +</div>
    +</div>
    +   <!-- Footer
    +    ================================================== -->
    +    <footer>
    +      <div class="container">        
    +       WordPress Documentation<br>
    +      © 2013 Template Monster
    +      </div>
    +    </footer>
    +
    +  <div id="back-top">
    +    <a href="#"><i class="icon-double-angle-up"></i></a>
    +  </div>    
    +
    +<!-- <script src="js/bootstrap-scrollspy.js"></script>  -->
    +
    +<script type="text/javascript">
    +  var _gaq = _gaq || []; 
    +  _gaq.push(['_setAccount', 'UA-2787305-5']); 
    +  _gaq.push(['_trackPageview']); 
    +
    +  (function() { 
    +  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    +  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    +  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    +  })();
    +</script>
    +    
    +</body> 
    +
    +</html>
    \ No newline at end of file
    diff --git a/js/bootstrap-affix.js b/js/bootstrap-affix.js
    new file mode 100644
    index 0000000..6020a19
    --- /dev/null
    +++ b/js/bootstrap-affix.js
    @@ -0,0 +1,117 @@
    +/* ==========================================================
    + * bootstrap-affix.js v2.2.2
    + * http://twitter.github.com/bootstrap/javascript.html#affix
    + * ==========================================================
    + * Copyright 2012 Twitter, Inc.
    + *
    + * Licensed under the Apache License, Version 2.0 (the "License");
    + * you may not use this file except in compliance with the License.
    + * You may obtain a copy of the License at
    + *
    + * http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + * ========================================================== */
    +
    +
    +!function ($) {
    +
    +  "use strict"; // jshint ;_;
    +
    +
    + /* AFFIX CLASS DEFINITION
    +  * ====================== */
    +
    +  var Affix = function (element, options) {
    +    this.options = $.extend({}, $.fn.affix.defaults, options)
    +    this.$window = $(window)
    +      .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
    +      .on('click.affix.data-api',  $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
    +    this.$element = $(element)
    +    this.checkPosition()
    +  }
    +
    +  Affix.prototype.checkPosition = function () {
    +    if (!this.$element.is(':visible')) return
    +
    +    var scrollHeight = $(document).height()
    +      , scrollTop = this.$window.scrollTop()
    +      , position = this.$element.offset()
    +      , offset = this.options.offset
    +      , offsetBottom = offset.bottom
    +      , offsetTop = offset.top
    +      , reset = 'affix affix-top affix-bottom'
    +      , affix
    +
    +    if (typeof offset != 'object') offsetBottom = offsetTop = offset
    +    if (typeof offsetTop == 'function') offsetTop = offset.top()
    +    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
    +
    +    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
    +      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
    +      'bottom' : offsetTop != null && scrollTop <= offsetTop ?
    +      'top'    : false
    +
    +    if (this.affixed === affix) return
    +
    +    this.affixed = affix
    +    this.unpin = affix == 'bottom' ? position.top - scrollTop : null
    +
    +    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
    +  }
    +
    +
    + /* AFFIX PLUGIN DEFINITION
    +  * ======================= */
    +
    +  var old = $.fn.affix
    +
    +  $.fn.affix = function (option) {
    +    return this.each(function () {
    +      var $this = $(this)
    +        , data = $this.data('affix')
    +        , options = typeof option == 'object' && option
    +      if (!data) $this.data('affix', (data = new Affix(this, options)))
    +      if (typeof option == 'string') data[option]()
    +    })
    +  }
    +
    +  $.fn.affix.Constructor = Affix
    +
    +  $.fn.affix.defaults = {
    +    offset: 0
    +  }
    +
    +
    + /* AFFIX NO CONFLICT
    +  * ================= */
    +
    +  $.fn.affix.noConflict = function () {
    +    $.fn.affix = old
    +    return this
    +  }
    +
    +
    + /* AFFIX DATA-API
    +  * ============== */
    +
    +  $(window).on('load', function () {
    +    $('[data-spy="affix"]').each(function () {
    +      var $spy = $(this)
    +        , data = $spy.data()
    +
    +      data.offset = data.offset || {}
    +
    +      data.offsetBottom && (data.offset.bottom = data.offsetBottom)
    +      data.offsetTop && (data.offset.top = data.offsetTop)
    +
    +      $spy.affix(data)
    +    })
    +  })
    +
    +
    +}(window.jQuery);
    \ No newline at end of file
    diff --git a/js/html5shiv.js b/js/html5shiv.js
    new file mode 100644
    index 0000000..784f221
    --- /dev/null
    +++ b/js/html5shiv.js
    @@ -0,0 +1,8 @@
    +/*
    + HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
    +*/
    +(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
    +a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
    +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?: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,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
    +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
    +for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
    diff --git a/js/jquery-migrate-1.1.0.js b/js/jquery-migrate-1.1.0.js
    new file mode 100644
    index 0000000..2b0ecb5
    --- /dev/null
    +++ b/js/jquery-migrate-1.1.0.js
    @@ -0,0 +1,496 @@
    +/*!
    + * jQuery Migrate - v1.1.0 - 2013-01-31
    + * https://github.com/jquery/jquery-migrate
    + * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
    + */
    +(function( jQuery, window, undefined ) {
    +"use strict";
    +
    +
    +var warnedAbout = {};
    +
    +// List of warnings already given; public read only
    +jQuery.migrateWarnings = [];
    +
    +// Set to true to prevent console output; migrateWarnings still maintained
    +// jQuery.migrateMute = false;
    +
    +// Show a message on the console so devs know we're active
    +if ( !jQuery.migrateMute && window.console && console.log ) {
    +	console.log("JQMIGRATE: Logging is active");
    +}
    +
    +// Set to false to disable traces that appear with warnings
    +if ( jQuery.migrateTrace === undefined ) {
    +	jQuery.migrateTrace = true;
    +}
    +
    +// Forget any warnings we've already given; public
    +jQuery.migrateReset = function() {
    +	warnedAbout = {};
    +	jQuery.migrateWarnings.length = 0;
    +};
    +
    +function migrateWarn( msg) {
    +	if ( !warnedAbout[ msg ] ) {
    +		warnedAbout[ msg ] = true;
    +		jQuery.migrateWarnings.push( msg );
    +		if ( window.console && console.warn && !jQuery.migrateMute ) {
    +			console.warn( "JQMIGRATE: " + msg );
    +			if ( jQuery.migrateTrace && console.trace ) {
    +				console.trace();
    +			}
    +		}
    +	}
    +}
    +
    +function migrateWarnProp( obj, prop, value, msg ) {
    +	if ( Object.defineProperty ) {
    +		// On ES5 browsers (non-oldIE), warn if the code tries to get prop;
    +		// allow property to be overwritten in case some other plugin wants it
    +		try {
    +			Object.defineProperty( obj, prop, {
    +				configurable: true,
    +				enumerable: true,
    +				get: function() {
    +					migrateWarn( msg );
    +					return value;
    +				},
    +				set: function( newValue ) {
    +					migrateWarn( msg );
    +					value = newValue;
    +				}
    +			});
    +			return;
    +		} catch( err ) {
    +			// IE8 is a dope about Object.defineProperty, can't warn there
    +		}
    +	}
    +
    +	// Non-ES5 (or broken) browser; just set the property
    +	jQuery._definePropertyBroken = true;
    +	obj[ prop ] = value;
    +}
    +
    +if ( document.compatMode === "BackCompat" ) {
    +	// jQuery has never supported or tested Quirks Mode
    +	migrateWarn( "jQuery is not compatible with Quirks Mode" );
    +}
    +
    +
    +var attrFn = {},
    +	oldAttr = jQuery.attr,
    +	valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
    +		function() { return null; },
    +	valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
    +		function() { return undefined; },
    +	rnoType = /^(?:input|button)$/i,
    +	rnoAttrNodeType = /^[238]$/,
    +	rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
    +	ruseDefault = /^(?:checked|selected)$/i;
    +
    +// jQuery.attrFn
    +migrateWarnProp( jQuery, "attrFn", attrFn, "jQuery.attrFn is deprecated" );
    +
    +jQuery.attr = function( elem, name, value, pass ) {
    +	var lowerName = name.toLowerCase(),
    +		nType = elem && elem.nodeType;
    +
    +	// Since pass is used internally, we only warn and shim for new jQuery
    +	// versions where there isn't a pass arg in the formal params
    +	if ( pass && oldAttr.length < 4 ) {
    +		migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
    +		if ( elem && !rnoAttrNodeType.test( nType ) && jQuery.isFunction( jQuery.fn[ name ] ) ) {
    +			return jQuery( elem )[ name ]( value );
    +		}
    +	}
    +
    +	// Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
    +	// for disconnected elements we don't warn on $( "<button>", { type: "button" } ).
    +	if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
    +		migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
    +	}
    +
    +	// Restore boolHook for boolean property/attribute synchronization
    +	if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
    +		jQuery.attrHooks[ lowerName ] = {
    +			get: function( elem, name ) {
    +				// Align boolean attributes with corresponding properties
    +				// Fall back to attribute presence where some booleans are not supported
    +				var attrNode,
    +					property = jQuery.prop( elem, name );
    +				return property === true || typeof property !== "boolean" &&
    +					( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
    +
    +					name.toLowerCase() :
    +					undefined;
    +			},
    +			set: function( elem, value, name ) {
    +				var propName;
    +				if ( value === false ) {
    +					// Remove boolean attributes when set to false
    +					jQuery.removeAttr( elem, name );
    +				} else {
    +					// value is true since we know at this point it's type boolean and not false
    +					// Set boolean attributes to the same name and set the DOM property
    +					propName = jQuery.propFix[ name ] || name;
    +					if ( propName in elem ) {
    +						// Only set the IDL specifically if it already exists on the element
    +						elem[ propName ] = true;
    +					}
    +
    +					elem.setAttribute( name, name.toLowerCase() );
    +				}
    +				return name;
    +			}
    +		};
    +
    +		// Warn only for attributes that can remain distinct from their properties post-1.9
    +		if ( ruseDefault.test( lowerName ) ) {
    +			migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
    +		}
    +	}
    +
    +	return oldAttr.call( jQuery, elem, name, value );
    +};
    +
    +// attrHooks: value
    +jQuery.attrHooks.value = {
    +	get: function( elem, name ) {
    +		var nodeName = ( elem.nodeName || "" ).toLowerCase();
    +		if ( nodeName === "button" ) {
    +			return valueAttrGet.apply( this, arguments );
    +		}
    +		if ( nodeName !== "input" && nodeName !== "option" ) {
    +			migrateWarn("jQuery.fn.attr('value') no longer gets properties");
    +		}
    +		return name in elem ?
    +			elem.value :
    +			null;
    +	},
    +	set: function( elem, value ) {
    +		var nodeName = ( elem.nodeName || "" ).toLowerCase();
    +		if ( nodeName === "button" ) {
    +			return valueAttrSet.apply( this, arguments );
    +		}
    +		if ( nodeName !== "input" && nodeName !== "option" ) {
    +			migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
    +		}
    +		// Does not return so that setAttribute is also used
    +		elem.value = value;
    +	}
    +};
    +
    +
    +var matched, browser,
    +	oldInit = jQuery.fn.init,
    +	oldParseJSON = jQuery.parseJSON,
    +	// Note this does NOT include the #9521 XSS fix from 1.7!
    +	rquickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;
    +
    +// $(html) "looks like html" rule change
    +jQuery.fn.init = function( selector, context, rootjQuery ) {
    +	var match;
    +
    +	if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
    +			(match = rquickExpr.exec( selector )) && match[1] ) {
    +		// This is an HTML string according to the "old" rules; is it still?
    +		if ( selector.charAt( 0 ) !== "<" ) {
    +			migrateWarn("$(html) HTML strings must start with '<' character");
    +		}
    +		// Now process using loose rules; let pre-1.8 play too
    +		if ( context && context.context ) {
    +			// jQuery object as context; parseHTML expects a DOM object
    +			context = context.context;
    +		}
    +		if ( jQuery.parseHTML ) {
    +			return oldInit.call( this, jQuery.parseHTML( jQuery.trim(selector), context, true ),
    +					context, rootjQuery );
    +		}
    +	}
    +	return oldInit.apply( this, arguments );
    +};
    +jQuery.fn.init.prototype = jQuery.fn;
    +
    +// Let $.parseJSON(falsy_value) return null
    +jQuery.parseJSON = function( json ) {
    +	if ( !json && json !== null ) {
    +		migrateWarn("jQuery.parseJSON requires a valid JSON string");
    +		return null;
    +	}
    +	return oldParseJSON.apply( this, arguments );
    +};
    +
    +jQuery.uaMatch = function( ua ) {
    +	ua = ua.toLowerCase();
    +
    +	var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
    +		/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
    +		/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
    +		/(msie) ([\w.]+)/.exec( ua ) ||
    +		ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
    +		[];
    +
    +	return {
    +		browser: match[ 1 ] || "",
    +		version: match[ 2 ] || "0"
    +	};
    +};
    +
    +matched = jQuery.uaMatch( navigator.userAgent );
    +browser = {};
    +
    +if ( matched.browser ) {
    +	browser[ matched.browser ] = true;
    +	browser.version = matched.version;
    +}
    +
    +// Chrome is Webkit, but Webkit is also Safari.
    +if ( browser.chrome ) {
    +	browser.webkit = true;
    +} else if ( browser.webkit ) {
    +	browser.safari = true;
    +}
    +
    +jQuery.browser = browser;
    +
    +// Warn if the code tries to get jQuery.browser
    +migrateWarnProp( jQuery, "browser", browser, "jQuery.browser is deprecated" );
    +
    +jQuery.sub = function() {
    +	function jQuerySub( selector, context ) {
    +		return new jQuerySub.fn.init( selector, context );
    +	}
    +	jQuery.extend( true, jQuerySub, this );
    +	jQuerySub.superclass = this;
    +	jQuerySub.fn = jQuerySub.prototype = this();
    +	jQuerySub.fn.constructor = jQuerySub;
    +	jQuerySub.sub = this.sub;
    +	jQuerySub.fn.init = function init( selector, context ) {
    +		if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
    +			context = jQuerySub( context );
    +		}
    +
    +		return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
    +	};
    +	jQuerySub.fn.init.prototype = jQuerySub.fn;
    +	var rootjQuerySub = jQuerySub(document);
    +	migrateWarn( "jQuery.sub() is deprecated" );
    +	return jQuerySub;
    +};
    +
    +
    +var oldFnData = jQuery.fn.data;
    +
    +jQuery.fn.data = function( name ) {
    +	var ret, evt,
    +		elem = this[0];
    +
    +	// Handles 1.7 which has this behavior and 1.8 which doesn't
    +	if ( elem && name === "events" && arguments.length === 1 ) {
    +		ret = jQuery.data( elem, name );
    +		evt = jQuery._data( elem, name );
    +		if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
    +			migrateWarn("Use of jQuery.fn.data('events') is deprecated");
    +			return evt;
    +		}
    +	}
    +	return oldFnData.apply( this, arguments );
    +};
    +
    +
    +var rscriptType = /\/(java|ecma)script/i,
    +	oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
    +
    +jQuery.fn.andSelf = function() {
    +	migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
    +	return oldSelf.apply( this, arguments );
    +};
    +
    +// Since jQuery.clean is used internally on older versions, we only shim if it's missing
    +if ( !jQuery.clean ) {
    +	jQuery.clean = function( elems, context, fragment, scripts ) {
    +		// Set context per 1.8 logic
    +		context = context || document;
    +		context = !context.nodeType && context[0] || context;
    +		context = context.ownerDocument || context;
    +
    +		migrateWarn("jQuery.clean() is deprecated");
    +
    +		var i, elem, handleScript, jsTags,
    +			ret = [];
    +
    +		jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
    +
    +		// Complex logic lifted directly from jQuery 1.8
    +		if ( fragment ) {
    +			// Special handling of each script element
    +			handleScript = function( elem ) {
    +				// Check if we consider it executable
    +				if ( !elem.type || rscriptType.test( elem.type ) ) {
    +					// Detach the script and store it in the scripts array (if provided) or the fragment
    +					// Return truthy to indicate that it has been handled
    +					return scripts ?
    +						scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
    +						fragment.appendChild( elem );
    +				}
    +			};
    +
    +			for ( i = 0; (elem = ret[i]) != null; i++ ) {
    +				// Check if we're done after handling an executable script
    +				if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
    +					// Append to fragment and handle embedded scripts
    +					fragment.appendChild( elem );
    +					if ( typeof elem.getElementsByTagName !== "undefined" ) {
    +						// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
    +						jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
    +
    +						// Splice the scripts into ret after their former ancestor and advance our index beyond them
    +						ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
    +						i += jsTags.length;
    +					}
    +				}
    +			}
    +		}
    +
    +		return ret;
    +	};
    +}
    +
    +var eventAdd = jQuery.event.add,
    +	eventRemove = jQuery.event.remove,
    +	eventTrigger = jQuery.event.trigger,
    +	oldToggle = jQuery.fn.toggle,
    +	oldLive = jQuery.fn.live,
    +	oldDie = jQuery.fn.die,
    +	ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
    +	rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
    +	rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
    +	hoverHack = function( events ) {
    +		if ( typeof( events ) != "string" || jQuery.event.special.hover ) {
    +			return events;
    +		}
    +		if ( rhoverHack.test( events ) ) {
    +			migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
    +		}
    +		return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
    +	};
    +
    +// Event props removed in 1.9, put them back if needed; no practical way to warn them
    +if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
    +	jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
    +}
    +
    +// Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
    +if ( jQuery.event.dispatch ) {
    +	migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
    +}
    +
    +// Support for 'hover' pseudo-event and ajax event warnings
    +jQuery.event.add = function( elem, types, handler, data, selector ){
    +	if ( elem !== document && rajaxEvent.test( types ) ) {
    +		migrateWarn( "AJAX events should be attached to document: " + types );
    +	}
    +	eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
    +};
    +jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
    +	eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
    +};
    +
    +jQuery.fn.error = function() {
    +	var args = Array.prototype.slice.call( arguments, 0);
    +	migrateWarn("jQuery.fn.error() is deprecated");
    +	args.splice( 0, 0, "error" );
    +	if ( arguments.length ) {
    +		return this.bind.apply( this, args );
    +	}
    +	// error event should not bubble to window, although it does pre-1.7
    +	this.triggerHandler.apply( this, args );
    +	return this;
    +};
    +
    +jQuery.fn.toggle = function( fn, fn2 ) {
    +
    +	// Don't mess with animation or css toggles
    +	if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
    +		return oldToggle.apply( this, arguments );
    +	}
    +	migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
    +
    +	// Save reference to arguments for access in closure
    +	var args = arguments,
    +		guid = fn.guid || jQuery.guid++,
    +		i = 0,
    +		toggler = function( event ) {
    +			// Figure out which function to execute
    +			var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
    +			jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
    +
    +			// Make sure that clicks stop
    +			event.preventDefault();
    +
    +			// and execute the function
    +			return args[ lastToggle ].apply( this, arguments ) || false;
    +		};
    +
    +	// link all the functions, so any of them can unbind this click handler
    +	toggler.guid = guid;
    +	while ( i < args.length ) {
    +		args[ i++ ].guid = guid;
    +	}
    +
    +	return this.click( toggler );
    +};
    +
    +jQuery.fn.live = function( types, data, fn ) {
    +	migrateWarn("jQuery.fn.live() is deprecated");
    +	if ( oldLive ) {
    +		return oldLive.apply( this, arguments );
    +	}
    +	jQuery( this.context ).on( types, this.selector, data, fn );
    +	return this;
    +};
    +
    +jQuery.fn.die = function( types, fn ) {
    +	migrateWarn("jQuery.fn.die() is deprecated");
    +	if ( oldDie ) {
    +		return oldDie.apply( this, arguments );
    +	}
    +	jQuery( this.context ).off( types, this.selector || "**", fn );
    +	return this;
    +};
    +
    +// Turn global events into document-triggered events
    +jQuery.event.trigger = function( event, data, elem, onlyHandlers  ){
    +	if ( !elem & !rajaxEvent.test( event ) ) {
    +		migrateWarn( "Global events are undocumented and deprecated" );
    +	}
    +	return eventTrigger.call( this,  event, data, elem || document, onlyHandlers  );
    +};
    +jQuery.each( ajaxEvents.split("|"),
    +	function( _, name ) {
    +		jQuery.event.special[ name ] = {
    +			setup: function() {
    +				var elem = this;
    +
    +				// The document needs no shimming; must be !== for oldIE
    +				if ( elem !== document ) {
    +					jQuery.event.add( document, name + "." + jQuery.guid, function() {
    +						jQuery.event.trigger( name, null, elem, true );
    +					});
    +					jQuery._data( this, name, jQuery.guid++ );
    +				}
    +				return false;
    +			},
    +			teardown: function() {
    +				if ( this !== document ) {
    +					jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
    +				}
    +				return false;
    +			}
    +		};
    +	}
    +);
    +
    +
    +})( jQuery, window );
    diff --git a/js/jquery.easing.1.3.js b/js/jquery.easing.1.3.js
    new file mode 100644
    index 0000000..ef74321
    --- /dev/null
    +++ b/js/jquery.easing.1.3.js
    @@ -0,0 +1,205 @@
    +/*
    + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
    + *
    + * Uses the built in easing capabilities added In jQuery 1.1
    + * to offer multiple easing options
    + *
    + * TERMS OF USE - jQuery Easing
    + * 
    + * Open source under the BSD License. 
    + * 
    + * Copyright © 2008 George McGinley Smith
    + * All rights reserved.
    + * 
    + * Redistribution and use in source and binary forms, with or without modification, 
    + * are permitted provided that the following conditions are met:
    + * 
    + * Redistributions of source code must retain the above copyright notice, this list of 
    + * conditions and the following disclaimer.
    + * Redistributions in binary form must reproduce the above copyright notice, this list 
    + * of conditions and the following disclaimer in the documentation and/or other materials 
    + * provided with the distribution.
    + * 
    + * Neither the name of the author nor the names of contributors may be used to endorse 
    + * or promote products derived from this software without specific prior written permission.
    + * 
    + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
    + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    + *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    + *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    + *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
    + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    + *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
    + * OF THE POSSIBILITY OF SUCH DAMAGE. 
    + *
    +*/
    +
    +// t: current time, b: begInnIng value, c: change In value, d: duration
    +jQuery.easing['jswing'] = jQuery.easing['swing'];
    +
    +jQuery.extend( jQuery.easing,
    +{
    +	def: 'easeOutQuad',
    +	swing: function (x, t, b, c, d) {
    +		//alert(jQuery.easing.default);
    +		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
    +	},
    +	easeInQuad: function (x, t, b, c, d) {
    +		return c*(t/=d)*t + b;
    +	},
    +	easeOutQuad: function (x, t, b, c, d) {
    +		return -c *(t/=d)*(t-2) + b;
    +	},
    +	easeInOutQuad: function (x, t, b, c, d) {
    +		if ((t/=d/2) < 1) return c/2*t*t + b;
    +		return -c/2 * ((--t)*(t-2) - 1) + b;
    +	},
    +	easeInCubic: function (x, t, b, c, d) {
    +		return c*(t/=d)*t*t + b;
    +	},
    +	easeOutCubic: function (x, t, b, c, d) {
    +		return c*((t=t/d-1)*t*t + 1) + b;
    +	},
    +	easeInOutCubic: function (x, t, b, c, d) {
    +		if ((t/=d/2) < 1) return c/2*t*t*t + b;
    +		return c/2*((t-=2)*t*t + 2) + b;
    +	},
    +	easeInQuart: function (x, t, b, c, d) {
    +		return c*(t/=d)*t*t*t + b;
    +	},
    +	easeOutQuart: function (x, t, b, c, d) {
    +		return -c * ((t=t/d-1)*t*t*t - 1) + b;
    +	},
    +	easeInOutQuart: function (x, t, b, c, d) {
    +		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
    +		return -c/2 * ((t-=2)*t*t*t - 2) + b;
    +	},
    +	easeInQuint: function (x, t, b, c, d) {
    +		return c*(t/=d)*t*t*t*t + b;
    +	},
    +	easeOutQuint: function (x, t, b, c, d) {
    +		return c*((t=t/d-1)*t*t*t*t + 1) + b;
    +	},
    +	easeInOutQuint: function (x, t, b, c, d) {
    +		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
    +		return c/2*((t-=2)*t*t*t*t + 2) + b;
    +	},
    +	easeInSine: function (x, t, b, c, d) {
    +		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
    +	},
    +	easeOutSine: function (x, t, b, c, d) {
    +		return c * Math.sin(t/d * (Math.PI/2)) + b;
    +	},
    +	easeInOutSine: function (x, t, b, c, d) {
    +		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
    +	},
    +	easeInExpo: function (x, t, b, c, d) {
    +		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
    +	},
    +	easeOutExpo: function (x, t, b, c, d) {
    +		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
    +	},
    +	easeInOutExpo: function (x, t, b, c, d) {
    +		if (t==0) return b;
    +		if (t==d) return b+c;
    +		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
    +		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
    +	},
    +	easeInCirc: function (x, t, b, c, d) {
    +		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
    +	},
    +	easeOutCirc: function (x, t, b, c, d) {
    +		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
    +	},
    +	easeInOutCirc: function (x, t, b, c, d) {
    +		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
    +		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
    +	},
    +	easeInElastic: function (x, t, b, c, d) {
    +		var s=1.70158;var p=0;var a=c;
    +		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
    +		if (a < Math.abs(c)) { a=c; var s=p/4; }
    +		else var s = p/(2*Math.PI) * Math.asin (c/a);
    +		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
    +	},
    +	easeOutElastic: function (x, t, b, c, d) {
    +		var s=1.70158;var p=0;var a=c;
    +		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
    +		if (a < Math.abs(c)) { a=c; var s=p/4; }
    +		else var s = p/(2*Math.PI) * Math.asin (c/a);
    +		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
    +	},
    +	easeInOutElastic: function (x, t, b, c, d) {
    +		var s=1.70158;var p=0;var a=c;
    +		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
    +		if (a < Math.abs(c)) { a=c; var s=p/4; }
    +		else var s = p/(2*Math.PI) * Math.asin (c/a);
    +		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
    +		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
    +	},
    +	easeInBack: function (x, t, b, c, d, s) {
    +		if (s == undefined) s = 1.70158;
    +		return c*(t/=d)*t*((s+1)*t - s) + b;
    +	},
    +	easeOutBack: function (x, t, b, c, d, s) {
    +		if (s == undefined) s = 1.70158;
    +		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
    +	},
    +	easeInOutBack: function (x, t, b, c, d, s) {
    +		if (s == undefined) s = 1.70158; 
    +		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
    +		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
    +	},
    +	easeInBounce: function (x, t, b, c, d) {
    +		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
    +	},
    +	easeOutBounce: function (x, t, b, c, d) {
    +		if ((t/=d) < (1/2.75)) {
    +			return c*(7.5625*t*t) + b;
    +		} else if (t < (2/2.75)) {
    +			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
    +		} else if (t < (2.5/2.75)) {
    +			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
    +		} else {
    +			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
    +		}
    +	},
    +	easeInOutBounce: function (x, t, b, c, d) {
    +		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
    +		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
    +	}
    +});
    +
    +/*
    + *
    + * TERMS OF USE - EASING EQUATIONS
    + * 
    + * Open source under the BSD License. 
    + * 
    + * Copyright © 2001 Robert Penner
    + * All rights reserved.
    + * 
    + * Redistribution and use in source and binary forms, with or without modification, 
    + * are permitted provided that the following conditions are met:
    + * 
    + * Redistributions of source code must retain the above copyright notice, this list of 
    + * conditions and the following disclaimer.
    + * Redistributions in binary form must reproduce the above copyright notice, this list 
    + * of conditions and the following disclaimer in the documentation and/or other materials 
    + * provided with the distribution.
    + * 
    + * Neither the name of the author nor the names of contributors may be used to endorse 
    + * or promote products derived from this software without specific prior written permission.
    + * 
    + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
    + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    + *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    + *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    + *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
    + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    + *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
    + * OF THE POSSIBILITY OF SUCH DAMAGE. 
    + *
    + */
    \ No newline at end of file
    diff --git a/js/jquery.flexslider.js b/js/jquery.flexslider.js
    new file mode 100644
    index 0000000..5994e6f
    --- /dev/null
    +++ b/js/jquery.flexslider.js
    @@ -0,0 +1,896 @@
    +/*
    + * jQuery FlexSlider v2.1
    + * http://www.woothemes.com/flexslider/
    + *
    + * Copyright 2012 WooThemes
    + * Free to use under the GPLv2 license.
    + * http://www.gnu.org/licenses/gpl-2.0.html
    + *
    + * Contributing author: Tyler Smith (@mbmufffin)
    + */
    +
    +;(function ($) {
    +
    +  //FlexSlider: Object Instance
    +  $.flexslider = function(el, options) {
    +    var slider = $(el),
    +        vars = $.extend({}, $.flexslider.defaults, options),
    +        namespace = vars.namespace,
    +        touch = ("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch,
    +        eventType = (touch) ? "touchend" : "click",
    +        vertical = vars.direction === "vertical",
    +        reverse = vars.reverse,
    +        carousel = (vars.itemWidth > 0),
    +        fade = vars.animation === "fade",
    +        asNav = vars.asNavFor !== "",
    +        methods = {};
    +    
    +    // Store a reference to the slider object
    +    $.data(el, "flexslider", slider);
    +    
    +    // Privat slider methods
    +    methods = {
    +      init: function() {
    +        slider.animating = false;
    +        slider.currentSlide = vars.startAt;
    +        slider.animatingTo = slider.currentSlide;
    +        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
    +        slider.containerSelector = vars.selector.substr(0,vars.selector.search(' '));
    +        slider.slides = $(vars.selector, slider);
    +        slider.container = $(slider.containerSelector, slider);
    +        slider.count = slider.slides.length;
    +        // SYNC:
    +        slider.syncExists = $(vars.sync).length > 0;
    +        // SLIDE:
    +        if (vars.animation === "slide") vars.animation = "swing";
    +        slider.prop = (vertical) ? "top" : "marginLeft";
    +        slider.args = {};
    +        // SLIDESHOW:
    +        slider.manualPause = false;
    +        // TOUCH/USECSS:
    +        slider.transitions = !vars.video && !fade && vars.useCSS && (function() {
    +          var obj = document.createElement('div'),
    +              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
    +          for (var i in props) {
    +            if ( obj.style[ props[i] ] !== undefined ) {
    +              slider.pfx = props[i].replace('Perspective','').toLowerCase();
    +              slider.prop = "-" + slider.pfx + "-transform";
    +              return true;
    +            }
    +          }
    +          return false;
    +        }());
    +        // CONTROLSCONTAINER:
    +        if (vars.controlsContainer !== "") slider.controlsContainer = $(vars.controlsContainer).length > 0 && $(vars.controlsContainer);
    +        // MANUAL:
    +        if (vars.manualControls !== "") slider.manualControls = $(vars.manualControls).length > 0 && $(vars.manualControls);
    +        
    +        // RANDOMIZE:
    +        if (vars.randomize) {
    +          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
    +          slider.container.empty().append(slider.slides);
    +        }
    +        
    +        slider.doMath();
    +        
    +        // ASNAV:
    +        if (asNav) methods.asNav.setup();
    +        
    +        // INIT
    +        slider.setup("init");
    +        
    +        // CONTROLNAV:
    +        if (vars.controlNav) methods.controlNav.setup();
    +        
    +        // DIRECTIONNAV:
    +        if (vars.directionNav) methods.directionNav.setup();
    +        
    +        // KEYBOARD:
    +        if (vars.keyboard && ($(slider.containerSelector).length === 1 || vars.multipleKeyboard)) {
    +          $(document).bind('keyup', function(event) {
    +            var keycode = event.keyCode;
    +            if (!slider.animating && (keycode === 39 || keycode === 37)) {
    +              var target = (keycode === 39) ? slider.getTarget('next') :
    +                           (keycode === 37) ? slider.getTarget('prev') : false;
    +              slider.flexAnimate(target, vars.pauseOnAction);
    +            }
    +          });
    +        }
    +        // MOUSEWHEEL:
    +        if (vars.mousewheel) {
    +          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
    +            event.preventDefault();
    +            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
    +            slider.flexAnimate(target, vars.pauseOnAction);
    +          });
    +        }
    +        
    +        // PAUSEPLAY
    +        if (vars.pausePlay) methods.pausePlay.setup();
    +        
    +        // SLIDSESHOW
    +        if (vars.slideshow) {
    +          if (vars.pauseOnHover) {
    +            slider.hover(function() {
    +              if (!slider.manualPlay && !slider.manualPause) slider.pause();
    +            }, function() {
    +              if (!slider.manualPause && !slider.manualPlay) slider.play();
    +            });
    +          }
    +          // initialize animation
    +          (vars.initDelay > 0) ? setTimeout(slider.play, vars.initDelay) : slider.play();
    +        }
    +        
    +        // TOUCH
    +        if (touch && vars.touch) methods.touch();
    +        
    +        // FADE&&SMOOTHHEIGHT || SLIDE:
    +        if (!fade || (fade && vars.smoothHeight)) $(window).bind("resize focus", methods.resize);
    +        
    +        
    +        // API: start() Callback
    +        setTimeout(function(){
    +          vars.start(slider);
    +        }, 200);
    +      },
    +      asNav: {
    +        setup: function() {
    +          slider.asNav = true;
    +          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
    +          slider.currentItem = slider.currentSlide;
    +          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
    +          slider.slides.click(function(e){
    +            e.preventDefault();
    +            var $slide = $(this),
    +                target = $slide.index();
    +            if (!$(vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
    +              slider.direction = (slider.currentItem < target) ? "next" : "prev";
    +              slider.flexAnimate(target, vars.pauseOnAction, false, true, true);
    +            }
    +          });
    +        }
    +      },
    +      controlNav: {
    +        setup: function() {
    +          if (!slider.manualControls) {
    +            methods.controlNav.setupPaging();
    +          } else { // MANUALCONTROLS:
    +            methods.controlNav.setupManual();
    +          }
    +        },
    +        setupPaging: function() {
    +          var type = (vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
    +              j = 1,
    +              item;
    +          
    +          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
    +          
    +          if (slider.pagingCount > 1) {
    +            for (var i = 0; i < slider.pagingCount; i++) {
    +              item = (vars.controlNav === "thumbnails") ? '<img src="' + slider.slides.eq(i).attr("data-thumb") + '"/>' : '<a>' + j + '</a>';
    +              slider.controlNavScaffold.append('<li>' + item + '</li>');
    +              j++;
    +            }
    +          }
    +          
    +          // CONTROLSCONTAINER:
    +          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
    +          methods.controlNav.set();
    +          
    +          methods.controlNav.active();
    +        
    +          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
    +            event.preventDefault();
    +            var $this = $(this),
    +                target = slider.controlNav.index($this);
    +
    +            if (!$this.hasClass(namespace + 'active')) {
    +              slider.direction = (target > slider.currentSlide) ? "next" : "prev";
    +              slider.flexAnimate(target, vars.pauseOnAction);
    +            }
    +          });
    +          // Prevent iOS click event bug
    +          if (touch) {
    +            slider.controlNavScaffold.delegate('a', "click touchstart", function(event) {
    +              event.preventDefault();
    +            });
    +          }
    +        },
    +        setupManual: function() {
    +          slider.controlNav = slider.manualControls;
    +          methods.controlNav.active();
    +          
    +          slider.controlNav.live(eventType, function(event) {
    +            event.preventDefault();
    +            var $this = $(this),
    +                target = slider.controlNav.index($this);
    +                
    +            if (!$this.hasClass(namespace + 'active')) {
    +              (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
    +              slider.flexAnimate(target, vars.pauseOnAction);
    +            }
    +          });
    +          // Prevent iOS click event bug
    +          if (touch) {
    +            slider.controlNav.live("click touchstart", function(event) {
    +              event.preventDefault();
    +            });
    +          }
    +        },
    +        set: function() {
    +          var selector = (vars.controlNav === "thumbnails") ? 'img' : 'a';
    +          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
    +        },
    +        active: function() {
    +          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
    +        },
    +        update: function(action, pos) {
    +          if (slider.pagingCount > 1 && action === "add") {
    +            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
    +          } else if (slider.pagingCount === 1) {
    +            slider.controlNavScaffold.find('li').remove();
    +          } else {
    +            slider.controlNav.eq(pos).closest('li').remove();
    +          }
    +          methods.controlNav.set();
    +          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
    +        }
    +      },
    +      directionNav: {
    +        setup: function() {
    +          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + vars.nextText + '</a></li></ul>');
    +        
    +          // CONTROLSCONTAINER:
    +          if (slider.controlsContainer) {
    +            $(slider.controlsContainer).append(directionNavScaffold);
    +            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
    +          } else {
    +            slider.append(directionNavScaffold);
    +            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
    +          }
    +        
    +          methods.directionNav.update();
    +        
    +          slider.directionNav.bind(eventType, function(event) {
    +            event.preventDefault();
    +            var target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
    +            slider.flexAnimate(target, vars.pauseOnAction);
    +          });
    +          // Prevent iOS click event bug
    +          if (touch) {
    +            slider.directionNav.bind("click touchstart", function(event) {
    +              event.preventDefault();
    +            });
    +          }
    +        },
    +        update: function() {
    +          var disabledClass = namespace + 'disabled';
    +          if (slider.pagingCount === 1) {
    +            slider.directionNav.addClass(disabledClass);
    +          } else if (!vars.animationLoop) {
    +            if (slider.animatingTo === 0) {
    +              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass);
    +            } else if (slider.animatingTo === slider.last) {
    +              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass);
    +            } else {
    +              slider.directionNav.removeClass(disabledClass);
    +            }
    +          } else {
    +            slider.directionNav.removeClass(disabledClass);
    +          }
    +        }
    +      },
    +      pausePlay: {
    +        setup: function() {
    +          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
    +        
    +          // CONTROLSCONTAINER:
    +          if (slider.controlsContainer) {
    +            slider.controlsContainer.append(pausePlayScaffold);
    +            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
    +          } else {
    +            slider.append(pausePlayScaffold);
    +            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
    +          }
    +
    +          methods.pausePlay.update((vars.slideshow) ? namespace + 'pause' : namespace + 'play');
    +
    +          slider.pausePlay.bind(eventType, function(event) {
    +            event.preventDefault();
    +            if ($(this).hasClass(namespace + 'pause')) {
    +              slider.manualPause = true;
    +              slider.manualPlay = false;
    +              slider.pause();
    +            } else {
    +              slider.manualPause = false;
    +              slider.manualPlay = true;
    +              slider.play();
    +            }
    +          });
    +          // Prevent iOS click event bug
    +          if (touch) {
    +            slider.pausePlay.bind("click touchstart", function(event) {
    +              event.preventDefault();
    +            });
    +          }
    +        },
    +        update: function(state) {
    +          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').text(vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').text(vars.pauseText);
    +        }
    +      },
    +      touch: function() {
    +        var startX,
    +          startY,
    +          offset,
    +          cwidth,
    +          dx,
    +          startT,
    +          scrolling = false;
    +              
    +        el.addEventListener('touchstart', onTouchStart, false);
    +        function onTouchStart(e) {
    +          if (slider.animating) {
    +            e.preventDefault();
    +          } else if (e.touches.length === 1) {
    +            slider.pause();
    +            // CAROUSEL: 
    +            cwidth = (vertical) ? slider.h : slider. w;
    +            startT = Number(new Date());
    +            // CAROUSEL:
    +            offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
    +                     (carousel && reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
    +                     (carousel && slider.currentSlide === slider.last) ? slider.limit :
    +                     (carousel) ? ((slider.itemW + vars.itemMargin) * slider.move) * slider.currentSlide : 
    +                     (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
    +            startX = (vertical) ? e.touches[0].pageY : e.touches[0].pageX;
    +            startY = (vertical) ? e.touches[0].pageX : e.touches[0].pageY;
    +
    +            el.addEventListener('touchmove', onTouchMove, false);
    +            el.addEventListener('touchend', onTouchEnd, false);
    +          }
    +        }
    +
    +        function onTouchMove(e) {
    +          dx = (vertical) ? startX - e.touches[0].pageY : startX - e.touches[0].pageX;
    +          scrolling = (vertical) ? (Math.abs(dx) < Math.abs(e.touches[0].pageX - startY)) : (Math.abs(dx) < Math.abs(e.touches[0].pageY - startY));
    +          
    +          if (!scrolling || Number(new Date()) - startT > 500) {
    +            e.preventDefault();
    +            if (!fade && slider.transitions) {
    +              if (!vars.animationLoop) {
    +                dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
    +              }
    +              slider.setProps(offset + dx, "setTouch");
    +            }
    +          }
    +        }
    +        
    +        function onTouchEnd(e) {
    +          // finish the touch by undoing the touch session
    +          el.removeEventListener('touchmove', onTouchMove, false);
    +          
    +          if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
    +            var updateDx = (reverse) ? -dx : dx,
    +                target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
    +            
    +            if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
    +              slider.flexAnimate(target, vars.pauseOnAction);
    +            } else {
    +              if (!fade) slider.flexAnimate(slider.currentSlide, vars.pauseOnAction, true);
    +            }
    +          }
    +          el.removeEventListener('touchend', onTouchEnd, false);
    +          startX = null;
    +          startY = null;
    +          dx = null;
    +          offset = null;
    +        }
    +      },
    +      resize: function() {
    +        if (!slider.animating && slider.is(':visible')) {
    +          if (!carousel) slider.doMath();
    +          
    +          if (fade) {
    +            // SMOOTH HEIGHT:
    +            methods.smoothHeight();
    +          } else if (carousel) { //CAROUSEL:
    +            slider.slides.width(slider.computedW);
    +            slider.update(slider.pagingCount);
    +            slider.setProps();
    +          }
    +          else if (vertical) { //VERTICAL:
    +            slider.viewport.height(slider.h);
    +            slider.setProps(slider.h, "setTotal");
    +          } else {
    +            // SMOOTH HEIGHT:
    +            if (vars.smoothHeight) methods.smoothHeight();
    +            slider.newSlides.width(slider.computedW);
    +            slider.setProps(slider.computedW, "setTotal");
    +          }
    +        }
    +      },
    +      smoothHeight: function(dur) {
    +        if (!vertical || fade) {
    +          var $obj = (fade) ? slider : slider.viewport;
    +          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
    +        }
    +      },
    +      sync: function(action) {
    +        var $obj = $(vars.sync).data("flexslider"),
    +            target = slider.animatingTo;
    +        
    +        switch (action) {
    +          case "animate": $obj.flexAnimate(target, vars.pauseOnAction, false, true); break;
    +          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
    +          case "pause": $obj.pause(); break;
    +        }
    +      }
    +    }
    +    
    +    // public methods
    +    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
    +      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
    +      
    +      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
    +        if (asNav && withSync) {
    +          var master = $(vars.asNavFor).data('flexslider');
    +          slider.atEnd = target === 0 || target === slider.count - 1;
    +          master.flexAnimate(target, true, false, true, fromNav);
    +          slider.direction = (slider.currentItem < target) ? "next" : "prev";
    +          master.direction = slider.direction;
    +          
    +          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
    +            slider.currentItem = target;
    +            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
    +            target = Math.floor(target/slider.visible);
    +          } else {
    +            slider.currentItem = target;
    +            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
    +            return false;
    +          }
    +        }
    +        
    +        slider.animating = true;
    +        slider.animatingTo = target;
    +        // API: before() animation Callback
    +        vars.before(slider);
    +        
    +        // SLIDESHOW:
    +        if (pause) slider.pause();
    +        
    +        // SYNC:
    +        if (slider.syncExists && !fromNav) methods.sync("animate");
    +        
    +        // CONTROLNAV
    +        if (vars.controlNav) methods.controlNav.active();
    +        
    +        // !CAROUSEL:
    +        // CANDIDATE: slide active class (for add/remove slide)
    +        if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
    +        
    +        // INFINITE LOOP:
    +        // CANDIDATE: atEnd
    +        slider.atEnd = target === 0 || target === slider.last;
    +        
    +        // DIRECTIONNAV:
    +        if (vars.directionNav) methods.directionNav.update();
    +        
    +        if (target === slider.last) {
    +          // API: end() of cycle Callback
    +          vars.end(slider);
    +          // SLIDESHOW && !INFINITE LOOP:
    +          if (!vars.animationLoop) slider.pause();
    +        }
    +        
    +        // SLIDE:
    +        if (!fade) {
    +          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
    +              margin, slideString, calcNext;
    +          
    +          // INFINITE LOOP / REVERSE:
    +          if (carousel) {
    +            margin = (vars.itemWidth > slider.w) ? vars.itemMargin * 2 : vars.itemMargin;
    +            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
    +            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
    +          } else if (slider.currentSlide === 0 && target === slider.count - 1 && vars.animationLoop && slider.direction !== "next") {
    +            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
    +          } else if (slider.currentSlide === slider.last && target === 0 && vars.animationLoop && slider.direction !== "prev") {
    +            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
    +          } else {
    +            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
    +          }
    +          slider.setProps(slideString, "", vars.animationSpeed);
    +          if (slider.transitions) {
    +            if (!vars.animationLoop || !slider.atEnd) {
    +              slider.animating = false;
    +              slider.currentSlide = slider.animatingTo;
    +            }
    +            slider.container.unbind("webkitTransitionEnd transitionend");
    +            slider.container.bind("webkitTransitionEnd transitionend", function() {
    +              slider.wrapup(dimension);
    +            });
    +          } else {
    +            slider.container.animate(slider.args, vars.animationSpeed, vars.easing, function(){
    +              slider.wrapup(dimension);
    +            });
    +          }
    +        } else { // FADE:
    +          if (!touch) {
    +            slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed, vars.easing);
    +            slider.slides.eq(target).fadeIn(vars.animationSpeed, vars.easing, slider.wrapup);
    +          } else {
    +            slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
    +            slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
    +            slider.animating = false;
    +            slider.currentSlide = slider.animatingTo;
    +          }
    +        }
    +        // SMOOTH HEIGHT:
    +        if (vars.smoothHeight) methods.smoothHeight(vars.animationSpeed);
    +      }
    +    } 
    +    slider.wrapup = function(dimension) {
    +      // SLIDE:
    +      if (!fade && !carousel) {
    +        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && vars.animationLoop) {
    +          slider.setProps(dimension, "jumpEnd");
    +        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && vars.animationLoop) {
    +          slider.setProps(dimension, "jumpStart");
    +        }
    +      }
    +      slider.animating = false;
    +      slider.currentSlide = slider.animatingTo;
    +      // API: after() animation Callback
    +      vars.after(slider);
    +    }
    +    
    +    // SLIDESHOW:
    +    slider.animateSlides = function() {
    +      if (!slider.animating) slider.flexAnimate(slider.getTarget("next"));
    +    }
    +    // SLIDESHOW:
    +    slider.pause = function() {
    +      clearInterval(slider.animatedSlides);
    +      slider.playing = false;
    +      // PAUSEPLAY:
    +      if (vars.pausePlay) methods.pausePlay.update("play");
    +      // SYNC:
    +      if (slider.syncExists) methods.sync("pause");
    +    }
    +    // SLIDESHOW:
    +    slider.play = function() {
    +      slider.animatedSlides = setInterval(slider.animateSlides, vars.slideshowSpeed);
    +      slider.playing = true;
    +      // PAUSEPLAY:
    +      if (vars.pausePlay) methods.pausePlay.update("pause");
    +      // SYNC:
    +      if (slider.syncExists) methods.sync("play");
    +    }
    +    slider.canAdvance = function(target, fromNav) {
    +      // ASNAV:
    +      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
    +      return (fromNav) ? true :
    +             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
    +             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
    +             (target === slider.currentSlide && !asNav) ? false :
    +             (vars.animationLoop) ? true :
    +             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
    +             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
    +             true;
    +    }
    +    slider.getTarget = function(dir) {
    +      slider.direction = dir; 
    +      if (dir === "next") {
    +        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
    +      } else {
    +        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
    +      }
    +    }
    +    
    +    // SLIDE:
    +    slider.setProps = function(pos, special, dur) {
    +      var target = (function() {
    +        var posCheck = (pos) ? pos : ((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo,
    +            posCalc = (function() {
    +              if (carousel) {
    +                return (special === "setTouch") ? pos :
    +                       (reverse && slider.animatingTo === slider.last) ? 0 :
    +                       (reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
    +                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
    +              } else {
    +                switch (special) {
    +                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
    +                  case "setTouch": return (reverse) ? pos : pos;
    +                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
    +                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
    +                  default: return pos;
    +                }
    +              }
    +            }());
    +            return (posCalc * -1) + "px";
    +          }());
    +
    +      if (slider.transitions) {
    +        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
    +        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
    +        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
    +      }
    +      
    +      slider.args[slider.prop] = target;
    +      if (slider.transitions || dur === undefined) slider.container.css(slider.args);
    +    }
    +    
    +    slider.setup = function(type) {
    +      // SLIDE:
    +      if (!fade) {
    +        var sliderOffset, arr;
    +            
    +        if (type === "init") {
    +          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
    +          // INFINITE LOOP:
    +          slider.cloneCount = 0;
    +          slider.cloneOffset = 0;
    +          // REVERSE:
    +          if (reverse) {
    +            arr = $.makeArray(slider.slides).reverse();
    +            slider.slides = $(arr);
    +            slider.container.empty().append(slider.slides);
    +          }
    +        }
    +        // INFINITE LOOP && !CAROUSEL:
    +        if (vars.animationLoop && !carousel) {
    +          slider.cloneCount = 2;
    +          slider.cloneOffset = 1;
    +          // clear out old clones
    +          if (type !== "init") slider.container.find('.clone').remove();
    +          slider.container.append(slider.slides.first().clone().addClass('clone')).prepend(slider.slides.last().clone().addClass('clone'));
    +        }
    +        slider.newSlides = $(vars.selector, slider);
    +        
    +        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
    +        // VERTICAL:
    +        if (vertical && !carousel) {
    +          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
    +          setTimeout(function(){
    +            slider.newSlides.css({"display": "block"});
    +            slider.doMath();
    +            slider.viewport.height(slider.h);
    +            slider.setProps(sliderOffset * slider.h, "init");
    +          }, (type === "init") ? 100 : 0);
    +        } else {
    +          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
    +          slider.setProps(sliderOffset * slider.computedW, "init");
    +          setTimeout(function(){
    +            slider.doMath();
    +            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
    +            // SMOOTH HEIGHT:
    +            if (vars.smoothHeight) methods.smoothHeight();
    +          }, (type === "init") ? 100 : 0);
    +        }
    +      } else { // FADE: 
    +        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
    +        if (type === "init") {
    +          if (!touch) {
    +            slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed, vars.easing);
    +          } else {
    +            slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
    +          }
    +        }
    +        // SMOOTH HEIGHT:
    +        if (vars.smoothHeight) methods.smoothHeight();
    +      }
    +      // !CAROUSEL:
    +      // CANDIDATE: active slide
    +      if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
    +    }
    +    
    +    slider.doMath = function() {
    +      var slide = slider.slides.first(),
    +          slideMargin = vars.itemMargin,
    +          minItems = vars.minItems,
    +          maxItems = vars.maxItems;
    +      
    +      slider.w = slider.width();
    +      slider.h = slide.height();
    +      slider.boxPadding = slide.outerWidth() - slide.width();
    +
    +      // CAROUSEL:
    +      if (carousel) {
    +        slider.itemT = vars.itemWidth + slideMargin;
    +        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
    +        slider.maxW = (maxItems) ? maxItems * slider.itemT : slider.w;
    +        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * minItems))/minItems :
    +                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * maxItems))/maxItems :
    +                       (vars.itemWidth > slider.w) ? slider.w : vars.itemWidth;
    +        slider.visible = Math.floor(slider.w/(slider.itemW + slideMargin));
    +        slider.move = (vars.move > 0 && vars.move < slider.visible ) ? vars.move : slider.visible;
    +        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
    +        slider.last =  slider.pagingCount - 1;
    +        slider.limit = (slider.pagingCount === 1) ? 0 :
    +                       (vars.itemWidth > slider.w) ? ((slider.itemW + (slideMargin * 2)) * slider.count) - slider.w - slideMargin : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
    +      } else {
    +        slider.itemW = slider.w;
    +        slider.pagingCount = slider.count;
    +        slider.last = slider.count - 1;
    +      }
    +      slider.computedW = slider.itemW - slider.boxPadding;
    +    }
    +    
    +    slider.update = function(pos, action) {
    +      slider.doMath();
    +      
    +      // update currentSlide and slider.animatingTo if necessary
    +      if (!carousel) {
    +        if (pos < slider.currentSlide) {
    +          slider.currentSlide += 1;
    +        } else if (pos <= slider.currentSlide && pos !== 0) {
    +          slider.currentSlide -= 1;
    +        }
    +        slider.animatingTo = slider.currentSlide;
    +      }
    +      
    +      // update controlNav
    +      if (vars.controlNav && !slider.manualControls) {
    +        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
    +          methods.controlNav.update("add");
    +        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
    +          if (carousel && slider.currentSlide > slider.last) {
    +            slider.currentSlide -= 1;
    +            slider.animatingTo -= 1;
    +          }
    +          methods.controlNav.update("remove", slider.last);
    +        }
    +      }
    +      // update directionNav
    +      if (vars.directionNav) methods.directionNav.update();
    +      
    +    }
    +    
    +    slider.addSlide = function(obj, pos) {
    +      var $obj = $(obj);
    +      
    +      slider.count += 1;
    +      slider.last = slider.count - 1;
    +      
    +      // append new slide
    +      if (vertical && reverse) {
    +        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
    +      } else {
    +        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
    +      }
    +      
    +      // update currentSlide, animatingTo, controlNav, and directionNav
    +      slider.update(pos, "add");
    +      
    +      // update slider.slides
    +      slider.slides = $(vars.selector + ':not(.clone)', slider);
    +      // re-setup the slider to accomdate new slide
    +      slider.setup();
    +      
    +      //FlexSlider: added() Callback
    +      vars.added(slider);
    +    }
    +    slider.removeSlide = function(obj) {
    +      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
    +      
    +      // update count
    +      slider.count -= 1;
    +      slider.last = slider.count - 1;
    +      
    +      // remove slide
    +      if (isNaN(obj)) {
    +        $(obj, slider.slides).remove();
    +      } else {
    +        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
    +      }
    +      
    +      // update currentSlide, animatingTo, controlNav, and directionNav
    +      slider.doMath();
    +      slider.update(pos, "remove");
    +      
    +      // update slider.slides
    +      slider.slides = $(vars.selector + ':not(.clone)', slider);
    +      // re-setup the slider to accomdate new slide
    +      slider.setup();
    +      
    +      // FlexSlider: removed() Callback
    +      vars.removed(slider);
    +    }
    +    
    +    //FlexSlider: Initialize
    +    methods.init();
    +  }
    +  
    +  //FlexSlider: Default Settings
    +  $.flexslider.defaults = {
    +    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
    +    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
    +    animation: "fade",              //String: Select your animation type, "fade" or "slide"
    +    easing: "swing",               //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
    +    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
    +    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
    +    animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
    +    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode  
    +    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
    +    slideshow: false,                //Boolean: Animate slider automatically
    +    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
    +    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
    +    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
    +    randomize: false,               //Boolean: Randomize slide order
    +    
    +    // Usability features
    +    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
    +    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
    +    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
    +    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
    +    video: true,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
    +    
    +    // Primary Controls
    +    controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
    +    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
    +    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
    +    nextText: "Next",               //String: Set the text for the "next" directionNav item
    +    
    +    // Secondary Navigation
    +    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
    +    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
    +    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
    +    pausePlay: false,               //Boolean: Create pause/play dynamic element
    +    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
    +    playText: "Play",               //String: Set the text for the "play" pausePlay item
    +    
    +    // Special properties
    +    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
    +    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
    +    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
    +    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
    +    
    +    // Carousel Options
    +    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
    +    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
    +    minItems: 0,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
    +    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
    +    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
    +                                    
    +    // Callback API
    +    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
    +    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
    +    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
    +    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
    +    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
    +    removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
    +  }
    +
    +
    +  //FlexSlider: Plugin Function
    +  $.fn.flexslider = function(options) {
    +    if (options === undefined) options = {};
    +    
    +    if (typeof options === "object") {
    +      return this.each(function() {
    +        var $this = $(this),
    +            selector = (options.selector) ? options.selector : ".slides > li",
    +            $slides = $this.find(selector);
    +
    +        if ($slides.length === 1) {
    +          $slides.fadeIn(400);
    +          if (options.start) options.start($this);
    +        } else if ($this.data('flexslider') === undefined) {
    +          new $.flexslider(this, options);
    +        }
    +      });
    +    } else {
    +      // Helper strings to quickly perform functions on the slider
    +      var $slider = $(this).data('flexslider');
    +      switch (options) {
    +        case "play": $slider.play(); break;
    +        case "pause": $slider.pause(); break;
    +        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
    +        case "prev":
    +        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
    +        default: if (typeof options === "number") $slider.flexAnimate(options, true);
    +      }
    +    }
    +  }  
    +
    +})(jQuery);
    \ No newline at end of file
    diff --git a/js/jquery.js b/js/jquery.js
    new file mode 100644
    index 0000000..006e953
    --- /dev/null
    +++ b/js/jquery.js
    @@ -0,0 +1,5 @@
    +/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
    +//@ sourceMappingURL=jquery.min.map
    +*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
    +return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
    +}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
    \ No newline at end of file
    diff --git a/js/jquery.nav.js b/js/jquery.nav.js
    new file mode 100644
    index 0000000..0f840e4
    --- /dev/null
    +++ b/js/jquery.nav.js
    @@ -0,0 +1,223 @@
    +/*
    + * jQuery One Page Nav Plugin
    + * http://github.com/davist11/jQuery-One-Page-Nav
    + *
    + * Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
    + * Dual licensed under the MIT and GPL licenses.
    + * Uses the same license as jQuery, see:
    + * http://jquery.org/license
    + *
    + * @version 2.2
    + *
    + * Example usage:
    + * $('#nav').onePageNav({
    + *   currentClass: 'current',
    + *   changeHash: false,
    + *   scrollSpeed: 750
    + * });
    + */
    +
    +;(function($, window, document, undefined){
    +
    +	// our plugin constructor
    +	var OnePageNav = function(elem, options){
    +		this.elem = elem;
    +		this.$elem = $(elem);
    +		this.options = options;
    +		this.metadata = this.$elem.data('plugin-options');
    +		this.$nav = this.$elem.find('a');
    +		this.$win = $(window);
    +		this.sections = {};
    +		this.didScroll = false;
    +		this.$doc = $(document);
    +		this.docHeight = this.$doc.height();
    +	};
    +
    +	// the plugin prototype
    +	OnePageNav.prototype = {
    +		defaults: {
    +			currentClass: 'current',
    +			changeHash: false,
    +			easing: 'swing',
    +			filter: '',
    +			scrollSpeed: 750,
    +			scrollOffset: 0,
    +			scrollThreshold: 0.5,
    +			begin: false,
    +			end: false,
    +			scrollChange: false
    +		},
    +
    +		init: function() {
    +			var self = this;
    +			
    +			// Introduce defaults that can be extended either
    +			// globally or using an object literal.
    +			self.config = $.extend({}, self.defaults, self.options, self.metadata);
    +			
    +			//Filter any links out of the nav
    +			if(self.config.filter !== '') {
    +				self.$nav = self.$nav.filter(self.config.filter);
    +			}
    +			
    +			//Handle clicks on the nav
    +			self.$nav.on('click.onePageNav', $.proxy(self.handleClick, self));
    +
    +			//Get the section positions
    +			self.getPositions();
    +			
    +			//Handle scroll changes
    +			self.bindInterval();
    +			
    +			//Update the positions on resize too
    +			self.$win.on('resize.onePageNav', $.proxy(self.getPositions, self));
    +
    +			return this;
    +		},
    +		
    +		adjustNav: function(self, $parent) {
    +			self.$elem.find('.' + self.config.currentClass).removeClass(self.config.currentClass);
    +			$parent.addClass(self.config.currentClass);
    +		},
    +		
    +		bindInterval: function() {
    +			var self = this;
    +			var docHeight;
    +			
    +			self.$win.on('scroll.onePageNav', function() {
    +				self.didScroll = true;
    +			});
    +			
    +			self.t = setInterval(function() {
    +				docHeight = self.$doc.height();
    +				
    +				//If it was scrolled
    +				if(self.didScroll) {
    +					self.didScroll = false;
    +					self.scrollChange();
    +				}
    +				
    +				//If the document height changes
    +				if(docHeight !== self.docHeight) {
    +					self.docHeight = docHeight;
    +					self.getPositions();
    +				}
    +			}, 250);
    +		},
    +		
    +		getHash: function($link) {
    +			return $link.attr('href').split('#')[1];
    +		},
    +		
    +		getPositions: function() {
    +			var self = this;
    +			var linkHref;
    +			var topPos;
    +			var $target;
    +			
    +			self.$nav.each(function() {
    +				linkHref = self.getHash($(this));
    +				$target = $('#' + linkHref);
    +
    +				if($target.length) {
    +					topPos = $target.offset().top;
    +					self.sections[linkHref] = Math.round(topPos) - self.config.scrollOffset;
    +				}
    +			});
    +		},
    +		
    +		getSection: function(windowPos) {
    +			var returnValue = null;
    +			var windowHeight = Math.round(this.$win.height() * this.config.scrollThreshold);
    +
    +			for(var section in this.sections) {
    +				if((this.sections[section] - windowHeight) < windowPos) {
    +					returnValue = section;
    +				}
    +			}
    +			
    +			return returnValue;
    +		},
    +		
    +		handleClick: function(e) {
    +			var self = this;
    +			var $link = $(e.currentTarget);
    +			var $parent = $link.parent();
    +			var newLoc = '#' + self.getHash($link);
    +			
    +			if(!$parent.hasClass(self.config.currentClass)) {
    +				//Start callback
    +				if(self.config.begin) {
    +					self.config.begin();
    +				}
    +				
    +				//Change the highlighted nav item
    +				self.adjustNav(self, $parent);
    +				
    +				//Removing the auto-adjust on scroll
    +				self.unbindInterval();
    +				
    +				//Scroll to the correct position
    +				$.scrollTo(newLoc, self.config.scrollSpeed, {
    +					axis: 'y',
    +					easing: self.config.easing,
    +					offset: {
    +						top: -self.config.scrollOffset
    +					},
    +					onAfter: function() {
    +						//Do we need to change the hash?
    +						if(self.config.changeHash) {
    +							window.location.hash = newLoc;
    +						}
    +						
    +						//Add the auto-adjust on scroll back in
    +						self.bindInterval();
    +						
    +						//End callback
    +						if(self.config.end) {
    +							self.config.end();
    +						}
    +					}
    +				});
    +			}
    +
    +			e.preventDefault();
    +		},
    +		
    +		scrollChange: function() {
    +			var windowTop = this.$win.scrollTop();
    +			var position = this.getSection(windowTop);
    +			var $parent;
    +			
    +			//If the position is set
    +			if(position !== null) {
    +				$parent = this.$elem.find('a[href$="#' + position + '"]').parent();
    +				
    +				//If it's not already the current section
    +				if(!$parent.hasClass(this.config.currentClass)) {
    +					//Change the highlighted nav item
    +					this.adjustNav(this, $parent);
    +					
    +					//If there is a scrollChange callback
    +					if(this.config.scrollChange) {
    +						this.config.scrollChange($parent);
    +					}
    +				}
    +			}
    +		},
    +		
    +		unbindInterval: function() {
    +			clearInterval(this.t);
    +			this.$win.unbind('scroll.onePageNav');
    +		}
    +	};
    +
    +	OnePageNav.defaults = OnePageNav.prototype.defaults;
    +
    +	$.fn.onePageNav = function(options) {
    +		return this.each(function() {
    +			new OnePageNav(this, options).init();
    +		});
    +	};
    +	
    +})( jQuery, window , document );
    \ No newline at end of file
    diff --git a/js/jquery.prettyPhoto.js b/js/jquery.prettyPhoto.js
    new file mode 100644
    index 0000000..0e63194
    --- /dev/null
    +++ b/js/jquery.prettyPhoto.js
    @@ -0,0 +1,869 @@
    +/* ------------------------------------------------------------------------
    +	Class: prettyPhoto
    +	Use: Lightbox clone for jQuery
    +	Author: Stephane Caron (http://www.no-margin-for-errors.com)
    +	Version: 3.1.2
    +------------------------------------------------------------------------- */
    +(function($) {
    +	$.prettyPhoto = {version: '3.1.2'};
    +	
    +	$.fn.prettyPhoto = function(pp_settings) {
    +		pp_settings = jQuery.extend({
    +			animation_speed: 'fast', /* fast/slow/normal */
    +			slideshow: 0, /* false OR interval time in ms */
    +			autoplay_slideshow: false, /* true/false */
    +			opacity: 0.80, /* Value between 0 and 1 */
    +			show_title: false, /* true/false */
    +			allow_resize: false, /* Resize the photos bigger than viewport. true/false */
    +			default_width: 500,
    +			default_height: 344,
    +			counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
    +			theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */
    +			horizontal_padding: 20, /* The padding on each side of the picture */
    +			hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
    +			wmode: 'opaque', /* Set the flash wmode attribute */
    +			autoplay: false, /* Automatically start videos: True/False */
    +			modal: false, /* If set to true, only the close button will close the window */
    +			deeplinking: false, /* Allow prettyPhoto to update the url to enable deeplinking. */
    +			overlay_gallery: false, /* If set to true, a gallery will overlay the fullscreen image on mouse over */
    +			keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */
    +			changepicturecallback: function(){}, /* Called everytime an item is shown/changed */
    +			callback: function(){}, /* Called when prettyPhoto is closed */
    +			ie6_fallback: true,
    +			markup: '<div class="pp_pic_holder"> \
    +						<div class="ppt">&nbsp;</div> \
    +						<div class="pp_top"> \
    +							<div class="pp_left"></div> \
    +							<div class="pp_middle"></div> \
    +							<div class="pp_right"></div> \
    +						</div> \
    +						<div class="pp_content_container"> \
    +							<div class="pp_left"> \
    +							<div class="pp_right"> \
    +								<div class="pp_content"> \
    +									<div class="pp_loaderIcon"></div> \
    +									<div class="pp_fade"> \
    +										<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
    +										<div class="pp_hoverContainer"> \
    +											<a class="pp_next" href="#">next</a> \
    +											<a class="pp_previous" href="#">previous</a> \
    +										</div> \
    +										<div id="pp_full_res"></div> \
    +										<div class="pp_details"> \
    +											<div class="pp_nav"> \
    +												<a href="#" class="pp_arrow_previous">Previous</a> \
    +												<p class="currentTextHolder">0/0</p> \
    +												<a href="#" class="pp_arrow_next">Next</a> \
    +											</div> \
    +											<a class="pp_close" href="#">Close</a> \
    +										</div> \
    +									</div> \
    +								</div> \
    +							</div> \
    +							</div> \
    +						</div> \
    +						<div class="pp_bottom"> \
    +							<div class="pp_left"></div> \
    +							<div class="pp_middle"></div> \
    +							<div class="pp_right"></div> \
    +						</div> \
    +					</div> \
    +					<div class="pp_overlay"></div>',
    +			gallery_markup: '<div class="pp_gallery"> \
    +								<a href="#" class="pp_arrow_previous">Previous</a> \
    +								<div> \
    +									<ul> \
    +										{gallery} \
    +									</ul> \
    +								</div> \
    +								<a href="#" class="pp_arrow_next">Next</a> \
    +							</div>',
    +			image_markup: '<img id="fullResImage" src="{path}" />',
    +			flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',
    +			quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',
    +			iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',
    +			inline_markup: '<div class="pp_inline">{content}</div>',
    +			custom_markup: '',
    +			social_tools: '<div class="pp_social"><div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="http://www.facebook.com/plugins/like.php?locale=en_US&href='+location.href+'&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div></div>' /* html or false to disable */
    +		}, pp_settings);
    +		
    +		// Global variables accessible only by prettyPhoto
    +		var matchedObjects = this, percentBased = false, pp_dimensions, pp_open,
    +		
    +		// prettyPhoto container specific
    +		pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth,
    +		
    +		// Window size
    +		windowHeight = $(window).height(), windowWidth = $(window).width(),
    +
    +		// Global elements
    +		pp_slideshow;
    +		
    +		doresize = true, scroll_pos = _get_scroll();
    +	
    +		// Window/Keyboard events
    +		$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){ _center_overlay(); _resize_overlay(); });
    +		
    +		if(pp_settings.keyboard_shortcuts) {
    +			$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){
    +				if(typeof $pp_pic_holder != 'undefined'){
    +					if($pp_pic_holder.is(':visible')){
    +						switch(e.keyCode){
    +							case 37:
    +								$.prettyPhoto.changePage('previous');
    +								e.preventDefault();
    +								break;
    +							case 39:
    +								$.prettyPhoto.changePage('next');
    +								e.preventDefault();
    +								break;
    +							case 27:
    +								if(!settings.modal)
    +								$.prettyPhoto.close();
    +								e.preventDefault();
    +								break;
    +						};
    +						// return false;
    +					};
    +				};
    +			});
    +		};
    +		
    +		/**
    +		* Initialize prettyPhoto.
    +		*/
    +		$.prettyPhoto.initialize = function() {
    +			
    +			settings = pp_settings;
    +			
    +			if(settings.theme == 'pp_default') settings.horizontal_padding = 16;
    +			if(settings.ie6_fallback && $.browser.msie && parseInt($.browser.version) == 6) settings.theme = "light_square"; // Fallback to a supported theme for IE6
    +			
    +			// Find out if the picture is part of a set
    +			theRel = $(this).attr('data-gal');
    +			galleryRegExp = /\[(?:.*)\]/;
    +			isSet = (galleryRegExp.exec(theRel)) ? true : false;
    +			
    +			// Put the SRCs, TITLEs, ALTs into an array.
    +			pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr('data-gal').indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href'));
    +			pp_titles = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr('data-gal').indexOf(theRel) != -1) return ($(n).find('img').attr('alt')) ? $(n).find('img').attr('alt') : ""; }) : $.makeArray($(this).find('img').attr('alt'));
    +			pp_descriptions = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr('data-gal').indexOf(theRel) != -1) return ($(n).attr('title')) ? $(n).attr('title') : ""; }) : $.makeArray($(this).attr('title'));
    +			
    +			set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned
    +			rel_index = (isSet) ? set_position : $("a[data-gal^='"+theRel+"']").index($(this));
    +			
    +			_build_overlay(this); // Build the overlay {this} being the caller
    +			
    +			if(settings.allow_resize)
    +				$(window).bind('scroll.prettyphoto',function(){ _center_overlay(); });
    +			
    +			
    +			$.prettyPhoto.open();
    +			
    +			return false;
    +		}
    +
    +
    +		/**
    +		* Opens the prettyPhoto modal box.
    +		* @param image {String,Array} Full path to the image to be open, can also be an array containing full images paths.
    +		* @param title {String,Array} The title to be displayed with the picture, can also be an array containing all the titles.
    +		* @param description {String,Array} The description to be displayed with the picture, can also be an array containing all the descriptions.
    +		*/
    +		$.prettyPhoto.open = function(event) {
    +			if(typeof settings == "undefined"){ // Means it's an API call, need to manually get the settings and set the variables
    +				settings = pp_settings;
    +				if($.browser.msie && $.browser.version == 6) settings.theme = "light_square"; // Fallback to a supported theme for IE6
    +				pp_images = $.makeArray(arguments[0]);
    +				pp_titles = (arguments[1]) ? $.makeArray(arguments[1]) : $.makeArray("");
    +				pp_descriptions = (arguments[2]) ? $.makeArray(arguments[2]) : $.makeArray("");
    +				isSet = (pp_images.length > 1) ? true : false;
    +				set_position = 0;
    +				_build_overlay(event.target); // Build the overlay {this} being the caller
    +			}
    +
    +			if($.browser.msie && $.browser.version == 6) $('select').css('visibility','hidden'); // To fix the bug with IE select boxes
    +			
    +			if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden'); // Hide the flash
    +
    +			_checkPosition($(pp_images).size()); // Hide the next/previous links if on first or last images.
    +		
    +			$('.pp_loaderIcon').show();
    +		
    +			// Fade the content in
    +			if($ppt.is(':hidden')) $ppt.css('opacity',0).show();
    +			$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);
    +
    +			// Display the current position
    +			$pp_pic_holder.find('.currentTextHolder').text((set_position+1) + settings.counter_separator_label + $(pp_images).size());
    +
    +			// Set the description
    +			if(pp_descriptions[set_position] != ""){
    +				$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position]));
    +			}else{
    +				$pp_pic_holder.find('.pp_description').hide();
    +			}
    +			
    +			// Get the dimensions
    +			movie_width = ( parseFloat(getParam('width',pp_images[set_position])) ) ? getParam('width',pp_images[set_position]) : settings.default_width.toString();
    +			movie_height = ( parseFloat(getParam('height',pp_images[set_position])) ) ? getParam('height',pp_images[set_position]) : settings.default_height.toString();
    +			
    +			// If the size is % based, calculate according to window dimensions
    +			percentBased=false;
    +			if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; }
    +			if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; }
    +			
    +			// Fade the holder
    +			$pp_pic_holder.fadeIn(function(){
    +				// Set the title
    +				(settings.show_title && pp_titles[set_position] != "" && typeof pp_titles[set_position] != "undefined") ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html('&nbsp;');
    +				
    +				imgPreloader = "";
    +				skipInjection = false;
    +				
    +				// Inject the proper content
    +				switch(_getFileType(pp_images[set_position])){
    +					case 'image':
    +						imgPreloader = new Image();
    +
    +						// Preload the neighbour images
    +						nextImage = new Image();
    +						if(isSet && set_position < $(pp_images).size() -1) nextImage.src = pp_images[set_position + 1];
    +						prevImage = new Image();
    +						if(isSet && pp_images[set_position - 1]) prevImage.src = pp_images[set_position - 1];
    +
    +						$pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g,pp_images[set_position]);
    +
    +						imgPreloader.onload = function(){
    +							// Fit item to viewport
    +							pp_dimensions = _fitToViewport(imgPreloader.width,imgPreloader.height);
    +
    +							_showContent();
    +						};
    +
    +						imgPreloader.onerror = function(){
    +							alert('Image cannot be loaded. Make sure the path is correct and image exist.');
    +							$.prettyPhoto.close();
    +						};
    +					
    +						imgPreloader.src = pp_images[set_position];
    +					break;
    +				
    +					case 'youtube':
    +						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
    +
    +						movie = 'http://www.youtube.com/embed/'+getParam('v',pp_images[set_position]);
    +						(getParam('data-gal',pp_images[set_position])) ? movie+="?data-gal="+getParam('data-gal',pp_images[set_position]) : movie+="?data-gal=1";
    +							
    +						if(settings.autoplay) movie += "&autoplay=1";
    +					
    +						toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);
    +					break;
    +				
    +					case 'vimeo':
    +						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
    +					
    +						movie_id = pp_images[set_position];
    +						var regExp = /http:\/\/(www\.)?vimeo.com\/(\d+)/;
    +						var match = movie_id.match(regExp);
    +						
    +						movie = 'http://player.vimeo.com/video/'+ match[2] +'?title=0&amp;byline=0&amp;portrait=0';
    +						if(settings.autoplay) movie += "&autoplay=1;";
    +				
    +						vimeo_width = pp_dimensions['width'] + '/embed/?moog_width='+ pp_dimensions['width'];
    +				
    +						toInject = settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);
    +					break;
    +				
    +					case 'quicktime':
    +						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
    +						pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; // Add space for the control bar
    +				
    +						toInject = settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);
    +					break;
    +				
    +					case 'flash':
    +						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
    +					
    +						flash_vars = pp_images[set_position];
    +						flash_vars = flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10,pp_images[set_position].length);
    +
    +						filename = pp_images[set_position];
    +						filename = filename.substring(0,filename.indexOf('?'));
    +					
    +						toInject =  settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);
    +					break;
    +				
    +					case 'iframe':
    +						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
    +				
    +						frame_url = pp_images[set_position];
    +						frame_url = frame_url.substr(0,frame_url.indexOf('iframe')-1);
    +
    +						toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);
    +					break;
    +					
    +					case 'ajax':
    +						doresize = false; // Make sure the dimensions are not resized.
    +						pp_dimensions = _fitToViewport(movie_width,movie_height);
    +						doresize = true; // Reset the dimensions
    +					
    +						skipInjection = true;
    +						$.get(pp_images[set_position],function(responseHTML){
    +							toInject = settings.inline_markup.replace(/{content}/g,responseHTML);
    +							$pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject;
    +							_showContent();
    +						});
    +						
    +					break;
    +					
    +					case 'custom':
    +						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
    +					
    +						toInject = settings.custom_markup;
    +					break;
    +				
    +					case 'inline':
    +						// to get the item height clone it, apply default width, wrap it in the prettyPhoto containers , then delete
    +						myClone = $(pp_images[set_position]).clone().append('<br clear="all" />').css({'width':settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo($('body')).show();
    +						doresize = false; // Make sure the dimensions are not resized.
    +						pp_dimensions = _fitToViewport($(myClone).width(),$(myClone).height());
    +						doresize = true; // Reset the dimensions
    +						$(myClone).remove();
    +						toInject = settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());
    +					break;
    +				};
    +
    +				if(!imgPreloader && !skipInjection){
    +					$pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject;
    +				
    +					// Show content
    +					_showContent();
    +				};
    +			});
    +
    +			return false;
    +		};
    +
    +	
    +		/**
    +		* Change page in the prettyPhoto modal box
    +		* @param direction {String} Direction of the paging, previous or next.
    +		*/
    +		$.prettyPhoto.changePage = function(direction){
    +			currentGalleryPage = 0;
    +			
    +			if(direction == 'previous') {
    +				set_position--;
    +				if (set_position < 0) set_position = $(pp_images).size()-1;
    +			}else if(direction == 'next'){
    +				set_position++;
    +				if(set_position > $(pp_images).size()-1) set_position = 0;
    +			}else{
    +				set_position=direction;
    +			};
    +			
    +			rel_index = set_position;
    +
    +			if(!doresize) doresize = true; // Allow the resizing of the images
    +			$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');
    +
    +			_hideContent(function(){ $.prettyPhoto.open(); });
    +		};
    +
    +
    +		/**
    +		* Change gallery page in the prettyPhoto modal box
    +		* @param direction {String} Direction of the paging, previous or next.
    +		*/
    +		$.prettyPhoto.changeGalleryPage = function(direction){
    +			if(direction=='next'){
    +				currentGalleryPage ++;
    +
    +				if(currentGalleryPage > totalPage) currentGalleryPage = 0;
    +			}else if(direction=='previous'){
    +				currentGalleryPage --;
    +
    +				if(currentGalleryPage < 0) currentGalleryPage = totalPage;
    +			}else{
    +				currentGalleryPage = direction;
    +			};
    +			
    +			slide_speed = (direction == 'next' || direction == 'previous') ? settings.animation_speed : 0;
    +
    +			slide_to = currentGalleryPage * (itemsPerPage * itemWidth);
    +
    +			$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);
    +		};
    +
    +
    +		/**
    +		* Start the slideshow...
    +		*/
    +		$.prettyPhoto.startSlideshow = function(){
    +			if(typeof pp_slideshow == 'undefined'){
    +				$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){
    +					$.prettyPhoto.stopSlideshow();
    +					return false;
    +				});
    +				pp_slideshow = setInterval($.prettyPhoto.startSlideshow,settings.slideshow);
    +			}else{
    +				$.prettyPhoto.changePage('next');	
    +			};
    +		}
    +
    +
    +		/**
    +		* Stop the slideshow...
    +		*/
    +		$.prettyPhoto.stopSlideshow = function(){
    +			$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){
    +				$.prettyPhoto.startSlideshow();
    +				return false;
    +			});
    +			clearInterval(pp_slideshow);
    +			pp_slideshow=undefined;
    +		}
    +
    +
    +		/**
    +		* Closes prettyPhoto.
    +		*/
    +		$.prettyPhoto.close = function(){
    +			if($pp_overlay.is(":animated")) return;
    +			
    +			$.prettyPhoto.stopSlideshow();
    +			
    +			$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');
    +			
    +			$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){ $(this).remove(); });
    +			
    +			$pp_overlay.fadeOut(settings.animation_speed, function(){
    +				if($.browser.msie && $.browser.version == 6) $('select').css('visibility','visible'); // To fix the bug with IE select boxes
    +				
    +				if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible'); // Show the flash
    +				
    +				$(this).remove(); // No more need for the prettyPhoto markup
    +				
    +				$(window).unbind('scroll.prettyphoto');
    +				
    +				settings.callback();
    +				
    +				doresize = true;
    +				
    +				pp_open = false;
    +				
    +				delete settings;
    +			});
    +		};
    +	
    +		/**
    +		* Set the proper sizes on the containers and animate the content in.
    +		*/
    +		function _showContent(){
    +			$('.pp_loaderIcon').hide();
    +
    +			// Calculate the opened top position of the pic holder
    +			projectedTop = scroll_pos['scrollTop'] + ((windowHeight/2) - (pp_dimensions['containerHeight']/2));
    +			if(projectedTop < 0) projectedTop = 0;
    +
    +			$ppt.fadeTo(settings.animation_speed,1);
    +
    +			// Resize the content holder
    +			$pp_pic_holder.find('.pp_content')
    +				.animate({
    +					height:pp_dimensions['contentHeight'],
    +					width:pp_dimensions['contentWidth']
    +				},settings.animation_speed);
    +			
    +			// Resize picture the holder
    +			$pp_pic_holder.animate({
    +				'top': projectedTop,
    +				'left': (windowWidth/2) - (pp_dimensions['containerWidth']/2),
    +				width:pp_dimensions['containerWidth']
    +			},settings.animation_speed,function(){
    +				$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);
    +
    +				$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); // Fade the new content
    +
    +				// Show the nav
    +				if(isSet && _getFileType(pp_images[set_position])=="image") { $pp_pic_holder.find('.pp_hoverContainer').show(); }else{ $pp_pic_holder.find('.pp_hoverContainer').hide(); }
    +			
    +				if(pp_dimensions['resized']){ // Fade the resizing link if the image is resized
    +					$('a.pp_expand,a.pp_contract').show();
    +				}else{
    +					$('a.pp_expand').hide();
    +				}
    +				
    +				if(settings.autoplay_slideshow && !pp_slideshow && !pp_open) $.prettyPhoto.startSlideshow();
    +				
    +				if(settings.deeplinking)
    +					setHashtag();
    +				
    +				settings.changepicturecallback(); // Callback!
    +				
    +				pp_open = true;
    +			});
    +			
    +			_insert_gallery();
    +		};
    +		
    +		/**
    +		* Hide the content...DUH!
    +		*/
    +		function _hideContent(callback){
    +			// Fade out the current picture
    +			$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');
    +			$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){
    +				$('.pp_loaderIcon').show();
    +				
    +				callback();
    +			});
    +		};
    +	
    +		/**
    +		* Check the item position in the gallery array, hide or show the navigation links
    +		* @param setCount {integer} The total number of items in the set
    +		*/
    +		function _checkPosition(setCount){
    +			(setCount > 1) ? $('.pp_nav').show() : $('.pp_nav').hide(); // Hide the bottom nav if it's not a set.
    +		};
    +	
    +		/**
    +		* Resize the item dimensions if it's bigger than the viewport
    +		* @param width {integer} Width of the item to be opened
    +		* @param height {integer} Height of the item to be opened
    +		* @return An array containin the "fitted" dimensions
    +		*/
    +		function _fitToViewport(width,height){
    +			resized = false;
    +
    +			_getDimensions(width,height);
    +			
    +			// Define them in case there's no resize needed
    +			imageWidth = width, imageHeight = height;
    +
    +			if( ((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased) {
    +				resized = true, fitting = false;
    +			
    +				while (!fitting){
    +					if((pp_containerWidth > windowWidth)){
    +						imageWidth = (windowWidth - 200);
    +						imageHeight = (height/width) * imageWidth;
    +					}else if((pp_containerHeight > windowHeight)){
    +						imageHeight = (windowHeight - 200);
    +						imageWidth = (width/height) * imageHeight;
    +					}else{
    +						fitting = true;
    +					};
    +
    +					pp_containerHeight = imageHeight, pp_containerWidth = imageWidth;
    +				};
    +			
    +				_getDimensions(imageWidth,imageHeight);
    +				
    +				if((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)){
    +					_fitToViewport(pp_containerWidth,pp_containerHeight)
    +				};
    +			};
    +			
    +			return {
    +				width:Math.floor(imageWidth),
    +				height:Math.floor(imageHeight),
    +				containerHeight:Math.floor(pp_containerHeight),
    +				containerWidth:Math.floor(pp_containerWidth) + (settings.horizontal_padding * 2),
    +				contentHeight:Math.floor(pp_contentHeight),
    +				contentWidth:Math.floor(pp_contentWidth),
    +				resized:resized
    +			};
    +		};
    +		
    +		/**
    +		* Get the containers dimensions according to the item size
    +		* @param width {integer} Width of the item to be opened
    +		* @param height {integer} Height of the item to be opened
    +		*/
    +		function _getDimensions(width,height){
    +			width = parseFloat(width);
    +			height = parseFloat(height);
    +			
    +			// Get the details height, to do so, I need to clone it since it's invisible
    +			$pp_details = $pp_pic_holder.find('.pp_details');
    +			$pp_details.width(width);
    +			detailsHeight = parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom'));
    +			
    +			$pp_details = $pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({
    +				'position':'absolute',
    +				'top':-10000
    +			});
    +			detailsHeight += $pp_details.height();
    +			detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight; // Min-height for the details
    +			if($.browser.msie && $.browser.version==7) detailsHeight+=8;
    +			$pp_details.remove();
    +			
    +			// Get the titles height, to do so, I need to clone it since it's invisible
    +			$pp_title = $pp_pic_holder.find('.ppt');
    +			$pp_title.width(width);
    +			titleHeight = parseFloat($pp_title.css('marginTop')) + parseFloat($pp_title.css('marginBottom'));
    +			$pp_title = $pp_title.clone().appendTo($('body')).css({
    +				'position':'absolute',
    +				'top':-10000
    +			});
    +			titleHeight += $pp_title.height();
    +			$pp_title.remove();
    +			
    +			// Get the container size, to resize the holder to the right dimensions
    +			pp_contentHeight = height + detailsHeight;
    +			pp_contentWidth = width;
    +			pp_containerHeight = pp_contentHeight + titleHeight + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height();
    +			pp_containerWidth = width;
    +		}
    +	
    +		function _getFileType(itemSrc){
    +			if (itemSrc.match(/youtube\.com\/watch/i)) {
    +				return 'youtube';
    +			}else if (itemSrc.match(/vimeo\.com/i)) {
    +				return 'vimeo';
    +			}else if(itemSrc.match(/\b.mov\b/i)){ 
    +				return 'quicktime';
    +			}else if(itemSrc.match(/\b.swf\b/i)){
    +				return 'flash';
    +			}else if(itemSrc.match(/\biframe=true\b/i)){
    +				return 'iframe';
    +			}else if(itemSrc.match(/\bajax=true\b/i)){
    +				return 'ajax';
    +			}else if(itemSrc.match(/\bcustom=true\b/i)){
    +				return 'custom';
    +			}else if(itemSrc.substr(0,1) == '#'){
    +				return 'inline';
    +			}else{
    +				return 'image';
    +			};
    +		};
    +	
    +		function _center_overlay(){
    +			if(doresize && typeof $pp_pic_holder != 'undefined') {
    +				scroll_pos = _get_scroll();
    +				contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width();
    +
    +				projectedTop = (windowHeight/2) + scroll_pos['scrollTop'] - (contentHeight/2);
    +				if(projectedTop < 0) projectedTop = 0;
    +				
    +				if(contentHeight > windowHeight)
    +					return;
    +
    +				$pp_pic_holder.css({
    +					'top': projectedTop,
    +					'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2)
    +				});
    +			};
    +		};
    +	
    +		function _get_scroll(){
    +			if (self.pageYOffset) {
    +				return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};
    +			} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
    +				return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};
    +			} else if (document.body) {// all other Explorers
    +				return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};
    +			};
    +		};
    +	
    +		function _resize_overlay() {
    +			windowHeight = $(window).height(), windowWidth = $(window).width();
    +			
    +			if(typeof $pp_overlay != "undefined") $pp_overlay.height($(document).height()).width(windowWidth);
    +		};
    +	
    +		function _insert_gallery(){
    +			if(isSet && settings.overlay_gallery && _getFileType(pp_images[set_position])=="image" && (settings.ie6_fallback && !($.browser.msie && parseInt($.browser.version) == 6))) {
    +				itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin.
    +				navWidth = (settings.theme == "facebook" || settings.theme == "pp_default") ? 50 : 30; // Define the arrow width depending on the theme
    +				
    +				itemsPerPage = Math.floor((pp_dimensions['containerWidth'] - 100 - navWidth) / itemWidth);
    +				itemsPerPage = (itemsPerPage < pp_images.length) ? itemsPerPage : pp_images.length;
    +				totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1;
    +
    +				// Hide the nav in the case there's no need for links
    +				if(totalPage == 0){
    +					navWidth = 0; // No nav means no width!
    +					$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide();
    +				}else{
    +					$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show();
    +				};
    +
    +				galleryWidth = itemsPerPage * itemWidth;
    +				fullGalleryWidth = pp_images.length * itemWidth;
    +				
    +				// Set the proper width to the gallery items
    +				$pp_gallery
    +					.css('margin-left',-((galleryWidth/2) + (navWidth/2)))
    +					.find('div:first').width(galleryWidth+5)
    +					.find('ul').width(fullGalleryWidth)
    +					.find('li.selected').removeClass('selected');
    +				
    +				goToPage = (Math.floor(set_position/itemsPerPage) < totalPage) ? Math.floor(set_position/itemsPerPage) : totalPage;
    +
    +				$.prettyPhoto.changeGalleryPage(goToPage);
    +				
    +				$pp_gallery_li.filter(':eq('+set_position+')').addClass('selected');
    +			}else{
    +				$pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave');
    +				// $pp_gallery.hide();
    +			}
    +		}
    +	
    +		function _build_overlay(caller){
    +			
    +			settings.markup=settings.markup.replace('{pp_social}',(settings.social_tools)?settings.social_tools:'');
    +			
    +			$('body').append(settings.markup); // Inject the markup
    +			
    +			$pp_pic_holder = $('.pp_pic_holder') , $ppt = $('.ppt'), $pp_overlay = $('div.pp_overlay'); // Set my global selectors
    +			
    +			// Inject the inline gallery!
    +			if(isSet && settings.overlay_gallery) {
    +				currentGalleryPage = 0;
    +				toInject = "";
    +				for (var i=0; i < pp_images.length; i++) {
    +					if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){
    +						classname = 'default';
    +						img_src = '';
    +					}else{
    +						classname = '';
    +						img_src = pp_images[i];
    +					}
    +					toInject += "<li class='"+classname+"'><a href='#'><img src='" + img_src + "' width='50' alt='' /></a></li>";
    +				};
    +				
    +				toInject = settings.gallery_markup.replace(/{gallery}/g,toInject);
    +				
    +				$pp_pic_holder.find('#pp_full_res').after(toInject);
    +				
    +				$pp_gallery = $('.pp_pic_holder .pp_gallery'), $pp_gallery_li = $pp_gallery.find('li'); // Set the gallery selectors
    +				
    +				$pp_gallery.find('.pp_arrow_next').click(function(){
    +					$.prettyPhoto.changeGalleryPage('next');
    +					$.prettyPhoto.stopSlideshow();
    +					return false;
    +				});
    +				
    +				$pp_gallery.find('.pp_arrow_previous').click(function(){
    +					$.prettyPhoto.changeGalleryPage('previous');
    +					$.prettyPhoto.stopSlideshow();
    +					return false;
    +				});
    +				
    +				$pp_pic_holder.find('.pp_content').hover(
    +					function(){
    +						$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();
    +					},
    +					function(){
    +						$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();
    +					});
    +
    +				itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin.
    +				$pp_gallery_li.each(function(i){
    +					$(this)
    +						.find('a')
    +						.click(function(){
    +							$.prettyPhoto.changePage(i);
    +							$.prettyPhoto.stopSlideshow();
    +							return false;
    +						});
    +				});
    +			};
    +			
    +			
    +			// Inject the play/pause if it's a slideshow
    +			if(settings.slideshow){
    +				$pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>')
    +				$pp_pic_holder.find('.pp_nav .pp_play').click(function(){
    +					$.prettyPhoto.startSlideshow();
    +					return false;
    +				});
    +			}
    +			
    +			$pp_pic_holder.attr('class','pp_pic_holder ' + settings.theme); // Set the proper theme
    +			
    +			$pp_overlay
    +				.css({
    +					'opacity':0,
    +					'height':$(document).height(),
    +					'width':$(window).width()
    +					})
    +				.bind('click',function(){
    +					if(!settings.modal) $.prettyPhoto.close();
    +				});
    +
    +			$('a.pp_close').bind('click',function(){ $.prettyPhoto.close(); return false; });
    +
    +			$('a.pp_expand').bind('click',function(e){
    +				// Expand the image
    +				if($(this).hasClass('pp_expand')){
    +					$(this).removeClass('pp_expand').addClass('pp_contract');
    +					doresize = false;
    +				}else{
    +					$(this).removeClass('pp_contract').addClass('pp_expand');
    +					doresize = true;
    +				};
    +			
    +				_hideContent(function(){ $.prettyPhoto.open(); });
    +		
    +				return false;
    +			});
    +		
    +			$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){
    +				$.prettyPhoto.changePage('previous');
    +				$.prettyPhoto.stopSlideshow();
    +				return false;
    +			});
    +		
    +			$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){
    +				$.prettyPhoto.changePage('next');
    +				$.prettyPhoto.stopSlideshow();
    +				return false;
    +			});
    +			
    +			_center_overlay(); // Center it
    +		};
    +
    +		if(!pp_alreadyInitialized && getHashtag()){
    +			pp_alreadyInitialized = true;
    +			
    +			// Grab the rel index to trigger the click on the correct element
    +			hashIndex = getHashtag();
    +			hashRel = hashIndex;
    +			hashIndex = hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);
    +			hashRel = hashRel.substring(0,hashRel.indexOf('/'));
    +
    +			// Little timeout to make sure all the prettyPhoto initialize scripts has been run.
    +			// Useful in the event the page contain several init scripts.
    +			setTimeout(function(){ $("a[data-gal^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50);
    +		}
    +		
    +		return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize); // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once
    +	};
    +	
    +	function getHashtag(){
    +		url = location.href;
    +		hashtag = (url.indexOf('#!') != -1) ? decodeURI(url.substring(url.indexOf('#!')+2,url.length)) : false;
    +		return hashtag;
    +	};
    +	
    +	function setHashtag(){
    +		if(typeof theRel == 'undefined') return; // theRel is set on normal calls, it's impossible to deeplink using the API
    +		location.hash = '!' + theRel + '/'+rel_index+'/';
    +	};
    +	
    +	function getParam(name,url){
    +	  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    +	  var regexS = "[\\?&]"+name+"=([^&#]*)";
    +	  var regex = new RegExp( regexS );
    +	  var results = regex.exec( url );
    +	  return ( results == null ) ? "" : results[1];
    +	}
    +	
    +})(jQuery);
    +
    +var pp_alreadyInitialized = false; // Used for the deep linking to make sure not to call the same function several times.
    \ No newline at end of file
    diff --git a/js/jquery.scrollTo.js b/js/jquery.scrollTo.js
    new file mode 100644
    index 0000000..73844d4
    --- /dev/null
    +++ b/js/jquery.scrollTo.js
    @@ -0,0 +1,7 @@
    +/**
    + * Copyright (c) 2007-2012 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
    + * Dual licensed under MIT and GPL.
    + * @author Ariel Flesler
    + * @version 1.4.3
    + */
    +;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(!e)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
    \ No newline at end of file
    diff --git a/js/prettify.js b/js/prettify.js
    new file mode 100644
    index 0000000..eef5ad7
    --- /dev/null
    +++ b/js/prettify.js
    @@ -0,0 +1,28 @@
    +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
    +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
    +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
    +f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
    +(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
    +{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
    +t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
    +"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
    +l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
    +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
    +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
    +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
    +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
    +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
    +m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
    +a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
    +j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
    +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
    +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
    +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
    +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
    +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
    +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
    +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
    +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
    +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
    +250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
    +PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
    diff --git a/js/script.js b/js/script.js
    new file mode 100644
    index 0000000..510278c
    --- /dev/null
    +++ b/js/script.js
    @@ -0,0 +1,143 @@
    +    $(document).ready(function() {	
    +  		$('.flexslider').flexslider({
    +  		  animation: "fade",      
    +  		  slideshow: false,     
    +  		  slideshowSpeed: 7000,
    +  		  animationDuration: 0,
    +  		  prevText: "",
    +  		  nextText: "",
    +  		  controlNav: true,
    +  		}) 			
    +
    +  // hide #back-top first
    +  $("#back-top").hide();
    +  
    +  // fade in #back-top
    +  $(function () {
    +    $(window).scroll(function () {
    +      if ($(this).scrollTop() > 100) {
    +        $('#back-top').fadeIn();
    +      } else {
    +        $('#back-top').fadeOut();
    +      }
    +    });
    +
    +    // scroll body to 0px on click
    +    $('#back-top a').click(function () {
    +      $('body,html').animate({
    +        scrollTop: 0
    +      }, 400);
    +      return false;
    +    });
    +  });
    +
    +  if ($(location).attr('href').indexOf("http://info.template-help.com")+1)
    +  {
    +    $('#copyright').text('Template-Help.com');
    +  }
    +
    +			
    +// prettyphoto init
    +    $("a[data-gal^='prettyPhoto']").prettyPhoto({
    +      animationSpeed:'slow',
    +      theme:'facebook',
    +      slideshow:false,
    +      autoplay_slideshow: false,
    +      show_title: true,
    +      overlay_gallery: false
    +    }).append('<span></span>').hover(
    +      function(){
    +        $(this).find('>img').stop().animate({opacity:.5})
    +      },
    +      function(){
    +        $(this).find('>img').stop().animate({opacity:1})
    +      }
    +    );		
    +
    +// slide-down-box-------------------------------  
    +      var idArray = [],
    +          click_scroll = false;
    +      $("#nav a").each(function(index){
    +        idArray[index]=$(this).attr("href");
    +      });
    +      
    +      $('ul.list li a').prepend('<i class="icon-sample"></i>');
    +      $('li:first-child', "#nav").addClass('first');
    +      $('li:last-child', "#nav").addClass('last');
    +
    +      $("#affect_all").toggle(
    +        function(){
    +          $("#nav>li").not(".act_item").addClass("open_item").find("dd").stop(true).slideDown(200);
    +          $(this).find('.expand').hide();
    +          $(this).find('.close').show();
    +        },
    +        function(){
    +          $("#nav>li").not(".act_item").removeClass("open_item").find("dd").stop(true).slideUp(200);
    +          $(this).find('.expand').show();
    +          $(this).find('.close').hide();
    +        }
    +      );
    +      $(".slide-down dt i").click(function(){
    +        $(this).parents("li").toggleClass("open_item").find('dd').slideToggle(300);
    +        return false;
    +      });
    +      $(".slide-down a").click(function(){
    +        click_scroll = true;
    +        $(window).scrollTo($(this).attr("href"), 800, function(){
    +          click_scroll = false;
    +          change_menu_item();
    +        });
    +        return false;
    +      });
    +      $(window).scroll(change_menu_item).trigger("scroll");
    +      function change_menu_item(){
    +        if(!click_scroll){
    +          $(".current").removeClass("current");
    +          $(".act_item").removeClass("act_item");
    +          $(".open_item").removeClass("open_item");
    +          for(var i=0, lenghtArray = idArray.length; i<lenghtArray; i++){
    +            if($(idArray[i]).offset().top-$(window).scrollTop()<=(($(window).height()/2)-100) && $(idArray[i]).offset().top-$(window).scrollTop()>=0 || $(window).scrollTop()+(($(window).height()/2)-100)>$(idArray[i]).offset().top && $(idArray[i]).offset().top+$(idArray[i]).height()>$(window).scrollTop()+(($(window).height()/2))){
    +              $("a[href="+idArray[i]+"]").parent("li").addClass("current");
    +              $("a[href="+idArray[i]+"]").parents("li").addClass("act_item open_item");
    +            }
    +          }
    +          $(".act_item").find("dd").slideDown(200);
    +          $("li", '#nav').not(".act_item").find("dd").stop().slideUp(200);
    +        }
    +      }
    +      /*Language switcher*/
    +
    +      $('#lang_icon').toggle(function(){
    +        $('#lang_icon > i').find('i').removeClass('icon-angle-down').addClass('icon-angle-up');
    +        $('#lang_list').slideDown(200);
    +      }, function(){
    +        $('#lang_list').slideUp(200);
    +        $('#lang_icon > i').find('i').addClass('icon-angle-down').removeClass('icon-angle-up');
    +      })
    +
    +      $('#lang_list li').click(function(){
    +        $('#lang_list').slideUp(200);
    +        $('#lang_icon > i').find('i').addClass('icon-angle-down').removeClass('icon-angle-up');
    +      })
    +      $(document).click(function() { 
    +        $('#lang_list').slideUp(200);
    +        $('#lang_icon > i').find('i').addClass('icon-angle-down').removeClass('icon-angle-up');
    +       }); 
    +      $('#lang_icon').click(function(e){ 
    +          e.stopPropagation(); 
    +      });
    +
    +    })  
    +    !function ($) {
    +      $(function(){	
    +        var $window = $(window)		
    +        // make code pretty
    +        window.prettyPrint && prettyPrint()
    +        // side bar
    +        $('#nav_container').affix({
    +          offset: {
    +            top: 80		
    +          }
    +        })
    +      })
    +    }(window.jQuery)  
    \ No newline at end of file
    diff --git a/less/alerts.less b/less/alerts.less
    new file mode 100644
    index 0000000..89e7b68
    --- /dev/null
    +++ b/less/alerts.less
    @@ -0,0 +1,86 @@
    +//
    +// Alerts
    +// --------------------------------------------------
    +
    +
    +// Base styles
    +// -------------------------
    +
    +.alert {
    +  padding: 18px 35px 18px 14px;
    +  margin-bottom: @baseLineHeight;
    +  text-shadow: 0 1px 0 rgba(255,255,255,.5);
    +  background-color: @warningBackground;
    +  border: none;
    +  .border-radius(0);
    +  font-size: 15px;
    +  line-height: 20px;
    +  i{
    +    font-size: 20px;
    +    margin-right: 10px;
    +    display: inline-block;
    +  }
    +}
    +.alert,
    +.alert h4 {
    +  // Specified for the h4 to prevent conflicts of changing @headingsColor
    +  color: @warningText;
    +}
    +.alert h4 {
    +  margin: 0;
    +}
    +
    +// Adjust close link position
    +.alert .close {
    +  position: relative;
    +  top: -2px;
    +  right: -21px;
    +  line-height: @baseLineHeight;
    +}
    +
    +
    +// Alternate styles
    +// -------------------------
    +
    +.alert-success {
    +  background-color: @successBorder;
    +  border-color: none;
    +  color: @successText;
    +}
    +.alert-success h4 {
    +  color: @successText;
    +}
    +.alert-danger,
    +.alert-error {
    +  background-color: @errorBackground;
    +  border-color:none;
    +  color: @errorText;
    +}
    +.alert-danger h4,
    +.alert-error h4 {
    +  color: @errorText;
    +}
    +.alert-info {
    +  background-color: @infoBackground;
    +  border-color: none;
    +  color: @infoText;
    +}
    +.alert-info h4 {
    +  color: @infoText;
    +}
    +
    +
    +// Block alerts
    +// -------------------------
    +
    +.alert-block {
    +  padding-top: 14px;
    +  padding-bottom: 14px;
    +}
    +.alert-block > p,
    +.alert-block > ul {
    +  margin-bottom: 0;
    +}
    +.alert-block p + p {
    +  margin-top: 5px;
    +}
    diff --git a/less/bootstrap.less b/less/bootstrap.less
    new file mode 100644
    index 0000000..494ec73
    --- /dev/null
    +++ b/less/bootstrap.less
    @@ -0,0 +1,36 @@
    +/*!
    + * Bootstrap v2.3.0
    + *
    + * Copyright 2012 Twitter, Inc
    + * Licensed under the Apache License v2.0
    + * http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Designed and built with all the love in the world @twitter by @mdo and @fat.
    + */
    +
    +// Core variables and mixins
    +@import "variables.less"; // Modify this for custom colors, font-sizes, etc
    +@import "mixins.less";
    +
    +// CSS Reset
    +@import "reset.less";
    +
    +// Grid system and page structure
    +@import "scaffolding.less";
    +@import "grid.less";
    +@import "layouts.less";
    +
    +// Base CSS
    +@import "type.less";
    +@import "code.less";
    +
    +// Components: Buttons & Alerts
    +@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
    +
    +// Utility classes
    +@import "utilities.less"; // Has to be last to override when necessary
    +@import "font-awesome.less"; // Has to be last to override when necessary
    +
    +
    +// Components: Misc
    +@import "labels-badges.less";
    \ No newline at end of file
    diff --git a/less/code.less b/less/code.less
    new file mode 100644
    index 0000000..266a926
    --- /dev/null
    +++ b/less/code.less
    @@ -0,0 +1,61 @@
    +//
    +// Code (inline and blocK)
    +// --------------------------------------------------
    +
    +
    +// Inline and block code styles
    +code,
    +pre {
    +  padding: 0 3px 2px;
    +  #font > #family > .monospace;
    +  font-size: @baseFontSize - 2;
    +  color: @grayDark;
    +  .border-radius(3px);
    +}
    +
    +// Inline code
    +code {
    +  padding: 2px 4px;
    +  color: #d14;
    +  background-color: #f7f7f9;
    +  border: 1px solid #e1e1e8;
    +  white-space: nowrap;
    +}
    +
    +// Blocks of code
    +pre {
    +  display: block;
    +  padding: (@baseLineHeight - 1) / 2;
    +  margin: 0 0 @baseLineHeight / 2;
    +  font-size: @baseFontSize - 1; // 14px to 13px
    +  line-height: @baseLineHeight;
    +  word-break: break-all;
    +  word-wrap: break-word;
    +  white-space: pre;
    +  white-space: pre-wrap;
    +  background-color: #f5f5f5;
    +  border: 1px solid #ccc; // fallback for IE7-8
    +  border: 1px solid rgba(0,0,0,.15);
    +  .border-radius(@baseBorderRadius);
    +
    +  // Make prettyprint styles more spaced out for readability
    +  &.prettyprint {
    +    margin-bottom: @baseLineHeight;
    +  }
    +
    +  // Account for some code outputs that place code tags in pre tags
    +  code {
    +    padding: 0;
    +    color: inherit;
    +    white-space: pre;
    +    white-space: pre-wrap;
    +    background-color: transparent;
    +    border: 0;
    +  }
    +}
    +
    +// Enable scrollable blocks of code
    +.pre-scrollable {
    +  max-height: 340px;
    +  overflow-y: scroll;
    +}
    \ No newline at end of file
    diff --git a/less/font-awesome.less b/less/font-awesome.less
    new file mode 100644
    index 0000000..865fcbf
    --- /dev/null
    +++ b/less/font-awesome.less
    @@ -0,0 +1,537 @@
    +/*!
    + *  Font Awesome 3.0.2
    + *  the iconic font designed for use with Twitter Bootstrap
    + *  -------------------------------------------------------
    + *  The full suite of pictographic icons, examples, and documentation
    + *  can be found at: http://fortawesome.github.com/Font-Awesome/
    + *
    + *  License
    + *  -------------------------------------------------------
    + *  - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
    + *  - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
    + *    http://opensource.org/licenses/mit-license.html
    + *  - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
    + *  - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
    + *    "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
    +
    + *  Contact
    + *  -------------------------------------------------------
    + *  Email: dave@davegandy.com
    + *  Twitter: http://twitter.com/fortaweso_me
    + *  Work: Lead Product Designer @ http://kyruus.com
    + */
    +
    +@FontAwesomePath:   "../fonts";
    +@borderColor:       #eee;
    +@iconMuted:         #eee;
    +.border-radius(@radius) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; }
    +
    +@font-face {
    +  font-family: 'FontAwesome';
    +  src: url('@{FontAwesomePath}/fontawesome-webfont.eot?v=3.0.1');
    +  src: url('@{FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
    +    url('@{FontAwesomePath}/fontawesome-webfont.woff?v=3.0.1') format('woff'),
    +    url('@{FontAwesomePath}/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
    +//    url('@{FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=3.0.1') format('svg');
    +
    +//  src: url('@{FontAwesomePath}/FontAwesome.otf') format('opentype');
    +
    +  font-weight: normal;
    +  font-style: normal;
    +}
    +
    +/*  Font Awesome styles
    +    ------------------------------------------------------- */
    +[class^="icon-"],
    +[class*=" icon-"] {
    +  font-family: FontAwesome;
    +  font-weight: normal;
    +  font-style: normal;
    +  text-decoration: inherit;
    +  -webkit-font-smoothing: antialiased;
    +
    +/* sprites.less reset */
    +  display: inline;
    +  width: auto;
    +  height: auto;
    +  line-height: normal;
    +  vertical-align: baseline;
    +  background-image: none;
    +  background-position: 0% 0%;
    +  background-repeat: repeat;
    +  margin-top: 0;
    +}
    +
    +/* more sprites.less reset */
    +.icon-white,
    +.nav-pills > .active > a > [class^="icon-"],
    +.nav-pills > .active > a > [class*=" icon-"],
    +.nav-list > .active > a > [class^="icon-"],
    +.nav-list > .active > a > [class*=" icon-"],
    +.navbar-inverse .nav > .active > a > [class^="icon-"],
    +.navbar-inverse .nav > .active > a > [class*=" icon-"],
    +.dropdown-menu > li > a:hover > [class^="icon-"],
    +.dropdown-menu > li > a:hover > [class*=" icon-"],
    +.dropdown-menu > .active > a > [class^="icon-"],
    +.dropdown-menu > .active > a > [class*=" icon-"],
    +.dropdown-submenu:hover > a > [class^="icon-"],
    +.dropdown-submenu:hover > a > [class*=" icon-"] {
    +  background-image: none;
    +}
    +
    +[class^="icon-"]:before,
    +[class*=" icon-"]:before {
    +  text-decoration: inherit;
    +  display: inline-block;
    +  speak: none;
    +}
    +
    +/* makes sure icons active on rollover in links */
    +a {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +    display: inline-block;
    +  }
    +}
    +
    +/* makes the font 33% larger relative to the icon container */
    +.icon-large:before {
    +  vertical-align: -10%;
    +  font-size: 4/3em;
    +}
    +
    +.btn, .nav {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +    display: inline;
    +    /* keeps button heights with and without icons the same */
    +    &.icon-large { line-height: .9em; }
    +    &.icon-spin { display: inline-block; }
    +  }
    +}
    +
    +.nav-tabs, .nav-pills {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +  /* keeps button heights with and without icons the same */
    +    &, &.icon-large { line-height: .9em; }
    +  }
    +}
    +
    +li, .nav li {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +    display: inline-block;
    +    width: 1.25em;
    +    text-align: center;
    +    &.icon-large {
    +      /* increased font size for icon-large */
    +      width: 1.25*1.25em;
    +    }
    +  }
    +}
    +
    +ul.icons {
    +  list-style-type: none;
    +  text-indent: -.75em;
    +
    +  li {
    +    [class^="icon-"],
    +    [class*=" icon-"] {
    +      width: .75em;
    +    }
    +  }
    +}
    +
    +.icon-muted {
    +  color: @iconMuted;
    +}
    +
    +// Icon Borders
    +// -------------------------
    +
    +.icon-border {
    +  border: solid 1px @borderColor;
    +  padding: .2em .25em .15em;
    +  .border-radius(3px);
    +}
    +
    +// Icon Sizes
    +// -------------------------
    +
    +.icon-2x {
    +  font-size: 2em;
    +  &.icon-border {
    +    border-width: 2px;
    +    .border-radius(4px);
    +  }
    +}
    +.icon-3x {
    +  font-size: 3em;
    +  &.icon-border {
    +    border-width: 3px;
    +    .border-radius(5px);
    +  }
    +}
    +.icon-4x {
    +  font-size: 4em;
    +  &.icon-border {
    +    border-width: 4px;
    +    .border-radius(6px);
    +  }
    +}
    +
    +// Floats
    +// -------------------------
    +
    +// Quick floats
    +.pull-right { float: right; }
    +.pull-left { float: left; }
    +
    +[class^="icon-"],
    +[class*=" icon-"] {
    +  &.pull-left {
    +    margin-right: .3em;
    +  }
    +  &.pull-right {
    +    margin-left: .3em;
    +  }
    +}
    +
    +.btn {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +    &.pull-left, &.pull-right {
    +      &.icon-2x { margin-top: .18em; }
    +    }
    +    &.icon-spin.icon-large { line-height: .8em; }
    +  }
    +}
    +
    +.btn.btn-small {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +    &.pull-left, &.pull-right {
    +      &.icon-2x { margin-top: .25em; }
    +    }
    +  }
    +}
    +
    +.btn.btn-large {
    +  [class^="icon-"],
    +  [class*=" icon-"] {
    +    margin-top: 0; // overrides bootstrap default
    +    &.pull-left, &.pull-right {
    +      &.icon-2x { margin-top: .05em; }
    +    }
    +    &.pull-left.icon-2x { margin-right: .2em; }
    +    &.pull-right.icon-2x { margin-left: .2em; }
    +  }
    +}
    +
    +
    +.icon-spin {
    +  display: inline-block;
    +  -moz-animation: spin 2s infinite linear;
    +  -o-animation: spin 2s infinite linear;
    +  -webkit-animation: spin 2s infinite linear;
    +  animation: spin 2s infinite linear;
    +}
    +
    +@-moz-keyframes spin {
    +  0% { -moz-transform: rotate(0deg); }
    +  100% { -moz-transform: rotate(359deg); }
    +}
    +@-webkit-keyframes spin {
    +  0% { -webkit-transform: rotate(0deg); }
    +  100% { -webkit-transform: rotate(359deg); }
    +}
    +@-o-keyframes spin {
    +  0% { -o-transform: rotate(0deg); }
    +  100% { -o-transform: rotate(359deg); }
    +}
    +@-ms-keyframes spin {
    +  0% { -ms-transform: rotate(0deg); }
    +  100% { -ms-transform: rotate(359deg); }
    +}
    +@keyframes spin {
    +  0% { transform: rotate(0deg); }
    +  100% { transform: rotate(359deg); }
    +}
    +
    +@-moz-document url-prefix() {
    +  .icon-spin { height: .9em; }
    +  .btn .icon-spin { height: auto; }
    +  .icon-spin.icon-large { height: 1.25em; }
    +  .btn .icon-spin.icon-large { height: .75em; }
    +}
    +
    +/*  Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
    +    readers do not read off random characters that represent icons */
    +.icon-glass:before                { content: "\f000"; }
    +.icon-music:before                { content: "\f001"; }
    +.icon-search:before               { content: "\f002"; }
    +.icon-envelope:before             { content: "\f003"; }
    +.icon-heart:before                { content: "\f004"; }
    +.icon-star:before                 { content: "\f005"; }
    +.icon-star-empty:before           { content: "\f006"; }
    +.icon-user:before                 { content: "\f007"; }
    +.icon-film:before                 { content: "\f008"; }
    +.icon-th-large:before             { content: "\f009"; }
    +.icon-th:before                   { content: "\f00a"; }
    +.icon-th-list:before              { content: "\f00b"; }
    +.icon-ok:before                   { content: "\f00c"; }
    +.icon-remove:before               { content: "\f00d"; }
    +.icon-zoom-in:before              { content: "\f00e"; }
    +
    +.icon-zoom-out:before             { content: "\f010"; }
    +.icon-off:before                  { content: "\f011"; }
    +.icon-signal:before               { content: "\f012"; }
    +.icon-cog:before                  { content: "\f013"; }
    +.icon-trash:before                { content: "\f014"; }
    +.icon-home:before                 { content: "\f015"; }
    +.icon-file:before                 { content: "\f016"; }
    +.icon-time:before                 { content: "\f017"; }
    +.icon-road:before                 { content: "\f018"; }
    +.icon-download-alt:before         { content: "\f019"; }
    +.icon-download:before             { content: "\f01a"; }
    +.icon-upload:before               { content: "\f01b"; }
    +.icon-inbox:before                { content: "\f01c"; }
    +.icon-play-circle:before          { content: "\f01d"; }
    +.icon-repeat:before               { content: "\f01e"; }
    +
    +/* \f020 doesn't work in Safari. all shifted one down */
    +.icon-refresh:before              { content: "\f021"; }
    +.icon-list-alt:before             { content: "\f022"; }
    +.icon-lock:before                 { content: "\f023"; }
    +.icon-flag:before                 { content: "\f024"; }
    +.icon-headphones:before           { content: "\f025"; }
    +.icon-volume-off:before           { content: "\f026"; }
    +.icon-volume-down:before          { content: "\f027"; }
    +.icon-volume-up:before            { content: "\f028"; }
    +.icon-qrcode:before               { content: "\f029"; }
    +.icon-barcode:before              { content: "\f02a"; }
    +.icon-tag:before                  { content: "\f02b"; }
    +.icon-tags:before                 { content: "\f02c"; }
    +.icon-book:before                 { content: "\f02d"; }
    +.icon-bookmark:before             { content: "\f02e"; }
    +.icon-print:before                { content: "\f02f"; }
    +
    +.icon-camera:before               { content: "\f030"; }
    +.icon-font:before                 { content: "\f031"; }
    +.icon-bold:before                 { content: "\f032"; }
    +.icon-italic:before               { content: "\f033"; }
    +.icon-text-height:before          { content: "\f034"; }
    +.icon-text-width:before           { content: "\f035"; }
    +.icon-align-left:before           { content: "\f036"; }
    +.icon-align-center:before         { content: "\f037"; }
    +.icon-align-right:before          { content: "\f038"; }
    +.icon-align-justify:before        { content: "\f039"; }
    +.icon-list:before                 { content: "\f03a"; }
    +.icon-indent-left:before          { content: "\f03b"; }
    +.icon-indent-right:before         { content: "\f03c"; }
    +.icon-facetime-video:before       { content: "\f03d"; }
    +.icon-picture:before              { content: "\f03e"; }
    +
    +.icon-pencil:before               { content: "\f040"; }
    +.icon-map-marker:before           { content: "\f041"; }
    +.icon-adjust:before               { content: "\f042"; }
    +.icon-tint:before                 { content: "\f043"; }
    +.icon-edit:before                 { content: "\f044"; }
    +.icon-share:before                { content: "\f045"; }
    +.icon-check:before                { content: "\f046"; }
    +.icon-move:before                 { content: "\f047"; }
    +.icon-step-backward:before        { content: "\f048"; }
    +.icon-fast-backward:before        { content: "\f049"; }
    +.icon-backward:before             { content: "\f04a"; }
    +.icon-play:before                 { content: "\f04b"; }
    +.icon-pause:before                { content: "\f04c"; }
    +.icon-stop:before                 { content: "\f04d"; }
    +.icon-forward:before              { content: "\f04e"; }
    +
    +.icon-fast-forward:before         { content: "\f050"; }
    +.icon-step-forward:before         { content: "\f051"; }
    +.icon-eject:before                { content: "\f052"; }
    +.icon-chevron-left:before         { content: "\f053"; }
    +.icon-chevron-right:before        { content: "\f054"; }
    +.icon-plus-sign:before            { content: "\f055"; }
    +.icon-minus-sign:before           { content: "\f056"; }
    +.icon-remove-sign:before          { content: "\f057"; }
    +.icon-ok-sign:before              { content: "\f058"; }
    +.icon-question-sign:before        { content: "\f059"; }
    +.icon-info-sign:before            { content: "\f05a"; }
    +.icon-screenshot:before           { content: "\f05b"; }
    +.icon-remove-circle:before        { content: "\f05c"; }
    +.icon-ok-circle:before            { content: "\f05d"; }
    +.icon-ban-circle:before           { content: "\f05e"; }
    +
    +.icon-arrow-left:before           { content: "\f060"; }
    +.icon-arrow-right:before          { content: "\f061"; }
    +.icon-arrow-up:before             { content: "\f062"; }
    +.icon-arrow-down:before           { content: "\f063"; }
    +.icon-share-alt:before            { content: "\f064"; }
    +.icon-resize-full:before          { content: "\f065"; }
    +.icon-resize-small:before         { content: "\f066"; }
    +.icon-plus:before                 { content: "\f067"; }
    +.icon-minus:before                { content: "\f068"; }
    +.icon-asterisk:before             { content: "\f069"; }
    +.icon-exclamation-sign:before     { content: "\f06a"; }
    +.icon-gift:before                 { content: "\f06b"; }
    +.icon-leaf:before                 { content: "\f06c"; }
    +.icon-fire:before                 { content: "\f06d"; }
    +.icon-eye-open:before             { content: "\f06e"; }
    +
    +.icon-eye-close:before            { content: "\f070"; }
    +.icon-warning-sign:before         { content: "\f071"; }
    +.icon-plane:before                { content: "\f072"; }
    +.icon-calendar:before             { content: "\f073"; }
    +.icon-random:before               { content: "\f074"; }
    +.icon-comment:before              { content: "\f075"; }
    +.icon-magnet:before               { content: "\f076"; }
    +.icon-chevron-up:before           { content: "\f077"; }
    +.icon-chevron-down:before         { content: "\f078"; }
    +.icon-retweet:before              { content: "\f079"; }
    +.icon-shopping-cart:before        { content: "\f07a"; }
    +.icon-folder-close:before         { content: "\f07b"; }
    +.icon-folder-open:before          { content: "\f07c"; }
    +.icon-resize-vertical:before      { content: "\f07d"; }
    +.icon-resize-horizontal:before    { content: "\f07e"; }
    +
    +.icon-bar-chart:before            { content: "\f080"; }
    +.icon-twitter-sign:before         { content: "\f081"; }
    +.icon-facebook-sign:before        { content: "\f082"; }
    +.icon-camera-retro:before         { content: "\f083"; }
    +.icon-key:before                  { content: "\f084"; }
    +.icon-cogs:before                 { content: "\f085"; }
    +.icon-comments:before             { content: "\f086"; }
    +.icon-thumbs-up:before            { content: "\f087"; }
    +.icon-thumbs-down:before          { content: "\f088"; }
    +.icon-star-half:before            { content: "\f089"; }
    +.icon-heart-empty:before          { content: "\f08a"; }
    +.icon-signout:before              { content: "\f08b"; }
    +.icon-linkedin-sign:before        { content: "\f08c"; }
    +.icon-pushpin:before              { content: "\f08d"; }
    +.icon-external-link:before        { content: "\f08e"; }
    +
    +.icon-signin:before               { content: "\f090"; }
    +.icon-trophy:before               { content: "\f091"; }
    +.icon-github-sign:before          { content: "\f092"; }
    +.icon-upload-alt:before           { content: "\f093"; }
    +.icon-lemon:before                { content: "\f094"; }
    +.icon-phone:before                { content: "\f095"; }
    +.icon-check-empty:before          { content: "\f096"; }
    +.icon-bookmark-empty:before       { content: "\f097"; }
    +.icon-phone-sign:before           { content: "\f098"; }
    +.icon-twitter:before              { content: "\f099"; }
    +.icon-facebook:before             { content: "\f09a"; }
    +.icon-github:before               { content: "\f09b"; }
    +.icon-unlock:before               { content: "\f09c"; }
    +.icon-credit-card:before          { content: "\f09d"; }
    +.icon-rss:before                  { content: "\f09e"; }
    +
    +.icon-hdd:before                  { content: "\f0a0"; }
    +.icon-bullhorn:before             { content: "\f0a1"; }
    +.icon-bell:before                 { content: "\f0a2"; }
    +.icon-certificate:before          { content: "\f0a3"; }
    +.icon-hand-right:before           { content: "\f0a4"; }
    +.icon-hand-left:before            { content: "\f0a5"; }
    +.icon-hand-up:before              { content: "\f0a6"; }
    +.icon-hand-down:before            { content: "\f0a7"; }
    +.icon-circle-arrow-left:before    { content: "\f0a8"; }
    +.icon-circle-arrow-right:before   { content: "\f0a9"; }
    +.icon-circle-arrow-up:before      { content: "\f0aa"; }
    +.icon-circle-arrow-down:before    { content: "\f0ab"; }
    +.icon-globe:before                { content: "\f0ac"; }
    +.icon-wrench:before               { content: "\f0ad"; }
    +.icon-tasks:before                { content: "\f0ae"; }
    +
    +.icon-filter:before               { content: "\f0b0"; }
    +.icon-briefcase:before            { content: "\f0b1"; }
    +.icon-fullscreen:before           { content: "\f0b2"; }
    +
    +.icon-group:before                { content: "\f0c0"; }
    +.icon-link:before                 { content: "\f0c1"; }
    +.icon-cloud:before                { content: "\f0c2"; }
    +.icon-beaker:before               { content: "\f0c3"; }
    +.icon-cut:before                  { content: "\f0c4"; }
    +.icon-copy:before                 { content: "\f0c5"; }
    +.icon-paper-clip:before           { content: "\f0c6"; }
    +.icon-save:before                 { content: "\f0c7"; }
    +.icon-sign-blank:before           { content: "\f0c8"; }
    +.icon-reorder:before              { content: "\f0c9"; }
    +.icon-list-ul:before              { content: "\f0ca"; }
    +.icon-list-ol:before              { content: "\f0cb"; }
    +.icon-strikethrough:before        { content: "\f0cc"; }
    +.icon-underline:before            { content: "\f0cd"; }
    +.icon-table:before                { content: "\f0ce"; }
    +
    +.icon-magic:before                { content: "\f0d0"; }
    +.icon-truck:before                { content: "\f0d1"; }
    +.icon-pinterest:before            { content: "\f0d2"; }
    +.icon-pinterest-sign:before       { content: "\f0d3"; }
    +.icon-google-plus-sign:before     { content: "\f0d4"; }
    +.icon-google-plus:before          { content: "\f0d5"; }
    +.icon-money:before                { content: "\f0d6"; }
    +.icon-caret-down:before           { content: "\f0d7"; }
    +.icon-caret-up:before             { content: "\f0d8"; }
    +.icon-caret-left:before           { content: "\f0d9"; }
    +.icon-caret-right:before          { content: "\f0da"; }
    +.icon-columns:before              { content: "\f0db"; }
    +.icon-sort:before                 { content: "\f0dc"; }
    +.icon-sort-down:before            { content: "\f0dd"; }
    +.icon-sort-up:before              { content: "\f0de"; }
    +
    +.icon-envelope-alt:before         { content: "\f0e0"; }
    +.icon-linkedin:before             { content: "\f0e1"; }
    +.icon-undo:before                 { content: "\f0e2"; }
    +.icon-legal:before                { content: "\f0e3"; }
    +.icon-dashboard:before            { content: "\f0e4"; }
    +.icon-comment-alt:before          { content: "\f0e5"; }
    +.icon-comments-alt:before         { content: "\f0e6"; }
    +.icon-bolt:before                 { content: "\f0e7"; }
    +.icon-sitemap:before              { content: "\f0e8"; }
    +.icon-umbrella:before             { content: "\f0e9"; }
    +.icon-paste:before                { content: "\f0ea"; }
    +.icon-lightbulb:before            { content: "\f0eb"; }
    +.icon-exchange:before             { content: "\f0ec"; }
    +.icon-cloud-download:before       { content: "\f0ed"; }
    +.icon-cloud-upload:before         { content: "\f0ee"; }
    +
    +.icon-user-md:before              { content: "\f0f0"; }
    +.icon-stethoscope:before          { content: "\f0f1"; }
    +.icon-suitcase:before             { content: "\f0f2"; }
    +.icon-bell-alt:before             { content: "\f0f3"; }
    +.icon-coffee:before               { content: "\f0f4"; }
    +.icon-food:before                 { content: "\f0f5"; }
    +.icon-file-alt:before             { content: "\f0f6"; }
    +.icon-building:before             { content: "\f0f7"; }
    +.icon-hospital:before             { content: "\f0f8"; }
    +.icon-ambulance:before            { content: "\f0f9"; }
    +.icon-medkit:before               { content: "\f0fa"; }
    +.icon-fighter-jet:before          { content: "\f0fb"; }
    +.icon-beer:before                 { content: "\f0fc"; }
    +.icon-h-sign:before               { content: "\f0fd"; }
    +.icon-plus-sign-alt:before        { content: "\f0fe"; }
    +
    +.icon-double-angle-left:before    { content: "\f100"; }
    +.icon-double-angle-right:before   { content: "\f101"; }
    +.icon-double-angle-up:before      { content: "\f102"; }
    +.icon-double-angle-down:before    { content: "\f103"; }
    +.icon-angle-left:before           { content: "\f104"; }
    +.icon-angle-right:before          { content: "\f105"; }
    +.icon-angle-up:before             { content: "\f106"; }
    +.icon-angle-down:before           { content: "\f107"; }
    +.icon-desktop:before              { content: "\f108"; }
    +.icon-laptop:before               { content: "\f109"; }
    +.icon-tablet:before               { content: "\f10a"; }
    +.icon-mobile-phone:before         { content: "\f10b"; }
    +.icon-circle-blank:before         { content: "\f10c"; }
    +.icon-quote-left:before           { content: "\f10d"; }
    +.icon-quote-right:before          { content: "\f10e"; }
    +
    +.icon-spinner:before              { content: "\f110"; }
    +.icon-circle:before               { content: "\f111"; }
    +.icon-reply:before                { content: "\f112"; }
    +.icon-github-alt:before           { content: "\f113"; }
    +.icon-folder-close-alt:before     { content: "\f114"; }
    +.icon-folder-open-alt:before      { content: "\f115"; }
    diff --git a/less/grid.less b/less/grid.less
    new file mode 100644
    index 0000000..750d203
    --- /dev/null
    +++ b/less/grid.less
    @@ -0,0 +1,21 @@
    +//
    +// Grid system
    +// --------------------------------------------------
    +
    +
    +// Fixed (940px)
    +#grid > .core(@gridColumnWidth, @gridGutterWidth);
    +
    +// Fluid (940px)
    +#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);
    +
    +// Reset utility classes due to specificity
    +[class*="span"].hide,
    +.row-fluid [class*="span"].hide {
    +  display: none;
    +}
    +
    +[class*="span"].pull-right,
    +.row-fluid [class*="span"].pull-right {
    +  float: right;
    +}
    diff --git a/less/icomoon.less b/less/icomoon.less
    new file mode 100644
    index 0000000..2dacf2e
    --- /dev/null
    +++ b/less/icomoon.less
    @@ -0,0 +1,978 @@
    +@font-face {
    +  font-family: 'icomoon';
    +  src:url('../fonts/icomoon.eot');
    +  src:url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'),
    +    url('../fonts/icomoon.svg#icomoon') format('svg'),
    +    url('../fonts/icomoon.woff') format('woff'),
    +    url('../fonts/icomoon.ttf') format('truetype');
    +  font-weight: normal;
    +  font-style: normal;
    +}
    +
    +/* Use the following CSS code if you want to use data attributes for inserting your icons */
    +[data-icon]:before {
    +  font-family: 'icomoon';
    +  content: attr(data-icon);
    +  speak: none;
    +  font-weight: normal;
    +  line-height: 1;
    +  -webkit-font-smoothing: antialiased;
    +}
    +
    +/* Use the following CSS code if you want to have a class per icon */
    +[class^="icon-"]:before, [class*=" icon-"]:before {
    +  font-family: 'icomoon';
    +  font-style: normal;
    +  speak: none;
    +  font-weight: normal;
    +  line-height: 1;
    +  -webkit-font-smoothing: antialiased;
    +}
    +.icon-home:before {
    +  content: "\e000";
    +}
    +.icon-home-2:before {
    +  content: "\e001";
    +}
    +.icon-newspaper:before {
    +  content: "\e002";
    +}
    +.icon-pencil:before {
    +  content: "\e003";
    +}
    +.icon-pencil-2:before {
    +  content: "\e004";
    +}
    +.icon-droplet:before {
    +  content: "\e005";
    +}
    +.icon-pictures:before {
    +  content: "\e006";
    +}
    +.icon-picture:before {
    +  content: "\e007";
    +}
    +.icon-camera:before {
    +  content: "\e008";
    +}
    +.icon-music:before {
    +  content: "\e009";
    +}
    +.icon-play:before {
    +  content: "\e00a";
    +}
    +.icon-film:before {
    +  content: "\e00b";
    +}
    +.icon-camera-2:before {
    +  content: "\e00c";
    +}
    +.icon-spades:before {
    +  content: "\e00d";
    +}
    +.icon-clubs:before {
    +  content: "\e00e";
    +}
    +.icon-diamonds:before {
    +  content: "\e00f";
    +}
    +.icon-broadcast:before {
    +  content: "\e010";
    +}
    +.icon-mic:before {
    +  content: "\e011";
    +}
    +.icon-book:before {
    +  content: "\e012";
    +}
    +.icon-file:before {
    +  content: "\e013";
    +}
    +.icon-file-2:before {
    +  content: "\e014";
    +}
    +.icon-new:before {
    +  content: "\e015";
    +}
    +.icon-copy:before {
    +  content: "\e016";
    +}
    +.icon-folder:before {
    +  content: "\e017";
    +}
    +.icon-folder-2:before {
    +  content: "\e018";
    +}
    +.icon-tag:before {
    +  content: "\e019";
    +}
    +.icon-cart:before {
    +  content: "\e01a";
    +}
    +.icon-basket:before {
    +  content: "\e01b";
    +}
    +.icon-calculate:before {
    +  content: "\e01c";
    +}
    +.icon-support:before {
    +  content: "\e01d";
    +}
    +.icon-phone:before {
    +  content: "\e01e";
    +}
    +.icon-mail:before {
    +  content: "\e01f";
    +}
    +.icon-location:before {
    +  content: "\e020";
    +}
    +.icon-compass:before {
    +  content: "\e021";
    +}
    +.icon-history:before {
    +  content: "\e022";
    +}
    +.icon-clock:before {
    +  content: "\e023";
    +}
    +.icon-bell:before {
    +  content: "\e024";
    +}
    +.icon-calendar:before {
    +  content: "\e025";
    +}
    +.icon-printer:before {
    +  content: "\e026";
    +}
    +.icon-mouse:before {
    +  content: "\e027";
    +}
    +.icon-screen:before {
    +  content: "\e028";
    +}
    +.icon-laptop:before {
    +  content: "\e029";
    +}
    +.icon-mobile:before {
    +  content: "\e02a";
    +}
    +.icon-cabinet:before {
    +  content: "\e02b";
    +}
    +.icon-drawer:before {
    +  content: "\e02c";
    +}
    +.icon-drawer-2:before {
    +  content: "\e02d";
    +}
    +.icon-box:before {
    +  content: "\e02e";
    +}
    +.icon-box-add:before {
    +  content: "\e02f";
    +}
    +.icon-box-remove:before {
    +  content: "\e030";
    +}
    +.icon-download:before {
    +  content: "\e031";
    +}
    +.icon-upload:before {
    +  content: "\e032";
    +}
    +.icon-database:before {
    +  content: "\e033";
    +}
    +.icon-flip:before {
    +  content: "\e034";
    +}
    +.icon-flip-2:before {
    +  content: "\e035";
    +}
    +.icon-undo:before {
    +  content: "\e036";
    +}
    +.icon-redo:before {
    +  content: "\e037";
    +}
    +.icon-forward:before {
    +  content: "\e038";
    +}
    +.icon-reply:before {
    +  content: "\e039";
    +}
    +.icon-reply-2:before {
    +  content: "\e03a";
    +}
    +.icon-comments:before {
    +  content: "\e03b";
    +}
    +.icon-comments-2:before {
    +  content: "\e03c";
    +}
    +.icon-comments-3:before {
    +  content: "\e03d";
    +}
    +.icon-comments-4:before {
    +  content: "\e03e";
    +}
    +.icon-comments-5:before {
    +  content: "\e03f";
    +}
    +.icon-user:before {
    +  content: "\e040";
    +}
    +.icon-user-2:before {
    +  content: "\e041";
    +}
    +.icon-user-3:before {
    +  content: "\e042";
    +}
    +.icon-busy:before {
    +  content: "\e043";
    +}
    +.icon-loading:before {
    +  content: "\e044";
    +}
    +.icon-loading-2:before {
    +  content: "\e045";
    +}
    +.icon-search:before {
    +  content: "\e046";
    +}
    +.icon-zoom-in:before {
    +  content: "\e047";
    +}
    +.icon-zoom-out:before {
    +  content: "\e048";
    +}
    +.icon-key:before {
    +  content: "\e049";
    +}
    +.icon-key-2:before {
    +  content: "\e04a";
    +}
    +.icon-locked:before {
    +  content: "\e04b";
    +}
    +.icon-unlocked:before {
    +  content: "\e04c";
    +}
    +.icon-wrench:before {
    +  content: "\e04d";
    +}
    +.icon-equalizer:before {
    +  content: "\e04e";
    +}
    +.icon-cog:before {
    +  content: "\e04f";
    +}
    +.icon-pie:before {
    +  content: "\e050";
    +}
    +.icon-bars:before {
    +  content: "\e051";
    +}
    +.icon-stats-up:before {
    +  content: "\e052";
    +}
    +.icon-gift:before {
    +  content: "\e053";
    +}
    +.icon-trophy:before {
    +  content: "\e054";
    +}
    +.icon-diamond:before {
    +  content: "\e055";
    +}
    +.icon-coffee:before {
    +  content: "\e056";
    +}
    +.icon-rocket:before {
    +  content: "\e057";
    +}
    +.icon-meter-slow:before {
    +  content: "\e058";
    +}
    +.icon-meter-medium:before {
    +  content: "\e059";
    +}
    +.icon-meter-fast:before {
    +  content: "\e05a";
    +}
    +.icon-dashboard:before {
    +  content: "\e05b";
    +}
    +.icon-fire:before {
    +  content: "\e05c";
    +}
    +.icon-lab:before {
    +  content: "\e05d";
    +}
    +.icon-remove:before {
    +  content: "\e05e";
    +}
    +.icon-remove-2:before {
    +  content: "\e05f";
    +}
    +.icon-remove-3:before {
    +  content: "\e060";
    +}
    +.icon-briefcase:before {
    +  content: "\e061";
    +}
    +.icon-briefcase-2:before {
    +  content: "\e062";
    +}
    +.icon-cars:before {
    +  content: "\e063";
    +}
    +.icon-bus:before {
    +  content: "\e064";
    +}
    +.icon-cube:before {
    +  content: "\e065";
    +}
    +.icon-cube-2:before {
    +  content: "\e066";
    +}
    +.icon-puzzle:before {
    +  content: "\e067";
    +}
    +.icon-glasses:before {
    +  content: "\e068";
    +}
    +.icon-glasses-2:before {
    +  content: "\e069";
    +}
    +.icon-accessibility:before {
    +  content: "\e06a";
    +}
    +.icon-accessibility-2:before {
    +  content: "\e06b";
    +}
    +.icon-target:before {
    +  content: "\e06c";
    +}
    +.icon-target-2:before {
    +  content: "\e06d";
    +}
    +.icon-lightning:before {
    +  content: "\e06e";
    +}
    +.icon-power:before {
    +  content: "\e06f";
    +}
    +.icon-power-2:before {
    +  content: "\e070";
    +}
    +.icon-clipboard:before {
    +  content: "\e071";
    +}
    +.icon-clipboard-2:before {
    +  content: "\e072";
    +}
    +.icon-playlist:before {
    +  content: "\e073";
    +}
    +.icon-grid-view:before {
    +  content: "\e074";
    +}
    +.icon-tree-view:before {
    +  content: "\e075";
    +}
    +.icon-cloud:before {
    +  content: "\e076";
    +}
    +.icon-cloud-2:before {
    +  content: "\e077";
    +}
    +.icon-download-2:before {
    +  content: "\e078";
    +}
    +.icon-upload-2:before {
    +  content: "\e079";
    +}
    +.icon-upload-3:before {
    +  content: "\e07a";
    +}
    +.icon-link:before {
    +  content: "\e07b";
    +}
    +.icon-link-2:before {
    +  content: "\e07c";
    +}
    +.icon-flag:before {
    +  content: "\e07d";
    +}
    +.icon-flag-2:before {
    +  content: "\e07e";
    +}
    +.icon-attachment:before {
    +  content: "\e07f";
    +}
    +.icon-eye:before {
    +  content: "\e080";
    +}
    +.icon-eye-2:before {
    +  content: "\e081";
    +}
    +.icon-bookmark:before {
    +  content: "\e082";
    +}
    +.icon-bookmark-2:before {
    +  content: "\e083";
    +}
    +.icon-star:before {
    +  content: "\e084";
    +}
    +.icon-star-2:before {
    +  content: "\e085";
    +}
    +.icon-star-3:before {
    +  content: "\e086";
    +}
    +.icon-heart:before {
    +  content: "\e087";
    +}
    +.icon-heart-2:before {
    +  content: "\e088";
    +}
    +.icon-thumbs-up:before {
    +  content: "\e089";
    +}
    +.icon-thumbs-down:before {
    +  content: "\e08a";
    +}
    +.icon-happy:before {
    +  content: "\e08b";
    +}
    +.icon-smiley:before {
    +  content: "\e08c";
    +}
    +.icon-neutral:before {
    +  content: "\e08d";
    +}
    +.icon-plus:before {
    +  content: "\e08e";
    +}
    +.icon-minus:before {
    +  content: "\e08f";
    +}
    +.icon-help:before {
    +  content: "\e090";
    +}
    +.icon-help-2:before {
    +  content: "\e091";
    +}
    +.icon-blocked:before {
    +  content: "\e092";
    +}
    +.icon-cancel:before {
    +  content: "\e093";
    +}
    +.icon-cancel-2:before {
    +  content: "\e094";
    +}
    +.icon-checkmark:before {
    +  content: "\e095";
    +}
    +.icon-minus-2:before {
    +  content: "\e096";
    +}
    +.icon-plus-2:before {
    +  content: "\e097";
    +}
    +.icon-enter:before {
    +  content: "\e098";
    +}
    +.icon-exit:before {
    +  content: "\e099";
    +}
    +.icon-loop:before {
    +  content: "\e09a";
    +}
    +.icon-arrow-up-left:before {
    +  content: "\e09b";
    +}
    +.icon-arrow-up:before {
    +  content: "\e09c";
    +}
    +.icon-arrow-up-right:before {
    +  content: "\e09d";
    +}
    +.icon-arrow-right:before {
    +  content: "\e09e";
    +}
    +.icon-arrow-down-right:before {
    +  content: "\e09f";
    +}
    +.icon-arrow-up-left-2:before {
    +  content: "\e0a0";
    +}
    +.icon-arrow-up-2:before {
    +  content: "\e0a1";
    +}
    +.icon-arrow-up-right-2:before {
    +  content: "\e0a2";
    +}
    +.icon-arrow-right-2:before {
    +  content: "\e0a3";
    +}
    +.icon-arrow-down-right-2:before {
    +  content: "\e0a4";
    +}
    +.icon-arrow-down:before {
    +  content: "\e0a5";
    +}
    +.icon-arrow-down-left:before {
    +  content: "\e0a6";
    +}
    +.icon-arrow-left:before {
    +  content: "\e0a7";
    +}
    +.icon-arrow-up-left-3:before {
    +  content: "\e0a8";
    +}
    +.icon-arrow-up-3:before {
    +  content: "\e0a9";
    +}
    +.icon-arrow-up-right-3:before {
    +  content: "\e0aa";
    +}
    +.icon-arrow-right-3:before {
    +  content: "\e0ab";
    +}
    +.icon-arrow-down-right-3:before {
    +  content: "\e0ac";
    +}
    +.icon-arrow-down-2:before {
    +  content: "\e0ad";
    +}
    +.icon-arrow-down-left-2:before {
    +  content: "\e0ae";
    +}
    +.icon-arrow-left-2:before {
    +  content: "\e0af";
    +}
    +.icon-arrow-up-4:before {
    +  content: "\e0b0";
    +}
    +.icon-arrow-up-5:before {
    +  content: "\e0b1";
    +}
    +.icon-arrow-right-4:before {
    +  content: "\e0b2";
    +}
    +.icon-arrow-down-3:before {
    +  content: "\e0b3";
    +}
    +.icon-arrow-left-3:before {
    +  content: "\e0b4";
    +}
    +.icon-arrow-up-6:before {
    +  content: "\e0b5";
    +}
    +.icon-arrow-right-5:before {
    +  content: "\e0b6";
    +}
    +.icon-arrow-down-4:before {
    +  content: "\e0b7";
    +}
    +.icon-arrow-left-4:before {
    +  content: "\e0b8";
    +}
    +.icon-menu:before {
    +  content: "\e0b9";
    +}
    +.icon-enter-2:before {
    +  content: "\e0ba";
    +}
    +.icon-backspace:before {
    +  content: "\e0bb";
    +}
    +.icon-backspace-2:before {
    +  content: "\e0bc";
    +}
    +.icon-tab:before {
    +  content: "\e0bd";
    +}
    +.icon-tab-2:before {
    +  content: "\e0be";
    +}
    +.icon-checkbox:before {
    +  content: "\e0bf";
    +}
    +.icon-checkbox-unchecked:before {
    +  content: "\e0c0";
    +}
    +.icon-checkbox-partial:before {
    +  content: "\e0c1";
    +}
    +.icon-paragraph-left:before {
    +  content: "\e0c2";
    +}
    +.icon-paragraph-center:before {
    +  content: "\e0c3";
    +}
    +.icon-paragraph-right:before {
    +  content: "\e0c4";
    +}
    +.icon-paragraph-justify:before {
    +  content: "\e0c5";
    +}
    +.icon-left-to-right:before {
    +  content: "\e0c6";
    +}
    +.icon-right-to-left:before {
    +  content: "\e0c7";
    +}
    +.icon-share:before {
    +  content: "\e0c8";
    +}
    +.icon-new-tab:before {
    +  content: "\e0c9";
    +}
    +.icon-new-tab-2:before {
    +  content: "\e0ca";
    +}
    +.icon-embed:before {
    +  content: "\e0cb";
    +}
    +.icon-code:before {
    +  content: "\e0cc";
    +}
    +.icon-bluetooth:before {
    +  content: "\e0cd";
    +}
    +.icon-share-2:before {
    +  content: "\e0ce";
    +}
    +.icon-share-3:before {
    +  content: "\e0cf";
    +}
    +.icon-mail-2:before {
    +  content: "\e0d0";
    +}
    +.icon-mail-3:before {
    +  content: "\e0d1";
    +}
    +.icon-mail-4:before {
    +  content: "\e0d2";
    +}
    +.icon-google-plus:before {
    +  content: "\e0d3";
    +}
    +.icon-gplus:before {
    +  content: "\e0d4";
    +}
    +.icon-google-drive:before {
    +  content: "\e0d5";
    +}
    +.icon-facebook:before {
    +  content: "\e0d6";
    +}
    +.icon-facebook-2:before {
    +  content: "\e0d7";
    +}
    +.icon-facebook-3:before {
    +  content: "\e0d8";
    +}
    +.icon-instagram:before {
    +  content: "\e0d9";
    +}
    +.icon-twitter:before {
    +  content: "\e0da";
    +}
    +.icon-twitter-2:before {
    +  content: "\e0db";
    +}
    +.icon-twitter-3:before {
    +  content: "\e0dc";
    +}
    +.icon-feed:before {
    +  content: "\e0dd";
    +}
    +.icon-feed-2:before {
    +  content: "\e0de";
    +}
    +.icon-feed-3:before {
    +  content: "\e0df";
    +}
    +.icon-youtube:before {
    +  content: "\e0e0";
    +}
    +.icon-youtube-2:before {
    +  content: "\e0e1";
    +}
    +.icon-vimeo:before {
    +  content: "\e0e2";
    +}
    +.icon-vimeo-2:before {
    +  content: "\e0e3";
    +}
    +.icon-picassa:before {
    +  content: "\e0e4";
    +}
    +.icon-picassa-2:before {
    +  content: "\e0e5";
    +}
    +.icon-dribbble:before {
    +  content: "\e0e6";
    +}
    +.icon-dribbble-2:before {
    +  content: "\e0e7";
    +}
    +.icon-dribbble-3:before {
    +  content: "\e0e8";
    +}
    +.icon-forrst:before {
    +  content: "\e0e9";
    +}
    +.icon-forrst-2:before {
    +  content: "\e0ea";
    +}
    +.icon-deviantart:before {
    +  content: "\e0eb";
    +}
    +.icon-deviantart-2:before {
    +  content: "\e0ec";
    +}
    +.icon-github:before {
    +  content: "\e0ed";
    +}
    +.icon-github-2:before {
    +  content: "\e0ee";
    +}
    +.icon-github-3:before {
    +  content: "\e0ef";
    +}
    +.icon-github-4:before {
    +  content: "\e0f0";
    +}
    +.icon-github-5:before {
    +  content: "\e0f1";
    +}
    +.icon-github-6:before {
    +  content: "\e0f2";
    +}
    +.icon-git:before {
    +  content: "\e0f3";
    +}
    +.icon-github-7:before {
    +  content: "\e0f4";
    +}
    +.icon-blogger:before {
    +  content: "\e0f5";
    +}
    +.icon-blogger-2:before {
    +  content: "\e0f6";
    +}
    +.icon-tumblr:before {
    +  content: "\e0f7";
    +}
    +.icon-tumblr-2:before {
    +  content: "\e0f8";
    +}
    +.icon-yahoo:before {
    +  content: "\e0f9";
    +}
    +.icon-yahoo-2:before {
    +  content: "\e0fa";
    +}
    +.icon-amazon:before {
    +  content: "\e0fb";
    +}
    +.icon-amazon-2:before {
    +  content: "\e0fc";
    +}
    +.icon-tux:before {
    +  content: "\e0fd";
    +}
    +.icon-apple:before {
    +  content: "\e0fe";
    +}
    +.icon-finder:before {
    +  content: "\e0ff";
    +}
    +.icon-android:before {
    +  content: "\e100";
    +}
    +.icon-windows:before {
    +  content: "\e101";
    +}
    +.icon-soundcloud:before {
    +  content: "\e102";
    +}
    +.icon-soundcloud-2:before {
    +  content: "\e103";
    +}
    +.icon-skype:before {
    +  content: "\e104";
    +}
    +.icon-reddit:before {
    +  content: "\e105";
    +}
    +.icon-lastfm:before {
    +  content: "\e106";
    +}
    +.icon-delicious:before {
    +  content: "\e107";
    +}
    +.icon-stumbleupon:before {
    +  content: "\e108";
    +}
    +.icon-stumbleupon-2:before {
    +  content: "\e109";
    +}
    +.icon-pinterest:before {
    +  content: "\e10a";
    +}
    +.icon-pinterest-2:before {
    +  content: "\e10b";
    +}
    +.icon-xing:before {
    +  content: "\e10c";
    +}
    +.icon-xing-2:before {
    +  content: "\e10d";
    +}
    +.icon-flattr:before {
    +  content: "\e10e";
    +}
    +.icon-foursquare:before {
    +  content: "\e10f";
    +}
    +.icon-foursquare-2:before {
    +  content: "\e110";
    +}
    +.icon-paypal:before {
    +  content: "\e111";
    +}
    +.icon-paypal-2:before {
    +  content: "\e112";
    +}
    +.icon-paypal-3:before {
    +  content: "\e113";
    +}
    +.icon-yelp:before {
    +  content: "\e114";
    +}
    +.icon-libreoffice:before {
    +  content: "\e115";
    +}
    +.icon-file-pdf:before {
    +  content: "\e116";
    +}
    +.icon-file-powerpoint:before {
    +  content: "\e117";
    +}
    +.icon-file-zip:before {
    +  content: "\e118";
    +}
    +.icon-file-xml:before {
    +  content: "\e119";
    +}
    +.icon-file-css:before {
    +  content: "\e11a";
    +}
    +.icon-html5:before {
    +  content: "\e11b";
    +}
    +.icon-html5-2:before {
    +  content: "\e11c";
    +}
    +.icon-css3:before {
    +  content: "\e11d";
    +}
    +.icon-chrome:before {
    +  content: "\e11e";
    +}
    +.icon-firefox:before {
    +  content: "\e11f";
    +}
    +.icon-IE:before {
    +  content: "\e120";
    +}
    +.icon-opera:before {
    +  content: "\e121";
    +}
    +.icon-safari:before {
    +  content: "\e122";
    +}
    +.icon-IcoMoon:before {
    +  content: "\e123";
    +}
    +.icon-arrow-down-5:before {
    +  content: "\e124";
    +}
    +.icon-arrow-down-left-3:before {
    +  content: "\e125";
    +}
    +.icon-arrow-left-5:before {
    +  content: "\e126";
    +}
    +.icon-arrow-right-6:before {
    +  content: "\e127";
    +}
    +.icon-arrow-down-6:before {
    +  content: "\e128";
    +}
    +.icon-arrow-left-6:before {
    +  content: "\e129";
    +}
    +.icon-radio-checked:before {
    +  content: "\e12a";
    +}
    +.icon-radio-unchecked:before {
    +  content: "\e12b";
    +}
    +.icon-font:before {
    +  content: "\e12c";
    +}
    +.icon-google:before {
    +  content: "\e12d";
    +}
    +.icon-google-plus-2:before {
    +  content: "\e12e";
    +}
    +.icon-google-plus-3:before {
    +  content: "\e12f";
    +}
    +.icon-flickr:before {
    +  content: "\e130";
    +}
    +.icon-flickr-2:before {
    +  content: "\e131";
    +}
    +.icon-flickr-3:before {
    +  content: "\e132";
    +}
    +.icon-wordpress:before {
    +  content: "\e133";
    +}
    +.icon-wordpress-2:before {
    +  content: "\e134";
    +}
    +.icon-joomla:before {
    +  content: "\e135";
    +}
    +.icon-linkedin:before {
    +  content: "\e136";
    +}
    +.icon-linkedin-2:before {
    +  content: "\e137";
    +}
    +.icon-lastfm-2:before {
    +  content: "\e138";
    +}
    +.icon-file-openoffice:before {
    +  content: "\e139";
    +}
    +.icon-file-word:before {
    +  content: "\e13a";
    +}
    +.icon-file-excel:before {
    +  content: "\e13b";
    +}
    diff --git a/less/labels-badges.less b/less/labels-badges.less
    new file mode 100644
    index 0000000..d118a01
    --- /dev/null
    +++ b/less/labels-badges.less
    @@ -0,0 +1,74 @@
    +//
    +// Labels and badges
    +// --------------------------------------------------
    +
    +
    +// Base classes
    +.label,
    +.badge {
    +  display: inline-block;
    +  padding: 2px 4px;
    +  font-size: @baseFontSize * .846;
    +  font-weight: bold;
    +  line-height: 14px; // ensure proper line-height if floated
    +  color: @white;
    +  vertical-align: baseline;
    +  white-space: nowrap;
    +  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
    +  background-color: @grayLight;
    +}
    +// Set unique padding and border-radii
    +.label {
    +  .border-radius(3px);
    +}
    +.badge {
    +  padding-left: 9px;
    +  padding-right: 9px;
    +  .border-radius(9px);
    +}
    +
    +// Hover state, but only for links
    +a {
    +  &.label:hover,
    +  &.badge:hover {
    +    color: @white;
    +    text-decoration: none;
    +    cursor: pointer;
    +  }
    +}
    +
    +// Colors
    +// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
    +.label,
    +.badge {
    +  // Important (red)
    +  &-important         { background-color: @errorText; }
    +  &-important[href]   { background-color: darken(@errorText, 10%); }
    +  // Warnings (orange)
    +  &-warning           { background-color: @orange; }
    +  &-warning[href]     { background-color: darken(@orange, 10%); }
    +  // Success (green)
    +  &-success           { background-color: @successText; }
    +  &-success[href]     { background-color: darken(@successText, 10%); }
    +  // Info (turquoise)
    +  &-info              { background-color: @infoText; }
    +  &-info[href]        { background-color: darken(@infoText, 10%); }
    +  // Inverse (black)
    +  &-inverse           { background-color: @grayDark; }
    +  &-inverse[href]     { background-color: darken(@grayDark, 10%); }
    +}
    +
    +// Quick fix for labels/badges in buttons
    +.btn {
    +  .label,
    +  .badge {
    +    position: relative;
    +    top: -1px;
    +  }
    +}
    +.btn-mini {
    +  .label,
    +  .badge {
    +    top: 0;
    +  }
    +}
    diff --git a/less/layouts.less b/less/layouts.less
    new file mode 100644
    index 0000000..24a2062
    --- /dev/null
    +++ b/less/layouts.less
    @@ -0,0 +1,16 @@
    +//
    +// Layouts
    +// --------------------------------------------------
    +
    +
    +// Container (centered, fixed-width layouts)
    +.container {
    +  .container-fixed();
    +}
    +
    +// Fluid layouts (left aligned, with sidebar, min- & max-width content)
    +.container-fluid {
    +  padding-right: @gridGutterWidth;
    +  padding-left: @gridGutterWidth;
    +  .clearfix();
    +}
    \ No newline at end of file
    diff --git a/less/mixins.less b/less/mixins.less
    new file mode 100644
    index 0000000..79d8892
    --- /dev/null
    +++ b/less/mixins.less
    @@ -0,0 +1,702 @@
    +//
    +// Mixins
    +// --------------------------------------------------
    +
    +
    +// UTILITY MIXINS
    +// --------------------------------------------------
    +
    +// Clearfix
    +// --------
    +// For clearing floats like a boss h5bp.com/q
    +.clearfix {
    +  *zoom: 1;
    +  &:before,
    +  &:after {
    +    display: table;
    +    content: "";
    +    // Fixes Opera/contenteditable bug:
    +    // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
    +    line-height: 0;
    +  }
    +  &:after {
    +    clear: both;
    +  }
    +}
    +
    +// Webkit-style focus
    +// ------------------
    +.tab-focus() {
    +  // Default
    +  outline: thin dotted #333;
    +  // Webkit
    +  outline: 5px auto -webkit-focus-ring-color;
    +  outline-offset: -2px;
    +}
    +
    +// Center-align a block level element
    +// ----------------------------------
    +.center-block() {
    +  display: block;
    +  margin-left: auto;
    +  margin-right: auto;
    +}
    +
    +// IE7 inline-block
    +// ----------------
    +.ie7-inline-block() {
    +  *display: inline; /* IE7 inline-block hack */
    +  *zoom: 1;
    +}
    +
    +// IE7 likes to collapse whitespace on either side of the inline-block elements.
    +// Ems because we're attempting to match the width of a space character. Left
    +// version is for form buttons, which typically come after other elements, and
    +// right version is for icons, which come before. Applying both is ok, but it will
    +// mean that space between those elements will be .6em (~2 space characters) in IE7,
    +// instead of the 1 space in other browsers.
    +.ie7-restore-left-whitespace() {
    +  *margin-left: .3em;
    +
    +  &:first-child {
    +    *margin-left: 0;
    +  }
    +}
    +
    +.ie7-restore-right-whitespace() {
    +  *margin-right: .3em;
    +}
    +
    +// Sizing shortcuts
    +// -------------------------
    +.size(@height, @width) {
    +  width: @width;
    +  height: @height;
    +}
    +.square(@size) {
    +  .size(@size, @size);
    +}
    +
    +// Placeholder text
    +// -------------------------
    +.placeholder(@color: @placeholderText) {
    +  &:-moz-placeholder {
    +    color: @color;
    +  }
    +  &:-ms-input-placeholder {
    +    color: @color;
    +  }
    +  &::-webkit-input-placeholder {
    +    color: @color;
    +  }
    +}
    +
    +// Text overflow
    +// -------------------------
    +// Requires inline-block or block for proper styling
    +.text-overflow() {
    +  overflow: hidden;
    +  text-overflow: ellipsis;
    +  white-space: nowrap;
    +}
    +
    +// CSS image replacement
    +// -------------------------
    +// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
    +.hide-text {
    +  font: 0/0 a;
    +  color: transparent;
    +  text-shadow: none;
    +  background-color: transparent;
    +  border: 0;
    +}
    +
    +
    +// FONTS
    +// --------------------------------------------------
    +
    +#font {
    +  #family {
    +    .serif() {
    +      font-family: @serifFontFamily;
    +    }
    +    .sans-serif() {
    +      font-family: @sansFontFamily;
    +    }
    +    .monospace() {
    +      font-family: @monoFontFamily;
    +    }
    +  }
    +  .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
    +    font-size: @size;
    +    font-weight: @weight;
    +    line-height: @lineHeight;
    +  }
    +  .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
    +    #font > #family > .serif;
    +    #font > .shorthand(@size, @weight, @lineHeight);
    +  }
    +  .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
    +    #font > #family > .sans-serif;
    +    #font > .shorthand(@size, @weight, @lineHeight);
    +  }
    +  .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
    +    #font > #family > .monospace;
    +    #font > .shorthand(@size, @weight, @lineHeight);
    +  }
    +}
    +
    +
    +// FORMS
    +// --------------------------------------------------
    +
    +// Block level inputs
    +.input-block-level {
    +  display: block;
    +  width: 100%;
    +  min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
    +  .box-sizing(border-box); // Makes inputs behave like true block-level elements
    +}
    +
    +
    +
    +// Mixin for form field states
    +.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
    +  // Set the text color
    +  .control-label,
    +  .help-block,
    +  .help-inline {
    +    color: @textColor;
    +  }
    +  // Style inputs accordingly
    +  .checkbox,
    +  .radio,
    +  input,
    +  select,
    +  textarea {
    +    color: @textColor;
    +  }
    +  input,
    +  select,
    +  textarea {
    +    border-color: @borderColor;
    +    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
    +    &:focus {
    +      border-color: darken(@borderColor, 10%);
    +      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
    +      .box-shadow(@shadow);
    +    }
    +  }
    +  // Give a small background color for input-prepend/-append
    +  .input-prepend .add-on,
    +  .input-append .add-on {
    +    color: @textColor;
    +    background-color: @backgroundColor;
    +    border-color: @textColor;
    +  }
    +}
    +
    +
    +
    +// CSS3 PROPERTIES
    +// --------------------------------------------------
    +
    +// Border Radius
    +.border-radius(@radius) {
    +  -webkit-border-radius: @radius;
    +     -moz-border-radius: @radius;
    +          border-radius: @radius;
    +}
    +
    +// Single Corner Border Radius
    +.border-top-left-radius(@radius) {
    +  -webkit-border-top-left-radius: @radius;
    +      -moz-border-radius-topleft: @radius;
    +          border-top-left-radius: @radius;
    +}
    +.border-top-right-radius(@radius) {
    +  -webkit-border-top-right-radius: @radius;
    +      -moz-border-radius-topright: @radius;
    +          border-top-right-radius: @radius;
    +}
    +.border-bottom-right-radius(@radius) {
    +  -webkit-border-bottom-right-radius: @radius;
    +      -moz-border-radius-bottomright: @radius;
    +          border-bottom-right-radius: @radius;
    +}
    +.border-bottom-left-radius(@radius) {
    +  -webkit-border-bottom-left-radius: @radius;
    +      -moz-border-radius-bottomleft: @radius;
    +          border-bottom-left-radius: @radius;
    +}
    +
    +// Single Side Border Radius
    +.border-top-radius(@radius) {
    +  .border-top-right-radius(@radius);
    +  .border-top-left-radius(@radius);
    +}
    +.border-right-radius(@radius) {
    +  .border-top-right-radius(@radius);
    +  .border-bottom-right-radius(@radius);
    +}
    +.border-bottom-radius(@radius) {
    +  .border-bottom-right-radius(@radius);
    +  .border-bottom-left-radius(@radius);
    +}
    +.border-left-radius(@radius) {
    +  .border-top-left-radius(@radius);
    +  .border-bottom-left-radius(@radius);
    +}
    +
    +// Drop shadows
    +.box-shadow(@shadow) {
    +  -webkit-box-shadow: @shadow;
    +     -moz-box-shadow: @shadow;
    +          box-shadow: @shadow;
    +}
    +
    +// Transitions
    +.transition(@transition) {
    +  -webkit-transition: @transition;
    +     -moz-transition: @transition;
    +       -o-transition: @transition;
    +          transition: @transition;
    +}
    +.transition-delay(@transition-delay) {
    +  -webkit-transition-delay: @transition-delay;
    +     -moz-transition-delay: @transition-delay;
    +       -o-transition-delay: @transition-delay;
    +          transition-delay: @transition-delay;
    +}
    +.transition-duration(@transition-duration) {
    +  -webkit-transition-duration: @transition-duration;
    +     -moz-transition-duration: @transition-duration;
    +       -o-transition-duration: @transition-duration;
    +          transition-duration: @transition-duration;
    +}
    +
    +// Transformations
    +.rotate(@degrees) {
    +  -webkit-transform: rotate(@degrees);
    +     -moz-transform: rotate(@degrees);
    +      -ms-transform: rotate(@degrees);
    +       -o-transform: rotate(@degrees);
    +          transform: rotate(@degrees);
    +}
    +.scale(@ratio) {
    +  -webkit-transform: scale(@ratio);
    +     -moz-transform: scale(@ratio);
    +      -ms-transform: scale(@ratio);
    +       -o-transform: scale(@ratio);
    +          transform: scale(@ratio);
    +}
    +.translate(@x, @y) {
    +  -webkit-transform: translate(@x, @y);
    +     -moz-transform: translate(@x, @y);
    +      -ms-transform: translate(@x, @y);
    +       -o-transform: translate(@x, @y);
    +          transform: translate(@x, @y);
    +}
    +.skew(@x, @y) {
    +  -webkit-transform: skew(@x, @y);
    +     -moz-transform: skew(@x, @y);
    +      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
    +       -o-transform: skew(@x, @y);
    +          transform: skew(@x, @y);
    +  -webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
    +}
    +.translate3d(@x, @y, @z) {
    +  -webkit-transform: translate3d(@x, @y, @z);
    +     -moz-transform: translate3d(@x, @y, @z);
    +       -o-transform: translate3d(@x, @y, @z);
    +          transform: translate3d(@x, @y, @z);
    +}
    +
    +// Backface visibility
    +// Prevent browsers from flickering when using CSS 3D transforms.
    +// Default value is `visible`, but can be changed to `hidden
    +// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
    +.backface-visibility(@visibility){
    +	-webkit-backface-visibility: @visibility;
    +	   -moz-backface-visibility: @visibility;
    +	        backface-visibility: @visibility;
    +}
    +
    +// Background clipping
    +// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
    +.background-clip(@clip) {
    +  -webkit-background-clip: @clip;
    +     -moz-background-clip: @clip;
    +          background-clip: @clip;
    +}
    +
    +// Background sizing
    +.background-size(@size) {
    +  -webkit-background-size: @size;
    +     -moz-background-size: @size;
    +       -o-background-size: @size;
    +          background-size: @size;
    +}
    +
    +
    +// Box sizing
    +.box-sizing(@boxmodel) {
    +  -webkit-box-sizing: @boxmodel;
    +     -moz-box-sizing: @boxmodel;
    +          box-sizing: @boxmodel;
    +}
    +
    +// User select
    +// For selecting text on the page
    +.user-select(@select) {
    +  -webkit-user-select: @select;
    +     -moz-user-select: @select;
    +      -ms-user-select: @select;
    +       -o-user-select: @select;
    +          user-select: @select;
    +}
    +
    +// Resize anything
    +.resizable(@direction) {
    +  resize: @direction; // Options: horizontal, vertical, both
    +  overflow: auto; // Safari fix
    +}
    +
    +// CSS3 Content Columns
    +.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
    +  -webkit-column-count: @columnCount;
    +     -moz-column-count: @columnCount;
    +          column-count: @columnCount;
    +  -webkit-column-gap: @columnGap;
    +     -moz-column-gap: @columnGap;
    +          column-gap: @columnGap;
    +}
    +
    +// Optional hyphenation
    +.hyphens(@mode: auto) {
    +  word-wrap: break-word;
    +  -webkit-hyphens: @mode;
    +     -moz-hyphens: @mode;
    +      -ms-hyphens: @mode;
    +       -o-hyphens: @mode;
    +          hyphens: @mode;
    +}
    +
    +// Opacity
    +.opacity(@opacity) {
    +  opacity: @opacity / 100;
    +  filter: ~"alpha(opacity=@{opacity})";
    +}
    +
    +
    +
    +// BACKGROUNDS
    +// --------------------------------------------------
    +
    +// Add an alphatransparency value to any background or border color (via Elyse Holladay)
    +#translucent {
    +  .background(@color: @white, @alpha: 1) {
    +    background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
    +  }
    +  .border(@color: @white, @alpha: 1) {
    +    border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
    +    .background-clip(padding-box);
    +  }
    +}
    +
    +// Gradient Bar Colors for buttons and alerts
    +.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
    +  color: @textColor;
    +  text-shadow: @textShadow;
    +  #gradient > .vertical(@primaryColor, @secondaryColor);
    +  border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
    +  border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
    +}
    +
    +// Gradients
    +#gradient {
    +  .horizontal(@startColor: #555, @endColor: #333) {
    +    background-color: @endColor;
    +    background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
    +    background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
    +    background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
    +    background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
    +    background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
    +    background-repeat: repeat-x;
    +    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
    +  }
    +  .vertical(@startColor: #555, @endColor: #333) {
    +    background-color: mix(@startColor, @endColor, 60%);
    +    background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
    +    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
    +    background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
    +    background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
    +    background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
    +    background-repeat: repeat-x;
    +    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
    +  }
    +  .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
    +    background-color: @endColor;
    +    background-repeat: repeat-x;
    +    background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
    +    background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
    +    background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
    +    background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
    +  }
    +  .horizontal-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
    +    background-color: mix(@midColor, @endColor, 80%);
    +    background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
    +    background-image: -webkit-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
    +    background-image: -moz-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
    +    background-image: -o-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
    +    background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor);
    +    background-repeat: no-repeat;
    +    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
    +  }
    +
    +  .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
    +    background-color: mix(@midColor, @endColor, 80%);
    +    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
    +    background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
    +    background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
    +    background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
    +    background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
    +    background-repeat: no-repeat;
    +    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
    +  }
    +  .radial(@innerColor: #555, @outerColor: #333) {
    +    background-color: @outerColor;
    +    background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
    +    background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
    +    background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
    +    background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
    +    background-repeat: no-repeat;
    +  }
    +  .striped(@color: #555, @angle: 45deg) {
    +    background-color: @color;
    +    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
    +    background-image: -webkit-linear-gradient(@angle, 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: -moz-linear-gradient(@angle, 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(@angle, 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(@angle, 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);
    +  }
    +}
    +// Reset filters for IE
    +.reset-filter() {
    +  filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
    +}
    +
    +
    +
    +// COMPONENT MIXINS
    +// --------------------------------------------------
    +
    +// Horizontal dividers
    +// -------------------------
    +// Dividers (basically an hr) within dropdowns and nav lists
    +.nav-divider(@top: #e5e5e5, @bottom: @white) {
    +  // IE7 needs a set width since we gave a height. Restricting just
    +  // to IE7 to keep the 1px left/right space in other browsers.
    +  // It is unclear where IE is getting the extra space that we need
    +  // to negative-margin away, but so it goes.
    +  *width: 100%;
    +  height: 1px;
    +  margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
    +  *margin: -5px 0 5px;
    +  overflow: hidden;
    +  background-color: @top;
    +  border-bottom: 1px solid @bottom;
    +}
    +
    +// Button backgrounds
    +// ------------------
    +.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
    +  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
    +  .gradientBar(@startColor, @endColor, @textColor, @textShadow);
    +  *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
    +  .reset-filter();
    +
    +  // in these cases the gradient won't cover the background, so we override
    +  &:hover, &:focus, &:active, &.active, &.disabled, &[disabled] {
    +    color: @textColor;
    +    background-color: @endColor;
    +    *background-color: darken(@endColor, 5%);
    +  }
    +
    +  // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
    +  &:active,
    +  &.active {
    +    background-color: darken(@endColor, 10%) e("\9");
    +  }
    +}
    +
    +// Navbar vertical align
    +// -------------------------
    +// Vertically center elements in the navbar.
    +// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
    +.navbarVerticalAlign(@elementHeight) {
    +  margin-top: (@navbarHeight - @elementHeight) / 2;
    +}
    +
    +
    +
    +// Grid System
    +// -----------
    +
    +// Centered container element
    +.container-fixed() {
    +  margin-right: auto;
    +  margin-left: auto;
    +  .clearfix();
    +}
    +
    +// Table columns
    +.tableColumns(@columnSpan: 1) {
    +  float: none; // undo default grid column styles
    +  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
    +  margin-left: 0; // undo default grid column styles
    +}
    +
    +// Make a Grid
    +// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
    +.makeRow() {
    +  margin-left: @gridGutterWidth * -1;
    +  .clearfix();
    +}
    +.makeColumn(@columns: 1, @offset: 0) {
    +  float: left;
    +  margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2);
    +  width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
    +}
    +
    +// The Grid
    +#grid {
    +
    +  .core (@gridColumnWidth, @gridGutterWidth) {
    +
    +    .spanX (@index) when (@index > 0) {
    +      .span@{index} { .span(@index); }
    +      .spanX(@index - 1);
    +    }
    +    .spanX (0) {}
    +
    +    .offsetX (@index) when (@index > 0) {
    +      .offset@{index} { .offset(@index); }
    +      .offsetX(@index - 1);
    +    }
    +    .offsetX (0) {}
    +
    +    .offset (@columns) {
    +      margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1));
    +    }
    +
    +    .span (@columns) {
    +      width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
    +    }
    +
    +    .row {
    +      margin-left: @gridGutterWidth * -1;
    +      .clearfix();
    +    }
    +
    +    [class*="span"] {
    +      float: left;
    +      min-height: 1px; // prevent collapsing columns
    +      margin-left: @gridGutterWidth;
    +    }
    +
    +    // Set the container width, and override it for fixed navbars in media queries
    +    .container,
    +    .navbar-static-top .container,
    +    .navbar-fixed-top .container,
    +    .navbar-fixed-bottom .container { .span(@gridColumns); }
    +
    +    // generate .spanX and .offsetX
    +    .spanX (@gridColumns);
    +    .offsetX (@gridColumns);
    +
    +  }
    +
    +  .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
    +
    +    .spanX (@index) when (@index > 0) {
    +      .span@{index} { .span(@index); }
    +      .spanX(@index - 1);
    +    }
    +    .spanX (0) {}
    +
    +    .offsetX (@index) when (@index > 0) {
    +      .offset@{index} { .offset(@index); }
    +      .offset@{index}:first-child { .offsetFirstChild(@index); }
    +      .offsetX(@index - 1);
    +    }
    +    .offsetX (0) {}
    +
    +    .offset (@columns) {
    +      margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2);
    +  	  *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%);
    +    }
    +
    +    .offsetFirstChild (@columns) {
    +      margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth);
    +      *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
    +    }
    +
    +    .span (@columns) {
    +      width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
    +      *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
    +    }
    +
    +    .row-fluid {
    +      width: 100%;
    +      .clearfix();
    +      [class*="span"] {
    +        .input-block-level();
    +        float: left;
    +        margin-left: @fluidGridGutterWidth;
    +        *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
    +      }
    +      [class*="span"]:first-child {
    +        margin-left: 0;
    +      }
    +
    +      // Space grid-sized controls properly if multiple per line
    +      .controls-row [class*="span"] + [class*="span"] {
    +        margin-left: @fluidGridGutterWidth;
    +      }
    +
    +      // generate .spanX and .offsetX
    +      .spanX (@gridColumns);
    +      .offsetX (@gridColumns);
    +    }
    +
    +  }
    +
    +  .input(@gridColumnWidth, @gridGutterWidth) {
    +
    +    .spanX (@index) when (@index > 0) {
    +      input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index} { .span(@index); }
    +      .spanX(@index - 1);
    +    }
    +    .spanX (0) {}
    +
    +    .span(@columns) {
    +      width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14;
    +    }
    +
    +    input,
    +    textarea,
    +    .uneditable-input {
    +      margin-left: 0; // override margin-left from core grid system
    +    }
    +
    +    // Space grid-sized controls properly if multiple per line
    +    .controls-row [class*="span"] + [class*="span"] {
    +      margin-left: @gridGutterWidth;
    +    }
    +
    +    // generate .spanX
    +    .spanX (@gridColumns);
    +
    +  }
    +}
    diff --git a/less/reset.less b/less/reset.less
    new file mode 100644
    index 0000000..4806bd5
    --- /dev/null
    +++ b/less/reset.less
    @@ -0,0 +1,216 @@
    +//
    +// Reset CSS
    +// Adapted from http://github.com/necolas/normalize.css
    +// --------------------------------------------------
    +
    +
    +// Display in IE6-9 and FF3
    +// -------------------------
    +
    +article,
    +aside,
    +details,
    +figcaption,
    +figure,
    +footer,
    +header,
    +hgroup,
    +nav,
    +section {
    +  display: block;
    +}
    +
    +// Display block in IE6-9 and FF3
    +// -------------------------
    +
    +audio,
    +canvas,
    +video {
    +  display: inline-block;
    +  *display: inline;
    +  *zoom: 1;
    +}
    +
    +// Prevents modern browsers from displaying 'audio' without controls
    +// -------------------------
    +
    +audio:not([controls]) {
    +    display: none;
    +}
    +
    +// Base settings
    +// -------------------------
    +
    +html {
    +  font-size: 100%;
    +  -webkit-text-size-adjust: 100%;
    +      -ms-text-size-adjust: 100%;
    +}
    +// Focus states
    +a:focus {
    +  .tab-focus();
    +}
    +// Hover & Active
    +a:hover,
    +a:active {
    +  outline: 0;
    +}
    +
    +// Prevents sub and sup affecting line-height in all browsers
    +// -------------------------
    +
    +sub,
    +sup {
    +  position: relative;
    +  font-size: 75%;
    +  line-height: 0;
    +  vertical-align: baseline;
    +}
    +sup {
    +  top: -0.5em;
    +}
    +sub {
    +  bottom: -0.25em;
    +}
    +
    +// Img border in a's and image quality
    +// -------------------------
    +
    +img {
    +  /* Responsive images (ensure images don't scale beyond their parents) */
    +  max-width: 100%; /* Part 1: Set a maxium relative to the parent */
    +  width: auto\9; /* IE7-8 need help adjusting responsive images */
    +  height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */
    +
    +  vertical-align: middle;
    +  border: 0;
    +  -ms-interpolation-mode: bicubic;
    +}
    +
    +// Prevent max-width from affecting Google Maps
    +#map_canvas img,
    +.google-maps img {
    +  max-width: none;
    +}
    +
    +// Forms
    +// -------------------------
    +
    +// Font size in all browsers, margin changes, misc consistency
    +button,
    +input,
    +select,
    +textarea {
    +  margin: 0;
    +  font-size: 100%;
    +  vertical-align: middle;
    +}
    +button,
    +input {
    +  *overflow: visible; // Inner spacing ie IE6/7
    +  line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
    +}
    +button::-moz-focus-inner,
    +input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
    +  padding: 0;
    +  border: 0;
    +}
    +button,
    +html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
    +input[type="reset"],
    +input[type="submit"] {
    +    -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS.
    +    cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
    +}
    +label,
    +select,
    +button,
    +input[type="button"],
    +input[type="reset"],
    +input[type="submit"],
    +input[type="radio"],
    +input[type="checkbox"] {
    +    cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
    +}
    +input[type="search"] { // Appearance in Safari/Chrome
    +  .box-sizing(content-box);
    +  -webkit-appearance: textfield;
    +}
    +input[type="search"]::-webkit-search-decoration,
    +input[type="search"]::-webkit-search-cancel-button {
    +  -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
    +}
    +textarea {
    +  overflow: auto; // Remove vertical scrollbar in IE6-9
    +  vertical-align: top; // Readability and alignment cross-browser
    +}
    +
    +
    +// Printing
    +// -------------------------
    +// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
    +
    +@media print {
    +
    +  * {
    +    text-shadow: none !important;
    +    color: #000 !important; // Black prints faster: h5bp.com/s
    +    background: transparent !important;
    +    box-shadow: none !important;
    +  }
    +
    +  a,
    +  a:visited {
    +    text-decoration: underline;
    +  }
    +
    +  a[href]:after {
    +    content: " (" attr(href) ")";
    +  }
    +
    +  abbr[title]:after {
    +    content: " (" attr(title) ")";
    +  }
    +
    +  // Don't show links for images, or javascript/internal links
    +  .ir a:after,
    +  a[href^="javascript:"]:after,
    +  a[href^="#"]:after {
    +    content: "";
    +  }
    +
    +  pre,
    +  blockquote {
    +    border: 1px solid #999;
    +    page-break-inside: avoid;
    +  }
    +
    +  thead {
    +    display: table-header-group; // h5bp.com/t
    +  }
    +
    +  tr,
    +  img {
    +    page-break-inside: avoid;
    +  }
    +
    +  img {
    +    max-width: 100% !important;
    +  }
    +
    +  @page {
    +    margin: 0.5cm;
    +  }
    +
    +  p,
    +  h2,
    +  h3 {
    +    orphans: 3;
    +    widows: 3;
    +  }
    +
    +  h2,
    +  h3 {
    +    page-break-after: avoid;
    +  }
    +}
    diff --git a/less/responsive-1200px-min.less b/less/responsive-1200px-min.less
    new file mode 100644
    index 0000000..4f35ba6
    --- /dev/null
    +++ b/less/responsive-1200px-min.less
    @@ -0,0 +1,28 @@
    +//
    +// Responsive: Large desktop and up
    +// --------------------------------------------------
    +
    +
    +@media (min-width: 1200px) {
    +
    +  // Fixed grid
    +  #grid > .core(@gridColumnWidth1200, @gridGutterWidth1200);
    +
    +  // Fluid grid
    +  #grid > .fluid(@fluidGridColumnWidth1200, @fluidGridGutterWidth1200);
    +
    +  // Input grid
    +  #grid > .input(@gridColumnWidth1200, @gridGutterWidth1200);
    +
    +  // Thumbnails
    +  .thumbnails {
    +    margin-left: -@gridGutterWidth1200;
    +  }
    +  .thumbnails > li {
    +    margin-left: @gridGutterWidth1200;
    +  }
    +  .row-fluid .thumbnails {
    +    margin-left: 0;
    +  }
    +
    +}
    diff --git a/less/responsive-navbar.less b/less/responsive-navbar.less
    new file mode 100644
    index 0000000..21cd3ba
    --- /dev/null
    +++ b/less/responsive-navbar.less
    @@ -0,0 +1,189 @@
    +//
    +// Responsive: Navbar
    +// --------------------------------------------------
    +
    +
    +// TABLETS AND BELOW
    +// -----------------
    +@media (max-width: @navbarCollapseWidth) {
    +
    +  // UNFIX THE TOPBAR
    +  // ----------------
    +  // Remove any padding from the body
    +  body {
    +    padding-top: 0;
    +  }
    +  // Unfix the navbars
    +  .navbar-fixed-top,
    +  .navbar-fixed-bottom {
    +    position: static;
    +  }
    +  .navbar-fixed-top {
    +    margin-bottom: @baseLineHeight;
    +  }
    +  .navbar-fixed-bottom {
    +    margin-top: @baseLineHeight;
    +  }
    +  .navbar-fixed-top .navbar-inner,
    +  .navbar-fixed-bottom .navbar-inner {
    +    padding: 5px;
    +  }
    +  .navbar .container {
    +    width: auto;
    +    padding: 0;
    +  }
    +  // Account for brand name
    +  .navbar .brand {
    +    padding-left: 10px;
    +    padding-right: 10px;
    +    margin: 0 0 0 -5px;
    +  }
    +
    +  // COLLAPSIBLE NAVBAR
    +  // ------------------
    +  // Nav collapse clears brand
    +  .nav-collapse {
    +    clear: both;
    +  }
    +  // Block-level the nav
    +  .nav-collapse .nav {
    +    float: none;
    +    margin: 0 0 (@baseLineHeight / 2);
    +  }
    +  .nav-collapse .nav > li {
    +    float: none;
    +  }
    +  .nav-collapse .nav > li > a {
    +    margin-bottom: 2px;
    +  }
    +  .nav-collapse .nav > .divider-vertical {
    +    display: none;
    +  }
    +  .nav-collapse .nav .nav-header {
    +    color: @navbarText;
    +    text-shadow: none;
    +  }
    +  // Nav and dropdown links in navbar
    +  .nav-collapse .nav > li > a,
    +  .nav-collapse .dropdown-menu a {
    +    padding: 9px 15px;
    +    font-weight: bold;
    +    color: @navbarLinkColor;
    +    .border-radius(3px);
    +  }
    +  // Buttons
    +  .nav-collapse .btn {
    +    padding: 4px 10px 4px;
    +    font-weight: normal;
    +    .border-radius(@baseBorderRadius);
    +  }
    +  .nav-collapse .dropdown-menu li + li a {
    +    margin-bottom: 2px;
    +  }
    +  .nav-collapse .nav > li > a:hover,
    +  .nav-collapse .nav > li > a:focus,
    +  .nav-collapse .dropdown-menu a:hover,
    +  .nav-collapse .dropdown-menu a:focus {
    +    background-color: @navbarBackground;
    +  }
    +  .navbar-inverse .nav-collapse .nav > li > a,
    +  .navbar-inverse .nav-collapse .dropdown-menu a {
    +    color: @navbarInverseLinkColor;
    +  }
    +  .navbar-inverse .nav-collapse .nav > li > a:hover,
    +  .navbar-inverse .nav-collapse .nav > li > a:focus,
    +  .navbar-inverse .nav-collapse .dropdown-menu a:hover,
    +  .navbar-inverse .nav-collapse .dropdown-menu a:focus {
    +    background-color: @navbarInverseBackground;
    +  }
    +  // Buttons in the navbar
    +  .nav-collapse.in .btn-group {
    +    margin-top: 5px;
    +    padding: 0;
    +  }
    +  // Dropdowns in the navbar
    +  .nav-collapse .dropdown-menu {
    +    position: static;
    +    top: auto;
    +    left: auto;
    +    float: none;
    +    display: none;
    +    max-width: none;
    +    margin: 0 15px;
    +    padding: 0;
    +    background-color: transparent;
    +    border: none;
    +    .border-radius(0);
    +    .box-shadow(none);
    +  }
    +  .nav-collapse .open > .dropdown-menu { 
    +    display: block; 
    +  }
    +
    +  .nav-collapse .dropdown-menu:before,
    +  .nav-collapse .dropdown-menu:after {
    +    display: none;
    +  }
    +  .nav-collapse .dropdown-menu .divider {
    +    display: none;
    +  }
    +  .nav-collapse .nav > li > .dropdown-menu {
    +    &:before,
    +    &:after {
    +      display: none;
    +    }
    +  }
    +  // Forms in navbar
    +  .nav-collapse .navbar-form,
    +  .nav-collapse .navbar-search {
    +    float: none;
    +    padding: (@baseLineHeight / 2) 15px;
    +    margin: (@baseLineHeight / 2) 0;
    +    border-top: 1px solid @navbarBackground;
    +    border-bottom: 1px solid @navbarBackground;
    +    .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
    +  }
    +  .navbar-inverse .nav-collapse .navbar-form,
    +  .navbar-inverse .nav-collapse .navbar-search {
    +    border-top-color: @navbarInverseBackground;
    +    border-bottom-color: @navbarInverseBackground;
    +  }
    +  // Pull right (secondary) nav content
    +  .navbar .nav-collapse .nav.pull-right {
    +    float: none;
    +    margin-left: 0;
    +  }
    +  // Hide everything in the navbar save .brand and toggle button */
    +  .nav-collapse,
    +  .nav-collapse.collapse {
    +    overflow: hidden;
    +    height: 0;
    +  }
    +  // Navbar button
    +  .navbar .btn-navbar {
    +    display: block;
    +  }
    +
    +  // STATIC NAVBAR
    +  // -------------
    +  .navbar-static .navbar-inner {
    +    padding-left:  10px;
    +    padding-right: 10px;
    +  }
    +
    +
    +}
    +
    +
    +// DEFAULT DESKTOP
    +// ---------------
    +
    +@media (min-width: @navbarCollapseDesktopWidth) {
    +
    +  // Required to make the collapsing navbar work on regular desktops
    +  .nav-collapse.collapse {
    +    height: auto !important;
    +    overflow: visible !important;
    +  }
    +
    +}
    diff --git a/less/responsive-utilities.less b/less/responsive-utilities.less
    new file mode 100644
    index 0000000..bf43e8e
    --- /dev/null
    +++ b/less/responsive-utilities.less
    @@ -0,0 +1,59 @@
    +//
    +// Responsive: Utility classes
    +// --------------------------------------------------
    +
    +
    +// IE10 Metro responsive
    +// Required for Windows 8 Metro split-screen snapping with IE10
    +// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
    +@-ms-viewport{
    +  width: device-width;
    +}
    +
    +// Hide from screenreaders and browsers
    +// Credit: HTML5 Boilerplate
    +.hidden {
    +  display: none;
    +  visibility: hidden;
    +}
    +
    +// Visibility utilities
    +
    +// For desktops
    +.visible-phone     { display: none !important; }
    +.visible-tablet    { display: none !important; }
    +.hidden-phone      { }
    +.hidden-tablet     { }
    +.hidden-desktop    { display: none !important; }
    +.visible-desktop   { display: inherit !important; }
    +
    +// Tablets & small desktops only
    +@media (min-width: 768px) and (max-width: 979px) {
    +  // Hide everything else
    +  .hidden-desktop    { display: inherit !important; }
    +  .visible-desktop   { display: none !important ; }
    +  // Show
    +  .visible-tablet    { display: inherit !important; }
    +  // Hide
    +  .hidden-tablet     { display: none !important; }
    +}
    +
    +// Phones only
    +@media (max-width: 767px) {
    +  // Hide everything else
    +  .hidden-desktop    { display: inherit !important; }
    +  .visible-desktop   { display: none !important; }
    +  // Show
    +  .visible-phone     { display: inherit !important; } // Use inherit to restore previous behavior
    +  // Hide
    +  .hidden-phone      { display: none !important; }
    +}
    +
    +// Print utilities
    +.visible-print    { display: none !important; }
    +.hidden-print     { }
    +
    +@media print {
    +  .visible-print  { display: inherit !important; }
    +  .hidden-print   { display: none !important; }
    +}
    diff --git a/less/responsive.less b/less/responsive.less
    new file mode 100644
    index 0000000..e0c5e44
    --- /dev/null
    +++ b/less/responsive.less
    @@ -0,0 +1,42 @@
    +/*!
    + * Bootstrap Responsive v2.3.1
    + *
    + * Copyright 2012 Twitter, Inc
    + * Licensed under the Apache License v2.0
    + * http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Designed and built with all the love in the world @twitter by @mdo and @fat.
    + */
    +
    +
    +// Responsive.less
    +// For phone and tablet devices
    +// -------------------------------------------------------------
    +
    +
    +// REPEAT VARIABLES & MIXINS
    +// -------------------------
    +// Required since we compile the responsive stuff separately
    +
    +@import "variables.less"; // Modify this for custom colors, font-sizes, etc
    +@import "mixins.less";
    +
    +
    +// RESPONSIVE CLASSES
    +// ------------------
    +
    +@import "responsive-utilities.less";
    +
    +
    +// MEDIA QUERIES
    +// ------------------
    +
    +// Large desktops
    +@import "responsive-1200px-min.less";
    +
    +
    +// RESPONSIVE NAVBAR
    +// ------------------
    +
    +// From 979px and below, show a button to toggle navbar contents
    +@import "responsive-navbar.less";
    diff --git a/less/scaffolding.less b/less/scaffolding.less
    new file mode 100644
    index 0000000..8b6b6cf
    --- /dev/null
    +++ b/less/scaffolding.less
    @@ -0,0 +1,52 @@
    +//
    +// Scaffolding
    +// --------------------------------------------------
    +
    +
    +// Body reset
    +// -------------------------
    +
    +body {
    +  margin: 0;
    +  font-family: @baseFontFamily;
    +  font-size: @baseFontSize;
    +  line-height: @baseLineHeight;
    +  color: @textColor;
    +  background-color: @bodyBackground;
    +}
    +
    +
    +// Links
    +// -------------------------
    +
    +a {
    +  color: @linkColor;
    +  text-decoration: none;
    +}
    +a:hover,
    +a:focus {
    +  color: @linkColorHover;
    +}
    +
    +
    +// Images
    +// -------------------------
    +
    +// Rounded corners
    +.img-rounded {
    +  .border-radius(6px);
    +}
    +
    +// Add polaroid-esque trim
    +.img-polaroid {
    +  padding: 4px;
    +  background-color: #fff;
    +  border: 1px solid #ccc;
    +  border: 1px solid rgba(0,0,0,.2);
    +  .box-shadow(0 1px 3px rgba(0,0,0,.1));
    +}
    +
    +// Perfect circle
    +.img-circle {
    +  .border-radius(500px); // crank the border-radius so it works with most reasonably sized images
    +}
    diff --git a/less/style.less b/less/style.less
    new file mode 100644
    index 0000000..24575d7
    --- /dev/null
    +++ b/less/style.less
    @@ -0,0 +1,601 @@
    +// Core variables and mixins
    +/*Core variables and mixins*/
    +@import "variables.less"; // Modify this for custom colors, font-sizes, etc
    +@import "mixins.less";
    +// template stylization
    +ul {list-style-type:none;}
    +*, a:focus {outline:none !important;}
    +
    +#content{
    +  min-width: 980px;
    +}
    +.clearfix{
    +  overflow: hidden;
    +  ul{
    +    margin-left: 0;
    +  }
    +}
    +/*------ template stylization ------*/
    +body {
    +	min-width: 767px;
    +	color: #666666;
    +}
    +h1, h2, h3, h4, h5, h6 {
    +  margin:0;
    +  line-height: 1em;
    +  color: @headingsColor;
    +  text-rendering: optimizelegibility; 
    +  small {
    +    font-weight: normal;
    +    line-height: 1;
    +    color: @grayLight;
    +  }
    +}
    +
    +h1 {
    +	font-size:30px;
    +	line-height:1.1em;
    +	color:@grayDark;  
    +}
    +	
    +h2 {
    +  color: @black;
    +  font-size: 27px;
    +  font-weight: normal;
    +  padding: 39px 0 19px;
    +  small{
    +    font-size: 14px;
    +  }
    +	}
    +
    +h3 {
    +  color:@grayLight;
    +  font-size: 24px;
    +  font-weight: normal;
    +  padding: 34px 0 29px;
    +}
    +
    +
    +h4{	
    +  font-size: 16px;
    +  line-height: 18px;
    +	color:@black;	
    +	font-weight:normal;	
    +	padding:30px 0 18px
    +	}
    +
    +h6{font-weight:bold;color:#010101;font-size:13px;margin:0;padding:19px 0 2px}
    +h5{margin:0 0 10px;line-height:18px;font-size:13px }
    +
    +code.prettyprint, pre.prettyprint {
    +    background:#f5f5f5 !important;
    +    border:1px solid #cecece !important;
    +    .border-radius(5px);
    +    padding: 10px !important;
    +    .box-shadow(0 1px 1px rgba(0,0,0,0.1))
    +}
    +
    +.container-fluid{
    +  max-width: 1170px;
    +  margin: 0 auto;
    +}
    +ol{
    +  list-style-position: inside;
    +}
    +// Buttons
    +
    +.btn {
    +  background:#fafafa;	
    +  display:inline-block; 
    +  .border-radius(@radius);
    +  .box-shadow(@shadow);
    +  font-size:13px;
    +  line-height:1em;
    +  color:@grayDark;
    +  font-weight:bold;
    +  text-decoration: none;
    +  padding: 9px 16px 10px 16px;
    +  margin:0;
    +  .transition(none); }
    + .top-indent {
    + 	margin-top: 20px;
    + }
    +
    +  p{padding-bottom:9px;margin:0}
    +
    +  .overfow{overflow:hidden}
    +  .img-indent{float:left;margin:13px 30px 27px 0}
    +  .img-indent1{margin:0;display:inline-block}
    +  .img-indent2{margin:30px 0 0 ;}
    +
    +  figure.img-polaroid{
    +    text-align: center;
    +    display: block;
    +    margin-left: auto;
    +    margin-right: auto;
    +  }
    +
    +  .img-container{
    +    display: block;
    +    text-align: center;
    +  }
    +
    +  .link-1{text-decoration:underline;
    +  &:hover{text-decoration:none}
    +
    +}
    +p strong{color:#010101;}
    +
    +
    +/*------ header ------- */
    +header{
    +  background:#fcfcfc;
    +  padding:14px 0 17px;
    +  h1{
    +    margin:2px 0 0 67px;
    +    a{
    +      color: #3a3a3a;
    +    }
    +  }	  
    +	.brand{text-indent:-1000px;
    +	background:url(../img/logo-monster.jpg) no-repeat 0 0;.size(48px,274px);display:block}
    +}
    +
    +/*------ content ------- */
    +#content {
    +	background:url(../img/tail-content.gif);
    +	border-top:1px solid #e1e1e1;
    +	border-bottom:1px solid #d7d7d7;  
    +	 padding-bottom:36px;
    +    .bg-content-top{background:url(../img/tail-content-top.gif) repeat-x 0 0 ;padding-top:44px}
    +	ul{list-style:none}	
    +}
    +
    +/*------ bs-docs-sidenav ------- */
    +
    +#nav_container{
    +  background: @white;
    +  border-top: 1px solid #ccc;
    +  .border-radius(6px);
    + .box-shadow(0 2px 1px 1px rgba(0,0,0,.1)); 
    + padding-bottom: 18px;
    +}
    +
    +#affect_all{
    +  padding: 2px 0 8px 0;
    +  float: none;
    +  text-align: center;
    +  color: @gray;
    +  display: block;
    +  height: 12px;
    +  .border-radius(6px 6px 0 0);
    +  &:hover{
    +    color: @linkColor;
    +  }
    +  i{
    +    &:before{
    +      font-size: 18px;
    +    }
    +  }
    +  .close, .expand{
    +    position: relative;
    +    i{}
    +  }
    +  .close{
    +    display: none;
    +  }
    +  .close{
    +    [class*="-up"]{}
    +    [class*="-down"]{}
    +  }
    +  .expand{
    +    [class*="-up"]{}
    +    [class*="-down"]{}
    +  }
    +}
    +
    +#nav_container{
    +  width: 270px;
    +}
    +
    +.bs-docs-sidenav.affix, #nav_container.affix {
    +    top: 40px;
    +}
    +
    +#content{
    +  .bs-docs-sidenav{
    +    li{
    +      a{
    +        width: inherit;
    +      }
    +    }
    +  }
    +}
    +
    +.bs-docs-sidenav {
    +  // border-top:1px solid #ccc;
    +  width: 100%;
    +  margin:0;
    +  padding:0;
    +  background-color: @white;
    + // .border-radius(6px);
    + // .box-shadow(0 2px 1px 1px rgba(0,0,0,.1)); 
    + >li{
    +  border-top:1px solid #dfdfdf;
    +  padding:0    
    +  }  
    +  li dt a:hover, li.current >a{    
    +    text-shadow:none;
    +    color:#3a3a3a;
    +  }
    +
    +  li{
    +    dt{
    +      overflow: hidden;
    +      position: relative;
    +      &:hover{
    +        background:#f5f5f5;
    +      }
    +      a{
    +        font-family: @sansFontFamily;
    +        display: block;
    +        width: inherit;
    +        &:before{
    +          font-family: 'FontAwesome';
    +        }
    +      }
    +      i{
    +        float: right;
    +        margin-right: 12px;
    +        font-size: 10px;
    +        font-weight: normal;
    +        color: #999999;
    +        display: block;
    +        position: relative;
    +        z-index: 20;
    +        padding: 5px;
    +        top: 7px;
    +        cursor: pointer;
    +        &:before {          
    +          content: "\f067";
    +        }
    +      }
    +      a{
    +        float: left;
    +      }
    +    }
    +    &.act_item{
    +      dt{
    +        background:#f5f5f5;  
    +        a{
    +          &:before{
    +            color: @themeBlue;
    +          }
    +        }
    +      }
    +    }
    +    &.open_item{
    +      dt{      
    +        i{
    +          &:before {
    +            content: "\f068";
    +          }
    +        }
    +      }
    +    }
    +    &.current{
    +      .slide-down{
    +          dd{
    +            display: block;
    +          }
    +        } 
    +      }
    +    }
    +
    +  .slide-down{
    +    dd{
    +      display: none;
    +    }
    +  }
    +
    +  li.act_item.last{
    +    dl.slide-down{      
    +      // .border-radius(0 0 6px 6px);
    +    }
    +  }  
    +  li.act_item.first{
    +    dl.slide-down{
    +      // .border-radius(6px 6px 0 0);
    +    }
    +  }
    + 
    +  .slide-down{margin:0}
    +  .slide-down dd{margin:0}
    + 
    +  >li:first-child{border:none;}
    +  >li:hover{} 
    +  
    +  li dt a, >li> a{
    +    padding:10px 0 10px 43px;
    +    display:block;
    +    font-weight:bold;
    +    margin:0;
    +	  position:relative;
    +	  font-size:13px;	
    +	  color:#3a3a3a;
    +	  &:before{
    +      position: absolute;
    +      left: 14px;
    +      font-size: 20px;
    +      -webkit-font-smoothing: antialiased;
    +    } 
    +  }
    +  li.first dt{
    +    border-top:1px solid #dfdfdf;
    +    // .border-radius(6px 6px 0 0);
    +  }
    +  li.last dt{
    +    border-bottom:1px solid #dfdfdf;
    +    // .border-radius(0 0 6px 6px);
    +  }
    +
    +  // li.item1 dt a:before {background:url(../img/nav-icon1.png) no-repeat 0 0;.size(21px, 30px)}
    +  // li.item2 a:before {background:url(../img/nav-icon2.png) no-repeat 0 0;.size(21px, 25px)}
    +  // li.item3 a:before {background:url(../img/nav-icon3.png) no-repeat 0 0;.size(21px, 25px)} 
    +  // li.item4 a:before {background:url(../img/nav-icon4.png) no-repeat 0 0;.size(21px, 28px)} 
    +  // li.item5 a:before {background:url(../img/nav-icon5.png) no-repeat 0 0;.size(18px, 28px)} 
    +  // li.item6 a:before {background:url(../img/nav-icon6.png) no-repeat 0 0;.size(17px, 30px)} 
    +  // li.item7 a:before {background:url(../img/nav-icon7.png) no-repeat 0 0;.size(21px, 25px)} 
    +  // li.item8 a:before {background:url(../img/nav-icon8.png) no-repeat 0 0;.size(24px, 25px)} 
    +  // li.item9 a:before {background:url(../img/nav-icon9.png) no-repeat 0 0;.size(22px, 25px)} 
    +  // li.item10 a:before {background:url(../img/nav-icon10.png) no-repeat 0 0;.size(18px, 25px)} 
    +
    +
    +  .list{
    +    margin:0;
    +    padding:8px 0 6px 20px ;
    +	  li{
    +      padding: 0 20px 10px 7px;
    +      a{
    +        i{
    +          margin-right: 8px;
    +          &:before {
    +            content: "\f0da";
    +            font-size: 12px;
    +            color: #999999;
    +          }
    +        }
    +      }      
    +    }
    +	  li.current {
    +      a, i:before{
    +        color:@themeBlue;
    +        background:none;
    +        &:hover{
    +          color:#000;
    +        }    
    +      }      
    +    }	   
    +    	a{
    +        color:@grayDark;
    +    	  &:hover{
    +          color:#000;
    +          i:before{
    +            color:#000;
    +          }
    +        }
    +    	} 
    +	}   
    +}
    +#content .bs-docs-sidenav li a{text-align: left;}
    +#content .bs-docs-sidenav li dt i.icon-sample{position: absolute; top: 8px; right: 0;}
    +/*------ box-conten ------- */
    +.box-content{
    +  border-top:1px solid #ccc;
    +  background-color: @white;
    + .border-radius(6px);
    + .box-shadow(0 2px 1px 1px rgba(0,0,0,.1));	
    +    section{
    +      padding: 0 33px 25px;
    +      border-bottom:1px solid #ccc
    +    }	
    +	}
    +
    +  #mod_table{
    +    .module{
    +      .box-sizing(border-box);
    +      padding: 10px;
    +    }
    +    .module:nth-child(even){
    +      background: #f5f5f5;
    +    }
    +  }
    +
    +  .files_structure{
    +    li{
    +      i{
    +        color: #999999;
    +      }
    +    }
    +  }
    +
    +#section-2{
    + padding:7px 48px 71px 33px;
    +
    +}
    +
    +.img-paraloid{text-align:center;padding:5px;background:#f5f5f5;border:1px solid #cecece;.border-radius(5px);.box-shadow(0 1px 1px rgba(0,0,0,0.1)) }
    +span.img-paraloid{display:inline-block; margin: 10px 0;}
    +.pull-left.img-paraloid{ margin-top: 0; margin-right: 25px;}
    +.list-1{
    +	margin:10px 0 0 ;
    +	list-style:decimal;
    +	   padding-left:20px;
    +	   li{line-height:18px;padding-bottom:6px;}
    +	   strong{color:#010101;}
    +	}
    +.box-info,
    +.box-error,
    +.box-notification,
    +.box-success{
    +  position:relative;
    +  margin-bottom:18px;
    +  padding:15px 30px 15px 74px;
    +  .box-sizing(border-box); 
    +  min-height:74px;
    +  span{
    +    font-size:15px;
    +    line-height:20px;
    +    color:@white;
    +    vertical-align:middle;
    +    display:table-cell;
    +    height:40px
    +  }
    +
    +  &:before{position:absolute;top:15px;left:15px;.size(44px, 43px);content:""}
    +  a{
    +    color: #fff;
    +    text-decoration: underline;
    +    &:hover{ text-decoration: none;}
    +  }
    +}
    +
    +.box-info{#gradient >.vertical(#3383c8,#2b74b4);
    +&:before{background:url(../img/icon-1.png) no-repeat 0 0;}
    +}
    +
    +.box-error{#gradient >.vertical(#c93737,#c93737);
    +padding:26px 30px 25px 74px;
    +&:before{background:url(../img/icon-2.png) no-repeat 0 0;top:25px}
    +}
    +
    +.box-notification{
    +	#gradient >.vertical(#ffa800,#f8970f);
    +&:before{background:url(../img/icon-3.png) no-repeat 0 0;}
    +}
    +
    +.box-success{
    +  #gradient >.vertical(#a8d149,#97ba0e);
    +&:before{
    +  content: "\f00c";
    +  color: #fff;
    +  font-size: 44px;
    +  font-family: FontAwesome;
    +  margin-top: 10px;
    +}
    +}
    +
    +.btnDisabled{position:absolute;top:0;left:0;
    +width:100%;height:100%;
    +span{background:url(../img/btn-size.png) no-repeat 50% 50%;
    +.square(45px);
    +display:block;}
    +
    +}
    +
    + .magnifier {
    +  opacity: 1;
    +  position: relative;
    +  background:url(../img/tail-lightbox-hover.png);
    +  height: auto;
    +  display:block;
    +  .transition(all 0.3s ease)
    +}
    + .magnifier:hover {
    +  
    +
    +}
    + .magnifier:after {
    +  content: '';
    +  display: block;
    +  width: 100%;
    +  height: 100%;
    +  position: absolute;
    +  opacity: 0;
    +  left: 0;
    +  top: 0;
    +  background:url(../img/btn-size.png) no-repeat 50% 50%;
    +.transition(all 0.3s ease)
    +}
    + .magnifier:hover:after {
    +  opacity: 1;
    +}
    +
    +
    +
    +.iframe {padding:13px 0 0 82px}
    +
    +footer{text-align:center;font-size:13px;line-height:20px;background:@white;padding:30px 0 40px}
    +
    +.list-2{
    +  margin-bottom: 15px;
    +}
    +
    +
    +@media (max-width: 1200px) {
    +  #content{
    +    #nav_container{
    +      width: 220px;
    +    }
    +  }
    +}
    +
    +.flexslider{
    +  margin-top: 30px !important;
    +  overflow: visible;
    +}
    +
    +.flex-control-nav li{
    +  text-indent: -1000px;
    +}
    +
    +.margbot{ margin-bottom: 30px;}
    +
    +.pretty_image{
    +  position: relative;
    +  i{
    +    display: block;
    +    position: absolute;
    +    top: -100px;
    +    left: 50%;
    +    width: 30px;
    +    height: 30px;
    +    font-size: 30px;
    +    margin-left: -15px;
    +    opacity: 0;
    +    -webkit-transition:all 0.5s ease; -moz-transition:all 0.5s ease; -o-transition:all 0.5s ease; transition:all 0.5s ease;
    +    color: #0179c6;
    +  }
    +  &:hover i{
    +    top: 40%;
    +    opacity: 0.9;
    +  }
    +}
    +
    +.indent_top{
    +  padding-top: 8px;
    +}
    +/*======================= SCROLL TO TOP =======================*/
    +
    +#back-top {position: fixed;  bottom: 20px; right: 20px; z-index: 99}
    +
    +#back-top a {
    +  width: 51px;
    +  display: block;
    +  /* transition */
    +  -webkit-transition: 0.1s;
    +  -moz-transition: 0.1s;
    +  transition: 0.1s;
    +  color:#666666;
    +  background: #fff;
    +  text-align: center;
    +  border: 1px solid #dfdfdf;
    +  height: 51px;
    +  &:hover{
    +    background: #f5f5f5;
    +    }
    +  i{
    +    line-height: 51px;
    +    font-size: 27px;
    +  }
    +}
    \ No newline at end of file
    diff --git a/less/type.less b/less/type.less
    new file mode 100644
    index 0000000..337138a
    --- /dev/null
    +++ b/less/type.less
    @@ -0,0 +1,247 @@
    +//
    +// Typography
    +// --------------------------------------------------
    +
    +
    +// Body text
    +// -------------------------
    +
    +p {
    +  margin: 0 0 @baseLineHeight / 2;
    +}
    +.lead {
    +  margin-bottom: @baseLineHeight;
    +  font-size: @baseFontSize * 1.5;
    +  font-weight: 200;
    +  line-height: @baseLineHeight * 1.5;
    +}
    +
    +
    +// Emphasis & misc
    +// -------------------------
    +
    +// Ex: 14px base font * 85% = about 12px
    +small   { font-size: 85%; }
    +
    +strong  { font-weight: bold; }
    +em      { font-style: italic; }
    +cite    { font-style: normal; }
    +
    +// Utility classes
    +.muted               { color: @grayLight; }
    +a.muted:hover,
    +a.muted:focus        { color: darken(@grayLight, 10%); }
    +
    +.text-warning        { color: @warningText; }
    +a.text-warning:hover,
    +a.text-warning:focus { color: darken(@warningText, 10%); }
    +
    +.text-error          { color: @errorText; }
    +a.text-error:hover,
    +a.text-error:focus   { color: darken(@errorText, 10%); }
    +
    +.text-info           { color: @infoText; }
    +a.text-info:hover,
    +a.text-info:focus    { color: darken(@infoText, 10%); }
    +
    +.text-success        { color: @successText; }
    +a.text-success:hover,
    +a.text-success:focus { color: darken(@successText, 10%); }
    +
    +.text-left           { text-align: left; }
    +.text-right          { text-align: right; }
    +.text-center         { text-align: center; }
    +
    +
    +// Headings
    +// -------------------------
    +
    +h1, h2, h3, h4, h5, h6 {
    +  margin: (@baseLineHeight / 2) 0;
    +  font-family: @headingsFontFamily;
    +  font-weight: @headingsFontWeight;
    +  line-height: @baseLineHeight;
    +  color: @headingsColor;
    +  text-rendering: optimizelegibility; // Fix the character spacing for headings
    +  small {
    +    font-weight: normal;
    +    line-height: 1;
    +    color: @grayLight;
    +  }
    +}
    +
    +h1,
    +h2,
    +h3 { line-height: @baseLineHeight * 2; }
    +
    +h1 { font-size: @baseFontSize * 2.75; } // ~38px
    +h2 { font-size: @baseFontSize * 2.25; } // ~32px
    +h3 { font-size: @baseFontSize * 1.75; } // ~24px
    +h4 { font-size: @baseFontSize * 1.25; } // ~18px
    +h5 { font-size: @baseFontSize; }
    +h6 { font-size: @baseFontSize * 0.85; } // ~12px
    +
    +h1 small { font-size: @baseFontSize * 1.75; } // ~24px
    +h2 small { font-size: @baseFontSize * 1.25; } // ~18px
    +h3 small { font-size: @baseFontSize; }
    +h4 small { font-size: @baseFontSize; }
    +
    +
    +// Page header
    +// -------------------------
    +
    +.page-header {
    +  padding-bottom: (@baseLineHeight / 2) - 1;
    +  margin: @baseLineHeight 0 (@baseLineHeight * 1.5);
    +  border-bottom: 1px solid @grayLighter;
    +}
    +
    +
    +
    +// Lists
    +// --------------------------------------------------
    +
    +// Unordered and Ordered lists
    +ul, ol {
    +  padding: 0;
    +  margin: 0 0 @baseLineHeight / 2 25px;
    +}
    +ul ul,
    +ul ol,
    +ol ol,
    +ol ul {
    +  margin-bottom: 0;
    +}
    +li {
    +  line-height: @baseLineHeight;
    +}
    +
    +// Remove default list styles
    +ul.unstyled,
    +ol.unstyled {
    +  margin-left: 0;
    +  list-style: none;
    +}
    +
    +// Single-line list items
    +ul.inline,
    +ol.inline {
    +  margin-left: 0;
    +  list-style: none;
    +  > li {
    +    display: inline-block;
    +    .ie7-inline-block();
    +    padding-left: 5px;
    +    padding-right: 5px;
    +  }
    +}
    +
    +// Description Lists
    +dl {
    +  margin-bottom: @baseLineHeight;
    +}
    +dt,
    +dd {
    +  line-height: @baseLineHeight;
    +}
    +dt {
    +  font-weight: bold;
    +}
    +dd {
    +  margin-left: @baseLineHeight / 2;
    +}
    +// Horizontal layout (like forms)
    +.dl-horizontal {
    +  .clearfix(); // Ensure dl clears floats if empty dd elements present
    +  dt {
    +    float: left;
    +    width: @horizontalComponentOffset - 20;
    +    clear: left;
    +    text-align: right;
    +    .text-overflow();
    +  }
    +  dd {
    +    margin-left: @horizontalComponentOffset;
    +  }
    +}
    +
    +// MISC
    +// ----
    +
    +// Horizontal rules
    +hr {
    +  margin: @baseLineHeight 0;
    +  border: 0;
    +  border-top: 1px solid @hrBorder;
    +  border-bottom: 1px solid @white;
    +}
    +
    +// Abbreviations and acronyms
    +abbr[title],
    +// Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257
    +abbr[data-original-title] {
    +  cursor: help;
    +  border-bottom: 1px dotted @grayLight;
    +}
    +abbr.initialism {
    +  font-size: 90%;
    +  text-transform: uppercase;
    +}
    +
    +// Blockquotes
    +blockquote {
    +  padding: 0 0 0 15px;
    +  margin: 0 0 @baseLineHeight;
    +  border-left: 5px solid @grayLighter;
    +  p {
    +    margin-bottom: 0;
    +    font-size: @baseFontSize * 1.25;
    +    font-weight: 300;
    +    line-height: 1.25;
    +  }
    +  small {
    +    display: block;
    +    line-height: @baseLineHeight;
    +    color: @grayLight;
    +    &:before {
    +      content: '\2014 \00A0';
    +    }
    +  }
    +
    +  // Float right with text-align: right
    +  &.pull-right {
    +    float: right;
    +    padding-right: 15px;
    +    padding-left: 0;
    +    border-right: 5px solid @grayLighter;
    +    border-left: 0;
    +    p,
    +    small {
    +      text-align: right;
    +    }
    +    small {
    +      &:before {
    +        content: '';
    +      }
    +      &:after {
    +        content: '\00A0 \2014';
    +      }
    +    }
    +  }
    +}
    +
    +// Quotes
    +q:before,
    +q:after,
    +blockquote:before,
    +blockquote:after {
    +  content: "";
    +}
    +
    +// Addresses
    +address {
    +  display: block;
    +  margin-bottom: @baseLineHeight;
    +  font-style: normal;
    +  line-height: @baseLineHeight;
    +}
    diff --git a/less/utilities.less b/less/utilities.less
    new file mode 100644
    index 0000000..314b4ff
    --- /dev/null
    +++ b/less/utilities.less
    @@ -0,0 +1,30 @@
    +//
    +// Utility classes
    +// --------------------------------------------------
    +
    +
    +// Quick floats
    +.pull-right {
    +  float: right;
    +}
    +.pull-left {
    +  float: left;
    +}
    +
    +// Toggling content
    +.hide {
    +  display: none;
    +}
    +.show {
    +  display: block;
    +}
    +
    +// Visibility
    +.invisible {
    +  visibility: hidden;
    +}
    +
    +// For Affix plugin
    +.affix {
    +  position: fixed;
    +}
    diff --git a/less/variables.less b/less/variables.less
    new file mode 100644
    index 0000000..031cb66
    --- /dev/null
    +++ b/less/variables.less
    @@ -0,0 +1,316 @@
    +//
    +// Variables
    +// --------------------------------------------------
    +
    +@radius:	5px;
    +@radius-middle: 8px;
    +@radius-large:	10px;
    +@radius-small:	3px;
    +@color1:	#f6f6f6;
    +@color2:	#2673b4;
    +@color3:	#fafafa;
    +@shadow:0px 1px 2px rgba(0,0,0,0.1),inset 0px 0px 1px rgba(255,255,255,1); 
    +@shadow2:0px 1px 2px rgba(0,0,0,0.1),inset 0px 5px 5px rgba(0,0,0,0.1); 
    +
    +//fedya style
    +
    +@contentbg:	url('../img/content-pattern-bg.gif');
    +// Global values
    +// --------------------------------------------------
    +
    +
    +// Grays
    +// -------------------------
    +@black:                 #000;
    +@grayDarker:            #222;
    +@grayDark:              #3a3a3a;
    +@gray:                  #666;
    +@grayLight:             #999;
    +@grayLighter:           #eee;
    +@white:                 #fff;
    +
    +
    +// Accent colors
    +// -------------------------
    +@blue:                  #049cdb;
    +@blueDark:              #0064cd;
    +@green:                 #46a546;
    +@red:                   #9d261d;
    +@yellow:                #ffc40d;
    +@orange:                #f89406;
    +@pink:                  #c3325f;
    +@purple:                #7a43b6;
    +@blue_link:             #0179c6;
    +
    +@themeRed:              #df152b;
    +@themeBlue:             #0179c6;
    +
    +// Scaffolding
    +// -------------------------
    +@bodyBackground:        @white;
    +@textColor:             @gray;
    +
    +
    +// Links
    +// -------------------------
    +@linkColor:             #0179c6;
    +@linkColorHover:        @themeRed;
    +
    +
    +// Typography
    +// -------------------------
    +@sansFontFamily:        Arial, Helvetica, sans-serif;
    +@serifFontFamily:       Georgia, "Times New Roman", Times, serif;
    +@monoFontFamily:        Monaco, Menlo, Consolas, "Courier New", monospace;
    +
    +@baseFontSize:          13px;
    +@baseFontFamily:        @sansFontFamily;
    +@baseLineHeight:        18px;
    +@altFontFamily:         @serifFontFamily;
    +
    +@headingsFontFamily:    inherit; // empty to use BS default, @baseFontFamily
    +@headingsFontWeight:    bold;    // instead of browser default, bold
    +@headingsColor:         inherit; // empty to use BS default, @textColor
    +
    +
    +// Component sizing
    +// -------------------------
    +// Based on 14px font-size and 20px line-height
    +
    +@fontSizeLarge:         @baseFontSize * 1.25; // ~18px
    +@fontSizeSmall:         @baseFontSize * 0.85; // ~12px
    +@fontSizeMini:          @baseFontSize * 0.75; // ~11px
    +
    +@paddingLarge:          11px 19px; // 44px
    +@paddingSmall:          2px 10px;  // 26px
    +@paddingMini:           0 6px;   // 22px
    +
    +@baseBorderRadius:      4px;
    +@borderRadiusLarge:     6px;
    +@borderRadiusSmall:     3px;
    +
    +
    +// Tables
    +// -------------------------
    +@tableBackground:                   transparent; // overall background-color
    +@tableBackgroundAccent:             #f9f9f9; // for striping
    +@tableBackgroundHover:              #f5f5f5; // for hover
    +@tableBorder:                       #ddd; // table and cell border
    +
    +// Buttons
    +// -------------------------
    +@btnBackground:                     #fbfbfb;
    +@btnBackgroundHighlight:            #4291e4;
    +@btnBorder:                         #b4b4b4;
    +
    +@btnPrimaryBackground:              @linkColor;
    +@btnPrimaryBackgroundHighlight:     spin(@btnPrimaryBackground, 20%);
    +
    +@btnInfoBackground:                 #5bc0de;
    +@btnInfoBackgroundHighlight:        #2f96b4;
    +
    +@btnSuccessBackground:              #62c462;
    +@btnSuccessBackgroundHighlight:     #51a351;
    +
    +@btnWarningBackground:              lighten(@orange, 15%);
    +@btnWarningBackgroundHighlight:     @orange;
    +
    +@btnDangerBackground:               #ee5f5b;
    +@btnDangerBackgroundHighlight:      #bd362f;
    +
    +@btnInverseBackground:              #444;
    +@btnInverseBackgroundHighlight:     @grayDarker;
    +
    +
    +// Forms
    +// -------------------------
    +@inputBackground:               @white;
    +@inputBorder:                   #c0c0c0;
    +@inputBorderRadius:             3px;
    +@inputDisabledBackground:       @grayLighter;
    +@formActionsBackground:         #f5f5f5;
    +@inputHeight:                   @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
    +
    +
    +// Dropdowns
    +// -------------------------
    +@dropdownBackground:            @white;
    +@dropdownBorder:                rgba(0,0,0,.2);
    +@dropdownDividerTop:            #e5e5e5;
    +@dropdownDividerBottom:         @white;
    +
    +@dropdownLinkColor:             @grayDark;
    +@dropdownLinkColorHover:        @white;
    +@dropdownLinkColorActive:       @white;
    +
    +@dropdownLinkBackgroundActive:  @linkColor;
    +@dropdownLinkBackgroundHover:   @dropdownLinkBackgroundActive;
    +
    +
    +
    +// COMPONENT VARIABLES
    +// --------------------------------------------------
    +
    +
    +// Z-index master list
    +// -------------------------
    +// Used for a bird's eye view of components dependent on the z-axis
    +// Try to avoid customizing these :)
    +@zindexDropdown:          1000;
    +@zindexPopover:           1010;
    +@zindexTooltip:           1030;
    +@zindexFixedNavbar:       1030;
    +@zindexModalBackdrop:     1040;
    +@zindexModal:             1050;
    +
    +
    +// Sprite icons path
    +// -------------------------
    +@iconSpritePath:          "../img/glyphicons-halflings.png";
    +@iconWhiteSpritePath:     "../img/glyphicons-halflings-white.png";
    +
    +
    +// Input placeholder text color
    +// -------------------------
    +@placeholderText:         @grayLight;
    +
    +
    +// Hr border color
    +// -------------------------
    +@hrBorder:                @grayLighter;
    +
    +
    +// Horizontal forms & lists
    +// -------------------------
    +@horizontalComponentOffset:       180px;
    +
    +
    +// Wells
    +// -------------------------
    +@wellBackground:                  #f5f5f5;
    +
    +
    +// Navbar
    +// -------------------------
    +@navbarCollapseWidth:             979px;
    +@navbarCollapseDesktopWidth:      @navbarCollapseWidth + 1;
    +
    +@navbarHeight:                    40px;
    +@navbarBackgroundHighlight:       #ffffff;
    +@navbarBackground:                darken(@navbarBackgroundHighlight, 5%);
    +@navbarBorder:                    darken(@navbarBackground, 12%);
    +
    +@navbarText:                      #777;
    +@navbarLinkColor:                 #777;
    +@navbarLinkColorHover:            @grayDark;
    +@navbarLinkColorActive:           @gray;
    +@navbarLinkBackgroundHover:       transparent;
    +@navbarLinkBackgroundActive:      darken(@navbarBackground, 5%);
    +
    +@navbarBrandColor:                @navbarLinkColor;
    +
    +// Inverted navbar
    +@navbarInverseBackground:                #111111;
    +@navbarInverseBackgroundHighlight:       #222222;
    +@navbarInverseBorder:                    #252525;
    +
    +@navbarInverseText:                      @grayLight;
    +@navbarInverseLinkColor:                 @grayLight;
    +@navbarInverseLinkColorHover:            @white;
    +@navbarInverseLinkColorActive:           @navbarInverseLinkColorHover;
    +@navbarInverseLinkBackgroundHover:       transparent;
    +@navbarInverseLinkBackgroundActive:      @navbarInverseBackground;
    +
    +@navbarInverseSearchBackground:          lighten(@navbarInverseBackground, 25%);
    +@navbarInverseSearchBackgroundFocus:     @white;
    +@navbarInverseSearchBorder:              @navbarInverseBackground;
    +@navbarInverseSearchPlaceholderColor:    #ccc;
    +
    +@navbarInverseBrandColor:                @navbarInverseLinkColor;
    +
    +
    +// Pagination
    +// -------------------------
    +@paginationBackground:                #fff;
    +@paginationBorder:                    #ddd;
    +@paginationActiveBackground:          #f5f5f5;
    +
    +
    +// Hero unit
    +// -------------------------
    +@heroUnitBackground:              @grayLighter;
    +@heroUnitHeadingColor:            inherit;
    +@heroUnitLeadColor:               inherit;
    +
    +
    +// Form states and alerts
    +// -------------------------
    +@warningText:             #c09853;
    +@warningBackground:       #fcf8e3;
    +@warningBorder:           darken(spin(@warningBackground, -10), 3%);
    +
    +@errorText:               #b94a48;
    +@errorBackground:         #f2dede;
    +@errorBorder:             darken(spin(@errorBackground, -10), 3%);
    +
    +@successText:             #468847;
    +@successBackground:       #dff0d8;
    +@successBorder:           darken(spin(@successBackground, -10), 5%);
    +
    +@infoText:                #3a87ad;
    +@infoBackground:          #d9edf7;
    +@infoBorder:              darken(spin(@infoBackground, -10), 7%);
    +
    +
    +// Tooltips and popovers
    +// -------------------------
    +@tooltipColor:            #fff;
    +@tooltipBackground:       #000;
    +@tooltipArrowWidth:       5px;
    +@tooltipArrowColor:       @tooltipBackground;
    +
    +@popoverBackground:       #fff;
    +@popoverArrowWidth:       10px;
    +@popoverArrowColor:       #fff;
    +@popoverTitleBackground:  darken(@popoverBackground, 3%);
    +
    +// Special enhancement for popovers
    +@popoverArrowOuterWidth:  @popoverArrowWidth + 1;
    +@popoverArrowOuterColor:  rgba(0,0,0,.25);
    +
    +
    +
    +// GRID
    +// --------------------------------------------------
    +
    +
    +// Default 940px grid
    +// -------------------------
    +@gridColumns:             12;
    +@gridColumnWidth:         60px;
    +@gridGutterWidth:         20px;
    +@gridRowWidth:            (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
    +
    +// 1200px min
    +@gridColumnWidth1200:     70px;
    +@gridGutterWidth1200:     30px;
    +@gridRowWidth1200:        (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
    +
    +// 768px-979px
    +@gridColumnWidth768:      42px;
    +@gridGutterWidth768:      20px;
    +@gridRowWidth768:         (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
    +
    +
    +// Fluid grid
    +// -------------------------
    +@fluidGridColumnWidth:    percentage(@gridColumnWidth/@gridRowWidth);
    +@fluidGridGutterWidth:    percentage(@gridGutterWidth/@gridRowWidth);
    +
    +// 1200px min
    +@fluidGridColumnWidth1200:     percentage(@gridColumnWidth1200/@gridRowWidth1200);
    +@fluidGridGutterWidth1200:     percentage(@gridGutterWidth1200/@gridRowWidth1200);
    +
    +// 768px-979px
    +@fluidGridColumnWidth768:      percentage(@gridColumnWidth768/@gridRowWidth768);
    +@fluidGridGutterWidth768:      percentage(@gridGutterWidth768/@gridRowWidth768);