menus.less 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. @menu-height: 60px;
  2. #menus {
  3. position: relative;
  4. z-index: 210;
  5. min-height: @menu-height;
  6. display: flex;
  7. align-items: center;
  8. justify-content: center;
  9. }
  10. #main-menu {
  11. width: 100%;
  12. .menu {
  13. display: flex;
  14. flex-flow: row wrap;
  15. justify-content: flex-end;
  16. .header-layout-standard & {
  17. justify-content: center;
  18. }
  19. > .menu-item {
  20. padding: 0 15px;
  21. text-transform: uppercase;
  22. color: var( --vamtam-primary-font-color );
  23. .second-row:last-child &:last-child {
  24. padding-right: 0;
  25. }
  26. &.current-menu-item,
  27. &.current_page_item,
  28. &.current-menu-ancestor,
  29. &.current-menu-parent,
  30. &.current_page_parent,
  31. &.current_page_ancestor {
  32. > a {
  33. color: var( --vamtam-accent-color-1 );
  34. }
  35. }
  36. .sub-menu {
  37. position: absolute;
  38. top: 0;
  39. width: 180px;
  40. text-align: left;
  41. background: #fff;
  42. padding: 15px 5px 5px 5px;
  43. box-sizing: border-box;
  44. transform: translateX( -10px );
  45. text-transform: none;
  46. z-index: 200;
  47. }
  48. &:hover {
  49. >.sub-menu-wrapper {
  50. position: relative;
  51. > .sub-menu {
  52. display: block;
  53. margin: 0 auto auto 0;
  54. .menu-item {
  55. padding: 5px;
  56. }
  57. }
  58. }
  59. }
  60. .sub-menu .menu-item:hover > .sub-menu-wrapper > .sub-menu {
  61. display: block;
  62. left: 100%;
  63. }
  64. }
  65. }
  66. }
  67. #vamtam-overlay-menu {
  68. position: fixed;
  69. top: 0;
  70. right: 0;
  71. left: 0;
  72. bottom: 0;
  73. z-index: 1000;
  74. background: var( --vamtam-accent-color-5 );
  75. transform: translateX( 100% );
  76. will-change: transform;
  77. transition: transform 0.75s cubic-bezier(0.75, 0.19, 0.24, 1);
  78. overflow-y: auto;
  79. &.open {
  80. transform: translateX( 0 );
  81. .vamtam-overlay-menu-contents {
  82. opacity: 1;
  83. transform: translateX( 0 );
  84. transition: 0.7s 0.65s;
  85. }
  86. }
  87. .mega-menu-toggle {
  88. display: none !important;
  89. }
  90. }
  91. .vamtam-overlay-menu-contents {
  92. /* transform: translateX( 40px );
  93. opacity: 0;
  94. transition: .3s;
  95. will-change: transform;
  96. .vamtam-overlay-menu-items {
  97. .mega-menu-wrap {
  98. text-align: right !important;
  99. }
  100. .mega-menu,
  101. .menu {
  102. display: inline-flex !important;
  103. flex-direction: column;
  104. justify-content: center;
  105. > .mega-menu-item,
  106. > .menu-item, {
  107. padding-bottom: 20px;
  108. position: relative;
  109. > a {
  110. min-width: 100px;
  111. font-size: 20px;
  112. &:after {
  113. display: none !important;
  114. }
  115. }
  116. > .sub-menu {
  117. display: none;
  118. flex-flow: column wrap;
  119. position: absolute;
  120. top: 0;
  121. right: 100%;
  122. width: 200px;
  123. > .menu-item {
  124. padding: 5px 10px;
  125. }
  126. }
  127. > .mega-sub-menu {
  128. top: 0 !important;
  129. right: 100% !important;
  130. }
  131. &.menu-item-has-children:hover,
  132. &.mega-menu-toggle-on {
  133. &:before {
  134. border: 5px solid transparent;
  135. content: '';
  136. border-right-color: var( --vamtam-accent-color-1 );
  137. display: block;
  138. width: 0;
  139. height: 0;
  140. position: absolute;
  141. top: calc( ~"50% - 15px" );
  142. right: calc( ~"100% - 15px" );
  143. }
  144. }
  145. &.menu-item-has-children:hover {
  146. > .sub-menu {
  147. display: flex;
  148. }
  149. }
  150. &.mega-toggle-on {
  151. }
  152. }
  153. }
  154. }*/
  155. }
  156. .vamtam-overlay-menu-toggle-wrapper {
  157. margin-left: 15px;
  158. }
  159. .vamtam-overlay-menu-toggle {
  160. display: block;
  161. position: relative;
  162. overflow: hidden;
  163. margin: 0;
  164. padding: 0;
  165. width: 40px;
  166. height: 40px;
  167. font-size: 0;
  168. text-indent: -9999px;
  169. appearance: none;
  170. box-shadow: none;
  171. border-radius: none;
  172. border: none;
  173. cursor: pointer;
  174. transition: background 0.3s;
  175. background-color: transparent;
  176. border-radius: 60px;
  177. z-index: 9999;
  178. &:focus {
  179. outline: none;
  180. }
  181. &:hover {
  182. span:not(.lines-wrapper) {
  183. background: var( --vamtam-accent-color-1 );
  184. }
  185. }
  186. span {
  187. &.lines-wrapper {
  188. position: absolute;
  189. top: 19px;
  190. left: 10px;
  191. right: 10px;
  192. height: 2px;
  193. border-radius: var( --vamtam-border-radius );
  194. }
  195. &.middle-line {
  196. display: block;
  197. width: 100%;
  198. height: 2px;
  199. border-radius: var( --vamtam-border-radius );
  200. background: var( --vamtam-accent-color-6 );
  201. transition: background .2s ease-out 0s, opacity 0s .3s;
  202. }
  203. &.top-line,
  204. &.bottom-line {
  205. position: absolute;
  206. display: block;
  207. left: 0;
  208. width: 100%;
  209. height: 2px;
  210. background-color: var( --vamtam-accent-color-6 );
  211. border-radius: var( --vamtam-border-radius );
  212. content: "";
  213. transition-duration: .3s, .3s, .2s;
  214. transition-delay: 0.3s, 0s, 0s;
  215. transition-timing-function: linear, linear, ease-out;
  216. }
  217. &.top-line {
  218. top: -6px;
  219. transition-property: top, transform, background;
  220. }
  221. &.bottom-line {
  222. bottom: -6px;
  223. transition-property: bottom, transform, background;
  224. }
  225. }
  226. &.is-active {
  227. span {
  228. &.middle-line {
  229. opacity: 0;
  230. }
  231. &.top-line {
  232. top: 0;
  233. transform: rotate(45deg);
  234. }
  235. &.bottom-line {
  236. bottom: 0;
  237. transform: rotate(-45deg);
  238. }
  239. &.top-line,
  240. &.bottom-line {
  241. transition-delay: 0s, 0.3s, 0s;
  242. }
  243. }
  244. }
  245. }