/* Fix for social link icons - background shorthand resets other properties */
.usa-social-link.usa-social-link--icon {
  padding: 8px;
  background-color: #083c6f;
  background-size: contain;
  background-origin: content-box;
  border: none;
  background-repeat: no-repeat;
  height: 48px;
  width: 48px;
  display: inline-block;
}

.usa-social-link.usa-social-link--icon.usa-social-link--feed {
  background-image: url(/themes/custom/ttb/assets/icons/feed-icon.svg);
}

.usa-social-link.usa-social-link--icon.usa-social-link--rss {
  background-image: url(/themes/custom/ttb/assets/icons/rss-icon.svg);
}

.usa-social-link.usa-social-link--icon.usa-social-link--email {
  background-image: url(/themes/custom/ttb/assets/icons/email-icon.svg);
}

.usa-social-link.usa-social-link--icon.usa-social-link--event {
  background-image: url(/themes/custom/ttb/assets/icons/event-icon.svg);
}

.usa-social-link.usa-social-link--icon.usa-social-link--support {
  background-image: url(/themes/custom/ttb/assets/icons/engineer-icon.svg);
}

.usa-footer__secondary-section .usa-social-link span {
  display: none;
}

/* Match Drupal's table-header treatment for non-borderless content tables,
   including legacy tables whose headers are directly in tbody rows. */
.region-content .usa-table:not(.usa-table--borderless):not(.ttb-contact-info-table):not(.ttb-industrial-forms-table) th {
  background-color: #dfe1e2;
  line-height: 1.3;
}

/* The tax-rate tables are white in the live Drupal rendering, including
   semantic row and column headers. */
.region-content .usa-table:has(tr[id="beer"]) th,
.region-content .usa-table:has(tr[id="wine"]) th,
.region-content .usa-table:has(tr[id="ds"]) th,
.region-content .usa-table:has(tr[id="tobacco"]) th,
.region-content h2[id="tobacco"] + .usa-table th,
.region-content .usa-table:has(tr[id="papers"]) th,
.region-content h2[id="firearms"] + .usa-table th {
  background-color: #fff !important;
}

/* Borderless tables keep the live transparent header treatment while using
   the same compact line box as the Drupal table baseline. */
.region-content .usa-table.usa-table--borderless th {
  background-color: transparent;
  line-height: 1.3;
}

/* These due-date pages use semantic thead cells but the live Drupal tables
   intentionally keep their headers white. */
body.path-taxes-tax-audit-taxes-and-filing-tax-returns-and-operational-reports-due-dates-2025-due-dates-for-tax-returns .region-content .usa-table th,
body.path-taxes-tax-audit-taxes-and-filing-tax-returns-and-operational-reports-due-dates-due-dates-for-tax-returns .region-content .usa-table th {
  background-color: #fff;
}

/* The live calendar keeps its accessible header row visually equivalent to
   the legacy Drupal tbody row: white cells, normal wrapping, and 24px text
   line boxes. The source remains a semantic thead/th table for CMS and AT. */
body.path-about-ttb-calendar .region-content .usa-table thead th {
  background-color: #fff !important;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  font-weight: 400;
  line-height: 24px !important;
  white-space: normal !important;
}

/* Keep the semantic thead while matching the live legacy table's row-group
   geometry; otherwise the header/body boundary adds one rendered pixel. */
body.path-about-ttb-calendar .region-content .usa-table thead {
  display: table-row-group;
}

/* Keep the legacy Industry Circular Attachment B instructions inside the
   mobile content column when long emphasized list text is rendered. */
@media (max-width: 40rem) {
  body.page-node-type-page .region-content li[id="3b"] strong {
    overflow-wrap: anywhere;
  }
}

/* The current Drupal body supplies an accessible label for this legacy selector;
   keep it available to assistive technology while matching the live control row. */
.region-content p[data-ttb-select-navigation] > label.usa-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Preserve the live alert emphasis when the source body uses semantic h2/h3 headings. */
.region-content .usa-alert__heading {
  font-weight: 700;
}

.formula-tool-page .formula-form-title {
  color: #2e8540;
}

.formula-tool-page .usa-alert--warning .usa-alert__body::before {
  background-image: url("/libraries/uswds/dist/img/usa-icons/warning.svg");
}

.ttb-formula-commodity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}

.ttb-formula-commodity-grid article {
  border: 1px solid #dfe1e2;
  padding: 1rem;
}

.ttb-formula-commodity-grid img {
  display: block;
  height: auto;
  margin: 0 auto 1rem;
  max-width: 150px;
}

.ttb-formula-commodity-grid h3 {
  font-size: 1.15rem;
  margin-top: 0;
}

@media (max-width: 63.99rem) {
  .ttb-formula-commodity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 39.99rem) {
  .ttb-formula-commodity-grid {
    grid-template-columns: 1fr;
  }
}

/* Native Markdown image/table output uses the same shared content baseline as Drupal rich text. */
.region-content article > p:has(> img:only-child) {
  display: block;
  line-height: 18.4px;
  margin-bottom: 0;
  margin-top: 0;
}

.region-content article > p > img:only-child {
  display: inline;
  height: auto;
  max-width: 100%;
}

.ttb-live-image-placeholder {
  display: block;
  height: 23.5px;
  width: 100%;
}

/* Replace source-confirmed presentation tables with an equivalent non-tabular layout. */
.ttb-layout-grid {
  display: grid;
  width: 100%;
}

.ttb-layout-grid--columns-1 {
  grid-template-columns: minmax(0, 1fr);
}

.ttb-layout-grid--columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ttb-layout-grid--columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ttb-layout-grid--columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ttb-layout-grid__cell {
  min-width: 0;
  align-self: start;
}

.ttb-layout-grid--spaced .ttb-layout-grid__cell {
  padding: 0.5rem 1rem;
}

.ttb-layout-grid--bordered .ttb-layout-grid__cell {
  background-color: #fff;
  border: 1px solid #1b1b1b;
  padding: 0.5rem 1rem;
}

@media (max-width: 40em) {
  .ttb-layout-grid--columns-2,
  .ttb-layout-grid--columns-3,
  .ttb-layout-grid--columns-4 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Drupal's TTB News card media is fluid even when the source image has intrinsic dimensions. */
body.path-public-information-ttb-newsletter .usa-card__media img {
  width: 100%;
  height: auto;
}

/* Source-confirmed legacy rich-text presentation kept out of Markdown bodies. */
.ttb-light-heading {
  font-weight: 300;
}

.region-content h2.ttb-light-heading,
.region-content h3.ttb-light-heading {
  margin-bottom: 24px;
  margin-top: 32px;
}

.ttb-inline-button-label {
  padding-left: 10px;
  padding-right: 10px;
}

.ttb-list-disc {
  list-style-type: disc;
}

.ttb-quarter-column {
  width: 25%;
}

.ttb-padding-top-16 {
  padding-top: 16px;
}

.ttb-text-blue {
  color: blue;
}

.ttb-text-green {
  color: green;
}

.ttb-text-primary-blue {
  color: #005ea2;
}

.ttb-crosswalk-accordion-content {
  border-bottom-color: #005ea2 !important;
  border-left-color: #005ea2;
  border-right-color: #005ea2;
}

.ttb-crosswalk-accordion-button {
  background-color: #005ea2;
  color: white;
}

.ttb-oic-date {
  -webkit-text-stroke-width: 0;
  background-color: #fff;
  color: #1b1b1b;
  display: inline !important;
  float: none;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  font-size: 16.96px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  orphans: 2;
  text-align: start;
  text-decoration-color: initial;
  text-decoration-style: initial;
  text-decoration-thickness: initial;
  text-indent: 0;
  text-transform: none;
  white-space: normal;
  widows: 2;
  word-spacing: 0;
}

.ttb-oic-link {
  -webkit-text-stroke-width: 0;
  background-color: #fff;
  box-sizing: inherit;
  color: #0053a2;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  font-size: 16.96px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  orphans: 2;
  text-align: start;
  text-indent: 0;
  text-transform: none;
  white-space: normal;
  widows: 2;
  word-spacing: 0;
}

/* Source-confirmed crosswalk accordion state styling belongs in shared CSS. */
button[aria-expanded="false"].crosswalk-accord {
  background-image: url(https://designsystem.digital.gov/assets/img/icons/add-white.svg) !important;
  background-repeat: no-repeat !important;
}

button[aria-expanded="true"].crosswalk-accord {
  background-image: url(https://designsystem.digital.gov/assets/img/icons/remove-white.svg) !important;
  background-repeat: no-repeat !important;
}

button[aria-expanded="true"].crosswalk-accord span {
  display: none;
}

/* The live virtual-training source does not decorate its external body links. */
.no-extlink-attach .field--name-body a[data-extlink] > svg.ext {
  display: none;
}

/* Ensure navigation is visible on desktop */
@media (min-width: 64em) {
  .treas-main-nav.usa-nav {
    display: block !important;
    position: relative !important;
    background: #0053a2;
  }

  .usa-nav__primary {
    display: flex !important;
  }
}

/* Primary-nav arrows and search icon geometry come from the mirrored live theme. */

/* Drupal FAQ View routes use anchor accordion headings in the live site. */
a.usa-accordion__button,
a.usa-accordion__button:visited {
  color: #212121 !important;
}

/* Current Drupal USWDS places the disclosure icon before the heading. Keep
 * native CMS buttons visually equivalent to Drupal's anchor controls. */
.cms-accordion-block .usa-accordion__button {
  justify-content: normal;
  text-align: start;
  padding-block: 1rem;
  padding-inline: 3.5rem 1.25rem;
  background-position: left 1.25rem top calc(50% - 1px);
}

.cms-accordion-block:has([data-faq-category-select]) .usa-accordion__button {
  color: #212121;
}

/* Source editorial notes can use the compact system-font emphasis treatment
 * without placing unsupported typography styles in native CMS rich text. */
.cms-accordion-block__section-intro--small-system em {
  color: #212529;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 14px;
  font-weight: 400;
}

/* Drupal FAQ Views use the Public Sans h3 treatment for category labels. */
.cms-accordion-block:has([data-faq-category-select]) .cms-accordion-block__section {
  font-family: "Public Sans", helvetica, arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 36px;
}

/* Category headings are real Drupal h2 sections; their CMS class must retain
 * the theme's spacing for unclassed section headings. */
.region-content .cms-accordion-block__section,
.region-content .cms-accordion-block__heading {
  margin-block: 32px 24px;
}

/* Main content padding to match live site (64px) */
main.usa-section#content {
  padding-top: 64px;
  padding-bottom: 64px;
}

@media (max-width: 39.99em) {
  main.usa-section#content {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}

.treas-home-news {
  padding-bottom: 40px;
}

.usa-collection__item.treas-home-regulations {
  border-bottom-style: none;
  padding-bottom: 0;
}

.ttb-icon-button--claim {
  padding-bottom: 4px;
}

.ttb-icon-button--claim-spacer {
  display: inline-block;
  text-decoration: none !important;
}

.ttb-content-live-heading {
  font-weight: 300;
  margin: 2rem 0 1.5rem;
}

/* Match Drupal's flex layout for migrated content alert bodies. */
.region-content .usa-alert .usa-alert__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
}

.region-content .usa-alert .usa-alert__body > * {
  margin-left: 40px;
  width: calc(100% - 40px);
}

.region-content .usa-alert.site-alert .usa-alert__body > * {
  margin-left: 0;
  width: auto;
}

body.path-ponl-one-time-code .region-content #importantFooter > .grid-row {
  margin-left: 0;
  width: auto;
}

/* The Pay.gov filing-deadline alert is a no-icon alert in the live page. */
body .region-content .usa-alert.usa-alert--no-icon .usa-alert__body > * {
  margin-left: 0;
  width: auto;
}

body.path-online-services-epayment .region-content .usa-alert.usa-alert--info.usa-alert--no-icon .usa-alert__body > * {
  margin-left: 0;
  width: auto;
}

body.path-online-services-processing-times .field--name-body a.ext > svg,
body.path-online-services-processing-times .cms-callout-block a.ext > svg {
  display: none !important;
}

/* These two live pages render the contact-form links without Drupal's
 * external-link icon; keep the source-confirmed link targets unchanged. */
.region-content .field--name-body a[href="https://forms.ttb.gov/s/contact-nrc"] > svg.ext,
.region-content .field--name-body a[href="https://forms.ttb.gov/s/contact-alfd"] > svg.ext {
  display: none !important;
}

/* Preserve the live contact-table appearance after promoting row labels to
 * semantic table headers. */
.region-content table.ttb-contact-info-table th {
  background-color: #fff;
}

.region-content table.ttb-industrial-forms-table th {
  background-color: #fff;
}

.region-content table.ttb-industrial-forms-table .ttb-forms-table-cell {
  vertical-align: top;
}

.region-content table.ttb-industrial-forms-table .ttb-forms-table-cell--narrow {
  width: 26%;
}

.region-content table.ttb-industrial-forms-table .ttb-forms-table-cell--wide {
  width: 74%;
}

/* Source-confirmed tables retain semantic headers while matching the current
 * Drupal visual treatment on pages whose live markup uses ordinary cells. */
.region-content .usa-table:has(> caption#laboratory-analysis-beverages-caption-2) th,
.region-content .usa-table:has(> caption#medium-afp-bond-caption) th,
.region-content .usa-table:has(> caption#large-afp-bond-caption) th,
.region-content .usa-table:has(> caption#afp-dsp-comparison-caption) th,
.region-content .usa-table:has(> caption#industrial-alcohol-forms-caption) th,
.region-content .usa-table:has(> caption#afp-dsp-distinctions-caption) th,
.region-content .usa-table:has(> caption#sda-formulas-caption) th,
.region-content .usa-table:has(> caption#authorized-sda-formulas-caption) th,
.region-content .usa-table:has(> caption#starting-menstruum-caption) th,
.region-content .usa-table:has(> caption#absolute-ethanol-caption) th {
  background-color: #fff;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  line-height: 24px;
}

body.path-connecting-permits-online-account .field--name-body a[href="https://my.ttb.gov/ponl-sign-in"] > svg.ext {
  display: none !important;
}

body.path-myttb-entity main > h1,
body.path-myttb-entity main > p,
body.path-myttb-permits main > h1,
body.path-myttb-permits main > p {
  width: calc(100% - 32px);
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* Match the live alert banner's centered flex body at narrow widths. */
.treas-alert .usa-alert__body {
  display: flex;
  justify-content: center;
}

/* Preserve the shared region heading rhythm when a migrated inline-style class is present. */
.region-content h3.ttb-content-inline-303aa6a044 {
  margin-bottom: 24px;
  margin-top: 32px;
}

@media (max-width: 39.99em) {
  /* The live news template reserves a 530px mobile footer box. */
  body.page-node-type-ttb-news footer.usa-footer--big {
    min-height: 530px;
  }

  /* Match the live USWDS collapsible footer separators and button height. */
  footer.usa-footer--big .usa-footer__primary-content--collapsible > .usa-footer__primary-link--button {
    border-top: 1px solid #a9aeb1;
  }
}

@media (max-width: 63.99em) {
  .treas-alert .usa-alert__body {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Breadcrumb spacing and arrow dividers */

.treas-breadcrumb__item::after {
  content: " ";
  background: url(/themes/custom/gallatin2/img/breadcrumb-arrow.png) center center no-repeat;
  background-size: 6px 8px;
  color: #9c9999;
  display: inline-block;
  width: 6px;
  height: 8px;
  margin-left: 2px;
}

.treas-breadcrumb__item:last-child::after {
  content: none;
  display: none;
}

.treas-breadcrumb__item[aria-current="page"] {
  color: #0b122c;
  font-weight: 700;
}

/* Organizational Chart styles */
.director {
  width: 175px;
  background-color: #22618c;
  border: 4px double #04365e;
  padding: 15px;
  margin-bottom: 10px;
}

.adirector {
  width: 133px;
  height: 310px;
  background-color: #22618c;
  border: 4px double #04365e;
  padding: 8px;
  z-index: 3;
  font-size: 12px;
}

.adirectorOff {
  width: 133px;
  height: 310px;
  background-color: #9ac8e7;
  border: 4px double #04365e;
  padding: 8px;
  color: #666;
  z-index: 3;
  font-size: 12px;
}

.standard {
  width: 160px;
  background-color: #22618c;
  border: 2px solid #04365e;
  margin-bottom: 5px;
  z-index: 3;
}

.standard2 {
  width: 160px;
  height: 150px;
  background-color: #22618c;
  border: 2px solid #04365e;
  margin-bottom: 5px;
  margin-top: 20px;
  z-index: 3;
}

#orgALFD {
  width: 979px;
  background-color: #fff;
  color: #fff;
}

#orgTopALFD {
  width: 979px;
  text-align: center;
  z-index: 2;
}

#tree1, #tree2, #tree3, #tree4, #tree5, #tree6, #tree7 {
  display: none;
  margin-top: -2px;
}

#tree1 {
  background-image: url('/system/files/images/orgchart2/about-orgchart-top-lines-bot-1a.gif');
  background-repeat: no-repeat;
}

#tree2 {
  background-image: url('/system/files/images/orgchart2/about-orgchart-top-lines-bot-2a.gif');
  background-repeat: no-repeat;
}

#tree3 {
  background-image: url('/system/files/images/orgchart2/about-orgchart-top-lines-bot-3a.gif');
  background-repeat: no-repeat;
}

#tree5 {
  background-image: url('/system/files/images/orgchart2/about-orgchart-top-lines-bot-5b.gif');
  background-repeat: no-repeat;
}

#tree6 {
  background-image: url('/system/files/images/orgchart2/about-orgchart-top-lines-bot-6d.gif');
  background-repeat: no-repeat;
}

.director a:link, .director a:visited {
  color: #fff;
  text-decoration: none;
}

.director a:hover {
  color: #fff;
  text-decoration: underline;
}

.adirector a:link, .adirector a:visited {
  color: #fff;
  text-decoration: none;
}

.adirector a:hover {
  color: #fff;
  text-decoration: underline;
}

.adirectorOff a:link, .adirectorOff a:visited {
  color: #666;
  text-decoration: none;
}

.adirectorOff a:hover {
  color: #666;
  text-decoration: underline;
}

.standard a:link, .standard a:visited,
.standard2 a:link, .standard2 a:visited {
  color: #fff;
  text-decoration: none;
}

.standard a:hover, .standard2 a:hover {
  color: #fff;
  text-decoration: underline;
}

#orgTopALFD p {
  margin: 0 0 10px 0;
}

#orgALFD * {
  line-height: 1.2;
}

#orgTopALFD * {
  line-height: 1.4;
}

.standard, .director {
  margin: 0 auto;
}

/* Active navigation highlighting */
.usa-nav__submenu-list a.nav-active,
.usa-nav__submenu-list li.nav-active-item a {
  color: #ffbe2e !important;
  font-weight: 700 !important;
}

.usa-nav__submenu-list a.nav-active span,
.usa-nav__submenu-list a.nav-active strong,
.usa-nav__submenu-list li.nav-active-item a span,
.usa-nav__submenu-list li.nav-active-item a strong {
  color: #ffbe2e !important;
  font-weight: 700 !important;
}

/* Footer Treasury Logo */
.usa-footer__primary-section {
  position: relative;
}

.usa-footer__primary-section:before {
  content: "";
  display: block;
  background: url(/themes/custom/ttb/assets/img/ttb-footer-logo.svg) top center no-repeat;
  background-size: 70px 70px;
  height: 70px;
  margin-top: -80px;
  width: 100%;
}

/* Match the current USWDS button flex behavior used by Drupal. */
.usa-button {
  align-items: center;
  column-gap: 0.5rem;
  display: inline-flex;
  justify-content: center;
}

/* Source-confirmed presentation moved out of Part 4 editable HTML bodies. */
.ttb-content-display-inline-flex { display: inline-flex !important; }
.ttb-content-list-disc { list-style-type: disc !important; }
.ttb-content-list-lower-latin,
.ttb-content-list-lower-latin ol { list-style-type: lower-latin !important; }
.ttb-content-list-circle { list-style-type: circle !important; }
.ttb-content-list-square { list-style-type: square !important; }
.ttb-content-list-decimal { list-style-type: decimal !important; }
.ttb-content-vertical-align-top { vertical-align: top !important; }
.ttb-content-font-weight-300 { font-weight: 300 !important; }
.region-content h2.ttb-content-font-weight-300,
.region-content h3.ttb-content-font-weight-300 {
  margin-top: 32px;
  margin-bottom: 24px;
}
.ttb-content-padding-bottom-1 { padding-bottom: 1rem !important; }
.ttb-content-text-red { color: red !important; }
.ttb-content-text-dark-red { color: #D0021B !important; }
.ttb-content-text-align-left { text-align: left !important; }
.ttb-content-text-align-right { text-align: right !important; }
.ttb-content-text-align-center { text-align: center !important; }
.ttb-content-text-align-justify { text-align: justify !important; }
.ttb-content-image-fluid { height: auto !important; max-width: 100% !important; }
.ttb-content-image-bordered { border: 3px solid #151515 !important; }
.ttb-content-table-full-width { width: 100% !important; }
.ttb-content-public-sans { font-family: "Public Sans" !important; }
.ttb-content-cell-padding-15 { padding: 15px !important; }
.ttb-content-cell-padding-4 { padding: 4px !important; }
.ttb-content-cell-padding-4-top-half { padding: 4px !important; vertical-align: top !important; width: 50% !important; }
.ttb-content-cell-center-top-fifth { text-align: center !important; vertical-align: top !important; width: 20% !important; }
.ttb-content-cell-center-top { text-align: center !important; vertical-align: top !important; }
.ttb-content-cell-right-top { text-align: right !important; vertical-align: top !important; }
.ttb-content-cell-top-half { vertical-align: top !important; width: 50% !important; }
.ttb-content-cell-padding-25 { padding: 25px !important; }
.ttb-content-image-pointer { cursor: pointer !important; }
.ttb-content-box-sizing-inherit { box-sizing: inherit !important; }
.ttb-content-margin-right-30 { margin-right: 30px !important; }
.ttb-content-margin-left-1 { margin-left: 1rem !important; }
.ttb-content-display-flex { display: flex !important; }
.ttb-content-heading-no-margin { margin-bottom: 0 !important; margin-top: 0 !important; }
.ttb-content-margin-top-0 { margin-top: 0 !important; }
.ttb-content-heading-margin-top-10 { margin-bottom: 0 !important; margin-top: 10px !important; }
.ttb-content-text-indent-25 { text-indent: 25px !important; }
.ttb-content-text-indent-50 { text-indent: 50px !important; }
.ttb-content-padding-left-50 { padding-left: 50px !important; }
.ttb-content-row-blue { background-color: #4472c4 !important; }
.ttb-content-row-pale-blue { background-color: #d9e2f3 !important; }
.ttb-content-row-yellow { background-color: #fffd2e !important; }
.ttb-content-row-pale-yellow { background-color: #fffeda !important; }
.ttb-content-row-pale-green { background-color: #e2efd9 !important; }
.ttb-content-row-green { background-color: #70ad47 !important; }
.ttb-content-text-orange { color: #F39C12 !important; }
.ttb-content-text-green { color: green !important; }
.ttb-content-table-width-95 { width: 95% !important; }
.ttb-content-cell-height-21-top { height: 21px !important; vertical-align: top !important; }
.ttb-content-cell-height-67-center-sixth { height: 67px !important; text-align: center !important; width: 17% !important; }
.ttb-content-cell-height-73-center { height: 73px !important; text-align: center !important; }
.ttb-content-cell-top-five-sixths { vertical-align: top !important; width: 83% !important; }
.ttb-video {
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.ttb-video iframe {
  border: 0;
  display: block;
  max-width: 100%;
}
.cms-youtube-video {
  margin: 1.5rem auto;
  max-width: 480px;
}
.cms-youtube-video__frame {
  aspect-ratio: 16 / 9;
  position: relative;
  width: 100%;
}
.cms-youtube-video__frame iframe {
  height: 100%;
  left: 0;
  max-width: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.cms-youtube-video__caption,
.cms-youtube-video__transcript {
  margin: 0.75rem 0 0;
}
.ttb-content-signup-padding { padding-left: 30px !important; }
.ttb-content-contact-cell {
  background-color: #e0ede3 !important;
  border-width: 0 !important;
  padding-right: 2rem !important;
  vertical-align: top !important;
}
.ttb-content-contact-cell-last {
  padding-right: 0 !important;
}

/* Regulated-guidance pages keep external-link labels text-only. */
body.regulated-guidance .field--name-body a.ext > svg {
  display: none !important;
}

/* Preserve the live Drupal heading rhythm after moving font-weight declarations into classes. */
body.agency-services .field--name-body > h2.ttb-content-font-weight-300 {
  margin-top: 8px;
  margin-bottom: 0;
}
body.agency-services .field--name-body > h2.ttb-content-font-weight-300 ~ h2.ttb-content-font-weight-300 {
  margin-top: 32px;
  margin-bottom: 24px;
}
body.agency-services .field--name-body:has(> h2.ttb-content-font-weight-300) {
  transform: translateY(8px);
}
body.agency-services:has(.field--name-body > h2.ttb-content-font-weight-300) footer {
  position: relative;
  top: 8px;
}

/* Drupal's rich-text migration preserves font-weight as a class. Restore the
 * original first-section and following-section heading rhythm for the raw
 * Business Central articles that use that class. */
body.business-import-science-page article > h2.ttb-content-font-weight-300:first-child {
  margin-top: 32px;
  margin-bottom: 24px;
}
body.business-import-science-page article > h2.ttb-content-font-weight-300:not(:first-child) {
  margin-top: 32px;
  margin-bottom: 24px;
}

/* Match the public TTB FAQ search field: a bounded 20rem form and a 320px
 * border-box input. USWDS otherwise applies content-box sizing, which makes
 * the input's right edge extend beyond the form and appear unclosed. */
.ttb-faq-accordion-controls [data-cms-faq-controls] {
  box-sizing: border-box;
  max-width: 20rem;
}

.ttb-faq-accordion-controls .usa-input,
.ttb-faq-accordion-controls .usa-select {
  box-sizing: border-box;
  max-width: none;
  border-right: 1px solid #565c65;
}

/* CMS accordion panels use the full available content width in the live
 * site; USWDS prose otherwise caps direct paragraphs and list items at 68ex. */
.cms-accordion-block .usa-accordion__content.usa-prose > p,
.cms-accordion-block .usa-accordion__content.usa-prose > ul,
.cms-accordion-block .usa-accordion__content.usa-prose > ol,
.cms-accordion-block .usa-accordion__content.usa-prose > table {
  max-width: none;
}

.cms-accordion-block .usa-accordion__content.usa-prose > ul li,
.cms-accordion-block .usa-accordion__content.usa-prose > ol li {
  max-width: none;
}

/* The CBMA imports page uses a full-width expandable content region in the
 * live site. Keep that contract scoped to this page so other accordions retain
 * their own layout rules. */
body.cbma-imports-page .cms-page-block--accordion,
body.cbma-imports-page .cms-accordion-block,
body.cbma-imports-page .cms-accordion-block .usa-accordion,
body.cbma-imports-page .cms-accordion-block .usa-accordion__content {
  max-width: none;
  width: 100%;
}

/* The legacy RRD decision pages are fixed-width legal documents. Their
 * source preserves line breaks inside paragraphs, which Drupal renders as
 * visible breaks rather than collapsing like normal Markdown whitespace. */
body.rrd-document main article p {
  white-space: pre-line;
}

@media screen and (max-width: 799px) {
  /* The Drupal theme hides this utility block below the small breakpoint. */
  .hidden-sm {
    display: none !important;
  }
}

@media print {
  html[data-faq-printing] body > :not(.dialog-off-canvas-main-canvas),
  html[data-faq-printing] .dialog-off-canvas-main-canvas > :not(#content),
  html[data-faq-printing] form.views-exposed-form,
  html[data-faq-printing] .ttb-faq-accordion-controls {
    display: none !important;
  }

  html[data-faq-printing] #content {
    display: block !important;
  }
}

/* Keep the accessible outreach header visually aligned with its legacy live
   table while retaining native scoped column headers. */
.ttb-semantic-header-table > thead > tr > th {
  background-color: #fff !important;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  line-height: 24px !important;
}

/* Legacy label-tool tables use colored tbody rows for their compact
   requirement cards. Keep those row colors when the first row becomes a
   native scoped header row. */
.ttb-semantic-header-table.ttb-label-tool-table > thead > tr > th {
  background-color: inherit !important;
  font-weight: 400;
  line-height: 1.3 !important;
}

.ttb-semantic-header-table.ttb-label-tool-table > thead {
  display: table-row-group;
}

/* The French drawback guide uses legacy tbody rows for several real
   ingredient/reference tables. Preserve their unstyled live appearance while
   exposing native headers to the CMS and assistive technology. */
.ttb-semantic-header-table.ttb-french-data-table > thead > tr > th {
  background-color: #fff !important;
  font-weight: 400;
  line-height: 24px !important;
}

.ttb-semantic-header-table.ttb-french-data-table > thead {
  display: table-row-group;
}

.ttb-semantic-header-table > thead {
  display: table-row-group;
}

/* Keep source-backed row headers visually equivalent to their legacy data
   cells while exposing their key/value relationship to assistive technology. */
.ttb-semantic-header-table > tbody > tr > th[scope="row"] {
  background-color: #fff !important;
  font-weight: 400;
  line-height: 24px !important;
}

/* Keep Apply Online buttons readable against their green backgrounds on the
   two Permits Online landing pages. */
.path-online-services-ponl-permits-online-help .usa-button--accent-green,
.path-online-services-ponl-ponl-launch .usa-button--accent-green {
  color: #fff !important;
}

.path-online-services-ponl-permits-online-help .usa-button--accent-green:hover,
.path-online-services-ponl-permits-online-help .usa-button--accent-green:focus,
.path-online-services-ponl-ponl-launch .usa-button--accent-green:hover,
.path-online-services-ponl-ponl-launch .usa-button--accent-green:focus {
  color: #fff !important;
}

/* Source-confirmed migrated inline styles. */
.ttb-content-inline-style-349316109aa6 { -webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(27, 27, 27);display:inline !important;float:none;font-family:"Public Sans", helvetica, arial, sans-serif;font-size:16px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px; }
.ttb-content-inline-style-b7bd2206e09e { -webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:inherit;color:rgb(0, 83, 162);font-family:"Public Sans", helvetica, arial, sans-serif;font-size:16px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px; }
.ttb-content-inline-style-4f0f62f44626 { border-top:1px solid #d6d7d9;padding-bottom:3rem;padding-top:3rem; }
.ttb-content-inline-style-cc22ee49f4ac { order:0; }
.ttb-content-inline-style-c3378c0d0a84 { background-color:#005ea2;border-top-left-radius:0;border-top-right-radius:0; }
.ttb-content-inline-style-e209e55a8cab { color:#800000; }
.ttb-content-inline-style-6163e4a95dd5 { display:inline-flex; }
.ttb-content-inline-style-372abea417fa { padding-left:30px;padding-right:30px; }
.ttb-content-inline-style-d03a508e3910 { padding-right:20px; }
.ttb-content-inline-style-26a5b56a4f88 { padding:25px;text-align:center; }
.ttb-content-inline-style-083693c0dea6 { background-image:url('/system/files/2024-03/about-orgchart-top-lines-dot4.gif');width:100%; }
.ttb-content-inline-style-ea4a0b4dc40b { background-image:url('/system/files/images/orgchart2/about-orgchart-top-lines-3.gif');background-repeat:no-repeat;width:100%; }
.ttb-content-inline-style-9e1624ad09af { background-image: url('/system/files/2024-03/about-orgchart-top-lines-bot-5b.gif'); }
.ttb-content-inline-style-d87371e8b6af { color:#1B1B1B;font-family:"Helvetica",sans-serif;font-size:12.0pt;line-height:107%; }
.ttb-content-inline-style-40080dbd75a5 { width:11%; }
.ttb-content-inline-style-71fe5d57c4cd { width:89%; }
.ttb-content-inline-style-c8be1ccba60b { display:none; }
.ttb-content-inline-style-74774425bd94 { align-items:flex-start;display:flex;height:41px; }
.ttb-content-inline-style-3fc384c33f58 { color:#0053a2;font-family:'Arial',sans-serif; }
.ttb-content-inline-style-2e9d7bb440c5 { -webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(33, 37, 41);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-size:14px;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:left;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px; }
.ttb-content-inline-style-d3a47f5b6314 { list-style-type:lower-roman; }
.ttb-content-inline-style-640780637937 { color:#000;font-size:10px;font:Verdana, Geneva, sans-serif; }
.ttb-content-inline-style-fecfdae89104 { overflow-wrap: anywhere; }
.ttb-content-inline-style-cafff61d7883 { list-style-type:upper-latin; }
.ttb-content-inline-style-c2a98dbcfd2d { color: #ff9900; }
.ttb-content-inline-style-58961567a20b { color:#0053A2;font-family:"Public Sans";font-size:12.0pt;line-height:107%; }
.ttb-content-inline-style-f1a388300200 { color:#1B1B1B;font-family:"Public Sans";font-size:12.0pt; }
.ttb-content-inline-style-2222baa358b9 { color:#0053A2;font-family:"Public Sans";font-size:12.0pt; }
.ttb-content-inline-style-eb85d61a6ed4 { color: #e67e23; }
.ttb-content-inline-style-45d9d1ea3072 { color:#1B1B1B;font-family:"Public Sans";font-size:12.0pt;line-height:107%; }
.ttb-content-inline-style-558486891971 { font-family:"Public Sans";font-size:12.0pt;line-height:107%; }
.ttb-content-inline-style-6cc99c0462bf { font-family:"Public Sans";font-size:12.0pt; }
.ttb-content-inline-style-4dd4b16ef279 { color:white; }
.ttb-content-inline-style-7850028c3032 { -webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:inherit;color:rgb(27, 27, 27);font-family:"Public Sans", helvetica, arial, sans-serif;font-size:16px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px; }
.ttb-content-inline-style-f4248f22d4b2 { box-sizing:inherit;font-family:"Public Sans", helvetica, arial, sans-serif;line-height:1.5rem; }
.ttb-content-inline-style-a8891e2605b3 { background-color:transparent;box-sizing:inherit;color:rgb(0, 83, 162); }
.ttb-content-inline-style-423a27a432be { background-attachment:initial;background-clip:initial;background-image:initial;background-origin:initial;background-position:initial;background-repeat:initial;background-size:initial;box-sizing:border-box;color:rgb(27, 27, 27);line-height:normal; }
.ttb-content-inline-style-78517051eb21 { padding-bottom:1px; }
.ttb-content-inline-style-910b815b4c20 { margin-bottom:1px;margin-top:1px; }
.ttb-content-inline-style-1be440accfbd { margin-top:1px; }
.ttb-content-inline-style-b1ecef550d34 { box-sizing:inherit;width:1280px; }
.ttb-content-inline-style-62ac02305438 { box-sizing:inherit;font-family:"Public Sans", helvetica, arial, sans-serif;line-height:1.5rem;margin-bottom:16px; }
.ttb-content-inline-style-f2892a2e8ac7 { display: none; }
.ttb-content-inline-style-87a026515bb8 { -webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:inherit;color:rgb(27, 27, 27);font-family:"Public Sans", helvetica, arial, sans-serif;font-size:16px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px; }

/* Source-confirmed migrated inline styles. */
.ttb-content-inline-style-460f1a60e441 { list-style-type:square; }
.ttb-content-inline-style-860b277cb224 { list-style-type:disc; }

/* Keep homepage CMS gutters inside the viewport when raw layout rows use negative gutters. */
body.path-frontpage .layout--onecol { overflow-x: clip; }

/* Keep long emphasized instructions readable inside narrow content columns. */
body .region-content .field--name-body strong { overflow-wrap: anywhere; }

/* TTB Staff profiles */
.ttb-staff-profile__header h1 {
  color: inherit;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.ttb-staff-profile__job-title,
.ttb-staff-profile__office {
  margin: 0;
}

.ttb-staff-profile__job-title {
  margin-top: 0.25rem;
}

.ttb-staff-profile__office {
  margin-bottom: 1rem;
}

.ttb-staff-profile--with-image {
  display: grid;
  grid-template-columns: minmax(0, 9.375rem) minmax(0, 1fr);
  column-gap: 1.5rem;
  row-gap: 0.25rem;
}

.ttb-staff-profile--with-image > .ttb-staff-profile__header {
  grid-column: 2;
  grid-row: 1;
}

.ttb-staff-profile--with-image > .ttb-staff-profile__body {
  display: contents;
}

.ttb-staff-profile--with-image .ttb-staff-profile__body > img {
  display: block;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
}

.ttb-staff-profile--with-image .ttb-staff-profile__body > :not(img) {
  grid-column: 2;
}

@media (max-width: 39.99em) {
  .ttb-staff-profile--with-image {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .ttb-staff-profile--with-image > .ttb-staff-profile__header {
    grid-column: 1;
    grid-row: 1;
  }

  .ttb-staff-profile--with-image .ttb-staff-profile__body > img {
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 1rem;
  }

  .ttb-staff-profile--with-image .ttb-staff-profile__body > :not(img) {
    grid-column: 1;
  }
}

/* Keep tax rate table cells unshaded, including semantic headers. */
.path-taxes-tax-audit-tax-and-fee-rates .usa-table th,
.path-taxes-tax-audit-tax-and-fee-rates .usa-table td {
  background-color: #fff !important;
}

/* Semantic headers retain the original cells' regular text; the author's
 * explicit strong elements continue to identify bold labels. */
.path-taxes-tax-audit-tax-and-fee-rates .usa-table th {
  font-family: "Public Sans", helvetica, arial, sans-serif;
  font-weight: normal;
  line-height: 1.5rem !important;
}

/* Monthly accordion tables may grow wider than a phone viewport. Keep every
 * column reachable inside the labelled, keyboard-focusable panel. */
.cms-accordion-block [data-cms-accordion-panel][tabindex="0"] {
  overflow-x: auto;
}

/* Styled tutorial paragraphs are stored as editable DivNodes by the CMS.
 * Retain the source paragraph's bottom margin around its blue section label. */
.cms-richtext-block > div.LightBlueBK,
.cms-richtext-block > div.padding-2.bg-primary-lighter.margin-top-5 {
  margin-bottom: 1rem;
  line-height: 1.5;
}

/* Preserve the theme's * + .usa-alert sibling margin across CMS wrappers. */
.cms-callout-block + .cms-callout-block > .usa-alert,
.cms-callout-block + .cms-callout-block > .cms-callout-spaced > .usa-alert {
  margin-top: 1rem;
}

/* This native list is followed by an alert in source, so it is not last-child. */
.cms-richtext-block:has(+ .cms-callout-block) > .usa-list:last-child {
  margin-bottom: 1rem;
}

.usa-alert__body > .cms-callout-action {
  margin-bottom: 1rem;
}

/* Source subscription notices use a centered primary action with 30px leading padding. */
.cms-callout-subscription .usa-button {
  display: inline-block;
  padding-left: 30px !important;
}

.cms-callout-subscription .usa-button::before {
  content: none;
  display: none;
}

/* The CMS stores styled alert paragraphs as editable divs. Keep the source paragraph font and line height. */
.cms-callout-block .usa-alert__text,
.cms-callout-subscription .usa-alert__text,
.cms-callout-subscription .margin-y-1 {
  font-family: "Public Sans", helvetica, arial, sans-serif;
  line-height: 1.5rem;
}

/* Preserve the source wine-report email row without inline SVG in CMS text. */
[data-cms-richtext-block="content/blocks/richtext/notice-wine-statistics-text-1-f6af691c.md"] > .ttb-email-updates {
  gap: 8px;
  margin: 16px 0;
}

/* Editable DivNodes retain the source capLink paragraph spacing. */
.cms-richtext-block div.capLink,
.cms-richtext-block div.colorWhite {
  margin-block: 1em;
  font-family: "Public Sans", helvetica, arial, sans-serif;
  line-height: 1.5rem;
}

/* The formulation page uses the source compact in-page search rather than a
 * visible FAQ field label. Retain its associated label for assistive technology. */
.path-formulation .ttb-faq-accordion-controls label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.path-formulation .ttb-faq-accordion-controls .usa-input {
  float: none;
  height: 2.5rem;
  padding: .5rem;
  font-size: 1.06rem;
  line-height: 1.3;
}
@media (max-width: 29.99em) {
  .path-formulation .ttb-faq-accordion-controls [data-cms-faq-controls] {
    max-width: none;
  }
}
.path-formulation .cms-richtext-block .usa-alert__text {
  font-family: "Public Sans", helvetica, arial, sans-serif;
  line-height: 1.5rem;
}
.path-formulation .ttb-formula-approval-grid p {
  margin-bottom: 1em;
}
/* Match the source alert icons on these pages without changing other alerts. */
.path-formulation .usa-alert__body::before,
.path-taxes-tax-audit-tax-and-fee-rates .usa-alert__body::before {
  left: 1.0833333333rem;
  top: .6666666667rem;
}

/* The label-processing source table uses Public Sans data cells. Preserve
 * that typography when their row labels become native scoped headers. */
.ttb-semantic-header-table.ttb-processing-times-table > tbody > tr > th[scope="row"] {
  font-family: "Public Sans", helvetica, arial, sans-serif;
}

/* Formulation's source alert links use the USWDS link palette; the CMS keeps native links. */
.path-formulation .usa-alert a { color: #005ea2; }
.path-formulation .usa-alert a:visited { color: #54278f; }
.path-formulation .usa-alert a:hover,
.path-formulation .usa-alert a:active { color: #1a4480; }

/* Preserve the source inline 1px spacing after native component projection. */
.cms-callout-split .usa-alert__body.ttb-content-inline-style-78517051eb21 {
  padding-bottom: 1px;
  padding-left: 20px;
}
.cms-callout-split .usa-alert__body > h2.ttb-content-inline-style-910b815b4c20 {
  margin-top: 1px;
  margin-bottom: 1px;
}
.cms-richtext-block > h2.ttb-content-inline-style-1be440accfbd {
  margin-top: 1px;
  margin-bottom: 24px;
}

/* Preserve the Home Distilling source's initial blank line. */
p:has(+ .cms-button[data-cms-button-path="content/blocks/buttons/action-notice-penalties-for-illegal-distilling-button-1-d925198c.md"]) {
  line-height: 1.15rem;
}

/* Historic fragment anchors can precede the first heading. Preserve the
 * source View's flush first row even when USWDS :not(:first-child) matches. */
.cms-accordion-block .usa-accordion__heading.margin-top-0 {
  margin-top: 0;
}

/* Drupal's linked FAQ controls use the same text color as its category Views. */
.cms-accordion-block:has(.usa-accordion__heading.margin-top-0) .usa-accordion__button {
  color: #212121;
}

/* These tutorial subscription links are inline in Drupal. Keep the small
 * external-link SVG, while suppressing the unrelated 40px newsletter icon. */
[data-cms-richtext-block="content/blocks/richtext/sda-tutorial-content.md"] a[href="https://service.govdelivery.com/accounts/USTTB/subscriber/new"],
[data-cms-richtext-block="content/blocks/richtext/drawback-tutorial-content.md"] a[href="https://service.govdelivery.com/accounts/USTTB/subscriber/new"] {
  display: inline;
  vertical-align: baseline;
}
[data-cms-richtext-block="content/blocks/richtext/sda-tutorial-content.md"] a[href="https://service.govdelivery.com/accounts/USTTB/subscriber/new"]::before,
[data-cms-richtext-block="content/blocks/richtext/drawback-tutorial-content.md"] a[href="https://service.govdelivery.com/accounts/USTTB/subscriber/new"]::before {
  content: none;
  display: none;
}

/* The first two native header-group cells retain the source data-cell white
 * background; the scoped column headers already have matching 24px metrics. */
.ttb-semantic-header-table.ttb-processing-times-table > thead > tr > td {
  background-color: #fff !important;
}

/* Source AVA uses an inline 40px email icon and its natural baseline line box. */
[data-cms-richtext-block="content/blocks/richtext/notice-ava-map-explorer-text-1-a1eb895a.md"] > p:first-child > a {
  display: inline;
  vertical-align: baseline;
}
[data-cms-richtext-block="content/blocks/richtext/notice-ava-map-explorer-text-1-a1eb895a.md"] > p:first-child > a::before {
  margin-right: 8px;
  vertical-align: baseline;
}
