app.scss 24 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108
  1. @import './base/reset';
  2. @import './base/variables';
  3. @import './base/colors';
  4. @import './base/grid-flex';
  5. @import './base/transitions';
  6. @import './base/layout';
  7. @import './base/fonts';
  8. /* The emerging W3C standard
  9. that is currently Firefox-only */
  10. * {
  11. scrollbar-width: thin;
  12. scrollbar-color: $grisclair rgba(255,255,255,0);
  13. }
  14. /* Works on Chrome/Edge/Safari */
  15. *::-webkit-scrollbar {
  16. width: 12px;
  17. }
  18. *::-webkit-scrollbar-track {
  19. background: rgba(255,255,255,0);
  20. }
  21. *::-webkit-scrollbar-thumb {
  22. background-color: $grisclair;
  23. border-radius: 20px;
  24. border: none;
  25. }
  26. body{
  27. color: #1a1a1a;
  28. }
  29. #root{
  30. }
  31. .red{
  32. background-color: red;
  33. color:white;
  34. }
  35. header[role="banner"]{
  36. div.wrapper{
  37. display: grid;
  38. grid-template-columns: 1fr 1fr;
  39. }
  40. h1.site-title{
  41. grid-column: 1;
  42. margin:0;
  43. font-size: 1em;
  44. }
  45. nav#header-menu{
  46. grid-column: 2;
  47. text-align: right;
  48. >ul>li{
  49. display: inline-block;
  50. margin-right: 1em;
  51. position: relative;
  52. >ul{
  53. position: absolute;
  54. top:1em; right:-1em;
  55. overflow: hidden;
  56. padding-bottom: 0.5em;
  57. background-color: white;
  58. >li{
  59. padding:0 1em;
  60. // margin-right: -1em;
  61. transition: height 0.3s ease-in-out;
  62. height:0;
  63. overflow: hidden;
  64. }
  65. }
  66. //
  67. // &:focus-within
  68. // &:hover,
  69. &.opened{
  70. >ul>li{
  71. height:1em;
  72. }
  73. }
  74. &.has-submenu{
  75. cursor: pointer;
  76. }
  77. }
  78. li>span,li>a{
  79. font-size: 0.9em;
  80. color: $bleuroi;
  81. text-transform: uppercase;
  82. }
  83. }
  84. }
  85. section[role="main-content"]{
  86. #home{
  87. header{
  88. text-align: center;
  89. h1{
  90. color: $bleuroi;
  91. font-size: 8em;
  92. font-weight: 300;
  93. margin:15vh 0 0;
  94. }
  95. h2{
  96. color: $or;
  97. font-size: 2em;
  98. font-weight: 300;
  99. margin:1em 0 0;
  100. text-transform: uppercase;
  101. letter-spacing: 0.2em;
  102. sup{
  103. // line-height: 5em;
  104. vertical-align:text-top;
  105. font-size: 0.7em
  106. }
  107. }
  108. }
  109. // $filet_space:8em;
  110. // $decallage: 0.5em;
  111. section{
  112. padding-top: 8em;
  113. }
  114. @mixin teasersfilet($filet_space, $decallage){
  115. &:before, &:after{
  116. z-index: 0;
  117. content: "";
  118. position: absolute;
  119. opacity: 0.4;
  120. }
  121. &:before{
  122. border:1px solid $or;
  123. width:calc(100% + #{$filet_space*2 + $decallage*2});
  124. left:- $filet_space - $default_gap/2 -$decallage;
  125. height:calc(100% + #{$filet_space});
  126. top:- $filet_space / 2;
  127. }
  128. &:after{
  129. border:1px solid $rouge;
  130. width:calc(100% + #{$filet_space*2});
  131. left:- $filet_space - $default_gap/2;
  132. height:calc(100% + #{$filet_space + $decallage*2});
  133. top:- $filet_space / 2 - $decallage;
  134. }
  135. }
  136. div.teasers{
  137. display: flex;
  138. flex-direction: row;
  139. flex-wrap: nowrap;
  140. position: relative;
  141. padding-right: 0;
  142. article{
  143. box-sizing: border-box;
  144. flex-basis: percentage(2 / ( $default_sum - 6) );
  145. padding-right: $default_gap;
  146. @include fontsans;
  147. h1{
  148. color: $bleuroi;
  149. }
  150. p{
  151. font-size: 0.882em;
  152. line-height: 1.2;
  153. }
  154. span{
  155. color:$rouge;
  156. font-size:0.693em;
  157. }
  158. }
  159. // filets decoratif
  160. @include teasersfilet(8em, 0.5em);
  161. }
  162. // responsive
  163. @media only screen and (max-width: $small-bp) {
  164. header{
  165. h1{
  166. font-size: 5em;
  167. margin:7vh 0 0;
  168. }
  169. h2{
  170. font-size: 1em;
  171. }
  172. }
  173. section{
  174. padding-top: 4em;
  175. }
  176. div.teasers{
  177. flex-direction: column;
  178. // filets decoratif
  179. @include teasersfilet(4em, 0.5em);
  180. }
  181. }
  182. }
  183. #list-corpus, .index{
  184. >header>h1{
  185. font-family: "noto_sans";
  186. color: $rouge;
  187. font-weight: 400;
  188. }
  189. article.item{
  190. margin: 2em 0 0;
  191. header h1{
  192. font-size: 1.512em;
  193. color: $bleuroi;
  194. font-weight: 400;
  195. margin:0;
  196. }
  197. }
  198. ul.item-list{
  199. li{
  200. margin: 0 0 2em 0;
  201. header{
  202. h2{
  203. margin:0.4em 0 0.2em;
  204. @include title1blue;
  205. }
  206. h3{
  207. margin:0.2em 0;
  208. @include fontsans;
  209. font-size: 0.756em;
  210. font-weight: 500;
  211. }
  212. margin-bottom: 0.3em;
  213. }
  214. section.editions{
  215. div.editions{
  216. ol{
  217. padding:0;
  218. li{
  219. margin:0.7em 1em;
  220. }
  221. }
  222. }
  223. }
  224. h4{
  225. margin:0.1em 0;
  226. font-weight: 300;
  227. @include fontsans;
  228. font-size: 0.756em;
  229. &.texts-quantity{
  230. color: $rouge;
  231. // &:after{
  232. // content: ">>";
  233. // margin:0 0 0 0.5em;
  234. // }
  235. }
  236. }
  237. ul {
  238. li{
  239. margin:0 0 0 1em;
  240. h3{
  241. margin: 0.5em 0;
  242. font-weight: 400;
  243. font-size: 1em;
  244. }
  245. }
  246. }
  247. }
  248. }
  249. }
  250. #corpus{
  251. }
  252. .index{
  253. }
  254. .index-item{
  255. header{
  256. h1{
  257. @include title2black;
  258. }
  259. }
  260. .occurences{
  261. >ul{
  262. >li{
  263. padding:0 0 2em 0;
  264. h3{
  265. @include title1black;
  266. padding:0 0 1em 0;
  267. }
  268. >ul{
  269. >li{
  270. padding:0 0 1em 0;
  271. section{
  272. h4{
  273. @include title2black;
  274. display: inline-block;
  275. }
  276. span.open-close{
  277. cursor: pointer;
  278. display: inline-block;
  279. svg{
  280. transform: rotate(-90deg) scale(0.8);
  281. transition: transform 0.3s ease-in-out;
  282. path{
  283. fill:$bleuroi;
  284. }
  285. }
  286. }
  287. div.text{
  288. max-height: 0;
  289. transition: max-height 0.3s ease-in-out;
  290. overflow: hidden;
  291. box-sizing: content-box;
  292. p, h1, h2, h3, h4, h5, h6{
  293. margin: 0.5em 0 0 0;
  294. }
  295. }
  296. a.lire-plus{
  297. color: $bleuroi;
  298. opacity: 0;
  299. display: inline-block;
  300. height: 0;
  301. overflow: hidden;
  302. transition: height, opacity 0.3s ease-in-out;
  303. }
  304. &.opened{
  305. span.open-close{
  306. cursor: pointer;
  307. display: inline-block;
  308. svg{
  309. transform: scale(0.8) rotate(0);
  310. }
  311. }
  312. div.text{
  313. max-height:100px;
  314. }
  315. a.lire-plus{
  316. opacity: 1;
  317. height:1em;
  318. }
  319. }
  320. }
  321. }
  322. }
  323. }
  324. }
  325. }
  326. }
  327. #edition{
  328. >header{
  329. position: relative;
  330. h1{
  331. @include title1black;
  332. }
  333. aside.index-tooltip{
  334. z-index:10;
  335. margin-top: -1.75em;
  336. position:absolute;
  337. text-align: right;
  338. right: 2em;
  339. h1 {
  340. @include title2black;
  341. margin:0 0 0.5em 0;
  342. }
  343. p{
  344. margin:0 0 0.5em 0;
  345. }
  346. time{
  347. font-weight: 600;
  348. }
  349. @media only screen and (max-width: $small-bp) {
  350. background-color: #fff;
  351. padding: 1em;
  352. box-shadow: 0 0 10px $gris;
  353. *{
  354. pointer-events: none;
  355. }
  356. }
  357. }
  358. }
  359. $pagenum_w:1em;
  360. >section{
  361. padding-right: 0;
  362. >.wrapper{
  363. padding-right: $pagenum_w*2;
  364. }
  365. div#text{
  366. // .infinite-loading-container{
  367. // height:0;
  368. // overflow: hidden;
  369. // }
  370. div.tei{
  371. position: relative;
  372. width: calc(100% - #{$pagenum_w});
  373. // @media only screen and (min-width: $small-bp + 1) {
  374. padding-right: $pagenum_w;
  375. border-left: 1px dotted $grisclair;
  376. padding-left: 1em;
  377. &.active{
  378. border-left: 1px dotted $bleuroi;
  379. }
  380. // }
  381. >h1{@include teititle1blue;}
  382. span.placeName,
  383. span.objectName,
  384. span.persName{
  385. font-weight: 600;
  386. }
  387. h1{ font-size: 1.512em; }
  388. p{
  389. margin-top: 0;
  390. font-size: 1.134em;
  391. line-height: 1.5;
  392. span.persName,
  393. span.placeName,
  394. span.objectName{
  395. font-weight: 600;
  396. }
  397. a{
  398. font-weight: 600;
  399. &.active-link{
  400. color: $rouge;
  401. // text-decoration: underline;
  402. }
  403. sup.mdi{
  404. font-size: 0.630em;
  405. vertical-align: super;
  406. // line-height: 0.1;
  407. padding: 0 0.2em;
  408. }
  409. }
  410. }
  411. span[role="pageNum"]{
  412. font-size: 16px;
  413. position: relative;
  414. float:right;
  415. width: $pagenum_w; height:0;
  416. // margin-left:calc(100% - #{$pagenum_w * 2});
  417. // margin-left: 100%;
  418. margin-right: - $pagenum_w;
  419. &:after{
  420. content:attr(data-num);
  421. border-top: 1px solid $bleuroilight;
  422. position: absolute;
  423. right:0;
  424. font-size: 0.630em;
  425. width: $pagenum_w*2; height: $pagenum_w;
  426. line-height: $pagenum_w;
  427. border-right: 1px solid $bleuroilight;
  428. color: $bleuroi;
  429. text-indent: $pagenum_w * 2.5;
  430. }
  431. }
  432. a.text-item-link{
  433. // float: left;
  434. position: absolute;
  435. top:0; left:0;
  436. // display: block;
  437. // width:1em; height:1em;
  438. font-size: 0.630em;
  439. .mdi{
  440. color: $bleuroi;
  441. pointer-events: none;
  442. }
  443. }
  444. // front page
  445. header{
  446. padding-top: 1em;
  447. h1{
  448. @include teititlefrontblue;
  449. .initial{
  450. text-transform: uppercase;
  451. font-size: 1.3em;
  452. line-height: 1.3em;
  453. }
  454. }
  455. }
  456. .byline{
  457. text-align: center;
  458. font-style: italic;
  459. padding-bottom: 1em;
  460. }
  461. .docImprint{
  462. text-align: center;
  463. // padding-bottom: 1em;
  464. }
  465. .imprimatur{
  466. text-align: center;
  467. font-style: italic;
  468. padding-bottom: 1em;
  469. }
  470. }
  471. }
  472. }
  473. >nav{
  474. $pager_h:2em;
  475. display: flex;
  476. flex-direction: column;
  477. span.nav-title{ display:none; }
  478. section#toc{
  479. box-sizing: content-box;
  480. padding:0 0 1em 1.5em;
  481. height:calc(100% - #{$pager_h});
  482. overflow-x: hidden;
  483. overflow-y: auto;
  484. >ul{
  485. ul{
  486. li{
  487. ul{
  488. overflow: hidden;
  489. max-height: 1000px;
  490. transition: max-height 0.5s ease-in-out;
  491. // transform: scaleY(1);
  492. // transform-origin: top;
  493. // transition: transform 0.3s ease-in-out;
  494. &:not(.opened){
  495. // height:0;
  496. max-height:0;
  497. transition: max-height 0.5s cubic-bezier(0, 1.05, 0, 1);
  498. // transform: scaleY(0);
  499. }
  500. // &.opened{
  501. // border: 1px solid red;
  502. // }
  503. // padding-left: 1em;
  504. border-left: 0.5px solid $grisclair;
  505. // min-height: 1em;
  506. margin-bottom: 0em;
  507. li{
  508. // min-height: 1em;
  509. // border-left: 1px solid red;
  510. padding:0 0 0.2em 1em;
  511. }
  512. }
  513. }
  514. }
  515. .toc-title{
  516. color: $gris;
  517. font-weight: 400;
  518. margin:0;
  519. &.active,
  520. &:hover{
  521. color:$grisfonce;
  522. font-weight: 600;
  523. }
  524. &.loaded{
  525. color:$grisfonce;
  526. }
  527. }
  528. h2.toc-title{font-size: 0.882em;}
  529. h3.toc-title{font-size: 0.882em;}
  530. h4.toc-title{font-size: 0.882em;}
  531. h5.toc-title{font-size: 0.882em;}
  532. h6.toc-title{font-size: 0.882em;}
  533. span.toc-title{font-size: 0.882em;}
  534. }
  535. }
  536. div#page-nav{
  537. height:$pager_h;
  538. overflow: hidden;
  539. box-sizing: content-box;
  540. padding:1em 0 0 1.5em;
  541. select{
  542. option{
  543. padding:0;
  544. }
  545. }
  546. }
  547. }
  548. // responsive
  549. @media only screen and (max-width: $small-bp) {
  550. position: relative;
  551. >nav{
  552. $top: 45px;
  553. z-index: 2;
  554. position: absolute;
  555. top:$top;
  556. right:0;
  557. background-color: #fff;
  558. width:40%;
  559. box-sizing: border-box;
  560. padding-top: 1em;
  561. padding-bottom: 1em;
  562. height:calc(100% - #{$top});
  563. transform: translateX(100%);
  564. transition: transform 0.3s ease-in-out;
  565. span.nav-title{
  566. display: block;
  567. position: absolute;
  568. top:4.5em; left:-1.8em;
  569. transform: rotateZ(-90deg);
  570. transform-origin: center;
  571. @include fontsans;
  572. font-size: 0.600em;
  573. cursor: pointer;
  574. color: $bleuroi;
  575. svg{
  576. vertical-align: bottom;
  577. transform-origin: center;
  578. transform: scale(0.8) rotate(180deg);
  579. transition: transform 0.3s ease-in-out;
  580. path{
  581. fill: $bleuroi;
  582. }
  583. }
  584. }
  585. &.opened{
  586. box-shadow: -3px -3px 5px $grisclair;
  587. transform: translateX(0);
  588. span.nav-title{
  589. svg{
  590. transform: scale(0.7) rotate(0);
  591. }
  592. }
  593. }
  594. }
  595. }
  596. }
  597. #text{
  598. .tei{}}
  599. #biblio{
  600. .router-link-active{
  601. font-weight: 600;
  602. }
  603. ul.item-list{
  604. margin:0;
  605. padding:0;
  606. li{
  607. padding:0;
  608. margin:0 0 1.5em 0;
  609. h2{
  610. margin:0;
  611. @include title2black;
  612. }
  613. p{
  614. margin:0;
  615. }
  616. }
  617. }
  618. }
  619. }
  620. footer[role="tools"]{
  621. $list-item-h: 7em;
  622. @mixin resultItem{
  623. box-sizing: border-box;
  624. // we are only on 10 colls as 2 are occupied by sides
  625. flex-basis: percentage(2/($default_sum - 2));
  626. max-height: $list-item-h;
  627. overflow: hidden;
  628. padding-bottom: 1em;
  629. padding-right: $default_gap;
  630. article{
  631. max-height: 100%;
  632. overflow: hidden;
  633. }
  634. article.item{
  635. h1{
  636. @include title3black;
  637. font-weight: 600;
  638. max-width: 95%;
  639. }
  640. h2{
  641. @include title3black;
  642. text-transform: none;
  643. }
  644. span{
  645. font-size: 0.882em;
  646. }
  647. // .preview{
  648. // font-size: 0.882em;
  649. // margin:0;
  650. // code{
  651. // @include fontserif;
  652. // background-color: lighten(desaturate($rouge,20%), 20%);
  653. // padding:0 0.2em;
  654. // }
  655. // }
  656. }
  657. }
  658. #history{
  659. z-index: 8;
  660. background-color: $or;
  661. padding:1.2em $side-padding;
  662. max-height: $list-item-h;
  663. @include accordeon-transition($list-item-h);
  664. >header{
  665. }
  666. .history-list{
  667. overflow-x: hidden;
  668. .wrapper{
  669. height:100%;
  670. // hidding the scrollbar
  671. overflow-y: auto;
  672. // width:calc(100% + 1em);
  673. padding-right: 1em;
  674. >ul{
  675. padding:0;
  676. display: flex;
  677. flex-direction: row;
  678. flex-wrap: wrap;
  679. }
  680. }
  681. li.item{
  682. @include resultItem;
  683. }
  684. }
  685. }
  686. #results{
  687. z-index: 9;
  688. background-color: $gris;
  689. padding:1.2em $side-padding;
  690. @media only screen and (max-width: $small-bp) {
  691. padding:1.2em $side-padding/2;
  692. }
  693. max-height: $list-item-h * 3;
  694. @include accordeon-transition($list-item-h * 3);
  695. >header{
  696. .search-keys{
  697. font-size: 0.756em;
  698. font-weight: 500;
  699. }
  700. .results-count{
  701. font-size: 0.756em;
  702. }
  703. }
  704. .results-list{
  705. overflow-x: hidden;
  706. .wrapper{
  707. position:relative;
  708. height:100%;
  709. // hidding the scrollbar
  710. overflow-y: auto;
  711. // width:calc(100% + 1em);
  712. padding-right: 1em;
  713. >ul{
  714. padding:0;
  715. display: flex;
  716. flex-direction: row;
  717. flex-wrap: wrap;
  718. }
  719. }
  720. li.result{
  721. @include resultItem;
  722. }
  723. .infinite-loading-container{
  724. // TODO: how to center the loading
  725. }
  726. }
  727. >header, section.results-list{
  728. transition: opacity 0.2s ease-in-out;
  729. }
  730. &.loading {
  731. >header, section.results-list{
  732. transition: opacity 0.5s ease-in-out;
  733. opacity:0.5;
  734. pointer-events: none;
  735. }
  736. }
  737. // responsive
  738. @media only screen and (max-width: $small-bp) {
  739. position: relative;
  740. >header{
  741. padding:0 0 1em 0;
  742. >*{
  743. display: inline-block;
  744. margin-right: 1em;
  745. }
  746. #sorting{
  747. width:10em;
  748. }
  749. }
  750. >section.results-list{
  751. max-height: 15em;
  752. li.result{
  753. flex-basis: 33%;
  754. }
  755. }
  756. >nav{
  757. position: absolute;
  758. top:1.2em; right:1.2em;
  759. }
  760. }
  761. }
  762. #footer-bottom{
  763. z-index: 10;
  764. padding:0 $side-padding;
  765. @media only screen and (max-width: $small-bp) {
  766. padding:0 $side-padding/2;
  767. }
  768. background-color: $bleuroi;
  769. &>*{
  770. // disable grid gap
  771. padding-right: 0;
  772. }
  773. #footer-tabs{
  774. ul{
  775. padding:0; margin:0;
  776. display: flex;
  777. flex-direction: column;
  778. li{
  779. flex: 1 1 auto;
  780. .wrapper{
  781. box-sizing: border-box;
  782. line-height: 0.6em;
  783. height:2em;
  784. width: calc(100% + $side-padding);
  785. margin-left:-$side-padding;
  786. padding:0.3em 0.5em 0.3em $side-padding;
  787. }
  788. &.history .wrapper{
  789. background-color: $or;
  790. }
  791. &.results .wrapper{
  792. background-color: $gris;
  793. }
  794. span{
  795. font-size: 0.693em;
  796. font-weight: 400;
  797. text-transform: uppercase;
  798. cursor: pointer;
  799. @include fade-transition;
  800. }
  801. }
  802. }
  803. }
  804. #search{
  805. color: #fff;
  806. background-color: $bleuroi;
  807. form{
  808. padding: 0;
  809. // display: flex;
  810. // flex-direction: row;
  811. // flex-wrap: wrap;
  812. fieldset{
  813. padding:0.7em 1em;
  814. border: none;
  815. box-sizing:border-box;
  816. // width correction as row is not the same width as others in the page
  817. // flex-basis: percentage(2/($default_sum - 1));
  818. // flex-basis: 17.667%;
  819. // flex-basis: percentage(2 / 11);
  820. &:not(:first-of-type){
  821. border-left: 1px solid $grisclair;
  822. }
  823. }
  824. fieldset.search{
  825. display: inline-flex;
  826. >div{
  827. width:80%;
  828. vertical-align: middle;
  829. }
  830. label[for="keys"]{
  831. display: none;
  832. }
  833. input[type="text"]{
  834. padding:0em 0.3em;
  835. margin:0 0 0.3em 0;
  836. box-sizing: border-box;
  837. font-size: 0.756em;
  838. line-height: 1;
  839. width:100%;
  840. height:1.4em;
  841. border:none;
  842. border-radius: 2px;
  843. }
  844. span.mdi{
  845. display: inline-block;
  846. margin:0 0 0 0.5em;
  847. font-size: 1.2em;
  848. line-height:1.1;
  849. vertical-align:middle;
  850. width:1.2em; height:1.2em;
  851. border-radius: 0.6em;
  852. background-color: #fff;
  853. color: $bleuroi;
  854. text-align: center;
  855. font-weight: 700;
  856. cursor: pointer;
  857. }
  858. }
  859. }
  860. fieldset.filters{
  861. .vs__actions{
  862. background-color: $grisclair;
  863. align-items:baseline;
  864. padding-top:0.2em;
  865. }
  866. }
  867. form{
  868. transition: opacity 0.2s ease-in-out;
  869. }
  870. &.loading{
  871. form{
  872. opacity:0.5;
  873. transition: opacity 0.5s ease-in-out;
  874. pointer-events: none;
  875. }
  876. }
  877. // responsive
  878. @media only screen and (max-width: $small-bp) {
  879. form{
  880. fieldset{
  881. &.search{
  882. >div{
  883. display: inline-flex;
  884. flex-wrap: nowrap;
  885. width:84%;
  886. >*{
  887. flex-basis: 45%;
  888. margin: 0 0.5em 0 0;
  889. // box-sizing: content-box;
  890. // width:auto!important;
  891. &#keys[type="text"]{
  892. margin-right:1.5em;
  893. }
  894. }
  895. }
  896. span.mdi{
  897. width:1em; height:1em;
  898. margin-top: -0.1em;
  899. margin-left: 0;
  900. }
  901. }
  902. &.filters{
  903. border-left: none;
  904. flex-basis: 32%;
  905. padding: 0.2em 0 1em 1em;
  906. }
  907. }
  908. }
  909. }
  910. }
  911. }
  912. h2{
  913. margin:0;
  914. font-size: 0.756em;
  915. font-weight: 400;
  916. text-transform: uppercase;
  917. padding:0;
  918. }
  919. }
  920. // vue-select
  921. .v-select{
  922. padding:0;
  923. div[role="combobox"]{
  924. background-color: #fff;
  925. padding:0;
  926. border-radius: 2px;
  927. border: none;
  928. }
  929. input[type="search"]{
  930. margin:0;
  931. padding:0;
  932. -webkit-appearance:textfield;
  933. -webkit-box-sizing:content-box;
  934. }
  935. input::-webkit-search-decoration,
  936. input::-webkit-search-cancel-button {
  937. display: none;
  938. }
  939. .vs__search{
  940. &, &:focus{
  941. font-size: 0.756em;
  942. line-height: 1;
  943. height:1.2em;
  944. border:none;
  945. box-sizing: border-box;
  946. }
  947. }
  948. .vs__dropdown-toggle{
  949. input::placeholder{background-color: #fff;}
  950. }
  951. .vs__selected-options{
  952. background-color: #fff;
  953. }
  954. .vs__actions{
  955. padding:1px 3px;
  956. svg[role="presentation"]{
  957. transform: scale(0.8);
  958. path{
  959. fill: $bleuroi;
  960. }
  961. }
  962. }
  963. .vs__selected{
  964. margin:0;
  965. padding:0.2em 0;
  966. line-height:1;
  967. font-size: 0.756em;
  968. background-color: #fff;
  969. border:none;
  970. align-items: middle;
  971. box-sizing: content-box;
  972. display: inline-block;
  973. width: calc(100% - 12px);
  974. // &>*:not(button){
  975. // display: inline-block;
  976. // width:70%;
  977. // }
  978. button{
  979. svg{
  980. transform: scale(0.8);
  981. path{
  982. fill: $bleuroi;
  983. }
  984. }
  985. &.vs__deselect{
  986. line-height: 0;
  987. }
  988. }
  989. }
  990. // border-radius: 2px;
  991. // border: none;
  992. }
  993. ul[role="listbox"]{
  994. @include fontsans;
  995. padding:0;
  996. margin:0;
  997. border:none;
  998. position: relative;
  999. li{
  1000. box-sizing: content-box;
  1001. padding:0.3em;
  1002. margin:0;
  1003. font-size: 0.756em;
  1004. line-height: 1;
  1005. white-space: normal;
  1006. position: relative;
  1007. *{
  1008. max-width: 100%;
  1009. }
  1010. }
  1011. }
  1012. // ___
  1013. // |_ _|__ ___ _ _ ___
  1014. // | |/ _/ _ \ ' \(_-<
  1015. // |___\__\___/_||_/__/
  1016. span.mdi-close{
  1017. cursor: pointer;
  1018. }
  1019. @keyframes spin {
  1020. from {
  1021. transform:rotate(0deg);
  1022. }
  1023. to {
  1024. transform:rotate(360deg);
  1025. }
  1026. }
  1027. span.mdi-loading{
  1028. animation-name: spin;
  1029. animation-duration: 2000ms;
  1030. animation-iteration-count: infinite;
  1031. animation-timing-function: linear;
  1032. }
  1033. // _ _ _
  1034. // | | ___ __ _ __| (_)_ _ __ _
  1035. // | |__/ _ \/ _` / _` | | ' \/ _` |
  1036. // |____\___/\__,_\__,_|_|_||_\__, |
  1037. // |___/
  1038. span.loading{
  1039. @include fontsans;
  1040. font-size: 0.756em;
  1041. color: $grisfonce;
  1042. animation: pulseloading 4s infinite;
  1043. }
  1044. @keyframes pulseloading{
  1045. 0% {
  1046. opacity: 1;
  1047. }
  1048. 50%{
  1049. opacity: 0;
  1050. }
  1051. 100% {
  1052. opacity: 1;
  1053. }
  1054. }