app.scss 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  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/colors';
  10. @import 'base/shared_variables';
  11. @import 'base/grid';
  12. @import 'base/layout';
  13. @import 'base/fonts';
  14. // header
  15. .layout-container{
  16. pointer-events: none;
  17. }
  18. header[role="banner"]{
  19. padding:0 0 1em 0;
  20. border-bottom: 1px solid red;
  21. pointer-events: all;
  22. }
  23. @mixin spining-loader-square{
  24. @keyframes rotation {
  25. from {transform: rotate(0deg);}
  26. to {transform: rotate(359deg);}
  27. }
  28. animation: rotation 2s infinite linear;
  29. }
  30. #block-edlptheme-branding{
  31. display: inline-block;
  32. h1{
  33. margin:0; display: inline-block;
  34. font-size: 1.5em;
  35. text-transform: lowercase;
  36. a{
  37. $col_w:3.74em;
  38. $col_gap:2em;
  39. line-height: 0.93;
  40. text-align: center;
  41. color: inherit;
  42. text-decoration: none;
  43. display: inline-block;
  44. columns:$col_w 2;
  45. column-gap: $col_gap;
  46. word-break:break-all;
  47. hyphens:auto;
  48. position: relative;
  49. &:after, &:before{
  50. content: '';
  51. position: absolute;
  52. top:50%;
  53. height:0;
  54. }
  55. &:before{
  56. left:$col_w;
  57. border-bottom:0.08em solid #000;
  58. width:2.5em;
  59. transform: rotateZ(-45deg);
  60. }
  61. &:after{
  62. $w:0.5em;
  63. top:47%;
  64. left:($col_w+$col_gap/2);
  65. border-top:0.2em solid red;
  66. width:$w;
  67. transform: rotateZ(45deg);
  68. }
  69. }
  70. }
  71. }
  72. #block-mainnavigation{
  73. float:right;
  74. ul{
  75. margin:0; padding: 0;
  76. white-space: nowrap;
  77. li{
  78. margin:0; padding:0;
  79. display: inline-block;
  80. a{
  81. font-size: 0.756em;
  82. color:inherit;
  83. text-decoration: none;
  84. text-transform: uppercase;
  85. margin-left: 1em;
  86. &:before{
  87. content: "";
  88. display:inline-block;
  89. $sq:0.6em;
  90. width: $sq; height:$sq;
  91. border: 1px solid #000;
  92. margin-right: 0.3em;
  93. }
  94. &.ajax-loading:before{
  95. @include spining-loader-square;
  96. }
  97. &.is-active:before,
  98. &:hover:before{
  99. border-color: red;
  100. background-color: red;
  101. }
  102. }
  103. }
  104. }
  105. }
  106. // main
  107. main[role="main"]{
  108. .layout-content{
  109. pointer-events: none;
  110. .row{
  111. pointer-events: none;
  112. height:100%;
  113. overflow: hidden;
  114. .col{
  115. pointer-events: none;
  116. height: 100%;
  117. position: relative;
  118. &>.wrapper{
  119. pointer-events:all;
  120. position: relative;
  121. box-sizing: border-box;
  122. border-top: 1px solid red;
  123. border-bottom: 1px solid red;
  124. background-color: $transparent-bg;
  125. max-height: 100%; // this is not working :(
  126. padding:0 0 1em;
  127. &>*{
  128. padding:0 1em;
  129. }
  130. }
  131. }
  132. }
  133. }
  134. article.node>h2{
  135. @include content_titles;
  136. }
  137. article.node p{
  138. @include content_courant;
  139. }
  140. img{
  141. max-width: 100%;
  142. height: auto;
  143. }
  144. ul, li, ul.inline li:first-child{
  145. margin:0; padding:0;
  146. list-style: none;
  147. }
  148. // ajax loading effects
  149. .layout-content{
  150. transition: opacity 0.5s ease-in-out;
  151. opacity: 1;
  152. }
  153. body.ajax-loading &{
  154. .layout-content{
  155. opacity:0.2;
  156. }
  157. &:before{
  158. content:"";
  159. display: block;
  160. position: absolute;
  161. z-index: 10;
  162. $s:60px;
  163. width:$s; height:$s;
  164. top:calc(50% - #{$s/2}); left:calc(50% - #{$s/2});
  165. background-color: white;
  166. background-image: url(../../img/edlp-loader-anim.svg);
  167. background-size: 50%;
  168. background-repeat: no-repeat;
  169. background-position: center;
  170. border-radius: $s/2;
  171. }
  172. }
  173. }
  174. // _ _ _ _ _
  175. // /_\ (_)__ ___ __ | \| |___ __| |___
  176. // / _ \ | / _` \ \ / | .` / _ \/ _` / -_)
  177. // /_/ \_\/ \__,_/_\_\ |_|\_\___/\__,_\___|
  178. // |__/
  179. // body.path-edlp-node main{
  180. // main .col>.wrapper, .edlp-ajax-node{
  181. // height: 100%;
  182. // }
  183. // }
  184. // _ _
  185. // /_\ __ _ ___ _ _ __| |__ _
  186. // / _ \/ _` / -_) ' \/ _` / _` |
  187. // /_/ \_\__, \___|_||_\__,_\__,_|
  188. // |___/
  189. body.path-agenda main .col{
  190. &>.wrapper{
  191. height:100%;
  192. }
  193. }
  194. #agenda{
  195. position: relative;
  196. white-space: nowrap;
  197. height: 100%;
  198. div.column{
  199. white-space: normal;
  200. display: inline-block;
  201. vertical-align: top;
  202. height:100%;
  203. }
  204. div.next-event{
  205. width:65%;
  206. }
  207. div.future-past-events{
  208. width:33%;
  209. }
  210. ul,li{
  211. margin:0; padding:0;
  212. list-style: none;
  213. }
  214. article.node--type-evenement{
  215. h2{ @include content_titles; }
  216. }
  217. }
  218. // ___ _ _ _
  219. // | _ \_ _ ___ __| |_ _ __| |_(_)___ _ _ ___
  220. // | _/ '_/ _ \/ _` | || / _| _| / _ \ ' \(_-<
  221. // |_| |_| \___/\__,_|\_,_\__|\__|_\___/_||_/__/
  222. body.path-productions{
  223. .layout-content .row{
  224. white-space: normal;
  225. .col{
  226. height:auto;
  227. &.col-2:last-child{
  228. padding-left: 0em;
  229. padding-right: 1em;
  230. }
  231. >.wrapper{
  232. margin-bottom: 1em;
  233. padding:0;
  234. >*{padding:0;}
  235. article.node{
  236. .field--name-field-visuel{
  237. a,img{
  238. display: block;
  239. width: 100%; height:auto;
  240. }
  241. }
  242. header{
  243. background-color: rgba(255,255,255,0.95);
  244. padding:0.5em 1em;
  245. h2.node-title{
  246. margin:0;
  247. }
  248. p{margin: 0;}
  249. }
  250. &.node--view-mode-image-2-columns{
  251. header{
  252. position: absolute;
  253. bottom: 0; left:0;
  254. h2.node-title{
  255. font-size: 1.6em;
  256. font-weight: 500;
  257. }
  258. }
  259. }
  260. &.node--view-mode-image-1-columns{
  261. h2.node-title{
  262. font-size: 1.2em;
  263. font-weight: 500;
  264. }
  265. }
  266. &.node--view-mode-text-1-column{
  267. padding:0 1em;
  268. }
  269. }
  270. }
  271. }
  272. }
  273. }
  274. // ___ _
  275. // | __|__ ___| |_ ___ _ _
  276. // | _/ _ \/ _ \ _/ -_) '_|
  277. // |_|\___/\___/\__\___|_|
  278. @mixin oblique-list {
  279. display: inline-block;
  280. position: relative;
  281. list-style: none;
  282. margin: 0 1.5em 0 0;
  283. // width:2em; height:10em;
  284. padding: 0;
  285. a{
  286. position: absolute;
  287. bottom: 0;
  288. transform-origin: left bottom;
  289. transform: rotateZ(-45deg);
  290. color: #000;
  291. text-decoration: none;
  292. text-transform: uppercase;
  293. font-size: 0.756em;
  294. white-space: nowrap;
  295. }
  296. }
  297. footer{
  298. // text-align: center;
  299. display: table;
  300. padding: 0 0 0.5em 0;
  301. >.region{
  302. display: table-cell;
  303. white-space: nowrap;
  304. pointer-events: all;
  305. // outline: 1px dotted purple;
  306. // position: relative;
  307. }
  308. .region-footer-left{text-align: left;}
  309. .region-footer-center{text-align: center;}
  310. .region-footer-right{text-align: right;min-width: 30px;}
  311. nav.block-menu{
  312. display: inline-block;
  313. ul{
  314. margin:0;
  315. padding:0;
  316. li{
  317. @include oblique-list;
  318. }
  319. }
  320. }
  321. .block-language{
  322. display: inline-block;
  323. position: relative;
  324. ul{
  325. position: absolute;
  326. bottom:0;
  327. margin:0;
  328. padding:0;
  329. transform-origin: left bottom;
  330. transform: rotateZ(-45deg);
  331. white-space: nowrap;
  332. li{
  333. margin:0; padding:0;
  334. list-style: none;
  335. display: inline-block;
  336. &:last-of-type{
  337. &:before{
  338. content:"/";
  339. margin:0 0.2em;
  340. }
  341. }
  342. a{
  343. color: inherit;
  344. text-decoration: none;
  345. font-size: 0.756em;
  346. }
  347. &.is-active{
  348. a{color: red;}
  349. }
  350. }
  351. }
  352. }
  353. #block-productions{
  354. body:not(.path-productions) & {display:none}
  355. ul{
  356. white-space: nowrap;
  357. li{
  358. a{
  359. // outline: 1px solid blue;
  360. pointer-events: all;
  361. background-color: #fff;
  362. padding-right: 0.4em;
  363. &:before{
  364. content: "";
  365. display:inline-block;
  366. $sq:7px;
  367. width: $sq; height:$sq;
  368. border: 1px solid red;
  369. margin-right: 0.5em;
  370. }
  371. &:hover:before{
  372. background-color: red;
  373. }
  374. &.ajax-loading:before{
  375. @include spining-loader-square;
  376. }
  377. }
  378. }
  379. }
  380. }
  381. .block-block-edlp-entrees{
  382. body:not(.path-frontpage) & {display:none}
  383. display: inline-block;
  384. // vertical-align: top;
  385. ul{
  386. white-space: nowrap;
  387. li{
  388. @include oblique-list;
  389. margin:0;
  390. white-space: nowrap;
  391. pointer-events: none;
  392. span.oblique-wrapper{
  393. display: inline-block;
  394. vertical-align: bottom;
  395. position: relative;
  396. width:1.5em;
  397. }
  398. a.term-link{
  399. // outline: 1px solid blue;
  400. pointer-events: all;
  401. background-color: #fff;
  402. padding-right: 0.4em;
  403. &:before{
  404. content: "";
  405. display:inline-block;
  406. $sq:7px;
  407. width: $sq; height:$sq;
  408. border: 1px solid #000;
  409. margin-right: 0.5em;
  410. }
  411. }
  412. .entree-content{
  413. display: inline-block;
  414. // outline: 1px solid green;
  415. width:0;
  416. overflow: hidden;
  417. opacity: 0;
  418. transition: all 300ms ease-in-out;
  419. transition-property: width,opacity;
  420. span.oblique-wrapper:first-of-type{
  421. margin-left: 0.5em;
  422. }
  423. span.oblique-wrapper a{
  424. text-transform: none;
  425. pointer-events: auto;
  426. &:before{
  427. content: "";
  428. display:inline-block;
  429. $sq:5px;
  430. width: $sq; height:$sq;
  431. border: 1px solid #000;
  432. margin-right: 0.5em;
  433. }
  434. }
  435. .term-description{
  436. display: inline-block;
  437. margin-left: 1.5em;
  438. text-align: left;
  439. width:250px;
  440. word-wrap:break-word;
  441. // word-break:break-all;
  442. hyphens: auto;
  443. white-space: normal;
  444. background-color: $transparent-bg;
  445. padding:0.5em;
  446. padding-bottom:0;
  447. p{
  448. font-size: 0.65em;
  449. margin:0;
  450. }
  451. }
  452. }
  453. &[tid='134']{
  454. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  455. border-color: $e_col_134;background-color: $e_col_134;}}
  456. &[tid='121']{
  457. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  458. border-color: $e_col_121;background-color: $e_col_121;}}
  459. &[tid='125']{
  460. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  461. border-color: $e_col_125;background-color: $e_col_125;}}
  462. &[tid='119']{
  463. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  464. border-color: $e_col_119;background-color: $e_col_119;}}
  465. &[tid='132']{
  466. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  467. border-color: $e_col_132;background-color: $e_col_132;}}
  468. &[tid='122']{
  469. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  470. border-color: $e_col_122;background-color: $e_col_122;}}
  471. &[tid='129']{
  472. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  473. border-color: $e_col_129;background-color: $e_col_129;}}
  474. &[tid='120']{
  475. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  476. border-color: $e_col_120;background-color: $e_col_120;}}
  477. &[tid='130']{
  478. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  479. border-color: $e_col_130;background-color: $e_col_130;}}
  480. &[tid='118']{
  481. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  482. border-color: $e_col_118;background-color: $e_col_118;}}
  483. &[tid='127']{
  484. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  485. border-color: $e_col_127;background-color: $e_col_127;}}
  486. &[tid='133']{
  487. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  488. border-color: $e_col_133;background-color: $e_col_133;}}
  489. &[tid='128']{
  490. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  491. border-color: $e_col_128;background-color: $e_col_128;}}
  492. &[tid='124']{
  493. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  494. border-color: $e_col_124;background-color: $e_col_124;}}
  495. &[tid='116']{
  496. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  497. border-color: $e_col_116;background-color: $e_col_116;}}
  498. &[tid='117']{
  499. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  500. border-color: $e_col_117;background-color: $e_col_117;}}
  501. &[tid='131']{
  502. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  503. border-color: $e_col_131;background-color: $e_col_131;}}
  504. &[tid='126']{
  505. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  506. border-color: $e_col_126;background-color: $e_col_126;}}
  507. &[tid='123']{
  508. a.term-link:before, .entree-content span.oblique-wrapper a:before{
  509. border-color: $e_col_123;background-color: $e_col_123;}}
  510. // &.highlighted{
  511. // a.term_link{
  512. // color: red;
  513. // }
  514. // }
  515. .entree-content span.oblique-wrapper a:not(:hover):before{background-color: #fff!important;}
  516. &:not(.opened){
  517. a.term-link:not(:hover):not(.highlighted):before{
  518. background-color: #fff!important;
  519. }
  520. }
  521. &.opened{
  522. // outline: 1px solid purple;
  523. a.term-link:after {
  524. content: '';
  525. position: absolute;
  526. left: 15px; right:0;
  527. bottom: -3px;
  528. border-bottom: 1px solid grey;
  529. }
  530. .entree-content{
  531. width:350px;
  532. opacity: 1;
  533. }
  534. }
  535. // &:not(:first-of-type) .entree-content{display: none;}
  536. }
  537. }
  538. }
  539. #block-userlogin{
  540. // outline: 1px solid blue;
  541. $wh:20px;
  542. position: relative;
  543. width:$wh; height: $wh;
  544. // background-color: blue;
  545. h2{
  546. position: relative;
  547. width:$wh; height:$wh;
  548. background-image: url(../../img/user.svg);
  549. // background-color: red;
  550. background-size: contain;
  551. text-indent: $wh*2;
  552. margin: 0;
  553. overflow: hidden;
  554. z-index: 1;
  555. cursor: pointer;
  556. }
  557. .block-content{
  558. z-index: 0;
  559. position:absolute;
  560. right:0;bottom:$wh;
  561. padding:0.5em;
  562. padding-bottom: 20px;
  563. background-color: $transparent-bg;
  564. overflow: hidden;
  565. box-sizing:border-box;
  566. height: 0px;
  567. opacity:0;
  568. pointer-events:none;
  569. transition: all 0.5s ease-in-out;
  570. transition-property: height,opacity;
  571. // &:hover{
  572. // height:200px;
  573. // opacity:1;
  574. // pointer-events: auto;
  575. // }
  576. form{
  577. font-size: 0.75em;
  578. }
  579. .item-list{
  580. ul{margin:0;}
  581. li{
  582. margin:0;
  583. list-style: none;
  584. a{
  585. color: inherit;
  586. text-decoration: none;
  587. font-size: 0.75em;
  588. white-space:nowrap;
  589. }
  590. }
  591. }
  592. }
  593. &:hover{
  594. .block-content{
  595. height:200px;
  596. opacity: 1;
  597. pointer-events:auto;
  598. }
  599. }
  600. }
  601. }