/*!
 * Font Awesome Free 6.5.1 - Local Version
 * Versione locale per garantire il caricamento delle icone
 */

/* Font Awesome Solid */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2");
}

/* Font Awesome Regular */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2");
}

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

/* Base Font Awesome Classes */
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900);
}

.fa,
.fa-brands,
.fa-classic,
.fa-regular,
.fa-sharp,
.fa-solid,
.fab,
.far,
.fas {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa-classic,
.fa-regular,
.fa-solid,
.far,
.fas {
  font-family: "Font Awesome 6 Free";
}

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

/* Font Awesome Solid (default) */
.fas,
.fa-solid {
  font-weight: 900;
}

/* Font Awesome Regular */
.far,
.fa-regular {
  font-weight: 400;
}

/* Font Awesome Brands */
.fab,
.fa-brands {
  font-weight: 400;
}

/* Icone specifiche utilizzate nel sito */
.fa-laptop-code:before {
  content: "\f5fc";
}

.fa-shield-alt:before,
.fa-shield-halved:before {
  content: "\f3ed";
}

.fa-lock:before {
  content: "\f023";
}

.fa-universal-access:before {
  content: "\f29a";
}

.fa-project-diagram:before {
  content: "\f542";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-phone:before {
  content: "\f095";
}

.fa-map-marker-alt:before,
.fa-location-dot:before {
  content: "\f3c5";
}

.fa-external-link-alt:before,
.fa-up-right-from-square:before {
  content: "\f35d";
}

.fa-download:before {
  content: "\f019";
}

.fa-calendar:before {
  content: "\f133";
}

.fa-user:before {
  content: "\f007";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-award:before {
  content: "\f559";
}

.fa-book:before {
  content: "\f02d";
}

.fa-file-pdf:before {
  content: "\f1c1";
}

.fa-link:before {
  content: "\f0c1";
}

.fa-user-tie:before {
  content: "\f508";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-lightbulb:before {
  content: "\f0eb";
}

.fa-users:before {
  content: "\f0c0";
}

.fa-cogs:before {
  content: "\f085";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-chart-line:before {
  content: "\f201";
}

.fa-handshake:before {
  content: "\f2b5";
}

.fa-search:before {
  content: "\f002";
}

.fa-clipboard-check:before {
  content: "\f46c";
}

.fa-user-shield:before {
  content: "\f505";
}

.fa-file-contract:before {
  content: "\f56c";
}

.fa-fish:before {
  content: "\f578";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-tools:before {
  content: "\f7d9";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-amazon:before {
  content: "\f270";
}

.fa-calendar-alt:before {
  content: "\f073";
}

.fa-map-marker-alt:before {
  content: "\f3c5";
}

.fa-clock:before {
  content: "\f017";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-hand-pointer:before {
  content: "\f25a";
}

.fa-brain:before {
  content: "\f5dc";
}

.fa-cog:before {
  content: "\f013";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3-alt:before {
  content: "\f38b";
}

.fa-js-square:before {
  content: "\f3b9";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-sliders-h:before {
  content: "\f1de";
}

.fa-chart-bar:before {
  content: "\f080";
}

.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-minus-circle:before {
  content: "\f056";
}

/* Sizing classes */
.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;
}

.fa-fw {
  text-align: center;
  width: 1.25em;
}

/* Utility classes */
.fa-border {
  border-radius: var(--fa-border-radius, 0.1em);
  border: var(--fa-border-width, 0.08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);
  padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}

.fa-pull-left {
  float: left;
  margin-right: var(--fa-pull-margin, 0.3em);
}

.fa-pull-right {
  float: right;
  margin-left: var(--fa-pull-margin, 0.3em);
}

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

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

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

.fa-flip-horizontal {
  transform: scaleX(-1);
}

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

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

/* Animation support */
.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);
  }
}

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

/* High contrast support */
@media (prefers-contrast: high) {
  .fa {
    font-weight: bold;
  }
}