_wrapper.scss 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. ///
  2. /// Paradigm Shift by HTML5 UP
  3. /// html5up.net | @ajlkn
  4. /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
  5. ///
  6. /* Wrapper */
  7. @mixin wrapper-pad($pad) {
  8. padding: 0 0 ($pad * 2) 0;
  9. // Sections (all).
  10. section {
  11. margin: ($pad * 1.5) 0 0 0;
  12. > header {
  13. padding: 0 ($pad * 2) 0 ($pad);
  14. width: _size(header-width) + ($pad * 2);
  15. }
  16. > .content {
  17. padding: 0 $pad;
  18. }
  19. > footer {
  20. padding: 0 ($pad * 2);
  21. }
  22. }
  23. // Sections (top level).
  24. > section {
  25. > header {
  26. // Line.
  27. &:before {
  28. height: calc(100% + #{$pad * 2});
  29. left: calc(50vw - #{$pad});
  30. }
  31. // Headings.
  32. h1, h2 {
  33. // Line connector.
  34. &:before {
  35. right: ($pad * -1);
  36. width: ($pad * 0.5);
  37. }
  38. // Terminator.
  39. &:after {
  40. right: ($pad * -0.5);
  41. }
  42. }
  43. }
  44. > .content {
  45. > section {
  46. left: calc(-50vw - #{$pad});
  47. > header {
  48. width: _size(subheader-width) + ($pad * 2);
  49. }
  50. }
  51. }
  52. // Intro.
  53. &.intro {
  54. > header {
  55. // Hack: Chrome's grid implementation screws up absolute element placement within a static child element.
  56. // Set width on all child elements and right-align.
  57. > * {
  58. width: (_size(header-width) - $pad);
  59. }
  60. // Line.
  61. &:before {
  62. margin-left: calc(50vw - #{$pad * 2});
  63. }
  64. @include breakpoint('<=medium') {
  65. > * {
  66. width: 100%;
  67. }
  68. &:before {
  69. margin-left: 0;
  70. }
  71. }
  72. }
  73. }
  74. // Last.
  75. &:last-of-type {
  76. > header {
  77. // Terminator.
  78. &:after {
  79. left: calc(50vw - #{$pad} - 0.25rem + #{_size(line-width) * 0.5});
  80. }
  81. }
  82. }
  83. }
  84. // Copyright.
  85. .copyright {
  86. padding: 0 $pad;
  87. }
  88. }
  89. @mixin wrapper-pad-portrait($pad, $tbFactor: 1) {
  90. // Sections (all).
  91. section {
  92. margin: ($pad * 1.5) 0 0 0;
  93. }
  94. // Sections (top level).
  95. > section {
  96. margin: 0;
  97. > header {
  98. padding: ($pad * $tbFactor) $pad;
  99. }
  100. > .content {
  101. padding: ($pad * $tbFactor) $pad;
  102. > section {
  103. margin: ($pad * $tbFactor) 0;
  104. }
  105. }
  106. > footer {
  107. padding: 0 $pad ($pad * $tbFactor) $pad;
  108. }
  109. // Intro.
  110. &.intro {
  111. > header {
  112. padding: (($pad * 1.25) + 3rem) $pad ($pad * 1.25) $pad;
  113. }
  114. }
  115. }
  116. // Copyright.
  117. .copyright {
  118. padding: 0 $pad $pad $pad;
  119. }
  120. }
  121. #wrapper {
  122. $pad: 5rem;
  123. position: relative;
  124. width: 100vw;
  125. // Background.
  126. &:before {
  127. background-attachment: fixed;
  128. background-color: _palette(accent);
  129. background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920 1750" x="0px" y="0px"> <path style="fill: #{transparentize(_palette(accent-border), 0.75)}" d="M889.72,1137.55l-2.91-0.75l-364.39,282.94l-0.7-0.9l-0.51,0.11l-94.77-451.5l-32.51-15.75l-16.73-8.11l0,0.68 l-1.46,0l0-1.39l-1.89-0.92l-112.41-54.47l-0.29,1.03l-1.41-0.37l0.37-1.31l-34.14-16.54l-98.56-47.76l-0.59,0.81l-1.16-0.88 l0.42-0.57L11.43,766.33l-0.25,0.2l-0.9-1.15l102.87-79.98l0.08-0.1l0.02,0.02l116.68-90.72l-0.18-0.34l1.3-0.66l0.05,0.09 l100.5-78.14l-0.07-0.32l0.65-0.14l42.3-32.89l-0.15-54.54l-0.59,0.29l-0.64-1.31l1.23-0.6l-0.01-4.54l-0.33-122.47l-0.99,0.18 l-0.28-1.43l1.27-0.23l-0.4-147.49l-0.87-0.16l0.28-1.43l0.58,0.1l-0.35-127.48l-0.13-0.06l0.64-1.31L489.97,76.8l0.73,0.19 l-0.04,0.14l132.63,65.11l0.33-0.45l1.16,0.88l-0.16,0.22l114.21,56.07l0.45-0.35l0.72,0.93l47.89,23.51l2.76-1.36l0.56,4.61 l-3.32-1.63L571.52,330.88L375.95,482.93l0.66,239.95l51.12,243.57l222.53,107.83l236.23,60.93l2.27-1.77 M375.8,425.34l17.25-8.47 l36.13-127.75l-53.73,9.66L375.8,425.34z M551,241.05l38.19-52.2l-123.83-22.27l-34.13,120.68l98.99-17.81L551,241.05z M532.3,269.09l151.34-27.22l37.63-29.25l-130.48-23.47L532.3,269.09z M303.38,733.9l-2.36-4.48l-44.18-83.78L182.5,747.25 l40.78,36.46l52.69,47.11L303.38,733.9z M277.18,831.91l56.95,50.93L375.69,920l-0.13-49.23l-71.19-135L277.18,831.91z M303.96,731.86l41.93-148.25l-9.74-46.39L257.8,644.33L303.96,731.86z M304.94,733.73l9.55,18.12l61.05,115.78l-0.39-144.6 l-16.9-80.53l-11.71-55.81L304.94,733.73z M375.21,211.79l0.23,85.51l54.17-9.74l34.29-121.23l-88.87-15.98L375.21,211.79z M430.78,288.83l-17.88,63.21L394.81,416l44.01-21.6l90.15-123.23L430.78,288.83z M287.76,898.62l87.99,42.64l-0.05-19.29 l-91.37-81.71l-7.59-6.78l-14.88,52.59L287.76,898.62z M174.26,843.62l86.26,41.8l15-53.03l-93.89-83.95l-53.34,72.91L174.26,843.62 z M113.18,687.22L12.71,765.33l55.69,26.99l58.56,28.38l53.58-73.24l-34.83-31.14L113.18,687.22z M230.62,595.92l-116.27,90.4 l63.02,56.36l4.03,3.61l74.67-102.08l-7.47-14.17L230.62,595.92z M331.94,517.15l-100.15,77.86l25.25,47.88l78.71-107.59l-1.71-8.14 L331.94,517.15z M333.22,516.15l2.02,9.64l1.66,7.92l34.65-47.37L333.22,516.15z M337.31,535.63l9.43,44.95l26.67-94.3 L337.31,535.63z M347.39,583.66l27.74,132.16l-0.62-228.04L347.39,583.66z M374.7,21.83l0.35,127.02l89.27,16.06l24.61-87 L374.7,21.83z M490.25,78.56l-22.26,78.7l-2.24,7.91l124.39,22.37l10.23-13.99l22.04-30.12L490.25,78.56z M623.74,144.09 l-12.29,16.8l-19.71,26.95l131.07,23.58l14.73-11.45L623.74,144.09z M739,200.67l-13.3,10.34l-0.96,0.74l58.14,10.46L739,200.67z M723.19,212.96l-25.33,19.69l-11.14,8.66l97.03-17.45L723.19,212.96z M782.89,225.5l-98.64,17.74l-107.06,83.23L782.89,225.5z M631.68,282.26l49.48-38.47l-150.1,27l-89.41,122.22l129.1-63.37L631.68,282.26z M565.06,334.05l-125.28,61.5l-45.94,62.8 l-14.96,20.44L565.06,334.05z M425.31,412.87l11.65-15.93l-42.69,20.96l-13.66,48.3l-3.58,12.67L425.31,412.87z M392.51,418.76 l-16.71,8.2l0.01,4.72l0.12,45.68L392.51,418.76z M377.21,941.96l21.37,10.36l24.14,11.7l-45.56-40.74L377.21,941.96z M377.15,921.31l34.83,31.15l12.57,11.24l-47.53-90.14L377.15,921.31z M376.63,730.07l0.38,140.33l48.29,91.59L376.63,730.07z M806.29,1197.48l75.8-58.86l-28.56,11.47l-25.6,10.28l14.96,7.25l-0.64,1.31l-16.16-7.83l-124.76,50.1l40.56,36.27L806.29,1197.48z M522.43,1146.18l58.88,111.66l52.71-21.17l64.61-25.95l-75.11-67.17L522.43,1146.18z M621.92,1142.14l-115.78-103.53l-46.8-12.07 l62.33,118.2l7.06-0.18L621.92,1142.14z M700.14,1210.12l124.19-49.87l-42.89-20.78l-155.8,4.04L700.14,1210.12z M679.7,1295.77 l61.03-47.39l-40.9-36.57l-117.85,47.32l42.09,79.82L679.7,1295.77z M522.48,1417.85l1.83-1.42l98.6-76.56l-42.28-80.19 l-84.25,33.83L522.48,1417.85z M496.08,1292.06l83.87-33.68l-59.14-112.16l-55.04,1.43L496.08,1292.06z M465.46,1146.2l54.58-1.42 l-62.61-118.74l-18.03-4.65l0.36-1.41l16.74,4.32l-27.63-52.4L465.46,1146.2z M458.42,1024.79l45.35,11.7l-74.14-66.29 L458.42,1024.79z M431.46,969.87l75.38,67.41l136.26,35.15L431.46,969.87z M649.76,1075.65l-140.54-36.25l114.83,102.68l154.53-4.01 L649.76,1075.65z M656.92,1077.5l124.84,60.5l51.97-1.35l47.7-1.24L656.92,1077.5z M784.62,1139.38l41.54,20.13l56.45-22.67 L784.62,1139.38z"/> </svg>');
  130. background-position: -50% 10%;
  131. background-repeat: repeat-y;
  132. background-size: 75% auto;
  133. content: '';
  134. display: block;
  135. height: 100%;
  136. left: 0;
  137. position: absolute;
  138. top: 0;
  139. width: 50vw;
  140. z-index: -1;
  141. }
  142. // Sections (all).
  143. section {
  144. display: grid;
  145. grid-template-areas: "header content" "footer content";
  146. grid-template-columns: 50vw 50vw;
  147. grid-template-rows: 1fr;
  148. &:first-child {
  149. margin-top: 0;
  150. }
  151. > header {
  152. grid-area: header;
  153. justify-self: end;
  154. text-align: right;
  155. h2 {
  156. margin: 0 0 (_size(element-margin) * 2.5) 0;
  157. }
  158. h1 + p {
  159. font-family: _font(family-heading);
  160. font-size: 0.8rem;
  161. font-weight: _font(weight-heading-extralight);
  162. letter-spacing: _font(kerning-heading);
  163. line-height: 2.5;
  164. text-transform: uppercase;
  165. }
  166. ul.actions {
  167. justify-content: flex-end;
  168. }
  169. }
  170. > .content {
  171. grid-area: content;
  172. max-width: _size(content-width);
  173. position: relative;
  174. }
  175. > footer {
  176. grid-area: footer;
  177. text-align: right;
  178. ul.actions {
  179. justify-content: flex-end;
  180. }
  181. }
  182. }
  183. // Sections (top level).
  184. > section {
  185. position: relative;
  186. > header {
  187. // Line.
  188. &:before {
  189. background: _palette(accent-border);
  190. content: '';
  191. display: block;
  192. margin-top: 1rem;
  193. position: absolute;
  194. width: _size(line-width);
  195. }
  196. // Headings.
  197. h1, h2 {
  198. position: relative;
  199. // Line connector.
  200. &:before {
  201. background: _palette(accent-border);
  202. content: '';
  203. display: block;
  204. height: _size(line-width);
  205. position: absolute;
  206. top: 1rem;
  207. }
  208. // Terminator.
  209. &:after {
  210. background: _palette(accent-border);
  211. border-radius: 0.5rem;
  212. content: '';
  213. display: block;
  214. height: 0.5rem;
  215. position: absolute;
  216. top: 0.75rem;
  217. width: 0.5rem;
  218. }
  219. }
  220. h1 {
  221. margin-top: -2rem;
  222. &:before {
  223. top: 3rem;
  224. }
  225. &:after {
  226. top: 2.75rem;
  227. }
  228. }
  229. }
  230. > .content {
  231. > section {
  232. position: relative;
  233. &:first-child {
  234. margin-top: 6rem;
  235. }
  236. }
  237. }
  238. // Intro.
  239. &.intro {
  240. align-items: center;
  241. > header {
  242. padding-top: 4rem;
  243. // Hack: Chrome's grid implementation screws up absolute element placement within a static child element.
  244. width: 100%;
  245. // Set width on all child elements and right-align.
  246. > * {
  247. margin-left: auto;
  248. }
  249. // Line.
  250. &:before {
  251. left: auto;
  252. }
  253. }
  254. > .content {
  255. height: 100vh;
  256. max-width: none;
  257. }
  258. }
  259. // Last.
  260. &:last-of-type {
  261. > header {
  262. // Line.
  263. &:before {
  264. height: 100%;
  265. }
  266. // Terminator.
  267. &:after {
  268. background: _palette(accent-border);
  269. border-radius: 0.5rem;
  270. bottom: -1.5rem;
  271. content: '';
  272. display: block;
  273. height: 0.5rem;
  274. position: absolute;
  275. width: 0.5rem;
  276. z-index: 1;
  277. }
  278. }
  279. }
  280. }
  281. // Copyright.
  282. .copyright {
  283. color: _palette(fg-light);
  284. font-size: 1rem;
  285. left: 50vw;
  286. position: relative;
  287. width: 50vw;
  288. a {
  289. color: inherit;
  290. }
  291. }
  292. // Pad.
  293. @include wrapper-pad($pad);
  294. @include breakpoint('<=large') {
  295. $pad: 4rem;
  296. // Pad.
  297. @include wrapper-pad($pad);
  298. }
  299. @include breakpoint('<=medium') {
  300. $pad: 4rem;
  301. padding: 0;
  302. // Background.
  303. &:before {
  304. display: none;
  305. }
  306. // Sections (all).
  307. section {
  308. grid-template-areas: "header" "content" "footer";
  309. grid-template-columns: 1fr;
  310. grid-template-rows: 3fr;
  311. > header {
  312. justify-self: start;
  313. padding: 0;
  314. text-align: left;
  315. width: 100%;
  316. ul.actions {
  317. justify-content: flex-start;
  318. }
  319. }
  320. > .content {
  321. padding: 0;
  322. width: 100%;
  323. overflow-x: hidden;
  324. }
  325. > footer {
  326. padding: 0;
  327. text-align: left;
  328. ul.actions {
  329. justify-content: flex-start;
  330. }
  331. }
  332. }
  333. // Sections (top level).
  334. > section {
  335. margin: 0;
  336. > header {
  337. background-attachment: fixed;
  338. background-color: _palette(accent);
  339. background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920 1750" x="0px" y="0px"> <path style="fill: #{transparentize(_palette(accent-border), 0.5)}" d="M889.72,1137.55l-2.91-0.75l-364.39,282.94l-0.7-0.9l-0.51,0.11l-94.77-451.5l-32.51-15.75l-16.73-8.11l0,0.68 l-1.46,0l0-1.39l-1.89-0.92l-112.41-54.47l-0.29,1.03l-1.41-0.37l0.37-1.31l-34.14-16.54l-98.56-47.76l-0.59,0.81l-1.16-0.88 l0.42-0.57L11.43,766.33l-0.25,0.2l-0.9-1.15l102.87-79.98l0.08-0.1l0.02,0.02l116.68-90.72l-0.18-0.34l1.3-0.66l0.05,0.09 l100.5-78.14l-0.07-0.32l0.65-0.14l42.3-32.89l-0.15-54.54l-0.59,0.29l-0.64-1.31l1.23-0.6l-0.01-4.54l-0.33-122.47l-0.99,0.18 l-0.28-1.43l1.27-0.23l-0.4-147.49l-0.87-0.16l0.28-1.43l0.58,0.1l-0.35-127.48l-0.13-0.06l0.64-1.31L489.97,76.8l0.73,0.19 l-0.04,0.14l132.63,65.11l0.33-0.45l1.16,0.88l-0.16,0.22l114.21,56.07l0.45-0.35l0.72,0.93l47.89,23.51l2.76-1.36l0.56,4.61 l-3.32-1.63L571.52,330.88L375.95,482.93l0.66,239.95l51.12,243.57l222.53,107.83l236.23,60.93l2.27-1.77 M375.8,425.34l17.25-8.47 l36.13-127.75l-53.73,9.66L375.8,425.34z M551,241.05l38.19-52.2l-123.83-22.27l-34.13,120.68l98.99-17.81L551,241.05z M532.3,269.09l151.34-27.22l37.63-29.25l-130.48-23.47L532.3,269.09z M303.38,733.9l-2.36-4.48l-44.18-83.78L182.5,747.25 l40.78,36.46l52.69,47.11L303.38,733.9z M277.18,831.91l56.95,50.93L375.69,920l-0.13-49.23l-71.19-135L277.18,831.91z M303.96,731.86l41.93-148.25l-9.74-46.39L257.8,644.33L303.96,731.86z M304.94,733.73l9.55,18.12l61.05,115.78l-0.39-144.6 l-16.9-80.53l-11.71-55.81L304.94,733.73z M375.21,211.79l0.23,85.51l54.17-9.74l34.29-121.23l-88.87-15.98L375.21,211.79z M430.78,288.83l-17.88,63.21L394.81,416l44.01-21.6l90.15-123.23L430.78,288.83z M287.76,898.62l87.99,42.64l-0.05-19.29 l-91.37-81.71l-7.59-6.78l-14.88,52.59L287.76,898.62z M174.26,843.62l86.26,41.8l15-53.03l-93.89-83.95l-53.34,72.91L174.26,843.62 z M113.18,687.22L12.71,765.33l55.69,26.99l58.56,28.38l53.58-73.24l-34.83-31.14L113.18,687.22z M230.62,595.92l-116.27,90.4 l63.02,56.36l4.03,3.61l74.67-102.08l-7.47-14.17L230.62,595.92z M331.94,517.15l-100.15,77.86l25.25,47.88l78.71-107.59l-1.71-8.14 L331.94,517.15z M333.22,516.15l2.02,9.64l1.66,7.92l34.65-47.37L333.22,516.15z M337.31,535.63l9.43,44.95l26.67-94.3 L337.31,535.63z M347.39,583.66l27.74,132.16l-0.62-228.04L347.39,583.66z M374.7,21.83l0.35,127.02l89.27,16.06l24.61-87 L374.7,21.83z M490.25,78.56l-22.26,78.7l-2.24,7.91l124.39,22.37l10.23-13.99l22.04-30.12L490.25,78.56z M623.74,144.09 l-12.29,16.8l-19.71,26.95l131.07,23.58l14.73-11.45L623.74,144.09z M739,200.67l-13.3,10.34l-0.96,0.74l58.14,10.46L739,200.67z M723.19,212.96l-25.33,19.69l-11.14,8.66l97.03-17.45L723.19,212.96z M782.89,225.5l-98.64,17.74l-107.06,83.23L782.89,225.5z M631.68,282.26l49.48-38.47l-150.1,27l-89.41,122.22l129.1-63.37L631.68,282.26z M565.06,334.05l-125.28,61.5l-45.94,62.8 l-14.96,20.44L565.06,334.05z M425.31,412.87l11.65-15.93l-42.69,20.96l-13.66,48.3l-3.58,12.67L425.31,412.87z M392.51,418.76 l-16.71,8.2l0.01,4.72l0.12,45.68L392.51,418.76z M377.21,941.96l21.37,10.36l24.14,11.7l-45.56-40.74L377.21,941.96z M377.15,921.31l34.83,31.15l12.57,11.24l-47.53-90.14L377.15,921.31z M376.63,730.07l0.38,140.33l48.29,91.59L376.63,730.07z M806.29,1197.48l75.8-58.86l-28.56,11.47l-25.6,10.28l14.96,7.25l-0.64,1.31l-16.16-7.83l-124.76,50.1l40.56,36.27L806.29,1197.48z M522.43,1146.18l58.88,111.66l52.71-21.17l64.61-25.95l-75.11-67.17L522.43,1146.18z M621.92,1142.14l-115.78-103.53l-46.8-12.07 l62.33,118.2l7.06-0.18L621.92,1142.14z M700.14,1210.12l124.19-49.87l-42.89-20.78l-155.8,4.04L700.14,1210.12z M679.7,1295.77 l61.03-47.39l-40.9-36.57l-117.85,47.32l42.09,79.82L679.7,1295.77z M522.48,1417.85l1.83-1.42l98.6-76.56l-42.28-80.19 l-84.25,33.83L522.48,1417.85z M496.08,1292.06l83.87-33.68l-59.14-112.16l-55.04,1.43L496.08,1292.06z M465.46,1146.2l54.58-1.42 l-62.61-118.74l-18.03-4.65l0.36-1.41l16.74,4.32l-27.63-52.4L465.46,1146.2z M458.42,1024.79l45.35,11.7l-74.14-66.29 L458.42,1024.79z M431.46,969.87l75.38,67.41l136.26,35.15L431.46,969.87z M649.76,1075.65l-140.54-36.25l114.83,102.68l154.53-4.01 L649.76,1075.65z M656.92,1077.5l124.84,60.5l51.97-1.35l47.7-1.24L656.92,1077.5z M784.62,1139.38l41.54,20.13l56.45-22.67 L784.62,1139.38z"/> </svg>');
  340. background-position: 25% 50%;
  341. background-repeat: repeat-y;
  342. background-size: 40rem auto;
  343. > * {
  344. max-width: 25rem;
  345. }
  346. > :last-child {
  347. margin-bottom: 0;
  348. }
  349. // Line.
  350. &:before {
  351. display: none;
  352. }
  353. // Headings.
  354. h1, h2 {
  355. // Line connector.
  356. &:before {
  357. display: none;
  358. }
  359. // Terminator.
  360. &:after {
  361. display: none;
  362. }
  363. }
  364. }
  365. > .content {
  366. > :last-child {
  367. margin-bottom: 0;
  368. }
  369. > section {
  370. left: 0;
  371. &:first-child {
  372. margin-top: 0;
  373. }
  374. > header {
  375. width: 100%;
  376. }
  377. &:last-child {
  378. margin-bottom: 0;
  379. }
  380. }
  381. }
  382. > footer {
  383. > :last-child {
  384. margin-bottom: 0;
  385. }
  386. }
  387. // Intro.
  388. &.intro {
  389. margin-bottom: 0;
  390. > header {
  391. margin-bottom: 0;
  392. ul.actions {
  393. display: none;
  394. }
  395. // Hack: Undo Chrome grid hack.
  396. > * {
  397. margin-left: 0;
  398. margin-right: 0;
  399. width: 100%;
  400. }
  401. > ul.actions {
  402. margin-left: (_size(element-margin) * -0.5);
  403. }
  404. &:before {
  405. margin-left: 0;
  406. }
  407. }
  408. }
  409. // Last.
  410. &:last-of-type {
  411. > header {
  412. // Terminator.
  413. &:after {
  414. display: none;
  415. }
  416. }
  417. }
  418. }
  419. // Copyright.
  420. .copyright {
  421. left: 0;
  422. width: 100%;
  423. }
  424. // Pad.
  425. @include wrapper-pad-portrait($pad);
  426. }
  427. @include breakpoint('<=small') {
  428. $pad: 2rem;
  429. // Pad.
  430. @include wrapper-pad-portrait($pad, 1.5);
  431. }
  432. @include breakpoint('<=xxsmall') {
  433. $pad: 1.5rem;
  434. // Pad.
  435. @include wrapper-pad-portrait($pad, 1.5);
  436. }
  437. }
  438. // Mobile.
  439. body.is-mobile {
  440. #wrapper {
  441. // Background.
  442. &:before {
  443. background-attachment: scroll;
  444. background-position: 50% -3%;
  445. background-repeat: repeat-y;
  446. background-size: 150% auto;
  447. }
  448. // Sections (top level).
  449. > section {
  450. > header {
  451. background-attachment: scroll;
  452. background-position: 25% 50%;
  453. }
  454. // Intro.
  455. &.intro {
  456. > header {
  457. background-position: 25% 23%;
  458. }
  459. }
  460. }
  461. }
  462. }
  463. // Preload.
  464. #wrapper {
  465. // Background.
  466. &:before {
  467. transition: opacity 1s ease;
  468. body.is-preload & {
  469. opacity: 0;
  470. }
  471. }
  472. // Sections (top level).
  473. > section {
  474. // Intro.
  475. &.intro {
  476. transition: opacity 1s ease;
  477. opacity: 1;
  478. > header {
  479. transition: transform 1s ease;
  480. }
  481. > .content {
  482. transition: transform 1s ease;
  483. }
  484. body.is-preload & {
  485. opacity: 0;
  486. > header {
  487. transform: translateY(1rem);
  488. }
  489. > .content {
  490. transform: translateY(-1rem);
  491. }
  492. }
  493. @include breakpoint('<=large') {
  494. > header {
  495. > * {
  496. transition: transform 1s ease, opacity 1s ease;
  497. }
  498. }
  499. body.is-preload & {
  500. > header {
  501. transform: none;
  502. > * {
  503. transform: translate(-0.5rem);
  504. opacity: 0;
  505. }
  506. }
  507. > .content {
  508. transform: none;
  509. }
  510. }
  511. }
  512. }
  513. }
  514. }
  515. // IE.
  516. body.is-ie {
  517. #wrapper {
  518. $pad: 5rem;
  519. // Sections (all).
  520. section {
  521. display: flex;
  522. flex-wrap: wrap;
  523. > header {
  524. width: 50%;
  525. }
  526. > .content {
  527. width: 50%;
  528. }
  529. > footer {
  530. width: 50%;
  531. text-align: left;
  532. margin-left: 50%;
  533. padding: $pad;
  534. }
  535. }
  536. // Sections (top level).
  537. > section {
  538. > .content {
  539. > section {
  540. width: 100vw;
  541. }
  542. }
  543. }
  544. @include breakpoint('<=large') {
  545. $pad: 4rem;
  546. // Sections (all).
  547. section {
  548. > footer {
  549. padding: $pad;
  550. }
  551. }
  552. }
  553. }
  554. }