.ct-icon, .ct-icon-container svg { position: relative; width: var(--icon-size, 15px); height: var(--icon-size, 15px); fill: var(--icon-color, var(--color)); transition: var(--icon-transition, fill 0.12s cubic-bezier(.455,.03,.515,.955)); } .ct-icon-container { display: flex; align-items: center; justify-content: center; } // icon size [data-icon-size="medium"] { --icon-size: 20px; } [data-icon-size="large"] { --icon-size: 25px; } // icon position // pro - button & megamenu .ct-icon-container { &.ct-left { margin-inline-end: 0.5em; } &.ct-right { margin-inline-start: 0.5em; } } // icon shape [data-icons-type*=":"] { --icon-container-size: calc(var(--icon-size, 15px) * 2.5); .ct-icon-container { width: var(--icon-container-size); height: var(--icon-container-size); border-radius: var(--border-radius); transition: background 0.12s cubic-bezier(.455,.03,.515,.955), border-color 0.12s cubic-bezier(.455,.03,.515,.955); } } [data-icons-type*="square"] { --border-radius: 2px; } [data-icons-type*="rounded"] { --border-radius: 100%; } [data-icons-type] > * { transition: none; &:hover svg { fill: var(--icon-hover-color, var(--paletteColor2)); } } // icon shape color [data-icons-type*="solid"] { .ct-icon-container { background-color: var(--background-color); } > *:hover .ct-icon-container { background-color: var(--background-hover-color); } } [data-icons-type*="outline"] { .ct-icon-container { border: 1px solid var(--background-color); } > *:hover .ct-icon-container { border-color: var(--background-hover-color); } }