├── BBS ├── .classpath ├── .project ├── .settings │ ├── .jsdtscope │ ├── org.eclipse.jdt.core.prefs │ ├── org.eclipse.wst.common.component │ ├── org.eclipse.wst.common.project.facet.core.xml │ ├── org.eclipse.wst.jsdt.ui.superType.container │ └── org.eclipse.wst.jsdt.ui.superType.name ├── SQL │ └── bbs.sql └── WebContent │ ├── Delete.jsp │ ├── Login.jsp │ ├── META-INF │ └── MANIFEST.MF │ ├── Post.jsp │ ├── Reply.jsp │ ├── ReplyOK.jsp │ ├── ShowArticleDetail.jsp │ ├── ShowArticleFlat.jsp │ ├── ShowArticleFlat2.jsp │ ├── ShowArticleTree.jsp │ ├── ShowArticleTree2.jsp │ ├── WEB-INF │ └── lib │ │ └── mysql-connector-java-5.1.43-bin.jar │ ├── assets │ ├── css │ │ ├── demo.css │ │ ├── demo.css.map │ │ ├── docs.css │ │ ├── docs.css.map │ │ └── src │ │ │ ├── demo.less │ │ │ ├── docs.less │ │ │ └── prettyprint.less │ └── js │ │ ├── application.js │ │ └── prettify.js │ ├── dist │ ├── css │ │ ├── flat-ui.css │ │ ├── flat-ui.css.map │ │ ├── flat-ui.min.css │ │ └── vendor │ │ │ └── bootstrap │ │ │ ├── css │ │ │ └── bootstrap.min.css │ │ │ └── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── flat-ui.js │ │ ├── flat-ui.min.js │ │ └── vendor │ │ ├── html5shiv.js │ │ ├── jquery.min.js │ │ ├── jquery.min.map │ │ ├── respond.min.js │ │ ├── video-js.swf │ │ └── video.js │ └── pictures │ └── login.jpg └── README.md /BBS/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /BBS/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | BBS 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.wst.common.project.facet.core.builder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.validation.validationbuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.jem.workbench.JavaEMFNature 26 | org.eclipse.wst.common.modulecore.ModuleCoreNature 27 | org.eclipse.wst.common.project.facet.core.nature 28 | org.eclipse.jdt.core.javanature 29 | org.eclipse.wst.jsdt.core.jsNature 30 | 31 | 32 | -------------------------------------------------------------------------------- /BBS/.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /BBS/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.compliance=1.8 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=1.8 8 | -------------------------------------------------------------------------------- /BBS/.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BBS/.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BBS/.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /BBS/.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /BBS/SQL/bbs.sql: -------------------------------------------------------------------------------- 1 | create database bbs; 2 | 3 | use bbs; 4 | 5 | create table article 6 | ( 7 | id int primary key auto_increment, 8 | pid int, 9 | rootid int, 10 | title varchar(255), 11 | cont text, 12 | pdate datetime, 13 | isleaf int 14 | ); 15 | 16 | insert into article values (null, 0, 1, '蚂蚁大战大象', '蚂蚁大战大象', now(), 1); 17 | insert into article values (null, 1, 1, '大象被打趴下了', '大象被打趴下了',now(), 1); 18 | insert into article values (null, 2, 1, '蚂蚁也不好过','蚂蚁也不好过', now(), 0); 19 | insert into article values (null, 2, 1, '瞎说', '瞎说', now(), 1); 20 | insert into article values (null, 4, 1, '没有瞎说', '没有瞎说', now(), 0); 21 | insert into article values (null, 1, 1, '怎么可能', '怎么可能', now(), 1); 22 | insert into article values (null, 6, 1, '怎么没有可能', '怎么没有可能', now(), 0); 23 | insert into article values (null, 6, 1, '可能性是很大的', '可能性是很大的', now(), 0); 24 | insert into article values (null, 2, 1, '大象进医院了', '大象进医院了', now(), 1); 25 | insert into article values (null, 9, 1, '护士是蚂蚁', '护士是蚂蚁', now(), 0); -------------------------------------------------------------------------------- /BBS/WebContent/Delete.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/Delete.jsp -------------------------------------------------------------------------------- /BBS/WebContent/Login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/Login.jsp -------------------------------------------------------------------------------- /BBS/WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /BBS/WebContent/Post.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/Post.jsp -------------------------------------------------------------------------------- /BBS/WebContent/Reply.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/Reply.jsp -------------------------------------------------------------------------------- /BBS/WebContent/ReplyOK.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/ReplyOK.jsp -------------------------------------------------------------------------------- /BBS/WebContent/ShowArticleDetail.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/ShowArticleDetail.jsp -------------------------------------------------------------------------------- /BBS/WebContent/ShowArticleFlat.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/ShowArticleFlat.jsp -------------------------------------------------------------------------------- /BBS/WebContent/ShowArticleFlat2.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/ShowArticleFlat2.jsp -------------------------------------------------------------------------------- /BBS/WebContent/ShowArticleTree.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/ShowArticleTree.jsp -------------------------------------------------------------------------------- /BBS/WebContent/ShowArticleTree2.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ page import="java.sql.*"%> 4 | 5 | <% 6 | Class.forName("com.mysql.jdbc.Driver"); 7 | String url = "jdbc:mysql://localhost/bbs?user=root&password=11235"; 8 | Connection conn = DriverManager.getConnection(url); 9 | Statement stmt = conn.createStatement(); 10 | ResultSet rs = stmt.executeQuery("select * from article where pid = 0 limit (1,pageSize)"); 11 | 12 | int pageSize = 5; 13 | %> 14 | 15 | 16 | 17 | 18 | Insert title here 19 | 20 | 21 | 22 | <% 23 | while(rs.next()) 24 | { 25 | out.println(rs.getInt("id")); 26 | out.println(rs.getString("cont")); 27 | } 28 | %> 29 | 30 | <% 31 | rs.close(); 32 | stmt.close(); 33 | conn.close(); 34 | %> 35 | -------------------------------------------------------------------------------- /BBS/WebContent/WEB-INF/lib/mysql-connector-java-5.1.43-bin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/WEB-INF/lib/mysql-connector-java-5.1.43-bin.jar -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/demo.css: -------------------------------------------------------------------------------- 1 | /* Prettyfy Theme */ 2 | .prettyprint { 3 | background-color: #F7F7F9; 4 | font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; 5 | border: 2px solid #E1E1E8; 6 | padding: 15px 21px; 7 | } 8 | .pln { 9 | color: #333333; 10 | } 11 | @media screen { 12 | .str { 13 | color: #dd1144; 14 | } 15 | .kwd { 16 | color: #333333; 17 | } 18 | .com { 19 | color: #999988; 20 | } 21 | .typ { 22 | color: #445588; 23 | } 24 | .lit { 25 | color: #445588; 26 | } 27 | .pun { 28 | color: #333333; 29 | } 30 | .opn { 31 | color: #333333; 32 | } 33 | .clo { 34 | color: #333333; 35 | } 36 | .tag { 37 | color: navy; 38 | } 39 | .atn { 40 | color: teal; 41 | } 42 | .atv { 43 | color: #dd1144; 44 | } 45 | .dec { 46 | color: #333333; 47 | } 48 | .var { 49 | color: teal; 50 | } 51 | .fun { 52 | color: #990000; 53 | } 54 | } 55 | @media print, projection { 56 | .str { 57 | color: #006600; 58 | } 59 | .kwd { 60 | color: #006; 61 | font-weight: bold; 62 | } 63 | .com { 64 | color: #600; 65 | font-style: italic; 66 | } 67 | .typ { 68 | color: #404; 69 | font-weight: bold; 70 | } 71 | .lit { 72 | color: #004444; 73 | } 74 | .pun, 75 | .opn, 76 | .clo { 77 | color: #444400; 78 | } 79 | .tag { 80 | color: #006; 81 | font-weight: bold; 82 | } 83 | .atn { 84 | color: #440044; 85 | } 86 | .atv { 87 | color: #006600; 88 | } 89 | } 90 | /* Specify class=linenums on a pre to get line numbering */ 91 | ol.linenums { 92 | margin-top: 0; 93 | margin-bottom: 0; 94 | } 95 | .container { 96 | width: 970px !important; 97 | } 98 | .demo-headline { 99 | padding: 73px 0 110px; 100 | text-align: center; 101 | } 102 | .demo-logo { 103 | font: 900 90px/100px "Helvetica Neue", Helvetica, Arial, sans-serif; 104 | letter-spacing: -2px; 105 | margin: 10px 0; 106 | } 107 | .demo-logo .logo { 108 | background: url(../img/demo/logo-mask.png) center 0 no-repeat; 109 | background-size: 236px 181px; 110 | height: 181px; 111 | margin: 0 auto 26px; 112 | overflow: hidden; 113 | text-indent: -9999em; 114 | width: 236px; 115 | } 116 | .demo-logo small { 117 | color: rgba(52, 73, 94, 0.3); 118 | display: block; 119 | font-size: 22px; 120 | font-weight: 700; 121 | letter-spacing: 0; 122 | padding-top: 5px; 123 | } 124 | .demo-row { 125 | margin-bottom: 20px; 126 | } 127 | .demo-row .demo-heading-note, 128 | .demo-row .demo-text-note { 129 | display: block; 130 | width: 260px; 131 | position: absolute; 132 | bottom: 10px; 133 | left: 0; 134 | font-size: 13px; 135 | line-height: 13px; 136 | color: #c0c1c2; 137 | font-weight: 400; 138 | } 139 | .demo-row .demo-text-note { 140 | bottom: auto; 141 | top: 10px; 142 | } 143 | .demo-row.typography-row .demo-content { 144 | float: none; 145 | width: auto; 146 | clear: both; 147 | } 148 | .demo-row.typography-row .demo-type-example { 149 | padding-left: 25%; 150 | margin-bottom: 40px; 151 | position: relative; 152 | } 153 | .demo-section-title { 154 | font: 900 32px/40px "Helvetica Neue", Helvetica, Arial, sans-serif; 155 | margin: 10px 0; 156 | } 157 | .demo-panel-title { 158 | padding-top: 20px; 159 | margin: 2px 0 20px; 160 | font: bold 23px/40px "Helvetica Neue", Helvetica, Arial, sans-serif; 161 | } 162 | .demo-panel-title small { 163 | color: #798795; 164 | font-size: inherit; 165 | font-weight: 400; 166 | } 167 | .demo-navigation { 168 | margin-bottom: -4px; 169 | margin-top: -10px; 170 | } 171 | .demo-pager { 172 | margin-top: -20px; 173 | } 174 | .demo-tooltips { 175 | height: 126px; 176 | } 177 | .demo-tooltips .tooltip { 178 | left: -8px !important; 179 | position: relative !important; 180 | top: -8px !important; 181 | } 182 | .demo-headings { 183 | margin-bottom: 12px; 184 | } 185 | .demo-tiles { 186 | margin-bottom: 46px; 187 | } 188 | .demo-icons { 189 | font-size: 32px; 190 | margin-left: -20px; 191 | padding-left: 20px; 192 | } 193 | .demo-icons .demo-content { 194 | margin: 0 0 0 -35px; 195 | } 196 | .demo-icons .demo-content > span { 197 | display: inline-block; 198 | margin: 0 0 32px 35px; 199 | width: 24px; 200 | font-size: 24px; 201 | } 202 | .demo-icons-tooltip { 203 | bottom: 0; 204 | color: #c2c8cf; 205 | font-size: 12px; 206 | left: 100%; 207 | margin-left: 0 !important; 208 | position: absolute; 209 | width: 80px; 210 | } 211 | .demo-illustrations .demo-content { 212 | margin: 0 0 0 -40px; 213 | padding-top: 20px; 214 | } 215 | .demo-illustrations .demo-content:before, 216 | .demo-illustrations .demo-content:after { 217 | content: " "; 218 | display: table; 219 | } 220 | .demo-illustrations .demo-content:after { 221 | clear: both; 222 | } 223 | .demo-illustrations .demo-content > div { 224 | float: left; 225 | width: 100px; 226 | height: 100px; 227 | line-height: 100px; 228 | margin: 0 0 40px 40px; 229 | text-align: center; 230 | } 231 | .demo-illustrations img { 232 | display: inline-block; 233 | max-height: 100px; 234 | max-width: 100px; 235 | vertical-align: middle; 236 | } 237 | .demo-samples { 238 | margin-bottom: 46px; 239 | } 240 | .demo-download-section { 241 | float: none; 242 | margin: 0 auto; 243 | padding: 60px 0 90px 20px; 244 | text-align: center; 245 | } 246 | .demo-download-section [class*='fui-'] { 247 | margin: 3px 0 -3px; 248 | } 249 | .demo-download { 250 | background-color: #ebedef; 251 | height: 190px; 252 | margin: 0 auto 32px; 253 | padding: 40px 28px 30px 32px; 254 | text-align: center; 255 | width: 190px; 256 | border-radius: 50%; 257 | } 258 | .demo-download img { 259 | height: 104px; 260 | width: 82px; 261 | } 262 | .demo-download-text { 263 | font-size: 15px; 264 | padding: 20px 0; 265 | text-align: center; 266 | } 267 | .demo-text-box a:hover { 268 | color: #1abc9c; 269 | } 270 | .demo-browser { 271 | background: #2c3e50 url(../img/demo/browser.png) 0 0 no-repeat; 272 | background-size: 659px 42px; 273 | color: #ffffff; 274 | margin: 0 41px 140px 0; 275 | padding-top: 42px; 276 | border-radius: 0 0 6px 6px; 277 | } 278 | .demo-browser-side { 279 | float: left; 280 | padding: 22px 20px; 281 | width: 151px; 282 | } 283 | .demo-browser-side > h5 { 284 | font-size: 16px; 285 | margin-top: 4px; 286 | margin-bottom: 3px; 287 | text-transform: none; 288 | font-weight: 400; 289 | } 290 | .demo-browser-side > h6 { 291 | font-size: 11px; 292 | font-weight: 300; 293 | line-height: 18px; 294 | margin-top: 3px; 295 | text-transform: none; 296 | -webkit-font-smoothing: subpixel-antialiased; 297 | } 298 | .demo-browser-author { 299 | background: url(../img/demo/browser-author.jpg) center no-repeat; 300 | border: 3px solid #ffffff; 301 | display: block; 302 | height: 84px; 303 | margin: 0 auto; 304 | width: 84px; 305 | border-radius: 50%; 306 | } 307 | .demo-browser-action { 308 | padding: 30px 0 12px; 309 | } 310 | .demo-browser-action > .btn { 311 | padding: 7px 0 8px 11px !important; 312 | text-align: left; 313 | border-radius: 3px; 314 | } 315 | .demo-browser-action > .btn > [class^="fui-"] { 316 | margin-right: 12px; 317 | position: relative; 318 | top: 1px; 319 | } 320 | .demo-browser-content { 321 | background-color: #34495e; 322 | overflow: hidden; 323 | padding: 21px 0 0 20px; 324 | border-radius: 0 0 6px; 325 | } 326 | .demo-browser-content > img { 327 | border: 6px solid #ffffff; 328 | float: left; 329 | margin: 0 15px 20px 0; 330 | width: 146px; 331 | } 332 | @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 2) { 333 | .logo { 334 | background-image: url(../img/demo/logo-mask-2x.png); 335 | } 336 | .demo-browser { 337 | background-image: url(../img/demo/browser-2x.png); 338 | } 339 | } 340 | .demo-swatches-row [class*="col"] { 341 | float: left; 342 | min-height: 1px; 343 | } 344 | .demo-swatches-row .swatches-col { 345 | width: 800px; 346 | margin-left: -5px; 347 | } 348 | .demo-swatches-row .swatches-desc-col { 349 | width: 140px; 350 | margin-left: 20px; 351 | } -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/demo.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["docs/assets/css/src/prettyprint.less","docs/assets/css/src/demo.less","less/variables.less","less/mixins/clearfix.less"],"names":[],"mappings":"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","sourcesContent":["/* Prettyfy Theme */\n.prettyprint {\n background-color: #F7F7F9;\n font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace;\n border: 2px solid #E1E1E8;\n padding: 15px 21px;\n}\n\n.pln {\n color: #333333;\n}\n\n@media screen {\n .str {\n color: #dd1144;\n }\n\n .kwd {\n color: #333333;\n }\n\n .com {\n color: #999988;\n }\n\n .typ {\n color: #445588;\n }\n\n .lit {\n color: #445588;\n }\n\n .pun {\n color: #333333;\n }\n\n .opn {\n color: #333333;\n }\n\n .clo {\n color: #333333;\n }\n\n .tag {\n color: navy;\n }\n\n .atn {\n color: teal;\n }\n\n .atv {\n color: #dd1144;\n }\n\n .dec {\n color: #333333;\n }\n\n .var {\n color: teal;\n }\n\n .fun {\n color: #990000;\n }\n}\n@media print, projection {\n .str {\n color: #006600;\n }\n\n .kwd {\n color: #006;\n font-weight: bold;\n }\n\n .com {\n color: #600;\n font-style: italic;\n }\n\n .typ {\n color: #404;\n font-weight: bold;\n }\n\n .lit {\n color: #004444;\n }\n\n .pun, .opn, .clo {\n color: #444400;\n }\n\n .tag {\n color: #006;\n font-weight: bold;\n }\n\n .atn {\n color: #440044;\n }\n\n .atv {\n color: #006600;\n }\n}\n/* Specify class=linenums on a pre to get line numbering */\nol.linenums {\n margin-top: 0;\n margin-bottom: 0;\n}\n","//\n// Flat UI's demo styles\n// --------------------------------------------------\n\n// Variables and utilityes\n@import \"../../../../less/variables\";\n@import \"../../../../less/mixins\";\n@import \"prettyprint\";\n\n.container {\n width: 970px !important;\n}\n\n// For demo purposes only\n.demo-headline {\n padding: 73px 0 110px;\n text-align: center;\n}\n.demo-logo {\n font: 900 90px/100px @font-family-demo;\n letter-spacing: -2px;\n margin: 10px 0;\n\n .logo {\n background: url(../img/demo/logo-mask.png) center 0 no-repeat;\n background-size: 236px 181px;\n height: 181px;\n margin: 0 auto 26px;\n overflow: hidden;\n text-indent: -9999em;\n width: 236px;\n }\n small {\n color: fadeout(@brand-primary, 70%);\n display: block;\n font-size: 22px;\n font-weight: 700;\n letter-spacing: 0;\n padding-top: 5px;\n }\n}\n// Panels delimiter\n.demo-row {\n margin-bottom: 20px;\n\n .demo-heading-note,\n .demo-text-note {\n display: block;\n width: 260px;\n position: absolute;\n bottom: 10px;\n left: 0;\n font-size: 13px;\n line-height: 13px;\n color: mix(desaturate(@brand-primary, 25%), white, 34%);\n font-weight: 400;\n }\n .demo-text-note {\n bottom: auto;\n top: 10px;\n }\n\n &.typography-row {\n .demo-content {\n float: none;\n width: auto;\n clear: both;\n }\n .demo-type-example {\n padding-left: 25%;\n margin-bottom: 40px;\n position: relative;\n }\n }\n}\n.demo-section-title {\n font: 900 32px/40px @font-family-demo;\n margin: 10px 0;\n}\n.demo-panel-title {\n padding-top: 20px;\n margin: 2px 0 20px;\n font: bold 23px/40px @font-family-demo;\n\n small {\n color: mix(@brand-primary, @inverse, 66%);\n font-size: inherit;\n font-weight: 400;\n }\n}\n// Shift blocks to fit design\n.demo-navigation {\n margin-bottom: -4px;\n margin-top: -10px;\n}\n.demo-pager {\n margin-top: -20px;\n}\n.demo-tooltips {\n height: 126px;\n\n // Needed just for the demo. Don't use it in producion ;)\n .tooltip {\n left: -8px !important;\n position: relative !important;\n top: -8px !important;\n }\n}\n.demo-headings {\n margin-bottom: 12px;\n}\n.demo-tiles {\n margin-bottom: 46px\n}\n\n.demo-icons {\n font-size: 32px;\n margin-left: -20px;\n padding-left: 20px;\n\n .demo-content {\n margin: 0 0 0 -35px;\n\n > span {\n display: inline-block;\n margin: 0 0 32px 35px;\n width: 24px;\n font-size: 24px;\n }\n }\n}\n\n.demo-icons-tooltip {\n bottom: 0;\n color: mix(@brand-primary, @inverse, 30%);\n font-size: 12px;\n left: 100%;\n margin-left: 0 !important;\n position: absolute;\n width: 80px;\n}\n\n// Illustration Icons\n// --------------------------------------------------\n.demo-illustrations {\n\n .demo-content {\n margin: 0 0 0 -40px;\n padding-top: 20px;\n .clearfix();\n\n > div {\n float: left;\n width: 100px;\n height: 100px;\n line-height: 100px;\n margin: 0 0 40px 40px;\n text-align: center;\n }\n }\n img {\n display: inline-block;\n max-height: 100px;\n max-width: 100px;\n vertical-align: middle;\n }\n}\n\n.demo-samples {\n margin-bottom: 46px;\n}\n.demo-download-section {\n float: none;\n margin: 0 auto;\n padding: 60px 0 90px 20px;\n text-align: center;\n\n [class*='fui-'] {\n margin: 3px 0 -3px;\n }\n}\n.demo-download {\n background-color: mix(@brand-primary, @inverse, 10%);\n height: 190px;\n margin: 0 auto 32px;\n padding: 40px 28px 30px 32px;\n text-align: center;\n width: 190px;\n border-radius: 50%;\n\n img {\n height: 104px;\n width: 82px;\n }\n}\n.demo-download-text {\n font-size: 15px;\n padding: 20px 0;\n text-align: center;\n}\n.demo-text-box {\n a:hover {\n color: @brand-secondary;\n }\n}\n.demo-browser {\n background: mix(@brand-primary, black, 85%) url(../img/demo/browser.png) 0 0 no-repeat;\n background-size: 659px 42px;\n color: @inverse;\n margin: 0 41px 140px 0;\n padding-top: 42px;\n border-radius: 0 0 @border-radius-large @border-radius-large;\n}\n.demo-browser-side {\n float: left;\n padding: 22px 20px;\n width: 151px;\n\n > h5 {\n font-size: 16px;\n margin-top: 4px;\n margin-bottom: 3px;\n text-transform: none;\n font-weight: 400;\n }\n > h6 {\n font-size: 11px;\n font-weight: 300;\n line-height: 18px;\n margin-top: 3px;\n text-transform: none;\n -webkit-font-smoothing: subpixel-antialiased;\n }\n}\n.demo-browser-author {\n background: url(../img/demo/browser-author.jpg) center no-repeat;\n border: 3px solid @inverse;\n display: block;\n height: 84px;\n margin: 0 auto;\n width: 84px;\n border-radius: 50%;\n}\n.demo-browser-action {\n padding: 30px 0 12px;\n\n > .btn {\n padding: 7px 0 8px 11px !important;\n text-align: left;\n border-radius: @border-radius-small;\n\n > [class^=\"fui-\"] {\n margin-right: 12px;\n position: relative;\n top: 1px;\n }\n }\n}\n.demo-browser-content {\n background-color: @brand-primary;\n overflow: hidden;\n padding: 21px 0 0 20px;\n border-radius: 0 0 @border-radius-large;\n\n > img {\n border: 6px solid @inverse;\n float: left;\n margin: 0 15px 20px 0;\n width: 146px;\n }\n}\n// Serving 2x images\n@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 2) {\n .logo {\n background-image: url(../img/demo/logo-mask-2x.png);\n }\n .demo-browser {\n background-image: url(../img/demo/browser-2x.png);\n }\n}\n\n// Shatches\n.demo-swatches-row {\n [class*=\"col\"] {\n float: left;\n min-height: 1px;\n }\n .swatches-col {\n width: 800px;\n margin-left: -5px;\n }\n .swatches-desc-col {\n width: 140px;\n margin-left: 20px;\n }\n}\n","//\n// Variables\n// --------------------------------------------------\n\n\n// == Colors\n//\n//##\n\n// Color swatches\n@turquoise: #1abc9c;\n@green-sea: #16a085;\n\n@emerald: #2ecc71;\n@nephritis: #27ae60;\n\n@peter-river: #3498db;\n@belize-hole: #2980b9;\n\n@amethyst: #9b59b6;\n@wisteria: #8e44ad;\n\n@wet-asphalt: #34495e;\n@midnight-blue: #2c3e50;\n\n@sun-flower: #f1c40f;\n@orange: #f39c12;\n\n@carrot: #e67e22;\n@pumpkin: #d35400;\n\n@alizarin: #e74c3c;\n@pomegranate: #c0392b;\n\n@clouds: #ecf0f1;\n@silver: #bdc3c7;\n\n@concrete: #95a5a6;\n@asbestos: #7f8c8d;\n\n// Grays\n@gray: @concrete;\n@gray-light: @silver;\n@inverse: white;\n\n// Brand colors\n@brand-primary: @wet-asphalt;\n@brand-secondary: @turquoise;\n@brand-success: @emerald;\n@brand-warning: @sun-flower;\n@brand-danger: @alizarin;\n@brand-info: @peter-river;\n\n// Social colors\n@social-pinterest: #cb2028;\n@social-linkedin: #0072b5;\n@social-stumbleupon: #ed4a13;\n@social-googleplus: #2d2d2d;\n@social-facebook: #2f4b93;\n@social-twitter: #00bdef;\n\n\n//== Scaffolding\n//\n//## Settings for some of the most global styles.\n\n@body-bg: #fff;\n@text-color: @brand-primary;\n\n//** Global textual link color.\n@link-color: @green-sea;\n@link-hover-color: @turquoise;\n//** Link hover decoration.\n@link-hover-decoration: none;\n\n\n//== Typography\n//\n//## Font, line-height for body text, headings, and more.\n\n@font-family-base: \"Lato\", Helvetica, Arial, sans-serif;\n@font-family-demo: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n@font-family-monospace: Monaco, Menlo, Consolas, \"Courier New\", monospace;\n@font-size-base: 18px;\n\n@local-font-path: \"../fonts/lato/\";\n@local-font-name: \"lato-regular\";\n@local-font-svg-id: \"latoregular\";\n@local-font-name-light: \"lato-light\";\n@local-font-svg-id-light: \"latolight\";\n@local-font-name-black: \"lato-black\";\n@local-font-svg-id-black: \"latoblack\";\n@local-font-name-bold: \"lato-bold\";\n@local-font-svg-id-bold: \"latobold\";\n@local-font-name-italic: \"lato-italic\";\n@local-font-svg-id-italic: \"latoitalic\";\n@local-font-name-bold-italic: \"lato-bolditalic\";\n@local-font-svg-id-bold-italic: \"latobold-italic\";\n\n@font-size-h1: floor((@font-size-base * 3.444)); // ~62px\n@font-size-h2: ceil((@font-size-base * 2.889)); // ~52px\n@font-size-h3: ceil((@font-size-base * 2.222)); // ~40px\n@font-size-h4: ceil((@font-size-base * 1.611)); // ~29px\n@font-size-h5: floor((@font-size-base * 1.556)); // ~28px\n@font-size-h6: ceil((@font-size-base * 1.333)); // ~24px\n\n@line-height-base: 1.72222; // 31/18\n@line-height-computed: floor((@font-size-base * @line-height-base)); // ~31px\n\n@headings-font-family: inherit;\n@headings-font-weight: 700;\n@headings-line-height: 1.1;\n@headings-color: inherit;\n\n\n//== Iconography\n//\n//## Specify custom locations of the include Glyphicons icon font.\n\n@icon-font-path: \"../fonts/glyphicons/\";\n@icon-font-name: \"flat-ui-icons-regular\";\n@icon-font-svg-id: \"flat-ui-icons-regular\";\n\n//** Icon sizes for use in components\n@icon-normal: 16px;\n@icon-medium: 18px;\n@icon-large: 32px;\n\n\n//== Components\n//\n//## Define common padding and border radius sizes and more.\n\n//** Default font-size in components\n@component-font-size-base: ceil((@font-size-base * 0.833)); // ~15px\n\n// Border-radius\n@border-radius-base: 4px;\n@border-radius-large: 6px;\n@border-radius-small: 3px;\n\n//** Width of the `border` for generating carets that indicator dropdowns.\n@caret-width-base: 6px;\n@caret-width-base-vertical: (@caret-width-base + 2);\n\n@caret-width-xs: 4px;\n@caret-width-xs-vertical: (@caret-width-xs + 2);\n\n//== Buttons\n//\n//## For each of Flat UI's buttons, define text, background, font size and height.\n\n@btn-font-size-base: @component-font-size-base;\n@btn-font-size-xs: ceil((@component-font-size-base * 0.8)); // ~12px\n@btn-font-size-sm: floor((@component-font-size-base * 0.867)); // ~13px\n@btn-font-size-lg: ceil((@component-font-size-base * 1.133)); // ~17px\n@btn-font-size-hg: floor((@component-font-size-base * 1.467)); // ~22px\n\n@btn-line-height-base: 1.4; // ~21px\n@btn-line-height-hg: 1.227; // ~27px\n@btn-line-height-lg: 1.471; // ~25px\n@btn-line-height-sm: 1.385; // ~16px\n@btn-line-height-xs: 1.083; // ~13px\n\n@btn-social-font-size-base: floor((@component-font-size-base * 0.867)); // ~13px\n@btn-social-line-height-base: 1.077; // ~14px\n\n@btn-font-weight: normal;\n\n@btn-default-color: @inverse;\n@btn-default-bg: @gray-light;\n@btn-hover-bg: mix(@gray-light, white, 80%);\n@btn-active-bg: mix(@gray-light, black, 85%);\n\n@btn-primary-hover-bg: mix(@brand-secondary, white, 80%);\n@btn-primary-active-bg: mix(@brand-secondary, black, 85%);\n\n@btn-info-hover-bg: mix(@brand-info, white, 80%);\n@btn-info-active-bg: mix(@brand-info, black, 85%);\n\n@btn-success-hover-bg: mix(@brand-success, white, 80%);\n@btn-success-active-bg: mix(@brand-success, black, 85%);\n\n@btn-danger-hover-bg: mix(@brand-danger, white, 80%);\n@btn-danger-active-bg: mix(@brand-danger, black, 85%);\n\n@btn-warning-hover-bg: overlay(@brand-warning, darken(white, 37.5%));\n@btn-warning-active-bg: mix(@brand-warning, black, 85%);\n\n@btn-inverse-hover-bg: overlay(@brand-primary, darken(white, 37.5%));\n@btn-inverse-active-bg: mix(@brand-primary, black, 85%);\n\n@btn-link-disabled-color: @gray-light;\n\n\n//== Forms\n//\n//##\n\n@input-font-size-base: @component-font-size-base;\n@input-font-size-sm: floor((@component-font-size-base * 0.867)); // ~13px\n@input-font-size-lg: ceil((@component-font-size-base * 1.133)); // ~17px\n@input-font-size-hg: floor((@component-font-size-base * 1.467)); // ~22px\n\n@input-line-height-base: 1.467; // ~22px\n@input-line-height-sm: 1.462; // ~19px\n@input-line-height-lg: 1.235; // ~21px\n@input-line-height-hg: 1.318; // ~29px\n\n@input-icon-font-size: ceil((@component-font-size-base * 1.067)); // ~16px\n@input-icon-font-size-lg: ceil((@component-font-size-base * 1.2)); // ~18px\n@input-icon-font-size-hg: ceil((@component-font-size-base * 1.333)); // ~20px\n\n@input-bg: @inverse;\n@input-bg-disabled: mix(@gray, white, 10%);\n\n@input-height-sm: 35px;\n@input-height-base: 41px;\n@input-height-lg: 45px;\n@input-height-hg: 53px;\n\n@input-border-radius: @border-radius-large;\n\n//** Disabled cursor for form controls and buttons.\n@cursor-disabled: not-allowed;\n\n@legend-color: inherit;\n\n\n\n\n\n\n//== Tags Input\n//\n//##\n\n@tagsinput-container-bg: @inverse;\n@tagsinput-container-border-color: mix(@inverse, @brand-primary, 90%);\n@tagsinput-container-border-radius: @border-radius-large;\n\n@tagsinput-input-color: @brand-primary;\n\n@tagsinput-tag-bg: mix(@inverse, @brand-primary, 90%);\n@tagsinput-tag-color: mix(@brand-primary, @inverse, 65%);\n@tagsinput-tag-hover-bg: mix(@brand-secondary, black, 85%);\n@tagsinput-tag-hover-color: @inverse;\n@tagsinput-tag-icon-color: @inverse;\n@tagsinput-tag-border-radius: @border-radius-base;\n\n@tagsinput-primary-container-border-color: @brand-secondary;\n@tagsinput-primary-tag-bg: @brand-secondary;\n@tagsinput-primary-tag-color: @inverse;\n@tagsinput-primary-tag-hover-bg: mix(@brand-secondary, black, 85%);\n@tagsinput-primary-tag-hover-color: @inverse;\n\n\n//== Selects\n//\n//## For each of Flat UI's selects, define text, background, font size and height.\n\n@select-font-size-base: @btn-font-size-base;\n@select-font-size-sm: @btn-font-size-sm;\n@select-font-size-lg: @btn-font-size-lg;\n@select-font-size-hg: @btn-font-size-hg;\n\n@select-line-height-base: @btn-line-height-base;\n@select-line-height-hg: @btn-line-height-hg;\n@select-line-height-lg: @btn-line-height-lg;\n@select-line-height-sm: @btn-line-height-sm;\n\n@select-font-weight: @btn-font-weight;\n\n@select-disabled-opacity: 0.7;\n\n@select-default-color: @btn-default-color;\n@select-default-bg: @btn-default-bg;\n@select-default-hover-bg: @btn-hover-bg;\n@select-default-active-bg: @btn-active-bg;\n\n@select-primary-hover-bg: @btn-primary-hover-bg;\n@select-primary-active-bg: @btn-primary-active-bg;\n\n@select-info-hover-bg: @btn-info-hover-bg;\n@select-info-active-bg: @btn-info-active-bg;\n\n@select-success-hover-bg: @btn-success-hover-bg;\n@select-success-active-bg: @btn-success-active-bg;\n\n@select-danger-hover-bg: @btn-danger-hover-bg;\n@select-danger-active-bg: @btn-danger-active-bg;\n\n@select-warning-hover-bg: @btn-warning-hover-bg;\n@select-warning-active-bg: @btn-warning-active-bg;\n\n@select-inverse-hover-bg: @btn-inverse-hover-bg;\n@select-inverse-active-bg: @btn-inverse-active-bg;\n\n@select-link-disabled-color: @btn-link-disabled-color;\n@select-arrow-color: @brand-primary;\n\n// Select dropdowns\n@select-dropdown-border-radius: @border-radius-base;\n\n@select-dropdown-item-color: fade(@brand-primary, 85%);\n@select-dropdown-item-hover-color: inherit;\n@select-dropdown-item-hover-bg: mix(@inverse, @brand-primary, 85%);\n\n@select-dropdown-disabled-item-color: fade(@brand-primary, 95%);\n@select-dropdown-disabled-item-opacity: 0.4;\n\n@select-dropdown-highlighted-item-bg: @brand-secondary;\n@select-dropdown-highlighted-item-color: @inverse;\n\n@select-dropdown-optgroup-color: fade(@brand-primary, 60%);\n\n// Multiselect\n@multiselect-container-bg: @tagsinput-container-bg;\n@multiselect-container-border-color: @tagsinput-container-border-color;\n@multiselect-container-border-radius: @tagsinput-container-border-radius;\n\n@multiselect-tag-border-radius: @tagsinput-tag-border-radius;\n@multiselect-tag-color: @inverse;\n@multiselect-tag-hover-color: @tagsinput-tag-hover-color;\n@multiselect-tag-icon-color: @tagsinput-tag-icon-color;\n\n@multiselect-dropdown-border-radius: @border-radius-large;\n@multiselect-dropdown-item-border-radius: @border-radius-base;\n\n@multiselect-input-color: @tagsinput-input-color;\n\n\n//== Pagination\n//\n//##\n\n@pagination-bg: mix(@brand-primary, white, 20%);\n@pagination-hover-bg: @brand-secondary;\n@pagination-color: @inverse;\n@pagination-border-radius: @border-radius-large;\n\n\n//== Pager\n//\n//##\n\n@pager-padding: 9px 15px 10px;\n@pager-bg: @brand-primary;\n@pager-hover-bg: mix(@brand-primary, black, 85%);\n@pager-active-bg: @pager-hover-bg;\n@pager-border-radius: @border-radius-large;\n@pager-color: @inverse;\n\n\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n@zindex-navbar: 1000;\n@zindex-navbar-fixed: 1030;\n@navbar-height-base: 53px;\n@navbar-height-large: 76px;\n@navbar-input-line-height: 1.4; // ~21px\n@navbar-margin-bottom: @line-height-computed;\n@navbar-border-radius: @border-radius-large;\n\n@navbar-default-bg: saturate(spin(tint(@brand-primary, 91%), -18), 2%);\n\n// Navbar links\n@navbar-default-link-color: @brand-primary;\n@navbar-default-link-hover-color: @brand-secondary;\n@navbar-default-link-hover-bg: transparent;\n@navbar-default-link-active-color: @brand-secondary;\n@navbar-default-link-active-bg: transparent;\n@navbar-default-link-disabled-color: #ccc;\n@navbar-default-link-disabled-bg: transparent;\n\n// Navbar nav carets\n@navbar-default-caret-color: @navbar-default-link-color;\n@navbar-default-caret-hover-color: @navbar-default-link-hover-color;\n@navbar-default-caret-active-color: @navbar-default-link-active-color;\n\n// Navbar brand label\n@navbar-default-brand-color: @navbar-default-link-color;\n@navbar-default-brand-hover-color: @navbar-default-link-hover-color;\n@navbar-default-brand-hover-bg: transparent;\n\n// Navbar toggle\n@navbar-default-toggle-color: @navbar-default-link-color;\n@navbar-default-toggle-hover-color: @navbar-default-link-hover-color;\n\n// Navbar form\n@navbar-default-form-placeholder: spin(tint(@brand-primary, 60%), 2);\n@navbar-default-form-icon: desaturate(tint(@brand-primary, 45%), 2%);\n@navbar-default-form-border: shade(@navbar-default-bg, 3%);\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n@navbar-inverse-divider: darken(@brand-primary, 3%);\n\n// Reset inverted navbar basics\n@navbar-inverse-color: @inverse;\n@navbar-inverse-bg: @brand-primary;\n@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);\n\n// Inverted navbar links\n@navbar-inverse-link-color: @inverse;\n@navbar-inverse-link-hover-color: @brand-secondary;\n@navbar-inverse-link-hover-bg: transparent;\n@navbar-inverse-link-active-color: @navbar-inverse-link-color;\n@navbar-inverse-link-active-bg: @brand-secondary;\n@navbar-inverse-link-disabled-color: #444;\n@navbar-inverse-link-disabled-bg: transparent;\n\n// Navbar nav carets\n@navbar-inverse-caret-color: lighten(desaturate(@brand-primary, 7%), 9%);\n@navbar-inverse-caret-hover-color: @navbar-inverse-link-hover-color;\n@navbar-inverse-caret-active-color: @navbar-inverse-link-active-color;\n\n// Inverted navbar brand label\n@navbar-inverse-brand-color: @navbar-inverse-link-color;\n@navbar-inverse-brand-hover-color: @navbar-inverse-link-hover-color;\n@navbar-inverse-brand-hover-bg: transparent;\n\n// Inverted navbar toggle\n@navbar-inverse-toggle-color: @navbar-inverse-link-color;\n@navbar-inverse-toggle-hover-color: @navbar-inverse-link-hover-color;\n\n// Navbar form\n@navbar-inverse-form-bg: darken(@brand-primary, 6%);\n@navbar-inverse-form-placeholder: desaturate(lighten(@brand-primary, 13%), 7%);\n@navbar-inverse-form-icon: desaturate(lighten(@brand-primary, 13%), 6%);\n@navbar-inverse-form-border: @navbar-inverse-divider;\n\n// Navbar dropdowns\n@navbar-inverse-dropdown-bg: @navbar-inverse-bg;\n@navbar-inverse-dropdown-link-color: mix(@navbar-inverse-bg, @navbar-inverse-color, 15%);\n@navbar-inverse-dropdown-link-hover-color: @inverse;\n@navbar-inverse-dropdown-link-hover-bg: @brand-secondary;\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n\n@zindex-dropdown: 1000;\n@dropdown-border-radius: @border-radius-base;\n\n//** Background for the dropdown menu.\n@dropdown-bg: desaturate(lighten(@brand-primary, 67%), 20%);\n\n//** Dropdown link text color.\n@dropdown-link-color: mix(darken(@brand-primary, 5%), @inverse, 75%);\n//** Hover color for dropdown links.\n@dropdown-link-hover-color: darken(@dropdown-link-color, 5%);\n//** Hover background for dropdown links.\n@dropdown-link-hover-bg: fade(desaturate(lighten(@brand-primary, 52%), 21%), 50%);\n\n//** Active dropdown menu item text color.\n@dropdown-link-active-color: @inverse;\n//** Active dropdown menu item background color.\n@dropdown-link-active-bg: @brand-secondary;\n\n//** Disabled dropdown menu item background color.\n@dropdown-link-disabled-color: @gray-light;\n\n//** Divider color for between dropdown items.\n@dropdown-divider-bg: fade(@dropdown-link-hover-bg, 50%);\n\n//** Text color for headers within dropdown menus.\n@dropdown-header-color: fade(@brand-primary, 60%);\n\n\n// Inverted dropdown\n//\n\n@dropdown-inverse-bg: @brand-primary;\n\n\n//** Dropdown link text color.\n@dropdown-inverse-link-color: fade(@inverse, 85%);\n//** Hover color for dropdown links.\n@dropdown-inverse-link-hover-color: fade(@inverse, 85%);\n//** Hover background for dropdown links.\n@dropdown-inverse-link-hover-bg: fade(darken(@brand-primary, 5%), 50%);\n\n//** Active dropdown menu item text color.\n@dropdown-inverse-link-active-color: fade(@inverse, 85%);\n//** Active dropdown menu item background color.\n@dropdown-inverse-link-active-bg: @brand-secondary;\n\n//** Disabled dropdown menu item background color.\n@dropdown-inverse-link-disabled-color: fade(@dropdown-inverse-link-color, 50%);\n\n//** Divider color for between dropdown items.\n@dropdown-inverse-divider-bg: @dropdown-inverse-link-hover-bg;\n\n//** Text color for headers within dropdown menus.\n@dropdown-inverse-header-color: fade(@inverse, 40%);\n\n\n//== Progress bars\n//\n//##\n\n@progress-height: 12px;\n\n\n//== Slider\n//\n//##\n\n@slider-height: 12px;\n@slider-value-font-size: floor((@component-font-size-base * 0.867)); // ~13px;\n\n@slider-handle-bg: mix(@brand-secondary, black, 85%);\n@slider-handle-hover-bg: mix(@brand-secondary, white, 80%);\n@slider-handle-active-bg: mix(@brand-secondary, black, 85%);\n\n@slider-range-bg: @brand-secondary;\n\n@slider-segment-bg: mix(desaturate(@brand-primary, 15%), white, 20%);\n\n\n//== Switch\n//\n//##\n\n@switch-name: bootstrap-switch;\n@switch-border-radius: 30px;\n@switch-width: 80px;\n@switch-height: 29px;\n\n\n\n//== Video player\n//\n//##\n\n@vplayer-border-radius: @border-radius-large;\n@vplayer-fullscreen-bg: #000;\n@vplayer-fullscreen-zindex: 10000;\n\n@vplayer-control-bar-color: @inverse;\n@vplayer-control-bar-bg: @midnight-blue;\n\n@vplayer-preloader-primary-bg: #e74c3c;\n@vplayer-preloader-secondary-bg: #ebedee;\n\n@vplayer-text-track-bg: rgba(0,0,0,.5);\n\n@vplaver-play-control-color: @brand-secondary;\n@vplaver-play-control-hover-color: mix(@brand-secondary, black, 85%);\n\n@vplaver-second-controls-color: desaturate(lighten(@midnight-blue, 12%), 6%);\n@vplaver-second-controls-hover-color: desaturate(lighten(@midnight-blue, 20%), 6%);\n\n@vplaver-progress-bg: mix(@brand-primary, @inverse, 93%);\n@vplaver-play-progress-bg: @brand-secondary;\n@vplaver-load-progress-bg: mix(@brand-primary, @inverse, 20%);\n\n@vplayer-seek-handle-bg: mix(@brand-secondary, black, 85%);\n@vplayer-seek-handle-hover-bg: mix(@brand-secondary, black, 75%);\n@vplayer-seek-handle-active-bg: mix(@brand-secondary, black, 65%);\n\n@vplayer-time-divider-color: mix(@brand-primary, @inverse, 80%);\n@vplayer-duration-color: mix(@brand-primary, @inverse, 80%);\n\n\n\n\n//== Todo list\n//\n//##\n\n@todo-bg: @brand-primary;\n@todo-bg-active: mix(@brand-primary, black, 85%);\n@todo-search-bg: @brand-secondary;\n@todo-search-color: @brand-primary;\n@todo-color: mix(@brand-primary, @inverse, 66%);\n@todo-name-color: @inverse;\n@todo-color-active: @brand-secondary;\n@todo-border-radius: @border-radius-large;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n@thumbnail-padding: 4px;\n//** Thumbnail background color\n@thumbnail-bg: @body-bg;\n//** Thumbnail border color\n@thumbnail-border: @gray-light;\n//** Thumbnail border radius\n@thumbnail-border-radius: @border-radius-large;\n\n//** Custom text color for thumbnail captions\n@thumbnail-caption-color: @text-color;\n//** Padding around the thumbnail caption\n@thumbnail-caption-padding: 9px;\n\n\n//== Tiles\n//\n//##\n\n@tiles-bg: mix(@brand-primary, @inverse, 8%);\n@tiles-border-radius: @border-radius-large;\n\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n@screen-xs-min: 480px;\n\n// Small screen / tablet\n@screen-sm-min: 768px;\n\n// Medium screen / desktop\n@screen-md-min: 992px;\n\n// Large screen / wide desktop\n@screen-lg-min: 1200px;\n\n// So media queries don't overlap when required, provide a maximum\n@screen-xs-max: (@screen-sm-min - 1);\n@screen-sm-max: (@screen-md-min - 1);\n@screen-md-max: (@screen-lg-min - 1);\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n@grid-columns: 12;\n//** Padding between columns. Gets divided in half for the left and right.\n@grid-gutter-width: 30px;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n@grid-float-breakpoint: @screen-sm-min;\n//** Point at which the navbar begins collapsing.\n@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n@state-success-text: @brand-success;\n@state-success-bg: #dff0d8;\n@state-success-border: darken(spin(@state-success-bg, -10), 5%);\n\n@state-info-text: @brand-info;\n@state-info-bg: #d9edf7;\n@state-info-border: darken(spin(@state-info-bg, -10), 7%);\n\n@state-warning-text: @brand-warning;\n@state-warning-bg: #fcf8e3;\n@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);\n\n@state-danger-text: @brand-danger;\n@state-danger-bg: #f2dede;\n@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n@tooltip-max-width: 183px;\n//** Tooltip text color\n@tooltip-color: @inverse;\n//** Tooltip background color\n@tooltip-bg: @brand-primary;\n@tooltip-opacity: 1;\n//** Tooltip zIndex\n@zindex-tooltip: 1070;\n\n//** Tooltip inverse text color\n@tooltip-inverse-color: @brand-primary;\n//** Tooltip inverse background color\n@tooltip-inverse-bg: mix(@brand-primary, white, 9%);\n\n//** Tooltip arrow width\n@tooltip-arrow-width: 9px;\n//** Tooltip arrow color\n@tooltip-arrow-color: @tooltip-bg;\n//** Tooltip inverse arrow color\n@tooltip-inverse-arrow-color: @tooltip-inverse-bg;\n\n\n\n\n//== Code\n//\n//##\n\n@code-color: #c7254e;\n@code-bg: #f9f2f4;\n\n@kbd-color: @inverse;\n@kbd-bg: @brand-primary;\n\n@pre-bg: @inverse;\n@pre-color: inherit;\n@pre-border-color: mix(@brand-primary, @inverse, 12%);\n@pre-scrollable-max-height: 340px;\n@pre-border-radius: @border-radius-large;\n\n\n//== Form states and alerts\n//\n//##\n\n//** Text muted color\n@text-muted: @gray-light;\n//** Abbreviations and acronyms border color\n@abbr-border-color: @gray-light;\n//** Headings small color\n@headings-small-color: mix(@brand-primary, @inverse, 12%);\n//** Blockquote small color\n@blockquote-small-color: inherit;\n//** Blockquote border color\n@blockquote-border-color: mix(@brand-primary, @inverse, 12%);\n//** Page header border color\n@page-header-border-color: mix(@brand-primary, @inverse, 12%);\n//** Width of horizontal description list titles\n@dl-horizontal-offset: @component-offset-horizontal;\n\n\n//== Miscellaneous\n//\n//##\n\n//** Hr border color\n@hr-border: mix(@brand-primary, @inverse, 63%);\n\n//** Horizontal forms & lists\n@component-offset-horizontal: 180px;\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n"]} -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/docs.css: -------------------------------------------------------------------------------- 1 | /* Prettyfy Theme */ 2 | .prettyprint { 3 | background-color: #F7F7F9; 4 | font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; 5 | border: 2px solid #E1E1E8; 6 | padding: 15px 21px; 7 | } 8 | .pln { 9 | color: #333333; 10 | } 11 | @media screen { 12 | .str { 13 | color: #dd1144; 14 | } 15 | .kwd { 16 | color: #333333; 17 | } 18 | .com { 19 | color: #999988; 20 | } 21 | .typ { 22 | color: #445588; 23 | } 24 | .lit { 25 | color: #445588; 26 | } 27 | .pun { 28 | color: #333333; 29 | } 30 | .opn { 31 | color: #333333; 32 | } 33 | .clo { 34 | color: #333333; 35 | } 36 | .tag { 37 | color: navy; 38 | } 39 | .atn { 40 | color: teal; 41 | } 42 | .atv { 43 | color: #dd1144; 44 | } 45 | .dec { 46 | color: #333333; 47 | } 48 | .var { 49 | color: teal; 50 | } 51 | .fun { 52 | color: #990000; 53 | } 54 | } 55 | @media print, projection { 56 | .str { 57 | color: #006600; 58 | } 59 | .kwd { 60 | color: #006; 61 | font-weight: bold; 62 | } 63 | .com { 64 | color: #600; 65 | font-style: italic; 66 | } 67 | .typ { 68 | color: #404; 69 | font-weight: bold; 70 | } 71 | .lit { 72 | color: #004444; 73 | } 74 | .pun, 75 | .opn, 76 | .clo { 77 | color: #444400; 78 | } 79 | .tag { 80 | color: #006; 81 | font-weight: bold; 82 | } 83 | .atn { 84 | color: #440044; 85 | } 86 | .atv { 87 | color: #006600; 88 | } 89 | } 90 | /* Specify class=linenums on a pre to get line numbering */ 91 | ol.linenums { 92 | margin-top: 0; 93 | margin-bottom: 0; 94 | } 95 | .docs-example-popovers { 96 | position: relative; 97 | margin: -20px -20px 0; 98 | } 99 | .docs-example-popovers:before, 100 | .docs-example-popovers:after { 101 | content: " "; 102 | display: table; 103 | } 104 | .docs-example-popovers:after { 105 | clear: both; 106 | } 107 | .docs-example-popovers .popover { 108 | display: block; 109 | float: left; 110 | margin: 20px; 111 | position: relative; 112 | width: 260px; 113 | } 114 | .demo-headline { 115 | color: #1abc9c; 116 | font: 700 118px/1.1 "Helvetica Neue", Helvetica, Arial, sans-serif !important; 117 | margin-bottom: 50px; 118 | padding: 40px 0; 119 | text-align: center; 120 | word-wrap: break-word; 121 | margin-top: 2px; 122 | } 123 | .demo-row { 124 | margin: 0 auto; 125 | padding: 0 20px 50px; 126 | width: 940px; 127 | } 128 | .demo-row:before, 129 | .demo-row:after { 130 | content: " "; 131 | display: table; 132 | } 133 | .demo-row:after { 134 | clear: both; 135 | } 136 | .demo-row .demo-heading-note, 137 | .demo-row .demo-text-note { 138 | display: block; 139 | width: 260px; 140 | position: absolute; 141 | bottom: 10px; 142 | left: 0; 143 | font-size: 13px; 144 | line-height: 13px; 145 | color: #c0c1c2; 146 | font-weight: 400; 147 | } 148 | .demo-row .demo-text-note { 149 | bottom: auto; 150 | top: 10px; 151 | } 152 | .demo-row.menu-row { 153 | padding: 50px 20px 10px; 154 | } 155 | .demo-row.typography-row .demo-content { 156 | float: none; 157 | margin-left: 20px; 158 | padding-top: 0; 159 | width: auto; 160 | clear: both; 161 | } 162 | .demo-row.typography-row .demo-type-example { 163 | padding-left: 265px; 164 | margin-bottom: 40px; 165 | position: relative; 166 | } 167 | .demo-col { 168 | float: left; 169 | margin: 0 20px; 170 | width: 270px; 171 | } 172 | .demo-content { 173 | float: left; 174 | margin-left: 20px; 175 | width: 580px; 176 | } 177 | .demo-content.demo-content-article p { 178 | margin-bottom: 20px; 179 | } 180 | .demo-content.demo-content-article ul { 181 | list-style-type: none; 182 | margin-left: 0; 183 | } 184 | .demo-content.demo-content-article li { 185 | line-height: 35px; 186 | padding: 0 0 5px; 187 | } 188 | .demo-content-wide { 189 | clear: both; 190 | margin: 0 20px; 191 | } 192 | .demo-content-wide:before, 193 | .demo-content-wide:after { 194 | content: " "; 195 | display: table; 196 | } 197 | .demo-content-wide:after { 198 | clear: both; 199 | } 200 | .demo-title { 201 | float: left; 202 | margin: -0.5em 20px 0; 203 | width: 240px; 204 | font: 700 24.5px/40px "Helvetica Neue", Helvetica, Arial, sans-serif; 205 | } 206 | .demo-title h1, 207 | .demo-title h2, 208 | .demo-title h3, 209 | .demo-title h4 { 210 | margin-top: 0; 211 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 212 | } 213 | .demo-title h1, 214 | .demo-title h2, 215 | .demo-title h3 { 216 | line-height: 40px !important; 217 | } 218 | .demo-title h3 { 219 | font-size: 24.5px !important; 220 | } 221 | .demo-title small { 222 | color: #c0c1c2; 223 | font-size: 13px; 224 | font-weight: 400; 225 | } 226 | .demo-buttons .btn, 227 | .demo-inputs .control-group { 228 | margin-bottom: 20px; 229 | } 230 | .demo-navigation .demo-title { 231 | margin-top: 10px; 232 | } 233 | .demo-pager { 234 | margin-top: -10px; 235 | } 236 | .demo-tooltips { 237 | width: 40%; 238 | padding-left: 10px; 239 | } 240 | .demo-tooltips .tooltip { 241 | left: -8px !important; 242 | position: relative !important; 243 | top: -8px !important; 244 | } 245 | .demo-tooltips .tooltip-inner { 246 | max-width: 100%; 247 | width: auto; 248 | } 249 | .demo-popovers .popover { 250 | display: block; 251 | margin: 0 13px 0 -3px; 252 | position: relative; 253 | width: auto; 254 | } 255 | .demo-social-buttons .btn { 256 | clear: left; 257 | float: left; 258 | margin-bottom: 17px; 259 | } 260 | .demo-headings { 261 | margin-bottom: 12px; 262 | } 263 | .demo-tiles { 264 | margin-bottom: 46px; 265 | } 266 | .demo-icons { 267 | font-size: 32px; 268 | margin-left: -15px; 269 | } 270 | .demo-icons > span { 271 | display: inline-block; 272 | margin: 0 0 32px 35px; 273 | width: 32px; 274 | } 275 | @media (max-width: 480px) { 276 | .demo-icons > span { 277 | margin-left: 16px; 278 | margin-right: 16px; 279 | } 280 | } 281 | .demo-icons-tooltip { 282 | bottom: 0; 283 | color: #c2c8cf; 284 | font-size: 12px; 285 | left: 100%; 286 | margin-left: 0 !important; 287 | position: absolute; 288 | width: 80px; 289 | } 290 | .demo-inline { 291 | display: inline-block; 292 | } 293 | .demo-labels { 294 | font-size: 19px; 295 | } 296 | .demo-labels .visible-lg { 297 | display: inline !important; 298 | } 299 | @media (max-width: 767px) { 300 | .demo-labels .visible-lg { 301 | display: none !important; 302 | } 303 | } 304 | .demo-illustrations { 305 | margin-top: 40px; 306 | } 307 | .demo-illustrations .demo-content-wide { 308 | margin: 0 0 0 -66px; 309 | padding-top: 20px; 310 | } 311 | .demo-illustrations .demo-content-wide > div { 312 | float: left; 313 | width: 100px; 314 | height: 100px; 315 | line-height: 100px; 316 | margin: 0 0 80px 87px; 317 | text-align: center; 318 | vertical-align: middle; 319 | } 320 | .demo-illustrations img { 321 | display: inline-block; 322 | max-height: 100px; 323 | max-width: 100px; 324 | vertical-align: middle; 325 | } 326 | .demo-dialog { 327 | padding: 13px 20px 15px; 328 | } 329 | .demo-dialog .flat { 330 | width: 300px; 331 | } 332 | @media (max-width: 767px) { 333 | .demo-dialog .flat { 334 | width: 100%; 335 | } 336 | } 337 | .static-modal-backdrop { 338 | background-color: #243342; 339 | padding: 62px 14px; 340 | margin-bottom: 50px; 341 | width: 100%; 342 | } 343 | .static-modal-backdrop .modal { 344 | bottom: auto; 345 | display: block; 346 | position: relative; 347 | top: auto; 348 | z-index: 1; 349 | overflow: hidden; 350 | padding-bottom: 20px; 351 | } 352 | .static-modal-backdrop .modal-dialog { 353 | padding: 0; 354 | } 355 | .components-static-modal .modal { 356 | bottom: auto; 357 | display: block; 358 | left: auto; 359 | position: relative; 360 | top: auto; 361 | z-index: 1; 362 | overflow: visible; 363 | } 364 | .components-static-modal .modal-dialog, 365 | .components-static-modal .modal-content { 366 | width: auto; 367 | } 368 | .components-static-modal .modal-dialog { 369 | padding: 0; 370 | } 371 | .demo-sidebar { 372 | font-size: 14px; 373 | line-height: 1.214; 374 | height: 100%; 375 | left: 0; 376 | margin: 0; 377 | list-style-type: none; 378 | overflow: auto; 379 | position: fixed; 380 | top: 0; 381 | padding: 0; 382 | width: 150px; 383 | z-index: 10000; 384 | background-color: #f3f4f5; 385 | -webkit-font-smoothing: subpixel-antialiased; 386 | } 387 | .demo-sidebar li:first-child a { 388 | padding-top: 20px; 389 | } 390 | .demo-sidebar a { 391 | display: block; 392 | padding: 7px 20px; 393 | } 394 | .demo-col .fileinput .input-group .uneditable-input { 395 | max-width: 370px; 396 | } 397 | @media (max-width: 767px) { 398 | .demo-row { 399 | margin-bottom: 0; 400 | margin-left: 0; 401 | padding-left: 0; 402 | padding-right: 0; 403 | width: auto; 404 | } 405 | .demo-col, 406 | .demo-content, 407 | .demo-content-wide, 408 | .demo-title { 409 | float: none; 410 | margin: 0 0 18px !important; 411 | padding: 0 !important; 412 | width: auto; 413 | } 414 | .demo-headline { 415 | font-size: 65px !important; 416 | text-align: left; 417 | padding-left: 15px; 418 | padding-right: 15px; 419 | } 420 | .demo-inline { 421 | display: block; 422 | } 423 | .demo-navigation .btn-toolbar { 424 | margin: 0; 425 | } 426 | .demo-navigation .pager { 427 | display: block; 428 | margin-left: 0 !important; 429 | margin-bottom: 20px; 430 | } 431 | .typography-row .demo-type-example { 432 | padding-left: 0 !important; 433 | } 434 | .typography-row .demo-heading-note, 435 | .typography-row .demo-text-note { 436 | position: static !important; 437 | margin: 0 0 10px; 438 | } 439 | .demo-illustrations .demo-content-wide > div { 440 | margin-left: 67px; 441 | } 442 | } 443 | /* Demo video */ 444 | .demo-video { 445 | margin-top: 40px; 446 | } 447 | @media (max-width: 480px) { 448 | .demo-illustrations .demo-content-wide > div { 449 | margin-left: 23px; 450 | } 451 | .demo-navigation .mll.pvl { 452 | padding: 0; 453 | margin-left: 0 !important; 454 | margin-bottom: 20px; 455 | } 456 | } -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/docs.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["docs/assets/css/src/prettyprint.less","docs/assets/css/src/docs.less","less/mixins/clearfix.less","less/variables.less"],"names":[],"mappings":"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","sourcesContent":["/* Prettyfy Theme */\n.prettyprint {\n background-color: #F7F7F9;\n font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace;\n border: 2px solid #E1E1E8;\n padding: 15px 21px;\n}\n\n.pln {\n color: #333333;\n}\n\n@media screen {\n .str {\n color: #dd1144;\n }\n\n .kwd {\n color: #333333;\n }\n\n .com {\n color: #999988;\n }\n\n .typ {\n color: #445588;\n }\n\n .lit {\n color: #445588;\n }\n\n .pun {\n color: #333333;\n }\n\n .opn {\n color: #333333;\n }\n\n .clo {\n color: #333333;\n }\n\n .tag {\n color: navy;\n }\n\n .atn {\n color: teal;\n }\n\n .atv {\n color: #dd1144;\n }\n\n .dec {\n color: #333333;\n }\n\n .var {\n color: teal;\n }\n\n .fun {\n color: #990000;\n }\n}\n@media print, projection {\n .str {\n color: #006600;\n }\n\n .kwd {\n color: #006;\n font-weight: bold;\n }\n\n .com {\n color: #600;\n font-style: italic;\n }\n\n .typ {\n color: #404;\n font-weight: bold;\n }\n\n .lit {\n color: #004444;\n }\n\n .pun, .opn, .clo {\n color: #444400;\n }\n\n .tag {\n color: #006;\n font-weight: bold;\n }\n\n .atn {\n color: #440044;\n }\n\n .atv {\n color: #006600;\n }\n}\n/* Specify class=linenums on a pre to get line numbering */\nol.linenums {\n margin-top: 0;\n margin-bottom: 0;\n}\n","//\n// Docs Flat UI Pro\n// --------------------------------------------------\n\n// Variables and utilityes\n@import \"../../../../less/variables\";\n@import \"../../../../less/mixins\";\n@import \"prettyprint\";\n\n.docs-example-popovers {\n position: relative;\n margin: -20px -20px 0;\n .clearfix();\n\n .popover {\n display: block;\n float: left;\n margin: 20px;\n position: relative;\n width: 260px;\n }\n}\n\n// For demo purposes only\n.demo-headline {\n color: @brand-secondary;\n font: 700 118px/1.1 @font-family-demo !important;\n margin-bottom: 50px;\n padding: 40px 0;\n text-align: center;\n word-wrap: break-word;\n margin-top: 2px;\n}\n\n// Panels delimiter\n.demo-row {\n margin: 0 auto;\n padding: 0 20px 50px;\n width: 940px;\n .clearfix();\n\n .demo-heading-note,\n .demo-text-note {\n display: block;\n width: 260px;\n position: absolute;\n bottom: 10px;\n left: 0;\n font-size: 13px;\n line-height: 13px;\n color: mix(desaturate(@brand-primary, 25%), white, 34%);\n font-weight: 400;\n }\n .demo-text-note {\n bottom: auto;\n top: 10px;\n }\n &.menu-row {\n padding: 50px 20px 10px;\n }\n &.typography-row {\n .demo-content {\n float: none;\n margin-left: 20px;\n padding-top: 0;\n width: auto;\n clear: both;\n }\n .demo-type-example {\n padding-left: 265px;\n margin-bottom: 40px;\n position: relative;\n }\n }\n}\n\n.demo-col {\n float: left;\n margin: 0 20px;\n width: 270px;\n}\n\n.demo-content {\n float: left;\n margin-left: 20px;\n width: 580px;\n\n &.demo-content-article {\n p { margin-bottom: 20px; }\n\n ul {\n list-style-type: none;\n margin-left: 0;\n }\n\n li {\n line-height: ceil((@font-size-base * 1.285 * 1.5));\n padding: 0 0 5px;\n }\n }\n}\n\n.demo-content-wide {\n clear: both;\n margin: 0 20px;\n .clearfix();\n}\n\n.demo-title {\n float: left;\n margin: -0.5em 20px 0;\n width: 240px;\n font: 700 24.5px/40px @font-family-demo;\n\n h1, h2, h3, h4 {\n margin-top: 0;\n font-family: @font-family-demo;\n }\n h1, h2, h3 {\n line-height: 40px !important;\n }\n h3 {\n font-size: 24.5px !important;\n }\n small {\n color: mix(desaturate(@brand-primary, 25%), white, 34%);\n font-size: 13px;\n font-weight: 400;\n }\n}\n\n.demo-buttons .btn,\n.demo-inputs .control-group {\n margin-bottom: 20px;\n}\n\n.demo-navigation {\n .demo-title {\n margin-top: 10px;\n }\n}\n\n.demo-pager {\n margin-top: -10px;\n}\n\n.demo-tooltips {\n width: 40%;\n padding-left: 10px;\n // Needed just for the demo. Don't use it in producion ;)\n\n .tooltip {\n left: -8px !important;\n position: relative !important;\n top: -8px !important;\n }\n .tooltip-inner {\n max-width: 100%;\n width: auto;\n }\n}\n\n.demo-popovers {\n .popover {\n display: block;\n margin: 0 13px 0 -3px;\n position: relative;\n width: auto;\n }\n}\n\n.demo-social-buttons {\n .btn {\n clear: left;\n float: left;\n margin-bottom: 17px;\n }\n}\n\n.demo-headings {\n margin-bottom: 12px;\n}\n\n.demo-tiles {\n margin-bottom: 46px;\n}\n\n.demo-icons {\n font-size: 32px;\n margin-left: -15px;\n\n > span {\n display: inline-block;\n margin: 0 0 32px 35px;\n width: 32px;\n }\n\n @media (max-width: 480px) {\n > span {\n margin-left: 16px;\n margin-right: 16px;\n }\n }\n}\n\n.demo-icons-tooltip {\n bottom: 0;\n color: mix(@brand-primary, @inverse, 30%);\n font-size: 12px;\n left: 100%;\n margin-left: 0 !important;\n position: absolute;\n width: 80px;\n}\n\n.demo-inline {\n display: inline-block;\n}\n\n.demo-labels {\n font-size: floor((@font-size-base * 1.056)); // ~19px\n\n .visible-lg {\n display: inline !important;\n\n @media (max-width: 767px) {\n display: none !important;\n }\n }\n}\n\n\n// Illustration Icons\n// --------------------------------------------------\n.demo-illustrations {\n margin-top: 40px;\n\n .demo-content-wide {\n margin: 0 0 0 -66px;\n padding-top: 20px;\n\n > div {\n float: left;\n width: 100px;\n height: 100px;\n line-height: 100px;\n margin: 0 0 80px 87px;\n text-align: center;\n vertical-align: middle;\n }\n }\n img {\n display: inline-block;\n max-height: 100px;\n max-width: 100px;\n vertical-align: middle;\n }\n}\n\n// Dialog with form inside\n.demo-dialog {\n padding: 13px 20px 15px;\n\n .flat {\n width: 300px;\n }\n @media (max-width: 767px) {\n .flat {\n width: 100%;\n }\n }\n}\n\n// Static Modal\n.static-modal-backdrop {\n background-color: mix(@brand-primary, black, 70%);\n padding: 62px 14px;\n margin-bottom: 50px;\n width: 100%;\n\n .modal {\n bottom: auto;\n display: block;\n position: relative;\n top: auto;\n z-index: 1;\n overflow: hidden;\n padding-bottom: 20px;\n }\n .modal-dialog {\n padding: 0;\n }\n}\n\n.components-static-modal {\n .modal {\n bottom: auto;\n display: block;\n left: auto;\n position: relative;\n top: auto;\n z-index: 1;\n overflow: visible;\n }\n .modal-dialog,\n .modal-content {\n width: auto;\n }\n .modal-dialog {\n padding: 0;\n }\n}\n\n// Sidebar for Components navigation\n.demo-sidebar {\n font-size: floor((@font-size-base * 0.778)); // ~14px\n line-height: 1.214; // ~17px\n height: 100%;\n left: 0;\n margin: 0;\n list-style-type: none;\n overflow: auto;\n position: fixed;\n top: 0;\n padding: 0;\n width: 150px;\n z-index: 10000;\n background-color: mix(@brand-primary, white, 6%);\n -webkit-font-smoothing: subpixel-antialiased;\n\n li {\n &:first-child {\n a {\n padding-top: 20px;\n }\n }\n }\n\n a {\n display: block;\n padding: 7px 20px;\n }\n}\n\n\n// File Input\n.demo-col {\n .fileinput {\n .input-group { // Inline fileinput\n .uneditable-input {\n max-width: 370px;\n }\n }\n }\n}\n\n//\n// Responsive: Landscape phone to desktop/tablet\n// --------------------------------------------------\n@media (max-width: 767px) {\n .demo-row {\n margin-bottom: 0;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n width: auto;\n }\n .demo-col,\n .demo-content,\n .demo-content-wide,\n .demo-title {\n float: none;\n margin: 0 0 18px !important;\n padding: 0 !important;\n width: auto;\n }\n .demo-headline {\n font-size: ceil((@font-size-base * 3.611)) !important;\n text-align: left;\n padding-left: 15px;\n padding-right: 15px;\n }\n\n .demo-inline { display: block; }\n\n .demo-navigation {\n .btn-toolbar {\n margin: 0;\n }\n\n .pager {\n display: block;\n margin-left: 0 !important;\n margin-bottom: 20px;\n }\n }\n .typography-row {\n .demo-type-example {\n padding-left: 0 !important;\n }\n .demo-heading-note,\n .demo-text-note {\n position: static !important;\n margin: 0 0 10px;\n }\n }\n .demo-illustrations .demo-content-wide > div {\n margin-left: 67px;\n }\n}\n\n/* Demo video */\n.demo-video {\n margin-top: 40px;\n}\n\n@media (max-width: 480px) {\n .demo-illustrations .demo-content-wide > div {\n margin-left: 23px;\n }\n .demo-navigation {\n .mll.pvl {\n padding: 0;\n margin-left: 0 !important;\n margin-bottom: 20px;\n }\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","//\n// Variables\n// --------------------------------------------------\n\n\n// == Colors\n//\n//##\n\n// Color swatches\n@turquoise: #1abc9c;\n@green-sea: #16a085;\n\n@emerald: #2ecc71;\n@nephritis: #27ae60;\n\n@peter-river: #3498db;\n@belize-hole: #2980b9;\n\n@amethyst: #9b59b6;\n@wisteria: #8e44ad;\n\n@wet-asphalt: #34495e;\n@midnight-blue: #2c3e50;\n\n@sun-flower: #f1c40f;\n@orange: #f39c12;\n\n@carrot: #e67e22;\n@pumpkin: #d35400;\n\n@alizarin: #e74c3c;\n@pomegranate: #c0392b;\n\n@clouds: #ecf0f1;\n@silver: #bdc3c7;\n\n@concrete: #95a5a6;\n@asbestos: #7f8c8d;\n\n// Grays\n@gray: @concrete;\n@gray-light: @silver;\n@inverse: white;\n\n// Brand colors\n@brand-primary: @wet-asphalt;\n@brand-secondary: @turquoise;\n@brand-success: @emerald;\n@brand-warning: @sun-flower;\n@brand-danger: @alizarin;\n@brand-info: @peter-river;\n\n// Social colors\n@social-pinterest: #cb2028;\n@social-linkedin: #0072b5;\n@social-stumbleupon: #ed4a13;\n@social-googleplus: #2d2d2d;\n@social-facebook: #2f4b93;\n@social-twitter: #00bdef;\n\n\n//== Scaffolding\n//\n//## Settings for some of the most global styles.\n\n@body-bg: #fff;\n@text-color: @brand-primary;\n\n//** Global textual link color.\n@link-color: @green-sea;\n@link-hover-color: @turquoise;\n//** Link hover decoration.\n@link-hover-decoration: none;\n\n\n//== Typography\n//\n//## Font, line-height for body text, headings, and more.\n\n@font-family-base: \"Lato\", Helvetica, Arial, sans-serif;\n@font-family-demo: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n@font-family-monospace: Monaco, Menlo, Consolas, \"Courier New\", monospace;\n@font-size-base: 18px;\n\n@local-font-path: \"../fonts/lato/\";\n@local-font-name: \"lato-regular\";\n@local-font-svg-id: \"latoregular\";\n@local-font-name-light: \"lato-light\";\n@local-font-svg-id-light: \"latolight\";\n@local-font-name-black: \"lato-black\";\n@local-font-svg-id-black: \"latoblack\";\n@local-font-name-bold: \"lato-bold\";\n@local-font-svg-id-bold: \"latobold\";\n@local-font-name-italic: \"lato-italic\";\n@local-font-svg-id-italic: \"latoitalic\";\n@local-font-name-bold-italic: \"lato-bolditalic\";\n@local-font-svg-id-bold-italic: \"latobold-italic\";\n\n@font-size-h1: floor((@font-size-base * 3.444)); // ~62px\n@font-size-h2: ceil((@font-size-base * 2.889)); // ~52px\n@font-size-h3: ceil((@font-size-base * 2.222)); // ~40px\n@font-size-h4: ceil((@font-size-base * 1.611)); // ~29px\n@font-size-h5: floor((@font-size-base * 1.556)); // ~28px\n@font-size-h6: ceil((@font-size-base * 1.333)); // ~24px\n\n@line-height-base: 1.72222; // 31/18\n@line-height-computed: floor((@font-size-base * @line-height-base)); // ~31px\n\n@headings-font-family: inherit;\n@headings-font-weight: 700;\n@headings-line-height: 1.1;\n@headings-color: inherit;\n\n\n//== Iconography\n//\n//## Specify custom locations of the include Glyphicons icon font.\n\n@icon-font-path: \"../fonts/glyphicons/\";\n@icon-font-name: \"flat-ui-icons-regular\";\n@icon-font-svg-id: \"flat-ui-icons-regular\";\n\n//** Icon sizes for use in components\n@icon-normal: 16px;\n@icon-medium: 18px;\n@icon-large: 32px;\n\n\n//== Components\n//\n//## Define common padding and border radius sizes and more.\n\n//** Default font-size in components\n@component-font-size-base: ceil((@font-size-base * 0.833)); // ~15px\n\n// Border-radius\n@border-radius-base: 4px;\n@border-radius-large: 6px;\n@border-radius-small: 3px;\n\n//** Width of the `border` for generating carets that indicator dropdowns.\n@caret-width-base: 6px;\n@caret-width-base-vertical: (@caret-width-base + 2);\n\n@caret-width-xs: 4px;\n@caret-width-xs-vertical: (@caret-width-xs + 2);\n\n//== Buttons\n//\n//## For each of Flat UI's buttons, define text, background, font size and height.\n\n@btn-font-size-base: @component-font-size-base;\n@btn-font-size-xs: ceil((@component-font-size-base * 0.8)); // ~12px\n@btn-font-size-sm: floor((@component-font-size-base * 0.867)); // ~13px\n@btn-font-size-lg: ceil((@component-font-size-base * 1.133)); // ~17px\n@btn-font-size-hg: floor((@component-font-size-base * 1.467)); // ~22px\n\n@btn-line-height-base: 1.4; // ~21px\n@btn-line-height-hg: 1.227; // ~27px\n@btn-line-height-lg: 1.471; // ~25px\n@btn-line-height-sm: 1.385; // ~16px\n@btn-line-height-xs: 1.083; // ~13px\n\n@btn-social-font-size-base: floor((@component-font-size-base * 0.867)); // ~13px\n@btn-social-line-height-base: 1.077; // ~14px\n\n@btn-font-weight: normal;\n\n@btn-default-color: @inverse;\n@btn-default-bg: @gray-light;\n@btn-hover-bg: mix(@gray-light, white, 80%);\n@btn-active-bg: mix(@gray-light, black, 85%);\n\n@btn-primary-hover-bg: mix(@brand-secondary, white, 80%);\n@btn-primary-active-bg: mix(@brand-secondary, black, 85%);\n\n@btn-info-hover-bg: mix(@brand-info, white, 80%);\n@btn-info-active-bg: mix(@brand-info, black, 85%);\n\n@btn-success-hover-bg: mix(@brand-success, white, 80%);\n@btn-success-active-bg: mix(@brand-success, black, 85%);\n\n@btn-danger-hover-bg: mix(@brand-danger, white, 80%);\n@btn-danger-active-bg: mix(@brand-danger, black, 85%);\n\n@btn-warning-hover-bg: overlay(@brand-warning, darken(white, 37.5%));\n@btn-warning-active-bg: mix(@brand-warning, black, 85%);\n\n@btn-inverse-hover-bg: overlay(@brand-primary, darken(white, 37.5%));\n@btn-inverse-active-bg: mix(@brand-primary, black, 85%);\n\n@btn-link-disabled-color: @gray-light;\n\n\n//== Forms\n//\n//##\n\n@input-font-size-base: @component-font-size-base;\n@input-font-size-sm: floor((@component-font-size-base * 0.867)); // ~13px\n@input-font-size-lg: ceil((@component-font-size-base * 1.133)); // ~17px\n@input-font-size-hg: floor((@component-font-size-base * 1.467)); // ~22px\n\n@input-line-height-base: 1.467; // ~22px\n@input-line-height-sm: 1.462; // ~19px\n@input-line-height-lg: 1.235; // ~21px\n@input-line-height-hg: 1.318; // ~29px\n\n@input-icon-font-size: ceil((@component-font-size-base * 1.067)); // ~16px\n@input-icon-font-size-lg: ceil((@component-font-size-base * 1.2)); // ~18px\n@input-icon-font-size-hg: ceil((@component-font-size-base * 1.333)); // ~20px\n\n@input-bg: @inverse;\n@input-bg-disabled: mix(@gray, white, 10%);\n\n@input-height-sm: 35px;\n@input-height-base: 41px;\n@input-height-lg: 45px;\n@input-height-hg: 53px;\n\n@input-border-radius: @border-radius-large;\n\n//** Disabled cursor for form controls and buttons.\n@cursor-disabled: not-allowed;\n\n@legend-color: inherit;\n\n\n\n\n\n\n//== Tags Input\n//\n//##\n\n@tagsinput-container-bg: @inverse;\n@tagsinput-container-border-color: mix(@inverse, @brand-primary, 90%);\n@tagsinput-container-border-radius: @border-radius-large;\n\n@tagsinput-input-color: @brand-primary;\n\n@tagsinput-tag-bg: mix(@inverse, @brand-primary, 90%);\n@tagsinput-tag-color: mix(@brand-primary, @inverse, 65%);\n@tagsinput-tag-hover-bg: mix(@brand-secondary, black, 85%);\n@tagsinput-tag-hover-color: @inverse;\n@tagsinput-tag-icon-color: @inverse;\n@tagsinput-tag-border-radius: @border-radius-base;\n\n@tagsinput-primary-container-border-color: @brand-secondary;\n@tagsinput-primary-tag-bg: @brand-secondary;\n@tagsinput-primary-tag-color: @inverse;\n@tagsinput-primary-tag-hover-bg: mix(@brand-secondary, black, 85%);\n@tagsinput-primary-tag-hover-color: @inverse;\n\n\n//== Selects\n//\n//## For each of Flat UI's selects, define text, background, font size and height.\n\n@select-font-size-base: @btn-font-size-base;\n@select-font-size-sm: @btn-font-size-sm;\n@select-font-size-lg: @btn-font-size-lg;\n@select-font-size-hg: @btn-font-size-hg;\n\n@select-line-height-base: @btn-line-height-base;\n@select-line-height-hg: @btn-line-height-hg;\n@select-line-height-lg: @btn-line-height-lg;\n@select-line-height-sm: @btn-line-height-sm;\n\n@select-font-weight: @btn-font-weight;\n\n@select-disabled-opacity: 0.7;\n\n@select-default-color: @btn-default-color;\n@select-default-bg: @btn-default-bg;\n@select-default-hover-bg: @btn-hover-bg;\n@select-default-active-bg: @btn-active-bg;\n\n@select-primary-hover-bg: @btn-primary-hover-bg;\n@select-primary-active-bg: @btn-primary-active-bg;\n\n@select-info-hover-bg: @btn-info-hover-bg;\n@select-info-active-bg: @btn-info-active-bg;\n\n@select-success-hover-bg: @btn-success-hover-bg;\n@select-success-active-bg: @btn-success-active-bg;\n\n@select-danger-hover-bg: @btn-danger-hover-bg;\n@select-danger-active-bg: @btn-danger-active-bg;\n\n@select-warning-hover-bg: @btn-warning-hover-bg;\n@select-warning-active-bg: @btn-warning-active-bg;\n\n@select-inverse-hover-bg: @btn-inverse-hover-bg;\n@select-inverse-active-bg: @btn-inverse-active-bg;\n\n@select-link-disabled-color: @btn-link-disabled-color;\n@select-arrow-color: @brand-primary;\n\n// Select dropdowns\n@select-dropdown-border-radius: @border-radius-base;\n\n@select-dropdown-item-color: fade(@brand-primary, 85%);\n@select-dropdown-item-hover-color: inherit;\n@select-dropdown-item-hover-bg: mix(@inverse, @brand-primary, 85%);\n\n@select-dropdown-disabled-item-color: fade(@brand-primary, 95%);\n@select-dropdown-disabled-item-opacity: 0.4;\n\n@select-dropdown-highlighted-item-bg: @brand-secondary;\n@select-dropdown-highlighted-item-color: @inverse;\n\n@select-dropdown-optgroup-color: fade(@brand-primary, 60%);\n\n// Multiselect\n@multiselect-container-bg: @tagsinput-container-bg;\n@multiselect-container-border-color: @tagsinput-container-border-color;\n@multiselect-container-border-radius: @tagsinput-container-border-radius;\n\n@multiselect-tag-border-radius: @tagsinput-tag-border-radius;\n@multiselect-tag-color: @inverse;\n@multiselect-tag-hover-color: @tagsinput-tag-hover-color;\n@multiselect-tag-icon-color: @tagsinput-tag-icon-color;\n\n@multiselect-dropdown-border-radius: @border-radius-large;\n@multiselect-dropdown-item-border-radius: @border-radius-base;\n\n@multiselect-input-color: @tagsinput-input-color;\n\n\n//== Pagination\n//\n//##\n\n@pagination-bg: mix(@brand-primary, white, 20%);\n@pagination-hover-bg: @brand-secondary;\n@pagination-color: @inverse;\n@pagination-border-radius: @border-radius-large;\n\n\n//== Pager\n//\n//##\n\n@pager-padding: 9px 15px 10px;\n@pager-bg: @brand-primary;\n@pager-hover-bg: mix(@brand-primary, black, 85%);\n@pager-active-bg: @pager-hover-bg;\n@pager-border-radius: @border-radius-large;\n@pager-color: @inverse;\n\n\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n@zindex-navbar: 1000;\n@zindex-navbar-fixed: 1030;\n@navbar-height-base: 53px;\n@navbar-height-large: 76px;\n@navbar-input-line-height: 1.4; // ~21px\n@navbar-margin-bottom: @line-height-computed;\n@navbar-border-radius: @border-radius-large;\n\n@navbar-default-bg: saturate(spin(tint(@brand-primary, 91%), -18), 2%);\n\n// Navbar links\n@navbar-default-link-color: @brand-primary;\n@navbar-default-link-hover-color: @brand-secondary;\n@navbar-default-link-hover-bg: transparent;\n@navbar-default-link-active-color: @brand-secondary;\n@navbar-default-link-active-bg: transparent;\n@navbar-default-link-disabled-color: #ccc;\n@navbar-default-link-disabled-bg: transparent;\n\n// Navbar nav carets\n@navbar-default-caret-color: @navbar-default-link-color;\n@navbar-default-caret-hover-color: @navbar-default-link-hover-color;\n@navbar-default-caret-active-color: @navbar-default-link-active-color;\n\n// Navbar brand label\n@navbar-default-brand-color: @navbar-default-link-color;\n@navbar-default-brand-hover-color: @navbar-default-link-hover-color;\n@navbar-default-brand-hover-bg: transparent;\n\n// Navbar toggle\n@navbar-default-toggle-color: @navbar-default-link-color;\n@navbar-default-toggle-hover-color: @navbar-default-link-hover-color;\n\n// Navbar form\n@navbar-default-form-placeholder: spin(tint(@brand-primary, 60%), 2);\n@navbar-default-form-icon: desaturate(tint(@brand-primary, 45%), 2%);\n@navbar-default-form-border: shade(@navbar-default-bg, 3%);\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n@navbar-inverse-divider: darken(@brand-primary, 3%);\n\n// Reset inverted navbar basics\n@navbar-inverse-color: @inverse;\n@navbar-inverse-bg: @brand-primary;\n@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);\n\n// Inverted navbar links\n@navbar-inverse-link-color: @inverse;\n@navbar-inverse-link-hover-color: @brand-secondary;\n@navbar-inverse-link-hover-bg: transparent;\n@navbar-inverse-link-active-color: @navbar-inverse-link-color;\n@navbar-inverse-link-active-bg: @brand-secondary;\n@navbar-inverse-link-disabled-color: #444;\n@navbar-inverse-link-disabled-bg: transparent;\n\n// Navbar nav carets\n@navbar-inverse-caret-color: lighten(desaturate(@brand-primary, 7%), 9%);\n@navbar-inverse-caret-hover-color: @navbar-inverse-link-hover-color;\n@navbar-inverse-caret-active-color: @navbar-inverse-link-active-color;\n\n// Inverted navbar brand label\n@navbar-inverse-brand-color: @navbar-inverse-link-color;\n@navbar-inverse-brand-hover-color: @navbar-inverse-link-hover-color;\n@navbar-inverse-brand-hover-bg: transparent;\n\n// Inverted navbar toggle\n@navbar-inverse-toggle-color: @navbar-inverse-link-color;\n@navbar-inverse-toggle-hover-color: @navbar-inverse-link-hover-color;\n\n// Navbar form\n@navbar-inverse-form-bg: darken(@brand-primary, 6%);\n@navbar-inverse-form-placeholder: desaturate(lighten(@brand-primary, 13%), 7%);\n@navbar-inverse-form-icon: desaturate(lighten(@brand-primary, 13%), 6%);\n@navbar-inverse-form-border: @navbar-inverse-divider;\n\n// Navbar dropdowns\n@navbar-inverse-dropdown-bg: @navbar-inverse-bg;\n@navbar-inverse-dropdown-link-color: mix(@navbar-inverse-bg, @navbar-inverse-color, 15%);\n@navbar-inverse-dropdown-link-hover-color: @inverse;\n@navbar-inverse-dropdown-link-hover-bg: @brand-secondary;\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n\n@zindex-dropdown: 1000;\n@dropdown-border-radius: @border-radius-base;\n\n//** Background for the dropdown menu.\n@dropdown-bg: desaturate(lighten(@brand-primary, 67%), 20%);\n\n//** Dropdown link text color.\n@dropdown-link-color: mix(darken(@brand-primary, 5%), @inverse, 75%);\n//** Hover color for dropdown links.\n@dropdown-link-hover-color: darken(@dropdown-link-color, 5%);\n//** Hover background for dropdown links.\n@dropdown-link-hover-bg: fade(desaturate(lighten(@brand-primary, 52%), 21%), 50%);\n\n//** Active dropdown menu item text color.\n@dropdown-link-active-color: @inverse;\n//** Active dropdown menu item background color.\n@dropdown-link-active-bg: @brand-secondary;\n\n//** Disabled dropdown menu item background color.\n@dropdown-link-disabled-color: @gray-light;\n\n//** Divider color for between dropdown items.\n@dropdown-divider-bg: fade(@dropdown-link-hover-bg, 50%);\n\n//** Text color for headers within dropdown menus.\n@dropdown-header-color: fade(@brand-primary, 60%);\n\n\n// Inverted dropdown\n//\n\n@dropdown-inverse-bg: @brand-primary;\n\n\n//** Dropdown link text color.\n@dropdown-inverse-link-color: fade(@inverse, 85%);\n//** Hover color for dropdown links.\n@dropdown-inverse-link-hover-color: fade(@inverse, 85%);\n//** Hover background for dropdown links.\n@dropdown-inverse-link-hover-bg: fade(darken(@brand-primary, 5%), 50%);\n\n//** Active dropdown menu item text color.\n@dropdown-inverse-link-active-color: fade(@inverse, 85%);\n//** Active dropdown menu item background color.\n@dropdown-inverse-link-active-bg: @brand-secondary;\n\n//** Disabled dropdown menu item background color.\n@dropdown-inverse-link-disabled-color: fade(@dropdown-inverse-link-color, 50%);\n\n//** Divider color for between dropdown items.\n@dropdown-inverse-divider-bg: @dropdown-inverse-link-hover-bg;\n\n//** Text color for headers within dropdown menus.\n@dropdown-inverse-header-color: fade(@inverse, 40%);\n\n\n//== Progress bars\n//\n//##\n\n@progress-height: 12px;\n\n\n//== Slider\n//\n//##\n\n@slider-height: 12px;\n@slider-value-font-size: floor((@component-font-size-base * 0.867)); // ~13px;\n\n@slider-handle-bg: mix(@brand-secondary, black, 85%);\n@slider-handle-hover-bg: mix(@brand-secondary, white, 80%);\n@slider-handle-active-bg: mix(@brand-secondary, black, 85%);\n\n@slider-range-bg: @brand-secondary;\n\n@slider-segment-bg: mix(desaturate(@brand-primary, 15%), white, 20%);\n\n\n//== Switch\n//\n//##\n\n@switch-name: bootstrap-switch;\n@switch-border-radius: 30px;\n@switch-width: 80px;\n@switch-height: 29px;\n\n\n\n//== Video player\n//\n//##\n\n@vplayer-border-radius: @border-radius-large;\n@vplayer-fullscreen-bg: #000;\n@vplayer-fullscreen-zindex: 10000;\n\n@vplayer-control-bar-color: @inverse;\n@vplayer-control-bar-bg: @midnight-blue;\n\n@vplayer-preloader-primary-bg: #e74c3c;\n@vplayer-preloader-secondary-bg: #ebedee;\n\n@vplayer-text-track-bg: rgba(0,0,0,.5);\n\n@vplaver-play-control-color: @brand-secondary;\n@vplaver-play-control-hover-color: mix(@brand-secondary, black, 85%);\n\n@vplaver-second-controls-color: desaturate(lighten(@midnight-blue, 12%), 6%);\n@vplaver-second-controls-hover-color: desaturate(lighten(@midnight-blue, 20%), 6%);\n\n@vplaver-progress-bg: mix(@brand-primary, @inverse, 93%);\n@vplaver-play-progress-bg: @brand-secondary;\n@vplaver-load-progress-bg: mix(@brand-primary, @inverse, 20%);\n\n@vplayer-seek-handle-bg: mix(@brand-secondary, black, 85%);\n@vplayer-seek-handle-hover-bg: mix(@brand-secondary, black, 75%);\n@vplayer-seek-handle-active-bg: mix(@brand-secondary, black, 65%);\n\n@vplayer-time-divider-color: mix(@brand-primary, @inverse, 80%);\n@vplayer-duration-color: mix(@brand-primary, @inverse, 80%);\n\n\n\n\n//== Todo list\n//\n//##\n\n@todo-bg: @brand-primary;\n@todo-bg-active: mix(@brand-primary, black, 85%);\n@todo-search-bg: @brand-secondary;\n@todo-search-color: @brand-primary;\n@todo-color: mix(@brand-primary, @inverse, 66%);\n@todo-name-color: @inverse;\n@todo-color-active: @brand-secondary;\n@todo-border-radius: @border-radius-large;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n@thumbnail-padding: 4px;\n//** Thumbnail background color\n@thumbnail-bg: @body-bg;\n//** Thumbnail border color\n@thumbnail-border: @gray-light;\n//** Thumbnail border radius\n@thumbnail-border-radius: @border-radius-large;\n\n//** Custom text color for thumbnail captions\n@thumbnail-caption-color: @text-color;\n//** Padding around the thumbnail caption\n@thumbnail-caption-padding: 9px;\n\n\n//== Tiles\n//\n//##\n\n@tiles-bg: mix(@brand-primary, @inverse, 8%);\n@tiles-border-radius: @border-radius-large;\n\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n@screen-xs-min: 480px;\n\n// Small screen / tablet\n@screen-sm-min: 768px;\n\n// Medium screen / desktop\n@screen-md-min: 992px;\n\n// Large screen / wide desktop\n@screen-lg-min: 1200px;\n\n// So media queries don't overlap when required, provide a maximum\n@screen-xs-max: (@screen-sm-min - 1);\n@screen-sm-max: (@screen-md-min - 1);\n@screen-md-max: (@screen-lg-min - 1);\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n@grid-columns: 12;\n//** Padding between columns. Gets divided in half for the left and right.\n@grid-gutter-width: 30px;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n@grid-float-breakpoint: @screen-sm-min;\n//** Point at which the navbar begins collapsing.\n@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n@state-success-text: @brand-success;\n@state-success-bg: #dff0d8;\n@state-success-border: darken(spin(@state-success-bg, -10), 5%);\n\n@state-info-text: @brand-info;\n@state-info-bg: #d9edf7;\n@state-info-border: darken(spin(@state-info-bg, -10), 7%);\n\n@state-warning-text: @brand-warning;\n@state-warning-bg: #fcf8e3;\n@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);\n\n@state-danger-text: @brand-danger;\n@state-danger-bg: #f2dede;\n@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n@tooltip-max-width: 183px;\n//** Tooltip text color\n@tooltip-color: @inverse;\n//** Tooltip background color\n@tooltip-bg: @brand-primary;\n@tooltip-opacity: 1;\n//** Tooltip zIndex\n@zindex-tooltip: 1070;\n\n//** Tooltip inverse text color\n@tooltip-inverse-color: @brand-primary;\n//** Tooltip inverse background color\n@tooltip-inverse-bg: mix(@brand-primary, white, 9%);\n\n//** Tooltip arrow width\n@tooltip-arrow-width: 9px;\n//** Tooltip arrow color\n@tooltip-arrow-color: @tooltip-bg;\n//** Tooltip inverse arrow color\n@tooltip-inverse-arrow-color: @tooltip-inverse-bg;\n\n\n\n\n//== Code\n//\n//##\n\n@code-color: #c7254e;\n@code-bg: #f9f2f4;\n\n@kbd-color: @inverse;\n@kbd-bg: @brand-primary;\n\n@pre-bg: @inverse;\n@pre-color: inherit;\n@pre-border-color: mix(@brand-primary, @inverse, 12%);\n@pre-scrollable-max-height: 340px;\n@pre-border-radius: @border-radius-large;\n\n\n//== Form states and alerts\n//\n//##\n\n//** Text muted color\n@text-muted: @gray-light;\n//** Abbreviations and acronyms border color\n@abbr-border-color: @gray-light;\n//** Headings small color\n@headings-small-color: mix(@brand-primary, @inverse, 12%);\n//** Blockquote small color\n@blockquote-small-color: inherit;\n//** Blockquote border color\n@blockquote-border-color: mix(@brand-primary, @inverse, 12%);\n//** Page header border color\n@page-header-border-color: mix(@brand-primary, @inverse, 12%);\n//** Width of horizontal description list titles\n@dl-horizontal-offset: @component-offset-horizontal;\n\n\n//== Miscellaneous\n//\n//##\n\n//** Hr border color\n@hr-border: mix(@brand-primary, @inverse, 63%);\n\n//** Horizontal forms & lists\n@component-offset-horizontal: 180px;\n"]} -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/src/demo.less: -------------------------------------------------------------------------------- 1 | // 2 | // Flat UI's demo styles 3 | // -------------------------------------------------- 4 | 5 | // Variables and utilityes 6 | @import "../../../../less/variables"; 7 | @import "../../../../less/mixins"; 8 | @import "prettyprint"; 9 | 10 | .container { 11 | width: 970px !important; 12 | } 13 | 14 | // For demo purposes only 15 | .demo-headline { 16 | padding: 73px 0 110px; 17 | text-align: center; 18 | } 19 | .demo-logo { 20 | font: 900 90px/100px @font-family-demo; 21 | letter-spacing: -2px; 22 | margin: 10px 0; 23 | 24 | .logo { 25 | background: url(../img/demo/logo-mask.png) center 0 no-repeat; 26 | background-size: 236px 181px; 27 | height: 181px; 28 | margin: 0 auto 26px; 29 | overflow: hidden; 30 | text-indent: -9999em; 31 | width: 236px; 32 | } 33 | small { 34 | color: fadeout(@brand-primary, 70%); 35 | display: block; 36 | font-size: 22px; 37 | font-weight: 700; 38 | letter-spacing: 0; 39 | padding-top: 5px; 40 | } 41 | } 42 | // Panels delimiter 43 | .demo-row { 44 | margin-bottom: 20px; 45 | 46 | .demo-heading-note, 47 | .demo-text-note { 48 | display: block; 49 | width: 260px; 50 | position: absolute; 51 | bottom: 10px; 52 | left: 0; 53 | font-size: 13px; 54 | line-height: 13px; 55 | color: mix(desaturate(@brand-primary, 25%), white, 34%); 56 | font-weight: 400; 57 | } 58 | .demo-text-note { 59 | bottom: auto; 60 | top: 10px; 61 | } 62 | 63 | &.typography-row { 64 | .demo-content { 65 | float: none; 66 | width: auto; 67 | clear: both; 68 | } 69 | .demo-type-example { 70 | padding-left: 25%; 71 | margin-bottom: 40px; 72 | position: relative; 73 | } 74 | } 75 | } 76 | .demo-section-title { 77 | font: 900 32px/40px @font-family-demo; 78 | margin: 10px 0; 79 | } 80 | .demo-panel-title { 81 | padding-top: 20px; 82 | margin: 2px 0 20px; 83 | font: bold 23px/40px @font-family-demo; 84 | 85 | small { 86 | color: mix(@brand-primary, @inverse, 66%); 87 | font-size: inherit; 88 | font-weight: 400; 89 | } 90 | } 91 | // Shift blocks to fit design 92 | .demo-navigation { 93 | margin-bottom: -4px; 94 | margin-top: -10px; 95 | } 96 | .demo-pager { 97 | margin-top: -20px; 98 | } 99 | .demo-tooltips { 100 | height: 126px; 101 | 102 | // Needed just for the demo. Don't use it in producion ;) 103 | .tooltip { 104 | left: -8px !important; 105 | position: relative !important; 106 | top: -8px !important; 107 | } 108 | } 109 | .demo-headings { 110 | margin-bottom: 12px; 111 | } 112 | .demo-tiles { 113 | margin-bottom: 46px 114 | } 115 | 116 | .demo-icons { 117 | font-size: 32px; 118 | margin-left: -20px; 119 | padding-left: 20px; 120 | 121 | .demo-content { 122 | margin: 0 0 0 -35px; 123 | 124 | > span { 125 | display: inline-block; 126 | margin: 0 0 32px 35px; 127 | width: 24px; 128 | font-size: 24px; 129 | } 130 | } 131 | } 132 | 133 | .demo-icons-tooltip { 134 | bottom: 0; 135 | color: mix(@brand-primary, @inverse, 30%); 136 | font-size: 12px; 137 | left: 100%; 138 | margin-left: 0 !important; 139 | position: absolute; 140 | width: 80px; 141 | } 142 | 143 | // Illustration Icons 144 | // -------------------------------------------------- 145 | .demo-illustrations { 146 | 147 | .demo-content { 148 | margin: 0 0 0 -40px; 149 | padding-top: 20px; 150 | .clearfix(); 151 | 152 | > div { 153 | float: left; 154 | width: 100px; 155 | height: 100px; 156 | line-height: 100px; 157 | margin: 0 0 40px 40px; 158 | text-align: center; 159 | } 160 | } 161 | img { 162 | display: inline-block; 163 | max-height: 100px; 164 | max-width: 100px; 165 | vertical-align: middle; 166 | } 167 | } 168 | 169 | .demo-samples { 170 | margin-bottom: 46px; 171 | } 172 | .demo-download-section { 173 | float: none; 174 | margin: 0 auto; 175 | padding: 60px 0 90px 20px; 176 | text-align: center; 177 | 178 | [class*='fui-'] { 179 | margin: 3px 0 -3px; 180 | } 181 | } 182 | .demo-download { 183 | background-color: mix(@brand-primary, @inverse, 10%); 184 | height: 190px; 185 | margin: 0 auto 32px; 186 | padding: 40px 28px 30px 32px; 187 | text-align: center; 188 | width: 190px; 189 | border-radius: 50%; 190 | 191 | img { 192 | height: 104px; 193 | width: 82px; 194 | } 195 | } 196 | .demo-download-text { 197 | font-size: 15px; 198 | padding: 20px 0; 199 | text-align: center; 200 | } 201 | .demo-text-box { 202 | a:hover { 203 | color: @brand-secondary; 204 | } 205 | } 206 | .demo-browser { 207 | background: mix(@brand-primary, black, 85%) url(../img/demo/browser.png) 0 0 no-repeat; 208 | background-size: 659px 42px; 209 | color: @inverse; 210 | margin: 0 41px 140px 0; 211 | padding-top: 42px; 212 | border-radius: 0 0 @border-radius-large @border-radius-large; 213 | } 214 | .demo-browser-side { 215 | float: left; 216 | padding: 22px 20px; 217 | width: 151px; 218 | 219 | > h5 { 220 | font-size: 16px; 221 | margin-top: 4px; 222 | margin-bottom: 3px; 223 | text-transform: none; 224 | font-weight: 400; 225 | } 226 | > h6 { 227 | font-size: 11px; 228 | font-weight: 300; 229 | line-height: 18px; 230 | margin-top: 3px; 231 | text-transform: none; 232 | -webkit-font-smoothing: subpixel-antialiased; 233 | } 234 | } 235 | .demo-browser-author { 236 | background: url(../img/demo/browser-author.jpg) center no-repeat; 237 | border: 3px solid @inverse; 238 | display: block; 239 | height: 84px; 240 | margin: 0 auto; 241 | width: 84px; 242 | border-radius: 50%; 243 | } 244 | .demo-browser-action { 245 | padding: 30px 0 12px; 246 | 247 | > .btn { 248 | padding: 7px 0 8px 11px !important; 249 | text-align: left; 250 | border-radius: @border-radius-small; 251 | 252 | > [class^="fui-"] { 253 | margin-right: 12px; 254 | position: relative; 255 | top: 1px; 256 | } 257 | } 258 | } 259 | .demo-browser-content { 260 | background-color: @brand-primary; 261 | overflow: hidden; 262 | padding: 21px 0 0 20px; 263 | border-radius: 0 0 @border-radius-large; 264 | 265 | > img { 266 | border: 6px solid @inverse; 267 | float: left; 268 | margin: 0 15px 20px 0; 269 | width: 146px; 270 | } 271 | } 272 | // Serving 2x images 273 | @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 2) { 274 | .logo { 275 | background-image: url(../img/demo/logo-mask-2x.png); 276 | } 277 | .demo-browser { 278 | background-image: url(../img/demo/browser-2x.png); 279 | } 280 | } 281 | 282 | // Shatches 283 | .demo-swatches-row { 284 | [class*="col"] { 285 | float: left; 286 | min-height: 1px; 287 | } 288 | .swatches-col { 289 | width: 800px; 290 | margin-left: -5px; 291 | } 292 | .swatches-desc-col { 293 | width: 140px; 294 | margin-left: 20px; 295 | } 296 | } 297 | -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/src/docs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Docs Flat UI Pro 3 | // -------------------------------------------------- 4 | 5 | // Variables and utilityes 6 | @import "../../../../less/variables"; 7 | @import "../../../../less/mixins"; 8 | @import "prettyprint"; 9 | 10 | .docs-example-popovers { 11 | position: relative; 12 | margin: -20px -20px 0; 13 | .clearfix(); 14 | 15 | .popover { 16 | display: block; 17 | float: left; 18 | margin: 20px; 19 | position: relative; 20 | width: 260px; 21 | } 22 | } 23 | 24 | // For demo purposes only 25 | .demo-headline { 26 | color: @brand-secondary; 27 | font: 700 118px/1.1 @font-family-demo !important; 28 | margin-bottom: 50px; 29 | padding: 40px 0; 30 | text-align: center; 31 | word-wrap: break-word; 32 | margin-top: 2px; 33 | } 34 | 35 | // Panels delimiter 36 | .demo-row { 37 | margin: 0 auto; 38 | padding: 0 20px 50px; 39 | width: 940px; 40 | .clearfix(); 41 | 42 | .demo-heading-note, 43 | .demo-text-note { 44 | display: block; 45 | width: 260px; 46 | position: absolute; 47 | bottom: 10px; 48 | left: 0; 49 | font-size: 13px; 50 | line-height: 13px; 51 | color: mix(desaturate(@brand-primary, 25%), white, 34%); 52 | font-weight: 400; 53 | } 54 | .demo-text-note { 55 | bottom: auto; 56 | top: 10px; 57 | } 58 | &.menu-row { 59 | padding: 50px 20px 10px; 60 | } 61 | &.typography-row { 62 | .demo-content { 63 | float: none; 64 | margin-left: 20px; 65 | padding-top: 0; 66 | width: auto; 67 | clear: both; 68 | } 69 | .demo-type-example { 70 | padding-left: 265px; 71 | margin-bottom: 40px; 72 | position: relative; 73 | } 74 | } 75 | } 76 | 77 | .demo-col { 78 | float: left; 79 | margin: 0 20px; 80 | width: 270px; 81 | } 82 | 83 | .demo-content { 84 | float: left; 85 | margin-left: 20px; 86 | width: 580px; 87 | 88 | &.demo-content-article { 89 | p { margin-bottom: 20px; } 90 | 91 | ul { 92 | list-style-type: none; 93 | margin-left: 0; 94 | } 95 | 96 | li { 97 | line-height: ceil((@font-size-base * 1.285 * 1.5)); 98 | padding: 0 0 5px; 99 | } 100 | } 101 | } 102 | 103 | .demo-content-wide { 104 | clear: both; 105 | margin: 0 20px; 106 | .clearfix(); 107 | } 108 | 109 | .demo-title { 110 | float: left; 111 | margin: -0.5em 20px 0; 112 | width: 240px; 113 | font: 700 24.5px/40px @font-family-demo; 114 | 115 | h1, h2, h3, h4 { 116 | margin-top: 0; 117 | font-family: @font-family-demo; 118 | } 119 | h1, h2, h3 { 120 | line-height: 40px !important; 121 | } 122 | h3 { 123 | font-size: 24.5px !important; 124 | } 125 | small { 126 | color: mix(desaturate(@brand-primary, 25%), white, 34%); 127 | font-size: 13px; 128 | font-weight: 400; 129 | } 130 | } 131 | 132 | .demo-buttons .btn, 133 | .demo-inputs .control-group { 134 | margin-bottom: 20px; 135 | } 136 | 137 | .demo-navigation { 138 | .demo-title { 139 | margin-top: 10px; 140 | } 141 | } 142 | 143 | .demo-pager { 144 | margin-top: -10px; 145 | } 146 | 147 | .demo-tooltips { 148 | width: 40%; 149 | padding-left: 10px; 150 | // Needed just for the demo. Don't use it in producion ;) 151 | 152 | .tooltip { 153 | left: -8px !important; 154 | position: relative !important; 155 | top: -8px !important; 156 | } 157 | .tooltip-inner { 158 | max-width: 100%; 159 | width: auto; 160 | } 161 | } 162 | 163 | .demo-popovers { 164 | .popover { 165 | display: block; 166 | margin: 0 13px 0 -3px; 167 | position: relative; 168 | width: auto; 169 | } 170 | } 171 | 172 | .demo-social-buttons { 173 | .btn { 174 | clear: left; 175 | float: left; 176 | margin-bottom: 17px; 177 | } 178 | } 179 | 180 | .demo-headings { 181 | margin-bottom: 12px; 182 | } 183 | 184 | .demo-tiles { 185 | margin-bottom: 46px; 186 | } 187 | 188 | .demo-icons { 189 | font-size: 32px; 190 | margin-left: -15px; 191 | 192 | > span { 193 | display: inline-block; 194 | margin: 0 0 32px 35px; 195 | width: 32px; 196 | } 197 | 198 | @media (max-width: 480px) { 199 | > span { 200 | margin-left: 16px; 201 | margin-right: 16px; 202 | } 203 | } 204 | } 205 | 206 | .demo-icons-tooltip { 207 | bottom: 0; 208 | color: mix(@brand-primary, @inverse, 30%); 209 | font-size: 12px; 210 | left: 100%; 211 | margin-left: 0 !important; 212 | position: absolute; 213 | width: 80px; 214 | } 215 | 216 | .demo-inline { 217 | display: inline-block; 218 | } 219 | 220 | .demo-labels { 221 | font-size: floor((@font-size-base * 1.056)); // ~19px 222 | 223 | .visible-lg { 224 | display: inline !important; 225 | 226 | @media (max-width: 767px) { 227 | display: none !important; 228 | } 229 | } 230 | } 231 | 232 | 233 | // Illustration Icons 234 | // -------------------------------------------------- 235 | .demo-illustrations { 236 | margin-top: 40px; 237 | 238 | .demo-content-wide { 239 | margin: 0 0 0 -66px; 240 | padding-top: 20px; 241 | 242 | > div { 243 | float: left; 244 | width: 100px; 245 | height: 100px; 246 | line-height: 100px; 247 | margin: 0 0 80px 87px; 248 | text-align: center; 249 | vertical-align: middle; 250 | } 251 | } 252 | img { 253 | display: inline-block; 254 | max-height: 100px; 255 | max-width: 100px; 256 | vertical-align: middle; 257 | } 258 | } 259 | 260 | // Dialog with form inside 261 | .demo-dialog { 262 | padding: 13px 20px 15px; 263 | 264 | .flat { 265 | width: 300px; 266 | } 267 | @media (max-width: 767px) { 268 | .flat { 269 | width: 100%; 270 | } 271 | } 272 | } 273 | 274 | // Static Modal 275 | .static-modal-backdrop { 276 | background-color: mix(@brand-primary, black, 70%); 277 | padding: 62px 14px; 278 | margin-bottom: 50px; 279 | width: 100%; 280 | 281 | .modal { 282 | bottom: auto; 283 | display: block; 284 | position: relative; 285 | top: auto; 286 | z-index: 1; 287 | overflow: hidden; 288 | padding-bottom: 20px; 289 | } 290 | .modal-dialog { 291 | padding: 0; 292 | } 293 | } 294 | 295 | .components-static-modal { 296 | .modal { 297 | bottom: auto; 298 | display: block; 299 | left: auto; 300 | position: relative; 301 | top: auto; 302 | z-index: 1; 303 | overflow: visible; 304 | } 305 | .modal-dialog, 306 | .modal-content { 307 | width: auto; 308 | } 309 | .modal-dialog { 310 | padding: 0; 311 | } 312 | } 313 | 314 | // Sidebar for Components navigation 315 | .demo-sidebar { 316 | font-size: floor((@font-size-base * 0.778)); // ~14px 317 | line-height: 1.214; // ~17px 318 | height: 100%; 319 | left: 0; 320 | margin: 0; 321 | list-style-type: none; 322 | overflow: auto; 323 | position: fixed; 324 | top: 0; 325 | padding: 0; 326 | width: 150px; 327 | z-index: 10000; 328 | background-color: mix(@brand-primary, white, 6%); 329 | -webkit-font-smoothing: subpixel-antialiased; 330 | 331 | li { 332 | &:first-child { 333 | a { 334 | padding-top: 20px; 335 | } 336 | } 337 | } 338 | 339 | a { 340 | display: block; 341 | padding: 7px 20px; 342 | } 343 | } 344 | 345 | 346 | // File Input 347 | .demo-col { 348 | .fileinput { 349 | .input-group { // Inline fileinput 350 | .uneditable-input { 351 | max-width: 370px; 352 | } 353 | } 354 | } 355 | } 356 | 357 | // 358 | // Responsive: Landscape phone to desktop/tablet 359 | // -------------------------------------------------- 360 | @media (max-width: 767px) { 361 | .demo-row { 362 | margin-bottom: 0; 363 | margin-left: 0; 364 | padding-left: 0; 365 | padding-right: 0; 366 | width: auto; 367 | } 368 | .demo-col, 369 | .demo-content, 370 | .demo-content-wide, 371 | .demo-title { 372 | float: none; 373 | margin: 0 0 18px !important; 374 | padding: 0 !important; 375 | width: auto; 376 | } 377 | .demo-headline { 378 | font-size: ceil((@font-size-base * 3.611)) !important; 379 | text-align: left; 380 | padding-left: 15px; 381 | padding-right: 15px; 382 | } 383 | 384 | .demo-inline { display: block; } 385 | 386 | .demo-navigation { 387 | .btn-toolbar { 388 | margin: 0; 389 | } 390 | 391 | .pager { 392 | display: block; 393 | margin-left: 0 !important; 394 | margin-bottom: 20px; 395 | } 396 | } 397 | .typography-row { 398 | .demo-type-example { 399 | padding-left: 0 !important; 400 | } 401 | .demo-heading-note, 402 | .demo-text-note { 403 | position: static !important; 404 | margin: 0 0 10px; 405 | } 406 | } 407 | .demo-illustrations .demo-content-wide > div { 408 | margin-left: 67px; 409 | } 410 | } 411 | 412 | /* Demo video */ 413 | .demo-video { 414 | margin-top: 40px; 415 | } 416 | 417 | @media (max-width: 480px) { 418 | .demo-illustrations .demo-content-wide > div { 419 | margin-left: 23px; 420 | } 421 | .demo-navigation { 422 | .mll.pvl { 423 | padding: 0; 424 | margin-left: 0 !important; 425 | margin-bottom: 20px; 426 | } 427 | } 428 | } 429 | -------------------------------------------------------------------------------- /BBS/WebContent/assets/css/src/prettyprint.less: -------------------------------------------------------------------------------- 1 | /* Prettyfy Theme */ 2 | .prettyprint { 3 | background-color: #F7F7F9; 4 | font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; 5 | border: 2px solid #E1E1E8; 6 | padding: 15px 21px; 7 | } 8 | 9 | .pln { 10 | color: #333333; 11 | } 12 | 13 | @media screen { 14 | .str { 15 | color: #dd1144; 16 | } 17 | 18 | .kwd { 19 | color: #333333; 20 | } 21 | 22 | .com { 23 | color: #999988; 24 | } 25 | 26 | .typ { 27 | color: #445588; 28 | } 29 | 30 | .lit { 31 | color: #445588; 32 | } 33 | 34 | .pun { 35 | color: #333333; 36 | } 37 | 38 | .opn { 39 | color: #333333; 40 | } 41 | 42 | .clo { 43 | color: #333333; 44 | } 45 | 46 | .tag { 47 | color: navy; 48 | } 49 | 50 | .atn { 51 | color: teal; 52 | } 53 | 54 | .atv { 55 | color: #dd1144; 56 | } 57 | 58 | .dec { 59 | color: #333333; 60 | } 61 | 62 | .var { 63 | color: teal; 64 | } 65 | 66 | .fun { 67 | color: #990000; 68 | } 69 | } 70 | @media print, projection { 71 | .str { 72 | color: #006600; 73 | } 74 | 75 | .kwd { 76 | color: #006; 77 | font-weight: bold; 78 | } 79 | 80 | .com { 81 | color: #600; 82 | font-style: italic; 83 | } 84 | 85 | .typ { 86 | color: #404; 87 | font-weight: bold; 88 | } 89 | 90 | .lit { 91 | color: #004444; 92 | } 93 | 94 | .pun, .opn, .clo { 95 | color: #444400; 96 | } 97 | 98 | .tag { 99 | color: #006; 100 | font-weight: bold; 101 | } 102 | 103 | .atn { 104 | color: #440044; 105 | } 106 | 107 | .atv { 108 | color: #006600; 109 | } 110 | } 111 | /* Specify class=linenums on a pre to get line numbering */ 112 | ol.linenums { 113 | margin-top: 0; 114 | margin-bottom: 0; 115 | } 116 | -------------------------------------------------------------------------------- /BBS/WebContent/assets/js/application.js: -------------------------------------------------------------------------------- 1 | // Some general UI pack related JS 2 | // Extend JS String with repeat method 3 | String.prototype.repeat = function (num) { 4 | return new Array(Math.round(num) + 1).join(this); 5 | }; 6 | 7 | (function ($) { 8 | 9 | // Add segments to a slider 10 | $.fn.addSliderSegments = function () { 11 | return this.each(function () { 12 | var $this = $(this), 13 | option = $this.slider('option'), 14 | amount = (option.max - option.min)/option.step, 15 | orientation = option.orientation; 16 | if ( 'vertical' === orientation ) { 17 | var output = '', i; 18 | console.log(amount); 19 | for (i = 1; i <= amount - 1; i++) { 20 | output += '
'; 21 | } 22 | $this.prepend(output); 23 | } else { 24 | var segmentGap = 100 / (amount) + '%'; 25 | var segment = '
'; 26 | $this.prepend(segment.repeat(amount - 1)); 27 | } 28 | }); 29 | }; 30 | 31 | $(function () { 32 | 33 | // Todo list 34 | $('.todo').on('click', 'li', function () { 35 | $(this).toggleClass('todo-done'); 36 | }); 37 | 38 | // Custom Selects 39 | if ($('[data-toggle="select"]').length) { 40 | $('[data-toggle="select"]').select2(); 41 | } 42 | 43 | // Checkboxes and Radio buttons 44 | $('[data-toggle="checkbox"]').radiocheck(); 45 | $('[data-toggle="radio"]').radiocheck(); 46 | 47 | // Tooltips 48 | $('[data-toggle=tooltip]').tooltip('show'); 49 | 50 | // jQuery UI Sliders 51 | var $slider = $('#slider'); 52 | if ($slider.length > 0) { 53 | $slider.slider({ 54 | max: 15, 55 | step: 6, 56 | value: 3, 57 | orientation: 'horizontal', 58 | range: 'min' 59 | }).addSliderSegments(); 60 | } 61 | 62 | var $verticalSlider = $('#vertical-slider'); 63 | if ($verticalSlider.length) { 64 | $verticalSlider.slider({ 65 | min: 1, 66 | max: 5, 67 | value: 3, 68 | orientation: 'vertical', 69 | range: 'min' 70 | }).addSliderSegments($verticalSlider.slider('option').max, 'vertical'); 71 | } 72 | 73 | // Focus state for append/prepend inputs 74 | $('.input-group').on('focus', '.form-control', function () { 75 | $(this).closest('.input-group, .form-group').addClass('focus'); 76 | }).on('blur', '.form-control', function () { 77 | $(this).closest('.input-group, .form-group').removeClass('focus'); 78 | }); 79 | 80 | // Make pagination demo work 81 | $('.pagination').on('click', 'a', function () { 82 | $(this).parent().siblings('li').removeClass('active').end().addClass('active'); 83 | }); 84 | 85 | $('.btn-group').on('click', 'a', function () { 86 | $(this).siblings().removeClass('active').end().addClass('active'); 87 | }); 88 | 89 | // Disable link clicks to prevent page scrolling 90 | $(document).on('click', 'a[href="#fakelink"]', function (e) { 91 | e.preventDefault(); 92 | }); 93 | 94 | // Switches 95 | if ($('[data-toggle="switch"]').length) { 96 | $('[data-toggle="switch"]').bootstrapSwitch(); 97 | } 98 | 99 | // Typeahead 100 | if ($('#typeahead-demo-01').length) { 101 | var states = new Bloodhound({ 102 | datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.word); }, 103 | queryTokenizer: Bloodhound.tokenizers.whitespace, 104 | limit: 4, 105 | local: [ 106 | { word: 'Alabama' }, 107 | { word: 'Alaska' }, 108 | { word: 'Arizona' }, 109 | { word: 'Arkansas' }, 110 | { word: 'California' }, 111 | { word: 'Colorado' } 112 | ] 113 | }); 114 | 115 | states.initialize(); 116 | 117 | $('#typeahead-demo-01').typeahead(null, { 118 | name: 'states', 119 | displayKey: 'word', 120 | source: states.ttAdapter() 121 | }); 122 | } 123 | 124 | // make code pretty 125 | window.prettyPrint && prettyPrint(); 126 | 127 | }); 128 | 129 | })(jQuery); 130 | -------------------------------------------------------------------------------- /BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeonAng/JavaWeb_BBS/564cef8df0a3936a17213a452cac124287237bf1/BBS/WebContent/dist/css/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /BBS/WebContent/dist/js/vendor/html5shiv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | ;(function(window, document) { 5 | /*jshint evil:true */ 6 | /** version */ 7 | var version = '3.7.3'; 8 | 9 | /** Preset options */ 10 | var options = window.html5 || {}; 11 | 12 | /** Used to skip problem elements */ 13 | var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; 14 | 15 | /** Not all elements can be cloned in IE **/ 16 | var saveClones = /^(?: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; 17 | 18 | /** Detect whether the browser supports default html5 styles */ 19 | var supportsHtml5Styles; 20 | 21 | /** Name of the expando, to work with multiple documents or to re-shiv one document */ 22 | var expando = '_html5shiv'; 23 | 24 | /** The id for the the documents expando */ 25 | var expanID = 0; 26 | 27 | /** Cached data for each document */ 28 | var expandoData = {}; 29 | 30 | /** Detect whether the browser supports unknown elements */ 31 | var supportsUnknownElements; 32 | 33 | (function() { 34 | try { 35 | var a = document.createElement('a'); 36 | a.innerHTML = ''; 37 | //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles 38 | supportsHtml5Styles = ('hidden' in a); 39 | 40 | supportsUnknownElements = a.childNodes.length == 1 || (function() { 41 | // assign a false positive if unable to shiv 42 | (document.createElement)('a'); 43 | var frag = document.createDocumentFragment(); 44 | return ( 45 | typeof frag.cloneNode == 'undefined' || 46 | typeof frag.createDocumentFragment == 'undefined' || 47 | typeof frag.createElement == 'undefined' 48 | ); 49 | }()); 50 | } catch(e) { 51 | // assign a false positive if detection fails => unable to shiv 52 | supportsHtml5Styles = true; 53 | supportsUnknownElements = true; 54 | } 55 | 56 | }()); 57 | 58 | /*--------------------------------------------------------------------------*/ 59 | 60 | /** 61 | * Creates a style sheet with the given CSS text and adds it to the document. 62 | * @private 63 | * @param {Document} ownerDocument The document. 64 | * @param {String} cssText The CSS text. 65 | * @returns {StyleSheet} The style element. 66 | */ 67 | function addStyleSheet(ownerDocument, cssText) { 68 | var p = ownerDocument.createElement('p'), 69 | parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; 70 | 71 | p.innerHTML = 'x'; 72 | return parent.insertBefore(p.lastChild, parent.firstChild); 73 | } 74 | 75 | /** 76 | * Returns the value of `html5.elements` as an array. 77 | * @private 78 | * @returns {Array} An array of shived element node names. 79 | */ 80 | function getElements() { 81 | var elements = html5.elements; 82 | return typeof elements == 'string' ? elements.split(' ') : elements; 83 | } 84 | 85 | /** 86 | * Extends the built-in list of html5 elements 87 | * @memberOf html5 88 | * @param {String|Array} newElements whitespace separated list or array of new element names to shiv 89 | * @param {Document} ownerDocument The context document. 90 | */ 91 | function addElements(newElements, ownerDocument) { 92 | var elements = html5.elements; 93 | if(typeof elements != 'string'){ 94 | elements = elements.join(' '); 95 | } 96 | if(typeof newElements != 'string'){ 97 | newElements = newElements.join(' '); 98 | } 99 | html5.elements = elements +' '+ newElements; 100 | shivDocument(ownerDocument); 101 | } 102 | 103 | /** 104 | * Returns the data associated to the given document 105 | * @private 106 | * @param {Document} ownerDocument The document. 107 | * @returns {Object} An object of data. 108 | */ 109 | function getExpandoData(ownerDocument) { 110 | var data = expandoData[ownerDocument[expando]]; 111 | if (!data) { 112 | data = {}; 113 | expanID++; 114 | ownerDocument[expando] = expanID; 115 | expandoData[expanID] = data; 116 | } 117 | return data; 118 | } 119 | 120 | /** 121 | * returns a shived element for the given nodeName and document 122 | * @memberOf html5 123 | * @param {String} nodeName name of the element 124 | * @param {Document|DocumentFragment} ownerDocument The context document. 125 | * @returns {Object} The shived element. 126 | */ 127 | function createElement(nodeName, ownerDocument, data){ 128 | if (!ownerDocument) { 129 | ownerDocument = document; 130 | } 131 | if(supportsUnknownElements){ 132 | return ownerDocument.createElement(nodeName); 133 | } 134 | if (!data) { 135 | data = getExpandoData(ownerDocument); 136 | } 137 | var node; 138 | 139 | if (data.cache[nodeName]) { 140 | node = data.cache[nodeName].cloneNode(); 141 | } else if (saveClones.test(nodeName)) { 142 | node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); 143 | } else { 144 | node = data.createElem(nodeName); 145 | } 146 | 147 | // Avoid adding some elements to fragments in IE < 9 because 148 | // * Attributes like `name` or `type` cannot be set/changed once an element 149 | // is inserted into a document/fragment 150 | // * Link elements with `src` attributes that are inaccessible, as with 151 | // a 403 response, will cause the tab/window to crash 152 | // * Script elements appended to fragments will execute when their `src` 153 | // or `text` property is set 154 | return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; 155 | } 156 | 157 | /** 158 | * returns a shived DocumentFragment for the given document 159 | * @memberOf html5 160 | * @param {Document} ownerDocument The context document. 161 | * @returns {Object} The shived DocumentFragment. 162 | */ 163 | function createDocumentFragment(ownerDocument, data){ 164 | if (!ownerDocument) { 165 | ownerDocument = document; 166 | } 167 | if(supportsUnknownElements){ 168 | return ownerDocument.createDocumentFragment(); 169 | } 170 | data = data || getExpandoData(ownerDocument); 171 | var clone = data.frag.cloneNode(), 172 | i = 0, 173 | elems = getElements(), 174 | l = elems.length; 175 | for(;i #mq-test-1 { width: 42px; }',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;bt.Ub;t.Xc=/Firefox/i.test(t.M);t.ne=/Chrome/i.test(t.M);t.ec=!!("ontouchstart"in window||window.Vc&&document instanceof window.Vc);t.Ic=function(a,c){t.h.Z(c,function(c,e){e===k||"undefined"===typeof e||e===l?a.removeAttribute(c):a.setAttribute(c,e===f?"":e)})}; 17 | t.Aa=function(a){var c,d,e,g;c={};if(a&&a.attributes&&0e?"0"+e:e)+":")+(10>d?"0"+d:d)};t.jd=function(){document.body.focus();document.onselectstart=r(l)};t.ie=function(){document.onselectstart=r(f)};t.trim=function(a){return(a+"").replace(/^\s+|\s+$/g,"")};t.round=function(a,c){c||(c=0);return Math.round(a*Math.pow(10,c))/Math.pow(10,c)}; 20 | t.Ab=function(a,c){return{length:1,start:function(){return a},end:function(){return c}}}; 21 | t.get=function(a,c,d,e){var g,h,j,n;d=d||m();"undefined"===typeof XMLHttpRequest&&(window.XMLHttpRequest=function(){try{return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new window.ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest.");});h=new XMLHttpRequest;j=t.Vd(a);n=window.location;j.protocol+j.host!==n.protocol+n.host&&window.XDomainRequest&&!("withCredentials"in 22 | h)?(h=new window.XDomainRequest,h.onload=function(){c(h.responseText)},h.onerror=d,h.onprogress=m(),h.ontimeout=d):(g="file:"==j.protocol||"file:"==n.protocol,h.onreadystatechange=function(){4===h.readyState&&(200===h.status||g&&0===h.status?c(h.responseText):d(h.responseText))});try{h.open("GET",a,f),e&&(h.withCredentials=f)}catch(q){d(q);return}try{h.send()}catch(w){d(w)}}; 23 | t.Zd=function(a){try{var c=window.localStorage||l;c&&(c.volume=a)}catch(d){22==d.code||1014==d.code?t.log("LocalStorage Full (VideoJS)",d):18==d.code?t.log("LocalStorage not allowed (VideoJS)",d):t.log("LocalStorage Error (VideoJS)",d)}};t.sc=function(a){a.match(/^https?:\/\//)||(a=t.e("div",{innerHTML:'x'}).firstChild.href);return a}; 24 | t.Vd=function(a){var c,d,e,g;g="protocol hostname port pathname search hash host".split(" ");d=t.e("a",{href:a});if(e=""===d.host&&"file:"!==d.protocol)c=t.e("div"),c.innerHTML='',d=c.firstChild,c.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(c);a={};for(var h=0;he&&(a.preventDefault(),this.m("tap")))})} 36 | t.t=t.a.extend({i:function(a,c){t.a.call(this,a,c);G(this);this.d("tap",this.r);this.d("click",this.r);this.d("focus",this.Za);this.d("blur",this.Ya)}});s=t.t.prototype; 37 | s.e=function(a,c){var d;c=t.h.A({className:this.T(),role:"button","aria-live":"polite",tabIndex:0},c);d=t.a.prototype.e.call(this,a,c);c.innerHTML||(this.v=t.e("div",{className:"vjs-control-content"}),this.yb=t.e("span",{className:"vjs-control-text",innerHTML:this.s(this.ua)||"Need Text"}),this.v.appendChild(this.yb),d.appendChild(this.v));return d};s.T=function(){return"vjs-control "+t.a.prototype.T.call(this)};s.r=m();s.Za=function(){t.d(document,"keyup",t.bind(this,this.ea))}; 38 | s.ea=function(a){if(32==a.which||13==a.which)a.preventDefault(),this.r()};s.Ya=function(){t.p(document,"keyup",t.bind(this,this.ea))}; 39 | t.Q=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.hd=this.la(this.l.barName);this.handle=this.la(this.l.handleName);this.d("mousedown",this.$a);this.d("touchstart",this.$a);this.d("focus",this.Za);this.d("blur",this.Ya);this.d("click",this.r);this.c.d("controlsvisible",t.bind(this,this.update));a.d(this.Cc,t.bind(this,this.update));this.S={};this.S.move=t.bind(this,this.ab);this.S.end=t.bind(this,this.Mb)}});s=t.Q.prototype; 40 | s.e=function(a,c){c=c||{};c.className+=" vjs-slider";c=t.h.A({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},c);return t.a.prototype.e.call(this,a,c)};s.$a=function(a){a.preventDefault();t.jd();this.n("vjs-sliding");t.d(document,"mousemove",this.S.move);t.d(document,"mouseup",this.S.end);t.d(document,"touchmove",this.S.move);t.d(document,"touchend",this.S.end);this.ab(a)};s.ab=m(); 41 | s.Mb=function(){t.ie();this.q("vjs-sliding");t.p(document,"mousemove",this.S.move,l);t.p(document,"mouseup",this.S.end,l);t.p(document,"touchmove",this.S.move,l);t.p(document,"touchend",this.S.end,l);this.update()};s.update=function(){if(this.b){var a,c=this.Gb(),d=this.handle,e=this.hd;isNaN(c)&&(c=0);a=c;if(d){a=this.b.offsetWidth;var g=d.w().offsetWidth;a=g?g/a:0;c*=1-a;a=c+a/2;d.w().style.left=t.round(100*c,2)+"%"}e&&(e.w().style.width=t.round(100*a,2)+"%")}}; 42 | function H(a,c){var d,e,g,h;d=a.b;e=t.xd(d);h=g=d.offsetWidth;d=a.handle;if(a.options().vertical)return h=e.top,e=c.changedTouches?c.changedTouches[0].pageY:c.pageY,d&&(d=d.w().offsetHeight,h+=d/2,g-=d),Math.max(0,Math.min(1,(h-e+g)/g));g=e.left;e=c.changedTouches?c.changedTouches[0].pageX:c.pageX;d&&(d=d.w().offsetWidth,g+=d/2,h-=d);return Math.max(0,Math.min(1,(e-g)/h))}s.Za=function(){t.d(document,"keyup",t.bind(this,this.ea))}; 43 | s.ea=function(a){if(37==a.which||40==a.which)a.preventDefault(),this.Lc();else if(38==a.which||39==a.which)a.preventDefault(),this.Mc()};s.Ya=function(){t.p(document,"keyup",t.bind(this,this.ea))};s.r=function(a){a.stopImmediatePropagation();a.preventDefault()};t.$=t.a.extend();t.$.prototype.defaultValue=0; 44 | t.$.prototype.e=function(a,c){c=c||{};c.className+=" vjs-slider-handle";c=t.h.A({innerHTML:''+this.defaultValue+""},c);return t.a.prototype.e.call(this,"div",c)};t.ia=t.a.extend();function ca(a,c){a.R(c);c.d("click",t.bind(a,function(){E(this)}))} 45 | t.ia.prototype.e=function(){var a=this.options().lc||"ul";this.v=t.e(a,{className:"vjs-menu-content"});a=t.a.prototype.e.call(this,"div",{append:this.v,className:"vjs-menu"});a.appendChild(this.v);t.d(a,"click",function(a){a.preventDefault();a.stopImmediatePropagation()});return a};t.I=t.t.extend({i:function(a,c){t.t.call(this,a,c);this.selected(c.selected)}});t.I.prototype.e=function(a,c){return t.t.prototype.e.call(this,"li",t.h.A({className:"vjs-menu-item",innerHTML:this.l.label},c))}; 46 | t.I.prototype.r=function(){this.selected(f)};t.I.prototype.selected=function(a){a?(this.n("vjs-selected"),this.b.setAttribute("aria-selected",f)):(this.q("vjs-selected"),this.b.setAttribute("aria-selected",l))};t.L=t.t.extend({i:function(a,c){t.t.call(this,a,c);this.Ba=this.xa();this.R(this.Ba);this.O&&0===this.O.length&&this.W();this.d("keyup",this.ea);this.b.setAttribute("aria-haspopup",f);this.b.setAttribute("role","button")}});s=t.L.prototype;s.ta=l; 47 | s.xa=function(){var a=new t.ia(this.c);this.options().title&&a.ka().appendChild(t.e("li",{className:"vjs-menu-title",innerHTML:t.ba(this.options().title),fe:-1}));if(this.O=this.createItems())for(var c=0;ca&&(a=Infinity),this.duration(a),Infinity===a?this.n("vjs-live"):this.q("vjs-live"))};s.Md=function(){this.isFullscreen()?this.n("vjs-fullscreen"):this.q("vjs-fullscreen")};function S(a,c,d){if(a.k&&!a.k.ma)a.k.J(function(){this[c](d)});else try{a.k[c](d)}catch(e){throw t.log(e),e;}} 63 | function R(a,c){if(a.k&&a.k.ma)try{return a.k[c]()}catch(d){throw a.k[c]===b?t.log("Video.js: "+c+" method not defined for "+a.fb+" playback technology.",d):"TypeError"==d.name?(t.log("Video.js: "+c+" unavailable on "+a.fb+" playback technology element.",d),a.k.ma=l):t.log(d),d;}}s.play=function(){S(this,"play");return this};s.pause=function(){S(this,"pause");return this};s.paused=function(){return R(this,"paused")===l?l:f}; 64 | s.currentTime=function(a){return a!==b?(S(this,"setCurrentTime",a),this):this.G.currentTime=R(this,"currentTime")||0};s.duration=function(a){if(a!==b)return this.G.duration=parseFloat(a),this;this.G.duration===b&&this.Ac();return this.G.duration||0};s.remainingTime=function(){return this.duration()-this.currentTime()};s.buffered=function(){var a=R(this,"buffered");if(!a||!a.length)a=t.Ab(0,0);return a}; 65 | s.bufferedPercent=function(){var a=this.duration(),c=this.buffered(),d=0,e,g;if(!a)return 0;for(var h=0;ha&&(g=a),d+=g-e;return d/a};s.volume=function(a){if(a!==b)return a=Math.max(0,Math.min(1,parseFloat(a))),this.G.volume=a,S(this,"setVolume",a),t.Zd(a),this;a=parseFloat(R(this,"volume"));return isNaN(a)?1:a};s.muted=function(a){return a!==b?(S(this,"setMuted",a),this):R(this,"muted")||l};s.Ea=function(){return R(this,"supportsFullScreen")||l};s.wc=l; 66 | s.isFullscreen=function(a){return a!==b?(this.wc=!!a,this):this.wc};s.isFullScreen=function(a){t.log.warn('player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")');return this.isFullscreen(a)}; 67 | s.requestFullscreen=function(){var a=t.Pa.Fb;this.isFullscreen(f);a?(t.d(document,a.fullscreenchange,t.bind(this,function(c){this.isFullscreen(document[a.fullscreenElement]);this.isFullscreen()===l&&t.p(document,a.fullscreenchange,arguments.callee);this.m("fullscreenchange")})),this.b[a.requestFullscreen]()):this.k.Ea()?S(this,"enterFullScreen"):(this.pc(),this.m("fullscreenchange"));return this}; 68 | s.exitFullscreen=function(){var a=t.Pa.Fb;this.isFullscreen(l);if(a)document[a.exitFullscreen]();else this.k.Ea()?S(this,"exitFullScreen"):(this.Db(),this.m("fullscreenchange"));return this};s.pc=function(){this.Cd=f;this.td=document.documentElement.style.overflow;t.d(document,"keydown",t.bind(this,this.rc));document.documentElement.style.overflow="hidden";t.n(document.body,"vjs-full-window");this.m("enterFullWindow")}; 69 | s.rc=function(a){27===a.keyCode&&(this.isFullscreen()===f?this.exitFullscreen():this.Db())};s.Db=function(){this.Cd=l;t.p(document,"keydown",this.rc);document.documentElement.style.overflow=this.td;t.q(document.body,"vjs-full-window");this.m("exitFullWindow")}; 70 | s.selectSource=function(a){for(var c=0,d=this.l.techOrder;c'+this.s("Stream Type")+""+this.s("LIVE"),"aria-live":"off"});a.appendChild(this.v);return a};t.ac=t.t.extend({i:function(a,c){t.t.call(this,a,c);a.d("play",t.bind(this,this.Ob));a.d("pause",t.bind(this,this.Nb))}});s=t.ac.prototype;s.ua="Play"; 78 | s.T=function(){return"vjs-play-control "+t.t.prototype.T.call(this)};s.r=function(){this.c.paused()?this.c.play():this.c.pause()};s.Ob=function(){t.q(this.b,"vjs-paused");t.n(this.b,"vjs-playing");this.b.children[0].children[0].innerHTML=this.s("Pause")};s.Nb=function(){t.q(this.b,"vjs-playing");t.n(this.b,"vjs-paused");this.b.children[0].children[0].innerHTML=this.s("Play")};t.ib=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}}); 79 | t.ib.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-current-time-display",innerHTML:'Current Time 0:00',"aria-live":"off"});a.appendChild(this.v);return a};t.ib.prototype.ga=function(){var a=this.c.cb?this.c.G.currentTime:this.c.currentTime();this.v.innerHTML=''+this.s("Current Time")+" "+t.za(a,this.c.duration())}; 80 | t.jb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}});t.jb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-duration vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-duration-display",innerHTML:''+this.s("Duration Time")+" 0:00","aria-live":"off"});a.appendChild(this.v);return a}; 81 | t.jb.prototype.ga=function(){var a=this.c.duration();a&&(this.v.innerHTML=''+this.s("Duration Time")+" "+t.za(a))};t.gc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.gc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-time-divider",innerHTML:"
/
"})};t.qb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}}); 82 | t.qb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-remaining-time-display",innerHTML:''+this.s("Remaining Time")+" -0:00","aria-live":"off"});a.appendChild(this.v);return a};t.qb.prototype.ga=function(){this.c.duration()&&(this.v.innerHTML=''+this.s("Remaining Time")+" -"+t.za(this.c.remainingTime()))}; 83 | t.Ka=t.t.extend({i:function(a,c){t.t.call(this,a,c)}});t.Ka.prototype.ua="Fullscreen";t.Ka.prototype.T=function(){return"vjs-fullscreen-control "+t.t.prototype.T.call(this)};t.Ka.prototype.r=function(){this.c.isFullscreen()?(this.c.exitFullscreen(),this.yb.innerHTML=this.s("Fullscreen")):(this.c.requestFullscreen(),this.yb.innerHTML=this.s("Non-Fullscreen"))};t.pb=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.pb.prototype.l={children:{seekBar:{}}}; 84 | t.pb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-progress-control vjs-control"})};t.cc=t.Q.extend({i:function(a,c){t.Q.call(this,a,c);a.d("timeupdate",t.bind(this,this.pa));a.J(t.bind(this,this.pa))}});s=t.cc.prototype;s.l={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"};s.Cc="timeupdate";s.e=function(){return t.Q.prototype.e.call(this,"div",{className:"vjs-progress-holder","aria-label":"video progress bar"})}; 85 | s.pa=function(){var a=this.c.cb?this.c.G.currentTime:this.c.currentTime();this.b.setAttribute("aria-valuenow",t.round(100*this.Gb(),2));this.b.setAttribute("aria-valuetext",t.za(a,this.c.duration()))};s.Gb=function(){return this.c.currentTime()/this.c.duration()};s.$a=function(a){t.Q.prototype.$a.call(this,a);this.c.cb=f;this.ke=!this.c.paused();this.c.pause()};s.ab=function(a){a=H(this,a)*this.c.duration();a==this.c.duration()&&(a-=0.1);this.c.currentTime(a)}; 86 | s.Mb=function(a){t.Q.prototype.Mb.call(this,a);this.c.cb=l;this.ke&&this.c.play()};s.Mc=function(){this.c.currentTime(this.c.currentTime()+5)};s.Lc=function(){this.c.currentTime(this.c.currentTime()-5)};t.mb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("progress",t.bind(this,this.update))}});t.mb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-load-progress",innerHTML:''+this.s("Loaded")+": 0%"})}; 87 | t.mb.prototype.update=function(){var a,c,d,e,g=this.c.buffered();a=this.c.duration();var h,j=this.c;h=j.buffered();j=j.duration();h=h.end(h.length-1);h>j&&(h=j);j=this.b.children;this.b.style.width=100*(h/a||0)+"%";for(a=0;ag.length;a--)this.b.removeChild(j[a-1])};t.$b=t.a.extend({i:function(a,c){t.a.call(this,a,c)}}); 88 | t.$b.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-play-progress",innerHTML:''+this.s("Progress")+": 0%"})};t.Ma=t.$.extend({i:function(a,c){t.$.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}});t.Ma.prototype.defaultValue="00:00";t.Ma.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-seek-handle","aria-live":"off"})}; 89 | t.Ma.prototype.ga=function(){var a=this.c.cb?this.c.G.currentTime:this.c.currentTime();this.b.innerHTML=''+t.za(a,this.c.duration())+""};t.sb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.k&&(a.k.o&&a.k.o.volumeControl===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.k.o&&a.k.o.volumeControl===l?this.n("vjs-hidden"):this.q("vjs-hidden")}))}});t.sb.prototype.l={children:{volumeBar:{}}}; 90 | t.sb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-control vjs-control"})};t.rb=t.Q.extend({i:function(a,c){t.Q.call(this,a,c);a.d("volumechange",t.bind(this,this.pa));a.J(t.bind(this,this.pa))}});s=t.rb.prototype;s.pa=function(){this.b.setAttribute("aria-valuenow",t.round(100*this.c.volume(),2));this.b.setAttribute("aria-valuetext",t.round(100*this.c.volume(),2)+"%")};s.l={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"}; 91 | s.Cc="volumechange";s.e=function(){return t.Q.prototype.e.call(this,"div",{className:"vjs-volume-bar","aria-label":"volume level"})};s.ab=function(a){this.c.muted()&&this.c.muted(l);this.c.volume(H(this,a))};s.Gb=function(){return this.c.muted()?0:this.c.volume()};s.Mc=function(){this.c.volume(this.c.volume()+0.1)};s.Lc=function(){this.c.volume(this.c.volume()-0.1)};t.hc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}}); 92 | t.hc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-level",innerHTML:''})};t.tb=t.$.extend();t.tb.prototype.defaultValue="00:00";t.tb.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-volume-handle"})}; 93 | t.ja=t.t.extend({i:function(a,c){t.t.call(this,a,c);a.d("volumechange",t.bind(this,this.update));a.k&&(a.k.o&&a.k.o.volumeControl===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.k.o&&a.k.o.volumeControl===l?this.n("vjs-hidden"):this.q("vjs-hidden")}))}});t.ja.prototype.e=function(){return t.t.prototype.e.call(this,"div",{className:"vjs-mute-control vjs-control",innerHTML:'
'+this.s("Mute")+"
"})}; 94 | t.ja.prototype.r=function(){this.c.muted(this.c.muted()?l:f)};t.ja.prototype.update=function(){var a=this.c.volume(),c=3;0===a||this.c.muted()?c=0:0.33>a?c=1:0.67>a&&(c=2);this.c.muted()?this.b.children[0].children[0].innerHTML!=this.s("Unmute")&&(this.b.children[0].children[0].innerHTML=this.s("Unmute")):this.b.children[0].children[0].innerHTML!=this.s("Mute")&&(this.b.children[0].children[0].innerHTML=this.s("Mute"));for(a=0;4>a;a++)t.q(this.b,"vjs-vol-"+a);t.n(this.b,"vjs-vol-"+c)}; 95 | t.sa=t.L.extend({i:function(a,c){t.L.call(this,a,c);a.d("volumechange",t.bind(this,this.update));a.k&&(a.k.o&&a.k.o.Sc===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.k.o&&a.k.o.Sc===l?this.n("vjs-hidden"):this.q("vjs-hidden")}));this.n("vjs-menu-button")}});t.sa.prototype.xa=function(){var a=new t.ia(this.c,{lc:"div"}),c=new t.rb(this.c,t.h.A({vertical:f},this.l.we));a.R(c);return a};t.sa.prototype.r=function(){t.ja.prototype.r.call(this);t.L.prototype.r.call(this)}; 96 | t.sa.prototype.e=function(){return t.t.prototype.e.call(this,"div",{className:"vjs-volume-menu-button vjs-menu-button vjs-control",innerHTML:'
'+this.s("Mute")+"
"})};t.sa.prototype.update=t.ja.prototype.update;t.bc=t.L.extend({i:function(a,c){t.L.call(this,a,c);this.Rc();this.Qc();a.d("loadstart",t.bind(this,this.Rc));a.d("ratechange",t.bind(this,this.Qc))}});s=t.bc.prototype; 97 | s.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-playback-rate vjs-menu-button vjs-control",innerHTML:'
'+this.s("Playback Rate")+"
"});this.yc=t.e("div",{className:"vjs-playback-rate-value",innerHTML:1});a.appendChild(this.yc);return a};s.xa=function(){var a=new t.ia(this.j()),c=this.j().options().playbackRates;if(c)for(var d=c.length-1;0<=d;d--)a.R(new t.ob(this.j(),{rate:c[d]+"x"}));return a}; 98 | s.pa=function(){this.w().setAttribute("aria-valuenow",this.j().playbackRate())};s.r=function(){for(var a=this.j().playbackRate(),c=this.j().options().playbackRates,d=c[0],e=0;ea){d=c[e];break}this.j().playbackRate(d)};function U(a){return a.j().k&&a.j().k.o.playbackRate&&a.j().options().playbackRates&&0