card.scss 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. %card-pattern-shared {
  2. border-radius: var(--border-radius-medium);
  3. color: var(--white);
  4. background-size: cover;
  5. h2 {
  6. @include heading-lg;
  7. }
  8. p {
  9. @include body-lg;
  10. }
  11. h1,
  12. h2,
  13. h3,
  14. h4,
  15. h5,
  16. p {
  17. color: var(--white);
  18. }
  19. .card-body {
  20. padding: var(--spacing-13);
  21. }
  22. }
  23. .card {
  24. --bs-card-bg: var(--white);
  25. --bs-card-border-width: 0;
  26. --bs-card-border-radius: var(--border-radius-base);
  27. --bs-card-spacer-x: var(--spacing-08);
  28. --bs-card-spacer-y: var(--spacing-08);
  29. .card-body {
  30. > :first-child {
  31. margin-top: 0;
  32. }
  33. > :last-child {
  34. margin-bottom: 0;
  35. }
  36. }
  37. &.card-dark-green-bg {
  38. background: var(--dark-jungle-green);
  39. border-radius: var(--border-radius-large);
  40. color: var(--green-10);
  41. .card-body {
  42. padding: var(--spacing-09);
  43. }
  44. a:not(.btn) {
  45. color: var(--green-30);
  46. &:hover {
  47. color: var(--green-30);
  48. }
  49. }
  50. h1,
  51. h2,
  52. h3,
  53. h4,
  54. h5,
  55. p {
  56. color: var(--green-10);
  57. }
  58. }
  59. &.card-purple-top-border {
  60. background-color: white;
  61. border-radius: var(--border-radius-medium);
  62. box-shadow:
  63. 0 2px 4px 0 #1e253014,
  64. 0 4px 12px 0 #1e25301f;
  65. border-top: 8px solid var(--sapphire-blue);
  66. .card-body {
  67. padding: var(--spacing-09) var(--spacing-10);
  68. }
  69. }
  70. &.card-premium-border {
  71. h1,
  72. h2,
  73. h3,
  74. h4,
  75. h5 {
  76. color: var(--blue-60);
  77. }
  78. border-radius: var(--spacing-04);
  79. border: 2px solid transparent;
  80. background:
  81. linear-gradient(white, white) padding-box,
  82. linear-gradient(to right, var(--blue-40), #254c84, var(--blue-70))
  83. border-box;
  84. .card-body {
  85. padding: var(--spacing-10);
  86. }
  87. .btn {
  88. width: 100%;
  89. }
  90. }
  91. &.card-blue-border {
  92. h1,
  93. h2,
  94. h3,
  95. h4,
  96. h5 {
  97. color: var(--sapphire-blue);
  98. }
  99. background-color: white;
  100. border-radius: var(--spacing-04);
  101. border: 2px solid var(--sapphire-blue);
  102. .card-body {
  103. padding: var(--spacing-10);
  104. }
  105. .btn {
  106. width: 100%;
  107. }
  108. }
  109. &.card-pattern {
  110. @extend %card-pattern-shared;
  111. text-align: center;
  112. background-image:
  113. linear-gradient(
  114. to right,
  115. rgba(0 0 0 / 40%) 0%,
  116. var(--dark-jungle-green) 25%,
  117. var(--dark-jungle-green) 75%,
  118. rgba(0 0 0 / 40%) 100%
  119. ),
  120. url('../../../public/img/website-redesign/overleaf-pattern-purple.png');
  121. }
  122. &.card-pattern-left-only {
  123. @extend %card-pattern-shared;
  124. background-image:
  125. linear-gradient(
  126. to right,
  127. rgba(0 0 0 / 40%) 0%,
  128. var(--dark-jungle-green) 20%,
  129. var(--dark-jungle-green) 100%
  130. ),
  131. url('../../../public/img/website-redesign/overleaf-pattern-purple.png');
  132. }
  133. &.card-pattern-bottom {
  134. @extend %card-pattern-shared;
  135. text-align: center;
  136. background-image:
  137. linear-gradient(
  138. to top,
  139. rgba($dark-jungle-green, 0.75) 25%,
  140. rgba($dark-jungle-green, 1) 50%
  141. ),
  142. url('../../../public/img/website-redesign/overleaf-pattern-purple.png');
  143. .card-body {
  144. color: var(--neutral-20);
  145. padding: var(--spacing-11);
  146. }
  147. }
  148. &.card-grey-border {
  149. background-color: white;
  150. border-radius: var(--border-radius-medium);
  151. border: 2px solid var(--neutral-20);
  152. .card-body {
  153. padding: var(--spacing-10);
  154. }
  155. .btn {
  156. width: 100%;
  157. }
  158. }
  159. &.card-green-border {
  160. background-color: white;
  161. border-radius: var(--border-radius-medium);
  162. border: 2px solid var(--green-50);
  163. .card-body {
  164. padding: var(--spacing-09);
  165. }
  166. }
  167. .card-icon-left {
  168. width: 52px;
  169. height: 56px;
  170. display: flex;
  171. align-items: center;
  172. justify-content: center;
  173. }
  174. }
  175. .card-gray {
  176. background-color: var(--neutral-10);
  177. }
  178. .card-gray-dark {
  179. background-color: var(--neutral-10);
  180. border-radius: var(--border-radius-base);
  181. .card-body {
  182. padding: var(--spacing-10) var(--spacing-09);
  183. }
  184. }
  185. .card-icon {
  186. display: flex;
  187. width: max-content;
  188. margin: 0 auto;
  189. padding: var(--spacing-08);
  190. border-radius: 50%;
  191. background-color: var(--bg-light-secondary);
  192. color: var(--content-secondary);
  193. .material-symbols {
  194. font-size: 2rem;
  195. }
  196. &.text-primary {
  197. background-color: var(--bg-accent-03);
  198. }
  199. &.text-danger {
  200. background-color: var(--bg-danger-03);
  201. }
  202. }
  203. .card-description-secondary {
  204. color: var(--content-secondary);
  205. }