/*!
 * Font Awesome Minimal CSS - KELLER digital
 * Optimized version containing only icons used on the site
 * Reduces from 21.1 KiB to ~3 KiB (85% savings)
 * Based on Font Awesome 6.4.0
 */

/* Font Face Definitions */
@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"),
       url("../webfonts/fa-solid-900.ttf") format("truetype");
}

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"),
       url("../webfonts/fa-brands-400.ttf") format("truetype");
}

/* Base Classes */
.fa, .fas, .far, .fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fas, .fa-solid {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

.fab, .fa-brands {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

/* Size Classes */
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }

/* Additional Size Classes */
.fa-2xs {
  font-size: 0.625em;
  line-height: 0.1em;
  vertical-align: 0.225em;
}

.fa-xs {
  font-size: 0.75em;
  line-height: 0.08333em;
  vertical-align: 0.125em;
}

.fa-sm {
  font-size: 0.875em;
  line-height: 0.07143em;
  vertical-align: 0.05357em;
}

.fa-lg {
  font-size: 1.25em;
  line-height: 0.05em;
  vertical-align: -0.075em;
}

.fa-xl {
  font-size: 1.5em;
  line-height: 0.04167em;
  vertical-align: -0.125em;
}

.fa-2xl {
  font-size: 2em;
  line-height: 0.03125em;
  vertical-align: -0.1875em;
}

/* Fixed Width */
.fa-fw {
  text-align: center;
  width: 1.25em;
}

/* List Utilities */
.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0;
}

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

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit;
}

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

/* Pull Left/Right */
.fa-pull-left {
  float: left;
  margin-right: 0.3em;
}

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

/* Rotation Classes */
.fa-rotate-90 {
  transform: rotate(90deg);
}

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

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

/* Flip Classes */
.fa-flip-horizontal {
  transform: scaleX(-1);
}

.fa-flip-vertical {
  transform: scaleY(-1);
}

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  transform: scale(-1);
}

/* Stack Classes */
.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

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

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

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

/* Inverse */
.fa-inverse {
  color: #fff;
}

/* Animation Classes */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

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

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

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .fa-spin, .fa-pulse {
    animation-duration: 1ms;
    animation-iteration-count: 1;
  }
}

/* Icon Definitions - Only Used Icons */

/* Contact & Communication Icons */
.fa-envelope:before { content: "\f0e0"; }
.fa-phone:before { content: "\f095"; }
.fa-whatsapp:before { content: "\f232"; }

/* UI & Navigation Icons */
.fa-check:before { content: "\f00c"; }
.fa-download:before { content: "\f019"; }
.fa-times:before { content: "\f00d"; }
.fa-spinner:before { content: "\f110"; }
.fa-search:before { content: "\f002"; }
.fa-cookie-bite:before { content: "\f564"; }

/* Service Icons */
.fa-globe:before { content: "\f0ac"; }
.fa-shopping-cart:before { content: "\f07a"; }
.fa-tools:before { content: "\f7d9"; }
.fa-sync-alt:before { content: "\f2f1"; }
.fa-mobile-alt:before { content: "\f3cd"; }
.fa-users:before { content: "\f0c0"; }
.fa-calendar-check:before { content: "\f274"; }
.fa-language:before { content: "\f1ab"; }
.fa-lock:before { content: "\f023"; }
.fa-robot:before { content: "\f544"; }
.fa-database:before { content: "\f1c0"; }
.fa-plug:before { content: "\f1e6"; }
.fa-tachometer-alt:before { content: "\f625"; }
.fa-universal-access:before { content: "\f29a"; }
.fa-lightbulb:before { content: "\f0eb"; }
.fa-cloud-upload-alt:before { content: "\f382"; }
.fa-digital-tachograph:before { content: "\f566"; }

/* Product Icons */
.fa-hdd:before { content: "\f0a0"; }
.fa-server:before { content: "\f233"; }
.fa-calendar-alt:before { content: "\f073"; }
.fa-desktop:before { content: "\f108"; }
.fa-user-cog:before { content: "\f4fe"; }
.fa-calendar-plus:before { content: "\f271"; }
.fa-code:before { content: "\f121"; }
.fa-share-alt:before { content: "\f1e0"; }
.fa-video:before { content: "\f03d"; }
.fa-laptop-code:before { content: "\f5fc"; }