/* Icons CSS for Passin Multisite */

/* Font Awesome Icons - Preserve Original Font Family */
i, .fas, .far, .fab, .fa, [class*="fa-"], [class*="icon-"] {
    font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Brands', 'Font Awesome 6 Regular', 'Font Awesome 5 Free', 'Font Awesome 5 Brands', 'Font Awesome 5 Regular', 'Font Awesome 4.7.0' !important;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Font Awesome 6 Free */
.fas {
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 900;
}

/* Font Awesome 6 Regular */
.far {
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 400;
}

/* Font Awesome 6 Brands */
.fab {
    font-family: 'Font Awesome 6 Brands' !important;
    font-weight: 400;
}

/* Font Awesome 5 Free */
.fa {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900;
}

/* Icon Sizes */
.icon-xs {
    font-size: 0.75em;
}

.icon-sm {
    font-size: 0.875em;
}

.icon-md {
    font-size: 1em;
}

.icon-lg {
    font-size: 1.25em;
}

.icon-xl {
    font-size: 1.5em;
}

.icon-2x {
    font-size: 2em;
}

.icon-3x {
    font-size: 3em;
}

.icon-4x {
    font-size: 4em;
}

.icon-5x {
    font-size: 5em;
}

/* Icon Colors */
.icon-primary {
    color: #8A9FFB !important;
}

.icon-secondary {
    color: #6c757d !important;
}

.icon-success {
    color: #28a745 !important;
}

.icon-danger {
    color: #dc3545 !important;
}

.icon-warning {
    color: #ffc107 !important;
}

.icon-info {
    color: #17a2b8 !important;
}

.icon-light {
    color: #f8f9fa !important;
}

.icon-dark {
    color: #343a40 !important;
}

.icon-white {
    color: #ffffff !important;
}

/* Icon Animations */
.icon-spin {
    animation: fa-spin 2s infinite linear;
}

.icon-pulse {
    animation: fa-spin 1s infinite steps(8);
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Icon Rotations */
.icon-rotate-90 {
    transform: rotate(90deg);
}

.icon-rotate-180 {
    transform: rotate(180deg);
}

.icon-rotate-270 {
    transform: rotate(270deg);
}

.icon-flip-horizontal {
    transform: scale(-1, 1);
}

.icon-flip-vertical {
    transform: scale(1, -1);
}

/* Icon Stacking */
.icon-stack {
    position: relative;
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle;
}

.icon-stack-1x,
.icon-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
}

.icon-stack-1x {
    line-height: inherit;
}

.icon-stack-2x {
    font-size: 2em;
}

/* Icon Borders */
.icon-border {
    padding: 0.2em 0.25em 0.15em;
    border: solid 0.08em #eee;
    border-radius: 0.1em;
}

/* Icon Pull */
.icon-pull-left {
    float: left;
    margin-right: 0.3em;
}

.icon-pull-right {
    float: right;
    margin-left: 0.3em;
}

/* Icon Fixed Width */
.icon-fw {
    width: 1.28571429em;
    text-align: center;
}

/* Icon List */
.icon-ul {
    padding-left: 0;
    margin-left: 2.14285714em;
    list-style-type: none;
}

.icon-ul > li {
    position: relative;
}

.icon-ul > li > .icon {
    position: absolute;
    left: -2.14285714em;
    width: 2.14285714em;
    top: 0.14285714em;
    text-align: center;
}

/* Icon List Items */
.icon-li {
    position: absolute;
    left: -2.14285714em;
    width: 2.14285714em;
    top: 0.14285714em;
    text-align: center;
}

/* Icon Sizing */
.icon-xs {
    font-size: 0.75em;
}

.icon-sm {
    font-size: 0.875em;
}

.icon-lg {
    font-size: 1.33em;
    line-height: 0.75em;
    vertical-align: -15%;
}

.icon-2x {
    font-size: 2em;
}

.icon-3x {
    font-size: 3em;
}

.icon-4x {
    font-size: 4em;
}

.icon-5x {
    font-size: 5em;
}

/* Icon Margins */
.icon-margin {
    margin-right: 0.5em;
}

.icon-margin-left {
    margin-left: 0.5em;
}

.icon-margin-right {
    margin-right: 0.5em;
}

/* Icon Alignment */
.icon-align-left {
    text-align: left;
}

.icon-align-center {
    text-align: center;
}

.icon-align-right {
    text-align: right;
}

/* Icon Vertical Alignment */
.icon-valign-top {
    vertical-align: top;
}

.icon-valign-middle {
    vertical-align: middle;
}

.icon-valign-bottom {
    vertical-align: bottom;
}

/* Icon Hover Effects */
.icon-hover:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

.icon-hover-glow:hover {
    text-shadow: 0 0 10px currentColor;
    transition: text-shadow 0.2s ease;
}

/* Icon Loading States */
.icon-loading {
    animation: fa-spin 1s infinite linear;
}

.icon-loading-pulse {
    animation: fa-spin 1s infinite steps(8);
}

/* Icon Responsive */
@media (max-width: 768px) {
    .icon-responsive {
        font-size: 0.9em;
    }
}

@media (min-width: 1200px) {
    .icon-responsive {
        font-size: 1.1em;
    }
}
