button.css 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /* The main "start the test" button and the share button */
  2. button {
  3. height: 6.8rem;
  4. min-width: 26.4rem;
  5. padding: 0 5rem;
  6. margin: 2.5rem;
  7. border-radius: 3.4rem;
  8. border: 0;
  9. font-family: "Inter", sans-serif;
  10. font-size: 2rem;
  11. font-weight: 700;
  12. letter-spacing: -0.1rem;
  13. color: var(--button-text-color);
  14. text-transform: uppercase;
  15. cursor: pointer;
  16. box-shadow: 0 0.4rem 1.6rem 0 var(--button-shadow-color);
  17. will-change: transform;
  18. backface-visibility: hidden;
  19. transform: scale(1) translate3d(0, 0, 0) perspective(1px);
  20. background: var(--button-gradient-1-color-1);
  21. transition: background-position 0.2s, transform 0.2s;
  22. background-position: 0% 0%;
  23. background: linear-gradient(
  24. 92.97deg,
  25. var(--button-gradient-1-color-1) 0%,
  26. var(--button-gradient-1-color-1) 33%,
  27. var(--button-gradient-1-color-2) 40%,
  28. var(--button-gradient-1-color-3) 66.71%,
  29. var(--button-gradient-1-color-3) 100%
  30. );
  31. background-size: 300% 100%;
  32. &.disabled {
  33. cursor: default;
  34. transform: scale(1) translate3d(0, 0, 0) perspective(1px);
  35. background: var(--button-disabled-background-color);
  36. }
  37. &.small {
  38. height: 4.7rem;
  39. min-width: 20.2rem;
  40. text-transform: lowercase;
  41. }
  42. &.inverted {
  43. border: 1px solid var(--button-gradient-1-color-1);
  44. color: transparent;
  45. background-clip: text;
  46. }
  47. &.hidden {
  48. opacity: 0;
  49. pointer-events: none;
  50. }
  51. &:hover {
  52. background-position: 60% 0%;
  53. transform: scale(1.03) translate3d(0, 0, 0) perspective(1px);
  54. }
  55. &.active,
  56. &:active {
  57. background-position: 100% 0%;
  58. animation: pulse 0.7s;
  59. }
  60. }
  61. @keyframes pulse {
  62. 0% {
  63. transform: scale(1.03) translate3d(0, 0, 0) perspective(1px);
  64. }
  65. 20% {
  66. transform: scale(1.2) translate3d(0, 0, 0) perspective(1px);
  67. }
  68. 40% {
  69. transform: scale(1) translate3d(0, 0, 0) perspective(1px);
  70. }
  71. 60% {
  72. transform: scale(1.1) translate3d(0, 0, 0) perspective(1px);
  73. }
  74. 100% {
  75. transform: scale(1) translate3d(0, 0, 0) perspective(1px);
  76. }
  77. }