controls.css 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. .btn {
  2. position: relative;
  3. display: block;
  4. padding: 14px;
  5. overflow: hidden;
  6. border-width: 0;
  7. outline: none;
  8. box-shadow: var(--level1-shadow);
  9. background-color: var(--primary-color);
  10. color: var(--secondary-text-color);
  11. font-size: var(--normal-text-size);
  12. font-weight: bold;
  13. text-align: center;
  14. transition: background-color .3s;
  15. -webkit-touch-callout: none;
  16. -webkit-user-select: none;
  17. -khtml-user-select: none;
  18. -moz-user-select: none;
  19. -ms-user-select: none;
  20. user-select: none;
  21. }
  22. .btn:hover, .btn:focus {
  23. background-color: var(--primary-dark-color);
  24. cursor: pointer;
  25. }
  26. .btn > * {
  27. position: relative;
  28. }
  29. .btn span {
  30. display: block;
  31. padding: 12px 24px;
  32. }
  33. .btn:before {
  34. content: "";
  35. position: absolute;
  36. top: 50%;
  37. left: 50%;
  38. display: block;
  39. width: 0;
  40. padding-top: 0;
  41. border-radius: 100%;
  42. background-color: rgba(236, 240, 241, .3);
  43. -webkit-transform: translate(-50%, -50%);
  44. -moz-transform: translate(-50%, -50%);
  45. -ms-transform: translate(-50%, -50%);
  46. -o-transform: translate(-50%, -50%);
  47. transform: translate(-50%, -50%);
  48. }
  49. .btn:active:before {
  50. width: 120%;
  51. padding-top: 120%;
  52. transition: width .2s ease-out, padding-top .2s ease-out;
  53. }
  54. .btn img {
  55. margin-left: auto;
  56. margin-right: auto;
  57. display: block;
  58. }
  59. .btn.disabled {
  60. background-color: var(--inactive-color);
  61. }
  62. .fadeOut {
  63. background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* FF3.6+ */
  64. background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0, 0, 0,0)), color-stop(100%,var(--bg-color))); /* Chrome,Safari4+ */
  65. background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* Chrome10+,Safari5.1+ */
  66. background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* Opera 11.10+ */
  67. background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* IE10+ */
  68. background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* W3C */
  69. }
  70. .fadeIn {
  71. background: -moz-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* FF3.6+ */
  72. background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, var(--bg-color)), color-stop(100%,rgba(0, 0, 0, 0))); /* Chrome,Safari4+ */
  73. background: -webkit-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* Chrome10+,Safari5.1+ */
  74. background: -o-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* Opera 11.10+ */
  75. background: -ms-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* IE10+ */
  76. background: linear-gradient(to bottom, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* W3C */
  77. }
  78. /*Input fields*/
  79. .inpt {
  80. position:relative;
  81. margin-top: 20px;
  82. margin-bottom: 50px;
  83. }
  84. .inpt input {
  85. font-size: var(--big-text-size);
  86. padding: 11px 9px 9px;
  87. display: block;
  88. width: 300px;
  89. border: none;
  90. border-bottom: 1px solid var(--primary-color);
  91. }
  92. .inpt input:invalid {
  93. outline: none;
  94. }
  95. .inpt input:focus {
  96. outline: none;
  97. }
  98. .inpt input:required {
  99. box-shadow: none;
  100. }
  101. .inpt label {
  102. color: var(--primary-text-color);
  103. font-size: var(--huge-text-size);
  104. font-weight: normal;
  105. position: absolute;
  106. pointer-events: none;
  107. left: 5px;
  108. top: 10px;
  109. transition: 0.2s ease all;
  110. -moz-transition: 0.2s ease all;
  111. -webkit-transition: 0.2s ease all;
  112. }
  113. .inpt img {
  114. position: absolute;
  115. right: 10px;
  116. top: 14px;
  117. display: block;
  118. width: 24px;
  119. height: 24px;
  120. }
  121. .inpt img:hover {
  122. cursor: pointer;
  123. }
  124. .inpt input:focus ~ label {
  125. top: -25px;
  126. font-size: var(--normal-text-size);
  127. color: var(--primary-text-color);
  128. }
  129. .inpt input:valid ~ label {
  130. top: -25px;
  131. font-size: var(--normal-text-size);
  132. color: var(--primary-text-color);
  133. }
  134. .inpt .bar {
  135. position: relative;
  136. display: block;
  137. width: 100%;
  138. }
  139. .inpt.bad .bar:before, .inpt.bad .bar:after{
  140. background-color: var(--bad-color);
  141. }
  142. .inpt.weak .bar:before, .inpt.weak .bar:after{
  143. background-color: var(--invalid-color);
  144. }
  145. .inpt .bar:before, .bar:after {
  146. content: '';
  147. height: 2px;
  148. width: 0;
  149. bottom: 0;
  150. position: absolute;
  151. background-color: var(--primary-color);
  152. transition: 0.2s ease all;
  153. -moz-transition: 0.2s ease all;
  154. -webkit-transition: 0.2s ease all;
  155. }
  156. .inpt .bar:before {
  157. left:50%;
  158. }
  159. .inpt .bar:after {
  160. right:50%;
  161. }
  162. .inpt input:focus ~ .bar:before, input:focus ~ .bar:after {
  163. width:50%;
  164. }
  165. .inpt .highlight {
  166. position: absolute;
  167. height:80%;
  168. width: 100%;
  169. bottom: 4px;
  170. left:0;
  171. pointer-events: none;
  172. opacity: 0.5;
  173. }
  174. .inpt input:focus ~ .highlight {
  175. -webkit-animation:inputHighlighter 0.3s ease;
  176. -moz-animation:inputHighlighter 0.3s ease;
  177. animation:inputHighlighter 0.3s ease;
  178. }
  179. .inpt.bad input{
  180. border-bottom: 1px solid var(--bad-color);
  181. }
  182. .inpt.weak input{
  183. border-bottom: 1px solid var(--invalid-color);
  184. }
  185. @-webkit-keyframes inputHighlighter {
  186. from { background: var(--secondary-color); }
  187. to { width:0; background:transparent; }
  188. }
  189. @-moz-keyframes inputHighlighter {
  190. from { background: var(--secondary-color); }
  191. to { width:0; background:transparent; }
  192. }
  193. @keyframes inputHighlighter {
  194. from { background: var(--secondary-color); }
  195. to { width:0; background:transparent; }
  196. }
  197. /*folder button*/
  198. .folderBtn {
  199. display: flex;
  200. flex-direction: row;
  201. padding: 2px var(--base-text-padding);
  202. left: 0;
  203. right: 0;
  204. margin-top: 2px;
  205. border-radius: var(--default-radius);
  206. background-color: transparent;
  207. font-size: var(--normal-text-size);
  208. text-shadow: var(--text-shadow);
  209. -webkit-touch-callout: none;
  210. -webkit-user-select: none;
  211. -khtml-user-select: none;
  212. -moz-user-select: none;
  213. -ms-user-select: none;
  214. user-select: none;
  215. }
  216. .folderBtn:hover {
  217. cursor: pointer;
  218. background-color: var(--secondary-color);
  219. }
  220. .iconBtn:hover, .iconBtn:focus {
  221. cursor: pointer;
  222. }
  223. .iconBtn {
  224. width: 24px;
  225. min-width: 24px;
  226. -webkit-touch-callout: none;
  227. -webkit-user-select: none;
  228. -khtml-user-select: none;
  229. -moz-user-select: none;
  230. -ms-user-select: none;
  231. user-select: none;
  232. }
  233. /* Dropdown Button */
  234. .dropbtn {
  235. display: inline;
  236. background-color: var(--bg-color);
  237. color: var(--primary-text-color);
  238. font-size: var(--normal-text-size);
  239. cursor: pointer;
  240. padding: var(--base-text-padding);
  241. }
  242. .dropdown-content {
  243. display: none;
  244. position: absolute;
  245. margin-top: var(--base-text-padding);
  246. background-color: var(--bg-color);
  247. min-width: 160px;
  248. box-shadow: var(--level1-shadow);
  249. z-index: 1;
  250. }
  251. .dropdown-content a {
  252. padding: var(--base-text-padding);
  253. text-decoration: none;
  254. display: block;
  255. -webkit-touch-callout: none;
  256. -webkit-user-select: none;
  257. -khtml-user-select: none;
  258. -moz-user-select: none;
  259. -ms-user-select: none;
  260. user-select: none;
  261. }
  262. .noselect {
  263. -webkit-touch-callout: none;
  264. -webkit-user-select: none;
  265. -khtml-user-select: none;
  266. -moz-user-select: none;
  267. -ms-user-select: none;
  268. user-select: none;
  269. }
  270. .toEmail {
  271. border-radius: var(--default-radius);
  272. font-size: var(--small-text-size);
  273. margin: 5px 10px 5px 0;
  274. padding: var(--small-text-padding);
  275. -webkit-touch-callout: none;
  276. -webkit-user-select: none;
  277. -khtml-user-select: none;
  278. -moz-user-select: none;
  279. -ms-user-select: none;
  280. user-select: none;
  281. }
  282. .settingsHeader {
  283. padding: var(--base-text-padding);
  284. font-size: var( --huge-text-size);
  285. -webkit-touch-callout: none;
  286. -webkit-user-select: none;
  287. -khtml-user-select: none;
  288. -moz-user-select: none;
  289. -ms-user-select: none;
  290. user-select: none;
  291. }
  292. .toast {
  293. position: absolute;
  294. top: 0;
  295. left:0;
  296. right:0;
  297. padding: var(--base-text-padding);
  298. text-align: center;
  299. }
  300. .toast.visible {
  301. opacity: 1;
  302. visibility: visible;
  303. transition: visibility 0s, opacity 0.5s linear;
  304. -webkit-transition: visibility 0s, opacity 0.5s linear;
  305. -moz-transition: visibility 0s, opacity 0.5s linear;
  306. -o-transition: visibility 0s, opacity 0.5s linear;
  307. -ms-transition: visibility 0s, opacity 0.5s linear;
  308. }
  309. .toast.hidden {
  310. opacity: 0;
  311. visibility: hidden;
  312. transition: visibility 0.5s, opacity 0.5s linear;
  313. -webkit-transition: visibility 0.5s, opacity 0.5s linear;
  314. -moz-transition: visibility 0.5s, opacity 0.5s linear;
  315. -o-transition: visibility 0.5s, opacity 0.5s linear;
  316. -ms-transition: visibility 0.5s, opacity 0.5s linear;
  317. }
  318. .toast.normal {
  319. background-color: var(--primary-color);
  320. color: var(--secondary-text-color);
  321. }
  322. .toast.warning {
  323. background-color: var(--invalid-color);
  324. color: var(--primary-text-color);
  325. }
  326. .toast.critical {
  327. background-color: var(--bad-color);
  328. color: var(--secondary-text-color);
  329. }