jee.scss 13 KB

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