 :root {
      --bcrp-blue: #1B4F8A;
      --bcrp-blue-dark: #0F2F57;
      --bcrp-blue-mid: #2980B9;
      --bcrp-blue-light: #D6E4F0;
      --bcrp-blue-pale: #EBF4FC;
      --gold: #C8962A;
      --gold-light: #F5E6C0;
      --text-dark: #1A1A2E;
      --text-mid: #4A5568;
      --text-light: #718096;
      --white: #FFFFFF;
      --bg: #F7FAFC;
      --border: #CBD5E0;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Source Sans 3', sans-serif;
      background: var(--bg);
      color: var(--text-dark);
      min-height: 100vh;
    }

    /* ─── HEADER (SIR) ───────────────────────────────── */
    .header {
      background-image: url(image/barra.jpg);
      padding: 0;
      position: relative;
      overflow: hidden;
    }

    .header::before {
      content: '';
      position: absolute;
      top: -40px; right: -40px;
      width: 200px; height: 200px;
      background: rgba(255,255,255,0.05);
      border-radius: 50%;
    }

    .header-top {
      display: flex;
      align-items: end;
      justify-content: space-between;
      padding: 4px 10px;
      box-shadow: inset 0 -1px 0 rgba(255,255,255,0.15);
    }

    .header-brand {
      display: flex;
      align-items: center;
      gap: 18px;
    }

    .brand-text h1 {
      font-family: 'Montserrat', sans-serif;
      color: var(--azul-medio);
      font-size: 25px;
      font-weight: 700;
      letter-spacing: 0.5px;
      line-height: 1.2;
      margin-top: 2px;
      text-shadow:
        -2px -2px 0 rgb(151, 150, 150),
        2px -2px 0 white,
        -2px 2px 0 white,
        2px 2px 0 white,
        -2px 0 0 rgb(193, 191, 191),
        2px 0 0 white,
        0 -2px 0 white,
        0 2px 0 white,
        -3px -3px 5px rgba(255,255,255,0.5);
    }

    .header-right {
      text-align: right;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }

    .header-right .subtitle {
      color: rgba(255,255,255,0.85);
      font-size: 18px;
      font-style: italic;
      margin-bottom: 8px;
    }

    .cerplan-highlight {
      color: white;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0.5px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-end;
      margin: 0;
      padding: 0;
    }

    .header-search {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-left: auto;
    }

    .header-search input {
      padding: 8px 16px;
      border-radius: 40px;
      border: 1px solid rgba(255,255,255,.2);
      background: rgba(255,255,255,.1);
      color: white;
      font-size: 13px;
      width: 240px;
      outline: none;
      transition: all .2s;
    }
    .header-search input::placeholder { color: rgba(255,255,255,.5); }
    .header-search input:focus {
      background: rgba(255,255,255,.18);
      border-color: var(--gold);
      width: 280px;
    }

    .search-icon {
      color: rgba(255,255,255,.6);
      font-size: 15px;
      position: relative;
      left: -36px;
      pointer-events: none;
    }

    /* ─── ALPHABET NAV ───────────────────────────────── */
    .alpha-nav {
      background: var(--bcrp-blue);
      padding: 0 40px;
      display: flex;
      align-items: center;
      gap: 0;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .alpha-nav::-webkit-scrollbar { display: none; }

    .alpha-nav a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 32px;
      height: 42px;
      color: rgba(255,255,255,.7);
      text-decoration: none;
      font-family: 'Playfair Display', serif;
      font-size: 16px;
      font-weight: 700;
      border-bottom: 3px solid transparent;
      transition: all .2s;
      position: relative;
    }

    .alpha-nav a:hover,
    .alpha-nav a.active {
      color: white;
      border-bottom-color: var(--gold);
    }

    .alpha-nav a.disabled {
      color: rgba(255,255,255,.25);
      pointer-events: none;
      cursor: default;
    }

    .alpha-nav .divider {
      color: rgba(255,255,255,.15);
      font-size: 12px;
      padding: 0 2px;
      user-select: none;
    }

    /* ─── HERO BAND ──────────────────────────────────── */
    .hero {
      background: linear-gradient(135deg, var(--bcrp-blue) 0%, var(--bcrp-blue-dark) 100%);
      padding: 48px 40px 40px;
      color: white;
      position: relative;
      overflow: hidden;
    }

    .hero::before {
      content: 'GLOSARIO';
      position: absolute;
      right: -20px;
      top: -20px;
      font-family: 'Playfair Display', serif;
      font-size: 140px;
      font-weight: 900;
      color: rgba(255,255,255,.04);
      pointer-events: none;
      white-space: nowrap;
    }

    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: 36px;
      font-weight: 900;
      margin-bottom: 8px;
    }

    .hero h1 span { color: var(--gold); }

    .hero p {
      font-size: 15px;
      color: rgba(255,255,255,.75);
      max-width: 620px;
      line-height: 1.6;
    }

    .hero-meta {
      margin-top: 20px;
      display: flex;
      gap: 24px;
    }

    .hero-stat {
      display: flex;
      flex-direction: column;
    }

    .hero-stat .num {
      font-family: 'Playfair Display', serif;
      font-size: 28px;
      font-weight: 700;
      color: var(--gold);
    }

    .hero-stat .label {
      font-size: 11px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: rgba(255,255,255,.5);
    }

    /* ─── LAYOUT ─────────────────────────────────────── */
    .container {
      max-width: 1100px;
      margin: 0 auto;
      padding: 40px 40px 80px;
    }

    /* ─── LETTER SECTION ─────────────────────────────── */
    .letter-section {
      margin-bottom: 56px;
      scroll-margin-top: 100px;
    }

    .letter-header {
      display: flex;
      align-items: center;
      gap: 20px;
      margin-bottom: 24px;
    }

    .letter-badge {
      width: 64px;
      height: 64px;
      background: var(--bcrp-blue);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Playfair Display', serif;
      font-size: 36px;
      font-weight: 900;
      color: white;
      flex-shrink: 0;
      box-shadow: 0 4px 16px rgba(27,79,138,.35);
    }

    .letter-header-text h2 {
      font-family: 'Playfair Display', serif;
      font-size: 22px;
      font-weight: 700;
      color: var(--bcrp-blue-dark);
    }

    .letter-count {
      font-size: 12px;
      color: var(--text-light);
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    .letter-divider {
      height: 2px;
      background: linear-gradient(to right, var(--bcrp-blue-light), transparent);
      margin-bottom: 20px;
    }

    /* ─── TERM CARD ──────────────────────────────────── */
    .term-list {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .term-card {
      background: white;
      border-radius: 8px;
      border-left: 4px solid transparent;
      padding: 18px 24px;
      transition: all .2s;
      border: 1px solid var(--border);
      border-left: 4px solid var(--bcrp-blue-light);
      cursor: default;
    }

    .term-card:hover {
      border-left-color: var(--bcrp-blue);
      box-shadow: 0 4px 20px rgba(27,79,138,.10);
      transform: translateX(3px);
    }

    .term-card .term-name {
      font-family: 'Playfair Display', serif;
      font-size: 17px;
      font-weight: 700;
      color: var(--bcrp-blue);
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .term-card .term-name::before {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
    }

    .term-card .term-def {
      font-size: 14.5px;
      color: var(--text-mid);
      line-height: 1.7;
      padding-left: 14px;
    }

    .term-card.highlight {
      background: var(--bcrp-blue-pale);
      border-left-color: var(--bcrp-blue);
    }

    /* ─── ACRONYMS TABLE ─────────────────────────────── */
    .acronyms-section {
      margin-top: 48px;
      scroll-margin-top: 100px;
    }

    .section-title {
      font-family: 'Playfair Display', serif;
      font-size: 26px;
      font-weight: 700;
      color: var(--bcrp-blue-dark);
      margin-bottom: 20px;
      padding-bottom: 12px;
      border-bottom: 2px solid var(--bcrp-blue-light);
    }

    .acronym-table {
      width: 100%;
      border-collapse: collapse;
      background: white;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 2px 16px rgba(0,0,0,.07);
    }

    .acronym-table thead tr {
      background: var(--bcrp-blue);
      color: white;
    }

    .acronym-table th {
      padding: 14px 20px;
      text-align: left;
      font-size: 12px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      font-weight: 600;
      font-family: 'Source Sans 3', sans-serif;
    }

    .acronym-table td {
      padding: 12px 20px;
      font-size: 14px;
      border-bottom: 1px solid var(--bcrp-blue-light);
    }

    .acronym-table tbody tr:last-child td { border-bottom: none; }

    .acronym-table tbody tr:hover td {
      background: var(--bcrp-blue-pale);
    }

    .acronym-table td:first-child {
      font-family: 'Playfair Display', serif;
      font-weight: 700;
      color: var(--bcrp-blue);
      font-size: 15px;
    }

    /* ─── NO RESULTS ─────────────────────────────────── */
    .no-results {
      display: none;
      text-align: center;
      padding: 60px 20px;
      color: var(--text-light);
    }

    .no-results .icon { font-size: 48px; margin-bottom: 12px; }
    .no-results p { font-size: 16px; }

    /* ─── FOOTER ─────────────────────────────────────── */
    footer {
      background: var(--bcrp-blue-dark);
      color: rgba(255,255,255,.6);
      text-align: center;
      padding: 24px 40px;
      font-size: 13px;
      border-top: 2px solid var(--gold);
    }

    footer a {
      color: var(--gold);
      text-decoration: none;
    }

    /* ─── BACK TO TOP ────────────────────────────────── */
    .back-top {
      position: fixed;
      bottom: 32px;
      right: 32px;
      width: 44px;
      height: 44px;
      background: var(--bcrp-blue);
      color: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      cursor: pointer;
      box-shadow: 0 4px 16px rgba(27,79,138,.4);
      opacity: 0;
      pointer-events: none;
      transition: all .3s;
      text-decoration: none;
      border: 2px solid var(--gold);
    }

    .back-top.visible {
      opacity: 1;
      pointer-events: all;
    }

    .back-top:hover {
      background: var(--bcrp-blue-dark);
      transform: translateY(-3px);
    }

    /* ─── ANIMATIONS ─────────────────────────────────── */
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .letter-section {
      animation: fadeInUp .4s ease both;
    }

    .letter-section:nth-child(1) { animation-delay: .05s; }
    .letter-section:nth-child(2) { animation-delay: .10s; }
    .letter-section:nth-child(3) { animation-delay: .15s; }
    .letter-section:nth-child(4) { animation-delay: .20s; }
    .letter-section:nth-child(5) { animation-delay: .25s; }

    /* ─── RESPONSIVE ─────────────────────────────────── */
    @media (max-width: 640px) {
      .header-top { padding: 12px 20px; flex-wrap: wrap; gap: 10px; }
      .header-search { width: 100%; }
      .header-search input { width: 100%; }
      .hero { padding: 30px 20px; }
      .hero h1 { font-size: 26px; }
      .container { padding: 24px 20px 60px; }
      .alpha-nav { padding: 0 8px; }
    }

    /* ─── NAVBAR (SIR) ───────────────────────────────── */
    .navbar {
      background: var(--blanco); 
      box-shadow: 0 2px 8px rgba(0,0,0,0.08);
      padding: 0 40px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
    }

    .navbar a {
      color: var(--azul-medio);
      text-decoration: none;
      font-size: 0.83rem;
      font-weight: 600;
      padding: 12px 16px;
      display: flex;
      align-items: center;
      gap: 6px;
      border-bottom: 3px solid transparent;
      transition: all 0.2s ease;
    }

    .navbar a:hover,
    .navbar a.active {
      color: var(--azul-oscuro);
      border-bottom-color: var(--dorado);
      background: rgba(0, 87, 168, 0.04);
    }
.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"}.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:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.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-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.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(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-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(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.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)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-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(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,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-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-shake,.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)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-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-beat-fade,.fa-bounce,.fa-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) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.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%,to{opacity:var(--fa-beat-fade-opacity,.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%,to{-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%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.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:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-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)}