website-redesign.less 22 KB

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