cms-page.less 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620
  1. /*
  2. v2
  3. CMS Generated Pages,
  4. including About and Blog
  5. */
  6. .cms-page {
  7. &.website-redesign {
  8. h1 {
  9. font-size: 2rem; // 32px
  10. line-height: 1.333;
  11. }
  12. h2 {
  13. font-size: 1.5rem; // 24px
  14. }
  15. .sales-contact-form-left-column {
  16. .sales-contact-form-heading-title {
  17. font-size: 2.25rem;
  18. font-family: 'Noto Sans';
  19. font-style: normal;
  20. font-weight: 600;
  21. line-height: 1.333;
  22. padding-top: 8px;
  23. padding-right: 50px;
  24. }
  25. @media (min-width: @screen-xs) {
  26. .names-container {
  27. display: flex;
  28. gap: 21px;
  29. }
  30. }
  31. .optional-text {
  32. font-size: 14px;
  33. }
  34. .checkbox-label {
  35. font-size: 16px;
  36. font-weight: 400;
  37. }
  38. }
  39. /* Buttons */
  40. // correct color property set on <a> above:
  41. .reset-btns;
  42. .alert {
  43. .alert;
  44. }
  45. .alert-info {
  46. .btn-info {
  47. .btn-alert-info;
  48. }
  49. }
  50. blockquote.quote-picture-bottom {
  51. padding: (@line-height-computed / 2) @line-height-computed;
  52. .quote-picture-and-person {
  53. font-size: 18px;
  54. }
  55. .quote-by-position {
  56. font-weight: 400;
  57. }
  58. }
  59. }
  60. .section-row {
  61. margin: 0 auto;
  62. /* match .col-sm-12 */
  63. /* @grid-gutter-width is used for margins */
  64. max-width: (@screen-sm) - @grid-gutter-width!important;
  65. @media (min-width: @screen-md-min) {
  66. max-width: (@screen-md) - @grid-gutter-width!important;
  67. }
  68. @media (min-width: @screen-lg-min) {
  69. max-width: (@screen-lg) - @grid-gutter-width!important;
  70. }
  71. }
  72. padding-bottom: 0;
  73. img {
  74. height: auto;
  75. max-width: 100%;
  76. }
  77. .btn-description {
  78. margin-right: @margin-sm;
  79. }
  80. /*
  81. Tabs
  82. */
  83. .tab-content {
  84. padding-left: 0;
  85. padding-right: 0;
  86. width: 100%;
  87. }
  88. /*
  89. When on preview mode
  90. */
  91. .cms-preview {
  92. background-color: @blue;
  93. color: white;
  94. font-weight: bold;
  95. height: @navbar-padding-vertical;
  96. left: 0;
  97. line-height: @navbar-padding-vertical;
  98. opacity: 0.8;
  99. position: fixed;
  100. text-align: center;
  101. top: 0;
  102. width: 100%;
  103. z-index: 1;
  104. &:after {
  105. content: 'Preview';
  106. width: 100%;
  107. top: 0;
  108. left: 0;
  109. }
  110. }
  111. .tab-pane {
  112. .row:first-child {
  113. margin-top: 0;
  114. }
  115. }
  116. /*
  117. quotes
  118. */
  119. blockquote {
  120. margin: 0;
  121. position: relative;
  122. /*
  123. type.less sets <p> inline, so that quotation mark is inline
  124. but sometimes we have multiple <p>,
  125. so hide quotation mark from type.less and add one here
  126. */
  127. &:before {
  128. /* hide quotation from type.less */
  129. display: none;
  130. }
  131. p {
  132. display: block;
  133. }
  134. p:first-child {
  135. /* below copied from type.less */
  136. &:before {
  137. content: open-quote;
  138. font-size: @blockquote-font-size * 3;
  139. color: @blockquote-border-color;
  140. margin-right: 0.25em;
  141. vertical-align: -0.4em;
  142. line-height: 0.1em;
  143. }
  144. }
  145. }
  146. .quote-full-width {
  147. img {
  148. margin-right: @margin-sm;
  149. margin-bottom: @margin-sm;
  150. }
  151. }
  152. .quote-picture-bottom {
  153. border: none;
  154. color: @content-primary;
  155. .h1 {
  156. margin: 0 0 48px 0;
  157. }
  158. p:first-child {
  159. &:before {
  160. color: inherit;
  161. font-size: inherit;
  162. margin-right: 0;
  163. vertical-align: 0;
  164. line-height: inherit;
  165. position: absolute;
  166. top: (@line-height-computed / 2); // match quote padding
  167. left: 3px;
  168. }
  169. &:after {
  170. content: close-quote;
  171. }
  172. }
  173. img {
  174. height: 64px;
  175. width: 64px;
  176. margin-right: 16px;
  177. }
  178. .quote-by-position {
  179. color: @content-secondary;
  180. }
  181. .quote-picture-and-person {
  182. display: flex;
  183. }
  184. }
  185. /*
  186. Tables
  187. */
  188. .table-styled {
  189. overflow: hidden;
  190. overflow-x: auto;
  191. table {
  192. background: white;
  193. max-width: none;
  194. th,
  195. td {
  196. border: 1px solid @gray-lighter;
  197. padding: @padding-sm;
  198. text-align: center;
  199. word-break: normal;
  200. }
  201. }
  202. }
  203. .table-styled,
  204. .features-table {
  205. .fa-check-square,
  206. .fa-check {
  207. color: @ol-green;
  208. }
  209. }
  210. .features-table {
  211. max-width: none;
  212. th,
  213. td {
  214. border: 1px solid @gray-lighter;
  215. hyphens: auto;
  216. padding: @padding-sm;
  217. text-align: center;
  218. }
  219. th,
  220. td {
  221. width: 20%;
  222. }
  223. .btn {
  224. max-width: 100%;
  225. white-space: pre-wrap;
  226. word-wrap: break-word;
  227. }
  228. &.left-align-first-col {
  229. td,
  230. th {
  231. text-align: left;
  232. }
  233. td + td,
  234. th + th {
  235. text-align: center;
  236. }
  237. }
  238. .hidden-row-above-xs {
  239. display: none;
  240. }
  241. @media screen and (max-width: @screen-xs-max) {
  242. tbody,
  243. thead {
  244. display: block;
  245. }
  246. tr {
  247. display: flex;
  248. flex-flow: row wrap;
  249. justify-content: space-around;
  250. }
  251. td,
  252. th {
  253. display: block;
  254. width: 25%;
  255. }
  256. tr:first-child {
  257. th {
  258. width: 50%;
  259. }
  260. th:first-child {
  261. width: 100%;
  262. }
  263. }
  264. td:first-child {
  265. text-align: center;
  266. width: 100%;
  267. }
  268. .hidden-row-xs {
  269. display: none;
  270. }
  271. .hidden-row-above-xs {
  272. display: flex;
  273. }
  274. .table-header {
  275. text-align: center;
  276. }
  277. }
  278. }
  279. /*
  280. universities page
  281. */
  282. #universities-container {
  283. padding: @padding-md;
  284. width: 100%;
  285. .row {
  286. border-bottom: 1px solid @gray-lightest;
  287. div {
  288. padding: @padding-md;
  289. vertical-align: middle;
  290. }
  291. }
  292. .row:first-child {
  293. // parent container contains padding
  294. div {
  295. padding-top: 0;
  296. }
  297. }
  298. .row:last-child {
  299. border: 0;
  300. // parent container contains padding
  301. div {
  302. border: 0;
  303. padding-bottom: 0;
  304. }
  305. }
  306. p {
  307. margin: 0 auto;
  308. width: 100%;
  309. }
  310. // Logos
  311. .uni-logo {
  312. margin: 0 auto;
  313. max-height: 55px;
  314. min-width: 55px;
  315. }
  316. .university-claim-btn {
  317. text-align: center;
  318. }
  319. @media only screen and (min-width: @screen-xs-min) {
  320. display: table;
  321. table-layout: fixed;
  322. .row {
  323. display: table-row;
  324. div {
  325. border-bottom: 1px solid @gray-lightest;
  326. display: table-cell;
  327. float: none;
  328. }
  329. }
  330. }
  331. }
  332. /*
  333. videos
  334. */
  335. video {
  336. height: auto;
  337. max-width: 100%;
  338. }
  339. }
  340. .icon-with-content {
  341. display: flex;
  342. h2,
  343. h3,
  344. h4 {
  345. margin-top: 15px;
  346. }
  347. .icon-container {
  348. background-color: @green-10;
  349. padding: 7.5px;
  350. height: 56px;
  351. width: 56px;
  352. border-radius: 50%;
  353. margin-right: 24px;
  354. .icon-inner-container {
  355. align-items: center;
  356. border: @green-30 3.5px solid;
  357. border-radius: 50%;
  358. display: flex;
  359. justify-content: center;
  360. height: 42px;
  361. width: 42px;
  362. }
  363. i {
  364. color: @green;
  365. font-size: 21px;
  366. }
  367. }
  368. }
  369. .svg-arrow-icon {
  370. position: relative;
  371. left: 4px;
  372. bottom: 1px;
  373. }
  374. .vertically-center-col {
  375. // remove margin to better vertically align
  376. // some elements need to be nested within a container, and others are directly within .no-card/.card
  377. .card:first-child,
  378. .no-card:first-child {
  379. .cms-element-container {
  380. > *:first-child {
  381. margin-top: 0;
  382. }
  383. }
  384. > *:first-child:not(.cms-element-container) {
  385. margin-top: 0;
  386. }
  387. }
  388. .card:last-child,
  389. .no-card:last-child {
  390. .cms-element-container {
  391. > *:last-child {
  392. margin-bottom: 0;
  393. }
  394. }
  395. > *:last-child:not(.cms-element-container) {
  396. margin-bottom: 0;
  397. }
  398. }
  399. @media (min-width: @screen-sm-min) {
  400. display: flex;
  401. div[class*='col-'] {
  402. align-self: center;
  403. }
  404. }
  405. }
  406. .reverse-col-order-mobile {
  407. @media (max-width: @screen-sm-min) {
  408. display: flex;
  409. flex-flow: column;
  410. flex-direction: column-reverse;
  411. }
  412. }
  413. .row-within-card {
  414. .no-card {
  415. > :first-child {
  416. margin-top: 0;
  417. }
  418. > :last-child {
  419. margin-bottom: 0;
  420. }
  421. }
  422. }
  423. .contact-form-error-container {
  424. padding-bottom: calc(@line-height-computed / 2);
  425. }
  426. .row-top-padding-sm {
  427. padding-top: @padding-sm;
  428. }
  429. .row-top-padding-md {
  430. padding-top: @padding-md;
  431. }
  432. .row-top-padding-lg {
  433. padding-top: @padding-lg;
  434. }
  435. .row-top-padding-xl {
  436. padding-top: @padding-xl;
  437. }
  438. .row-top-padding-xxl {
  439. padding-top: @padding-xxl;
  440. }
  441. .row-bottom-padding-sm {
  442. padding-bottom: @padding-sm;
  443. }
  444. .row-bottom-padding-md {
  445. padding-bottom: @padding-md;
  446. }
  447. .row-bottom-padding-lg {
  448. padding-bottom: @padding-lg;
  449. }
  450. .row-bottom-padding-xl {
  451. padding-bottom: @padding-xl;
  452. }
  453. .row-bottom-padding-xxl {
  454. padding-bottom: @padding-xxl;
  455. }
  456. @media (min-width: @screen-sm-min) {
  457. .desktop-left-margin-sm {
  458. margin-left: @margin-sm;
  459. }
  460. .desktop-left-margin-md {
  461. margin-left: @margin-md;
  462. }
  463. .desktop-left-margin-lg {
  464. margin-left: @margin-lg;
  465. }
  466. .desktop-left-margin-xl {
  467. margin-left: @margin-xl;
  468. }
  469. .desktop-left-margin-xxl {
  470. margin-left: @margin-xxl;
  471. }
  472. .desktop-right-margin-sm {
  473. margin-right: @margin-sm;
  474. }
  475. .desktop-right-margin-md {
  476. margin-right: @margin-md;
  477. }
  478. .desktop-right-margin-lg {
  479. margin-right: @margin-lg;
  480. }
  481. .desktop-right-margin-xl {
  482. margin-right: @margin-xl;
  483. }
  484. .desktop-right-margin-xxl {
  485. margin-right: @margin-xxl;
  486. }
  487. }
  488. .top-margin-sm {
  489. margin-top: @margin-sm;
  490. }
  491. .top-margin-md {
  492. margin-top: @margin-md;
  493. }
  494. .top-margin-lg {
  495. margin-top: @margin-lg;
  496. }
  497. .top-margin-xl {
  498. margin-top: @margin-xl;
  499. }
  500. .top-margin-xxl {
  501. margin-top: @margin-xxl;
  502. }
  503. @media (max-width: @screen-xs-max) {
  504. .mobile-bottom-margin-sm {
  505. margin-bottom: @margin-sm;
  506. }
  507. .mobile-bottom-margin-md {
  508. margin-bottom: @margin-md;
  509. }
  510. .mobile-bottom-margin-lg {
  511. margin-bottom: @margin-lg;
  512. }
  513. .mobile-bottom-margin-xl {
  514. margin-bottom: @margin-xl;
  515. }
  516. .mobile-bottom-margin-xxl {
  517. margin-bottom: @margin-xxl;
  518. }
  519. }
  520. @media (max-width: @screen-sm-min) {
  521. .col-xs-padding-sm {
  522. .col-xs-12:not(:first-child) {
  523. padding-top: @padding-sm;
  524. }
  525. }
  526. .col-xs-padding-md {
  527. .col-xs-12:not(:first-child) {
  528. padding-top: @padding-md;
  529. }
  530. }
  531. .col-xs-padding-lg {
  532. .col-xs-12:not(:first-child) {
  533. padding-top: @padding-lg;
  534. }
  535. }
  536. .col-xs-padding-xl {
  537. .col-xs-12:not(:first-child) {
  538. padding-top: @padding-xl;
  539. }
  540. }
  541. .col-xs-padding-xxl {
  542. .col-xs-12:not(:first-child) {
  543. padding-top: @padding-xxl;
  544. }
  545. }
  546. }
  547. .website-redesign {
  548. // mobile breakpoint is md in website redesign
  549. @media (max-width: @screen-sm-max) {
  550. .col-xs-padding-sm {
  551. .col-xs-12:not(:first-child) {
  552. padding-top: @padding-sm;
  553. }
  554. }
  555. .col-xs-padding-md {
  556. .col-xs-12:not(:first-child) {
  557. padding-top: @padding-md;
  558. }
  559. }
  560. .col-xs-padding-lg {
  561. .col-xs-12:not(:first-child) {
  562. padding-top: @padding-lg;
  563. }
  564. }
  565. .col-xs-padding-xl {
  566. .col-xs-12:not(:first-child) {
  567. padding-top: @padding-xl;
  568. }
  569. }
  570. .col-xs-padding-xxl {
  571. .col-xs-12:not(:first-child) {
  572. padding-top: @padding-xxl;
  573. }
  574. }
  575. }
  576. }