hamburgers.css 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706
  1. /*!
  2. * Hamburgers
  3. * @description Tasty CSS-animated hamburgers
  4. * @author Jonathan Suh @jonsuh
  5. * @site https://jonsuh.com/hamburgers
  6. * @link https://github.com/jonsuh/hamburgers
  7. */
  8. .hamburger {
  9. /* padding: 15px 15px; */
  10. display: inline-block;
  11. cursor: pointer;
  12. transition-property: opacity, filter;
  13. transition-duration: 0.15s;
  14. transition-timing-function: linear;
  15. font: inherit;
  16. color: inherit;
  17. text-transform: none;
  18. background-color: transparent;
  19. border: 0;
  20. margin: 0;
  21. overflow: visible; }
  22. .hamburger:hover {
  23. opacity: 0.7; }
  24. .hamburger.is-active:hover {
  25. opacity: 0.7; }
  26. .hamburger.is-active .hamburger-inner,
  27. .hamburger.is-active .hamburger-inner::before,
  28. .hamburger.is-active .hamburger-inner::after {
  29. background-color: #000; }
  30. .hamburger-box {
  31. width: 40px;
  32. height: 24px;
  33. display: inline-block;
  34. position: relative; }
  35. .hamburger-inner {
  36. display: block;
  37. top: 50%;
  38. margin-top: -2px; }
  39. .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  40. width: 40px;
  41. height: 4px;
  42. background-color: #000;
  43. border-radius: 4px;
  44. position: absolute;
  45. transition-property: transform;
  46. transition-duration: 0.15s;
  47. transition-timing-function: ease; }
  48. .hamburger-inner::before, .hamburger-inner::after {
  49. content: "";
  50. display: block; }
  51. .hamburger-inner::before {
  52. top: -10px; }
  53. .hamburger-inner::after {
  54. bottom: -10px; }
  55. /*
  56. * 3DX
  57. */
  58. .hamburger--3dx .hamburger-box {
  59. perspective: 80px; }
  60. .hamburger--3dx .hamburger-inner {
  61. transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  62. .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  63. transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  64. .hamburger--3dx.is-active .hamburger-inner {
  65. background-color: transparent !important;
  66. transform: rotateY(180deg); }
  67. .hamburger--3dx.is-active .hamburger-inner::before {
  68. transform: translate3d(0, 10px, 0) rotate(45deg); }
  69. .hamburger--3dx.is-active .hamburger-inner::after {
  70. transform: translate3d(0, -10px, 0) rotate(-45deg); }
  71. /*
  72. * 3DX Reverse
  73. */
  74. .hamburger--3dx-r .hamburger-box {
  75. perspective: 80px; }
  76. .hamburger--3dx-r .hamburger-inner {
  77. transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  78. .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  79. transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  80. .hamburger--3dx-r.is-active .hamburger-inner {
  81. background-color: transparent !important;
  82. transform: rotateY(-180deg); }
  83. .hamburger--3dx-r.is-active .hamburger-inner::before {
  84. transform: translate3d(0, 10px, 0) rotate(45deg); }
  85. .hamburger--3dx-r.is-active .hamburger-inner::after {
  86. transform: translate3d(0, -10px, 0) rotate(-45deg); }
  87. /*
  88. * 3DY
  89. */
  90. .hamburger--3dy .hamburger-box {
  91. perspective: 80px; }
  92. .hamburger--3dy .hamburger-inner {
  93. transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  94. .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  95. transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  96. .hamburger--3dy.is-active .hamburger-inner {
  97. background-color: transparent !important;
  98. transform: rotateX(-180deg); }
  99. .hamburger--3dy.is-active .hamburger-inner::before {
  100. transform: translate3d(0, 10px, 0) rotate(45deg); }
  101. .hamburger--3dy.is-active .hamburger-inner::after {
  102. transform: translate3d(0, -10px, 0) rotate(-45deg); }
  103. /*
  104. * 3DY Reverse
  105. */
  106. .hamburger--3dy-r .hamburger-box {
  107. perspective: 80px; }
  108. .hamburger--3dy-r .hamburger-inner {
  109. transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  110. .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  111. transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  112. .hamburger--3dy-r.is-active .hamburger-inner {
  113. background-color: transparent !important;
  114. transform: rotateX(180deg); }
  115. .hamburger--3dy-r.is-active .hamburger-inner::before {
  116. transform: translate3d(0, 10px, 0) rotate(45deg); }
  117. .hamburger--3dy-r.is-active .hamburger-inner::after {
  118. transform: translate3d(0, -10px, 0) rotate(-45deg); }
  119. /*
  120. * 3DXY
  121. */
  122. .hamburger--3dxy .hamburger-box {
  123. perspective: 80px; }
  124. .hamburger--3dxy .hamburger-inner {
  125. transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  126. .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
  127. transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  128. .hamburger--3dxy.is-active .hamburger-inner {
  129. background-color: transparent !important;
  130. transform: rotateX(180deg) rotateY(180deg); }
  131. .hamburger--3dxy.is-active .hamburger-inner::before {
  132. transform: translate3d(0, 10px, 0) rotate(45deg); }
  133. .hamburger--3dxy.is-active .hamburger-inner::after {
  134. transform: translate3d(0, -10px, 0) rotate(-45deg); }
  135. /*
  136. * 3DXY Reverse
  137. */
  138. .hamburger--3dxy-r .hamburger-box {
  139. perspective: 80px; }
  140. .hamburger--3dxy-r .hamburger-inner {
  141. transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  142. .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
  143. transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  144. .hamburger--3dxy-r.is-active .hamburger-inner {
  145. background-color: transparent !important;
  146. transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); }
  147. .hamburger--3dxy-r.is-active .hamburger-inner::before {
  148. transform: translate3d(0, 10px, 0) rotate(45deg); }
  149. .hamburger--3dxy-r.is-active .hamburger-inner::after {
  150. transform: translate3d(0, -10px, 0) rotate(-45deg); }
  151. /*
  152. * Arrow
  153. */
  154. .hamburger--arrow.is-active .hamburger-inner::before {
  155. transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  156. .hamburger--arrow.is-active .hamburger-inner::after {
  157. transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  158. /*
  159. * Arrow Right
  160. */
  161. .hamburger--arrow-r.is-active .hamburger-inner::before {
  162. transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  163. .hamburger--arrow-r.is-active .hamburger-inner::after {
  164. transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  165. /*
  166. * Arrow Alt
  167. */
  168. .hamburger--arrowalt .hamburger-inner::before {
  169. transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
  170. .hamburger--arrowalt .hamburger-inner::after {
  171. transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
  172. .hamburger--arrowalt.is-active .hamburger-inner::before {
  173. top: 0;
  174. transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
  175. transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
  176. .hamburger--arrowalt.is-active .hamburger-inner::after {
  177. bottom: 0;
  178. transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
  179. transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
  180. /*
  181. * Arrow Alt Right
  182. */
  183. .hamburger--arrowalt-r .hamburger-inner::before {
  184. transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
  185. .hamburger--arrowalt-r .hamburger-inner::after {
  186. transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
  187. .hamburger--arrowalt-r.is-active .hamburger-inner::before {
  188. top: 0;
  189. transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
  190. transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
  191. .hamburger--arrowalt-r.is-active .hamburger-inner::after {
  192. bottom: 0;
  193. transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
  194. transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
  195. /*
  196. * Arrow Turn
  197. */
  198. .hamburger--arrowturn.is-active .hamburger-inner {
  199. transform: rotate(-180deg); }
  200. .hamburger--arrowturn.is-active .hamburger-inner::before {
  201. transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  202. .hamburger--arrowturn.is-active .hamburger-inner::after {
  203. transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  204. /*
  205. * Arrow Turn Right
  206. */
  207. .hamburger--arrowturn-r.is-active .hamburger-inner {
  208. transform: rotate(-180deg); }
  209. .hamburger--arrowturn-r.is-active .hamburger-inner::before {
  210. transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  211. .hamburger--arrowturn-r.is-active .hamburger-inner::after {
  212. transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  213. /*
  214. * Boring
  215. */
  216. .hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  217. transition-property: none; }
  218. .hamburger--boring.is-active .hamburger-inner {
  219. transform: rotate(45deg); }
  220. .hamburger--boring.is-active .hamburger-inner::before {
  221. top: 0;
  222. opacity: 0; }
  223. .hamburger--boring.is-active .hamburger-inner::after {
  224. bottom: 0;
  225. transform: rotate(-90deg); }
  226. /*
  227. * Collapse
  228. */
  229. .hamburger--collapse .hamburger-inner {
  230. top: auto;
  231. bottom: 0;
  232. transition-duration: 0.13s;
  233. transition-delay: 0.13s;
  234. transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  235. .hamburger--collapse .hamburger-inner::after {
  236. top: -20px;
  237. transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  238. .hamburger--collapse .hamburger-inner::before {
  239. transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  240. .hamburger--collapse.is-active .hamburger-inner {
  241. transform: translate3d(0, -10px, 0) rotate(-45deg);
  242. transition-delay: 0.22s;
  243. transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  244. .hamburger--collapse.is-active .hamburger-inner::after {
  245. top: 0;
  246. opacity: 0;
  247. transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  248. .hamburger--collapse.is-active .hamburger-inner::before {
  249. top: 0;
  250. transform: rotate(-90deg);
  251. transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }
  252. /*
  253. * Collapse Reverse
  254. */
  255. .hamburger--collapse-r .hamburger-inner {
  256. top: auto;
  257. bottom: 0;
  258. transition-duration: 0.13s;
  259. transition-delay: 0.13s;
  260. transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  261. .hamburger--collapse-r .hamburger-inner::after {
  262. top: -20px;
  263. transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  264. .hamburger--collapse-r .hamburger-inner::before {
  265. transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  266. .hamburger--collapse-r.is-active .hamburger-inner {
  267. transform: translate3d(0, -10px, 0) rotate(45deg);
  268. transition-delay: 0.22s;
  269. transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  270. .hamburger--collapse-r.is-active .hamburger-inner::after {
  271. top: 0;
  272. opacity: 0;
  273. transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  274. .hamburger--collapse-r.is-active .hamburger-inner::before {
  275. top: 0;
  276. transform: rotate(90deg);
  277. transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }
  278. /*
  279. * Elastic
  280. */
  281. .hamburger--elastic .hamburger-inner {
  282. top: 2px;
  283. transition-duration: 0.275s;
  284. transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  285. .hamburger--elastic .hamburger-inner::before {
  286. top: 10px;
  287. transition: opacity 0.125s 0.275s ease; }
  288. .hamburger--elastic .hamburger-inner::after {
  289. top: 20px;
  290. transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  291. .hamburger--elastic.is-active .hamburger-inner {
  292. transform: translate3d(0, 10px, 0) rotate(135deg);
  293. transition-delay: 0.075s; }
  294. .hamburger--elastic.is-active .hamburger-inner::before {
  295. transition-delay: 0s;
  296. opacity: 0; }
  297. .hamburger--elastic.is-active .hamburger-inner::after {
  298. transform: translate3d(0, -20px, 0) rotate(-270deg);
  299. transition-delay: 0.075s; }
  300. /*
  301. * Elastic Reverse
  302. */
  303. .hamburger--elastic-r .hamburger-inner {
  304. top: 2px;
  305. transition-duration: 0.275s;
  306. transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  307. .hamburger--elastic-r .hamburger-inner::before {
  308. top: 10px;
  309. transition: opacity 0.125s 0.275s ease; }
  310. .hamburger--elastic-r .hamburger-inner::after {
  311. top: 20px;
  312. transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  313. .hamburger--elastic-r.is-active .hamburger-inner {
  314. transform: translate3d(0, 10px, 0) rotate(-135deg);
  315. transition-delay: 0.075s; }
  316. .hamburger--elastic-r.is-active .hamburger-inner::before {
  317. transition-delay: 0s;
  318. opacity: 0; }
  319. .hamburger--elastic-r.is-active .hamburger-inner::after {
  320. transform: translate3d(0, -20px, 0) rotate(270deg);
  321. transition-delay: 0.075s; }
  322. /*
  323. * Emphatic
  324. */
  325. .hamburger--emphatic {
  326. overflow: hidden; }
  327. .hamburger--emphatic .hamburger-inner {
  328. transition: background-color 0.125s 0.175s ease-in; }
  329. .hamburger--emphatic .hamburger-inner::before {
  330. left: 0;
  331. transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
  332. .hamburger--emphatic .hamburger-inner::after {
  333. top: 10px;
  334. right: 0;
  335. transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  336. .hamburger--emphatic.is-active .hamburger-inner {
  337. transition-delay: 0s;
  338. transition-timing-function: ease-out;
  339. background-color: transparent !important; }
  340. .hamburger--emphatic.is-active .hamburger-inner::before {
  341. left: -80px;
  342. top: -80px;
  343. transform: translate3d(80px, 80px, 0) rotate(45deg);
  344. transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
  345. .hamburger--emphatic.is-active .hamburger-inner::after {
  346. right: -80px;
  347. top: -80px;
  348. transform: translate3d(-80px, 80px, 0) rotate(-45deg);
  349. transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
  350. /*
  351. * Emphatic Reverse
  352. */
  353. .hamburger--emphatic-r {
  354. overflow: hidden; }
  355. .hamburger--emphatic-r .hamburger-inner {
  356. transition: background-color 0.125s 0.175s ease-in; }
  357. .hamburger--emphatic-r .hamburger-inner::before {
  358. left: 0;
  359. transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
  360. .hamburger--emphatic-r .hamburger-inner::after {
  361. top: 10px;
  362. right: 0;
  363. transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  364. .hamburger--emphatic-r.is-active .hamburger-inner {
  365. transition-delay: 0s;
  366. transition-timing-function: ease-out;
  367. background-color: transparent !important; }
  368. .hamburger--emphatic-r.is-active .hamburger-inner::before {
  369. left: -80px;
  370. top: 80px;
  371. transform: translate3d(80px, -80px, 0) rotate(-45deg);
  372. transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
  373. .hamburger--emphatic-r.is-active .hamburger-inner::after {
  374. right: -80px;
  375. top: 80px;
  376. transform: translate3d(-80px, -80px, 0) rotate(45deg);
  377. transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
  378. /*
  379. * Minus
  380. */
  381. .hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  382. transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }
  383. .hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  384. opacity: 0;
  385. transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }
  386. .hamburger--minus.is-active .hamburger-inner::before {
  387. top: 0; }
  388. .hamburger--minus.is-active .hamburger-inner::after {
  389. bottom: 0; }
  390. /*
  391. * Slider
  392. */
  393. .hamburger--slider .hamburger-inner {
  394. top: 2px; }
  395. .hamburger--slider .hamburger-inner::before {
  396. top: 10px;
  397. transition-property: transform, opacity;
  398. transition-timing-function: ease;
  399. transition-duration: 0.15s; }
  400. .hamburger--slider .hamburger-inner::after {
  401. top: 20px; }
  402. .hamburger--slider.is-active .hamburger-inner {
  403. transform: translate3d(0, 10px, 0) rotate(45deg); }
  404. .hamburger--slider.is-active .hamburger-inner::before {
  405. transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  406. opacity: 0; }
  407. .hamburger--slider.is-active .hamburger-inner::after {
  408. transform: translate3d(0, -20px, 0) rotate(-90deg); }
  409. /*
  410. * Slider Reverse
  411. */
  412. .hamburger--slider-r .hamburger-inner {
  413. top: 2px; }
  414. .hamburger--slider-r .hamburger-inner::before {
  415. top: 10px;
  416. transition-property: transform, opacity;
  417. transition-timing-function: ease;
  418. transition-duration: 0.15s; }
  419. .hamburger--slider-r .hamburger-inner::after {
  420. top: 20px; }
  421. .hamburger--slider-r.is-active .hamburger-inner {
  422. transform: translate3d(0, 10px, 0) rotate(-45deg); }
  423. .hamburger--slider-r.is-active .hamburger-inner::before {
  424. transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
  425. opacity: 0; }
  426. .hamburger--slider-r.is-active .hamburger-inner::after {
  427. transform: translate3d(0, -20px, 0) rotate(90deg); }
  428. /*
  429. * Spin
  430. */
  431. .hamburger--spin .hamburger-inner {
  432. transition-duration: 0.22s;
  433. transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  434. .hamburger--spin .hamburger-inner::before {
  435. transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  436. .hamburger--spin .hamburger-inner::after {
  437. transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  438. .hamburger--spin.is-active .hamburger-inner {
  439. transform: rotate(225deg);
  440. transition-delay: 0.12s;
  441. transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  442. .hamburger--spin.is-active .hamburger-inner::before {
  443. top: 0;
  444. opacity: 0;
  445. transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  446. .hamburger--spin.is-active .hamburger-inner::after {
  447. bottom: 0;
  448. transform: rotate(-90deg);
  449. transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
  450. /*
  451. * Spin Reverse
  452. */
  453. .hamburger--spin-r .hamburger-inner {
  454. transition-duration: 0.22s;
  455. transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  456. .hamburger--spin-r .hamburger-inner::before {
  457. transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  458. .hamburger--spin-r .hamburger-inner::after {
  459. transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  460. .hamburger--spin-r.is-active .hamburger-inner {
  461. transform: rotate(-225deg);
  462. transition-delay: 0.12s;
  463. transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  464. .hamburger--spin-r.is-active .hamburger-inner::before {
  465. top: 0;
  466. opacity: 0;
  467. transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  468. .hamburger--spin-r.is-active .hamburger-inner::after {
  469. bottom: 0;
  470. transform: rotate(90deg);
  471. transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
  472. /*
  473. * Spring
  474. */
  475. .hamburger--spring .hamburger-inner {
  476. top: 2px;
  477. transition: background-color 0s 0.13s linear; }
  478. .hamburger--spring .hamburger-inner::before {
  479. top: 10px;
  480. transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  481. .hamburger--spring .hamburger-inner::after {
  482. top: 20px;
  483. transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  484. .hamburger--spring.is-active .hamburger-inner {
  485. transition-delay: 0.22s;
  486. background-color: transparent !important; }
  487. .hamburger--spring.is-active .hamburger-inner::before {
  488. top: 0;
  489. transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  490. transform: translate3d(0, 10px, 0) rotate(45deg); }
  491. .hamburger--spring.is-active .hamburger-inner::after {
  492. top: 0;
  493. transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  494. transform: translate3d(0, 10px, 0) rotate(-45deg); }
  495. /*
  496. * Spring Reverse
  497. */
  498. .hamburger--spring-r .hamburger-inner {
  499. top: auto;
  500. bottom: 0;
  501. transition-duration: 0.13s;
  502. transition-delay: 0s;
  503. transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  504. .hamburger--spring-r .hamburger-inner::after {
  505. top: -20px;
  506. transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  507. .hamburger--spring-r .hamburger-inner::before {
  508. transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  509. .hamburger--spring-r.is-active .hamburger-inner {
  510. transform: translate3d(0, -10px, 0) rotate(-45deg);
  511. transition-delay: 0.22s;
  512. transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  513. .hamburger--spring-r.is-active .hamburger-inner::after {
  514. top: 0;
  515. opacity: 0;
  516. transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  517. .hamburger--spring-r.is-active .hamburger-inner::before {
  518. top: 0;
  519. transform: rotate(90deg);
  520. transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }
  521. /*
  522. * Stand
  523. */
  524. .hamburger--stand .hamburger-inner {
  525. transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  526. .hamburger--stand .hamburger-inner::before {
  527. transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  528. .hamburger--stand .hamburger-inner::after {
  529. transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  530. .hamburger--stand.is-active .hamburger-inner {
  531. transform: rotate(90deg);
  532. background-color: transparent !important;
  533. transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  534. .hamburger--stand.is-active .hamburger-inner::before {
  535. top: 0;
  536. transform: rotate(-45deg);
  537. transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  538. .hamburger--stand.is-active .hamburger-inner::after {
  539. bottom: 0;
  540. transform: rotate(45deg);
  541. transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  542. /*
  543. * Stand Reverse
  544. */
  545. .hamburger--stand-r .hamburger-inner {
  546. transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  547. .hamburger--stand-r .hamburger-inner::before {
  548. transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  549. .hamburger--stand-r .hamburger-inner::after {
  550. transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  551. .hamburger--stand-r.is-active .hamburger-inner {
  552. transform: rotate(-90deg);
  553. background-color: transparent !important;
  554. transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  555. .hamburger--stand-r.is-active .hamburger-inner::before {
  556. top: 0;
  557. transform: rotate(-45deg);
  558. transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  559. .hamburger--stand-r.is-active .hamburger-inner::after {
  560. bottom: 0;
  561. transform: rotate(45deg);
  562. transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  563. /*
  564. * Squeeze
  565. */
  566. .hamburger--squeeze .hamburger-inner {
  567. transition-duration: 0.075s;
  568. transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  569. .hamburger--squeeze .hamburger-inner::before {
  570. transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  571. .hamburger--squeeze .hamburger-inner::after {
  572. transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  573. .hamburger--squeeze.is-active .hamburger-inner {
  574. transform: rotate(45deg);
  575. transition-delay: 0.12s;
  576. transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  577. .hamburger--squeeze.is-active .hamburger-inner::before {
  578. top: 0;
  579. opacity: 0;
  580. transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  581. .hamburger--squeeze.is-active .hamburger-inner::after {
  582. bottom: 0;
  583. transform: rotate(-90deg);
  584. transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
  585. /*
  586. * Vortex
  587. */
  588. .hamburger--vortex .hamburger-inner {
  589. transition-duration: 0.2s;
  590. transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  591. .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  592. transition-duration: 0s;
  593. transition-delay: 0.1s;
  594. transition-timing-function: linear; }
  595. .hamburger--vortex .hamburger-inner::before {
  596. transition-property: top, opacity; }
  597. .hamburger--vortex .hamburger-inner::after {
  598. transition-property: bottom, transform; }
  599. .hamburger--vortex.is-active .hamburger-inner {
  600. transform: rotate(765deg);
  601. transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  602. .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  603. transition-delay: 0s; }
  604. .hamburger--vortex.is-active .hamburger-inner::before {
  605. top: 0;
  606. opacity: 0; }
  607. .hamburger--vortex.is-active .hamburger-inner::after {
  608. bottom: 0;
  609. transform: rotate(90deg); }
  610. /*
  611. * Vortex Reverse
  612. */
  613. .hamburger--vortex-r .hamburger-inner {
  614. transition-duration: 0.2s;
  615. transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  616. .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  617. transition-duration: 0s;
  618. transition-delay: 0.1s;
  619. transition-timing-function: linear; }
  620. .hamburger--vortex-r .hamburger-inner::before {
  621. transition-property: top, opacity; }
  622. .hamburger--vortex-r .hamburger-inner::after {
  623. transition-property: bottom, transform; }
  624. .hamburger--vortex-r.is-active .hamburger-inner {
  625. transform: rotate(-765deg);
  626. transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  627. .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  628. transition-delay: 0s; }
  629. .hamburger--vortex-r.is-active .hamburger-inner::before {
  630. top: 0;
  631. opacity: 0; }
  632. .hamburger--vortex-r.is-active .hamburger-inner::after {
  633. bottom: 0;
  634. transform: rotate(-90deg); }