/* Must stay the first line: browsers ignore @import after any other rule */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=PT+Sans:ital,wght@0,400;0,700;1,400&display=swap");

/* =========================================================
   U-46 BRAND STANDARDS (keep this block)
   ---------------------------------------------------------
   1 Navy    Pantone 534 C   CMYK 100/80/30/5   sRGB 28/48/92
             HTML #174A7C    Web HTML #003366
   2 Yellow  Pantone 7406 C  CMYK 0/18/100/0    sRGB 255/207/1
             HTML #FFCF01
   3 Black   CMYK 0/0/0/100  sRGB 0/0/0         HTML #000000
   4 White   CMYK 0/0/0/0    sRGB 255/255/255   HTML #FFFFFF
   5 Gray    CMYK 11/7/9/0   sRGB 224/226/224   HTML #DFE1DF
   6 Teal    CMYK 100/0/7/37 sRGB 0/161/150     HTML #00A196

   Fonts  Primary: PT Sans   Headings: Playfair Display
          Subhead: PT Sans   Body sans serif: Arial
   ========================================================= */
:root {
  --u46-navy: #174A7C;
  --u46-navy-web: #003366;
  --u46-yellow: #FFCF01;
  --u46-black: #000000;
  --u46-white: #FFFFFF;
  --u46-gray: #DFE1DF;
  --u46-teal: #00A196;

  --u46-font-primary: "PT Sans", Arial, sans-serif;
  --u46-font-heading: "Playfair Display", Georgia, serif;
  --u46-font-subhead: "PT Sans", Arial, sans-serif;
  --u46-font-body: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

body {
  font-family: var(--u46-font-primary);
}

#app-header {
    background-color: var(--u46-navy-web);
    color: var(--u46-white);
}

#app-header {
    padding-bottom: 0px !important;
}

#accountDropdown {
    color: var(--u46-white);
}

.header-nav li a {
    color: var(--u46-white) !important;
}

#home-page .feature-region {
    background: var(--u46-yellow);
}

#app-header h1 {
    margin:10px 0;
}

/* user-nav includes changes to the Login / User information link */
#user-nav {
    padding-top:25px;
}
#user-nav > a {
    display:inline-block;
    margin-bottom:0;
    font-weight:normal;
    text-align:center;
    vertical-align:middle;
    cursor:pointer;
    background-image:none;
    border:1px solid transparent;
    white-space:nowrap;
    padding:5px 10px;
    font-size:14px;
    line-height:1.428571429;
    border-radius:4px;
    -webkit-user-select:none;
    color:var(--u46-white);
}

#user-nav > a:hover {
    text-decoration:none;
    color:var(--u46-white);
}

/* Page Links refers to the custom links */
#page-links {
    display:inline-block;
}
#page-links a {
    display:inline-block;
    padding:5px 10px;
    font-size:14px;
    color:var(--u46-white);
}
#listings {
    color:#f0f0f0!important;
}
#topnavbar {
    color:#f0f0f0!important;
}
#page-links a:hover,
.btn-link:hover,
.btn-link {
    color:var(--u46-white);
}

#page-links .piped-list>li:after {
    content:"|";
    color:var(--u46-yellow);
}
#page-links .piped-list>li:before {
    display:none;
    margin-right:0;
}
#search-form .search-label,
#search-form .search-box-wrapper {
    visibility: hidden;
}

#search-refine-button--refine {
    display: none;
}

::placeholder {
    color: #9f9f9f !important;
}

/*Front Page Tiles*/


.grid-container {
  display: grid;
  grid-template-columns: 200px 1fr 1fr;
  grid-template-rows: auto;
  padding: 10px;
  overflow-wrap: normal;
overflow-wrap: break-word;
overflow-wrap: anywhere;
grid-gap: 1rem;
}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  grid-gap: 10px;
}

.item1 {
  grid-column: 1 / span 1;
  grid-row: 1 / span 1;
  text-align: center;
}
.item2 {
  grid-column: 1 / span 1;
  grid-row: 2 / span 1;
  text-align: center;
}
.item3 {
  grid-column: 1 / span 1;
  grid-row: 3 / span 1;
  text-align: center;
}
.item4 {
  grid-column: 2 / span 1;
  grid-row: 1 / span 4;
}
.item5 {
  grid-column: 3;
  grid-row: 1 / span 4;
}
.item6 {
  grid-column: 2 / span 2;
  grid-row: 5;
}
.item7 {
  grid-column: 2 / span 2;
  grid-row: 6;
}
.item8 {
  grid-column: 1 / span 1;
  grid-row: 4 / span 1;
  text-align: center;
}
.item9 {
  grid-column: 1 / span 1;
  grid-row: 5 / span 1;
  text-align: center;
}
p.clockimage {
	content: url(https://u46.instructure.com/files/4575688/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.synchronous {
	content: url(https://u46.instructure.com/files/7471609/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.notrequired{
	content: url(https://u46.instructure.com/files/4606107/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.asynchronous{
	content: url(https://u46.instructure.com/files/4606208/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.checkmark{
	content: url(https://u46.instructure.com/files/4575690/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.ppd{
	content: url(https://u46.instructure.com/files/4649047/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.dcd{
	content: url(https://u46.instructure.com/files/4649045/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.calendar{
	content: url(https://u46.instructure.com/files/4652252/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.zoom3{
	content: url(https://u46.instructure.com/files/4652251/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.calendar2{
	content: url(https://u46.instructure.com/files/4660571/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.inperson{
	content: url(https://u46.instructure.com/files/6353455/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.parapalooza{
	content: url(https://u46.instructure.com/files/11838387/download?download_frd=1);
    width: 150px;
    max-width: 75%;
    margin: 0 auto;
}
p.map2{
	content: url(https://u46.instructure.com/files/4781180/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.hybrid{
	content: url(https://u46.instructure.com/files/5240256/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.keynote{
	content: url(https://u46.instructure.com/files/6067116/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.SIP{
	content: url(https://u46.instructure.com/files/5909660/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.summer{
	content: url(https://u46.instructure.com/files/6211132/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.u46rising{
	content: url(https://u46.instructure.com/files/6343716/download?download_frd=1);
    width: 100px;
    max-width: 75%;
    margin: 0 auto;
}
p.NTO2021{
	content: url(https://u46.instructure.com/files/6352512/download?download_frd=1);
    width: 75px;
    max-width: 75%;
    margin: 0 auto;
}
p.meeting{
	content: url(https://u46.instructure.com/files/7711567/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
p.allthree{
	content: url(https://u46.instructure.com/files/9210005/download?download_frd=1);
    width: 50px;
    max-width: 75%;
    margin: 0 auto;
}
.DashboardNavigation__TranscriptButton {
display: none;
}

.DashboardProduct__DateWrapper {
display: none;
}
.product-dates {
display: none;
}

.product-credits {
display: none;
}

.product-value {
display: none;
}
div.text-center.RegistrationHeader__DateInfo {
display: none;
}

#topnavbar > div > div > nav > div > ul > li > a {
  color: white !important;
}
/* Hide all <strong> tags within p elements under the specific class 'hero-head' */
.hero-head + p strong {
    display: none;
}


/* =========================================================
   U46 Home Page (built in Custom JS: "U46 Home")
   ========================================================= */

/* Hide Catalog's default home content; the JS adds .u46-home to <html> */
.u46-home #listings,
.u46-home #search-form,
.u46-home #main-heading {
  display: none !important;
}

.u46-page-wrap {
  max-width: 1200px;
  margin: 24px auto 32px;
  padding: 0 16px;
}

/* --- Hero: text + search on navy, photos on the right --- */
.u46-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--u46-navy);
  color: var(--u46-white);
  box-shadow: 0 10px 30px rgba(0, 51, 102, .18);
}
.u46-hero__text {
  padding: clamp(24px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.u46-hero__eyebrow {
  margin: 0 0 10px;
  font-family: var(--u46-font-subhead);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--u46-yellow);
}
.u46-hero__title {
  margin: 0 0 12px;
  font-family: var(--u46-font-heading);
  font-weight: 700;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  color: var(--u46-white);
}
.u46-hero__title em {
  font-style: normal;
  color: var(--u46-yellow);
}
.u46-hero__sub {
  margin: 0 0 24px;
  font-family: var(--u46-font-subhead);
  font-size: 18px;
  line-height: 1.45;
  color: rgba(255, 255, 255, .88);
}

/* Search */
.u46-search {
  display: flex;
  gap: 8px;
  max-width: 520px;
}
.u46-search__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.u46-search__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 16px;
  font-family: var(--u46-font-body);
  font-size: 16px;
  color: var(--u46-black);
  background: var(--u46-white);
  border: 2px solid var(--u46-white);
  border-radius: 10px;
}
.u46-search__input::placeholder {
  color: #6b6f6b !important;
}
.u46-search__btn {
  flex: 0 0 auto;
  padding: 12px 20px;
  font-family: var(--u46-font-primary);
  font-size: 16px;
  font-weight: 700;
  color: var(--u46-navy-web);
  background: var(--u46-yellow);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.u46-search__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
}
.u46-search__input:focus,
.u46-search__btn:focus-visible,
.u46-choice:focus-visible {
  outline: 3px solid var(--u46-yellow);
  outline-offset: 2px;
}
.u46-search__hint {
  min-height: 1.4em;
  margin: 10px 0 0;
  font-family: var(--u46-font-body);
  font-size: 14px;
  color: rgba(255, 255, 255, .8);
}

/* Photos */
.u46-hero__photos {
  position: relative;
  min-height: 360px;
  background: var(--u46-navy-web);
}
.u46-photo {
  position: absolute;
  overflow: hidden;
  margin: 0;
}
.u46-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 6s ease;
}
.u46-photo:hover img {
  transform: scale(1.06);
}
.u46-photo--main {
  inset: 0 0 32% 0;
}
.u46-photo--accent {
  right: 6%;
  bottom: 6%;
  width: 58%;
  height: 46%;
  border: 5px solid var(--u46-yellow);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .35);
}
.u46-hero__photos::after {
  /* teal stripe to tie the photos into the palette */
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 8px;
  background: var(--u46-teal);
}

/* --- Tag filter (under the hero) --- */
.u46-tag-filter {
  margin-top: 20px;
}
.u46-tag-filter .custom-tag-search {
  margin: 0;
}
.u46-tag-filter .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  font-family: var(--u46-font-primary);
  font-size: 18px;
  font-weight: 700;
  color: var(--u46-navy-web);
  background: var(--u46-yellow);
  border: 2px solid var(--u46-yellow);
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0, 51, 102, .15);
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.u46-tag-filter__arrow {
  transition: transform .2s ease;
}
.u46-tag-filter .btn:hover,
.u46-tag-filter .btn:focus-visible {
  color: var(--u46-white);
  background: var(--u46-navy);
  border-color: var(--u46-navy);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0, 51, 102, .25);
}
.u46-tag-filter .btn:hover .u46-tag-filter__arrow,
.u46-tag-filter .btn:focus-visible .u46-tag-filter__arrow {
  transform: translateX(4px);
}
.u46-tag-filter .btn:focus-visible {
  outline: 3px solid var(--u46-yellow);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .u46-tag-filter .btn,
  .u46-tag-filter__arrow { transition: none; }
  .u46-tag-filter .btn:hover,
  .u46-tag-filter .btn:hover .u46-tag-filter__arrow { transform: none; }
}

/* --- Choices list --- */
.u46-choices {
  margin-top: 28px;
}
.u46-choices__title {
  margin: 0 0 4px;
  font-family: var(--u46-font-heading);
  font-weight: 700;
  font-size: clamp(22px, 2.6vw, 30px);
  color: var(--u46-navy-web);
}
.u46-choices__sub {
  margin: 0 0 18px;
  font-family: var(--u46-font-subhead);
  font-size: 16px;
  color: #3d403d;
}
.u46-choices__list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.u46-choice {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  background: var(--u46-white);
  border: 1px solid var(--u46-gray);
  border-left: 6px solid var(--u46-navy);
  border-radius: 12px;
  color: var(--u46-black) !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.u46-choice:hover,
.u46-choice:focus-visible {
  transform: translateX(4px);
  border-left-color: var(--u46-teal);
  box-shadow: 0 8px 22px rgba(0, 51, 102, .12);
}
.u46-choice__badge {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--u46-yellow);
  color: var(--u46-navy-web);
  font-family: var(--u46-font-heading);
  font-size: 20px;
  font-weight: 700;
}
.u46-choice__text {
  flex: 1 1 auto;
  min-width: 0;
}
.u46-choice__name {
  display: block;
  font-family: var(--u46-font-subhead);
  font-size: 19px;
  font-weight: 700;
  color: var(--u46-navy-web);
}
.u46-choice__desc {
  display: block;
  margin-top: 2px;
  font-family: var(--u46-font-body);
  font-size: 14px;
  color: #3d403d;
}
.u46-choice__arrow {
  flex: 0 0 auto;
  font-size: 22px;
  color: var(--u46-teal);
  transition: transform .18s ease;
}
.u46-choice:hover .u46-choice__arrow,
.u46-choice:focus-visible .u46-choice__arrow {
  transform: translateX(4px);
}
.u46-choice mark {
  background: rgba(255, 207, 1, .55);
  color: inherit;
  padding: 0 1px;
}
.u46-choices__empty {
  margin: 8px 0 0;
  padding: 16px 20px;
  border-radius: 12px;
  background: var(--u46-gray);
  font-family: var(--u46-font-body);
  color: var(--u46-black);
}

/* --- Entrance animation (staggered via --i set in JS) --- */
.u46-reveal {
  opacity: 0;
  transform: translateY(14px);
  animation: u46-rise .55s ease forwards;
  animation-delay: calc(var(--i, 0) * 90ms);
}
@keyframes u46-rise {
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .u46-reveal { opacity: 1; transform: none; animation: none; }
  .u46-photo img,
  .u46-choice,
  .u46-choice__arrow,
  .u46-search__btn { transition: none; }
}

/* --- Small screens --- */
@media (max-width: 767px) {
  .u46-hero { grid-template-columns: 1fr; }
  .u46-hero__photos { min-height: 260px; }
  .u46-search { flex-direction: column; }
  .u46-choice { gap: 12px; padding: 14px 16px; }
  .u46-choice__badge { width: 36px; height: 36px; font-size: 17px; }
}

/* === U46 Header (built in Custom JS: "U46 Header") ===
   Sticky, shrinks on scroll, link bar with sliding underline,
   yellow accent bar with a teal scroll-progress fill */
.u46-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow .3s ease;
}
.u46-header.is-scrolled {
  box-shadow: 0 6px 20px rgba(0, 0, 0, .28);
}
.u46-header .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.u46-header .row::before,
.u46-header .row::after {
  display: none;
}

/* logo */
.u46-header .logo-customized img {
  max-height: 96px;
  width: auto;
  transition: max-height .3s ease, transform .3s ease, opacity .5s ease;
}
.u46-header.is-scrolled .logo-customized img {
  max-height: 52px;
}
.u46-header .logo-customized a:hover img,
.u46-header .logo-customized a:focus-visible img {
  transform: scale(1.04) rotate(-1.5deg);
}
.u46-header .header-branding {
  transition: margin .3s ease;
}
.u46-header.is-scrolled .header-branding {
  margin-top: -6px;
  margin-bottom: -6px;
}

/* right side: links + name + cart */
.u46-header #header-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 0 !important;
}
.u46-header #header-menu-container a,
.u46-header #header-menu-container button,
.u46-header #cart a,
.u46-header #cart button {
  color: var(--u46-white) !important;
  font-family: var(--u46-font-primary);
}
.u46-header #cart a,
.u46-header #cart button {
  background: transparent !important;
  border-color: rgba(255, 255, 255, .45) !important;
  border-radius: 8px;
  transition: background .2s ease, transform .2s ease;
}
.u46-header #cart a:hover,
.u46-header #cart button:hover {
  background: rgba(255, 255, 255, .12) !important;
  transform: translateY(-1px);
}

.u46-header-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.u46-header-nav a {
  position: relative;
  display: inline-block;
  padding: 8px 10px;
  font-family: var(--u46-font-primary);
  font-size: 15px;
  font-weight: 700;
  color: var(--u46-white) !important;
  text-decoration: none !important;
  border-radius: 6px;
  transition: color .2s ease, background .2s ease;
}
.u46-header-nav a::after {
  /* sliding yellow underline */
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 3px;
  height: 3px;
  border-radius: 2px;
  background: var(--u46-yellow);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}
.u46-header-nav a:hover,
.u46-header-nav a:focus-visible {
  color: var(--u46-yellow) !important;
  background: rgba(255, 255, 255, .08);
}
.u46-header-nav a:hover::after,
.u46-header-nav a:focus-visible::after,
.u46-header-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}
.u46-header-nav a[aria-current="page"] {
  color: var(--u46-yellow) !important;
}
.u46-header-nav a:focus-visible,
.u46-header .logo-customized a:focus-visible {
  outline: 3px solid var(--u46-yellow);
  outline-offset: 2px;
}

/* entrance: logo slides in, links fade in one by one */
.u46-header:not(.is-ready) .logo-customized img {
  opacity: 0;
  transform: translateX(-12px);
}
.u46-header-nav li {
  transition: opacity .4s ease, transform .4s ease;
  transition-delay: calc(var(--i, 0) * 70ms + 150ms);
}
.u46-header:not(.is-ready) .u46-header-nav li {
  opacity: 0;
  transform: translateY(-8px);
}

/* accent bar + scroll progress */
.u46-header-accent {
  position: relative;
  height: 6px;
  background: var(--u46-yellow);
  overflow: hidden;
}
.u46-header-accent__progress {
  position: absolute;
  inset: 0;
  background: var(--u46-teal);
  transform: scaleX(0);
  transform-origin: left center;
}

/* background design: navy glow behind the logo, angled navy/teal/yellow
   bands (echoing the logo's rays) and a faint dot grid on the right,
   plus a slow-drifting teal light */
.u46-header {
  background-color: var(--u46-navy-web);
  background-image: radial-gradient(ellipse at 8% 50%, rgba(23, 74, 124, .95) 0%, rgba(23, 74, 124, 0) 45%);
}
.u46-header::before,
.u46-header::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.u46-header::before {
  background:
    linear-gradient(115deg, transparent 0 60%, rgba(255, 207, 1, .95) 60% 60.6%, transparent 60.6%),
    linear-gradient(115deg, transparent 0 62%, var(--u46-navy) 62% 74%, transparent 74%),
    linear-gradient(115deg, transparent 0 74%, rgba(0, 161, 150, .45) 74% 79%, transparent 79%),
    linear-gradient(115deg, transparent 0 81%, rgba(255, 207, 1, .9) 81% 81.6%, transparent 81.6%),
    radial-gradient(rgba(255, 255, 255, .09) 1.4px, transparent 1.6px) 0 0 / 16px 16px;
  -webkit-mask-image: linear-gradient(to right, transparent 35%, #000 65%);
          mask-image: linear-gradient(to right, transparent 35%, #000 65%);
}
.u46-header::after {
  bottom: 6px; /* stay above the accent bar */
  background: radial-gradient(circle, rgba(0, 161, 150, .28) 0%, rgba(0, 161, 150, 0) 60%) no-repeat;
  background-size: 520px 520px;
  animation: u46-header-drift 18s ease-in-out infinite alternate;
}
@keyframes u46-header-drift {
  from { background-position: 30% 40%; }
  to   { background-position: 95% 60%; }
}
/* keep header content above the design layers */
.u46-header > .container,
.u46-header > .u46-header-accent {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .u46-header .logo-customized img,
  .u46-header .header-branding,
  .u46-header-nav a,
  .u46-header-nav a::after,
  .u46-header-nav li,
  .u46-header #cart a,
  .u46-header #cart button { transition: none; }
  .u46-header .logo-customized a:hover img { transform: none; }
  .u46-header::after { animation: none; }
  .u46-header:not(.is-ready) .logo-customized img,
  .u46-header:not(.is-ready) .u46-header-nav li { opacity: 1; transform: none; }
}

/* tablets/phones: links drop below the logo */
@media (max-width: 991px) {
  .u46-header #header-menu { justify-content: center; padding-bottom: 8px; }
  .u46-header-nav ul { justify-content: center; }
  .u46-header .header-branding { text-align: center; }
  .u46-header .logo-customized img { max-height: 72px; }
}
@media (max-width: 767px) {
  .u46-header-nav a { padding: 6px 8px; font-size: 14px; }
  /* keep the sticky header short on phones */
  .u46-header { position: relative; }
}

/* Hide a generic "Listings" heading if present */
.u46-hide { display: none !important; }

/* === U46 Footer Button Bar === */
.u46-footerbar {
  background: var(--u46-navy-web);
  color: var(--u46-white);
  margin-top: 28px;
  font-family: var(--u46-font-primary);
}
.u46-footerbar__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

/* Footer buttons: staggered entrance, color sweep on hover, icon motion, click ripple */
.u46-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.85);
  color: var(--u46-white) !important;
  background: transparent;
  font-family: var(--u46-font-primary);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease,
              opacity .45s ease calc(var(--i, 0) * 80ms);
}
/* sweep layer */
.u46-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--u46-teal);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}
.u46-btn:hover,
.u46-btn:focus-visible {
  border-color: var(--u46-teal);
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}
.u46-btn:hover::before,
.u46-btn:focus-visible::before {
  transform: scaleX(1);
}
.u46-btn:focus-visible {
  outline: 3px solid var(--u46-yellow);
  outline-offset: 3px;
}
.u46-btn:active {
  transform: translateY(-1px) scale(.97);
}

.u46-btn__icon {
  flex: 0 0 auto;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
}
.u46-btn:hover .u46-btn__icon,
.u46-btn:focus-visible .u46-btn__icon {
  transform: scale(1.18) rotate(-8deg);
}
.u46-btn__ext {
  font-size: 13px;
  opacity: .7;
  transition: transform .2s ease, opacity .2s ease;
}
.u46-btn:hover .u46-btn__ext,
.u46-btn:focus-visible .u46-btn__ext {
  opacity: 1;
  transform: translate(2px, -2px);
}

/* primary / current page */
.u46-btn--primary {
  background: var(--u46-yellow);
  border-color: var(--u46-yellow);
  color: var(--u46-navy-web) !important;
}
.u46-btn--primary::before {
  background: var(--u46-white);
}
.u46-btn--primary:hover,
.u46-btn--primary:focus-visible {
  border-color: var(--u46-white);
}
.u46-btn[aria-current="page"]::after {
  /* small dot marking the page you're on */
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  border-radius: 50%;
  background: var(--u46-navy-web);
}

/* click ripple (added by Custom JS) */
.u46-btn__ripple {
  position: absolute;
  z-index: -1;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: rgba(255,255,255,.55);
  pointer-events: none;
  animation: u46-ripple .6s ease-out forwards;
}
@keyframes u46-ripple {
  to { transform: scale(22); opacity: 0; }
}

/* staggered entrance when the footer scrolls into view */
.u46-footerbar:not(.is-visible) .u46-btn {
  opacity: 0;
  transform: translateY(16px);
}

@media (prefers-reduced-motion: reduce) {
  .u46-btn,
  .u46-btn::before,
  .u46-btn__icon,
  .u46-btn__ext { transition: none; }
  .u46-btn:hover,
  .u46-btn:focus-visible,
  .u46-btn:active,
  .u46-btn:hover .u46-btn__icon,
  .u46-btn:focus-visible .u46-btn__icon { transform: none; }
  .u46-footerbar:not(.is-visible) .u46-btn { opacity: 1; transform: none; }
  .u46-btn__ripple { display: none; }
}

@media (max-width: 767px) {
  .u46-footerbar__inner { gap: 10px; }
  .u46-btn { flex: 1 1 calc(50% - 10px); justify-content: center; }
}


.u46-accentbar-footer {
  height: 6px;
  background: var(--u46-yellow);
}
