html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, output, ruby, section, summary, time, mark, audio, video {

margin: 0;
padding: 0; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

border: 0;
font-size: 100%; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

vertical-align: baseline; }

html, body, div, span, applet, object, iframe, p, blockquote, a, abbr, acronym, address, big, cite, del, dfn, em, img, ins, q, s, small, strike, strong, sub, sup, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

font-family: {{bodyfont}}; }

code, pre, tt, kbd, samp {

font-family: {{monospacefont}};
font-variant-ligatures: none; }

code *, pre *, tt *, kbd *, samp * {

font-family: {{monospacefont}} !important;
font-variant-ligatures: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {

display: block; }

table {

border-collapse: collapse;
border-spacing: 0; }

h1, h2, h3, h4, h5, h6 {

font-family: {{headerfont}}; }

blockquote, q {

quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

.h2Annex {

font-family: {{headerfont}}; }

dl {

display: grid;
grid-template-columns: max-content auto; }
dl dt p, dl dd p {
  margin-top: 0; }
dl dt {
  grid-column-start: 1; }
dl dd {
  grid-column-start: 2; }

b, strong {

font-weight: bold; }

div.document-stage-band, div.document-type-band {

background-color: #333333; }

a.FootnoteRef + a.FootnoteRef:before {

content: ", ";
vertical-align: super; }

.addition {

color: blue; }

.deletion {

color: red;
text-decoration: line-through; }

nist-sp-band {

background-color: #d8eca8; }

nist-sp {

border-bottom: solid 3px #d8eca8; }

nist-cswp-band {

background-color: #b2da54; }

nist-cswp {

border-bottom: solid 3px #b2da54; }

standard-band {

background-color: #9ABD48; }

standard {

border-bottom: solid 3px #9ABD48; }

final-band {

background-color: #d8eca8; }

final {

border-bottom: solid 3px #d8eca8; }

proposal-band {

background-color: #F7803C; }

proposal {

border-bottom: solid 3px #F7803C; }

internal-draft-band {

background-color: #F7803C; }

internal-draft {

border-bottom: solid 3px #F7803C; }

public-draft-band {

background-color: #fd06fd; }

public-draft {

border-bottom: solid 3px #fd06fd; }

initial-public-draft-band {

background-color: #fd06fd; }

initial-public-draft {

border-bottom: solid 3px #fd06fd; }

final-public-draft-band {

background-color: #fd06fd; }

final-public-draft {

border-bottom: solid 3px #fd06fd; }

withdrawal-pending-band {

background-color: #750697; }

withdrawal-pending {

border-bottom: solid 3px #750697; }

retired-draft-band {

background-color: #7e0d13; }

retired-draft {

border-bottom: solid 3px #7e0d13; }

withdrawn-band {

background-color: #7e0d13; }

withdrawn {

border-bottom: solid 3px #7e0d13; }

.coverpage-maturity, .coverpage-stage {

font-family: 'Source Sans Pro', sans-serif;
font-weight: 400;
font-size: 1em;
margin: 0 0 2em 0;
text-transform: uppercase; }

.coverpage-maturity {

font-family: {{bodyfont}};
font-weight: 400;
font-size: 1em;
margin: 0 0 2em 0;
text-transform: uppercase; }

.coverpage-warning {

border: #f36f36 solid 2px;
color: #f36f36 !important;
margin: 50px 100px;
color: #2e81c2;
padding: 10px;
border-radius: 25px;
text-align: center;
font-size: 14px; }
.coverpage-warning p {
  margin: 0;
  line-height: 1.6; }
.coverpage-warning .title, .coverpage-warning .authority6 h1, .coverpage-warning .authority6 h2 {
  margin-top: 0em;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 1.2em; }

.logo-wrapper {

margin-left: 3em;
margin-top: 100px;
margin-bottom: 100px;
float: right; }

img#NIST-logo {

width: 300px;
height: auto;
padding-top: 3m;
margin-right: 50px; }

.logo-info {

margin-left: 3em;
margin-bottom: 1.5em; }

.logo-info p {

margin: 0; }

commerce-logo {

width: 150px;
height: auto; }

.authors-container, .currency {

margin-top: 2em; }

.affiliation {

font-style: italic;
margin-bottom: 1em; }

.main-section {

word-wrap: break-word; }

.coverpage-title {

font-family: {{headerfont}}; }
.coverpage-title span {
  font-family: {{headerfont}};
  font-size: 1.1em;
  line-height: 1; }

.wrapper-top {

background: #fff;
color: #141115;
padding: 7em 0;
margin-left: 3em; }

.doc-number {

font-size: 20px;
font-family: {{bodyfont}};
line-height: 1.6;
margin: 1.5em 0; }

.title-second {

font-style: italic;
font-size: 15px;
line-height: 1.6;
margin-bottom: 1.5em; }

.download-info {

margin-top: 2em; }

.category {

color: #2677ea;
margin-top: 4em;
margin-right: 2em;
padding: 0.7em 1em;
text-align: center;
border-top: solid 1px #2677ea;
border-bottom: solid 1px #2677ea;
text-transform: uppercase; }

.banner {

border-top: 1px solid #2677ea;
border-bottom: 1px solid #2677ea;
margin-right: 50px;
margin-top: 100px; }
#inactive-draft.banner {
  display: none; }
.banner p {
  text-transform: uppercase;
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 5px;
  text-align: center;
  color: #2677ea;
  font-family: {{monospacefont}}; }

.WordSection11 {

padding: 0 2em 0 3em; }

.info-section {

padding: 0; }

.prefatory-section {

padding: 0 3em 0 6em; }

.zzSTDTitle1, .MsoCommentText {

display: none; }

.coverpage {

text-align: left;
padding-left: 1.5em; }

.coverpage-logo span, .coverpage-tc-name span {

font-family: {{bodyfont}};
text-transform: none;
font-weight: 300; }

.coverpage-logo span {

display: block;
float: left; }

.coverpage-tc-name {

font-size: 1.2em;
line-height: 1.2em;
margin: 0.25em 0; }

.coverpage-doc-identity {

font-size: 2em;
line-height: 1.5em;
margin-bottom: 150px; }

.coverpage-stage-block {

font-family: 'Source Sans Pro', sans-serif;
font-weight: 600;
font-size: 1.25em;
margin: 2em 0em 2em 0em;
text-transform: uppercase; }

.copyright {

padding: 1em;
font-size: 0.9em;
text-align: left; }

table.coverpage-table {

max-width: 500px;
font-size: 14px; }

.more-info {

margin-right: 50px; }
.more-info h2 {
  text-align: center;
  color: #2e81c2;
  font-size: 20px;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  text-transform: uppercase; }
.more-info p {
  font-size: 14px; }

.contact-info, .authority5 {

padding: 2em;
margin-top: 5em;
text-align: left;
color: #2677ea !important;
background-color: #f1f8ff;
border-radius: 25px; }
.contact-info a, .contact-info a:hover, .authority5 a, .authority5 a:hover {
  color: #2677ea; }

.authority5 h2 {

text-align: center; }

.authority3 {

border: solid;
padding: 1em; }

.contact-info {

width: 280px; }
.contact-info a:hover {
  text-decoration: underline;
  background: none;
  box-shadow: 0 0 0 0; }
.contact-info p, .contact-info a {
  font-family: {{monospacefont}};
  font-variant-ligatures: none;
  font-weight: 400; }
.contact-info .name {
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 5px; }
.contact-info .address {
  font-size: 12px;
  line-height: 1.3em;
  margin-top: 0; }

.draft-state-container {

margin-bottom: 30px;
margin-top: -30px; }

.draft-state {

font-size: 20px;
color: #f36f36; }
#inactive-draft.draft-state {
  color: #7e0d13; }
#inactive-final.draft-state {
  color: #750697; }

.draft-description {

font-size: 14px; }
.draft-description p {
  margin-top: 10px;
  margin-bottom: 0; }

retired-draft {

color: #7e0d13; }

@media print {

.coverpage {
  height: 23cm; } }

dl {

grid-template-columns: 25% 75%; }
dl.glossary dt {
  font-weight: bold; }

body {

margin-left: auto;
margin-right: auto;
max-width: 100%;
font-size: {{normalfontsize}};
font-weight: 400;
line-height: 1.6em;
color: #141115;
background-color: #fff; }
body main {
  margin: 0 3em 0 6em; }

.rule {

width: 100%;
height: 1px;
background-color: #2677ea;
margin: 2em 0; }

.rule-2 {

width: 100%;
height: 1px;
background-color: #2677ea; }

.rule-thick {

width: 100%;
height: 3px;
background-color: #2677ea;
margin: 3em 0 0 0; }

toc {

font-family: 'Source Sans Pro', sans-serif; }
#toc ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  #toc ul li a {
    padding: 5px 10px; }
  #toc ul a {
    color: #141115;
    text-decoration: none;
    display: block; }
    #toc ul a:hover {
      box-shadow: none;
      color: white; }
#toc .h2 {
  padding-left: 30px; }
#toc .h3 {
  padding-left: 50px; }
#toc .toc-active, #toc li:hover {
  background: #006494;
  box-shadow: inset -5px 0px 10px -5px #006494 !important; }
  #toc .toc-active a, #toc li:hover a {
    color: white; }
@media print {
  #toc .toc-active, #toc li:hover {
    background: white;
    box-shadow: none !important; }
  #toc .toc-active a {
    color: #141115; }
  #toc li:hover a {
    color: black; } }
#toc li a {
  font-size: {{normalfontsize}}; }
#toc li:before {
  content: " ";
  display: none; }

@media screen and (min-width: 768px) {

nav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 323px;
  font-size: 0.9em;
  overflow: auto;
  padding: 0 0 0 45px;
  background-color: white; } }

@media print {

nav {
  position: relative;
  width: auto;
  font-size: 0.9em;
  overflow: auto;
  padding: 0;
  margin-right: 0;
  background-color: white; } }

nav toc {

font-family: {{bodyfont}};
font-weight: 400; }
@media screen and (max-width: 768px) {
  nav #toc {
    padding: 0 1.5em;
    overflow: visible; } }

@media screen and (min-width: 768px) {

#toggle {
  position: fixed;
  height: 100%;
  width: 30px;
  background-color: #006494;
  color: white !important;
  cursor: pointer;
  z-index: 100; }
  #toggle span {
    text-align: center;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); } }

@media screen and (max-width: 768px) {

#toggle {
  display: none; } }

@media print {

#toggle {
  display: none; } }

@media screen and (min-width: 768px) {

.container {
  padding-left: 360px; } }

@media print {

.container {
  padding-left: 0; } }

@media screen and (min-width: 768px) {

.rule.toc {
  display: none; } }

span.nistvariable {

font-family: {{bodyfont}};
font-style: italic; }

/* Document bands */ .document-stage-band {

left: 0;
top: 0;
height: 100%;
position: fixed;
display: block;
z-index: 101;
box-shadow: -5px 0px 10px #1d1d1d; }
.document-stage-band > :first-child {
  position: relative;
  width: 25px;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  height: 160px;
  color: #7ba812;
  text-transform: uppercase;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0;
  margin-left: 6px;
  writing-mode: tb-rl;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  white-space: nowrap;
  display: block;
  bottom: 0; }
@media print {
  .document-stage-band {
    display: none; } }

.document-type-band {

left: 0;
top: 180px;
height: 100%;
position: fixed;
display: block;
z-index: 102; }
.document-type-band > :first-child {
  position: relative;
  width: 25px;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
  color: #7ba812;
  text-transform: uppercase;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0;
  margin-left: 6px;
  writing-mode: tb-rl;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  white-space: nowrap;
  display: block;
  bottom: 0; }
@media print {
  .document-type-band {
    display: none; } }
.document-type-band .document-type {
  top: 20px; }

governance-band p.document-type {

height: 230px !important; }

standard-band p {

height: 270px !important; }

proposal-band p {

height: 150px !important; }

standard, final {

color: #9ABD48; }

.recommend {

background-color: #ccffcc;
padding: 1.2em;
margin: 2em 0 1em 0; }

.recommend .RecommendationTitle {

font-weight: 700;
font-size: 1em;
text-align: center; }

.require .RecommendationTitle {

font-weight: 700;
font-size: 1em;
text-align: center; }

.permission .RecommendationTitle {

font-weight: 700;
font-size: 1em;
text-align: center; }

/* TYPOGRAPHY */ h1, h2, h3, h4, h5, h6 {

font-weight: 400;
margin-top: 1.6em;
margin-bottom: 0.3em; }

h1 {

font-size: 1.4em;
text-transform: uppercase;
margin-top: 2em; }
h1#content {
  margin-top: 2em; }

h2 {

margin-top: 1.7em;
font-size: 1.3em;
font-weight: 300; }
h2 p {
  display: inline; }
h2.TermNum {
  margin-bottom: 0; }

h3 {

margin-top: 1.5em;
font-size: 1.2em;
font-weight: 100; }

h4 {

font-size: 1em; }

.TermNum, .Terms, .AltTerms {

font-weight: 300; }

p {

margin-top: 1em;
margin-bottom: 1em; }
p.AltTerms {
  font-size: 20px;
  margin-top: 1em; }

/* Links, selection */ a, a:visited {

text-decoration: none;
color: #2677EA; }

a:hover {

color: white;
background: #2677EA;
box-shadow: 3px 0 0 #2677EA, -3px 0 0 #2677EA; }

::selection, ::-moz-selection {

background: #2677EA;
color: white; }

/* Lists */ ul, ol {

margin-left: 1.2em; }

ul > li:first-child {

margin-top: 1em; }

ul > li p:first-child {

display: inline; }

/* Bibliograhy */ p.Biblio, p.NormRef {

margin-top: 1em;
margin-left: 2em; }

/* Blocks */ .figure {

line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow: auto;
font-family: {{monospacefont}};
font-variant-ligatures: none;
font-size: {{monospacefontsize}};
background-color: #f6f6f6; }
.figure .FigureTitle, .figure .figure-title {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }
.figure > img {
  margin-left: auto;
  margin-right: auto;
  display: block;
  max-width: 100%;
  height: auto; }

.SourceTitle {

font-weight: 700;
font-size: 1em;
text-align: center; }

pre {

font-family: {{monospacefont}};
font-variant-ligatures: none;
background-color: #f6f6f6;
font-size: {{monospacefontsize}};
line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow-y: auto;
overflow-x: scroll; }

.pseudocode {

background-color: #f6f6f6;
font-size: {{monospacefontsize}};
line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow: auto; }
.pseudocode .SourceTitle {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }

.Note {

background-color: #ffca3a;
color: #141115;
padding: 1.2em;
margin: 1em 0 1em 0; }
.Note p {
  margin: 0; }

.Admonition {

background-color: #ffcccc;
color: #47430c;
padding: 1.2em;
margin: 1em 0 1em 0; }
.Admonition .AdmonitionTitle {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }
.Admonition p {
  margin: 0; }

.Quote {

background-color: #f6f6f6;
font-style: italic;
width: 80%;
padding: 1.5em;
margin-top: 2em;
margin-left: auto;
margin-right: auto; }

p.blockQuote {

padding-left: 20px; }

.formula {

background-color: #f6f6f6;
padding: 1.5em;
margin-top: 2em;
text-align: center; }

/* Examples */ .example {

background-color: #e1eef1;
padding: 1.2em;
margin: 2em 0 1em 0;
padding-left: 2em; }
.example pre, .example .pseudocode {
  background: none; }
.example .example-title {
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-left: -1.5em; }

.pseudocode {

background-color: #dddddd;
padding: 1.2em;
margin: 2em 0 1em 0;
padding-left: 2em; }
.pseudocode .example-title {
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  margin-top: 0;
  margin-left: -1.5em; }

.example pre, .example .pseudocode {

background: none; }

/* Tables */ table {

width: 100%;
font-weight: 300;
margin: 1em 0 2em 0;
margin-left: auto;
margin-right: auto;
padding-right: 2em;
color: #141115; }
table, table th, table td {
  border: none !important;
  font-size: 0.95em; }
table th, table td {
  padding: 1em; }
table td.header {
  font-weigth: 400; }
table tr:nth-child(even) {
  background: #f1f8ff; }
table tr:nth-child(odd) {
  background: #f6f8fa; }

p.TableTitle {

text-align: center;
margin-top: 2.5em;
font-weight: 400; }

/* Footnotes */ a.footnote-number {

vertical-align: super;
font-size: 0.8em; }

.footnote {

font-size: {{footnotefontsize}}; }

/* Keywords */ span.keyword {

font-weight: 600; }

/* To top button */ myBtn {

font-family: {{monospacefont}};
font-variant-ligatures: none;
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 12px;
border: none;
outline: none;
background-color: #2677ea;
opacity: 0.15;
color: white;
cursor: pointer;
padding: 10px 15px 10px 15px;
border-radius: 4px;
text-transform: uppercase; }
#myBtn:hover {
  opacity: 1; }
@media print {
  #myBtn {
    display: none; } }
@media print {
  #myBtn {
    background-color: white; } }

.anchorjs-hover {

background: none;
color: #2e81ca;
box-shadow: none; }

@page {

margin: 2cm 1cm; }

@media print {

.document-info, nav, .copyright {
  page-break-before: always; }
nav {
  page-break-after: always; }
h1, h2, h3, h4 {
  page-break-after: avoid;
  margin-top: 1.2em; }
.note, .figure, pre, .pseudocode, table {
  page-break-inside: avoid; }
.info-section {
  display: none; }
.wrapper-top {
  top: 0;
  padding-top: 4cm;
  padding-bottom: 4cm; }
.wrapper-top-bottom {
  display: none; }
h1 {
  font-size: 1.5em;
  line-height: 1.5; }
  h1.content {
    margin-top: 2em;
    line-height: 2.5em; }
h2 {
  font-size: 1.2em; }
h3 {
  font-size: 1em; }
.Note {
  background-color: #fff495;
  color: #47430c;
  padding: 5px;
  margin: 2em 0 1em 0; }
  .Note p {
    padding: 0 5px 0 5px; }
nav {
  line-height: 1; } }