style.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. body {
  2. border: 0;
  3. margin: 0;
  4. margin-bottom:50px;
  5. padding-left: 12px;
  6. padding-right: 12px;
  7. }
  8. a {
  9. color: darkblue;
  10. transition: color .2s ease-out;
  11. text-decoration: none
  12. }
  13. a:hover {
  14. color: red;
  15. }
  16. input:focus,
  17. select:focus,
  18. textarea:focus,
  19. button:focus {
  20. outline: none;
  21. }
  22. .blur {
  23. -webkit-filter: blur(2px);
  24. -moz-filter: blur(2px);
  25. -ms-filter: blur(2px);
  26. -o-filter: blur(2px);
  27. filter: blur(2px);
  28. }
  29. .ape {
  30. padding: 10px 0px 10px 10px;
  31. background-color: #444;
  32. }
  33. .ape:hover {
  34. cursor: pointer;
  35. }
  36. header {
  37. border-bottom: 1px solid #000;
  38. border-top: 1px solid #000;
  39. }
  40. section {
  41. border-bottom: 1px solid #000;
  42. border-top: 1px solid #000;
  43. }
  44. h1 {
  45. margin: 0;
  46. margin-top: 20px;
  47. padding: 10px;
  48. text-transform: uppercase;
  49. color: #888;
  50. font-size: 1.6em
  51. }
  52. h2 {
  53. margin: 0;
  54. margin-top: 20px;
  55. padding: 10px;
  56. text-transform: uppercase;
  57. color: #888;
  58. font-size: 1.0em
  59. }
  60. h3 {
  61. margin: 0;
  62. text-align: center;
  63. padding: 20px 0px 20px 0px;
  64. }
  65. .gr {
  66. color: green;
  67. }
  68. .rd {
  69. color: red;
  70. }
  71. #wifi-status {
  72. display: none;
  73. }
  74. #connect {
  75. display: none;
  76. }
  77. #connect_manual {
  78. display: none;
  79. }
  80. #manual_ssid {
  81. border: none;
  82. width: 80%;
  83. padding: 10px 0px 10px 10px;
  84. display: block
  85. }
  86. #manual_pwd {
  87. border: none;
  88. width: 80%;
  89. padding: 10px 0px 10px 10px;
  90. display: block
  91. }
  92. #pwd {
  93. border: none;
  94. width: 80%;
  95. padding: 10px 0px 10px 10px;
  96. display: block
  97. }
  98. .buttons {
  99. padding: 15px;
  100. }
  101. #join {
  102. float: right;
  103. }
  104. #manual_join {
  105. float: right;
  106. }
  107. #yes-disconnect {
  108. display: inline-block;
  109. }
  110. #no-disconnect {
  111. display: inline-block;
  112. }
  113. .tctr {
  114. text-align: center;
  115. }
  116. #connect-wait {
  117. display: none;
  118. }
  119. #connect-success {
  120. display: none;
  121. }
  122. #connect-fail {
  123. display: none;
  124. }
  125. #connect-details {
  126. display: none;
  127. }
  128. #diag-disconnect {
  129. display: none;
  130. }
  131. .fr {
  132. float: right;
  133. margin-right: 20px;
  134. }
  135. .w0 {
  136. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTJDBGvsAAABzUlEQVRIS+WUTShEURTH3zyRhjQ+8hWxmCJMoSzEwsbCgi1LZRYW9pONptiwka9iI81CWFpYaEqNMkVKmpWN1IhYKN9ZDL/z3p3mxZh5g9X4168799xz/vPefedeLeuVC+3gdTgc07CsmCQ2DI2gg21Jci30wSpGt/CeghickTsHPVACDkgqp67rPgpO4E0ZZMIj7OHhxSvPtEyomcVDeFXJv+EZNvEsNa01rZfAuSUhThR2wU+ObJkbyhRNMMDaDIThBqy1MdZ3wAPawqfFC2Lj0Ab5kpBGxdAJs9TeW72ITUhCPZMjFYwwbwXpnkwlDzOIx50yXwP5c0MeggHGanNqSDqqBqQ7/Kxvg2zHAfMN8IE8uZhYO6eBnBXGKnOakLWfaQZ9jMRjSPXhZUuC5A9JjVFpKkeNSVVA0Tq8KJN0yFl4gilqbW2tm+SQKoybXIG8jcT34RSsh1Byt6iVg2ZLlRCg6JpROqEDpFheXZ5S9rcLFsl5YJwHad+MVA5y13w5lRY5oRsKjdm/Vz/7LR86zG+5wr+9NX+iOowjEO+aELEic+lv1ILppeUPosRst6QduTANgnE2mC+BnYswI1VwfYzCCL9dZij7pWkf6UeSTYAuE/QAAAAASUVORK5CYII=') no-repeat right top;
  137. height: 24px;
  138. margin-right: 20px;
  139. }
  140. .w1 {
  141. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEQAACxEBf2RfkQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAHiSURBVEhL5dRPKINxHMfxPVskpA35F3FYEVasHBYHFwcHrhyVZ8vBfblIceEi/4qLtINwdHCQUpQVKcnJRYqIg/J3OYz399nv0YPNtuzEt149+31/v+/n4fGYLVHpup4Rnyregd+K27TIghe63+8fx7wySqsPdbAj3qzha0MOV6ETiwTd4u0HUZxydgrtKISGj0xreG4gEAgycIRXFZCOR2yTQZSebeaa4Q1s7iOiDv/GM1bJLDJv0EHjzHLAdIFNjHBGHpkbxUo9utmbQBg3sM5G2d+AR24w82XznN4QmpGjXrCExRkXfJhk9t6aRW9YDtSwOFDNE9ZNyFLzKRczOegh406FL8ElG8JDM8S1Qtaq7KhEO0Y0TVtHGHusVxCEDy5oMLNqyVrgWm5kqaYw3mdVdmqQsENE8JbAPbY43yszMqiyHOr66QayL5XH0DJeVEgyUTxhjNmPR/vtBpZyc3hHDZohV5DfRvq7OMYtrDdZY7YwFpG8yhBi6JrrMFogww7IT1mOVsxy5oHrNIqRVpWgDtnGKn7log35xurfVxfPW/7QYT57Ybz7mapqgk9gvjU79ApiW5mpRkIvLTe4oJfyK5lKOQndgvG/wXoOSb8I061Svj4G0M9nZ6z198tmeweYtIrMYP17VAAAAABJRU5ErkJggg==') no-repeat right top;
  142. height: 24px;
  143. margin-right: 20px;
  144. }
  145. .w2 {
  146. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEQAACxEBf2RfkQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAHkSURBVEhL3dRLKERRGMDxuSPSkLzyilgo8iiUhVjYWFiwZancmSzsZSPFho28io1kISwtLKQURZGSrGykiFgo7yyG/zdzznRm5iK5Sk79uvd85/u++5hzx2Pb9q9yDLrJMWhIRB1sv98/ghlliFAXyuGFU21IbECSi9CKORrd4O0TQZyQO45mZMJCpKfZ3BcIBPooOMSravAdD9ikB63sJN1XN69kcQ8vKvknnrBMzyx9gRYCp0aCdo51DJIjr6wU2UoF2lkbxS6uYdYGWV9DtVxgMmbxjFg/apEM/ZQfyUADxqi9M3sRG5CEEib7KnjMvAaye2IbfUVupoMet6r5PDL0YjXBBY4Fai5kRxVCdscg66uQ17HDfAl9kDuXJzB3Thk5sxzzZa6DumHknN3QS+IBPvvh5ZVskN8ZU5+gz3XAlELRIp5Vk6/It/CIYWrjXm3URCkleUsV6iaXkKeR+DaOYH6EkrtCrXxoUf2iJoY8LFB0xXEA9ZBieXS5S3m/jZgi557jBGT7xvWKCxhyIP81ka/SgQ9NSDViURyDbvpTo82yrAPscl4HKxR1aRTT+BhvyhaxtPCSO6OKphfGBc6JZYaX3BnpNN1AUC7AfBrJoRUXR67X6+1BN+fp4dD/Hx7PO4o9VGuAapKIAAAAAElFTkSuQmCC') no-repeat right top;
  147. height: 24px;
  148. margin-right: 20px;
  149. }
  150. .w3 {
  151. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAACAElEQVRIS7XUP0gbYRjH8VSpiBZJWvEflXYQKtqACg6ig4uDg651LPQSHLpLlyDoUhdpVdBFxEG0YwcHCQgRFJSCFKcuUohY6iC0VYtD9PuE9w3vXZ74h16HD3fv733e53KX9y7ied5/pYZhUkPHQ3TBSyQS7zFvTBC9RivKoK3NCwZS3IxBLNLoBFc3yOEbtR/Qj8d4gEJPt3lVMpkcY8E+Lk2D+/iDTXrQyquwfW3zdiZ38dcU/4tzrNHzib3AAMGhU2BlsYFxauSRtaDWaMMwc1PYwU+4a3PMryMuF5gJTH4ne4dOVMLeZSkx9GCatb/cXmQpKXjOYM+EB4w7ILsn2Og28mNe0ePUNF9CzE7GCZc5NpmxkB31FLI7xpn/DHkc24xXMQb55XIH7s55Qc0Cx0YZ29A2LJyzG95S+AU3/fHySNLUjwTWl9tzG7iqWbSCC9PkNvIunGGStUWP1jcwWijOmIW2yTHkbiTfwle4L6HUfmKtvGi+fr6BowHLLPrBMYVuyGK5dfmV8nx7MUvNb44fIdu3qFdR4KiDfGsKb6WiCn145GQ+ahgmNQyTGpYwxPOWP3qHc/mE+76apaih4hmND2B3TYasJlCjUkPFS5oeORfIkhVtSY0aKqI0TSP/bjCew10+hPf6D+r5fIziDefRwFxJahgmNQyPF7kGEsc1es+A2E4AAAAASUVORK5CYII=') no-repeat right top;
  152. height: 24px;
  153. margin-right: 20px;
  154. }
  155. .pw {
  156. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTJDBGvsAAABIUlEQVRIS+3VsU7CUBTGcYhBJCwqwcmEJ2DkCQgzb8ADmLgYWXTzMVjcGNjYGEAXgoSRhTg5OroYIyFY/h+hWGwvtzQ0LpzkF8i5l/uRQ2kTjuPEKrC5T79vzHWJO4wxwzeGuMY5AitsQBFvmEObvNQboQBfhQk4gQ5wD+zgBrcYrHrSwzE2KkxAHVrQWB6QgiqJLB7xA+2pYaNsAWm8QAsa0Sn+1gU+oT1NHGFdtoAcJtBCSw1DuaPqQiNdly0gj1doQaMwleavPc+IJUDffKeADO7Rxxe08A4dEOQD2qPXJ1xh+VuYAirQVaNGFFPov2MM0OXm/UAUZRwCtjoEWP1vQBXuLTgKPYRKMAacoY0oIboDNLB8+PgC4hLY3B8nsQCQEf56jLJoQAAAAABJRU5ErkJggg==') no-repeat right top;
  157. height: 24px;
  158. margin-right: 20px;
  159. height: 24px;
  160. margin-right: 30px;
  161. }
  162. /* SpinKit is licensed under the MIT License. Copyright (c) 2015 Tobias Ahlin */
  163. .spinner {
  164. width: 40px;
  165. height: 40px;
  166. position: relative;
  167. margin: 100px auto;
  168. }
  169. .double-bounce1,
  170. .double-bounce2 {
  171. width: 100%;
  172. height: 100%;
  173. border-radius: 50%;
  174. background-color: #333;
  175. opacity: 0.6;
  176. position: absolute;
  177. top: 0;
  178. left: 0;
  179. -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  180. animation: sk-bounce 2.0s infinite ease-in-out;
  181. }
  182. .double-bounce2 {
  183. -webkit-animation-delay: -1.0s;
  184. animation-delay: -1.0s;
  185. }
  186. @-webkit-keyframes sk-bounce {
  187. 0%, 100% {
  188. -webkit-transform: scale(0.0)
  189. }
  190. 50% {
  191. -webkit-transform: scale(1.0)
  192. }
  193. }
  194. @keyframes sk-bounce {
  195. 0%, 100% {
  196. transform: scale(0.0);
  197. -webkit-transform: scale(0.0);
  198. }
  199. 50% {
  200. transform: scale(1.0);
  201. -webkit-transform: scale(1.0);
  202. }
  203. }
  204. /* end of SpinKit */
  205. /* daduke stuff */
  206. input[type='text'], input[type='password'], textarea {
  207. background: #999;
  208. border: 0;
  209. padding: 4px;
  210. }
  211. input.gpio {
  212. width: 2em;
  213. color: #000;
  214. height: 1.8em;
  215. }
  216. .custom-switch {
  217. margin-left: 8px;
  218. }
  219. .custom-switch, .custom-radio {
  220. padding-left: 2.25rem;
  221. padding-bottom: 1rem;
  222. }
  223. .custom-checkbox > .custom-control-label {
  224. padding-top: 0.5rem;
  225. padding-left: 2rem;
  226. padding-bottom: 0.1rem;
  227. }
  228. .custom-switch .custom-control-label::before {
  229. left: -2.25rem;
  230. height: 2rem;
  231. width: 3.5rem;
  232. pointer-events: all;
  233. border-radius: 1rem;
  234. background-color: #f00;
  235. }
  236. .custom-switch .custom-control-label::after {
  237. top: calc(0.25rem + 2px);
  238. left: calc(-2.25rem + 2px);
  239. width: calc(2rem - 4px);
  240. height: calc(2rem - 4px);
  241. background-color: #adb5bd;
  242. border-radius: 2rem;
  243. transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
  244. transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  245. transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
  246. }
  247. @media (prefers-reduced-motion: reduce) {
  248. .custom-switch .custom-control-label::after {
  249. transition: none;
  250. }
  251. }
  252. .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  253. background-color: #0f0;
  254. }
  255. .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  256. background-color: #fff;
  257. -webkit-transform: translateX(1.5rem); //translateX(0.75rem);
  258. transform: translateX(1.5rem); //translateX(0.75rem);
  259. }
  260. textarea#autoexec1, textarea#fwurl {
  261. width: 80%;
  262. }
  263. input, textarea {
  264. border-radius: 3px;
  265. border: 1px solid transparent;
  266. border-top: none;
  267. border-bottom: 1px solid #DDD;
  268. box-shadow: inset 0 1px 2px rgba(0,0,0,.39), 0 -1px 1px #FFF, 0 1px 0 #FFF;
  269. }
  270. #otadiv {
  271. display: none;
  272. }
  273. #btsinkdiv {
  274. display: none;
  275. }
  276. .tooltip-inner {
  277. font-family: monospace, monospace;
  278. font-size: 70%;
  279. }
  280. #progress {
  281. width: 60%;
  282. }
  283. .progress-bar {
  284. color: #fff;
  285. background-color: #037AF0;
  286. }
  287. span#flash-status {
  288. padding-left: 15px;
  289. font-size: 120%;
  290. }
  291. .footer {
  292. position: fixed;
  293. left: 0;
  294. bottom: 0;
  295. width: 100%;
  296. background-color: #555;
  297. color: white;
  298. text-align: center;
  299. }
  300. .sl {
  301. background-color: #053c1e;
  302. }
  303. .recovery {
  304. background-color: #3c0505;
  305. }
  306. td.value {
  307. width: 80%;
  308. }
  309. #boot-div {
  310. float: right;
  311. }
  312. iframe#dummyframe {
  313. float: right;
  314. }
  315. div#message {
  316. display: none;
  317. color: #000;
  318. background: #f00;
  319. position:fixed;
  320. padding: 8px;
  321. top: 20%;
  322. left: 50%;
  323. width:20em;
  324. height:4em;
  325. text-align: center;
  326. margin-left: -10em; /*set to a negative number 1/2 of your width*/
  327. margin-top: -2em; /*set to a negative number 1/2 of your height*/
  328. border-radius: 8px;
  329. box-shadow: 0px 5px 2px -5px rgba(255, 255, 255, 0.5) inset, 0px 10px 20px -5px rgba(255, 255, 255, 0.1) inset, 0 0px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 1px rgba(0, 0, 0, 0.12), 0 1px 10px 0 rgba(0, 0, 0, 0.3);
  330. }
  331. tr.hide {
  332. display: none;
  333. }
  334. #searchfw {
  335. float: right;
  336. display: none;
  337. }