main.css 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. @tailwind base;
  2. html {
  3. line-height: 1.15;
  4. }
  5. @tailwind components;
  6. :not(input) {
  7. -webkit-user-select: none;
  8. -moz-user-select: none;
  9. -ms-user-select: none;
  10. user-select: none;
  11. }
  12. :root {
  13. --violet-gradient: linear-gradient(
  14. -180deg,
  15. rgba(144, 89, 255, 0.8) 0%,
  16. rgba(144, 89, 255, 0.4) 100%
  17. );
  18. }
  19. a {
  20. color: inherit;
  21. text-decoration: none;
  22. }
  23. a:focus {
  24. outline: 1px dotted grey;
  25. }
  26. body {
  27. background-image: url('../assets/bg.svg');
  28. background-position: center;
  29. background-repeat: no-repeat;
  30. background-size: cover;
  31. overflow-x: hidden;
  32. }
  33. .btn {
  34. @apply bg-blue-60;
  35. @apply text-white;
  36. @apply cursor-pointer;
  37. @apply py-4;
  38. @apply px-6;
  39. @apply font-semibold;
  40. }
  41. .btn:hover {
  42. @apply bg-blue-70;
  43. }
  44. .btn:focus {
  45. @apply bg-blue-70;
  46. }
  47. .checkbox {
  48. @apply leading-normal;
  49. @apply select-none;
  50. }
  51. .checkbox > input[type='checkbox'] {
  52. @apply absolute;
  53. @apply opacity-0;
  54. }
  55. .checkbox > label {
  56. @apply cursor-pointer;
  57. }
  58. .checkbox > label::before {
  59. /* @apply bg-grey-10; */
  60. @apply border;
  61. @apply rounded-sm;
  62. content: '';
  63. height: 1.5rem;
  64. width: 1.5rem;
  65. margin-right: 0.5rem;
  66. float: left;
  67. }
  68. .checkbox > label:hover::before {
  69. @apply border-blue-50;
  70. }
  71. .checkbox > input:focus + label::before {
  72. @apply border-blue-50;
  73. }
  74. .checkbox > input:checked + label::before {
  75. @apply bg-blue-50;
  76. @apply border-blue-50;
  77. background-image: url('../assets/lock.svg');
  78. background-position: center;
  79. background-size: 1.25rem;
  80. background-repeat: no-repeat;
  81. }
  82. .checkbox > input:disabled + label {
  83. cursor: auto;
  84. }
  85. .checkbox > input:disabled + label::before {
  86. @apply bg-blue-50;
  87. @apply border-blue-50;
  88. background-image: url('../assets/lock.svg');
  89. background-position: center;
  90. background-size: 1.25rem;
  91. background-repeat: no-repeat;
  92. cursor: auto;
  93. }
  94. details {
  95. overflow: hidden;
  96. }
  97. details > summary::-webkit-details-marker {
  98. display: none;
  99. }
  100. details > summary > svg {
  101. transition: all 0.25s cubic-bezier(0.07, 0.95, 0, 1);
  102. }
  103. details[open] {
  104. overflow-y: auto;
  105. }
  106. details[open] > summary > svg {
  107. transform: rotate(90deg);
  108. }
  109. footer li:hover {
  110. text-decoration: underline;
  111. }
  112. .feedback-link {
  113. background-color: #000;
  114. background-image: url('../assets/feedback.svg');
  115. background-position: 0.125rem 0.25rem;
  116. background-repeat: no-repeat;
  117. background-size: 1.125rem;
  118. color: #fff;
  119. display: block;
  120. font-size: 0.75rem;
  121. line-height: 0.75rem;
  122. padding: 0.375rem 0.375rem 0.375rem 1.25rem;
  123. text-indent: 0.125rem;
  124. white-space: nowrap;
  125. }
  126. .link-blue {
  127. @apply text-blue-60;
  128. }
  129. .link-blue:hover {
  130. @apply text-blue-70;
  131. }
  132. .link-blue:focus {
  133. @apply text-blue-70;
  134. }
  135. .main-header img {
  136. height: 32px;
  137. width: auto;
  138. }
  139. .intro {
  140. max-width: 100%;
  141. height: unset;
  142. }
  143. .main {
  144. display: flex;
  145. position: relative;
  146. max-width: 64rem;
  147. width: 100%;
  148. height: 100%;
  149. }
  150. .main > section {
  151. @apply bg-white;
  152. }
  153. .mozilla-logo {
  154. background-image: url('../assets/mozilla-logo.svg');
  155. background-repeat: no-repeat;
  156. background-size: 100px, 48px;
  157. overflow: hidden;
  158. text-indent: 120%;
  159. white-space: nowrap;
  160. display: inline-block;
  161. height: 32px;
  162. width: 100px;
  163. flex-shrink: 0;
  164. }
  165. #password-msg::after {
  166. content: '\200b';
  167. }
  168. progress {
  169. @apply bg-grey-30;
  170. @apply rounded-sm;
  171. @apply w-full;
  172. @apply h-1;
  173. }
  174. progress::-webkit-progress-bar {
  175. @apply bg-grey-30;
  176. @apply rounded-sm;
  177. @apply w-full;
  178. @apply h-1;
  179. }
  180. progress::-webkit-progress-value {
  181. /* stylelint-disable */
  182. background-image: -webkit-linear-gradient(
  183. -45deg,
  184. transparent 20%,
  185. rgba(255, 255, 255, 0.4) 20%,
  186. rgba(255, 255, 255, 0.4) 40%,
  187. transparent 40%,
  188. transparent 60%,
  189. rgba(255, 255, 255, 0.4) 60%,
  190. rgba(255, 255, 255, 0.4) 80%,
  191. transparent 80%
  192. ),
  193. -webkit-linear-gradient(left, #0a84ff, #0a84ff);
  194. /* stylelint-enable */
  195. border-radius: 2px;
  196. background-size: 21px 20px, 100% 100%, 100% 100%;
  197. -webkit-animation: animate-stripes 1s linear infinite;
  198. }
  199. progress::-moz-progress-bar {
  200. /* stylelint-disable */
  201. background-image: -moz-linear-gradient(
  202. 135deg,
  203. transparent 20%,
  204. rgba(255, 255, 255, 0.4) 20%,
  205. rgba(255, 255, 255, 0.4) 40%,
  206. transparent 40%,
  207. transparent 60%,
  208. rgba(255, 255, 255, 0.4) 60%,
  209. rgba(255, 255, 255, 0.4) 80%,
  210. transparent 80%
  211. ),
  212. -moz-linear-gradient(left, #0a84ff, #0a84ff);
  213. /* stylelint-enable */
  214. border-radius: 2px;
  215. background-size: 21px 20px, 100% 100%, 100% 100%;
  216. animation: animate-stripes 1s linear infinite;
  217. }
  218. @-webkit-keyframes animate-stripes {
  219. 100% {
  220. background-position: -21px 0;
  221. }
  222. }
  223. @keyframes animate-stripes {
  224. 100% {
  225. background-position: -21px 0;
  226. }
  227. }
  228. select {
  229. background-image: url('../assets/select-arrow.svg');
  230. background-position: calc(100% - 0.75rem);
  231. background-repeat: no-repeat;
  232. }
  233. @screen md {
  234. .main-header img {
  235. height: 48px;
  236. width: auto;
  237. }
  238. .intro {
  239. max-width: unset;
  240. height: unset;
  241. margin-bottom: -3rem;
  242. margin-right: -7rem;
  243. }
  244. .main {
  245. @apply flex-1;
  246. @apply self-center;
  247. @apply items-center;
  248. @apply m-auto;
  249. @apply py-8;
  250. min-height: 36rem;
  251. max-height: 42rem;
  252. width: calc(100% - 3rem);
  253. }
  254. }
  255. @screen dark {
  256. body {
  257. @apply text-grey-10;
  258. background-image: unset;
  259. }
  260. .btn {
  261. @apply bg-blue-40;
  262. @apply text-white;
  263. }
  264. .btn:hover {
  265. @apply bg-blue-50;
  266. }
  267. .btn:focus {
  268. @apply bg-blue-50;
  269. }
  270. .link-blue {
  271. @apply text-blue-40;
  272. }
  273. .link-blue:hover {
  274. @apply text-blue-50;
  275. }
  276. .link-blue:focus {
  277. @apply text-blue-50;
  278. }
  279. .main > section {
  280. @apply bg-grey-90;
  281. }
  282. .mozilla-logo {
  283. background-color: white;
  284. border: 1px solid white;
  285. }
  286. @screen md {
  287. .main > section {
  288. @apply border;
  289. @apply border-grey-80;
  290. }
  291. }
  292. }
  293. @tailwind utilities;
  294. @responsive {
  295. .shadow-light {
  296. box-shadow: 0 0 8px 0 rgba(12, 12, 13, 0.1);
  297. }
  298. .shadow-big {
  299. box-shadow: 0 12px 18px 2px rgba(34, 0, 51, 0.04),
  300. 0 6px 22px 4px rgba(7, 48, 114, 0.12),
  301. 0 6px 10px -4px rgba(14, 13, 26, 0.12);
  302. }
  303. }
  304. @variants focus {
  305. .outline {
  306. outline: 1px dotted grey;
  307. }
  308. }
  309. .word-break-all {
  310. word-break: break-all;
  311. line-break: anywhere;
  312. }
  313. .signin {
  314. backface-visibility: hidden;
  315. border-radius: 6px;
  316. transition-property: transform, background-color;
  317. transition-duration: 250ms;
  318. transition-timing-function: cubic-bezier(0.07, 0.95, 0, 1);
  319. }
  320. .signin:hover,
  321. .signin:focus {
  322. transform: scale(1.0625);
  323. }
  324. .signin:hover:active {
  325. transform: scale(0.9375);
  326. }
  327. /* begin signin button color experiment */
  328. .white-blue {
  329. @apply border-blue-60;
  330. @apply border-2;
  331. @apply text-blue-60;
  332. }
  333. .white-blue:hover,
  334. .white-blue:focus {
  335. @apply bg-blue-60;
  336. @apply text-white;
  337. }
  338. .blue {
  339. @apply bg-blue-60;
  340. @apply text-white;
  341. }
  342. .white-violet {
  343. @apply border-violet;
  344. @apply border-2;
  345. @apply text-violet;
  346. }
  347. .white-violet:hover,
  348. .white-violet:focus {
  349. @apply bg-violet;
  350. @apply text-white;
  351. background-image: var(--violet-gradient);
  352. }
  353. .violet {
  354. @apply bg-violet;
  355. @apply text-white;
  356. }
  357. .violet:hover,
  358. .violet:focus {
  359. background-image: var(--violet-gradient);
  360. }
  361. /* end signin button color experiment */