/*
Custom styling for Cost Estimating & Assessment Guide
Last Updated: 9.7.2021 | (by RH)
*/

/* This loads the USWDS fonts */
@font-face{font-family:Roboto Mono Web;font-style:normal;font-weight:100;font-display:fallback;src:url('../fonts/roboto-mono/roboto-mono-v5-latin-100.woff2') format("woff2"),url('../fonts/roboto-mono/roboto-mono-v5-latin-100.woff') format("woff"),url('../fonts/roboto-mono/roboto-mono-v5-latin-100.ttf') format("truetype");}

@font-face{font-family:Roboto Mono Web;font-style:normal;font-weight:300;font-display:fallback;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");}

@font-face{font-family:Roboto Mono Web;font-style:normal;font-weight:400;font-display:fallback;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");}

@font-face{font-family:Roboto Mono Web;font-style:normal;font-weight:500;font-display:fallback;src:url('../fonts/roboto-mono/roboto-mono-v5-latin-500.woff2') format("woff2"),url('../fonts/roboto-mono/roboto-mono-v5-latin-500.woff') format("woff"),url('../fonts/roboto-mono/roboto-mono-v5-latin-500.ttf') format("truetype");}

@font-face{font-family:Roboto Mono Web;font-style:normal;font-weight:700;font-display:fallback;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");}

@font-face{font-family:Roboto Mono Web;font-style:italic;font-weight:100;font-display:fallback;src:url('../fonts/roboto-mono/roboto-mono-v5-latin-100italic.woff2') format("woff2"),url('../fonts/roboto-mono/roboto-mono-v5-latin-100italic.woff') format("woff"),url('../fonts/roboto-mono/roboto-mono-v5-latin-100italic.ttf') format("truetype");}

@font-face{font-family:Roboto Mono Web;font-style:italic;font-weight:300;font-display:fallback;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");}

@font-face{font-family:Roboto Mono Web;font-style:italic;font-weight:400;font-display:fallback;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");}

@font-face{font-family:Roboto Mono Web;font-style:italic;font-weight:500;font-display:fallback;src:url('../fonts/roboto-mono/roboto-mono-v5-latin-500italic.woff2') format("woff2"),url('../fonts/roboto-mono/roboto-mono-v5-latin-500italic.woff') format("woff"),url('../fonts/roboto-mono/roboto-mono-v5-latin-500italic.ttf') format("truetype");}

@font-face{font-family:Roboto Mono Web;font-style:italic;font-weight:700;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:200;font-display:fallback;src:url('../fonts/source-sans-pro/sourcesanspro-extralight-webfont.woff2') format("woff2"),url('../fonts/source-sans-pro/sourcesanspro-extralight-webfont.woff') format("woff"),url('../fonts/source-sans-pro/sourcesanspro-extralight-webfont.ttf') format("truetype");}

@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:300;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:600;font-display:fallback;src:url('../fonts/source-sans-pro/sourcesanspro-semibold-webfont.woff2') format("woff2"),url('../fonts/source-sans-pro/sourcesanspro-semibold-webfont.woff') format("woff"),url('../fonts/source-sans-pro/sourcesanspro-semibold-webfont.ttf') format("truetype");}

@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:900;font-display:fallback;src:url('../fonts/source-sans-pro/sourcesanspro-black-webfont.woff2') format("woff2"),url('../fonts/source-sans-pro/sourcesanspro-black-webfont.woff') format("woff"),url('../fonts/source-sans-pro/sourcesanspro-black-webfont.ttf') format("truetype");}

@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:200;font-display:fallback;src:url('../fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.woff2') format("woff2"),url('../fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.woff') format("woff"),url('../fonts/source-sans-pro/sourcesanspro-extralightitalic-webfont.ttf') format("truetype");}

@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:300;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:400;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:600;font-display:fallback;src:url('../fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.woff2') format("woff2"),url('../fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.woff') format("woff"),url('../fonts/source-sans-pro/sourcesanspro-semibolditalic-webfont.ttf') format("truetype");}

@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:700;font-display:fallback;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");}

@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:900;font-display:fallback;src:url('../fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.woff2') format("woff2"),url('../fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.woff') format("woff"),url('../fonts/source-sans-pro/sourcesanspro-blackitalic-webfont.ttf') format("truetype");}

@font-face{font-family:Merriweather;font-style:normal;font-weight:300;font-display:fallback;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");}


@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-display:fallback;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");}

@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-display:fallback;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");}

@font-face{font-family:Merriweather;font-style:normal;font-weight:900;font-display:fallback;src:url('../fonts/merriweather/Latin-Merriweather-Black.woff2') format("woff2"),url('../fonts/merriweather/Latin-Merriweather-Black.woff') format("woff"),url('../fonts/merriweather/Latin-Merriweather-Black.ttf') format("truetype");}

@font-face{font-family:Merriweather;font-style:italic;font-weight:300;font-display:fallback;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");}

@font-face{font-family:Merriweather;font-style:italic;font-weight:400;font-display:fallback;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");}

@font-face{font-family:Merriweather;font-style:italic;font-weight:700;font-display:fallback;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");}

@font-face{font-family:Merriweather;font-style:italic;font-weight:900;font-display:fallback;src:url('../fonts/merriweather/Latin-Merriweather-BlackItalic.woff2') format("woff2"),url('../fonts/merriweather/Latin-Merriweather-BlackItalic.woff') format("woff"),url('../fonts/merriweather/Latin-Merriweather-BlackItalic.ttf') format("truetype");}

/* To find US Web Design System color tokens, go to https://designsystem.digital.gov/design-tokens/color/system-tokens/
For the Yellow Book, the base token is gray, the primary token is blue-warm, and the cool accent is cyan.
Background color #fcfcfc; has not been implemented yet on the main panel but it is in the TOC */

/* RH: set the base font size of html element, in order to use rem measurements */
html{
  font-size: 16px;
}

/* RH: removes scroll bar on parent window outside of the TOC and main content area */
body {
  overflow: hidden;
}

/* RH: position main body of content below the universal header and guide title and adjust inner main content area */
/*.book .book-body  {
  top: 100px;
} */
.book .book-body.fixed .body-inner {
  top: 175px; /* 6.6.201: updated to reflect taller header banners */
}

@media (max-width: 1240px){
  .book .book-body {
    padding-bottom: 0;
  }
  .book .book-body.fixed {
    top: 175px; /* 6.6.201: updated to reflect taller header banners */
  }
}
/* TOC overrides */
.book .book-summary {
    /*position:absolute;*/ /*RH: the make TOC position under the universal head and guide title*/
    left:-300px;
    bottom:0;
    z-index:1;
    width:300px;
    color:#364149;
    background:#fafafa;
    border-right:1px solid rgba(0,0,0,.07);
    -webkit-transition:left 250ms ease;
    -moz-transition:left 250ms ease;
    -o-transition:left 250ms ease;
    transition:left 250ms ease;
}

.book .book-summary ul.summary {
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  overflow-y:auto;
  list-style:none;
  margin:0;
  padding:0;
  -webkit-transition:top .5s ease;
  -moz-transition:top .5s ease;
  -o-transition:top .5s ease;
  transition:top .5s ease;
}

.book .book-summary ul.summary li { list-style:none; }

.book .book-summary ul.summary li.divider {
  height:1px;
  margin:0px 0;
  overflow:hidden;
  background:rgba(0,0,0,.07);
}

.book .book-summary ul.summary li i.fa-check {
  display:none;
  position:absolute;
  right:9px;
  top:16px;
  font-size:9px;
  color:#3c3
}

.book .book-summary ul.summary li.done>a {
  color:#364149;
  font-weight:400;
}

.book .book-summary ul.summary li.done>a i { display:inline; }

.book .book-summary ul.summary li a,.book .book-summary ul.summary li span {
  display:block;padding:10px 15px;
  border-bottom:none;
  color:#364149;
  background:0 0;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
  position:relative;
}

.book .book-summary ul.summary li span {
  cursor:not-allowed;
  opacity:.3;
  filter:alpha(opacity=30);
}

/*This modifies the color of the hover-over state of table of contents sections*/
.book .book-summary ul.summary li a:hover {
  color: #665190;
  text-decoration:underline;

}

/*This modifies the color of the selected state of table of contents sections*/
.book .book-summary ul.summary li.active>a {
  color:#000000;
  background:rgba(157, 132, 210, 0.65);
  text-decoration:none;
}

.book .book-summary ul.summary li ul  {padding-left:20px; }

@media (max-width:600px) {
  .book .book-summary {
      width:calc(100% - 60px);
      bottom:0;
      left:-100%;
    }
  }
  .book.with-summary .book-summary { left:0; }
  .book.without-animation .book-summary {
      -webkit-transition:none!important;
      -moz-transition:none!important;
      -o-transition:none!important;
      transition:none!important;
}

.book .book-summary ul.summary li a span {
  display:inline;
  padding:initial;
  overflow:visible;
  cursor:auto;
  opacity:1;
}

/* This makes the TOC 430px instead of 300 */
.book .book-summary {
  width: 430px;
  left:-430px;
  background-color: #fcfcfc; /* sets background color of TOC to gray-1 */
  position: fixed;
  top: 125px; /* 6.6.2021: increased for the larger gao logo header */
}

/* RH: change backgrnd color of right-pane nav/toolbar & pad top of right-pane nav when universal header is implemented */
.book.with-summary .book-header.fixed {
    left: 430px;
    background-color: #9D84D2 !important;
    top: 124px; /* 6.6.2021: increased for the larger gao logo header */
    max-width: 100vw;
}
/* RH: change backgrnd color of toolbar when TOC is collapsed & pad top of right-pane nav when universal header is implemented */
.book .book-header.fixed {
    background-color: #9D84D2 !important;
    top: 124px; /* 6.6.2021: increased for the larger gao logo header */
    max-width: 100vw;
}

/*RH: universal header and GAO logo*/
.universal-header {
  background-color: #0B1D35;
  height: 55px; /* 6.6.2021: taller universal header banner */
  position: absolute;
  width: 100%;
  z-index: 99999;
}
.gao-logo {
  padding: 12px 0 0 15px;
  width: auto;
  height: 45px; /* 6.6.2021: taller universal header banner */
  margin-bottom: 6px;
}

.secondary-header {
  background-color: #665190;
  height: 40px;
  width: 100%;
  z-index: 99999;
  position: relative;
}

#guide-title {
  margin-top: 0;
  color: #FFF;
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
  padding-top: 0.5rem;
  padding-left: 1rem;
}

/* 6.6.2021: Guide title font size for mobile */
@media (min-width: 380px) and (max-width: 650px) {
  #guide-title {
    font-size: 1rem;
  }
}
@media (max-width: 380px) {
  #guide-title {
    font-size: 0.9rem;
    padding-top: 9px;
  }
}

.gao-breadcrumb-nav {
  background-color: #112E51;
  color: #FFFFFF;
  height: 30px;
  width: 100%;
  z-index: 99999;
  position: relative;
  padding-left: 15px;
  padding-top: 6px;
}
#breadcrumb-text {
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  vertical-align: text-top;
}
.gao-breadcrumb-nav a {
  color: #FFFFFF;
}
.gao-breadcrumb-nav a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

/* RH: Feedback icon and area */
.email-logo {
  height: 20px;
  width: auto;
  vertical-align: bottom;
}
.feedback {
  position:absolute;
  right: 2.5%;
  top: 18%;
  color: #FFFFFF;
}
#feedback-text {
  font-size: 0.85rem;
  vertical-align: text-top;
  margin-left: 5px;
}
.feedback a {
  color: #FFFFFF;
}
.feedback a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}
@media (max-width: 500px) {
  #feedback-text {
    display:none;
  }
}

/* RH: Guide title at top of TOC - deprecated */
.guide-title {
  height: 50px;
  padding: 5px 0 0 15px;
  color: #FFF;
  margin: 0 0 !important;
  line-height: 0.25;
  background-color: #665190 !important;
  position: sticky;
  position: -webkit-sticky;
  top: 50px;
}
.guide-title h3 {
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
  font-size: 1.15rem;
  color: #FFFFFF;
}

/* RH: right-pane/toolbar button overrides */
.book .book-header .btn {
  color: #FFF;
}

.book.with-summary .book-body {
    left: 430px;
}

/*RH: change h3 to Merriweather & remove word 'Web' from Merriweather */
h3 {
    font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
}

/* RH: reduce size of TOC font & remove word 'Web' from Merriweather */
li.chapter {
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif; /*RH: remove word 'Web' from Source Sans Pro*/
  font-size: 0.87rem;
  font-weight: 600; /* 6.6.2021: make the h1 chapter title semi-bold */
}
li li.chapter {
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif; /*RH: remove word 'Web' from Source Sans Pro*/
  font-size: 0.87rem;
  font-weight: normal; /* 6.6.2021: make the h2 and h3 section titles normal font weight */
}

/* RH: reduce padding around TOC sections */
.book .book-summary ul.summary li a, .book .book-summary ul.summary li span{
  padding: 5px 15px;
}

/*vRH: remove word 'Web' from Source Sans Pro */
div.book-body {
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
}

/*RH: removed border from h1/h2/h3 & word 'Web' from Merriweather*/
.level1 h1 {
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
  font-size:2.44rem;
  line-height:1.5;
  font-weight:bold;
  color: #1b1b1b; /* h1 color is gray-90 */
}
.level2 h2 {
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
  font-size:1.95rem;
  line-height:1.5;
  font-weight:bold;
  color: #1b1b1b; /* h2 color is gray-90 */
}
.level3 h3 {
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
  font-size:1.34rem;
  line-height:1.5;
  color: #1b1b1b; /* h3 color is gray-90 */
}

h1.title {
  font-weight: 700;
}

/* RH: Chapter's h1, h2, and h3 override */
/* 6.4.2021: reduced some of the margins after headings */
.book .book-body .page-wrapper .page-inner section.normal h1{
  font-size:2.44rem;
  line-height:1.5;
  margin-bottom: 0.5em;
}
.book .book-body .page-wrapper .page-inner section.normal h2{
  font-size:1.95rem;
  line-height:1.5;
  margin-bottom: 0.5em;
}
.book .book-body .page-wrapper .page-inner section.normal h3{
  font-size:1.34rem;
  line-height:1.5;
  margin-bottom: 0.4em;
}

/* Body content styles */
.book .book-body .page-wrapper .page-inner {
  max-width: 660px;
}

.book .book-body .page-wrapper .page-inner section {
    padding: 5px 30px;
  }

/*RH: Break figure image outside wrap of body content*/
.break-wrap {
  margin-left: -60px;
  margin-right: -60px;
  margin-top: 15px !important; /* 6.1.2021 */
  max-width: 770px;
  position: relative;
  width: 770px;
}
.book .book-body .page-wrapper .page-inner section.normal {
  overflow: visible;
}
.break-wrap img {
  padding-top: 0px; /* 6.1.2021 */
}
/* 9.7.2021: variation on the break-wrap style for certain tables that need the last column wider*/
.break-wrap-last-col {
  margin-left: -60px;
  margin-right: -60px;
  margin-top: 15px !important; /* 6.1.2021 */
  max-width: 770px;
  position: relative;
  width: 770px;
}

/* RH: reduce amount image breaks wrap or bring into wrap at break points */
@media (min-width: 1240px) and (max-width: 1364px ) {
  .break-wrap {
    margin-left: -30px;
    margin-right: -30px;
    margin-top: 15px !important; /* 6.1.2021 */
    position: relative;
    max-width: 715px;
    width: 715px;
  }
  /* 9.7.2021: variation on the break-wrap style for certain tables that need the last column wider*/
  .break-wrap-last-col {
    margin-left: -30px;
    margin-right: -30px;
    margin-top: 15px !important;
    position: relative;
    max-width: 715px;
    width: 715px;
  }
}
@media (max-width: 1240px) {
  .break-wrap {
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 10px !important; /* 6.1.2021 */
    position: relative;
    width: auto;
  }
  /* 9.7.2021: variation on the break-wrap style for certain tables that need the last column wider*/
  .break-wrap-last-col {
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 10px !important;
    position: relative;
    width: auto;
  }
}

/* This styles the figure captions
These must be set off with <span id="figure">Figure 1. Lorem ipsum</span>
*/
/*RH: updated figure title style */
#figure {
  color: black;
  font-style: normal;
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 1rem;
}

/*RH: updated source line style*/
/* Updated 6.1.2021 */
#source {
  font-size: 0.75rem;
  line-height: 1.35;
  display: inline-block;
}
/*9.13.21: fine-tune the source line for the cover image*/
#cover_image_source {
  font-size: 0.75rem;
  line-height: 1.35;
  display: inline-block;
  margin-top: -20px;
}
@media (min-width: 468px) and (max-width: 1020px) {
  #cover_image_source {
    margin-top: -10px;
  }
}
@media (max-width: 468px) {
  #cover_image_source {
    margin-top: -5px;
  }
}

/* RH: Styling for footnotes after figures (note: not the footnotes at the end of a chapter) */
.figure-footnotes {
  border-top-style: solid;
  border-color: #CCCCCC;
  border-width: 1px;
  padding-top: 0.5rem;
  margin: 1rem 0 1.5rem 0;
}
.figure-footnotes p {
  font-size: 0.85rem;
  margin-left: 1.15rem;
  margin-right: 1.15rem;
}

/*RH: Figure alert/note to click and open in new tab*/
.figure_alert {
  font-size: 0.85rem;
  font-style: italic;
  /*background-color: #FEE396;
  padding: 0.5rem 1rem;*/
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}

/* RH: override a-href styles */
.book .book-body .page-wrapper .page-inner section.normal a {
  color: #665190;
  text-decoration: underline;
}
.book .book-body .page-wrapper .page-inner section.normal a:hover {
  color: rgba(157,132,210,0.75);
  text-decoration: underline;
}

/* This defines the styling of the internal links
To implement an internal link, just label it with <a class="jump" name="link318"></a>text
To jump to it, use the full relative filename#linktag, e.g.: I am referencing [section 318](Chapter 3-total-chapter-file-name.html#link318)
*/
a.jump {
  color: #665190;
}

/* This solves the problem of the dark blue links on top of the dark purple background in the case studies */
.case_header a {
  color: #665190; !important;
}

p {
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif; /*remove word 'Web' from Source Sans Pro*/
  font-size: 1rem;
  font-weight: normal;
  color: #1b1b1b; /* text color is gray-90 */
}

.book.font-size-2 .book-body .page-inner section {
  font-size: 1rem;
}

/* adds outline to requirements
the !important is required to override the gitbook stylesheet
the background-color and font-color are a test, USWDS seems to prefer no borders */
blockquote {
  padding: 20px !important;
  border-style: solid !important;
  border-color: rgba(157, 132, 210, 0.65) !important;
  border-width: 1px !important;
  background-color: rgba(157,132,210,0.25);
}

/* blockquote text color remains the same, commented out
blockquote p {
  color: #fcfcfc; <--- color goes here if you want to change it
}
*/

/* Blue header within blockquote, this is cyan-70v */
blockquote strong {
  color: #0e4f5c;
}

/* RH: USWDS tables, modified to match Guide design styles */
table {
  font-size: 0.9rem; /* reduce table font size per APQA request */
  line-height: 1.5;
  border-collapse: collapse;
  border-spacing: 0;
  padding: 20px;
}

th {
  text-align: left;
  border-width: 1px;
  border-color: #707070;
  border-style: solid;
  font-weight: 700;
  border-left: 0;
  border-right: 0;
  background-color: #F0F0F0;
  border-top: 0;
  color: black;
  padding: 0.85rem 1rem !important;
}

td {
  border-width: 1px;
  border-color: #707070;
  border-style: solid;
  font-weight: 400;
  border-left: 0;
  border-right: 0;
  background-color: #fff;
  padding: 1rem 1rem !important;
  color:black;
  vertical-align: top !important;
}

/* 5.28.2021: Using the break-wrap class on tables, and make certain tables with extra wide content in the last column work well */
.break-wrap-last-col th:last-child {
  min-width: 210px;
}

/* Table instructions/alert for mobile views. Only show on mobile devices once screen gets too small for a table */
.table_alert_mobile {
  background-color: #FEE396;
  font-size: 0.85rem;
  padding: 0.5rem;
  margin-top: 0.25rem;
  margin-bottom: 1rem;
  display: none;
}
/* 5.28.2021: Updated mobile breakpoint */
@media (max-width: 600px) {
  .table_alert_mobile {
    display: block;
  }
}
/* 6.4.2021: added a table alert for desktop/in general for some tables that are really wide */
.table_alert {
  background-color: #FEE396;
  font-size: 0.85rem;
  padding: 0.5rem;
  margin-top: 0.25rem;
  margin-bottom: 1rem;
}

/* -----------Section anchors -------------
Temporarily deprecated
.book .book-body .page-wrapper .page-inner section.normal {
  overflow: visible !important; /*so anchor link doesnt get cut off */
}

a.anchor {
  margin-left: -30px;
  padding-right: 3px;
  display:inline-block;
  width: 30px;
  height: 30px;
  background-image: url(https://image.flaticon.com/icons/svg/34/34735.svg) !important;
  background-repeat: no-repeat !important;
  background-size: 20px 20px !important;
  background-position: center bottom !important;
  opacity: 0;
}

.hasAnchor:hover a.anchor, a.anchor:hover {
  opacity: 0.6;
}

@media (max-width: 1144px) { /* dont show anchor link on small screens */
  .hasAnchor:hover a.anchor {
    visibility: hidden;
  }
}

/* The grid-container, case-header and case-footer selectors style case studies for the Cost Estimation Guide */
/* RH: small tweaks made to match design mockups */
.grid-container {
  display: grid;
  grid-template-columns: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.case_header {
  background-color: rgba(157,132,210,0.5);
  color: black;
  font-family: Merriweather, Georgia, Cambria, Times New Roman, Times, serif;
  font-size:0.98rem;
  line-height:1.5;
  font-weight:bold;
  border-color: #707070;
  border-bottom-style: solid;
  border-width: 1px;
  padding: 1.15rem 1.25rem;
}
.case_header p {
  color: black;
  font-family: Merriweather, Georgia, Cambria, Times New Roman, Times, serif;
  font-size:0.98rem;
  line-height:1.5;
  font-weight:bold;
  margin-bottom: 0 !important;
}
.case_body {
  border-style: none;
  border-width: 1px;
  padding: 1rem 1.25rem;
  background-color: #F6F6F6;
}
.case_footer {
  background-color: rgba(157,132,210,0.25);
  font-size: 1rem;
  border-color: #707070;
  border-top-style: solid;
  border-width: 1px;
  padding: 1.15rem 1.25rem;
}
.case_footer p {
  margin-bottom: 0 !important;
}

/* 6.4.2021: Sidebar content from PDF */
#sidebar {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 6.4.2021: make images inside a table cell 100% width */
table tr td img {
  max-width: none !important;
}

/* RH: Back-to-Top arrow */
.top-link {
  transition: all .25s ease-in-out;
  position: fixed;
  bottom: 0;
  right: 0;
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  margin: 0 3.5em 1.5em 0;
  border-radius: 50%;
  padding: .25em;
  width: 24px;
  height: 24px;
  background-color: transparent;
  z-index: 100;
  opacity: 0.7;
}
.top-link .show {
  visibility: visible;
  opacity: 1;
}
.top-link .hide {
  visibility: hidden;
  opacity: 0;
}
.top-link svg {
 fill: #CCC;
 width: 30px;
 height: 24px;
 opacity: 0.7;
}
.top-link:hover {
 background-color: transparent;
}
.top-link:hover svg {
     fill: #665190;
}
/* Text meant only for screen readers. */
.screen-reader-text {
    position: absolute;
    clip-path: inset(50%);
    margin: -1px;
    border: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    clip: rect(1px, 1px, 1px, 1px);
 }
 .screen-reader-text:focus {
    display: block;
    top: 5px;
    left: 5px;
    z-index: 100000;
    clip-path: none;
    background-color: #eee;
    padding: 15px 23px 14px;
    width: auto;
    height: auto;
    text-decoration: none;
    line-height: normal;
    color: #444;
    font-size: 1em;
    clip: auto !important;
}

/* Cover styles */
#cover-block {
 /*background-size: cover;
 background-repeat: no-repeat;
 background-position: center center;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;*/
 margin-left: -30px;
 margin-right: 0px;
 margin-top: 15px !important;
 margin-bottom: 2rem;
 padding-left: 30px;
 max-width: 800px;
 width: 110%;
 position: relative;
 height: auto;
 z-index: 0;
}

.title-block {
  color: #FFF;
  margin: 0 auto;
  width: 76%;
  left: 5%;
  bottom: 20%;
  position: absolute;
  z-index: 999;
}
.title-block h1 {
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
  color: #FFF;
  line-height: 1.35 !important;
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
}
.title-block h3 {
  margin-top: 0 !important;
  margin-bottom: 2rem !important;
  color: #FFF;
  font-size: 1.2rem !important;
  font-family: Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
}

.cover-image {
  margin-left: -60px;
  margin-right: -50px; /*6.7.2021: adjusted to center with box shadow content underneath*/
  height: 320px;
}

.cover-image img {
  width: auto;
  height: 100%;
  object-fit: cover;
  object-position: right top;
}

.gao-ribbon {
  float: right;
  width: 12.5%;
}

.hide-default-cover-title {
  display: none;
}

@media  (min-width: 870px) and (max-width: 1020px) {
  .title-block h1 {
    font-size: 2rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.35 !important;
  }
  .title-block h3 {
    margin-bottom: 1.5rem !important;
    font-size: 1.1rem !important;
    line-height: 1.35 !important;
  }
  #cover-block {
    width: 115%;
  }
  .title-block {
    bottom: 25%;
  }
  .cover-image {
    height: auto;
  }
}
@media (min-width: 468px) and (max-width: 870px) {
  .title-block h1 {
    font-size: 1.75rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.25 !important;
  }
  .title-block h3 {
    margin-bottom: 2rem !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
  #cover-block {
    width: 118%;
  }
  .title-block {
    bottom: 22.5%;
  }
  .cover-image {
    height: auto;
  }
}
@media (min-width: 321px) and (max-width: 468px) {
  .title-block h1 {
    font-size: 1.55rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.2 !important;
  }
  .title-block h3 {
    margin-bottom: 1rem !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
  .title-block {
    width: 72%;
    bottom: 25%;
  }
  #cover-block {
    width: 121%;
  }
  .cover-image {
    height: auto;
  }
}
@media (max-width: 321px) {
  .title-block h1 {
    font-size: 1.35rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.2 !important;
  }
  .title-block h3 {
    margin-bottom: 0.75rem !important;
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
  }
  .title-block {
    width: 80%;
    bottom: 25%;
  }
  .cover-image {
    height: auto;
  }
}

/* RH: copied in USWDS accordion styles and adjusted colors/style a little to match */
.usa-accordion{
  margin-bottom: 1rem;
  margin-top:0;
  list-style-type:none;
  padding-left:0;
  color:#000000;
  padding:0;
  width:100%;
  font-family:Source Sans Pro, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
  font-size:0.8rem;
  line-height:1.5;
}
.usa-accordion > li{
  margin-bottom:0;
  max-width:unset;
}
.usa-accordion > ul li ul{
  list-style:disc;
}
.usa-accordion > ul li ul > li > ul{
  list-style:circle;
}
.usa-accordion > ul li ul > li > ul > li > ul{
  list-style:square;
}
.usa-accordion + .usa-accordion,
.usa-accordion + .usa-accordion--bordered{
  margin-top:0.5rem;
}
.usa-accordion--bordered .usa-accordion__content{
  border-bottom:0.25rem solid #f0f0f0;
  border-left:0.25rem solid #f0f0f0;
  border-right:0.25rem solid #f0f0f0;
  padding-bottom:1rem;
}
.usa-accordion--bordered .usa-accordion__heading{
  margin-bottom:0;
}
.usa-accordion__heading,
.usa-prose .usa-accordion__heading{
  font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
  font-size:0.8rem;
  line-height:0.9;
  margin:0;
}
.usa-accordion__heading:not(:first-child),
.usa-prose .usa-accordion__heading:not(:first-child){
  margin-top:0.5rem;
}
.usa-accordion__content{
  background-color:white;
  margin-top:0;
  overflow:auto;
  padding:0.25rem 1.25rem calc(1rem - 0.25rem) 1.25rem;
}
.usa-accordion__content > *:first-child{
  margin-top:0;
}
.usa-accordion__content > *:last-child{
  margin-bottom:0;
}
.usa-accordion__button{
  -moz-osx-font-smoothing:auto;
  -webkit-font-smoothing:subpixel-antialiased;
  text-decoration:underline;
  background-color:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-weight:normal;
    font-size:0.85rem !important;
  margin:0;
  padding:0;
  text-align:left;
  background-image:url("../images/icons/minus.svg"), linear-gradient(transparent, transparent);
  background-repeat:no-repeat;
  background-color:#f0f0f0;
  background-position:right 1.25rem center;
  background-size:0.75rem;
  color:#665190;
  cursor:pointer;
  display:inline-block;
  font-weight:bold;
  margin:0;
  padding:0.5rem 1.5rem 0.5rem 0.75rem;
  text-decoration:none;
  width:100%;
}
.usa-accordion__button:hover{
  color:#1a4480;
}
.usa-accordion__button:active{
  color:#162e51;
}
.usa-accordion__button:focus{
  outline:0.25rem solid #2491ff;
  outline-offset:0;
}
.usa-accordion__button:visited{
  color:#54278f;
}
.usa-accordion__button:hover, .usa-accordion__button:active{
  -moz-osx-font-smoothing:auto;
  -webkit-font-smoothing:subpixel-antialiased;
  background-color:transparent;
  box-shadow:none;
  text-decoration:underline;
}
.usa-accordion__button:hover{
  background-color:#F4F4F4;
  color:#665190;
  text-decoration:underline;
}
.usa-accordion__button[aria-expanded=false]{
  background-image:url("../images/icons/plus.svg"), linear-gradient(transparent, transparent);
  background-repeat:no-repeat;
  background-size:0.75rem;
}
.usa-accordion p {
  font-size: 0.85rem;
}
.usa-accordion h5 {
  margin-top: 0.85em !important;
  margin-bottom: 1.5em !important;
}

/* Define ordered list heirarchy lists within accordion content, i.e. inside long descriptions */
.usa-accordion__content ol ol li {
  list-style: lower-alpha;
}
.usa-accordion__content ol ol ol li {
  list-style: lower-roman;
}
.usa-accordion__content ol ol ol ol li {
  list-style: decimal;
}

/* End of USWDS accordion styles */

/* text to be capitalized */
.all-caps {
  text-transform: uppercase;
}

/* USWDS grid system*/
.grid-container{
  margin-left:auto;
  margin-right:auto;
  max-width:64rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-card{
  margin-left:auto;
  margin-right:auto;
  max-width:10rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-card{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-card-lg{
  margin-left:auto;
  margin-right:auto;
  max-width:15rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-card-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-mobile{
  margin-left:auto;
  margin-right:auto;
  max-width:20rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-mobile{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-mobile-lg{
  margin-left:auto;
  margin-right:auto;
  max-width:30rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-mobile-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-tablet{
  margin-left:auto;
  margin-right:auto;
  max-width:40rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-tablet{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-tablet-lg{
  margin-left:auto;
  margin-right:auto;
  max-width:55rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-tablet-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-desktop{
  margin-left:auto;
  margin-right:auto;
  max-width:64rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-desktop{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-desktop-lg{
  margin-left:auto;
  margin-right:auto;
  max-width:75rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-desktop-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}

.grid-container-widescreen{
  margin-left:auto;
  margin-right:auto;
  max-width:87.5rem;
  padding-left:1rem;
  padding-right:1rem;
}
@media all and (min-width: 64em){
  .grid-container-widescreen{
    padding-left:2rem;
    padding-right:2rem;
  }
}

@media all and (min-width: 30em){
  .mobile-lg\:grid-container{
    margin-left:auto;
    margin-right:auto;
    max-width:64rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-card{
    margin-left:auto;
    margin-right:auto;
    max-width:10rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-card{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-card-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:15rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-card-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-mobile{
    margin-left:auto;
    margin-right:auto;
    max-width:20rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-mobile{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-mobile-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:30rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-mobile-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-tablet{
    margin-left:auto;
    margin-right:auto;
    max-width:40rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-tablet{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-tablet-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:55rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-tablet-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-desktop{
    margin-left:auto;
    margin-right:auto;
    max-width:64rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-desktop{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-desktop-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:75rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-desktop-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-container-widescreen{
    margin-left:auto;
    margin-right:auto;
    max-width:87.5rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 30em) and (min-width: 64em){
  .mobile-lg\:grid-container-widescreen{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container{
    margin-left:auto;
    margin-right:auto;
    max-width:64rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-card{
    margin-left:auto;
    margin-right:auto;
    max-width:10rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-card{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-card-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:15rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-card-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-mobile{
    margin-left:auto;
    margin-right:auto;
    max-width:20rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-mobile{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-mobile-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:30rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-mobile-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-tablet{
    margin-left:auto;
    margin-right:auto;
    max-width:40rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-tablet{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-tablet-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:55rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-tablet-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-desktop{
    margin-left:auto;
    margin-right:auto;
    max-width:64rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-desktop{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-desktop-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:75rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-desktop-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-container-widescreen{
    margin-left:auto;
    margin-right:auto;
    max-width:87.5rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 40em) and (min-width: 64em){
  .tablet\:grid-container-widescreen{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container{
    margin-left:auto;
    margin-right:auto;
    max-width:64rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-card{
    margin-left:auto;
    margin-right:auto;
    max-width:10rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-card{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-card-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:15rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-card-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-mobile{
    margin-left:auto;
    margin-right:auto;
    max-width:20rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-mobile{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-mobile-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:30rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-mobile-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-tablet{
    margin-left:auto;
    margin-right:auto;
    max-width:40rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-tablet{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-tablet-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:55rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-tablet-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-desktop{
    margin-left:auto;
    margin-right:auto;
    max-width:64rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-desktop{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-desktop-lg{
    margin-left:auto;
    margin-right:auto;
    max-width:75rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-desktop-lg{
    padding-left:2rem;
    padding-right:2rem;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-container-widescreen{
    margin-left:auto;
    margin-right:auto;
    max-width:87.5rem;
    padding-left:1rem;
    padding-right:1rem;
  }
}
@media all and (min-width: 64em) and (min-width: 64em){
  .desktop\:grid-container-widescreen{
    padding-left:2rem;
    padding-right:2rem;
  }
}
.grid-row{
  display:flex;
  flex-wrap:wrap;
}
.grid-row.grid-gap{
  margin-left:-0.5rem;
  margin-right:-0.5rem;
}
.grid-row.grid-gap > *{
  padding-left:0.5rem;
  padding-right:0.5rem;
}
@media all and (min-width: 64em){
  .grid-row.grid-gap{
    margin-left:-1rem;
    margin-right:-1rem;
  }
  .grid-row.grid-gap > *{
    padding-left:1rem;
    padding-right:1rem;
  }
}
.grid-row.grid-gap-0{
  margin-left:0;
  margin-right:0;
}
.grid-row.grid-gap-0 > *{
  padding-left:0;
  padding-right:0;
}
.grid-row.grid-gap-2px{
  margin-left:-1px;
  margin-right:-1px;
}
.grid-row.grid-gap-2px > *{
  padding-left:1px;
  padding-right:1px;
}
.grid-row.grid-gap-05{
  margin-left:-2px;
  margin-right:-2px;
}
.grid-row.grid-gap-05 > *{
  padding-left:2px;
  padding-right:2px;
}
.grid-row.grid-gap-1{
  margin-left:-0.25rem;
  margin-right:-0.25rem;
}
.grid-row.grid-gap-1 > *{
  padding-left:0.25rem;
  padding-right:0.25rem;
}
.grid-row.grid-gap-2{
  margin-left:-0.5rem;
  margin-right:-0.5rem;
}
.grid-row.grid-gap-2 > *{
  padding-left:0.5rem;
  padding-right:0.5rem;
}
.grid-row.grid-gap-3{
  margin-left:-0.75rem;
  margin-right:-0.75rem;
}
.grid-row.grid-gap-3 > *{
  padding-left:0.75rem;
  padding-right:0.75rem;
}
.grid-row.grid-gap-4{
  margin-left:-1rem;
  margin-right:-1rem;
}
.grid-row.grid-gap-4 > *{
  padding-left:1rem;
  padding-right:1rem;
}
.grid-row.grid-gap-5{
  margin-left:-1.25rem;
  margin-right:-1.25rem;
}
.grid-row.grid-gap-5 > *{
  padding-left:1.25rem;
  padding-right:1.25rem;
}
.grid-row.grid-gap-6{
  margin-left:-1.5rem;
  margin-right:-1.5rem;
}
.grid-row.grid-gap-6 > *{
  padding-left:1.5rem;
  padding-right:1.5rem;
}
.grid-row.grid-gap-sm{
  margin-left:-1px;
  margin-right:-1px;
}
.grid-row.grid-gap-sm > *{
  padding-left:1px;
  padding-right:1px;
}
.grid-row.grid-gap-md{
  margin-left:-0.5rem;
  margin-right:-0.5rem;
}
.grid-row.grid-gap-md > *{
  padding-left:0.5rem;
  padding-right:0.5rem;
}
.grid-row.grid-gap-lg{
  margin-left:-0.75rem;
  margin-right:-0.75rem;
}
.grid-row.grid-gap-lg > *{
  padding-left:0.75rem;
  padding-right:0.75rem;
}
@media all and (min-width: 30em){
  .grid-row.mobile-lg\:grid-gap-0{
    margin-left:0;
    margin-right:0;
  }
  .grid-row.mobile-lg\:grid-gap-0 > *{
    padding-left:0;
    padding-right:0;
  }
  .grid-row.mobile-lg\:grid-gap-2px{
    margin-left:-1px;
    margin-right:-1px;
  }
  .grid-row.mobile-lg\:grid-gap-2px > *{
    padding-left:1px;
    padding-right:1px;
  }
  .grid-row.mobile-lg\:grid-gap-05{
    margin-left:-2px;
    margin-right:-2px;
  }
  .grid-row.mobile-lg\:grid-gap-05 > *{
    padding-left:2px;
    padding-right:2px;
  }
  .grid-row.mobile-lg\:grid-gap-1{
    margin-left:-0.25rem;
    margin-right:-0.25rem;
  }
  .grid-row.mobile-lg\:grid-gap-1 > *{
    padding-left:0.25rem;
    padding-right:0.25rem;
  }
  .grid-row.mobile-lg\:grid-gap-2{
    margin-left:-0.5rem;
    margin-right:-0.5rem;
  }
  .grid-row.mobile-lg\:grid-gap-2 > *{
    padding-left:0.5rem;
    padding-right:0.5rem;
  }
  .grid-row.mobile-lg\:grid-gap-3{
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  .grid-row.mobile-lg\:grid-gap-3 > *{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
  .grid-row.mobile-lg\:grid-gap-4{
    margin-left:-1rem;
    margin-right:-1rem;
  }
  .grid-row.mobile-lg\:grid-gap-4 > *{
    padding-left:1rem;
    padding-right:1rem;
  }
  .grid-row.mobile-lg\:grid-gap-5{
    margin-left:-1.25rem;
    margin-right:-1.25rem;
  }
  .grid-row.mobile-lg\:grid-gap-5 > *{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }
  .grid-row.mobile-lg\:grid-gap-6{
    margin-left:-1.5rem;
    margin-right:-1.5rem;
  }
  .grid-row.mobile-lg\:grid-gap-6 > *{
    padding-left:1.5rem;
    padding-right:1.5rem;
  }
  .grid-row.mobile-lg\:grid-gap-sm{
    margin-left:-1px;
    margin-right:-1px;
  }
  .grid-row.mobile-lg\:grid-gap-sm > *{
    padding-left:1px;
    padding-right:1px;
  }
  .grid-row.mobile-lg\:grid-gap-md{
    margin-left:-0.5rem;
    margin-right:-0.5rem;
  }
  .grid-row.mobile-lg\:grid-gap-md > *{
    padding-left:0.5rem;
    padding-right:0.5rem;
  }
  .grid-row.mobile-lg\:grid-gap-lg{
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  .grid-row.mobile-lg\:grid-gap-lg > *{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
}
@media all and (min-width: 40em){
  .grid-row.tablet\:grid-gap-0{
    margin-left:0;
    margin-right:0;
  }
  .grid-row.tablet\:grid-gap-0 > *{
    padding-left:0;
    padding-right:0;
  }
  .grid-row.tablet\:grid-gap-2px{
    margin-left:-1px;
    margin-right:-1px;
  }
  .grid-row.tablet\:grid-gap-2px > *{
    padding-left:1px;
    padding-right:1px;
  }
  .grid-row.tablet\:grid-gap-05{
    margin-left:-2px;
    margin-right:-2px;
  }
  .grid-row.tablet\:grid-gap-05 > *{
    padding-left:2px;
    padding-right:2px;
  }
  .grid-row.tablet\:grid-gap-1{
    margin-left:-0.25rem;
    margin-right:-0.25rem;
  }
  .grid-row.tablet\:grid-gap-1 > *{
    padding-left:0.25rem;
    padding-right:0.25rem;
  }
  .grid-row.tablet\:grid-gap-2{
    margin-left:-0.5rem;
    margin-right:-0.5rem;
  }
  .grid-row.tablet\:grid-gap-2 > *{
    padding-left:0.5rem;
    padding-right:0.5rem;
  }
  .grid-row.tablet\:grid-gap-3{
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  .grid-row.tablet\:grid-gap-3 > *{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
  .grid-row.tablet\:grid-gap-4{
    margin-left:-1rem;
    margin-right:-1rem;
  }
  .grid-row.tablet\:grid-gap-4 > *{
    padding-left:1rem;
    padding-right:1rem;
  }
  .grid-row.tablet\:grid-gap-5{
    margin-left:-1.25rem;
    margin-right:-1.25rem;
  }
  .grid-row.tablet\:grid-gap-5 > *{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }
  .grid-row.tablet\:grid-gap-6{
    margin-left:-1.5rem;
    margin-right:-1.5rem;
  }
  .grid-row.tablet\:grid-gap-6 > *{
    padding-left:1.5rem;
    padding-right:1.5rem;
  }
  .grid-row.tablet\:grid-gap-sm{
    margin-left:-1px;
    margin-right:-1px;
  }
  .grid-row.tablet\:grid-gap-sm > *{
    padding-left:1px;
    padding-right:1px;
  }
  .grid-row.tablet\:grid-gap-md{
    margin-left:-0.5rem;
    margin-right:-0.5rem;
  }
  .grid-row.tablet\:grid-gap-md > *{
    padding-left:0.5rem;
    padding-right:0.5rem;
  }
  .grid-row.tablet\:grid-gap-lg{
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  .grid-row.tablet\:grid-gap-lg > *{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
}
@media all and (min-width: 64em){
  .grid-row.desktop\:grid-gap-0{
    margin-left:0;
    margin-right:0;
  }
  .grid-row.desktop\:grid-gap-0 > *{
    padding-left:0;
    padding-right:0;
  }
  .grid-row.desktop\:grid-gap-2px{
    margin-left:-1px;
    margin-right:-1px;
  }
  .grid-row.desktop\:grid-gap-2px > *{
    padding-left:1px;
    padding-right:1px;
  }
  .grid-row.desktop\:grid-gap-05{
    margin-left:-2px;
    margin-right:-2px;
  }
  .grid-row.desktop\:grid-gap-05 > *{
    padding-left:2px;
    padding-right:2px;
  }
  .grid-row.desktop\:grid-gap-1{
    margin-left:-0.25rem;
    margin-right:-0.25rem;
  }
  .grid-row.desktop\:grid-gap-1 > *{
    padding-left:0.25rem;
    padding-right:0.25rem;
  }
  .grid-row.desktop\:grid-gap-2{
    margin-left:-0.5rem;
    margin-right:-0.5rem;
  }
  .grid-row.desktop\:grid-gap-2 > *{
    padding-left:0.5rem;
    padding-right:0.5rem;
  }
  .grid-row.desktop\:grid-gap-3{
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  .grid-row.desktop\:grid-gap-3 > *{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
  .grid-row.desktop\:grid-gap-4{
    margin-left:-1rem;
    margin-right:-1rem;
  }
  .grid-row.desktop\:grid-gap-4 > *{
    padding-left:1rem;
    padding-right:1rem;
  }
  .grid-row.desktop\:grid-gap-5{
    margin-left:-1.25rem;
    margin-right:-1.25rem;
  }
  .grid-row.desktop\:grid-gap-5 > *{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }
  .grid-row.desktop\:grid-gap-6{
    margin-left:-1.5rem;
    margin-right:-1.5rem;
  }
  .grid-row.desktop\:grid-gap-6 > *{
    padding-left:1.5rem;
    padding-right:1.5rem;
  }
  .grid-row.desktop\:grid-gap-sm{
    margin-left:-1px;
    margin-right:-1px;
  }
  .grid-row.desktop\:grid-gap-sm > *{
    padding-left:1px;
    padding-right:1px;
  }
  .grid-row.desktop\:grid-gap-md{
    margin-left:-0.5rem;
    margin-right:-0.5rem;
  }
  .grid-row.desktop\:grid-gap-md > *{
    padding-left:0.5rem;
    padding-right:0.5rem;
  }
  .grid-row.desktop\:grid-gap-lg{
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  .grid-row.desktop\:grid-gap-lg > *{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
}

[class*=grid-col]{
  position:relative;
  width:100%;
  box-sizing:border-box;
}

.grid-col{
  flex:1 1 0%;
  width:auto;
  max-width:100%;
  min-width:1px;
}

.grid-col-auto{
  flex:0 1 auto;
  width:auto;
  max-width:100%;
}

.grid-col-fill{
  flex:1 1 0%;
  width:auto;
  max-width:100%;
  min-width:1px;
}

.grid-col-1{
  flex:0 1 auto;
  width:8.3333333333%;
}

.grid-col-2{
  flex:0 1 auto;
  width:16.6666666667%;
}

.grid-col-3{
  flex:0 1 auto;
  width:25%;
}

.grid-col-4{
  flex:0 1 auto;
  width:33.3333333333%;
}

.grid-col-5{
  flex:0 1 auto;
  width:41.6666666667%;
}

.grid-col-6{
  flex:0 1 auto;
  width:50%;
}

.grid-col-7{
  flex:0 1 auto;
  width:58.3333333333%;
}

.grid-col-8{
  flex:0 1 auto;
  width:66.6666666667%;
}

.grid-col-9{
  flex:0 1 auto;
  width:75%;
}

.grid-col-10{
  flex:0 1 auto;
  width:83.3333333333%;
}

.grid-col-11{
  flex:0 1 auto;
  width:91.6666666667%;
}

.grid-col-12{
  flex:0 1 auto;
  width:100%;
}

@media all and (min-width: 30em){
  .mobile-lg\:grid-col{
    flex:1 1 0%;
    width:auto;
    max-width:100%;
    min-width:1px;
  }

  .mobile-lg\:grid-col-fill{
    flex:1 1 0%;
    width:auto;
    max-width:100%;
    min-width:1px;
  }

  .mobile-lg\:grid-col-auto{
    flex:0 1 auto;
    width:auto;
    max-width:100%;
  }

  .mobile-lg\:grid-col-1{
    flex:0 1 auto;
    width:8.3333333333%;
  }

  .mobile-lg\:grid-col-2{
    flex:0 1 auto;
    width:16.6666666667%;
  }

  .mobile-lg\:grid-col-3{
    flex:0 1 auto;
    width:25%;
  }

  .mobile-lg\:grid-col-4{
    flex:0 1 auto;
    width:33.3333333333%;
  }

  .mobile-lg\:grid-col-5{
    flex:0 1 auto;
    width:41.6666666667%;
  }

  .mobile-lg\:grid-col-6{
    flex:0 1 auto;
    width:50%;
  }

  .mobile-lg\:grid-col-7{
    flex:0 1 auto;
    width:58.3333333333%;
  }

  .mobile-lg\:grid-col-8{
    flex:0 1 auto;
    width:66.6666666667%;
  }

  .mobile-lg\:grid-col-9{
    flex:0 1 auto;
    width:75%;
  }

  .mobile-lg\:grid-col-10{
    flex:0 1 auto;
    width:83.3333333333%;
  }

  .mobile-lg\:grid-col-11{
    flex:0 1 auto;
    width:91.6666666667%;
  }

  .mobile-lg\:grid-col-12{
    flex:0 1 auto;
    width:100%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-col{
    flex:1 1 0%;
    width:auto;
    max-width:100%;
    min-width:1px;
  }

  .tablet\:grid-col-fill{
    flex:1 1 0%;
    width:auto;
    max-width:100%;
    min-width:1px;
  }

  .tablet\:grid-col-auto{
    flex:0 1 auto;
    width:auto;
    max-width:100%;
  }

  .tablet\:grid-col-1{
    flex:0 1 auto;
    width:8.3333333333%;
  }

  .tablet\:grid-col-2{
    flex:0 1 auto;
    width:16.6666666667%;
  }

  .tablet\:grid-col-3{
    flex:0 1 auto;
    width:25%;
  }

  .tablet\:grid-col-4{
    flex:0 1 auto;
    width:33.3333333333%;
  }

  .tablet\:grid-col-5{
    flex:0 1 auto;
    width:41.6666666667%;
  }

  .tablet\:grid-col-6{
    flex:0 1 auto;
    width:50%;
  }

  .tablet\:grid-col-7{
    flex:0 1 auto;
    width:58.3333333333%;
  }

  .tablet\:grid-col-8{
    flex:0 1 auto;
    width:66.6666666667%;
  }

  .tablet\:grid-col-9{
    flex:0 1 auto;
    width:75%;
  }

  .tablet\:grid-col-10{
    flex:0 1 auto;
    width:83.3333333333%;
  }

  .tablet\:grid-col-11{
    flex:0 1 auto;
    width:91.6666666667%;
  }

  .tablet\:grid-col-12{
    flex:0 1 auto;
    width:100%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-col{
    flex:1 1 0%;
    width:auto;
    max-width:100%;
    min-width:1px;
  }

  .desktop\:grid-col-fill{
    flex:1 1 0%;
    width:auto;
    max-width:100%;
    min-width:1px;
  }

  .desktop\:grid-col-auto{
    flex:0 1 auto;
    width:auto;
    max-width:100%;
  }

  .desktop\:grid-col-1{
    flex:0 1 auto;
    width:8.3333333333%;
  }

  .desktop\:grid-col-2{
    flex:0 1 auto;
    width:16.6666666667%;
  }

  .desktop\:grid-col-3{
    flex:0 1 auto;
    width:25%;
  }

  .desktop\:grid-col-4{
    flex:0 1 auto;
    width:33.3333333333%;
  }

  .desktop\:grid-col-5{
    flex:0 1 auto;
    width:41.6666666667%;
  }

  .desktop\:grid-col-6{
    flex:0 1 auto;
    width:50%;
  }

  .desktop\:grid-col-7{
    flex:0 1 auto;
    width:58.3333333333%;
  }

  .desktop\:grid-col-8{
    flex:0 1 auto;
    width:66.6666666667%;
  }

  .desktop\:grid-col-9{
    flex:0 1 auto;
    width:75%;
  }

  .desktop\:grid-col-10{
    flex:0 1 auto;
    width:83.3333333333%;
  }

  .desktop\:grid-col-11{
    flex:0 1 auto;
    width:91.6666666667%;
  }

  .desktop\:grid-col-12{
    flex:0 1 auto;
    width:100%;
  }
}
.grid-offset-1{
  margin-left:8.3333333333%;
}

.grid-offset-2{
  margin-left:16.6666666667%;
}

.grid-offset-3{
  margin-left:25%;
}

.grid-offset-4{
  margin-left:33.3333333333%;
}

.grid-offset-5{
  margin-left:41.6666666667%;
}

.grid-offset-6{
  margin-left:50%;
}

.grid-offset-7{
  margin-left:58.3333333333%;
}

.grid-offset-8{
  margin-left:66.6666666667%;
}

.grid-offset-9{
  margin-left:75%;
}

.grid-offset-10{
  margin-left:83.3333333333%;
}

.grid-offset-11{
  margin-left:91.6666666667%;
}

.grid-offset-12{
  margin-left:100%;
}

.grid-offset-none{
  margin-left:0;
}

@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-1{
    margin-left:8.3333333333%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-2{
    margin-left:16.6666666667%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-3{
    margin-left:25%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-4{
    margin-left:33.3333333333%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-5{
    margin-left:41.6666666667%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-6{
    margin-left:50%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-7{
    margin-left:58.3333333333%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-8{
    margin-left:66.6666666667%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-9{
    margin-left:75%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-10{
    margin-left:83.3333333333%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-11{
    margin-left:91.6666666667%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-12{
    margin-left:100%;
  }
}
@media all and (min-width: 30em){
  .mobile-lg\:grid-offset-none{
    margin-left:0;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-1{
    margin-left:8.3333333333%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-2{
    margin-left:16.6666666667%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-3{
    margin-left:25%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-4{
    margin-left:33.3333333333%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-5{
    margin-left:41.6666666667%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-6{
    margin-left:50%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-7{
    margin-left:58.3333333333%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-8{
    margin-left:66.6666666667%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-9{
    margin-left:75%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-10{
    margin-left:83.3333333333%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-11{
    margin-left:91.6666666667%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-12{
    margin-left:100%;
  }
}
@media all and (min-width: 40em){
  .tablet\:grid-offset-none{
    margin-left:0;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-1{
    margin-left:8.3333333333%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-2{
    margin-left:16.6666666667%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-3{
    margin-left:25%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-4{
    margin-left:33.3333333333%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-5{
    margin-left:41.6666666667%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-6{
    margin-left:50%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-7{
    margin-left:58.3333333333%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-8{
    margin-left:66.6666666667%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-9{
    margin-left:75%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-10{
    margin-left:83.3333333333%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-11{
    margin-left:91.6666666667%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-12{
    margin-left:100%;
  }
}
@media all and (min-width: 64em){
  .desktop\:grid-offset-none{
    margin-left:0;
  }
}
/* end USWDS grid system*/

/* Custom footer styles */
.usa-grid {
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
}
.usa-footer-primary-section {
  background-color: #5B616B;
  color: #FFFFFF;
  padding: 0 0;
  overflow-x: hidden;
  margin-top: 50px;
}
.gao_footer_info {
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 1rem;
}
.footer-info-logo img {
  width: 110px;
  margin-bottom: 0.75rem;
}
.top-text {
  font-family: 'Merriweather Thin',Merriweather,Georgia,Cambria,Times New Roman,Times,serif;
  font-weight: 300;
  font-size: 0.95rem;
  margin-bottom: 0.75rem;
  color: #FFF;
}
#footer-grid-col-menu {
  border-left: 1px solid #FFFFFF;
}
.layout-footer-column > ul {
  display: block;
  padding: 2rem 2rem 1rem 2rem;
  margin-top: 0;
  margin-bottom: 0;
}

.layout-footer-column > ul li {
  list-style-type: none;
  margin-bottom: 0.5rem;
}
.usa-footer-secondary-link a {
  color: #FFF;
  text-decoration: none;
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
  font-weight: 300;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.2rem;
  overflow-wrap: break-word;
  width: 176px;
}
.usa-footer-secondary-link a:visited {
  color: #FFF;
  text-decoration: none;
}
.usa-footer-secondary-link a:active {
  color: #FFF;
  text-decoration: none;
}
.usa-footer-secondary-link a:hover {
  color: #FFF;
  text-decoration: underline;
}
.usa-footer-secondary-link a:after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-left-color: #FFFFFF;
  border-right: 0;
  margin: 0 0 0 .45em;
  visibility: hidden;
}
.usa-footer-secondary-link a:hover:after {
  visibility: visible;
}
.footer-social-links {
  padding-top: 0.5rem;
}
.social-link {
  margin-right: 1.2rem;
}
.social-media-icon {
  height: 1.15em;
}

@media (max-width: 1380px){
  .usa-footer-secondary-link a {
    width: auto;
  }
  #footer-logo-column {
    width: 33.333333%;
  }
  .top-text {
    padding-right: 0.5rem;
  }
  .footer-social-links {
    padding-right: 1.5rem;
  }
}

@media (max-width:1130px){
  .gao_footer_info {
    text-align: center;
  }
  .layout-footer-column {
    text-align: center;
  }
  .layout-footer-column > ul {
    padding: 1rem 1rem 0.75rem 1rem;
  }
  #footer-grid-col-menu {
    border-left: none;
    border-bottom: 1px solid #FFFFFF;
    margin: 0 0;
    flex: none;
    width: 100%;
  }
  #footer-logo-column {
    width: 100%;
  }
}
/* end Custom footer styles */

/*6.6.2021: box shadow style for Fast Facts and Highlights page body content*/
.box {
  box-shadow: 0 0 5px #aeb0b5;
  padding: 2rem;
}

/* Size based on page toppers. */
@media (min-width:1240px){
  .book .book-body .navigation {
    top: 174px;
    padding-bottom: 124px;
  }
}

/* More visible nav buttons. */
.book .book-body .navigation.navigation-prev,
.book .book-body .navigation.navigation-next {
  background-color: white;
  color: #333333 !important;
}
/* Visual Polish */
.book .book-body .navigation.navigation-prev {
  border-left: none !important;
}
/* Visual Polish */
.book .book-body .navigation.navigation-next {
  border-right: none !important;
}

/* (Desktop) Visual color change on hover. */
.book .book-body .navigation.navigation-prev:hover,
.book .book-body .navigation.navigation-next:hover {
  border-width: 1px;
  border-style: solid;
  border-image: linear-gradient(to bottom, white, #665190, white) 1 100%;
  color: #665190 !important;
}

/*6.7.2021: override the left and right navigation arrows in the body content, to put 'previous' and 'next' text in as pseudo class*/
.book .book-body .navigation.navigation-next::after {
  content: "Next";
  font-size: 0.7rem;
  white-space: pre;
}
.book .book-body .navigation.navigation-prev::after {
  content: "Previous";
  font-size: 0.7rem;
  white-space: pre;
}
@media (max-width:1240px){
  .book .book-body .navigation.navigation-next::after {
    content: "Next";
    font-size: 0.7rem;
    white-space: normal;
    vertical-align: middle;
    margin-bottom: 6px;
    margin-left: 6px;
    display: inline-block;
  }
  .book .book-body .navigation.navigation-prev::before {
    content: "Previous";
    font-size: 0.7rem;
    white-space: normal;
    vertical-align: middle;
    margin-bottom: 6px;
    margin-right: 6px;
    display: inline-block;
  }
  .book .book-body .navigation.navigation-prev::after {
    content: "";
    font-size: 0.7rem;
    white-space: normal;
  }
  /* Visual Polish */
  .book .book-body .navigation.navigation-prev {
    border-right: none !important;
  }
  /* (Tablet & Mobile) Enable sticky bottom nav. */
  .book .book-body .navigation.navigation-prev,
  .book .book-body .navigation.navigation-next {
    position: -webkit-sticky; /* Safari */
    position: sticky !important;
    top: 0;
    border-width: 1px;
    border-style: solid;
    border-image: none !important;
  }
  /* (Desktop Half) Visual color change on hover.*/
  .book .book-body .navigation.navigation-prev:hover,
  .book .book-body .navigation.navigation-next:hover {
    color: #665190 !important;
  }
}

/* 6.6.2021: hide the default title from the first (index) page of the book */
.title {
  display: none;
}

/*9.3.2021: Add the word 'Share:' before the share icons in the toolbar'*/
.book-header:after {
  content: "SHARE:";
  font-size: 0.75rem;
  font-weight: 600;
  font-family: Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
  white-space: normal;
  margin-right: 2px;
  margin-top: 18px;
  float: right;
  color: white;
}
@media (max-width: 374px){
  .book-header:after {
    content: "";
  }
}

/* 12.2.2021: Add result counts to search results. plugin-bookdown.js changes required.*/

.book .book-summary #search-result-count {
  visibility: hidden;
  opacity: 0;
  text-align: right;
}

.book.with-search .book-summary #search-result-count {
  visibility: visible;
  opacity: 100;
  transition: opacity 1s;
  padding: .5em .25em;
}

.book .book-summary .search-options {
  display: flex;
  justify-content: space-between;
  padding: .5em .25em;
  visibility: hidden;
  opacity: 0;
}

.book.with-search .book-summary .search-options {
  visibility: visible;
  opacity: 100;
  transition: opacity 1s;
}

.book .book-summary .search-option {
  padding-top: .25em;
  display: flex;
  height: 1.25em;
  font-size: 1em;
  justify-content: end;
}

/* Remove gitbook-2.6.7 css styling for checkbox. */
.book .book-summary .search-option input[type="checkbox"],
.book .book-summary .search-sort-option input[type="radio"] {
  width: revert;
}

.book .book-summary .search-option label {
  white-space: nowrap;
  padding-left: .25em;
  font-size: smaller;
}

.book .book-summary {
  display: flex;
  flex-direction: column;
}

.book.with-search .book-summary ul.summary {
  top: 80px;
}

.book.with-search-options .book-summary ul.summary {
  top: 170px !important
}

.book.with-search .book-summary .book-search {
  position: relative !important;
}

/* 12.3.2021: Add Search Results */

.book .book-summary .book-search {
  padding: 1em;
  top: -55px;
}

/* Vertically center search bar with book-header */
.book.with-search .book-summary .book-search {
  padding: .5em 1em 1em 1em;
  top: 0px;
}

/* Cut right side to fit button */
.book .book-summary .book-search #search-box {
  border-radius: 2em 0 0 2em !important;
  padding: .5em;
}

.book .book-summary #search-results {
  height: 100vh;
  overflow-y: auto;
  padding: 1em;
}

.book .book-summary .search-result:hover {
  cursor: pointer;
}

.book .book-summary .search-result:hover .search-result-path, 
.book .book-summary .search-result:hover .search-result-body {
  color: #007FFF !important;
}

/* ? Element is dynamically added so CSS doesn't pick it up? Added inline in plugin-search.js */
.book .book-summary .search-result .search-result-current .search-result-current-text {
  /* font-size: smaller;
  padding: .25em .5em 0 0; */
  padding: 0em .5em;
  margin-top: .2em;
  border: 1px solid #007FFF;
  background-color: #007FFF;
  color: white;
  border-radius: 1em;
  font-size: x-small;
}

.book .book-summary #search-results .search-result:first-of-type {
  border-top: 1px dashed #c3c3c3; 
}
.book .book-summary #search-results .search-result:last-of-type {
  margin-bottom: 25em;
}

.book .book-summary #search-results .search-result {
  padding: .5em .25em;
  border-bottom: 1px dashed #c3c3c3;
}	

.book .book-summary #search-results .search-result-none {
  text-align: center;
  padding: 2em;
  border-top: 1px dashed grey;
  border-bottom: 1px dashed grey;
}	

.book .book-summary .search-result-error {
  text-align: center;
  padding: 2em;
  border-top: 1px dashed grey;
  border-bottom: 1px dashed grey;
  padding: 2em;
  margin: 1em;
  color: red;
}

.book .book-summary #search-results .search-result .search-result-header {
  display: flex;
  justify-content: space-between;
  padding-top: .25em;
  align-items: start;
}

.book .book-summary #search-results .search-result .search-result-path {
  font-weight: 600;
  font-size: small;
  color: #505050;
  padding-top: .25em;
}

.book .book-summary #search-results .search-result .search-result-key {
  padding: 0em .25em;
}

.book .book-summary #search-results .search-result .search-result-body {
  color: gray;
  font-size: small;
}	

.book .book-summary #search-results .search-result .search-result-excerpt {
  padding: .5em 0;
}

.book .book-summary #search-results .search-result .search-result-tags {
  display: flex;
  justify-content: space-between;
  padding-top: .25em;
}

.book .book-summary #search-results .search-result .search-result-tags > div {
  display: flex;
}

.book .book-summary #search-results .search-result .search-result-tag {
  padding: 0em .5em;
  border: 1px solid gray;
  background-color: white;
  color: gray;
  border-radius: 1em;
  font-size: x-small;
}

.book .book-summary #search-results .search-result .search-result-tag:not(:last-of-type) {
  margin-right: .25em;
}

/* 1.13.2022: Add multiple sort options .*/

.book .book-summary #search-sort-options {
  visibility: hidden;
  opacity: 0;
}

.book.with-search .book-summary #search-sort-options {
  visibility: visible;
  opacity: 100;
  transition: opacity 1s;
  display: flex;
  justify-content: start;
  padding: .5em .25em;
  font-size: smaller;
}

.book.with-search .book-summary .search-sort-label {
  padding-right: .5em;
}

.book.with-search .book-summary .search-sort-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.book.with-search .book-summary .search-sort-option label {
  padding: 0px 4px;
}

/* 2.16.2022: Add search options drawer and button .*/

/* Force book-summary to device width. */
@media (max-width: 425px) {
  .book.with-search .book-summary,
  .book.with-summary .book-summary {
    width: auto !important;
  }
  .book .book-summary {
    min-width: 100%;
  }
}

.book .book-summary .book-search .search-options-container {
  display: flex;
  flex-direction: row;
  align-items: start;
  justify-content: space-around;
  padding-top: .5em;
}

.book .book-summary .book-search .search-options {
  display: flex;
  flex-direction: column;
  align-items: start;
}

.book .book-summary .book-search #search-sort-options {
  padding-top: .75em !important;
  display: flex;
  flex-direction: column;
  align-items: start;
}

.book .book-summary .book-search .search-sort-option {
  padding-top: .25em;
}

.book .book-summary .book-search .search-input-container {
  display: flex;
}

.book .book-summary .book-search #toggle-search-options {
  width: 36px;
  height: 100%;
  border-left: none;
  border-radius: 0 2em 2em 0;
}

/* 2.28.2022: Reduce space following figure and table captions and tip. .*/

.guide-figure > h5 {
  margin-bottom: 0 !important;
}

.guide-figure > .figure_alert {
  margin-top: 0;
}

/* 3.15.2022: Margin adjustments to account for left hand anchor. */
/* See: digital-guide.min.js. For headers rem works better on mobile. */

.anchor-section {
  margin: 0 0.5em 0 0 !important;
}

.section h1.hasAnchor {
  display: flex;
  margin-left: -3.25rem !important;
}

.section h2.hasAnchor {
  display: flex;
  margin-left: -2.6rem !important;
}

.section h3.hasAnchor {
  display: flex;
  margin-left: -1.85rem !important;
}

.section h4 {
  display: flex;
  margin-left: -1.45rem !important;
}

.guide-figure h5.hasAnchor {
  display: flex;
  margin-left: -1em;
}

/* Remove extra margin from headers in mobile view. */
@media (max-width: 600px) {
  .section h1,
  .section h2 {
    margin-top: 0 !important;
  }
}

/* (Desktop) Force the footer to display above the arrow nav buttons. */
@media (min-width:1240px){
  .usa-footer-primary-section {
    z-index: 100;
    position: relative;
  }
}

/* 3.27.2022: Search Adjustments */

.search-highlight {
  border-radius: 1em;
  padding: .075em .5em;  
  cursor: pointer;
  color: black;
}

.search-highlight:hover,
.search-highlight-selected {
  background-color: #007FFF !important;
  color: white !important;
}

/* Fix header not displaying on iOS */
/* https://github.com/rstudio/bookdown/issues/60 */
/* https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela */
* {
  -webkit-overflow-scrolling: auto
}

/* end of Custom Digital Book styling */
