main.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. /*
  2. index.html style overwrite
  3. */
  4. :root{
  5. --theme_grey: #414141;
  6. --theme_lgrey: #f6f6f6;
  7. --theme_green: #3c9c63;
  8. --theme_fcolor: #979797;
  9. --theme_advance: #f8f8f9;
  10. }
  11. body{
  12. background-color:#f6f6f6;
  13. color: #414141;
  14. }
  15. .functiontab{
  16. display:none;
  17. }
  18. .advance{
  19. background: var(--theme_advance) !important;
  20. }
  21. .advancezone{
  22. background: var(--theme_advance) !important;
  23. border-radius: 1em !important;
  24. }
  25. .menubar{
  26. width: 100%;
  27. padding: 0.4em;
  28. padding-left: 1.2em;
  29. padding-right: 1.2em;
  30. background-color: #f5f5f5;
  31. margin-bottom: 1em;
  32. position: fixed;
  33. top: 0;
  34. width: 100%;
  35. z-index: 10;
  36. box-shadow: 0px 1px 5px 0px rgba(38,38,38,0.26);
  37. }
  38. .menubar .logo{
  39. height: 36px;
  40. }
  41. .menubar .item{
  42. display: inline-block;
  43. vertical-align: middle;
  44. }
  45. .wrapper{
  46. display: flex;
  47. align-items: flex-start;
  48. padding-top: 4.6em;
  49. }
  50. .toolbar {
  51. display: inline-block;
  52. height: calc(100% - 51px);
  53. overflow-y: auto;
  54. width: 240px;
  55. }
  56. .contentWindow{
  57. display: inline-block;
  58. width: calc(100% - 240px);
  59. vertical-align: top;
  60. background-color: white;
  61. border-radius: 1em;
  62. margin-right: 2em;
  63. }
  64. .menutoggle{
  65. display: none !important;
  66. }
  67. .ui.divider{
  68. font-weight: 300;
  69. }
  70. .serverstatusWrapper{
  71. padding-right: 0 !important;
  72. }
  73. .statisticWrapper{
  74. padding-left: 0 !important;
  75. }
  76. /* Message Box */
  77. #messageBox{
  78. position: fixed;
  79. bottom: 1em;
  80. right: 1em;
  81. display:none;
  82. max-width: 300px;
  83. z-index: 999;
  84. }
  85. /* Confirm Box */
  86. #confirmBox{
  87. position: fixed;
  88. z-index: 999;
  89. bottom: 1em;
  90. right: 1em;
  91. min-width: 300px;
  92. background-color: #ffffff;
  93. color: rgb(65, 65, 65);
  94. box-shadow: 10px 10px 5px -2px rgba(0,0,0,0.13);
  95. }
  96. #confirmBox .confirmBoxBody{
  97. padding: 1em;
  98. }
  99. #confirmBox .ui.progress .bar{
  100. background: #a9d1f3 !important;
  101. }
  102. #confirmBox .confirmBoxBody .button{
  103. margin-top: -0.4em;
  104. }
  105. #confirmBox .questionToConfirm{
  106. margin-top: -0.2em;
  107. }
  108. /* Standard containers */
  109. .standardContainer{
  110. position: relative;
  111. }
  112. .standardContainer.noleftright{
  113. padding-left: 0;
  114. padding-right: 0;
  115. }
  116. .standardContainer.noleft{
  117. padding-left: 0;
  118. }
  119. .standardContainer.noright{
  120. padding-right: 0;
  121. }
  122. .standardContainer.notopdown{
  123. padding-top: 0;
  124. padding-bottom: 0;
  125. }
  126. .standardContainer.notop{
  127. padding-top: 0;
  128. }
  129. .standardContainer.nobottom{
  130. padding-bottom: 0;
  131. }
  132. /*
  133. Side Wrapper
  134. */
  135. .sideWrapper{
  136. position: fixed;
  137. right: 0;
  138. top: 52px;
  139. height: 100%;
  140. width: calc(100% - 5em);
  141. max-width: 500px;
  142. z-index: 10;
  143. }
  144. .sideWrapper .content{
  145. height: 100%;
  146. width: 100%;
  147. position: relative;
  148. background-color: white;
  149. }
  150. .sideWrapper iframe{
  151. height: calc(100% - 55px);
  152. width: 100%;
  153. border: 0px solid transparent;
  154. }
  155. .sideWrapper .fadingBackground{
  156. position: fixed;
  157. top: 52px;
  158. left: 0;
  159. width: 100%;
  160. height: calc(100% - 52px);
  161. background-color: rgba(38,38,38,0.26);
  162. }
  163. .sideWrapperMenu{
  164. height: 3px;
  165. background-color: #414141;
  166. }
  167. /*
  168. RWD Rules
  169. */
  170. @media screen and (min-width: 750px) {
  171. #serverstatus{
  172. border-top-left-radius: 1em !important;
  173. }
  174. .greybackground.statustab{
  175. border-top-right-radius: 1em !important;
  176. }
  177. .standardContainer{
  178. padding-left: 2.4em;
  179. padding-right: 2.4em;
  180. padding-top: 2em;
  181. padding-bottom: 2em;
  182. }
  183. }
  184. @media screen and (max-width: 750px) {
  185. .toolbar {
  186. position: fixed;
  187. display: inline-block;
  188. width: 240px;
  189. background-color: white;
  190. top: 3.6em;
  191. right: 0;
  192. height: calc(100% - 51px);
  193. overflow-y: auto;
  194. margin-bottom: 1em;
  195. z-index: 9;
  196. padding: 1em;
  197. display:none;
  198. border-left: 1px solid rgb(206, 206, 206);
  199. }
  200. .menutoggle{
  201. display: inline-block !important;
  202. }
  203. #mainmenu{
  204. width: calc(100% - 1em);
  205. }
  206. .contentWindow{
  207. display: inline-block;
  208. width: 100%;
  209. margin-right: 0.4em;
  210. margin-left: 0.4em;
  211. }
  212. .functiontab{
  213. padding: 0em;
  214. }
  215. .ui.grid > .stackable.stackable.row > .column, .ui.stackable.grid > .column.grid > .column, .ui.stackable.grid > .column.row > .column, .ui.stackable.grid > .column:not(.row), .ui.stackable.grid > .row > .column, .ui.stackable.grid > .row > .wide.column, .ui.stackable.grid > .wide.column.serverstatusWrapper {
  216. padding: 0rem 0rem !important;
  217. }
  218. #serverstatus.green{
  219. border-bottom: 0px solid transparent !important;
  220. }
  221. .greybackground.statustab{
  222. border-top-right-radius: 0em !important;
  223. padding: 2em 2em !important;
  224. }
  225. .standardContainer{
  226. padding-left: 1.2em;
  227. padding-right: 1.2em;
  228. padding-top: 0.6em;
  229. padding-bottom: 0.6em;
  230. }
  231. }
  232. .menudivider{
  233. font-size: 0.8em !important;
  234. color: #9c9c9c !important;
  235. padding-left: 0.6em;
  236. }
  237. /*
  238. Global rules overwrite
  239. */
  240. .ui.teal.button{
  241. background-color: #3d9c64 !important;
  242. }
  243. .ui.red.button:not(.basic){
  244. background-color: #cc3b3b !important;
  245. }
  246. .ui.menu .item{
  247. color: #5e5d5d;
  248. }
  249. .ui.secondary.vertical.menu .active.item{
  250. background-color: #414141;
  251. font-weight: 600;
  252. color: white;
  253. }
  254. .ui.secondary.vertical.menu .active.item .icon{
  255. animation: blinker 3s ease-in-out infinite;
  256. }
  257. .bluefont{
  258. color: #417ac1 !important;
  259. }
  260. @keyframes blinker {
  261. 50% {
  262. opacity: 50%;
  263. }
  264. }
  265. /*
  266. Status style overwrite
  267. */
  268. #serverstatus{
  269. height: 100%;
  270. }
  271. #statusTitle{
  272. font-weight: 300;
  273. }
  274. .statustab{
  275. border-radius: 0 !important;
  276. }
  277. .greybackground.statustab{
  278. background-color: #414141 !important;
  279. color: white;
  280. }
  281. .greybackground.statustab .ui.header:not(:first-child){
  282. margin-top: 1em;
  283. }
  284. .greybackground.statustab span,
  285. .greybackground.statustab h1,
  286. .greybackground.statustab h2,
  287. .greybackground.statustab h3,
  288. .greybackground.statustab h4,
  289. .greybackground.statustab h5 {
  290. color: white !important;
  291. }
  292. .greybackground.statustab .header{
  293. color: #b7b7b7 !important;
  294. }
  295. #serverstatus.green{
  296. background-color: #fefefe !important;
  297. border-right: 5px solid #3d9c64;
  298. }
  299. #serverstatus.green .sub.header{
  300. color: rgb(224, 224, 224);
  301. }
  302. #serverstatus.green i,
  303. #serverstatus.green #statusTitle{
  304. color: #3d9c64;
  305. }
  306. #serverstatus.green #statusText{
  307. color: #2c583d;
  308. }
  309. #serverstatus:not(.green) .dot-container{
  310. display:none;
  311. }
  312. #serverstatus:not(.green){
  313. background-color: white !important;
  314. background-image: url("img/plant.png");
  315. background-position: right;
  316. background-repeat: no-repeat;
  317. background-size: auto 100%;
  318. }
  319. #serverstatus:not(.green) #statusTitle,
  320. #serverstatus:not(.green) i,
  321. #serverstatus:not(.green) .sub.header{
  322. color: #4c4c4c;
  323. }
  324. .statustab{
  325. min-height: 5.5em;
  326. }
  327. #summaryTotalCount{
  328. font-size: 1.6em;
  329. font-weight: 300;
  330. }
  331. .statustab.summary{
  332. background-color: #f1f1f1 !important;
  333. border: 0px solid transparent !important;
  334. }
  335. .statustab.summary span, .statustab.summary i{
  336. color: rgb(37, 37, 37);
  337. }
  338. #networkActivityPlaceHolder{
  339. color:rgb(206, 206, 206);
  340. height: 200px;
  341. width: 100%;
  342. text-align: center;
  343. padding-top: 80px;
  344. display:none;
  345. }
  346. /* Decorative Animation */
  347. .dot-container {
  348. display: flex;
  349. justify-content: center;
  350. align-items: center;
  351. height: 40px;
  352. position: absolute;
  353. bottom: 0.6em;
  354. right: 1.2em;
  355. }
  356. .dot {
  357. width: 6px;
  358. height: 6px;
  359. border-radius: 50%;
  360. background-color: #d9d9d9;
  361. margin-right: 6px;
  362. animation-name: dot-animation;
  363. animation-duration: 4s;
  364. animation-timing-function: ease-in-out;
  365. animation-iteration-count: infinite;
  366. }
  367. .dot:nth-child(1) {
  368. animation-delay: 0s;
  369. }
  370. .dot:nth-child(2) {
  371. animation-delay: 1s;
  372. }
  373. .dot:nth-child(3) {
  374. animation-delay: 2s;
  375. }
  376. .dot:nth-child(4) {
  377. animation-delay: 3s;
  378. }
  379. @keyframes dot-animation {
  380. 0% {
  381. background-color: #d9d9d9;
  382. transform: scale(1);
  383. }
  384. 50% {
  385. background-color: #3d9c64;
  386. transform: scale(1.5);
  387. }
  388. 100% {
  389. background-color: #d9d9d9;
  390. transform: scale(1);
  391. }
  392. }
  393. /*
  394. Access Control
  395. */
  396. .ui.very.compact.table th{
  397. padding-top: 0.2em;
  398. padding-bottom: 0.2em;
  399. }
  400. .ui.very.compact.table td{
  401. padding-top: 0.1em;
  402. padding-bottom: 0.1em;
  403. }
  404. #ipTable.disabled{
  405. opacity: 0.5;
  406. pointer-events: none;
  407. user-select: none;
  408. }
  409. /*
  410. TCP Proxy
  411. */
  412. .tcproxConfig td:first-child{
  413. position: relative;
  414. }
  415. .tcproxConfig.running td:first-child{
  416. border-left: 0.6em solid #21ba45 !important;
  417. }
  418. .tcproxConfig.stopped td:first-child{
  419. border-left: 0.6em solid #414141 !important;
  420. }
  421. .tcproxConfig td:first-child .statusText{
  422. position: absolute;
  423. bottom: 0.3em;
  424. left: 0.2em;
  425. font-size: 2em;
  426. color:rgb(224, 224, 224);
  427. opacity: 0.7;
  428. pointer-events: none;
  429. user-select: none;
  430. }
  431. /*
  432. Uptime Monitor
  433. */
  434. #utm{
  435. background-color: white;
  436. border-radius: 1em;
  437. }
  438. .domain{
  439. margin-bottom: 1em;
  440. position: relative;
  441. }
  442. .statusDot{
  443. height: 1.8em;
  444. border-radius: 0.4em;
  445. width: 0.4em;
  446. background-color: #e8e8e8;
  447. display:inline-block;
  448. cursor: pointer;
  449. margin-left: 0.1em;
  450. }
  451. .online.statusDot{
  452. background-color: #3bd671;
  453. }
  454. .error.statusDot{
  455. background-color: #f29030;
  456. }
  457. .offline.statusDot{
  458. background-color: #df484a;
  459. }
  460. .padding.statusDot{
  461. cursor: auto;
  462. }
  463. /*
  464. Global Area Network
  465. gan.html
  466. */
  467. .clickable{
  468. cursor: pointer;
  469. }
  470. .clickable:hover{
  471. opacity: 0.6;
  472. }
  473. #ganetRangeTable td{
  474. text-align: center;
  475. }
  476. .gansnetworks.disabled{
  477. opacity: 0.5;
  478. pointer-events: none;
  479. user-select: none;
  480. }
  481. .GANetMember.authorized{
  482. border-left: 6px solid #3c9c63 !important;
  483. }
  484. .GANetMember.unauthorized{
  485. border-left: 6px solid #9c3c3c !important;
  486. }
  487. /*
  488. Network Utilities
  489. */
  490. #traceroute_results{
  491. resize: none;
  492. background-color: #202020;
  493. color: white;
  494. }
  495. #traceroute_results::selection {
  496. background: #a9d1f3;
  497. }