jee.scss 11 KB

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