jee.scss 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  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:250px; max-height:30%;
  128. overflow-y:auto;
  129. }
  130. #main{
  131. position:absolute;
  132. width:100%; height:100%;
  133. overflow:hidden;
  134. &>.region, &>.region>.block-system, &>.region>.block-system>.content{
  135. position:relative;
  136. width:100%; height:100%;
  137. overflow:hidden;
  138. }
  139. .node-chapitre.node-teaser{
  140. position:absolute;
  141. // transition:0.1s ease-out;
  142. // transition-property:transform;
  143. // animation-fill-mode: forwards;
  144. // INTERACTIVITÉ - - - - - - - - - - - --
  145. // ----- DEFAULT MODE ----
  146. h2.node-title{
  147. transform:none;
  148. transform-origin:bottom center;
  149. transition:1s ease-out;
  150. transition-property:transform;
  151. }
  152. .field-name-field-comprendre{
  153. opacity:0; height:1px; overflow:hidden;
  154. transition:1s ease-out;
  155. transition-property:opacity height;
  156. }
  157. .field-name-field-partie{
  158. opacity:0;
  159. position:absolute;
  160. transition:1s ease-out 0.5s;
  161. transition-property: opacity transform;
  162. // just let see the field vignette of first partie
  163. &:nth-child(3){
  164. z-index:2;
  165. opacity:1;
  166. transition-delay:0;
  167. >.field-type-text{
  168. opacity:0;
  169. transition:1s ease-out 0.5s;
  170. transition-property: opacity;
  171. }
  172. >.field-name-field-vignette{cursor:pointer;z-index:2;}
  173. }
  174. }
  175. // &.closed .field-name-field-partie{
  176. // transform:none!important;
  177. // }
  178. .links{
  179. opacity:0;>*{display:none;}
  180. transition:1s ease-out 1s;
  181. transition-property:opacity;
  182. }
  183. &:after{
  184. opacity:0;
  185. // display:none;
  186. transition: 3s ease-out;
  187. transition-property:opacity;
  188. }
  189. .line{
  190. // transition: 0.5s ease-out;
  191. // transition-property:height transform;
  192. }
  193. // ----- PREVIEW MODE ------
  194. &.previewed{
  195. &:after{opacity:1;}
  196. h2.node-title{transform:scale(2,2);}
  197. .field-name-field-comprendre{opacity:1; height:6em;}
  198. .links{opacity:1;>*{display:block;}}
  199. .field-name-field-partie{
  200. opacity:1; z-index:0;
  201. // display all fields inside each parties
  202. >.field{opacity:1; z-index:-1; cursor:default;}
  203. }
  204. }
  205. // ------- GENERALS (non interactive) - - - - - - - - - - - - - - - - - -
  206. &:after{ // background
  207. content:" ";
  208. background-size:contain;
  209. // background-clip: content-box;
  210. background-repeat: no-repeat;
  211. position:absolute;
  212. $pad:-2em;
  213. top:-$pad;
  214. left:$pad*6; right:$pad*6;
  215. bottom:$pad*15;
  216. // border: 1px solid blue;
  217. z-index:-1;
  218. }
  219. h2.node-title{
  220. font-family: "epflulb";
  221. font-weight:normal;
  222. text-transform: uppercase;
  223. text-align: center;
  224. max-width: 8.5em;
  225. line-height: 0.85;
  226. @media #{$large-up} {
  227. font-size: 1.3em;
  228. }
  229. @media #{$xlarge-up} {
  230. font-size:1.8em;
  231. }
  232. z-index: 5;
  233. }
  234. .field-name-field-comprendre{
  235. h1,h2,h3,h4,h5,h6{display:none!important;}
  236. max-width:15em;
  237. p{margin:0;}
  238. }
  239. .field-name-field-partie{clear:both; padding-top:1em;}
  240. $shadow-size:3.5em;
  241. .field-name-field-vignette{
  242. position:relative;
  243. float:left;
  244. $shadow-size:3.5em;
  245. padding:$shadow-size;
  246. margin-top:-$shadow-size*1.15;
  247. margin-right:-$shadow-size+1.5em;
  248. margin-bottom:0;
  249. margin-left:0;
  250. background-size: contain;
  251. background-repeat: no-repeat;
  252. background-origin: center center;
  253. }
  254. .field-type-text{ min-width:16em; }
  255. .field-name-field-titre{
  256. font-family: "epflul";
  257. font-size:1.6em;
  258. line-height:1.1;
  259. }
  260. .field-name-field-sous-titre{
  261. font-family: "epflul";
  262. font-size:1.4em;
  263. line-height:1.2;
  264. }
  265. .field-name-field-description{
  266. // font-family: "epf-lul";
  267. font-size:0.88em;
  268. line-height:1.2;
  269. }
  270. ul.links{
  271. margin:0; text-align: right; z-index:5; position:relative;
  272. li.node-readmore{
  273. padding:0;
  274. a{
  275. display:inline-block;
  276. height:25px;
  277. font-family: "open_sans";
  278. font-weight: 900;
  279. color:#000!important;
  280. width:8em; text-align: left;
  281. background: transparent url(../assets/img/readmore-btn.svg) no-repeat right center;
  282. }
  283. }
  284. }
  285. .line{
  286. z-index:-1;
  287. position:absolute;
  288. top:$shadow-size - 0.5em; left:$shadow-size+2.5em;
  289. transform-origin:top left;
  290. width:2px; background-color:red;
  291. opacity:0.4;
  292. }
  293. } // node-chapitre
  294. // COLORS BY NODE - - - - - - - - - - - - - - - - - - - - -
  295. //SOL
  296. #node-2{
  297. &::after{ background-image : url(../assets/img/bgd-sol.svg); }
  298. &, a{color:$SOL-col-txt;}
  299. h2.node-title{&,a{color:$SOL-color;}}
  300. .field-name-field-vignette{ background-image:url(../assets/img/shadow-sol.svg); }
  301. .line{background-color:$SOL-col-active;}
  302. }
  303. //DPH
  304. #node-3{
  305. &::after{ background-image : url(../assets/img/bgd-dph.svg); }
  306. &, a{color:$DPH-col-txt;}
  307. h2.node-title{&,a{color:$DPH-color;}}
  308. .field-name-field-vignette{ background-image:url(../assets/img/shadow-dph.svg); }
  309. .line{background-color:$DPH-col-active;}
  310. }
  311. // SUB
  312. #node-4{
  313. &::after{ background-image : url(../assets/img/bgd-sub.svg); }
  314. &, a{color:$SUB-col-txt;}
  315. h2.node-title{&,a{color:$SUB-color;}}
  316. .field-name-field-vignette{ background-image:url(../assets/img/shadow-sub.svg); }
  317. .line{background-color:$SUB-col-active;}
  318. }
  319. // BC
  320. #node-5{
  321. &::after{ background-image : url(../assets/img/bgd-bc.svg); }
  322. &, a{color:$BC-col-txt;}
  323. h2.node-title{&,a{color:$BC-color;}}
  324. .field-name-field-vignette{ background-image:url(../assets/img/shadow-bc.svg); }
  325. .line{background-color:$BC-col-active;}
  326. }
  327. //OPP
  328. #node-6{
  329. &::after{ background-image : url(../assets/img/bgd-opp.svg); }
  330. &, a{color:$OPP-col-txt;}
  331. h2.node-title{&,a{color:$OPP-color;}}
  332. .field-name-field-vignette{ background-image:url(../assets/img/shadow-opp.svg); }
  333. .line{background-color:$OPP-col-active;}
  334. }
  335. //DUB
  336. #node-7{
  337. &::after{ background-image : url(../assets/img/bgd-dub.svg); }
  338. &, a{color:$DUB-col-txt;}
  339. h2.node-title{&,a{color:$DUB-color;}}
  340. .field-name-field-vignette{ background-image:url(../assets/img/shadow-dub.svg); }
  341. .line{background-color:$DUB-col-active;}
  342. }
  343. // JUSO
  344. #node-8{
  345. &::after{ background-image : url(../assets/img/bgd-juso.svg); }
  346. &, a{color:$JUSO-col-txt;}
  347. h2.node-title{&,a{color:$JUSO-color;}}
  348. .field-name-field-vignette{ background-image:url(../assets/img/shadow-juso.svg); }
  349. .line{background-color:$JUSO-col-active;}
  350. }
  351. .chapter-wrapper{
  352. position:absolute;
  353. top:0; left:0; bottom:0; right:0;
  354. }
  355. } // main
  356. #footer{
  357. position:fixed;
  358. bottom:0; right:0;
  359. .block{
  360. display:inline-block;
  361. vertical-align: top;
  362. }
  363. }
  364. .backdom{
  365. display:none;
  366. }
  367. #fullscreen-btn{
  368. position:fixed;
  369. top:20px; left:20px;
  370. z-index: 1000;
  371. }
  372. // DEBUG
  373. #fps{
  374. position:fixed;
  375. top:20px; right:20px;
  376. z-index: 1000;
  377. }
  378. #nav-cursor{
  379. position:absolute;
  380. width:6px; height:6px;
  381. margin-top: -3px; margin-left: -3px;
  382. background-color: red;
  383. z-index:1000;
  384. }