knowledge_base.scss 19 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228
  1. @import "svg-dimensions";
  2. @import "font";
  3. $highlight-color: hsl(205,90%,60%);
  4. $color: hsl(207,7%,29%);
  5. $light-color: hsl(206,8%,50%);
  6. $dark-color: hsl(207,7%,19%);
  7. $subtle-color: hsl(207,14%,67%);
  8. $dropshadow: 0 2px 10px hsla(0,0%,0%,.13);
  9. $light-bg: hsl(209,26%,98%);
  10. $dark-bg: hsl(209,22%,96%);
  11. $border: hsl(209,13%,95%);
  12. $dark-border: hsl(210,14%,91%);
  13. @mixin desktop {
  14. @media screen and (min-width: 1260px) {
  15. @content;
  16. }
  17. }
  18. @mixin small-desktop {
  19. @media screen and (max-width: 1260px) {
  20. @content;
  21. }
  22. }
  23. @mixin tablet {
  24. @media screen and (min-width: 768px) {
  25. @content;
  26. }
  27. }
  28. @mixin phone {
  29. @media screen and (max-width: 920px) {
  30. @content;
  31. }
  32. }
  33. /* sets LTR and RTL within the same style call */
  34. @mixin bidi-style($prop, $value, $inverse-prop, $default-value) {
  35. #{$prop}: $value;
  36. html[dir=rtl] & {
  37. #{$inverse-prop}: $value;
  38. #{$prop}: $default-value;
  39. }
  40. }
  41. /* adds a property only in RTL */
  42. @mixin rtl($prop, $value) {
  43. html[dir=rtl] & {
  44. #{$prop}: $value;
  45. }
  46. }
  47. /* adds a property only in LTR */
  48. @mixin ltr($prop, $value) {
  49. html[dir=ltr] & {
  50. #{$prop}: $value;
  51. }
  52. }
  53. %clickable {
  54. cursor: pointer;
  55. user-select: none;
  56. touch-action: manipulation;
  57. }
  58. %box {
  59. margin: 10px;
  60. border-radius: 2px;
  61. background: white;
  62. color: $color;
  63. box-shadow: $dropshadow;
  64. @include phone {
  65. margin: 5px;
  66. }
  67. }
  68. * {
  69. box-sizing: border-box;
  70. outline: none;
  71. }
  72. html {
  73. font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  74. font-size: 16px;
  75. line-height: 1.5;
  76. color: $light-color;
  77. @include phone {
  78. font-size: 17px;
  79. }
  80. }
  81. body {
  82. margin: 0;
  83. overflow-y: scroll;
  84. display: flex;
  85. flex-direction: column;
  86. min-height: 100vh;
  87. }
  88. h1 {
  89. font-size: 2.5em;
  90. line-height: 1.12;
  91. margin: .8em 0 .6em;
  92. font-weight: normal;
  93. overflow-wrap: break-word;
  94. word-wrap: break-word;
  95. word-break: break-word;
  96. hyphens: auto;
  97. &:first-child {
  98. margin-top: 0;
  99. }
  100. @include phone {
  101. font-size: 28px;
  102. margin: 1em 0 .8em;
  103. }
  104. }
  105. h2 {
  106. font-size: 1.8em;
  107. font-weight: 500;
  108. line-height: 1.1;
  109. margin: 1em 0 .4em;
  110. @include phone {
  111. font-size: 24px;
  112. margin: 1.2em 0 .5em;
  113. }
  114. }
  115. h3 {
  116. font-size: 1.4em;
  117. font-weight: 500;
  118. line-height: 1.2;
  119. margin: 1.33em 0 .55em;
  120. letter-spacing: .015em;
  121. @include phone {
  122. font-size: 19px;
  123. line-height: 1.3;
  124. margin: 1.2em 0 .75em;
  125. }
  126. }
  127. h4 {
  128. font-size: 1em;
  129. font-weight: bold;
  130. line-height: 1.25;
  131. margin: 1.33em 0 .5em;
  132. letter-spacing: .015em;
  133. }
  134. p,
  135. ul,
  136. ol {
  137. margin: 0 0 1em;
  138. &:last-child {
  139. margin-bottom: 0;
  140. }
  141. }
  142. ul,
  143. ol {
  144. padding-left: 1.5em;
  145. }
  146. strong,
  147. b {
  148. font-weight: 500;
  149. }
  150. .topbar {
  151. font-size: 0.875em;
  152. display: flex;
  153. align-items: center;
  154. background: hsl(200,87%,45%);
  155. color: #fff;
  156. height: 45px;
  157. padding: 0 17px;
  158. box-shadow: 0 -1px hsla(0,0%,0%,.1) inset;
  159. &[data-color="yellow"] {
  160. color: hsl(45,98%,17%);
  161. background: hsl(45,98%,63%);
  162. }
  163. &[data-color="green"] {
  164. color: white;
  165. background: hsl(145,52%,45%);
  166. }
  167. &[data-color="red"] {
  168. color: white;
  169. background: hsl(19,90%,51%);
  170. }
  171. &[data-color="grey"] {
  172. color: hsl(45,98%,17%);
  173. background: hsl(0,0%,80%);
  174. }
  175. &-tag {
  176. font-weight: bold;
  177. margin-right: 17px;
  178. text-transform: uppercase;
  179. letter-spacing: 0.05em;
  180. }
  181. &-hint {
  182. font-size: 13px;
  183. }
  184. &-controls {
  185. margin-left: auto;
  186. display: flex;
  187. }
  188. &-btn {
  189. display: flex;
  190. align-items: center;
  191. text-decoration: none;
  192. color: inherit;
  193. text-transform: uppercase;
  194. font-size: 12px;
  195. letter-spacing: 0.05em;
  196. border-radius: 4px;
  197. height: 30px;
  198. padding: 0 11px;
  199. border: 1px solid hsla(0,0%,0%,.1);
  200. & + & {
  201. margin-left: 10px;
  202. }
  203. }
  204. }
  205. .header {
  206. background: $light-bg;
  207. border-bottom: 1px solid $dark-border;
  208. position: relative;
  209. padding: .3em 0 .9em;
  210. .container {
  211. display: flex;
  212. align-items: center;
  213. justify-content: space-between;
  214. }
  215. }
  216. .logo {
  217. margin: 0;
  218. display: flex;
  219. align-items: center;
  220. font-size: inherit;
  221. a {
  222. text-decoration: none;
  223. display: block;
  224. color: inherit;
  225. }
  226. img {
  227. height: 2em;
  228. width: auto;
  229. vertical-align: middle;
  230. }
  231. }
  232. .menu {
  233. -webkit-tap-highlight-color: rgba(0,0,0,0);
  234. display: flex;
  235. align-items: center;
  236. margin-right: -1em;
  237. font-size: 14px;
  238. &-item {
  239. padding: .5em 1em;
  240. white-space: nowrap;
  241. text-decoration: none;
  242. color: inherit;
  243. line-height: 2em;
  244. }
  245. .icon {
  246. fill: currentColor;
  247. vertical-align: text-top;
  248. }
  249. }
  250. .search {
  251. width: 100%;
  252. margin: .9em 0 .6em;
  253. &-field {
  254. position: relative;
  255. font-size: 17px;
  256. input[type="search"] {
  257. appearance: none;
  258. width: 100%;
  259. font-size: inherit;
  260. font-family: inherit;
  261. background: white;
  262. border: 1px solid $border;
  263. border-radius: 999px;
  264. padding: .75em 1.1em .75em 2.8em;
  265. outline: none;
  266. font-weight: 300;
  267. &::placeholder {
  268. color: $subtle-color;
  269. text-overflow: ellipsis;
  270. }
  271. }
  272. .icon {
  273. position: absolute;
  274. left: 1.1em;
  275. top: 50%;
  276. margin-top: -.54em;
  277. fill: $dark-color;
  278. width: 1.08em;
  279. height: 1.08em;
  280. }
  281. }
  282. &-results {
  283. list-style: none;
  284. padding: .5em 0 0;
  285. .section {
  286. margin-bottom: 2px;
  287. }
  288. }
  289. &-message {
  290. display: block;
  291. margin: 2em 2em 1em;
  292. text-align: center;
  293. color: $subtle-color;
  294. }
  295. }
  296. .result {
  297. margin: 0 .25em;
  298. a {
  299. color: inherit;
  300. text-decoration: none;
  301. display: block;
  302. border: 1px solid transparent;
  303. border-radius: 3px;
  304. padding: .8em;
  305. padding-left: 2.75em;
  306. position: relative;
  307. &:hover {
  308. border-color: hsl(209,13%,93%);
  309. background: $dark-bg;
  310. }
  311. }
  312. &-icon {
  313. position: absolute;
  314. left: .6em;
  315. top: .6em;
  316. color: hsl(210,22%,84%);
  317. .icon {
  318. width: 1.5em;
  319. height: 1.5em;
  320. fill: currentColor;
  321. vertical-align: top;
  322. }
  323. [data-font]{
  324. font-size: 1.5em;
  325. line-height: 1em;
  326. }
  327. }
  328. &-title {
  329. font-size: inherit;
  330. font-weight: 500;
  331. color: hsl(206,8%,38%);
  332. margin: 0 0 .25em;
  333. }
  334. &-category {
  335. color: $subtle-color;
  336. &:after {
  337. content: " — ";
  338. }
  339. }
  340. &-category,
  341. &-preview {
  342. font-size: 14px;
  343. }
  344. &-preview {
  345. color: hsl(207,12%,50%);
  346. }
  347. }
  348. .container {
  349. margin: 0 auto;
  350. width: 100%;
  351. max-width: 900px;
  352. @include phone {
  353. padding-left: 1em;
  354. padding-right: 1em;
  355. }
  356. }
  357. .main {
  358. flex-grow: 1;
  359. display: flex;
  360. flex-direction: column;
  361. justify-content: flex-start;
  362. margin: 30px 0 40px;
  363. .header + & {
  364. margin-top: 0;
  365. }
  366. .container {
  367. flex: 1;
  368. display: flex;
  369. flex-direction: column;
  370. }
  371. }
  372. .main--categories {
  373. h1 {
  374. color: $dark-color;
  375. }
  376. }
  377. .main--error {
  378. text-align: center;
  379. .container {
  380. margin: auto;
  381. flex: none;
  382. align-items: center;
  383. }
  384. .box {
  385. display: table;
  386. margin: 0 auto;
  387. }
  388. .icon {
  389. width: 120px;
  390. height: 118px;
  391. fill: hsl(41,100%,49%);
  392. + h1 {
  393. margin-top: .66em;
  394. }
  395. }
  396. ul {
  397. display: table;
  398. margin: 0 auto;
  399. text-align: left;
  400. }
  401. }
  402. .breadcrumbs {
  403. margin: 0;
  404. padding: 0;
  405. list-style: none;
  406. font-size: 13px;
  407. .container {
  408. padding-top: 11px;
  409. padding-bottom: 11px;
  410. display: flex;
  411. border-bottom: 1px solid $border;
  412. }
  413. }
  414. .breadcrumb {
  415. position: relative;
  416. padding: 6px 20px 6px 11px;
  417. color: inherit;
  418. text-decoration: none;
  419. white-space: nowrap;
  420. overflow: hidden;
  421. line-height: 20px;
  422. text-overflow: ellipsis;
  423. @include phone {
  424. .icon-knowledge-base + span {
  425. display: none;
  426. }
  427. }
  428. &:first-child {
  429. padding-left: 2px;
  430. }
  431. &[href]:hover {
  432. color: $dark-color;
  433. }
  434. &:last-child {
  435. &:before,
  436. &:after {
  437. display: none;
  438. }
  439. }
  440. &:before,
  441. &:after {
  442. content: "";
  443. position: absolute;
  444. width: 1px;
  445. height: 40%;
  446. background: $color;
  447. opacity: .2;
  448. right: 0;
  449. top: 0;
  450. transform-origin: bottom;
  451. transform: translateY(13%) rotate(-37deg);
  452. }
  453. &:after {
  454. top: 50%;
  455. transform-origin: top;
  456. transform: translateY(-13%) rotate(37deg);
  457. }
  458. .icon {
  459. fill: currentColor;
  460. object-fit: contain;
  461. margin-top: -1px;
  462. width: 16px;
  463. height: 16px;
  464. &-knowledge-base {
  465. width: 20px;
  466. height: 20px;
  467. }
  468. }
  469. .icon,
  470. [data-font] {
  471. margin-right: 3px;
  472. vertical-align: middle;
  473. opacity: .75;
  474. }
  475. [data-font] {
  476. display: inline-block;
  477. margin-top: -3px;
  478. text-align: center;
  479. }
  480. }
  481. .sections-empty {
  482. flex: 1;
  483. display: flex;
  484. flex-direction: column;
  485. justify-content: center;
  486. align-items: center;
  487. text-align: center;
  488. padding: 1em;
  489. margin-top: 2.05em;
  490. color: $subtle-color;
  491. border: 1px dashed $dark-border;
  492. border-radius: 3px;
  493. }
  494. .sections {
  495. margin: 0;
  496. padding: 0;
  497. list-style: none;
  498. &:first-child {
  499. margin-top: 30px;
  500. }
  501. & + hr {
  502. border: none;
  503. border-top: 1px solid hsl(219,13%,95%);
  504. margin: 28px 0 13px;
  505. }
  506. }
  507. %box-link {
  508. display: block;
  509. text-decoration: none;
  510. }
  511. .box {
  512. @extend %box;
  513. padding: 20px;
  514. }
  515. .sections--list {
  516. &:first-child {
  517. margin-top: 20px;
  518. }
  519. a {
  520. @extend %box-link;
  521. }
  522. .section-inner {
  523. @extend %box;
  524. margin: 15px 0;
  525. padding: 10px 15px;
  526. display: flex;
  527. align-items: center;
  528. span {
  529. display: block;
  530. }
  531. }
  532. .not-published-note {
  533. margin-left: .5em;
  534. }
  535. }
  536. .sections--grid {
  537. display: flex;
  538. flex-wrap: wrap;
  539. margin: -10px;
  540. @include phone {
  541. margin: -5px;
  542. }
  543. .section {
  544. width: 33.33%;
  545. @include phone {
  546. width: 50%;
  547. }
  548. @include desktop {
  549. width: 25%;
  550. }
  551. a {
  552. padding-bottom: 72%;
  553. position: relative;
  554. line-height: 1.3;
  555. @extend %box-link;
  556. }
  557. &--subsection {
  558. display: none;
  559. }
  560. &-inner {
  561. @extend %box;
  562. position: absolute;
  563. padding: 10px;
  564. left: 0;
  565. top: 0;
  566. right: 0;
  567. bottom: 0;
  568. display: flex;
  569. align-items: center;
  570. justify-content: center;
  571. flex-direction: column;
  572. text-align: center;
  573. span {
  574. display: block;
  575. }
  576. }
  577. &-category,
  578. &-preview {
  579. display: none;
  580. }
  581. }
  582. }
  583. .sections--compact-text {
  584. display: grid;
  585. grid-gap: 20px;
  586. grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  587. font-size: 14px;
  588. @include phone {
  589. display: block;
  590. }
  591. .section {
  592. margin: 0;
  593. @include phone {
  594. margin-bottom: 10px;
  595. &:last-child {
  596. margin-bottom: 0;
  597. }
  598. }
  599. a {
  600. line-height: 1.5;
  601. text-decoration: none;
  602. }
  603. > a {
  604. flex: 1 1 0%;
  605. color: inherit;
  606. }
  607. &-inner {
  608. flex: 1 1 0%;
  609. margin: 0;
  610. padding: 1.1em;
  611. display: block;
  612. color: inherit;
  613. overflow: hidden;
  614. background: white;
  615. }
  616. &-title {
  617. font-size: 17px;
  618. margin: 0 0 1px;
  619. }
  620. &-category {
  621. margin-bottom: 1px;
  622. order: -1;
  623. opacity: .6;
  624. }
  625. &-preview {
  626. &:before {
  627. content: " — ";
  628. color: initial;
  629. }
  630. }
  631. }
  632. }
  633. .section-category {
  634. font-size: 14px;
  635. }
  636. .section-preview {
  637. margin-bottom: 1em;
  638. overflow: hidden;
  639. text-overflow: ellipsis;
  640. }
  641. .button {
  642. @extend %box;
  643. appearance: none;
  644. font-family: inherit;
  645. font-size: 16px;
  646. border: none;
  647. background: hsl(210,14%,97%);
  648. margin: 0;
  649. padding: 5px 10px;
  650. min-width: 62px;
  651. position: relative;
  652. outline: none;
  653. text-decoration: none;
  654. &--small {
  655. padding: 3px 8px;
  656. font-size: 14px;
  657. }
  658. }
  659. .icon,
  660. [data-font] {
  661. .section-inner & {
  662. color: $highlight-color;
  663. fill: currentColor;
  664. margin: 0 9px 0 3px;
  665. line-height: inherit;
  666. }
  667. }
  668. [data-font] {
  669. font-style: normal;
  670. text-rendering: auto;
  671. font-feature-settings: 'liga';
  672. -webkit-font-smoothing: antialiased;
  673. -moz-osx-font-smoothing: grayscale;
  674. font-size: 16px;
  675. .sections--grid .section-inner & {
  676. font-size: 42px;
  677. margin: 10px 0 20px;
  678. line-height: 1;
  679. @include phone {
  680. font-size: 35px;
  681. margin: 10px 0 13px;
  682. }
  683. }
  684. }
  685. .article {
  686. flex: 1;
  687. color: $dark-color;
  688. }
  689. .article-content {
  690. display: block;
  691. p,
  692. ol,
  693. ul {
  694. margin: 0 0 1em;
  695. }
  696. table, pre, blockquote {
  697. margin-bottom: 16px;
  698. &:first-child {
  699. margin-top: 6px;
  700. }
  701. &:last-child {
  702. margin-bottom: 6px;
  703. }
  704. }
  705. table {
  706. table-layout: auto;
  707. word-break: break-all;
  708. border-style: hidden;
  709. border-collapse: collapse;
  710. font-variant-numeric: lining-nums tabular-nums;
  711. box-shadow:
  712. 0 0 0 1px hsl(210,5%,92%),
  713. 0 2px hsl(210,5%,92%);
  714. border-radius: 2px;
  715. }
  716. thead tr:first-child {
  717. th {
  718. &:first-child {
  719. border-top-left-radius: 2px;
  720. }
  721. &:last-child {
  722. border-top-right-radius: 2px;
  723. }
  724. }
  725. }
  726. tbody tr:last-child {
  727. td {
  728. &:first-child {
  729. border-bottom-left-radius: 2px;
  730. }
  731. &:last-child {
  732. border-bottom-right-radius: 2px;
  733. }
  734. }
  735. }
  736. td, th {
  737. padding: 6px 10px;
  738. border: 1px solid hsl(210,5%,92%);
  739. }
  740. th {
  741. background: hsl(210,5%,96%);
  742. }
  743. td {
  744. text-align: "." center;
  745. }
  746. table col {
  747. width: auto;
  748. }
  749. blockquote {
  750. padding: 8px 12px;
  751. border-left: 5px solid #eee;
  752. }
  753. code {
  754. border: none;
  755. background: hsl(0,0%,97%);
  756. white-space: pre-wrap;
  757. }
  758. pre {
  759. padding: 12px 15px;
  760. font-size: 13px;
  761. line-height: 1.45;
  762. background: hsl(0,0%,97%);
  763. white-space: pre-wrap;
  764. border-radius: 3px;
  765. border: none;
  766. overflow: auto;
  767. }
  768. hr {
  769. margin-top: 13px;
  770. margin-bottom: 13px;
  771. border: none;
  772. border-top: 1px solid hsl(210,14%,91%);
  773. }
  774. }
  775. .attachments {
  776. padding: 2rem 0 2rem 4rem;
  777. margin: 2rem 0 !important;
  778. list-style: none;
  779. border-top: 1px solid $border;
  780. position: relative;
  781. @include phone {
  782. padding-left: 2.8rem;
  783. }
  784. .icon-paperclip {
  785. position: absolute;
  786. left: 1.2rem;
  787. top: 2rem;
  788. width: 2rem;
  789. height: 2rem;
  790. fill: hsl(208,13%,81%);
  791. @include phone {
  792. left: .5rem;
  793. }
  794. }
  795. &-title {
  796. text-transform: uppercase;
  797. font-size: .8em;
  798. font-weight: bold;
  799. color: $light-color;
  800. padding: 0 .8rem .2rem;
  801. }
  802. }
  803. .attachment {
  804. text-decoration: none;
  805. border-bottom: 1px solid $border;
  806. display: block;
  807. padding: .5rem .8rem;
  808. font-size: .8em;
  809. &:hover {
  810. background: $light-bg;
  811. }
  812. &:last-child {
  813. border-bottom: none;
  814. }
  815. &-size {
  816. color: $subtle-color;
  817. font-size: .9em;
  818. }
  819. }
  820. .feedback {
  821. @extend %box;
  822. &-buttons {
  823. margin-top: 10px;
  824. }
  825. }
  826. .footer {
  827. border-top: 1px solid $dark-border;
  828. background: $light-bg;
  829. color: hsl(210,8%,50%);
  830. font-size: 12px;
  831. &-menu {
  832. padding: 10px;
  833. display: flex;
  834. align-items: center;
  835. justify-content: space-between;
  836. }
  837. }
  838. .language-picker {
  839. display: flex;
  840. position: relative;
  841. }
  842. .not-published-note {
  843. margin: .1em 0 0;
  844. font-size: .65em;
  845. color: hsl(0,0,50%);
  846. }
  847. .btn {
  848. display: inline-block;
  849. padding: 10px 24px 9px;
  850. border: 1px solid hsla(0,0%,0%,.1);
  851. color: inherit;
  852. outline: none !important;
  853. border-radius: 4px;
  854. text-align: center;
  855. white-space: nowrap;
  856. vertical-align: middle;
  857. @extend %clickable;
  858. &--onDark {
  859. border-color: hsla(0,0%,100%,.3);
  860. color: white;
  861. }
  862. &--action {
  863. text-transform: uppercase;
  864. font-size: 0.9em;
  865. letter-spacing: 0.07em;
  866. height: 2.75em;
  867. padding: 0 11px !important;
  868. display: inline-flex;
  869. align-items: center;
  870. .icon {
  871. margin: 0 5px 0 -2px;
  872. fill: currentColor;
  873. &:only-child {
  874. margin: 0;
  875. }
  876. &:last-child {
  877. margin: 0 -2px 0 7px;
  878. }
  879. }
  880. &.btn--slim {
  881. padding-left: 7px !important;
  882. padding-right: 7px !important;
  883. .btn-label {
  884. @include bidi-style(margin-left, 0, margin-right, 0);
  885. }
  886. }
  887. }
  888. &--split--first {
  889. @include bidi-style(border-radius, 3px 0 0 3px, border-radius, 0 3px 3px 0);
  890. }
  891. &--split,
  892. &--split--last {
  893. border-radius: 0;
  894. @include bidi-style(border-left-width, 0, border-right-width, 1px);
  895. @include ltr(margin-left, 0 !important);
  896. @include rtl(margin-right, 0 !important);
  897. }
  898. &--split--last {
  899. @include bidi-style(border-radius, 0 3px 3px 0, border-radius, 3px 0 0 3px);
  900. }
  901. }
  902. .btn[data-toggle="dropdown"] {
  903. text-decoration: none;
  904. }
  905. .dropdown {
  906. &-menu {
  907. display: none;
  908. position: absolute;
  909. z-index: 1;
  910. top: 100%;
  911. left: 0;
  912. margin: 12px 0 0;
  913. padding: 0;
  914. list-style: none;
  915. font-size: 14px;
  916. border-radius: 3px;
  917. box-shadow:
  918. 0 50px 100px hsla(200,30%,30%,.1),
  919. 0 15px 35px hsla(200,30%,30%,.15),
  920. 0 5px 15px hsla(0,0%,0%,.1);
  921. background: white;
  922. padding: 10px;
  923. &.is-open {
  924. display: block;
  925. }
  926. &:before {
  927. content: "";
  928. position: absolute;
  929. top: -6px;
  930. left: 30px;
  931. width: 20px;
  932. height: 20px;
  933. -webkit-transform: rotate(45deg);
  934. transform: rotate(45deg);
  935. border-radius: 3px 0 20px 0;
  936. background: white;
  937. }
  938. &-right {
  939. left: auto;
  940. right: 0;
  941. &:before {
  942. left: auto;
  943. right: 30px;
  944. }
  945. }
  946. &-up {
  947. top: auto;
  948. bottom: 100%;
  949. margin-top: 0;
  950. margin-bottom: 12px !important;
  951. &:before {
  952. top: auto;
  953. bottom: -6px;
  954. border-radius: 20px 0 3px 0;
  955. }
  956. }
  957. li {
  958. &:last-child a {
  959. margin-bottom: 0;
  960. }
  961. &.is-selected {
  962. a {
  963. font-weight: bold;
  964. }
  965. .icon {
  966. display: block;
  967. }
  968. }
  969. &.is-disabled {
  970. cursor: default;
  971. a {
  972. color: hsl(0,0%,72%);
  973. &:hover,
  974. &:focus {
  975. background: none;
  976. }
  977. }
  978. }
  979. }
  980. a {
  981. color: black;
  982. display: flex;
  983. align-items: center;
  984. padding: 8px 12px;
  985. white-space: nowrap;
  986. text-decoration: none;
  987. border-radius: 3px;
  988. &:hover,
  989. &:focus {
  990. background: hsl(200,5%,95%);
  991. }
  992. }
  993. .icon {
  994. display: none;
  995. margin-right: 7px;
  996. vertical-align: middle;
  997. }
  998. }
  999. }
  1000. .kb-item--empty {
  1001. opacity: .5;
  1002. }
  1003. .language-banner {
  1004. background: hsl(234,10%,19%);
  1005. color: hsl(234,5%,80%);
  1006. display: flex;
  1007. &-text {
  1008. font-size: 14px;
  1009. line-height: 22px;
  1010. margin: 7px;
  1011. }
  1012. .button {
  1013. margin-left: 5px;
  1014. }
  1015. .icon-mood-supergood {
  1016. fill: currentColor;
  1017. width: 22px;
  1018. height: 22px;
  1019. margin: 8px 2px 0 10px;
  1020. vertical-align: middle;
  1021. }
  1022. .close {
  1023. margin-left: auto;
  1024. padding: 7px 5px 0;
  1025. fill: currentColor;
  1026. width: 34px;
  1027. @extend %clickable;
  1028. }
  1029. }