main.scss 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864
  1. // @Author: Bachir Soussi Chiadmi <bach>
  2. // @Date: 18-12-2017
  3. // @Email: bachir@figureslibres.io
  4. // @Filename: app.scss
  5. // @Last modified by: bach
  6. // @Last modified time: 20-12-2017
  7. // @License: GPL-V3
  8. @import './base/reset';
  9. @import './base/variables';
  10. @import './base/colors';
  11. @import './base/grid';
  12. @import './base/layout';
  13. // $mdi-font-path: "./mdi/fonts";
  14. // @import './mdi/scss/materialdesignicons.scss';
  15. @import './base/fonts';
  16. html{
  17. // background-color: red;
  18. }
  19. aside.messages{
  20. border:none;
  21. }
  22. // _ _ _
  23. // | || |___ __ _ __| |___ _ _
  24. // | __ / -_) _` / _` / -_) '_|
  25. // |_||_\___\__,_\__,_\___|_|
  26. header[role="banner"]{
  27. padding:0.2em 0 0 0;
  28. %header-fs{
  29. font-size: 0.9em;
  30. // line-height: 1;
  31. font-weight: 400;
  32. }
  33. #block-sitebranding{
  34. h1{
  35. margin:0;
  36. line-height: 1;
  37. }
  38. }
  39. #block-userlogin{
  40. position: relative;
  41. // width:8em;
  42. padding:0 1em;
  43. overflow: visible;
  44. h2{
  45. @extend %header-fs;
  46. line-height: 1.38;
  47. margin: 0;
  48. }
  49. &>section{
  50. background-color: #fff;
  51. overflow: hidden;
  52. width:11em;
  53. height:1px;
  54. padding:0.01em 1em;
  55. // margin:0 0 0 -1em;
  56. box-sizing:content-box;
  57. transition: all 0.4s ease-in-out;
  58. // outline: 1px solid blue;
  59. transition-delay: 2s;
  60. position: absolute;
  61. right:0;
  62. top:1.7em;
  63. box-sizing: content-box;
  64. }
  65. &:hover{
  66. &>section{
  67. transition-delay: 0s;
  68. height:12em;
  69. padding:1em 1em;
  70. box-shadow: 0 0 10px #ccc;
  71. }
  72. }
  73. .form-item{
  74. margin:0;
  75. position: relative;
  76. width:100%;
  77. &.form-item-name{
  78. margin:2px 0 0.5em 0;
  79. input{
  80. width:90%;
  81. padding:0;
  82. box-sizing: content-box;
  83. }
  84. }
  85. &.form-item-pass{
  86. margin:0 0 0.5em 0;
  87. input{
  88. width:90%;
  89. padding:0;
  90. box-sizing: content-box;
  91. }
  92. }
  93. &.form-item-persistent-login{
  94. font-size: 0.756em;
  95. label{
  96. vertical-align: top;
  97. }
  98. }
  99. }
  100. #edit-actions{
  101. margin:0;
  102. }
  103. .item-list{
  104. ul{
  105. margin:0;
  106. li{
  107. list-style: none;
  108. margin:0;
  109. a{
  110. font-size: 0.756em;
  111. }
  112. }
  113. }
  114. }
  115. }
  116. // non-vue userblock
  117. #block-userblock{
  118. h2{display:none;}
  119. a{
  120. margin-right: 1em;
  121. }
  122. }
  123. // vue userblock
  124. #user-tools{
  125. padding-top: 0.06em;
  126. h4{
  127. @extend %header-fs;
  128. cursor: pointer;
  129. }
  130. .mdi-logout::before {
  131. margin: -0.125em 0 0 0;
  132. vertical-align: top;
  133. }
  134. }
  135. // vue flaglist
  136. #user-flags{
  137. border-left: 1px solid #000;
  138. padding-left: 0.5em;
  139. margin-left: 0.5em;
  140. display: inline-block;
  141. vertical-align: top;
  142. position: relative;
  143. h2{
  144. @extend %header-fs;
  145. cursor: pointer;
  146. }
  147. ul{
  148. position: absolute;
  149. width:8em;
  150. left:0;
  151. background-color: #fff;
  152. border-radius: 3px;
  153. background-clip: padding-box;
  154. box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
  155. padding:0.3em 0.3em 0.5em;
  156. opacity:0;
  157. max-height:1px;
  158. transition: opacity,max-height 0.3s ease-in-out;
  159. overflow: hidden;
  160. }
  161. &:hover{
  162. ul{
  163. opacity:1;
  164. max-height:100px;
  165. transition: opacity,max-height 0.2s ease-in-out;
  166. }
  167. }
  168. li{
  169. width:100%;
  170. // cursor: pointer;
  171. display: flex;
  172. flex-direction: row;
  173. align-items: baseline;
  174. flex-wrap: nowrap;
  175. h5{
  176. @extend %header-fs;
  177. cursor: pointer;
  178. }
  179. span.mdi{
  180. font-size: 0.9em;
  181. }
  182. div.actions{
  183. opacity:0;
  184. transition: opacity 0.3s ease-in-out;
  185. padding-left:0.5em;
  186. }
  187. &:hover{
  188. div.actions{
  189. opacity:1;
  190. }
  191. }
  192. input{
  193. border: 1px solid #bbb;
  194. border-radius:5px;
  195. width: calc(100% - 2em);
  196. font-size:0.8em;
  197. // border: none;
  198. // background-color:rgb(201, 201, 201);
  199. // width:100%;
  200. }
  201. span.mdi-plus-box,
  202. span.mdi-trash-can-outline{
  203. cursor: pointer;
  204. color: #4e4d4d;
  205. }
  206. }
  207. }
  208. // menu
  209. #block-header{
  210. margin-right: 1em;
  211. padding-left: 1em;
  212. border-left: 1px solid #000;
  213. ul.menu{
  214. margin:0;
  215. li{
  216. padding:0;
  217. display: inline-block;
  218. &:not(:first-of-type){
  219. margin-left: 0.5em;
  220. }
  221. a{
  222. @extend %header-fs;
  223. }
  224. }
  225. }
  226. }
  227. #block-languageswitcher{
  228. text-align: right;
  229. h2{
  230. margin: 0.1em 0 0 0;
  231. font-size: 0.756em;
  232. font-weight: 400;
  233. padding:0.1em 0.4em 0.2em;
  234. border-radius: 3px;
  235. background-color: #444;
  236. color: #fff;
  237. display: inline-block;
  238. vertical-align: top;
  239. }
  240. &>ul.links{
  241. // background-color: #fff;
  242. overflow: hidden;
  243. width:3.5em;
  244. // display: inline-block;
  245. height:1px;
  246. padding:0.01em 0;
  247. margin:0;
  248. box-sizing:content-box;
  249. transition: all 0.4s ease-in-out;
  250. // outline: 1px solid blue;
  251. // transition-delay: 2s;
  252. }
  253. &:hover{
  254. &>ul.links{
  255. transition-delay: 0s;
  256. height:2em;
  257. padding:0.3em 0;
  258. // box-shadow: 0 0 10px #ccc;
  259. }
  260. }
  261. li{
  262. list-style: none;
  263. padding:0;
  264. display: inline-block;
  265. &.is-active{
  266. display:none;
  267. }
  268. a{
  269. margin: 0;
  270. font-size: 0.756em;
  271. font-weight: 400;
  272. padding:0.2em 0.4em;
  273. border-radius: 3px;
  274. background-color: #444;
  275. color: #fff;
  276. }
  277. }
  278. }
  279. // header bottom
  280. #block-pagetitle{
  281. float: left;
  282. padding:1em 0;
  283. h2{
  284. margin:0;
  285. font-size: 1.512em;
  286. text-transform: capitalize;
  287. font-weight: 300;
  288. body:not(.path-home) & {
  289. padding:0.5em 1em;
  290. }
  291. body.path-blabla & {
  292. color: #fff;
  293. background-color: $color-blabla;
  294. }
  295. body.path-showrooms & {
  296. color: #fff;
  297. background-color: $color-showrooms;
  298. }
  299. body.path-base & {
  300. color: #fff;
  301. background-color: $color-base;
  302. }
  303. }
  304. }
  305. #block-materiosapisearchblock{
  306. float:right;
  307. display:inline-block;
  308. // box-shadow: 0 0 5px rgba(0,0,0,0.2);
  309. padding:0;
  310. #materio-sapi-search-form{
  311. .form-item, input.button{
  312. display: inline-block;
  313. }
  314. #edit-search{
  315. border:1px #BBB solid;
  316. border-radius: 14px;
  317. padding:0.3em;
  318. color:#666;
  319. }
  320. #edit-submit{
  321. border:0;
  322. text-indent: 50px;
  323. overflow: hidden;
  324. width:20px; height:20px;
  325. margin:0;
  326. // border-radius: 7px;
  327. background-image: url('../img/search.png');
  328. background-position: center;
  329. background-repeat: no-repeat;
  330. background-size: contain;
  331. }
  332. }
  333. }
  334. }
  335. // main
  336. aside.messages{
  337. padding: 0;
  338. }
  339. // content top
  340. // #content-top{
  341. // &:after{
  342. // content:"";
  343. // clear:both;
  344. // display: block;
  345. // }
  346. // }
  347. // __ _
  348. // / _|_ _ ___ _ _| |_
  349. // | _| '_/ _ \ ' \ _|
  350. // |_| |_| \___/_||_\__|
  351. article.node--type-frontpage{
  352. %front-col-field__label{
  353. font-size: 3.5em;
  354. line-height: 1;
  355. }
  356. %front-col-descritpion{
  357. font-size: 0.9em;
  358. line-height: 1.3;
  359. }
  360. %part-centered-layout{
  361. padding:1.5em 0;
  362. background-color: #fff;
  363. >div:nth-child(1){
  364. width:80%;
  365. margin: 0 auto;
  366. text-align: center;
  367. .field__label{
  368. @extend %front-col-field__label;
  369. }
  370. .field__item{
  371. @extend %front-col-descritpion;
  372. }
  373. }
  374. }
  375. %part-columned-layout{
  376. display:grid;
  377. grid-template-columns: 300px 1fr;
  378. grid-column-gap: 2em;
  379. padding:2em 1em;
  380. >div:nth-child(1){
  381. color: #fff;
  382. grid-column: 1;
  383. .field__label{
  384. @extend %front-col-field__label;
  385. }
  386. .field__item{
  387. @extend %front-col-descritpion;
  388. }
  389. }
  390. >div:nth-child(2){
  391. grid-column: 2;
  392. }
  393. }
  394. .node__content{
  395. &>section{
  396. &.home-intro{
  397. @extend %part-centered-layout;
  398. }
  399. &.home-database{
  400. background-color: $color-base;
  401. @extend %part-columned-layout;
  402. .field--name-field-a-database{}
  403. .cards-list-home{
  404. position: relative;
  405. // max-height: (130px*1.4)*3;
  406. max-height: 580px;
  407. overflow-y: hidden;
  408. ul{
  409. width:100%;
  410. margin:0; padding:0;
  411. display: grid;
  412. grid-template-columns: repeat(auto-fill, minmax(50px, 130px));
  413. grid-template-rows: 1fr;
  414. grid-gap: 1em;
  415. justify-content:start;
  416. li{
  417. position: relative;
  418. list-style: none;
  419. margin:0; padding:0;
  420. padding-top: 140%;
  421. .card{
  422. position:absolute;
  423. top:0; bottom:0;
  424. left:0; right:0;
  425. width: auto;
  426. height: auto;
  427. .field--name-field-short-description{
  428. font-size: 0.756em;
  429. line-height: 0.9;
  430. }
  431. }
  432. }
  433. }
  434. }
  435. }
  436. &.home-showrooms{
  437. background-color: $color-showrooms;
  438. @extend %part-columned-layout;
  439. .field--name-field-showrooms{
  440. }
  441. .field--name-computed-showrooms-reference{
  442. position:relative;
  443. // height:550px;
  444. display: grid;
  445. grid-template-rows: 1fr;
  446. $bp: ($column_width + $column_goutiere )*7;
  447. @media only screen and (max-width: $bp){
  448. grid-template-columns: 1fr;
  449. >.field__item{
  450. grid-column: 1;
  451. }
  452. }
  453. @media only screen and (min-width: $bp + 1px){
  454. grid-template-columns: 1fr 1fr;
  455. grid-gap: 1em;
  456. >.field__item:nth-child(odd){
  457. grid-column: 1;
  458. }
  459. >.field__item:nth-child(even){
  460. grid-column: 2;
  461. }
  462. }
  463. >.field__item{
  464. grid-row: 1;
  465. // position: absolute;
  466. // top:0; left:0;
  467. // width:100%; height:100%;
  468. // overflow: hidden;
  469. .taxonomy-term{
  470. position: relative;
  471. width:100%; height:100%;
  472. div.visuel{
  473. width:100%;
  474. padding-bottom: 10em;
  475. img{
  476. max-width: 100%;
  477. height: auto;
  478. }
  479. }
  480. section.text{
  481. position: absolute;
  482. bottom:0; left:0;
  483. width:100%;
  484. box-sizing:border-box;
  485. padding:1em 0;
  486. background-color:$color-showrooms;
  487. color: #fff;
  488. >*{
  489. // display: inline-block;
  490. font-size: 0.9em;
  491. }
  492. h2,p{
  493. margin:0;
  494. }
  495. }
  496. }
  497. }
  498. }
  499. }
  500. &.home-blabla{
  501. background-color: $color-blabla;
  502. @extend %part-columned-layout;
  503. .cards-list-home{
  504. position: relative;
  505. $bp: ($column_width*2 + $column_goutiere );
  506. overflow-y: hidden;
  507. @media only screen and (max-width: $bp * 6){
  508. max-height: 630px;
  509. }
  510. @media only screen and (min-width: ($bp * 6) + 1px){
  511. max-height: 310px;
  512. }
  513. ul{
  514. width:100%;
  515. margin:0; padding:0;
  516. display: grid;
  517. grid-template-columns: repeat(auto-fill, minmax(80px, $column_width*2));
  518. // grid-template-rows: 1fr;
  519. grid-gap: 1em;
  520. justify-content:start;
  521. li{
  522. position: relative;
  523. list-style: none;
  524. margin:0; padding:0;
  525. padding-top: 67.8%;
  526. overflow: hidden;
  527. .card{
  528. position:absolute;
  529. top:0; bottom:0;
  530. left:0; right:0;
  531. width: auto;
  532. height: auto;
  533. .field--name-title{
  534. font-size: 0.756em;
  535. line-height: 0.9;
  536. }
  537. }
  538. }
  539. }
  540. }
  541. }
  542. &.home-pricing{
  543. @extend %part-centered-layout;
  544. }
  545. }
  546. }
  547. }
  548. // ___ _
  549. // / __|__ _ _ _ __| |___
  550. // | (__/ _` | '_/ _` (_-<
  551. // \___\__,_|_| \__,_/__/
  552. .infinite-loading-container{
  553. .infinite-status-prompt{
  554. i[class^="loading-"]{
  555. width:15px; height:15px;
  556. }
  557. }
  558. }
  559. .cards-list{
  560. position: relative;
  561. .search-info{
  562. font-size: 0.756em;
  563. font-weight: 500;
  564. margin: 0;
  565. padding: 0 0 0.5em 0;
  566. }
  567. &>ul{
  568. // outline: 1px green solid;
  569. margin:0; padding:0;
  570. width: calc(100% + #{$column_goutiere});
  571. &>li{
  572. list-style: none;
  573. margin:0 $column_goutiere $column_goutiere 0; padding:0;
  574. display: inline-block;
  575. vertical-align: top;
  576. }
  577. }
  578. }
  579. article.card{
  580. position: relative;
  581. box-shadow: 0 0 5px rgba(0,0,0,0.2);
  582. width:$column_width; height:$card_height;
  583. &.article{
  584. width:$column_width*2 + $column_goutiere; height:$card_height;
  585. }
  586. // &.card-small{
  587. // width:100px; height:140px;
  588. // }
  589. // focused
  590. // box-shadow: 0 0 7px rgba(0,0,0,0.9);
  591. // &.article{
  592. // width: $column_width * 2 + $column_goutiere;
  593. //
  594. // }
  595. header{
  596. position: absolute;
  597. bottom:0;
  598. z-index:10;
  599. color: #000;
  600. background-color: rgba(255,255,255,0.8);
  601. padding: 0.3em 0.3em;
  602. box-sizing:border-box;
  603. width:100%;
  604. h1, h4{ margin:0; padding:0; }
  605. h1{
  606. font-size: 1.3em;
  607. font-weight: 700;
  608. line-height: 0.85;
  609. margin-bottom: 0.2em;
  610. }
  611. h4{
  612. font-size: 0.882em;
  613. font-weight: 300;
  614. line-height: 1;
  615. // margin-bottom: 0.1em;
  616. }
  617. span.ref{
  618. font-size: 0.693em;
  619. font-weight: 300;
  620. line-height: 1;
  621. }
  622. }
  623. section.images{
  624. position: relative;
  625. &, *{width: 100%; height:100%;}
  626. figure{
  627. margin:0;
  628. position: absolute;
  629. top:0; left:0;
  630. // width: 100%; height:100%;
  631. &:first-of-type{
  632. z-index:5
  633. }
  634. img{
  635. // width: 100%; height:100%;
  636. &.blank{
  637. position: absolute;
  638. top:0; left:0;
  639. z-index: 20;
  640. }
  641. }
  642. }
  643. }
  644. }
  645. // ___ _ _ _
  646. // | _ ) |__ _| |__| |__ _
  647. // | _ \ / _` | '_ \ / _` |
  648. // |___/_\__,_|_.__/_\__,_|
  649. #blabla{
  650. }
  651. #main-content > article.article{
  652. div.cols{
  653. display: grid;
  654. grid-template-rows: 1fr;
  655. grid-template-columns: repeat(6, 1fr);
  656. grid-gap: 1em;
  657. div.col-left{
  658. grid-column: 1;
  659. }
  660. div.col-right{
  661. grid-column: 2/6;
  662. }
  663. }
  664. section.accroche{
  665. figure{
  666. width:$column_width*2 + $column_goutiere;
  667. margin:0 $column_goutiere 0 0;
  668. img{
  669. width:100%;
  670. }
  671. }
  672. }
  673. section.taxonomy{
  674. margin:1em 0;
  675. ul{
  676. margin: 0;
  677. }
  678. li{
  679. display:inline-block;
  680. padding:0 0.5em 0 0;
  681. }
  682. }
  683. div.gallery-wrapper{
  684. .image{
  685. display: inline-block;
  686. width:$column_width;
  687. margin:0 $column_goutiere $column_goutiere*0.6 0;
  688. height:$card_height / 2;
  689. background-size: cover;
  690. }
  691. }
  692. // section.videos{
  693. // ul{
  694. // margin:0; padding:0;
  695. // li{
  696. // margin:0; padding:0;
  697. // display: inline-block;
  698. // width:100%; overflow: hidden;
  699. // }
  700. // }
  701. // }
  702. // section.visuels{
  703. // width:calc(100% + #{$column_goutiere});
  704. // figure{
  705. // position: relative;
  706. // display: inline-block;
  707. // vertical-align: top;
  708. // width:$column_width*2 + $column_goutiere;
  709. // margin:0 $column_goutiere $column_goutiere*0.6 0;
  710. // img{
  711. // width:100%;
  712. // }
  713. // caption{
  714. // position: absolute; bottom: 0; left:0;
  715. // box-sizing: border-box; width: 100%; padding:0.5em;
  716. // background-color: $transparent-bg-blk; color: #fff;
  717. // }
  718. // }
  719. // }
  720. aside.linked-materials{
  721. ul{
  722. width:calc(100% + #{$column_goutiere});
  723. li{
  724. display: inline-block;
  725. vertical-align: top;
  726. width:$column_width;
  727. margin:0 $column_goutiere 0 0;
  728. }
  729. }
  730. h3.field__label{
  731. font-size: 1em;
  732. font-weight: 500;
  733. margin: 2em 0 1em 0;
  734. }
  735. h1.title{
  736. font-size: 1em;
  737. font-weight: 400;
  738. }
  739. h3.ref{
  740. font-size: 0.756em;
  741. font-weight: 600;
  742. }
  743. h2.description{
  744. font-size: 0.756em;
  745. font-weight: 400;
  746. }
  747. }
  748. nav.prevnext{
  749. &.bottom{
  750. margin:2em 0;
  751. }
  752. ul{
  753. padding:0;
  754. margin:0;
  755. display: grid;
  756. grid-template-columns: 1fr 1fr;
  757. }
  758. li{
  759. padding:0;
  760. margin:0;
  761. list-style: none;
  762. a{
  763. font-size: 0.756em;
  764. font-weight: 700;
  765. }
  766. &:nth-child(1){
  767. grid-column: 1;
  768. a:before{
  769. content:'< ';
  770. }
  771. }
  772. &:nth-child(2){
  773. grid-column: 2;
  774. text-align: right;
  775. a:after{
  776. content:' >';
  777. }
  778. }
  779. }
  780. }
  781. }
  782. // ___ _
  783. // / __| |_ _____ __ ___ _ ___ ___ _ __ ___
  784. // \__ \ ' \/ _ \ V V / '_/ _ \/ _ \ ' \(_-<
  785. // |___/_||_\___/\_/\_/|_| \___/\___/_|_|_/__/
  786. #showrooms{
  787. width: calc(100% + #{$column_goutiere});
  788. article.showroom{
  789. width: $column_width * 2 + $column_goutiere;
  790. display: inline-block;
  791. vertical-align: top;
  792. margin: 0 $column_goutiere $column_goutiere 0;
  793. h1{
  794. margin:0;
  795. font-weight: 4;
  796. }
  797. p{ margin:0; }
  798. figure{
  799. margin:0;
  800. img{
  801. max-width: 100%;
  802. }
  803. }
  804. }
  805. }