default.css 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691
  1. @import url("normalize.css");
  2. @import url("@fortawesome/fontawesome-free/css/fontawesome");
  3. @import url("@fortawesome/fontawesome-free/css/brands");
  4. @import url("@fortawesome/fontawesome-free/css/solid");
  5. @import url("../dependencies/animate");
  6. @import url("../dependencies/jquery-ui");
  7. @import url("../media_queries");
  8. @import url("../fonts");
  9. @import url("../base");
  10. @import url("../utilities");
  11. :root {
  12. --animate-duration: 300ms;
  13. --font-family: "Exo", system-ui;
  14. --font-family-monospace: "Inconsolata", "Lucida Console", "Monaco", monospace;
  15. --color-text: #7c7c7c;
  16. --color-text-link: #326b9b;
  17. --color-text-link-hover: #c36;
  18. --color-background: #fff;
  19. /* Alerts */
  20. --alert-border-color: #fff;
  21. --alert-box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
  22. --alert-text-shadow: 0 1px rgb(0 0 0 / 45%);
  23. --alert-info-color: #618ecc;
  24. --alert-danger-color: #ec6c6c;
  25. --alert-success-color: #5ea64c;
  26. /* Icons */
  27. --icon-color-teal: #3cc;
  28. --icon-color-purple: #8e2fca;
  29. --icon-color-maroon: #c36;
  30. --icon-color-red: #f33;
  31. --icon-color-green: #53ba55;
  32. --icon-color-orange: #ffc043;
  33. --icon-color-blue: #326b9b;
  34. --icon-color-lightblue: #6eb6f0;
  35. }
  36. .check-label {
  37. display: inline-block;
  38. cursor: pointer;
  39. position: relative;
  40. line-height: 16px;
  41. padding-left: 26px;
  42. &::before {
  43. content: "";
  44. size: 16px;
  45. position: absolute;
  46. left: 0;
  47. top: 0;
  48. display: inline-block;
  49. z-index: 2;
  50. }
  51. }
  52. .clicked-on.check-label::before,
  53. .selected .check-label::before {
  54. content: "";
  55. display: inline-block;
  56. size: 27px;
  57. background-position: -225px -42px;
  58. top: -6px;
  59. left: -6px;
  60. }
  61. .app-header {
  62. padding-top: 40px;
  63. }
  64. .container {
  65. margin-left: auto;
  66. margin-right: auto;
  67. max-width: 1024px;
  68. }
  69. /* Top bar
  70. ========================================================================== */
  71. .top-bar {
  72. background: linear-gradient(
  73. to bottom,
  74. rgb(104 145 196 / 100%) 0%,
  75. rgb(69 114 181 / 100%) 50%,
  76. rgb(65 90 149 / 100%) 100%
  77. );
  78. background-color: #5070a6;
  79. box-shadow: 0 4px 10px rgb(100 100 100 / 40%);
  80. border-bottom: 1px solid #fff;
  81. position: fixed;
  82. display: flex;
  83. size: 100% 40px;
  84. z-index: 2;
  85. top: 0;
  86. }
  87. .top-bar-inner {
  88. display: flex;
  89. flex-grow: 1;
  90. padding-left: 20px;
  91. padding-right: 20px;
  92. justify-content: space-between;
  93. @media (--viewport-large) {
  94. padding-left: 0;
  95. padding-right: 0;
  96. }
  97. }
  98. .top-bar-left {
  99. display: flex;
  100. }
  101. .top-bar-logo {
  102. display: flex;
  103. align-items: center;
  104. margin-right: 30px;
  105. }
  106. .top-bar-usage {
  107. display: none;
  108. @media (--viewport-small) {
  109. display: flex;
  110. align-items: center;
  111. }
  112. }
  113. .top-bar-usage-inner {
  114. display: flex;
  115. color: #fff;
  116. text-shadow: 1px 1px rgb(0 0 0 / 25%);
  117. font-weight: 500;
  118. }
  119. .top-bar-usage-item {
  120. margin-right: 11px;
  121. &:last-child {
  122. margin-right: 0;
  123. }
  124. & .fas {
  125. margin-right: 3px;
  126. }
  127. }
  128. .top-bar-right {
  129. display: flex;
  130. }
  131. .top-bar-notifications {
  132. display: flex;
  133. position: relative;
  134. }
  135. .top-bar-notifications-list {
  136. background-color: #fff;
  137. box-shadow: 0 3px 20px 0 rgb(0 0 0 / 40%);
  138. max-height: 500px;
  139. overflow-y: auto;
  140. position: absolute;
  141. top: 100%;
  142. right: 0;
  143. width: 280px;
  144. z-index: 1;
  145. border-bottom-left-radius: 6px;
  146. border-bottom-right-radius: 6px;
  147. border: 1px solid #fff;
  148. border-top: none;
  149. @media (--viewport-small) {
  150. width: 330px;
  151. }
  152. @media (--viewport-medium) {
  153. width: 400px;
  154. }
  155. }
  156. .top-bar-notification-item {
  157. color: #6f6f6f;
  158. font-size: 0.8rem;
  159. border-bottom: 1px solid #e9e4e4;
  160. padding: 15px;
  161. &:last-child {
  162. border-bottom: none;
  163. }
  164. &.empty {
  165. text-align: center;
  166. font-size: 1.2rem;
  167. font-weight: normal;
  168. padding: 4rem;
  169. & .fas {
  170. font-size: 4rem;
  171. margin-bottom: 20px;
  172. }
  173. }
  174. &.unseen {
  175. & .top-bar-notification-title {
  176. color: #c36;
  177. }
  178. & .top-bar-notification-delete {
  179. display: block;
  180. }
  181. }
  182. & a {
  183. font-weight: 600;
  184. }
  185. }
  186. .top-bar-notification-timestamp {
  187. font-size: 0.75rem;
  188. font-weight: 600;
  189. text-align: right;
  190. margin-top: 10px;
  191. }
  192. .top-bar-notification-header {
  193. display: flex;
  194. align-items: center;
  195. justify-content: space-between;
  196. margin-bottom: 10px;
  197. }
  198. .top-bar-notification-title {
  199. color: #9e9e9e;
  200. font-size: 0.85rem;
  201. font-weight: 600;
  202. & a {
  203. color: #9e9e9e;
  204. }
  205. }
  206. .top-bar-notification-delete {
  207. display: none;
  208. background-color: transparent;
  209. border: 0;
  210. padding-left: 5px;
  211. padding-right: 5px;
  212. & .fas {
  213. color: #c36;
  214. font-size: 0.9rem;
  215. }
  216. &:hover .fas {
  217. opacity: 0.8;
  218. }
  219. }
  220. .top-bar-notification-delete-all {
  221. display: block;
  222. background-color: transparent;
  223. border: 0;
  224. color: inherit;
  225. width: 100%;
  226. text-align: center;
  227. padding: 10px 15px;
  228. &:hover {
  229. background-color: rgb(0 0 0 / 5%);
  230. }
  231. & .fas {
  232. color: #c36;
  233. margin-right: 5px;
  234. }
  235. }
  236. .top-bar-menu {
  237. display: flex;
  238. position: relative;
  239. }
  240. .top-bar-menu-list {
  241. display: block;
  242. background-color: #4673b6;
  243. box-shadow: 0 3px 20px 0 rgb(0 0 0 / 40%);
  244. position: absolute;
  245. top: 100%;
  246. right: 0;
  247. @media (--viewport-medium) {
  248. display: flex !important; /* NOTE: Overrides inline style set by JS */
  249. background-color: transparent;
  250. box-shadow: none;
  251. position: static;
  252. }
  253. }
  254. .top-bar-menu-item {
  255. @media (--viewport-medium) {
  256. display: flex;
  257. }
  258. }
  259. .top-bar-menu-link {
  260. color: #f7f7f7;
  261. display: flex;
  262. align-items: center;
  263. font-size: 0.8rem;
  264. font-weight: 600;
  265. text-shadow: 1px 1px rgb(0 0 0 / 25%);
  266. background-color: transparent;
  267. border: 0;
  268. border-left: 1px solid transparent;
  269. border-right: 1px solid transparent;
  270. padding: 10px;
  271. &:hover {
  272. box-shadow: inset 0 0 6px rgb(255 255 255 / 60%);
  273. transition: 0.2s;
  274. color: #4686b8;
  275. border-left: 1px solid rgb(0 0 0 / 10%);
  276. border-right: 1px solid rgb(0 0 0 / 10%);
  277. background: linear-gradient(
  278. to bottom,
  279. rgb(255 255 255 / 60%) 0%,
  280. rgb(255 255 255 / 75%) 30%,
  281. rgb(255 255 255 / 100%) 95%
  282. );
  283. text-shadow: 0 1px rgb(255 255 255 / 80%);
  284. }
  285. &:active {
  286. color: #046c98;
  287. border-left: 1px solid rgb(0 0 0 / 15%);
  288. border-right: 1px solid rgb(0 0 0 / 15%);
  289. text-shadow: 0 -1px 1px rgb(255 255 255 / 50%);
  290. background: linear-gradient(
  291. to bottom,
  292. rgb(255 255 255 / 50%) 0%,
  293. rgb(255 255 255 / 60%) 30%,
  294. rgb(255 255 255 / 95%) 95%
  295. );
  296. box-shadow: inset 0 0 1px #fff, inset -1px -1px 4px rgb(220 220 220 / 40%);
  297. transition: 0.2s;
  298. }
  299. &.active {
  300. color: #4686b8;
  301. background: linear-gradient(
  302. to bottom,
  303. rgb(255 255 255 / 60%) 0%,
  304. rgb(255 255 255 / 75%) 30%,
  305. rgb(255 255 255 / 100%) 95%
  306. );
  307. text-shadow: 0 1px rgb(255 255 255 / 80%);
  308. border-left: 1px solid rgb(255 255 255 / 98%);
  309. border-right: 1px solid rgb(255 255 255 / 98%);
  310. }
  311. & .fas {
  312. font-size: 1.1rem;
  313. }
  314. }
  315. .top-bar-menu-link-logout {
  316. color: #dbf94e;
  317. }
  318. .top-bar-menu-link-label {
  319. margin-left: 6px;
  320. white-space: nowrap;
  321. @media (--viewport-medium) {
  322. display: none;
  323. }
  324. @media (--viewport-large) {
  325. display: inline;
  326. }
  327. }
  328. /* Main menu
  329. ========================================================================== */
  330. .main-menu {
  331. @media (--viewport-medium) {
  332. padding-top: 10px;
  333. }
  334. }
  335. .main-menu-toggle {
  336. border: 0;
  337. background-color: transparent;
  338. padding: 10px;
  339. display: block;
  340. width: 100%;
  341. &:hover {
  342. background-color: rgb(0 0 0 / 5%);
  343. & .main-menu-toggle-label {
  344. color: #c36;
  345. }
  346. }
  347. & .fas {
  348. color: #999;
  349. margin-right: 5px;
  350. }
  351. @media (--viewport-small) {
  352. display: none;
  353. }
  354. }
  355. .main-menu-toggle-label {
  356. color: #5b5b5b;
  357. font-weight: 600;
  358. }
  359. .main-menu-list {
  360. display: block;
  361. border-top: 1px solid #ddd;
  362. @media (--viewport-small) {
  363. border-top: 0;
  364. display: flex !important; /* NOTE: Overrides inline style set by JS */
  365. justify-content: space-evenly;
  366. }
  367. }
  368. .main-menu-item {
  369. @media (--viewport-small) {
  370. flex-grow: 1;
  371. }
  372. @media (--viewport-medium) {
  373. flex-grow: 0;
  374. display: flex;
  375. &.focus {
  376. & .main-menu-item-link {
  377. border-bottom-color: #5edad0;
  378. }
  379. & .main-menu-item-label {
  380. color: #5edad0;
  381. }
  382. }
  383. }
  384. }
  385. .main-menu-item-link {
  386. display: block;
  387. text-align: center;
  388. padding: 10px;
  389. &:hover {
  390. background-color: rgb(0 0 0 / 5%);
  391. & .main-menu-item-label {
  392. color: #c36;
  393. }
  394. }
  395. &.active {
  396. & .main-menu-item-label {
  397. color: #c36;
  398. & .fas {
  399. color: #c36;
  400. }
  401. }
  402. }
  403. @media (--viewport-small) {
  404. padding-top: 20px;
  405. padding-bottom: 20px;
  406. }
  407. @media (--viewport-medium) {
  408. border-bottom: 4px solid #fff;
  409. &:hover,
  410. &.active {
  411. background-color: transparent;
  412. border-bottom-color: #c36;
  413. transition: 0.3s;
  414. }
  415. }
  416. @media (--viewport-large) {
  417. padding-left: 30px;
  418. padding-right: 30px;
  419. }
  420. }
  421. .main-menu-item-label {
  422. color: #5b5b5b;
  423. font-weight: 600;
  424. & .fas {
  425. color: #999;
  426. margin-left: 5px;
  427. }
  428. @media (--viewport-medium) {
  429. font-size: 1rem;
  430. & .fas {
  431. margin-left: 10px;
  432. }
  433. }
  434. }
  435. .main-menu-stats {
  436. display: none;
  437. @media (--viewport-medium) {
  438. color: var(--color-text);
  439. display: block;
  440. font-size: 0.75rem;
  441. text-transform: lowercase;
  442. line-height: 1.8;
  443. padding-top: 10px;
  444. padding-bottom: 10px;
  445. }
  446. }
  447. /* Toolbar
  448. ========================================================================== */
  449. .toolbar {
  450. background-color: #fff;
  451. border-top: 1px solid #ddd;
  452. border-bottom: 1px solid #ddd;
  453. & .form-select {
  454. color: inherit;
  455. padding-top: 4px;
  456. padding-bottom: 4px;
  457. box-shadow: none;
  458. border-color: #ddd;
  459. border-right-color: transparent;
  460. border-top-right-radius: 0;
  461. border-bottom-right-radius: 0;
  462. &:focus {
  463. box-shadow: none;
  464. }
  465. }
  466. & .form-control {
  467. padding-top: 4px;
  468. padding-bottom: 4px;
  469. box-shadow: none;
  470. border-color: #ddd;
  471. border-right-color: transparent;
  472. border-top-right-radius: 0;
  473. border-bottom-right-radius: 0;
  474. &:hover {
  475. border-right-color: #94c8f0;
  476. }
  477. &:focus {
  478. border-right-color: #008fee;
  479. }
  480. }
  481. @media (--viewport-large) {
  482. position: sticky;
  483. z-index: 1;
  484. top: 39px;
  485. height: 45px;
  486. display: flex;
  487. justify-content: center;
  488. align-items: center;
  489. &.active {
  490. box-shadow: 0 4px 6px rgb(0 0 0 / 10%);
  491. }
  492. }
  493. }
  494. .toolbar-inner {
  495. padding: 10px 20px;
  496. @media (--viewport-large) {
  497. display: flex;
  498. justify-content: space-between;
  499. align-items: center;
  500. flex-grow: 1;
  501. max-width: 1024px;
  502. padding: 5px 0;
  503. }
  504. }
  505. .toolbar-right {
  506. & form {
  507. display: flex;
  508. }
  509. @media (--viewport-large) {
  510. display: flex;
  511. }
  512. }
  513. .toolbar-sorting {
  514. position: relative;
  515. font-size: 0.8rem;
  516. padding-bottom: 5px;
  517. & form {
  518. flex-grow: 1;
  519. }
  520. @media (--viewport-small) {
  521. display: flex;
  522. align-items: center;
  523. & form {
  524. margin-left: 10px;
  525. }
  526. }
  527. @media (--viewport-large) {
  528. padding-bottom: 0;
  529. }
  530. }
  531. .toolbar-sorting-toggle {
  532. color: var(--color-text);
  533. display: block;
  534. padding-bottom: 5px;
  535. text-transform: uppercase;
  536. &:hover {
  537. color: #4b4b4b;
  538. & b {
  539. color: #4b4b4b;
  540. }
  541. }
  542. &:active {
  543. color: #3b9de8;
  544. & b {
  545. color: #3b9de8;
  546. }
  547. }
  548. & b {
  549. padding-left: 3px;
  550. }
  551. @media (--viewport-small) {
  552. padding-bottom: 0;
  553. }
  554. }
  555. .toolbar-sorting-menu {
  556. position: absolute;
  557. top: 25px;
  558. left: 0;
  559. z-index: 1;
  560. overflow: hidden;
  561. border-radius: 4px;
  562. border: 1px solid rgb(255 255 255 / 100%);
  563. background-color: rgb(255 255 255 / 95%);
  564. box-shadow: 0 2px 14px 0 rgb(20 20 20 / 35%);
  565. & li {
  566. border-bottom: 1px solid #ddd;
  567. color: #2e2e2e;
  568. cursor: pointer;
  569. &:last-child {
  570. border-bottom: none;
  571. }
  572. }
  573. & span {
  574. &.name {
  575. display: inline-block;
  576. padding: 11px;
  577. width: 141px;
  578. font-weight: 500;
  579. & .fas.fa-arrow-down-a-z {
  580. float: right;
  581. margin-top: 2px;
  582. }
  583. }
  584. &.up {
  585. display: inline-block;
  586. padding: 11px 14px;
  587. width: 44px;
  588. }
  589. &.active {
  590. background-color: #4f8bbc;
  591. color: #4686b8;
  592. background: linear-gradient(
  593. to bottom,
  594. rgb(255 255 255 / 60%) 0%,
  595. rgb(255 255 255 / 75%) 50%,
  596. rgb(255 255 255 / 95%) 95%
  597. );
  598. text-shadow: 0 1px rgb(255 255 255 / 80%);
  599. }
  600. &:hover {
  601. color: #3b9de8;
  602. text-shadow: 1px 1px rgb(255 255 255 / 50%);
  603. background: linear-gradient(
  604. to bottom,
  605. rgb(241 248 253 / 100%) 0%,
  606. rgb(218 236 250 / 100%) 50%,
  607. rgb(190 221 246 / 100%) 51%,
  608. rgb(227 240 251 / 100%) 100%
  609. );
  610. box-shadow: inset 0 0 1px #fff, inset 0 0 6px rgb(255 255 255 / 60%);
  611. transition: 0.2s;
  612. }
  613. &:active,
  614. &:focus {
  615. background: linear-gradient(
  616. to bottom,
  617. rgb(210 232 250 / 100%) 0%,
  618. rgb(187 220 247 / 100%) 50%,
  619. rgb(162 207 244 / 100%) 51%,
  620. rgb(194 224 248 / 100%) 100%
  621. );
  622. color: #046c98;
  623. text-shadow: 0 -1px 1px rgb(255 255 255 / 50%);
  624. box-shadow: inset 0 0 1px #fff, inset -1px -1px 4px rgb(220 220 220 / 40%);
  625. }
  626. }
  627. @media (--viewport-small) {
  628. top: 35px;
  629. }
  630. }
  631. .toolbar-input-submit {
  632. display: flex;
  633. align-items: center;
  634. border: 1px solid #ddd;
  635. border-left: 0;
  636. background-color: rgb(255 255 255 / 90%);
  637. border-radius: 0 4px 4px 0;
  638. box-shadow: inset 0 0 1px rgb(41 90 152 / 10%), inset 0 0 2px rgb(255 255 255 / 100%);
  639. text-shadow: 1px 1px rgb(255 255 255 / 90%);
  640. color: #069;
  641. min-width: 32px;
  642. padding: 0 10px;
  643. font-size: 0.75rem;
  644. &:hover {
  645. color: #39c;
  646. background-color: #fff;
  647. }
  648. &:active {
  649. color: #409fd5;
  650. box-shadow: inset 1px 1px 0 rgb(0 0 0 / 10%);
  651. }
  652. }
  653. .toolbar-link {
  654. display: block;
  655. padding: 6px 12px;
  656. color: #777;
  657. text-transform: uppercase;
  658. font-weight: 600;
  659. &.selected {
  660. color: #c36;
  661. }
  662. &:hover {
  663. color: #c36;
  664. }
  665. &:active {
  666. color: #3b9de8;
  667. }
  668. }
  669. .toolbar-buttons {
  670. padding-bottom: 10px;
  671. &:last-child {
  672. padding-bottom: 0;
  673. }
  674. & .button {
  675. min-width: 0;
  676. width: 100%;
  677. margin-bottom: 5px;
  678. padding: 2px 10px;
  679. &:last-child {
  680. margin-bottom: 0;
  681. }
  682. }
  683. @media (--viewport-medium) {
  684. display: flex;
  685. align-items: center;
  686. & .inline-alert {
  687. margin-right: 20px;
  688. }
  689. & .button {
  690. margin-bottom: 0;
  691. margin-right: 8px;
  692. &:last-child {
  693. margin-right: 0;
  694. }
  695. }
  696. }
  697. @media (--viewport-large) {
  698. padding-bottom: 0;
  699. & .button {
  700. width: auto;
  701. }
  702. }
  703. }
  704. .toolbar-search {
  705. @media (--viewport-large) {
  706. margin-left: 12px;
  707. }
  708. }
  709. /* Cards
  710. ========================================================================== */
  711. .cards {
  712. @media (--viewport-small) {
  713. display: grid;
  714. gap: 25px;
  715. grid-template-columns: repeat(2, 1fr);
  716. }
  717. @media (--viewport-medium) {
  718. grid-template-columns: repeat(4, 1fr);
  719. }
  720. }
  721. .card {
  722. overflow: hidden;
  723. background-color: #f5f5f5;
  724. border: 1px solid #d3d3d3;
  725. box-shadow: 0 1px 4px rgb(0 0 0 / 20%);
  726. border-radius: 4px;
  727. margin-bottom: 20px;
  728. @media (--viewport-small) {
  729. margin-bottom: 0;
  730. }
  731. &.disabled {
  732. color: #b6b6b6;
  733. & .card-thumb {
  734. filter: grayscale(100%);
  735. opacity: 0.3;
  736. }
  737. }
  738. }
  739. .card-thumb {
  740. background-color: #fff;
  741. display: flex;
  742. align-items: center;
  743. justify-content: center;
  744. height: 180px;
  745. padding: 20px;
  746. & img {
  747. max-width: 100%;
  748. max-height: 100%;
  749. }
  750. }
  751. .card-content {
  752. padding: 10px;
  753. color: #353535;
  754. border-top: 1px solid #e6e6e6;
  755. text-align: center;
  756. }
  757. .card-title {
  758. font-size: 1rem;
  759. font-weight: 600;
  760. }
  761. .body-user .l-unit.animate__animated.animate__fadeIn {
  762. line-height: 2rem;
  763. }
  764. .body-user .actions-panel {
  765. line-height: 2rem;
  766. }
  767. .l-unit {
  768. color: #707070;
  769. padding: 0 0 0 14px;
  770. overflow: hidden;
  771. font-size: 0.8rem;
  772. border-radius: 0;
  773. border-left: 1px solid transparent;
  774. border-right: 1px solid transparent;
  775. }
  776. .table-header {
  777. font-size: 0.8rem;
  778. background: linear-gradient(to bottom, rgb(247 247 247 / 100%) 0%, rgb(255 255 255 / 100%) 100%);
  779. background-color: #fff;
  780. border-left: 1px solid #d0d0d0;
  781. border-right: 1px solid #d0d0d0;
  782. border-bottom: 1px solid #d0d0d0;
  783. text-shadow: 0 1px rgb(255 255 255 / 100%);
  784. box-shadow: inset 0 1px 1px rgb(255 255 255 / 100%), inset 0 0 1px rgb(255 255 255 / 100%),
  785. inset 0 0 4px rgb(255 255 255 / 80%), 0 1px 4px rgb(140 140 140 / 35%);
  786. border-radius: 0 0 6px 6px;
  787. min-height: 28px;
  788. color: #707070;
  789. padding: 0 0 0 14px;
  790. overflow: hidden;
  791. width: 1024px;
  792. line-height: 1rem;
  793. padding-top: 4px;
  794. padding-bottom: 4px;
  795. & .fas {
  796. font-size: 1rem;
  797. }
  798. @media (--viewport-large) {
  799. &.active {
  800. position: fixed;
  801. top: 84px;
  802. z-index: 1;
  803. }
  804. }
  805. }
  806. .units {
  807. overflow-x: auto;
  808. padding-left: 20px;
  809. padding-right: 20px;
  810. padding-bottom: 20px;
  811. @media (--viewport-large) {
  812. padding-left: 0;
  813. padding-right: 0;
  814. padding-bottom: 0;
  815. }
  816. }
  817. .units .l-unit {
  818. border-bottom: 1px solid #ddd;
  819. border-left: 1px solid transparent;
  820. border-right: 1px solid transparent;
  821. width: 1024px;
  822. }
  823. .l-unit:hover,
  824. .units .l-unit:hover {
  825. box-shadow: 0 2px 10px rgb(150 150 150 / 20%);
  826. background-color: #f8f8f8;
  827. text-shadow: 0 1px rgb(255 255 255 / 50%);
  828. border-left: 1px solid #ddd;
  829. border-right: 1px solid #ddd;
  830. }
  831. .units .l-unit.l-unit--starred {
  832. border-left: 2px solid #c36;
  833. }
  834. .units.active .l-unit.focus {
  835. border-left: 2px solid #5edad0;
  836. background-color: #eff5fc;
  837. }
  838. .units.active .l-unit.focus .l-unit__name {
  839. color: #36b3a9;
  840. }
  841. .units.active .l-unit.focus .l-unit-toolbar__col--right {
  842. display: block;
  843. }
  844. .units > div:last-child {
  845. border-bottom: none;
  846. }
  847. .l-unit:hover .l-unit-toolbar__col--right {
  848. display: block;
  849. }
  850. .l-unit--blue {
  851. border-left: 2px solid #3b9de8;
  852. }
  853. .l-unit--suspended {
  854. background-color: #eaeaea !important;
  855. color: #c0c0c0;
  856. & a {
  857. color: #c0c0c0 !important;
  858. }
  859. }
  860. .units .l-unit.l-unit--outdated {
  861. background-color: #ffcaca;
  862. color: #4b4b4b;
  863. }
  864. .body-updates .units .l-unit.l-unit--outdated .fas.fa-box-open {
  865. color: #da1010;
  866. }
  867. .l-unit--suspended .l-unit__name,
  868. .l-unit--suspended b,
  869. .l-unit--outdated .l-unit__name,
  870. .l-unit--outdated b {
  871. color: #c0c0c0;
  872. }
  873. .l-unit--outdated .l-unit__name {
  874. color: #333;
  875. }
  876. .l-unit--outdated b {
  877. color: #4b4b4b;
  878. }
  879. .l-unit--suspended .l-percent {
  880. border-color: #fff;
  881. }
  882. .l-unit--suspended .l-percent__fill {
  883. background-color: #fff;
  884. }
  885. .l-unit--suspended .l-unit__name,
  886. .l-unit--suspended .l-unit__name span {
  887. color: #adadad;
  888. }
  889. .l-unit--suspended.selected {
  890. background-color: #f2eab8 !important;
  891. color: #b2ac87 !important;
  892. }
  893. .l-unit--outdated.selected {
  894. background: #ff9494 !important;
  895. color: #333 !important;
  896. text-shadow: none !important;
  897. }
  898. .l-unit--suspended.selected b,
  899. .l-unit--outdated.selected .l-unit__name,
  900. .l-unit--outdated.selected b,
  901. .l-unit--suspended.selected .l-percent,
  902. .l-unit--suspended.selected .l-percent__fill,
  903. .l-unit--suspended.selected .l-unit__name,
  904. .l-unit--suspended.selected .l-unit__name span {
  905. color: #333 !important;
  906. }
  907. .l-unit.selected .l-percent {
  908. border-bottom: 1px dotted #777;
  909. }
  910. .l-unit--selected {
  911. background-color: #d1eddc;
  912. }
  913. .l-unit-toolbar {
  914. display: none;
  915. }
  916. .l-unit label {
  917. margin-bottom: 20px;
  918. }
  919. .l-unit__columns {
  920. display: table;
  921. width: 100%;
  922. }
  923. .l-unit__col {
  924. display: table-cell;
  925. padding-top: 12px;
  926. vertical-align: top;
  927. padding-bottom: 10px;
  928. }
  929. .l-unit__col--left {
  930. width: 110px;
  931. padding-right: 10px;
  932. }
  933. .units.compact .l-unit__col--left {
  934. vertical-align: top;
  935. }
  936. .l-unit__col--right.total {
  937. padding-left: 16px;
  938. }
  939. .l-unit__suspended {
  940. display: none;
  941. font-size: 0.8rem;
  942. font-weight: 600;
  943. margin-top: 36px;
  944. text-transform: uppercase;
  945. margin-bottom: 14px;
  946. }
  947. .units.compact .l-unit__suspended {
  948. margin-top: 1px;
  949. }
  950. .l-unit--outdated .l-unit__suspended,
  951. .l-unit--suspended .l-unit__suspended {
  952. display: block;
  953. }
  954. .l-unit__name {
  955. color: #414141;
  956. font-size: 1.4rem;
  957. margin-top: 10px;
  958. margin-bottom: 10px;
  959. font-weight: 500;
  960. letter-spacing: -0.02em;
  961. }
  962. .l-unit__servername {
  963. color: #414141;
  964. font-size: 1.7rem;
  965. margin-bottom: 10px;
  966. font-weight: 300;
  967. letter-spacing: -0.02em;
  968. }
  969. .l-unit__stats.separate,
  970. .l-unit__name.separate {
  971. padding-bottom: 15px;
  972. }
  973. .body-stats .l-unit__name {
  974. margin-left: -42px;
  975. margin-top: 12px;
  976. color: #606060;
  977. }
  978. .l-unit__name span {
  979. color: #999;
  980. margin-left: 30px;
  981. font-style: italic;
  982. &:first-of-type {
  983. margin-left: 39px;
  984. }
  985. }
  986. .l-unit__name b {
  987. font-weight: normal;
  988. font-style: italic;
  989. }
  990. .l-unit__stats {
  991. margin-bottom: 10px;
  992. margin-left: 15%;
  993. border-left: 1px solid transparent !important;
  994. border-right: 1px solid transparent !important;
  995. &:hover {
  996. border-left: 1px solid transparent !important;
  997. border-right: 1px solid transparent !important;
  998. box-shadow: none !important;
  999. background: none !important;
  1000. }
  1001. & table {
  1002. table-layout: fixed;
  1003. margin-top: -54px;
  1004. margin-left: -20px;
  1005. }
  1006. & td {
  1007. height: 32px;
  1008. padding-bottom: 4px;
  1009. vertical-align: middle;
  1010. }
  1011. }
  1012. .body-stats .l-unit__stat-col--left {
  1013. width: 180px;
  1014. }
  1015. .body-stats .l-unit__stat-col--right {
  1016. float: right;
  1017. }
  1018. .l-unit__stat-col--left a,
  1019. .l-unit__stat-col--left a:visited {
  1020. color: #353535;
  1021. }
  1022. .l-unit__stat-col--left a:hover {
  1023. color: #4c8bbe;
  1024. }
  1025. .l-unit__stat-col--left {
  1026. float: left;
  1027. width: 110px;
  1028. }
  1029. .l-unit__stat-col--left.border {
  1030. border-left: 1px solid #ebebeb;
  1031. }
  1032. .l-unit__stat-col--left.border-clear {
  1033. border-left: 1px solid transparent;
  1034. }
  1035. .l-unit__stat-col--left.super-compact {
  1036. width: 50px;
  1037. white-space: nowrap;
  1038. }
  1039. .l-unit__stat-col--left.compact {
  1040. width: 60px;
  1041. }
  1042. .l-unit__stat-col--left.compact-1 {
  1043. width: 70px;
  1044. }
  1045. .l-unit__stat-col--left.compact-2 {
  1046. width: 80px;
  1047. }
  1048. .l-unit__stat-col--left.compact-3 {
  1049. width: 90px;
  1050. }
  1051. .l-unit__stat-col--left.compact-4 {
  1052. width: 130px;
  1053. }
  1054. .l-unit__stat-col--left.compact-5 {
  1055. width: 160px;
  1056. }
  1057. .l-unit__stat-col--left.wide {
  1058. width: 190px;
  1059. }
  1060. .l-unit__stat-col--left.wide-2 {
  1061. width: 230px;
  1062. }
  1063. .l-unit__stat-col--left.wide-3 {
  1064. width: 250px;
  1065. }
  1066. .l-unit__stat-col--left.wide-4 {
  1067. width: 320px;
  1068. }
  1069. .l-unit__stat-col--left.wide-5 {
  1070. width: 350px;
  1071. }
  1072. .l-unit__stat-col--left.wide-6 {
  1073. width: 440px;
  1074. }
  1075. .l-unit__stat-col--left.wide-7 {
  1076. width: 550px;
  1077. }
  1078. .l-unit__stat-col--right {
  1079. float: left;
  1080. max-width: 170px;
  1081. }
  1082. .l-unit-toolbar__col--left {
  1083. float: left;
  1084. margin-left: -15px;
  1085. margin-top: 0;
  1086. padding-bottom: 0;
  1087. padding-left: 15px;
  1088. padding-top: 15px;
  1089. width: 30px;
  1090. cursor: pointer;
  1091. display: none;
  1092. }
  1093. .l-unit-toolbar__col--right {
  1094. float: right;
  1095. }
  1096. .l-unit-toolbar .shortcut {
  1097. display: none;
  1098. }
  1099. .units.active .l-unit.focus .l-unit-toolbar .shortcut {
  1100. display: block;
  1101. background-color: #69a298;
  1102. border-radius: 13px;
  1103. color: #fff;
  1104. cursor: pointer;
  1105. font-size: 0.8rem;
  1106. font-weight: 600;
  1107. line-height: 25px;
  1108. padding-left: 7px;
  1109. padding-right: 9px;
  1110. position: absolute;
  1111. right: 3px;
  1112. top: 3px;
  1113. }
  1114. .units.active .l-unit.focus .l-unit-toolbar .shortcut.delete {
  1115. font-size: 10px;
  1116. padding-left: 2px;
  1117. padding-right: 5px;
  1118. text-transform: capitalize;
  1119. }
  1120. .units.active .l-unit.focus .l-unit-toolbar .shortcut.enter {
  1121. font-size: 17px;
  1122. padding-left: 1px;
  1123. padding-right: 7px;
  1124. }
  1125. .units.active .l-unit.focus .l-unit-toolbar i {
  1126. background: none;
  1127. }
  1128. .actions-panel {
  1129. line-height: 1.1rem;
  1130. }
  1131. .actions-panel__col {
  1132. display: inline-block;
  1133. margin-left: 3px;
  1134. text-transform: uppercase;
  1135. & a {
  1136. color: #777;
  1137. font-weight: 600;
  1138. font-size: 0.9rem;
  1139. display: inline-block;
  1140. cursor: pointer;
  1141. }
  1142. }
  1143. .l-unit__col .actions-panel .fas {
  1144. display: none;
  1145. }
  1146. .l-unit__col:hover .actions-panel .fas {
  1147. display: inline-block;
  1148. }
  1149. .l-unit__stat-cols {
  1150. padding-right: 10px;
  1151. }
  1152. .l-unit__stat-cols.last {
  1153. padding-right: 0;
  1154. }
  1155. .l-unit__stat-cols.graph {
  1156. width: 242px;
  1157. }
  1158. .l-percent {
  1159. border-bottom: 3px solid #e6e6e6;
  1160. margin-top: 2px;
  1161. width: 242px;
  1162. }
  1163. .l-percent__fill {
  1164. background-color: #54e000;
  1165. height: 3px;
  1166. position: relative;
  1167. bottom: -3px;
  1168. }
  1169. .statistics-count {
  1170. min-width: 24px;
  1171. text-align: right;
  1172. border-bottom: 1px dotted #ddd;
  1173. border-right: 1px dotted #ddd;
  1174. padding-right: 4px;
  1175. }
  1176. /* Forms
  1177. ========================================================================== */
  1178. .form-container {
  1179. max-width: 640px;
  1180. margin-left: auto;
  1181. margin-right: auto;
  1182. padding: 30px 20px;
  1183. }
  1184. .form-container-wide {
  1185. max-width: 920px;
  1186. }
  1187. @media (--viewport-medium) {
  1188. .sidebar-container {
  1189. display: grid;
  1190. gap: 50px;
  1191. grid-template-columns: 2fr 1.3fr;
  1192. }
  1193. }
  1194. .form-title {
  1195. color: #4b4b4b;
  1196. font-size: 1.4rem;
  1197. font-weight: 500;
  1198. padding-bottom: 30px;
  1199. letter-spacing: -0.01em;
  1200. }
  1201. .form-label {
  1202. margin-bottom: 5px;
  1203. display: inline-block;
  1204. }
  1205. .form-label,
  1206. .form-check label {
  1207. color: #4b4b4b;
  1208. font-weight: 600;
  1209. }
  1210. .form-control {
  1211. background-color: #fff;
  1212. border: 1px solid #cfcfcf;
  1213. display: block;
  1214. width: 100%;
  1215. padding: 8px 12px;
  1216. font-size: 0.8rem;
  1217. font-weight: normal;
  1218. color: #4e4e4e;
  1219. border-radius: 4px;
  1220. line-height: 1.5;
  1221. appearance: none;
  1222. box-shadow: 0 1px 4px rgb(0 0 0 / 15%);
  1223. &:hover {
  1224. border-color: #94c8f0;
  1225. }
  1226. &:focus {
  1227. border-color: #008fee;
  1228. background-color: #d7f9ff;
  1229. color: #333;
  1230. }
  1231. &.list-editor {
  1232. border-color: transparent;
  1233. box-shadow: none;
  1234. position: absolute;
  1235. padding-top: 7px;
  1236. padding-bottom: 7px;
  1237. width: auto;
  1238. top: 1px;
  1239. left: 1px;
  1240. right: 30px;
  1241. &:hover {
  1242. border-color: transparent;
  1243. }
  1244. &:focus {
  1245. background-color: #fff;
  1246. }
  1247. }
  1248. }
  1249. .form-select {
  1250. display: block;
  1251. width: 100%;
  1252. font-weight: normal;
  1253. font-size: 0.8rem;
  1254. padding: 8px 30px 8px 12px;
  1255. line-height: 1.5;
  1256. border-radius: 4px;
  1257. background-color: #fff;
  1258. border: 1px solid #ccc;
  1259. color: #4e4e4e;
  1260. appearance: none;
  1261. background-image: url("/images/arrow.svg");
  1262. background-size: 16px auto;
  1263. background-repeat: no-repeat;
  1264. background-position: right 9px center;
  1265. text-shadow: 0 0 0 #4b4b4b;
  1266. box-shadow: 0 1px 4px rgb(0 0 0 / 15%);
  1267. &:hover {
  1268. border-color: #94c8f0;
  1269. }
  1270. &:focus {
  1271. border-color: #008fee;
  1272. }
  1273. }
  1274. .form-check {
  1275. position: relative;
  1276. padding-left: 20px;
  1277. margin-left: 3px;
  1278. min-height: 24px;
  1279. }
  1280. .form-check-input {
  1281. position: absolute;
  1282. margin-top: 3px;
  1283. margin-left: -20px;
  1284. }
  1285. .form-control:disabled,
  1286. .form-select:disabled {
  1287. background-color: #e7e7e7;
  1288. text-shadow: 1px 1px rgb(255 255 255 / 100%);
  1289. color: #686868;
  1290. }
  1291. .form-control:focus:disabled {
  1292. border-color: #dedede;
  1293. background-color: #f1f1f1;
  1294. }
  1295. .form-control:disabled:hover,
  1296. .form-select:disabled:hover {
  1297. border-color: #cfcfcf;
  1298. }
  1299. .form-link {
  1300. color: #326b9b;
  1301. cursor: pointer;
  1302. text-decoration: underline;
  1303. font-weight: 600;
  1304. border-radius: 4px;
  1305. margin-left: -3px;
  1306. padding-left: 3px;
  1307. padding-right: 3px;
  1308. &:hover {
  1309. text-decoration: none;
  1310. color: #fff;
  1311. background-color: #3b9de8;
  1312. }
  1313. &:active {
  1314. background-color: #54a6e5;
  1315. }
  1316. }
  1317. .form-link-danger {
  1318. &:hover {
  1319. background-color: #c36;
  1320. }
  1321. &:active {
  1322. background-color: #f7d616;
  1323. }
  1324. }
  1325. .toggle-password {
  1326. color: #aaa;
  1327. z-index: 1;
  1328. position: absolute;
  1329. top: 9px;
  1330. right: 12px;
  1331. }
  1332. .toggle-psw-visibility-icon {
  1333. cursor: pointer;
  1334. opacity: 1;
  1335. margin: -2px;
  1336. }
  1337. .password-meter {
  1338. appearance: none;
  1339. display: block;
  1340. width: auto;
  1341. height: 3px;
  1342. background-color: #e7e7e7;
  1343. margin-left: 3px;
  1344. margin-right: 3px;
  1345. border-bottom-left-radius: 3px;
  1346. border-bottom-right-radius: 3px;
  1347. box-shadow: 0 1px 2px rgb(0 0 0 / 25%);
  1348. &[value="1"] {
  1349. background: red;
  1350. }
  1351. &[value="2"] {
  1352. background: orange;
  1353. }
  1354. &[value="3"] {
  1355. background: yellow;
  1356. }
  1357. &[value="4"] {
  1358. background: green;
  1359. }
  1360. }
  1361. .unlim-trigger {
  1362. cursor: pointer;
  1363. position: absolute;
  1364. top: 13px;
  1365. right: 12px;
  1366. z-index: 1;
  1367. font-size: 0.8rem;
  1368. }
  1369. .optional {
  1370. font-size: 0.8rem;
  1371. margin-left: 6px;
  1372. font-weight: normal;
  1373. }
  1374. .hint {
  1375. color: #777;
  1376. font-size: 0.8rem;
  1377. font-style: italic;
  1378. font-weight: normal;
  1379. }
  1380. .hint-prefix {
  1381. color: #555;
  1382. font-size: 0.8rem;
  1383. }
  1384. .section-title {
  1385. display: flex;
  1386. color: #4b4b4b;
  1387. cursor: pointer;
  1388. justify-content: space-between;
  1389. align-items: center;
  1390. font-size: 1.05rem;
  1391. font-weight: 600;
  1392. padding-top: 28px;
  1393. padding-bottom: 12px;
  1394. border-bottom: 1px solid #ccc;
  1395. }
  1396. /* Modals
  1397. ========================================================================== */
  1398. .dialog {
  1399. display: none;
  1400. }
  1401. /* Hide the default close button in dialog header */
  1402. .ui-dialog-titlebar-close {
  1403. display: none;
  1404. }
  1405. /* Set dialog z-index */
  1406. .ui-front {
  1407. z-index: 2;
  1408. }
  1409. .ui-dialog {
  1410. font-family: Exo, system-ui;
  1411. font-weight: 500;
  1412. background-color: rgb(255 255 255 / 90%);
  1413. box-shadow: inset 0 1px 3px rgb(0 0 0 / 25%), 0 8px 40px 0 rgb(0 0 0 / 35%);
  1414. border-radius: 6px;
  1415. border: 1px solid rgb(255 255 255 / 98%);
  1416. text-align: center;
  1417. }
  1418. .ui-dialog .ui-dialog-content {
  1419. color: #535353;
  1420. padding: 20px 26px 30px;
  1421. }
  1422. .ui-dialog .ui-dialog-title {
  1423. margin: 0;
  1424. color: #305ba9;
  1425. font-size: 1rem;
  1426. text-transform: none;
  1427. letter-spacing: -0.01em;
  1428. text-align: center;
  1429. float: none;
  1430. font-weight: 500;
  1431. }
  1432. .ui-widget-overlay {
  1433. background-color: rgb(0 0 0 / 60%);
  1434. }
  1435. .ui-dialog .ui-dialog-buttonpane {
  1436. border-color: #fff;
  1437. box-shadow: inset 0 0 2px rgb(0 0 0 / 25%);
  1438. margin-top: 0;
  1439. padding: 0;
  1440. }
  1441. .ui-dialog .ui-dialog-buttonpane button {
  1442. margin: 0.5em 0.5em 0.5em 0;
  1443. box-shadow: 0 1px 4px rgb(0 0 0 / 20%), inset 0 0 1px #fff, inset 0 0 3px rgb(255 255 255 / 50%);
  1444. }
  1445. /* Shortcuts panel
  1446. ========================================================================== */
  1447. .shortcuts {
  1448. background: rgb(50 50 50 / 93%);
  1449. color: #eee;
  1450. border: 1px solid rgb(255 255 255 / 70%);
  1451. border-radius: 6px;
  1452. box-shadow: 0 4px 30px rgb(0 0 0 / 50%);
  1453. & li {
  1454. padding: 5px 20px;
  1455. }
  1456. & .key {
  1457. color: #ff3478;
  1458. display: inline-block;
  1459. font-weight: 600;
  1460. padding-right: 20px;
  1461. &.bigger {
  1462. font-size: 1.1rem;
  1463. }
  1464. }
  1465. }
  1466. .shortcuts-header {
  1467. display: flex;
  1468. align-items: center;
  1469. justify-content: space-between;
  1470. border-bottom: 1px solid #606060;
  1471. padding: 10px 10px 10px 20px;
  1472. }
  1473. .shortcuts-title {
  1474. text-transform: uppercase;
  1475. color: #ff3478;
  1476. letter-spacing: -0.01em;
  1477. font-weight: 600;
  1478. }
  1479. .shortcuts-close {
  1480. cursor: pointer;
  1481. padding: 5px 10px;
  1482. &:hover {
  1483. color: #db0000;
  1484. }
  1485. &:active {
  1486. color: #a60000;
  1487. }
  1488. }
  1489. .shortcuts-inner {
  1490. @media (--viewport-medium) {
  1491. display: flex;
  1492. }
  1493. }
  1494. .shortcuts-list {
  1495. flex-grow: 1;
  1496. padding: 40px;
  1497. }
  1498. /* Buttons
  1499. ========================================================================== */
  1500. .button {
  1501. cursor: pointer;
  1502. display: inline-block;
  1503. line-height: 1.5;
  1504. font-size: 0.85rem;
  1505. font-weight: 500;
  1506. padding: 3px 25px;
  1507. user-select: none;
  1508. color: #30659d;
  1509. min-width: 100px;
  1510. text-align: center;
  1511. text-shadow: 0 1px 1px rgb(255 255 255 / 85%);
  1512. border: 1px solid #0083db;
  1513. border-radius: 3px;
  1514. background-color: #3b9de8;
  1515. background: linear-gradient(
  1516. to bottom,
  1517. rgb(235 243 249 / 100%) 0%,
  1518. rgb(192 216 236 / 100%) 51%,
  1519. rgb(223 235 245 / 100%) 100%
  1520. );
  1521. box-shadow: 0 1px 3px rgb(0 0 0 / 25%), inset 0 0 1px #fff, inset 0 0 3px rgb(255 255 255 / 50%);
  1522. &:hover {
  1523. color: #0077c6;
  1524. text-shadow: 1px 1px rgb(255 255 255 / 50%);
  1525. border-color: #54a6e5;
  1526. background: linear-gradient(
  1527. to bottom,
  1528. rgb(241 248 253 / 100%) 0%,
  1529. rgb(190 221 246 / 100%) 51%,
  1530. rgb(227 240 251 / 100%) 100%
  1531. );
  1532. box-shadow: 0 1px 3px rgb(0 0 0 / 25%), inset 0 0 1px #fff, inset 0 0 6px rgb(255 255 255 / 60%);
  1533. transition: 0.2s;
  1534. }
  1535. &:active,
  1536. &:focus {
  1537. color: #517bab;
  1538. text-shadow: 0 -1px 2px rgb(255 255 255 / 85%);
  1539. border-color: #0066b4;
  1540. background: linear-gradient(
  1541. to bottom,
  1542. rgb(194 224 248 / 100%) 0%,
  1543. rgb(162 207 244 / 100%) 51%,
  1544. rgb(210 232 250 / 100%) 100%
  1545. );
  1546. box-shadow: 0 1px 2px rgb(0 0 0 / 20%), inset 0 0 1px #fff,
  1547. inset -1px -1px 4px rgb(220 220 220 / 40%);
  1548. }
  1549. & .fas {
  1550. margin-right: 6px;
  1551. }
  1552. }
  1553. .button-secondary {
  1554. color: #717171;
  1555. border-color: #aaa;
  1556. background: linear-gradient(
  1557. to bottom,
  1558. rgb(250 250 250 / 100%) 0%,
  1559. rgb(230 230 230 / 100%) 51%,
  1560. rgb(242 242 242 / 100%) 100%
  1561. );
  1562. }
  1563. .button-danger:hover {
  1564. background: linear-gradient(to bottom, #fbf2f1 0%, #f6b4ac 51%, #fde6e3 100%);
  1565. color: #f4301a;
  1566. text-shadow: 0 1px rgb(255 255 255 / 50%);
  1567. border-color: #f27e71;
  1568. }
  1569. .button-danger:active,
  1570. .button-danger:focus {
  1571. background: linear-gradient(to bottom, #fcd0ca 0%, #f5a69d 50%, #f9e3df 100%);
  1572. color: #ce1500;
  1573. text-shadow: 0 1px 1px rgb(255 255 255 / 20%), 0 -1px 1px rgb(255 255 255 / 60%);
  1574. border-color: #f4301a;
  1575. }
  1576. .button-circle {
  1577. border-radius: 50%;
  1578. min-width: 28px;
  1579. padding: 3px;
  1580. & .fas {
  1581. margin-right: 0;
  1582. }
  1583. }
  1584. .button-floating {
  1585. display: none;
  1586. @media (--viewport-medium) {
  1587. display: block;
  1588. position: fixed;
  1589. z-index: 1;
  1590. bottom: 70px;
  1591. }
  1592. }
  1593. .button-floating-top {
  1594. right: 60px;
  1595. }
  1596. .button-floating-shortcuts {
  1597. right: 110px;
  1598. }
  1599. /* Values List component
  1600. ========================================================================== */
  1601. .values-list {
  1602. }
  1603. .values-list-item {
  1604. margin-bottom: 3px;
  1605. @media (--viewport-small) {
  1606. display: flex;
  1607. }
  1608. }
  1609. .values-list-label {
  1610. display: block;
  1611. font-weight: 600;
  1612. @media (--viewport-small) {
  1613. min-width: 130px;
  1614. }
  1615. }
  1616. .values-list-value {
  1617. }
  1618. /* Server summary component
  1619. ========================================================================== */
  1620. .server-summary {
  1621. padding: 20px;
  1622. @media (--viewport-medium) {
  1623. display: flex;
  1624. }
  1625. }
  1626. .server-summary-icon {
  1627. text-align: center;
  1628. margin-bottom: 10px;
  1629. & .fas {
  1630. font-size: 4.6rem;
  1631. }
  1632. @media (--viewport-medium) {
  1633. margin-top: 8px;
  1634. margin-bottom: 0;
  1635. }
  1636. }
  1637. .server-summary-content {
  1638. text-align: center;
  1639. @media (--viewport-medium) {
  1640. text-align: left;
  1641. flex-grow: 1;
  1642. margin-left: 30px;
  1643. }
  1644. @media (--viewport-large) {
  1645. margin-left: 40px;
  1646. }
  1647. }
  1648. .server-summary-title {
  1649. color: #414141;
  1650. margin-bottom: 10px;
  1651. @media (--viewport-medium) {
  1652. font-size: 1.7rem;
  1653. margin-bottom: 0;
  1654. }
  1655. }
  1656. .server-summary-list {
  1657. @media (--viewport-medium) {
  1658. display: flex;
  1659. justify-content: space-between;
  1660. }
  1661. }
  1662. .server-summary-item {
  1663. @media (--viewport-large) {
  1664. min-width: 200px;
  1665. }
  1666. }
  1667. .server-summary-list-label {
  1668. font-weight: 600;
  1669. @media (--viewport-medium) {
  1670. display: block;
  1671. }
  1672. }
  1673. .server-summary-list-value {
  1674. }
  1675. /* Panel component
  1676. ========================================================================== */
  1677. .panel {
  1678. padding: 20px;
  1679. border: 1px solid #d9d9d9;
  1680. box-shadow: 0 1px 4px rgb(0 0 0 / 15%);
  1681. border-radius: 4px;
  1682. }
  1683. /* Collapse component
  1684. ========================================================================== */
  1685. .collapse {
  1686. }
  1687. .collapse[open] .collapse-header::after {
  1688. transform: rotate(180deg);
  1689. }
  1690. .collapse-header {
  1691. background: linear-gradient(to bottom, rgb(247 247 247 / 100%) 0%, rgb(255 255 255 / 100%) 100%);
  1692. border: 1px solid #ddd;
  1693. text-shadow: 0 1px rgb(255 255 255 / 95%);
  1694. box-shadow: inset 0 0 1px rgb(255 255 255 / 100%), inset 0 0 4px rgb(255 255 255 / 80%),
  1695. 0 4px 6px rgb(190 190 190 / 40%);
  1696. font-weight: 600;
  1697. color: #30659d;
  1698. cursor: pointer;
  1699. position: relative;
  1700. padding: 8px 18px;
  1701. &:hover {
  1702. color: #ff3478;
  1703. }
  1704. &::after {
  1705. content: "";
  1706. display: block;
  1707. background-image: url("/images/arrow.svg");
  1708. background-size: 22px auto;
  1709. background-repeat: no-repeat;
  1710. background-position: center;
  1711. size: 22px 100%;
  1712. position: absolute;
  1713. top: 0;
  1714. right: 15px;
  1715. }
  1716. }
  1717. .collapse-content {
  1718. box-sizing: border-box; /* Work around box-sizing not inheriting in <details> in many browsers */
  1719. padding: 20px 20px 10px;
  1720. @media (--viewport-medium) {
  1721. padding: 20px 50px 10px;
  1722. }
  1723. }
  1724. /* Login
  1725. ========================================================================== */
  1726. .body-login,
  1727. .body-reset {
  1728. display: flex;
  1729. align-items: center;
  1730. justify-content: center;
  1731. background: rgb(102 158 231);
  1732. background: radial-gradient(circle, rgb(102 158 231 / 100%) 0%, rgb(43 86 177 / 100%) 100%);
  1733. }
  1734. .body-login .debug-panel,
  1735. .body-reset .debug-panel {
  1736. display: none;
  1737. }
  1738. .login {
  1739. flex-grow: 1;
  1740. padding: 30px;
  1741. margin-bottom: 20%;
  1742. & .form-label {
  1743. color: #fff;
  1744. }
  1745. & .error {
  1746. color: #be5abf;
  1747. margin-bottom: 20px;
  1748. }
  1749. @media (--viewport-small) {
  1750. border-radius: 6px;
  1751. background-color: rgb(255 255 255 / 70%);
  1752. box-shadow: 0 8px 25px rgb(0 0 0 / 30%), inset 0 0 2px rgb(255 255 255 / 100%);
  1753. padding: 70px 50px;
  1754. max-width: 370px;
  1755. & .form-label {
  1756. color: #4b4b4b;
  1757. }
  1758. }
  1759. @media (--viewport-medium) {
  1760. display: flex;
  1761. align-items: flex-end;
  1762. max-width: 500px;
  1763. & form {
  1764. flex-grow: 1;
  1765. }
  1766. }
  1767. }
  1768. .login-title {
  1769. color: #fff;
  1770. font-size: 1.05rem;
  1771. font-weight: 500;
  1772. margin-bottom: 30px;
  1773. @media (--viewport-small) {
  1774. color: #4b4b4b;
  1775. }
  1776. }
  1777. .login-form-link {
  1778. color: #fff;
  1779. text-transform: uppercase;
  1780. @media (--viewport-small) {
  1781. color: #326b9b;
  1782. &:hover {
  1783. color: #0077c6;
  1784. }
  1785. }
  1786. }
  1787. /* Spinner
  1788. ========================================================================== */
  1789. .spinner {
  1790. -webkit-mask-box-image: radial-gradient(
  1791. center,
  1792. ellipse farthest-corner,
  1793. rgb(0 0 0 / 100%) 68%,
  1794. rgb(0 0 0 / 0%) 69.5%
  1795. );
  1796. background: #eee;
  1797. size: 20px;
  1798. position: relative;
  1799. clip-path: ellipse(10px 10px at 50% 50%);
  1800. }
  1801. .spinner-inner {
  1802. position: absolute;
  1803. top: 0;
  1804. left: 0;
  1805. background: transparent;
  1806. border-width: 10px;
  1807. size: 0;
  1808. border-style: solid;
  1809. border-color: transparent;
  1810. border-top-color: rgb(124 124 124 / 100%);
  1811. transform: rotate(-45deg);
  1812. animation: inner 15s linear infinite;
  1813. }
  1814. .spinner-mask {
  1815. position: absolute;
  1816. top: 0;
  1817. left: 0;
  1818. background: transparent;
  1819. border-width: 10px;
  1820. size: 0;
  1821. border-style: solid;
  1822. border-color: transparent;
  1823. border-top-color: #eee;
  1824. transform: rotate(-45deg);
  1825. animation: mask 15s linear infinite;
  1826. }
  1827. .spinner-mask::after,
  1828. .spinner-mask-two {
  1829. display: block;
  1830. content: "";
  1831. opacity: 0;
  1832. position: absolute;
  1833. top: 0;
  1834. left: 0;
  1835. background: transparent;
  1836. border-width: 10px;
  1837. size: 0;
  1838. border-style: solid;
  1839. border-color: transparent;
  1840. border-top-color: rgb(124 124 124 / 100%);
  1841. transform: rotate(45deg);
  1842. animation: mask-two 15s linear infinite;
  1843. }
  1844. @keyframes inner {
  1845. 0% {
  1846. transform: rotate(-45deg);
  1847. }
  1848. 25% {
  1849. border-left-color: transparent;
  1850. }
  1851. 26% {
  1852. border-left-color: rgb(124 124 124 / 100%);
  1853. }
  1854. 50% {
  1855. border-bottom-color: transparent;
  1856. }
  1857. 51% {
  1858. border-bottom-color: rgb(124 124 124 / 100%);
  1859. }
  1860. 75% {
  1861. border-right-color: transparent;
  1862. }
  1863. 76% {
  1864. border-right-color: rgb(124 124 124 / 100%);
  1865. }
  1866. 100% {
  1867. transform: rotate(315deg);
  1868. border-left-color: rgb(124 124 124 / 100%);
  1869. border-bottom-color: rgb(124 124 124 / 100%);
  1870. border-right-color: rgb(124 124 124 / 100%);
  1871. }
  1872. }
  1873. @keyframes mask {
  1874. 0% {
  1875. transform: rotate(-45deg);
  1876. }
  1877. 75% {
  1878. transform: rotate(-45deg);
  1879. }
  1880. 100% {
  1881. transform: rotate(45deg);
  1882. }
  1883. }
  1884. @keyframes mask-two {
  1885. 0% {
  1886. opacity: 0;
  1887. }
  1888. 25% {
  1889. opacity: 0;
  1890. }
  1891. 26% {
  1892. opacity: 1;
  1893. }
  1894. 100% {
  1895. opacity: 1;
  1896. }
  1897. }
  1898. .qr-code {
  1899. border: 1px solid #cfcfcf;
  1900. border-radius: 4px;
  1901. box-shadow: 0 1px 4px rgb(0 0 0 / 15%);
  1902. }
  1903. .l-unit.selected {
  1904. background-color: #f8f8f8;
  1905. color: #4b4b4b;
  1906. box-shadow: 0 2px 10px rgb(150 150 150 / 20%);
  1907. text-shadow: 0 1px rgb(255 255 255 / 50%);
  1908. border-left: 1px solid #ddd;
  1909. border-right: 1px solid #ddd;
  1910. & b,
  1911. & strong {
  1912. color: #4b4b4b;
  1913. }
  1914. &:hover {
  1915. background-color: #fff5ce;
  1916. color: #4b4b4b;
  1917. box-shadow: 0 2px 14px rgb(150 150 150 / 25%);
  1918. text-shadow: 0 1px rgb(255 255 255 / 60%);
  1919. }
  1920. }
  1921. .console-output {
  1922. font-family: var(--font-family-monospace);
  1923. font-size: 0.92rem;
  1924. color: #202020;
  1925. }
  1926. form#vstobjects.suspended {
  1927. background-color: #fff;
  1928. padding-bottom: 30px;
  1929. }
  1930. /* Badge component
  1931. ========================================================================== */
  1932. .badge {
  1933. display: inline-block;
  1934. min-width: 26px;
  1935. min-height: 24px;
  1936. line-height: 24px;
  1937. border-radius: 50%;
  1938. font-weight: 700;
  1939. font-size: 0.75rem;
  1940. box-shadow: 0 1px 2px rgb(70 70 70 / 50%), inset 0 2px 2px #fff;
  1941. color: #6c6c6c;
  1942. text-shadow: 0 1px #fafafa;
  1943. border: 1px solid #b8b8b8;
  1944. background-color: #eaeaea;
  1945. margin-top: -2px;
  1946. }
  1947. .l-unit--suspended .badge {
  1948. background: #eaeaea;
  1949. color: #c0c0c0;
  1950. text-shadow: 0 -1px #fafafa;
  1951. box-shadow: 0 1px 2px rgb(120 120 120 / 30%);
  1952. }
  1953. /* Icon component
  1954. ========================================================================== */
  1955. .icon-large {
  1956. font-size: 1rem;
  1957. }
  1958. .icon-teal {
  1959. color: var(--icon-color-teal);
  1960. &:hover {
  1961. color: var(--icon-color-teal);
  1962. }
  1963. }
  1964. .icon-purple {
  1965. color: var(--icon-color-purple);
  1966. &:hover {
  1967. color: var(--icon-color-purple);
  1968. }
  1969. }
  1970. .icon-maroon {
  1971. color: var(--icon-color-maroon);
  1972. &:hover {
  1973. color: var(--icon-color-maroon);
  1974. }
  1975. }
  1976. .icon-red {
  1977. color: var(--icon-color-red);
  1978. &:hover {
  1979. color: var(--icon-color-red);
  1980. }
  1981. }
  1982. .icon-green {
  1983. color: var(--icon-color-green);
  1984. &:hover {
  1985. color: var(--icon-color-green);
  1986. }
  1987. }
  1988. .icon-orange {
  1989. color: var(--icon-color-orange);
  1990. &:hover {
  1991. color: var(--icon-color-orange);
  1992. }
  1993. }
  1994. .icon-blue {
  1995. color: var(--icon-color-blue);
  1996. &:hover {
  1997. color: var(--icon-color-blue);
  1998. }
  1999. }
  2000. .icon-lightblue {
  2001. color: var(--icon-color-lightblue);
  2002. &:hover {
  2003. color: var(--icon-color-lightblue);
  2004. }
  2005. }
  2006. .icon-highlight {
  2007. color: #323232;
  2008. &:hover {
  2009. color: #323232;
  2010. }
  2011. }
  2012. .icon-dim {
  2013. color: #ddd;
  2014. text-shadow: 1px 1px rgb(255 255 255 / 30%);
  2015. }
  2016. .l-unit--suspended .icon-dim {
  2017. color: #c0c0c0;
  2018. }
  2019. .cron-helper-container {
  2020. float: right;
  2021. margin-bottom: -450px;
  2022. margin-top: 202px;
  2023. margin-right: 70px;
  2024. padding-top: 0;
  2025. width: 610px;
  2026. box-shadow: 0 1px 4px rgb(0 0 0 / 15%);
  2027. border: 1px solid #cfcfcf;
  2028. border-radius: 4px;
  2029. @media (max-width: 950px) {
  2030. display: none;
  2031. }
  2032. }
  2033. .cron-helper-tabs {
  2034. border: none !important;
  2035. font-family: Exo, system-ui !important;
  2036. & a {
  2037. color: #777;
  2038. font-weight: 600;
  2039. line-height: 30px;
  2040. padding: 0 12px;
  2041. text-transform: uppercase;
  2042. &:hover {
  2043. color: #c36;
  2044. }
  2045. &:active {
  2046. color: #3b9de8;
  2047. }
  2048. }
  2049. & .form-label {
  2050. padding-right: 15px;
  2051. padding-left: 25px;
  2052. &.first {
  2053. display: inline-block;
  2054. width: 120px;
  2055. padding-left: 0;
  2056. }
  2057. }
  2058. & .form-select {
  2059. display: inline-block;
  2060. width: 384px;
  2061. }
  2062. }
  2063. .cron-helper-tabs .ui-tabs-selected a,
  2064. .ui-tabs-tab[aria-expanded="true"] a {
  2065. color: #c36;
  2066. }
  2067. .server-console-output {
  2068. color: #c36;
  2069. padding: 10px 0 20px 20px;
  2070. background: #fff;
  2071. }
  2072. .userlist-email {
  2073. font-size: 0.75rem;
  2074. white-space: nowrap;
  2075. text-overflow: ellipsis;
  2076. }
  2077. .userlist-username {
  2078. margin-top: -2px;
  2079. line-height: 1.2rem;
  2080. }
  2081. .app-footer {
  2082. color: #7c7c7c;
  2083. border-top: 1px solid #ddd;
  2084. font-size: 0.8rem;
  2085. padding-top: 20px;
  2086. padding-bottom: 20px;
  2087. @media (--viewport-medium) {
  2088. padding-top: 40px;
  2089. padding-bottom: 40px;
  2090. }
  2091. }
  2092. .app-footer-inner {
  2093. padding-left: 15px;
  2094. padding-right: 15px;
  2095. }
  2096. /* Alerts
  2097. ========================================================================== */
  2098. .alert {
  2099. border-radius: 4px;
  2100. border: 1px solid var(--alert-border-color);
  2101. color: #fff;
  2102. font-weight: 400;
  2103. padding: 15px;
  2104. box-shadow: var(--alert-box-shadow);
  2105. text-shadow: var(--alert-text-shadow);
  2106. & a {
  2107. color: #fff;
  2108. font-weight: bold;
  2109. &:hover {
  2110. text-decoration: underline;
  2111. }
  2112. }
  2113. & .fas {
  2114. flex-shrink: 0;
  2115. size: 32px;
  2116. font-size: 1.3rem;
  2117. font-weight: 600;
  2118. line-height: 30px;
  2119. border-radius: 50%;
  2120. text-align: center;
  2121. background-color: #fff;
  2122. margin-bottom: 10px;
  2123. }
  2124. @media (--viewport-small) {
  2125. display: flex;
  2126. & .fas {
  2127. margin-right: 15px;
  2128. margin-bottom: 0;
  2129. }
  2130. }
  2131. }
  2132. .alert-info {
  2133. background-color: var(--alert-info-color);
  2134. & .fas {
  2135. color: var(--alert-info-color);
  2136. }
  2137. }
  2138. .alert-danger {
  2139. background-color: var(--alert-danger-color);
  2140. & .fas {
  2141. color: var(--alert-danger-color);
  2142. }
  2143. }
  2144. .alert-success {
  2145. background-color: var(--alert-success-color);
  2146. & .fas {
  2147. color: var(--alert-success-color);
  2148. }
  2149. }
  2150. /* Inline alerts
  2151. ========================================================================== */
  2152. .inline-alert {
  2153. display: flex;
  2154. font-weight: 600;
  2155. & .fas {
  2156. margin-top: 4px;
  2157. margin-right: 6px;
  2158. }
  2159. }
  2160. .inline-alert-danger {
  2161. color: #f33;
  2162. }
  2163. .inline-alert-success {
  2164. color: #53ba55;
  2165. & a {
  2166. color: #326b9b;
  2167. &:hover {
  2168. color: #c36;
  2169. }
  2170. &:active {
  2171. color: #d53067;
  2172. }
  2173. }
  2174. }
  2175. /* Updates banner
  2176. ========================================================================== */
  2177. .updates-banner {
  2178. width: 100%;
  2179. text-align: center;
  2180. border-top: 1px solid rgb(255 255 255 / 25%);
  2181. box-shadow: 0 -2px 4px rgb(0 0 0 / 40%);
  2182. background-color: green;
  2183. color: #fff;
  2184. font-size: 0.75rem;
  2185. padding: 10px;
  2186. position: fixed;
  2187. bottom: 0;
  2188. & a {
  2189. color: #fff;
  2190. font-weight: 500;
  2191. &:hover {
  2192. color: #fff;
  2193. text-decoration: underline;
  2194. }
  2195. }
  2196. }
  2197. /* Debug panel
  2198. ========================================================================== */
  2199. .debug-panel {
  2200. position: fixed;
  2201. bottom: 0;
  2202. left: 0;
  2203. width: 100%;
  2204. z-index: 3;
  2205. box-shadow: 0 0 5px rgb(0 0 0 / 40%);
  2206. @media (--viewport-medium) {
  2207. width: auto;
  2208. }
  2209. }
  2210. .debug-panel-toggle {
  2211. display: block;
  2212. width: 100%;
  2213. border: 0;
  2214. text-align: center;
  2215. font-size: 0.8rem;
  2216. font-weight: 500;
  2217. color: #000;
  2218. padding: 10px 15px;
  2219. background-color: #ff0;
  2220. &:hover {
  2221. background-color: #ee0;
  2222. }
  2223. }
  2224. .debug-panel-content {
  2225. background-color: #eee;
  2226. font-size: 0.75rem;
  2227. padding: 20px;
  2228. max-height: 300px;
  2229. overflow: auto;
  2230. }