/*!
 * Iconos de la web: cada icono es un archivo SVG en /media/images/icons/ (uno por icono, editable o sustituible).
 * Los SVG vienen de Font Awesome Free 6.5.1 (https://fontawesome.com) · Licencia: iconos CC BY 4.0 (https://fontawesome.com/license/free)
 * Copyright 2023 Fonticons, Inc. (el aviso de licencia va dentro de cada SVG; no lo borres)
 *
 * Se usan igual que siempre:  <i class="fas fa-play"></i>   y   <i class="fab fa-discord"></i>
 * El icono toma el color del texto (color) y su tamaño del font-size, como una letra.
 *
 * PARA AÑADIR UN ICONO NUEVO:
 *   1. Guarda su SVG (viewBox "0 0 ANCHO 512") en /media/images/icons/NOMBRE.svg
 *   2. Añade al final de este archivo una línea:  .fa-NOMBRE { --ico: url('/media/images/icons/NOMBRE.svg'); --w: ANCHO/512em; }
 */
/* Fuente auxiliar diminuta y SIN dibujos: solo da al icono la misma altura de línea y el mismo espaciado entre letras que tenía la fuente de iconos. */
@font-face { font-family: 'VE Icon S'; font-display: block; src: url(data:font/woff2;base64,d09GMgABAAAAAAE0AAoAAAAAAqgAAADsAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAANAowQAE2AiQDBgsGAAQgBX4HKRv6AQCeB7ZNYdtFpJG/d6T8aepqFM/3f++7z9z5qR0beOnLQ1SpCYc4ohH5FrE8KLeNtX6pi6GIyGMRhU0tntraqF93/F3gwMfTWX8/6DEJMPageVRCgYcJpDuciHVElJ7ojvob5NsMaQt4GDE3l98pVx4Z4LEsDOztBnvaMVoLc9OEQ8cRAAUahSWsABpEupNVUlSV/oIg/CzapkujwN84Y3OlMBSIaS6C6Z8LACCAoLSAAgBAOxcQ2wgoi7YN6WVx6ihvyobrL7EPwfeBxkzyjNSyfYInw7HhjVxR5Qnv6hPTs3TBBe+pqfoSAAA=) format('woff2'); }
@font-face { font-family: 'VE Icon B'; font-display: block; src: url(data:font/woff2;base64,d09GMgABAAAAAAE0AAoAAAAAAqgAAADuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAANAowQAE2AiQDBgsGAAQgBX4HKRv6AQCeB7YtZ4t6NlJLs3QcC78W4/n4e/PcebOpHRt46R7BWNUVDnEiGoG1iOVDuW2s9WvFUERlWEThp/YGB0+9LHuwXXf8XeDAx9NZfz/oMQkw9qB5VEKBhwmkO5yIdUSUnuiO+hvkywxpB3gasbCQ32muPDPAU1kYONgNDrRTtBYWpgmHTiMACjQKK1gDNIh0J+ukqCr9BUH4/pG1XhkF/sYFNlcKQ4GY5iKY/pUAAAIISgsoAAC0SwGxi4CybNeQXhXnTvKmbLmdYx+C7wONmfQzUsv2Bbwajg2fwqUqT3hRnpiepREXvKemag4=) format('woff2'); }

.fa, .fas, .fab, .fa-solid, .fa-brands {
  --w: 1em;                      /* ancho del icono; cada icono pone el suyo más abajo */
  display: inline-block;
  font-family: 'VE Icon S';
  font-style: normal;
  line-height: 1;
}
.fab, .fa-brands { font-family: 'VE Icon B'; }
/* El dibujo va en ::after, así el relleno (padding), márgenes, giros, etc. que la web ponga al <i> siguen funcionando como antes. */
.fa::after, .fas::after, .fab::after, .fa-solid::after, .fa-brands::after {
  content: "\e000";
  display: inline-block;
  box-sizing: content-box;
  padding-left: var(--w);        /* ancho real = --w + espaciado entre letras heredado (como una letra) */
  background-color: currentColor;
  -webkit-mask: var(--ico) no-repeat left center / var(--w) 100%;
          mask: var(--ico) no-repeat left center / var(--w) 100%;
}

/* ---- Un icono por línea: archivo SVG + ancho (ANCHO del viewBox / 512, en em) ---- */
.fa-arrow-left { --ico: url('/media/images/icons/arrow-left.svg'); --w: 0.875em; }
.fa-arrow-right { --ico: url('/media/images/icons/arrow-right.svg'); --w: 0.875em; }
.fa-bars { --ico: url('/media/images/icons/bars.svg'); --w: 0.875em; }
.fa-bullhorn { --ico: url('/media/images/icons/bullhorn.svg'); --w: 1em; }
.fa-check-circle { --ico: url('/media/images/icons/check-circle.svg'); --w: 1em; }
.fa-chevron-down { --ico: url('/media/images/icons/chevron-down.svg'); --w: 1em; }
.fa-chevron-left { --ico: url('/media/images/icons/chevron-left.svg'); --w: 0.625em; }
.fa-chevron-right { --ico: url('/media/images/icons/chevron-right.svg'); --w: 0.625em; }
.fa-circle-notch { --ico: url('/media/images/icons/circle-notch.svg'); --w: 1em; }
.fa-clipboard-list { --ico: url('/media/images/icons/clipboard-list.svg'); --w: 0.75em; }
.fa-cloud-upload-alt { --ico: url('/media/images/icons/cloud-upload-alt.svg'); --w: 1.25em; }
.fa-cog { --ico: url('/media/images/icons/cog.svg'); --w: 1em; }
.fa-cogs { --ico: url('/media/images/icons/cogs.svg'); --w: 1.25em; }
.fa-discord { --ico: url('/media/images/icons/discord.svg'); --w: 1.25em; }
.fa-download { --ico: url('/media/images/icons/download.svg'); --w: 1em; }
.fa-envelope { --ico: url('/media/images/icons/envelope.svg'); --w: 1em; }
.fa-exclamation-circle { --ico: url('/media/images/icons/exclamation-circle.svg'); --w: 1em; }
.fa-exclamation-triangle { --ico: url('/media/images/icons/exclamation-triangle.svg'); --w: 1em; }
.fa-external-link-alt { --ico: url('/media/images/icons/external-link-alt.svg'); --w: 1em; }
.fa-eye { --ico: url('/media/images/icons/eye.svg'); --w: 1.125em; }
.fa-eye-slash { --ico: url('/media/images/icons/eye-slash.svg'); --w: 1.25em; }
.fa-file-archive { --ico: url('/media/images/icons/file-archive.svg'); --w: 0.75em; }
.fa-file-audio { --ico: url('/media/images/icons/file-audio.svg'); --w: 0.75em; }
.fa-file-excel { --ico: url('/media/images/icons/file-excel.svg'); --w: 0.75em; }
.fa-file-pdf { --ico: url('/media/images/icons/file-pdf.svg'); --w: 1em; }
.fa-film { --ico: url('/media/images/icons/film.svg'); --w: 1em; }
.fa-fire { --ico: url('/media/images/icons/fire.svg'); --w: 0.875em; }
.fa-gamepad { --ico: url('/media/images/icons/gamepad.svg'); --w: 1.25em; }
.fa-globe { --ico: url('/media/images/icons/globe.svg'); --w: 1em; }
.fa-grip-lines { --ico: url('/media/images/icons/grip-lines.svg'); --w: 0.875em; }
.fa-handshake { --ico: url('/media/images/icons/handshake.svg'); --w: 1.25em; }
.fa-headphones-simple { --ico: url('/media/images/icons/headphones-simple.svg'); --w: 1em; }
.fa-heart { --ico: url('/media/images/icons/heart.svg'); --w: 1em; }
.fa-id-card { --ico: url('/media/images/icons/id-card.svg'); --w: 1.125em; }
.fa-image { --ico: url('/media/images/icons/image.svg'); --w: 1em; }
.fa-info-circle { --ico: url('/media/images/icons/info-circle.svg'); --w: 1em; }
.fa-instagram { --ico: url('/media/images/icons/instagram.svg'); --w: 0.875em; }
.fa-key { --ico: url('/media/images/icons/key.svg'); --w: 1em; }
.fa-laptop-code { --ico: url('/media/images/icons/laptop-code.svg'); --w: 1.25em; }
.fa-link { --ico: url('/media/images/icons/link.svg'); --w: 1.25em; }
.fa-linkedin { --ico: url('/media/images/icons/linkedin.svg'); --w: 0.875em; }
.fa-list { --ico: url('/media/images/icons/list.svg'); --w: 1em; }
.fa-mask { --ico: url('/media/images/icons/mask.svg'); --w: 1.125em; }
.fa-microphone { --ico: url('/media/images/icons/microphone.svg'); --w: 0.75em; }
.fa-microphone-alt { --ico: url('/media/images/icons/microphone-alt.svg'); --w: 0.75em; }
.fa-music { --ico: url('/media/images/icons/music.svg'); --w: 1em; }
.fa-paper-plane { --ico: url('/media/images/icons/paper-plane.svg'); --w: 1em; }
.fa-pen { --ico: url('/media/images/icons/pen.svg'); --w: 1em; }
.fa-play { --ico: url('/media/images/icons/play.svg'); --w: 0.75em; }
.fa-play-circle { --ico: url('/media/images/icons/play-circle.svg'); --w: 1em; }
.fa-plus { --ico: url('/media/images/icons/plus.svg'); --w: 0.875em; }
.fa-portrait { --ico: url('/media/images/icons/portrait.svg'); --w: 0.75em; }
.fa-power-off { --ico: url('/media/images/icons/power-off.svg'); --w: 1em; }
.fa-question { --ico: url('/media/images/icons/question.svg'); --w: 0.625em; }
.fa-redo { --ico: url('/media/images/icons/redo.svg'); --w: 1em; }
.fa-save { --ico: url('/media/images/icons/save.svg'); --w: 0.875em; }
.fa-sign-in-alt { --ico: url('/media/images/icons/sign-in-alt.svg'); --w: 1em; }
.fa-sign-out-alt { --ico: url('/media/images/icons/sign-out-alt.svg'); --w: 1em; }
.fa-sort-amount-down { --ico: url('/media/images/icons/sort-amount-down.svg'); --w: 1.125em; }
.fa-star { --ico: url('/media/images/icons/star.svg'); --w: 1.125em; }
.fa-th-large { --ico: url('/media/images/icons/th-large.svg'); --w: 1em; }
.fa-th-list { --ico: url('/media/images/icons/th-list.svg'); --w: 1em; }
.fa-theater-masks { --ico: url('/media/images/icons/theater-masks.svg'); --w: 1.25em; }
.fa-ticket-alt { --ico: url('/media/images/icons/ticket-alt.svg'); --w: 1.125em; }
.fa-tiktok { --ico: url('/media/images/icons/tiktok.svg'); --w: 0.875em; }
.fa-times { --ico: url('/media/images/icons/times.svg'); --w: 0.75em; }
.fa-toggle-off { --ico: url('/media/images/icons/toggle-off.svg'); --w: 1.125em; }
.fa-toggle-on { --ico: url('/media/images/icons/toggle-on.svg'); --w: 1.125em; }
.fa-tools { --ico: url('/media/images/icons/tools.svg'); --w: 1em; }
.fa-trash { --ico: url('/media/images/icons/trash.svg'); --w: 0.875em; }
.fa-tv { --ico: url('/media/images/icons/tv.svg'); --w: 1.25em; }
.fa-twitch { --ico: url('/media/images/icons/twitch.svg'); --w: 1em; }
.fa-twitter { --ico: url('/media/images/icons/twitter.svg'); --w: 1em; }
.fa-users { --ico: url('/media/images/icons/users.svg'); --w: 1.25em; }
.fa-video { --ico: url('/media/images/icons/video.svg'); --w: 1.125em; }
.fa-volume-high { --ico: url('/media/images/icons/volume-high.svg'); --w: 1.25em; }
.fa-volume-mute { --ico: url('/media/images/icons/volume-mute.svg'); --w: 1.125em; }
.fa-volume-up { --ico: url('/media/images/icons/volume-up.svg'); --w: 1.25em; }
.fa-volume-xmark { --ico: url('/media/images/icons/volume-xmark.svg'); --w: 1.125em; }
.fa-wave-square { --ico: url('/media/images/icons/wave-square.svg'); --w: 1.25em; }
.fa-x-twitter { --ico: url('/media/images/icons/x-twitter.svg'); --w: 1em; }
.fa-youtube { --ico: url('/media/images/icons/youtube.svg'); --w: 1.125em; }

/* ---- Tamaños, giro y animaciones de Font Awesome (sin cambios) ---- */
.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; }

.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; }

.fa-fw {
  text-align: center;
  width: 1.25em; }

.fa-ul {
  list-style-type: none;
  margin-left: var(--fa-li-margin, 2.5em);
  padding-left: 0; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  left: calc(var(--fa-li-width, 2em) * -1);
  position: absolute;
  text-align: center;
  width: var(--fa-li-width, 2em);
  line-height: inherit; }

.fa-border {
  border-color: var(--fa-border-color, #eee);
  border-radius: var(--fa-border-radius, 0.1em);
  border-style: var(--fa-border-style, solid);
  border-width: var(--fa-border-width, 0.08em);
  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); }

.fa-beat {
  -webkit-animation-name: fa-beat;
          animation-name: fa-beat;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
          animation-timing-function: var(--fa-animation-timing, ease-in-out); }

.fa-bounce {
  -webkit-animation-name: fa-bounce;
          animation-name: fa-bounce;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
          animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }

.fa-fade {
  -webkit-animation-name: fa-fade;
          animation-name: fa-fade;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
          animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }

.fa-beat-fade {
  -webkit-animation-name: fa-beat-fade;
          animation-name: fa-beat-fade;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
          animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }

.fa-flip {
  -webkit-animation-name: fa-flip;
          animation-name: fa-flip;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
          animation-timing-function: var(--fa-animation-timing, ease-in-out); }

.fa-shake {
  -webkit-animation-name: fa-shake;
          animation-name: fa-shake;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, linear);
          animation-timing-function: var(--fa-animation-timing, linear); }

.fa-spin {
  -webkit-animation-name: fa-spin;
          animation-name: fa-spin;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 2s);
          animation-duration: var(--fa-animation-duration, 2s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, linear);
          animation-timing-function: var(--fa-animation-timing, linear); }

.fa-spin-reverse {
  --fa-animation-direction: reverse; }

.fa-pulse,
.fa-spin-pulse {
  -webkit-animation-name: fa-spin;
          animation-name: fa-spin;
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
          animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
          animation-timing-function: var(--fa-animation-timing, steps(8)); }

@media (prefers-reduced-motion: reduce) {
  .fa-beat,
  .fa-bounce,
  .fa-fade,
  .fa-beat-fade,
  .fa-flip,
  .fa-pulse,
  .fa-shake,
  .fa-spin,
  .fa-spin-pulse {
    -webkit-animation-delay: -1ms;
            animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
            animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transition-duration: 0s;
            transition-duration: 0s; } }

@-webkit-keyframes fa-beat {
  0%, 90% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  45% {
    -webkit-transform: scale(var(--fa-beat-scale, 1.25));
            transform: scale(var(--fa-beat-scale, 1.25)); } }

@keyframes fa-beat {
  0%, 90% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  45% {
    -webkit-transform: scale(var(--fa-beat-scale, 1.25));
            transform: scale(var(--fa-beat-scale, 1.25)); } }

@-webkit-keyframes fa-bounce {
  0% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0); }
  10% {
    -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
            transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
  30% {
    -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
            transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
  50% {
    -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
            transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
  57% {
    -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
            transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
  64% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0); }
  100% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0); } }

@keyframes fa-bounce {
  0% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0); }
  10% {
    -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
            transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
  30% {
    -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
            transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
  50% {
    -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
            transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
  57% {
    -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
            transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
  64% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0); }
  100% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0); } }

@-webkit-keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4); } }

@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4); } }

@-webkit-keyframes fa-beat-fade {
  0%, 100% {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    opacity: 1;
    -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
            transform: scale(var(--fa-beat-fade-scale, 1.125)); } }

@keyframes fa-beat-fade {
  0%, 100% {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    opacity: 1;
    -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
            transform: scale(var(--fa-beat-fade-scale, 1.125)); } }

@-webkit-keyframes fa-flip {
  50% {
    -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
            transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }

@keyframes fa-flip {
  50% {
    -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
            transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }

@-webkit-keyframes fa-shake {
  0% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg); }
  4% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg); }
  8%, 24% {
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg); }
  12%, 28% {
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg); }
  16% {
    -webkit-transform: rotate(-22deg);
            transform: rotate(-22deg); }
  20% {
    -webkit-transform: rotate(22deg);
            transform: rotate(22deg); }
  32% {
    -webkit-transform: rotate(-12deg);
            transform: rotate(-12deg); }
  36% {
    -webkit-transform: rotate(12deg);
            transform: rotate(12deg); }
  40%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }

@keyframes fa-shake {
  0% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg); }
  4% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg); }
  8%, 24% {
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg); }
  12%, 28% {
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg); }
  16% {
    -webkit-transform: rotate(-22deg);
            transform: rotate(-22deg); }
  20% {
    -webkit-transform: rotate(22deg);
            transform: rotate(22deg); }
  32% {
    -webkit-transform: rotate(-12deg);
            transform: rotate(-12deg); }
  36% {
    -webkit-transform: rotate(12deg);
            transform: rotate(12deg); }
  40%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.fa-rotate-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

.fa-rotate-180 {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.fa-rotate-270 {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

.fa-flip-horizontal {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1); }

.fa-flip-vertical {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1); }

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1); }

.fa-rotate-by {
  -webkit-transform: rotate(var(--fa-rotate-angle, none));
          transform: rotate(var(--fa-rotate-angle, none)); }

.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%;
  z-index: var(--fa-stack-z-index, auto); }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: var(--fa-inverse, #fff); }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */

.sr-only,
.fa-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0; }

.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0; }
