{"version":3,"sources":["../node_modules/uswds/dist/scss/lib/_normalize.scss","../node_modules/uswds/dist/scss/global/_sizing.scss","../node_modules/uswds/dist/scss/core/mixins/_add-kerning.scss","../node_modules/uswds/dist/scss/global/_typography.scss","../node_modules/uswds/dist/scss/core/_functions.scss","index.css","../node_modules/uswds/dist/scss/elements/_figure.scss","../node_modules/uswds/dist/scss/core/mixins/_font-face.scss","../node_modules/uswds/dist/scss/global/_focus.scss","../node_modules/uswds/dist/scss/core/mixins/_focus.scss","../node_modules/uswds/dist/scss/elements/_layout-grid.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_margin.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_max-width.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_padding.scss","../node_modules/uswds/dist/scss/core/mixins/_at-media.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_display.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_flex.scss","../node_modules/uswds/dist/scss/core/mixins/_layout-grid.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_position.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_width.scss","../node_modules/uswds/dist/scss/components/_accordions.scss","../node_modules/uswds/dist/scss/core/mixins/_unstyled-list.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_font.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_line-height.scss","../node_modules/uswds/dist/scss/core/mixins/_add-knockout-font-smoothing.scss","../node_modules/uswds/dist/scss/core/mixins/_button-unstyled.scss","../node_modules/uswds/dist/scss/core/mixins/_add-background-svg.scss","../node_modules/uswds/dist/scss/core/mixins/_typography.scss","../node_modules/uswds/dist/scss/core/mixins/_media-link.scss","../node_modules/uswds/dist/scss/components/_media-block.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_align-items.scss","../node_modules/uswds/dist/scss/core/mixins/_media-block-img.scss","../node_modules/uswds/dist/scss/components/_banner.scss","../node_modules/uswds/dist/scss/core/mixins/_set-text-from-bg.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_measure.scss","../node_modules/uswds/dist/scss/core/mixins/_set-link-from-bg.scss","../node_modules/uswds/dist/scss/core/mixins/_icon.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_float.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_pin.scss","../node_modules/uswds/dist/scss/core/mixins/utilities/_text.scss","../node_modules/uswds/dist/scss/core/mixins/_screen-reader.scss"],"names":[],"mappings":"AAAA,2EAAA;AAUA,KACE,gBAAA,CACA,6BAAA,CCPE,qBAAA,CCJF,8BAAA,CACA,mBAAA,CCAA,gFAAA,CACA,aCOe,CCmlDjB,CLvkDA,KACE,QK+kDF,CLxkDA,aACE,aK8kDF,CLtkDA,GACE,aAAA,CACA,cK6kDF,CLlkDA,GACE,sBAAA,CACA,QAAA,CACA,gBK8kDF,CLtkDA,kBACE,+BAAA,CACA,aK+kDF,CLrkDA,EACE,4BK6kDF,CLrkDA,YACE,kBAAA,CAEA,wCAAA,CAAA,gCK+kDF,CLxkDA,SAEE,kBK8kDF,CL3jDA,MACE,aK8kDF,CLtkDA,QAEE,aAAA,CACA,aAAA,CACA,iBAAA,CACA,uBK6kDF,CL1kDA,IACE,aK6kDF,CL1kDA,IACE,SK6kDF,CLnkDA,IACE,iBAAA,CMnJA,aAAA,CD8tDF,CLhkDA,sCAKE,mBAAA,CACA,cAAA,CACA,gBAAA,CACA,QK6kDF,CLrkDA,aAEE,gBK6kDF,CLrkDA,cAEE,mBK6kDF,CLtkDA,gDAIE,yBK4kDF,CLrkDA,wHAIE,iBAAA,CACA,SK2kDF,CLpkDA,4GAIE,6BK0kDF,CLnkDA,SACE,0BKykDF,CL/jDA,OAEE,aAAA,CACA,aAAA,CACA,cAAA,CAEA,kBK8kDF,CLvkDA,SACE,uBK6kDF,CLtkDA,SACE,aK4kDF,CLpkDA,oCAEE,qBAAA,CACA,SK6kDF,CLtkDA,kFAEE,WK4kDF,CLpkDA,cACE,4BAAA,CACA,mBK6kDF,CLtkDA,yCACE,uBK4kDF,CLpkDA,6BACE,yBAAA,CACA,YK6kDF,CL3jDA,QACE,iBK0kDF,CLhkDA,kBACE,YKwkDF,CEr5DE,WACE,6BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,6NFg6DJ,CEr6DE,WACE,6BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,yOFu6DJ,CE56DE,WACE,6BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,6NF86DJ,CEn7DE,WACE,6BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,+OFq7DJ,CE17DE,WACE,6BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,sOF47DJ,CEj8DE,WACE,6BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,+OFm8DJ,CEx8DE,WACE,iCAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,kPF08DJ,CE/8DE,WACE,iCAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,wPFi9DJ,CEt9DE,WACE,iCAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,+OFw9DJ,CE79DE,WACE,iCAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,oQF+9DJ,CEp+DE,WACE,iCAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,qPFs+DJ,CE3+DE,WACE,iCAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,iQF6+DJ,CEl/DE,WACE,8BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,gOFo/DJ,CEz/DE,WACE,8BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,sOF2/DJ,CEhgEE,WACE,8BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,6NFkgEJ,CEvgEE,WACE,8BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,kPFygEJ,CE9gEE,WACE,8BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,mOFghEJ,CErhEE,WACE,8BAsBM,CArBN,iBAAA,CACA,eAsBM,CArBN,qBAAA,CACA,+OFuhEJ,CG5hEI,qHCKF,sBAAA,CACA,gBJ8hEF,CG1hEE,wECLA,sBAAA,CACA,gBJsiEF,CG7hEA,WCVE,sBAAA,CACA,gBJ2iEF,CJ/iEE,mBAGE,kBIsjEJ,CFviEA,qBAIE,iBEijEF,CK1kEA,gBCYI,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR2kEJ,CS3kEI,gCJRJ,gBGOI,iBAAA,CACA,kBRglEF,CACF,CKllEE,qBCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRylEJ,CSzlEI,gCJDF,qBGAE,iBAAA,CACA,kBR8lEF,CACF,CKhmEE,wBCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRumEJ,CSvmEI,gCJDF,wBGAE,iBAAA,CACA,kBR4mEF,CACF,CK9mEE,uBCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRqnEJ,CSrnEI,gCJDF,uBGAE,iBAAA,CACA,kBR0nEF,CACF,CK5nEE,0BCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRmoEJ,CSnoEI,gCJDF,0BGAE,iBAAA,CACA,kBRwoEF,CACF,CK1oEE,uBCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRipEJ,CSjpEI,gCJDF,uBGAE,iBAAA,CACA,kBRspEF,CACF,CKxpEE,0BCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR+pEJ,CS/pEI,gCJDF,0BGAE,iBAAA,CACA,kBRoqEF,CACF,CKtqEE,wBCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR6qEJ,CS7qEI,gCJDF,wBGAE,iBAAA,CACA,kBRkrEF,CACF,CKprEE,2BCKE,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR2rEJ,CS3rEI,gCJDF,2BGAE,iBAAA,CACA,kBRgsEF,CACF,CKlsEE,2BCKE,gBAAA,CACA,iBAAA,CCVF,iBAAA,CCIE,iBAAA,CACA,kBRysEJ,CSzsEI,gCJDF,2BGAE,iBAAA,CACA,kBR8sEF,CACF,CS/sEI,gCJSE,2BCLF,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRwtEF,CACF,CSztEI,qDJSE,2BGVF,iBAAA,CACA,kBR8tEF,CACF,CS/tEI,gCJgBI,gCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRuuEF,CACF,CSxuEI,qDJgBI,gCGjBJ,iBAAA,CACA,kBR6uEF,CACF,CS9uEI,gCJgBI,mCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRsvEF,CACF,CSvvEI,qDJgBI,mCGjBJ,iBAAA,CACA,kBR4vEF,CACF,CS7vEI,gCJgBI,kCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRqwEF,CACF,CStwEI,qDJgBI,kCGjBJ,iBAAA,CACA,kBR2wEF,CACF,CS5wEI,gCJgBI,qCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRoxEF,CACF,CSrxEI,qDJgBI,qCGjBJ,iBAAA,CACA,kBR0xEF,CACF,CS3xEI,gCJgBI,kCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRmyEF,CACF,CSpyEI,qDJgBI,kCGjBJ,iBAAA,CACA,kBRyyEF,CACF,CS1yEI,gCJgBI,qCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRkzEF,CACF,CSnzEI,qDJgBI,qCGjBJ,iBAAA,CACA,kBRwzEF,CACF,CSzzEI,gCJgBI,mCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRi0EF,CACF,CSl0EI,qDJgBI,mCGjBJ,iBAAA,CACA,kBRu0EF,CACF,CSx0EI,gCJgBI,sCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRg1EF,CACF,CSj1EI,qDJgBI,sCGjBJ,iBAAA,CACA,kBRs1EF,CACF,CSv1EI,gCJgBI,sCCZJ,gBAAA,CACA,iBAAA,CCVF,iBAAA,CCIE,iBAAA,CACA,kBR+1EF,CACF,CSh2EI,qDJgBI,sCGjBJ,iBAAA,CACA,kBRq2EF,CACF,CSt2EI,gCJSE,wBCLF,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR82EF,CACF,CS/2EI,qDJSE,wBGVF,iBAAA,CACA,kBRo3EF,CACF,CSr3EI,gCJgBI,6BCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR63EF,CACF,CS93EI,qDJgBI,6BGjBJ,iBAAA,CACA,kBRm4EF,CACF,CSp4EI,gCJgBI,gCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR44EF,CACF,CS74EI,qDJgBI,gCGjBJ,iBAAA,CACA,kBRk5EF,CACF,CSn5EI,gCJgBI,+BCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR25EF,CACF,CS55EI,qDJgBI,+BGjBJ,iBAAA,CACA,kBRi6EF,CACF,CSl6EI,gCJgBI,kCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR06EF,CACF,CS36EI,qDJgBI,kCGjBJ,iBAAA,CACA,kBRg7EF,CACF,CSj7EI,gCJgBI,+BCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRy7EF,CACF,CS17EI,qDJgBI,+BGjBJ,iBAAA,CACA,kBR+7EF,CACF,CSh8EI,gCJgBI,kCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRw8EF,CACF,CSz8EI,qDJgBI,kCGjBJ,iBAAA,CACA,kBR88EF,CACF,CS/8EI,gCJgBI,gCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRu9EF,CACF,CSx9EI,qDJgBI,gCGjBJ,iBAAA,CACA,kBR69EF,CACF,CS99EI,gCJgBI,mCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRs+EF,CACF,CSv+EI,qDJgBI,mCGjBJ,iBAAA,CACA,kBR4+EF,CACF,CS7+EI,gCJgBI,mCCZJ,gBAAA,CACA,iBAAA,CCVF,iBAAA,CCIE,iBAAA,CACA,kBRq/EF,CACF,CSt/EI,qDJgBI,mCGjBJ,iBAAA,CACA,kBR2/EF,CACF,CS5/EI,gCJSE,yBCLF,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRogFF,CACF,CSrgFI,qDJSE,yBGVF,iBAAA,CACA,kBR0gFF,CACF,CS3gFI,gCJgBI,8BCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRmhFF,CACF,CSphFI,qDJgBI,8BGjBJ,iBAAA,CACA,kBRyhFF,CACF,CS1hFI,gCJgBI,iCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRkiFF,CACF,CSniFI,qDJgBI,iCGjBJ,iBAAA,CACA,kBRwiFF,CACF,CSziFI,gCJgBI,gCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRijFF,CACF,CSljFI,qDJgBI,gCGjBJ,iBAAA,CACA,kBRujFF,CACF,CSxjFI,gCJgBI,mCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBRgkFF,CACF,CSjkFI,qDJgBI,mCGjBJ,iBAAA,CACA,kBRskFF,CACF,CSvkFI,gCJgBI,gCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR+kFF,CACF,CShlFI,qDJgBI,gCGjBJ,iBAAA,CACA,kBRqlFF,CACF,CStlFI,gCJgBI,mCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR8lFF,CACF,CS/lFI,qDJgBI,mCGjBJ,iBAAA,CACA,kBRomFF,CACF,CSrmFI,gCJgBI,iCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR6mFF,CACF,CS9mFI,qDJgBI,iCGjBJ,iBAAA,CACA,kBRmnFF,CACF,CSpnFI,gCJgBI,oCCZJ,gBAAA,CACA,iBAAA,CCVF,eAAA,CCIE,iBAAA,CACA,kBR4nFF,CACF,CS7nFI,qDJgBI,oCGjBJ,iBAAA,CACA,kBRkoFF,CACF,CSnoFI,gCJgBI,oCCZJ,gBAAA,CACA,iBAAA,CCVF,iBAAA,CCIE,iBAAA,CACA,kBR2oFF,CACF,CS5oFI,qDJgBI,oCGjBJ,iBAAA,CACA,kBRipFF,CACF,CKxnFA,UK9BE,YAAA,CCqCM,cXqnFR,CKxnFE,mBC1BE,kBAAA,CACA,mBNqpFJ,CY/oFE,qBJZE,kBAAA,CACA,mBR8pFJ,CS9pFI,gCJ8BF,mBC1BE,iBAAA,CACA,kBN8pFF,CY9oFE,qBJtBA,iBAAA,CACA,kBRuqFF,CACF,CKtoFI,qBC9BA,aAAA,CACA,cNuqFJ,CYvoFM,uBJtCF,cAAA,CACA,eRgrFJ,CK9oFI,uBC9BA,gBAAA,CACA,iBN+qFJ,CY/nFM,yBJtDF,gBAAA,CACA,iBRwrFJ,CKtpFI,sBC9BA,gBAAA,CACA,iBNurFJ,CYvoFM,wBJtDF,gBAAA,CACA,iBRgsFJ,CK9pFI,qBC9BA,mBAAA,CACA,oBN+rFJ,CY/oFM,uBJtDF,mBAAA,CACA,oBRwsFJ,CKtqFI,qBC9BA,kBAAA,CACA,mBNusFJ,CYvpFM,uBJtDF,kBAAA,CACA,mBRgtFJ,CK9qFI,qBC9BA,mBAAA,CACA,oBN+sFJ,CY/pFM,uBJtDF,mBAAA,CACA,oBRwtFJ,CKtrFI,qBC9BA,iBAAA,CACA,kBNutFJ,CYvqFM,uBJtDF,iBAAA,CACA,kBRguFJ,CK9rFI,qBC9BA,oBAAA,CACA,qBN+tFJ,CY/qFM,uBJtDF,oBAAA,CACA,qBRwuFJ,CKtsFI,qBC9BA,mBAAA,CACA,oBNuuFJ,CYvrFM,uBJtDF,mBAAA,CACA,oBRgvFJ,CK9sFI,sBC9BA,gBAAA,CACA,iBN+uFJ,CY/rFM,wBJtDF,gBAAA,CACA,iBRwvFJ,CKttFI,sBC9BA,kBAAA,CACA,mBNuvFJ,CYvsFM,wBJtDF,kBAAA,CACA,mBRgwFJ,CK9tFI,sBC9BA,mBAAA,CACA,oBN+vFJ,CY/sFM,wBJtDF,mBAAA,CACA,oBRwwFJ,CSxwFI,gCJ+CM,gCC3CN,aAAA,CACA,cNwwFF,CYxuFI,kCJtCF,cAAA,CACA,eRixFF,CKluFQ,kCC3CN,gBAAA,CACA,iBNgxFF,CYhuFI,oCJtDF,gBAAA,CACA,iBRyxFF,CK1uFQ,iCC3CN,gBAAA,CACA,iBNwxFF,CYxuFI,mCJtDF,gBAAA,CACA,iBRiyFF,CKlvFQ,gCC3CN,mBAAA,CACA,oBNgyFF,CYhvFI,kCJtDF,mBAAA,CACA,oBRyyFF,CK1vFQ,gCC3CN,kBAAA,CACA,mBNwyFF,CYxvFI,kCJtDF,kBAAA,CACA,mBRizFF,CKlwFQ,gCC3CN,mBAAA,CACA,oBNgzFF,CYhwFI,kCJtDF,mBAAA,CACA,oBRyzFF,CK1wFQ,gCC3CN,iBAAA,CACA,kBNwzFF,CYxwFI,kCJtDF,iBAAA,CACA,kBRi0FF,CKlxFQ,gCC3CN,oBAAA,CACA,qBNg0FF,CYhxFI,kCJtDF,oBAAA,CACA,qBRy0FF,CK1xFQ,gCC3CN,mBAAA,CACA,oBNw0FF,CYxxFI,kCJtDF,mBAAA,CACA,oBRi1FF,CKlyFQ,iCC3CN,gBAAA,CACA,iBNg1FF,CYhyFI,mCJtDF,gBAAA,CACA,iBRy1FF,CK1yFQ,iCC3CN,kBAAA,CACA,mBNw1FF,CYxyFI,mCJtDF,kBAAA,CACA,mBRi2FF,CKlzFQ,iCC3CN,mBAAA,CACA,oBNg2FF,CYhzFI,mCJtDF,mBAAA,CACA,oBRy2FF,CACF,CS12FI,gCJ+CM,6BC3CN,aAAA,CACA,cN02FF,CY10FI,+BJtCF,cAAA,CACA,eRm3FF,CKp0FQ,+BC3CN,gBAAA,CACA,iBNk3FF,CYl0FI,iCJtDF,gBAAA,CACA,iBR23FF,CK50FQ,8BC3CN,gBAAA,CACA,iBN03FF,CY10FI,gCJtDF,gBAAA,CACA,iBRm4FF,CKp1FQ,6BC3CN,mBAAA,CACA,oBNk4FF,CYl1FI,+BJtDF,mBAAA,CACA,oBR24FF,CK51FQ,6BC3CN,kBAAA,CACA,mBN04FF,CY11FI,+BJtDF,kBAAA,CACA,mBRm5FF,CKp2FQ,6BC3CN,mBAAA,CACA,oBNk5FF,CYl2FI,+BJtDF,mBAAA,CACA,oBR25FF,CK52FQ,6BC3CN,iBAAA,CACA,kBN05FF,CY12FI,+BJtDF,iBAAA,CACA,kBRm6FF,CKp3FQ,6BC3CN,oBAAA,CACA,qBNk6FF,CYl3FI,+BJtDF,oBAAA,CACA,qBR26FF,CK53FQ,6BC3CN,mBAAA,CACA,oBN06FF,CY13FI,+BJtDF,mBAAA,CACA,oBRm7FF,CKp4FQ,8BC3CN,gBAAA,CACA,iBNk7FF,CYl4FI,gCJtDF,gBAAA,CACA,iBR27FF,CK54FQ,8BC3CN,kBAAA,CACA,mBN07FF,CY14FI,gCJtDF,kBAAA,CACA,mBRm8FF,CKp5FQ,8BC3CN,mBAAA,CACA,oBNk8FF,CYl5FI,gCJtDF,mBAAA,CACA,oBR28FF,CACF,CS58FI,gCJ+CM,8BC3CN,aAAA,CACA,cN48FF,CY56FI,gCJtCF,cAAA,CACA,eRq9FF,CKt6FQ,gCC3CN,gBAAA,CACA,iBNo9FF,CYp6FI,kCJtDF,gBAAA,CACA,iBR69FF,CK96FQ,+BC3CN,gBAAA,CACA,iBN49FF,CY56FI,iCJtDF,gBAAA,CACA,iBRq+FF,CKt7FQ,8BC3CN,mBAAA,CACA,oBNo+FF,CYp7FI,gCJtDF,mBAAA,CACA,oBR6+FF,CK97FQ,8BC3CN,kBAAA,CACA,mBN4+FF,CY57FI,gCJtDF,kBAAA,CACA,mBRq/FF,CKt8FQ,8BC3CN,mBAAA,CACA,oBNo/FF,CYp8FI,gCJtDF,mBAAA,CACA,oBR6/FF,CK98FQ,8BC3CN,iBAAA,CACA,kBN4/FF,CY58FI,gCJtDF,iBAAA,CACA,kBRqgGF,CKt9FQ,8BC3CN,oBAAA,CACA,qBNogGF,CYp9FI,gCJtDF,oBAAA,CACA,qBR6gGF,CK99FQ,8BC3CN,mBAAA,CACA,oBN4gGF,CY59FI,gCJtDF,mBAAA,CACA,oBRqhGF,CKt+FQ,+BC3CN,gBAAA,CACA,iBNohGF,CYp+FI,iCJtDF,gBAAA,CACA,iBR6hGF,CK9+FQ,+BC3CN,kBAAA,CACA,mBN4hGF,CY5+FI,iCJtDF,kBAAA,CACA,mBRqiGF,CKt/FQ,+BC3CN,mBAAA,CACA,oBNoiGF,CYp/FI,iCJtDF,mBAAA,CACA,oBR6iGF,CACF,CKp/FA,kBQ/DE,iBAAA,CCCA,UAAA,CTiEA,qBLu/FF,CKp/FA,UM/BQ,WAAA,CGrCN,UAAA,CPDA,cAAA,CKyFI,aZu+FN,CKt/FA,8BMpCQ,aAAA,CGrCN,UAAA,CPDA,cPskGF,CKv/FA,eMzCQ,WAAA,CCmDF,aZo/FN,CKv/FE,wBMhDM,aAAA,CGrCN,mBdilGF,CK5/FE,YSrFA,oBdslGF,CKjgGE,wBMhDM,aAAA,CGrCN,Sd2lGF,CKtgGE,YSrFA,oBdgmGF,CK3gGE,wBMhDM,aAAA,CGrCN,oBdqmGF,CKhhGE,YSrFA,Sd0mGF,CKrhGE,wBMhDM,aAAA,CGrCN,oBd+mGF,CK1hGE,YSrFA,oBdonGF,CK/hGE,yBMhDM,aAAA,CGrCN,SdynGF,CKpiGE,aSrFA,oBd8nGF,CKziGE,0BMhDM,aAAA,CGrCN,oBdmoGF,CK9iGE,aSrFA,UdwoGF,CSpoGI,gCJ2FE,+CM1DE,WAAA,CGrCN,UAAA,CPDA,cAAA,CKyFI,aZwjGJ,CKziGI,0BMlEE,aAAA,CGrCN,UAAA,CPDA,cP8pGA,CKhjGM,uBMxEA,aAAA,CGrCN,mBdkqGA,CKrjGM,uBMxEA,aAAA,CGrCN,oBduqGA,CK1jGM,uBMxEA,aAAA,CGrCN,Sd4qGA,CK/jGM,uBMxEA,aAAA,CGrCN,oBdirGA,CKpkGM,uBMxEA,aAAA,CGrCN,oBdsrGA,CKzkGM,uBMxEA,aAAA,CGrCN,Sd2rGA,CK9kGM,uBMxEA,aAAA,CGrCN,oBdgsGA,CKnlGM,uBMxEA,aAAA,CGrCN,oBdqsGA,CKxlGM,uBMxEA,aAAA,CGrCN,Sd0sGA,CK7lGM,wBMxEA,aAAA,CGrCN,oBd+sGA,CKlmGM,wBMxEA,aAAA,CGrCN,oBdotGA,CKvmGM,wBMxEA,aAAA,CGrCN,UdytGA,CACF,CSttGI,gCJ2FE,yCM1DE,WAAA,CGrCN,UAAA,CPDA,cAAA,CKyFI,aZyoGJ,CK1nGI,uBMlEE,aAAA,CGrCN,UAAA,CPDA,cP+uGA,CKjoGM,oBMxEA,aAAA,CGrCN,mBdmvGA,CKtoGM,oBMxEA,aAAA,CGrCN,oBdwvGA,CK3oGM,oBMxEA,aAAA,CGrCN,Sd6vGA,CKhpGM,oBMxEA,aAAA,CGrCN,oBdkwGA,CKrpGM,oBMxEA,aAAA,CGrCN,oBduwGA,CK1pGM,oBMxEA,aAAA,CGrCN,Sd4wGA,CK/pGM,oBMxEA,aAAA,CGrCN,oBdixGA,CKpqGM,oBMxEA,aAAA,CGrCN,oBdsxGA,CKzqGM,oBMxEA,aAAA,CGrCN,Sd2xGA,CK9qGM,qBMxEA,aAAA,CGrCN,oBdgyGA,CKnrGM,qBMxEA,aAAA,CGrCN,oBdqyGA,CKxrGM,qBMxEA,aAAA,CGrCN,Ud0yGA,CACF,CSvyGI,gCJ2FE,2CM1DE,WAAA,CGrCN,UAAA,CPDA,cAAA,CKyFI,aZ0tGJ,CK3sGI,wBMlEE,aAAA,CGrCN,UAAA,CPDA,cPg0GA,CKltGM,qBMxEA,aAAA,CGrCN,mBdo0GA,CKvtGM,qBMxEA,aAAA,CGrCN,oBdy0GA,CK5tGM,qBMxEA,aAAA,CGrCN,Sd80GA,CKjuGM,qBMxEA,aAAA,CGrCN,oBdm1GA,CKtuGM,qBMxEA,aAAA,CGrCN,oBdw1GA,CK3uGM,qBMxEA,aAAA,CGrCN,Sd61GA,CKhvGM,qBMxEA,aAAA,CGrCN,oBdk2GA,CKrvGM,qBMxEA,aAAA,CGrCN,oBdu2GA,CK1vGM,qBMxEA,aAAA,CGrCN,Sd42GA,CK/vGM,sBMxEA,aAAA,CGrCN,oBdi3GA,CKpwGM,sBMxEA,aAAA,CGrCN,oBds3GA,CKzwGM,sBMxEA,aAAA,CGrCN,Ud23GA,CACF,CKpwGE,eC3EE,yBNk1GJ,CKvwGE,eC3EE,0BNs1GJ,CK3wGE,eC3EE,eN01GJ,CK/wGE,eC3EE,0BN81GJ,CKnxGE,eC3EE,0BNk2GJ,CKvxGE,eC3EE,eNs2GJ,CK3xGE,eC3EE,0BN02GJ,CK/xGE,eC3EE,0BN82GJ,CKnyGE,eC3EE,eNk3GJ,CKvyGE,gBC3EE,0BNs3GJ,CK3yGE,gBC3EE,0BN03GJ,CK/yGE,gBC3EE,gBN83GJ,CK9yGA,kBChFI,aNk4GJ,CS36GI,gCJmII,0BC1FJ,yBNu4GF,CK7yGM,0BC1FJ,0BN44GF,CKlzGM,0BC1FJ,eNi5GF,CKvzGM,0BC1FJ,0BNs5GF,CK5zGM,0BC1FJ,0BN25GF,CKj0GM,0BC1FJ,eNg6GF,CKt0GM,0BC1FJ,0BNq6GF,CK30GM,0BC1FJ,0BN06GF,CKh1GM,0BC1FJ,eN+6GF,CKr1GM,2BC1FJ,0BNo7GF,CK11GM,2BC1FJ,0BNy7GF,CK/1GM,2BC1FJ,gBN87GF,CK71GI,6BCjGF,aNm8GF,CA3DF,CSj7GI,gCJmII,uBC1FJ,yBNw8GF,CK92GM,uBC1FJ,0BN68GF,CKn3GM,uBC1FJ,eNk9GF,CKx3GM,uBC1FJ,0BNu9GF,CK73GM,uBC1FJ,0BN49GF,CKl4GM,uBC1FJ,eNi+GF,CKv4GM,uBC1FJ,0BNs+GF,CK54GM,uBC1FJ,0BN2+GF,CKj5GM,uBC1FJ,eNg/GF,CKt5GM,wBC1FJ,0BNq/GF,CK35GM,wBC1FJ,0BN0/GF,CKh6GM,wBC1FJ,gBN+/GF,CK95GI,0BCjGF,aNogHF,CA3DF,CSl/GI,gCJmII,wBC1FJ,yBNygHF,CK/6GM,wBC1FJ,0BN8gHF,CKp7GM,wBC1FJ,eNmhHF,CKz7GM,wBC1FJ,0BNwhHF,CK97GM,wBC1FJ,0BN6hHF,CKn8GM,wBC1FJ,eNkiHF,CKx8GM,wBC1FJ,0BNuiHF,CK78GM,wBC1FJ,0BN4iHF,CKl9GM,wBC1FJ,eNijHF,CKv9GM,yBC1FJ,0BNsjHF,CK59GM,yBC1FJ,0BN2jHF,CKj+GM,yBC1FJ,gBNgkHF,CK/9GI,2BCjGF,aNqkHF,CA3DF,CengHA,eC1DE,oBAAA,CDMA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CE2BA,gFAAA,CACA,iBAAA,CC7BA,elB+nHF,CgBpoHE,kBACE,eAAA,CACA,ehBsoHJ,Ce5lHE,wBACE,ef8lHJ,Ce7lHI,8BACE,iBf+lHN,Ce9lHM,oCACE,iBfgmHR,CeplHE,sEAEE,gBfslHJ,CejlHE,iDACE,kCAzEe,CA0Ef,gCA1Ee,CA2Ef,iCA3Ee,CA4Ef,mBfolHJ,CejlHE,iDACE,efmlHJ,Ce/kHA,2DE/CE,gFAAA,CACA,iBAAA,CC7BA,cAAA,CHgFA,QfklHF,CehlHE,+FACE,gBfmlHJ,Ce/kHA,wBACE,qBAAA,CACA,YAAA,CACA,aAAA,CACA,wCfklHF,CehlHE,qCACE,YfklHJ,Ce/kHE,oCACE,efilHJ,Ce7kHA,uBI3GE,+BAAA,CACA,8BAAA,CCHA,QAAA,CACA,eAAA,CACA,eAAA,CAGA,SAAA,CACA,eAAA,CCNA,0FAAA,CAEA,2BAAA,CNcA,wBAAA,CACA,wCAAA,CACA,sBAAA,CACA,aAAA,CACA,cAAA,CACA,oBAAA,CACA,eAAA,CACA,QAAA,CACA,gCAAA,CACA,oBAAA,CACA,Uf4rHF,CsB5pHE,+BACE,atB8pHJ,CsBvpHE,8BACE,atB4pHJ,CsBzpHE,6BlB/DA,sBAAA,CACA,gBJ2tHF,CoB3tHE,syBDNA,+BAAA,CACA,8BAAA,CCwBE,4BAAA,CACA,eAAA,CACA,yBpB6sHJ,CoB1sHE,4EAEE,apB2sHJ,CoBxsHE,yCACE,apB0sHJ,CoBvsHE,0CACE,apBysHJ,CevtHE,6BACE,wBAAA,CACA,aAAA,CACA,oBfytHJ,CettHE,8BA2EF,uBA1EI,wBfytHF,CACF,Ce5oHA,4CMjHE,uFAAA,CAEA,2BAAA,CNwCA,sBfytHF,CCnwHA,gBsBFE,oBAAA,CACA,avB6wHF,CwBhxHA,iBCSE,sBAAA,CfAA,YV4wHF,CwBhxHA,sBEJE,aAAA,CACA,kB1BwxHF,CwBjxHA,uBbqCQ,WXgvHR,C2B3vHA,YVIE,gFAAA,CACA,iBAAA,CC7BA,eAAA,CS2BA,wB3B+vHF,CSxxHI,gCkBsBJ,YAMI,gBAAA,CACA,gB3BgwHF,CACF,C2B9vHE,2BVNA,gFAAA,CACA,iBAAA,CC7BA,elBqyHF,C2B9vHA,yCClCE,a5BqyHF,C2B3vHA,qBrBzCI,gBAAA,CACA,iBAAA,CCVF,iBAAA,CoBqDA,4BAAA,CACA,cAAA,CACA,eAAA,CAGA,8BAAA,CACA,U3BmwHF,CSzzHI,gCkB6CJ,qBnB9CI,iBAAA,CACA,iBAAA,CR8zHF,CACF,CS/zHI,gCkB6CJ,qBnB3CI,qBAAA,CACA,kBRu0HF,CACF,C2B9wHI,mCACE,Q3BgxHN,C2B3wHA,sBjBvEE,YAAA,CCqCM,sBAAA,CkBtCN,cAAA,CF4EA,gB3B8wHF,CSr1HI,gCkBmEJ,sBAOI,a3B+wHF,CACF,C2B5wHA,wBAME,YAFc,CAGd,e3B0wHF,C2BzwHE,6BACE,iB3B2wHJ,C2BzwHI,8BAHF,6BAII,e3B4wHJ,CACF,C2BxwHA,mBrB3FI,gBAAA,CACA,iBAAA,CCVF,iBAAA,CCIE,iBAAA,CACA,kBAAA,CEJF,YAAA,CCqCM,cAAA,CAAA,sBAAA,CgBmEN,e3BixHF,CSr3HI,gCkB+FJ,mBnBhGI,iBAAA,CACA,iBAAA,CR03HF,CACF,CS33HI,gCkB+FJ,mBhB9DQ,kBXo2HN,CACF,C2B3xHA,oBnBzGI,oBAAA,CACA,iBAAA,CmB0GF,eAAA,CACA,eAAA,CACA,eAAA,CACA,iB3B+xHF,CS/4HI,gCkB2GJ,oBnBzGI,qBAAA,CACA,kBAAA,CmBiHA,Y3BiyHF,CACF,C2B9xHA,yBrB5GI,eAAA,CACA,YAAA,CqB6GF,eAAA,CACA,e3BkyHF,C2B/xHA,2BG/GE,aAAA,CHuHA,eAAA,CACA,eAAA,CACA,cAAA,CACA,yB3B4xHF,C+B7wHE,kCAnCA,yEAHc,CAId,oBAAA,CACA,WAAA,CACA,UAAA,CAkCE,UAAA,CACA,qBAXe,CAcb,gB/BgxHN,C+BhzHE,iDA0BA,kCAzBE,cAAA,CACA,wBAAA,CACA,2EAjBW,CAiBX,mE/BmzHF,C+BjzHI,wCACE,wB/BmzHN,CACF,C+BnxHI,wCACE,UAAA,CACA,wB/BqxHN,C8B56HE,mCACE,a9B86HJ,C8B56HE,mEAEE,a9B66HJ,CSl8HI,gCkB8HJ,2BAkBI,Y3ByzHF,CACF,C2BvzHE,8BArBF,2BAsBI,c3B0zHF,C2BxzHE,kCACE,2B3B0zHJ,CACF,C2BtzHA,yBKjKE,UAAA,CLmKA,kBAAA,CACA,U3ByzHF,CSx9HI,gCkB4JJ,yBAMI,kBAAA,CACA,a3B0zHF,CACF,C2BvzHA,8BACE,oB3B0zHF,CSl+HI,gCkBuKJ,8BAII,4BAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CACA,YAAA,CACA,e3B2zHF,CACF,C2BzzHE,iDACE,a3B2zHJ,CS/+HI,gCkBmLF,iDAII,gB3B4zHJ,CACF,C2BzzHE,yDACE,Y3B2zHJ,C2BvzHA,oBRvME,+BAAA,CACA,8BAAA,CCJA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,QAAA,CAEA,eAAA,CayBI,MAAA,CpB3BJ,iBAAA,CoBoBI,QAAA,CACA,KAAA,CCqCI,uBAAA,CJtCR,aAAA,CH2LA,aAAA,CACA,eAAA,CACA,WAAA,CACA,eAAA,CAEA,SAAA,CACA,oBAAA,CACA,U3Bs0HF,CsB19HE,0BlB/DA,sBAAA,CACA,gBJqiIF,CoBriIE,gvBDNA,+BAAA,CACA,8BAAA,CCwBE,4BAAA,CACA,eAAA,CACA,yBpBuhIJ,CoBphIE,sEAEE,apBqhIJ,CoBlhIE,sCACE,apBohIJ,CoBjhIE,uCACE,apBmhIJ,C8BpiIE,4BACE,a9BsiIJ,C8BpiIE,qDAEE,a9BqiIJ,CSriIE,mCkB2KF,oBAoBI,U3B02HF,CACF,CS/jII,gCkBgMJ,oBGjLE,aAAA,CGaI,WAAA,CACA,SAAA,CACA,UAAA,CACA,QAAA,CNgMF,cAAA,CACA,iBAAA,CACA,iB3B02HF,C+Bn7HA,2BAnCA,yEAHc,CAId,oBAAA,CACA,WAAA,CACA,UAAA,CAkCE,UAAA,CACA,qBAXe,CAcb,e/Bs7HJ,C+Bt9HA,iDA0BA,2BAzBE,cAAA,CACA,wBAAA,CACA,2EAjBW,CAiBX,mE/By9HA,C+Bv9HE,iCACE,wB/By9HJ,CACF,C+Bz7HE,iCACE,UAAA,CACA,wB/B27HJ,C8BllIA,4BACE,a9BolIF,C8BllIA,qDAEE,a9BmlIF,C2Br4HE,4DAEE,iB3Bs4HJ,CACF,C2Bt4HM,mDAHF,4DAII,2B3By4HN,CACF,CSjnII,gCkB2OA,0BAEE,oB3Bw4HJ,CACF,C2Br4HE,iFACE,qB3Bu4HJ,CSpmIE,mCsBmIA,+CAnCA,mEAHc,CAId,oBAAA,CACA,WAAA,CACA,UAAA,CAkCE,UAAA,CACA,qBJkGI,CI/FF,a/Bw+HJ,C+BxgIA,iDA0BA,+CAzBE,cAAA,CACA,wBAAA,CACA,qEAjBW,CAiBX,6D/B2gIA,CACF,C2B54HI,gDMlPA,QAAA,CACA,KAAA,CpBrBJ,iBAAA,CoB6BI,OAAA,CN4OE,wBAAA,CACA,UAAA,CACA,aAAA,CACA,WAAA,CACA,U3Bi5HN,C2B/4HI,+CM3PA,QAAA,CACA,KAAA,CpBrBJ,iBAAA,CoB6BI,OjCwoIJ,CACF,CSjqII,gCkBqPF,wCAmCI,WAAA,CACA,SAAA,CACA,iB3B64HJ,C+B/gIA,+CAnCA,yEAHc,CAId,oBAAA,CACA,WAAA,CACA,UAAA,CAkCE,UAAA,CACA,qBJ0HI,CIvHF,e/BkhIJ,C+BljIA,iDA0BA,+CAzBE,cAAA,CACA,wBAAA,CACA,2EAjBW,CAiBX,mE/BqjIA,C+BnjIE,qDACE,wB/BqjIJ,CACF,C+BrhIE,qDACE,UAAA,CACA,wBAAA,CJuHE,gBAAA,C3Bg6HN,C2Bl6HI,+CAEE,iB3Bm6HN,CACF,C2Bl6HQ,mDAJF,oGAKI,2B3Bq6HR,CACF,C2B/5HA,yBQnTE,iBAAA,CACA,WAAA,CACA,UAAA,CRmTA,yB3Bo6HF,CS9sII,gCkBwSJ,yBQhSE,eAAA,CRsSE,c3Bq6HF,CACF,C2Bn6HE,8BATF,yBAUI,c3Bs6HF,CACF,C2Bn6HA,kBACE,Y3Bs6HF,C2Bj6HE,qCQvUA,iBAAA,CACA,WAAA,CACA,UnC4uIF","file":"index.css","sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n   ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n  line-height: 1.15; /* 1 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n   ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  box-sizing: content-box; /* 1 */\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family: monospace, monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  border-bottom: none; /* 1 */\n  text-decoration: underline; /* 2 */\n  text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n  border-style: none;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  line-height: 1.15; /* 1 */\n  margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n  text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\n\nlegend {\n  box-sizing: border-box; /* 1 */\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  padding: 0; /* 3 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Misc\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n  display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n  display: none;\n}\n","// Apply a natural box layout model to all elements, but allowing components to\n// change\n\n@if $theme-global-border-box-sizing {\n  html {\n    box-sizing: border-box;\n  }\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: inherit;\n  }\n}\n","@mixin add-kerning {\n  font-feature-settings: \"kern\" 1;\n  font-kerning: normal;\n}\n","html {\n  @include add-kerning;\n  font-family: font-family($theme-body-font-family);\n  font-size: $root-font-size;\n}\n\n@if $theme-style-body-element {\n  body {\n    @include typeset;\n  }\n}\n\n@if $theme-global-paragraph-styles == true {\n  @include usa-paragraph-style;\n}\n\n@if $theme-global-link-styles == true {\n  @include usa-link-style;\n}\n\n@if $theme-global-content-styles == true {\n  @include usa-content-styles;\n}\n\n// Remove user agent styles\n\ncite,\nvar,\naddress,\ndfn {\n  font-style: normal;\n}\n","/*\n========================================\nFunctions\n----------------------------------------\n*/\n\n// The following vars need to be set\n// here, before the rest of the system\n// variables are set\n\n$root-font-size: if($theme-respect-user-font-size, 100%, $theme-root-font-size);\n\n$root-font-size-equiv: if(\n  $theme-respect-user-font-size,\n  16px,\n  $theme-root-font-size\n);\n\n/*\n========================================\nGeneral-purpose functions\n----------------------------------------\n*/\n\n/*\n----------------------------------------\ndivide()\n----------------------------------------\nDivides one number by another, to a\nspecified precision.\n----------------------------------------\n*/\n\n@function divide($dividend, $divisor, $precision: 10, $depth: 0) {\n  @if ($dividend < 0 and $divisor < 0) {\n    $dividend: -1 * $dividend;\n    $divisor: -1 * $divisor;\n  }\n\n  @if ($dividend < 0) {\n    @return -1 * divide(-1 * $dividend, $divisor, $precision, $depth);\n  }\n\n  @if ($divisor < 0) {\n    @return -1 * divide($dividend, $divisor * -1, $precision, $depth);\n  }\n\n  @if ($divisor == 0) {\n    @error 'Illegal division by zero';\n  }\n\n  $result: if(unit($dividend) == unit($divisor), 0, $dividend * 0);\n  @while $dividend - $divisor >= 0 {\n    $result: $result + 1;\n    $dividend: $dividend - $divisor;\n  }\n\n  @if $dividend > 0 {\n    @if $depth < $precision {\n      $result: $result +\n        divide($dividend * 10, $divisor, $precision, $depth + 1) *\n        0.1;\n    } @else if $depth == $precision {\n      $next-digit: divide($dividend * 10, $divisor, $precision, $depth + 1);\n      @if $next-digit >= 5 {\n        $result: $result + 1;\n      }\n    }\n  }\n\n  @return $result;\n}\n\n/*\n----------------------------------------\nuswds-error()\n----------------------------------------\nAllow the system to pass an error as text\nto test error states in unit testing\n----------------------------------------\n*/\n\n$_error-output-override: false !default;\n@function uswds-error($message, $override: $_error-output-override) {\n  @if $override {\n    @return \"Error: #{$message}\";\n  }\n\n  @error \"#{$message}\";\n}\n\n/*\n----------------------------------------\nerror-not-token()\n----------------------------------------\nReturns a common not-a-token error.\n----------------------------------------\n*/\n\n@function error-not-token($token, $type, $valid-token-map: false) {\n  $valid-token-message: if(\n    $valid-token-map,\n    \" Valid tokens: #{map-keys($valid-token-map)}\",\n    \"\"\n  );\n  @return uswds-error(\n    \"'#{$token}' is not a valid USWDS #{$type} token.#{$valid-token-message}\"\n  );\n}\n\n/*\n----------------------------------------\nmap-deep-get()\n----------------------------------------\n@author Hugo Giraudel\n@access public\n@param {Map} $map - Map\n@param {Arglist} $keys - Key chain\n@return {*} - Desired value\n----------------------------------------\n*/\n\n@function map-deep-get($map, $keys...) {\n  @each $key in $keys {\n    $map: map-get($map, $key);\n  }\n\n  @return $map;\n}\n\n/*\n----------------------------------------\nstrip-unit()\n----------------------------------------\nRemove the unit of a length\n@author Hugo Giraudel\n@param {Number} $number - Number to remove unit from\n@return {Number} - Unitless number\n----------------------------------------\n*/\n\n@function strip-unit($number) {\n  @if type-of($number) == \"number\" and not unitless($number) {\n    @return divide($number, $number * 0 + 1);\n  }\n\n  @return $number;\n}\n\n/*\n----------------------------------------\nmulti-cat()\n----------------------------------------\nConcatenate two lists\n----------------------------------------\n*/\n\n@function multi-cat($list1, $list2) {\n  $this-list: ();\n\n  @each $e in $list1 {\n    @each $ee in $list2 {\n      $this-block: $e + $ee;\n      $this-list: join($this-list, $this-block);\n    }\n  }\n\n  @return $this-list;\n}\n\n/*\n----------------------------------------\nmap-collect()\n----------------------------------------\nCollect multiple maps into a single\nlarge map\nsource: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe\n----------------------------------------\n*/\n\n@function map-collect($maps...) {\n  $collection: ();\n\n  @each $map in $maps {\n    $collection: map-merge($collection, $map);\n  }\n\n  @return $collection;\n}\n\n/*\n----------------------------------------\nsmart-quote()\n----------------------------------------\nQuotes strings\nInspects `px`, `xs`, and `xl` numbers\nLeaves bools as is\n----------------------------------------\n*/\n\n@function smart-quote($value) {\n  @if type-of($value) == \"string\" {\n    @return quote($value);\n  }\n\n  @if type-of($value) == \"number\" and index((\"px\", \"xl\", \"xs\"), unit($value)) {\n    @return inspect($value);\n  }\n\n  @if type-of($value) == \"color\" {\n    @error 'Only use quoted color tokens in USWDS functions and mixins. '\n      + 'See designsystem.digital.gov/design-tokens/color '\n      + 'for more information.';\n  }\n\n  @return $value;\n}\n\n/*\n----------------------------------------\nremove()\n----------------------------------------\nRemove a value from a list\n----------------------------------------\n*/\n\n@function remove($list, $value, $recursive: false) {\n  $result: ();\n\n  @for $i from 1 through length($list) {\n    @if type-of(nth($list, $i)) == list and $recursive {\n      $result: append($result, remove(nth($list, $i), $value, $recursive));\n    } @else if nth($list, $i) != $value {\n      $result: append($result, nth($list, $i));\n    }\n  }\n\n  @return $result;\n}\n\n/*\n----------------------------------------\nto-map()\n----------------------------------------\nConvert a single value to a USWDS\nvalue map.\n\nCandidate for deprecation if we remove\nisReadable\n----------------------------------------\n*/\n\n@function to-map($key, $values) {\n  $l: length($values);\n\n  @if $key == \"noModifier\" or $key == \"noValue\" {\n    $key: \"\";\n  }\n\n  @return (slug: $key, content: $values);\n}\n\n/*\n----------------------------------------\nbase-to-map()\n----------------------------------------\nConvert a single base to a USWDS\nvalue map.\n\nCandidate for deprecation if we remove\nisReadable\n----------------------------------------\n*/\n\n@function base-to-map($values) {\n  $l: length($values);\n\n  @if $l == 1 or nth($values, $l) != isReadable {\n    @return (slug: $values, isReadable: true);\n  } @else {\n    $values: remove($values, isReadable);\n\n    @return (slug: unquote(nth($values, 1)), isReadable: true);\n  }\n}\n\n/*\n----------------------------------------\nns()\n----------------------------------------\nAdd a namesspace of $type if that\nnamespace is set to output\n----------------------------------------\n*/\n\n@function ns($type) {\n  $type: smart-quote($type);\n\n  @if not map-deep-get($theme-namespace, $type, output) {\n    @return \"\";\n  }\n\n  @return map-deep-get($theme-namespace, $type, namespace);\n}\n\n/*\n----------------------------------------\nde-list()\n----------------------------------------\nTransform a one-element list or arglist\ninto that single element.\n----------------------------------------\n(1) => 1\n((1)) => (1)\n----------------------------------------\n*/\n\n@function de-list($value) {\n  $types: (\"list\", \"arglist\");\n\n  @if not index($types, type-of($value)) {\n    @return $value;\n  }\n\n  $output: if(length($value) == 1, nth($value, 1), $value);\n\n  @return $output;\n}\n\n/*\n----------------------------------------\nunpack()\n----------------------------------------\nCreate lists of single items from lists\nof lists.\n----------------------------------------\n(1, (2.1, 2.2), 3) -->\n(1, 2.1, 2.2, 3)\n----------------------------------------\n*/\n\n@function unpack($value) {\n  $output: ();\n\n  @if length($value) == 0 {\n    @return $value;\n  }\n\n  @each $i in $value {\n    @if type-of($i) == \"list\" {\n      @each $ii in $i {\n        $output: append($output, $ii, comma);\n      }\n    } @else {\n      $output: append($output, $i, comma);\n    }\n  }\n\n  @return de-list($output);\n}\n\n/*\n----------------------------------------\nget-last()\n----------------------------------------\nReturn the last item of a list,\nReturn null if the value is null\n----------------------------------------\n*/\n\n@function get-last($props) {\n  $length: length($props);\n  $last: if($length == 0, null, nth($props, -1));\n\n  @return $last;\n}\n\n/*\n----------------------------------------\nhas-important()\n----------------------------------------\nCheck to see if `!important` is\nbeing passed in a mixin's props\n----------------------------------------\n*/\n\n@function has-important($props) {\n  $props: de-list($props);\n\n  @if get-last($props) == \"!important\" {\n    @return true;\n  }\n\n  @return false;\n}\n\n/*\n----------------------------------------\nappend-important()\n----------------------------------------\nAppend `!important` to a list\n----------------------------------------\n*/\n\n@function append-important($source, $destination) {\n  @if get-last($source) == \"!important\" {\n    @return append($destination, !important, comma);\n  }\n\n  @return $destination;\n}\n\n/*\n----------------------------------------\nspacing-multiple()\n----------------------------------------\nConverts a spacing unit multiple into\nthe desired final units (currently rem)\n----------------------------------------\n*/\n\n@function spacing-multiple($unit) {\n  @return 1rem *\n    divide($system-spacing-grid-base * $unit, $root-font-size-equiv);\n}\n\n/*\n----------------------------------------\nrem-to-px()\n----------------------------------------\nConverts a value in rem to a value in px\n----------------------------------------\n*/\n\n@function rem-to-px($value-in-rem) {\n  @if unit($value-in-rem) == \"rem\" {\n    $rem-to-px: divide($value-in-rem, 1rem) * $root-font-size-equiv;\n    @return $rem-to-px;\n  }\n  @if unit($value-in-rem) != \"px\" {\n    @error 'This value must be in either px or rem';\n  }\n  @return $value-in-rem;\n}\n\n/*\n----------------------------------------\nrem-to-user-em()\n----------------------------------------\nConverts a value in rem to a value in\n[user-settings] em for use in media\nqueries\n----------------------------------------\n*/\n\n@function rem-to-user-em($grid-in-rem) {\n  $rem-to-user-em: divide($grid-in-rem, 1rem) * 1em;\n\n  @return $rem-to-user-em;\n}\n\n/*\n----------------------------------------\nvalidate-typeface-token()\n----------------------------------------\nCheck to see if a typeface-token exists.\nThrow an error if a passed token does\nnot exist in the typeface-token map.\n----------------------------------------\n*/\n\n@function validate-typeface-token($typeface-token) {\n  @if not map-has-key($all-typeface-tokens, $typeface-token) {\n    @return error-not-token($typeface-token, \"typeface\", $all-typeface-tokens);\n  }\n\n  @return $typeface-token;\n}\n\n/*\n----------------------------------------\ncap-height()\n----------------------------------------\nGet the cap height of a valid typeface\n----------------------------------------\n*/\n\n@function cap-height($typeface-token) {\n  @if not $typeface-token {\n    @return false;\n  }\n\n  $typeface-token: validate-typeface-token($typeface-token);\n  $token-data: map-get($all-typeface-tokens, $typeface-token);\n  @return map-get($token-data, \"cap-height\");\n}\n\n/*\n----------------------------------------\npx-to-rem()\n----------------------------------------\nConverts a value in px to a value in rem\n----------------------------------------\n*/\n\n@function px-to-rem($pixels) {\n  @if not $pixels {\n    @return false;\n  }\n  $px-to-rem: divide($pixels, $root-font-size-equiv) * 1rem;\n  $px-to-rem: divide(round($px-to-rem * 100), 100);\n\n  @return $px-to-rem;\n}\n\n/*\n----------------------------------------\nnormalize-type-scale()\n----------------------------------------\nNormalizes a specific face's optical size\nto a set target\n----------------------------------------\n*/\n\n@function normalize-type-scale($cap-height, $scale) {\n  @if not $cap-height {\n    @return false;\n  }\n\n  $this-scale: divide(\n    $system-base-cap-height * strip-unit($scale),\n    $cap-height\n  );\n\n  @return px-to-rem($this-scale);\n}\n\n/*\n----------------------------------------\nutility-font()\n----------------------------------------\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\nNot the public-facing function.\nUsed for building the utilities and\nwithholds certain errors.\n----------------------------------------\n*/\n\n@function utility-font($family, $scale) {\n  @if not map-has-key($project-cap-heights, $family) {\n    @return error-not-token($family, \"font family\", $project-cap-heights);\n  }\n\n  $quote-scale: smart-quote($scale);\n\n  @if not map-get($all-type-scale, $quote-scale) {\n    @return error-not-token($scale, \"font scale\", $all-type-scale);\n  }\n\n  $this-cap: map-get($project-cap-heights, $family);\n  $this-scale: map-get($all-type-scale, $quote-scale);\n\n  @if not $this-scale and $this-cap {\n    @return false;\n  }\n\n  @return normalize-type-scale($this-cap, $this-scale);\n}\n\n/*\n----------------------------------------\nline-height()\nlh()\n----------------------------------------\nGet a normalized line-height from\na family and a line-height scale unit\n----------------------------------------\n*/\n\n@function lh($props...) {\n  $props: unpack($props);\n\n  @if not(length($props) == 2) {\n    @error 'lh() needs both a valid face and line height token '\n      + 'in the format `lh(FACE, HEIGHT)`.';\n  }\n\n  $family: smart-quote(nth($props, 1));\n  $scale: smart-quote(nth($props, 2));\n\n  @if not map-has-key($project-cap-heights, $family) {\n    @return error-not-token($family, \"font family\", $project-cap-heights);\n  }\n\n  @if not map-get($system-line-height, $scale) {\n    @return error-not-token($scale, \"line-height\", $system-line-height);\n  }\n\n  @if not map-get($project-cap-heights, $family) {\n    @return false;\n  }\n\n  $this-cap: map-get($project-cap-heights, $family);\n  $this-line-height: map-get($system-line-height, $scale);\n  $normalized-line-height: divide(\n    $this-line-height,\n    divide($system-base-cap-height, $this-cap)\n  );\n  $normalized-line-height: divide(round($normalized-line-height * 10), 10);\n\n  @return $normalized-line-height;\n}\n\n@function line-height($props...) {\n  @return lh($props...);\n}\n\n/*\n----------------------------------------\nconvert-to-font-type()\n----------------------------------------\nConverts a font-role token into a\nfont-type token. Leaves font-type tokens\nunchanged.\n----------------------------------------\n*/\n\n@function convert-to-font-type($token) {\n  @if map-has-key($project-font-role-tokens, $token) {\n    @return map-get($project-font-role-tokens, $token);\n  }\n\n  @return $token;\n}\n\n/*\n----------------------------------------\nget-font-stack()\n----------------------------------------\nGet a font stack from a style- or\nrole-based font token.\n----------------------------------------\n*/\n\n@function get-font-stack($token) {\n  // Start by converting to a type token (sans, serif, etc)\n  $type-token: convert-to-font-type($token);\n  $output-display-name: true;\n  $this-stack: null;\n  // Get the font type metadata\n  $this-font-map: map-get($project-font-type-tokens, $type-token);\n  // Only output if the font type has an assigned typeface token\n  @if map-get($this-font-map, \"typeface-token\") {\n    $this-font-token: map-get($this-font-map, \"typeface-token\");\n    // Get the typeface metadata\n    $this-typeface-data: map-get($all-typeface-tokens, $this-font-token);\n    $this-name: map-get($this-typeface-data, \"display-name\");\n    // If it's a system typeface, don't output the display name\n    @if map-has-key($this-typeface-data, \"system-font\") {\n      $output-display-name: false;\n    }\n    // If there's a custom stack, use it and output the display name...\n    @if map-get($this-font-map, \"custom-stack\") {\n      $this-stack: map-get($this-font-map, \"custom-stack\");\n      $output-display-name: true;\n    }\n    // If the token has an existing stack, use that...\n    @else if map-deep-get($all-typeface-tokens, $this-font-token, \"stack\") {\n      $this-stack: map-deep-get(\n        $all-typeface-tokens,\n        $this-font-token,\n        \"stack\"\n      );\n    }\n    // Otherwise, get the type token's default stack.\n    @else {\n      $this-stack: map-get($system-font-stacks, $type-token);\n    }\n    // If the typeface has no display name (system fonts), don't output the display name\n    @if not map-get($this-typeface-data, \"display-name\") {\n      $output-display-name: false;\n    }\n    @if not $output-display-name {\n      @return #{$this-stack};\n    }\n    @return unquote(\"#{$this-name}, #{$this-stack}\");\n  }\n  @return false;\n}\n\n/*\n----------------------------------------\nget-typeface-token()\n----------------------------------------\nGet a typeface token from a font-type or\nfont-role token.\n----------------------------------------\n*/\n\n@function get-typeface-token($font-token) {\n  $this-token: $font-token;\n  @if map-has-key($project-font-role-tokens, $font-token) {\n    $this-token: map-get($project-font-role-tokens, $font-token);\n  }\n  @return map-deep-get(\n    $project-font-type-tokens,\n    $this-token,\n    \"typeface-token\"\n  );\n}\n\n/*\n----------------------------------------\nget-system-color()\n----------------------------------------\nDerive a system color from its\nfamily, value, and vivid or a passed\nvariable that is, itself, a list\n----------------------------------------\n*/\n\n@function get-system-color(\n  $color-family: false,\n  $color-grade: false,\n  $color-variant: false\n) {\n  // If the arg being passed to the fn\n  // is a variable defined as a list,\n  // $color-family will contain this\n  // entire list, and needs to be\n  // unpacked.\n  // ex:\n  //    in settings:\n  //      $theme-color-primary.'dark': 'blue', 70\n  //    in the theme colors map:\n  //      $color-primary-dark: get-system-color($theme-color-primary.'dark'),\n\n  @if type-of($color-family) == \"list\" {\n    @if length($color-family) > 2 {\n      $color-variant: nth($color-family, 3);\n    }\n    $color-grade: nth($color-family, 2);\n    $color-family: nth($color-family, 1);\n  }\n\n  $color-family: smart-quote($color-family);\n  $color-variant: smart-quote($color-variant);\n\n  // If the arg being passed to the fn\n  // is false, it should output as `false`\n  // to preserve a false value in the\n  // target map\n  // ex:\n  //    in settings:\n  //      $theme-color-primary.'darkest': false;\n  //    in the theme colors map:\n  //      'darkest': get-system-color($theme-color-primary.'darkest'),\n  //      'darkest': false, // is the desired outcome\n  // TODO: should a false-pass color function be a separate fn?\n\n  @if not $color-family {\n    @return false;\n  }\n\n  @if $color-variant {\n    $output: map-deep-get(\n      $system-colors,\n      $color-family,\n      $color-variant,\n      $color-grade\n    );\n\n    @return $output;\n  }\n\n  $output: map-deep-get($system-colors, $color-family, $color-grade);\n\n  @return $output;\n}\n\n/*\n----------------------------------------\nsystem-type-scale()\n----------------------------------------\nGet a value from the system type scale\n----------------------------------------\n*/\n\n@function system-type-scale($scale) {\n  $scale: smart-quote($scale);\n\n  @if not $scale {\n    @return false;\n  }\n\n  @if not map-has-key($system-type-scale, $scale) {\n    @return error-not-token($scale, \"type scale\", $system-type-scale);\n  }\n\n  @return map-get($system-type-scale, $scale);\n}\n\n/*\n----------------------------------------\ncalc-gap-offset()\n----------------------------------------\nCalculate a valid uswds unit that is\nhalf the width of a given unit, for\ncalculating gap offset in the layout\ngrid.\n----------------------------------------\n*/\n\n@function calc-gap-offset($gap-size) {\n  $gap-size: smart-quote($gap-size);\n\n  @if not map-has-key($spacing-to-value, $gap-size) {\n    @return error-not-token($gap-size, \"gap size\");\n  }\n\n  $numeric-eq: map-get($spacing-to-value, $gap-size);\n  $numeric-eq-half: inspect(divide($numeric-eq, 2));\n\n  @if not map-has-key($spacing-to-token, $numeric-eq-half) {\n    @error '`#{$gap-size}` is not a valid USWDS gap size token. '\n      + 'Column gaps need to have a standard size half their width.';\n  }\n\n  @return map-get($spacing-to-token, $numeric-eq-half);\n}\n\n/*\n----------------------------------------\nget-standard-values()\n----------------------------------------\nGets a map of USWDS standard values\nfor a property\n----------------------------------------\n*/\n\n@function get-standard-values($property) {\n  @return map-deep-get($system-properties, $property, standard);\n}\n\n/*\n----------------------------------------\nnumber-to-token()\n----------------------------------------\nConverts an integer or numeric value\ninto a system value\n\nEx: 0.5   --> '05'\n    -1px  --> 'neg-1px'\n----------------------------------------\n*/\n\n@function number-to-token($number) {\n  $number: inspect($number);\n\n  @if not map-has-key($number-to-value, $number) {\n    @return false;\n  }\n\n  @return map-get($number-to-value, $number);\n}\n\n/*\n----------------------------------------\ncolumns()\n----------------------------------------\noutputs a grid-col number based on\nthe number of desired columns in the\n12-column grid\n\nEx: columns(2) --> 6\n    grid-col(columns(2))\n----------------------------------------\n*/\n\n@function columns($number) {\n  $options: \"auto\", \"fill\";\n  $number: smart-quote($number);\n\n  @if index($options, $number) {\n    @return $number;\n  }\n  @if 12 % $number != 0 {\n    @error '`#{$number}` must be a divisor of 12.';\n  }\n  $columns: divide(12, $number);\n  @return $columns;\n}\n\n/*\n----------------------------------------\nget-uswds-value()\n----------------------------------------\nFinds and outputs a value from the\nUSWDS standard values.\n\nUsed to build other standard utility\nfunctions and mixins.\n----------------------------------------\n*/\n\n@function get-uswds-value($property, $value...) {\n  @if type-of($value) == \"arglist\" and nth($value, 1) == override {\n    @return nth($value, 2);\n  }\n\n  $value: nth($value, 1);\n  $converted: number-to-token($value);\n  $quoted-value: if(\n    $converted,\n    smart-quote($converted),\n    smart-quote(nth($value, 1))\n  );\n  $our-standard-values: map-deep-get($system-properties, $property, standard);\n  $our-extended-values: map-deep-get($system-properties, $property, extended);\n\n  @if map-has-key($our-standard-values, $quoted-value) {\n    $output: map-get($our-standard-values, $quoted-value);\n\n    @if not $output {\n      @if $theme-show-compile-warnings {\n        @error '`#{$value}` is set as a `false` value '\n          + 'for the #{$property} property in your project settings '\n          + 'and will not output properly. '\n          + 'Set the value of `#{$value}` in project settings.';\n      }\n    }\n\n    @return $output;\n  }\n\n  @if map-has-key($our-extended-values, $quoted-value) {\n    @if $theme-show-compile-warnings {\n      @warn '`#{$value}` is an extended USWDS `#{$property}` token. '\n        + 'This is OK, but only components built with standard tokens can be accepted back into the system. '\n        + 'Standard `#{$property}` values: #{map-keys($our-standard-values)}';\n    }\n\n    @return map-get($our-extended-values, $quoted-value);\n  }\n\n  // TODO: what are these last two cases? Evaluate.\n  @if not(type-of($value) == \"number\" and not unitless($value)) {\n    @return error-not-token($value, $property, $our-standard-values);\n  }\n\n  @if $theme-show-compile-warnings {\n    @warn '`#{$value}` is not a USWDS `#{$property}` token. '\n      + 'This is OK, but only components built with standard '\n      + 'tokens can be accepted back into the system. '\n      + 'Standard `#{$property}` values: #{map-keys($our-standard-values)}';\n  }\n\n  @return $value;\n}\n\n/// Returns the luminance of `$color` as a float (between 0 and 1)\n/// 1 is pure white, 0 is pure black\n/// @param {Color} $color - Color\n/// @return {Number}\n/// @link http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef Reference\n@function luminance($color) {\n  $lum: (nth($luminance-color-component-values, red($color) + 1) * 0.2126) +\n    (nth($luminance-color-component-values, green($color) + 1) * 0.7152) +\n    (nth($luminance-color-component-values, blue($color) + 1) * 0.0722);\n\n  @return divide(round($lum * 1000), 1000);\n}\n\n/// Casts a string into a number\n///\n/// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n///\n@function to-number($value) {\n  @if type-of($value) == \"number\" {\n    @return $value;\n  } @else if type-of($value) != \"string\" {\n    $_: log(\"Value for `to-number` should be a number or a string.\");\n  }\n\n  $result: 0;\n  $digits: 0;\n  $minus: str-slice($value, 1, 1) == \"-\";\n  $numbers: (\n    \"0\": 0,\n    \"1\": 1,\n    \"2\": 2,\n    \"3\": 3,\n    \"4\": 4,\n    \"5\": 5,\n    \"6\": 6,\n    \"7\": 7,\n    \"8\": 8,\n    \"9\": 9,\n  );\n\n  @for $i from if($minus, 2, 1) through str-length($value) {\n    $character: str-slice($value, $i, $i);\n\n    @if not(index(map-keys($numbers), $character) or $character == \".\") {\n      @return to-length(if($minus, -$result, $result), str-slice($value, $i));\n    }\n\n    @if $character == \".\" {\n      $digits: 1;\n    } @else if $digits == 0 {\n      $result: $result * 10 + map-get($numbers, $character);\n    } @else {\n      $digits: $digits * 10;\n      $result: divide($result + map-get($numbers, $character), $digits);\n    }\n  }\n\n  @return if($minus, -$result, $result);\n}\n\n/*\n----------------------------------------\ndecompose-color-token()\n----------------------------------------\nConvert a color token into into a list\nof form [family], [grade], [variant]\n\nVivid variants return \"vivid\" as the\nvariant.\n\nIf neither grade nor variant exists,\nreturns 'false'\n----------------------------------------\n*/\n\n@function decompose-color-token($token) {\n  $separator: \"-\";\n  $family: false;\n  $grade: false;\n  $variant: false;\n  $exceptions: (\n    \"black\": 100,\n    \"white\": 0,\n  );\n  $token: if($token == \"ink\", \"base-darkest\", $token);\n  // If there's no separator, set family and grade\n  @if not str-index($token, $separator) {\n    $family: $token;\n    $grade: if(\n      map-has-key($exceptions, $family),\n      map-get($exceptions, $family),\n      \"root\"\n    );\n  } @else {\n    $split: str-split($token, $separator);\n    $last: nth($split, length($split));\n    // If the last string is over 3 char, it's a theme token\n    @if str-length($last) > 3 {\n      @if $last == \"vivid\" {\n        $variant: \"vivid\";\n        $grade: \"root\";\n      } @else if $last == \"warm\" or $last == \"cool\" {\n        $grade: \"root\";\n      } @else {\n        $grade: $last;\n      }\n      // Otherwise treat as system token\n    } @else {\n      // Determine if it's a vivid variant\n      @if str-index($last, \"v\") {\n        $variant: \"vivid\";\n        $grade: str-slice($last, 1, (str-index($last, \"v\") - 1));\n      } @else {\n        $grade: $last;\n      }\n      // Make sure the grade is a number\n      $grade: if(type-of($grade) == \"string\", to-number($grade), $grade);\n    }\n    // Collect compound-word families\n    $is-compound-family: false;\n    @if length($split) == 3 or index($split, \"warm\") or index($split, \"cool\") {\n      $is-compound-family: true;\n    }\n    @if $is-compound-family {\n      $family: nth($split, 1) + $separator + nth($split, 2);\n    } @else {\n      $family: nth($split, 1);\n    }\n  }\n  @return $family, $grade, $variant;\n}\n\n/*\n----------------------------------------\ntest-colors()\n----------------------------------------\nCheck to see if all system colors\nfall between the proper relative\nluminance range for their grade.\n\nHas a couple quirks, as the luminance()\nfunction returns slightly different\nresults than expected.\n----------------------------------------\n*/\n\n@function test-colors($map) {\n  $exceptions: \"black\", \"white\", \"transparent\", \"black-transparent\",\n    \"white-transparent\";\n\n  @each $token, $value in $map {\n    $family: nth(decompose-color-token($token), 1);\n    $grade: nth(decompose-color-token($token), 2);\n    @if not $value {\n      // empty block\n    } @else if not index($exceptions, $family) {\n      $computed: calculate-grade($value);\n      @debug \"Checked #{$family}-#{$grade}\";\n      @if $grade <= 5 {\n        // empty block\n      } @else if $computed != $grade {\n        @warn \"#{$token} (#{$value}) lum: #{luminance($value)} is not in the range #{map-get($system-color-grades, $grade)}\";\n      }\n    }\n  }\n\n  @return 1;\n}\n\n/*\n----------------------------------------\nstr-split()\n----------------------------------------\nSplit a string at a given separator\nand convert into a lisrt of substrings\n----------------------------------------\n*/\n\n@function str-split($string, $separator) {\n  $split-arr: ();\n  $index: str-index($string, $separator);\n  @while $index != null {\n    $item: str-slice($string, 1, $index - 1);\n    $split-arr: append($split-arr, $item);\n    $string: str-slice($string, $index + 1);\n    $index: str-index($string, $separator);\n  }\n  $split-arr: append($split-arr, $string);\n\n  @return $split-arr;\n}\n\n/*\n----------------------------------------\nstr-replace()\n----------------------------------------\nReplace any substring with another\nstring\n----------------------------------------\n*/\n\n@function str-replace($string, $search, $replace: \"\") {\n  $index: str-index($string, $search);\n\n  @if $index {\n    @return str-slice($string, 1, $index - 1) + $replace +\n      str-replace(\n        str-slice($string, $index + str-length($search)),\n        $search,\n        $replace\n      );\n  }\n\n  @return $string;\n}\n\n/*\n----------------------------------------\nis-system-color-token()\n----------------------------------------\nReturn whether a token is a system\ncolor token\n----------------------------------------\n*/\n\n@function is-system-color-token($token) {\n  @if map-has-key($system-color-shortcodes, $token) {\n    @return true;\n  }\n  @return false;\n}\n\n/*\n----------------------------------------\nis-theme-color-token()\n----------------------------------------\nReturn whether a token is a theme\ncolor token\n----------------------------------------\n*/\n\n@function is-theme-color-token($token) {\n  @if map-has-key($project-color-shortcodes, $token) {\n    @return true;\n  }\n  @return false;\n}\n\n/*\n----------------------------------------\ncolor-token-assignment()\n----------------------------------------\nGet the system token equivalent of any\ntheme color token\n----------------------------------------\n*/\n\n@function color-token-assignment($color-token) {\n  @if is-system-color-token($color-token) {\n    $system-token: $color-token;\n    @return $system-token;\n  }\n\n  @if not is-theme-color-token($color-token) {\n    @return error-not-token($color-token, \"color\");\n  }\n\n  $theme-token: $color-token;\n  $theme-token-assignment: map-get($assignments-theme-color, $theme-token);\n  @return $theme-token-assignment;\n}\n\n/*\n----------------------------------------\nis-color-token()\n----------------------------------------\nReturns whether a given string is a\nUSWDS color token.\n----------------------------------------\n*/\n\n@function is-color-token($token) {\n  $is-color-token: if(map-has-key($all-color-shortcodes, $token), true, false);\n  @return $is-color-token;\n}\n\n/*\n----------------------------------------\ncalculate-grade()\n----------------------------------------\nDerive the grade equivalent any color,\neven non-token colors\n----------------------------------------\n*/\n\n@function calculate-grade($color-token) {\n  $transparency-error: \"USWDS can't calculate the grade of a transparent color. Avoid using transparency in theme colors and text.\";\n  $grade: null;\n  $lum: null;\n  $custom-color: false;\n  $color-token-assignment: false;\n\n  // Determine if the color is a custom color\n  @if type-of($color-token) == \"color\" {\n    $custom-color: $color-token;\n  } @else {\n    $color-token-assignment: color-token-assignment($color-token);\n    @if type-of($color-token-assignment) == \"color\" {\n      $custom-color: color-token-assignment($color-token);\n    }\n  }\n\n  // If it's custom, compare its rLum to USWDS grade rLum ranges\n  @if $custom-color {\n    // If the color uses transparency, throw an error\n    @if alpha($custom-color) != 1 {\n      @return uswds-error($transparency-error);\n    }\n    $lum: luminance($custom-color);\n    // Cycle through grades, knowing current AND next grade\n    $our-grades: map-keys($system-color-grades);\n    $grade-count: length($our-grades);\n    @for $i from 1 through $grade-count {\n      $this-grade: nth($our-grades, $i);\n      $this-grade-min: map-deep-get($system-color-grades, $this-grade, \"min\");\n      $this-grade-max: map-deep-get($system-color-grades, $this-grade, \"max\");\n      $next-grade: if($i < $grade-count, nth($our-grades, $i + 1), false);\n      $next-grade-min: if(\n        $next-grade,\n        map-deep-get($system-color-grades, $next-grade, \"min\"),\n        false\n      );\n      // If the lum fits the range, assign a USWDS grade\n      // Otherwise, set a grade midway between two USWDS grades\n      @if ($lum >= $this-grade-min) and ($lum <= $this-grade-max) {\n        @return $this-grade;\n      }\n      @if ($lum > $this-grade-max) and ($lum < $next-grade-min) {\n        $custom-grade-midpoint: divide($this-grade + $next-grade, 2);\n        $custom-grade: $custom-grade-midpoint;\n        @return $custom-grade;\n      }\n    }\n  }\n\n  @if not is-color-token($color-token-assignment) {\n    @return error-not-token($color-token-assignment, \"color\");\n  }\n\n  $system-token: $color-token-assignment;\n  $token-split: decompose-color-token($system-token);\n  $token-family: color-token-family($token-split);\n  // If the color uses transparency, throw an error\n  @if str-index($token-family, \"transparent\") {\n    @return uswds-error($transparency-error);\n  }\n  // Otherwise, return token grade\n  $token-grade: color-token-grade($token-split);\n  @return $token-grade;\n}\n\n/*\n----------------------------------------\ncolor()\n----------------------------------------\nDerive a color from a color shortcode\n----------------------------------------\n*/\n\n@function color($value, $flags...) {\n  $value: unpack($value);\n\n  // Non-token colors may be passed with specific flags\n  @if type-of($value) == color {\n    // override or set-theme will allow any color\n    @if index($flags, override) or index($flags, set-theme) {\n      // override + no-warn will skip warnings\n      @if index($flags, no-warn) {\n        @return $value;\n      }\n\n      @if $theme-show-compile-warnings {\n        @warn 'Override: `#{$value}` is not a USWDS color token.';\n      }\n\n      @return $value;\n    }\n  }\n\n  // False values may be passed through when setting theme colors\n  @if $value == false {\n    @if index($flags, set-theme) {\n      @return $value;\n    }\n  }\n\n  // Now, any value should be evaluated as a token\n\n  $value: smart-quote($value);\n\n  @if map-has-key($system-color-shortcodes, $value) {\n    $our-color: map-get($system-color-shortcodes, $value);\n    @if $our-color == false {\n      @error '`#{$value}` is a color that does not exist '\n        + 'or is set to false.';\n    }\n    @return $our-color;\n  }\n\n  // If we're using the theme flag, $project-color-shortcodes has not yet been set\n  @if not index($flags, set-theme) {\n    @if map-has-key($project-color-shortcodes, $value) {\n      $our-color: (map-get($project-color-shortcodes, $value));\n      @if $our-color == false {\n        @error '`#{$value}` is a color that does not exist '\n          + 'or is set to false.';\n      }\n      @return $our-color;\n    }\n  }\n\n  @return error-not-token($value, \"color\");\n}\n\n/*\n----------------------------------------\nadvanced-color()\n----------------------------------------\nDerive a color from a color triplet:\n[family], [grade], [variant]\n----------------------------------------\n*/\n\n// color() can have a 1, 2, or 3 arguments passed to it:\n//\n// [family]\n// ex: color('primary')\n//     - the root in a theme palette family\n//\n// [family], [grade]\n// ex: color('red', 50)\n//     - a standard system color\n// ex: color('accent-warm', 'light')\n//     - a standard theme color\n// ex: color('primary', 'vivid')\n//     - in theme colors, 'vivid' is considered a grade\n//\n// [family], [grade], [vivid]\n// ex: color('red', 50, 'vivid')\n//     - a vivid system color\n//     - only system colors required three arguments\n\n@function advanced-color(\n  $color-family: false,\n  $color-grade: false,\n  $color-variant: false\n) {\n  // Convert any arglists into lists\n  $color-family: if(\n    type-of($color-family) == \"arglist\",\n    unpack($color-family),\n    $color-family\n  );\n\n  // If $color-family is a list, color() had a variable\n  // passed to it, and args need to be re-set with the\n  // values from the $color-family list:\n  @if type-of($color-family) == \"list\" {\n    @if length($color-family) > 2 {\n      $color-variant: nth($color-family, 3);\n    }\n    $color-grade: nth($color-family, 2);\n    $color-family: nth($color-family, 1);\n  }\n\n  // Set initial state of vars\n  $color-family: smart-quote($color-family);\n  $color-grade: smart-quote($color-grade);\n  $color-variant: smart-quote($color-variant);\n\n  // @debug '#{$color-family}: #{type-of($color-family)}, #{$color-grade}: #{type-of($color-grade)}, #{$color-variant}: #{type-of($color-variant)}' ;\n\n  // If there are no args, throw an error\n  @if not $color-family {\n    @error 'Include a color in the form [family], [grade], [vivid]';\n  }\n\n  // If the grade is a number, it's a system color\n  // ex: ('red', 50)\n  @if type-of($color-grade) == \"number\" {\n    @return get-system-color($color-family, $color-grade, $color-variant);\n  }\n\n  // non-number grades are associated with non-root theme colors\n  // ex: ('base', 'darker')\n  // root theme colors have no grade\n  // ex: ('base')\n  @if map-has-key($all-project-colors, $color-family) {\n    @if not\n      map-has-key(map-get($all-project-colors, $color-family), $color-grade)\n    {\n      @error '`#{$color-grade}` is not a valid grade of `#{$color-family}`. '\n        + 'Valid grades: '\n        + '#{map-keys(map-get($all-project-colors, $color-family))}';\n    }\n  } @else {\n    @return error-not-token($color-family, \"theme family\", $all-project-colors);\n  }\n  @return map-deep-get($all-project-colors, $color-family, $color-grade);\n}\n\n/*\n----------------------------------------\nunits()\n----------------------------------------\nConverts a spacing unit into\nthe desired final units (currently rem)\n----------------------------------------\n*/\n\n@function units($value) {\n  $converted: if(\n    type-of($value) == \"string\",\n    quote($value),\n    number-to-token($value)\n  );\n\n  @if not map-has-key($project-spacing-standard, $converted) {\n    @return error-not-token($value, \"spacing unit\", $project-spacing-standard);\n  }\n\n  @return map-get($project-spacing-standard, $converted);\n}\n\n/*\n----------------------------------------\nget-palettes()\n----------------------------------------\nBuild a single map of plugin values\nfrom a list of plugin keys.\n----------------------------------------\n*/\n\n@function get-palettes($list) {\n  $our-palettes: ();\n\n  @if type-of($list) == \"map\" {\n    @error 'Use a list of strings as plugin values.';\n  }\n\n  @each $palette in $list {\n    @if not map-has-key($palette-registry, $palette) {\n      @error '#{$palette} isn\\'t in the registry.';\n    }\n\n    $our-palettes: map-merge(\n      $our-palettes,\n      map-get($palette-registry, $palette)\n    );\n  }\n\n  @return $our-palettes;\n}\n\n/*\n----------------------------------------\nborder-radius()\n----------------------------------------\nGet a border-radius from the system\nborder-radii\n----------------------------------------\n*/\n\n@function border-radius($value) {\n  @if map-has-key($all-border-radius, $value) {\n    @return map-get($all-border-radius, $value);\n  } @else {\n    @return error-not-token($value, \"border radius\", $all-border-radius);\n  }\n}\n\n/*\n----------------------------------------\nfont-weight()\nfw()\n----------------------------------------\nGet a font-weight value from the\nsystem font-weight\n----------------------------------------\n*/\n\n@function font-weight($value) {\n  @return get-uswds-value(font-weight, $value);\n}\n\n@function fw($value) {\n  @return font-weight($value);\n}\n\n/*\n----------------------------------------\nfeature()\n----------------------------------------\nGets a valid USWDS font feature setting\n----------------------------------------\n*/\n\n@function feature($value) {\n  @return get-uswds-value(feature, $value);\n}\n\n/*\n----------------------------------------\nflex()\n----------------------------------------\nGets a valid USWDS flex value\n----------------------------------------\n*/\n\n@function flex($value) {\n  @return get-uswds-value(flex, $value);\n}\n\n/*\n----------------------------------------\nfont-family()\nfamily()\n----------------------------------------\nGet a font-family stack from a\nrole-based or type-based font family\n----------------------------------------\n*/\n\n@function font-family($value) {\n  @return get-uswds-value(font-family, $value);\n}\n\n@function ff($value) {\n  @return font-family($value);\n}\n\n@function family($value) {\n  @return font-family($value);\n}\n\n/*\n----------------------------------------\nletter-spacing()\nls()\n----------------------------------------\nGet a letter-spacing value from the\nsystem letter-spacing\n----------------------------------------\n*/\n\n@function letter-spacing($value) {\n  $lh-map: map-get($system-properties, letter-spacing);\n  $fn-map: map-get($lh-map, function);\n  @if map-has-key($fn-map, $value) {\n    @return map-get($fn-map, $value);\n  }\n  @if type-of($value) == \"number\" {\n    @error '`#{$value}` is a not a valid letter-spacing token. '\n      + 'Valid letter-spacing tokens: #{map-keys($fn-map)}';\n  }\n  @return get-uswds-value(letter-spacing, $value);\n}\n\n@function ls($value) {\n  @return letter-spacing($value);\n}\n\n/*\n----------------------------------------\nmeasure()\n----------------------------------------\nGets a valid USWDS reading line length\n----------------------------------------\n*/\n\n@function measure($value) {\n  @return get-uswds-value(measure, $value);\n}\n\n/*\n----------------------------------------\nopacity()\n----------------------------------------\nGet an opacity from the system\nopacities\n----------------------------------------\n*/\n\n@function opacity($value) {\n  @return get-uswds-value(opacity, $value);\n}\n\n/*\n----------------------------------------\norder()\n----------------------------------------\nGet an order value from the\nsystem orders\n----------------------------------------\n*/\n\n@function order($value) {\n  @return get-uswds-value(order, $value);\n}\n\n/*\n----------------------------------------\nradius()\n----------------------------------------\nGet a border-radius value from the\nsystem letter-spacing\n----------------------------------------\n*/\n\n@function radius($value) {\n  @return get-uswds-value(border-radius, $value);\n}\n\n/*\n----------------------------------------\nfont-size()\n----------------------------------------\nGet type scale value from a [family] and\n[scale]\n----------------------------------------\n*/\n\n@function font-size($family, $scale, $force: false) {\n  $our-family: smart-quote($family);\n  $our-scale: smart-quote($scale);\n\n  @if not map-has-key($project-cap-heights, $our-family) {\n    @return error-not-token($our-family, \"font family\", $project-cap-heights);\n  }\n  @if not map-get($all-type-scale, $our-scale) {\n    @return error-not-token($our-scale, \"font scale\", $all-type-scale);\n  }\n\n  $this-cap: map-get($project-cap-heights, $our-family);\n  $this-scale: map-get($all-type-scale, $our-scale);\n\n  @if not $force {\n    @if not($this-scale and $this-cap) {\n      @error 'The scale `#{$our-scale}` is disabled '\n        + 'in your project\\'s theme settings. '\n        + 'Set its value to `true` to use this family.';\n    }\n  }\n\n  @return normalize-type-scale($this-cap, $this-scale);\n}\n\n@function fs($family, $scale) {\n  @return font-size($family, $scale);\n}\n\n@function size($family, $scale) {\n  @return font-size($family, $scale);\n}\n\n/*\n----------------------------------------\nz-index()\nz()\n----------------------------------------\nGet a z-index value from the\nsystem z-index\n----------------------------------------\n*/\n\n@function z-index($value) {\n  @return get-uswds-value(z-index, $value);\n}\n\n@function z($value) {\n  @return z-index($value);\n}\n\n/*\n----------------------------------------\nmagic-number()\n----------------------------------------\nReturns the magic number of two color\ngrades. Takes numbers or color tokens.\n\nmagic-number(50, 10)\nreturn: 40\n\nmagic-number(\"red-50\", \"red-10\")\nreturn: 40\n----------------------------------------\n*/\n\n@function magic-number($grade-1, $grade-2) {\n  $grade-1: if(\n    type-of($grade-1) == \"number\",\n    $grade-1,\n    calculate-grade($grade-1)\n  );\n  $grade-2: if(\n    type-of($grade-2) == \"number\",\n    $grade-2,\n    calculate-grade($grade-2)\n  );\n  $magic-number: abs($grade-1 - $grade-2);\n  @return $magic-number;\n}\n\n/*\n----------------------------------------\nget-default()\n----------------------------------------\nReturns the default value from a map\nof project defaults\n\nget-default(\"bg-color\")\n> $theme-body-background-color\n----------------------------------------\n*/\n\n@function get-default($var) {\n  $value: map-get($project-defaults, $var);\n  @return $value;\n}\n\n/*\n----------------------------------------\nget-color-token-from-bg()\n----------------------------------------\nReturns an accessible foreground color\ntoken, given a background, preferred\ncolor, fallback color, and WCAG target\n\nreturns: color-token\n\nget-color-token-from-bg(\n  \"black\",\n  \"red-60\",\n  \"red-10\",\n  \"AA\")\n> \"red-10\"\n----------------------------------------\n*/\n\n@function get-color-token-from-bg(\n  $bg-color: \"default\",\n  $preferred-text-token: \"default\",\n  $fallback-text-token: \"default\",\n  $wcag-target: \"AA\",\n  $context: false,\n  $for: false\n) {\n  $for-text: if($for, \"#{$for} \", \"\");\n  $context-text: if($context, \"[#{$context}] \", \"\");\n  // Set defaults\n  @if $bg-color == \"default\" {\n    $bg-color: get-default(\"bg-color\");\n  }\n  @if $preferred-text-token == \"default\" {\n    $preferred-text-token: get-default(\"preferred-text-token\");\n  }\n  @if $fallback-text-token == \"default\" {\n    $fallback-text-token: get-default(\"fallback-text-token\");\n  }\n  $target-magic-number: map-get($system-wcag-magic-numbers, $wcag-target);\n  $bg-grade: calculate-grade($bg-color);\n  $our-color-tokens: ($preferred-text-token, $fallback-text-token);\n  $accessible-text-token: false;\n  $accessible-text-grade: false;\n  // Get the text color token\n  // Check both text tokens.\n  // Accept a token if it has specified accessible contrast.\n  $best-token: false;\n  $best-magic-number: 0;\n  @each $token in $our-color-tokens {\n    @if not $accessible-text-token {\n      $token-grade: calculate-grade($token);\n      $this-magic-number: magic-number($token-grade, $bg-grade);\n      @if $this-magic-number > $best-magic-number {\n        $best-magic-number: $this-magic-number;\n        $best-token: $token;\n      }\n      @if is-accessible-magic-number($token-grade, $bg-grade, $wcag-target) {\n        $accessible-text-token: $token;\n        $accessible-text-grade: $token-grade;\n      }\n    }\n  }\n  // If neither is accessible,\n  // warn the user and use the Preferred token\n  @if not $accessible-text-token {\n    $accessible-text-token: $best-token;\n    @if $theme-show-compile-warnings {\n      @warn \"#{$context-text}Neither the specified preferred #{$for-text}color token (`#{$preferred-text-token}`) nor the fallback #{$for-text}color token (`#{$fallback-text-token}`) have #{$wcag-target} contrast on a `#{$bg-color}` background. Using `#{$best-token}`. Please check your source code and project settings.\";\n    }\n  }\n\n  @return $accessible-text-token;\n}\n\n/*\n----------------------------------------\nget-link-tokens-from-bg()\n----------------------------------------\nGet accessible link colors for a given\nbackground color\n\nreturns: link-token, hover-token\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"red-60\",\n  \"red-10\",\n  \"AA\")\n> \"red-10\", \"red-5\"\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"red-60v\",\n  \"red-10v\",\n  \"AA-large\")\n> \"red-60v\", \"red-50v\"\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"red-5v\",\n  \"red-60v\",\n  \"AA\")\n> \"red-5v\", \"white\"\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"white\",\n  \"red-60v\",\n  \"AA\")\n> \"white\", \"white\"\n----------------------------------------\n*/\n\n@function get-link-tokens-from-bg(\n  $bg-color: \"default\",\n  $preferred-link-token: \"default\",\n  $fallback-link-token: \"default\",\n  $wcag-target: \"AA\",\n  $context: false\n) {\n  $context-text: if($context, \"[#{$context}] \", \"\");\n  $is-default: false;\n  $is-default-preferred: false;\n  $is-default-fallback: false;\n  $default-reverse: false;\n  $default-standard: false;\n  @if $bg-color == \"default\" {\n    $bg-color: get-default(\"bg-color\");\n  }\n  @if $preferred-link-token == \"default\" {\n    $preferred-link-token: get-default(\"preferred-link-token\");\n    $default-reverse: true;\n  }\n  @if $fallback-link-token == \"default\" {\n    $fallback-link-token: get-default(\"fallback-link-token\");\n    $standard-reverse: true;\n  }\n  $bg-grade: calculate-grade($bg-color);\n  $preferred-hover-token: false;\n  $default-hover-token: false;\n  $accessible-hover-token: false;\n  $accessible-link-token: get-color-token-from-bg(\n    $bg-color,\n    $preferred-link-token,\n    $fallback-link-token,\n    $wcag-target,\n    $context,\n    $for: \"link\"\n  );\n  $accessible-link-grade: calculate-grade($accessible-link-token);\n  // Get the hover color token\n  // If link is lighter than bg set $is-reverse to true\n  $is-reverse: if($accessible-link-grade < $bg-grade, true, false);\n  // If using defaults, set the default hover\n  // $link-kind is used for error messaging\n  $link-kind: false;\n  @if $is-reverse {\n    @if $default-reverse {\n      $default-hover-token: $theme-link-reverse-hover-color;\n      $link-kind: \"default reverse\";\n    }\n  } @else if $default-standard {\n    $default-hover-token: $theme-link-hover-color;\n    $link-kind: \"default\";\n  }\n  @if $default-hover-token {\n    $default-hover-grade: calculate-grade($default-hover-token);\n    @if is-accessible-magic-number(\n      $default-hover-grade,\n      $bg-grade,\n      $wcag-target\n    )\n    {\n      $accessible-hover-token: $default-hover-token;\n    }\n    @if not $accessible-hover-token and $theme-show-compile-warnings {\n      @warn \"#{$context-text}The #{$link-kind} link hover (`#{$default-hover-token}`) does not have #{$wcag-target} contrast on a #{$bg-color} background. Please update your project settings.\";\n    }\n  }\n  @if not $accessible-hover-token {\n    $direction: if($is-reverse, \"lighter\", \"darker\");\n    $hover-token: next-token($accessible-link-token, $direction);\n    // Use the next token, if it is valid\n    @if $hover-token {\n      $accessible-hover-token: $hover-token;\n      // Otherwise use the token itself as hover, and warn.\n    } @else {\n      $accessible-hover-token: $accessible-link-token;\n      @if $theme-show-compile-warnings {\n        @warn \"#{$context-text}A `#{$accessible-hover-token}` link does not have #{$direction} hover available. Hover set to link color.\";\n      }\n    }\n  }\n  @return $accessible-link-token, $accessible-hover-token;\n}\n\n/*\n----------------------------------------\ncolor-token-type()\n----------------------------------------\nReturns the type of a color token.\n\nReturns: \"system\" | \"theme\"\n----------------------------------------\n*/\n\n@function color-token-type($token) {\n  $type: if(is-system-color-token($token), \"system\", false);\n  @if not $type {\n    $type: if(is-theme-color-token($token), \"theme\", false);\n  }\n  @if not $type {\n    @return error-not-token($token, \"color\");\n  }\n  @return $type;\n}\n\n/*\n----------------------------------------\ncolor-token-family()\n----------------------------------------\nReturns the family of a color token.\n\nReturns: color-family\n\ncolor-token-family(\"accent-warm-vivid\")\n> \"accent-warm\"\n\ncolor-token-family(\"red-50v\")\n> \"red\"\n\ncolor-token-variant((\"red\", 50, \"vivid\"))\n> \"red\"\n----------------------------------------\n*/\n\n@function color-token-family($color-token) {\n  $split: if(\n    type-of($color-token) == \"list\",\n    $color-token,\n    decompose-color-token($color-token)\n  );\n  $family: nth($split, 1);\n  @return $family;\n}\n\n/*\n----------------------------------------\ncolor-token-grade()\n----------------------------------------\nReturns the grade of a USWDS color token.\n\nReturns: color-grade\n\ncolor-token-grade(\"accent-warm\")\n> \"root\"\n\ncolor-token-grade(\"accent-warm-vivid\")\n> \"root\"\n\ncolor-token-grade(\"accent-warm-darker\")\n> \"darker\"\n\ncolor-token-grade(\"red-50v\")\n> 50\n\ncolor-token-variant((\"red\", 50, \"vivid\"))\n> 50\n----------------------------------------\n*/\n\n@function color-token-grade($color-token) {\n  $split: if(\n    type-of($color-token) == \"list\",\n    $color-token,\n    decompose-color-token($color-token)\n  );\n  $grade: nth($split, 2);\n  @return $grade;\n}\n\n/*\n----------------------------------------\ncolor-token-variant()\n----------------------------------------\nReturns the variant of color token.\n\nReturns: \"vivid\" | false\n\ncolor-token-variant(\"accent-warm\")\n> false\n\ncolor-token-variant(\"accent-warm-vivid\")\n> \"vivid\"\n\ncolor-token-variant(\"red-50v\")\n> \"vivid\"\n\ncolor-token-variant((\"red\", 50, \"vivid\"))\n> \"vivid\"\n----------------------------------------\n*/\n\n@function color-token-variant($color-token) {\n  $split: if(\n    type-of($color-token) == \"list\",\n    $color-token,\n    decompose-color-token($color-token)\n  );\n  $variant: nth($split, 3);\n  @return $variant;\n}\n\n/*\n----------------------------------------\nnext-token()\n----------------------------------------\nReturns next \"darker\" or \"lighter\" color\ntoken of the same token type and variant.\n\nReturns: color-token | false\n\nnext-token(\"accent-warm\", \"lighter\")\n> \"accent-warm-light\"\n\nnext-token(\"gray-10\", \"lighter\")\n> \"gray-5\"\n\nnext-token(\"gray-5\", \"lighter\")\n> \"white\"\n\nnext-token(\"white\", \"lighter\")\n> false\n\nnext-token(\"red-50v\", \"darker\")\n> \"red-60v\"\n\nnext-token(\"red-50\", \"darker\")\n> \"red-60\"\n\nnext-token(\"red-80v\", \"darker\")\n> \"red-90\"\n\nnext-token(\"red-90\", \"darker\")\n> \"black\"\n\nnext-token(\"white\", \"darker\")\n> \"gray-5\"\n\nnext-token(\"black\", \"lighter\")\n> \"gray-90\"\n----------------------------------------\n*/\n\n@function next-token($token, $direction) {\n  $next-token: false;\n  $type: color-token-type($token);\n  $token-split: decompose-color-token($token);\n  // 1. System case\n  @if $type == \"system\" {\n    // transparent tokens return don't have a next token\n    @if $token == \"transparent\" {\n      @return false;\n    }\n    // black and white tokens use the gray family for next\n    $current-family: if(\n      $token == \"white\" or $token == \"black\",\n      \"gray\",\n      color-token-family($token-split)\n    );\n    // black- and white-transparent tokens don't have a next\n    @if str-index($current-family, \"-transparent\") {\n      @return false;\n    }\n    $current-grade: color-token-grade($token-split);\n    // Nothing can be darker than black or lighter than white\n    @if $direction == \"darker\" and $current-grade == 100 {\n      @return false;\n    }\n    @if $direction == \"lighter\" and $current-grade == 0 {\n      @return false;\n    }\n    // Grades under 5 should be treated as 5\n    @if $current-grade > 0 and $current-grade < 5 {\n      $current-grade: 5;\n    }\n    $system-grade-list: map-keys($system-color-grades);\n    $current-grade-index: index($system-grade-list, $current-grade);\n    // Note: System grades go from darkest (100) to lightest (0)\n    $next-grade: if(\n      $direction == \"darker\",\n      nth($system-grade-list, ($current-grade-index - 1)),\n      nth($system-grade-list, ($current-grade-index + 1))\n    );\n    $output-grade: $next-grade;\n    // Keep the same vivid variant as the parent\n    // Note: Grade 90 has no vivid variant\n    @if color-token-variant($token-split) == \"vivid\" and ($next-grade < 90) {\n      $output-grade: $next-grade + \"v\";\n    }\n    // Use black and white tokens for grades 100 and 0...\n    @if $next-grade == 100 {\n      $next-token: \"black\";\n    } @else if $next-grade == 0 {\n      $next-token: \"white\";\n      // ...Otherwise output token in expected form\n    } @else {\n      $next-token: $current-family + \"-\" + $output-grade;\n    }\n    // 2. Theme case\n  } @else {\n    $current-grade: color-token-grade($token-split);\n    // Vivid theme token should be considered root for ordering\n    $current-grade: if($current-grade == \"vivid\", \"root\", $current-grade);\n    $current-family: color-token-family($token-split);\n    // Ink should be considered base-darkest\n    // TODO: Should it?\n    @if $token == \"ink\" {\n      $current-family: \"base\";\n      $current-grade: \"darkest\";\n    }\n    // Black is darker than darkest\n    @if $direction == \"darker\" and $current-grade == \"darkest\" {\n      @return \"black\";\n    }\n    // White is lighter than lightest\n    @if $direction == \"lighter\" and $current-grade == \"lightest\" {\n      @return \"white\";\n    }\n    $theme-grade-list: map-keys($theme-color-grades);\n    $current-grade-index: index($theme-grade-list, $current-grade);\n    // Note: Theme grades go from `lightest` to `darkest`\n    $next-grade: if(\n      $direction == \"darker\",\n      nth($theme-grade-list, ($current-grade-index + 1)),\n      nth($theme-grade-list, ($current-grade-index - 1))\n    );\n    // Exclude `root` from token output\n    @if $next-grade == \"root\" {\n      @return $current-family;\n    } @else {\n      $next-token: $current-family + \"-\" + $next-grade;\n    }\n    // If the next color is set to false, use black/white instead\n    @if not color-token-assignment($next-token) {\n      @if $direction == \"darker\" {\n        @return \"black\";\n      }\n      @if $direction == \"lighter\" {\n        @return \"white\";\n      }\n    }\n  }\n  @return $next-token;\n}\n\n/*\n----------------------------------------\nwcag-magic-number()\n----------------------------------------\nReturns the magic number of a specific\nwcag grade:\n\n\"AA\"\n\"AA-Large\"\n\"AAA\"\n\nwcag-magic-number(\"AA\")\n> 50\n----------------------------------------\n*/\n\n@function wcag-magic-number($wcag-target) {\n  $wcag-magic-number: map-get($system-wcag-magic-numbers, $wcag-target);\n  @return $wcag-magic-number;\n}\n\n/*\n----------------------------------------\nis-accessible-magic-number()\n----------------------------------------\nReturns whether two grades achieve\nspecified target color contrast\n\nReturns: true | false\n\nis-accessible-magic-number(10, 50, \"AA\")\n> false\n\nis-accessible-magic-number(10, 60, \"AA\")\n> true\n----------------------------------------\n*/\n\n@function is-accessible-magic-number($grade-1, $grade-2, $wcag-target) {\n  $target-magic-number: wcag-magic-number($wcag-target);\n  $magic-number: magic-number($grade-1, $grade-2);\n  @if $magic-number >= $target-magic-number {\n    @return true;\n  }\n  @return false;\n}\n","/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.13.3\n----------------------------------------\nGENERAL SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n/*\n----------------------------------------\nImage path\n----------------------------------------\nRelative image file path\n----------------------------------------\n*/\n/*\n----------------------------------------\nShow compile warnings\n----------------------------------------\nShow Sass warnings when functions and\nmixins use non-standard tokens.\nAND\nShow updates and notifications.\n----------------------------------------\n*/\n/*\n----------------------------------------\nNamespace\n----------------------------------------\n*/\n/*\n----------------------------------------\nPrefix separator\n----------------------------------------\nSet the character the separates\nresponsive and state prefixes from the\nmain class name.\n\nThe default (\":\") needs to be preceded\nby two backslashes to be properly\nescaped.\n----------------------------------------\n*/\n/*\n----------------------------------------\nLayout grid\n----------------------------------------\nShould the layout grid classes output\nwith !important\n----------------------------------------\n*/\n/*\n----------------------------------------\nBorder box sizing\n----------------------------------------\nWhen set to true, sets the box-sizing\nproperty of all site elements to\n`border-box`.\n----------------------------------------\n*/\n/*\n----------------------------------------\nFocus styles\n----------------------------------------\n*/\n/*\n----------------------------------------\nIcons\n----------------------------------------\n*/\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.13.3\n----------------------------------------\nTYPOGRAPHY SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS typography tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens/typesetting/overview/\n----------------------------------------\n*/\n/*\n----------------------------------------\nRoot font size\n----------------------------------------\nSetting $theme-respect-user-font-size to\ntrue sets the root font size to 100% and\nuses ems for media queries\n----------------------------------------\n$theme-root-font-size only applies when\n$theme-respect-user-font-size is set to\nfalse.\n\nThis will set the root font size\nas a specific px value and use px values\nfor media queries.\n\nAccepts true or false\n----------------------------------------\n*/\n/*\n----------------------------------------\nGlobal styles\n----------------------------------------\nAdds basic styling for the following\nunclassed elements:\n\n- paragraph: paragraph text\n- link: links\n- content: paragraph text, links,\n  headings, lists, and tables\n----------------------------------------\n*/\n/*\n----------------------------------------\nFont path\n----------------------------------------\nRelative font file path\n----------------------------------------\n*/\n/*\n----------------------------------------\nCustom typeface tokens\n----------------------------------------\nAdd a new custom typeface token if\nyour project uses a typeface not already\ndefined by USWDS.\n----------------------------------------\nUSWDS defines the following tokens\nby default:\n----------------------------------------\n'georgia'\n'helvetica'\n'merriweather'\n'open-sans'\n'public-sans'\n'roboto-mono'\n'source-sans-pro'\n'system'\n'tahoma'\n'verdana'\n----------------------------------------\nAdd as many new tokens as you have\ncustom typefaces. Reference your new\ntoken(s) in the type-based font settings\nusing the quoted name of the token.\n\nFor example:\n\n$theme-font-type-cond: 'example-font-token';\n\ndisplay-name:\nThe display name of your font\n\ncap-height:\nThe height of a 500px `N` in Sketch\n----------------------------------------\nYou should change `example-[style]-token`\nnames to something more descriptive.\n----------------------------------------\n*/\n/*\n----------------------------------------\nType-based font settings\n----------------------------------------\nSet the type-based tokens for your\nproject from the following tokens,\nor from any new font tokens you added in\n$theme-typeface-tokens.\n----------------------------------------\n'georgia'\n'helvetica'\n'merriweather'\n'open-sans'\n'public-sans'\n'roboto-mono'\n'source-sans-pro'\n'system'\n'tahoma'\n'verdana'\n----------------------------------------\n*/\n/*\n----------------------------------------\nCustom font stacks\n----------------------------------------\nAdd custom font stacks to any of the\ntype-based fonts. Any USWDS typeface\ntoken already has a default stack.\n\nCustom stacks don't need to include the\nfont's display name. It will\nautomatically appear at the start of\nthe stack.\n----------------------------------------\nExample:\n$theme-font-type-sans: 'source-sans-pro';\n$theme-font-sans-custom-stack: \"Helvetica Neue\", Helvetica, Arial, sans;\n\nOutput:\nfont-family: \"Source Sans Pro\", \"Helvetica Neue\", Helvetica, Arial, sans;\n----------------------------------------\n*/\n/*\n----------------------------------------\nAdd any custom font source files\n----------------------------------------\nIf you want USWDS to generate additional\n@font-face declarations, add your font\ndata below, following the example that\nfollows.\n----------------------------------------\nUSWDS automatically generates @font-face\ndecalarations for the following\n\n'merriweather'\n'public-sans'\n'roboto-mono'\n'source-sans-pro'\n\nThese typefaces not require custom\nsource files.\n----------------------------------------\nEXAMPLE\n\n- dir:\n  Directory relative to $theme-font-path\n- This directory should include fonts saved as\n  .ttf, .woff, and .woff2\n  ExampleSerif-Normal.ttf\n  ExampleSerif-Normal.woff\n  ExampleSerif-Normal.woff2\n\n$theme-font-serif-custom-src: (\n  dir: 'custom/example-serif',\n  roman: (\n    100: false,\n    200: false,\n    300: 'ExampleSerif-Light',\n    400: 'ExampleSerif-Normal',\n    500: false,\n    600: false,\n    700: 'ExampleSerif-Bold',\n    800: false,\n    900: false,\n  ),\n  italic: (\n    100: false,\n    200: false,\n    300: 'ExampleSerif-LightItalic',\n    400: 'ExampleSerif-Italic',\n    500: false,\n    600: false,\n    700: 'ExampleSerif-BoldItalic',\n    800: false,\n    900: false,\n  ),\n);\n----------------------------------------\n*/\n/*\n----------------------------------------\nRole-based font settings\n----------------------------------------\nSet the role-based tokens for your\nproject from the following font-type\ntokens.\n----------------------------------------\n'cond'\n'icon'\n'lang'\n'mono'\n'sans'\n'serif'\n----------------------------------------\n*/\n/*\n----------------------------------------\nType scale\n----------------------------------------\nDefine your project's type scale using\nvalues from the USWDS system type scale\n\n1-20\n----------------------------------------\n*/\n/*\n----------------------------------------\nFont weights\n----------------------------------------\nAssign weights 100-900\nOr use `false` for unneeded weights.\n----------------------------------------\n*/\n/*\n----------------------------------------\nGeneral typography settings\n----------------------------------------\nType scale tokens\n----------------------------------------\nmicro:      10px\n1:          12px\n2:          13px\n3:          14px\n4:          15px\n5:          16px\n6:          17px\n7:          18px\n8:          20px\n9:          22px\n10:         24px\n11:         28px\n12:         32px\n13:         36px\n14:         40px\n15:         48px\n16:         56px\n17:         64px\n18:         80px\n19:         120px\n20:         140px\n----------------------------------------\nLine height tokens\n----------------------------------------\n1:    1\n2:    1.15\n3:    1.35\n4:    1.5\n5:    1.62\n6:    1.75\n----------------------------------------\nFont role tokens\n----------------------------------------\n'ui'\n'heading'\n'body'\n'code'\n'alt'\n----------------------------------------\nMeasure (max-width) tokens\n----------------------------------------\n1:       44ex\n2:       60ex\n3:       64ex\n4:       68ex\n5:       74ex\n6:       88ex\nnone:    none\n----------------------------------------\n*/\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.13.3\n----------------------------------------\nCOLOR SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS color tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens/color\n----------------------------------------\n*/\n/*\n----------------------------------------\nTheme palette colors\n----------------------------------------\n*/\n/*\n----------------------------------------\nState palette colors\n----------------------------------------\n*/\n/*\n----------------------------------------\nGeneral colors\n----------------------------------------\n*/\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.13.3\n----------------------------------------\nSPACING SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS spacing units tokens in the\ndocumentation:\nhttps://designsystem.digital.gov/design-tokens/spacing-units\n----------------------------------------\n*/\n/*\n----------------------------------------\nBorder radius\n----------------------------------------\n2px           2px\n0.5           4px\n1             8px\n1.5           12px\n2             16px\n2.5           20px\n3             24px\n4             32px\n5             40px\n6             48px\n7             56px\n8             64px\n9             72px\n----------------------------------------\n*/\n/*\n----------------------------------------\nColumn gap\n----------------------------------------\n2px         2px\n0.5         4px\n1           8px\n2           16px\n3           24px\n4           32px\n5           40px\n6           48px\n----------------------------------------\n*/\n/*\n----------------------------------------\nGrid container max-width\n----------------------------------------\nmobile\nmobile-lg\ntablet\ntablet-lg\ndesktop\ndesktop-lg\nwidescreen\n----------------------------------------\n*/\n/*\n----------------------------------------\nSite\n----------------------------------------\n*/\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.13.3\n----------------------------------------\nUTILITIES SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS utilities in the documentation:\nhttps://designsystem.digital.gov/utilities\n----------------------------------------\n*/\n/*\n----------------------------------------\nUtility breakpoints\n----------------------------------------\nWhich breakpoints does your project\nneed? Select as `true` any breakpoint\nused by utilities or layout grid\n----------------------------------------\n*/\n/*\n----------------------------------------\nGlobal colors\n----------------------------------------\nThe following palettes will be added to\n- background-color\n- border-color\n- color\n- text-decoration-color\n----------------------------------------\n*/\n/*\n----------------------------------------\nSettings\n----------------------------------------\n*/\n/*\n----------------------------------------\nValues\n----------------------------------------\n*/\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.13.3\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n/*\n========================================\nFunctions\n----------------------------------------\n*/\n/*\n========================================\nGeneral-purpose functions\n----------------------------------------\n*/\n/*\n----------------------------------------\ndivide()\n----------------------------------------\nDivides one number by another, to a\nspecified precision.\n----------------------------------------\n*/\n/*\n----------------------------------------\nuswds-error()\n----------------------------------------\nAllow the system to pass an error as text\nto test error states in unit testing\n----------------------------------------\n*/\n/*\n----------------------------------------\nerror-not-token()\n----------------------------------------\nReturns a common not-a-token error.\n----------------------------------------\n*/\n/*\n----------------------------------------\nmap-deep-get()\n----------------------------------------\n@author Hugo Giraudel\n@access public\n@param {Map} $map - Map\n@param {Arglist} $keys - Key chain\n@return {*} - Desired value\n----------------------------------------\n*/\n/*\n----------------------------------------\nstrip-unit()\n----------------------------------------\nRemove the unit of a length\n@author Hugo Giraudel\n@param {Number} $number - Number to remove unit from\n@return {Number} - Unitless number\n----------------------------------------\n*/\n/*\n----------------------------------------\nmulti-cat()\n----------------------------------------\nConcatenate two lists\n----------------------------------------\n*/\n/*\n----------------------------------------\nmap-collect()\n----------------------------------------\nCollect multiple maps into a single\nlarge map\nsource: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe\n----------------------------------------\n*/\n/*\n----------------------------------------\nsmart-quote()\n----------------------------------------\nQuotes strings\nInspects `px`, `xs`, and `xl` numbers\nLeaves bools as is\n----------------------------------------\n*/\n/*\n----------------------------------------\nremove()\n----------------------------------------\nRemove a value from a list\n----------------------------------------\n*/\n/*\n----------------------------------------\nto-map()\n----------------------------------------\nConvert a single value to a USWDS\nvalue map.\n\nCandidate for deprecation if we remove\nisReadable\n----------------------------------------\n*/\n/*\n----------------------------------------\nbase-to-map()\n----------------------------------------\nConvert a single base to a USWDS\nvalue map.\n\nCandidate for deprecation if we remove\nisReadable\n----------------------------------------\n*/\n/*\n----------------------------------------\nns()\n----------------------------------------\nAdd a namesspace of $type if that\nnamespace is set to output\n----------------------------------------\n*/\n/*\n----------------------------------------\nde-list()\n----------------------------------------\nTransform a one-element list or arglist\ninto that single element.\n----------------------------------------\n(1) => 1\n((1)) => (1)\n----------------------------------------\n*/\n/*\n----------------------------------------\nunpack()\n----------------------------------------\nCreate lists of single items from lists\nof lists.\n----------------------------------------\n(1, (2.1, 2.2), 3) -->\n(1, 2.1, 2.2, 3)\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-last()\n----------------------------------------\nReturn the last item of a list,\nReturn null if the value is null\n----------------------------------------\n*/\n/*\n----------------------------------------\nhas-important()\n----------------------------------------\nCheck to see if `!important` is\nbeing passed in a mixin's props\n----------------------------------------\n*/\n/*\n----------------------------------------\nappend-important()\n----------------------------------------\nAppend `!important` to a list\n----------------------------------------\n*/\n/*\n----------------------------------------\nspacing-multiple()\n----------------------------------------\nConverts a spacing unit multiple into\nthe desired final units (currently rem)\n----------------------------------------\n*/\n/*\n----------------------------------------\nrem-to-px()\n----------------------------------------\nConverts a value in rem to a value in px\n----------------------------------------\n*/\n/*\n----------------------------------------\nrem-to-user-em()\n----------------------------------------\nConverts a value in rem to a value in\n[user-settings] em for use in media\nqueries\n----------------------------------------\n*/\n/*\n----------------------------------------\nvalidate-typeface-token()\n----------------------------------------\nCheck to see if a typeface-token exists.\nThrow an error if a passed token does\nnot exist in the typeface-token map.\n----------------------------------------\n*/\n/*\n----------------------------------------\ncap-height()\n----------------------------------------\nGet the cap height of a valid typeface\n----------------------------------------\n*/\n/*\n----------------------------------------\npx-to-rem()\n----------------------------------------\nConverts a value in px to a value in rem\n----------------------------------------\n*/\n/*\n----------------------------------------\nnormalize-type-scale()\n----------------------------------------\nNormalizes a specific face's optical size\nto a set target\n----------------------------------------\n*/\n/*\n----------------------------------------\nutility-font()\n----------------------------------------\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\nNot the public-facing function.\nUsed for building the utilities and\nwithholds certain errors.\n----------------------------------------\n*/\n/*\n----------------------------------------\nline-height()\nlh()\n----------------------------------------\nGet a normalized line-height from\na family and a line-height scale unit\n----------------------------------------\n*/\n/*\n----------------------------------------\nconvert-to-font-type()\n----------------------------------------\nConverts a font-role token into a\nfont-type token. Leaves font-type tokens\nunchanged.\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-font-stack()\n----------------------------------------\nGet a font stack from a style- or\nrole-based font token.\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-typeface-token()\n----------------------------------------\nGet a typeface token from a font-type or\nfont-role token.\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-system-color()\n----------------------------------------\nDerive a system color from its\nfamily, value, and vivid or a passed\nvariable that is, itself, a list\n----------------------------------------\n*/\n/*\n----------------------------------------\nsystem-type-scale()\n----------------------------------------\nGet a value from the system type scale\n----------------------------------------\n*/\n/*\n----------------------------------------\ncalc-gap-offset()\n----------------------------------------\nCalculate a valid uswds unit that is\nhalf the width of a given unit, for\ncalculating gap offset in the layout\ngrid.\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-standard-values()\n----------------------------------------\nGets a map of USWDS standard values\nfor a property\n----------------------------------------\n*/\n/*\n----------------------------------------\nnumber-to-token()\n----------------------------------------\nConverts an integer or numeric value\ninto a system value\n\nEx: 0.5   --> '05'\n    -1px  --> 'neg-1px'\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolumns()\n----------------------------------------\noutputs a grid-col number based on\nthe number of desired columns in the\n12-column grid\n\nEx: columns(2) --> 6\n    grid-col(columns(2))\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-uswds-value()\n----------------------------------------\nFinds and outputs a value from the\nUSWDS standard values.\n\nUsed to build other standard utility\nfunctions and mixins.\n----------------------------------------\n*/\n/*\n----------------------------------------\ndecompose-color-token()\n----------------------------------------\nConvert a color token into into a list\nof form [family], [grade], [variant]\n\nVivid variants return \"vivid\" as the\nvariant.\n\nIf neither grade nor variant exists,\nreturns 'false'\n----------------------------------------\n*/\n/*\n----------------------------------------\ntest-colors()\n----------------------------------------\nCheck to see if all system colors\nfall between the proper relative\nluminance range for their grade.\n\nHas a couple quirks, as the luminance()\nfunction returns slightly different\nresults than expected.\n----------------------------------------\n*/\n/*\n----------------------------------------\nstr-split()\n----------------------------------------\nSplit a string at a given separator\nand convert into a lisrt of substrings\n----------------------------------------\n*/\n/*\n----------------------------------------\nstr-replace()\n----------------------------------------\nReplace any substring with another\nstring\n----------------------------------------\n*/\n/*\n----------------------------------------\nis-system-color-token()\n----------------------------------------\nReturn whether a token is a system\ncolor token\n----------------------------------------\n*/\n/*\n----------------------------------------\nis-theme-color-token()\n----------------------------------------\nReturn whether a token is a theme\ncolor token\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolor-token-assignment()\n----------------------------------------\nGet the system token equivalent of any\ntheme color token\n----------------------------------------\n*/\n/*\n----------------------------------------\nis-color-token()\n----------------------------------------\nReturns whether a given string is a\nUSWDS color token.\n----------------------------------------\n*/\n/*\n----------------------------------------\ncalculate-grade()\n----------------------------------------\nDerive the grade equivalent any color,\neven non-token colors\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolor()\n----------------------------------------\nDerive a color from a color shortcode\n----------------------------------------\n*/\n/*\n----------------------------------------\nadvanced-color()\n----------------------------------------\nDerive a color from a color triplet:\n[family], [grade], [variant]\n----------------------------------------\n*/\n/*\n----------------------------------------\nunits()\n----------------------------------------\nConverts a spacing unit into\nthe desired final units (currently rem)\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-palettes()\n----------------------------------------\nBuild a single map of plugin values\nfrom a list of plugin keys.\n----------------------------------------\n*/\n/*\n----------------------------------------\nborder-radius()\n----------------------------------------\nGet a border-radius from the system\nborder-radii\n----------------------------------------\n*/\n/*\n----------------------------------------\nfont-weight()\nfw()\n----------------------------------------\nGet a font-weight value from the\nsystem font-weight\n----------------------------------------\n*/\n/*\n----------------------------------------\nfeature()\n----------------------------------------\nGets a valid USWDS font feature setting\n----------------------------------------\n*/\n/*\n----------------------------------------\nflex()\n----------------------------------------\nGets a valid USWDS flex value\n----------------------------------------\n*/\n/*\n----------------------------------------\nfont-family()\nfamily()\n----------------------------------------\nGet a font-family stack from a\nrole-based or type-based font family\n----------------------------------------\n*/\n/*\n----------------------------------------\nletter-spacing()\nls()\n----------------------------------------\nGet a letter-spacing value from the\nsystem letter-spacing\n----------------------------------------\n*/\n/*\n----------------------------------------\nmeasure()\n----------------------------------------\nGets a valid USWDS reading line length\n----------------------------------------\n*/\n/*\n----------------------------------------\nopacity()\n----------------------------------------\nGet an opacity from the system\nopacities\n----------------------------------------\n*/\n/*\n----------------------------------------\norder()\n----------------------------------------\nGet an order value from the\nsystem orders\n----------------------------------------\n*/\n/*\n----------------------------------------\nradius()\n----------------------------------------\nGet a border-radius value from the\nsystem letter-spacing\n----------------------------------------\n*/\n/*\n----------------------------------------\nfont-size()\n----------------------------------------\nGet type scale value from a [family] and\n[scale]\n----------------------------------------\n*/\n/*\n----------------------------------------\nz-index()\nz()\n----------------------------------------\nGet a z-index value from the\nsystem z-index\n----------------------------------------\n*/\n/*\n----------------------------------------\nmagic-number()\n----------------------------------------\nReturns the magic number of two color\ngrades. Takes numbers or color tokens.\n\nmagic-number(50, 10)\nreturn: 40\n\nmagic-number(\"red-50\", \"red-10\")\nreturn: 40\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-default()\n----------------------------------------\nReturns the default value from a map\nof project defaults\n\nget-default(\"bg-color\")\n> $theme-body-background-color\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-color-token-from-bg()\n----------------------------------------\nReturns an accessible foreground color\ntoken, given a background, preferred\ncolor, fallback color, and WCAG target\n\nreturns: color-token\n\nget-color-token-from-bg(\n  \"black\",\n  \"red-60\",\n  \"red-10\",\n  \"AA\")\n> \"red-10\"\n----------------------------------------\n*/\n/*\n----------------------------------------\nget-link-tokens-from-bg()\n----------------------------------------\nGet accessible link colors for a given\nbackground color\n\nreturns: link-token, hover-token\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"red-60\",\n  \"red-10\",\n  \"AA\")\n> \"red-10\", \"red-5\"\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"red-60v\",\n  \"red-10v\",\n  \"AA-large\")\n> \"red-60v\", \"red-50v\"\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"red-5v\",\n  \"red-60v\",\n  \"AA\")\n> \"red-5v\", \"white\"\n\nget-link-tokens-from-bg(\n  \"black\",\n  \"white\",\n  \"red-60v\",\n  \"AA\")\n> \"white\", \"white\"\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolor-token-type()\n----------------------------------------\nReturns the type of a color token.\n\nReturns: \"system\" | \"theme\"\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolor-token-family()\n----------------------------------------\nReturns the family of a color token.\n\nReturns: color-family\n\ncolor-token-family(\"accent-warm-vivid\")\n> \"accent-warm\"\n\ncolor-token-family(\"red-50v\")\n> \"red\"\n\ncolor-token-variant((\"red\", 50, \"vivid\"))\n> \"red\"\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolor-token-grade()\n----------------------------------------\nReturns the grade of a USWDS color token.\n\nReturns: color-grade\n\ncolor-token-grade(\"accent-warm\")\n> \"root\"\n\ncolor-token-grade(\"accent-warm-vivid\")\n> \"root\"\n\ncolor-token-grade(\"accent-warm-darker\")\n> \"darker\"\n\ncolor-token-grade(\"red-50v\")\n> 50\n\ncolor-token-variant((\"red\", 50, \"vivid\"))\n> 50\n----------------------------------------\n*/\n/*\n----------------------------------------\ncolor-token-variant()\n----------------------------------------\nReturns the variant of color token.\n\nReturns: \"vivid\" | false\n\ncolor-token-variant(\"accent-warm\")\n> false\n\ncolor-token-variant(\"accent-warm-vivid\")\n> \"vivid\"\n\ncolor-token-variant(\"red-50v\")\n> \"vivid\"\n\ncolor-token-variant((\"red\", 50, \"vivid\"))\n> \"vivid\"\n----------------------------------------\n*/\n/*\n----------------------------------------\nnext-token()\n----------------------------------------\nReturns next \"darker\" or \"lighter\" color\ntoken of the same token type and variant.\n\nReturns: color-token | false\n\nnext-token(\"accent-warm\", \"lighter\")\n> \"accent-warm-light\"\n\nnext-token(\"gray-10\", \"lighter\")\n> \"gray-5\"\n\nnext-token(\"gray-5\", \"lighter\")\n> \"white\"\n\nnext-token(\"white\", \"lighter\")\n> false\n\nnext-token(\"red-50v\", \"darker\")\n> \"red-60v\"\n\nnext-token(\"red-50\", \"darker\")\n> \"red-60\"\n\nnext-token(\"red-80v\", \"darker\")\n> \"red-90\"\n\nnext-token(\"red-90\", \"darker\")\n> \"black\"\n\nnext-token(\"white\", \"darker\")\n> \"gray-5\"\n\nnext-token(\"black\", \"lighter\")\n> \"gray-90\"\n----------------------------------------\n*/\n/*\n----------------------------------------\nwcag-magic-number()\n----------------------------------------\nReturns the magic number of a specific\nwcag grade:\n\n\"AA\"\n\"AA-Large\"\n\"AAA\"\n\nwcag-magic-number(\"AA\")\n> 50\n----------------------------------------\n*/\n/*\n----------------------------------------\nis-accessible-magic-number()\n----------------------------------------\nReturns whether two grades achieve\nspecified target color contrast\n\nReturns: true | false\n\nis-accessible-magic-number(10, 50, \"AA\")\n> false\n\nis-accessible-magic-number(10, 60, \"AA\")\n> true\n----------------------------------------\n*/\n/*\n========================================\ncore/units\n----------------------------------------\nThe master palettes of\n- colors\n- whitespace\n- typescale\n----------------------------------------\nThis file is not meant to be modified\nby USWDS project teams. Change your\nproject values in\nproject/uswds-project-settings\n----------------------------------------\n*/\n/*\n----------------------------------------\nSpacing grid multiplier\n----------------------------------------\n*/\n/*\n----------------------------------------\nSpacing grid\n----------------------------------------\n*/\n/*\n----------------------------------------\nBreakpoints\n----------------------------------------\n*/\n/*\n----------------------------------------\nUnits\n----------------------------------------\n*/\n/*\n----------------------------------------\nLayout grid widths\n----------------------------------------\n*/\n/*\n----------------------------------------\nFont stacks\n----------------------------------------\n*/\n/*\n----------------------------------------\nTypeface\n----------------------------------------\n*/\n/*\n----------------------------------------\nTypescale\n----------------------------------------\n*/\n/*\n----------------------------------------\nMeasure\n----------------------------------------\n*/\n/*\n----------------------------------------\nLine height\n----------------------------------------\n*/\n/*\n----------------------------------------\nBase cap height\n----------------------------------------\n500px 'N' height measured in Sketch.\nUsed for normalizing font sizes.\nCurrent normalized to Apple system\nfonts.\n----------------------------------------\n*/\n/*\n----------------------------------------\nLuminance ranges\n----------------------------------------\n*/\n/*\n----------------------------------------\nColors\n----------------------------------------\n*/\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nUSWDS 2.0 Variables\nUse for computed variables or any\nnot meant to be set by system users\ndirectly.\n----------------------------------------\n*/\n/*\n----------------------------------------\nTouch target size\n----------------------------------------\n*/\n/*\n----------------------------------------\nNamespace\n----------------------------------------\n*/\n/*\n----------------------------------------\nSeparator\n----------------------------------------\n*/\n/*\n----------------------------------------\nSpacing\n----------------------------------------\nAll spacing values that can be called\nby units()\n----------------------------------------\n*/\n/*\n----------------------------------------\nProject fonts\n----------------------------------------\nCollects font settings in a map for\nlooping.\n----------------------------------------\n*/\n/*\n----------------------------------------\nFont stack\n----------------------------------------\nCompute the project font stack based on\nthe project fonts and the font\ndefinition values set in\ncore/_font-definitions\n----------------------------------------\n*/\n/*\n----------------------------------------\nCap heights\n----------------------------------------\nCollect project cap heights\n----------------------------------------\n*/\n/*\n----------------------------------------\nTheme color families and grades\n----------------------------------------\n*/\n/*\n----------------------------------------\nTheme color map\n----------------------------------------\n*/\n/*\n----------------------------------------\nTheme color shortcodes\n----------------------------------------\n*/\n/*\n----------------------------------------\nSystem magic numbers for color contrast\n----------------------------------------\n*/\n/*\n----------------------------------------\nLuminance color component values\n----------------------------------------\n*/\n/*\n----------------------------------------\nBuild the project type scale map\n----------------------------------------\n*/\n/*\n----------------------------------------\nBorder-radius\n----------------------------------------\n*/\n/*\n----------------------------------------\nColumn gaps\n----------------------------------------\n*/\n/*\n----------------------------------------\nGrid\n----------------------------------------\n*/\n/*\n----------------------------------------\nAspect Ratios\n----------------------------------------\n*/\n/*\n----------------------------------------\nEasing\n----------------------------------------\n*/\n/*\n----------------------------------------\nProject defaults\n----------------------------------------\n*/\n/*\n----------------------------------------\nUSWDS Properties\n----------------------------------------\n*/\n/*\n----------------------------------------\nfamily()\n----------------------------------------\nGet a font-family stack\n----------------------------------------\n*/\n/*\n----------------------------------------\nsize()\n----------------------------------------\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n/*\n----------------------------------------\nfont()\n----------------------------------------\nGet a font-family stack\nAND\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n/*\n----------------------------------------\ntypeset()\n----------------------------------------\nSets:\n- family\n- size\n- line-height\n----------------------------------------\n*/\n/* stylelint-disable max-nesting-depth */\n/*\n----------------------------------------\n@render-pseudoclass\n----------------------------------------\nBuild a pseucoclass utiliy from values\ncalculated in the @render-utilities-in\nloop\n----------------------------------------\n*/\n/*\n----------------------------------------\n@render-utility\n----------------------------------------\nBuild a utility from values calculated\nin the @render-utilities-in loop\n----------------------------------------\nTODO: Determine the proper use of\nunquote() in the following. Changed to\naccount for a 'interpolation near\noperators will be simplified in a\nfuture version of Sass' warning.\n----------------------------------------\n*/\n/*\n----------------------------------------\n@render-utilities-in\n----------------------------------------\nThe master loop that sets the building\nblocks of utilities from the values\nin individual rule settings and loops\nthrough all possible variants\n----------------------------------------\n*/\n/* stylelint-enable */\n/*  deprecated.scss\n    ---\n    Occasionally the design system will deprecate\n    old variables or functionality. If we replace\n    the old functionality with something new, this is a\n    place to connect the old functionality to the\n    new functionality, in the service of better\n    continuity and backwards compatibility within a\n    major release cycle.\n\n    Note the USWDS version where we deprecated the\n    old functionality in a comment.\n\n    Be sure to update notifications.scss.\n\n    This file should started fresh at each\n    major version.\n*/\n/*  notifications.scss\n    ---\n    Adds a notification at the top of each USWDS\n    compile. Use this file for important notifications\n    and updates to the design system.\n\n    This file should started fresh at each\n    major version.\n\n*/\n/* prettier-ignore */\n/* prettier-ignore */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n   ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n  line-height: 1.15;\n  /* 1 */\n  -webkit-text-size-adjust: 100%;\n  /* 2 */\n}\n\n/* Sections\n   ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n  margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n  box-sizing: content-box;\n  /* 1 */\n  height: 0;\n  /* 1 */\n  overflow: visible;\n  /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n  background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n  border-bottom: none;\n  /* 1 */\n  text-decoration: underline;\n  /* 2 */\n  text-decoration: underline dotted;\n  /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n  border-style: none;\n}\n\n/* Forms\n   ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n  /* 1 */\n  font-size: 100%;\n  /* 1 */\n  line-height: 1.15;\n  /* 1 */\n  margin: 0;\n  /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n  /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n  /* 1 */\n  text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n  -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=button]:-moz-focusring,\n[type=reset]:-moz-focusring,\n[type=submit]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\nlegend {\n  box-sizing: border-box;\n  /* 1 */\n  color: inherit;\n  /* 2 */\n  display: table;\n  /* 1 */\n  max-width: 100%;\n  /* 1 */\n  padding: 0;\n  /* 3 */\n  white-space: normal;\n  /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n  vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n  overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=checkbox],\n[type=radio] {\n  box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=search] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  outline-offset: -2px;\n  /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=search]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  /* 1 */\n  font: inherit;\n  /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n  display: list-item;\n}\n\n/* Misc\n   ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n  display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n  display: none;\n}\n\n/* stylelint-disable */\n@font-face {\n  font-family: \"Roboto Mono Web\";\n  font-style: normal;\n  font-weight: 300;\n  font-display: fallback;\n  src: url(../fonts/roboto-mono/roboto-mono-v5-latin-300.woff2) format(\"woff2\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-300.woff) format(\"woff\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-300.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Roboto Mono Web\";\n  font-style: normal;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2) format(\"woff2\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.woff) format(\"woff\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Roboto Mono Web\";\n  font-style: normal;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(../fonts/roboto-mono/roboto-mono-v5-latin-700.woff2) format(\"woff2\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-700.woff) format(\"woff\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-700.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Roboto Mono Web\";\n  font-style: italic;\n  font-weight: 300;\n  font-display: fallback;\n  src: url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2) format(\"woff2\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff) format(\"woff\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Roboto Mono Web\";\n  font-style: italic;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2) format(\"woff2\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.woff) format(\"woff\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Roboto Mono Web\";\n  font-style: italic;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2) format(\"woff2\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff) format(\"woff\"), url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Source Sans Pro Web\";\n  font-style: normal;\n  font-weight: 300;\n  font-display: fallback;\n  src: url(../fonts/source-sans-pro/sourcesanspro-light-webfont.woff2) format(\"woff2\"), url(../fonts/source-sans-pro/sourcesanspro-light-webfont.woff) format(\"woff\"), url(../fonts/source-sans-pro/sourcesanspro-light-webfont.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Source Sans Pro Web\";\n  font-style: normal;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2) format(\"woff2\"), url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.woff) format(\"woff\"), url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Source Sans Pro Web\";\n  font-style: normal;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2) format(\"woff2\"), url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.woff) format(\"woff\"), url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Source Sans Pro Web\";\n  font-style: italic;\n  font-weight: 300;\n  font-display: fallback;\n  src: url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2) format(\"woff2\"), url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff) format(\"woff\"), url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Source Sans Pro Web\";\n  font-style: italic;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2) format(\"woff2\"), url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.woff) format(\"woff\"), url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Source Sans Pro Web\";\n  font-style: italic;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2) format(\"woff2\"), url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff) format(\"woff\"), url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Merriweather Web\";\n  font-style: normal;\n  font-weight: 300;\n  font-display: fallback;\n  src: url(../fonts/merriweather/Latin-Merriweather-Light.woff2) format(\"woff2\"), url(../fonts/merriweather/Latin-Merriweather-Light.woff) format(\"woff\"), url(../fonts/merriweather/Latin-Merriweather-Light.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Merriweather Web\";\n  font-style: normal;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(../fonts/merriweather/Latin-Merriweather-Regular.woff2) format(\"woff2\"), url(../fonts/merriweather/Latin-Merriweather-Regular.woff) format(\"woff\"), url(../fonts/merriweather/Latin-Merriweather-Regular.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Merriweather Web\";\n  font-style: normal;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(../fonts/merriweather/Latin-Merriweather-Bold.woff2) format(\"woff2\"), url(../fonts/merriweather/Latin-Merriweather-Bold.woff) format(\"woff\"), url(../fonts/merriweather/Latin-Merriweather-Bold.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Merriweather Web\";\n  font-style: italic;\n  font-weight: 300;\n  font-display: fallback;\n  src: url(../fonts/merriweather/Latin-Merriweather-LightItalic.woff2) format(\"woff2\"), url(../fonts/merriweather/Latin-Merriweather-LightItalic.woff) format(\"woff\"), url(../fonts/merriweather/Latin-Merriweather-LightItalic.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Merriweather Web\";\n  font-style: italic;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(../fonts/merriweather/Latin-Merriweather-Italic.woff2) format(\"woff2\"), url(../fonts/merriweather/Latin-Merriweather-Italic.woff) format(\"woff\"), url(../fonts/merriweather/Latin-Merriweather-Italic.ttf) format(\"truetype\");\n}\n@font-face {\n  font-family: \"Merriweather Web\";\n  font-style: italic;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(../fonts/merriweather/Latin-Merriweather-BoldItalic.woff2) format(\"woff2\"), url(../fonts/merriweather/Latin-Merriweather-BoldItalic.woff) format(\"woff\"), url(../fonts/merriweather/Latin-Merriweather-BoldItalic.ttf) format(\"truetype\");\n}\n/* stylelint-enable */\ninput:not([disabled]):focus,\nselect:not([disabled]):focus,\ntextarea:not([disabled]):focus,\nbutton:not([disabled]):focus {\n  outline: 0.25rem none #2491ff;\n  outline-offset: 0;\n}\n\niframe:focus,\n[href]:focus,\n[tabindex]:focus,\n[contentEditable=true]:focus {\n  outline: 0.25rem none #2491ff;\n  outline-offset: 0;\n}\n\n.usa-focus {\n  outline: 0.25rem none #2491ff;\n  outline-offset: 0;\n}\n\nhtml {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\nhtml {\n  font-feature-settings: \"kern\" 1;\n  font-kerning: normal;\n  font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  font-size: 100%;\n}\n\ncite,\nvar,\naddress,\ndfn {\n  font-style: normal;\n}\n\n/* stylelint-disable */\n.grid-container {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 64rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-card {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 10rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-card {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-card-lg {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 15rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-card-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-mobile {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 20rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-mobile {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-mobile-lg {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 30rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-mobile-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-tablet {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 40rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-tablet {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-tablet-lg {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 55rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-tablet-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-desktop {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 64rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-desktop {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-desktop-lg {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 75rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-desktop-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n.grid-container-widescreen {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 87.5rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n@media all and (min-width: 64em) {\n  .grid-container-widescreen {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 64rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-card {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 10rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-card {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-card-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 15rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-card-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-mobile {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 20rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-mobile {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-mobile-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 30rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-mobile-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-tablet {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 40rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-tablet {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-tablet-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 55rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-tablet-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-desktop {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 64rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-desktop {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-desktop-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 75rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-desktop-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-container-widescreen {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 87.5rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 30em) and (min-width: 64em) {\n  .mobile-lg\\:grid-container-widescreen {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 64rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-card {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 10rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-card {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-card-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 15rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-card-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-mobile {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 20rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-mobile {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-mobile-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 30rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-mobile-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-tablet {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 40rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-tablet {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-tablet-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 55rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-tablet-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-desktop {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 64rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-desktop {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-desktop-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 75rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-desktop-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-container-widescreen {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 87.5rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 40em) and (min-width: 64em) {\n  .tablet\\:grid-container-widescreen {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 64rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-card {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 10rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-card {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-card-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 15rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-card-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-mobile {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 20rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-mobile {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-mobile-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 30rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-mobile-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-tablet {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 40rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-tablet {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-tablet-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 55rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-tablet-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-desktop {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 64rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-desktop {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-desktop-lg {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 75rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-desktop-lg {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-container-widescreen {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 87.5rem;\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n@media all and (min-width: 64em) and (min-width: 64em) {\n  .desktop\\:grid-container-widescreen {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n.grid-row {\n  display: flex;\n  flex-wrap: wrap;\n}\n.grid-row.grid-gap {\n  margin-left: -0.5rem;\n  margin-right: -0.5rem;\n}\n.grid-row.grid-gap > * {\n  padding-left: 0.5rem;\n  padding-right: 0.5rem;\n}\n@media all and (min-width: 64em) {\n  .grid-row.grid-gap {\n    margin-left: -1rem;\n    margin-right: -1rem;\n  }\n  .grid-row.grid-gap > * {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n}\n.grid-row.grid-gap-0 {\n  margin-left: 0;\n  margin-right: 0;\n}\n.grid-row.grid-gap-0 > * {\n  padding-left: 0;\n  padding-right: 0;\n}\n.grid-row.grid-gap-2px {\n  margin-left: -1px;\n  margin-right: -1px;\n}\n.grid-row.grid-gap-2px > * {\n  padding-left: 1px;\n  padding-right: 1px;\n}\n.grid-row.grid-gap-05 {\n  margin-left: -2px;\n  margin-right: -2px;\n}\n.grid-row.grid-gap-05 > * {\n  padding-left: 2px;\n  padding-right: 2px;\n}\n.grid-row.grid-gap-1 {\n  margin-left: -0.25rem;\n  margin-right: -0.25rem;\n}\n.grid-row.grid-gap-1 > * {\n  padding-left: 0.25rem;\n  padding-right: 0.25rem;\n}\n.grid-row.grid-gap-2 {\n  margin-left: -0.5rem;\n  margin-right: -0.5rem;\n}\n.grid-row.grid-gap-2 > * {\n  padding-left: 0.5rem;\n  padding-right: 0.5rem;\n}\n.grid-row.grid-gap-3 {\n  margin-left: -0.75rem;\n  margin-right: -0.75rem;\n}\n.grid-row.grid-gap-3 > * {\n  padding-left: 0.75rem;\n  padding-right: 0.75rem;\n}\n.grid-row.grid-gap-4 {\n  margin-left: -1rem;\n  margin-right: -1rem;\n}\n.grid-row.grid-gap-4 > * {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n.grid-row.grid-gap-5 {\n  margin-left: -1.25rem;\n  margin-right: -1.25rem;\n}\n.grid-row.grid-gap-5 > * {\n  padding-left: 1.25rem;\n  padding-right: 1.25rem;\n}\n.grid-row.grid-gap-6 {\n  margin-left: -1.5rem;\n  margin-right: -1.5rem;\n}\n.grid-row.grid-gap-6 > * {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n.grid-row.grid-gap-sm {\n  margin-left: -1px;\n  margin-right: -1px;\n}\n.grid-row.grid-gap-sm > * {\n  padding-left: 1px;\n  padding-right: 1px;\n}\n.grid-row.grid-gap-md {\n  margin-left: -0.5rem;\n  margin-right: -0.5rem;\n}\n.grid-row.grid-gap-md > * {\n  padding-left: 0.5rem;\n  padding-right: 0.5rem;\n}\n.grid-row.grid-gap-lg {\n  margin-left: -0.75rem;\n  margin-right: -0.75rem;\n}\n.grid-row.grid-gap-lg > * {\n  padding-left: 0.75rem;\n  padding-right: 0.75rem;\n}\n@media all and (min-width: 30em) {\n  .grid-row.mobile-lg\\:grid-gap-0 {\n    margin-left: 0;\n    margin-right: 0;\n  }\n  .grid-row.mobile-lg\\:grid-gap-0 > * {\n    padding-left: 0;\n    padding-right: 0;\n  }\n  .grid-row.mobile-lg\\:grid-gap-2px {\n    margin-left: -1px;\n    margin-right: -1px;\n  }\n  .grid-row.mobile-lg\\:grid-gap-2px > * {\n    padding-left: 1px;\n    padding-right: 1px;\n  }\n  .grid-row.mobile-lg\\:grid-gap-05 {\n    margin-left: -2px;\n    margin-right: -2px;\n  }\n  .grid-row.mobile-lg\\:grid-gap-05 > * {\n    padding-left: 2px;\n    padding-right: 2px;\n  }\n  .grid-row.mobile-lg\\:grid-gap-1 {\n    margin-left: -0.25rem;\n    margin-right: -0.25rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-1 > * {\n    padding-left: 0.25rem;\n    padding-right: 0.25rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-2 {\n    margin-left: -0.5rem;\n    margin-right: -0.5rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-2 > * {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-3 {\n    margin-left: -0.75rem;\n    margin-right: -0.75rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-3 > * {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-4 {\n    margin-left: -1rem;\n    margin-right: -1rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-4 > * {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-5 {\n    margin-left: -1.25rem;\n    margin-right: -1.25rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-5 > * {\n    padding-left: 1.25rem;\n    padding-right: 1.25rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-6 {\n    margin-left: -1.5rem;\n    margin-right: -1.5rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-6 > * {\n    padding-left: 1.5rem;\n    padding-right: 1.5rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-sm {\n    margin-left: -1px;\n    margin-right: -1px;\n  }\n  .grid-row.mobile-lg\\:grid-gap-sm > * {\n    padding-left: 1px;\n    padding-right: 1px;\n  }\n  .grid-row.mobile-lg\\:grid-gap-md {\n    margin-left: -0.5rem;\n    margin-right: -0.5rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-md > * {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-lg {\n    margin-left: -0.75rem;\n    margin-right: -0.75rem;\n  }\n  .grid-row.mobile-lg\\:grid-gap-lg > * {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .grid-row.tablet\\:grid-gap-0 {\n    margin-left: 0;\n    margin-right: 0;\n  }\n  .grid-row.tablet\\:grid-gap-0 > * {\n    padding-left: 0;\n    padding-right: 0;\n  }\n  .grid-row.tablet\\:grid-gap-2px {\n    margin-left: -1px;\n    margin-right: -1px;\n  }\n  .grid-row.tablet\\:grid-gap-2px > * {\n    padding-left: 1px;\n    padding-right: 1px;\n  }\n  .grid-row.tablet\\:grid-gap-05 {\n    margin-left: -2px;\n    margin-right: -2px;\n  }\n  .grid-row.tablet\\:grid-gap-05 > * {\n    padding-left: 2px;\n    padding-right: 2px;\n  }\n  .grid-row.tablet\\:grid-gap-1 {\n    margin-left: -0.25rem;\n    margin-right: -0.25rem;\n  }\n  .grid-row.tablet\\:grid-gap-1 > * {\n    padding-left: 0.25rem;\n    padding-right: 0.25rem;\n  }\n  .grid-row.tablet\\:grid-gap-2 {\n    margin-left: -0.5rem;\n    margin-right: -0.5rem;\n  }\n  .grid-row.tablet\\:grid-gap-2 > * {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n  .grid-row.tablet\\:grid-gap-3 {\n    margin-left: -0.75rem;\n    margin-right: -0.75rem;\n  }\n  .grid-row.tablet\\:grid-gap-3 > * {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n  .grid-row.tablet\\:grid-gap-4 {\n    margin-left: -1rem;\n    margin-right: -1rem;\n  }\n  .grid-row.tablet\\:grid-gap-4 > * {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n  .grid-row.tablet\\:grid-gap-5 {\n    margin-left: -1.25rem;\n    margin-right: -1.25rem;\n  }\n  .grid-row.tablet\\:grid-gap-5 > * {\n    padding-left: 1.25rem;\n    padding-right: 1.25rem;\n  }\n  .grid-row.tablet\\:grid-gap-6 {\n    margin-left: -1.5rem;\n    margin-right: -1.5rem;\n  }\n  .grid-row.tablet\\:grid-gap-6 > * {\n    padding-left: 1.5rem;\n    padding-right: 1.5rem;\n  }\n  .grid-row.tablet\\:grid-gap-sm {\n    margin-left: -1px;\n    margin-right: -1px;\n  }\n  .grid-row.tablet\\:grid-gap-sm > * {\n    padding-left: 1px;\n    padding-right: 1px;\n  }\n  .grid-row.tablet\\:grid-gap-md {\n    margin-left: -0.5rem;\n    margin-right: -0.5rem;\n  }\n  .grid-row.tablet\\:grid-gap-md > * {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n  .grid-row.tablet\\:grid-gap-lg {\n    margin-left: -0.75rem;\n    margin-right: -0.75rem;\n  }\n  .grid-row.tablet\\:grid-gap-lg > * {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .grid-row.desktop\\:grid-gap-0 {\n    margin-left: 0;\n    margin-right: 0;\n  }\n  .grid-row.desktop\\:grid-gap-0 > * {\n    padding-left: 0;\n    padding-right: 0;\n  }\n  .grid-row.desktop\\:grid-gap-2px {\n    margin-left: -1px;\n    margin-right: -1px;\n  }\n  .grid-row.desktop\\:grid-gap-2px > * {\n    padding-left: 1px;\n    padding-right: 1px;\n  }\n  .grid-row.desktop\\:grid-gap-05 {\n    margin-left: -2px;\n    margin-right: -2px;\n  }\n  .grid-row.desktop\\:grid-gap-05 > * {\n    padding-left: 2px;\n    padding-right: 2px;\n  }\n  .grid-row.desktop\\:grid-gap-1 {\n    margin-left: -0.25rem;\n    margin-right: -0.25rem;\n  }\n  .grid-row.desktop\\:grid-gap-1 > * {\n    padding-left: 0.25rem;\n    padding-right: 0.25rem;\n  }\n  .grid-row.desktop\\:grid-gap-2 {\n    margin-left: -0.5rem;\n    margin-right: -0.5rem;\n  }\n  .grid-row.desktop\\:grid-gap-2 > * {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n  .grid-row.desktop\\:grid-gap-3 {\n    margin-left: -0.75rem;\n    margin-right: -0.75rem;\n  }\n  .grid-row.desktop\\:grid-gap-3 > * {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n  .grid-row.desktop\\:grid-gap-4 {\n    margin-left: -1rem;\n    margin-right: -1rem;\n  }\n  .grid-row.desktop\\:grid-gap-4 > * {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n  .grid-row.desktop\\:grid-gap-5 {\n    margin-left: -1.25rem;\n    margin-right: -1.25rem;\n  }\n  .grid-row.desktop\\:grid-gap-5 > * {\n    padding-left: 1.25rem;\n    padding-right: 1.25rem;\n  }\n  .grid-row.desktop\\:grid-gap-6 {\n    margin-left: -1.5rem;\n    margin-right: -1.5rem;\n  }\n  .grid-row.desktop\\:grid-gap-6 > * {\n    padding-left: 1.5rem;\n    padding-right: 1.5rem;\n  }\n  .grid-row.desktop\\:grid-gap-sm {\n    margin-left: -1px;\n    margin-right: -1px;\n  }\n  .grid-row.desktop\\:grid-gap-sm > * {\n    padding-left: 1px;\n    padding-right: 1px;\n  }\n  .grid-row.desktop\\:grid-gap-md {\n    margin-left: -0.5rem;\n    margin-right: -0.5rem;\n  }\n  .grid-row.desktop\\:grid-gap-md > * {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n  .grid-row.desktop\\:grid-gap-lg {\n    margin-left: -0.75rem;\n    margin-right: -0.75rem;\n  }\n  .grid-row.desktop\\:grid-gap-lg > * {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n}\n\n[class*=grid-col] {\n  position: relative;\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.grid-col {\n  flex: 1 1 0%;\n  width: auto;\n  max-width: 100%;\n  min-width: 1px;\n}\n\n.grid-col-auto {\n  flex: 0 1 auto;\n  width: auto;\n  max-width: 100%;\n}\n\n.grid-col-fill {\n  flex: 1 1 0%;\n  width: auto;\n  max-width: 100%;\n  min-width: 1px;\n}\n\n.grid-col-1 {\n  flex: 0 1 auto;\n  width: 8.3333333333%;\n}\n\n.grid-col-2 {\n  flex: 0 1 auto;\n  width: 16.6666666667%;\n}\n\n.grid-col-3 {\n  flex: 0 1 auto;\n  width: 25%;\n}\n\n.grid-col-4 {\n  flex: 0 1 auto;\n  width: 33.3333333333%;\n}\n\n.grid-col-5 {\n  flex: 0 1 auto;\n  width: 41.6666666667%;\n}\n\n.grid-col-6 {\n  flex: 0 1 auto;\n  width: 50%;\n}\n\n.grid-col-7 {\n  flex: 0 1 auto;\n  width: 58.3333333333%;\n}\n\n.grid-col-8 {\n  flex: 0 1 auto;\n  width: 66.6666666667%;\n}\n\n.grid-col-9 {\n  flex: 0 1 auto;\n  width: 75%;\n}\n\n.grid-col-10 {\n  flex: 0 1 auto;\n  width: 83.3333333333%;\n}\n\n.grid-col-11 {\n  flex: 0 1 auto;\n  width: 91.6666666667%;\n}\n\n.grid-col-12 {\n  flex: 0 1 auto;\n  width: 100%;\n}\n\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-col {\n    flex: 1 1 0%;\n    width: auto;\n    max-width: 100%;\n    min-width: 1px;\n  }\n\n  .mobile-lg\\:grid-col-fill {\n    flex: 1 1 0%;\n    width: auto;\n    max-width: 100%;\n    min-width: 1px;\n  }\n\n  .mobile-lg\\:grid-col-auto {\n    flex: 0 1 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .mobile-lg\\:grid-col-1 {\n    flex: 0 1 auto;\n    width: 8.3333333333%;\n  }\n\n  .mobile-lg\\:grid-col-2 {\n    flex: 0 1 auto;\n    width: 16.6666666667%;\n  }\n\n  .mobile-lg\\:grid-col-3 {\n    flex: 0 1 auto;\n    width: 25%;\n  }\n\n  .mobile-lg\\:grid-col-4 {\n    flex: 0 1 auto;\n    width: 33.3333333333%;\n  }\n\n  .mobile-lg\\:grid-col-5 {\n    flex: 0 1 auto;\n    width: 41.6666666667%;\n  }\n\n  .mobile-lg\\:grid-col-6 {\n    flex: 0 1 auto;\n    width: 50%;\n  }\n\n  .mobile-lg\\:grid-col-7 {\n    flex: 0 1 auto;\n    width: 58.3333333333%;\n  }\n\n  .mobile-lg\\:grid-col-8 {\n    flex: 0 1 auto;\n    width: 66.6666666667%;\n  }\n\n  .mobile-lg\\:grid-col-9 {\n    flex: 0 1 auto;\n    width: 75%;\n  }\n\n  .mobile-lg\\:grid-col-10 {\n    flex: 0 1 auto;\n    width: 83.3333333333%;\n  }\n\n  .mobile-lg\\:grid-col-11 {\n    flex: 0 1 auto;\n    width: 91.6666666667%;\n  }\n\n  .mobile-lg\\:grid-col-12 {\n    flex: 0 1 auto;\n    width: 100%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-col {\n    flex: 1 1 0%;\n    width: auto;\n    max-width: 100%;\n    min-width: 1px;\n  }\n\n  .tablet\\:grid-col-fill {\n    flex: 1 1 0%;\n    width: auto;\n    max-width: 100%;\n    min-width: 1px;\n  }\n\n  .tablet\\:grid-col-auto {\n    flex: 0 1 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .tablet\\:grid-col-1 {\n    flex: 0 1 auto;\n    width: 8.3333333333%;\n  }\n\n  .tablet\\:grid-col-2 {\n    flex: 0 1 auto;\n    width: 16.6666666667%;\n  }\n\n  .tablet\\:grid-col-3 {\n    flex: 0 1 auto;\n    width: 25%;\n  }\n\n  .tablet\\:grid-col-4 {\n    flex: 0 1 auto;\n    width: 33.3333333333%;\n  }\n\n  .tablet\\:grid-col-5 {\n    flex: 0 1 auto;\n    width: 41.6666666667%;\n  }\n\n  .tablet\\:grid-col-6 {\n    flex: 0 1 auto;\n    width: 50%;\n  }\n\n  .tablet\\:grid-col-7 {\n    flex: 0 1 auto;\n    width: 58.3333333333%;\n  }\n\n  .tablet\\:grid-col-8 {\n    flex: 0 1 auto;\n    width: 66.6666666667%;\n  }\n\n  .tablet\\:grid-col-9 {\n    flex: 0 1 auto;\n    width: 75%;\n  }\n\n  .tablet\\:grid-col-10 {\n    flex: 0 1 auto;\n    width: 83.3333333333%;\n  }\n\n  .tablet\\:grid-col-11 {\n    flex: 0 1 auto;\n    width: 91.6666666667%;\n  }\n\n  .tablet\\:grid-col-12 {\n    flex: 0 1 auto;\n    width: 100%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-col {\n    flex: 1 1 0%;\n    width: auto;\n    max-width: 100%;\n    min-width: 1px;\n  }\n\n  .desktop\\:grid-col-fill {\n    flex: 1 1 0%;\n    width: auto;\n    max-width: 100%;\n    min-width: 1px;\n  }\n\n  .desktop\\:grid-col-auto {\n    flex: 0 1 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .desktop\\:grid-col-1 {\n    flex: 0 1 auto;\n    width: 8.3333333333%;\n  }\n\n  .desktop\\:grid-col-2 {\n    flex: 0 1 auto;\n    width: 16.6666666667%;\n  }\n\n  .desktop\\:grid-col-3 {\n    flex: 0 1 auto;\n    width: 25%;\n  }\n\n  .desktop\\:grid-col-4 {\n    flex: 0 1 auto;\n    width: 33.3333333333%;\n  }\n\n  .desktop\\:grid-col-5 {\n    flex: 0 1 auto;\n    width: 41.6666666667%;\n  }\n\n  .desktop\\:grid-col-6 {\n    flex: 0 1 auto;\n    width: 50%;\n  }\n\n  .desktop\\:grid-col-7 {\n    flex: 0 1 auto;\n    width: 58.3333333333%;\n  }\n\n  .desktop\\:grid-col-8 {\n    flex: 0 1 auto;\n    width: 66.6666666667%;\n  }\n\n  .desktop\\:grid-col-9 {\n    flex: 0 1 auto;\n    width: 75%;\n  }\n\n  .desktop\\:grid-col-10 {\n    flex: 0 1 auto;\n    width: 83.3333333333%;\n  }\n\n  .desktop\\:grid-col-11 {\n    flex: 0 1 auto;\n    width: 91.6666666667%;\n  }\n\n  .desktop\\:grid-col-12 {\n    flex: 0 1 auto;\n    width: 100%;\n  }\n}\n.grid-offset-1 {\n  margin-left: 8.3333333333%;\n}\n\n.grid-offset-2 {\n  margin-left: 16.6666666667%;\n}\n\n.grid-offset-3 {\n  margin-left: 25%;\n}\n\n.grid-offset-4 {\n  margin-left: 33.3333333333%;\n}\n\n.grid-offset-5 {\n  margin-left: 41.6666666667%;\n}\n\n.grid-offset-6 {\n  margin-left: 50%;\n}\n\n.grid-offset-7 {\n  margin-left: 58.3333333333%;\n}\n\n.grid-offset-8 {\n  margin-left: 66.6666666667%;\n}\n\n.grid-offset-9 {\n  margin-left: 75%;\n}\n\n.grid-offset-10 {\n  margin-left: 83.3333333333%;\n}\n\n.grid-offset-11 {\n  margin-left: 91.6666666667%;\n}\n\n.grid-offset-12 {\n  margin-left: 100%;\n}\n\n.grid-offset-none {\n  margin-left: 0;\n}\n\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-1 {\n    margin-left: 8.3333333333%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-2 {\n    margin-left: 16.6666666667%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-3 {\n    margin-left: 25%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-4 {\n    margin-left: 33.3333333333%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-5 {\n    margin-left: 41.6666666667%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-6 {\n    margin-left: 50%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-7 {\n    margin-left: 58.3333333333%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-8 {\n    margin-left: 66.6666666667%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-9 {\n    margin-left: 75%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-10 {\n    margin-left: 83.3333333333%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-12 {\n    margin-left: 100%;\n  }\n}\n@media all and (min-width: 30em) {\n  .mobile-lg\\:grid-offset-none {\n    margin-left: 0;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-1 {\n    margin-left: 8.3333333333%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-2 {\n    margin-left: 16.6666666667%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-3 {\n    margin-left: 25%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-4 {\n    margin-left: 33.3333333333%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-5 {\n    margin-left: 41.6666666667%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-6 {\n    margin-left: 50%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-7 {\n    margin-left: 58.3333333333%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-8 {\n    margin-left: 66.6666666667%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-9 {\n    margin-left: 75%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-10 {\n    margin-left: 83.3333333333%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-12 {\n    margin-left: 100%;\n  }\n}\n@media all and (min-width: 40em) {\n  .tablet\\:grid-offset-none {\n    margin-left: 0;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-1 {\n    margin-left: 8.3333333333%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-2 {\n    margin-left: 16.6666666667%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-3 {\n    margin-left: 25%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-4 {\n    margin-left: 33.3333333333%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-5 {\n    margin-left: 41.6666666667%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-6 {\n    margin-left: 50%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-7 {\n    margin-left: 58.3333333333%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-8 {\n    margin-left: 66.6666666667%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-9 {\n    margin-left: 75%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-10 {\n    margin-left: 83.3333333333%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-12 {\n    margin-left: 100%;\n  }\n}\n@media all and (min-width: 64em) {\n  .desktop\\:grid-offset-none {\n    margin-left: 0;\n  }\n}\n/* stylelint-enable */\n.usa-accordion {\n  margin-bottom: 0;\n  margin-top: 0;\n  list-style-type: none;\n  padding-left: 0;\n  color: #1b1b1b;\n  margin: 0;\n  padding: 0;\n  width: 100%;\n  font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  font-size: 1.06rem;\n  line-height: 1.5;\n}\n.usa-accordion > li {\n  margin-bottom: 0;\n  max-width: unset;\n}\n.usa-accordion > ul li ul {\n  list-style: disc;\n}\n.usa-accordion > ul li ul > li > ul {\n  list-style: circle;\n}\n.usa-accordion > ul li ul > li > ul > li > ul {\n  list-style: square;\n}\n.usa-accordion + .usa-accordion,\n.usa-accordion + .usa-accordion--bordered {\n  margin-top: 0.5rem;\n}\n\n.usa-accordion--bordered .usa-accordion__content {\n  border-bottom: 0.25rem solid #f0f0f0;\n  border-left: 0.25rem solid #f0f0f0;\n  border-right: 0.25rem solid #f0f0f0;\n  padding-bottom: 1rem;\n}\n.usa-accordion--bordered .usa-accordion__heading {\n  margin-bottom: 0;\n}\n\n.usa-accordion__heading,\n.usa-prose .usa-accordion__heading {\n  font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  font-size: 1.06rem;\n  line-height: 0.9;\n  margin: 0;\n}\n.usa-accordion__heading:not(:first-child),\n.usa-prose .usa-accordion__heading:not(:first-child) {\n  margin-top: 0.5rem;\n}\n\n.usa-accordion__content {\n  background-color: white;\n  margin-top: 0;\n  overflow: auto;\n  padding: 1rem 1.25rem calc(1rem - 0.25rem) 1.25rem;\n}\n.usa-accordion__content > *:first-child {\n  margin-top: 0;\n}\n.usa-accordion__content > *:last-child {\n  margin-bottom: 0;\n}\n\n.usa-accordion__button {\n  -moz-osx-font-smoothing: inherit;\n  -webkit-font-smoothing: inherit;\n  color: #005ea2;\n  text-decoration: underline;\n  background-color: transparent;\n  border: 0;\n  border-radius: 0;\n  box-shadow: none;\n  font-weight: normal;\n  margin: 0;\n  padding: 0;\n  text-align: left;\n  background-image: url(\"../img/usa-icons/remove.svg\"), linear-gradient(transparent, transparent);\n  background-repeat: no-repeat;\n  background-color: #f0f0f0;\n  background-position: right 1.25rem center;\n  background-size: 1.5rem;\n  color: #1b1b1b;\n  cursor: pointer;\n  display: inline-block;\n  font-weight: 700;\n  margin: 0;\n  padding: 1rem 3.5rem 1rem 1.25rem;\n  text-decoration: none;\n  width: 100%;\n}\n.usa-accordion__button:visited {\n  color: #54278f;\n}\n.usa-accordion__button:hover {\n  color: #1a4480;\n}\n.usa-accordion__button:active {\n  color: #162e51;\n}\n.usa-accordion__button:focus {\n  outline: 0.25rem none #2491ff;\n  outline-offset: 0;\n}\n.usa-accordion__button:hover, .usa-accordion__button.usa-button--hover, .usa-accordion__button:disabled:hover, .usa-accordion__button:disabled.usa-button--hover, .usa-accordion__button.usa-button--disabled:hover, .usa-accordion__button.usa-button--disabled.usa-button--hover, .usa-accordion__button:active, .usa-accordion__button.usa-button--active, .usa-accordion__button:disabled:active, .usa-accordion__button:disabled.usa-button--active, .usa-accordion__button.usa-button--disabled:active, .usa-accordion__button.usa-button--disabled.usa-button--active, .usa-accordion__button:disabled:focus, .usa-accordion__button:disabled.usa-focus, .usa-accordion__button.usa-button--disabled:focus, .usa-accordion__button.usa-button--disabled.usa-focus, .usa-accordion__button:disabled, .usa-accordion__button.usa-button--disabled {\n  -moz-osx-font-smoothing: inherit;\n  -webkit-font-smoothing: inherit;\n  background-color: transparent;\n  box-shadow: none;\n  text-decoration: underline;\n}\n.usa-accordion__button:disabled, .usa-accordion__button.usa-button--disabled {\n  color: #c9c9c9;\n}\n.usa-accordion__button.usa-button--hover {\n  color: #1a4480;\n}\n.usa-accordion__button.usa-button--active {\n  color: #162e51;\n}\n.usa-accordion__button:hover {\n  background-color: #dfe1e2;\n  color: #1b1b1b;\n  text-decoration: none;\n}\n@media (forced-colors: active) {\n  .usa-accordion__button {\n    forced-color-adjust: none;\n  }\n}\n\n.usa-accordion__button[aria-expanded=false] {\n  background-image: url(\"../img/usa-icons/add.svg\"), linear-gradient(transparent, transparent);\n  background-repeat: no-repeat;\n  background-size: 1.5rem;\n}\n\nimg {\n  max-width: 100%;\n}\n\n.usa-media-link {\n  display: inline-block;\n  line-height: 0;\n}\n\n.usa-media-block {\n  align-items: flex-start;\n  display: flex;\n}\n\n.usa-media-block__img {\n  flex-shrink: 0;\n  margin-right: 0.5rem;\n}\n\n.usa-media-block__body {\n  flex: 1 1 0%;\n}\n\n.usa-banner {\n  font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  font-size: 1.06rem;\n  line-height: 1.5;\n  background-color: #f0f0f0;\n}\n@media all and (min-width: 40em) {\n  .usa-banner {\n    font-size: 0.87rem;\n    padding-bottom: 0;\n  }\n}\n.usa-banner .usa-accordion {\n  font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  font-size: 1.06rem;\n  line-height: 1.5;\n}\n\n.usa-banner__header,\n.usa-banner__content {\n  color: #1b1b1b;\n}\n\n.usa-banner__content {\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 87.5rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  background-color: transparent;\n  font-size: 1rem;\n  overflow: hidden;\n  padding-bottom: 1rem;\n  padding-left: 0.5rem;\n  padding-top: 0.25rem;\n  width: 100%;\n}\n@media all and (min-width: 64em) {\n  .usa-banner__content {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .usa-banner__content {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .usa-banner__content {\n    padding-bottom: 1.5rem;\n    padding-top: 1.5rem;\n  }\n}\n.usa-banner__content p:first-child {\n  margin: 0;\n}\n\n.usa-banner__guidance {\n  display: flex;\n  align-items: flex-start;\n  max-width: 64ex;\n  padding-top: 1rem;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__guidance {\n    padding-top: 0;\n  }\n}\n\n.usa-banner__lock-image {\n  height: 1.5ex;\n  width: 1.21875ex;\n}\n.usa-banner__lock-image path {\n  fill: currentColor;\n}\n@media (forced-colors: active) {\n  .usa-banner__lock-image path {\n    fill: CanvasText;\n  }\n}\n\n.usa-banner__inner {\n  padding-left: 1rem;\n  padding-right: 1rem;\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 87.5rem;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-start;\n  padding-right: 0;\n}\n@media all and (min-width: 64em) {\n  .usa-banner__inner {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 64em) {\n  .usa-banner__inner {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n}\n@media all and (min-width: 40em) {\n  .usa-banner__inner {\n    align-items: center;\n  }\n}\n\n.usa-banner__header {\n  padding-bottom: 0.5rem;\n  padding-top: 0.5rem;\n  font-size: 0.8rem;\n  font-weight: normal;\n  min-height: 3rem;\n  position: relative;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__header {\n    padding-bottom: 0.25rem;\n    padding-top: 0.25rem;\n    min-height: 0;\n  }\n}\n\n.usa-banner__header-text {\n  margin-bottom: 0;\n  margin-top: 0;\n  font-size: 0.8rem;\n  line-height: 1.1;\n}\n\n.usa-banner__header-action {\n  color: #005ea2;\n  line-height: 1.1;\n  margin-bottom: 0;\n  margin-top: 2px;\n  text-decoration: underline;\n}\n.usa-banner__header-action::after {\n  background: url(\"../img/usa-icons/expand_more.svg\") no-repeat center/contain;\n  display: inline-block;\n  height: 1rem;\n  width: 1rem;\n  content: \"\";\n  vertical-align: middle;\n  margin-left: auto;\n}\n@supports (mask: url(\"\")) {\n  .usa-banner__header-action::after {\n    background: none;\n    background-color: #005ea2;\n    mask: url(\"../img/usa-icons/expand_more.svg\") no-repeat center/contain;\n  }\n  .usa-banner__header-action::after:hover {\n    background-color: #1a4480;\n  }\n}\n.usa-banner__header-action:hover::after {\n  content: \"\";\n  background-color: #1a4480;\n}\n.usa-banner__header-action:visited {\n  color: #54278f;\n}\n.usa-banner__header-action:hover, .usa-banner__header-action:active {\n  color: #1a4480;\n}\n.usa-banner__header--expanded .usa-banner__header-action {\n  display: none;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__header-action {\n    display: none;\n  }\n}\n@media (forced-colors: active) {\n  .usa-banner__header-action {\n    color: LinkText;\n  }\n  .usa-banner__header-action::after {\n    background-color: ButtonText;\n  }\n}\n\n.usa-banner__header-flag {\n  float: left;\n  margin-right: 0.5rem;\n  width: 1rem;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__header-flag {\n    margin-right: 0.5rem;\n    padding-top: 0;\n  }\n}\n\n.usa-banner__header--expanded {\n  padding-right: 3.5rem;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__header--expanded {\n    background-color: transparent;\n    display: block;\n    font-size: 0.8rem;\n    font-weight: normal;\n    min-height: 0;\n    padding-right: 0;\n  }\n}\n.usa-banner__header--expanded .usa-banner__inner {\n  margin-left: 0;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__header--expanded .usa-banner__inner {\n    margin-left: auto;\n  }\n}\n.usa-banner__header--expanded .usa-banner__header-action {\n  display: none;\n}\n\n.usa-banner__button {\n  -moz-osx-font-smoothing: inherit;\n  -webkit-font-smoothing: inherit;\n  color: #005ea2;\n  text-decoration: underline;\n  background-color: transparent;\n  border: 0;\n  border-radius: 0;\n  box-shadow: none;\n  font-weight: normal;\n  margin: 0;\n  padding: 0;\n  text-align: left;\n  position: absolute;\n  left: 0;\n  position: absolute;\n  bottom: 0;\n  top: 0;\n  color: #005ea2;\n  text-decoration: underline;\n  vertical-align: baseline;\n  color: #005ea2;\n  display: block;\n  font-size: 0.8rem;\n  height: auto;\n  line-height: 1.1;\n  padding-top: 0;\n  padding-left: 0;\n  text-decoration: none;\n  width: auto;\n}\n.usa-banner__button:visited {\n  color: #54278f;\n}\n.usa-banner__button:hover {\n  color: #1a4480;\n}\n.usa-banner__button:active {\n  color: #162e51;\n}\n.usa-banner__button:focus {\n  outline: 0.25rem none #2491ff;\n  outline-offset: 0;\n}\n.usa-banner__button:hover, .usa-banner__button.usa-button--hover, .usa-banner__button:disabled:hover, .usa-banner__button:disabled.usa-button--hover, .usa-banner__button.usa-button--disabled:hover, .usa-banner__button.usa-button--disabled.usa-button--hover, .usa-banner__button:active, .usa-banner__button.usa-button--active, .usa-banner__button:disabled:active, .usa-banner__button:disabled.usa-button--active, .usa-banner__button.usa-button--disabled:active, .usa-banner__button.usa-button--disabled.usa-button--active, .usa-banner__button:disabled:focus, .usa-banner__button:disabled.usa-focus, .usa-banner__button.usa-button--disabled:focus, .usa-banner__button.usa-button--disabled.usa-focus, .usa-banner__button:disabled, .usa-banner__button.usa-button--disabled {\n  -moz-osx-font-smoothing: inherit;\n  -webkit-font-smoothing: inherit;\n  background-color: transparent;\n  box-shadow: none;\n  text-decoration: underline;\n}\n.usa-banner__button:disabled, .usa-banner__button.usa-button--disabled {\n  color: #c9c9c9;\n}\n.usa-banner__button.usa-button--hover {\n  color: #1a4480;\n}\n.usa-banner__button.usa-button--active {\n  color: #162e51;\n}\n.usa-banner__button:visited {\n  color: #54278f;\n}\n.usa-banner__button:hover, .usa-banner__button:active {\n  color: #1a4480;\n}\n@media all and (max-width: 39.99em) {\n  .usa-banner__button {\n    width: 100%;\n  }\n}\n@media all and (min-width: 40em) {\n  .usa-banner__button {\n    color: #005ea2;\n    position: static;\n    bottom: auto;\n    left: auto;\n    right: auto;\n    top: auto;\n    display: inline;\n    margin-left: 0.5rem;\n    position: relative;\n  }\n  .usa-banner__button::after {\n    background: url(\"../img/usa-icons/expand_more.svg\") no-repeat center/contain;\n    display: inline-block;\n    height: 1rem;\n    width: 1rem;\n    content: \"\";\n    vertical-align: middle;\n    margin-left: 2px;\n  }\n  @supports (mask: url(\"\")) {\n    .usa-banner__button::after {\n      background: none;\n      background-color: #005ea2;\n      mask: url(\"../img/usa-icons/expand_more.svg\") no-repeat center/contain;\n    }\n    .usa-banner__button::after:hover {\n      background-color: #1a4480;\n    }\n  }\n  .usa-banner__button:hover::after {\n    content: \"\";\n    background-color: #1a4480;\n  }\n  .usa-banner__button:visited {\n    color: #54278f;\n  }\n  .usa-banner__button:hover, .usa-banner__button:active {\n    color: #1a4480;\n  }\n  .usa-banner__button::after, .usa-banner__button:hover::after {\n    position: absolute;\n  }\n}\n@media (min-width: 40em) and (forced-colors: active) {\n  .usa-banner__button::after, .usa-banner__button:hover::after {\n    background-color: ButtonText;\n  }\n}\n@media all and (min-width: 40em) {\n  .usa-banner__button:hover {\n    text-decoration: none;\n  }\n}\n.usa-banner__button[aria-expanded=false] {\n  background-image: none;\n}\n.usa-banner__button[aria-expanded=true] {\n  background-image: none;\n}\n@media all and (max-width: 39.99em) {\n  .usa-banner__button[aria-expanded=true]::after {\n    background: url(\"../img/usa-icons/close.svg\") no-repeat center/contain;\n    display: inline-block;\n    height: 3rem;\n    width: 3rem;\n    content: \"\";\n    vertical-align: middle;\n    margin-left: 0;\n  }\n  @supports (mask: url(\"\")) {\n    .usa-banner__button[aria-expanded=true]::after {\n      background: none;\n      background-color: #005ea2;\n      mask: url(\"../img/usa-icons/close.svg\") no-repeat center/contain;\n    }\n  }\n  .usa-banner__button[aria-expanded=true]::before {\n    position: absolute;\n    bottom: 0;\n    top: 0;\n    position: absolute;\n    right: 0;\n    background-color: #dfe1e2;\n    content: \"\";\n    display: block;\n    height: 3rem;\n    width: 3rem;\n  }\n  .usa-banner__button[aria-expanded=true]::after {\n    position: absolute;\n    bottom: 0;\n    top: 0;\n    position: absolute;\n    right: 0;\n  }\n}\n@media all and (min-width: 40em) {\n  .usa-banner__button[aria-expanded=true] {\n    height: auto;\n    padding: 0;\n    position: relative;\n  }\n  .usa-banner__button[aria-expanded=true]::after {\n    background: url(\"../img/usa-icons/expand_less.svg\") no-repeat center/contain;\n    display: inline-block;\n    height: 1rem;\n    width: 1rem;\n    content: \"\";\n    vertical-align: middle;\n    margin-left: 2px;\n  }\n  @supports (mask: url(\"\")) {\n    .usa-banner__button[aria-expanded=true]::after {\n      background: none;\n      background-color: #005ea2;\n      mask: url(\"../img/usa-icons/expand_less.svg\") no-repeat center/contain;\n    }\n    .usa-banner__button[aria-expanded=true]::after:hover {\n      background-color: #1a4480;\n    }\n  }\n  .usa-banner__button[aria-expanded=true]:hover::after {\n    content: \"\";\n    background-color: #1a4480;\n  }\n  .usa-banner__button[aria-expanded=true]::after, .usa-banner__button[aria-expanded=true]:hover::after {\n    position: absolute;\n  }\n}\n@media (min-width: 40em) and (forced-colors: active) {\n  .usa-banner__button[aria-expanded=true]::after, .usa-banner__button[aria-expanded=true]:hover::after {\n    background-color: ButtonText;\n  }\n}\n\n.usa-banner__button-text {\n  position: absolute;\n  left: -999em;\n  right: auto;\n  text-decoration: underline;\n}\n@media all and (min-width: 40em) {\n  .usa-banner__button-text {\n    position: static;\n    display: inline;\n  }\n}\n@media (forced-colors: active) {\n  .usa-banner__button-text {\n    color: LinkText;\n  }\n}\n\n.usa-banner__icon {\n  width: 2.5rem;\n}\n\n.usa-js-loading .usa-banner__content {\n  position: absolute;\n  left: -999em;\n  right: auto;\n}","img {\n  max-width: 100%;\n}\n\n.usa-media-link {\n  @include media-link();\n}\n","// Output the @font-face rule\n@mixin at-font-face($display-name, $file-path, $font-weight, $font-style) {\n  // TODO: If $theme-use-rails-pipeline use font-url() statements\n  // instead of url()\n  // Dunno why I can't do this without an error...\n\n  @font-face {\n    font-family: $display-name;\n    font-style: unquote($font-style);\n    font-weight: $font-weight;\n    font-display: fallback;\n    src: url(#{$file-path}.woff2) format(\"woff2\"),\n      url(#{$file-path}.woff) format(\"woff\"),\n      url(#{$file-path}.ttf) format(\"truetype\");\n  }\n}\n\n// Loop through weights, then call at-font-face\n@mixin generate-font-face(\n  $font-style-src,\n  $output-weights,\n  $display-name,\n  $dir,\n  $font-style\n) {\n  @each $font-weight, $filename in $font-style-src {\n    @each $key, $output-weight in $output-weights {\n      @if $output-weight == $font-weight and $filename {\n        @include at-font-face(\n          \"#{$display-name}\",\n          \"#{$theme-font-path}/#{$dir}/#{$filename}\",\n          #{$font-weight},\n          unquote(\"#{$font-style}\")\n        );\n      }\n    }\n  }\n}\n\n// Collect all font metadata, then call generate-font-face\n@mixin render-font-face($typeface-token, $src) {\n  $generate: false;\n  $this-src: ();\n  $output-weights: $project-font-weights;\n  @if $theme-generate-all-weights {\n    $output-weights: (\n      100: 100,\n      200: 200,\n      300: 300,\n      400: 400,\n      500: 500,\n      600: 600,\n      700: 700,\n      800: 800,\n      900: 900,\n    );\n  }\n\n  $typeface-metadata: map-get($all-typeface-tokens, $typeface-token);\n\n  // If the typeface has src in its USWDS metadata, generate and\n  // set $this-src\n  @if map-get($typeface-metadata, src) {\n    $generate: true;\n    $this-src: map-get($typeface-metadata, src);\n  }\n\n  // If the typeface has custom src sefined, generate and override\n  // any existing USWDS src\n  @if $src {\n    $generate: true;\n    $this-src: $src;\n  }\n\n  @if $generate {\n    $display-name: map-get($typeface-metadata, display-name);\n    $roman: map-get($this-src, roman);\n    $italic: map-get($this-src, italic);\n    $dir: map-get($this-src, dir);\n\n    @if $roman {\n      @include generate-font-face(\n        $roman,\n        $output-weights,\n        $display-name,\n        $dir,\n        normal\n      );\n    }\n\n    @if $italic {\n      @include generate-font-face(\n        $italic,\n        $output-weights,\n        $display-name,\n        $dir,\n        italic\n      );\n    }\n  }\n}\n","// Apply :focus behavior to focusable elements only (For IE 11)\ninput,\nselect,\ntextarea,\nbutton {\n  &:not([disabled]) {\n    &:focus {\n      @include focus-outline;\n    }\n  }\n}\n\niframe,\n[href],\n[tabindex],\n[contentEditable=\"true\"] {\n  &:focus {\n    @include focus-outline;\n  }\n}\n\n.usa-focus {\n  @include focus-outline;\n}\n","// Focus state mixin\n@mixin focus-outline(\n  $width: $theme-focus-width,\n  $style: $theme-focus-style,\n  $color: $theme-focus-color,\n  $offset: $theme-focus-offset\n) {\n  $width: if($width == null, $theme-focus-width, $width);\n  $style: if($style == null, $theme-focus-style, $style);\n  $color: if($color == null, $theme-focus-color, $color);\n  $offset: if($offset == null, $theme-focus-offset, $offset);\n  outline: units($width) $style color($color);\n  outline-offset: units($offset);\n}\n","/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n// basic container\n.#{$namespace-grid}container {\n  $props: append-important($grid-global, $theme-grid-container-max-width);\n  @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $system-breakpoints {\n  .#{$namespace-grid}container-#{$width-key} {\n    $props: append-important($grid-global, $width-key);\n    @include grid-container($props);\n  }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $system-breakpoints {\n  @if map-get($theme-utility-breakpoints, $mq-key) {\n    @include at-media($mq-key) {\n      .#{$mq-key}#{$separator}#{$namespace-grid}container {\n        $props: append-important($grid-global, desktop);\n        @include grid-container($props);\n      }\n\n      // ...with custom widths\n      @each $width-key, $width-value in $system-breakpoints {\n        .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n          $props: append-important($grid-global, $width-key);\n          @include grid-container($props);\n        }\n      }\n    }\n  }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n  @include grid-row;\n\n  // ...that includes column gaps\n  &.#{$namespace-grid}gap {\n    @include grid-gap-responsive;\n  }\n  @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n    &.#{$namespace-grid}gap-#{$gap-key} {\n      $props: append-important($grid-global, $gap-key);\n      @include grid-gap($props);\n    }\n  }\n\n  // responsive column gaps\n  @each $mq-key, $mq-value in $system-breakpoints {\n    @if map-get($theme-utility-breakpoints, $mq-key) {\n      @include at-media($mq-key) {\n        @each $gap-key,\n          $gap-val in map-deep-get($system-properties, gap, standard)\n        {\n          &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n            $props: append-important($grid-global, $gap-key);\n            @include grid-gap($props);\n          }\n        }\n      }\n    }\n  }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n  @include u-position(relative);\n  @include u-width(full);\n  box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n  $props: append-important($grid-global, fill);\n  @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n  $props: append-important($grid-global, auto);\n  @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n  $props: append-important($grid-global, fill);\n  @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n  .#{$namespace-grid}col-#{$width-key} {\n    $props: append-important($grid-global, $width-key);\n    @include grid-col($props);\n  }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $system-breakpoints {\n  @if map-get($theme-utility-breakpoints, $mq-key) {\n    @include at-media($mq-key) {\n      .#{$mq-key}#{$separator}#{$namespace-grid}col {\n        $props: append-important($grid-global, fill);\n        @include grid-col($props);\n      }\n      .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n        $props: append-important($grid-global, fill);\n        @include grid-col($props);\n      }\n      .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n        $props: append-important($grid-global, auto);\n        @include grid-col($props);\n      }\n\n      @each $width-key, $width-value in $system-layout-grid-widths {\n        .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n          $props: append-important($grid-global, $width-key);\n          @include grid-col($props);\n        }\n      }\n    }\n  }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n  .#{$namespace-grid}offset-#{$width-key} {\n    $props: append-important($grid-global, $width-key);\n    @include grid-offset($props);\n  }\n}\n.#{$namespace-grid}offset-none {\n  $props: append-important($grid-global, none);\n  @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $system-breakpoints {\n  @if map-get($theme-utility-breakpoints, $mq-key) {\n    @each $width-key, $width-value in $system-layout-grid-widths {\n      @include at-media($mq-key) {\n        .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n          $props: append-important($grid-global, $width-key);\n          @include grid-offset($props);\n        }\n      }\n    }\n    @include at-media($mq-key) {\n      .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n        $props: append-important($grid-global, none);\n        @include grid-offset($props);\n      }\n    }\n  }\n}\n/* stylelint-enable */\n","// Adds margin either l/r(x) or t/b(y)\n\n@mixin margin-n($side, $value...) {\n  $value: unpack($value);\n  @if $side == all {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin: get-uswds-value(margin, $value...) #{$important};\n  } @else if $side == x {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin-left: get-uswds-value(margin-horizontal, $value...) #{$important};\n    margin-right: get-uswds-value(margin-horizontal, $value...) #{$important};\n  } @else if $side == y {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin-bottom: get-uswds-value(margin-vertical, $value...) #{$important};\n    margin-top: get-uswds-value(margin-vertical, $value...) #{$important};\n  } @else if $side == t {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin-top: get-uswds-value(margin-vertical, $value...) #{$important};\n  } @else if $side == r {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin-right: get-uswds-value(margin-horizontal, $value...) #{$important};\n  } @else if $side == b {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin-bottom: get-uswds-value(margin-vertical, $value...) #{$important};\n  } @else if $side == l {\n    $important: null;\n    @if has-important($value) {\n      $value: remove($value, \"!important\");\n      $important: \" !important\";\n    }\n    margin-left: get-uswds-value(margin-horizontal, $value...) #{$important};\n  }\n}\n\n@mixin u-margin($value...) {\n  @include margin-n(all, $value...);\n}\n\n@mixin u-margin-x($value...) {\n  @include margin-n(x, $value...);\n}\n\n@mixin u-margin-y($value...) {\n  @include margin-n(y, $value...);\n}\n\n@mixin u-margin-top($value...) {\n  @include margin-n(t, $value...);\n}\n\n@mixin u-margin-right($value...) {\n  @include margin-n(r, $value...);\n}\n\n@mixin u-margin-bottom($value...) {\n  @include margin-n(b, $value...);\n}\n\n@mixin u-margin-left($value...) {\n  @include margin-n(l, $value...);\n}\n","// Outputs max-width\n\n@mixin u-maxw($value...) {\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  max-width: get-uswds-value(max-width, $value...) #{$important};\n}\n","// Adds padding either l/r(x) or t/b(y)\n\n@mixin padding-n($side, $value...) {\n  $value: unpack($value);\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  @if $side == all {\n    padding: get-uswds-value(padding, $value...) #{$important};\n  } @else if $side == x {\n    padding-left: get-uswds-value(padding, $value...) #{$important};\n    padding-right: get-uswds-value(padding, $value...) #{$important};\n  } @else if $side == y {\n    padding-bottom: get-uswds-value(padding, $value...) #{$important};\n    padding-top: get-uswds-value(padding, $value...) #{$important};\n  } @else {\n    padding-#{$side}: get-uswds-value(padding, $value...) #{$important};\n  }\n}\n\n@mixin u-padding($value...) {\n  @include padding-n(all, $value...);\n}\n\n@mixin u-padding-x($value...) {\n  @include padding-n(x, $value...);\n}\n\n@mixin u-padding-y($value...) {\n  @include padding-n(y, $value...);\n}\n\n@mixin u-padding-top($value...) {\n  @include padding-n(top, $value...);\n}\n\n@mixin u-padding-right($value...) {\n  @include padding-n(right, $value...);\n}\n\n@mixin u-padding-bottom($value...) {\n  @include padding-n(bottom, $value...);\n}\n\n@mixin u-padding-left($value...) {\n  @include padding-n(left, $value...);\n}\n","// Mobile-first media query helper\n\n@mixin at-media($bp) {\n  $quoted-bp: smart-quote($bp);\n  $our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n  @if $quoted-bp == \"none\" {\n    @content;\n  } @else if map-has-key($our-breakpoints, $quoted-bp) {\n    @if $theme-respect-user-font-size {\n      $bp: rem-to-user-em(map-get($our-breakpoints, $quoted-bp));\n    } @else {\n      $bp: rem-to-px(map-get($our-breakpoints, $quoted-bp));\n    }\n    @media all and (min-width: #{$bp}) {\n      @content;\n    }\n  } @else {\n    @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map-keys($our-breakpoints)}';\n  }\n}\n\n// Max-width media query\n@mixin at-media-max($bp) {\n  $quoted-bp: smart-quote($bp);\n  $our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n  @if map-has-key($our-breakpoints, $quoted-bp) {\n    @if $theme-respect-user-font-size {\n      $bp: rem-to-user-em(map-get($our-breakpoints, $quoted-bp)) - 0.01em;\n    } @else {\n      $bp: rem-to-px(map-get($our-breakpoints, $quoted-bp)) - 1px;\n    }\n  } @else {\n    @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map-keys($our-breakpoints)}';\n  }\n  @media all and (max-width: #{$bp}) {\n    @content;\n  }\n}\n","// Outputs display\n\n@mixin u-display($value...) {\n  $value: unpack($value);\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  display: get-uswds-value(display, $value) #{$important};\n}\n","// Outputs flex\n\n$flex-utililies: (\n  align-items:\n    map-collect(\n      map-deep-get($system-properties, align-items, standard),\n      map-deep-get($system-properties, align-items, extended)\n    ),\n  align-self:\n    map-collect(\n      map-deep-get($system-properties, align-self, standard),\n      map-deep-get($system-properties, align-self, extended)\n    ),\n  flex:\n    map-collect(\n      map-deep-get($system-properties, flex, standard),\n      map-deep-get($system-properties, flex, extended)\n    ),\n  flex-direction:\n    map-collect(\n      map-deep-get($system-properties, flex-direction, standard),\n      map-deep-get($system-properties, flex-direction, extended)\n    ),\n  flex-wrap:\n    map-collect(\n      map-deep-get($system-properties, flex-wrap, standard),\n      map-deep-get($system-properties, flex-wrap, extended)\n    ),\n  justify-content:\n    map-collect(\n      map-deep-get($system-properties, justify-content, standard),\n      map-deep-get($system-properties, justify-content, extended)\n    ),\n);\n\n@mixin u-flex($value...) {\n  $value: unpack($value);\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  @each $this-value in $value {\n    $match: false;\n    @each $property, $map in $flex-utililies {\n      @if not $match and map-has-key($map, $this-value) {\n        #{$property}: get-uswds-value($property, $this-value...) #{$important};\n        $match: true;\n      }\n    }\n    @if not $match {\n      @error '`#{$this-value}` is not a valid `flex` value.';\n    }\n  }\n}\n","@mixin grid-gap-responsive {\n  $gap-mobile: if(\n    map-has-key($system-column-gaps, $theme-column-gap-mobile),\n    map-get($system-column-gaps, $theme-column-gap-mobile),\n    \"error\"\n  );\n  $gap-desktop: if(\n    map-has-key($system-column-gaps, $theme-column-gap-desktop),\n    map-get($system-column-gaps, $theme-column-gap-desktop),\n    \"error\"\n  );\n\n  @if $gap-mobile == \"error\" {\n    @error '$theme-column-gap-mobile is not set to a valid column gap width.';\n  }\n\n  @if $gap-desktop == \"error\" {\n    @error '$theme-column-gap-desktop is not set to a valid column gap width.';\n  }\n\n  @include u-margin-x(\n    unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap-mobile)}\")\n  );\n\n  > * {\n    @include this-border-box-sizing;\n    @include u-padding-x(calc-gap-offset($gap-mobile));\n  }\n\n  @include at-media(\"desktop\") {\n    @include u-margin-x(\n      unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap-desktop)}\")\n    );\n\n    > * {\n      @include this-border-box-sizing;\n      @include u-padding-x(calc-gap-offset($gap-desktop));\n    }\n  }\n}\n\n@mixin grid-gap($props...) {\n  $props: unpack($props);\n  @if length($props) == 0 {\n    @include grid-gap-responsive;\n  } @else {\n    $gap: smart-quote(nth($props, 1));\n    @if $gap == 0 {\n      @include u-margin-x(append-important($props, 0));\n\n      > * {\n        @include this-border-box-sizing;\n        @include u-padding-x(append-important($props, 0));\n      }\n    } @else {\n      @if map-has-key($project-column-gaps, $gap) {\n        $gap: map-get($project-column-gaps, $gap);\n      } @else if map-has-key($system-column-gaps, $gap) {\n        $gap: map-get($system-column-gaps, $gap);\n      }\n      @include u-margin-x(\n        append-important(\n          $props,\n          unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap)}\")\n        )\n      );\n      > * {\n        @include this-border-box-sizing;\n        @include u-padding-x(append-important($props, calc-gap-offset($gap)));\n      }\n    }\n  }\n}\n\n@mixin grid-col($props...) {\n  $props: unpack($props);\n  @include this-border-box-sizing;\n\n  @if length($props) == 0 {\n    @include u-flex(fill);\n    @include u-width(auto);\n  } @else {\n    $col: smart-quote(nth($props, 1));\n    @if $col == \"auto\" {\n      $flex: append-important($props, auto);\n      $width: append-important($props, auto);\n      $maxw: append-important($props, full);\n      @include u-flex($flex);\n      @include u-width($width);\n      @include u-maxw($maxw);\n    } @else if $col == \"fill\" {\n      $flex: append-important($props, fill);\n      $width: append-important($props, auto);\n      $maxw: append-important($props, full);\n      @include u-flex($flex);\n      @include u-width($width);\n      @include u-maxw($maxw);\n      min-width: 1px; // IE 11\n    } @else if not map-has-key($system-layout-grid-widths, $col) {\n      @error '#{$col} is not a valid layout grid width. Valid width are #{map-keys($system-layout-grid-widths)}';\n    } @else {\n      $flex: append-important($props, auto);\n      $width: append-important(\n        $props,\n        map-get($system-layout-grid-widths, $col)\n      );\n      @include u-flex($flex);\n      @include u-width(override, $width);\n    }\n  }\n}\n\n@mixin grid-offset($props...) {\n  $props: unpack($props);\n  $offset: smart-quote(nth($props, 1));\n  @if $offset == \"none\" {\n    $width: append-important($props, 0);\n    @include u-margin-left(override, $width);\n  } @else if not map-has-key($system-layout-grid-widths, $offset) {\n    @error '#{$offset} is not a valid layout grid width. Valid width are #{map-keys($system-layout-grid-widths)}';\n  } @else {\n    $width: append-important(\n      $props,\n      map-get($system-layout-grid-widths, $offset)\n    );\n    @include u-margin-left(override, $width);\n  }\n}\n","// Outputs position property\n\n@mixin u-position($value...) {\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  position: get-uswds-value(position, $value...) #{$important};\n}\n","// Outputs width\n\n@mixin u-width($value...) {\n  $value: unpack($value);\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  width: get-uswds-value(width, $value...) #{$important};\n}\n","// Variables\n\n$accordion-border: units($theme-accordion-border-width) solid\n  color($theme-accordion-border-color);\n\n// Accordion Styles\n\n@mixin accordion-list-styles {\n  @include unstyled-list;\n  color: color(\"ink\");\n  margin: 0;\n  padding: 0;\n  width: 100%;\n}\n\n// scss-lint:disable PropertyCount\n@mixin accordion-button-styles {\n  @include button-unstyled;\n  @include add-background-svg(\"usa-icons/remove\");\n\n  background-color: color(\"base-lightest\");\n  background-position: right units(2.5) center;\n  background-size: units(3);\n  color: color(\"ink\");\n  cursor: pointer;\n  display: inline-block;\n  font-weight: font-weight(\"bold\");\n  margin: 0;\n  padding: units(2) units(2.5) * 2 + units(2) units(2) units(2.5);\n  text-decoration: none;\n  width: 100%;\n\n  &:hover {\n    background-color: color(\"base-lighter\");\n    color: color(\"ink\");\n    text-decoration: none;\n  }\n\n  @media (forced-colors: active) {\n    forced-color-adjust: none;\n  }\n}\n// scss-lint:enable PropertyCount\n\n@mixin accordion-button-unopened-styles {\n  @include add-background-svg(\"usa-icons/add\");\n  background-size: units(3);\n}\n\n@mixin accordion-nested-list {\n  > ul li ul {\n    list-style: disc;\n    > li > ul {\n      list-style: circle;\n      > li > ul {\n        list-style: square;\n      }\n    }\n  }\n}\n\n.usa-accordion {\n  @include accordion-list-styles;\n  @include accordion-nested-list;\n  @include border-box-sizing;\n  @include typeset($theme-accordion-font-family);\n\n  + .usa-accordion,\n  + .usa-accordion--bordered {\n    margin-top: units(1);\n  }\n}\n\n.usa-accordion--bordered {\n  .usa-accordion__content {\n    border-bottom: $accordion-border;\n    border-left: $accordion-border;\n    border-right: $accordion-border;\n    padding-bottom: units(2);\n  }\n\n  .usa-accordion__heading {\n    margin-bottom: 0;\n  }\n}\n\n.usa-accordion__heading,\n// kludge to override .usa-prose styles\n// TODO: work this into a mixin\n.usa-prose .usa-accordion__heading {\n  @include typeset($theme-accordion-font-family, $theme-body-font-size, 1);\n  margin: 0;\n\n  &:not(:first-child) {\n    margin-top: units(1);\n  }\n}\n\n.usa-accordion__content {\n  background-color: color(\"white\");\n  margin-top: 0;\n  overflow: auto;\n  padding: units(2) units(2.5) calc(#{units(2)} - #{units(0.5)}) units(2.5);\n\n  > *:first-child {\n    margin-top: 0;\n  }\n\n  > *:last-child {\n    margin-bottom: 0;\n  }\n}\n\n.usa-accordion__button {\n  @include accordion-button-styles;\n}\n\n.usa-accordion__button[aria-expanded=\"false\"] {\n  @include accordion-button-unopened-styles;\n}\n","// Unstyled list helper\n@mixin unstyled-list() {\n  @include u-margin-y(0);\n  list-style-type: none;\n  padding-left: 0;\n\n  > li {\n    margin-bottom: 0;\n    max-width: unset;\n  }\n}\n","/*\n----------------------------------------\nfamily()\n----------------------------------------\nGet a font-family stack\n----------------------------------------\n*/\n\n@mixin u-font-family($family) {\n  font-family: ff($family);\n}\n\n/*\n----------------------------------------\nsize()\n----------------------------------------\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n\n@mixin u-font-size($family, $scale) {\n  font-size: font-size($family, $scale);\n}\n\n/*\n----------------------------------------\nfont()\n----------------------------------------\nGet a font-family stack\nAND\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n\n@mixin u-font($family, $scale) {\n  font-family: ff($family);\n  font-size: font-size($family, $scale);\n}\n","// Outputs line-height\n\n@mixin u-line-height($value...) {\n  $value: unpack($value);\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  $family: nth($value, 1);\n  $scale: nth($value, 2);\n  line-height: lh($family, $scale) #{$important};\n}\n","@mixin add-knockout-font-smoothing {\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n}\n\n@mixin no-knockout-font-smoothing {\n  -moz-osx-font-smoothing: inherit;\n  -webkit-font-smoothing: inherit;\n}\n","@mixin button-unstyled {\n  @include no-knockout-font-smoothing;\n  @include typeset-link;\n  background-color: transparent;\n  border: 0;\n  border-radius: 0;\n  box-shadow: none;\n  font-weight: font-weight(\"normal\");\n  margin: 0;\n  padding: 0;\n  text-align: left;\n\n  &:hover,\n  &.usa-button--hover,\n  &:disabled:hover,\n  &:disabled.usa-button--hover,\n  &.usa-button--disabled:hover,\n  &.usa-button--disabled.usa-button--hover,\n  &:active,\n  &.usa-button--active,\n  &:disabled:active,\n  &:disabled.usa-button--active,\n  &.usa-button--disabled:active,\n  &.usa-button--disabled.usa-button--active,\n  &:disabled:focus,\n  &:disabled.usa-focus,\n  &.usa-button--disabled:focus,\n  &.usa-button--disabled.usa-focus,\n  &:disabled,\n  &.usa-button--disabled {\n    @include no-knockout-font-smoothing;\n    background-color: transparent;\n    box-shadow: none;\n    text-decoration: underline;\n  }\n\n  &:disabled,\n  &.usa-button--disabled {\n    color: color(\"disabled\");\n  }\n\n  &.usa-button--hover {\n    color: color($theme-link-hover-color);\n  }\n\n  &.usa-button--active {\n    color: color($theme-link-active-color);\n  }\n}\n","// Ensure browsers that don't support SVG in background-image (IE 11 and below) fall back to PNG.\n// See https://css-tricks.com/a-complete-guide-to-svg-fallbacks/\n\n@mixin add-background-svg($image-name, $image-path: $theme-image-path) {\n  background-image: url(\"#{$image-path}/#{$image-name}.svg\"),\n    linear-gradient(transparent, transparent);\n  background-repeat: no-repeat;\n}\n","/*\n----------------------------------------\ntypeset()\n----------------------------------------\nSets:\n- family\n- size\n- line-height\n----------------------------------------\n*/\n\n@mixin typeset(\n  $family: $theme-body-font-family,\n  $scale: $theme-body-font-size,\n  $line-height: $theme-body-line-height\n) {\n  @if type-of($family) == \"list\" {\n    $list: $family;\n    $family: if(nth($list, 1), nth($list, 1), null);\n    $scale: if(nth($list, 2), nth($list, 2), null);\n    $line-height: if(nth($list, 3), nth($list, 3), null);\n  }\n  $family: if($family == null, $theme-body-font-family, $family);\n  $scale: if($scale == null, $theme-body-font-size, $scale);\n  $line-height: if($line-height == null, $theme-body-line-height, $line-height);\n  @include u-font($family, $scale);\n  @include u-line-height($family, $line-height);\n}\n\n@mixin typeset-heading {\n  @include u-margin-y(0);\n  clear: both;\n\n  * + & {\n    margin-top: 1.5em; // TODO: add as var to settings?\n  }\n\n  + * {\n    margin-top: 1em;\n  }\n}\n\n// typeset element mixins\n@mixin typeset-p {\n  line-height: line-height($theme-body-font-family, $theme-body-line-height);\n  margin-bottom: 0;\n  margin-top: 0;\n  max-width: measure($theme-text-measure);\n\n  * + & {\n    margin-top: 1em; // TODO: add as var to settings?\n  }\n\n  + * {\n    margin-top: 1em;\n  }\n}\n\n@mixin typeset-link {\n  color: color($theme-link-color);\n  text-decoration: underline;\n\n  &:visited {\n    color: color($theme-link-visited-color);\n  }\n\n  &:hover {\n    color: color($theme-link-hover-color);\n  }\n\n  &:active {\n    color: color($theme-link-active-color);\n  }\n\n  &:focus {\n    @include focus-outline;\n  }\n}\n\n@mixin display {\n  @include typeset(\n    \"heading\",\n    $theme-display-font-size,\n    $theme-heading-line-height\n  );\n\n  font-weight: fw(\"bold\");\n}\n\n@mixin typeset-display {\n  @include typeset-heading;\n  @include display;\n}\n\n@mixin h1 {\n  @include typeset(\"heading\", $theme-h1-font-size, $theme-heading-line-height);\n\n  font-weight: fw(\"bold\");\n}\n\n@mixin typeset-h1 {\n  @include typeset-heading;\n  @include h1;\n}\n\n@mixin h2 {\n  @include typeset(\"heading\", $theme-h2-font-size, $theme-heading-line-height);\n\n  font-weight: fw(\"bold\");\n}\n\n@mixin typeset-h2 {\n  @include typeset-heading;\n  @include h2;\n}\n\n@mixin h3 {\n  @include typeset(\"heading\", $theme-h3-font-size, $theme-heading-line-height);\n\n  font-weight: fw(\"bold\");\n}\n\n@mixin typeset-h3 {\n  @include typeset-heading;\n  @include h3;\n}\n\n@mixin h4 {\n  @include typeset(\"heading\", $theme-h4-font-size, $theme-heading-line-height);\n\n  font-weight: fw(\"bold\");\n}\n\n@mixin typeset-h4 {\n  @include typeset-heading;\n  @include h4;\n}\n\n@mixin h5 {\n  @include typeset(\"heading\", $theme-h5-font-size, $theme-heading-line-height);\n\n  font-weight: fw(\"bold\");\n}\n\n@mixin typeset-h5 {\n  @include typeset-heading;\n  @include h5;\n}\n\n@mixin h6 {\n  @include typeset(\"body\", $theme-h6-font-size, $theme-heading-line-height);\n\n  font-weight: fw(\"normal\");\n  letter-spacing: ls(\"ls-1\");\n  text-transform: uppercase;\n}\n\n@mixin typeset-h6 {\n  @include typeset-heading;\n  @include h6;\n}\n","// TODO: Add documentation instructions for using this class on image links\n@mixin media-link {\n  display: inline-block;\n  line-height: 0;\n}\n",".usa-media-block {\n  @include u-align-items(\"align-start\");\n  @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n  @include media-block-img;\n}\n\n.usa-media-block__body {\n  @include u-flex(1);\n}\n","// Outputs align-items\n\n@mixin u-align-items($value...) {\n  $value: unpack($value);\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  align-items: get-uswds-value(align-items, $value) #{$important};\n}\n","@mixin media-block-img($margin-right: units(1)) {\n  flex-shrink: 0;\n  margin-right: $margin-right;\n}\n","$banner-context: \"Banner\";\n$banner-guidance-measure: 3;\n$banner-icon-colors: get-link-tokens-from-bg(\n  $theme-banner-background-color,\n  $theme-banner-link-color,\n  $context: $banner-context\n);\n$banner-icon-color: nth($banner-icon-colors, 1);\n$banner-icon-hover: nth($banner-icon-colors, 2);\n$banner-icon-chevron: (\n  \"name\": \"expand_more\",\n  \"svg-height\": 40,\n  \"svg-width\": 40,\n  \"height\": 2,\n  \"color\": $banner-icon-color,\n  \"color-variant\": \"white\",\n  \"color-hover\": $banner-icon-hover,\n);\n$banner-icon-chevron-up: map-merge(\n  $banner-icon-chevron,\n  (\n    \"name\": \"expand_less\",\n  )\n);\n$banner-icon-close: (\n  \"name\": \"close\",\n  \"svg-height\": 40,\n  \"svg-width\": 40,\n  \"height\": 3,\n  \"color\": \"blue-60v\",\n  \"color-variant\": \"white\",\n  \"container-height\": $size-touch-target,\n  \"container-width\": $size-touch-target,\n);\n\n.usa-banner {\n  @include typeset($theme-banner-font-family);\n  @include border-box-sizing;\n  background-color: color($theme-banner-background-color);\n\n  @include at-media(\"tablet\") {\n    font-size: font-size($theme-banner-font-family, \"3xs\");\n    padding-bottom: units(0);\n  }\n\n  .usa-accordion {\n    @include typeset($theme-banner-font-family);\n  }\n}\n\n.usa-banner__header,\n.usa-banner__content {\n  @include set-text-from-bg(\n    $theme-banner-background-color,\n    $context: $banner-context\n  );\n}\n\n.usa-banner__content {\n  @include grid-container($theme-banner-max-width);\n  @include add-responsive-site-margins;\n  background-color: color(\"transparent\");\n  font-size: font-size($theme-banner-font-family, 4);\n  overflow: hidden;\n  padding-bottom: units(2);\n  padding-left: units($theme-site-margins-mobile-width - 1);\n  padding-top: units(0.5);\n  width: 100%;\n\n  @include at-media(\"tablet\") {\n    @include u-padding-y(3);\n  }\n\n  p {\n    &:first-child {\n      margin: 0;\n    }\n  }\n}\n\n.usa-banner__guidance {\n  @include u-display(\"flex\");\n  @include u-flex(\"align-start\");\n  @include u-measure($banner-guidance-measure);\n  padding-top: units(2);\n\n  @include at-media(\"tablet\") {\n    padding-top: units(0);\n  }\n}\n\n.usa-banner__lock-image {\n  $lock-h: 64; // unitless height of svg\n  $lock-w: 52; // unitless width of svg\n  $lock-aspect: divide($lock-w, $lock-h);\n  $icon-height: 1.5ex; // height of the lock icon; use ex for resilience\n\n  height: $icon-height;\n  width: $icon-height * $lock-aspect;\n  path {\n    fill: currentColor;\n\n    @media (forced-colors: active) {\n      fill: CanvasText;\n    }\n  }\n}\n\n.usa-banner__inner {\n  @include add-responsive-site-margins;\n  @include grid-container($theme-banner-max-width);\n  @include grid-row;\n  @include u-flex(\"align-start\");\n  padding-right: units(0);\n\n  @include at-media(\"tablet\") {\n    @include u-flex(\"align-center\");\n  }\n}\n\n.usa-banner__header {\n  @include u-padding-y(1);\n  font-size: font-size($theme-banner-font-family, 1);\n  font-weight: font-weight(\"normal\");\n  min-height: units($size-touch-target);\n  position: relative;\n\n  @include at-media(\"tablet\") {\n    @include u-padding-y(0.5);\n    min-height: 0;\n  }\n}\n\n.usa-banner__header-text {\n  @include u-margin-y(0);\n  font-size: font-size($theme-banner-font-family, 1);\n  line-height: line-height($theme-banner-font-family, 2);\n}\n\n.usa-banner__header-action {\n  @include place-icon($banner-icon-chevron, \"after\");\n  @include set-link-from-bg(\n    $theme-banner-background-color,\n    $theme-banner-link-color,\n    $context: $banner-context\n  );\n\n  line-height: line-height($theme-banner-font-family, 2);\n  margin-bottom: units(0);\n  margin-top: units(2px);\n  text-decoration: underline;\n\n  .usa-banner__header--expanded & {\n    display: none;\n  }\n\n  @include at-media(\"tablet\") {\n    display: none;\n  }\n\n  @media (forced-colors: active) {\n    color: LinkText;\n\n    &::after {\n      background-color: ButtonText;\n    }\n  }\n}\n\n.usa-banner__header-flag {\n  @include u-float(\"left\");\n  margin-right: units(1);\n  width: units(2);\n\n  @include at-media(\"tablet\") {\n    margin-right: units(1);\n    padding-top: units(0);\n  }\n}\n\n.usa-banner__header--expanded {\n  padding-right: units($size-touch-target + 1);\n\n  @include at-media(\"tablet\") {\n    background-color: transparent;\n    display: block;\n    font-size: font-size($theme-banner-font-family, 1);\n    font-weight: font-weight(\"normal\");\n    min-height: units(0);\n    padding-right: units(0);\n  }\n\n  .usa-banner__inner {\n    margin-left: units(0);\n\n    @include at-media(\"tablet\") {\n      margin-left: units(auto);\n    }\n  }\n\n  .usa-banner__header-action {\n    display: none;\n  }\n}\n\n.usa-banner__button {\n  @include button-unstyled;\n  @include u-pin(\"left\");\n  @include u-pin(\"y\");\n  @include u-text(\"primary\", underline, baseline);\n  @include set-link-from-bg(\n    $theme-banner-background-color,\n    $theme-banner-link-color,\n    $context: $banner-context\n  );\n  display: block;\n  font-size: font-size($theme-banner-font-family, 1);\n  height: auto;\n  line-height: line-height($theme-banner-font-family, 2);\n  padding-top: units(0);\n  padding-left: units(0);\n  text-decoration: none;\n  width: auto;\n\n  @include at-media-max(\"tablet\") {\n    width: 100%;\n  }\n\n  @include at-media(\"tablet\") {\n    @include place-icon($banner-icon-chevron, \"after\", \"2px\");\n    @include set-link-from-bg(\n      $theme-banner-background-color,\n      $theme-banner-link-color,\n      $context: $banner-context\n    );\n    @include u-pin(\"none\");\n    display: inline;\n    margin-left: units(1);\n    position: relative;\n\n    &::after,\n    &:hover::after {\n      position: absolute;\n      @media (forced-colors: active) {\n        background-color: ButtonText;\n      }\n    }\n\n    &:hover {\n      // Underline added to inner text instead.\n      text-decoration: none;\n    }\n  }\n\n  &[aria-expanded=\"false\"] {\n    background-image: none;\n  }\n\n  &[aria-expanded=\"true\"] {\n    background-image: none;\n\n    @include at-media-max(\"tablet\") {\n      @include place-icon(\n        $banner-icon-close,\n        \"after\",\n        0,\n        middle,\n        \"base-lighter\"\n      );\n\n      &::before {\n        @include u-pin(\"y\");\n        @include u-pin(\"right\");\n        background-color: color(\"base-lighter\");\n        content: \"\";\n        display: block;\n        height: units($size-touch-target);\n        width: units($size-touch-target);\n      }\n      &::after {\n        @include u-pin(\"y\");\n        @include u-pin(\"right\");\n      }\n    }\n\n    @include at-media(\"tablet\") {\n      @include place-icon(\n        $banner-icon-chevron-up,\n        \"after\",\n        \"2px\",\n        middle,\n        $theme-banner-background-color\n      );\n      height: auto;\n      padding: units(0);\n      position: relative;\n\n      &::after,\n      &:hover::after {\n        position: absolute;\n\n        @media (forced-colors: active) {\n          background-color: ButtonText;\n        }\n      }\n    }\n  }\n}\n\n.usa-banner__button-text {\n  @include add-sr-only;\n  text-decoration: underline;\n\n  @include at-media(\"tablet\") {\n    @include add-no-sr-only;\n    display: inline;\n  }\n\n  @media (forced-colors: active) {\n    color: LinkText;\n  }\n}\n\n.usa-banner__icon {\n  width: units(5);\n}\n\n// [uswds-init.js] Offscreen content while js is loading\n.usa-js-loading {\n  .usa-banner__content {\n    @include add-sr-only;\n  }\n}\n","@mixin set-text-from-bg(\n  $bg-color: \"default\",\n  $preferred-text-color: \"default\",\n  $fallback-text-color: \"default\",\n  $wcag-target: \"AA\",\n  $context: false,\n  $important: null\n) {\n  $important: if($important, \" !important\", null);\n  $accessible-color-token: get-color-token-from-bg(\n    $bg-color,\n    $preferred-text-color,\n    $fallback-text-color,\n    $wcag-target,\n    $context\n  );\n  color: color($accessible-color-token) #{$important};\n}\n\n@mixin set-text-and-bg(\n  $bg-color: \"default\",\n  $preferred-text-color: \"default\",\n  $fallback-text-color: \"default\",\n  $wcag-target: \"AA\",\n  $context: false,\n  $important: null\n) {\n  $important: if($important, \" !important\", null);\n  @include set-text-from-bg(\n    $bg-color,\n    $preferred-text-color,\n    $fallback-text-color,\n    $wcag-target,\n    $context,\n    $important: $important\n  );\n  $bg-color: if($bg-color == \"default\", get-default(\"bg-color\"), $bg-color);\n  background-color: color($bg-color) #{$important};\n}\n","// Outputs measure max-width\n\n@mixin u-measure($value...) {\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  max-width: get-uswds-value(measure, $value...) #{$important};\n}\n","@mixin set-link-from-bg(\n  $bg-color: \"default\",\n  $preferred-link-color: \"default\",\n  $fallback-link-color: \"default\",\n  $wcag-target: \"AA\",\n  $important: null,\n  $context: false\n) {\n  $important: if($important, \" !important\", null);\n  $link-tokens: get-link-tokens-from-bg(\n    $bg-color,\n    $preferred-link-color,\n    $fallback-link-color,\n    $wcag-target,\n    $context\n  );\n  $bg-color: if($bg-color == \"default\", get-default(\"bg-color\"), $bg-color);\n  $link-token: nth($link-tokens, 1);\n  $hover-token: nth($link-tokens, 2);\n  $visited-token: if(\n    is-accessible-magic-number(\n      $theme-link-visited-color,\n      $bg-color,\n      $wcag-target\n    ),\n    $theme-link-visited-color,\n    $link-token\n  );\n  color: color($link-token) #{$important};\n  &:visited {\n    color: color($visited-token) #{$important};\n  }\n  &:hover,\n  &:active {\n    color: color($hover-token) #{$important};\n  }\n}\n","@mixin display-icon($icon, $direction, $size, $margin, $hover) {\n  &::#{$direction} {\n    @include add-background-svg(\"#{$icon}\");\n    background-size: 100%;\n    content: \"\";\n    display: inline-block;\n    height: $size;\n    width: $size;\n\n    /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n    @if $direction == \"after\" {\n      margin-left: $margin;\n    } @else {\n      margin-right: $margin;\n    }\n    /* stylelint-enable */\n  }\n\n  @if $hover == \"hover\" {\n    &:hover::#{$direction} {\n      @include add-background-svg(\"#{$icon}-hover\");\n    }\n  }\n}\n\n@mixin remove-icon($direction) {\n  &::#{$direction} {\n    display: none;\n  }\n}\n\n@mixin add-icon(\n  $icon-name,\n  $direction,\n  $image-size,\n  $container-size,\n  $margin,\n  $hover\n) {\n  &::#{$direction} {\n    @include add-background-svg(\"#{$icon-name}\");\n    background-position: center center;\n    background-repeat: no-repeat;\n    background-size: units($image-size);\n    content: \"\";\n    display: inline-block;\n    height: units($container-size);\n    width: units($container-size);\n\n    /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n    @if $direction == \"after\" {\n      margin-left: units($margin);\n    } @else {\n      margin-right: units($margin);\n    }\n    /* stylelint-enable */\n  }\n\n  @if $hover == \"hover\" {\n    &:hover::#{$direction} {\n      @include add-background-svg(\"#{$icon-name}-hover\");\n    }\n  }\n}\n\n// New icon mixins using SVG mask technique\n//\n// $image may be a specific SVG or a list in the form\n// ($base, $variant, $variant-alt, $bg)\n// the mixin will pick IE11-compatible svgs named\n// [base]-[variant].svg based on the specified background-color\n\n@mixin add-color-icon($icon-object, $contrast-bg: \"default\") {\n  $filename-base: map-get($icon-object, \"name\");\n  $svg-height: map-get($icon-object, \"svg-height\");\n  $svg-width: map-get($icon-object, \"svg-width\");\n  $aspect: divide($svg-width, $svg-height);\n  $height: if(\n    unitless(map-get($icon-object, \"height\")),\n    units(map-get($icon-object, \"height\")),\n    map-get($icon-object, \"height\")\n  );\n  $width: $height * $aspect;\n  $container-height: if(\n    map-has-key($icon-object, \"container-height\"),\n    units(map-get($icon-object, \"container-height\")),\n    null\n  );\n  $container-width: if(\n    map-has-key($icon-object, \"container-width\"),\n    units(map-get($icon-object, \"container-width\")),\n    null\n  );\n  $color: if(\n    map-has-key($icon-object, \"color\"),\n    map-get($icon-object, \"color\"),\n    \"ink\"\n  );\n  $color-variant: if(\n    map-has-key($icon-object, \"color-variant\"),\n    map-get($icon-object, \"color-variant\"),\n    \"white\"\n  );\n  $color-hover: if(\n    map-has-key($icon-object, \"color-hover\"),\n    map-get($icon-object, \"color-hover\"),\n    null\n  );\n  $rotate: if(\n    map-has-key($icon-object, \"rotate\"),\n    map-get($icon-object, \"rotate\"),\n    null\n  );\n  $path: if(\n    map-has-key($icon-object, \"path\"),\n    map-get($icon-object, \"path\"),\n    $theme-image-path\n  );\n  $ie11-variant: get-color-token-from-bg($contrast-bg, \"white\", \"black\");\n  $filename-ie11: if(\n    $ie11-variant == \"white\",\n    \"usa-icons-bg/#{$filename-base}--white.svg\",\n    \"usa-icons/#{$filename-base}.svg\"\n  );\n\n  $mask-props: url(\"#{$path}/usa-icons/#{$filename-base}.svg\") no-repeat center /\n    contain;\n  $image-props: url(\"#{$path}/#{$filename-ie11}\") no-repeat center / contain;\n\n  // Default background shorthand for browsers that don't support mask or supports.\n  background: $image-props;\n  display: inline-block;\n  height: if($container-height, $container-height, $height);\n  width: if($container-width, $container-width, $width);\n  @if $rotate {\n    transform: rotate($rotate);\n  }\n\n  // Mask supported styles\n  @supports (mask: url(\"\")) {\n    background: none;\n    background-color: if($color == currentColor, $color, color($color));\n    mask: $mask-props;\n    @if $color-hover {\n      &:hover {\n        background-color: color($color-hover);\n      }\n    }\n  }\n}\n\n// Places an icon before or after an element as an inline-block,\n// using the `:before` or `:after` pseudoelements.\n@mixin place-icon(\n  $icon-object,\n  $direction,\n  $margin: \"auto\",\n  $vertical-align: middle,\n  $contrast-bg: \"default\"\n) {\n  $color-hover: if(\n    map-has-key($icon-object, \"color-hover\"),\n    map-get($icon-object, \"color-hover\"),\n    null\n  );\n  &::#{$direction} {\n    @include add-color-icon($icon-object, $contrast-bg);\n    content: \"\";\n    vertical-align: $vertical-align;\n\n    @if $direction == \"after\" {\n      margin-left: units($margin);\n    } @else {\n      margin-right: units($margin);\n    }\n  }\n\n  @if $color-hover {\n    &:hover::#{$direction} {\n      content: \"\"; // Added to address a weird display bug\n      background-color: color($color-hover);\n    }\n  }\n}\n","// Outputs line-height\n\n@mixin u-float($value...) {\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  float: get-uswds-value(float, $value...) #{$important};\n}\n","$utility-pin-options: \"all\", \"x\", \"y\", \"top\", \"bottom\", \"left\", \"right\", \"none\";\n\n@mixin u-pin($value...) {\n  $important: null;\n  $position-absolute: append-important($value, absolute);\n  $position-static: append-important($value, static);\n  $has-position: false;\n\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n\n  @each $option in $value {\n    $option: smart-quote($option);\n    @if $option != \"none\" and not $has-position {\n      @include u-position($position-absolute);\n      $has-position: true;\n    }\n    @if $option == \"all\" {\n      bottom: 0#{$important};\n      left: 0#{$important};\n      right: 0#{$important};\n      top: 0#{$important};\n    } @else if $option == \"x\" {\n      left: 0#{$important};\n      right: 0#{$important};\n    } @else if $option == \"y\" {\n      bottom: 0#{$important};\n      top: 0#{$important};\n    } @else if $option == \"top\" {\n      top: 0#{$important};\n    } @else if $option == \"bottom\" {\n      bottom: 0#{$important};\n    } @else if $option == \"left\" {\n      left: 0#{$important};\n    } @else if $option == \"right\" {\n      right: 0#{$important};\n    } @else if $option == \"none\" {\n      $has-position: false;\n      @include u-position($position-static);\n      bottom: auto#{$important};\n      left: auto#{$important};\n      right: auto#{$important};\n      top: auto#{$important};\n    } @else {\n      @error '`#{$option}` is not a valid `pin` value. Valid pin values include #{$utility-pin-options}';\n    }\n  }\n}\n\n@mixin u-pin-none($value...) {\n  @include u-pin(\"none\", $value...);\n}\n\n@mixin u-pin-all($value...) {\n  @include u-pin(\"all\", $value...);\n}\n\n@mixin u-pin-y($value...) {\n  @include u-pin(\"y\", $value...);\n}\n\n@mixin u-pin-x($value...) {\n  @include u-pin(\"x\", $value...);\n}\n\n@mixin u-pin-bottom($value...) {\n  @include u-pin(\"bottom\", $value...);\n}\n\n@mixin u-pin-left($value...) {\n  @include u-pin(\"left\", $value...);\n}\n\n@mixin u-pin-right($value...) {\n  @include u-pin(\"right\", $value...);\n}\n\n@mixin u-pin-top($value...) {\n  @include u-pin(\"top\", $value...);\n}\n","// Outputs properties based on contents of text()\n\n$text-utililies: (\n  font-feature-settings:\n    map-collect(\n      map-deep-get($system-properties, font-feature-settings, standard),\n      map-deep-get($system-properties, font-feature-settings, extended)\n    ),\n  font-style:\n    map-collect(\n      map-deep-get($system-properties, font-style, standard),\n      map-deep-get($system-properties, font-style, extended)\n    ),\n  font-weight:\n    map-collect(\n      map-deep-get($system-properties, font-weight, standard),\n      map-deep-get($system-properties, font-weight, extended)\n    ),\n  letter-spacing:\n    map-collect(\n      map-deep-get($system-properties, letter-spacing, standard),\n      map-deep-get($system-properties, letter-spacing, extended)\n    ),\n  text-align:\n    map-collect(\n      map-deep-get($system-properties, text-align, standard),\n      map-deep-get($system-properties, text-align, extended)\n    ),\n  text-decoration:\n    map-collect(\n      map-deep-get($system-properties, text-decoration, standard),\n      map-deep-get($system-properties, text-decoration, extended)\n    ),\n  text-transform:\n    map-collect(\n      map-deep-get($system-properties, text-transform, standard),\n      map-deep-get($system-properties, text-transform, extended)\n    ),\n  vertical-align:\n    map-collect(\n      map-deep-get($system-properties, vertical-align, standard),\n      map-deep-get($system-properties, vertical-align, extended)\n    ),\n  white-space:\n    map-collect(\n      map-deep-get($system-properties, white-space, standard),\n      map-deep-get($system-properties, white-space, extended)\n    ),\n  color: map-collect($tokens-color-required),\n);\n\n@mixin u-text($value...) {\n  $important: null;\n  @if has-important($value) {\n    $value: remove($value, \"!important\");\n    $important: \" !important\";\n  }\n  @each $this-value in $value {\n    $this-value: smart-quote($this-value);\n    $match: false;\n    @if map-has-key($all-color-shortcodes, $this-value) {\n      $match: true;\n      color: color($this-value) #{$important};\n    } @else {\n      @each $property, $map in $text-utililies {\n        @if not $match and map-has-key($map, $this-value) {\n          #{$property}: get-uswds-value($property, $this-value...)\n            #{$important};\n          $match: true;\n        }\n      }\n    }\n    @if not $match {\n      @error '`#{$this-value}` is not a valid `text` value.';\n    }\n  }\n}\n","// Screen reader only helper\n@mixin sr-only {\n  position: absolute;\n  left: -999em;\n  right: auto;\n}\n\n@mixin add-sr-only {\n  @include sr-only;\n}\n\n// This \"negates\" the sr-only helper; useful if\n// we want the default state of something to be\n// for screen readers only, but we want to force\n// it to show for sighted users under more specific\n// conditions.\n@mixin not-sr-only {\n  position: static;\n}\n\n@mixin add-no-sr-only {\n  position: static;\n}\n"]}