app.scss 15 KB

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