/*
 * Announcement Widget
 */

.announcement-title {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 15px;
  text-decoration: underline;
}

.announcement-body-text {
  line-height: 1.225;
  margin: 0 0 15px;
  padding: 8px 0 3px;
}

.announcement-body-text p {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 5px;
}

/*
 * Announcement Widget - Important State
 */

.announcement.is-important .announcement-body-text {
  border: solid red 1px;
}

/*
 * Partners Widget
 */

.partners-title {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 15px;
  text-decoration: underline;
}

.partner-item {
  margin: 0 0 15px;
}

/**
 * Footer Menu
 */

.footer-menu {
  margin: 100px 0 50px;
}
/* Keep text inside footer items from wrapping */
.footer-menu a {
  display: inline-block;
  white-space: nowrap;
}


/**
 * Page Top Generic Template
 */
.fr-generic-template-table-container {
  width: 100%;
}

/**
 * Page Top Partial
 */

 .fr-page-top-table {
  height: 100%;
  width: 100%;
  background: white;
  /* Add padding to page top to maintain content positioning when new navigation is visible
   * N.B. This value is the sum of #main_top_header height and bottom margin of .legacy_main_top_header
   */
  padding-top: 130px;
}
.page-template-generic .fr-page-top-table {
  border-left: 0;
}
.page-template-homepage-with-logo .fr-page-top-table {
  border: 0;
}
.page-template-homepage-with-logo #td_main_content_column {
  padding-left: 5px;
  padding-right: 5px;
}
.page-template-homepage-with-logo .legacy_main_top_header,
.page-template-homepage-with-logo #afr_page_header_section {
  margin-bottom: 0;
}
.page-template-homepage-with-logo .fr-page-top-table {
  padding-top: 77px;
}
/* Add padding to page top to maintain content positioning when new navigation is visible
 * N.B. This is equal to #main_top_header height on homepage only
 */
.fr-dismissable-banner-visible.page-template-homepage-with-logo .fr-page-top-table {
  padding-top: 128px;
}
/* In support forum archive, we do not have a sticky nav so the .fr-page-top-table element does not need
 * padding to offset thet height of the nav.
 */
 .post-type-archive-support_forum .fr-page-top-table, .support_forum-template-default .fr-page-top-table {
  padding-top: 0;
}

/**
 * Card container
 */

.fr-card, .fr-card-promo {
  padding: 17px 17px 28px 20px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
  border: solid 1px #d6d6d6;
  color: #000;
  margin-bottom: 15px;
}
.fr-card-dual-column, .fr-card-promo {
  padding: 0 30px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.fr-card-promo {
  padding: 40px 58px 40px 46px;
}
.fr-card-dual-column .fr-card-col-left {
  padding-right: 20px;
}
.fr-card-dual-column .fr-card-col-right .fr-button {
  margin: 60px 0;
}
.fr-card-content {
  display: block;
  padding-top: 15px;
}
.fr-card-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0;
}
.fr-card-title, .fr-card-content {
  line-height: 1.3;
}

/**
 * Button
 */

.fr-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 50px;
  line-height: 46px;
  padding: 0;
  font-size: 18px;
  font-weight: bold;
  border: 0;
  white-space: nowrap;
  box-sizing: border-box;
  border: solid 2px #000;
}
.fr-button.fr-variant-primary {
  background-color: #000;
  color: #fff;
}
.fr-button.fr-variant-secondary {
  background-color: #fff;
  color: #000;
}
.fr-button-icon-label {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.fr-button-icon-label .fr-icon {
  margin-right: 17px;
}
.fr-button.fr-variant-primary.fr-cta {
  background-color: #247133;
  border-color: #247133;
}
.fr-card-promo .fr-button.fr-variant-secondary, .fr-cards-section .fr-button.fr-variant-secondary {
  border-color: #247133;
  color: #247133;
}
.fr-button.fr-auto-width {
  display: inline-block;
  padding: 0 40px;
}


/**
 * Alphabetized table
 */
 .fr-alphabetized-table {
  border-spacing: 0;
}
.fr-alphabetized-table thead td, .fr-alphabetized-table th {
  padding: 0;
}
.fr-alphabetized-table thead td, .fr-alphabetized-table th {
 background-color: #4a4a4a;
 color: #fff;
 font-weight: bold;
}
.fr-alphabetized-table thead td {
 font-size: 18px;
 height: 54px;
 border-right: solid 1px #979797;
 border-bottom: solid 1px #979797;
 padding-left: 30px;
 padding-right: 30px;
 white-space: nowrap;
}
.fr-alphabetized-table thead td:last-child {
 border-right: 0;
}
.fr-alphabetized-table th {
 text-align: left;
 font-size: 20px;
 height: 40px;
 font-weight: 900;
 padding-left: 15px;
 padding-top: 0;
 padding-bottom: 0;
 background-color: #535554;
 text-transform: uppercase;
}
.fr-alphabetized-table tbody td {
 vertical-align: top;
 padding: 15px 30px 15px 30px;
 border-right: solid 1px #979797;
 border-bottom: solid 1px #979797;
}
.fr-alphabetized-table tbody td:first-child {
 font-size: 16px;
 border-left: solid 1px #979797;
}

/* MOBILE CUSTOMIZATIONS */
@media screen and (max-width: 1439px) {
  .fr-alphabetized-table th {
    padding-left: 10px;
  }
  .fr-alphabetized-table thead td {
    padding: 10px 15px;
    white-space: normal;
    height: auto;
  }
  .fr-alphabetized-table tbody td {
    padding: 15px 5px 15px 15px;
  }
}

@media screen and (max-width: 1023px) {
  /* Reset padding on page top when new navigation is hidden */
  .fr-page-top-table, .page-template-homepage-with-logo .fr-page-top-table,
  .fr-dismissable-banner-visible.page-template-homepage-with-logo .fr-page-top-table {
    padding-top: 0;
  }
}