jee.scss 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  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: transform opacity;
  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;
  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. .field-name-field-vignette{
  224. position:relative;
  225. float:left;
  226. $shadow-size:3.5em;
  227. padding:$shadow-size;
  228. margin-top:-$shadow-size*1.15;
  229. margin-right:-$shadow-size+1.5em;
  230. margin-bottom:0;
  231. margin-left:0;
  232. background-size: contain;
  233. background-repeat: no-repeat;
  234. background-origin: center center;
  235. }
  236. .field-type-text{
  237. min-width:14em;
  238. }
  239. .field-name-field-titre{
  240. font-family: "epflul";
  241. font-size:1.6em;
  242. line-height:1.1;
  243. }
  244. .field-name-field-sous-titre{
  245. font-family: "epflul";
  246. font-size:1.4em;
  247. line-height:1.2;
  248. }
  249. .field-name-field-description{
  250. // font-family: "epf-lul";
  251. font-size:0.88em;
  252. line-height:1.2;
  253. }
  254. ul.links{
  255. margin:0; text-align: right; z-index:5; position:relative;
  256. li.node-readmore{
  257. padding:0;
  258. a{
  259. display:inline-block;
  260. height:25px;
  261. font-family: "open_sans";
  262. font-weight: 900;
  263. color:#000!important;
  264. width:8em; text-align: left;
  265. background: transparent url(../assets/img/readmore-btn.svg) no-repeat right center;
  266. }
  267. }
  268. }
  269. } // node-chapitre
  270. // COLORS BY NODE - - - - - - - - - - - - - - - - - - - - -
  271. $bs-blur:100px;
  272. $bs-size:25px;
  273. //SOL
  274. #node-2{
  275. &::after{
  276. background-image : url(../assets/img/bgd-sol.svg);
  277. }
  278. &, a{color:$SOL-col-txt;}
  279. h2.node-title{&,a{color:$SOL-color;}}
  280. .field-name-field-vignette{
  281. // background-image:url(../assets/img/shadow-sol.svg);
  282. background-image:url(../assets/img/shadow-sol.svg);
  283. }
  284. // .field-name-field-vignette::before{
  285. // box-shadow: 0 0 $bs-blur $bs-size $SOL-color;
  286. // }
  287. }
  288. //DPH
  289. #node-3{
  290. &::after{
  291. background-image : url(../assets/img/bgd-dph.svg);
  292. }
  293. &, a{color:$DPH-col-txt;}
  294. h2.node-title{&,a{color:$DPH-color;}}
  295. .field-name-field-vignette{
  296. // background-image:url(../assets/img/shadow-dph.png);
  297. background-image:url(../assets/img/shadow-dph.svg);
  298. }
  299. // .field-name-field-vignette::before{
  300. // box-shadow: 0 0 $bs-blur $bs-size $DPH-color;
  301. // }
  302. }
  303. // SUB
  304. #node-4{
  305. &::after{
  306. background-image : url(../assets/img/bgd-sub.svg);
  307. }
  308. &, a{color:$SUB-col-txt;}
  309. h2.node-title{&,a{color:$SUB-color;}}
  310. .field-name-field-vignette{
  311. // background-image:url(../assets/img/shadow-sub.png);
  312. background-image:url(../assets/img/shadow-sub.svg);
  313. }
  314. // .field-name-field-vignette::before{
  315. // box-shadow: 0 0 $bs-blur $bs-size $SUB-color;
  316. // }
  317. }
  318. // BC
  319. #node-5{
  320. &::after{
  321. background-image : url(../assets/img/bgd-bc.svg);
  322. }
  323. &, a{color:$BC-col-txt;}
  324. h2.node-title{&,a{color:$BC-color;}}
  325. .field-name-field-vignette{
  326. // background-image:url(../assets/img/shadow-bc.png);
  327. background-image:url(../assets/img/shadow-bc.svg);
  328. }
  329. // .field-name-field-vignette::before{
  330. // box-shadow: 0 0 $bs-blur $bs-size $BC-color;
  331. // }
  332. }
  333. //OPP
  334. #node-6{
  335. &::after{
  336. background-image : url(../assets/img/bgd-opp.svg);
  337. }
  338. &, a{color:$OPP-col-txt;}
  339. h2.node-title{&,a{color:$OPP-color;}}
  340. .field-name-field-vignette{
  341. // background-image:url(../assets/img/shadow-opp.png);
  342. background-image:url(../assets/img/shadow-opp.svg);
  343. }
  344. // .field-name-field-vignette::before{
  345. // box-shadow: 0 0 $bs-blur $bs-size $OPP-color;
  346. // }
  347. }
  348. //DUB
  349. #node-7{
  350. &::after{
  351. background-image : url(../assets/img/bgd-dub.svg);
  352. }
  353. &, a{color:$DUB-col-txt;}
  354. h2.node-title{&,a{color:$DUB-color;}}
  355. .field-name-field-vignette{
  356. // background-image:url(../assets/img/shadow-dub.png);
  357. background-image:url(../assets/img/shadow-dub.svg);
  358. }
  359. // .field-name-field-vignette::before{
  360. // box-shadow: 0 0 $bs-blur $bs-size $DUB-color;
  361. // }
  362. }
  363. // JUSO
  364. #node-8{
  365. &::after{
  366. background-image : url(../assets/img/bgd-juso.svg);
  367. }
  368. &, a{color:$JUSO-col-txt;}
  369. h2.node-title{&,a{color:$JUSO-color;}}
  370. .field-name-field-vignette{
  371. // background-image:url(../assets/img/shadow-juso.png);
  372. background-image:url(../assets/img/shadow-juso.svg);
  373. }
  374. // .field-name-field-vignette::before{
  375. // box-shadow: 0 0 $bs-blur $bs-size $JUSO-color;
  376. // }
  377. }
  378. .chapter-wrapper{
  379. position:absolute;
  380. top:0; left:0; bottom:0; right:0;
  381. }
  382. } // main
  383. #footer{
  384. position:fixed;
  385. bottom:0; right:0;
  386. .block{
  387. display:inline-block;
  388. vertical-align: top;
  389. }
  390. }