/*--- SIMPLE ICONS USING UNICODE ---*/
.i_download::before {content: "⬇";}
.i_heart::before {content: "♥";}
.i_eye::before {content: "👁";}
.i_calendar::before {content: "📅";}
.i_user::before {content: "👤";}
.i_search::before {content: "🔍";}
.i_arrow-right::before {content: "→";}
.i_arrow-left::before {content: "←";}
.i_arrow-up::before {content: "↑";}
.i_arrow-down::before {content: "↓";}
.i_plus::before {content: "+";}
.i_minus::before {content: "−";}
.i_close::before {content: "×";}
.i_menu::before {content: "☰";}
.i_home::before {content: "🏠";}
.i_settings::before {content: "⚙";}
.i_info::before {content: "ℹ";}
.i_warning::before {content: "⚠";}
.i_error::before {content: "❌";}
.i_success::before {content: "✅";}
.i_edit::before {content: "✏";}
.i_delete::before {content: "🗑";}
.i_bookmark::before {content: "🔖";}
.i_share::before {content: "📤";}
.i_comment::before {content: "💬";}
.i_like::before {content: "👍";}
.i_dislike::before {content: "👎";}
.i_play::before {content: "▶";}
.i_pause::before {content: "⏸";}
.i_stop::before {content: "⏹";}
.i_volume::before {content: "🔊";}
.i_mute::before {content: "🔇";}
.i_fullscreen::before {content: "⛶";}
.i_minimize::before {content: "🗕";}
.i_maximize::before {content: "🗗";}
.i_restore::before {content: "🗖";}
.i_refresh::before {content: "🔄";}
.i_sync::before {content: "🔄";}
.i_download-cloud::before {content: "☁";}
.i_upload::before {content: "⬆";}
.i_folder::before {content: "📁";}
.i_file::before {content: "📄";}
.i_image::before {content: "🖼";}
.i_video::before {content: "🎥";}
.i_audio::before {content: "🎵";}
.i_document::before {content: "📋";}
.i_archive::before {content: "📦";}
.i_code::before {content: "💻";}
.i_terminal::before {content: "⌨";}
.i_database::before {content: "🗄";}
.i_server::before {content: "🖥";}
.i_network::before {content: "🌐";}
.i_wifi::before {content: "📶";}
.i_bluetooth::before {content: "📡";}
.i_battery::before {content: "🔋";}
.i_plug::before {content: "🔌";}
.i_lightbulb::before {content: "💡";}
.i_flash::before {content: "⚡";}
.i_fire::before {content: "🔥";}
.i_water::before {content: "💧";}
.i_earth::before {content: "🌍";}
.i_air::before {content: "💨";}
.i_sun::before {content: "☀";}
.i_moon::before {content: "🌙";}
.i_star::before {content: "⭐";}
.i_planet::before {content: "🪐";}
.i_rocket::before {content: "🚀";}
.i_satellite::before {content: "🛰";}
.i_ufo::before {content: "🛸";}
.i_alien::before {content: "👽";}
.i_robot::before {content: "🤖";}
.i_cyborg::before {content: "👾";}
.i_human::before {content: "👨";}
.i_animal::before {content: "🐾";}
.i_plant::before {content: "🌱";}
.i_tree::before {content: "🌳";}
.i_flower::before {content: "🌸";}
.i_grass::before {content: "🌿";}
.i_leaf::before {content: "🍃";}
.i_seed::before {content: "🌱";}
.i_fruit::before {content: "🍎";}
.i_vegetable::before {content: "🥕";}
.i_grain::before {content: "🌾";}
.i_bread::before {content: "🍞";}
.i_meat::before {content: "🥩";}
.i_fish::before {content: "🐟";}
.i_egg::before {content: "🥚";}
.i_milk::before {content: "🥛";}
.i_cheese::before {content: "🧀";}
.i_yogurt::before {content: "🥛";}
.i_butter::before {content: "🧈";}
.i_oil::before {content: "🛢";}
.i_salt::before {content: "🧂";}
.i_sugar::before {content: "🍯";}
.i_honey::before {content: "🍯";}
.i_spice::before {content: "🌶";}
.i_herb::before {content: "🌿";}
.i_tea::before {content: "🍵";}
.i_coffee::before {content: "☕";}
.i_juice::before {content: "🧃";}
.i_soda::before {content: "🥤";}
.i_beer::before {content: "🍺";}
.i_wine::before {content: "🍷";}
.i_cocktail::before {content: "🍸";}
.i_shot::before {content: "🥃";}
.i_bottle::before {content: "🍾";}
.i_glass::before {content: "🥂";}
.i_cup::before {content: "☕";}
.i_mug::before {content: "☕";}
.i_plate::before {content: "🍽";}
.i_bowl::before {content: "🥣";}
.i_fork::before {content: "🍴";}
.i_knife::before {content: "🔪";}
.i_spoon::before {content: "🥄";}
.i_chopsticks::before {content: "🥢";}
.i_pot::before {content: "🍲";}
.i_pan::before {content: "🍳";}
.i_grill::before {content: "🔥";}
.i_oven::before {content: "🔥";}
.i_microwave::before {content: "📺";}
.i_refrigerator::before {content: "❄";}
.i_freezer::before {content: "🧊";}
.i_dishwasher::before {content: "🧽";}
.i_washing-machine::before {content: "🧺";}
.i_dryer::before {content: "🌪";}
.i_vacuum::before {content: "🧹";}
.i_broom::before {content: "🧹";}
.i_mop::before {content: "🧹";}
.i_sponge::before {content: "🧽";}
.i_soap::before {content: "🧼";}
.i_detergent::before {content: "🧴";}
.i_bleach::before {content: "🧴";}
.i_fabric-softener::before {content: "🧴";}
.i_laundry-basket::before {content: "🧺";}
.i_clothes-hanger::before {content: "👕";}
.i_iron::before {content: "🔥";}
.i_sewing-machine::before {content: "🧵";}
.i_scissors::before {content: "✂";}
.i_needle::before {content: "🧵";}
.i_thread::before {content: "🧵";}
.i_button::before {content: "🔘";}
.i_zipper::before {content: "🤐";}
.i_velcro::before {content: "🔗";}
.i_snap::before {content: "🔗";}
.i_hook::before {content: "🪝";}
.i_eyelet::before {content: "👁";}
.i_grommet::before {content: "🔘";}
.i_buckle::before {content: "🔗";}
.i_belt::before {content: "👖";}
.i_shoe::before {content: "👟";}
.i_boot::before {content: "🥾";}
.i_sandal::before {content: "👡";}
.i_slipper::before {content: "🩴";}
.i_sock::before {content: "🧦";}
.i_glove::before {content: "🧤";}
.i_hat::before {content: "🎩";}
.i_cap::before {content: "🧢";}
.i_helmet::before {content: "⛑";}
.i_mask::before {content: "😷";}
.i_glasses::before {content: "👓";}
.i_sunglasses::before {content: "🕶";}
.i_contact-lens::before {content: "👁";}
.i_earring::before {content: "💎";}
.i_necklace::before {content: "📿";}
.i_bracelet::before {content: "💍";}
.i_ring::before {content: "💍";}
.i_watch::before {content: "⌚";}
.i_clock::before {content: "🕐";}
.i_alarm::before {content: "⏰";}
.i_timer::before {content: "⏱";}
.i_stopwatch::before {content: "⏱";}
.i_hourglass::before {content: "⏳";}
.i_sundial::before {content: "🕐";}
.i_compass::before {content: "🧭";}
.i_map::before {content: "🗺";}
.i_globe::before {content: "🌍";}
.i_atlas::before {content: "📚";}
.i_gps::before {content: "📍";}
.i_location::before {content: "📍";}
.i_marker::before {content: "📍";}
.i_flag::before {content: "🏁";}
.i_banner::before {content: "🎌";}
.i_pennant::before {content: "🏁";}
.i_streamer::before {content: "🎊";}
.i_confetti::before {content: "🎊";}
.i_balloon::before {content: "🎈";}
.i_party-hat::before {content: "🎉";}
.i_cake::before {content: "🎂";}
.i_candle::before {content: "🕯";}
.i_gift::before {content: "🎁";}
.i_present::before {content: "🎁";}
.i_wrapping-paper::before {content: "🎁";}
.i_ribbon::before {content: "🎀";}
.i_bow::before {content: "🎀";}
.i_tag::before {content: "🏷";}
.i_label::before {content: "🏷";}
.i_sticker::before {content: "🏷";}
.i_badge::before {content: "🏅";}
.i_medal::before {content: "🏅";}
.i_trophy::before {content: "🏆";}
.i_crown::before {content: "👑";}
.i_scepter::before {content: "⚜";}
.i_orb::before {content: "🔮";}
.i_throne::before {content: "👑";}
.i_castle::before {content: "🏰";}
.i_palace::before {content: "🏛";}
.i_mansion::before {content: "🏛";}
.i_villa::before {content: "🏛";}
.i_cottage::before {content: "🏡";}
.i_cabin::before {content: "🏡";}
.i_hut::before {content: "🏡";}
.i_tent::before {content: "⛺";}
.i_caravan::before {content: "🚐";}
.i_rv::before {content: "🚐";}
.i_camper::before {content: "🚐";}
.i_yacht::before {content: "⛵";}
.i_sailboat::before {content: "⛵";}
.i_speedboat::before {content: "🚤";}
.i_submarine::before {content: "🚢";}
.i_cruise-ship::before {content: "🚢";}
.i_ferry::before {content: "⛴";}
.i_canoe::before {content: "🛶";}
.i_kayak::before {content: "🛶";}
.i_raft::before {content: "🛶";}
.i_surfboard::before {content: "🏄";}
.i_skateboard::before {content: "🛹";}
.i_roller-skates::before {content: "🛼";}
.i_ice-skates::before {content: "⛸";}
.i_ski::before {content: "🎿";}
.i_snowboard::before {content: "🏂";}
.i_sled::before {content: "🛷";}
.i_toboggan::before {content: "🛷";}
.i_bicycle::before {content: "🚲";}
.i_motorcycle::before {content: "🏍";}
.i_scooter::before {content: "🛵";}
.i_moped::before {content: "🛵";}
.i_car::before {content: "🚗";}
.i_truck::before {content: "🚛";}
.i_van::before {content: "🚐";}
.i_bus::before {content: "🚌";}
.i_train::before {content: "🚂";}
.i_subway::before {content: "🚇";}
.i_tram::before {content: "🚊";}
.i_monorail::before {content: "🚝";}
.i_cable-car::before {content: "🚡";}
.i_funicular::before {content: "🚠";}
.i_elevator::before {content: "🛗";}
.i_escalator::before {content: "🛗";}
.i_stairs::before {content: "🪜";}
.i_ramp::before {content: "🛤";}
.i_ladder::before {content: "🪜";}
.i_step-ladder::before {content: "🪜";}
.i_scaffold::before {content: "🏗";}
.i_crane::before {content: "🏗";}
.i_forklift::before {content: "🏗";}
.i_bulldozer::before {content: "🚜";}
.i_excavator::before {content: "🚜";}
.i_steam::before {content: "🎮";}
.i_upd::before {content: "🔄";}
.i_square-up::before {content: "⬆";}
.i_catupd::before {content: "📂";}

/*--- ICON SIZES ---*/
.icon-xs {font-size: 12px;}
.icon-sm {font-size: 14px;}
.icon-md {font-size: 16px;}
.icon-lg {font-size: 18px;}
.icon-xl {font-size: 20px;}
.icon-xxl {font-size: 24px;}

/*--- ICON COLORS ---*/
.icon-primary {color: #4a84c4;}
.icon-secondary {color: #6c757d;}
.icon-success {color: #28a745;}
.icon-danger {color: #dc3545;}
.icon-warning {color: #ffc107;}
.icon-info {color: #17a2b8;}
.icon-light {color: #f8f9fa;}
.icon-dark {color: #343a40;}
.icon-muted {color: #6c757d;}

/*--- ICON ANIMATIONS ---*/
.icon-spin {animation: spin 1s linear infinite;}
.icon-pulse {animation: pulse 1s ease-in-out infinite;}
.icon-bounce {animation: bounce 1s ease-in-out infinite;}
.icon-flash {animation: flash 1s ease-in-out infinite;}
.icon-shake {animation: shake 1s ease-in-out infinite;}
.icon-tada {animation: tada 1s ease-in-out infinite;}
.icon-heartbeat {animation: heartbeat 1s ease-in-out infinite;}

@keyframes pulse {
    0%, 100% {transform: scale(1);}
    50% {transform: scale(1.1);}
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
}

@keyframes flash {
    0%, 50%, 100% {opacity: 1;}
    25%, 75% {opacity: 0;}
}

@keyframes shake {
    0%, 100% {transform: translateX(0);}
    10%, 30%, 50%, 70%, 90% {transform: translateX(-5px);}
    20%, 40%, 60%, 80% {transform: translateX(5px);}
}

@keyframes tada {
    0% {transform: scale(1);}
    10%, 20% {transform: scale(0.9) rotate(-3deg);}
    30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}
    40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
    100% {transform: scale(1) rotate(0);}
}

@keyframes heartbeat {
    0% {transform: scale(1);}
    14% {transform: scale(1.3);}
    28% {transform: scale(1);}
    42% {transform: scale(1.3);}
    70% {transform: scale(1);}
} 