@xo-union/tk-component-header-nav
Version:
1,758 lines (1,622 loc) • 39.4 kB
CSS
/* stylelint-disable max-nesting-depth */
@value (
varNeutral200,
varNeutral600,
varNeutralWhite,
varNeutralBlack,
varPrimary400,
varBrandPrimary,
varTextDefault,
varIconDefault,
varCtaDefault,
varCtaDarkDefault,
varLinkOnLight,
varLinkOnLightHover,
varBorderDefault,
varBorderDarkDefault,
varBackgroundLight,
varBackgroundLightContrast,
varBackgroundLightContrast2
) from "~@xo-union/tk-ui-colors/lib/variables.css";
@value (var-shadow) from "~@xo-union/tk-css-shadow/lib/styles.css";
@value (var-sm, var-md, var-lg, var-sm-max, var-xl, var-xxl, var-in-mobile, var-in-desktop) from "~@xo-union/tk-ui-breakpoints/lib/variables.css";
@value (
varSpUp1,
varSpUp2,
varSpUp3,
varSpUp4,
varSpUp6,
varSpBase,
varSpDown1,
varSpDown2,
varSpDown3,
varSpDown5) from "~@xo-union/tk-css-spacing/lib/variables.css";
@value (varBoldFontWeight, varFontSize100) from "~@xo-union/tk-ui-typography/lib/variables.css";
@value varMediaSmLow: min-width: var-sm;
@value varMediaMdLow: min-width: var-md;
@value varMediaLgLow: min-width: var-lg;
@value varMediaXxlLow: min-width: var-xxl;
@value varMediaXlLow: min-width: var-xl;
@value varCustomMediaMdSpecial: min-width: 853px;
@value varCustomMediaXlSpecial: min-width: 1200px;
.mega-menu-dropdown.mega-menu-dropdown, .top-level-nav {
background-color: var(--tkww-union-header-nav-top-level-background-color, varBackgroundLight);
color: var(--tkww-union-header-nav-top-level-inner-color, varTextDefault);
display: flex;
flex-direction: column;
-ms-overflow-style: none;
/* IE and Edge */
overflow-y: scroll;
scrollbar-width: none;
}
.mega-menu-dropdown::-webkit-scrollbar, .top-level-nav::-webkit-scrollbar {
display: none;
}
@media (var-in-desktop) {
.mega-menu-dropdown.mega-menu-dropdown, .top-level-nav {
height: auto;
overflow-y: visible;
}
}
/* Utilities */
@media (var-in-desktop) {
.hide-in-desktop {
display: none ;
}
}
@media (var-in-mobile) {
.hide-in-mobile {
display: none ;
}
}
.no-animation * {
transition: none ;
}
.slide-animation {
transition-duration: 300ms;
transition-property: transform, visibility;
transition-timing-function: ease;
}
@media (prefers-reduced-motion) {
.slide-animation {
transition: none ;
}
}
@media (var-in-desktop) {
.slide-animation {
transition: none;
}
}
.bold {
font-weight: 500;
}
@media (var-in-mobile) {
.bold-in-mobile {
font-weight: 500;
}
}
/* Rest */
.span-link {
cursor: pointer;
}
.nav-container {
align-items: center;
background-color: var(--tkww-union-header-nav-top-level-background-color, varBackgroundLight);
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-border-color, varBorderDefault);
color: var(--tkww-union-header-nav-top-level-color, varTextDefault);
display: flex;
flex-wrap: wrap;
height: 60px;
margin: auto;
position: relative;
}
@media (var-in-desktop) {
.nav-container {
height: 120px;
}
}
.nav-container a,
.nav-container a:hover {
color: inherit;
}
.nav-container ul {
list-style: none;
margin: 0;
padding: 0;
}
.nav-container [data-trackable] *,
.nav-container [data-trackable-selection] * {
pointer-events: none;
}
.hamburger-button {
composes: hide-in-desktop;
}
.hamburger-button.hamburger-button {
color: var(--tkww-union-header-nav-hamburger-cta-color, varCtaDarkDefault);
margin-left: 10px;
margin-right: 4px;
}
.mobile-app-bar-items {
composes: hide-in-desktop;
align-items: center;
color: var(--tkww-union-header-nav-top-level-icon-color, varIconDefault);
display: flex;
flex-grow: 1;
max-height: 100%;
}
.mobile-app-bar-items .account-cta-container {
align-items: center;
display: flex;
margin-left: auto;
padding-bottom: 12px;
padding-right: 20px;
padding-top: 12px;
}
.header-cta.header-cta {
transition: color 0.25s ease;
}
@media (varMediaSmLow) {
.header-cta.header-cta {
font-size: 16px;
}
}
.log-in-cta {
composes: header-cta;
}
.log-in-cta.log-in-cta {
display: none;
}
.log-in-cta.log-in-cta:hover {
text-decoration: none;
}
@media (varMediaSmLow) {
.log-in-cta.log-in-cta {
display: inline-flex;
margin-right: var(--tkww-union-header-nav-login-button-horizontal-margin, 16px);
--tkww-union-buttons-primary-alternative-border-color: var(--tkww-union-header-nav-login-button-border-color);
--tkww-union-buttons-primary-alternative-background-color: var(--tkww-union-header-nav-login-button-background-color);
--tkww-union-buttons-primary-alternative-color: var(--tkww-union-header-nav-login-button-color);
--tkww-union-buttons-primary-alternative-hover-background-color: var(--tkww-union-header-nav-login-button-hover-background-color);
--tkww-union-buttons-primary-alternative-hover-border-color: var(--tkww-union-header-nav-login-button-hover-border-color);
--tkww-union-buttons-primary-alternative-hover-color: var(--tkww-union-header-nav-login-button-hover-color);
--tkww-union-buttons-primary-alternative-hover-decoration: var(--tkww-union-header-nav-login-button-hover-decoration);
--tkww-union-buttons-primary-alternative-horizontal-padding: var(--tkww-union-header-nav-login-button-horizontal-padding);
}
}
.account-settings-button.account-settings-button {
align-items: center;
border-color: var(--tkww-union-header-nav-account-settings-button-border-color, varBorderDarkDefault);
border-style: solid;
border-width: varSpDown5;
display: flex;
flex-flow: nowrap;
font-weight: varBoldFontWeight;
height: 36px;
margin: 2px 0;
padding: 0.375rem 0.75rem 0.375rem 0.375rem;
text-transform: var(--tkww-union-header-nav-account-settings-button-text-transform, none);
width: 137px;
}
.account-settings-button {
composes: body2 from "~@xo-union/tk-ui-typography/lib/font-scale-categories.css";
}
.account-settings-header {
composes: account-settings-button;
}
.account-settings-header.account-settings-header {
border: none;
font-size: 16px;
margin: 16px 16px 0 0;
padding: 0;
}
@media (var-in-desktop) {
.account-settings-header.account-settings-header {
display: none;
}
}
.account-settings-sub-menu-interactive-item {
display: flex;
padding: 12px 16px 12px 0;
transition: color 0.25s ease;
width: 100%;
}
.account-settings-sub-menu-interactive-item:hover {
color: var(--tkww-union-header-nav-mega-menu-cta-hover-color, varPrimary400);
text-decoration: underline;
}
@media (var-in-desktop) {
.account-settings-sub-menu-interactive-item {
padding: 8px 16px;
}
}
.log-out-cta {
composes: account-settings-sub-menu-interactive-item;
composes: buttonM from "~@xo-union/tk-ui-typography/lib/font-scale-categories.css";
color: var(--tkww-union-header-nav-mega-menu-cta-color, varCtaDefault);
}
@media (var-in-mobile) {
.log-out-cta {
border-top: 1px solid var(--tkww-union-header-nav-top-level-divider-color, varNeutral200);
}
}
@media (var-in-mobile) {
.log-out-cta {
--tkww-union-typography-category-buttonM-font-size: var(--tkww-union-header-nav-account-settings-button-size);
--tkww-union-typography-category-buttonM-text-transform: var(--tkww-union-header-nav-account-settings-button-text-transform);
}
}
.log-out-cta.log-out-cta {
margin-top: 8px;
padding: 18px 16px 18px 0;
}
@media (var-in-desktop) {
.log-out-cta.log-out-cta {
border-top: 1px solid varBackgroundLightContrast2;
padding: 16px 16px;
}
}
.avatar-image-container {
align-items: center;
background-color: var(--tkww-union-header-nav-avatar-background-color, varBrandPrimary);
border: var(--tkww-union-header-nav-avatar-border-width, 1px) solid var(--tkww-union-header-nav-avatar-border-color, varBrandPrimary);
border-radius: 50%;
display: flex;
height: 24px;
justify-content: center;
margin-right: 4px;
overflow: hidden;
pointer-events: none;
position: relative;
width: 24px;
}
.avatar-image {
height: 100%;
}
.avatar-brand-logo.avatar-brand-logo {
--tkww-union-brands-primary-color: var(--tkww-union-header-nav-avatar-color);
height: var(--tkww-union-header-nav-avatar-height, 17px);
width: var(--tkww-union-header-nav-avatar-width, 15px);
}
.conversations {
display: flex;
padding: 8px 12px 8px 8px;
position: relative;
}
.conversations.messages-nine-or-fewer {
padding-right: 22px;
}
@media (var-in-desktop) {
.conversations.messages-nine-or-fewer {
padding-right: 32px;
}
}
.conversations.messages-ninety-nine-or-fewer {
padding-right: 30px;
}
@media (var-in-desktop) {
.conversations.messages-ninety-nine-or-fewer {
padding-right: 40px;
}
}
.conversations.messages-over-ninety-nine {
padding-right: 36px;
}
@media (var-in-desktop) {
.conversations.messages-over-ninety-nine {
padding-right: 46px;
}
}
.conversations-icon {
pointer-events: none;
}
.conversations-badge {
background-color: var(--tkww-union-header-nav-conversations-badge-background-color, varPrimary400);
border-color: var(--tkww-union-header-nav-conversations-badge-border-color, varNeutralWhite);
border-style: solid;
border-width: var(--tkww-union-header-nav-conversations-badge-border-width, 1px);
color: var(--tkww-union-header-nav-conversations-badge-color, varTextOnDarkDefault);
font-size: 11px;
left: 24px;
line-height: 13px;
padding: var(--tkww-union-header-nav-conversations-badge-vertical-padding, 0) var(--tkww-union-header-nav-conversations-badge-horizontal-padding, 3px);
position: absolute;
}
.logo-container {
display: flex;
font-size: 2rem;
max-height: 32px;
max-width: 112px;
}
@media (var-in-desktop) {
.logo-container {
margin-bottom: var(--tkww-union-header-nav-margin-bottom, 0);
margin-right: auto;
margin-top: var(--tkww-union-header-nav-margin-top, 24px);
}
}
.tk-logo.tk-logo {
--tkww-union-brands-primary-color: var(--tkww-union-header-nav-logo-color);
}
@media (var-in-desktop) {
.tk-logo.tk-logo {
width: 112px;
}
}
.top-level-nav-container {
composes: slide-animation;
background-color: var(--tkww-union-header-nav-top-level-background-color, varBackgroundLight);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
display: flex;
height: calc(100vh - 61px);
height: calc(100vh - var(--bottom-of-header, 61px));
overflow: hidden;
position: relative;
width: 300px;
}
@media (var-in-desktop) {
.top-level-nav-container {
border-left: none;
box-shadow: none;
flex-direction: column;
flex-grow: 1;
height: auto;
height: 117px;
overflow: visible;
width: auto;
}
}
.hamburger-is-closed .top-level-nav-container {
transform: translateX(-300px);
visibility: hidden;
}
@media (var-in-desktop) {
.hamburger-is-closed .top-level-nav-container {
transform: translateX(0);
visibility: visible;
}
}
.top-level-nav {
composes: slide-animation;
width: 100%;
z-index: 10;
}
@media (var-in-desktop) {
.top-level-nav {
border: none;
color: var(--tkww-union-header-nav-top-level-color, varTextDefault);
flex-grow: 1;
position: initial;
top: unset;
width: auto;
}
}
.account-settings-dropdown .account-cta-container {
padding-top: 10px;
width: 100%;
}
.account-settings-dropdown .header-cta-container {
width: 100%;
}
@media (var-in-desktop) {
.account-settings-dropdown {
background-color: varNeutralWhite;
border-radius: varSpDown3;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
color: varNeutral600;
display: flex;
font-size: 14px;
margin-top: 10px;
}
.account-settings-dropdown .btn-override.btn-override.btn-override {
background-color: transparent;
border-bottom: none;
border-left: none;
border-right: none;
border-top: 1px solid var(--tkww-union-header-nav-aside-border-color, varNeutral200);
color: varCtaDefault;
font-size: 14px;
padding: 16px;
text-align: left;
transition: none;
width: 100%;
}
.account-settings-dropdown .btn-override.btn-override.btn-override:hover {
background-color: transparent;
color: varCtaDefault;
text-decoration: underline solid varCtaDefault;
}
.account-settings-dropdown .btn-override-animated-element {
display: none;
}
}
.mega-menu-is-open .top-level-nav {
transform: translateX(-100%);
visibility: hidden;
}
@media (var-in-desktop) {
.mega-menu-is-open .top-level-nav {
transform: none;
visibility: visible;
}
}
.mega-menu-is-open .mega-menu-dropdown.is-active {
transform: translateX(-100%);
visibility: visible;
}
@media (var-in-mobile) {
.mega-menu-is-open .mega-menu-dropdown.is-active {
overflow: hidden;
padding: 0;
}
}
@media (var-in-desktop) {
.mega-menu-is-open .mega-menu-dropdown.is-active {
transform: none;
}
}
.base-nav-list {
display: flex;
flex-direction: column;
}
.sub-menu-nav-list {
composes: base-nav-list;
}
.sub-menu-is-closed .sub-menu-nav-list {
display: none;
}
@media (var-in-desktop) {
.sub-menu-is-closed .sub-menu-nav-list {
display: flex;
}
}
@media (var-in-desktop) {
.menu-sub-heading-list-item.menu-sub-heading-list-item {
border: none;
}
}
@media (varMediaLgLow) {
.menu-sub-heading-list-item.menu-sub-heading-list-item {
margin-right: 10px;
}
}
@media (var-in-mobile) {
.menu-sub-heading-list-item.menu-sub-heading-list-item:not(:last-child) {
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-divider-color, varNeutral200);
}
}
.menu-sub-heading-list-item.menu-sub-heading-list-item:last-of-type {
margin-right: 0;
}
.overlay-container {
order: 2;
position: relative;
width: 100%;
}
.top-level-nav-items-container {
background-color: var(--tkww-union-header-nav-top-level-inner-background-color, varBackgroundLight);
display: flex;
flex-direction: column;
flex-grow: 1;
margin: auto;
max-width: 1360px;
width: 100%;
}
@media (var-in-desktop) {
.top-level-nav-items-container {
background-color: inherit;
color: inherit;
flex-direction: row;
flex-wrap: wrap;
max-height: 120px;
padding: 0 32px;
}
}
@media (varMediaXlLow) {
.top-level-nav-items-container {
flex-direction: column;
}
}
@media (varMediaLgLow) {
.is-logged-in .top-level-nav-items-container {
flex-direction: row;
}
}
@media (varCustomMediaXlSpecial) {
.is-logged-in .top-level-nav-items-container {
flex-direction: column;
}
}
.overlay.overlay {
display: flex;
height: fit-content;
top: 1px;
}
@media (var-in-desktop) {
.overlay.overlay {
overflow-x: visible;
overflow-y: visible;
position: initial;
--ow-overlay-overflow: visible;
}
}
.top-level-nav-right-aside-link-container {
display: flex;
flex-direction: column;
position: relative;
}
@media (var-in-mobile) {
.top-level-nav-right-aside-link-container {
border-top: 1px solid var(--tkww-union-header-nav-top-level-section-divider-color, varNeutral600);
}
}
@media (var-in-desktop) {
.top-level-nav-right-aside-link-container {
flex-direction: row;
}
}
.top-level-nav-right-aside-link {
display: flex;
justify-content: space-between;
padding: 16px 20px 16px 4px;
width: 100%;
align-items: center;
min-width: fit-content;
position: relative;
}
.top-level-nav-right-aside-link:focus {
outline-offset: -3px;
}
@media (var-in-desktop) {
.top-level-nav-right-aside-link {
border-top: none;
padding: 14px 3px 22px;
width: inherit;
}
.top-level-nav-right-aside-link:hover {
border-top: none;
}
}
@media (varMediaLgLow) {
.top-level-nav-right-aside-link {
padding: 14px 4px 22px;
}
}
@media (var-in-mobile) {
.top-level-nav-right-aside-link:not(:last-child) {
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-divider-color, varNeutral200);
}
}
@media (var-in-mobile) {
.top-level-nav-right-aside-link:hover {
text-decoration: underline;
}
}
@media (var-in-desktop) {
.top-level-nav-right-aside-float-link.top-level-nav-right-aside-float-link {
padding-right: 10px ;
position: absolute;
right: calc(100% + 12px);
top: 0;
}
.top-level-nav-right-aside-float-link.top-level-nav-right-aside-float-link::after {
border-right: 1px solid var(--tkww-union-header-nav-mega-menu-divider-color, varBorderDefault);
content: "";
height: 16px;
pointer-events: none;
position: absolute;
right: -6px;
width: 1px;
}
}
.top-level-nav-right-aside-link.top-level-nav-right-aside-link {
align-items: center;
display: inline-flex;
justify-content: flex-start;
}
@media (var-in-desktop) {
.top-level-nav-right-aside-link.top-level-nav-right-aside-link {
font-size: 16px;
padding: 10px;
}
}
@media (varMediaXlLow) {
.top-level-nav-right-aside-link.top-level-nav-right-aside-link {
margin-right: 0;
padding-right: 0;
padding-top: 8px;
width: auto;
}
}
.top-level-nav-right-aside-link.top-level-nav-right-aside-link .icon {
margin-right: 8px;
position: relative;
top: 2px;
}
.top-level-nav-right-aside {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
order: 2;
padding-bottom: 112px;
}
@media (var-in-mobile) {
.top-level-nav-right-aside {
margin-left: 20px;
}
}
@media (var-in-desktop) {
.top-level-nav-right-aside {
background-color: transparent;
flex-direction: row;
flex-grow: 0;
margin-left: auto;
order: 1;
padding-bottom: 0;
padding-top: 16px;
}
}
@media (varMediaXlLow) {
.top-level-nav-right-aside {
align-items: flex-end;
flex-direction: column;
}
}
@media (var-in-mobile) {
.top-level-nav-right-aside .btn-override.btn-override.btn-override {
display: flex;
justify-content: space-between;
padding: 16px 20px 16px 4px;
width: 100%;
background-color: transparent;
border-bottom: none;
border-left: none;
border-right: none;
border-top: none;
color: var(--tkww-union-header-nav-mega-menu-cta-color, varCtaDefault);
text-align: left;
}
.top-level-nav-right-aside .btn-override.btn-override.btn-override:focus {
outline-offset: -3px;
}
}
@media (var-in-mobile) and (var-in-desktop) {
.top-level-nav-right-aside .btn-override.btn-override.btn-override {
border-top: none;
padding: 14px 3px 22px;
width: inherit;
}
.top-level-nav-right-aside .btn-override.btn-override.btn-override:hover {
border-top: none;
}
}
@media (var-in-mobile) and (varMediaLgLow) {
.top-level-nav-right-aside .btn-override.btn-override.btn-override {
padding: 14px 4px 22px;
}
}
@media (var-in-mobile) {
.top-level-nav-right-aside .btn-override.btn-override.btn-override:hover {
background-color: transparent;
color: var(--tkww-union-header-nav-mega-menu-cta-hover-color, varPrimary400);
text-decoration: underline;
}
}
@media (var-in-mobile) {
.top-level-nav-right-aside .btn-override-animated-element {
display: none;
}
}
.top-level-nav-right-aside .account-cta-container {
display: flex;
flex-direction: column;
}
@media (var-in-mobile) {
.top-level-nav-right-aside .account-cta-container {
border-top: 1px solid var(--tkww-union-header-nav-top-level-section-divider-color, varNeutral600);
}
}
@media (var-in-desktop) {
.top-level-nav-right-aside .account-cta-container {
align-items: center;
flex-direction: row;
}
}
@media (varMediaXlLow) {
.top-level-nav-right-aside .account-cta-container {
margin-top: 9px;
}
}
@media (var-in-mobile) {
.top-level-nav-right-aside .account-cta-container .header-cta-container:first-child {
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-divider-color, varNeutral200);
}
}
@media (varCustomMediaXlSpecial) {
.is-logged-in .top-level-nav-right-aside {
height: 104px;
}
}
@media (var-in-desktop) {
.is-logged-in .top-level-nav-right-aside {
align-items: flex-end;
}
}
@media (varMediaLgLow) {
.is-logged-in .top-level-nav-right-aside {
flex-direction: row;
}
}
@media (varMediaLgLow) {
.is-logged-in .top-level-nav-right-aside .account-cta-container {
margin-top: 0;
}
}
@media (var-in-mobile) {
ul.top-level-nav-list {
margin-left: 20px;
}
}
.top-level-nav-list {
composes: base-nav-list;
flex-shrink: 0;
order: 1;
}
@media (var-in-mobile) {
.top-level-nav-list {
border-top: 1px solid var(--tkww-union-header-nav-top-level-section-divider-color, varNeutral600);
}
}
.top-level-nav-list a:hover {
text-decoration: none;
}
@media (var-in-desktop) {
.top-level-nav-list {
flex-direction: row;
flex-grow: 1;
justify-content: space-between;
order: 2;
overflow: hidden;
}
}
@media (varMediaLgLow) {
.top-level-nav-list {
justify-content: inherit;
max-width: 890px;
}
}
@media (varMediaXlLow) {
.top-level-nav-list {
flex-grow: 0;
order: 1;
}
}
@media (varMediaLgLow) {
.is-logged-in .top-level-nav-list {
flex-grow: 1;
max-width: unset;
order: 2;
}
}
@media (varCustomMediaXlSpecial) {
.is-logged-in .top-level-nav-list {
flex-grow: 0;
max-width: 890px;
order: 1;
}
}
@media (var-in-desktop) {
.top-level-nav .heading {
display: none;
}
}
.sub-menu-heading.sub-menu-heading {
display: none;
}
@media (var-in-desktop) {
.sub-menu-heading.sub-menu-heading {
display: flex;
}
}
.heading-text-container {
display: flex;
}
.heading-text-container:focus {
outline-offset: -3px;
}
@media (var-in-desktop) {
.heading-text-container {
padding: 17px 36px 0 0;
}
}
.heading-text-container a:hover,
.heading-text-container .span-link:hover {
text-decoration: underline;
}
.heading-text {
outline-offset: -3px;
padding: 23px 8px 23px 3px;
position: relative;
width: 100%;
}
@media (var-in-mobile) {
.heading-text {
margin-left: 20px;
}
}
@media (var-in-desktop) {
.heading-text {
padding: 8px 8px 8px 0;
width: unset;
}
}
.arrow-long-right {
border-bottom: 1px solid transparent;
border-top: 2px solid transparent;
box-shadow: inset 0 0 0 2px;
display: inline-block;
height: 4px;
margin-bottom: 6px;
margin-left: 8px;
position: relative;
width: 14px;
}
.arrow-long-right::after {
border-right: 1px solid;
border-top: 1px solid;
bottom: -4px;
box-sizing: border-box;
content: "";
display: inline-block;
height: 9px;
position: absolute;
right: 0;
transform: rotate(45deg);
width: 9px;
}
.top-level-menu-button {
align-items: center;
position: relative;
}
@media (var-in-mobile) {
.top-level-menu-button:hover {
text-decoration: underline;
}
}
.top-level-menu-button.top-level-menu-button {
display: flex;
justify-content: space-between;
padding: 16px 20px 16px 4px;
width: 100%;
}
.top-level-menu-button.top-level-menu-button:focus {
outline-offset: -3px;
}
@media (var-in-desktop) {
.top-level-menu-button.top-level-menu-button {
border-top: none;
padding: 14px 3px 22px;
width: inherit;
}
.top-level-menu-button.top-level-menu-button:hover {
border-top: none;
}
}
@media (varMediaLgLow) {
.top-level-menu-button.top-level-menu-button {
padding: 14px 4px 22px;
}
}
@media (var-in-desktop) {
.top-level-menu-button.top-level-menu-button {
font-size: 14px;
margin-top: 4px;
padding-bottom: 21px;
position: relative;
}
.top-level-menu-button.top-level-menu-button::after {
background-color: var(--tkww-union-header-nav-underline-color, varNeutralBlack);
bottom: 0;
content: " ";
height: var(--tkww-union-header-nav-underline-size, 4px);
left: 4px;
position: absolute;
transform: translateY(125%);
transition-duration: 350ms;
transition-property: transform;
transition-timing-function: ease-in-out;
width: calc(100% - 8px);
}
.top-level-menu-button.top-level-menu-button:hover::after, .top-level-menu-button.top-level-menu-button.is-active::after {
text-decoration: underline;
transform: translateY(0);
}
}
@media (varMediaLgLow) {
.top-level-menu-button.top-level-menu-button {
font-size: 16px;
padding-bottom: 18px;
}
}
@media (varMediaXlLow) {
.top-level-menu-button.top-level-menu-button {
padding-bottom: 22px;
}
}
.top-level-nav-right-aside.top-level-nav-right-aside .top-level-menu-button {
padding: 0;
}
.top-level-nav-right-aside.top-level-nav-right-aside .top-level-menu-button::after {
content: none;
}
.top-level-menu-link {
composes: top-level-menu-button;
}
@media (var-in-desktop) {
.top-level-menu-link.top-level-menu-link {
margin-right: 0;
padding-left: 4px;
padding-right: 4px;
}
.top-level-menu-link.top-level-menu-link:hover {
border-bottom-color: varBrandPrimary;
}
}
.top-level-menu-link.top-level-menu-link span {
pointer-events: none;
}
.sub-menu-button {
display: flex;
position: relative;
width: 100%;
}
@media (var-in-desktop) {
.sub-menu-button.sub-menu-button {
display: none;
}
}
.menu-button-caret.menu-button-caret {
height: 100%;
margin-right: 20px;
position: absolute;
right: 0;
top: 0;
}
@media (var-in-desktop) {
.menu-button-caret.menu-button-caret {
display: none;
}
}
.account-container {
align-items: center;
display: flex;
}
.account-settings-list.account-settings-list {
padding-top: 8px;
width: 100%;
}
.account-settings-list.account-settings-list .account-settings-sub-menu-item {
display: flex;
width: 100%;
}
@media (var-in-mobile) {
.account-settings-menu-container {
border-top: 1px solid var(--tkww-union-header-nav-top-level-section-divider-color, varNeutral600);
}
}
@media (var-in-desktop) {
.account-settings-menu-container {
position: absolute;
top: 58px;
visibility: hidden;
width: 205px;
}
.account-settings-menu-container.is-active {
visibility: visible;
}
}
@media (varCustomMediaXlSpecial) {
.account-settings-menu-container {
top: 105px;
}
}
.vendor-cta-text {
color: var(--tkww-union-header-nav-mega-menu-vendor-cta-color, varLinkOnLight);
transition: color 0.25s ease;
}
@media (var-in-desktop) {
.vendor-cta-text {
display: block;
}
}
.vendor-cta-link a:hover {
text-decoration: var(--tkww-union-header-nav-mega-menu-vendor-cta-decoration, none);
}
.vendor-cta-link a:hover .vendor-cta-text {
color: var(--tkww-union-header-nav-mega-menu-vendor-cta-hover-color, varLinkOnLightHover);
text-decoration: var(--tkww-union-header-nav-mega-menu-vendor-cta-hover-decoration, underline);
}
.mega-menu-content.mega-menu-content.mega-menu-content {
width: 100%;
}
@media (var-in-mobile) {
.mega-menu-content.mega-menu-content.mega-menu-content {
overflow-x: hidden;
padding: 0;
}
}
.mega-menu-content.mega-menu-content.mega-menu-content.nav-container {
color: var(--tkww-union-header-nav-top-level-inner-color, varTextDefault);
}
.mega-menu-dropdown {
composes: slide-animation;
}
.mega-menu-dropdown.mega-menu-dropdown {
background-color: var(--tkww-union-header-nav-mega-menu-background-color, varBackgroundLight);
height: 100%;
position: absolute;
visibility: hidden;
width: 100%;
z-index: 20;
}
@media (var-in-desktop) {
.mega-menu-dropdown.mega-menu-dropdown {
box-shadow: 0 18px 18px rgba(31, 31, 31, 0.12);
height: auto;
left: 0;
overflow-x: auto;
right: 0;
top: 119px;
transition: none;
width: 100%;
}
}
.mega-menu-dropdown.mega-menu-dropdown.nav-container {
color: var(--tkww-union-header-nav-top-level-inner-color, varTextDefault);
}
@media (var-in-mobile) {
.back-to-main-menu-container.back-to-main-menu-container {
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-section-divider-color, varNeutral600);
}
}
@media (var-in-mobile) {
.back-to-main-menu-container.back-to-main-menu-container {
margin-left: 20px;
}
}
.back-to-main-menu-button.back-to-main-menu-button {
align-items: center;
color: var(--tkww-union-header-nav-back-button-color, varCtaDarkDefault);
display: flex;
padding: 10px 16px 10px 0;
width: 100%;
}
.back-to-main-menu-button.back-to-main-menu-button:focus {
outline-offset: -3px;
}
@media (var-in-desktop) {
.back-to-main-menu-button.back-to-main-menu-button {
background-color: var(--tkww-union-header-nav-back-button-background-color, varBackgroundLightContrast);
padding: 10px 16px;
position: absolute;
right: 0;
top: -1000px;
width: fit-content;
}
.back-to-main-menu-button.back-to-main-menu-button:focus-visible {
top: 0;
}
}
.back-to-main-menu-button-mobile-content {
align-items: center;
display: flex;
}
.back-to-main-menu-button-text {
margin: 4px;
}
@media (var-in-mobile) {
.list-section-container {
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-section-divider-color, varNeutral600);
}
}
@media (var-in-mobile) {
.list-section-container {
margin-left: 20px;
}
}
@media (var-in-desktop) {
.link-section-list {
padding-top: 12px;
}
}
@media (var-in-mobile) {
.row .link-section-list {
margin-left: 20px;
}
}
.column-gutters {
padding-left: 10px;
padding-right: 10px;
}
.bone-basic {
height: 20px;
margin-top: 20px;
width: 100%;
}
.bone-featured-img-one-by-one {
height: 148px;
width: 100%;
}
.menu-item-interactive-item {
align-items: center;
display: flex;
width: 100%;
}
.menu-item-interactive-item:focus {
outline-offset: -3px;
}
.menu-item-interactive-item:hover {
text-decoration: underline;
}
.menu-item-interactive-subtle {
margin-left: 4px;
}
.menu-item {
display: flex;
flex-direction: column;
width: 100%;
}
@media (var-in-mobile) {
.menu-item:first-child {
border-top: 1px solid var(--tkww-union-header-nav-top-level-divider-color, varNeutral200);
}
}
@media (var-in-mobile) {
.menu-item:not(:last-child) {
border-bottom: 1px solid var(--tkww-union-header-nav-top-level-divider-color, varNeutral200);
}
}
.menu-item .menu-item-interactive-item {
padding: 18px 20px 18px 3px;
}
@media (var-in-desktop) {
.menu-item .menu-item-interactive-item {
padding: 8px 20px 8px 0;
}
}
.sub-menu-item .menu-item-interactive-item {
padding: 12px 20px 12px 3px;
}
@media (var-in-desktop) {
.sub-menu-item .menu-item-interactive-item {
padding: 8px 20px 8px 0;
}
}
.menu-item-left-icon {
flex: 0 0 auto;
margin-right: 8px;
position: relative;
}
.menu-item-right-icon {
flex: 0 0 auto;
margin-left: 8px;
position: relative;
}
@media (var-in-desktop) {
.menu-item-push-self-down-on-desktop {
margin-top: auto;
}
}
@media (var-in-mobile) {
.menu-item-space-accent-on-mobile {
padding-bottom: 12px;
}
}
@media (var-in-desktop) {
.menu-item-space-accent-on-desktop:not(:last-child) {
padding-bottom: 12px;
}
}
.link-column {
display: flex;
flex-direction: column;
}
@media (var-in-desktop) {
.link-column:not(:last-child)::after {
border-right: 1px solid var(--tkww-union-header-nav-mega-menu-divider-color, varBorderDefault);
content: "";
height: calc(100% - 24px);
margin-left: -1px;
/*
12px is top padding on headings plus 4px space from line-height on text
12px here allows horizontal line to be aligned with text
*/
margin-top: 12px;
position: absolute;
right: 0;
top: 0;
transform: translateX(-10px);
}
}
.link-section {
margin-bottom: 28px;
}
@media (var-in-desktop) {
.link-section {
margin-bottom: 24px;
}
}
/* Placeholder mega menu */
.skeleton-megamenu {
display: flex;
flex-direction: column;
margin-bottom: varSpUp1;
width: 100%;
}
@media (varMediaMdLow) {
.skeleton-megamenu {
margin-bottom: varSpUp2;
}
}
@media (varMediaLgLow) {
.skeleton-megamenu {
flex-direction: row;
justify-content: space-between;
}
}
.skeleton-section {
padding: 0 10px;
width: 100%;
}
@media (varMediaMdLow) {
.skeleton-section {
padding: 0;
}
}
@media (varMediaLgLow) {
.skeleton-section {
width: auto;
}
}
.skeleton-section:first-child {
border-bottom: 1px solid varBorderDefault;
}
@media (varMediaMdLow) {
.skeleton-section:first-child {
border-bottom: initial;
}
}
@media (varMediaMdLow) {
.skeleton-section:last-child {
margin-left: 10px;
margin-right: 10px;
}
}
@media (varMediaLgLow) {
.skeleton-section:last-child {
margin-left: 0;
}
}
.skeleton-section-columns {
display: flex;
flex-direction: column;
}
@media (varMediaMdLow) {
.skeleton-section-columns {
flex-direction: row;
}
}
.skeleton-group {
border-top: 1px solid varBorderDefault;
padding: 20px;
}
@media (varMediaMdLow) {
.skeleton-group {
border-right: 1px solid varBorderDefault;
border-top: initial;
margin: 0 0 0 varSpUp1;
padding: 0 varSpUp4 0 0;
}
}
@media (varMediaMdLow) {
.skeleton-group:first-child {
margin: 0 0 varSpUp2 10px;
}
}
@media (varMediaLgLow) {
.skeleton-group:first-child {
margin-bottom: 0;
}
}
.skeleton-group:last-child {
display: none;
}
@media (varMediaMdLow) {
.skeleton-group:last-child {
border-right: initial;
display: block;
}
}
.skeleton-section-grid {
display: grid;
grid-gap: varSpDown1;
grid-template-columns: 1fr 1fr;
margin: 10px varSpUp1 varSpDown1;
}
@media (varMediaMdLow) {
.skeleton-section-grid {
grid-gap: varSpUp1;
grid-template-columns: 144px 144px;
margin: 10px 0 0 0;
}
}
.bone-section-title {
border-radius: 4px;
height: 24px;
margin: varSpUp2 varSpUp1;
width: 189px;
}
@media (varMediaMdLow) {
.bone-section-title {
margin: varSpUp3 10px varSpUp4;
}
}
.bone-title {
border-radius: 4px;
height: 16px;
width: 160px;
}
@media (varMediaMdLow) {
.bone-title {
margin: 0 0 10px;
}
}
.bone-grid-title {
border-radius: 4px;
height: 12px;
margin: varSpUp4 varSpUp1 varSpDown1;
width: 189px;
}
@media (varMediaMdLow) {
.bone-grid-title {
margin: varSpUp3 10px varSpBase 0;
}
}
.bone-base {
border-radius: 4px;
height: 12px;
margin-top: varSpUp4;
width: 110px;
}
@media (varMediaMdLow) {
.bone-base {
margin-top: varSpUp2;
}
}
.bone-image {
border-radius: 4px;
height: 114px;
margin-bottom: varSpDown1;
width: 124px;
}
@media (varMediaMdLow) {
.bone-image {
height: 132px;
width: 144px;
}
}
.bone-image-subtitle {
border-radius: 4px;
height: 12px;
width: 100%;
}
.bone-image-subtitle:last-child {
margin-top: varSpDown2;
width: 80%;
}
.member-is-loading .bone-button {
border-radius: 4px;
height: 37px;
margin-left: 16px;
width: 96px;
}
.member-is-loading .top-level-nav-right-aside-link .hide-link-in-desktop {
visibility: visible;
}
@media (var-in-desktop) {
.member-is-loading .top-level-nav-right-aside-link .hide-link-in-desktop {
visibility: hidden;
}
}
.member-is-loading .sign-up-cta.sign-up-cta,
.member-is-loading .log-in-cta.log-in-cta {
display: none;
}
.member-is-loading .hide-loading-in-mobile {
display: none;
}
@media (var-in-desktop) {
.member-is-loading .hide-loading-in-mobile {
display: block;
}
}
.member-is-loading .hide-loading-in-media-sm-low {
display: none;
}
@media (varMediaSmLow) {
.member-is-loading .hide-loading-in-media-sm-low {
display: block;
}
}
.featured-section-core {
--featured-horizontal-gutters: 12px;
width: calc(var(--featured-unit-width) * var(--featured-columns) + (var(--featured-columns) - 1) * var(--featured-horizontal-gutters));
}
@media (var-in-desktop) {
.featured-section-core {
--featured-horizontal-gutters: 20px;
}
}
.featured-section-row.featured-section-row {
margin-bottom: calc(var(--featured-vertical-gutters) * -1);
margin-left: calc(var(--featured-horizontal-gutters) / 2 * -1);
margin-right: calc(var(--featured-horizontal-gutters) / 2 * -1);
}
.featured-section-unit {
flex: 0 0 calc(var(--featured-unit-width) + var(--featured-horizontal-gutters));
margin-bottom: var(--featured-vertical-gutters);
padding-left: calc(var(--featured-horizontal-gutters) / 2);
padding-right: calc(var(--featured-horizontal-gutters) / 2);
}
.featured-section-size-sm {
--featured-unit-width: 124px;
--featured-vertical-gutters: 20px;
}
@media (var-in-desktop) {
.featured-section-size-sm {
--featured-unit-width: 144px;
--featured-vertical-gutters: 16px;
}
}
.featured-section-size-lg {
--featured-unit-width: 260px;
--featured-vertical-gutters: 20px;
}
@media (var-in-desktop) {
.featured-section-size-lg {
--featured-unit-width: 309px;
}
}
.featured-section-xs-1-columns {
--featured-columns: 1;
}
.featured-section-xs-2-columns {
--featured-columns: 2;
}
@media (varMediaMdLow) {
.featured-section-md-2-columns {
--featured-columns: 2;
}
}
@media (varMediaMdLow) {
.featured-section-md-3-columns {
--featured-columns: 3;
}
}
@media (varMediaMdLow) {
.featured-section-md-4-columns {
--featured-columns: 4;
}
}
@media (varMediaLgLow) {
.featured-section-lg-1-columns {
--featured-columns: 1;
}
}
@media (varMediaLgLow) {
.featured-section-lg-2-columns {
--featured-columns: 2;
}
}
@media (varMediaMdLow) {
.featured-section-right-aligned-md {
margin-left: auto;
}
}
@media (varMediaLgLow) {
.featured-section-right-aligned-lg {
margin-left: auto;
}
}
@media (varMediaXlLow) {
.featured-section-right-aligned-xl {
margin-left: auto;
}
}
.featured-section {
margin-bottom: 112px;
padding-left: 20px;
padding-right: 20px;
}
@media (var-in-desktop) {
.featured-section {
margin-bottom: 0;
padding-bottom: 25px;
padding-left: 0;
padding-right: 0;
padding-top: 25px;
}
}
.featured-section-label {
composes: overline from "~@xo-union/tk-ui-typography/lib/font-scale-categories.css";
font-size: varFontSize100;
margin-bottom: 12px;
text-transform: uppercase;
}
@media (var-in-desktop) {
.featured-section-label {
margin-bottom: 16px;
}
}
.sponsored-featured-section-label {
composes: body2 from "~@xo-union/tk-ui-typography/lib/font-scale-categories.css";
composes: subtle from "~@xo-union/tk-ui-typography/lib/formatted.css";
font-weight: 400;
padding: 0 0 8px 0;
width: 100%;
}
@media (varMediaLgLow) {
.sponsored-featured-section-label {
padding: 26px 0 8px 0;
}
}
.featured-card-link {
display: inline-block;
width: 100%;
}
.featured-card-link img {
border-radius: 8px;
pointer-events: none;
}
.featured-card-copy {
margin-top: 10px;
}
.featured-card-image-loading {
clip: rect(0 0 0 0);
overflow: hidden;
position: absolute;
}
.featured-card-image-subtle-border {
outline: 1px solid var(--tkww-union-header-nav-mega-menu-featured-border-color, varBorderDefault);
}
@media (var-in-desktop) {
.sponsored-featured-section.sponsored-featured-section {
border-top: none;
display: flex;
flex-direction: column;
margin: 0;
padding: initial;
}
}
@media (varMediaLgLow) {
.sponsored-featured-section.sponsored-featured-section {
margin: 0 8px 0 auto;
}
}
@media (varCustomMediaDesktop) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.sub-menu {
-ms-flex: auto;
}
.top-level-nav-items-container {
height: 100%;
}
.overlay.overlay {
position: static;
}
.mega-menu-dropdown.mega-menu-dropdown {
top: 118px;
}
.link-section-list {
height: 100%;
}
}