website-redesign.less 22 KB

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