main.scss 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731
  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. }
  126. // menu
  127. #block-header{
  128. margin-right: 1em;
  129. padding-left: 1em;
  130. border-left: 1px solid #000;
  131. ul.menu{
  132. margin:0;
  133. li{
  134. padding:0;
  135. display: inline-block;
  136. &:not(:first-of-type){
  137. margin-left: 0.5em;
  138. }
  139. a{
  140. @extend %header-fs;
  141. }
  142. }
  143. }
  144. }
  145. #block-languageswitcher{
  146. text-align: right;
  147. h2{
  148. margin: 0.1em 0 0 0;
  149. font-size: 0.756em;
  150. font-weight: 400;
  151. padding:0.1em 0.4em 0.2em;
  152. border-radius: 3px;
  153. background-color: #444;
  154. color: #fff;
  155. display: inline-block;
  156. vertical-align: top;
  157. }
  158. &>ul.links{
  159. // background-color: #fff;
  160. overflow: hidden;
  161. width:3.5em;
  162. // display: inline-block;
  163. height:1px;
  164. padding:0.01em 0;
  165. margin:0;
  166. box-sizing:content-box;
  167. transition: all 0.4s ease-in-out;
  168. // outline: 1px solid blue;
  169. // transition-delay: 2s;
  170. }
  171. &:hover{
  172. &>ul.links{
  173. transition-delay: 0s;
  174. height:2em;
  175. padding:0.3em 0;
  176. // box-shadow: 0 0 10px #ccc;
  177. }
  178. }
  179. li{
  180. list-style: none;
  181. padding:0;
  182. display: inline-block;
  183. &.is-active{
  184. display:none;
  185. }
  186. a{
  187. margin: 0;
  188. font-size: 0.756em;
  189. font-weight: 400;
  190. padding:0.2em 0.4em;
  191. border-radius: 3px;
  192. background-color: #444;
  193. color: #fff;
  194. }
  195. }
  196. }
  197. // header bottom
  198. #block-pagetitle{
  199. float: left;
  200. padding:1em 0;
  201. h2{
  202. margin:0;
  203. font-size: 1.512em;
  204. text-transform: capitalize;
  205. font-weight: 300;
  206. body:not(.path-home) & {
  207. padding:0.5em 1em;
  208. }
  209. body.path-blabla & {
  210. color: #fff;
  211. background-color: $color-blabla;
  212. }
  213. body.path-showrooms & {
  214. color: #fff;
  215. background-color: $color-showrooms;
  216. }
  217. body.path-base & {
  218. color: #fff;
  219. background-color: $color-base;
  220. }
  221. }
  222. }
  223. #block-materiosapisearchblock{
  224. float:right;
  225. display:inline-block;
  226. // box-shadow: 0 0 5px rgba(0,0,0,0.2);
  227. padding:0;
  228. #materio-sapi-search-form{
  229. .form-item, input.button{
  230. display: inline-block;
  231. }
  232. #edit-search{
  233. border:1px #BBB solid;
  234. border-radius: 14px;
  235. padding:0.3em;
  236. color:#666;
  237. }
  238. #edit-submit{
  239. border:0;
  240. text-indent: 50px;
  241. overflow: hidden;
  242. width:20px; height:20px;
  243. margin:0;
  244. // border-radius: 7px;
  245. background-image: url('../img/search.png');
  246. background-position: center;
  247. background-repeat: no-repeat;
  248. background-size: contain;
  249. }
  250. }
  251. }
  252. }
  253. // main
  254. aside.messages{
  255. padding: 0;
  256. }
  257. // content top
  258. // #content-top{
  259. // &:after{
  260. // content:"";
  261. // clear:both;
  262. // display: block;
  263. // }
  264. // }
  265. // __ _
  266. // / _|_ _ ___ _ _| |_
  267. // | _| '_/ _ \ ' \ _|
  268. // |_| |_| \___/_||_\__|
  269. article.node--type-frontpage{
  270. %front-col-field__label{
  271. font-size: 3.5em;
  272. line-height: 1;
  273. }
  274. %front-col-descritpion{
  275. font-size: 0.9em;
  276. line-height: 1.3;
  277. }
  278. %part-centered-layout{
  279. padding:1.5em 0;
  280. background-color: #fff;
  281. >div:nth-child(1){
  282. width:80%;
  283. margin: 0 auto;
  284. text-align: center;
  285. .field__label{
  286. @extend %front-col-field__label;
  287. }
  288. .field__item{
  289. @extend %front-col-descritpion;
  290. }
  291. }
  292. }
  293. %part-columned-layout{
  294. display:grid;
  295. grid-template-columns: 300px 1fr;
  296. grid-column-gap: 2em;
  297. padding:2em 1em;
  298. >div:nth-child(1){
  299. color: #fff;
  300. grid-column: 1;
  301. .field__label{
  302. @extend %front-col-field__label;
  303. }
  304. .field__item{
  305. @extend %front-col-descritpion;
  306. }
  307. }
  308. >div:nth-child(2){
  309. grid-column: 2;
  310. }
  311. }
  312. .node__content{
  313. &>section{
  314. &.home-intro{
  315. @extend %part-centered-layout;
  316. }
  317. &.home-database{
  318. background-color: $color-base;
  319. @extend %part-columned-layout;
  320. .field--name-field-a-database{}
  321. .cards-list-home{
  322. position: relative;
  323. // max-height: (130px*1.4)*3;
  324. max-height: 580px;
  325. overflow-y: hidden;
  326. ul{
  327. width:100%;
  328. margin:0; padding:0;
  329. display: grid;
  330. grid-template-columns: repeat(auto-fill, minmax(50px, 130px));
  331. grid-template-rows: 1fr;
  332. grid-gap: 1em;
  333. justify-content:start;
  334. li{
  335. position: relative;
  336. list-style: none;
  337. margin:0; padding:0;
  338. padding-top: 140%;
  339. .card{
  340. position:absolute;
  341. top:0; bottom:0;
  342. left:0; right:0;
  343. width: auto;
  344. height: auto;
  345. .field--name-field-short-description{
  346. font-size: 0.756em;
  347. line-height: 0.9;
  348. }
  349. }
  350. }
  351. }
  352. }
  353. }
  354. &.home-showrooms{
  355. background-color: $color-showrooms;
  356. @extend %part-columned-layout;
  357. .field--name-field-showrooms{
  358. }
  359. .field--name-computed-showrooms-reference{
  360. position:relative;
  361. // height:550px;
  362. display: grid;
  363. grid-template-rows: 1fr;
  364. $bp: ($column_width + $column_goutiere )*7;
  365. @media only screen and (max-width: $bp){
  366. grid-template-columns: 1fr;
  367. >.field__item{
  368. grid-column: 1;
  369. }
  370. }
  371. @media only screen and (min-width: $bp + 1px){
  372. grid-template-columns: 1fr 1fr;
  373. grid-gap: 1em;
  374. >.field__item:nth-child(odd){
  375. grid-column: 1;
  376. }
  377. >.field__item:nth-child(even){
  378. grid-column: 2;
  379. }
  380. }
  381. >.field__item{
  382. grid-row: 1;
  383. // position: absolute;
  384. // top:0; left:0;
  385. // width:100%; height:100%;
  386. // overflow: hidden;
  387. .taxonomy-term{
  388. position: relative;
  389. width:100%; height:100%;
  390. div.visuel{
  391. width:100%;
  392. padding-bottom: 10em;
  393. img{
  394. max-width: 100%;
  395. height: auto;
  396. }
  397. }
  398. section.text{
  399. position: absolute;
  400. bottom:0; left:0;
  401. width:100%;
  402. box-sizing:border-box;
  403. padding:1em 0;
  404. background-color:$color-showrooms;
  405. color: #fff;
  406. >*{
  407. // display: inline-block;
  408. font-size: 0.9em;
  409. }
  410. h2,p{
  411. margin:0;
  412. }
  413. }
  414. }
  415. }
  416. }
  417. }
  418. &.home-blabla{
  419. background-color: $color-blabla;
  420. @extend %part-columned-layout;
  421. .cards-list-home{
  422. position: relative;
  423. $bp: ($column_width + $column_goutiere );
  424. overflow-y: hidden;
  425. @media only screen and (max-width: $bp * 6){
  426. max-height: 630px;
  427. }
  428. @media only screen and (min-width: ($bp * 6) + 1px){
  429. max-height: 310px;
  430. }
  431. ul{
  432. width:100%;
  433. margin:0; padding:0;
  434. display: grid;
  435. grid-template-columns: repeat(auto-fill, minmax(80px, 220px));
  436. // grid-template-rows: 1fr;
  437. grid-gap: 1em;
  438. justify-content:start;
  439. li{
  440. position: relative;
  441. list-style: none;
  442. margin:0; padding:0;
  443. padding-top: 140%;
  444. overflow: hidden;
  445. .card{
  446. position:absolute;
  447. top:0; bottom:0;
  448. left:0; right:0;
  449. width: auto;
  450. height: auto;
  451. .field--name-title{
  452. font-size: 0.756em;
  453. line-height: 0.9;
  454. }
  455. }
  456. }
  457. }
  458. }
  459. }
  460. &.home-pricing{
  461. @extend %part-centered-layout;
  462. }
  463. }
  464. }
  465. }
  466. // ___ _
  467. // / __|__ _ _ _ __| |___
  468. // | (__/ _` | '_/ _` (_-<
  469. // \___\__,_|_| \__,_/__/
  470. .infinite-loading-container{
  471. .infinite-status-prompt{
  472. i[class^="loading-"]{
  473. width:15px; height:15px;
  474. }
  475. }
  476. }
  477. .cards-list{
  478. position: relative;
  479. .search-info{
  480. font-size: 0.756em;
  481. font-weight: 500;
  482. margin: 0;
  483. padding: 0 0 0.5em 0;
  484. }
  485. &>ul{
  486. // outline: 1px green solid;
  487. margin:0; padding:0;
  488. width: calc(100% + #{$column_goutiere});
  489. &>li{
  490. list-style: none;
  491. margin:0 $column_goutiere $column_goutiere 0; padding:0;
  492. display: inline-block;
  493. vertical-align: top;
  494. }
  495. }
  496. }
  497. article.card{
  498. position: relative;
  499. box-shadow: 0 0 5px rgba(0,0,0,0.2);
  500. width:$column_width; height:295px;
  501. // &.card-small{
  502. // width:100px; height:140px;
  503. // }
  504. // focused
  505. // box-shadow: 0 0 7px rgba(0,0,0,0.9);
  506. // &.article{
  507. // width: $column_width * 2 + $column_goutiere;
  508. //
  509. // }
  510. header{
  511. position: absolute;
  512. bottom:0;
  513. z-index:10;
  514. color: #000;
  515. background-color: rgba(255,255,255,0.8);
  516. padding: 0.3em 0.3em;
  517. box-sizing:border-box;
  518. width:100%;
  519. h1, h4{ margin:0; padding:0; }
  520. h1{
  521. font-size: 1.3em;
  522. font-weight: 700;
  523. line-height: 0.85;
  524. margin-bottom: 0.2em;
  525. }
  526. h4{
  527. font-size: 0.882em;
  528. font-weight: 300;
  529. line-height: 1;
  530. // margin-bottom: 0.1em;
  531. }
  532. span.ref{
  533. font-size: 0.693em;
  534. font-weight: 300;
  535. line-height: 1;
  536. }
  537. }
  538. section.images{
  539. position: relative;
  540. &, *{width: 100%; height:100%;}
  541. figure{
  542. margin:0;
  543. position: absolute;
  544. top:0; left:0;
  545. // width: 100%; height:100%;
  546. &:first-of-type{
  547. z-index:5
  548. }
  549. img{
  550. // width: 100%; height:100%;
  551. &.blank{
  552. position: absolute;
  553. top:0; left:0;
  554. z-index: 20;
  555. }
  556. }
  557. }
  558. }
  559. }
  560. // ___ _ _ _
  561. // | _ ) |__ _| |__| |__ _
  562. // | _ \ / _` | '_ \ / _` |
  563. // |___/_\__,_|_.__/_\__,_|
  564. #blabla{
  565. }
  566. #main-content > article.article{
  567. section.taxonomy{
  568. ul{
  569. margin:1em 0 0;
  570. }
  571. li{
  572. display:inline-block;
  573. padding:0 0.5em 0 0;
  574. }
  575. }
  576. section.visuels{
  577. width:calc(100% + #{$column_goutiere});
  578. figure{
  579. display: inline-block;
  580. vertical-align: top;
  581. width:$column_width;
  582. margin:0 $column_goutiere 0 0;
  583. img{
  584. width:100%;
  585. }
  586. }
  587. }
  588. aside.linked-materials{
  589. ul{
  590. width:calc(100% + #{$column_goutiere});
  591. li{
  592. display: inline-block;
  593. vertical-align: top;
  594. width:$column_width;
  595. margin:0 $column_goutiere 0 0;
  596. }
  597. }
  598. h3.field__label{
  599. font-size: 1em;
  600. font-weight: 500;
  601. margin: 2em 0 1em 0;
  602. }
  603. h1.title{
  604. font-size: 1em;
  605. font-weight: 400;
  606. }
  607. h3.ref{
  608. font-size: 0.756em;
  609. font-weight: 600;
  610. }
  611. h2.description{
  612. font-size: 0.756em;
  613. font-weight: 400;
  614. }
  615. }
  616. nav.prevnext{
  617. &.bottom{
  618. margin:2em 0;
  619. }
  620. ul{
  621. padding:0;
  622. margin:0;
  623. display: grid;
  624. grid-template-columns: 1fr 1fr;
  625. }
  626. li{
  627. padding:0;
  628. margin:0;
  629. list-style: none;
  630. a{
  631. font-size: 0.756em;
  632. font-weight: 700;
  633. }
  634. &:nth-child(1){
  635. grid-column: 1;
  636. a:before{
  637. content:'< ';
  638. }
  639. }
  640. &:nth-child(2){
  641. grid-column: 2;
  642. text-align: right;
  643. a:after{
  644. content:' >';
  645. }
  646. }
  647. }
  648. }
  649. }
  650. // ___ _
  651. // / __| |_ _____ __ ___ _ ___ ___ _ __ ___
  652. // \__ \ ' \/ _ \ V V / '_/ _ \/ _ \ ' \(_-<
  653. // |___/_||_\___/\_/\_/|_| \___/\___/_|_|_/__/
  654. #showrooms{
  655. width: calc(100% + #{$column_goutiere});
  656. article.showroom{
  657. width: $column_width * 2 + $column_goutiere;
  658. display: inline-block;
  659. vertical-align: top;
  660. margin: 0 $column_goutiere $column_goutiere 0;
  661. h1{
  662. margin:0;
  663. font-weight: 4;
  664. }
  665. p{ margin:0; }
  666. figure{
  667. margin:0;
  668. img{
  669. max-width: 100%;
  670. }
  671. }
  672. }
  673. }