App.css 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. .counter {
  2. font-size: 16px;
  3. padding: 5px 10px;
  4. border-radius: 5px;
  5. color: var(--accent);
  6. background: var(--accent-bg);
  7. border: 2px solid transparent;
  8. transition: border-color 0.3s;
  9. margin-bottom: 24px;
  10. &:hover {
  11. border-color: var(--accent-border);
  12. }
  13. &:focus-visible {
  14. outline: 2px solid var(--accent);
  15. outline-offset: 2px;
  16. }
  17. }
  18. .hero {
  19. position: relative;
  20. .base,
  21. .framework,
  22. .vite {
  23. inset-inline: 0;
  24. margin: 0 auto;
  25. }
  26. .base {
  27. width: 170px;
  28. position: relative;
  29. z-index: 0;
  30. }
  31. .framework,
  32. .vite {
  33. position: absolute;
  34. }
  35. .framework {
  36. z-index: 1;
  37. top: 34px;
  38. height: 28px;
  39. transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)
  40. scale(1.4);
  41. }
  42. .vite {
  43. z-index: 0;
  44. top: 107px;
  45. height: 26px;
  46. width: auto;
  47. transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)
  48. scale(0.8);
  49. }
  50. }
  51. #center {
  52. display: flex;
  53. flex-direction: column;
  54. gap: 25px;
  55. place-content: center;
  56. place-items: center;
  57. flex-grow: 1;
  58. @media (max-width: 1024px) {
  59. padding: 32px 20px 24px;
  60. gap: 18px;
  61. }
  62. }
  63. #next-steps {
  64. display: flex;
  65. border-top: 1px solid var(--border);
  66. text-align: left;
  67. & > div {
  68. flex: 1 1 0;
  69. padding: 32px;
  70. @media (max-width: 1024px) {
  71. padding: 24px 20px;
  72. }
  73. }
  74. .icon {
  75. margin-bottom: 16px;
  76. width: 22px;
  77. height: 22px;
  78. }
  79. @media (max-width: 1024px) {
  80. flex-direction: column;
  81. text-align: center;
  82. }
  83. }
  84. #docs {
  85. border-right: 1px solid var(--border);
  86. @media (max-width: 1024px) {
  87. border-right: none;
  88. border-bottom: 1px solid var(--border);
  89. }
  90. }
  91. #next-steps ul {
  92. list-style: none;
  93. padding: 0;
  94. display: flex;
  95. gap: 8px;
  96. margin: 32px 0 0;
  97. .logo {
  98. height: 18px;
  99. }
  100. a {
  101. color: var(--text-h);
  102. font-size: 16px;
  103. border-radius: 6px;
  104. background: var(--social-bg);
  105. display: flex;
  106. padding: 6px 12px;
  107. align-items: center;
  108. gap: 8px;
  109. text-decoration: none;
  110. transition: box-shadow 0.3s;
  111. &:hover {
  112. box-shadow: var(--shadow);
  113. }
  114. .button-icon {
  115. height: 18px;
  116. width: 18px;
  117. }
  118. }
  119. @media (max-width: 1024px) {
  120. margin-top: 20px;
  121. flex-wrap: wrap;
  122. justify-content: center;
  123. li {
  124. flex: 1 1 calc(50% - 8px);
  125. }
  126. a {
  127. width: 100%;
  128. justify-content: center;
  129. box-sizing: border-box;
  130. }
  131. }
  132. }
  133. #spacer {
  134. height: 88px;
  135. border-top: 1px solid var(--border);
  136. @media (max-width: 1024px) {
  137. height: 48px;
  138. }
  139. }
  140. .ticks {
  141. position: relative;
  142. width: 100%;
  143. &::before,
  144. &::after {
  145. content: '';
  146. position: absolute;
  147. top: -4.5px;
  148. border: 5px solid transparent;
  149. }
  150. &::before {
  151. left: 0;
  152. border-left-color: var(--border);
  153. }
  154. &::after {
  155. right: 0;
  156. border-right-color: var(--border);
  157. }
  158. }