_cover.scss 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. // Cover
  2. // =============================================================================
  3. .cover {
  4. display: none;
  5. position: relative;
  6. z-index: map-get($z-index, coverpage);
  7. min-height: 100vh;
  8. flex-direction: column;
  9. align-items: center;
  10. justify-content: center;
  11. padding: calc(var(--cover-border-inset, 0px) + var(--cover-border-width, 0px));
  12. color: var(--cover-color);
  13. text-align: var(--cover-text-align);
  14. // Bug (IE 10/11): column & min-height
  15. @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  16. height: 100vh;
  17. }
  18. &:before,
  19. &:after {
  20. content: '';
  21. position: absolute;
  22. }
  23. &:before {
  24. top: 0;
  25. bottom: 0;
  26. left: 0;
  27. right: 0;
  28. background-blend-mode: var(--cover-background-blend-mode);
  29. background-color: var(--cover-background-color);
  30. background-image: var(--cover-background-image);
  31. background-position: var(--cover-background-position);
  32. background-repeat: var(--cover-background-repeat);
  33. background-size: var(--cover-background-size);
  34. }
  35. &:after {
  36. top: var(--cover-border-inset, 0);
  37. bottom: var(--cover-border-inset, 0);
  38. left: var(--cover-border-inset, 0);
  39. right: var(--cover-border-inset, 0);
  40. border-width: var(--cover-border-width, 0);
  41. border-style: solid;
  42. border-color: var(--cover-border-color);
  43. }
  44. a {
  45. border-bottom: var(--cover-link-border-bottom);
  46. color: var(--cover-link-color);
  47. text-decoration: var(--cover-link-text-decoration);
  48. text-decoration-color: var(--cover-link-text-decoration-color);
  49. &:hover {
  50. border-bottom: var(--cover-link-border-bottom--hover, var(--cover-link-border-bottom));
  51. color: var(--cover-link-color--hover, var(--cover-link-color));
  52. text-decoration: var(--cover-link-text-decoration--hover, var(--cover-link-text-decoration));
  53. text-decoration-color: var(--cover-link-text-decoration-color--hover, var(--cover-link-text-decoration-color));
  54. }
  55. }
  56. h1 {
  57. color: var(--cover-heading-color);
  58. position: relative;
  59. margin: 0;
  60. font-size: var(--cover-heading-font-size);
  61. font-weight: var(--cover-heading-font-weight);
  62. line-height: 1.2;
  63. a,
  64. a:hover {
  65. display: block;
  66. border-bottom: none;
  67. color: inherit;
  68. text-decoration: none;
  69. }
  70. small {
  71. position: absolute;
  72. bottom: 0;
  73. margin-left: 0.5em;
  74. }
  75. // Fluid
  76. span {
  77. font-size: calc(var(--cover-heading-font-size-min) * 1px);
  78. @include media(">=xsmall") {
  79. font-size: calc((var(--cover-heading-font-size-min) * 1px) + (var(--cover-heading-font-size-max) - var(--cover-heading-font-size-min)) * ((100vw - 420px) / (1024 - 420)));
  80. }
  81. @include media(">=large") {
  82. font-size: calc(var(--cover-heading-font-size-max) * 1px);
  83. }
  84. }
  85. }
  86. blockquote {
  87. margin: 0;
  88. color: var(--cover-blockquote-color);
  89. font-size: var(--cover-blockquote-font-size);
  90. a {
  91. color: inherit;
  92. }
  93. }
  94. ul {
  95. padding: 0;
  96. list-style-type: none;
  97. }
  98. .cover-main {
  99. position: relative;
  100. z-index: 1;
  101. max-width: var(--cover-max-width);
  102. margin: var(--cover-margin);
  103. padding: 0 45px;
  104. // Buttons
  105. > p:last-child {
  106. $button-margin: 0.25em;
  107. margin: 1.5em -$button-margin 0 -$button-margin;
  108. a {
  109. display: block;
  110. margin: ($button-margin * 1.5) $button-margin;
  111. padding: var(--cover-button-padding);
  112. border: var(--cover-button-border);
  113. border-radius: var(--cover-button-border-radius);
  114. box-shadow: var(--cover-button-box-shadow);
  115. background: var(--cover-button-background);
  116. text-align: center;
  117. text-decoration: var(--cover-button-text-decoration);
  118. text-decoration-color: var(--cover-button-text-decoration-color);
  119. color: var(--cover-button-color);
  120. white-space: nowrap;
  121. transition: var(--cover-button-transition);
  122. &:hover {
  123. border: var(--cover-button-border--hover, var(--cover-button-border));
  124. box-shadow: var(--cover-button-box-shadow--hover, var(--cover-button-box-shadow));
  125. background: var(--cover-button-background--hover, var(--cover-button-background));
  126. text-decoration: var(--cover-button-text-decoration--hover, var(--cover-button-text-decoration));
  127. text-decoration-color: var(--cover-button-text-decoration-color--hover, var(--cover-button-text-decoration-color));
  128. color: var(--cover-button-color--hover, var(--cover-button-color));
  129. }
  130. // Primary
  131. &:first-child {
  132. border: var(--cover-button-primary-border, var(--cover-button-border));
  133. box-shadow: var(--cover-button-primary-box-shadow, var(--cover-button-box-shadow));
  134. background: var(--cover-button-primary-background, var(--cover-button-background));
  135. text-decoration: var(--cover-button-primary-text-decoration, var(--cover-button-text-decoration));
  136. text-decoration-color: var(--cover-button-primary-text-decoration-color, var(--cover-button-text-decoration-color));
  137. color: var(--cover-button-primary-color, var(--cover-button-color));
  138. &:hover {
  139. border: var(--cover-button-primary-border--hover, var(--cover-button-border--hover, var(--cover-button-primary-border, var(--cover-button-border))));
  140. box-shadow: var(--cover-button-primary-box-shadow--hover, var(--cover-button-box-shadow--hover, var(--cover-button-primary-box-shadow, var(--cover-button-box-shadow))));
  141. background: var(--cover-button-primary-background--hover, var(--cover-button-background--hover, var(--cover-button-primary-background, var(--cover-button-background))));
  142. text-decoration: var(--cover-button-primary-text-decoration--hover, var(--cover-button-text-decoration--hover, var(--cover-button-primary-text-decoration, var(--cover-button-text-decoration))));
  143. text-decoration-color: var(--cover-button-primary-text-decoration-color--hover, var(--cover-button-text-decoration-color--hover, var(--cover-button-primary-text-decoration-color, var(--cover-button-text-decoration-color))));
  144. color: var(--cover-button-primary-color--hover, var(--cover-button-color--hover, var(--cover-button-primary-color, var(--cover-button-color))));
  145. }
  146. }
  147. @include media(">small") {
  148. display: inline-block;
  149. }
  150. }
  151. }
  152. }
  153. .mask {
  154. visibility: var(--cover-background-mask-visibility, hidden);
  155. position: absolute;
  156. top: 0;
  157. bottom: 0;
  158. left: 0;
  159. right: 0;
  160. background-color: var(--cover-background-mask-color);
  161. opacity: var(--cover-background-mask-opacity);
  162. }
  163. // State
  164. // =========================================================================
  165. // Display mask with markdown background image
  166. &.has-mask {
  167. .mask {
  168. visibility: visible;
  169. }
  170. }
  171. &.show {
  172. display: flex;
  173. }
  174. }