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, nav, 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; }
#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; }
dl {
grid-template-columns: 25% 75%; }
dl.glossary dt {
font-weight: bold; }
body {
margin-left: auto;
margin-right: auto;
max-width: 100%;
font-size: 14px;
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: 14px; }
#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; }
.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; } }
.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: 0.8em;
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: 0.8em;
line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow-y: auto;
overflow-x: scroll; }
.pseudocode {
background-color: #f6f6f6;
font-size: 0.8em;
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: 0.9em; }
/* 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-link: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; } }