/* cmsms stylesheet: portage modified: Thursday, June 11, 2026 3:29:09 AM */

.no-js .top-bar {
  display: none;  }

html, body {
  height: 100%;
}

body {
  font-family: 'Nunito', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  color: #081D27;
}

#fullscreen {
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  background: #081D27;
}

#header-image {
  flex: 1;
  background-size: cover;
  background-position: center;
  width: 100%;
}

:focus {outline:none !important;}
::-moz-focus-inner {border:0 !important;}

a {
  color: #3371A4;
  transition: all 0.2s ease;
}

a:hover, a.menuactive {
  color: #F2F5F7;
}

#header {
  background: #F2F5F7;
  padding-top: 2rem;
  padding-bottom: 1rem;
}

#header svg {
  font-weight:bold;
  max-width:300px;
  height:auto;
}

h1 {
  font-family: 'Josefin Sans', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  margin: 0;
  padding-top: 2rem;
  padding: 0;
  text-transform: uppercase;
}

h1 a, h1 a:hover {
  color: #081D27;
}

h2, h3, h4 {
  font-family: 'Nunito', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem;
}

h2 {
  color: #081D27;
  font-size: 0.8rem;
  margin: 0;
}

h3 {
  font-size: 1.4rem;
  margin-top: 1rem;
  text-transform: uppercase;
}

#sticky-logo a {
  transition: all 0.5s ease;
  font-family: 'Josefin Sans', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.5rem;
  color: #F2F5F7;
  text-transform: uppercase;
  display: inline-block;
  opacity: 0;
}

.is-stuck #sticky-logo a {
  opacity: 1;
}

#sticky-logo {
  float: left;
}

#menu-toggle {
  float: right;
  padding-top: 0.25rem;
}

.top-bar {
  padding-top: 0;
  padding-bottom: 0;
}

.top-bar, .top-bar ul {
  z-index: 999;
}

.top-bar, .top-bar ul, .drilldown .is-drilldown-submenu, #top-menu .drilldown a {
  background-color: #1B456A;
}

.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after {
  border-color: #1B456A transparent transparent;
}

.dropdown.menu li.opens-left>a:after {
  border-color: transparent #1B456A transparent transparent;
}

#top-menu .is-dropdown-submenu {
  border: 0;
}

#top-menu a, #top-menu button {
  color: #F2F5F7;
}

#top-menu button:hover {
  cursor: pointer;
  color: #3371A4;
}

#top-menu a.menuactive, #top-menu .menuparent.menuactive > a, #top-menu a:hover, #top-menu .is-active > a {
  color: $000000;
}

.divider {
  background: #F2F5F7;
  margin: 1rem 0;
  padding: 0.5rem;
  font-size: 2rem;
}

.divider a {
  color: #081D27;
  margin: 0 0.5rem;
}

.divider a:hover {
  color: #1B456A;
}

#social-media {
  margin: 0;
}

.card img {
  width: 100%;
}

.card-divider {
  background: #081D27;
  color: #F2F5F7;
}

.button {
  background: #081D27;
  color: #F2F5F7;
  border-radius: 5px;
}

.button:hover {
  background: #1B456A;
  color: #F2F5F7;
}

.divider .button {
  margin-bottom: 0.2rem;
}

#sidebar .card .button {
  background: #F2F5F7;
  color: #081D27;
}

#sidebar .card .button:hover {
  background: #3371A4;
  color: #F2F5F7;
}

footer {
  background: #081D27;
  color: #F2F5F7;
}

footer .column {
  padding: 0 2rem;
}

footer h4 {
  margin-top: 1rem;
  color: #F2F5F7;
  font-size: 1rem;
  padding-bottom: 0.2rem;
  border-bottom: 0.5px dotted #F2F5F7;
}

footer i {
  margin-right: 0.5rem;
}

footer .drilldown a {
  background-color: #081D27;
}

#copyright {
  border-top: 0.5px solid #F2F5F7;
}

#copyright span {
  margin: 0 1rem;
}

#sidebar {
  background: #F2F5F7;
  padding: 1rem 0.5rem;
  font-size: 0.9rem;
}

#sidebar h4, #three-col h4 {
  color: #081D27;
  text-transform: uppercase;
}

#sidebar small {
  color: #3371A4;
}

#columns h4 {
  color: #F2F5F7;
  background: #1B456A;
  padding: 0.5rem;
}

#news-feed {
  margin-top: 1rem;
}

/* Center main site logo in top bar */
.top-bar .site-logo,
.top-bar .logo,
#sticky-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  float: none;
  text-align: center;
}

.top-bar img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.top-bar #mobile-search input {
  border: 0;
  max-width: none;
  width: calc(100% - 50px);
  display: inline-block;
}

#mobile-search .input-group-button {
  display: inline-block;
  white-space: nowrap;
}

#mobile-search .input-group-button button {
  width: 50px;
  background: #3371A4;
  color: #F2F5F7;
}

#mobile-search .input-group-button button:hover {
  background: #1B456A;
  color: #081D27;
}

table td,
table th {
  vertical-align: top;
  text-align: left;
}

.contactform {
  padding: 1rem;
  border: 1px solid #F2F5F7;
  border-radius: 0.5rem;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
  .is-stuck #sticky-logo {
    font-size: 1.6rem;
  }
}

/* Medium and up */
@media screen and (min-width: 40em) {
  .top-bar {
    padding: 0;
  }
  #sticky-logo a {
    padding-top: 0.5rem;
    line-height: 1.75rem;
  }
}

/* ===== Music page / general card-table pattern ===== */
.music-table{
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;  /* equal columns */
}

.music-table td{
  vertical-align: top;
  width: 50%;
}

.music-table img{
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* On mobile, music-table becomes stacked */
@media (max-width: 800px){
  .music-table,
  .music-table tbody,
  .music-table tr,
  .music-table td{
    display: block;
    width: 100%;
  }
}

/* Truth Music album cover border */
.cover-border {
  border: 3px solid #3371A4;
  box-sizing: border-box;
}

/* Never vertically-center content inside table cells */
table td, table th {
  vertical-align: top !important;
  text-align: left;
}

/* If you have flex/grid wrappers that are centering vertically, force top */
#fullscreen, .content, .page-content, .container, .grid-container, .grid-y, .grid-x {
  align-items: flex-start;
  align-content: flex-start;
}

/* Common Foundation helpers that can cause vertical centering */
.align-middle, .align-center-middle {
  align-items: flex-start !important;
  align-content: flex-start !important;
}

/* Keep images responsive everywhere */
.page-content img, .content img,
table img, img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Center images when desired */
.page-content img.centered, .content img.centered,
.page-content .centered img, .content .centered img {
  margin-left: auto;
  margin-right: auto;
}

/* If images sit in a flex row/column, ensure they don't get vertically centered */
.page-content, .content {
  justify-content: flex-start;
}

/* Story cards (used inside music-table cells or grid cells) */
.story-card{
  border: 5px solid #F2F5F7;
  padding: 10px;
  background: #F2F5F7;
  color: #081D27;
  text-align: center;
}

.story-card img{
  margin: 0 auto;
}

@media (max-width: 800px){
  .story-card{ margin-bottom: 12px; }
}

/* =========================================================
   GLOBAL MOBILE FIX:
   - Stops sideways scrolling from hard-coded table widths
   - Stacks ONLY layout tables (outer wrapper tables) on phones
   - Leaves normal data tables & .music-table alone
   ========================================================= */
@media (max-width: 800px) {

  html, body { max-width: 100%; overflow-x: hidden; }

  /* Kill sideways scroll from inline width attributes/styles */
  table[width], table[style*="width"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* If you used .table-scroll anywhere, disable horizontal scrolling on mobile */
  .table-scroll { overflow-x: visible !important; }

  /* Stack ONLY the OUTER "layout" tables (your pages use cellpadding="15")
     Do NOT apply to .music-table */
  table[cellpadding="15"]:not(.music-table) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  table[cellpadding="15"]:not(.music-table) > tbody,
  table[cellpadding="15"]:not(.music-table) > tbody > tr {
    display: block !important;
    width: 100% !important;
  }

  table[cellpadding="15"]:not(.music-table) > tbody > tr > td {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* Inner tables inside those layout tables: keep as tables, just fluid width */
  table[cellpadding="15"]:not(.music-table) table {
    width: 100% !important;
    max-width: 100% !important;
  }

  table[cellpadding="15"]:not(.music-table) img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

.story-card img,
.music-table img {
  width: 100%;        /* fill available space */
  max-width: 300px;  /* but never larger than 300px */
  height: auto;      /* keep aspect ratio */
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.story-card img {
  padding: 10px;
}


/* ============================================================
   FOTM LAYOUT FIXES  — paste at the VERY BOTTOM of the
   Portage stylesheet, after all existing rules.
   ============================================================ */
 
 
/* ── FIX 1: Center the header logo ─────────────────────────
   The existing #header rule sets background & padding but
   doesn't explicitly center the img inside the h1.          */
 
#header {
  text-align: center;
}
 
#header h1 {
  display: block;
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
 
#header h1 a {
  display: inline-block;
}
 
#header h1 img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
 
 
/* ── FIX 2: Cap the nav bar width so it doesn't grow past
   a readable size on large monitors.
   The template has style="width:100%" directly on the
   sticky div — this overrides it.                           */
 
#top-bar,
#top-bar > .top-bar {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  width: 100% !important;
}
 
/* Keep the dark blue background spanning full screen width
   by putting the bg color on the outer sticky container.   */
div[data-sticky-container] {
  background-color: #1B456A;
}
 
 
/* ── FIX 3: Breadcrumb — constrain to content width        */
 
.breadcrumbs {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.3rem 1rem;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
}
 
 
/* ── FIX 4 + 5: Icon nav table                             */
 
.column.row > table:first-of-type,
.column.row table[style*="float: left"],
.column.row table[style*="float:left"] {
  float: none !important;
  display: table !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto 1.5rem auto !important;
  clear: both;
}
 
.column.row > table:first-of-type td {
  text-align: center !important;
  vertical-align: top !important;
  width: auto !important;
  min-width: 80px !important;
  padding: 8px 10px !important;
}
 
.column.row > table:first-of-type td img {
  display: block !important;
  margin: 0 auto 5px auto !important;
}
 
.column.row > table:first-of-type td a {
  display: block;
  text-align: center;
}
 
/* Everything after the icon table clears the float */
.column.row > table:first-of-type ~ p,
.column.row > table:first-of-type ~ table,
.column.row > table:first-of-type ~ div,
.column.row > table:first-of-type ~ img {
  clear: both;
  display: block;
}
 
 
/* ── Responsive: stack icon table on phones ──────────────── */
@media (max-width: 640px) {
  .column.row > table:first-of-type,
  .column.row table[style*="float"] {
    display: block !important;
    width: 100% !important;
  }
 
  .column.row > table:first-of-type tr,
  .column.row > table:first-of-type tbody {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
 
  .column.row > table:first-of-type td {
    display: inline-block !important;
    width: auto !important;
    min-width: 70px !important;
  }
}
