.ct-trigger { display: flex; align-items: center; width: var(--triggerWidth, 18px); height: var(--triggerWidth, 18px); span { position: relative; width: inherit; height: 2px; border-radius: 2px; background: currentColor; transition: background 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955); &:before, &:after { position: absolute; content: ''; width: inherit; 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 2 &[data-type="type-2"] span { &:before { --tx: 8px; width: 10px; } &:after { --tx: 3px; width: 15px; } } // type 3 &[data-type="type-3"] span { &:before { --tx: 6px; width: 12px; } &:after { --tx: 0px; width: 12px; } } } // hover action .ct-header-trigger { &:hover { [data-type="type-2"] span { &:before, &:after { --tx: 0; } } [data-type="type-3"] span { &:before, &:after { --tx: 0; width: 100%; } } } } // hide trigger when off-canvas is oppened [data-panel*='in'] .ct-header-trigger { opacity: 0; }