├── .editorconfig ├── .gitignore ├── 404.php ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── assets ├── css │ ├── editor-style.css │ └── style-default.css ├── fonts │ ├── Elusive-Icons.eot │ ├── Elusive-Icons.svg │ ├── Elusive-Icons.ttf │ ├── Elusive-Icons.woff │ ├── elusive-webfont.less │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff └── js │ ├── _main.js │ ├── megadrop.js │ └── vendor │ ├── fastclick.js │ ├── html5shiv.js │ ├── jquery-1.11.0.min.js │ ├── jquery.cookie.js │ ├── jquery.fittext.js │ ├── jquery.fitvids.js │ ├── less.min.js │ ├── modernizr.min.js │ ├── placeholder.js │ ├── respond.min.js │ └── retina.js ├── base.php ├── bbpress ├── content-archive-forum.php ├── content-search.php ├── content-single-forum.php ├── content-single-topic.php ├── form-reply.php ├── form-search.php ├── form-topic.php ├── loop-forums.php ├── loop-replies.php ├── loop-search-forum.php ├── loop-search-reply.php ├── loop-search.php ├── loop-single-forum.php ├── loop-single-reply.php ├── loop-single-topic.php ├── loop-topics.php ├── pagination-replies.php ├── pagination-search.php ├── pagination-topics.php └── user-details.php ├── buddypress ├── activity │ ├── activity-loop.php │ ├── entry.php │ ├── index.php │ └── post-form.php └── css │ └── buddypress.css ├── framework ├── bootstrap │ ├── assets │ │ ├── css │ │ │ └── style-default.css │ │ ├── js │ │ │ └── bootstrap.min.js │ │ └── less │ │ │ ├── app.less │ │ │ ├── blog.less │ │ │ ├── buddypress.less │ │ │ ├── footer.less │ │ │ ├── gradients.less │ │ │ ├── headers.less │ │ │ ├── layout.less │ │ │ ├── menus.less │ │ │ ├── navlist.less │ │ │ ├── social.less │ │ │ ├── vendor │ │ │ └── bootstrap │ │ │ │ ├── alerts.less │ │ │ │ ├── badges.less │ │ │ │ ├── bootstrap.less │ │ │ │ ├── breadcrumbs.less │ │ │ │ ├── button-groups.less │ │ │ │ ├── buttons.less │ │ │ │ ├── carousel.less │ │ │ │ ├── close.less │ │ │ │ ├── code.less │ │ │ │ ├── component-animations.less │ │ │ │ ├── dropdowns.less │ │ │ │ ├── forms.less │ │ │ │ ├── glyphicons.less │ │ │ │ ├── grid.less │ │ │ │ ├── input-groups.less │ │ │ │ ├── jumbotron.less │ │ │ │ ├── labels.less │ │ │ │ ├── list-group.less │ │ │ │ ├── media.less │ │ │ │ ├── mixins.less │ │ │ │ ├── mixins │ │ │ │ ├── alerts.less │ │ │ │ ├── background-variant.less │ │ │ │ ├── border-radius.less │ │ │ │ ├── buttons.less │ │ │ │ ├── center-block.less │ │ │ │ ├── clearfix.less │ │ │ │ ├── forms.less │ │ │ │ ├── gradients.less │ │ │ │ ├── grid-framework.less │ │ │ │ ├── grid.less │ │ │ │ ├── hide-text.less │ │ │ │ ├── image.less │ │ │ │ ├── labels.less │ │ │ │ ├── list-group.less │ │ │ │ ├── nav-divider.less │ │ │ │ ├── nav-vertical-align.less │ │ │ │ ├── opacity.less │ │ │ │ ├── pagination.less │ │ │ │ ├── panels.less │ │ │ │ ├── progress-bar.less │ │ │ │ ├── reset-filter.less │ │ │ │ ├── resize.less │ │ │ │ ├── responsive-visibility.less │ │ │ │ ├── size.less │ │ │ │ ├── tab-focus.less │ │ │ │ ├── table-row.less │ │ │ │ ├── text-emphasis.less │ │ │ │ ├── text-overflow.less │ │ │ │ └── vendor-prefixes.less │ │ │ │ ├── modals.less │ │ │ │ ├── navbar.less │ │ │ │ ├── navs.less │ │ │ │ ├── normalize.less │ │ │ │ ├── pager.less │ │ │ │ ├── pagination.less │ │ │ │ ├── panels.less │ │ │ │ ├── popovers.less │ │ │ │ ├── print.less │ │ │ │ ├── progress-bars.less │ │ │ │ ├── responsive-embed.less │ │ │ │ ├── responsive-utilities.less │ │ │ │ ├── scaffolding.less │ │ │ │ ├── tables.less │ │ │ │ ├── theme.less │ │ │ │ ├── thumbnails.less │ │ │ │ ├── tooltip.less │ │ │ │ ├── type.less │ │ │ │ ├── utilities.less │ │ │ │ ├── variables.less │ │ │ │ └── wells.less │ │ │ └── widgets.less │ ├── class-SS_Framework_Bootstrap.php │ ├── framework.php │ ├── includes │ │ ├── class-Shoestrap_Advanced.php │ │ ├── class-Shoestrap_Background.php │ │ ├── class-Shoestrap_Blog.php │ │ ├── class-Shoestrap_Branding.php │ │ ├── class-Shoestrap_Breadcrumbs.php │ │ ├── class-Shoestrap_Footer.php │ │ ├── class-Shoestrap_Header.php │ │ ├── class-Shoestrap_Jumbotron.php │ │ ├── class-Shoestrap_Layout.php │ │ ├── class-Shoestrap_Menus.php │ │ ├── class-Shoestrap_Nav_Menu_Widget.php │ │ ├── class-Shoestrap_Nav_Walker.php │ │ ├── class-Shoestrap_Navlist_Walker.php │ │ ├── class-Shoestrap_Options.php │ │ ├── class-Shoestrap_Social.php │ │ ├── class-Shoestrap_Typography.php │ │ ├── customizer.php │ │ ├── gallery.php │ │ ├── webfonts.json │ │ └── widgets.php │ └── templates │ │ └── top-bar.php ├── class-SS_Framework.php ├── compilers │ ├── less-php │ │ ├── Cache.php │ │ ├── Less.php │ │ ├── Version.php │ │ └── class-Shoestrap_Less_php.php │ └── sass-php │ │ ├── class-Shoestrap_Sass_php.php │ │ └── scss.inc.php └── core │ └── class-SS_Framework_Core.php ├── functions.php ├── index.php ├── lang └── shoestrap.pot ├── lib ├── bbpress.php ├── buddypress.php ├── class-Shoestrap_Color.php ├── class-Shoestrap_Image.php ├── class-TGM_Plugin_Activation.php ├── cleanup.php ├── comments.php ├── config.php ├── dependencies.php ├── deprecated.php ├── footer.php ├── functions-core.php ├── init.php ├── meta.php ├── post-formats.php ├── scripts.php ├── sidebar.php ├── template.php ├── titles.php ├── updater │ ├── EDD_Theme_Updater.php │ └── updater.php ├── utils.php ├── widgets.php └── wrapper.php ├── page.php ├── screenshot.png ├── single.php ├── style.css ├── template-0.php ├── template-1.php ├── template-2.php ├── template-3.php ├── template-4.php ├── template-5.php └── templates ├── comment.php ├── comments.php ├── content-page.php ├── content-single.php ├── content.php ├── footer.php ├── head.php ├── searchform.php └── sidebar.php /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | # WordPress Coding Standards 5 | # http://make.wordpress.org/core/handbook/coding-standards/ 6 | 7 | root = true 8 | 9 | [*] 10 | charset = utf-8 11 | end_of_line = lf 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | indent_style = tab 15 | 16 | [*.json] 17 | indent_style = space 18 | indent_size = 2 19 | 20 | [*.txt] 21 | end_of_line = crlf 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Include your project-specific ignores in this file 2 | # Read about how to use .gitignore: https://help.github.com/articles/ignoring-files 3 | assets/css/main.min.css.map 4 | -------------------------------------------------------------------------------- /404.php: -------------------------------------------------------------------------------- 1 | alert( $type = 'warning', $alert_message ); 9 | ?> 10 | 11 |

12 | 16 | article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}"; 6 | 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="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "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 dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); 8 | if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;dn;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0!==a.cookie(b)?(a.cookie(b,"",a.extend({},c,{expires:-1})),!0):!1}}); 9 | -------------------------------------------------------------------------------- /assets/js/vendor/jquery.fittext.js: -------------------------------------------------------------------------------- 1 | /*global jQuery */ 2 | /*! 3 | * FitText.js 1.1 4 | * 5 | * Copyright 2011, Dave Rupert http://daverupert.com 6 | * Released under the WTFPL license 7 | * http://sam.zoy.org/wtfpl/ 8 | * 9 | * Date: Thu May 05 14:23:00 2011 -0600 10 | */ 11 | 12 | (function( $ ){ 13 | 14 | $.fn.fitText = function( kompressor, options ) { 15 | 16 | // Setup options 17 | var compressor = kompressor || 1, 18 | settings = $.extend({ 19 | 'minFontSize' : Number.NEGATIVE_INFINITY, 20 | 'maxFontSize' : Number.POSITIVE_INFINITY 21 | }, options); 22 | 23 | return this.each(function(){ 24 | 25 | // Store the object 26 | var $this = $(this); 27 | 28 | // Resizer() resizes items based on the object width divided by the compressor * 10 29 | var resizer = function () { 30 | $this.css('font-size', Math.max(Math.min($this.width() / (compressor*10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize))); 31 | }; 32 | 33 | // Call once to set. 34 | resizer(); 35 | 36 | // Call on resize. Opera debounces their resize by default. 37 | $(window).on('resize.fittext orientationchange.fittext', resizer); 38 | 39 | }); 40 | 41 | }; 42 | 43 | })( jQuery ); 44 | -------------------------------------------------------------------------------- /assets/js/vendor/jquery.fitvids.js: -------------------------------------------------------------------------------- 1 | /*global jQuery */ 2 | /*jshint multistr:true browser:true */ 3 | /*! 4 | * FitVids 1.0 5 | * 6 | * Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com 7 | * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ 8 | * Released under the WTFPL license - http://sam.zoy.org/wtfpl/ 9 | * 10 | * Date: Thu Sept 01 18:00:00 2011 -0500 11 | */ 12 | 13 | (function( $ ){ 14 | 15 | "use strict"; 16 | 17 | $.fn.fitVids = function( options ) { 18 | var settings = { 19 | customSelector: null 20 | }; 21 | 22 | if(!document.getElementById('fit-vids-style')) { 23 | 24 | var div = document.createElement('div'), 25 | ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0]; 26 | 27 | div.className = 'fit-vids-style'; 28 | div.id = 'fit-vids-style'; 29 | div.style.display = 'none'; 30 | div.innerHTML = '­'; 47 | 48 | ref.parentNode.insertBefore(div,ref); 49 | 50 | } 51 | 52 | if ( options ) { 53 | $.extend( settings, options ); 54 | } 55 | 56 | return this.each(function(){ 57 | var selectors = [ 58 | "iframe[src*='blip.tv']", 59 | "iframe[src*='dailymotion.com']", 60 | "iframe[src*='embed.ly']", 61 | "iframe[src*='flickr.com']", 62 | "iframe[src*='funnyordie.com']", 63 | "iframe[src*='hulu.com']", 64 | "iframe[src*='instagram.com']", 65 | "iframe[src*='qik.com']", 66 | "iframe[src*='photobucket.com']", 67 | "iframe[src*='polldaddy.com']", 68 | "iframe[src*='revision3.com']", 69 | "iframe[src*='scribd.com']", 70 | "iframe[src*='slideshare.net']", 71 | "iframe[src*='soundcloud.com']", 72 | "iframe[src*='smugmug.com']", 73 | "iframe[src*='twitter.com']", 74 | "iframe[src*='viddler.com']", 75 | "iframe[src*='vimeo.com']", 76 | "embed[src*='v.wordpress.com']", 77 | "iframe[src*='youtube.com']", 78 | "iframe[src*='youtube-nocookie.com']", 79 | "iframe[src*='youtube-nocookie.com']", 80 | "iframe[src*='kickstarter.com'][src*='video.html']", 81 | "object", 82 | "embed", 83 | ]; 84 | 85 | if (settings.customSelector) { 86 | selectors.push(settings.customSelector); 87 | } 88 | 89 | var $allVideos = $(this).find(selectors.join(',')); 90 | $allVideos = $allVideos.not("object object"); // SwfObj conflict patch 91 | 92 | $allVideos.each(function(){ 93 | var $this = $(this); 94 | if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } 95 | if (this.tagName.toLowerCase() === 'embed' && $this.attr('src').indexOf('a.blip.tv') !== -1) { console.log('here');return; } 96 | 97 | var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), 98 | width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), 99 | aspectRatio = height / width; 100 | if(!$this.attr('id')){ 101 | var videoID = 'fitvid' + Math.floor(Math.random()*999999); 102 | $this.attr('id', videoID); 103 | } 104 | $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); 105 | $this.removeAttr('height').removeAttr('width'); 106 | }); 107 | }); 108 | }; 109 | })( jQuery ); 110 | -------------------------------------------------------------------------------- /assets/js/vendor/placeholder.js: -------------------------------------------------------------------------------- 1 | /*! http://mths.be/placeholder v2.0.7 by @mathias */ 2 | !function(a,b,c){function d(a){var b={},d=/^jQuery\d+$/;return c.each(a.attributes,function(a,c){c.specified&&!d.test(c.name)&&(b[c.name]=c.value)}),b}function e(a,d){var e=this,f=c(e);if(e.value==f.attr("placeholder")&&f.hasClass("placeholder"))if(f.data("placeholder-password")){if(f=f.hide().next().show().attr("id",f.removeAttr("id").data("placeholder-id")),a===!0)return f[0].value=d;f.focus()}else e.value="",f.removeClass("placeholder"),e==b.activeElement&&e.select()}function f(){var a,b=this,f=c(b),g=this.id;if(""==b.value){if("password"==b.type){if(!f.data("placeholder-textinput")){try{a=f.clone().attr({type:"text"})}catch(h){a=c("").attr(c.extend(d(this),{type:"text"}))}a.removeAttr("name").data({"placeholder-password":!0,"placeholder-id":g}).bind("focus.placeholder",e),f.data({"placeholder-textinput":a,"placeholder-id":g}).before(a)}f=f.removeAttr("id").hide().prev().attr("id",g).show()}f.addClass("placeholder"),f[0].value=f.attr("placeholder")}else f.removeClass("placeholder")}var g,h,i="placeholder"in b.createElement("input"),j="placeholder"in b.createElement("textarea"),k=c.fn,l=c.valHooks;i&&j?(h=k.placeholder=function(){return this},h.input=h.textarea=!0):(h=k.placeholder=function(){var a=this;return a.filter((i?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":e,"blur.placeholder":f}).data("placeholder-enabled",!0).trigger("blur.placeholder"),a},h.input=i,h.textarea=j,g={get:function(a){var b=c(a);return b.data("placeholder-enabled")&&b.hasClass("placeholder")?"":a.value},set:function(a,d){var g=c(a);return g.data("placeholder-enabled")?(""==d?(a.value=d,a!=b.activeElement&&f.call(a)):g.hasClass("placeholder")?e.call(a,!0,d)||(a.value=d):a.value=d,g):a.value=d}},i||(l.input=g),j||(l.textarea=g),c(function(){c(b).delegate("form","submit.placeholder",function(){var a=c(".placeholder",this).each(e);setTimeout(function(){a.each(f)},10)})}),c(a).bind("beforeunload.placeholder",function(){c(".placeholder").each(function(){this.value=""})}))}(this,document,jQuery); 3 | -------------------------------------------------------------------------------- /assets/js/vendor/respond.min.js: -------------------------------------------------------------------------------- 1 | /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ 2 | /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */ 3 | window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='­',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document); 4 | 5 | /*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 6 | (function(a){"use strict";function x(){u(!0)}var b={};a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,b.mediaQueriesSupported;var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var a=m.shift();v(a.href,function(b){p(b,a.href,a.media),h[a.href]=!0,setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(a){var b="clientWidth",h=d[b],k="CSS1Compat"===c.compatMode&&h||c.body[b]||h,m={},n=l[l.length-1],o=(new Date).getTime();if(a&&q&&i>o-q)return clearTimeout(r),r=setTimeout(u,i),void 0;q=o;for(var p in e)if(e.hasOwnProperty(p)){var v=e[p],w=v.minw,x=v.maxw,y=null===w,z=null===x,A="em";w&&(w=parseFloat(w)*(w.indexOf(A)>-1?t||s():1)),x&&(x=parseFloat(x)*(x.indexOf(A)>-1?t||s():1)),v.hasquery&&(y&&z||!(y||k>=w)||!(z||x>=k))||(m[v.media]||(m[v.media]=[]),m[v.media].push(f[v.rules]))}for(var B in g)g.hasOwnProperty(B)&&g[B]&&g[B].parentNode===j&&j.removeChild(g[B]);for(var C in m)if(m.hasOwnProperty(C)){var D=c.createElement("style"),E=m[C].join("\n");D.type="text/css",D.media=C,j.insertBefore(D,n.nextSibling),D.styleSheet?D.styleSheet.cssText=E:D.appendChild(c.createTextNode(E)),g.push(D)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)})(this); 7 | -------------------------------------------------------------------------------- /assets/js/vendor/retina.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | var root = (typeof exports == 'undefined' ? window : exports); 4 | 5 | var config = { 6 | // Ensure Content-Type is an image before trying to load @2x image 7 | // https://github.com/imulus/retinajs/pull/45) 8 | check_mime_type: true 9 | }; 10 | 11 | 12 | 13 | root.Retina = Retina; 14 | 15 | function Retina() {} 16 | 17 | Retina.configure = function(options) { 18 | if (options == null) options = {}; 19 | for (var prop in options) config[prop] = options[prop]; 20 | }; 21 | 22 | Retina.init = function(context) { 23 | if (context == null) context = root; 24 | 25 | var existing_onload = context.onload || new Function; 26 | 27 | context.onload = function() { 28 | var images = document.getElementsByTagName("img"), retinaImages = [], i, image; 29 | for (i = 0; i < images.length; i++) { 30 | image = images[i]; 31 | retinaImages.push(new RetinaImage(image)); 32 | } 33 | existing_onload(); 34 | } 35 | }; 36 | 37 | Retina.isRetina = function(){ 38 | var mediaQuery = "(-webkit-min-device-pixel-ratio: 1.5),\ 39 | (min--moz-device-pixel-ratio: 1.5),\ 40 | (-o-min-device-pixel-ratio: 3/2),\ 41 | (min-resolution: 1.5dppx)"; 42 | 43 | if (root.devicePixelRatio > 1) 44 | return true; 45 | 46 | if (root.matchMedia && root.matchMedia(mediaQuery).matches) 47 | return true; 48 | 49 | return false; 50 | }; 51 | 52 | 53 | root.RetinaImagePath = RetinaImagePath; 54 | 55 | function RetinaImagePath(path, at_2x_path) { 56 | this.path = path; 57 | if (typeof at_2x_path !== "undefined" && at_2x_path !== null) { 58 | this.at_2x_path = at_2x_path; 59 | this.perform_check = false; 60 | } else { 61 | this.at_2x_path = path.replace(/\.\w+$/, function(match) { return "@2x" + match; }); 62 | this.perform_check = true; 63 | } 64 | } 65 | 66 | RetinaImagePath.confirmed_paths = []; 67 | 68 | RetinaImagePath.prototype.is_external = function() { 69 | return !!(this.path.match(/^https?\:/i) && !this.path.match('//' + document.domain) ) 70 | } 71 | 72 | RetinaImagePath.prototype.check_2x_variant = function(callback) { 73 | var http, that = this; 74 | if (this.is_external()) { 75 | return callback(false); 76 | } else if (!this.perform_check && typeof this.at_2x_path !== "undefined" && this.at_2x_path !== null) { 77 | return callback(true); 78 | } else if (this.at_2x_path in RetinaImagePath.confirmed_paths) { 79 | return callback(true); 80 | } else { 81 | http = new XMLHttpRequest; 82 | http.open('HEAD', this.at_2x_path); 83 | http.onreadystatechange = function() { 84 | if (http.readyState != 4) { 85 | return callback(false); 86 | } 87 | 88 | if (http.status >= 200 && http.status <= 399) { 89 | if (config.check_mime_type) { 90 | var type = http.getResponseHeader('Content-Type'); 91 | if (type == null || !type.match(/^image/i)) { 92 | return callback(false); 93 | } 94 | } 95 | 96 | RetinaImagePath.confirmed_paths.push(that.at_2x_path); 97 | return callback(true); 98 | } else { 99 | return callback(false); 100 | } 101 | } 102 | http.send(); 103 | } 104 | } 105 | 106 | 107 | 108 | function RetinaImage(el) { 109 | this.el = el; 110 | this.path = new RetinaImagePath(this.el.getAttribute('src'), this.el.getAttribute('data-at2x')); 111 | var that = this; 112 | this.path.check_2x_variant(function(hasVariant) { 113 | if (hasVariant) that.swap(); 114 | }); 115 | } 116 | 117 | root.RetinaImage = RetinaImage; 118 | 119 | RetinaImage.prototype.swap = function(path) { 120 | if (typeof path == 'undefined') path = this.path.at_2x_path; 121 | 122 | var that = this; 123 | function load() { 124 | if (! that.el.complete) { 125 | setTimeout(load, 5); 126 | } else { 127 | that.el.setAttribute('width', that.el.offsetWidth); 128 | that.el.setAttribute('height', that.el.offsetHeight); 129 | that.el.setAttribute('src', path); 130 | } 131 | } 132 | load(); 133 | } 134 | 135 | 136 | 137 | 138 | if (Retina.isRetina()) { 139 | Retina.init(root); 140 | } 141 | 142 | })(); 143 | 144 | -------------------------------------------------------------------------------- /base.php: -------------------------------------------------------------------------------- 1 | 2 | > 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | open_container( 'div', 'wrap-main-section', 'wrap main-section' ); ?> 19 | 20 | 21 | 22 |
23 | open_row( 'div', null, 'bg' ); ?> 24 | 25 | 26 | 27 |
role="main"> 28 | 29 |
30 | 31 | 32 | 33 | 34 | 41 | 42 | 43 | 44 | 45 | 46 | 49 | 50 | clearfix(); ?> 51 | close_row( 'div' ); ?> 52 |
53 | 54 | close_container( 'div' ); ?> 55 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /bbpress/content-archive-forum.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 14 |
15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | 23 | 32 | 33 |
34 |
-------------------------------------------------------------------------------- /bbpress/content-search.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 14 |
15 | 16 |
17 | 18 |
19 | '; 26 | bbp_get_template_part( 'loop', 'search' ); 27 | echo '
'; 28 | bbp_get_template_part( 'pagination', 'search' ); 29 | elseif ( bbp_get_search_terms() ) : 30 | bbp_get_template_part( 'feedback', 'no-search' ); 31 | else : 32 | bbp_get_template_part( 'form', 'search' ); 33 | endif; 34 | 35 | do_action( 'bbp_template_after_search_results' ); 36 | ?> 37 |
38 |
-------------------------------------------------------------------------------- /bbpress/content-single-forum.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | '
', 'after' => '
' ) ); 20 | 21 | if ( bbp_has_forums() ) : 22 | bbp_get_template_part( 'loop', 'forums' ); 23 | endif; 24 | 25 | if ( !bbp_is_forum_category() && bbp_has_topics() ) : 26 | bbp_get_template_part( 'pagination', 'topics' ); 27 | bbp_get_template_part( 'loop', 'topics' ); 28 | bbp_get_template_part( 'pagination', 'topics' ); 29 | bbp_get_template_part( 'form', 'topic' ); 30 | elseif ( !bbp_is_forum_category() ) : 31 | bbp_get_template_part( 'feedback', 'no-topics' ); 32 | bbp_get_template_part( 'form', 'topic' ); 33 | endif; 34 | endif; 35 | 36 | do_action( 'bbp_template_after_single_forum' ); 37 | ?> 38 |
39 |
-------------------------------------------------------------------------------- /bbpress/content-single-topic.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 37 |
38 |
-------------------------------------------------------------------------------- /bbpress/form-search.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 22 | -------------------------------------------------------------------------------- /bbpress/loop-forums.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 32 | 33 | 11 | 12 | 13 | 14 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /bbpress/loop-search-forum.php: -------------------------------------------------------------------------------- 1 | 11 |
12 |
13 | 14 | # 15 |
16 |
17 | 18 |

19 | 20 |
21 |
22 |
> 23 |
24 | 25 | 26 | 27 |
28 |
-------------------------------------------------------------------------------- /bbpress/loop-search-reply.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 |
14 | 15 | # 16 |
17 |
18 |

19 |

20 |
21 |
22 | 23 |
> 24 |
25 | 26 | '
', 'show_role' => true ) ); ?> 27 | 28 | 29 |
30 | 31 | 32 | 33 |
34 |
35 | 36 | 37 | 38 |
39 |
40 | 41 | -------------------------------------------------------------------------------- /bbpress/loop-search.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 30 | 31 | -------------------------------------------------------------------------------- /bbpress/loop-single-forum.php: -------------------------------------------------------------------------------- 1 | 11 |
  • 12 | 43 |
  • -------------------------------------------------------------------------------- /bbpress/loop-single-reply.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    13 |
    14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | # 22 | 23 | 24 | 25 |
    26 |
    27 | 28 |
    > 29 |
    30 | 31 | '
    ', 'show_role' => true ) ); ?> 32 | 33 | 34 |
    35 | 36 | 37 | 38 |
    39 |
    40 | 41 | 42 | 43 |
    44 |
    -------------------------------------------------------------------------------- /bbpress/loop-single-topic.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
  • 13 |
    14 | 72 |
  • 73 | -------------------------------------------------------------------------------- /bbpress/loop-topics.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | New Topic'; } ?> 14 | 33 | 34 | 12 | 13 |
    14 |
    15 |
    16 | 17 |
    18 | 21 |
    22 |
    23 |
    24 | 11 | 12 | 13 | 14 |
    15 |
    16 |
    17 | 18 |
    19 | 22 |
    23 |
    24 | 25 | 11 | 12 | 13 | 14 |
    15 |
    16 |
    17 | 18 |
    19 | 20 | 23 |
    24 |
    25 |
    26 | 11 | 12 | 13 | 14 |
    15 |
    16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
    24 | 25 |
    26 | 27 |
    28 |
      29 |
    • 30 | 33 |
    • 34 | 35 |
    • 36 | 37 | "> 38 | 39 |
    • 40 | 41 |
    • 42 | 43 | "> 44 | 45 |
    • 46 | 47 | 48 |
    • 49 | 50 | "> 51 | 52 |
    • 53 | 54 | 55 | 56 | 57 | 58 |
    • 59 | 60 | "> 61 | 62 |
    • 63 | 64 | 65 |
    • 66 | 67 | "> 68 | 69 |
    • 70 | 71 | 72 | 73 |
    74 |
    75 |
    76 |
    77 | 78 | 79 | -------------------------------------------------------------------------------- /buddypress/activity/activity-loop.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 13 | 14 | 15 | 36 | 37 | 38 | 39 | 40 | 41 |
    42 |

    43 |
    44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
    52 | 53 | 54 | 55 |
    56 | 57 | -------------------------------------------------------------------------------- /buddypress/activity/entry.php: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 |
  • 18 | 25 | 26 |
    27 | 28 |
    29 | 30 | 31 | 32 |
    33 | 34 | 35 | 36 |
    37 | 38 | 39 | 40 |
    41 | 42 | 43 | 44 | 45 | 46 |
    47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | %s', 'buddypress' ), bp_activity_get_comment_count() ); ?> 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
    83 | 84 |
    85 | 86 | 87 | 88 | 89 | 90 |
    91 | 92 | 93 | 94 | 95 | 96 |
    > 97 |
    98 |
    99 |
    100 | 101 |
    102 |   103 | 104 |
    105 | 106 | 107 | 108 | 109 | 110 |
    111 | 112 | 113 | 114 |
    115 | 116 | 117 | 118 | 119 | 120 |
  • 121 | 122 | 123 | -------------------------------------------------------------------------------- /buddypress/activity/post-form.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 75 | -------------------------------------------------------------------------------- /buddypress/css/buddypress.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codemonkey-jack/shoestrap-3/3ee1e7fc5908ada3d36d4a6b24ac8f8040a920b3/buddypress/css/buddypress.css -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/blog.less: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | overflow: hidden; 3 | } 4 | 5 | .row-meta { 6 | span.col-md-12, 7 | span.col-md-6, 8 | span.col-md-4, 9 | span.col-md-3, 10 | span.col-md-2, 11 | span.col-md-1 { 12 | width: auto; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/buddypress.less: -------------------------------------------------------------------------------- 1 | #buddypress { 2 | button, 3 | a.button, 4 | input[type=submit], 5 | input[type=button], 6 | input[type=reset], 7 | ul.button-nav li a, 8 | div.generic-button a, 9 | .comment-reply-link, 10 | a.bp-title-button { 11 | .btn; 12 | } 13 | 14 | input[type=submit], 15 | .bp-primary-action { 16 | .btn-primary; 17 | } 18 | 19 | .bp-secondary-action { 20 | &.fav { 21 | .btn-success; 22 | } 23 | 24 | &.delete-activity { 25 | .btn-danger; 26 | } 27 | } 28 | 29 | form.ac-form { 30 | display: none; 31 | } 32 | 33 | li.media { 34 | list-style: none; 35 | list-style-type: none; 36 | } 37 | 38 | li.selected { 39 | a { 40 | .btn-primary; 41 | 42 | .badge { 43 | color: @btn-primary-bg; 44 | background: @btn-primary-color; 45 | } 46 | } 47 | } 48 | 49 | .activity_update.activity-item { 50 | 51 | iframe { 52 | max-width: 100%; 53 | } 54 | 55 | .activity-avatar { 56 | float: left; 57 | overflow: hidden; 58 | } 59 | 60 | .activity-meta { 61 | text-align: right; 62 | a { 63 | .btn-sm; 64 | } 65 | } 66 | } 67 | 68 | li.load-more { 69 | list-style-type: none; 70 | list-style: none; 71 | 72 | a { 73 | .btn; 74 | .btn-default; 75 | .btn-block; 76 | .btn-lg; 77 | } 78 | } 79 | 80 | #whats-new-options { 81 | height: auto !important; 82 | } 83 | 84 | #whats-new { 85 | height: auto; 86 | min-height: 3em; 87 | } 88 | 89 | } 90 | 91 | img.avatar { 92 | border-radius: 50%; 93 | } -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/footer.less: -------------------------------------------------------------------------------- 1 | .fluid { 2 | #page-footer { 3 | padding-left: (@grid-gutter-width / 2); 4 | padding-right: (@grid-gutter-width / 2); 5 | } 6 | } 7 | 8 | #content-wrapper-left { 9 | #page-footer { 10 | margin-left: -(@grid-gutter-width / 2); 11 | margin-right: -(@grid-gutter-width / 2); 12 | padding-left: @grid-gutter-width; 13 | padding-right: @grid-gutter-width; 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/headers.less: -------------------------------------------------------------------------------- 1 | .header-wrapper { 2 | padding: (@grid-gutter-width / 2) (@grid-gutter-width / 2); 3 | } 4 | 5 | .header-boxed .header-wrapper { 6 | padding: (@grid-gutter-width / 2) 0; 7 | } 8 | 9 | .jumbotron { 10 | padding: 30px; 11 | margin-bottom: 30px; 12 | line-height: (@line-height-base * 1.5); 13 | font-weight: @jumbotron-font-weight; 14 | font-style: @jumbotron-font-style; 15 | font-family: @jumbotron-font-family; 16 | border-radius: 0px; 17 | h1, h2, h3, h4, h5, h6 { 18 | font-weight: @jumbotron-headers-font-weight; 19 | font-style: @jumbotron-headers-font-style; 20 | font-family: @jumbotron-headers-font-family; 21 | } 22 | p { 23 | line-height: 1.4; 24 | } 25 | 26 | @media screen and (min-width: @screen-tablet) { 27 | padding: 50px 60px; 28 | h1 { 29 | font-size: (@font-size-base * 4.5); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/layout.less: -------------------------------------------------------------------------------- 1 | body.boxed-style { 2 | .boxed-container { 3 | margin-top: @navbar-margin-top; 4 | padding-left: 0; 5 | padding-right: 0; 6 | } 7 | } 8 | 9 | .wrap.main-section.fluid { 10 | padding-left: (@grid-gutter-width / 2); 11 | padding-right: (@grid-gutter-width / 2); 12 | } -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/social.less: -------------------------------------------------------------------------------- 1 | //Styling social inline links in navbar 2 | #navbar_social_bar a:hover, #footer_social_bar a:active { 3 | text-decoration: none; 4 | } 5 | 6 | .btn-group.social-share { 7 | .social-link { 8 | display: none; 9 | } 10 | &:hover { 11 | .social-share-main { 12 | border-bottom-right-radius: 0px !important; 13 | border-top-right-radius: 0px !important; 14 | } 15 | a { 16 | display: block; 17 | width: auto; 18 | } 19 | a:hover { 20 | // ?? 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/alerts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // ------------------------- 8 | 9 | .alert { 10 | padding: @alert-padding; 11 | margin-bottom: @line-height-computed; 12 | border: 1px solid transparent; 13 | border-radius: @alert-border-radius; 14 | 15 | // Headings for larger alerts 16 | h4 { 17 | margin-top: 0; 18 | // Specified for the h4 to prevent conflicts of changing @headings-color 19 | color: inherit; 20 | } 21 | // Provide class for links that match alerts 22 | .alert-link { 23 | font-weight: @alert-link-font-weight; 24 | } 25 | 26 | // Improve alignment and spacing of inner content 27 | > p, 28 | > ul { 29 | margin-bottom: 0; 30 | } 31 | > p + p { 32 | margin-top: 5px; 33 | } 34 | } 35 | 36 | // Dismissible alerts 37 | // 38 | // Expand the right padding and account for the close button's positioning. 39 | 40 | .alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. 41 | .alert-dismissible { 42 | padding-right: (@alert-padding + 20); 43 | 44 | // Adjust close link position 45 | .close { 46 | position: relative; 47 | top: -2px; 48 | right: -21px; 49 | color: inherit; 50 | } 51 | } 52 | 53 | // Alternate styles 54 | // 55 | // Generate contextual modifier classes for colorizing the alert. 56 | 57 | .alert-success { 58 | .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); 59 | } 60 | .alert-info { 61 | .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); 62 | } 63 | .alert-warning { 64 | .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); 65 | } 66 | .alert-danger { 67 | .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); 68 | } 69 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/badges.less: -------------------------------------------------------------------------------- 1 | // 2 | // Badges 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .badge { 8 | display: inline-block; 9 | min-width: 10px; 10 | padding: 3px 7px; 11 | font-size: @font-size-small; 12 | font-weight: @badge-font-weight; 13 | color: @badge-color; 14 | line-height: @badge-line-height; 15 | vertical-align: baseline; 16 | white-space: nowrap; 17 | text-align: center; 18 | background-color: @badge-bg; 19 | border-radius: @badge-border-radius; 20 | 21 | // Empty badges collapse automatically (not available in IE8) 22 | &:empty { 23 | display: none; 24 | } 25 | 26 | // Quick fix for badges in buttons 27 | .btn & { 28 | position: relative; 29 | top: -1px; 30 | } 31 | .btn-xs & { 32 | top: 0; 33 | padding: 1px 5px; 34 | } 35 | 36 | // Hover state, but only for links 37 | a& { 38 | &:hover, 39 | &:focus { 40 | color: @badge-link-hover-color; 41 | text-decoration: none; 42 | cursor: pointer; 43 | } 44 | } 45 | 46 | // Account for badges in navs 47 | a.list-group-item.active > &, 48 | .nav-pills > .active > a > & { 49 | color: @badge-active-color; 50 | background-color: @badge-active-bg; 51 | } 52 | .nav-pills > li > a > & { 53 | margin-left: 3px; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/bootstrap.less: -------------------------------------------------------------------------------- 1 | // Core variables and mixins 2 | @import "variables.less"; 3 | @import "mixins.less"; 4 | 5 | // Reset and dependencies 6 | @import "normalize.less"; 7 | @import "print.less"; 8 | @import "glyphicons.less"; 9 | 10 | // Core CSS 11 | @import "scaffolding.less"; 12 | @import "type.less"; 13 | @import "code.less"; 14 | @import "grid.less"; 15 | @import "tables.less"; 16 | @import "forms.less"; 17 | @import "buttons.less"; 18 | 19 | // Components 20 | @import "component-animations.less"; 21 | @import "dropdowns.less"; 22 | @import "button-groups.less"; 23 | @import "input-groups.less"; 24 | @import "navs.less"; 25 | @import "navbar.less"; 26 | @import "breadcrumbs.less"; 27 | @import "pagination.less"; 28 | @import "pager.less"; 29 | @import "labels.less"; 30 | @import "badges.less"; 31 | @import "jumbotron.less"; 32 | @import "thumbnails.less"; 33 | @import "alerts.less"; 34 | @import "progress-bars.less"; 35 | @import "media.less"; 36 | @import "list-group.less"; 37 | @import "panels.less"; 38 | @import "responsive-embed.less"; 39 | @import "wells.less"; 40 | @import "close.less"; 41 | 42 | // Components w/ JavaScript 43 | @import "modals.less"; 44 | @import "tooltip.less"; 45 | @import "popovers.less"; 46 | @import "carousel.less"; 47 | 48 | // Utility classes 49 | @import "utilities.less"; 50 | @import "responsive-utilities.less"; 51 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/buttons.less: -------------------------------------------------------------------------------- 1 | // 2 | // Buttons 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // -------------------------------------------------- 8 | 9 | .btn { 10 | display: inline-block; 11 | margin-bottom: 0; // For input.btn 12 | font-weight: @btn-font-weight; 13 | text-align: center; 14 | vertical-align: middle; 15 | cursor: pointer; 16 | background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 17 | border: 1px solid transparent; 18 | white-space: nowrap; 19 | .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); 20 | .user-select(none); 21 | 22 | &, 23 | &:active, 24 | &.active { 25 | &:focus { 26 | .tab-focus(); 27 | } 28 | } 29 | 30 | &:hover, 31 | &:focus { 32 | color: @btn-default-color; 33 | text-decoration: none; 34 | } 35 | 36 | &:active, 37 | &.active { 38 | outline: 0; 39 | background-image: none; 40 | .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); 41 | } 42 | 43 | &.disabled, 44 | &[disabled], 45 | fieldset[disabled] & { 46 | cursor: not-allowed; 47 | pointer-events: none; // Future-proof disabling of clicks 48 | .opacity(.65); 49 | .box-shadow(none); 50 | } 51 | } 52 | 53 | 54 | // Alternate buttons 55 | // -------------------------------------------------- 56 | 57 | .btn-default { 58 | .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); 59 | } 60 | .btn-primary { 61 | .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); 62 | } 63 | // Success appears as green 64 | .btn-success { 65 | .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); 66 | } 67 | // Info appears as blue-green 68 | .btn-info { 69 | .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); 70 | } 71 | // Warning appears as orange 72 | .btn-warning { 73 | .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); 74 | } 75 | // Danger and error appear as red 76 | .btn-danger { 77 | .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); 78 | } 79 | 80 | 81 | // Link buttons 82 | // ------------------------- 83 | 84 | // Make a button look and behave like a link 85 | .btn-link { 86 | color: @link-color; 87 | font-weight: normal; 88 | cursor: pointer; 89 | border-radius: 0; 90 | 91 | &, 92 | &:active, 93 | &[disabled], 94 | fieldset[disabled] & { 95 | background-color: transparent; 96 | .box-shadow(none); 97 | } 98 | &, 99 | &:hover, 100 | &:focus, 101 | &:active { 102 | border-color: transparent; 103 | } 104 | &:hover, 105 | &:focus { 106 | color: @link-hover-color; 107 | text-decoration: underline; 108 | background-color: transparent; 109 | } 110 | &[disabled], 111 | fieldset[disabled] & { 112 | &:hover, 113 | &:focus { 114 | color: @btn-link-disabled-color; 115 | text-decoration: none; 116 | } 117 | } 118 | } 119 | 120 | 121 | // Button Sizes 122 | // -------------------------------------------------- 123 | 124 | .btn-lg { 125 | // line-height: ensure even-numbered height of button next to large input 126 | .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); 127 | } 128 | .btn-sm { 129 | // line-height: ensure proper height of button next to small input 130 | .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); 131 | } 132 | .btn-xs { 133 | .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small); 134 | } 135 | 136 | 137 | // Block button 138 | // -------------------------------------------------- 139 | 140 | .btn-block { 141 | display: block; 142 | width: 100%; 143 | } 144 | 145 | // Vertically space out multiple block buttons 146 | .btn-block + .btn-block { 147 | margin-top: 5px; 148 | } 149 | 150 | // Specificity overrides 151 | input[type="submit"], 152 | input[type="reset"], 153 | input[type="button"] { 154 | &.btn-block { 155 | width: 100%; 156 | } 157 | } 158 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | button& { 27 | padding: 0; 28 | cursor: pointer; 29 | background: transparent; 30 | border: 0; 31 | -webkit-appearance: none; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/code.less: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and block) 3 | // -------------------------------------------------- 4 | 5 | 6 | // Inline and block code styles 7 | code, 8 | kbd, 9 | pre, 10 | samp { 11 | font-family: @font-family-monospace; 12 | } 13 | 14 | // Inline code 15 | code { 16 | padding: 2px 4px; 17 | font-size: 90%; 18 | color: @code-color; 19 | background-color: @code-bg; 20 | border-radius: @border-radius-base; 21 | } 22 | 23 | // User input typically entered via keyboard 24 | kbd { 25 | padding: 2px 4px; 26 | font-size: 90%; 27 | color: @kbd-color; 28 | background-color: @kbd-bg; 29 | border-radius: @border-radius-small; 30 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); 31 | 32 | kbd { 33 | padding: 0; 34 | font-size: 100%; 35 | box-shadow: none; 36 | } 37 | } 38 | 39 | // Blocks of code 40 | pre { 41 | display: block; 42 | padding: ((@line-height-computed - 1) / 2); 43 | margin: 0 0 (@line-height-computed / 2); 44 | font-size: (@font-size-base - 1); // 14px to 13px 45 | line-height: @line-height-base; 46 | word-break: break-all; 47 | word-wrap: break-word; 48 | color: @pre-color; 49 | background-color: @pre-bg; 50 | border: 1px solid @pre-border-color; 51 | border-radius: @border-radius-base; 52 | 53 | // Account for some code outputs that place code tags in pre tags 54 | code { 55 | padding: 0; 56 | font-size: inherit; 57 | color: inherit; 58 | white-space: pre-wrap; 59 | background-color: transparent; 60 | border-radius: 0; 61 | } 62 | } 63 | 64 | // Enable scrollable blocks of code 65 | .pre-scrollable { 66 | max-height: @pre-scrollable-max-height; 67 | overflow-y: scroll; 68 | } 69 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition(height .35s ease); 31 | } 32 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/grid.less: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | 6 | // Container widths 7 | // 8 | // Set the container width, and override it for fixed navbars in media queries. 9 | 10 | .container { 11 | .container-fixed(); 12 | 13 | @media (min-width: @screen-sm-min) { 14 | width: @container-sm; 15 | } 16 | @media (min-width: @screen-md-min) { 17 | width: @container-md; 18 | } 19 | @media (min-width: @screen-lg-min) { 20 | width: @container-lg; 21 | } 22 | } 23 | 24 | 25 | // Fluid container 26 | // 27 | // Utilizes the mixin meant for fixed width containers, but without any defined 28 | // width for fluid, full width layouts. 29 | 30 | .container-fluid { 31 | .container-fixed(); 32 | } 33 | 34 | 35 | // Row 36 | // 37 | // Rows contain and clear the floats of your columns. 38 | 39 | .row { 40 | .make-row(); 41 | } 42 | 43 | 44 | // Columns 45 | // 46 | // Common styles for small and large grid columns 47 | 48 | .make-grid-columns(); 49 | 50 | 51 | // Extra small grid 52 | // 53 | // Columns, offsets, pushes, and pulls for extra small devices like 54 | // smartphones. 55 | 56 | .make-grid(xs); 57 | 58 | 59 | // Small grid 60 | // 61 | // Columns, offsets, pushes, and pulls for the small device range, from phones 62 | // to tablets. 63 | 64 | @media (min-width: @screen-sm-min) { 65 | .make-grid(sm); 66 | } 67 | 68 | 69 | // Medium grid 70 | // 71 | // Columns, offsets, pushes, and pulls for the desktop device range. 72 | 73 | @media (min-width: @screen-md-min) { 74 | .make-grid(md); 75 | } 76 | 77 | 78 | // Large grid 79 | // 80 | // Columns, offsets, pushes, and pulls for the large desktop device range. 81 | 82 | @media (min-width: @screen-lg-min) { 83 | .make-grid(lg); 84 | } 85 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/jumbotron.less: -------------------------------------------------------------------------------- 1 | // 2 | // Jumbotron 3 | // -------------------------------------------------- 4 | 5 | 6 | .jumbotron { 7 | padding: @jumbotron-padding; 8 | margin-bottom: @jumbotron-padding; 9 | color: @jumbotron-color; 10 | background-color: @jumbotron-bg; 11 | 12 | h1, 13 | .h1 { 14 | color: @jumbotron-heading-color; 15 | } 16 | p { 17 | margin-bottom: (@jumbotron-padding / 2); 18 | font-size: @jumbotron-font-size; 19 | font-weight: 200; 20 | } 21 | 22 | > hr { 23 | border-top-color: darken(@jumbotron-bg, 10%); 24 | } 25 | 26 | .container & { 27 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container 28 | } 29 | 30 | .container { 31 | max-width: 100%; 32 | } 33 | 34 | @media screen and (min-width: @screen-sm-min) { 35 | padding-top: (@jumbotron-padding * 1.6); 36 | padding-bottom: (@jumbotron-padding * 1.6); 37 | 38 | .container & { 39 | padding-left: (@jumbotron-padding * 2); 40 | padding-right: (@jumbotron-padding * 2); 41 | } 42 | 43 | h1, 44 | .h1 { 45 | font-size: (@font-size-base * 4.5); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/labels.less: -------------------------------------------------------------------------------- 1 | // 2 | // Labels 3 | // -------------------------------------------------- 4 | 5 | .label { 6 | display: inline; 7 | padding: .2em .6em .3em; 8 | font-size: 75%; 9 | font-weight: bold; 10 | line-height: 1; 11 | color: @label-color; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | border-radius: .25em; 16 | 17 | // Add hover effects, but only for links 18 | a& { 19 | &:hover, 20 | &:focus { 21 | color: @label-link-hover-color; 22 | text-decoration: none; 23 | cursor: pointer; 24 | } 25 | } 26 | 27 | // Empty labels collapse automatically (not available in IE8) 28 | &:empty { 29 | display: none; 30 | } 31 | 32 | // Quick fix for labels in buttons 33 | .btn & { 34 | position: relative; 35 | top: -1px; 36 | } 37 | } 38 | 39 | // Colors 40 | // Contextual variations (linked labels get darker on :hover) 41 | 42 | .label-default { 43 | .label-variant(@label-default-bg); 44 | } 45 | 46 | .label-primary { 47 | .label-variant(@label-primary-bg); 48 | } 49 | 50 | .label-success { 51 | .label-variant(@label-success-bg); 52 | } 53 | 54 | .label-info { 55 | .label-variant(@label-info-bg); 56 | } 57 | 58 | .label-warning { 59 | .label-variant(@label-warning-bg); 60 | } 61 | 62 | .label-danger { 63 | .label-variant(@label-danger-bg); 64 | } 65 | -------------------------------------------------------------------------------- /framework/bootstrap/assets/less/vendor/bootstrap/list-group.less: -------------------------------------------------------------------------------- 1 | // 2 | // List groups 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | // 8 | // Easily usable on