styles.tsx 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. import { Button } from "src/components/Button";
  2. import styled from "styled-components";
  3. export const StyledButtonWrapper = styled.div`
  4. display: flex;
  5. gap: 18px;
  6. @media only screen and (max-width: 768px) {
  7. display: none;
  8. }
  9. `;
  10. export const StyledTwitterQuote = styled.div`
  11. width: 100%;
  12. height: 100%;
  13. blockquote.twitter-tweet {
  14. display: inline-block;
  15. font-family: "Helvetica Neue", Roboto, "Segoe UI", Calibri, sans-serif;
  16. font-size: 12px;
  17. font-weight: bold;
  18. line-height: 16px;
  19. border-color: #eee #ddd #bbb;
  20. border-radius: 5px;
  21. border-style: solid;
  22. border-width: 1px;
  23. box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  24. margin: 10px 5px;
  25. padding: 0 16px 16px 16px;
  26. max-width: 468px;
  27. }
  28. blockquote.twitter-tweet p {
  29. font-size: 16px;
  30. font-weight: normal;
  31. line-height: 20px;
  32. }
  33. blockquote.twitter-tweet a {
  34. color: inherit;
  35. font-weight: normal;
  36. text-decoration: none;
  37. outline: 0 none;
  38. }
  39. blockquote.twitter-tweet a:hover,
  40. blockquote.twitter-tweet a:focus {
  41. text-decoration: underline;
  42. }
  43. `;
  44. export const StyledImageWrapper = styled.div`
  45. width: 100%;
  46. height: 100%;
  47. display: flex;
  48. justify-content: center;
  49. align-items: center;
  50. `;
  51. export const StyledHome = styled.div`
  52. display: flex;
  53. flex-direction: column;
  54. gap: 8em;
  55. font-family: "Roboto", sans-serif;
  56. * {
  57. box-sizing: border-box;
  58. }
  59. @media only screen and (max-width: 768px) {
  60. gap: 3em;
  61. }
  62. `;
  63. export const StyledGradientText = styled.span`
  64. background: #ffb76b;
  65. background: linear-gradient(
  66. to right,
  67. #ffb76b 0%,
  68. #ffa73d 30%,
  69. #ff7c00 60%,
  70. #ff7f04 100%
  71. );
  72. background-clip: text;
  73. -webkit-background-clip: text;
  74. -webkit-text-fill-color: transparent;
  75. `;
  76. export const StyledNavbar = styled.nav`
  77. display: flex;
  78. justify-content: center;
  79. align-items: center;
  80. width: 100%;
  81. padding: 16px 16px;
  82. gap: 20px;
  83. @media only screen and (max-width: 768px) {
  84. a:first-of-type {
  85. display: none;
  86. }
  87. }
  88. `;
  89. export const StyledHeroSection = styled.section`
  90. display: flex;
  91. flex-direction: column;
  92. justify-content: center;
  93. align-items: center;
  94. gap: 1.5em;
  95. min-height: 40vh;
  96. padding: 0 3%;
  97. h2 {
  98. margin-bottom: 25px;
  99. }
  100. `;
  101. export const StyledNavLink = styled.a`
  102. display: flex;
  103. justify-content: center;
  104. align-items: center;
  105. font-size: 1rem;
  106. cursor: pointer;
  107. transition: color 0.2s;
  108. &:hover {
  109. font-weight: 500;
  110. color: ${({ theme }) => theme.ORANGE};
  111. }
  112. `;
  113. export const StyledTitle = styled.h1`
  114. font-weight: 900;
  115. margin: 0;
  116. font-size: min(10vw, 64px);
  117. @media only screen and (max-width: 768px) {
  118. font-size: 2.5rem;
  119. }
  120. `;
  121. export const StyledSubTitle = styled.h2`
  122. color: #dedede;
  123. text-align: center;
  124. font-size: 2.5rem;
  125. max-width: 40rem;
  126. margin: 0;
  127. @media only screen and (max-width: 768px) {
  128. font-size: 1.5rem;
  129. }
  130. `;
  131. export const StyledMinorTitle = styled.p`
  132. color: #b4b4b4;
  133. text-align: center;
  134. font-size: 1rem;
  135. margin: 0;
  136. letter-spacing: 1.2px;
  137. @media only screen and (max-width: 992px) {
  138. font-size: 1rem;
  139. }
  140. `;
  141. export const StyledButton = styled(Button)`
  142. background: ${({ status }) => !status && "#a13cc2"};
  143. padding: 12px 24px;
  144. height: 46px;
  145. div {
  146. font-family: "Mona Sans";
  147. font-weight: 700;
  148. font-size: 1rem;
  149. }
  150. `;
  151. export const StyledSponsorButton = styled(Button)<{ isBlue?: boolean }>`
  152. background: transparent;
  153. border: 1px solid ${({ isBlue }) => (isBlue ? "#1F9CF0" : "#ee3d48")};
  154. transition: all 200ms;
  155. padding: 12px 24px;
  156. div {
  157. font-family: "Roboto", sans-serif;
  158. font-weight: 700;
  159. font-size: 16px;
  160. }
  161. svg {
  162. color: ${({ isBlue }) => (isBlue ? "#1F9CF0" : "#ee3d48")};
  163. }
  164. &:hover {
  165. background: ${({ isBlue }) => (isBlue ? "#1F9CF0" : "#ee3d48")};
  166. svg {
  167. color: white;
  168. }
  169. }
  170. `;
  171. export const StyledFeaturesSection = styled.section`
  172. display: grid;
  173. margin: 0 auto;
  174. max-width: 60%;
  175. justify-content: center;
  176. grid-template-columns: repeat(2, 40%);
  177. grid-template-rows: repeat(2, 1fr);
  178. grid-column-gap: 60px;
  179. grid-row-gap: 60px;
  180. @media only screen and (max-width: 768px) {
  181. flex-direction: column;
  182. max-width: 80%;
  183. display: flex;
  184. }
  185. `;
  186. export const StyledSectionCard = styled.div`
  187. text-align: center;
  188. flex: 1;
  189. border: 1px solid ${({ theme }) => theme.BACKGROUND_MODIFIER_ACCENT};
  190. background: rgb(48, 0, 65);
  191. background: linear-gradient(
  192. 138deg,
  193. rgba(48, 0, 65, 0.8870141806722689) 0%,
  194. rgba(72, 12, 84, 0.40802258403361347) 33%,
  195. rgba(65, 8, 92, 0.6012998949579832) 100%
  196. );
  197. border-radius: 6px;
  198. padding: 16px;
  199. `;
  200. export const StyledCardTitle = styled.div`
  201. font-weight: 700;
  202. font-size: 1.5rem;
  203. padding: 1.5rem 0 0.5rem;
  204. letter-spacing: 1px;
  205. `;
  206. export const StyledCardIcon = styled.div``;
  207. export const StyledCardDescription = styled.p`
  208. color: #e0e0e0;
  209. text-align: left;
  210. line-height: 1.5rem;
  211. font-size: 0.875rem;
  212. `;
  213. export const StyledIframge = styled.iframe`
  214. width: 100%;
  215. height: 100%;
  216. min-height: 200px;
  217. border: 2px solid ${({ theme }) => theme.INTERACTIVE_NORMAL};
  218. border-radius: 6px;
  219. @media only screen and (min-width: 768px) {
  220. min-height: 384px;
  221. }
  222. `;
  223. export const StyledSection = styled.section<{ reverse?: boolean }>`
  224. display: flex;
  225. flex-direction: row;
  226. justify-content: space-between;
  227. max-width: 85%;
  228. margin: 0 auto;
  229. gap: 4rem;
  230. line-height: 1.5;
  231. padding: 50px 3%;
  232. & > div {
  233. width: 100%;
  234. }
  235. @media only screen and (max-width: 1200px) {
  236. flex-direction: ${({ reverse }) => (reverse ? "column-reverse" : "column")};
  237. max-width: 80%;
  238. }
  239. `;
  240. export const StyledSectionArea = styled.div`
  241. display: flex;
  242. flex-direction: column;
  243. gap: 2rem;
  244. width: 40%;
  245. margin-top: 3rem;
  246. h2,
  247. p {
  248. text-align: left;
  249. letter-spacing: unset;
  250. }
  251. @media only screen and (max-width: 768px) {
  252. width: 100%;
  253. align-items: center;
  254. h2 {
  255. text-align: center;
  256. }
  257. }
  258. `;
  259. export const StyledSponsorSection = styled.section`
  260. display: flex;
  261. flex-direction: column;
  262. justify-content: center;
  263. align-items: center;
  264. max-width: 85%;
  265. margin: 0 auto;
  266. gap: 2rem;
  267. line-height: 1.5;
  268. padding: 50px 3%;
  269. @media only screen and (max-width: 768px) {
  270. max-width: 90%;
  271. }
  272. `;
  273. export const StyledEmbedSection = styled.section`
  274. display: flex;
  275. flex-direction: column-reverse;
  276. justify-content: center;
  277. align-items: center;
  278. max-width: 85%;
  279. margin: 0 auto;
  280. gap: 2rem;
  281. line-height: 1.5;
  282. padding: 50px 3%;
  283. @media only screen and (max-width: 768px) {
  284. max-width: 80%;
  285. }
  286. `;
  287. export const StyledPreviewSection = styled.section`
  288. display: flex;
  289. flex-direction: row;
  290. justify-content: space-between;
  291. max-width: 85%;
  292. margin: 0 auto;
  293. padding: 0 3%;
  294. @media only screen and (max-width: 768px) {
  295. display: none;
  296. }
  297. `;
  298. export const StyledImage = styled.img`
  299. width: 100%;
  300. height: 100%;
  301. object-fit: contain;
  302. filter: drop-shadow(0px 0px 12px rgba(255, 255, 255, 0.6));
  303. `;
  304. export const StyledFooter = styled.footer`
  305. display: flex;
  306. flex-direction: row;
  307. justify-content: space-between;
  308. width: 80%;
  309. margin: 0 auto;
  310. padding: 30px 3%;
  311. border-top: 1px solid #b4b4b4;
  312. opacity: 0.7;
  313. `;
  314. export const StyledFooterText = styled.p`
  315. display: flex;
  316. flex-direction: column;
  317. gap: 20px;
  318. color: #b4b4b4;
  319. `;
  320. export const StyledIconLinks = styled.div`
  321. display: flex;
  322. gap: 20px;
  323. ${StyledNavLink} {
  324. color: unset;
  325. }
  326. `;
  327. export const StyledHighlightedText = styled.span`
  328. text-decoration: underline;
  329. text-decoration-style: dashed;
  330. text-decoration-color: #eab308;
  331. `;
  332. export const StyledProducthunt = styled.div`
  333. display: flex;
  334. flex-direction: column;
  335. justify-content: space-between;
  336. align-items: center;
  337. gap: 3rem;
  338. border-right: 1px solid white;
  339. padding-right: 3rem;
  340. @media only screen and (max-width: 768px) {
  341. border-right: none;
  342. border-bottom: 1px solid white;
  343. padding-bottom: 3rem;
  344. padding-right: 0;
  345. }
  346. `;
  347. export const StyledPaidSection = styled.section`
  348. display: flex;
  349. max-width: 85%;
  350. margin: 0 auto;
  351. gap: 2rem;
  352. padding: 50px 3%;
  353. @media only screen and (max-width: 768px) {
  354. flex-direction: column;
  355. max-width: 80%;
  356. }
  357. `;
  358. export const StyledAffiliate = styled.div`
  359. display: flex;
  360. flex-direction: column;
  361. justify-content: space-between;
  362. align-items: center;
  363. gap: 3rem;
  364. `;