jee.scss 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534
  1. @charset "UTF-8";
  2. @import "../bower_components/foundation/scss/normalize.scss";
  3. @import "../bower_components/foundation/scss/foundation/functions";
  4. $row-width: rem-calc(1250);
  5. // $total-columns: 12;
  6. $column-gutter: rem-calc(20);
  7. //@import "../bower_components/foundation/scss/foundation/settings"; // this is not working, causing an error on compilation
  8. @import "../bower_components/foundation/scss/foundation/components/global";
  9. @import "../bower_components/foundation/scss/foundation/components/type";
  10. @import "../bower_components/foundation/scss/foundation/components/clearing";
  11. // @import "../bower_components/foundation/scss/foundation/components/inline-lists";
  12. @import "../bower_components/foundation/scss/foundation/components/grid";
  13. // @import "../bower_components/foundation/scss/foundation/components/top-bar";
  14. @import "../bower_components/foundation/scss/foundation/components/block-grid";
  15. // @import "../bower_components/foundation/scss/foundation.scss"; // without importing the whole foundation, the final css files is 75% less heavier
  16. /*
  17. * ESADHaR
  18. */
  19. @import "communs.scss";
  20. @import "fonts.scss";
  21. @import "misc.scss";
  22. /*
  23. __ ________ __ _____ _______
  24. / |/ / _/ |/ // _/ | / / ___/
  25. / /|_/ // / | / / // |/ /\__ \
  26. / / / // / / |_/ // /| /___/ /
  27. /_/ /_/___//_/|_/___/_/ |_//____/
  28. */
  29. @mixin bg-svg-png($img, $r:no-repeat, $x:center, $y:center) {
  30. background: transparent url('../assets/img/#{$img}.png') $r $x $y;
  31. background: none, url('../assets/img/#{$img}.svg') $r $x $y;
  32. }
  33. /*
  34. ___ ____ ____
  35. / | / __ \/ __ \
  36. / /| | / /_/ / /_/ /
  37. / ___ |/ ____/ ____/
  38. /_/ |_/_/ /_/
  39. */
  40. html{
  41. position:relative;
  42. // overflow:hidden;
  43. // height:100%;
  44. }
  45. body{
  46. position:relative;
  47. user-select:none;
  48. height:100%!important;
  49. // min-height:1000px;
  50. width:100%;;
  51. overflow:hidden;
  52. }
  53. #root{
  54. position:relative;
  55. width:100%;
  56. height:100%;
  57. overflow: hidden;
  58. // width:1125px;
  59. // height:900px;
  60. // margin:-450px auto 0;
  61. // top:50%;
  62. /* IE10 Consumer Preview */
  63. background-image: -ms-linear-gradient(top, #FFFDE9 0%, #BECFD9 100%);
  64. /* Mozilla Firefox */
  65. background-image: -moz-linear-gradient(top, #FFFDE9 0%, #BECFD9 100%);
  66. /* Opera */
  67. background-image: -o-linear-gradient(top, #FFFDE9 0%, #BECFD9 100%);
  68. /* Webkit (Safari/Chrome 10) */
  69. background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FFFDE9), color-stop(1, #BECFD9));
  70. /* Webkit (Chrome 11+) */
  71. background-image: -webkit-linear-gradient(top, #FFFDE9 0%, #BECFD9 100%);
  72. /* W3C Markup, IE10 Release Preview */
  73. background-image: linear-gradient(to bottom, #FFFDE9 0%, #BECFD9 100%);
  74. }
  75. @keyframes introLogo{
  76. 0% {opacity:0;}
  77. 35% {opacity:1;}
  78. 50% {opacity:1;}
  79. 75% {opacity:0;}
  80. 100% {opacity:0;}
  81. }
  82. @keyframes introLogoBlured{
  83. 0% {opacity:0;}
  84. 50% {opacity:0;}
  85. 60% {opacity:0.8;}
  86. 100% {opacity:0.8;}
  87. }
  88. @keyframes introSlogan{
  89. 0% {opacity:0;}
  90. 50% {opacity:0;}
  91. 70% {opacity:1;}
  92. 90% {opacity:1;}
  93. 100% {opacity:0;}
  94. }
  95. $animeLogoDuration:8s;
  96. #header{
  97. z-index:1;
  98. position:absolute;
  99. overflow:hidden;
  100. width:700px;
  101. height:310px;
  102. top:50%; left:50%;
  103. margin-left:-350px;
  104. margin-top:-155px;
  105. // transition-property: "transform";
  106. // transition-duration: 0.2s;
  107. // transition-timing-function:ease-out;
  108. animation-fill-mode: forwards;
  109. h1{
  110. position:absolute;
  111. width:100%; height:100%;
  112. a{display:block;margin-top:-500%;}
  113. // filter:url(#blur-effect);
  114. &:after, &:before{
  115. content:"";
  116. display:block;
  117. width:100%; height:100%;
  118. position:absolute;
  119. top:0; left:0;
  120. opacity:0;
  121. }
  122. &:before{
  123. @include bg-svg-png('logo');
  124. animation: introLogo $animeLogoDuration linear 0s;
  125. animation-fill-mode: forwards;
  126. }
  127. &:after{
  128. // background: transparent url('../assets/img/logo-blured.svg') no-repeat center center;
  129. @include bg-svg-png('logo-blured');
  130. animation: introLogoBlured $animeLogoDuration linear 0s;
  131. animation-fill-mode: forwards;
  132. }
  133. }
  134. h2{
  135. // background: transparent url('../assets/img/slogan.svg') no-repeat center center;
  136. @include bg-svg-png('slogan');
  137. position:absolute;
  138. width:100%; height:100%;
  139. a{display:block;margin-top:-500%;}
  140. opacity:0;
  141. animation: introSlogan $animeLogoDuration linear 0s;
  142. animation-fill-mode: forwards;
  143. }
  144. } // #header
  145. div.messages{
  146. position:absolute;
  147. top:20px; right:20px;
  148. width:500px; max-height:60%;
  149. overflow-y:auto;
  150. z-index: 1000;
  151. }
  152. #main{
  153. position:absolute;
  154. width:100%; height:100%;
  155. overflow:hidden;
  156. &>.region, &>.region>.block-system, &>.region>.block-system>.content{
  157. position:relative;
  158. width:100%; height:100%;
  159. overflow:hidden;
  160. }
  161. /*
  162. _____ _____ __ _____ _____ _____ _____ __ __ _____ _____ ____ _____
  163. | | | | | | __ | __| | __ | | | | | | | \| __|
  164. | --| | | |__| | | -|__ | | __ -|_ _| | | | | | | | | __|
  165. |_____|_____|_____|_____|__|__|_____| |_____| |_| |_|___|_____|____/|_____|
  166. */
  167. //SOL
  168. #node-2{
  169. &::after{ @include bg-svg-png('bgd-sol');}
  170. &, a{color:$SOL-col-txt;}
  171. h2.node-title{&,a{color:$SOL-color;}}
  172. .field-name-field-vignette{@include bg-svg-png('shadow-sol');}
  173. .line{background-color:$SOL-col-active;}
  174. }
  175. //DPH
  176. #node-3{
  177. &::after{ @include bg-svg-png('bgd-dph');}
  178. &, a{color:$DPH-col-txt;}
  179. h2.node-title{&,a{color:$DPH-color;}}
  180. .field-name-field-vignette{@include bg-svg-png('shadow-dph');}
  181. .line{background-color:$DPH-col-active;}
  182. }
  183. // SUB
  184. #node-4{
  185. &::after{ @include bg-svg-png('bgd-sub');}
  186. &, a{color:$SUB-col-txt;}
  187. h2.node-title{&,a{color:$SUB-color;}}
  188. .field-name-field-vignette{@include bg-svg-png('shadow-sub');}
  189. .line{background-color:$SUB-col-active;}
  190. }
  191. // BC
  192. #node-5{
  193. &::after{ @include bg-svg-png('bgd-bc');}
  194. &, a{color:$BC-col-txt;}
  195. h2.node-title{&,a{color:$BC-color;}}
  196. .field-name-field-vignette{@include bg-svg-png('shadow-bc');}
  197. .line{background-color:$BC-col-active;}
  198. }
  199. //OPP
  200. #node-6{
  201. &::after{ @include bg-svg-png('bgd-opp');}
  202. &, a{color:$OPP-col-txt;}
  203. h2.node-title{&,a{color:$OPP-color;}}
  204. .field-name-field-vignette{@include bg-svg-png('shadow-opp');}
  205. .line{background-color:$OPP-col-active;}
  206. }
  207. //DUB
  208. #node-7{
  209. &::after{ @include bg-svg-png('bgd-dub');}
  210. &, a{color:$DUB-col-txt;}
  211. h2.node-title{&,a{color:$DUB-color;}}
  212. .field-name-field-vignette{@include bg-svg-png('shadow-dub');}
  213. .line{background-color:$DUB-col-active;}
  214. }
  215. // JUSO
  216. #node-8{
  217. &::after{ @include bg-svg-png('bgd-juso');}
  218. &, a{color:$JUSO-col-txt;}
  219. h2.node-title{&,a{color:$JUSO-color;}}
  220. .field-name-field-vignette{@include bg-svg-png('shadow-juso');}
  221. .line{background-color:$JUSO-col-active;}
  222. }
  223. /*
  224. _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
  225. | | | | _ | _ |_ _| __| __ | __| | __| __| | | __| __ | | | | | __|
  226. | --| | | __| | | | __| -|__ | | | | __| | | | __| -|- -| | | | | __|
  227. |_____|__|__|__|__|__| |_| |_____|__|__|_____| |_____|_____|_|___|_____|__|__|_____|__ _|_____|_____|
  228. |__|
  229. */
  230. .node-chapitre.node-teaser{
  231. z-index: 2;
  232. position:absolute;
  233. /*
  234. _____ __________________ ___ _________________ __________________
  235. / _/ | / /_ __/ ____/ __ \/ | / ____/_ __/ _/ | / / _/_ __/ ____/
  236. / // |/ / / / / __/ / /_/ / /| |/ / / / / / | | / // / / / / __/
  237. _/ // /| / / / / /___/ _, _/ ___ / /___ / / _/ / | |/ // / / / / /___
  238. /___/_/ |_/ /_/ /_____/_/ |_/_/ |_\____/ /_/ /___/ |___/___/ /_/ /_____/
  239. */
  240. /*
  241. ____ _____ _____ _____ _____ __ _____ _____ _____ ____ _____
  242. | \| __| __| _ | | | ||_ _| | | | \| __|
  243. | | | __| __| | | | |__| | | | | | | | | | __|
  244. |____/|_____|__| |__|__|_____|_____|_| |_|_|_|_____|____/|_____|
  245. */
  246. opacity:1;
  247. transition:1s ease-out;
  248. transition-property:opacity;
  249. h2.node-title{
  250. transform:none;
  251. transform-origin:bottom center;
  252. transition:1s ease-out;
  253. transition-property:transform;
  254. z-index:5;
  255. }
  256. >.content{position:relative;}
  257. .texts{
  258. opacity:0; height:1px; overflow:hidden;
  259. transition:1s ease-out;
  260. transition-property:opacity height;
  261. position:absolute;
  262. }
  263. .field-name-field-partie{
  264. opacity:0;
  265. position:absolute;
  266. transition:1s ease-in-out 0.1s;
  267. transition-property: opacity transform;
  268. // just let see the field vignette of first partie
  269. &:nth-child(2){
  270. z-index:2;
  271. opacity:1;
  272. // transition-delay:0;
  273. >.field-type-text{
  274. opacity:0;
  275. transition:1s ease-out 0.9s;
  276. transition-property: opacity;
  277. }
  278. >.field-name-field-vignette{cursor:pointer;z-index:2;}
  279. }
  280. }
  281. &:after{
  282. opacity:0;
  283. transition: 2s ease-in;
  284. transition-property:opacity;
  285. top:1px; left:1px; bottom:2px; right:2px;
  286. }
  287. .line{
  288. // transition: 0.1s ease-out;
  289. // transition-property:height transform;
  290. }
  291. /*
  292. _____ _____ _____ _____ _____ _____ _ _ _ _____ _____ ____ _____
  293. | _ | __ | __| | | | __| | | | | | | \| __|
  294. | __| -| __| | |- -| __| | | | | | | | | | | | __|
  295. |__| |__|__|_____|\___/|_____|_____|_____| |_|_|_|_____|____/|_____|
  296. */
  297. &.previewed{
  298. z-index:100;
  299. &:after{
  300. opacity:1;
  301. $pad:-2em;
  302. top:-$pad;
  303. left:$pad*6; right:$pad*6;
  304. bottom:$pad*15;
  305. }
  306. h2.node-title{transform:scale(2,2);}
  307. .texts{opacity:1; height:8em;}
  308. .field-name-field-partie{
  309. opacity:1; z-index:0;
  310. // display all fields inside each parties
  311. >.field{opacity:1; z-index:-1; cursor:default;}
  312. }
  313. }
  314. /*
  315. _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ ____ _____
  316. | | |_ _| | __| _ |_ _| __| | | | \| __|
  317. | | | |- -| | | |- -| | | | | | | __| | | | | | | | | __|
  318. |_|_|_|_____| |_| |_____|_____|__|__| |_| |_____| |_|_|_|_____|____/|_____|
  319. */
  320. &.mitigated{
  321. opacity:0.3;
  322. }
  323. /*
  324. _____________ ____________ ___ __ _____ __ _ __ __ _ _
  325. / ____/ ____/ | / / ____/ __ \/ | / / / ___/ _/_/___ ____ ____ (_)___ / /____ _________ ______/ /_(_) _____ | |
  326. / / __/ __/ / |/ / __/ / /_/ / /| | / / \__ \ / // __ \/ __ \/ __ \ / / __ \/ __/ _ \/ ___/ __ `/ ___/ __/ / | / / _ \ / /
  327. / /_/ / /___/ /| / /___/ _, _/ ___ |/ /______/ / / // / / / /_/ / / / / / / / / / /_/ __/ / / /_/ / /__/ /_/ /| |/ / __// /
  328. \____/_____/_/ |_/_____/_/ |_/_/ |_/_____/____/ / //_/ /_/\____/_/ /_/ /_/_/ /_/\__/\___/_/ \__,_/\___/\__/_/ |___/\___//_/
  329. |_| /_/
  330. */
  331. &:after{ // background
  332. content:" ";
  333. background-size:contain!important;
  334. position:absolute;
  335. z-index:-1;
  336. }
  337. h2.node-title{
  338. font-family: "epflulb";
  339. font-weight:normal;
  340. text-transform: uppercase;
  341. text-align: center;
  342. max-width: 8.5em;
  343. line-height: 0.85;
  344. @media #{$large-up} {
  345. font-size: 1.3em;
  346. }
  347. @media #{$xlarge-up} {
  348. font-size:1.8em;
  349. }
  350. z-index: 5;
  351. }
  352. .texts{
  353. // position:relative;
  354. }
  355. .field-name-field-comprendre{
  356. h1,h2,h3,h4,h5,h6{display:none!important;}
  357. // max-width:15em;
  358. p{margin:0;}
  359. min-width:16em;
  360. }
  361. ul.links{
  362. display:block; margin:0; text-align:right; z-index:5; position:relative; width:100%;
  363. li.node-readmore{
  364. padding:0;
  365. a{
  366. display:inline-block;
  367. height:25px;
  368. font-family: "open_sans";
  369. font-weight: 900;
  370. color:#000!important;
  371. width:8em; text-align: left;
  372. // background: transparent url(../assets/img/readmore-btn.svg) no-repeat right center;
  373. @include bg-svg-png('readmore-btn', no-repeat, right, center);
  374. }
  375. }
  376. }
  377. .field-name-field-partie{clear:both; padding-top:1em;}
  378. $shadow-size:3.5em;
  379. .field-name-field-vignette{
  380. position:relative;
  381. float:left;
  382. $shadow-size:3.5em;
  383. padding:$shadow-size;
  384. margin-top:-$shadow-size*1.15;
  385. margin-right:-$shadow-size+1.5em;
  386. margin-bottom:0;
  387. margin-left:0;
  388. background-size: contain;
  389. // background-repeat: no-repeat;
  390. // background-origin: center center;
  391. }
  392. .field-type-text{ min-width:16em; }
  393. .field-name-field-titre{
  394. font-family: "epflul";
  395. font-size:1.6em;
  396. line-height:1.1;
  397. }
  398. .field-name-field-sous-titre{
  399. font-family: "epflul";
  400. font-size:1.4em;
  401. line-height:1.2;
  402. }
  403. .field-name-field-description{
  404. // font-family: "epf-lul";
  405. font-size:0.88em;
  406. line-height:1.2;
  407. }
  408. .line{
  409. z-index:-1;
  410. position:absolute;
  411. top:$shadow-size - 0.5em; left:$shadow-size+2.5em;
  412. transform-origin:top left;
  413. width:2px; //background-color:red;
  414. opacity:0.4;
  415. }
  416. } // node-chapitre
  417. .chapter-wrapper{
  418. position:absolute;
  419. top:0; left:0; bottom:0; right:0;
  420. }
  421. } // main
  422. /* __________ ____ ________________
  423. / ____/ __ \/ __ \/_ __/ ____/ __ \
  424. / /_ / / / / / / / / / / __/ / /_/ /
  425. / __/ / /_/ / /_/ / / / / /___/ _, _/
  426. /_/ \____/\____/ /_/ /_____/_/ |_|
  427. */
  428. #footer{
  429. position:fixed;
  430. bottom:0; right:0;
  431. .block{
  432. display:inline-block;
  433. vertical-align: top;
  434. }
  435. }
  436. /*
  437. __ ____________ ______
  438. / |/ / _/ ___// ____/
  439. / /|_/ // / \__ \/ /
  440. / / / // / ___/ / /___
  441. /_/ /_/___//____/\____/
  442. */
  443. #fullscreen-btn{
  444. position:fixed;
  445. top:20px; left:20px;
  446. z-index: 1000;
  447. }
  448. @mixin bubble($w,$h,$bg){
  449. position:absolute;
  450. z-index:0;
  451. display:block;
  452. width:$w; height:$h;
  453. // border:1px solid blue;
  454. @include bg-svg-png($bg);
  455. }
  456. .bubble-1{
  457. @include bubble(425px, 425px, 'bubble-01');
  458. top:-200px; left:-200px;
  459. }
  460. .bubble-2{
  461. @include bubble(885px, 885px, 'bubble-02');
  462. bottom:-400px; right:-400px;
  463. }
  464. .star{
  465. position:absolute;
  466. z-index: 0; display:block;
  467. width:10px; height:10px;
  468. opacity:1;
  469. @include bg-svg-png('star');
  470. }
  471. /* ____ __________ __ ________
  472. / __ \/ ____/ __ )/ / / / ____/
  473. / / / / __/ / __ / / / / / __
  474. / /_/ / /___/ /_/ / /_/ / /_/ /
  475. /_____/_____/_____/\____/\____/
  476. */
  477. #fps{
  478. position:fixed;
  479. top:20px; right:20px;
  480. z-index: 1000;
  481. }
  482. #nav-cursor{
  483. position:absolute;
  484. width:6px; height:6px;
  485. margin-top: -3px; margin-left: -3px;
  486. background-color: red;
  487. z-index:1000;
  488. }