.ct-header-trigger { display: flex; align-items: center; transition: opacity 0.3s ease; a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--linkInitialColor); transition: color 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955); &:hover { color: var(--linkHoverColor); } } } // line buttons .lines-button { position: relative; width: 20px; height: 2px; border-radius: 5px; background: currentColor; transition: background 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955); &:before, &:after { position: absolute; content: ''; width: var(--width); height: inherit; border-radius: inherit; background: currentColor; transition: width 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955); } &:before { transform: translateY(var(--ty, -6px)) translateX(var(--tx, 0)) rotate(var(--rotate, 0)); } &:after { transform: translateY(var(--ty, 6px)) translateX(var(--tx, 0)) rotate(var(--rotate, 0)); } // type 1 &[data-type="type-1"] { --width: 100%; } // type 2 &[data-type="type-2"]:not(.close) { &:before { --tx: 10px; --width: 10px; } &:after { --tx: 5px; --width: 15px; } } // type 3 &[data-type="type-3"]:not(.close) { &:before { --tx: 4px; --width: 14px; } &:after { --tx: 2px; --width: 14px; } } &.close { --ty: 0; --width: 100%; background: transparent; &:before { --rotate: 45deg; } &:after { --rotate: -45deg; } } } // hover actions .mobile-menu-toggle:hover { [data-type="type-2"]:not(.close) { &:before { --tx: 0; } &:after { --tx: 0; } } [data-type="type-3"]:not(.close) { &:before, &:after { --tx: 0; --width: 100%; } } } // hide trigger when off-canvas is oppened [data-overlay*='in'] { .ct-header-trigger { opacity: 0; } }