| /** |
| * Navigation Styles Module |
| * |
| * Styles for the custom navbar including header, dropdown menus, |
| * and scroll behavior. Ported from the original site's CSS. |
| */ |
| |
| /* Header Container */ |
| .hdr { |
| border-bottom: 1px solid transparent; |
| position: relative; |
| height: 126px; |
| } |
| |
| /* Remove border and background on homepage where hero extends behind header */ |
| :global(.homepage) .hdr { |
| background: none; |
| border-bottom-color: transparent; |
| } |
| |
| .hdrWrap { |
| padding: 0 45px; |
| height: 96px; |
| align-items: center; |
| position: relative; |
| z-index: 120; |
| display: flex; |
| } |
| |
| /* Logo */ |
| .hdrLogo { |
| display: block; |
| margin-right: auto; |
| width: 115px; |
| } |
| |
| .hdrLogoImg { |
| display: block; |
| width: 100%; |
| height: auto; |
| } |
| |
| .hdrLogoWhite { |
| display: none; |
| } |
| |
| /* Mobile Burger Menu Button */ |
| .hdrBurger { |
| display: none; |
| width: 24px; |
| height: 24px; |
| border: none; |
| flex-shrink: 0; |
| flex-grow: 0; |
| margin-right: 2rem; |
| background: none; |
| cursor: pointer; |
| } |
| |
| .hdrBurger img { |
| display: block; |
| margin: 0 auto; |
| } |
| |
| /* Download Button - inherits from .button global class */ |
| .hdrButton { |
| margin-left: auto; |
| white-space: nowrap; |
| padding: 0 25px; |
| } |
| |
| /* White button for non-white (floating) header */ |
| .hdr:not(.hdrWhite):not(.opened) .hdrButton { |
| background: #fff; |
| color: var(--ai-blue); |
| } |
| |
| .hdr:not(.hdrWhite):not(.opened) .hdrButton:hover { |
| background: var(--ai-grey-light); |
| } |
| |
| /* Main Navigation Menu */ |
| .hdrmenu { |
| position: absolute; |
| z-index: 10; |
| top: 0; |
| height: 100%; |
| transform: translateX(-50%); |
| left: 46%; |
| } |
| |
| .hdrmenu > ul { |
| display: flex; |
| align-items: stretch; |
| height: 100%; |
| margin: 0; |
| padding: 0; |
| list-style: none; |
| } |
| |
| .hdrmenu li { |
| padding: 0; |
| display: flex; |
| flex-direction: column; |
| flex-wrap: nowrap; |
| } |
| |
| .hdrmenu a { |
| color: #000; |
| font-size: 1.6rem; |
| line-height: 1.5; |
| text-decoration: none; |
| white-space: nowrap; |
| display: flex; |
| flex-direction: row; |
| flex-wrap: nowrap; |
| align-items: center; |
| justify-content: center; |
| height: 100%; |
| padding: 0 2rem; |
| position: relative; |
| } |
| |
| .hdrmenu a:hover { |
| color: #000; |
| } |
| |
| .hdrmenu a:hover::before { |
| content: ""; |
| display: block; |
| position: absolute; |
| bottom: 0; |
| left: 0; |
| right: 0; |
| border-radius: var(--ai-radius-xs); |
| height: 3px; |
| background: #fff; |
| } |
| |
| /* Expanded Menu Item (with dropdown) */ |
| .hdrmenuExpanded::after { |
| margin-left: 6px; |
| content: ""; |
| display: block; |
| width: 12px; |
| height: 9px; |
| position: relative; |
| background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 0L11.1962 9L0.803848 9L6 0Z' fill='%236E6E6E'/%3E%3C/svg%3E"); |
| background-repeat: no-repeat; |
| background-size: contain; |
| transform: rotate(180deg); |
| transition: transform 0.25s ease; |
| } |
| |
| .hdrmenuExpanded:hover::after { |
| filter: brightness(0); |
| } |
| |
| .hdrmenuExpanded:global(.active)::after { |
| transform: rotate(0); |
| } |
| |
| .hdrmenuCurrent { |
| font-weight: 700; |
| } |
| |
| /* Expanded Menu Hover/Active Underline */ |
| a.hdrmenuExpanded:hover::before, |
| a.hdrmenuExpanded:global(.active)::before { |
| content: ""; |
| display: block; |
| position: absolute; |
| bottom: 0; |
| left: 0; |
| right: 0; |
| border-radius: var(--ai-radius-xs); |
| height: 3px; |
| background: #fff; |
| } |
| |
| /* Header Color Variations */ |
| .hdrWhite .hdrmenu a:hover::before, |
| .hdr:global(.opened) .hdrmenu a:hover::before, |
| .hdrWhite .hdrmenu a:global(.active)::before, |
| .hdr:global(.opened) .hdrmenu a:global(.active)::before { |
| background: var(--ai-dark); |
| } |
| |
| .hdrBlue, |
| .hdrDark { |
| background: #0067b9; |
| border-bottom: none; |
| } |
| |
| .hdrDark { |
| background: #333; |
| } |
| |
| .hdr:not(.hdrWhite):not(:global(.opened)) .hdrmenu a { |
| color: #fff; |
| } |
| |
| .hdr:not(.hdrWhite):not(:global(.opened)) .hdrmenu a:hover { |
| color: #f2f2f2; |
| } |
| |
| .hdr:not(.hdrWhite):not(:global(.opened)) .hdrButton { |
| background: #fff; |
| color: #0067b9; |
| } |
| |
| .hdr:not(.hdrWhite):not(:global(.opened)) .hdrButton:hover { |
| background: #e6f4ff; |
| } |
| |
| .hdr:not(:global(.opened)):not(.hdrWhite) .hdrLogoBlack { |
| display: none; |
| } |
| |
| .hdr:not(:global(.opened)):not(.hdrWhite) .hdrLogoWhite { |
| display: block; |
| } |
| |
| .hdr:not(:global(.opened)):not(.hdrWhite) .hdrmenuExpanded::after { |
| filter: brightness(0) invert(1); |
| } |
| |
| .hdr:global(.opened) .hdrWrap { |
| background: #fff; |
| } |
| |
| /* Dropdown Menu Container */ |
| .dropmenu { |
| display: block; |
| position: absolute; |
| left: 0; |
| top: 100%; |
| width: 100%; |
| background: #fff; |
| z-index: 100; |
| opacity: 1; |
| height: 0; |
| overflow: hidden; |
| transition: height 0.2s ease; |
| } |
| |
| /* Show dropdown container when header is opened */ |
| .hdr:global(.opened) .dropmenu { |
| opacity: 1; |
| } |
| |
| /* Dropdown Background Overlay */ |
| .dropmenuBack { |
| position: fixed; |
| pointer-events: none; |
| z-index: 98; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| background: #000; |
| opacity: 0; |
| transition: opacity 0.2s ease; |
| } |
| |
| .dropmenuBack:global(.active) { |
| opacity: 0.4; |
| pointer-events: auto; |
| } |
| |
| /* Dropdown Panel */ |
| .dropmenuPanel { |
| box-shadow: inset 0 0 0 1px #e0e0e0; |
| position: relative; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 0; |
| overflow: hidden; |
| background: #fff; |
| opacity: 0; |
| pointer-events: none; |
| display: none; |
| } |
| |
| .dropmenuPanel:global(.active) { |
| display: block; |
| opacity: 1; |
| height: auto; |
| pointer-events: auto; |
| transform: translateY(0px); |
| } |
| |
| /* Grid Layouts */ |
| .dropmenu1Grid, |
| .dropmenu2Grid, |
| .dropmenu3Grid { |
| display: grid; |
| grid-template-columns: repeat(4, 1fr); |
| grid-auto-rows: auto; |
| gap: 0; |
| padding-top: 0px; |
| padding-bottom: 0px; |
| } |
| |
| .dropmenu1Grid { |
| grid-template-columns: 1.6fr 2fr 2fr 2fr; |
| } |
| |
| .dropmenu1Buttonwrap { |
| padding-top: 5rem; |
| } |
| |
| /* Featured Red Button */ |
| .dropmenuRedbutton { |
| margin-bottom: 11px; |
| height: 60px; |
| padding: 0 30px; |
| width: 100%; |
| max-width: 240px; |
| display: inline-flex; |
| flex-direction: row; |
| flex-wrap: nowrap; |
| align-items: center; |
| justify-content: center; |
| background: var(--ai-primary-lightest); |
| border-radius: 1rem; |
| white-space: nowrap; |
| color: #000; |
| transition: background 0.3s ease; |
| } |
| |
| .dropmenuRedbutton img { |
| flex-shrink: 0; |
| margin-right: 5px; |
| } |
| |
| .dropmenuRedbutton span { |
| display: block; |
| position: relative; |
| display: flex; |
| flex-direction: row; |
| flex-wrap: nowrap; |
| align-items: center; |
| } |
| |
| .dropmenuRedbutton span::after { |
| content: ""; |
| display: block; |
| margin-left: 9px; |
| width: 14px; |
| height: 13px; |
| background: url(/img/menu/icon-arrow.svg) no-repeat; |
| background-size: contain; |
| transition: transform 0.3s ease; |
| } |
| |
| .dropmenuRedbutton:hover { |
| text-decoration: none; |
| color: #fff; |
| background: var(--ai-red); |
| } |
| |
| .dropmenuRedbutton:hover img { |
| filter: brightness(0) invert(1); |
| } |
| |
| .dropmenuRedbutton:hover span::after { |
| filter: brightness(0) invert(1); |
| transform: translateX(3px); |
| } |
| |
| .dropmenuRedbutton.blog { |
| justify-content: flex-start; |
| } |
| |
| .dropmenuRedbutton.blog img { |
| flex: 0 auto; |
| } |
| |
| .dropmenuRedbutton.blog span { |
| flex: 1 auto; |
| justify-content: space-between; |
| } |
| |
| /* Dropdown Box */ |
| .dropmenuBox { |
| position: relative; |
| min-height: 210px; |
| padding-top: 4.7rem; |
| padding-left: 18px; |
| padding-right: 18px; |
| width: 100%; |
| padding-bottom: 15px; |
| } |
| |
| .dropmenuBox::after { |
| content: ""; |
| display: block; |
| position: absolute; |
| left: 0; |
| top: 0; |
| bottom: 0; |
| width: 1px; |
| background: var(--ai-border-medium); |
| } |
| |
| .dropmenuBox:first-child::after, |
| .dropmenuBox.noBorder::after { |
| display: none; |
| } |
| |
| .dropmenuBox.blog { |
| padding-top: 20px; |
| } |
| |
| .dropmenuBoxButtonin { |
| padding-top: 20px; |
| } |
| |
| .dropmenuBoxButtonin::after { |
| display: none; |
| } |
| |
| /* Dropdown Menu Items */ |
| .dropmenuMenu { |
| list-style: none; |
| margin: 0; |
| padding: 0; |
| } |
| |
| .dropmenuIconitem { |
| display: inline-flex; |
| flex-direction: row; |
| flex-wrap: nowrap; |
| align-items: center; |
| justify-content: flex-start; |
| padding: 10px 20px 10px 15px; |
| border-radius: 1rem; |
| color: #000 !important; |
| text-decoration: none; |
| transition: background 0.2s ease; |
| } |
| |
| .dropmenuIconitem img { |
| display: block; |
| max-width: 20px; |
| max-height: 20px; |
| object-fit: contain; |
| } |
| |
| .dropmenuIconitem span { |
| display: block; |
| padding-left: 10px; |
| white-space: nowrap; |
| } |
| |
| .dropmenuIconitem:hover { |
| text-decoration: none; |
| background: var(--ai-blue-lighter); |
| color: #000; |
| } |
| |
| /* Section Titles */ |
| .dropmenuBox .capstext { |
| color: var(--ai-gray-300); |
| position: absolute; |
| top: 0; |
| left: 20px; |
| right: 20px; |
| font-size: 12px; |
| line-height: 18px; |
| letter-spacing: 0.5px; |
| text-transform: uppercase; |
| font-weight: 600; |
| } |
| |
| .dropmenuCapslink { |
| text-decoration: underline; |
| color: var(--ai-gray-300); |
| } |
| |
| /* Panel More Link */ |
| .panelmorelinkwrap { |
| text-align: center; |
| padding-top: 5px; |
| padding-bottom: 15px; |
| } |
| |
| .panelmorelinkwrapEnd .panellink { |
| width: 50%; |
| display: block; |
| margin-left: auto; |
| } |
| |
| .panellink { |
| color: #000; |
| display: inline-block; |
| padding: 10px 20px; |
| text-decoration: underline; |
| font-size: 1.4rem; |
| } |
| |
| .panellink:hover { |
| color: #000; |
| text-decoration: underline; |
| } |
| |
| /* Floating Header (on scroll) */ |
| .hdrfloat { |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| z-index: 200; |
| background-color: #fff; |
| transition: margin-top 0.2s linear; |
| pointer-events: none; |
| margin-top: -75px; |
| } |
| |
| /* Hide floating header dropdown when not scrolled */ |
| .hdrfloat .dropmenu { |
| display: none; |
| } |
| |
| :global(.hdr-active) .hdrfloat .dropmenu { |
| display: block; |
| } |
| |
| /* Hide base header dropdown when scrolled */ |
| :global(.hdr-active) .hdr:not(.hdrfloat) .dropmenu { |
| display: none; |
| } |
| |
| :global(.hdr-active) .hdrfloat { |
| margin-top: 0; |
| pointer-events: auto; |
| box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); |
| } |
| |
| @media (min-width: 992px) { |
| .hdrfloat .hdrWrap { |
| height: 75px; |
| } |
| |
| .hdrfloat .hdrButton { |
| height: 45px; |
| } |
| } |
| |
| /* Responsive Styles */ |
| @media (max-width: 1199px) { |
| .hdrBurger { |
| display: block; |
| } |
| |
| .hdrBlue .hdrBurger img, |
| .hdrDark .hdrBurger img { |
| filter: invert(1); |
| } |
| |
| .hdrmenu { |
| display: none; |
| } |
| |
| .dropmenu { |
| display: none; |
| } |
| |
| /* Hide floating header on mobile - only use base header */ |
| .hdrfloat { |
| display: none; |
| } |
| } |
| |
| @media (max-width: 768px) { |
| |
| .hdrWrap { |
| height: 80px; |
| padding: 0 20px; |
| } |
| |
| .hdrButton { |
| display: none; |
| } |
| |
| .hdrLogo { |
| width: 90px; |
| } |
| |
| /* Make header transparent on mobile homepage to show hero gradient */ |
| :global(.homepage) .hdr { |
| background: none; |
| border-bottom-color: transparent; |
| } |
| } |