You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

725 lines
11 KiB

  1. .hero-content {
  2. margin-top: 3rem;
  3. margin-bottom: 3rem;
  4. .btn-primary {
  5. margin-top: 1rem;
  6. margin-right: 0.5rem;
  7. @include media-breakpoint-up(lg) {
  8. margin-right: 1rem;
  9. }
  10. }
  11. .btn-primary-light {
  12. margin-top: 1rem;
  13. }
  14. }
  15. .hero-title, .hero-subtitle {
  16. max-width: 42rem;
  17. margin-top: 0rem;
  18. margin-bottom: 0.5rem;
  19. }
  20. .lead {
  21. font-weight: normal;
  22. font-size: 1.25rem;
  23. margin-bottom: 1.5rem;
  24. }
  25. .hero-subtitle {
  26. @extend .lead;
  27. color: $gray-600;
  28. font-size: $font-size-lg;
  29. @include media-breakpoint-up(sm) {
  30. font-size: $font-size-xl;
  31. }
  32. }
  33. .hero.align-center {
  34. h1, .hero-title, .hero-subtitle, .hero-buttons {
  35. text-align: center;
  36. }
  37. .hero-title, .hero-subtitle {
  38. margin-left: auto;
  39. margin-right: auto;
  40. }
  41. }
  42. .section-description {
  43. max-width: 56rem;
  44. margin-top: 0.5rem;
  45. font-size: $font-size-lg;
  46. @include media-breakpoint-up(media-breakpoint-up) {
  47. font-size: $font-size-xl;
  48. }
  49. }
  50. .section-with-image.align-center {
  51. text-align: center;
  52. .section-description, .section-image {
  53. margin-left: auto;
  54. margin-right: auto;
  55. }
  56. }
  57. .section-image {
  58. margin-top: 2rem;
  59. border-radius: 0.75rem;
  60. width: 100%;
  61. }
  62. .section-padding {
  63. padding-top: 3rem;
  64. padding-bottom: 3rem;
  65. @include media-breakpoint-up(sm) {
  66. padding-top: 5rem;
  67. padding-bottom: 5rem;
  68. }
  69. @include media-breakpoint-up(xl) {
  70. padding-top: 8rem;
  71. padding-bottom: 8rem;
  72. }
  73. }
  74. .section-padding-top {
  75. padding-top: 3rem;
  76. @include media-breakpoint-up(sm) {
  77. padding-top: 5rem;
  78. }
  79. @include media-breakpoint-up(xl) {
  80. padding-top: 8rem;
  81. }
  82. }
  83. .section-padding-bottom {
  84. padding-bottom: 3rem;
  85. @include media-breakpoint-up(sm) {
  86. padding-bottom: 5rem;
  87. }
  88. @include media-breakpoint-up(xl) {
  89. padding-bottom: 8rem;
  90. }
  91. }
  92. .section[data-section-template="Hero with Right Image"] {
  93. overflow-x: hidden;
  94. }
  95. .hero-with-right-image {
  96. position: relative;
  97. display: flex;
  98. flex-wrap: nowrap;
  99. .hero-content {
  100. display: flex;
  101. align-items: center;
  102. flex: 0 0 100%;
  103. @include media-breakpoint-up(md) {
  104. flex: 0 0 60%;
  105. }
  106. }
  107. .hero-image {
  108. width: auto;
  109. display: none;
  110. flex: 1;
  111. object-fit: contain;
  112. max-height: 36rem;
  113. &.contain-image {
  114. right: 0;
  115. }
  116. @include media-breakpoint-up(md) {
  117. display: block;
  118. max-width: 28rem;
  119. }
  120. @include media-breakpoint-up(lg) {
  121. max-width: 32rem;
  122. }
  123. @include media-breakpoint-up(xl) {
  124. max-width: 42rem;
  125. }
  126. }
  127. }
  128. .section-with-cards .card {
  129. @include transition();
  130. &:hover {
  131. border-color: $gray-500;
  132. }
  133. .card-title {
  134. line-height: 1.3;
  135. }
  136. &.card-sm {
  137. .card-title {
  138. font-size: $font-size-base;
  139. font-weight: 600;
  140. }
  141. .card-text {
  142. font-size: $font-size-sm;
  143. }
  144. }
  145. &.card-md {
  146. .card-title {
  147. font-size: $font-size-lg;
  148. font-weight: 600;
  149. @include media-breakpoint-up(md) {
  150. font-size: $font-size-xl;
  151. }
  152. }
  153. .card-text {
  154. font-size: $font-size-base;
  155. }
  156. }
  157. &.card-lg {
  158. .card-title {
  159. font-size: $font-size-xl;
  160. font-weight: bold;
  161. @include media-breakpoint-up(md) {
  162. font-size: $font-size-2xl;
  163. }
  164. }
  165. .card-text {
  166. font-size: $font-size-base;
  167. @include media-breakpoint-up(xl) {
  168. font-size: $font-size-lg;
  169. }
  170. }
  171. }
  172. }
  173. .nav-tabs {
  174. flex-wrap: nowrap;
  175. overflow-x: auto;
  176. overflow-y: hidden;
  177. // 1 pixel bottom padding so that the 2px active border is visible
  178. padding-bottom: 1px;
  179. .nav-link {
  180. color: $gray-800;
  181. font-weight: 500;
  182. border: none;
  183. padding: 1rem 0.5rem;
  184. margin-right: 2rem;
  185. white-space: nowrap;
  186. @include transition();
  187. &:hover {
  188. color: $primary;
  189. }
  190. }
  191. .nav-link.active,
  192. .nav-item.show .nav-link {
  193. color: darken($primary, 5%);
  194. background-color: transparent;
  195. border-bottom: 2px solid $primary;
  196. }
  197. }
  198. .section-cta {
  199. padding: 3rem 2rem;
  200. text-align: center;
  201. background-color: $gray-200;
  202. border-radius: 0.75rem;
  203. @include media-breakpoint-up(sm) {
  204. padding-left: 3rem;
  205. padding-right: 3rem;
  206. }
  207. @include media-breakpoint-up(md) {
  208. padding-top: 5rem;
  209. padding-bottom: 5rem;
  210. }
  211. .title {
  212. margin: 0 auto;
  213. max-width: 36rem;
  214. line-height: 1.25;
  215. }
  216. .subtitle {
  217. max-width: 36rem;
  218. margin: 0 auto;
  219. margin-top: 0.5rem;
  220. font-size: $font-size-base;
  221. @include media-breakpoint-up(md) {
  222. font-size: $font-size-lg;
  223. }
  224. }
  225. .description {
  226. max-width: 36rem;
  227. margin: 0 auto;
  228. margin-top: 0.5rem;
  229. font-size: $font-size-xs;
  230. }
  231. .action {
  232. margin-top: 0;
  233. margin-bottom: 0;
  234. }
  235. }
  236. .section-small-cta {
  237. padding: 1.8rem;
  238. background-color: var(--gray-200);
  239. border-radius: 0.75rem;
  240. display: flex;
  241. flex-direction: column;
  242. text-align: center;
  243. @include media-breakpoint-up(sm) {
  244. flex-direction: column;
  245. text-align: left;
  246. }
  247. @include media-breakpoint-up(md) {
  248. flex-direction: row;
  249. justify-content: space-between;
  250. div {
  251. align-self: center;
  252. }
  253. }
  254. .section-title {
  255. line-height: 1;
  256. margin-bottom: 0.25rem;
  257. }
  258. .subtitle {
  259. max-width: 36rem;
  260. font-size: $font-size-base;
  261. color: $gray-900;
  262. margin-bottom: 0.5rem;
  263. @include media-breakpoint-up(md) {
  264. font-size: $font-size-lg;
  265. margin-bottom: 0px;
  266. }
  267. }
  268. .action {
  269. margin-top: 0;
  270. margin-bottom: 0;
  271. }
  272. }
  273. .section-cta-container {
  274. position: relative;
  275. .confetti {
  276. position: absolute;
  277. width: 1rem;
  278. height: 1rem;
  279. border-radius: 99999px;
  280. }
  281. .confetti-1 {
  282. top: 0;
  283. margin-top: -0.5rem;
  284. background-color: #84e1bc;
  285. left: 25%;
  286. }
  287. .confetti-2 {
  288. background-color: #fdba8c;
  289. top: 66.67%;
  290. right: 16.67%;
  291. }
  292. .confetti-3 {
  293. bottom: 0;
  294. margin-bottom: -0.5rem;
  295. background-color: #f8b4b4;
  296. left: 16.67%;
  297. }
  298. }
  299. .testimonial {
  300. text-align: center;
  301. }
  302. .testimonial-logo img {
  303. display: inline-block;
  304. max-width: 10rem;
  305. max-height: 2.5rem;
  306. }
  307. .testimonial-content {
  308. margin-left: auto;
  309. margin-right: auto;
  310. margin-top: 2rem;
  311. max-width: 52rem;
  312. font-size: $font-size-lg;
  313. font-weight: 500;
  314. @include media-breakpoint-up(lg) {
  315. font-size: $font-size-2xl;
  316. }
  317. }
  318. .testimonial-by {
  319. font-size: $font-size-base;
  320. margin-top: 2rem;
  321. &:before {
  322. content: '—'
  323. }
  324. @include media-breakpoint-up(lg) {
  325. font-size: $font-size-lg;
  326. }
  327. }
  328. .testimonial-author {
  329. margin-top: 1rem;
  330. display: flex;
  331. align-items: center;
  332. .avatar {
  333. margin-right: 0.5rem;
  334. }
  335. p {
  336. margin-bottom: 0;
  337. }
  338. }
  339. .split-section-content.align-top {
  340. margin-top: 2rem;
  341. }
  342. .split-section-content.align-middle {
  343. margin-top: auto;
  344. margin-bottom: auto;
  345. }
  346. .section-image-grid {
  347. display: flex;
  348. flex-wrap: wrap;
  349. width: 100%;
  350. // Offset for padding
  351. margin-right: -2px;
  352. margin-left: -2px;
  353. .image-container {
  354. overflow: hidden;
  355. border: 2px solid #fff;
  356. border-radius: $border-radius;
  357. width: 100%;
  358. max-height: 8rem;
  359. img {
  360. width: 100%;
  361. object-fit: cover;
  362. }
  363. @include media-breakpoint-up(sm) {
  364. &.wide {
  365. max-width: 75%;
  366. width: 75%;
  367. max-height: 15rem;
  368. height: 15rem;
  369. img {
  370. width: 100%;
  371. object-fit: cover;
  372. }
  373. }
  374. &.narrow {
  375. max-width: 25%;
  376. width: 25%;
  377. max-height: 15rem;
  378. height: 15rem;
  379. img {
  380. height: 100%;
  381. object-fit: cover;
  382. }
  383. }
  384. }
  385. }
  386. }
  387. /* Section with Collapsible Content */
  388. .collapsible-items {
  389. max-width: 46rem;
  390. }
  391. .collapsible-item {
  392. padding: 1.75rem 0;
  393. &:not(:last-child) {
  394. border-bottom: 1px solid $border-color;
  395. }
  396. }
  397. .collapsible-title {
  398. display: flex;
  399. justify-content: space-between;
  400. align-items: center;
  401. }
  402. .collapsible-item-title {
  403. font-weight: 600;
  404. color: var(--text-color);
  405. font-size: var(--text-2xl);
  406. }
  407. .collapsible-item a {
  408. text-decoration: none;
  409. }
  410. .collapsible-item h3 {
  411. margin-bottom: 0;
  412. }
  413. .collapsible-icon {
  414. color: $gray-600;
  415. flex-shrink: 0;
  416. }
  417. .collapsible-icon .vertical {
  418. @include transition();
  419. }
  420. .collapsible-icon.is-opened .vertical {
  421. opacity: 0;
  422. }
  423. .collapsible-content {
  424. color: $gray-700;
  425. }
  426. .collapsible-content p {
  427. margin-top: 1rem;
  428. margin-bottom: 0;
  429. }
  430. .section-with-collapsible-content.align-center {
  431. .section-title, .section-description {
  432. text-align: center;
  433. }
  434. .section-description, .collapsible-items {
  435. margin-left: auto;
  436. margin-right: auto;
  437. margin-top: 1.5rem;
  438. }
  439. }
  440. /* Section with Features */
  441. .section-features {
  442. display: grid;
  443. &[data-columns="2"] {
  444. grid-template-columns: repeat(1, 1fr);
  445. gap: 2.5rem;
  446. @include media-breakpoint-up(sm) {
  447. gap: 3rem;
  448. }
  449. @include media-breakpoint-up(md) {
  450. grid-template-columns: repeat(2, 1fr);
  451. gap: 3rem 5rem;
  452. }
  453. .feature-title {
  454. font-size: $font-size-lg;
  455. font-weight: 600;
  456. @include media-breakpoint-up(md) {
  457. font-size: $font-size-2xl;
  458. }
  459. }
  460. .feature-content {
  461. font-size: $font-size-base;
  462. margin-top: 1.25rem;
  463. @include media-breakpoint-up(xl) {
  464. font-size: $font-size-lg;
  465. }
  466. }
  467. .feature-url {
  468. margin-top: 1.75rem;
  469. }
  470. .feature-icon {
  471. margin-bottom: 2rem;
  472. width: 3.375rem;
  473. height: 3.375rem;
  474. object-fit: contain;
  475. }
  476. }
  477. &[data-columns="3"] {
  478. grid-template-columns: repeat(1, 1fr);
  479. gap: 2rem;
  480. @include media-breakpoint-up(sm) {
  481. grid-template-columns: repeat(2, 1fr);
  482. gap: 2.5rem;
  483. }
  484. @include media-breakpoint-up(md) {
  485. grid-template-columns: repeat(3, 1fr);
  486. gap: 4.875rem;
  487. }
  488. .feature-title {
  489. font-size: $font-size-lg;
  490. font-weight: 600;
  491. @include media-breakpoint-up(md) {
  492. font-size: $font-size-xl;
  493. }
  494. }
  495. .feature-content {
  496. font-size: $font-size-base;
  497. margin-top: 1rem;
  498. }
  499. .feature-url {
  500. margin-top: 1rem;
  501. }
  502. .feature-icon {
  503. margin-bottom: 1.75rem;
  504. width: 2.5rem;
  505. height: 2.5rem;
  506. object-fit: contain;
  507. }
  508. }
  509. &[data-columns="4"] {
  510. grid-template-columns: repeat(1, 1fr);
  511. gap: 2rem;
  512. @include media-breakpoint-up(sm) {
  513. grid-template-columns: repeat(2, 1fr);
  514. gap: 2.5rem;
  515. }
  516. @include media-breakpoint-up(md) {
  517. grid-template-columns: repeat(3, 1fr);
  518. gap: 3rem;
  519. }
  520. @include media-breakpoint-up(lg) {
  521. grid-template-columns: repeat(4, 1fr);
  522. gap: 3.75rem;
  523. }
  524. .feature-title {
  525. font-size: $font-size-base;
  526. font-weight: 600;
  527. }
  528. .feature-content {
  529. font-size: $font-size-sm;
  530. margin-top: 0.875rem;
  531. }
  532. .feature-url {
  533. margin-top: 0.875rem;
  534. font-size: $font-size-sm;
  535. }
  536. .feature-icon {
  537. margin-bottom: 1.5rem;
  538. width: 2.375rem;
  539. height: 2.375rem;
  540. object-fit: contain;
  541. }
  542. }
  543. }
  544. .section-title {
  545. margin-top: 0;
  546. margin-bottom: 0.5rem;
  547. }
  548. .section-title + .section-features, .section-description + .section-features {
  549. &[data-columns="2"] {
  550. margin-top: 3rem;
  551. }
  552. &[data-columns="3"] {
  553. margin-top: 3rem;
  554. }
  555. &[data-columns="4"] {
  556. margin-top: 2.5rem;
  557. }
  558. }
  559. .section-feature {
  560. display: flex;
  561. flex-direction: column;
  562. justify-content: space-between;
  563. position: relative;
  564. }
  565. .feature-title {
  566. margin-top: 0;
  567. }
  568. .feature-content {
  569. line-height: 1.7;
  570. }
  571. .feature-title, .feature-content {
  572. margin-bottom: 0;
  573. }
  574. .feature-url {
  575. display: inline-block;
  576. margin-top: auto;
  577. }
  578. /* Section with Embed */
  579. .section-with-embed .embed-container {
  580. margin-top: 2rem;
  581. }
  582. .section-video-wrapper {
  583. margin-bottom: 1rem;
  584. }
  585. .section-video {
  586. aspect-ratio: 16 / 9;
  587. width: 100%;
  588. cursor: pointer;
  589. }
  590. .video-thumbnail {
  591. aspect-ratio: 16 / 9;
  592. width: 100%;
  593. object-fit: cover;
  594. }