/**
 * Header styles: top nav bar, desktop mega menu, mobile collapsed menu.
 */

:root{
  --tv-blue:#1B1F26;
  --tv-blue-2:#1b2747;
  --tv-white:#ffffff;
}

html,body{
	position:relative;
	overflow-x:hidden;
	font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}

.tv-header{background:var(--tv-blue);position:relative;z-index:50}
.tv-header .tv-inner{max-width:90%;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;position:relative}
.tv-brand{display:flex;align-items:center;max-width:75%;padding-right:20px;}
.tv-brand img{display:block;height:44px;width:auto;}




@media (max-width:2590px){
  .tv-menu{display:flex;align-items:center;gap:64px;padding-left:6%}
}

.tv-nav{margin-left:auto}
.tv-menu,.tv-menu ul{list-style:none;padding:0;margin:0}
.tv-menu{display:flex;align-items:center;gap:64px;padding-left:6%}
.tv-menu>li>a{
  font-family:'Montserrat',sans-serif;font-weight:400;color:var(--tv-white);
  text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:14px;
  display:inline-block;padding:8px 0;white-space:nowrap
}

@media (max-width:1400px){
  .tv-menu{gap:34px;}
}


/* Active page indicator: underline under the current top-level menu item */
.tv-menu>li:not(#menu-item-6291)>a{
  position:relative;
}
.tv-menu>li:not(#menu-item-6291)>a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:var(--tv-white);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}


header .current-menu-item a::after {
    transform: scaleX(1) !important;
}


.tv-menu>li:hover>a,.tv-menu>li.current-menu-item>a{opacity:.9}

/* Section-level active state: keeps the underline visible on child pages */
.tv-menu > li.tv-active > a::after{
  content:"" !important;
  transform:scaleX(1) !important;
}

@media screen and (max-width:1200px){
li#menu-item-6512 {
    margin-top: 20px !important;
}}



/* "See all" button in People menu: hide default arrow, add custom one */
li#menu-item-6291 a::before {
    display: none;
}
li#menu-item-6291 a::after {
    content:"";
    background-image:url('https://tocqueville.com/wp-content/uploads/2025/09/menu-arrow.png');
    width:15px;
    height:15px;
    object-fit:contain;
    margin-left:15px;
    margin-top:5px;
}
li#menu-item-6291 a {
    color: white;
    display: flex;
    border-radius: 55px;
    font-weight: 500;
    font-family: 'Montserrat Medium', sans-serif;
    background-color: #141f3b !important;
    padding-left: 35px;
    padding-right: 35px;
    padding-top: 7px;
    padding-bottom: 7px;
    width: fit-content;
}

.tv-menu li{position:relative}
.tv-menu .sub-menu{
  position:absolute;left:0;top:100%;
  min-width:220px;background:var(--tv-blue);
  border-top:2px solid var(--tv-blue-2);
  display:none;padding:10px 0
}
.tv-menu li:hover>.sub-menu{display:block}
.tv-menu .sub-menu a{
  font-family:'Montserrat',sans-serif;font-weight:400;display:block;
  padding:10px 16px;color:var(--tv-white);text-transform:none;letter-spacing:0;
  font-size:14px;text-decoration:none
}
.tv-menu .sub-menu a:hover{background:var(--tv-blue-2)}

@media (min-width:1201px){
	
	.tv-menu>li:not(#menu-item-6291):hover>a::after{
  transform:scaleX(1);
}
	.tv-menu>li.current-menu-item>a::after {
	  transform:scaleX(1) !important;
}
  .tv-menu>li.menu-item-has-children { position: relative; }

.tv-menu>li.menu-item-has-children>.sub-menu {
  --tv-mega-shift:0px;
  left:50%;
  top:calc(100% + 0px);
  transform:translateX(calc(-50% + var(--tv-mega-shift))) translateY(20px) scale(.98);
  width:780px; max-width:92vw;
  background:#fff; color:#0f172a;
  border-radius:14px;
  box-shadow:0 18px 45px rgba(17,24,39,.25);
  padding:32px 40px 28px;
  opacity:0; visibility:hidden; pointer-events:none;
  z-index:60;
  will-change:opacity,transform;
  transition:opacity .25s ease,
             transform .32s cubic-bezier(.2,.7,.2,1),
             visibility 0s linear .32s;
}

.tv-menu>li.menu-item-has-children:hover>.sub-menu,
.tv-menu>li.menu-item-has-children.stay-open>.sub-menu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(calc(-50% + var(--tv-mega-shift))) translateY(0) scale(1);
  transition:opacity .25s ease,
             transform .32s cubic-bezier(.2,.7,.2,1),
             visibility 0s linear 0s;
}

li#menu-item-6524 .sub-menu {
    transform: translateX(calc(-86% + var(--tv-mega-shift))) translateY(0) scale(1);
}

.tv-menu .sub-menu a {
    font-family: 'Montserrat',sans-serif;
    font-weight: 600;
    display: block;
    padding: 5px 0px;
    color: #15295a;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
    text-decoration: none;
    transition: .3s all ease-in-out;
  }

  .tv-submenu-heading a {
    font-family: 'Montserrat',sans-serif;
    font-size: 31px !important;
    font-weight: 600;
    color: #15295a;
    transition: .3s all ease-in-out !important;
    padding-left:3px;
    margin: 0 0 10px 0;
  }

  .tv-submenu-heading a:hover {
    background:transparent !important;
  }

  .tv-menu .sub-menu a:hover {
    background: transparent;
    padding-left: 10px;
    color: #ca2030;
    transition: .3s all ease-in-out;
  }



  .tv-mega{
    display:grid;
    grid-template-rows:auto auto;
    row-gap:24px;
  }

  .tv-mega__cols{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:56px;
    align-items:start;
    position: relative;
  }

  .tv-submenu-heading{
    font-family:'Montserrat',sans-serif;
    font-size:22px; font-weight:600; color:#15295a;
    margin:0 0 10px 0;
  }
  .tv-submenu-heading a{
    color:inherit; text-decoration:none;
  }
  .tv-submenu-heading a:hover{ opacity:.9; }

  .tv-mega__note{
    font-family:'Inter',sans-serif;
    font-size:14px; line-height:1.7; color:#4B5563;
    margin:0;
    margin-bottom:15px;
  }
  .tv-mega__note p{ margin:0; }

  .tv-mega__links{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:32px; row-gap:24px;
    list-style:none; margin:0; margin-top:15px !important; padding:0;
  }
  .tv-mega__links > li{ margin:0; padding:0; }
  .tv-mega__links > li > a{
    display:block;
    font-family:'Montserrat',sans-serif;
    font-weight:500; font-size:15px;
    color:#15295a; text-decoration:none;
    padding:6px 0;
    transition:color .2s ease, opacity .2s ease;
  }
  .tv-mega__links > li > a:hover{ color:#2E3948; opacity:.9; }

  .tv-mega__image{
    text-align:center; margin-top:8px;
  }
  .tv-mega__image img{
    max-width:100%; width:100%; height:200px;
    border-radius:10px;
    opacity:0; transform:translateY(10px);
    transition:all .45s ease;
    object-fit: cover;
    background-position: center top;
    background-size: cover;
  }
  .tv-menu>li.menu-item-has-children:hover .tv-mega__image img,
  .tv-menu>li.menu-item-has-children.stay-open .tv-mega__image img{
    opacity:1; transform:translateY(0);
  }

  .tv-menu>li.menu-item-has-children>.sub-menu>*{ display:block; }

  /* Middle divider between info (left) and links (right) */
  .tv-mega__cols::after{
    content:"";
    position:absolute;
    top:0;
    bottom:12px;
    left:50%;
    width:1px;
    background:#e5e7eb;
    transform:translateX(-0.5px);
    pointer-events:none;
  }

  /* Special layout for Client Login (menu-item-6524) */
  #menu-item-6524 .tv-mega__cols::after {
    display: none !important;
  }

  #menu-item-6524 .tv-mega {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    width: 100%;
    row-gap:0px;
  }

  #menu-item-6524 .tv-mega__cols {
    display: block !important;
    width: 100%;
  }

  #menu-item-6524 .tv-submenu-heading {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #15295a;
    margin-bottom: 14px;
  }

  #menu-item-6524 .tv-mega__note {
    display: none !important;
  }

  #menu-item-6524 .tv-mega__links {
    display: flex !important;
    flex-wrap: wrap;
    gap: 14px 44px;
    list-style: none;
    padding: 0;
    margin: 0 0 5px 0;
  }

  #menu-item-6524 .tv-mega__links li {
    margin: 0;
    padding: 0;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  #menu-item-6524 .tv-mega__links a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 15px;
    color: #15295a;
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease;
    display: flex;
    flex-direction: column;
    font-weight: 600;
    text-align: center;
    justify-content: center;
    align-items: center;
  }

  @media screen and (max-width:1200px){
    #menu-item-6524 .tv-mega__links a {
      display: flex !important;
      flex-direction: column !important;
      font-weight: 600;
      text-align:left;
    }
  }

  #menu-item-6524 .tv-mega__links a:hover {
    color: #2E3948;
    opacity: .9;
    padding-left:0;
  }

  /* NOTE: no other rule references menu-item-6269 — verify this ID is still correct */
  li#menu-item-6269 {
    margin-top: -13px !important;
    display: block;
  }

  #menu-item-6524 .tv-mega__image {
    text-align: center;
    width: 100%;
    margin-top: 10px;
  }

  #menu-item-6524 .tv-mega__image img {
    max-width: 100%;
    width: 100%;
    height: 200px;
    object-fit:cover;
    border-radius: 10px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.4s ease;
  }

  #menu-item-6524:hover .tv-mega__image img,
  #menu-item-6524.stay-open .tv-mega__image img {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile: simple stacked links, no headings or images */
@media (max-width:1200px){

  .tv-submenu-heading,
  .tv-mega__note,
  .tv-mega__image,
  .tv-mega__cols::after {
    display: none !important;
  }

  .tv-menu .sub-menu {
    position: static !important;
    display: none;
    background: var(--tv-blue);
    border-top: 1px solid var(--tv-blue-2);
    padding: 0;
    box-shadow: none;
  }

  .tv-menu li.open > .sub-menu {
    display: block !important;
  }

  .tv-menu .sub-menu li {
    display: block !important;
    margin: 0;
    padding: 0;
  }

  .tv-menu .sub-menu a {
    display: block !important;
    padding: 12px 18px;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .tv-menu .sub-menu a:hover {
    background: var(--tv-blue-2);
  }

  .tv-mega__links {
    display: block !important;
    column-count: 1 !important;
  }
}

.tv-nav-toggle{
  background:none;border:1px solid rgba(255,255,255,.35);color:var(--tv-white);
  padding:8px 12px;border-radius:6px;font-size:22px;line-height:1;display:none;cursor:pointer;
  width:42px;height:42px;align-items:center;justify-content:center
}
@media (max-width:1200px){
  .tv-header .tv-inner{padding:12px 16px;flex-wrap:wrap}
  .tv-brand {display: flex;align-items: center;max-width: 55%;}
  .tv-brand{order:1}
  .tv-nav-toggle{order:2;margin-left:auto;display:inline-flex}
  .tv-nav{width:100%;order:3}
  .tv-menu{
    gap:30px;display:none;flex-direction:column;width:100%;margin-top:14px;margin-left:0;padding-left:0;border-top:2px solid var(--tv-blue-2)
  }
  .tv-nav li.menu-item.tv-mega__note p {display: none;}
  .tv-menu.show{display:flex}
  .tv-menu>li{width:100%}
  .tv-menu>li>a{padding:2px 6px;width:100%}
  .tv-menu .sub-menu{
    position:static;display:none;background:var(--tv-blue);
    border-top:1px solid var(--tv-blue-2);padding:0
  }
  /* NOTE: no other rule references menu-item-6256 — verify this ID is still correct */
  .tv-menu li#menu-item-6256 {margin-top: 30px;}
  .tv-menu li.open>.sub-menu{display:block}
  .tv-menu .sub-menu a{padding:12px 16px;color:#fff; transition:.3s all ease-in-out;}
  .tv-menu .tv-mega__note,
  .tv-menu .tv-mega__note p{color:#fff !important;opacity:1 !important}
  .tv-menu .tv-mega__note{padding:12px 16px 8px;margin:8px 0}
  .tv-menu>li.menu-item-has-children>.sub-menu::after{display:none}
}

/* Client Login submenu: white background on mobile */
@media (max-width:1200px){
  #menu-item-6264 > .sub-menu {
    background: #ffffff !important;
    border-top: none !important;
    padding: 10px 0 !important;
  }

  #menu-item-6264 .tv-mega__links li {
    width:100%;
  }

  #menu-item-6264 .sub-menu a {
    background: transparent !important;
    border-bottom: none !important;
    padding: 10px 18px !important;
    color: #15295a !important;
  }

  #menu-item-6264 .sub-menu a:hover {
    background: transparent !important;
    opacity: 0.85;
  }
}

@media (max-width: 640px){
  .tv-brand {display: flex;align-items: center;max-width: 55%;}
}


li.hide-mobile#menu-item-8614 {
    display: none;
}

@media (max-width: 1200px){
li.hide-mobile#menu-item-8614 {
    display: block;
}
}


#menu-item-7917 ul.tv-mega__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}