app.scss 19 KB

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