bullframe.css 6.2.1 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +75 -46
  2. package/README.md +1 -2
  3. package/dist/css/bullframe-classless-dark.css +1 -1
  4. package/dist/css/bullframe-classless-dark.min.css +1 -1
  5. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  6. package/dist/css/bullframe-classless-system-default.css +1 -1
  7. package/dist/css/bullframe-classless-system-default.min.css +1 -1
  8. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  9. package/dist/css/bullframe-classless.css +1 -1
  10. package/dist/css/bullframe-classless.min.css +1 -1
  11. package/dist/css/bullframe-classless.min.css.map +1 -1
  12. package/dist/css/bullframe-dark.css +1 -1
  13. package/dist/css/bullframe-dark.min.css +1 -1
  14. package/dist/css/bullframe-dark.min.css.map +1 -1
  15. package/dist/css/bullframe-system-default.css +1 -1
  16. package/dist/css/bullframe-system-default.min.css +1 -1
  17. package/dist/css/bullframe-system-default.min.css.map +1 -1
  18. package/dist/css/bullframe-utilities.css +1 -1
  19. package/dist/css/bullframe-utilities.min.css +1 -1
  20. package/dist/css/bullframe-utilities.min.css.map +1 -1
  21. package/dist/css/bullframe.css +1 -1
  22. package/dist/css/bullframe.min.css +1 -1
  23. package/dist/css/bullframe.min.css.map +1 -1
  24. package/dist/skills/AGENTS.bullframe.md +3 -0
  25. package/dist/skills/api.json +1 -1
  26. package/dist/skills/bullframe-components/SKILL.md +88 -0
  27. package/dist/skills/bullframe-components/examples/components.html +100 -0
  28. package/dist/skills/bullframe-media/SKILL.md +86 -0
  29. package/dist/skills/bullframe-media/examples/album.html +104 -0
  30. package/dist/skills/bullframe-theming/SKILL.md +85 -0
  31. package/dist/skills/bullframe-theming/examples/branded.html +58 -0
  32. package/dist/skills/index.json +77 -1
  33. package/package.json +9 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["bullframe.css"],"names":[],"mappings":"AAAA,uFAAuF,CAQvF,MAEE,eAA4B,CAC5B,kBAA4B,CAC5B,6BAAuC,CACvC,oBAAiC,CACjC,cAA2B,CAC3B,mBAAgC,CAChC,yBAAmC,CACnC,cAAwB,CACxB,oBAA8B,CAC9B,eAAsB,CAGtB,sBAAmC,CACnC,gBAA2B,CAC3B,kBAA2B,CAG3B,iBAAwB,CACxB,uBAA8B,CAC9B,6BAAuC,CAGvC,YAAsB,CAGtB,sCAAuC,CACvC,4BAA6B,CAC7B,6BAA8B,CAG9B,oBAA2B,CAC3B,sBAA+B,CAC/B,4BAAqC,CACrC,8BAAuC,CACvC,yCAA4C,CAC5C,yBAAiC,CACjC,wBAAkC,CAClC,8BAAwC,CACxC,2CAA+C,CAC/C,yBAAiC,CAGjC,uBAAwB,CACxB,sBAAuB,CACvB,oBAAqB,CACrB,oBAAqB,CACrB,qBAAsB,CACtB,+BAAgC,CAGhC,0NAGuC,CACvC,qDAAyD,CACzD,kGACsF,CACtF,8BAA+B,CAC/B,yBAA0B,CAG1B,oBAAqB,CACrB,wBAAyB,CACzB,wBAAyB,CACzB,wBAAyB,CACzB,yBAA0B,CAC1B,0BACF,CAKA,iBAGE,qBACF,CAEA,0FAaE,aACF,CAEA,SACE,YACF,CAGA,2CACE,sBACF,CAIA,OAEE,KACE,6BAA8B,CAC9B,0BAA2B,CACtB,qBACP,CAGA,oCACE,KACE,uBACF,CACF,CAGA,GACE,aAAc,CACd,kBACF,CAGA,8BACE,KAEE,0BAA2B,CAD3B,mBAEF,CACF,CAGA,2BAKE,mBAAoB,CACpB,oBACF,CAGA,SACE,iBACF,CAGA,4BACE,oEACE,aACF,CACF,CAGA,qBACE,kBACF,CAGA,6BAIE,mBAAoB,CACpB,iBACF,CAGA,cACE,4BACF,CAGA,uCACE,cAEE,uBAAwB,CADxB,8CAEF,CACF,CAGA,qFAGE,aACF,CACA,sFAGE,aACF,CAIA,MACE,gBACF,CAGA,8CACE,iBACE,yBACF,CAEA,yBACE,kCAGE,SAAU,CACV,qFAIF,CAEA,kDAGE,SACF,CAEA,gBACE,kDAGE,SACF,CACF,CACF,CACF,CAGA,IACE,aACF,CAGA,oDACE,UACE,QAAS,CACT,uCACF,CACF,CACF,CAKA,KACE,6BAA8B,CAC3B,0BAA2B,CACtB,qBAAsB,CAK9B,oBAAqB,CACrB,gCAAkC,CAHlC,eAAgB,CAIhB,gBAAiB,CAGjB,wCACF,CAEA,KAQE,+MAiBoB,CAvBpB,sCAAuC,CAEvC,eAAgB,CADhB,sCAAuC,CAFvC,QAAS,CAIT,eAAgB,CAuBhB,iCAAkC,CAGlC,oBAAqB,CAErB,gCACF,CAGA,kBASE,aAAc,CADd,mBAAoB,CADpB,eAAgB,CAGhB,gBAAiB,CACjB,kCAAmC,CALnC,YAMF,CAGA,8BACE,kBAME,iBACF,CACF,CAEA,GACE,cAAe,CACf,gBACF,CAEA,GACE,cAAe,CACf,cACF,CAEA,GACE,cAAe,CACf,gBACF,CAEA,GACE,cAAe,CACf,cACF,CAEA,MAEE,cAAe,CACf,gBACF,CAGA,WAGE,iBAAkB,CAFlB,+BAAgC,CAChC,cAEF,CAEA,aACE,eACF,CAEA,iBACE,oBAAqB,CACrB,aACF,CAEA,wBACE,qBACF,CAEA,EACE,sCACF,CAGA,EACE,iCACF,CAGA,sCAME,eAAgB,CAJhB,WAAY,CACZ,yBAA0B,CAC1B,wCAAyC,CACjC,gCAEV,CAEA,KACE,iCAEF,CAEA,SAHE,qBAOF,CAJA,IACE,uCAAwC,CAExC,oBACF,CAGA,SAEE,mBAAoB,CAMpB,kBALF,CAQA,IACE,iBACF,CAEA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,QAAS,CACT,UACF,CAEA,IACE,WAAY,CACZ,aACF,CAEA,MACE,aACF,CAGA,4BACE,aACE,gBACF,CACF,CAEA,GAIE,kBAAmB,CACnB,oBAAqB,CAJrB,sBAAuB,CAKvB,aAAc,CAHd,QAAS,CAIT,6BAA8B,CAE9B,gBAAiB,CADjB,SAEF,CAGA,OAXE,aAwBF,CAbA,IACE,iCAAkC,CAGlC,aAAc,CACd,oBAAqB,CACrB,oBAAqB,CAErB,YAAa,CADb,eAAgB,CAKhB,uBACF,CAEA,kBAIE,2KAIoB,CAGpB,gBACF,CAEA,KACE,oBACF,CAMA,gBAHE,aAOF,CAJA,SACE,iBAAkB,CAElB,iBACF,CAKA,mDACE,aAAc,CACd,mBAAoB,CACpB,iBAAkB,CAClB,mBACF,CAEA,gFACE,QACF,CAEA,0CACE,UACF,CAGA,kHAUE,UACF,CAGA,qGAWE,oBACF,CAEA,oBAEE,4BAA6B,CAD7B,aAEF,CAEA,0CACE,qBACF,CAEA,8BACE,uBACF,CAEA,aACE,QACF,CAGA,iBACE,QAAS,CAET,QAAS,CACT,WAAY,CAFZ,SAGF,CAEA,eAIE,QAAS,CAMT,aAAc,CATd,aAAc,CAOd,iBAAkB,CAFlB,eAAgB,CAGhB,iBAAkB,CAFlB,kCAAmC,CALnC,cAAe,CAGf,SAAU,CAFV,kBAQF,CAEA,cAEE,aAAc,CADd,eAAgB,CAEhB,iBAAkB,CAClB,kCACF,CAEA,gDACE,cACF,CAEA,4BACE,WACF,CAEA,+OAOE,SACF,CAEA,+BACE,SACF,CAEA,sBACE,4CACF,CAEA,eACE,qBACF,CAEA,sBACE,mBACF,CAEA,eACE,gBACF,CAIA,8HAOE,sBACF,CAEA,iBACE,mBAAoB,CACpB,iBAAkB,CAClB,kBAAmB,CACnB,eACF,CAGA,0UAsBE,uBAAwB,CAChB,eACV,CAEA,uBAEE,uBAAwB,CACrB,oBAAqB,CAChB,eAAgB,CAHxB,YAIF,CAEA,qCACE,kCACF,CAEA,qBACE,iBACF,CAEA,wBACE,kCACF,CAEA,qCAEE,gCAAiC,CADjC,SAEF,CAEA,uBACE,4BACF,CAEA,sCACE,WACF,CAEA,yBACE,qBACF,CAEA,iBACE,WAAY,CACZ,eAAgB,CAChB,eAAgB,CAChB,aAAc,CAEd,eAAgB,CADhB,kBAEF,CAGA,mBAEE,iBAAkB,CADlB,SAEF,CAEA,wDAIE,2BAA4B,CAH5B,kBAAmB,CAEnB,QAAS,CAGT,gBAAiB,CAJjB,iBAAkB,CAGlB,uBAAwB,CAExB,wCAA4C,CAK5C,qBAAsB,CADtB,QAAS,CAHT,wBAAyB,CACtB,qBAAsB,CACjB,gBAGV,CAEA,2LAIE,oBAAqB,CADrB,oBAEF,CAEA,oHAME,cACF,CAIA,2DACE,yBACF,CACA,iDACE,yBACF,CAGA,gBACE,YACF,CAIA,iBACE,eACF,CAGA,sMAiBE,gCAAiC,CACjC,+BAAgC,CAChC,2DACF,CAEA,mdA0CE,2BAA4B,CAC5B,uCAAyC,CALzC,yDAMF,CAEA,wDAGE,+BAAgC,CAFhC,oBAAqB,CACrB,mEAAgF,CAEhF,kDAIF,CAEA,uOAOE,kBAA4B,CAD5B,oBAAqB,CADrB,oBAGF,CAEA,yKAIE,oCACF,CAGA,gwBAwCE,yBAA2B,CAN3B,wBAA0B,CAC1B,4BAA8B,CAO9B,oBAAuB,CADvB,sBAAwB,CALxB,6BAA+B,CAC/B,kCAAoC,CACjC,+BAAiC,CAC5B,0BAIV,CAIA,4CACE,uBAAwB,CACrB,oBAAqB,CAChB,eAAgB,CACxB,8PAEyC,CACzC,+DACF,CAGA,mHAEE,uCAAyC,CAEzC,8DAA+D,CAD/D,4CAEF,CAIA,qFACE,qBACE,uBAAwB,CACrB,oBAAqB,CAChB,eAAgB,CAExB,aAAc,CADd,UAEF,CAEA,2CAEE,uBAAwB,CAChB,eAAgB,CAKxB,+BAAgC,CAPhC,QAAS,CAQT,oBAAqB,CAHrB,aAAc,CACd,kBAAoB,CAOpB,8GAG8B,CAH9B,sGAG8B,CAZ9B,YAaF,CAEA,kDACE,+BACF,CAEA,uCAEE,oBAAqB,CAChB,eAAgB,CAIrB,+BAAgC,CANhC,QAAS,CAOT,oBAAqB,CAFrB,aAAc,CAOd,2GAG8B,CAH9B,sGAG8B,CAX9B,YAYF,CAEA,8CACE,+BACF,CAEA,oDAOE,2CAA4C,CAL5C,wBAAyB,CADzB,iBAAkB,CAKlB,cAAe,CADf,aAAe,CADf,UAIF,CAEA,uCAOE,2CAA4C,CAL5C,wBAAyB,CADzB,iBAAkB,CAKlB,cAAe,CADf,aAAe,CADf,UAIF,CAEA,2BACE,YACF,CAEA,iDACE,sEAGF,CAEA,6CACE,sEAGF,CAEA,uCACE,QACF,CAEA,8BACE,mBACF,CAEA,oDACE,qCACF,CAEA,gDACE,qCACF,CACF,CAKA,EAGE,4BAA6B,CAF7B,oBAAqB,CACrB,oBAEF,CAEA,gBAGE,0BAA2B,CAD3B,yBAEF,CAQA,2EAEE,aAAc,CACd,oBACF,CAEA,+BACE,SACF,CAIA,mCACE,YACF,CAGA,kDACE,mBACF,CAEA,eACE,mEAAoE,CACpE,0CACF,CAIA,yYAqBE,SACF,CAGA,cAIE,iCAAkC,CAClC,SACF,CAEA,2CAOE,eACF,CAEA,MAEE,gCACF,CAEA,cAEE,eAAgB,CAChB,aACF,CAMA,GACE,aACF,CAGA,cACE,eAAgB,CAChB,iBACF,CAGA,4BAIE,oBACF,CAEA,2CAOE,cACF,CAEA,2BAKE,qBACF,CAEA,IAEE,iBAAkB,CADlB,WAEF,CAEA,OACE,QACF,CAEA,kBAEE,aACF,CAEA,WAEE,aAAc,CADd,iBAEF,CAEA,MACE,WACF,CAEA,MACE,UACF,CAEA,sBACE,YAAa,CACb,QACF,CAEA,eACE,eACF,CAEA,gBACE,iBACF,CAEA,eAEE,oBAAqB,CAGrB,cAAe,CAFf,uBAAwB,CACxB,UAEF,CAGA,gBACE,uBAAwB,CACrB,oBAAqB,CAChB,eAAgB,CAMxB,+BAAgC,CALhC,WAAY,CAMZ,oBAAqB,CAJrB,WAAY,CACZ,WAIF,CAEA,sCACE,+BACF,CAEA,wCACE,yBACF,CAGA,OACE,iBACF,CAGA,QACE,iBAAkB,CAElB,mBAAoB,CADpB,kCAEF,CAEA,8BACE,iBACF,CAEA,QACE,cAAe,CACf,eAAgB,CAChB,oBACF,CAEA,OACE,gCAAiC,CAEjC,WAAY,CACZ,kCAAmC,CAFnC,oBAAqB,CAIrB,uBAAwB,CACxB,kBAAmB,CAEnB,uDAA4D,CAD5D,yBAA2B,CAH3B,4BAKF,CAEA,yBACE,OACE,eACF,CACF,CAGA,aACE,uBACF,CAEA,iBACE,yBACF,CAGA,8CACE,MACE,sBACF,CACF,CAGA,MAGE,wBAAyB,CACzB,yBAA0B,CAH1B,mBAAoB,CACpB,cAAe,CAGf,aACF,CAEA,2BAQE,cAAe,CAFf,oBAGF,CAEA,SACE,qBACF,CAEA,MAEE,kBACF,CAEA,GAGE,eAAgB,CAFhB,kBAAmB,CACnB,+BAEF,CAEA,QAKE,mBAAoB,CAFpB,oBAAqB,CAIrB,aAAc,CADd,iBAAkB,CAJlB,mCAAoC,CADpC,gCAAiC,CAGjC,eAIF,CAIA,2BACE,eACF,CAGA,0CACE,kBACF,CAGA,sCACE,eACF,CAEA,kDACE,kBAAsB,CACtB,iBACF,CAIA,+BACE,EACE,yBACF,CAIA,MACE,6BACF,CAEA,eAEE,oBAAsB,CADtB,mBAEF,CAEA,8LAeE,gBACF,CACF,CAGA,8BACE,eACE,uBACF,CAEA,EACE,yBACF,CAGA,gDAIE,2BACF,CACF,CAKA,YACE,kBAAoB,CACpB,4BAAiC,CACjC,oBAAsB,CACtB,qBAAuB,CACvB,yBAA2B,CAC3B,mBAAqB,CACrB,2BAA6B,CAC7B,4BAA8B,CAC9B,mBACF,CAGA,wHAIE,mBAAqB,CACrB,qBAAuB,CACvB,kBAAoB,CACpB,0BAA4B,CAC5B,yBAA2B,CAC3B,6BAA+B,CAC/B,oBACF,CAIA,cAOE,gCAAiC,CACjC,qCAAsC,CAFtC,oBAAqB,CAHrB,MAAO,CAEP,iDAAkD,CAJlD,iBAAkB,CAClB,KAAM,CAON,2BAA4B,CAL5B,YAMF,CAEA,gDAEE,uBACF,CAKA,uCAEE,WAAY,CACZ,aACF,CAEA,mBACE,UACF,CAMA,oBAHE,sBAMF,CAHA,WAEE,2BACF,CAEA,cAIE,sCAAwC,CACxC,kBAAoB,CAHpB,2BAA6B,CAD7B,oBAAsB,CAKtB,kBAAoB,CACpB,mBAAqB,CAJrB,0BAKF,CAKA,cACE,2BACF,CAEA,YACE,4BACF,CAEA,kBACE,uBACF,CAEA,yBACE,uBAAyB,CACzB,0BAA4B,CAC5B,2BAA6B,CAC7B,2BACF,CAEA,mBACE,wBACF,CAEA,yBACE,8BACF,CAEA,iBACE,sBACF,CAEA,wBACE,6BACF,CAEA,gCACE,oCACF,CAEA,8BACE,kCACF,CAEA,iCACE,gCACF,CAEA,uBACE,wBACF,CAEA,yBACE,0BACF,CAEA,eACE,oBACF,CAEA,gBACE,qBACF,CAEA,mBACE,wBACF,CAEA,oBACE,yBAA2B,CAC3B,eACF,CAOA,+CACE,2BACF,CAEA,+BAGE,kBAAoB,CAFpB,2BAA6B,CAC7B,iBAAmB,CAEnB,wCACF,CAEA,sBAGE,4BAA8B,CAF9B,sBAAwB,CAGxB,sBAAwB,CAFxB,gCAGF,CAEA,aACE,mBACF,CAEA,aACE,wBACF,CAEA,aACE,mBACF,CAEA,aACE,mBACF,CAEA,cACE,oBACF,CAEA,eACE,oBACF,CAGA,0BACE,kCACF,CAEA,qBACE,6BACF,CAEA,WACE,yBACF,CAEA,aACE,2BACF,CAEA,YACE,0BACF,CAEA,aACE,4CAA8C,CAC9C,8CACF,CAEA,aACE,2BACF,CAGA,mBACE,2BACF,CAGA,iBACE,yBACF,CAEA,iBACE,yBACF,CAEA,iBACE,yBACF,CAEA,iBACE,yBACF,CAEA,iBACE,yBACF,CAEA,iBACE,yBACF,CAEA,eACE,8BACF,CAEA,eACE,wBAA0B,CAC1B,yBAA2B,CAC3B,gCAAkC,CAClC,4BAA8B,CAC9B,0BACF,CAEA,4BAIE,sBAAwB,CACxB,8BAEF,CAEA,wDANE,6BAA+B,CAF/B,yBAA2B,CAC3B,gCAAkC,CAIlC,qCAUF,CAPA,4BAIE,sBAAwB,CACxB,8BAEF,CAEA,cACE,kCAAoC,CACjC,+BAAiC,CAC5B,0BAA4B,CACpC,oCACF,CAEA,oBACE,+CACF,CAEA,eACE,0CACF,CAEA,mBACE,8CACF,CAGA,uBACE,gCACF,CAEA,wBACE,8DACF,CAEA,oBACE,uEACF,CAEA,yBACE,wFAEF,CAEA,0BACE,0EACF,CAEA,0BACE,+DACF,CAEA,8BACE,+EACF,CAEA,oBACE,gDACF,CAEA,oBACE,gGAGF,CAEA,2BACE,+GAGF,CAEA,wBACE,sJAGF,CAEA,gBACE,+EACF,CAEA,mBACE,gGAGF,CAEA,kBACE,kFACF,CAEA,yBACE,uEACF,CAEA,0CAME,yBAA2B,CAE3B,yBAA2B,CAC3B,4CAA8C,CAF9C,sBAGF,CAEA,OACE,wBAA0B,CAC1B,0BACF,CAEA,OACE,wBAA0B,CAC1B,wBACF,CAEA,OACE,wBAA0B,CAC1B,0BACF,CAEA,OACE,wBAA0B,CAC1B,wBACF,CAEA,cAEE,wBAA0B,CAC1B,0BACF,CAEA,UACE,wBACF,CAEA,8BACE,kCACF,CAGA,mCAEE,qBAAsB,CACtB,aAAc,CAEd,gBAAiB,CADjB,iBAAkB,CAElB,0CAA2C,CAC3C,2CACF,CAEA,cACE,gBACF,CAEA,QACE,YAAa,CACb,cAAe,CACf,kDAAqD,CACrD,mDACF,CAEA,iBAKE,WAAY,CACZ,aAAc,CAJd,cAAe,CACf,0CAA2C,CAC3C,2CAA4C,CAH5C,iBAMF,CAEA,eAEE,aAAc,CADd,cAEF,CAEA,+BAEE,cAAe,CADf,eAEF,CAGA,WACE,eAAgB,CAChB,cACF,CAEA,WACE,mBAAoB,CACpB,kBACF,CAEA,WACE,mBAAoB,CACpB,kBACF,CAEA,UACE,cAAe,CACf,aACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,cAAe,CACf,aACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,cAAe,CACf,aACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,kBAAmB,CACnB,iBACF,CAGA,yBACE,gCACE,aAAc,CACd,cACF,CAEA,wCACE,eAAgB,CAEhB,aAAc,CADd,cAAe,CAEf,cAAe,CACf,eACF,CACF,CAEA,yBACE,gCACE,aAAc,CACd,cACF,CAEA,wCACE,eAAgB,CAEhB,aAAc,CADd,cAAe,CAEf,cAAe,CACf,eACF,CACF,CAEA,yBACE,gCACE,aAAc,CACd,cACF,CAEA,wCACE,eAAgB,CAEhB,aAAc,CADd,cAAe,CAEf,cAAe,CACf,eACF,CACF,CAGA,gDAEE,eACF,CAGA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,gBACE,WACF,CACA,gBACE,WACF,CACA,gBACE,WACF,CAGA,QACE,kBACF,CAEA,UACE,sBACF,CAEA,UACE,yBACF,CAEA,UACE,uBACF,CAEA,UACE,wBACF,CAGA,kBAEE,4CACF,CAEA,kBAEE,4CACF,CAEA,kBAEE,4CACF,CAEA,kBAEE,6CACF,CAEA,UACE,yCACF,CAEA,UACE,yCACF,CAEA,UACE,yCACF,CAEA,UACE,0CACF,CAEA,QACE,mBACF,CAEA,UACE,uBACF,CAEA,UACE,0BACF,CAEA,UACE,wBACF,CAEA,UACE,yBACF,CAGA,kBAEE,6CACF,CAEA,kBAEE,6CACF,CAEA,kBAEE,6CACF,CAEA,kBAEE,8CACF,CAEA,UACE,0CACF,CAEA,UACE,0CACF,CAEA,UACE,0CACF,CAEA,UACE,2CACF,CAGA,QAQE,2BAA4B,CAL5B,oBAAqB,CADrB,cAAe,CADf,oBAAqB,CAIrB,kBAAmB,CAEnB,QAAS,CAGT,gBAAiB,CANjB,mEAAgF,CAEhF,iBAAkB,CAGlB,uBAAwB,CAExB,wCAA4C,CAQ5C,qCAAsC,CADtC,qBAAsB,CADtB,QAAS,CAFT,kCAAmC,CAKnC,kBAAoB,CARpB,wBAAyB,CACtB,qBAAsB,CACjB,gBAOV,CAEA,cACE,SACF,CAEA,2CAKE,kBAA4B,CAD5B,oBAAqB,CADrB,oBAGF,CAEA,6BAEE,oCACF,CAGA,wBAEE,yBAA0B,CAD1B,qBAEF,CAEA,2FAIE,+BAAgC,CADhC,qBAEF,CAEA,6DAEE,uCACF,CAEA,kGAcE,qCAAsC,CAFtC,yBAA2B,CAN3B,wBAA0B,CAC1B,4BAA8B,CAM9B,oBAAuB,CAEvB,sBAAwB,CAPxB,6BAA+B,CAC/B,kCAAoC,CACjC,+BAAiC,CAC5B,0BAKV,CAEA,8BACE,QACE,2BACF,CACF,CAGA,YAKE,qCAAuC,CACvC,iDAAoD,CALpD,mEAMF,CAEA,wJAgBE,gCAAiC,CACjC,2BAA4B,CAH5B,yBAA2B,CAN3B,wBAA0B,CAC1B,4BAA8B,CAM9B,oBAAuB,CALvB,6BAA+B,CAC/B,kCAAoC,CACjC,+BAAiC,CAC5B,0BAKV,CAEA,kBACE,4BAA6B,CAC7B,wBACF,CAEA,oHAcE,+BAAgC,CAHhC,eAAgB,CAEhB,oBAAqB,CARrB,cAAe,CACf,kBAAmB,CAMnB,UAAY,CALZ,mBAAoB,CACpB,wBAAyB,CACtB,qBAAsB,CACjB,gBAKV,CAEA,2bAiBE,+BAAgC,CAFhC,eAAgB,CAChB,oBAEF,CAEA,6BACE,cAAe,CACf,kBAAmB,CAMnB,UAAY,CALZ,mBAAoB,CACpB,wBAAyB,CACtB,qBAAsB,CACjB,gBAKV,CAEA,uIAHE,yBAA0B,CAH1B,eAAgB,CAEhB,qBAUF,CAEA,8BAGE,oCAAsC,CACtC,gDAAmD,CAFnD,6BAGF,CAGA,yCACE,uBAAwB,CACrB,oBAAqB,CAChB,eAAgB,CAKxB,+BAAgC,CAJhC,aAAc,CAGd,iBAAkB,CADlB,kBAAmB,CADnB,YAIF,CAEA,+CACE,kBAAmB,CAEnB,gCAAiC,CADjC,kBAEF,CAEA,iHAEE,aAAc,CACd,iCACF,CAEA,+CAOE,gCAAa,CACb,aAAc,CADd,YAAa,CANb,UAAW,CACX,aAAc,CAGd,YAAc,CAId,QAAS,CANT,iBAAkB,CAOlB,OAAQ,CACR,uBAAwB,CAPxB,WAQF,CAEA,iDACE,+BAAgC,CAChC,4BACF,CAEA,mCACE,uBAAwB,CACrB,oBAAqB,CAChB,eAAgB,CAKxB,+BAAgC,CAJhC,aAAc,CAGd,iBAAkB,CADlB,kBAAmB,CADnB,YAIF,CAEA,yCACE,kBAAmB,CAEnB,gCAAiC,CADjC,kBAEF,CAEA,qGAEE,aAAc,CACd,iCACF,CAEA,yCASE,0BAA2B,CAD3B,iBAAkB,CAPlB,UAAW,CACX,aAAc,CAGd,aAAc,CACd,YAAc,CAHd,iBAAkB,CAIlB,WAAa,CAGb,oBAAsB,CANtB,YAOF,CAEA,2CACE,+BAAgC,CAChC,4BACF,CAGA,oLAUE,eAAgB,CAFhB,QAAS,CACT,SAEF,CAEA,GACE,eACF,CAGA,kBACE,6BACF,CAEA,sBACE,mCACF,CAEA,qBACE,6BACF,CAEA,gBACE,4BACF,CAEA,gBACE,qBACF,CAGA,0BAGE,sCAAuC,CACvC,kCAAmC,CAFnC,4BAGF,CAGA,qBACE,oBAAqB,CACrB,4BACF,CAEA,2BAEE,kCAAmC,CADnC,UAEF,CAGA,+BACE,+BACF,CAGA,6FAEE,2CACF,CAGA,qBAEE,aAAc,CAGd,eAAgB,CADhB,SAAU,CAHV,iBAAkB,CAElB,UAGF,CAEA,4BAEE,UAAW,CADX,aAAc,CAEd,kBACF,CAEA,qDACE,eACF,CAEA,8JAWE,QAAS,CAJT,QAAS,CAGT,WAAY,CAFZ,MAAO,CAHP,iBAAkB,CAClB,KAAM,CAGN,UAGF,CAGA,uCACE,gJAME,8BAAgC,CAChC,gCAAkC,CAClC,qCAAuC,CACvC,sCAAyC,CACzC,8BAAgC,CAChC,6BAA+B,CAC/B,gCACF,CACF,CAIA,gBACE,kCAAmC,CACnC,iCACF,CAEA,yBACE,2BAA4B,CAC5B,4BACF,CAIA,iBACE,kBACF,CAEA,gBACE,iBACF,CAEA,gBACE,uBACF,CAIA,sRAWE,mBAAoB,CACpB,oBACF,CAGA,mFAIE,gBAAiB,CACjB,iBACF,CAIA,kBACE,2BACF,CAGA,aACE,iBAGE,yBAA2B,CAE3B,yBAA2B,CAD3B,oBAAsB,CAEtB,0BACF,CAEA,YAEE,yBACF,CAEA,cACE,2BACF,CAEA,kBACE,4BACF,CAEA,gDAEE,UACF,CAEA,IACE,8BACF,CAEA,eAEE,qBAEF,CAEA,sBAHE,uBAMF,CAEA,QAGE,SAAU,CACV,QACF,CAEA,MAEE,sBACF,CAGA,mBAEE,yBACF,CAEA,qBACE,aACF,CAEA,2BACE,UACF,CAEA,qCAEE,kCACF,CACF","file":"bullframe.css","sourcesContent":["/* ! Bullframe CSS v6.2.1 | MIT License | https://github.com/marcop135/bullframe.css */\n\n/* Class-based default build (light). Import map for the full framework. */\n\n/* Variables */\n/* Design tokens (--bf-*). Shared by every build variant.\n * Override on :root (or a scope) to theme without rebuilding. */\n\n:root {\n /* Neutrals */\n --bf-white: rgb(255 255 255);\n --bf-light: rgb(240 240 240);\n --bf-gray-light-extra: rgb(233 233 233);\n --bf-gray-light: rgb(204 204 204);\n --bf-gray: rgb(153 153 153);\n --bf-gray-dark: rgb(102 102 102);\n --bf-gray-dark-extra: rgb(51 51 51);\n --bf-dark: rgb(34 34 34);\n --bf-dark-extra: rgb(17 17 17);\n --bf-black: rgb(0 0 0);\n\n /* Highlight / mark */\n --bf-yellow-light: rgb(255 255 153);\n --bf-yellow: rgb(255 255 0);\n --bf-orange: rgb(255 165 0);\n\n /* Accent: WCAG AA on white (links 4.5:1) and white-on-blue buttons (4.5:1) */\n --bf-blue: rgb(0 86 179);\n --bf-blue-light: rgb(0 65 135);\n --bf-blue-light-extra: rgb(190 216 254);\n\n /* Invalid / error */\n --bf-red: rgb(255 0 0);\n\n /* Focus ring (prefers-contrast: more raises colour for WCAG 1.4.11) */\n --bf-focus-ring-color: var(--bf-orange);\n --bf-focus-ring-width: 0.2rem;\n --bf-focus-ring-offset: 0.3rem;\n\n /* Dark-mode surfaces (used by utility-global-dark*.css) */\n --bf-dark-bg: rgb(28 28 28);\n --bf-dark-link: rgb(77 165 255);\n --bf-dark-link-hover: rgb(77 165 255);\n --bf-dark-border-focus: rgb(26 140 255);\n --bf-dark-shadow-focus: rgb(3 102 214 / 50%);\n --bf-dark-mark-bg: rgb(230 230 0);\n --bf-dark-ins-bg: rgb(255 255 200);\n --bf-dark-button-hover: rgb(184 184 184);\n --bf-dark-button-shadow: rgb(255 255 255 / 45%);\n --bf-dark-invalid: rgb(255 38 38);\n\n /* Spacing scale + grid gutter */\n --bf-spacing-sm: 0.25rem;\n --bf-spacing-md: 0.5rem;\n --bf-spacing-lg: 1rem;\n --bf-spacing-xl: 2rem;\n --bf-spacing-xxl: 3rem;\n --bf-spacing-grid-gutter: 1.5rem;\n\n /* Type */\n --bf-font-sans-serif:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', 'Noto Color Emoji';\n --bf-font-serif: Georgia, Times, 'Times New Roman', serif;\n --bf-font-monospace:\n SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --bf-body-font-size-rem: 1.6rem;\n --bf-body-line-height: 1.5;\n\n /* Breakpoint tokens (documentation / tooling; media queries use literal px below) */\n --bf-breakpoint-xs: 0;\n --bf-breakpoint-sm: 576px;\n --bf-breakpoint-md: 768px;\n --bf-breakpoint-lg: 992px;\n --bf-breakpoint-xl: 1200px;\n --bf-breakpoint-xxl: 1400px;\n}\n\n/* Layout */\n/* Border-box and HTML5 block elements. */\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\narticle,\naside,\ndialog,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\ndetails {\n display: block;\n}\n\ntemplate {\n display: none;\n}\n\n/* [hidden] stays hidden (except until-found). */\n[hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n}\n/* UA+ enhancements (adapted from https://fokus.dev/tools/uaplus/).\n * Light UA improvements; complements Bullframe base styles. */\n\n@layer {\n /* Disable mobile landscape text inflation on optimized layouts. */\n html {\n -webkit-text-size-adjust: none;\n -moz-text-size-adjust: none;\n text-size-adjust: none;\n }\n\n /* Stable scrollbar gutter avoids layout jump on short pages. */\n @supports (scrollbar-gutter: stable) {\n html {\n scrollbar-gutter: stable;\n }\n }\n\n /* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */\n h1 {\n font-size: 2em;\n margin-block: 0.67em;\n }\n\n /* mark: system Highlight colors under forced-colors. */\n @media (forced-colors: active) {\n mark {\n color: HighlightText;\n background-color: Highlight;\n }\n }\n\n /* Embedded media: stay within container block/inline size. */\n audio,\n iframe,\n img,\n svg,\n video {\n max-block-size: 100%;\n max-inline-size: 100%;\n }\n\n /* fieldset: avoid min-content overflow from children. */\n fieldset {\n min-inline-size: 0;\n }\n\n /* Labels for text-like controls are block; :has() gated for older engines. */\n @supports selector(:has(*)) {\n label:has(+ input:not([type='radio'], [type='checkbox']), select, textarea) {\n display: block;\n }\n }\n\n /* Taller default textarea when rows is omitted. */\n textarea:not([rows]) {\n min-block-size: 6em;\n }\n\n /* Form controls inherit page font family/size. */\n button,\n input,\n select,\n textarea {\n font-family: inherit;\n font-size: inherit;\n }\n\n /* Search: drop WebKit rounded search chrome. */\n [type='search'] {\n -webkit-appearance: textfield;\n }\n\n /* iOS only: system border/background for search. */\n @supports (-webkit-touch-callout: none) {\n [type='search'] {\n border: 1px solid -apple-system-secondary-label;\n background-color: canvas;\n }\n }\n\n /* Keep tel/url/email/number LTR when a value is present (RTL placeholders stay). */\n input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(\n :-moz-placeholder\n ) {\n direction: ltr;\n }\n input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(\n :placeholder-shown\n ) {\n direction: ltr;\n }\n\n /* Tables: outer border. Cell borders and padding come from\n * miscellaneous/tables.css, which is unlayered and therefore wins. */\n table {\n border: 1px solid currentColor;\n }\n\n /* Soft dialog / popover enter transitions (skip when reduced-motion is on). */\n @media (prefers-reduced-motion: no-preference) {\n dialog::backdrop {\n background: rgb(0 0 0 / 0.3);\n }\n\n @supports (overlay: auto) {\n dialog,\n [popover],\n dialog::backdrop {\n opacity: 0;\n transition:\n opacity 300ms ease-out,\n display 300ms allow-discrete,\n overlay 300ms allow-discrete;\n }\n\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 1;\n }\n\n @starting-style {\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 0;\n }\n }\n }\n }\n\n /* Images as blocks (max-width still from embedded-content.css). */\n img {\n display: block;\n }\n\n /* Popovers: anchor near trigger when position-area is supported. */\n @supports (position-area: block-end span-inline-end) {\n [popover] {\n margin: 0;\n position-area: block-end span-inline-end;\n }\n }\n}\n\n/* Typography */\n/* Root type and page chrome. */\n\nhtml {\n -webkit-text-size-adjust: 100%;\n -moz-text-size-adjust: 100%;\n text-size-adjust: 100%;\n\n /* 62.5% root so 1rem ≈ 10px. */\n font-size: 62.5%;\n\n color: var(--bf-dark);\n font-family: system-ui, sans-serif;\n line-height: 1.15;\n\n /* No tap flash on touch. */\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\nbody {\n margin: 0;\n font-size: var(--bf-body-font-size-rem);\n line-height: var(--bf-body-line-height);\n font-weight: 400;\n text-align: left;\n\n /* System UI stack (OS-native). */\n font-family:\n /* Safari / iOS (San Francisco) */\n -apple-system,\n /* Chrome < 56 on macOS (San Francisco) */ BlinkMacSystemFont,\n /* Windows */ 'Segoe UI',\n /* Android */ Roboto,\n /* KDE */ Oxygen-Sans,\n /* Ubuntu */ Ubuntu,\n /* GNOME */ Cantarell,\n /* macOS 10.10 and below */ 'Helvetica Neue',\n Helvetica,\n /* Web fallback */ Arial,\n 'Noto Sans',\n sans-serif,\n /* Emoji */ 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Ligatures and kerning. */\n text-rendering: optimizeLegibility;\n\n /* Long unbroken strings (e.g. headlines) wrap instead of overflowing. */\n word-wrap: break-word;\n\n background-color: var(--bf-white);\n}\n/* Heading scale and rhythm. */\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n font-weight: 600;\n font-family: inherit;\n color: inherit;\n line-height: 1.25;\n margin-bottom: var(--bf-spacing-lg);\n}\n\n/* Balanced headings where supported; no-op elsewhere. */\n@supports (text-wrap: balance) {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n text-wrap: balance;\n }\n}\n\nh1 {\n font-size: 36px;\n font-size: 3.6rem;\n}\n\nh2 {\n font-size: 30px;\n font-size: 3rem;\n}\n\nh3 {\n font-size: 24px;\n font-size: 2.4rem;\n}\n\nh4 {\n font-size: 20px;\n font-size: 2rem;\n}\n\nh5,\nh6 {\n font-size: 16px;\n font-size: 1.6rem;\n}\n/* Blockquote and citation. */\n\nblockquote {\n margin: 0 0 var(--bf-spacing-xl);\n padding-left: 0;\n font-style: italic;\n}\n\nblockquote p {\n margin-bottom: 0;\n}\n\nblockquote small {\n color: var(--bf-gray);\n display: block;\n}\n\nblockquote small::before {\n content: '\\2014 \\00A0';\n}\n\nq {\n quotes: '\\201C' '\\201D' '\\2018' '\\2019';\n}\n/* Paragraphs, abbr, mark/ins, emphasis, sub/sup, small, hr. */\n\np {\n margin: 0 0 var(--bf-spacing-xl) 0;\n}\n\n/* abbr (Bootstrap 4): dotted underline + help cursor. */\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n border-bottom: 0;\n}\n\nmark {\n background-color: var(--bf-yellow);\n color: var(--bf-black);\n}\n\nins {\n background-color: var(--bf-yellow-light);\n color: var(--bf-black);\n text-decoration: none;\n}\n\n/* Inherit first so Safari does not double-apply bolder, then set bolder. */\nb,\nstrong {\n font-weight: inherit;\n}\n\n/* stylelint-disable-next-line no-duplicate-selectors -- normalize.css Safari fix */\nb,\nstrong {\n font-weight: bolder;\n}\n\ndfn {\n font-style: italic;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -8px;\n top: -0.8rem;\n}\n\nsub {\n bottom: -4px;\n bottom: -0.4rem;\n}\n\nsmall {\n font-size: 80%;\n}\n\n/* Tighter leading when a paragraph contains <small>. */\n@supports selector(:has(*)) {\n p:has(small) {\n line-height: 1.25;\n }\n}\n\nhr {\n box-sizing: content-box;\n display: block;\n height: 0;\n border-style: solid;\n border-width: 1px 0 0;\n color: inherit;\n margin: var(--bf-spacing-xl) 0;\n padding: 0;\n overflow: visible; /* Edge: show overflow. */\n}\n/* pre / code / kbd / samp. */\n\npre {\n margin: 0 0 var(--bf-spacing-xl) 0;\n\n display: block;\n overflow: auto;\n word-break: break-all; /* WebKit */\n word-wrap: break-word;\n white-space: pre;\n hyphens: none;\n\n /* Keep scrollbars visible in legacy Edge.\n * https://github.com/twbs/bootstrap/pull/30685 */\n -ms-overflow-style: auto;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family:\n /* macOS 10.10+ */\n Menlo, Consolas, 'Roboto Mono', 'Ubuntu Monospace', 'Noto Mono', 'Oxygen Mono',\n 'Liberation Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Mono faces read large; use a slightly smaller size. */\n font-size: 0.875em;\n}\n\ncode {\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n/* Forms */\n/* Form control reset: inheritance, sizing, and UA quirks. */\n\n:where(html input, button, select, optgroup, textarea) {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n:where(html input, button, [type='radio'], [type='checkbox'], select, optgroup, textarea) {\n margin: 0;\n}\n\n:where(html input, select, textarea, legend) {\n width: 100%;\n}\n\n/* Shrink-to-content controls stay auto-width. */\n:where(\n html label,\n button,\n [type='image'],\n [type='submit'],\n [type='reset'],\n html [type='button'],\n [type='radio'],\n [type='checkbox']\n) {\n width: auto;\n}\n\n/* inline-block: consistent sizing and vertical-align across engines. */\n:where(\n html input,\n label,\n select,\n textarea,\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n output\n) {\n display: inline-block;\n}\n\n:where([type='file']) {\n display: block;\n background-color: transparent;\n}\n\n:where(button, html input, select, textarea) {\n background-image: none;\n}\n\n:where(input, select, textarea) {\n vertical-align: baseline;\n}\n\n:where(form) {\n margin: 0;\n}\n\n/* Drop fieldset min-content width so nested grids can shrink. */\n:where(fieldset) {\n border: 0;\n padding: 0;\n margin: 0;\n min-width: 0;\n}\n\n:where(legend) {\n display: table; /* Text wrapping in Edge / IE. */\n max-width: 100%;\n white-space: normal;\n border: 0;\n padding: 0;\n font-weight: 400;\n margin-bottom: var(--bf-spacing-md);\n font-size: inherit;\n line-height: 1.375;\n color: inherit;\n}\n\n:where(label) {\n font-weight: 400;\n font-size: 90%;\n line-height: 1.375;\n margin-bottom: var(--bf-spacing-md);\n}\n\n:where(label input, label select, label textarea) {\n font-size: 110%;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n:where([type='search']) {\n outline-offset: calc(-1 * var(--bf-spacing-sm));\n}\n\n:where(output) {\n vertical-align: middle;\n}\n\n:where(button, select) {\n text-transform: none;\n}\n\n:where(select) {\n word-wrap: normal;\n}\n\n/* Hide WebKit datalist picker chrome (Bootstrap Reboot 5.2).\n * https://unpkg.com/browse/bootstrap@5.2.0/dist/css/bootstrap-reboot.css */\n:where([list]):not(\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time']\n )::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\n:where(optgroup) {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit; /* Families without a 600 face. */\n font-weight: 600;\n}\n\n/* Reset WebKit / Blink appearance on text-like controls. */\n:where(\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n [type='email'],\n [type='number'],\n [type='text'],\n [type='tel'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='url'],\n [type='image'],\n [type='password'],\n [type='search'],\n [type='search']::-webkit-search-decoration,\n [type='search']::-webkit-search-cancel-button,\n input[list],\n textarea\n) {\n -webkit-appearance: none;\n appearance: none;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n}\n\n:where(button, input, select, textarea) {\n border-radius: var(--bf-spacing-sm);\n}\n\n:where([type='radio']) {\n border-radius: 50%;\n}\n\n:where([type='checkbox']) {\n border-radius: var(--bf-spacing-md);\n}\n\n:where([type='radio'], [type='checkbox']) {\n padding: 0;\n background-color: var(--bf-white);\n}\n\n:where([type='range' i]) {\n background-color: transparent;\n}\n\n:where(select[size], select[multiple]) {\n height: auto;\n}\n\n:where(select[multiple]) {\n background-image: none;\n}\n\n:where(textarea) {\n height: auto;\n min-height: 60px;\n min-height: 6rem;\n overflow: auto;\n vertical-align: top;\n resize: vertical;\n}\n\n/* Firefox: strip inner focus padding/border. */\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n line-height: normal;\n text-align: center;\n margin: 0;\n background-clip: padding-box;\n vertical-align: baseline;\n overflow: visible;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: 0;\n background-image: none; /* Firefox mobile */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus {\n text-decoration: none;\n color: var(--bf-dark);\n}\n\n:where(\n button:not(:disabled),\n [type='button']:not(:disabled),\n [type='reset']:not(:disabled),\n [type='submit']:not(:disabled)\n) {\n cursor: pointer;\n}\n\n/* Firefox: input color must not override placeholder color.\n * https://github.com/necolas/normalize.css/issues/150 */\n:where(input::-moz-placeholder, textarea::-moz-placeholder) {\n color: var(--bf-gray-dark);\n}\n:where(input::placeholder, textarea::placeholder) {\n color: var(--bf-gray-dark);\n}\n\n/* Firefox: modern focus ring on all focusable elements. */\n:-moz-focusring {\n outline: auto;\n}\n\n/* Firefox: drop :-moz-ui-invalid glow; use .bf-invalid for JS validation.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid */\n:-moz-ui-invalid {\n box-shadow: none;\n}\n/* Form field and button chrome (borders, focus, disabled). */\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea\n) {\n background-color: var(--bf-white);\n border: 1px solid var(--bf-gray);\n padding: var(--bf-spacing-md) calc(var(--bf-spacing-lg) * 0.75);\n}\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):active,\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):focus {\n transition:\n border 0.2s,\n background-color 0.2s,\n box-shadow 0.2s;\n border-color: var(--bf-blue);\n box-shadow: 0 0 0 3px rgb(0 86 179 / 25%);\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n color: var(--bf-dark);\n padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);\n background: var(--bf-gray-light);\n transition:\n color 0.2s,\n background 0.2s,\n box-shadow 0.2s;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n text-decoration: none;\n color: var(--bf-dark);\n background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);\n}\n\n/* Disabled / aria-disabled / fieldset[disabled]. */\n:where(\n fieldset[disabled] button,\n fieldset[disabled] input,\n fieldset[disabled] input::after,\n fieldset[disabled] input::before,\n fieldset[disabled] input:checked,\n fieldset[disabled] select,\n fieldset[disabled] textarea,\n fieldset[disabled] label,\n button[disabled],\n input[disabled],\n input[disabled]::after,\n input[disabled]::before,\n input[disabled]:checked,\n select[disabled],\n textarea[disabled],\n label[disabled],\n button:disabled,\n input:disabled,\n input:disabled::after,\n input:disabled::before,\n input:disabled:checked,\n select:disabled,\n textarea:disabled,\n label:disabled,\n button[aria-disabled='true'],\n input[aria-disabled='true'],\n input[aria-disabled='true']::after,\n input[aria-disabled='true']::before,\n input[aria-disabled='true']:checked,\n select[aria-disabled='true'],\n textarea[aria-disabled='true'],\n label[aria-disabled='true']\n) {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n box-shadow: none !important;\n outline: none !important;\n opacity: 0.5 !important;\n}\n/* Select: custom arrow for single-value controls.\n * Skip [size] / [multiple] (native UI differs by engine). Inspired by water.css. */\n\n:where(select):not([size], select[multiple]) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: var(--bf-white)\n url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\")\n no-repeat right 0.85rem center/8px 10px;\n padding-right: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n\n/* RTL: mirror arrow after appearance:none removes the native control. */\n:where(*[dir='rtl']) :where(select):not([size], select[multiple]),\n:where(select[dir='rtl']):not([size], select[multiple]) {\n background-position: left 0.85rem top 50%;\n padding-right: calc(var(--bf-spacing-lg) * 0.75);\n padding-left: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n/* Range: custom thumb/track when appearance:none is supported.\n * CodePen: https://codepen.io/marcop135/pen/JjGrNMx */\n\n@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {\n :where([type='range']) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 100%;\n height: 1.4rem;\n }\n\n :where([type='range'])::-webkit-slider-thumb {\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -0.25rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n -webkit-transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-webkit-slider-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-moz-range-thumb {\n border: 0;\n -moz-appearance: none;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n -moz-transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-moz-range-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-webkit-slider-runnable-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range'])::-moz-range-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range']):focus {\n outline: none;\n }\n\n :where([type='range']):focus::-webkit-slider-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range']):focus::-moz-range-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range'])::-moz-focus-outer {\n border: 0;\n }\n\n :where([type='range']):disabled {\n pointer-events: none;\n }\n\n :where([type='range']):disabled::-webkit-slider-thumb {\n background-color: var(--bf-gray-light);\n }\n\n :where([type='range']):disabled::-moz-range-thumb {\n background-color: var(--bf-gray-light);\n }\n}\n\n/* Miscellaneous */\n/* Link defaults. --bf-blue meets WCAG AA 4.5:1 on white. */\n\na {\n color: var(--bf-blue);\n text-decoration: none;\n background-color: transparent; /* Legacy Edge active background. */\n}\n\na:hover,\na:focus {\n text-decoration: underline;\n color: var(--bf-blue-light);\n}\n\n/* Non-href anchors inherit text (Bootstrap reboot pattern). */\na:not([href], [tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [class]),\na:not([href], [class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [tabindex]):focus {\n outline: 0;\n}\n/* Keyboard-first focus: :focus-visible ring from --bf-focus-ring-*; mute mouse outline.\n * Text-like controls clear UA outline here; field chrome is in forms/styling.css. */\n\n:where(:focus:not(:focus-visible)) {\n outline: none;\n}\n\n/* tabindex=\"-1\" targets should not show a ring on programmatic focus. */\n:where([tabindex='-1']:focus:not(:focus-visible)) {\n outline: 0 !important;\n}\n\n:focus-visible {\n outline: var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);\n outline-offset: var(--bf-focus-ring-offset);\n}\n\n/* Clear UA outline on text-like controls (styled fields keep their own chrome).\n * Leave color / range / file alone; they often use custom widgets. */\nbutton:focus,\n[type='button']:focus,\n[type='reset']:focus,\n[type='submit']:focus,\n[type='email']:focus,\n[type='number']:focus,\n[type='password']:focus,\n[type='tel']:focus,\n[type='search']:focus,\n[type='text']:focus,\n[type='date']:focus,\n[type='datetime-local']:focus,\n[type='month']:focus,\n[type='time']:focus,\n[type='week']:focus,\n[type='url']:focus,\n[type='radio']:focus,\n[type='checkbox']:focus,\ninput[list]:focus,\nselect:focus,\ntextarea:focus {\n outline: 0;\n}\n/* List spacing and nav list reset. */\n\nmenu,\nol,\nul,\ndl {\n margin: 0 0 var(--bf-spacing-xl) 0;\n padding: 0;\n}\n\nmenu ul,\nmenu ol,\nul ul,\nul ol,\nol ol,\nol ul,\ndd {\n margin-bottom: 0;\n}\n\nul,\nol {\n margin-left: var(--bf-spacing-xl);\n}\n\nnav ol,\nnav ul {\n list-style: none;\n margin-left: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-left: 0;\n}\n\n/* VoiceOver: zero-width space so list-style:none lists stay announced. */\nnav li::before {\n content: '\\200B';\n position: absolute;\n}\n/* Media elements, figures, progress/meter, and iframes. */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\nimg,\ncanvas,\naudio,\nvideo,\niframe,\nobject,\nembed {\n max-width: 100%;\n}\n\naudio,\nvideo,\ncanvas,\nimg,\nsvg {\n vertical-align: middle;\n}\n\nimg {\n height: auto;\n border-style: none;\n}\n\nfigure {\n margin: 0;\n}\n\nfigure,\nfigcaption {\n display: block;\n}\n\nfigcaption {\n line-height: 1.375;\n font-size: 90%;\n}\n\nvideo {\n height: auto;\n}\n\naudio {\n width: 100%;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nsvg:not([fill]) {\n fill: currentColor;\n}\n\nprogress,\nmeter {\n display: inline-block;\n vertical-align: baseline;\n width: 100%;\n max-width: 100%;\n}\n\n/* progress[value] reset (https://css-tricks.com/html5-progress-element/). */\nprogress[value] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: none; /* Firefox default border. */\n\n height: 20px;\n height: 2rem;\n\n background: var(--bf-gray-light);\n color: var(--bf-blue); /* Progress fill in IE10+. */\n}\n\nprogress[value]::-webkit-progress-bar {\n background: var(--bf-gray-light);\n}\n\nprogress[value]::-webkit-progress-value {\n background: var(--bf-blue);\n}\n\n/* No default border (covers embeds that ignore frameborder=\"0\"). */\niframe {\n border-style: none;\n}\n/* Address, details/summary, and dialog defaults. */\n\naddress {\n font-style: normal;\n margin-bottom: var(--bf-spacing-lg);\n line-height: inherit;\n}\n\ndetails > summary:first-of-type {\n display: list-item;\n}\n\nsummary {\n cursor: pointer;\n font-weight: 700;\n word-break: break-all;\n}\n\ndialog {\n background-color: var(--bf-white);\n color: var(--bf-dark);\n border: none;\n border-radius: var(--bf-spacing-sm);\n padding: var(--bf-spacing-xl);\n height: -moz-fit-content;\n height: fit-content;\n min-width: min(25rem, 100%);\n max-width: calc(100vw - (var(--bf-spacing-grid-gutter) * 2));\n}\n\n@media (min-width: 768px) {\n dialog {\n max-width: 50rem;\n }\n}\n\n/* Open dialog wins over [hidden] (e.g. <dialog hidden open>). */\ndialog[open] {\n display: block !important;\n}\n\ndialog::backdrop {\n background: rgb(0 0 0 / 40%);\n}\n/* Smooth scrolling when motion is allowed. */\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n/* Table border collapse and cell alignment. */\n\ntable {\n caption-side: bottom;\n max-width: 100%;\n border-collapse: collapse;\n border-color: currentcolor; /* Chrome / Safari inheritance. */\n text-indent: 0; /* Chrome / Safari table indent. */\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nthead th {\n vertical-align: bottom;\n}\n\nth,\ntd {\n vertical-align: top;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n font-weight: 700;\n}\n\ncaption {\n padding-top: var(--bf-spacing-md);\n padding-bottom: var(--bf-spacing-md);\n color: var(--bf-gray);\n text-align: left;\n caption-side: bottom;\n line-height: 1.375;\n font-size: 90%;\n}\n/* Accessibility helpers (adapted from sanitize.css). */\n\n/* Busy: progress cursor. */\n:where([aria-busy='true' i]) {\n cursor: progress;\n}\n\n/* Disabled / inoperable: not-allowed cursor. */\n:where([aria-disabled='true' i], [disabled]) {\n cursor: not-allowed;\n}\n\n/* aria-hidden=\"false\" on [hidden]: keep in a11y tree when not focused. */\n:where([aria-hidden='false' i][hidden]) {\n display: initial;\n}\n\n:where([aria-hidden='false' i][hidden]:not(:focus)) {\n clip: rect(0, 0, 0, 0);\n position: absolute;\n}\n/* Preference queries only (prefers-contrast, forced-colors). Additive. */\n\n/* prefers-contrast: more: underline links, thicker focus, stronger borders (WCAG 1.4.1). */\n@media (prefers-contrast: more) {\n a {\n text-decoration: underline;\n }\n\n /* Darker amber clears WCAG 1.4.11 (3:1) on white, --bf-light and --bf-dark-bg;\n * the default --bf-orange ring is only ~2:1 on white. */\n :root {\n --bf-focus-ring-color: rgb(184 115 0);\n }\n\n :focus-visible {\n outline-width: 0.3rem;\n outline-offset: 0.4rem;\n }\n\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='time'],\n [type='url'],\n [type='week'],\n input[list],\n select,\n textarea {\n border-width: 2px;\n }\n}\n\n/* forced-colors: restore focus via Highlight; underline links; keep button borders. */\n@media (forced-colors: active) {\n :focus-visible {\n outline-color: Highlight;\n }\n\n a {\n text-decoration: underline;\n }\n\n /* Keep button borders so disabled/active stay distinguishable. */\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n border: 1px solid ButtonText;\n }\n}\n/* Screen-reader and keyboard helpers (.bf-sr-only, .bf-skip-link, .bf-focusable).\n * Class-based and utilities builds only; classless ships no .bf-* classes. */\n\n/* Visually hidden; available to screen readers (h5bp / Snook). */\n.bf-sr-only {\n border: 0 !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 1px !important;\n}\n\n/* .bf-sr-only, revealed on focus. .focusable is the legacy name; both work. */\n.bf-sr-only.focusable:active,\n.bf-sr-only.focusable:focus,\n.bf-sr-only.bf-focusable:active,\n.bf-sr-only.bf-focusable:focus {\n clip: auto !important;\n height: auto !important;\n margin: 0 !important;\n overflow: visible !important;\n position: static !important;\n white-space: inherit !important;\n width: auto !important;\n}\n\n/* Skip link: hidden until focused, then pinned to the top-left without\n * reflowing the page (unlike .bf-sr-only.focusable, which returns to flow). */\n.bf-skip-link {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 9999;\n padding: var(--bf-spacing-md) var(--bf-spacing-lg);\n color: var(--bf-blue);\n background-color: var(--bf-white);\n border: 1px solid var(--bf-gray-light);\n transform: translateY(-100%);\n}\n\n.bf-skip-link:focus,\n.bf-skip-link:focus-visible {\n transform: translateY(0);\n}\n\n/* Utilities */\n/* Display, visibility, float, position, and width helpers. */\n\n.bf-clearfix::before,\n.bf-clearfix::after {\n content: ' ';\n display: table;\n}\n\n.bf-clearfix::after {\n clear: both;\n}\n\n.bf-hide {\n display: none !important;\n}\n\n.bf-hidden {\n display: none !important;\n visibility: hidden !important;\n}\n\n.bf-text-hide {\n font: 0/0 a !important;\n color: transparent !important;\n text-shadow: none !important;\n background-color: transparent !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n}\n\n/* .bf-sr-only, .bf-focusable and .bf-skip-link live in\n * miscellaneous/a11y-helpers.css (class-based and utilities builds). */\n\n.bf-invisible {\n visibility: hidden !important;\n}\n\n.bf-visible {\n visibility: visible !important;\n}\n\n.bf-display-block {\n display: block !important;\n}\n\n.bf-display-block-center {\n display: block !important;\n margin-left: auto !important;\n margin-right: auto !important;\n text-align: center !important;\n}\n\n.bf-display-inline {\n display: inline !important;\n}\n\n.bf-display-inline-block {\n display: inline-block !important;\n}\n\n.bf-display-flex {\n display: flex !important;\n}\n\n.bf-display-inline-flex {\n display: inline-flex !important;\n}\n\n.bf-display-flex--justify-start {\n justify-content: flex-start !important;\n}\n\n.bf-display-flex--justify-end {\n justify-content: flex-end !important;\n}\n\n.bf-display-flex--justify-center {\n justify-content: center !important;\n}\n\n.bf-display-flex--wrap {\n flex-wrap: wrap !important;\n}\n\n.bf-display-flex--nowrap {\n flex-wrap: nowrap !important;\n}\n\n.bf-float-left {\n float: left !important;\n}\n\n.bf-float-right {\n float: right !important;\n}\n\n.bf-position-fixed {\n position: fixed !important;\n}\n\n.bf-position-sticky {\n position: sticky !important;\n top: 0 !important;\n}\n\n.bf-position-relative {\n position: relative !important;\n}\n\n/* Absolute center inside a relative parent. */\n.bf-align-center-unknown {\n position: relative !important;\n}\n\n.bf-align-center-unknown--item {\n position: absolute !important;\n top: 50% !important;\n left: 50% !important;\n transform: translate(-50%, -50%) !important;\n}\n\n.bf-align-center-flex {\n display: flex !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100vh !important;\n}\n\n.bf-width-25 {\n width: 25% !important;\n}\n\n.bf-width-33 {\n width: 33.3333% !important;\n}\n\n.bf-width-50 {\n width: 50% !important;\n}\n\n.bf-width-75 {\n width: 75% !important;\n}\n\n.bf-width-100 {\n width: 100% !important;\n}\n\n.bf-width-auto {\n width: auto !important;\n}\n/* Text alignment, weight, truncate, and font-stack helpers. */\n\n.bf-t-transform-uppercase {\n text-transform: uppercase !important;\n}\n\n.bf-t-transform-none {\n text-transform: none !important;\n}\n\n.bf-t-left {\n text-align: left !important;\n}\n\n.bf-t-center {\n text-align: center !important;\n}\n\n.bf-t-right {\n text-align: right !important;\n}\n\n.bf-t-shadow {\n text-shadow: 0 0 2px var(--bf-dark) !important;\n text-shadow: 0 0 0.2rem var(--bf-dark) !important;\n}\n\n.bf-t-italic {\n font-style: italic !important;\n}\n\n/* Reset italic inheritance (e.g. nested <i>). */\n.bf-t-style-normal {\n font-style: normal !important;\n}\n\n/* Weight utilities (e.g. reset <b>). */\n.bf-t-weight-300 {\n font-weight: 300 !important;\n}\n\n.bf-t-weight-400 {\n font-weight: 400 !important;\n}\n\n.bf-t-weight-500 {\n font-weight: 500 !important;\n}\n\n.bf-t-weight-600 {\n font-weight: 600 !important;\n}\n\n.bf-t-weight-700 {\n font-weight: 700 !important;\n}\n\n.bf-t-weight-800 {\n font-weight: 800 !important;\n}\n\n.bf-text-break {\n word-wrap: break-word !important;\n}\n\n.bf-t-truncate {\n max-width: 100% !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n word-wrap: normal !important;\n}\n\n.bf-t-truncate--multiline-2 {\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n display: -webkit-box !important;\n line-clamp: 2 !important;\n -webkit-line-clamp: 2 !important;\n -webkit-box-orient: vertical !important;\n}\n\n.bf-t-truncate--multiline-3 {\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n display: -webkit-box !important;\n line-clamp: 3 !important;\n -webkit-line-clamp: 3 !important;\n -webkit-box-orient: vertical !important;\n}\n\n.bf-no-select {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n -webkit-touch-callout: none !important;\n}\n\n.bf-font-sans-serif {\n font-family: var(--bf-font-sans-serif) !important;\n}\n\n.bf-font-serif {\n font-family: var(--bf-font-serif) !important;\n}\n\n.bf-font-monospace {\n font-family: var(--bf-font-monospace) !important;\n}\n\n/* Opt-in stacks from Modern Font Stacks (https://modernfontstacks.com/). */\n.bf-sans-serif--system {\n font-family: system-ui, sans-serif;\n}\n\n.bf-serif--transitional {\n font-family: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;\n}\n\n.bf-serif--oldstyle {\n font-family: 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;\n}\n\n.bf-sans-serif--humanist {\n font-family:\n Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;\n}\n\n.bf-sans-serif--geometric {\n font-family: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;\n}\n\n.bf-sans-serif--classical {\n font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;\n}\n\n.bf-sans-serif--neo-grotesque {\n font-family: Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif;\n}\n\n.bf-monospace--slab {\n font-family: 'Nimbus Mono PS', 'Courier New', monospace;\n}\n\n.bf-monospace--code {\n font-family:\n ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono',\n monospace;\n}\n\n.bf-sans-serif--industrial {\n font-family:\n Bahnschrift, 'DIN Alternate', 'Franklin Gothic Medium', 'Nimbus Sans Narrow',\n sans-serif-condensed, sans-serif;\n}\n\n.bf-sans-serif--rounded {\n font-family:\n ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT',\n 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif;\n}\n\n.bf-serif--slab {\n font-family: Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif;\n}\n\n.bf-serif--antique {\n font-family:\n Superclarendon, 'Bookman Old Style', 'URW Bookman', 'URW Bookman L', 'Georgia Pro', Georgia,\n serif;\n}\n\n.bf-serif--didone {\n font-family: Didot, 'Bodoni MT', 'Noto Serif Display', 'URW Palladio L', P052, Sylfaen, serif;\n}\n\n.bf-cursive--handwritten {\n font-family: 'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive;\n}\n\n.bf-h1,\n.bf-h2,\n.bf-h3,\n.bf-h4,\n.bf-h5,\n.bf-h6 {\n font-weight: 600 !important;\n margin-top: 0 !important;\n line-height: 1.2 !important;\n margin-bottom: var(--bf-spacing-lg) !important;\n}\n\n.bf-h1 {\n font-size: 36px !important;\n font-size: 3.6rem !important;\n}\n\n.bf-h2 {\n font-size: 30px !important;\n font-size: 3rem !important;\n}\n\n.bf-h3 {\n font-size: 24px !important;\n font-size: 2.4rem !important;\n}\n\n.bf-h4 {\n font-size: 20px !important;\n font-size: 2rem !important;\n}\n\n.bf-h5,\n.bf-h6 {\n font-size: 16px !important;\n font-size: 1.6rem !important;\n}\n\np.bf-lead {\n font-size: 120% !important;\n}\n\nbody.bf-responsive-typography {\n font-size: clamp(1.5rem, 2vw, 1.8rem);\n}\n/* 12-column flex grid: .bf-container / .bf-row / .bf-col-* (+ optional --break-* stacking). */\n\n.bf-container,\n.bf-container--fluid {\n box-sizing: border-box;\n display: block;\n margin-right: auto;\n margin-left: auto;\n padding-left: var(--bf-spacing-grid-gutter);\n padding-right: var(--bf-spacing-grid-gutter);\n}\n\n.bf-container {\n max-width: 114rem;\n}\n\n.bf-row {\n display: flex;\n flex-wrap: wrap;\n margin-left: calc(-1 * var(--bf-spacing-grid-gutter));\n margin-right: calc(-1 * var(--bf-spacing-grid-gutter));\n}\n\n[class^='bf-col-'] {\n position: relative;\n min-height: 1px;\n padding-left: var(--bf-spacing-grid-gutter);\n padding-right: var(--bf-spacing-grid-gutter);\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n.bf-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.bf-no-gutters > [class^='bf-col'] {\n padding-right: 0;\n padding-left: 0;\n}\n\n/* Column spans (12ths). */\n.bf-col-12 {\n flex-basis: 100%;\n max-width: 100%;\n}\n\n.bf-col-11 {\n flex-basis: 91.6667%;\n max-width: 91.6667%;\n}\n\n.bf-col-10 {\n flex-basis: 83.3333%;\n max-width: 83.3333%;\n}\n\n.bf-col-9 {\n flex-basis: 75%;\n max-width: 75%;\n}\n\n.bf-col-8 {\n flex-basis: 66.6667%;\n max-width: 66.6667%;\n}\n\n.bf-col-7 {\n flex-basis: 58.3333%;\n max-width: 58.3333%;\n}\n\n.bf-col-6 {\n flex-basis: 50%;\n max-width: 50%;\n}\n\n.bf-col-5 {\n flex-basis: 41.6667%;\n max-width: 41.6667%;\n}\n\n.bf-col-4 {\n flex-basis: 33.3333%;\n max-width: 33.3333%;\n}\n\n.bf-col-3 {\n flex-basis: 25%;\n max-width: 25%;\n}\n\n.bf-col-2 {\n flex-basis: 16.6667%;\n max-width: 16.6667%;\n}\n\n.bf-col-1 {\n flex-basis: 8.3333%;\n max-width: 8.3333%;\n}\n\n/* Breakpoint stacking via .bf-container--break-{xs|md|lg}. */\n@media (max-width: 575px) {\n .bf-container--break-xs .bf-row {\n margin-left: 0;\n margin-right: 0;\n }\n\n .bf-container--break-xs [class^='bf-col'] {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n@media (max-width: 767px) {\n .bf-container--break-md .bf-row {\n margin-left: 0;\n margin-right: 0;\n }\n\n .bf-container--break-md [class^='bf-col'] {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n@media (max-width: 991px) {\n .bf-container--break-lg .bf-row {\n margin-left: 0;\n margin-right: 0;\n }\n\n .bf-container--break-lg [class^='bf-col'] {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n/* Table cells with col classes stay position:static (v4 compat). */\ntable td[class^='bf-col'],\ntable th[class^='bf-col'] {\n position: static;\n}\n/* Z-index scale (.bf-z-index-*). */\n\n.bf-z-index-1 {\n z-index: 1;\n}\n.bf-z-index-2 {\n z-index: 2;\n}\n.bf-z-index-3 {\n z-index: 3;\n}\n.bf-z-index-4 {\n z-index: 4;\n}\n.bf-z-index-5 {\n z-index: 5;\n}\n.bf-z-index-6 {\n z-index: 6;\n}\n.bf-z-index-7 {\n z-index: 7;\n}\n.bf-z-index-8 {\n z-index: 8;\n}\n.bf-z-index-9 {\n z-index: 9;\n}\n.bf-z-index-10 {\n z-index: 10;\n}\n.bf-z-index-20 {\n z-index: 20;\n}\n.bf-z-index-30 {\n z-index: 30;\n}\n.bf-z-index-40 {\n z-index: 40;\n}\n.bf-z-index-50 {\n z-index: 50;\n}\n.bf-z-index-60 {\n z-index: 60;\n}\n.bf-z-index-70 {\n z-index: 70;\n}\n.bf-z-index-80 {\n z-index: 80;\n}\n.bf-z-index-90 {\n z-index: 90;\n}\n.bf-z-index-100 {\n z-index: 100;\n}\n.bf-z-index-200 {\n z-index: 200;\n}\n.bf-z-index-300 {\n z-index: 300;\n}\n/* Margin / padding scale (.bf-m-*, .bf-p-*). */\n\n.bf-m-0 {\n margin: 0 !important;\n}\n\n.bf-m-t-0 {\n margin-top: 0 !important;\n}\n\n.bf-m-b-0 {\n margin-bottom: 0 !important;\n}\n\n.bf-m-l-0 {\n margin-left: 0 !important;\n}\n\n.bf-m-r-0 {\n margin-right: 0 !important;\n}\n\n/* .bf-m-N is the historical short form of .bf-m-b-N; both set margin-bottom. */\n.bf-m-1,\n.bf-m-b-1 {\n margin-bottom: var(--bf-spacing-md) !important;\n}\n\n.bf-m-2,\n.bf-m-b-2 {\n margin-bottom: var(--bf-spacing-lg) !important;\n}\n\n.bf-m-3,\n.bf-m-b-3 {\n margin-bottom: var(--bf-spacing-xl) !important;\n}\n\n.bf-m-4,\n.bf-m-b-4 {\n margin-bottom: var(--bf-spacing-xxl) !important;\n}\n\n.bf-m-t-1 {\n margin-top: var(--bf-spacing-md) !important;\n}\n\n.bf-m-t-2 {\n margin-top: var(--bf-spacing-lg) !important;\n}\n\n.bf-m-t-3 {\n margin-top: var(--bf-spacing-xl) !important;\n}\n\n.bf-m-t-4 {\n margin-top: var(--bf-spacing-xxl) !important;\n}\n\n.bf-p-0 {\n padding: 0 !important;\n}\n\n.bf-p-t-0 {\n padding-top: 0 !important;\n}\n\n.bf-p-b-0 {\n padding-bottom: 0 !important;\n}\n\n.bf-p-l-0 {\n padding-left: 0 !important;\n}\n\n.bf-p-r-0 {\n padding-right: 0 !important;\n}\n\n/* .bf-p-N is the historical short form of .bf-p-b-N; both set padding-bottom. */\n.bf-p-1,\n.bf-p-b-1 {\n padding-bottom: var(--bf-spacing-md) !important;\n}\n\n.bf-p-2,\n.bf-p-b-2 {\n padding-bottom: var(--bf-spacing-lg) !important;\n}\n\n.bf-p-3,\n.bf-p-b-3 {\n padding-bottom: var(--bf-spacing-xl) !important;\n}\n\n.bf-p-4,\n.bf-p-b-4 {\n padding-bottom: var(--bf-spacing-xxl) !important;\n}\n\n.bf-p-t-1 {\n padding-top: var(--bf-spacing-md) !important;\n}\n\n.bf-p-t-2 {\n padding-top: var(--bf-spacing-lg) !important;\n}\n\n.bf-p-t-3 {\n padding-top: var(--bf-spacing-xl) !important;\n}\n\n.bf-p-t-4 {\n padding-top: var(--bf-spacing-xxl) !important;\n}\n/* .bf-btn and variants. */\n\n.bf-btn {\n display: inline-block;\n cursor: pointer;\n color: var(--bf-dark);\n padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);\n line-height: normal;\n text-align: center;\n margin: 0;\n background-clip: padding-box;\n vertical-align: baseline;\n overflow: visible;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border-radius: var(--bf-spacing-sm);\n\n border: 0;\n background-image: none;\n background-color: var(--bf-gray-light);\n transition: all 0.2s;\n}\n\n.bf-btn:focus {\n outline: 0;\n}\n\n.bf-btn:hover,\n.bf-btn:active,\n.bf-btn:focus {\n text-decoration: none;\n color: var(--bf-dark);\n background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */\n}\n\n.bf-btn:active,\n.bf-btn:focus {\n box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);\n}\n\n/* Primary: white on --bf-blue (WCAG AA 4.5:1). */\n.bf-btn.bf-btn--primary {\n color: var(--bf-white);\n background: var(--bf-blue);\n}\n\n.bf-btn.bf-btn--primary:hover,\n.bf-btn.bf-btn--primary:active,\n.bf-btn.bf-btn--primary:focus {\n color: var(--bf-white);\n background: var(--bf-blue-light);\n}\n\n.bf-btn.bf-btn--primary:active,\n.bf-btn.bf-btn--primary:focus {\n box-shadow: 0 0 0 3px rgb(0 65 135 / 35%);\n}\n\n:where(\n fieldset[disabled] .bf-btn,\n .bf-btn[disabled],\n .bf-btn:disabled,\n .bf-btn[aria-disabled='true']\n) {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n box-shadow: none !important;\n opacity: 0.5 !important;\n background-color: var(--bf-gray-light);\n outline: none !important;\n}\n\n@media (forced-colors: active) {\n .bf-btn {\n border: 1px solid ButtonText;\n }\n}\n/* Focused / invalid / disabled form state classes. */\n\n.bf-focused {\n transition:\n border 0.2s,\n background-color 0.2s,\n box-shadow 0.2s !important;\n border-color: var(--bf-blue) !important;\n box-shadow: 0 0 0 3px rgb(0 86 179 / 25%) !important;\n}\n\n.bf-disabled,\n.bf-disabled:hover,\n.bf-disabled:active,\n.bf-disabled:focus,\n.bf-disabled::after,\n.bf-disabled::before,\n.bf-disabled:invalid,\n.bf-disabled:checked {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n box-shadow: none !important;\n opacity: 0.5 !important;\n background-color: var(--bf-white);\n border-color: var(--bf-gray);\n}\n\nlabel.bf-disabled {\n background-color: transparent;\n border-color: transparent;\n}\n\nbutton.bf-disabled,\n[type='button'].bf-disabled,\n[type='reset'].bf-disabled,\n[type='submit'].bf-disabled,\n.bf-btn.bf-disabled {\n cursor: default;\n cursor: not-allowed;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n box-shadow: none;\n opacity: 0.5;\n color: var(--bf-dark);\n background: var(--bf-gray-light);\n}\n\nbutton.bf-disabled:hover,\nbutton.bf-disabled:active,\nbutton.bf-disabled:focus,\n[type='button'].bf-disabled:hover,\n[type='button'].bf-disabled:active,\n[type='button'].bf-disabled:focus,\n[type='reset'].bf-disabled:hover,\n[type='reset'].bf-disabled:active,\n[type='reset'].bf-disabled:focus,\n[type='submit'].bf-disabled:hover,\n[type='submit'].bf-disabled:active,\n[type='submit'].bf-disabled:focus,\n.bf-btn.bf-disabled:hover,\n.bf-btn.bf-disabled:active,\n.bf-btn.bf-disabled:focus {\n box-shadow: none;\n color: var(--bf-dark);\n background: var(--bf-gray-light);\n}\n\n.bf-btn--primary.bf-disabled {\n cursor: default;\n cursor: not-allowed;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n box-shadow: none;\n opacity: 0.5;\n color: var(--bf-white);\n background: var(--bf-blue);\n}\n\n.bf-btn--primary.bf-disabled:hover,\n.bf-btn--primary.bf-disabled:active,\n.bf-btn--primary.bf-disabled:focus {\n box-shadow: none;\n color: var(--bf-white);\n background: var(--bf-blue);\n}\n\n.bf-invalid,\n.bf-invalid:focus {\n color: var(--bf-red) !important;\n border-color: var(--bf-red) !important;\n box-shadow: 0 0 0 3px rgb(255 0 0 / 25%) !important;\n}\n/* Custom radio / checkbox appearance. */\n\n.custom-checkbox-wrapper [type='checkbox'] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 1.8rem;\n width: 1.8rem;\n vertical-align: top;\n position: relative;\n border: 1px solid var(--bf-gray);\n}\n\n.custom-checkbox-wrapper [type='checkbox'] + label {\n line-height: 1.8rem;\n vertical-align: top;\n margin-left: var(--bf-spacing-md);\n}\n\n*[dir='rtl'] .custom-checkbox-wrapper [type='checkbox'] + label,\n.custom-checkbox-wrapper [type='checkbox'][dir='rtl'] + label {\n margin-left: 0;\n margin-right: var(--bf-spacing-md);\n}\n\n.custom-checkbox-wrapper [type='checkbox']::after {\n content: '';\n display: block;\n position: absolute;\n width: 0.6rem;\n height: 0.8rem;\n border: 2px solid var(--bf-white);\n border-top: 0;\n border-left: 0;\n left: 35%;\n top: 20%;\n transform: rotate(43deg);\n}\n\n.custom-checkbox-wrapper [type='checkbox']:checked {\n background-color: var(--bf-blue);\n border-color: var(--bf-black);\n}\n\n.custom-radio-wrapper [type='radio'] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 1.8rem;\n width: 1.8rem;\n vertical-align: top;\n position: relative;\n border: 1px solid var(--bf-gray);\n}\n\n.custom-radio-wrapper [type='radio'] + label {\n line-height: 1.8rem;\n vertical-align: top;\n margin-left: var(--bf-spacing-md);\n}\n\n*[dir='rtl'] .custom-radio-wrapper [type='radio'] + label,\n.custom-radio-wrapper [type='radio'][dir='rtl'] + label {\n margin-left: 0;\n margin-right: var(--bf-spacing-md);\n}\n\n.custom-radio-wrapper [type='radio']::after {\n content: '';\n display: block;\n position: absolute;\n width: 1.8rem;\n height: 1.8rem;\n left: -0.05rem;\n top: -0.05rem;\n border-radius: 50%;\n background: var(--bf-white);\n transform: scale(0.35);\n}\n\n.custom-radio-wrapper [type='radio']:checked {\n background-color: var(--bf-blue);\n border-color: var(--bf-black);\n}\n/* Unstyled and inline list helpers. */\n\n.bf-list-unstyled,\nmenu ul.bf-list-unstyled,\nmenu ol.bf-list-unstyled,\nul.bf-list-unstyled ul,\nul.bf-list-unstyled ol,\nol.bf-list-unstyled ol,\nol.bf-list-unstyled ul,\ndd.bf-list-unstyled {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndt {\n font-weight: 700;\n}\n/* Filter helpers (.bf-filter-*). */\n\n.bf-filter-invert {\n filter: invert(100%) !important;\n}\n\n.bf-filter-dim-images {\n filter: brightness(0.8) contrast(1.2);\n}\n\n.bf-filter-grayscale {\n filter: grayscale(1) !important;\n}\n\n.bf-filter-blur {\n filter: blur(0.3rem) !important;\n}\n\n.bf-filter-none {\n filter: none !important;\n}\n/* Table padding, overflow, and zebra helpers. */\n\n.bf-table th,\n.bf-table td {\n padding: var(--bf-spacing-lg);\n border-bottom: 1px solid var(--bf-gray);\n margin-bottom: var(--bf-spacing-md);\n}\n\n/* Horizontal scroll wrapper. */\n.bf-table-responsive {\n overflow: auto hidden;\n -ms-overflow-style: scrollbar;\n}\n\n.bf-table-responsive table {\n width: 100%;\n margin-bottom: var(--bf-spacing-md);\n}\n\n/* Prefer always-visible scrollbars on WebKit. */\n.bf-table-responsive.scrollbar {\n -webkit-overflow-scrolling: auto;\n}\n\n/* Odd-row striping. */\n.bf-table--zebra tbody tr:nth-child(odd),\n.bf-table-responsive--zebra tbody tr:nth-child(odd) {\n background-color: var(--bf-gray-light-extra);\n}\n/* Responsive embed box (Bootstrap-style aspect ratio). */\n\n.bf-embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.bf-embed-responsive::before {\n display: block;\n content: '';\n padding-top: 56.25%; /* 16:9 by default */\n}\n\n.bf-embed-responsive.bf-embed-responsive--4-3::before {\n padding-top: 75%;\n}\n\n.bf-embed-responsive .bf-embed-responsive--item,\n.bf-embed-responsive iframe,\n.bf-embed-responsive embed,\n.bf-embed-responsive object,\n.bf-embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n/* Reduced-motion opt-in (cssremedy-style). */\n\n@media (prefers-reduced-motion: reduce) {\n .bf-reduced-motion,\n .bf-reduced-motion::before,\n .bf-reduced-motion::after,\n .bf-reduced-motion *,\n .bf-reduced-motion *::before,\n .bf-reduced-motion *::after {\n animation-delay: -1ms !important;\n animation-duration: 1ms !important;\n animation-iteration-count: 1 !important;\n background-attachment: initial !important;\n scroll-behavior: auto !important;\n transition-delay: 0s !important;\n transition-duration: 0s !important;\n }\n}\n/* Opt-in font-smoothing (.bf-antialiased / .bf-subpixel-antialiased).\n * Names match Tailwind. Not applied globally: Apple recommends subpixel for body text on macOS. */\n\n.bf-antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.bf-subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n}\n/* Opt-in color-scheme. Put one on <html> so the UA themes native widgets\n * (date pickers, select popups, autofill, scrollbars) to match the build. */\n\n.bf-scheme-light {\n color-scheme: light;\n}\n\n.bf-scheme-dark {\n color-scheme: dark;\n}\n\n.bf-scheme-auto {\n color-scheme: light dark;\n}\n/* Opt-in minimum target size (WCAG 2.5.8, 24x24 CSS px).\n * Grows the hit box only; the painted control keeps its size. */\n\n.bf-target-size,\n.bf-target-size a,\n.bf-target-size button,\n.bf-target-size [type='button'],\n.bf-target-size [type='reset'],\n.bf-target-size [type='submit'],\n.bf-target-size [type='checkbox'],\n.bf-target-size [type='radio'],\n.bf-target-size select,\n.bf-target-size summary,\n.bf-target-size .bf-btn {\n min-block-size: 24px;\n min-inline-size: 24px;\n}\n\n/* Inline links in running text are exempt (WCAG 2.5.8 inline exception). */\n.bf-target-size p a,\n.bf-target-size li a,\n.bf-target-size td a,\n.bf-target-size dd a {\n min-block-size: 0;\n min-inline-size: 0;\n}\n/* Opt-in accent-color: native checkbox, radio, range and progress follow\n * --bf-blue instead of the UA default. Put it on <html> or any container. */\n\n.bf-accent-native {\n accent-color: var(--bf-blue);\n}\n/* Print styles (adapted from h5bp main.css). */\n\n@media print {\n *,\n *::before,\n *::after {\n background: #fff !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]::after {\n content: ' (' attr(href) ')';\n }\n\n abbr[title]::after {\n content: ' (' attr(title) ')';\n }\n\n a[href^='#']::after,\n a[href^='javascript:']::after {\n content: '';\n }\n\n pre {\n white-space: pre-wrap !important;\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n /* Framework print tweaks. */\n body,\n .bf-container {\n min-width: 992px !important;\n }\n\n .bf-table-responsive {\n overflow: auto;\n }\n\n .bf-table-responsive table {\n width: auto;\n }\n\n .bf-table-responsive table,\n .bf-table {\n border-collapse: collapse !important;\n }\n}\n"]}
1
+ {"version":3,"sources":["bullframe.css"],"names":[],"mappings":"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F,CAEA,QACE,YAAa,CACb,cAAe,CACf,kDAAqD,CACrD,mDACF,CAEA,iBAKE,WAAY,CACZ,aAAc,CAJd,cAAe,CACf,0CAA2C,CAC3C,2CAA4C,CAH5C,iBAMF,CAEA,eAEE,aAAc,CADd,cAEF,CAEA,+BAEE,cAAe,CADf,eAEF,CAGA,WACE,eAAgB,CAChB,cACF,CAEA,WACE,mBAAoB,CACpB,kBACF,CAEA,WACE,mBAAoB,CACpB,kBACF,CAEA,UACE,cAAe,CACf,aACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,cAAe,CACf,aACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,cAAe,CACf,aACF,CAEA,UACE,mBAAoB,CACpB,kBACF,CAEA,UACE,kBAAmB,CACnB,iBACF,CAGA,yBACE,gCACE,aAAc,CACd,cACF,CAEA,wCACE,eAAgB,CAEhB,aAAc,CADd,cAAe,CAEf,cAAe,CACf,eACF,CACF,CAEA,yBACE,gCACE,aAAc,CACd,cACF,CAEA,wCACE,eAAgB,CAEhB,aAAc,CADd,cAAe,CAEf,cAAe,CACf,eACF,CACF,CAEA,yBACE,gCACE,aAAc,CACd,cACF,CAEA,wCACE,eAAgB,CAEhB,aAAc,CADd,cAAe,CAEf,cAAe,CACf,eACF,CACF,CAGA,gDAEE,eACF,CAGA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,cACE,SACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,eACE,UACF,CACA,gBACE,WACF,CACA,gBACE,WACF,CACA,gBACE,WACF,CAGA,QACE,kBACF,CAEA,UACE,sBACF,CAEA,UACE,yBACF,CAEA,UACE,uBACF,CAEA,UAC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","file":"bullframe.css","sourcesContent":["/* ! Bullframe CSS v6.3.0 | MIT License | https://github.com/marcop135/bullframe.css */\n\n/* Class-based default build (light). Import map for the full framework. */\n\n/* Variables */\n/* Design tokens (--bf-*). Shared by every build variant.\n * Override on :root (or a scope) to theme without rebuilding. */\n\n:root {\n /* Neutrals */\n --bf-white: rgb(255 255 255);\n --bf-light: rgb(240 240 240);\n --bf-gray-light-extra: rgb(233 233 233);\n --bf-gray-light: rgb(204 204 204);\n --bf-gray: rgb(153 153 153);\n --bf-gray-dark: rgb(102 102 102);\n --bf-gray-dark-extra: rgb(51 51 51);\n --bf-dark: rgb(34 34 34);\n --bf-dark-extra: rgb(17 17 17);\n --bf-black: rgb(0 0 0);\n\n /* Highlight / mark */\n --bf-yellow-light: rgb(255 255 153);\n --bf-yellow: rgb(255 255 0);\n --bf-orange: rgb(255 165 0);\n\n /* Accent: WCAG AA on white (links 4.5:1) and white-on-blue buttons (4.5:1) */\n --bf-blue: rgb(0 86 179);\n --bf-blue-light: rgb(0 65 135);\n --bf-blue-light-extra: rgb(190 216 254);\n\n /* Invalid / error */\n --bf-red: rgb(255 0 0);\n\n /* Focus ring (prefers-contrast: more raises colour for WCAG 1.4.11) */\n --bf-focus-ring-color: var(--bf-orange);\n --bf-focus-ring-width: 0.2rem;\n --bf-focus-ring-offset: 0.3rem;\n\n /* Dark-mode surfaces (used by utility-global-dark*.css) */\n --bf-dark-bg: rgb(28 28 28);\n --bf-dark-link: rgb(77 165 255);\n --bf-dark-link-hover: rgb(77 165 255);\n --bf-dark-border-focus: rgb(26 140 255);\n --bf-dark-shadow-focus: rgb(3 102 214 / 50%);\n --bf-dark-mark-bg: rgb(230 230 0);\n --bf-dark-ins-bg: rgb(255 255 200);\n --bf-dark-button-hover: rgb(184 184 184);\n --bf-dark-button-shadow: rgb(255 255 255 / 45%);\n --bf-dark-invalid: rgb(255 38 38);\n\n /* Spacing scale + grid gutter */\n --bf-spacing-sm: 0.25rem;\n --bf-spacing-md: 0.5rem;\n --bf-spacing-lg: 1rem;\n --bf-spacing-xl: 2rem;\n --bf-spacing-xxl: 3rem;\n --bf-spacing-grid-gutter: 1.5rem;\n\n /* Type */\n --bf-font-sans-serif:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', 'Noto Color Emoji';\n --bf-font-serif: Georgia, Times, 'Times New Roman', serif;\n --bf-font-monospace:\n SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --bf-body-font-size-rem: 1.6rem;\n --bf-body-line-height: 1.5;\n\n /* Breakpoint tokens (documentation / tooling; media queries use literal px below) */\n --bf-breakpoint-xs: 0;\n --bf-breakpoint-sm: 576px;\n --bf-breakpoint-md: 768px;\n --bf-breakpoint-lg: 992px;\n --bf-breakpoint-xl: 1200px;\n --bf-breakpoint-xxl: 1400px;\n}\n\n/* Layout */\n/* Border-box and HTML5 block elements. */\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\narticle,\naside,\ndialog,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\ndetails {\n display: block;\n}\n\ntemplate {\n display: none;\n}\n\n/* [hidden] stays hidden (except until-found). */\n[hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n}\n/* UA+ enhancements (adapted from https://fokus.dev/tools/uaplus/).\n * Light UA improvements; complements Bullframe base styles. */\n\n@layer {\n /* Disable mobile landscape text inflation on optimized layouts. */\n html {\n -webkit-text-size-adjust: none;\n -moz-text-size-adjust: none;\n text-size-adjust: none;\n }\n\n /* Stable scrollbar gutter avoids layout jump on short pages. */\n @supports (scrollbar-gutter: stable) {\n html {\n scrollbar-gutter: stable;\n }\n }\n\n /* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */\n h1 {\n font-size: 2em;\n margin-block: 0.67em;\n }\n\n /* mark: system Highlight colors under forced-colors. */\n @media (forced-colors: active) {\n mark {\n color: HighlightText;\n background-color: Highlight;\n }\n }\n\n /* Embedded media: stay within container block/inline size. */\n audio,\n iframe,\n img,\n svg,\n video {\n max-block-size: 100%;\n max-inline-size: 100%;\n }\n\n /* fieldset: avoid min-content overflow from children. */\n fieldset {\n min-inline-size: 0;\n }\n\n /* Labels for text-like controls are block; :has() gated for older engines. */\n @supports selector(:has(*)) {\n label:has(+ input:not([type='radio'], [type='checkbox']), select, textarea) {\n display: block;\n }\n }\n\n /* Taller default textarea when rows is omitted. */\n textarea:not([rows]) {\n min-block-size: 6em;\n }\n\n /* Form controls inherit page font family/size. */\n button,\n input,\n select,\n textarea {\n font-family: inherit;\n font-size: inherit;\n }\n\n /* Search: drop WebKit rounded search chrome. */\n [type='search'] {\n -webkit-appearance: textfield;\n }\n\n /* iOS only: system border/background for search. */\n @supports (-webkit-touch-callout: none) {\n [type='search'] {\n border: 1px solid -apple-system-secondary-label;\n background-color: canvas;\n }\n }\n\n /* Keep tel/url/email/number LTR when a value is present (RTL placeholders stay). */\n input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(\n :-moz-placeholder\n ) {\n direction: ltr;\n }\n input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(\n :placeholder-shown\n ) {\n direction: ltr;\n }\n\n /* Tables: outer border. Cell borders and padding come from\n * miscellaneous/tables.css, which is unlayered and therefore wins. */\n table {\n border: 1px solid currentColor;\n }\n\n /* Soft dialog / popover enter transitions (skip when reduced-motion is on). */\n @media (prefers-reduced-motion: no-preference) {\n dialog::backdrop {\n background: rgb(0 0 0 / 0.3);\n }\n\n @supports (overlay: auto) {\n dialog,\n [popover],\n dialog::backdrop {\n opacity: 0;\n transition:\n opacity 300ms ease-out,\n display 300ms allow-discrete,\n overlay 300ms allow-discrete;\n }\n\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 1;\n }\n\n @starting-style {\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 0;\n }\n }\n }\n }\n\n /* Images as blocks (max-width still from embedded-content.css). */\n img {\n display: block;\n }\n\n /* Popovers: anchor near trigger when position-area is supported. */\n @supports (position-area: block-end span-inline-end) {\n [popover] {\n margin: 0;\n position-area: block-end span-inline-end;\n }\n }\n}\n\n/* Typography */\n/* Root type and page chrome. */\n\nhtml {\n -webkit-text-size-adjust: 100%;\n -moz-text-size-adjust: 100%;\n text-size-adjust: 100%;\n\n /* 62.5% root so 1rem ≈ 10px. */\n font-size: 62.5%;\n\n color: var(--bf-dark);\n font-family: system-ui, sans-serif;\n line-height: 1.15;\n\n /* No tap flash on touch. */\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\nbody {\n margin: 0;\n font-size: var(--bf-body-font-size-rem);\n line-height: var(--bf-body-line-height);\n font-weight: 400;\n text-align: left;\n\n /* System UI stack (OS-native). */\n font-family:\n /* Safari / iOS (San Francisco) */\n -apple-system,\n /* Chrome < 56 on macOS (San Francisco) */ BlinkMacSystemFont,\n /* Windows */ 'Segoe UI',\n /* Android */ Roboto,\n /* KDE */ Oxygen-Sans,\n /* Ubuntu */ Ubuntu,\n /* GNOME */ Cantarell,\n /* macOS 10.10 and below */ 'Helvetica Neue',\n Helvetica,\n /* Web fallback */ Arial,\n 'Noto Sans',\n sans-serif,\n /* Emoji */ 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Ligatures and kerning. */\n text-rendering: optimizeLegibility;\n\n /* Long unbroken strings (e.g. headlines) wrap instead of overflowing. */\n word-wrap: break-word;\n\n background-color: var(--bf-white);\n}\n/* Heading scale and rhythm. */\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n font-weight: 600;\n font-family: inherit;\n color: inherit;\n line-height: 1.25;\n margin-bottom: var(--bf-spacing-lg);\n}\n\n/* Balanced headings where supported; no-op elsewhere. */\n@supports (text-wrap: balance) {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n text-wrap: balance;\n }\n}\n\nh1 {\n font-size: 36px;\n font-size: 3.6rem;\n}\n\nh2 {\n font-size: 30px;\n font-size: 3rem;\n}\n\nh3 {\n font-size: 24px;\n font-size: 2.4rem;\n}\n\nh4 {\n font-size: 20px;\n font-size: 2rem;\n}\n\nh5,\nh6 {\n font-size: 16px;\n font-size: 1.6rem;\n}\n/* Blockquote and citation. */\n\nblockquote {\n margin: 0 0 var(--bf-spacing-xl);\n padding-left: 0;\n font-style: italic;\n}\n\nblockquote p {\n margin-bottom: 0;\n}\n\nblockquote small {\n color: var(--bf-gray);\n display: block;\n}\n\nblockquote small::before {\n content: '\\2014 \\00A0';\n}\n\nq {\n quotes: '\\201C' '\\201D' '\\2018' '\\2019';\n}\n/* Paragraphs, abbr, mark/ins, emphasis, sub/sup, small, hr. */\n\np {\n margin: 0 0 var(--bf-spacing-xl) 0;\n}\n\n/* abbr (Bootstrap 4): dotted underline + help cursor. */\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n border-bottom: 0;\n}\n\nmark {\n background-color: var(--bf-yellow);\n color: var(--bf-black);\n}\n\nins {\n background-color: var(--bf-yellow-light);\n color: var(--bf-black);\n text-decoration: none;\n}\n\n/* Inherit first so Safari does not double-apply bolder, then set bolder. */\nb,\nstrong {\n font-weight: inherit;\n}\n\n/* stylelint-disable-next-line no-duplicate-selectors -- normalize.css Safari fix */\nb,\nstrong {\n font-weight: bolder;\n}\n\ndfn {\n font-style: italic;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -8px;\n top: -0.8rem;\n}\n\nsub {\n bottom: -4px;\n bottom: -0.4rem;\n}\n\nsmall {\n font-size: 80%;\n}\n\n/* Tighter leading when a paragraph contains <small>. */\n@supports selector(:has(*)) {\n p:has(small) {\n line-height: 1.25;\n }\n}\n\nhr {\n box-sizing: content-box;\n display: block;\n height: 0;\n border-style: solid;\n border-width: 1px 0 0;\n color: inherit;\n margin: var(--bf-spacing-xl) 0;\n padding: 0;\n overflow: visible; /* Edge: show overflow. */\n}\n/* pre / code / kbd / samp. */\n\npre {\n margin: 0 0 var(--bf-spacing-xl) 0;\n\n display: block;\n overflow: auto;\n word-break: break-all; /* WebKit */\n word-wrap: break-word;\n white-space: pre;\n hyphens: none;\n\n /* Keep scrollbars visible in legacy Edge.\n * https://github.com/twbs/bootstrap/pull/30685 */\n -ms-overflow-style: auto;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family:\n /* macOS 10.10+ */\n Menlo, Consolas, 'Roboto Mono', 'Ubuntu Monospace', 'Noto Mono', 'Oxygen Mono',\n 'Liberation Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Mono faces read large; use a slightly smaller size. */\n font-size: 0.875em;\n}\n\ncode {\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n/* Forms */\n/* Form control reset: inheritance, sizing, and UA quirks. */\n\n:where(html input, button, select, optgroup, textarea) {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n:where(html input, button, [type='radio'], [type='checkbox'], select, optgroup, textarea) {\n margin: 0;\n}\n\n:where(html input, select, textarea, legend) {\n width: 100%;\n}\n\n/* Shrink-to-content controls stay auto-width. */\n:where(\n html label,\n button,\n [type='image'],\n [type='submit'],\n [type='reset'],\n html [type='button'],\n [type='radio'],\n [type='checkbox']\n) {\n width: auto;\n}\n\n/* inline-block: consistent sizing and vertical-align across engines. */\n:where(\n html input,\n label,\n select,\n textarea,\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n output\n) {\n display: inline-block;\n}\n\n:where([type='file']) {\n display: block;\n background-color: transparent;\n}\n\n:where(button, html input, select, textarea) {\n background-image: none;\n}\n\n:where(input, select, textarea) {\n vertical-align: baseline;\n}\n\n:where(form) {\n margin: 0;\n}\n\n/* Drop fieldset min-content width so nested grids can shrink. */\n:where(fieldset) {\n border: 0;\n padding: 0;\n margin: 0;\n min-width: 0;\n}\n\n:where(legend) {\n display: table; /* Text wrapping in Edge / IE. */\n max-width: 100%;\n white-space: normal;\n border: 0;\n padding: 0;\n font-weight: 400;\n margin-bottom: var(--bf-spacing-md);\n font-size: inherit;\n line-height: 1.375;\n color: inherit;\n}\n\n:where(label) {\n font-weight: 400;\n font-size: 90%;\n line-height: 1.375;\n margin-bottom: var(--bf-spacing-md);\n}\n\n:where(label input, label select, label textarea) {\n font-size: 110%;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n:where([type='search']) {\n outline-offset: calc(-1 * var(--bf-spacing-sm));\n}\n\n:where(output) {\n vertical-align: middle;\n}\n\n:where(button, select) {\n text-transform: none;\n}\n\n:where(select) {\n word-wrap: normal;\n}\n\n/* Hide WebKit datalist picker chrome (Bootstrap Reboot 5.2).\n * https://unpkg.com/browse/bootstrap@5.2.0/dist/css/bootstrap-reboot.css */\n:where([list]):not(\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time']\n )::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\n:where(optgroup) {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit; /* Families without a 600 face. */\n font-weight: 600;\n}\n\n/* Reset WebKit / Blink appearance on text-like controls. */\n:where(\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n [type='email'],\n [type='number'],\n [type='text'],\n [type='tel'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='url'],\n [type='image'],\n [type='password'],\n [type='search'],\n [type='search']::-webkit-search-decoration,\n [type='search']::-webkit-search-cancel-button,\n input[list],\n textarea\n) {\n -webkit-appearance: none;\n appearance: none;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n}\n\n:where(button, input, select, textarea) {\n border-radius: var(--bf-spacing-sm);\n}\n\n:where([type='radio']) {\n border-radius: 50%;\n}\n\n:where([type='checkbox']) {\n border-radius: var(--bf-spacing-md);\n}\n\n:where([type='radio'], [type='checkbox']) {\n padding: 0;\n background-color: var(--bf-white);\n}\n\n:where([type='range' i]) {\n background-color: transparent;\n}\n\n:where(select[size], select[multiple]) {\n height: auto;\n}\n\n:where(select[multiple]) {\n background-image: none;\n}\n\n:where(textarea) {\n height: auto;\n min-height: 60px;\n min-height: 6rem;\n overflow: auto;\n vertical-align: top;\n resize: vertical;\n}\n\n/* Firefox: strip inner focus padding/border. */\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n line-height: normal;\n text-align: center;\n margin: 0;\n background-clip: padding-box;\n vertical-align: baseline;\n overflow: visible;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: 0;\n background-image: none; /* Firefox mobile */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus {\n text-decoration: none;\n color: var(--bf-dark);\n}\n\n:where(\n button:not(:disabled),\n [type='button']:not(:disabled),\n [type='reset']:not(:disabled),\n [type='submit']:not(:disabled)\n) {\n cursor: pointer;\n}\n\n/* Firefox: input color must not override placeholder color.\n * https://github.com/necolas/normalize.css/issues/150 */\n:where(input::-moz-placeholder, textarea::-moz-placeholder) {\n color: var(--bf-gray-dark);\n}\n:where(input::placeholder, textarea::placeholder) {\n color: var(--bf-gray-dark);\n}\n\n/* Firefox: modern focus ring on all focusable elements. */\n:-moz-focusring {\n outline: auto;\n}\n\n/* Firefox: drop :-moz-ui-invalid glow; use .bf-invalid for JS validation.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid */\n:-moz-ui-invalid {\n box-shadow: none;\n}\n/* Form field and button chrome (borders, focus, disabled). */\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea\n) {\n background-color: var(--bf-white);\n border: 1px solid var(--bf-gray);\n padding: var(--bf-spacing-md) calc(var(--bf-spacing-lg) * 0.75);\n}\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):active,\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):focus {\n transition:\n border 0.2s,\n background-color 0.2s,\n box-shadow 0.2s;\n border-color: var(--bf-blue);\n box-shadow: 0 0 0 3px rgb(0 86 179 / 25%);\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n color: var(--bf-dark);\n padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);\n background: var(--bf-gray-light);\n transition:\n color 0.2s,\n background 0.2s,\n box-shadow 0.2s;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n text-decoration: none;\n color: var(--bf-dark);\n background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);\n}\n\n/* Disabled / aria-disabled / fieldset[disabled]. */\n:where(\n fieldset[disabled] button,\n fieldset[disabled] input,\n fieldset[disabled] input::after,\n fieldset[disabled] input::before,\n fieldset[disabled] input:checked,\n fieldset[disabled] select,\n fieldset[disabled] textarea,\n fieldset[disabled] label,\n button[disabled],\n input[disabled],\n input[disabled]::after,\n input[disabled]::before,\n input[disabled]:checked,\n select[disabled],\n textarea[disabled],\n label[disabled],\n button:disabled,\n input:disabled,\n input:disabled::after,\n input:disabled::before,\n input:disabled:checked,\n select:disabled,\n textarea:disabled,\n label:disabled,\n button[aria-disabled='true'],\n input[aria-disabled='true'],\n input[aria-disabled='true']::after,\n input[aria-disabled='true']::before,\n input[aria-disabled='true']:checked,\n select[aria-disabled='true'],\n textarea[aria-disabled='true'],\n label[aria-disabled='true']\n) {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n box-shadow: none !important;\n outline: none !important;\n opacity: 0.5 !important;\n}\n/* Select: custom arrow for single-value controls.\n * Skip [size] / [multiple] (native UI differs by engine). Inspired by water.css. */\n\n:where(select):not([size], select[multiple]) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: var(--bf-white)\n url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\")\n no-repeat right 0.85rem center/8px 10px;\n padding-right: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n\n/* RTL: mirror arrow after appearance:none removes the native control. */\n:where(*[dir='rtl']) :where(select):not([size], select[multiple]),\n:where(select[dir='rtl']):not([size], select[multiple]) {\n background-position: left 0.85rem top 50%;\n padding-right: calc(var(--bf-spacing-lg) * 0.75);\n padding-left: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n/* Range: custom thumb/track when appearance:none is supported.\n * CodePen: https://codepen.io/marcop135/pen/JjGrNMx */\n\n@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {\n :where([type='range']) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 100%;\n height: 1.4rem;\n }\n\n :where([type='range'])::-webkit-slider-thumb {\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -0.25rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n -webkit-transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-webkit-slider-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-moz-range-thumb {\n border: 0;\n -moz-appearance: none;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n -moz-transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-moz-range-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-webkit-slider-runnable-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range'])::-moz-range-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range']):focus {\n outline: none;\n }\n\n :where([type='range']):focus::-webkit-slider-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range']):focus::-moz-range-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range'])::-moz-focus-outer {\n border: 0;\n }\n\n :where([type='range']):disabled {\n pointer-events: none;\n }\n\n :where([type='range']):disabled::-webkit-slider-thumb {\n background-color: var(--bf-gray-light);\n }\n\n :where([type='range']):disabled::-moz-range-thumb {\n background-color: var(--bf-gray-light);\n }\n}\n\n/* Miscellaneous */\n/* Link defaults. --bf-blue meets WCAG AA 4.5:1 on white. */\n\na {\n color: var(--bf-blue);\n text-decoration: none;\n background-color: transparent; /* Legacy Edge active background. */\n}\n\na:hover,\na:focus {\n text-decoration: underline;\n color: var(--bf-blue-light);\n}\n\n/* Non-href anchors inherit text (Bootstrap reboot pattern). */\na:not([href], [tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [class]),\na:not([href], [class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [tabindex]):focus {\n outline: 0;\n}\n/* Keyboard-first focus: :focus-visible ring from --bf-focus-ring-*; mute mouse outline.\n * Text-like controls clear UA outline here; field chrome is in forms/styling.css. */\n\n:where(:focus:not(:focus-visible)) {\n outline: none;\n}\n\n/* tabindex=\"-1\" targets should not show a ring on programmatic focus. */\n:where([tabindex='-1']:focus:not(:focus-visible)) {\n outline: 0 !important;\n}\n\n:focus-visible {\n outline: var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);\n outline-offset: var(--bf-focus-ring-offset);\n}\n\n/* Clear UA outline on text-like controls (styled fields keep their own chrome).\n * Leave color / range / file alone; they often use custom widgets. */\nbutton:focus,\n[type='button']:focus,\n[type='reset']:focus,\n[type='submit']:focus,\n[type='email']:focus,\n[type='number']:focus,\n[type='password']:focus,\n[type='tel']:focus,\n[type='search']:focus,\n[type='text']:focus,\n[type='date']:focus,\n[type='datetime-local']:focus,\n[type='month']:focus,\n[type='time']:focus,\n[type='week']:focus,\n[type='url']:focus,\n[type='radio']:focus,\n[type='checkbox']:focus,\ninput[list]:focus,\nselect:focus,\ntextarea:focus {\n outline: 0;\n}\n/* List spacing and nav list reset. */\n\nmenu,\nol,\nul,\ndl {\n margin: 0 0 var(--bf-spacing-xl) 0;\n padding: 0;\n}\n\nmenu ul,\nmenu ol,\nul ul,\nul ol,\nol ol,\nol ul,\ndd {\n margin-bottom: 0;\n}\n\nul,\nol {\n margin-left: var(--bf-spacing-xl);\n}\n\nnav ol,\nnav ul {\n list-style: none;\n margin-left: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-left: 0;\n}\n\n/* VoiceOver: zero-width space so list-style:none lists stay announced. */\nnav li::before {\n content: '\\200B';\n position: absolute;\n}\n/* Media elements, figures, progress/meter, and iframes. */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\nimg,\ncanvas,\naudio,\nvideo,\niframe,\nobject,\nembed {\n max-width: 100%;\n}\n\naudio,\nvideo,\ncanvas,\nimg,\nsvg {\n vertical-align: middle;\n}\n\nimg {\n height: auto;\n border-style: none;\n}\n\nfigure {\n margin: 0;\n}\n\nfigure,\nfigcaption {\n display: block;\n}\n\nfigcaption {\n line-height: 1.375;\n font-size: 90%;\n}\n\nvideo {\n height: auto;\n}\n\naudio {\n width: 100%;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nsvg:not([fill]) {\n fill: currentColor;\n}\n\nprogress,\nmeter {\n display: inline-block;\n vertical-align: baseline;\n width: 100%;\n max-width: 100%;\n}\n\n/* progress[value] reset (https://css-tricks.com/html5-progress-element/). */\nprogress[value] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: none; /* Firefox default border. */\n\n height: 20px;\n height: 2rem;\n\n background: var(--bf-gray-light);\n color: var(--bf-blue); /* Progress fill in IE10+. */\n}\n\nprogress[value]::-webkit-progress-bar {\n background: var(--bf-gray-light);\n}\n\nprogress[value]::-webkit-progress-value {\n background: var(--bf-blue);\n}\n\n/* No default border (covers embeds that ignore frameborder=\"0\"). */\niframe {\n border-style: none;\n}\n/* Address, details/summary, and dialog defaults. */\n\naddress {\n font-style: normal;\n margin-bottom: var(--bf-spacing-lg);\n line-height: inherit;\n}\n\ndetails > summary:first-of-type {\n display: list-item;\n}\n\nsummary {\n cursor: pointer;\n font-weight: 700;\n word-break: break-all;\n}\n\ndialog {\n background-color: var(--bf-white);\n color: var(--bf-dark);\n border: none;\n border-radius: var(--bf-spacing-sm);\n padding: var(--bf-spacing-xl);\n height: -moz-fit-content;\n height: fit-content;\n min-width: min(25rem, 100%);\n max-width: calc(100vw - (var(--bf-spacing-grid-gutter) * 2));\n}\n\n@media (min-width: 768px) {\n dialog {\n max-width: 50rem;\n }\n}\n\n/* Open dialog wins over [hidden] (e.g. <dialog hidden open>). */\ndialog[open] {\n display: block !important;\n}\n\ndialog::backdrop {\n background: rgb(0 0 0 / 40%);\n}\n/* Smooth scrolling when motion is allowed. */\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n/* Table border collapse and cell alignment. */\n\ntable {\n caption-side: bottom;\n max-width: 100%;\n border-collapse: collapse;\n border-color: currentcolor; /* Chrome / Safari inheritance. */\n text-indent: 0; /* Chrome / Safari table indent. */\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nthead th {\n vertical-align: bottom;\n}\n\nth,\ntd {\n vertical-align: top;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n font-weight: 700;\n}\n\ncaption {\n padding-top: var(--bf-spacing-md);\n padding-bottom: var(--bf-spacing-md);\n color: var(--bf-gray);\n text-align: left;\n caption-side: bottom;\n line-height: 1.375;\n font-size: 90%;\n}\n/* Accessibility helpers (adapted from sanitize.css). */\n\n/* Busy: progress cursor. */\n:where([aria-busy='true' i]) {\n cursor: progress;\n}\n\n/* Disabled / inoperable: not-allowed cursor. */\n:where([aria-disabled='true' i], [disabled]) {\n cursor: not-allowed;\n}\n\n/* aria-hidden=\"false\" on [hidden]: keep in a11y tree when not focused. */\n:where([aria-hidden='false' i][hidden]) {\n display: initial;\n}\n\n:where([aria-hidden='false' i][hidden]:not(:focus)) {\n clip: rect(0, 0, 0, 0);\n position: absolute;\n}\n/* Preference queries only (prefers-contrast, forced-colors). Additive. */\n\n/* prefers-contrast: more: underline links, thicker focus, stronger borders (WCAG 1.4.1). */\n@media (prefers-contrast: more) {\n a {\n text-decoration: underline;\n }\n\n /* Darker amber clears WCAG 1.4.11 (3:1) on white, --bf-light and --bf-dark-bg;\n * the default --bf-orange ring is only ~2:1 on white. */\n :root {\n --bf-focus-ring-color: rgb(184 115 0);\n }\n\n :focus-visible {\n outline-width: 0.3rem;\n outline-offset: 0.4rem;\n }\n\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='time'],\n [type='url'],\n [type='week'],\n input[list],\n select,\n textarea {\n border-width: 2px;\n }\n}\n\n/* forced-colors: restore focus via Highlight; underline links; keep button borders. */\n@media (forced-colors: active) {\n :focus-visible {\n outline-color: Highlight;\n }\n\n a {\n text-decoration: underline;\n }\n\n /* Keep button borders so disabled/active stay distinguishable. */\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n border: 1px solid ButtonText;\n }\n}\n/* Screen-reader and keyboard helpers (.bf-sr-only, .bf-skip-link, .bf-focusable).\n * Class-based and utilities builds only; classless ships no .bf-* classes. */\n\n/* Visually hidden; available to screen readers (h5bp / Snook). */\n.bf-sr-only {\n border: 0 !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 1px !important;\n}\n\n/* .bf-sr-only, revealed on focus. .focusable is the legacy name; both work. */\n.bf-sr-only.focusable:active,\n.bf-sr-only.focusable:focus,\n.bf-sr-only.bf-focusable:active,\n.bf-sr-only.bf-focusable:focus {\n clip: auto !important;\n height: auto !important;\n margin: 0 !important;\n overflow: visible !important;\n position: static !important;\n white-space: inherit !important;\n width: auto !important;\n}\n\n/* Skip link: hidden until focused, then pinned to the top-left without\n * reflowing the page (unlike .bf-sr-only.focusable, which returns to flow). */\n.bf-skip-link {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 9999;\n padding: var(--bf-spacing-md) var(--bf-spacing-lg);\n color: var(--bf-blue);\n background-color: var(--bf-white);\n border: 1px solid var(--bf-gray-light);\n transform: translateY(-100%);\n}\n\n.bf-skip-link:focus,\n.bf-skip-link:focus-visible {\n transform: translateY(0);\n}\n\n/* Utilities */\n/* Display, visibility, float, position, and width helpers. */\n\n.bf-clearfix::before,\n.bf-clearfix::after {\n content: ' ';\n display: table;\n}\n\n.bf-clearfix::after {\n clear: both;\n}\n\n.bf-hide {\n display: none !important;\n}\n\n.bf-hidden {\n display: none !important;\n visibility: hidden !important;\n}\n\n.bf-text-hide {\n font: 0/0 a !important;\n color: transparent !important;\n text-shadow: none !important;\n background-color: transparent !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n}\n\n/* .bf-sr-only, .bf-focusable and .bf-skip-link live in\n * miscellaneous/a11y-helpers.css (class-based and utilities builds). */\n\n.bf-invisible {\n visibility: hidden !important;\n}\n\n.bf-visible {\n visibility: visible !important;\n}\n\n.bf-display-block {\n display: block !important;\n}\n\n.bf-display-block-center {\n display: block !important;\n margin-left: auto !important;\n margin-right: auto !important;\n text-align: center !important;\n}\n\n.bf-display-inline {\n display: inline !important;\n}\n\n.bf-display-inline-block {\n display: inline-block !important;\n}\n\n.bf-display-flex {\n display: flex !important;\n}\n\n.bf-display-inline-flex {\n display: inline-flex !important;\n}\n\n.bf-display-flex--justify-start {\n justify-content: flex-start !important;\n}\n\n.bf-display-flex--justify-end {\n justify-content: flex-end !important;\n}\n\n.bf-display-flex--justify-center {\n justify-content: center !important;\n}\n\n.bf-display-flex--wrap {\n flex-wrap: wrap !important;\n}\n\n.bf-display-flex--nowrap {\n flex-wrap: nowrap !important;\n}\n\n.bf-float-left {\n float: left !important;\n}\n\n.bf-float-right {\n float: right !important;\n}\n\n.bf-position-fixed {\n position: fixed !important;\n}\n\n.bf-position-sticky {\n position: sticky !important;\n top: 0 !important;\n}\n\n.bf-position-relative {\n position: relative !important;\n}\n\n/* Absolute center inside a relative parent. */\n.bf-align-center-unknown {\n position: relative !important;\n}\n\n.bf-align-center-unknown--item {\n position: absolute !important;\n top: 50% !important;\n left: 50% !important;\n transform: translate(-50%, -50%) !important;\n}\n\n.bf-align-center-flex {\n display: flex !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100vh !important;\n}\n\n.bf-width-25 {\n width: 25% !important;\n}\n\n.bf-width-33 {\n width: 33.3333% !important;\n}\n\n.bf-width-50 {\n width: 50% !important;\n}\n\n.bf-width-75 {\n width: 75% !important;\n}\n\n.bf-width-100 {\n width: 100% !important;\n}\n\n.bf-width-auto {\n width: auto !important;\n}\n/* Text alignment, weight, truncate, and font-stack helpers. */\n\n.bf-t-transform-uppercase {\n text-transform: uppercase !important;\n}\n\n.bf-t-transform-none {\n text-transform: none !important;\n}\n\n.bf-t-left {\n text-align: left !important;\n}\n\n.bf-t-center {\n text-align: center !important;\n}\n\n.bf-t-right {\n text-align: right !important;\n}\n\n.bf-t-shadow {\n text-shadow: 0 0 2px var(--bf-dark) !important;\n text-shadow: 0 0 0.2rem var(--bf-dark) !important;\n}\n\n.bf-t-italic {\n font-style: italic !important;\n}\n\n/* Reset italic inheritance (e.g. nested <i>). */\n.bf-t-style-normal {\n font-style: normal !important;\n}\n\n/* Weight utilities (e.g. reset <b>). */\n.bf-t-weight-300 {\n font-weight: 300 !important;\n}\n\n.bf-t-weight-400 {\n font-weight: 400 !important;\n}\n\n.bf-t-weight-500 {\n font-weight: 500 !important;\n}\n\n.bf-t-weight-600 {\n font-weight: 600 !important;\n}\n\n.bf-t-weight-700 {\n font-weight: 700 !important;\n}\n\n.bf-t-weight-800 {\n font-weight: 800 !important;\n}\n\n.bf-text-break {\n word-wrap: break-word !important;\n}\n\n.bf-t-truncate {\n max-width: 100% !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n word-wrap: normal !important;\n}\n\n.bf-t-truncate--multiline-2 {\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n display: -webkit-box !important;\n line-clamp: 2 !important;\n -webkit-line-clamp: 2 !important;\n -webkit-box-orient: vertical !important;\n}\n\n.bf-t-truncate--multiline-3 {\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n display: -webkit-box !important;\n line-clamp: 3 !important;\n -webkit-line-clamp: 3 !important;\n -webkit-box-orient: vertical !important;\n}\n\n.bf-no-select {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n -webkit-touch-callout: none !important;\n}\n\n.bf-font-sans-serif {\n font-family: var(--bf-font-sans-serif) !important;\n}\n\n.bf-font-serif {\n font-family: var(--bf-font-serif) !important;\n}\n\n.bf-font-monospace {\n font-family: var(--bf-font-monospace) !important;\n}\n\n/* Opt-in stacks from Modern Font Stacks (https://modernfontstacks.com/). */\n.bf-sans-serif--system {\n font-family: system-ui, sans-serif;\n}\n\n.bf-serif--transitional {\n font-family: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;\n}\n\n.bf-serif--oldstyle {\n font-family: 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;\n}\n\n.bf-sans-serif--humanist {\n font-family:\n Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;\n}\n\n.bf-sans-serif--geometric {\n font-family: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;\n}\n\n.bf-sans-serif--classical {\n font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;\n}\n\n.bf-sans-serif--neo-grotesque {\n font-family: Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif;\n}\n\n.bf-monospace--slab {\n font-family: 'Nimbus Mono PS', 'Courier New', monospace;\n}\n\n.bf-monospace--code {\n font-family:\n ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono',\n monospace;\n}\n\n.bf-sans-serif--industrial {\n font-family:\n Bahnschrift, 'DIN Alternate', 'Franklin Gothic Medium', 'Nimbus Sans Narrow',\n sans-serif-condensed, sans-serif;\n}\n\n.bf-sans-serif--rounded {\n font-family:\n ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT',\n 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif;\n}\n\n.bf-serif--slab {\n font-family: Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif;\n}\n\n.bf-serif--antique {\n font-family:\n Superclarendon, 'Bookman Old Style', 'URW Bookman', 'URW Bookman L', 'Georgia Pro', Georgia,\n serif;\n}\n\n.bf-serif--didone {\n font-family: Didot, 'Bodoni MT', 'Noto Serif Display', 'URW Palladio L', P052, Sylfaen, serif;\n}\n\n.bf-cursive--handwritten {\n font-family: 'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive;\n}\n\n.bf-h1,\n.bf-h2,\n.bf-h3,\n.bf-h4,\n.bf-h5,\n.bf-h6 {\n font-weight: 600 !important;\n margin-top: 0 !important;\n line-height: 1.2 !important;\n margin-bottom: var(--bf-spacing-lg) !important;\n}\n\n.bf-h1 {\n font-size: 36px !important;\n font-size: 3.6rem !important;\n}\n\n.bf-h2 {\n font-size: 30px !important;\n font-size: 3rem !important;\n}\n\n.bf-h3 {\n font-size: 24px !important;\n font-size: 2.4rem !important;\n}\n\n.bf-h4 {\n font-size: 20px !important;\n font-size: 2rem !important;\n}\n\n.bf-h5,\n.bf-h6 {\n font-size: 16px !important;\n font-size: 1.6rem !important;\n}\n\np.bf-lead {\n font-size: 120% !important;\n}\n\nbody.bf-responsive-typography {\n font-size: clamp(1.5rem, 2vw, 1.8rem);\n}\n/* 12-column flex grid: .bf-container / .bf-row / .bf-col-* (+ optional --break-* stacking). */\n\n.bf-container,\n.bf-container--fluid {\n box-sizing: border-box;\n display: block;\n margin-right: auto;\n margin-left: auto;\n padding-left: var(--bf-spacing-grid-gutter);\n padding-right: var(--bf-spacing-grid-gutter);\n}\n\n.bf-container {\n max-width: 114rem;\n}\n\n.bf-row {\n display: flex;\n flex-wrap: wrap;\n margin-left: calc(-1 * var(--bf-spacing-grid-gutter));\n margin-right: calc(-1 * var(--bf-spacing-grid-gutter));\n}\n\n[class^='bf-col-'] {\n position: relative;\n min-height: 1px;\n padding-left: var(--bf-spacing-grid-gutter);\n padding-right: var(--bf-spacing-grid-gutter);\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n.bf-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.bf-no-gutters > [class^='bf-col'] {\n padding-right: 0;\n padding-left: 0;\n}\n\n/* Column spans (12ths). */\n.bf-col-12 {\n flex-basis: 100%;\n max-width: 100%;\n}\n\n.bf-col-11 {\n flex-basis: 91.6667%;\n max-width: 91.6667%;\n}\n\n.bf-col-10 {\n flex-basis: 83.3333%;\n max-width: 83.3333%;\n}\n\n.bf-col-9 {\n flex-basis: 75%;\n max-width: 75%;\n}\n\n.bf-col-8 {\n flex-basis: 66.6667%;\n max-width: 66.6667%;\n}\n\n.bf-col-7 {\n flex-basis: 58.3333%;\n max-width: 58.3333%;\n}\n\n.bf-col-6 {\n flex-basis: 50%;\n max-width: 50%;\n}\n\n.bf-col-5 {\n flex-basis: 41.6667%;\n max-width: 41.6667%;\n}\n\n.bf-col-4 {\n flex-basis: 33.3333%;\n max-width: 33.3333%;\n}\n\n.bf-col-3 {\n flex-basis: 25%;\n max-width: 25%;\n}\n\n.bf-col-2 {\n flex-basis: 16.6667%;\n max-width: 16.6667%;\n}\n\n.bf-col-1 {\n flex-basis: 8.3333%;\n max-width: 8.3333%;\n}\n\n/* Breakpoint stacking via .bf-container--break-{xs|md|lg}. */\n@media (max-width: 575px) {\n .bf-container--break-xs .bf-row {\n margin-left: 0;\n margin-right: 0;\n }\n\n .bf-container--break-xs [class^='bf-col'] {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n@media (max-width: 767px) {\n .bf-container--break-md .bf-row {\n margin-left: 0;\n margin-right: 0;\n }\n\n .bf-container--break-md [class^='bf-col'] {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n@media (max-width: 991px) {\n .bf-container--break-lg .bf-row {\n margin-left: 0;\n margin-right: 0;\n }\n\n .bf-container--break-lg [class^='bf-col'] {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n/* Table cells with col classes stay position:static (v4 compat). */\ntable td[class^='bf-col'],\ntable th[class^='bf-col'] {\n position: static;\n}\n/* Z-index scale (.bf-z-index-*). */\n\n.bf-z-index-1 {\n z-index: 1;\n}\n.bf-z-index-2 {\n z-index: 2;\n}\n.bf-z-index-3 {\n z-index: 3;\n}\n.bf-z-index-4 {\n z-index: 4;\n}\n.bf-z-index-5 {\n z-index: 5;\n}\n.bf-z-index-6 {\n z-index: 6;\n}\n.bf-z-index-7 {\n z-index: 7;\n}\n.bf-z-index-8 {\n z-index: 8;\n}\n.bf-z-index-9 {\n z-index: 9;\n}\n.bf-z-index-10 {\n z-index: 10;\n}\n.bf-z-index-20 {\n z-index: 20;\n}\n.bf-z-index-30 {\n z-index: 30;\n}\n.bf-z-index-40 {\n z-index: 40;\n}\n.bf-z-index-50 {\n z-index: 50;\n}\n.bf-z-index-60 {\n z-index: 60;\n}\n.bf-z-index-70 {\n z-index: 70;\n}\n.bf-z-index-80 {\n z-index: 80;\n}\n.bf-z-index-90 {\n z-index: 90;\n}\n.bf-z-index-100 {\n z-index: 100;\n}\n.bf-z-index-200 {\n z-index: 200;\n}\n.bf-z-index-300 {\n z-index: 300;\n}\n/* Margin / padding scale (.bf-m-*, .bf-p-*). */\n\n.bf-m-0 {\n margin: 0 !important;\n}\n\n.bf-m-t-0 {\n margin-top: 0 !important;\n}\n\n.bf-m-b-0 {\n margin-bottom: 0 !important;\n}\n\n.bf-m-l-0 {\n margin-left: 0 !important;\n}\n\n.bf-m-r-0 {\n margin-right: 0 !important;\n}\n\n/* .bf-m-N is the historical short form of .bf-m-b-N; both set margin-bottom. */\n.bf-m-1,\n.bf-m-b-1 {\n margin-bottom: var(--bf-spacing-md) !important;\n}\n\n.bf-m-2,\n.bf-m-b-2 {\n margin-bottom: var(--bf-spacing-lg) !important;\n}\n\n.bf-m-3,\n.bf-m-b-3 {\n margin-bottom: var(--bf-spacing-xl) !important;\n}\n\n.bf-m-4,\n.bf-m-b-4 {\n margin-bottom: var(--bf-spacing-xxl) !important;\n}\n\n.bf-m-t-1 {\n margin-top: var(--bf-spacing-md) !important;\n}\n\n.bf-m-t-2 {\n margin-top: var(--bf-spacing-lg) !important;\n}\n\n.bf-m-t-3 {\n margin-top: var(--bf-spacing-xl) !important;\n}\n\n.bf-m-t-4 {\n margin-top: var(--bf-spacing-xxl) !important;\n}\n\n.bf-p-0 {\n padding: 0 !important;\n}\n\n.bf-p-t-0 {\n padding-top: 0 !important;\n}\n\n.bf-p-b-0 {\n padding-bottom: 0 !important;\n}\n\n.bf-p-l-0 {\n padding-left: 0 !important;\n}\n\n.bf-p-r-0 {\n padding-right: 0 !important;\n}\n\n/* .bf-p-N is the historical short form of .bf-p-b-N; both set padding-bottom. */\n.bf-p-1,\n.bf-p-b-1 {\n padding-bottom: var(--bf-spacing-md) !important;\n}\n\n.bf-p-2,\n.bf-p-b-2 {\n padding-bottom: var(--bf-spacing-lg) !important;\n}\n\n.bf-p-3,\n.bf-p-b-3 {\n padding-bottom: var(--bf-spacing-xl) !important;\n}\n\n.bf-p-4,\n.bf-p-b-4 {\n padding-bottom: var(--bf-spacing-xxl) !important;\n}\n\n.bf-p-t-1 {\n padding-top: var(--bf-spacing-md) !important;\n}\n\n.bf-p-t-2 {\n padding-top: var(--bf-spacing-lg) !important;\n}\n\n.bf-p-t-3 {\n padding-top: var(--bf-spacing-xl) !important;\n}\n\n.bf-p-t-4 {\n padding-top: var(--bf-spacing-xxl) !important;\n}\n/* .bf-btn and variants. */\n\n.bf-btn {\n display: inline-block;\n cursor: pointer;\n color: var(--bf-dark);\n padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);\n line-height: normal;\n text-align: center;\n margin: 0;\n background-clip: padding-box;\n vertical-align: baseline;\n overflow: visible;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border-radius: var(--bf-spacing-sm);\n\n border: 0;\n background-image: none;\n background-color: var(--bf-gray-light);\n transition: all 0.2s;\n}\n\n.bf-btn:focus {\n outline: 0;\n}\n\n.bf-btn:hover,\n.bf-btn:active,\n.bf-btn:focus {\n text-decoration: none;\n color: var(--bf-dark);\n background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */\n}\n\n.bf-btn:active,\n.bf-btn:focus {\n box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);\n}\n\n/* Primary: white on --bf-blue (WCAG AA 4.5:1). */\n.bf-btn.bf-btn--primary {\n color: var(--bf-white);\n background: var(--bf-blue);\n}\n\n.bf-btn.bf-btn--primary:hover,\n.bf-btn.bf-btn--primary:active,\n.bf-btn.bf-btn--primary:focus {\n color: var(--bf-white);\n background: var(--bf-blue-light);\n}\n\n.bf-btn.bf-btn--primary:active,\n.bf-btn.bf-btn--primary:focus {\n box-shadow: 0 0 0 3px rgb(0 65 135 / 35%);\n}\n\n:where(\n fieldset[disabled] .bf-btn,\n .bf-btn[disabled],\n .bf-btn:disabled,\n .bf-btn[aria-disabled='true']\n) {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n box-shadow: none !important;\n opacity: 0.5 !important;\n background-color: var(--bf-gray-light);\n outline: none !important;\n}\n\n@media (forced-colors: active) {\n .bf-btn {\n border: 1px solid ButtonText;\n }\n}\n/* Focused / invalid / disabled form state classes. */\n\n.bf-focused {\n transition:\n border 0.2s,\n background-color 0.2s,\n box-shadow 0.2s !important;\n border-color: var(--bf-blue) !important;\n box-shadow: 0 0 0 3px rgb(0 86 179 / 25%) !important;\n}\n\n.bf-disabled,\n.bf-disabled:hover,\n.bf-disabled:active,\n.bf-disabled:focus,\n.bf-disabled::after,\n.bf-disabled::before,\n.bf-disabled:invalid,\n.bf-disabled:checked {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n box-shadow: none !important;\n opacity: 0.5 !important;\n background-color: var(--bf-white);\n border-color: var(--bf-gray);\n}\n\nlabel.bf-disabled {\n background-color: transparent;\n border-color: transparent;\n}\n\nbutton.bf-disabled,\n[type='button'].bf-disabled,\n[type='reset'].bf-disabled,\n[type='submit'].bf-disabled,\n.bf-btn.bf-disabled {\n cursor: default;\n cursor: not-allowed;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n box-shadow: none;\n opacity: 0.5;\n color: var(--bf-dark);\n background: var(--bf-gray-light);\n}\n\nbutton.bf-disabled:hover,\nbutton.bf-disabled:active,\nbutton.bf-disabled:focus,\n[type='button'].bf-disabled:hover,\n[type='button'].bf-disabled:active,\n[type='button'].bf-disabled:focus,\n[type='reset'].bf-disabled:hover,\n[type='reset'].bf-disabled:active,\n[type='reset'].bf-disabled:focus,\n[type='submit'].bf-disabled:hover,\n[type='submit'].bf-disabled:active,\n[type='submit'].bf-disabled:focus,\n.bf-btn.bf-disabled:hover,\n.bf-btn.bf-disabled:active,\n.bf-btn.bf-disabled:focus {\n box-shadow: none;\n color: var(--bf-dark);\n background: var(--bf-gray-light);\n}\n\n.bf-btn--primary.bf-disabled {\n cursor: default;\n cursor: not-allowed;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n box-shadow: none;\n opacity: 0.5;\n color: var(--bf-white);\n background: var(--bf-blue);\n}\n\n.bf-btn--primary.bf-disabled:hover,\n.bf-btn--primary.bf-disabled:active,\n.bf-btn--primary.bf-disabled:focus {\n box-shadow: none;\n color: var(--bf-white);\n background: var(--bf-blue);\n}\n\n.bf-invalid,\n.bf-invalid:focus {\n color: var(--bf-red) !important;\n border-color: var(--bf-red) !important;\n box-shadow: 0 0 0 3px rgb(255 0 0 / 25%) !important;\n}\n/* Custom radio / checkbox appearance. */\n\n.custom-checkbox-wrapper [type='checkbox'] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 1.8rem;\n width: 1.8rem;\n vertical-align: top;\n position: relative;\n border: 1px solid var(--bf-gray);\n}\n\n.custom-checkbox-wrapper [type='checkbox'] + label {\n line-height: 1.8rem;\n vertical-align: top;\n margin-left: var(--bf-spacing-md);\n}\n\n*[dir='rtl'] .custom-checkbox-wrapper [type='checkbox'] + label,\n.custom-checkbox-wrapper [type='checkbox'][dir='rtl'] + label {\n margin-left: 0;\n margin-right: var(--bf-spacing-md);\n}\n\n.custom-checkbox-wrapper [type='checkbox']::after {\n content: '';\n display: block;\n position: absolute;\n width: 0.6rem;\n height: 0.8rem;\n border: 2px solid var(--bf-white);\n border-top: 0;\n border-left: 0;\n left: 35%;\n top: 20%;\n transform: rotate(43deg);\n}\n\n.custom-checkbox-wrapper [type='checkbox']:checked {\n background-color: var(--bf-blue);\n border-color: var(--bf-black);\n}\n\n.custom-radio-wrapper [type='radio'] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 1.8rem;\n width: 1.8rem;\n vertical-align: top;\n position: relative;\n border: 1px solid var(--bf-gray);\n}\n\n.custom-radio-wrapper [type='radio'] + label {\n line-height: 1.8rem;\n vertical-align: top;\n margin-left: var(--bf-spacing-md);\n}\n\n*[dir='rtl'] .custom-radio-wrapper [type='radio'] + label,\n.custom-radio-wrapper [type='radio'][dir='rtl'] + label {\n margin-left: 0;\n margin-right: var(--bf-spacing-md);\n}\n\n.custom-radio-wrapper [type='radio']::after {\n content: '';\n display: block;\n position: absolute;\n width: 1.8rem;\n height: 1.8rem;\n left: -0.05rem;\n top: -0.05rem;\n border-radius: 50%;\n background: var(--bf-white);\n transform: scale(0.35);\n}\n\n.custom-radio-wrapper [type='radio']:checked {\n background-color: var(--bf-blue);\n border-color: var(--bf-black);\n}\n/* Unstyled and inline list helpers. */\n\n.bf-list-unstyled,\nmenu ul.bf-list-unstyled,\nmenu ol.bf-list-unstyled,\nul.bf-list-unstyled ul,\nul.bf-list-unstyled ol,\nol.bf-list-unstyled ol,\nol.bf-list-unstyled ul,\ndd.bf-list-unstyled {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndt {\n font-weight: 700;\n}\n/* Filter helpers (.bf-filter-*). */\n\n.bf-filter-invert {\n filter: invert(100%) !important;\n}\n\n.bf-filter-dim-images {\n filter: brightness(0.8) contrast(1.2);\n}\n\n.bf-filter-grayscale {\n filter: grayscale(1) !important;\n}\n\n.bf-filter-blur {\n filter: blur(0.3rem) !important;\n}\n\n.bf-filter-none {\n filter: none !important;\n}\n/* Table padding, overflow, and zebra helpers. */\n\n.bf-table th,\n.bf-table td {\n padding: var(--bf-spacing-lg);\n border-bottom: 1px solid var(--bf-gray);\n margin-bottom: var(--bf-spacing-md);\n}\n\n/* Horizontal scroll wrapper. */\n.bf-table-responsive {\n overflow: auto hidden;\n -ms-overflow-style: scrollbar;\n}\n\n.bf-table-responsive table {\n width: 100%;\n margin-bottom: var(--bf-spacing-md);\n}\n\n/* Prefer always-visible scrollbars on WebKit. */\n.bf-table-responsive.scrollbar {\n -webkit-overflow-scrolling: auto;\n}\n\n/* Odd-row striping. */\n.bf-table--zebra tbody tr:nth-child(odd),\n.bf-table-responsive--zebra tbody tr:nth-child(odd) {\n background-color: var(--bf-gray-light-extra);\n}\n/* Responsive embed box (Bootstrap-style aspect ratio). */\n\n.bf-embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.bf-embed-responsive::before {\n display: block;\n content: '';\n padding-top: 56.25%; /* 16:9 by default */\n}\n\n.bf-embed-responsive.bf-embed-responsive--4-3::before {\n padding-top: 75%;\n}\n\n.bf-embed-responsive .bf-embed-responsive--item,\n.bf-embed-responsive iframe,\n.bf-embed-responsive embed,\n.bf-embed-responsive object,\n.bf-embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n/* Reduced-motion opt-in (cssremedy-style). */\n\n@media (prefers-reduced-motion: reduce) {\n .bf-reduced-motion,\n .bf-reduced-motion::before,\n .bf-reduced-motion::after,\n .bf-reduced-motion *,\n .bf-reduced-motion *::before,\n .bf-reduced-motion *::after {\n animation-delay: -1ms !important;\n animation-duration: 1ms !important;\n animation-iteration-count: 1 !important;\n background-attachment: initial !important;\n scroll-behavior: auto !important;\n transition-delay: 0s !important;\n transition-duration: 0s !important;\n }\n}\n/* Opt-in font-smoothing (.bf-antialiased / .bf-subpixel-antialiased).\n * Names match Tailwind. Not applied globally: Apple recommends subpixel for body text on macOS. */\n\n.bf-antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.bf-subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n}\n/* Opt-in color-scheme. Put one on <html> so the UA themes native widgets\n * (date pickers, select popups, autofill, scrollbars) to match the build. */\n\n.bf-scheme-light {\n color-scheme: light;\n}\n\n.bf-scheme-dark {\n color-scheme: dark;\n}\n\n.bf-scheme-auto {\n color-scheme: light dark;\n}\n/* Opt-in minimum target size (WCAG 2.5.8, 24x24 CSS px).\n * Grows the hit box only; the painted control keeps its size. */\n\n.bf-target-size,\n.bf-target-size a,\n.bf-target-size button,\n.bf-target-size [type='button'],\n.bf-target-size [type='reset'],\n.bf-target-size [type='submit'],\n.bf-target-size [type='checkbox'],\n.bf-target-size [type='radio'],\n.bf-target-size select,\n.bf-target-size summary,\n.bf-target-size .bf-btn {\n min-block-size: 24px;\n min-inline-size: 24px;\n}\n\n/* Inline links in running text are exempt (WCAG 2.5.8 inline exception). */\n.bf-target-size p a,\n.bf-target-size li a,\n.bf-target-size td a,\n.bf-target-size dd a {\n min-block-size: 0;\n min-inline-size: 0;\n}\n/* Opt-in accent-color: native checkbox, radio, range and progress follow\n * --bf-blue instead of the UA default. Put it on <html> or any container. */\n\n.bf-accent-native {\n accent-color: var(--bf-blue);\n}\n/* Print styles (adapted from h5bp main.css). */\n\n@media print {\n *,\n *::before,\n *::after {\n background: #fff !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]::after {\n content: ' (' attr(href) ')';\n }\n\n abbr[title]::after {\n content: ' (' attr(title) ')';\n }\n\n a[href^='#']::after,\n a[href^='javascript:']::after {\n content: '';\n }\n\n pre {\n white-space: pre-wrap !important;\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n /* Framework print tweaks. */\n body,\n .bf-container {\n min-width: 992px !important;\n }\n\n .bf-table-responsive {\n overflow: auto;\n }\n\n .bf-table-responsive table {\n width: auto;\n }\n\n .bf-table-responsive table,\n .bf-table {\n border-collapse: collapse !important;\n }\n}\n"]}
@@ -37,10 +37,13 @@ Any docs page is Markdown by appending `.md`, for example
37
37
 
38
38
  ### Skills
39
39
  - `bullframe-core`: Core conventions for writing HTML styled with Bullframe CSS. Use before any other Bullframe skill, and whenever choosing a build, scaffolding a page, theming with tokens, or deciding whether to write custom CSS.
40
+ - `bullframe-components`: Compose navigation, cards and native dialog modals with Bullframe CSS. Use when building a header nav, breadcrumb, pagination, content or media cards, or a confirm dialog without a component library.
40
41
  - `bullframe-convert`: Convert existing HTML and CSS to Bullframe CSS. Use when migrating a page off Bootstrap, Tailwind, a hand-rolled stylesheet, or an older Bullframe version, and when asked to remove custom CSS in favour of the framework.
41
42
  - `bullframe-docs-page`: Build a documentation, article or reference page with Bullframe CSS. Use for docs, guides, changelogs, help center articles, blog posts, or any prose-first page.
42
43
  - `bullframe-forms`: Build accessible forms with Bullframe CSS. Use when creating a contact form, login, signup, checkout, search box, filter bar, or any page with input controls.
43
44
  - `bullframe-landing-page`: Build a marketing or product landing page with Bullframe CSS. Use for a hero, feature row, pricing block, call to action, or any multi-section marketing page.
45
+ - `bullframe-media`: Build galleries, responsive embeds and media grids with Bullframe CSS. Use when creating an album, photo grid, video or map embed, figure with caption, or mixed media cards.
46
+ - `bullframe-theming`: Theme Bullframe CSS with token overrides, dark or system builds, and a short project stylesheet. Use when branding colours or fonts, picking a dark or prefers-color-scheme build, or adding custom.css on top of one base build.
44
47
 
45
48
  Local copies of these skills are in `bullframe-skills/`.
46
49
  Published copies: <https://bullframecss.marcopontili.com/skills/index.json>. Refresh with `npx bullframe.css skills install`.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bullframe.css",
3
- "version": "6.2.1",
3
+ "version": "6.3.0",
4
4
  "docs": "https://bullframecss.marcopontili.com",
5
5
  "builds": [
6
6
  {
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: bullframe-components
3
+ description: Compose navigation, cards and native dialog modals with Bullframe CSS. Use when building a header nav, breadcrumb, pagination, content or media cards, or a confirm dialog without a component library.
4
+ bullframe: '>=6.1.0 <7.0.0'
5
+ builds: [bullframe.css, bullframe-dark.css, bullframe-system-default.css]
6
+ requires: [bullframe-core]
7
+ docs: ['/components/navigation', '/components/cards', '/components/modals', '/components/button-patterns']
8
+ ---
9
+
10
+ # Components
11
+
12
+ <!-- bf-absent: bf-card, bf-nav, bf-modal, bf-breadcrumb, bf-navbar -->
13
+
14
+ Bullframe does not ship React or Web Components. Navigation, cards and modals are
15
+ semantic HTML plus a few utilities and token-based inline styles. Prefer the patterns in
16
+ the docs over inventing framework classes.
17
+
18
+ ## When to use
19
+
20
+ A site header, breadcrumb, pagination, a grid of content or media cards, a confirm or
21
+ help `<dialog>`, or any task that asks for "components" on top of Bullframe.
22
+
23
+ ## Inputs to gather
24
+
25
+ Nav items and the primary action, card titles and summaries (and optional images),
26
+ whether a modal is needed and what it confirms, and light / dark / system theme.
27
+
28
+ ## Rules
29
+
30
+ 1. There is no `.bf-card`, `.bf-nav`, `.bf-modal`, `.bf-breadcrumb` or `.bf-navbar`. Compose
31
+ with landmarks, lists, buttons and `var(--bf-*)` borders.
32
+ 2. Header nav: `<header>` with `<nav aria-label="Primary">`, links in a list or inline
33
+ group, and at most one `.bf-btn.bf-btn--primary` call to action.
34
+ 3. Breadcrumbs: `<nav aria-label="Breadcrumb">` with an ordered list;
35
+ `aria-current="page"` on the current item; hide separators from assistive tech with
36
+ `aria-hidden="true"`.
37
+ 4. Pagination: `<nav aria-label="Pagination">` with `.bf-btn` links; mark the current page
38
+ with `aria-current="page"` and `.bf-btn--primary`.
39
+ 5. Cards: `<article>` with border, radius and padding from tokens. Media cards put the
40
+ image first and clip to the radius with `overflow: hidden`. Card grids use `.bf-row`
41
+ and `.bf-col-*`.
42
+ 6. Modals: native `<dialog>`. Open with `showModal()`, close with `<form method="dialog">`.
43
+ Do not build an overlay `<div>` or a focus-trap library.
44
+ 7. Every class-based page starts with `.bf-skip-link` pointing at `#main-content`.
45
+ 8. Keep JavaScript to the dialog open trigger (and optional `close` listener). No
46
+ framework.
47
+
48
+ ## Recipe
49
+
50
+ 1. Pick a class-based build.
51
+ 2. Emit the scaffold with skip link.
52
+ 3. Add header nav if the page needs site chrome.
53
+ 4. Main content: card row and any other sections.
54
+ 5. Add `<dialog>` elements at the end of `<body>` when confirmation or help is required.
55
+ 6. Wire a button that calls `document.getElementById(…).showModal()` only when a modal is
56
+ in scope.
57
+
58
+ ## Example
59
+
60
+ [`examples/components.html`](examples/components.html) is a page with primary nav, a
61
+ three-card row and a confirm `<dialog>` opened from a destructive action.
62
+
63
+ ## Expected output
64
+
65
+ Semantic landmarks, composed cards, and (when needed) a native dialog. No component npm
66
+ package and no invented `.bf-*` component classes.
67
+
68
+ ## Failure modes
69
+
70
+ - Inventing `.bf-card`, `.bf-nav`, `.bf-modal` or `.bf-breadcrumb`.
71
+ - A modal built from fixed-position `<div>`s instead of `<dialog>`.
72
+ - Nav without an accessible name (`aria-label` or similar).
73
+ - Cards as nested `<div>` soup with no heading hierarchy.
74
+ - Multiple primary buttons competing in the header.
75
+
76
+ ## Do not
77
+
78
+ - Do not add Bootstrap, Tailwind or a headless UI kit alongside Bullframe for these
79
+ patterns.
80
+ - Do not disable the dialog backdrop or Escape behaviour.
81
+ - Do not skip heading levels inside cards (`h1` page title, then `h2` or `h3` in cards).
82
+
83
+ ## Canonical docs
84
+
85
+ - Navigation: <https://bullframecss.marcopontili.com/components/navigation.md>
86
+ - Cards: <https://bullframecss.marcopontili.com/components/cards.md>
87
+ - Modals: <https://bullframecss.marcopontili.com/components/modals.md>
88
+ - Button patterns: <https://bullframecss.marcopontili.com/components/button-patterns.md>
@@ -0,0 +1,100 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Workspace · Fieldnote</title>
7
+ <meta name="description" content="Navigation, cards and a native dialog composed with Bullframe." />
8
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css" />
9
+ </head>
10
+ <body>
11
+ <a class="bf-skip-link" href="#main-content">Skip to content</a>
12
+
13
+ <header style="border-bottom: 1px solid var(--bf-gray-light)">
14
+ <nav class="bf-container bf-container--break-md" aria-label="Primary" style="display: flex; align-items: center; gap: 2rem; padding-block: 1rem">
15
+ <a href="#" style="font-weight: 700; text-decoration: none">Fieldnote</a>
16
+ <ul class="bf-list-unstyled" style="display: flex; gap: 1.5rem; margin: 0">
17
+ <li><a href="#boards">Boards</a></li>
18
+ <li><a href="#library">Library</a></li>
19
+ <li><a href="#settings">Settings</a></li>
20
+ </ul>
21
+ <a class="bf-btn bf-btn--primary" href="#boards" style="margin-left: auto">New board</a>
22
+ </nav>
23
+ </header>
24
+
25
+ <main id="main-content" class="bf-container bf-container--break-md bf-p-b-4 bf-p-t-3">
26
+ <nav aria-label="Breadcrumb" class="bf-m-b-2">
27
+ <ol class="bf-list-unstyled" style="display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0">
28
+ <li><a href="#">Home</a></li>
29
+ <li aria-hidden="true">/</li>
30
+ <li><a href="#boards">Boards</a></li>
31
+ <li aria-hidden="true">/</li>
32
+ <li aria-current="page">Workspace</li>
33
+ </ol>
34
+ </nav>
35
+
36
+ <h1>Workspace</h1>
37
+ <p class="bf-lead">Three boards and a confirm dialog. All composed; no component classes.</p>
38
+
39
+ <div id="boards" class="bf-row bf-m-t-3">
40
+ <div class="bf-col-4">
41
+ <article style="border: 1px solid var(--bf-gray-light); border-radius: var(--bf-spacing-sm); padding: var(--bf-spacing-xl)">
42
+ <h2 class="bf-m-t-0" style="font-size: 1.25rem">Launch checklist</h2>
43
+ <p>Ship notes, screenshots and owners for the next release.</p>
44
+ <a class="bf-btn" href="#">Open board</a>
45
+ </article>
46
+ </div>
47
+ <div class="bf-col-4">
48
+ <article style="border: 1px solid var(--bf-gray-light); border-radius: var(--bf-spacing-sm); padding: var(--bf-spacing-xl)">
49
+ <h2 class="bf-m-t-0" style="font-size: 1.25rem">Research library</h2>
50
+ <p>Interview clips and quotes tagged by persona.</p>
51
+ <a class="bf-btn" href="#library">Open board</a>
52
+ </article>
53
+ </div>
54
+ <div class="bf-col-4">
55
+ <article style="border: 1px solid var(--bf-gray-light); border-radius: var(--bf-spacing-sm); padding: var(--bf-spacing-xl)">
56
+ <h2 class="bf-m-t-0" style="font-size: 1.25rem">Archive</h2>
57
+ <p>Older boards kept for reference. Safe to delete when stale.</p>
58
+ <button type="button" class="bf-btn" id="open-delete">Delete archive</button>
59
+ </article>
60
+ </div>
61
+ </div>
62
+
63
+ <section id="library" class="bf-m-t-4">
64
+ <h2>Library</h2>
65
+ <p>Pagination pattern for long lists.</p>
66
+ <nav aria-label="Pagination">
67
+ <ul class="bf-list-unstyled" style="display: flex; gap: 0.5rem; margin: 0">
68
+ <li><a class="bf-btn" href="#">Prev</a></li>
69
+ <li><a class="bf-btn" href="#">1</a></li>
70
+ <li>
71
+ <a class="bf-btn bf-btn--primary" href="#" aria-current="page">2</a>
72
+ </li>
73
+ <li><a class="bf-btn" href="#">3</a></li>
74
+ <li><a class="bf-btn" href="#">Next</a></li>
75
+ </ul>
76
+ </nav>
77
+ </section>
78
+
79
+ <section id="settings" class="bf-m-t-4">
80
+ <h2>Settings</h2>
81
+ <p class="bf-m-b-0">Account preferences live on a separate form page.</p>
82
+ </section>
83
+ </main>
84
+
85
+ <dialog id="confirm-delete">
86
+ <h2>Delete archive?</h2>
87
+ <p>This permanently removes archived boards. This cannot be undone.</p>
88
+ <form method="dialog">
89
+ <button class="bf-btn bf-btn--primary" value="confirm">Yes, delete</button>
90
+ <button class="bf-btn" value="cancel">Cancel</button>
91
+ </form>
92
+ </dialog>
93
+
94
+ <script>
95
+ document.getElementById('open-delete').addEventListener('click', function () {
96
+ document.getElementById('confirm-delete').showModal();
97
+ });
98
+ </script>
99
+ </body>
100
+ </html>