_variable.scss 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. // VARIABLES
  2. // typography - most used fonts
  3. $mainFont: Lato, Sans-serif;
  4. $titleFont: Syne, Sans-serif;
  5. // typography - utilité fonts
  6. @mixin publique-font {
  7. font-family: PlayfairDisplay, serif;
  8. font-style: italic;
  9. }
  10. @mixin sociale-font {
  11. font-family: ManifontGrotesk, sans-serif;
  12. font-weight: bold;
  13. font-style: italic;
  14. }
  15. @mixin culturelle-font {
  16. font-family: Avara, serif;
  17. font-weight: bold;
  18. font-style: italic;
  19. }
  20. // typography - index fonts
  21. @mixin figures-libres-font {
  22. font-family: Syne, sans-serif;
  23. font-weight: bold;
  24. }
  25. @mixin logiciels-libres-font {
  26. font-family: Rumeur, sans-serif;
  27. font-weight: bold;
  28. }
  29. @mixin commanditaires-font {
  30. font-family: Moche, sans-serif;
  31. font-weight: bold;
  32. }
  33. @mixin projets-font {
  34. font-family: Redaction50, serif;
  35. font-weight: bold;
  36. }
  37. // typography - general sizes
  38. $currentSize: 1.2em;
  39. $smallSize: 0.95em;
  40. $tinySize: 0.75em;
  41. $currentLineHeight: 1.25em;
  42. $titleLineHeight: 1.1em;
  43. // typography - sizes mobile
  44. $titleFontSizeMobile: 1.8em;
  45. $bigFontSizeMobile: 2.2em;
  46. // typography - sizes desktop
  47. $bigFontSizeDesktop: 3.8em;
  48. // typography - pictograms
  49. $pictoInlineWidth: 12px;
  50. $pictoInlineHeight: 10px;
  51. $pictoSmallWidth: 25px;
  52. $pictoSmallHeight: 23px;
  53. $pictoLargeWidth: 45px;
  54. $pictoLargeHeight: 37px;
  55. $pictoExtraLargeWidth: 60px;
  56. $pictoExtraLargeHeight: 54px;
  57. // colors - theme colors
  58. $mainColor: #0b1117;
  59. $mainColorSoft: #1f2429;
  60. $bgColor: #f5f5f5;
  61. // colors - gradient
  62. $bgGradientToBottom: linear-gradient(to bottom, #{$bgColor}, #{$bgColor}00);
  63. $bgGradientToLeft: linear-gradient(to left, #{$bgColor}, #{$bgColor}00);
  64. // colors - opacity
  65. $transparency: 0.4;
  66. // layout - general
  67. $navHeight: 7vh;
  68. $sectionSpacing: 30px;
  69. // layout - mobile
  70. $bodyMarginMobile: 3vw;
  71. $navGradientHeightMobile: 4vh;
  72. $footerHeightMobile: 7vh;
  73. // layout - desktop
  74. $navGradientHeightDesktop: 2vh;
  75. $bodyWidth: 65vw;
  76. $maxBodyWidth: 1300px;
  77. $footerHeightDesktop: 5vh;
  78. $marginTopShortContent: 7vh;
  79. $footerHeightDesktop: 4vh;
  80. // transition
  81. @mixin transition-ease-out($transitions...) {
  82. $unfoldedTransitions: ();
  83. @each $transition in $transitions {
  84. $unfoldedTransitions: append($unfoldedTransitions, unfoldTransition($transition), comma);
  85. }
  86. transition: $unfoldedTransitions;
  87. }
  88. @function unfoldTransition ($transition) {
  89. $property: all;
  90. $duration: .4s;
  91. $defaultProperties: ($property, $duration, ease-out);
  92. $unfoldedTransition: ();
  93. @for $i from 1 through length($defaultProperties) {
  94. $p: null;
  95. @if $i <= length($transition) {
  96. $p: nth($transition, $i)
  97. } @else {
  98. $p: nth($defaultProperties, $i)
  99. }
  100. $unfoldedTransition: append($unfoldedTransition, $p);
  101. }
  102. @return $unfoldedTransition;
  103. }
  104. // animation
  105. @keyframes arrowIndex {
  106. 30% { transform: translateY(0px); }
  107. 50% { transform: translateY(20px); }
  108. 70% { transform: translateY(0px); }
  109. }
  110. // media queries - tablet
  111. $minScreenWidthS: 576px;
  112. // media queries - small desktop
  113. $minScreenWidthM: 996px;
  114. // media queries - large desktop
  115. $minScreenWidthL: 1500px;