website-redesign.less 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162
  1. @cta-card-bg-color: var(--dark-jungle-green);
  2. .website-redesign {
  3. // hero section of features, enterprises, and universities will have an image that will overflow the page
  4. overflow-x: hidden;
  5. p,
  6. div,
  7. h1,
  8. h2,
  9. h3,
  10. h4,
  11. a,
  12. strong {
  13. font-family: 'Noto Sans', sans-serif;
  14. }
  15. h1 {
  16. font-size: 3rem;
  17. font-weight: 600;
  18. line-height: 4rem;
  19. }
  20. h2 {
  21. font-weight: 600;
  22. font-size: 2.25rem;
  23. line-height: 1.333;
  24. margin-top: 0;
  25. @media (max-width: @screen-sm-max) {
  26. font-size: 1.875rem;
  27. }
  28. }
  29. h3 {
  30. font-weight: 600;
  31. }
  32. h1,
  33. h2,
  34. h3 {
  35. > span.mono-text {
  36. display: block;
  37. margin-bottom: @margin-xs;
  38. }
  39. }
  40. // override .btn default style
  41. .btn {
  42. font-weight: 600;
  43. }
  44. .img-rounded {
  45. // TODO: design specifies 'border-radius-large' which is 5px, but uses 16px
  46. border-radius: 16px;
  47. }
  48. .plans-cards {
  49. @media (min-width: @screen-md-min) {
  50. display: flex; /* equal heights */
  51. flex-wrap: wrap;
  52. }
  53. .plans-card-container {
  54. min-height: 348px;
  55. @media (max-width: @screen-sm-max) {
  56. margin-bottom: 16px;
  57. min-height: unset;
  58. }
  59. }
  60. .plans-card {
  61. border-radius: 8px;
  62. padding: 0;
  63. height: 100%;
  64. .plans-card-inner {
  65. padding: 36px;
  66. height: 100%;
  67. display: flex;
  68. flex-direction: column;
  69. font-size: 16px;
  70. .plans-card-inner-title {
  71. font-size: 20px;
  72. font-weight: 600;
  73. margin-top: 0;
  74. }
  75. ul {
  76. list-style-type: none;
  77. padding: 0;
  78. margin: 0;
  79. li {
  80. margin-bottom: 8px;
  81. }
  82. }
  83. .plans-card-inner-footer {
  84. margin-top: auto;
  85. display: flex;
  86. flex-direction: column;
  87. gap: 12px;
  88. @media (max-width: @screen-sm-max) {
  89. margin-top: 16px;
  90. }
  91. }
  92. }
  93. &.grey-border {
  94. border: 2px solid var(--neutral-20);
  95. }
  96. &.blue-border {
  97. border: solid 2px var(--sapphire-blue);
  98. border-radius: 8px;
  99. .plans-card-inner-title {
  100. color: var(--sapphire-blue);
  101. }
  102. }
  103. }
  104. }
  105. .plans-bottom-text {
  106. font-size: 1.125rem;
  107. }
  108. .info-cards {
  109. @media (min-width: @screen-md-min) {
  110. display: flex; /* equal heights */
  111. flex-wrap: wrap;
  112. }
  113. .info-card-container {
  114. margin-bottom: 16px;
  115. .info-card {
  116. border-radius: 8px;
  117. height: 100%;
  118. box-shadow:
  119. 0px 2px 4px 0px #1e253014,
  120. 0px 4px 12px 0px #1e25301f;
  121. border-top: 8px solid var(--sapphire-blue);
  122. padding: 32px 40px 32px 40px;
  123. &.info-card-big-text {
  124. h3 {
  125. font-size: 1.5rem;
  126. line-height: 1.333;
  127. }
  128. p {
  129. font-size: 1.125rem;
  130. line-height: 1.333;
  131. }
  132. }
  133. i.material-symbols {
  134. color: var(--sapphire-blue);
  135. }
  136. }
  137. }
  138. }
  139. .security-heading-section {
  140. @media (max-width: @screen-sm-max) {
  141. p {
  142. text-align: left;
  143. }
  144. h2 {
  145. width: 100%;
  146. text-align: left;
  147. }
  148. }
  149. .heading-and-stickers-container {
  150. display: flex;
  151. justify-content: center;
  152. .lock-sticker {
  153. width: 70px;
  154. position: absolute;
  155. top: -95px;
  156. right: -50px;
  157. @media (max-width: @screen-lg) {
  158. right: -105px;
  159. }
  160. @media (max-width: @screen-sm-max) {
  161. display: none;
  162. }
  163. }
  164. .arrow-sticker {
  165. width: 140px;
  166. position: absolute;
  167. top: -50px;
  168. right: -15px;
  169. @media (max-width: @screen-lg) {
  170. right: -70px;
  171. }
  172. @media (max-width: @screen-sm-max) {
  173. display: none;
  174. }
  175. }
  176. }
  177. }
  178. .customer-story-card-title {
  179. margin-top: 25px;
  180. margin-bottom: 12.5px;
  181. font-size: 1.5rem;
  182. font-weight: 600;
  183. a {
  184. display: flex;
  185. justify-content: space-between;
  186. color: var(--neutral-90);
  187. i {
  188. font-size: 1.5rem;
  189. }
  190. }
  191. }
  192. .customer-story-content {
  193. h1 {
  194. @media (max-width: @screen-sm-max) {
  195. font-size: 2.25rem;
  196. line-height: 1.333;
  197. }
  198. }
  199. .table-of-contents-section {
  200. padding-right: 64px;
  201. @media (max-width: @screen-sm-max) {
  202. display: none;
  203. }
  204. .table-of-contents {
  205. border-top: 1px solid var(--neutral-30);
  206. border-bottom: 1px solid var(--neutral-30);
  207. padding: 32px 0;
  208. .heading {
  209. font-size: 1.125rem;
  210. font-weight: 600;
  211. line-height: 1.333;
  212. color: var(--green-60);
  213. }
  214. li {
  215. list-style: none;
  216. padding-top: 16px;
  217. font-weight: 500;
  218. a {
  219. text-decoration: none;
  220. color: var(--neutral-70);
  221. }
  222. }
  223. }
  224. }
  225. .story-details-section {
  226. h3 {
  227. font-size: 1.875rem;
  228. line-height: 1.333;
  229. margin-top: 0;
  230. }
  231. .at-glance-section {
  232. padding-top: 24px;
  233. p {
  234. margin-top: 16px;
  235. }
  236. }
  237. p {
  238. font-size: 1.125rem;
  239. }
  240. .border-r-16 {
  241. border-radius: 16px;
  242. }
  243. .introduction-image-caption {
  244. padding-top: 16px;
  245. }
  246. .stats-card {
  247. display: flex;
  248. flex-direction: row;
  249. padding: 32px;
  250. border-radius: 16px;
  251. background: var(--dark-jungle-green);
  252. color: var(--white);
  253. @media (max-width: @screen-sm-max) {
  254. flex-direction: column;
  255. }
  256. .stats {
  257. h3 {
  258. font-size: 2rem;
  259. font-weight: 600;
  260. }
  261. p {
  262. font-weight: 600;
  263. height: 50px;
  264. }
  265. }
  266. }
  267. }
  268. .customer-quote {
  269. border-left: 2px solid var(--green-60);
  270. padding-left: 16px;
  271. blockquote {
  272. color: var(--neutral-90);
  273. font-size: 1.6rem;
  274. line-height: 1.333;
  275. }
  276. p {
  277. margin-top: 1rem;
  278. font-size: 1.125rem;
  279. }
  280. }
  281. }
  282. .features-card {
  283. display: flex; /* equal heights */
  284. flex-wrap: wrap;
  285. align-items: center;
  286. .features-card-media,
  287. .features-card-media-right {
  288. padding-top: 24px;
  289. img.img-responsive {
  290. width: 100%;
  291. }
  292. video {
  293. box-shadow:
  294. 0px 4px 6px 0px rgba(30, 37, 48, 0.12),
  295. 0px 8px 16px 0px rgba(30, 37, 48, 0.12);
  296. max-height: 100%;
  297. width: auto;
  298. width: 100%;
  299. }
  300. @media (max-width: @screen-sm-max) {
  301. margin-bottom: 50px;
  302. }
  303. }
  304. @media (min-width: @screen-md-min) {
  305. .features-card-media-right {
  306. padding-left: 64px;
  307. }
  308. .features-card-media {
  309. padding-right: 64px;
  310. }
  311. }
  312. .features-card-description,
  313. .features-card-description-list {
  314. padding-top: 16px;
  315. p {
  316. margin-bottom: 16px;
  317. font-size: 1.125rem;
  318. line-height: 1.333;
  319. @media (max-width: @screen-sm-max) {
  320. font-size: 1rem;
  321. line-height: 1.375;
  322. }
  323. }
  324. a.green-link {
  325. margin-top: 4px;
  326. display: block;
  327. }
  328. }
  329. .features-card-description {
  330. h3 {
  331. font-size: 1.5rem;
  332. line-height: 1.4;
  333. margin-bottom: 8px;
  334. }
  335. }
  336. .features-card-description-list {
  337. h3 {
  338. font-size: 1.875rem;
  339. line-height: 1.5;
  340. }
  341. ul.list-simple-text,
  342. ul.list-heading-text {
  343. list-style-type: none;
  344. padding: 0;
  345. margin: 0;
  346. li {
  347. margin-bottom: 12px;
  348. font-size: 1.125rem;
  349. line-height: 1.333;
  350. display: flex;
  351. .label-premium {
  352. margin-left: 0;
  353. font-family: 'Noto Sans', sans-serif;
  354. }
  355. @media (max-width: @screen-sm-max) {
  356. font-size: 1rem;
  357. line-height: 1.375;
  358. }
  359. }
  360. }
  361. ul.list-heading-text {
  362. li {
  363. h4 {
  364. margin-top: 0;
  365. margin-bottom: 8px;
  366. font-size: 20px;
  367. font-weight: 600;
  368. }
  369. }
  370. }
  371. }
  372. }
  373. .features-card-hero {
  374. display: flex; /* equal heights */
  375. flex-wrap: wrap;
  376. align-items: center;
  377. position: relative;
  378. height: 655px;
  379. padding-top: @line-height-computed * 2;
  380. @media (max-width: @screen-sm-max) {
  381. height: unset;
  382. padding-top: 0;
  383. }
  384. .features-card-description {
  385. display: flex;
  386. flex-direction: column;
  387. justify-content: center;
  388. h1 {
  389. @media (max-width: @screen-sm-max) {
  390. font-size: 2.25rem;
  391. line-height: 1.333;
  392. }
  393. &.features-card-hero-smaller-title {
  394. @media (min-width: @screen-lg-min) {
  395. // 3rem is the default, this is a workaround for big screen
  396. // since 6-width column on md screen size will wrap the text in three lines
  397. font-size: 2.8rem;
  398. }
  399. }
  400. }
  401. p {
  402. font-size: 1.25rem;
  403. width: 90%;
  404. @media (max-width: @screen-sm-max) {
  405. font-size: 1.125rem;
  406. line-height: 1.33;
  407. width: unset;
  408. }
  409. }
  410. }
  411. .features-card-image {
  412. position: absolute;
  413. // on wide screen, image will be fixed without any variable width translation
  414. transform: translateX(600px);
  415. top: 100px;
  416. width: 720px;
  417. height: auto;
  418. padding: 0px 15px;
  419. // starting from 1500px, image will have a variable translation that depends on screen width
  420. // this will make image "fixed" on a specific point on the screen
  421. @media (max-width: 1500px) {
  422. transform: translateX(calc(50vw - 121px));
  423. }
  424. @media (max-width: 1400px) {
  425. width: 650px;
  426. transform: translateX(calc(50vw - 52px));
  427. }
  428. // bootstrap layout changes on 1200px (@screen-lg), add a specific
  429. // case for this exact width
  430. @media (min-width: 1200px) and (max-width: 1200px) {
  431. width: 600px;
  432. transform: translateX(calc(50vw));
  433. }
  434. @media (max-width: 1199px) {
  435. width: 600px;
  436. transform: translateX(calc(50vw - 106px));
  437. }
  438. @media (max-width: 1100px) {
  439. width: 550px;
  440. transform: translateX(calc(50vw - 55px));
  441. }
  442. // 991px
  443. @media (max-width: @screen-sm-max) {
  444. position: relative;
  445. transform: none;
  446. top: 0;
  447. width: 100%;
  448. margin-bottom: 50px;
  449. }
  450. img.img-responsive {
  451. width: 100%;
  452. }
  453. }
  454. .sticky-tags {
  455. position: absolute;
  456. z-index: 2;
  457. height: 160px;
  458. bottom: -105px;
  459. right: 55px;
  460. @media (max-width: 1400px) {
  461. height: 150px;
  462. bottom: -103px;
  463. right: 47px;
  464. }
  465. @media (max-width: 1200px) {
  466. height: 130px;
  467. bottom: -87px;
  468. }
  469. @media (max-width: 1100px) {
  470. height: 120px;
  471. bottom: -81px;
  472. }
  473. // 991px
  474. @media (max-width: @screen-sm-max) {
  475. height: 130px;
  476. bottom: -75px;
  477. right: 70px;
  478. }
  479. // 767px
  480. @media (max-width: @screen-xs-max) {
  481. height: 24%;
  482. bottom: -10vw; // scale with width
  483. right: 9.5vw; // scale with width
  484. }
  485. }
  486. }
  487. .organization-logos-container {
  488. display: flex;
  489. justify-content: space-around;
  490. align-items: center;
  491. @media (max-width: @screen-md-max) {
  492. flex-wrap: wrap;
  493. gap: 30px;
  494. }
  495. .organization-logo {
  496. object-fit: contain;
  497. max-height: 62px;
  498. &.samsung-logo {
  499. max-height: 110px;
  500. height: 110px;
  501. }
  502. @media (max-width: @screen-md-max) {
  503. max-height: 40px;
  504. flex-basis: 34%;
  505. }
  506. }
  507. }
  508. .template-cards {
  509. .template-card {
  510. > img.img-responsive {
  511. width: 100%;
  512. border-radius: 8px;
  513. }
  514. .template-card-title {
  515. font-size: 24px;
  516. margin-top: 16px;
  517. margin-bottom: 8px;
  518. a {
  519. width: 100%;
  520. font-weight: 600;
  521. color: var(--neutral-90);
  522. display: inline-flex;
  523. justify-content: space-between;
  524. text-decoration: none;
  525. &:hover {
  526. text-decoration: underline;
  527. }
  528. }
  529. i.material-symbols {
  530. vertical-align: middle;
  531. text-decoration: none;
  532. }
  533. }
  534. .template-card-text {
  535. font-size: 16px;
  536. }
  537. &:not(:last-of-type) {
  538. @media (max-width: @screen-sm-max) {
  539. margin-bottom: 40px;
  540. }
  541. }
  542. }
  543. }
  544. .lime-color-text {
  545. color: var(--malachite);
  546. }
  547. .cta-card-individual-customer {
  548. display: flex;
  549. justify-content: space-between;
  550. padding: 64px;
  551. background-image: linear-gradient(
  552. to right,
  553. rgba(0, 0, 0, 0.4) 0%,
  554. @cta-card-bg-color 20%,
  555. @cta-card-bg-color 100%
  556. ),
  557. url('../../../public/img/website-redesign/overleaf-pattern-purple.png');
  558. background-size: cover;
  559. color: var(--white);
  560. border-radius: 8px;
  561. @media (max-width: @screen-sm-max) {
  562. padding: 48px 24px;
  563. }
  564. h2 {
  565. font-size: 1.875rem;
  566. color: var(--white);
  567. }
  568. p {
  569. font-size: 1.125rem;
  570. }
  571. .btn-container {
  572. padding-top: 10px;
  573. display: flex;
  574. justify-content: center;
  575. align-items: flex-start;
  576. }
  577. }
  578. .paragraph-line-height {
  579. line-height: 1.333; // 24px
  580. }
  581. .cta-card {
  582. display: flex;
  583. flex-direction: column;
  584. align-items: center;
  585. padding: 64px;
  586. color: var(--white);
  587. background-image: linear-gradient(
  588. to right,
  589. rgba(0, 0, 0, 0.4) 0%,
  590. @cta-card-bg-color 25%,
  591. @cta-card-bg-color 75%,
  592. rgba(0, 0, 0, 0.4) 100%
  593. ),
  594. url('../../../public/img/website-redesign/overleaf-pattern-purple.png');
  595. background-size: cover;
  596. border-radius: 8px;
  597. @media (max-width: @screen-sm-max) {
  598. padding: 48px 24px;
  599. }
  600. .cta-card-title {
  601. font-size: 3.25rem; // 52px
  602. margin-bottom: 8px;
  603. line-height: 1.3;
  604. &.title-mono {
  605. > span {
  606. // override Noto Sans
  607. .dm-mono;
  608. }
  609. }
  610. span.purple-color {
  611. color: #939aff;
  612. font-weight: 400;
  613. }
  614. span.lime-color {
  615. font-weight: 500;
  616. color: var(--malachite);
  617. }
  618. @media (max-width: @screen-sm-max) {
  619. font-size: 2.25rem; // 36px
  620. }
  621. }
  622. .cta-card-text {
  623. font-size: 1.125rem;
  624. line-height: 1.333;
  625. margin: 8px 0;
  626. text-align: center;
  627. }
  628. .cta-card-quote {
  629. font-size: 1.875rem; // 30px
  630. font-weight: 600;
  631. line-height: 2.5rem; // 40px
  632. letter-spacing: 0em;
  633. text-align: center;
  634. }
  635. }
  636. .quote-card {
  637. display: flex;
  638. flex-direction: column;
  639. align-items: center;
  640. padding: 32px;
  641. background: var(--dark-jungle-green);
  642. color: white;
  643. border-radius: 16px;
  644. text-align: center;
  645. blockquote {
  646. font-size: 1.875rem; // 30px
  647. font-weight: 600;
  648. line-height: 1.26;
  649. @media (max-width: @screen-sm-max) {
  650. font-size: 1.5rem; // 24px
  651. line-height: 1.333;
  652. }
  653. }
  654. .quote-card-img {
  655. margin-top: 32px;
  656. margin-bottom: 16px;
  657. }
  658. .quote-card-link {
  659. color: var(--mint-green);
  660. }
  661. @media (max-width: @screen-sm-max) {
  662. padding: 56px 24px 56px 24px;
  663. }
  664. }
  665. .integrations-card {
  666. display: flex; /* for center align */
  667. flex-wrap: wrap;
  668. align-items: center;
  669. .integrations-icons {
  670. img {
  671. width: 6rem; // 96px
  672. height: 6rem; // 96px
  673. }
  674. .first-row,
  675. .second-row {
  676. display: flex;
  677. }
  678. .first-row {
  679. justify-content: space-between;
  680. }
  681. .second-row {
  682. margin-top: 40px;
  683. justify-content: space-evenly;
  684. }
  685. }
  686. }
  687. .text-with-bg {
  688. .dm-mono;
  689. padding: 0 @padding-sm;
  690. border-radius: 10px;
  691. margin-top: 5px;
  692. // will make all spans content inline while avoiding overflowing the viewport in mobile
  693. // https://developer.mozilla.org/en-US/docs/Web/CSS/display#flow-root
  694. // https://css-tricks.com/display-flow-root/
  695. display: inline flow-root;
  696. &.tangerine-bg {
  697. background-color: var(--vivid-tangerine);
  698. }
  699. &.purple-bg {
  700. background-color: var(--ceil);
  701. }
  702. &.yellow-bg {
  703. background-color: var(--caramel);
  704. }
  705. &.green-bg {
  706. background-color: var(--mint-green);
  707. }
  708. }
  709. .security-info {
  710. .security-info-first-row {
  711. margin-bottom: 32px;
  712. @media (max-width: @screen-sm-max) {
  713. margin-bottom: 0;
  714. }
  715. }
  716. .security-info-item {
  717. @media (max-width: @screen-sm-max) {
  718. margin-bottom: 16px;
  719. }
  720. }
  721. }
  722. .resources {
  723. @media (min-width: @screen-md-min) {
  724. display: flex; /* equal heights */
  725. flex-wrap: wrap;
  726. }
  727. .resources-card {
  728. display: flex;
  729. flex-wrap: wrap;
  730. flex-direction: column;
  731. margin-bottom: 48px;
  732. align-content: flex-start;
  733. @media (max-width: @screen-sm-max) {
  734. margin-bottom: 16px;
  735. }
  736. img {
  737. width: 56px;
  738. }
  739. h3 {
  740. width: 100%;
  741. }
  742. a {
  743. margin-top: auto;
  744. }
  745. }
  746. }
  747. .centered-block {
  748. @media (min-width: @screen-md-min) {
  749. text-align: center;
  750. }
  751. }
  752. .heading-section-md-align-left {
  753. @media (max-width: @screen-md-min) {
  754. display: flex;
  755. flex-direction: column;
  756. align-items: baseline;
  757. h2 {
  758. text-align: left;
  759. }
  760. p {
  761. text-align: left;
  762. }
  763. }
  764. }
  765. .dm-mono {
  766. font-family: 'DM Mono', monospace;
  767. // We're using the "ss05" (stylistic set 5) version of the DM Mono, by setting the `font-feature-settings` rule
  768. // https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings
  769. // We use the ss05 specifically to remove the "squiggle" below the f letter.
  770. // You can try removing the `font-feature-settings` rule and check what happens to the letter "f",
  771. // as it's quite hard to describe it with sentences alone
  772. font-feature-settings: 'ss05';
  773. }
  774. .mono-text {
  775. .dm-mono;
  776. color: var(--green-60);
  777. font-size: 1.125rem;
  778. font-weight: 500;
  779. line-height: 1.5rem;
  780. margin: 0;
  781. }
  782. .customer-stories-hero-heading {
  783. @media (max-width: @screen-sm-max) {
  784. font-size: 2.25rem;
  785. line-height: 1.333;
  786. }
  787. }
  788. .customer-stories-hero-text {
  789. font-size: 1.25rem;
  790. }
  791. .customer-stories-logos-text {
  792. font-size: 1.125rem;
  793. }
  794. .link-with-arrow {
  795. .dm-mono;
  796. font-size: 1.125rem;
  797. line-height: 1.333;
  798. font-weight: 500;
  799. i.material-symbols {
  800. vertical-align: middle;
  801. padding-bottom: 3px;
  802. font-size: 24px;
  803. }
  804. }
  805. .green-link {
  806. .link-with-arrow;
  807. color: var(--emerald-green);
  808. &:hover {
  809. color: var(--emerald-green-dark);
  810. .right-arrow {
  811. color: var(--emerald-green-dark);
  812. }
  813. }
  814. }
  815. .inline-green-link {
  816. color: var(--emerald-green);
  817. text-decoration: underline;
  818. // text-decoration-;skip-ink is for letter with descender (like 'g' and 'y')
  819. // this will force underline to not skip the descender
  820. text-decoration-skip-ink: none;
  821. &:hover {
  822. color: var(--emerald-green-dark);
  823. }
  824. // for accessibility with keyboard navigation
  825. &:focus {
  826. outline: 2px solid var(--emerald-green);
  827. outline-offset: 1px;
  828. }
  829. }
  830. .white-link {
  831. .link-with-arrow;
  832. color: white;
  833. }
  834. .btn-blue {
  835. background: var(--sapphire-blue);
  836. color: var(--white);
  837. &:hover {
  838. background: var(--sapphire-blue-dark);
  839. }
  840. }
  841. .btn-primary {
  842. &:not([disabled]) {
  843. background: var(--emerald-green);
  844. color: var(--white);
  845. &:hover {
  846. background: var(--emerald-green-dark);
  847. }
  848. }
  849. }
  850. .round-background {
  851. border-radius: 50%;
  852. font-size: 1.5rem;
  853. top: 4px;
  854. vertical-align: middle;
  855. margin-right: 8px;
  856. width: 24px;
  857. height: 24px;
  858. }
  859. .green-round-background {
  860. .round-background;
  861. background: var(--mint-green);
  862. }
  863. .blue-round-background {
  864. .round-background;
  865. background: var(--blue-10);
  866. color: var(--blue-40);
  867. }
  868. // most of these are here to replace rules from core/type.less
  869. blockquote {
  870. border-left: none;
  871. font-size: 1.875rem;
  872. line-height: 1.333;
  873. font-weight: 600;
  874. quotes: '\201C' '\201D'; // override default quotes
  875. padding: unset;
  876. margin: unset;
  877. font-family: 'Noto Sans', sans-serif;
  878. &::after {
  879. visibility: visible;
  880. display: inline;
  881. margin-left: 1px; // it's too tight to the text otherwise
  882. }
  883. &::before {
  884. color: inherit;
  885. margin-right: 0;
  886. vertical-align: 0;
  887. }
  888. &::after,
  889. &::before {
  890. font-size: 1.875rem;
  891. line-height: 1.333;
  892. }
  893. @media (max-width: @screen-sm-max) {
  894. font-size: 1.5rem;
  895. line-height: 1.333;
  896. &::after,
  897. &::before {
  898. visibility: visible;
  899. font-size: 1.5rem;
  900. line-height: 1.333;
  901. }
  902. }
  903. }
  904. .circle-img {
  905. height: 64px;
  906. max-width: 64px;
  907. }
  908. .responsive-button-container {
  909. display: flex;
  910. margin-top: 24px;
  911. gap: 16px;
  912. &.centered-buttons {
  913. justify-content: center;
  914. }
  915. &.align-left-button-sm {
  916. @media (max-width: @screen-sm-max) {
  917. justify-content: start;
  918. }
  919. }
  920. @media (max-width: @screen-xs-max) {
  921. width: 100%;
  922. // this is currently useful for responsive-button-container that has two buttons
  923. // in our current implementation, all two-buttons container will have the same value (explore plan + sign up)
  924. // we want to sign up to be on the right side on big screen, and on the top on small screen
  925. // if we want to apply this style for different buttons scenario, we should change this
  926. flex-direction: column-reverse;
  927. }
  928. }
  929. .label-premium {
  930. height: 20px; // override default height
  931. }
  932. .label-premium-block-md {
  933. @media (max-width: @screen-md-max) {
  934. display: block;
  935. width: fit-content;
  936. margin: 10px 0px 0px 0px;
  937. }
  938. }
  939. .header-description {
  940. p {
  941. font-size: 1.25rem;
  942. line-height: 1.4;
  943. margin-bottom: 0;
  944. @media (max-width: @screen-sm-max) {
  945. font-size: 1.125rem;
  946. line-height: 1.33;
  947. }
  948. }
  949. }
  950. .editor-pdf-video {
  951. display: flex;
  952. align-items: center;
  953. justify-content: center;
  954. height: 585px;
  955. padding: 0px 15px;
  956. @media (max-width: @screen-sm-max) {
  957. height: auto;
  958. }
  959. video {
  960. box-shadow: 0px 60px 25px -15px rgba(16, 24, 40, 0.2);
  961. max-height: 100%;
  962. width: auto;
  963. @media (max-width: @screen-sm-max) {
  964. width: 100%;
  965. }
  966. }
  967. }
  968. .overleaf-sticker {
  969. float: right;
  970. @media (max-width: @screen-sm-max) {
  971. width: 74px; // 70% of 106px
  972. }
  973. }
  974. }