1
0

mailer.scss 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986
  1. @import 'fonts/inter';
  2. body {
  3. accent-color: #6364ff;
  4. word-break: break-word;
  5. margin: 0;
  6. background-color: #f3f2f5;
  7. padding: 0;
  8. -webkit-text-size-adjust: none;
  9. text-size-adjust: none;
  10. }
  11. p,
  12. h1,
  13. h2,
  14. h3,
  15. h4,
  16. h5,
  17. h6 {
  18. margin: 0;
  19. background-color: transparent;
  20. padding: 0;
  21. border: none;
  22. font-family: Inter, 'Lucida Grande', sans-serif;
  23. }
  24. img {
  25. max-width: 100%;
  26. height: auto;
  27. border: none;
  28. text-indent: 0;
  29. vertical-align: middle;
  30. color: inherit;
  31. font-family: inherit;
  32. }
  33. table {
  34. border: none;
  35. }
  36. table + p {
  37. margin-top: 16px;
  38. }
  39. .email {
  40. min-width: 280px;
  41. font-family: Inter, 'Lucida Grande', sans-serif;
  42. word-break: break-word;
  43. color: #17063b;
  44. background-color: #f3f2f5;
  45. }
  46. .email-container {
  47. max-width: 740px;
  48. margin: 0 auto;
  49. width: 100%;
  50. }
  51. // Outer email card
  52. .email-card-table {
  53. border-collapse: collapse;
  54. width: 100%;
  55. }
  56. .email-card-td {
  57. overflow: hidden;
  58. box-shadow: 0 4px 16px 0 rgba(23, 6, 59, 4%);
  59. background-color: #fff;
  60. }
  61. // Inner email card
  62. .email-inner-card-table {
  63. border-collapse: separate;
  64. width: 100%;
  65. border-radius: 12px;
  66. }
  67. .email-inner-card-td-without-padding,
  68. .email-inner-card-td {
  69. border-radius: 12px;
  70. overflow: hidden;
  71. box-shadow: 0 4px 16px 0 rgba(23, 6, 59, 8%);
  72. background-color: #fff;
  73. border: 1px solid #dfdee3;
  74. }
  75. .email-inner-card-td {
  76. padding: 24px;
  77. }
  78. // Account
  79. .email-account-banner-table {
  80. background-color: #f3f2f5;
  81. border-top-left-radius: 12px;
  82. border-top-right-radius: 12px;
  83. }
  84. .email-account-banner-td {
  85. border-top-left-radius: 12px;
  86. border-top-right-radius: 12px;
  87. height: 140px;
  88. vertical-align: bottom;
  89. background-position: center !important;
  90. background-size: cover !important;
  91. }
  92. .email-account-banner-inner-td {
  93. padding: 24px 24px 0;
  94. mso-padding-alt: 24px;
  95. }
  96. .email-account-banner-overlap-div {
  97. max-height: 42px;
  98. }
  99. .email-account-banner-icon-table {
  100. width: auto;
  101. margin: 0;
  102. overflow: hidden;
  103. border-radius: 8px;
  104. border-collapse: separate;
  105. background-color: #fff;
  106. border: 2px solid #fff;
  107. img {
  108. display: block;
  109. max-width: 100%;
  110. border: none;
  111. border-radius: 6px;
  112. }
  113. }
  114. .email-account-body-td {
  115. padding: 56px 24px 24px;
  116. mso-padding-alt: 24px;
  117. }
  118. .email-account-name {
  119. font-size: 16px;
  120. font-weight: 600;
  121. line-height: 24px;
  122. color: #17063b;
  123. }
  124. .email-account-handle {
  125. font-size: 14px;
  126. line-height: 20px;
  127. color: #746a89;
  128. }
  129. .email-account-stats-table {
  130. td {
  131. padding-right: 16px;
  132. font-size: 14px;
  133. line-height: 20px;
  134. color: #746a89;
  135. }
  136. b {
  137. font-weight: 600;
  138. color: #17063b;
  139. }
  140. span {
  141. white-space: nowrap;
  142. }
  143. }
  144. // Utility classes
  145. .email-w-full {
  146. table-layout: fixed;
  147. width: 100%;
  148. }
  149. .email-prose {
  150. p {
  151. color: #17063b;
  152. font-size: 14px;
  153. line-height: 20px;
  154. &:not(:last-child) {
  155. margin-bottom: 16px;
  156. }
  157. a:not([class]) {
  158. color: #6364ff;
  159. text-decoration: none;
  160. &:hover {
  161. color: #563acc !important;
  162. }
  163. }
  164. }
  165. }
  166. .email-dir-rtl {
  167. direction: rtl;
  168. [dir='rtl'] & {
  169. direction: ltr;
  170. }
  171. }
  172. .email-dir-ltr {
  173. direction: ltr;
  174. }
  175. .email-padding-24 {
  176. padding: 24px;
  177. }
  178. .email-padding-top-24 {
  179. padding-top: 24px;
  180. }
  181. .email-padding-top-16 {
  182. padding-top: 16px;
  183. }
  184. .email-padding-top-0 {
  185. padding-top: 0;
  186. }
  187. .email-border-top {
  188. border-top: 1px solid #dfdee3;
  189. }
  190. .email-border-bottom {
  191. border-bottom: 1px solid #dfdee3;
  192. }
  193. .email-desktop-flex {
  194. font-size: 0;
  195. max-width: 740px;
  196. margin-left: auto;
  197. margin-right: auto;
  198. &.email-dir-rtl > .email-desktop-column {
  199. direction: ltr;
  200. [dir='rtl'] & {
  201. direction: rtl;
  202. }
  203. }
  204. }
  205. .email-desktop-column {
  206. display: inline-block;
  207. width: 100%;
  208. max-width: none;
  209. text-align: start;
  210. vertical-align: top;
  211. font-size: 16px;
  212. }
  213. // Header
  214. .email-header-td {
  215. padding: 16px 32px;
  216. background-color: #1b001f;
  217. background-image: url('../images/mailer-new/common/header-bg-start.png');
  218. background-position: left top;
  219. background-repeat: repeat;
  220. }
  221. .email-header-logo-table {
  222. width: auto;
  223. margin: 0;
  224. }
  225. .email-header-logo-td {
  226. padding: 16px 0;
  227. font-size: 0;
  228. img {
  229. color: #fff;
  230. font-size: 16px;
  231. font-weight: bold;
  232. max-height: 40px;
  233. }
  234. }
  235. .email-header-logo-a {
  236. display: inline-block;
  237. img {
  238. display: inline-block;
  239. color: #fff;
  240. }
  241. }
  242. .email-header-logo-div {
  243. max-height: 0;
  244. }
  245. .email-header-logo-p {
  246. word-break: break-all;
  247. padding-left: 40px;
  248. padding-top: 26px;
  249. font-size: 11px;
  250. line-height: 13px;
  251. color: #8d808f;
  252. text-align: left;
  253. }
  254. .email-header-logo-span {
  255. display: block;
  256. text-align: right;
  257. }
  258. .email-header-heading-td {
  259. padding: 16px 0;
  260. }
  261. .email-header-heading-img-td {
  262. width: 56px;
  263. text-align: left;
  264. vertical-align: top;
  265. img {
  266. width: 56px;
  267. height: 56px;
  268. border-radius: 12px;
  269. }
  270. }
  271. .email-header-heading-txt-td {
  272. vertical-align: middle;
  273. padding-left: 16px;
  274. padding-right: 16px;
  275. h1 {
  276. margin-bottom: 5px;
  277. color: #fff;
  278. font-size: 24px;
  279. line-height: 28px;
  280. font-weight: 600;
  281. }
  282. p {
  283. color: #a399a5;
  284. font-size: 18px;
  285. line-height: 21.6px;
  286. font-weight: 500;
  287. }
  288. &:only-child {
  289. padding-left: 0;
  290. padding-right: 0;
  291. }
  292. }
  293. .email-header-card-table {
  294. width: 100%;
  295. border-collapse: separate;
  296. overflow: hidden;
  297. border-radius: 12px;
  298. background-color: #fff;
  299. border: 2px solid #fff;
  300. box-shadow: 0 4px 16px 0 rgba(23, 6, 59, 8%);
  301. }
  302. .email-header-card {
  303. position: relative;
  304. max-height: 100px;
  305. }
  306. .email-header-card-banner-td {
  307. border-radius: 12px 12px 0 0;
  308. width: 236px;
  309. height: 80px;
  310. background-color: #f3f2f5 !important;
  311. background-position: center !important;
  312. background-size: cover !important;
  313. }
  314. .email-header-card-body-td {
  315. padding: 12px;
  316. .email-btn-table {
  317. width: 100%;
  318. max-width: 212px;
  319. }
  320. }
  321. .email-header-card-instance {
  322. margin-bottom: 4px;
  323. overflow: hidden;
  324. text-overflow: ellipsis;
  325. word-break: break-all;
  326. color: #17063b;
  327. font-size: 14px;
  328. line-height: 20px;
  329. font-weight: 600;
  330. &:only-of-type {
  331. margin-bottom: 12px;
  332. }
  333. }
  334. .email-header-card-description {
  335. margin-bottom: 12px;
  336. color: #746a89;
  337. font-size: 12px;
  338. line-height: 16px;
  339. max-height: 32px;
  340. overflow: hidden;
  341. text-overflow: ellipsis;
  342. display: -webkit-box;
  343. -webkit-line-clamp: 2;
  344. -webkit-box-orient: vertical;
  345. }
  346. // To make the design work with images off
  347. // we create an empty div that overlaps with
  348. // the rest of the content with a dark background.
  349. .email-header-after-div {
  350. max-height: 0;
  351. }
  352. .email-header-after-inside-div {
  353. height: 30px;
  354. background-color: #1b001f;
  355. }
  356. // Body content
  357. .email-body-td {
  358. background-image: url('../images/mailer-new/common/header-bg-end.png');
  359. background-position: left top;
  360. background-repeat: no-repeat;
  361. }
  362. .email-body-padding-td {
  363. padding: 0 32px 32px;
  364. mso-padding-alt: 32px;
  365. }
  366. .email-body-columns-td {
  367. border-top: 1px solid #dfdee3;
  368. padding: 32px 24px 8px;
  369. }
  370. .email-body-huge-padding-td {
  371. padding: 110px 32px 32px;
  372. mso-padding-alt: 32px;
  373. }
  374. .email-body-padding-td {
  375. & > p {
  376. font-size: 14px;
  377. line-height: 20px;
  378. color: #17063b;
  379. a {
  380. color: #6364ff;
  381. text-decoration: none;
  382. &:hover {
  383. color: #563acc !important;
  384. }
  385. }
  386. }
  387. }
  388. // Texts
  389. .email-h2 {
  390. margin-bottom: 4px;
  391. color: #17063b;
  392. font-size: 18px;
  393. font-weight: 600;
  394. line-height: 28px;
  395. }
  396. .email-h-sub {
  397. margin-bottom: 16px;
  398. color: #746a89;
  399. font-size: 14px;
  400. line-height: 16px;
  401. }
  402. .email-p {
  403. margin-bottom: 16px;
  404. color: #746a89;
  405. font-size: 14px;
  406. font-weight: 400;
  407. line-height: 20px;
  408. }
  409. // Footer
  410. .email-footer-td {
  411. padding: 28px 32px 32px;
  412. text-align: center;
  413. }
  414. .email-footer-logo-a {
  415. display: inline-block;
  416. }
  417. .email-footer-p {
  418. color: #9b94ab;
  419. text-align: center;
  420. font-size: 12px;
  421. line-height: 20px;
  422. a {
  423. color: #9b94ab;
  424. text-decoration: underline;
  425. }
  426. &:first-child {
  427. margin-bottom: 12px;
  428. }
  429. }
  430. // Button
  431. .email-btn-table {
  432. margin: 0;
  433. max-width: 100%;
  434. border-collapse: separate;
  435. border-radius: 8px;
  436. background-color: #6364ff;
  437. }
  438. .email-btn-td {
  439. height: 40px;
  440. text-align: center;
  441. mso-padding-alt: 0 35px;
  442. word-break: normal;
  443. }
  444. .email-btn-a {
  445. display: block;
  446. border-radius: 8px;
  447. padding-left: 35px;
  448. padding-right: 35px;
  449. padding-top: 10px;
  450. padding-bottom: 10px;
  451. text-align: center;
  452. font-family: Inter, 'Lucida Grande', sans-serif;
  453. font-size: 14px;
  454. font-weight: 600;
  455. line-height: 20px;
  456. color: #fff;
  457. text-decoration: none;
  458. transition: background-color 0.3s ease-in-out;
  459. }
  460. // Status
  461. .email-status-header-img {
  462. vertical-align: top;
  463. width: 48px;
  464. img {
  465. width: 48px;
  466. height: 48px;
  467. border-radius: 8px;
  468. overflow: hidden;
  469. }
  470. }
  471. .email-status-header-text {
  472. padding-left: 16px;
  473. padding-right: 16px;
  474. vertical-align: middle;
  475. }
  476. .email-status-header-name {
  477. font-size: 16px;
  478. font-weight: 600;
  479. line-height: 24px;
  480. color: #17063b;
  481. }
  482. .email-status-header-handle {
  483. font-size: 14px;
  484. line-height: 20px;
  485. color: #746a89;
  486. }
  487. .email-status-content {
  488. padding-top: 24px;
  489. }
  490. .email-status-spoiler {
  491. color: #746a89;
  492. font-style: italic;
  493. margin-bottom: 8px;
  494. }
  495. .email-status-prose {
  496. p {
  497. font-size: 14px;
  498. line-height: 20px;
  499. margin-bottom: 20px;
  500. color: #17063b;
  501. white-space: pre-wrap;
  502. unicode-bidi: plaintext;
  503. }
  504. a {
  505. color: #6364ff;
  506. text-decoration: none;
  507. &:hover {
  508. color: #563acc !important;
  509. }
  510. }
  511. .invisible {
  512. font-size: 0;
  513. line-height: 0;
  514. display: inline-block;
  515. width: 0;
  516. height: 0;
  517. position: absolute;
  518. }
  519. .ellipsis {
  520. &::after {
  521. content: '…';
  522. }
  523. }
  524. }
  525. .email-status-media {
  526. margin-top: 16px;
  527. font-size: 14px;
  528. line-height: 20px;
  529. color: #17063b;
  530. img {
  531. border-radius: 8px;
  532. }
  533. a {
  534. color: #6364ff;
  535. text-decoration: none;
  536. &:hover {
  537. color: #563acc !important;
  538. }
  539. }
  540. }
  541. .email-status-footer {
  542. margin-top: 16px;
  543. font-size: 12px;
  544. line-height: 16px;
  545. color: #746a89;
  546. a {
  547. color: #746a89;
  548. }
  549. a:hover {
  550. color: #746a89 !important;
  551. text-decoration: underline !important;
  552. }
  553. }
  554. // Purple frame for emphasis
  555. .email-frame-table {
  556. background-color: #efefff;
  557. border-radius: 8px;
  558. }
  559. .email-frame-td {
  560. padding: 16px;
  561. }
  562. .email-frame-wrapper-td {
  563. padding-bottom: 16px;
  564. }
  565. .email-frame-td > p {
  566. text-align: center;
  567. font-size: 16px;
  568. line-height: 24px;
  569. }
  570. // Checklist item
  571. .email-checklist-wrapper-td {
  572. padding: 4px 0;
  573. }
  574. .email-checklist-table {
  575. border-radius: 12px;
  576. border-width: 1px;
  577. border-style: solid;
  578. border-color: #efefff;
  579. background-color: #fff;
  580. }
  581. .email-checklist-checked {
  582. border-color: #c4e6d7;
  583. background-color: #eaf6f1;
  584. }
  585. .email-checklist-td {
  586. padding: 16px 16px 6px;
  587. }
  588. .email-checklist-icons-td {
  589. width: 84px;
  590. vertical-align: top;
  591. }
  592. .email-checklist-icons-checkbox-td {
  593. width: 20px;
  594. vertical-align: middle;
  595. img {
  596. max-width: 100%;
  597. width: 20px;
  598. }
  599. }
  600. .email-checklist-icons-step-td {
  601. width: 64px;
  602. text-align: center;
  603. vertical-align: middle;
  604. img {
  605. max-width: 100%;
  606. width: 40px;
  607. }
  608. }
  609. .email-checklist-text-td {
  610. h3 {
  611. margin: 0 0 4px;
  612. color: #17063b;
  613. font-size: 14px;
  614. font-weight: 600;
  615. line-height: 16.8px;
  616. .email-checklist-checked & {
  617. color: #746a89;
  618. text-decoration: line-through;
  619. }
  620. }
  621. p {
  622. margin: 0 0 12px;
  623. color: #746a89;
  624. font-size: 14px;
  625. line-height: 16.8px;
  626. }
  627. .email-btn-table {
  628. width: 100px;
  629. }
  630. .email-btn-td {
  631. mso-padding-alt: 10px;
  632. }
  633. .email-btn-a {
  634. padding-left: 10px;
  635. padding-right: 10px;
  636. }
  637. div + div {
  638. margin-inline-start: auto;
  639. margin-bottom: 12px;
  640. }
  641. }
  642. // Welcome email
  643. .email-welcome-apps-btns {
  644. font-size: 12px;
  645. line-height: 44px;
  646. }
  647. .email-column-td {
  648. padding: 0 8px;
  649. vertical-align: top;
  650. }
  651. .email-link-with-arrow {
  652. color: #6364ff;
  653. font-size: 14px;
  654. font-weight: 600;
  655. line-height: 16.8px;
  656. &:hover {
  657. color: #563acc !important;
  658. }
  659. span {
  660. font-size: 12px;
  661. font-weight: 400;
  662. }
  663. }
  664. .email-column-action-td {
  665. padding: 24px 0;
  666. color: #6364ff;
  667. font-size: 14px;
  668. font-weight: 600;
  669. line-height: 16.8px;
  670. text-align: center;
  671. }
  672. // Follow and hashtags
  673. .email-mini-wrapper-td {
  674. padding: 4px 0;
  675. table {
  676. table-layout: fixed;
  677. }
  678. }
  679. .email-mini-td {
  680. border-radius: 12px;
  681. border: 1px solid #e8e6eb;
  682. background-color: #fff;
  683. padding: 15px 16px;
  684. }
  685. .email-mini-follow-img-td {
  686. width: 40px;
  687. vertical-align: top;
  688. img {
  689. border-radius: 8px;
  690. }
  691. }
  692. .email-mini-follow-text-td {
  693. padding-left: 8px;
  694. padding-right: 16px;
  695. vertical-align: top;
  696. h3 {
  697. color: #17063b;
  698. font-size: 14px;
  699. font-weight: 600;
  700. line-height: 20px;
  701. }
  702. p {
  703. color: #746a89;
  704. font-size: 12px;
  705. font-weight: 400;
  706. line-height: 16px;
  707. }
  708. }
  709. .email-mini-follow-btn-td {
  710. width: 68px;
  711. vertical-align: top;
  712. .email-btn-table {
  713. width: 100%;
  714. }
  715. .email-btn-td {
  716. mso-padding-alt: 10px;
  717. }
  718. .email-btn-a {
  719. padding-left: 10px;
  720. padding-right: 10px;
  721. }
  722. }
  723. .email-mini-hashtag-td {
  724. height: 40px;
  725. td {
  726. vertical-align: middle;
  727. }
  728. h3 {
  729. color: #17063b;
  730. font-size: 14px;
  731. font-weight: 600;
  732. line-height: 20px;
  733. }
  734. p {
  735. color: #746a89;
  736. font-size: 12px;
  737. font-weight: 400;
  738. line-height: 16px;
  739. word-break: break-all;
  740. white-space: nowrap;
  741. overflow: hidden;
  742. text-overflow: ellipsis;
  743. }
  744. }
  745. .email-mini-hashtag-img-td {
  746. width: 40px;
  747. height: 20px;
  748. white-space: nowrap;
  749. text-indent: -2px;
  750. font-size: 0;
  751. & + td {
  752. padding-left: 8px;
  753. }
  754. }
  755. .email-mini-hashtag-img-span {
  756. display: inline-block;
  757. max-width: 12px;
  758. font-size: 12px;
  759. img {
  760. width: 16px;
  761. height: 16px;
  762. border-radius: 50%;
  763. max-width: none;
  764. border: 2px solid #fff;
  765. vertical-align: middle;
  766. }
  767. }
  768. // Extra content on light purple background
  769. .email-extra-wave {
  770. height: 42px;
  771. background-image: url('../images/mailer-new/welcome/purple-extra-soft-wave.png');
  772. background-position: bottom center;
  773. background-repeat: no-repeat;
  774. }
  775. .email-extra-td {
  776. padding: 32px 32px 24px;
  777. background-color: #f0f0ff;
  778. background-image: url('../images/mailer-new/welcome/purple-extra-soft-spacer.png'); // Using an image to maintain the color even in forced dark modes
  779. .email-column-td {
  780. padding-top: 8px;
  781. padding-bottom: 8px;
  782. }
  783. }
  784. // Feature card
  785. .email-feature-wrapper-td {
  786. padding: 8px 0;
  787. }
  788. .email-feature-td {
  789. padding: 24px;
  790. background-color: #fff;
  791. border: 1px solid #e8e6eb;
  792. border-radius: 12px;
  793. }
  794. // Responsive
  795. /* stylelint-disable-next-line media-feature-range-notation -- Basic media queries have better support across email clients. */
  796. @media only screen and (min-width: 740px) {
  797. .email-desktop-p-8 {
  798. padding: 32px !important;
  799. }
  800. .email-desktop-rounded-16px {
  801. border-radius: 16px !important;
  802. }
  803. .email-header-td {
  804. border-radius: 16px 16px 0 0 !important;
  805. }
  806. .email-desktop-flex {
  807. display: flex;
  808. }
  809. .email-header-left {
  810. padding-right: 32px;
  811. }
  812. .email-header-right {
  813. width: 240px;
  814. margin-inline-start: auto;
  815. }
  816. .email-desktop-column {
  817. max-width: 346px !important;
  818. }
  819. .email-desktop-text-right {
  820. text-align: right;
  821. }
  822. }