
header {
    position: relative;
    background: white;
    z-index: 2;

    @media (min-width: 820px) {
        border-bottom: 1px solid #E6DFDA;
    }

    a[name^="dummy"] {
        display: none !important;
    }
}

.main-navigation {
    background: white;
    max-width: 1184px;
    margin: 0px auto;
    display: flex;
    flex-direction: column;

    @media (min-width: 820px) {
        flex-direction: row;
        padding: 0px 16px;
    }

    @media (min-width: 1024px) {
        padding: 0px 32px;
    }

    &:not(:has(.main-navigation-hamburger-menu.hidden)){
        position: fixed;
        inset: 0px;

        @media (min-width: 820px) {
            position: static;
        }
    }
}

.main-navigation-top-bar {
    background-color: #FAF9F8;
    border-bottom: 1px solid #E6DFDA;
}

.main-navigation-top-bar__container {
    box-sizing: content-box;
    min-height: auto;
    max-width: 1184px;
    margin: 0px auto;
    padding: 0px 16px;
    display: flex;
    align-items: center;
    -moz-box-align: center;

    @media (min-width: 1024px) {
        padding: 0px 32px;
    }

    ul {
        box-sizing: content-box;
        margin: 0px;
        padding: 0px;
        display: flex;
        align-items: center;
        -moz-box-align: center;
        gap: 24px;

        li {
            padding: 0px;
            position: static;

            &::before {
                display: none;
            }

            a {
                box-sizing: border-box;
                min-height: 48px;
                display: inline-flex;
                align-items: center;
                -moz-box-align: center;
                color: #6D6D6D;
                font-weight: 500;
                font-size: 14px;
                text-decoration: none;

                &.active {
                    color: #404040;
                    border-bottom: 2px solid #6D6D6D;
                    border-top: 2px solid transparent;
                }

                &:hover {
                    color: #1A1A1A;
                    border-bottom: 2px solid #404040;
                    border-top: 2px solid transparent;
                }
            }
        }
    }
}

.main-navigation-bar {
    display: flex;
    padding: 8px 12px 8px 16px;
    border-bottom: 1px solid #E6DFDA;

    @media (min-width: 820px) {
        border-bottom: 0px;
        padding: 0px;
        flex-grow: 1;
        -moz-box-flex: 1;
        min-height: 86px;
    }
}

.main-navigation-bar__logo {
    flex-grow: 1;
    -moz-box-flex: 1;

    display: flex;
    align-items: center;
    -moz-box-align: center;

    @media (min-width: 820px) {
        flex-grow: 0;
        -moz-box-flex: 0;
    }

    a, .header-logo__no-link {
        display: inline-block;
        height: 32px;

        @media (min-width: 820px) {
            height: 48px;
        }

        img {
            display: inline-block;
            vertical-align: bottom;
            width: 100%;
            height: 100%;
        }
    }
}

.main-navigation-bar__navigation, .main-menu-mobile__site-navigation {
    ul {
        margin: 0px;

        li {
            padding: 0px;
            position: static;

            &::before {
                display: none;
            }

            & > :is(a, button), & > div[data-wm-contentitem] > :is(a, button), & > div[data-wm-contentitem] > div[data-wm-elementid] > :is(a, button) {
                box-sizing: border-box;
                min-width: 0px;
                padding: 0px;
                font-weight: 500;
                line-height: 1.5;
                text-decoration: none;
                background-color: transparent;
                color:#404040;

                span.icon {
                    display: inline-block;
                }
            }
        }
    }
}

.main-navigation-bar__navigation {
    ul {
        box-sizing: border-box;
        padding: 0px 15px 0px 41px;
        display: inline-flex;
        align-items: center;
        -moz-box-align: center;
        gap: 24px;

        li > :is(a, button), li > div[data-wm-contentitem] > :is(a, button), li > div[data-wm-contentitem] > div[data-wm-elementid] > :is(a, button)  {
            min-height: 85px;
            margin-bottom: -1px;
            display: flex;
            align-items: center;
            -moz-box-align: center;
            gap: 4px;

            &.active {
                border-bottom: 2px solid #EA650D;
                border-top: 2px solid transparent;
            }

            &:hover {
                color: #1A1A1A;
                border-bottom: 2px solid #6D6D6D;
                border-top: 2px solid transparent;
            }

            span.icon {
                height: 1rem;
                width: 1rem;
                margin-left: 5px;
            }
        }
    }
}

.main-menu-mobile__site-navigation {
    ul {
        padding: 0px 16px;

        li {
            display: flex;
            min-height: 48px;
            -moz-box-align: center;
            align-items: center;

            &::before {
                display: none;
            }

            & > :is(a, button), & > div[data-wm-contentitem] > :is(a, button), & > div[data-wm-contentitem] > div[data-wm-elementid] > :is(a, button) {
                position: relative;
                width: 100%;
                border-radius: 4px;
                display: inline-flex;
                justify-content: space-between;
                -moz-box-pack: justify;
                align-items: center;
                -moz-box-align: center;

                &.active {
                    text-decoration: underline 2px #EA650D;
                    text-underline-offset: 5px;
                }
            }
        }
    }
}

/* Mobile and desktop shared submenu styling */
.main-navigation__submenu {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    z-index: 3;

    .main-navigation__submenu-content {
        display: flex;

        ul {
            padding: 0px;
        }
    }
}

/* Desktop submenu styling */
.main-navigation-bar__navigation {
    .main-navigation__toggler {
        text-decoration: none;
        text-transform: none;
        border-width: 0px 0px 2px;
        font-weight: 500;
        box-sizing: border-box;
        transition: none;
        font-size: 1rem;
        color: #404040;
        background-color: transparent;
        line-height: 1.5;
        padding: 0px;
        min-width: 0px;
        border-radius: 0px;
        display: flex;
        -moz-box-align: center;
        align-items: center;
        gap: 4px;
        cursor: pointer;
        border-bottom: 2px solid transparent;
        border-top: 2px solid transparent;
        margin-bottom: -1px;
    }

    .main-navigation__submenu {
        position: absolute;
        inset: auto;
        margin: 8px 0px 0px -24px;
        padding: 24px;
        border-radius: 4px;
        max-width: calc(100vw - 48px);
        box-sizing: border-box;
    }

    .main-navigation__submenu-content {
        align-items: flex-start;
        gap: 32px;

        ul {
            column-gap: 16px;
            column-count: 1;
            margin: 0px;
            list-style: none;
            display: grid;
            gap: 0px;

            li {
                break-inside: avoid;
                width: 165px;
            }

            a {
                line-height: 1.5;
                display: block;
                width: 100%;
                color: #404040;
                text-decoration: 1px #404040;
                text-underline-offset: 2px;

                &:hover{
                    color: #1A1A1A;
                    text-decoration-line: underline;
                }
            }
        }
    }
}

/* Mobile submenu styling */
.main-menu-mobile__site-navigation {
    .main-navigation__submenu {
        position: fixed;
        top: 0px;
        bottom: 0px;
        left: 0px;
        right: 0px;

        hr.divider {
            height: 0px;
            margin: 0px;
        }

        .main-navigation__submenu-header {
            display: flex;
            justify-content: space-between;
            -moz-box-pack: justify;
            padding: 8px 16px;

            button {
                padding: 0px;
                margin: 0px;
                background-color: transparent;
                color: #404040;
                min-width: 48px;
                min-height: 48px;
                line-height: 1.5;

                &.close {
                    border-radius: 50%;
                }

                .icon {
                    display: inline-block;
                     margin-top: -4px;
                     top: -0.0625rem;
                     position: relative;
                     vertical-align: middle;
                }

                &.back .icon {
                     margin-right: 8px;
                }
            }
        }

        .main-navigation__submenu-content {
            flex-direction: column;
            gap: 8px;
            padding: 8px 16px 32px;

            .main-navigation__submenu-parent {
                display: flex;
                align-items: center;
                -moz-box-align: center;
                height: 48px;

                h2 {
                    font-size: 1rem;
                    line-height: 1.5;
                    width: 100%;
                    color: inherit;
                    margin: 0px;
                }
            }
        }
    }
}

.main-navigation-bar__search, .main-navigation-bar__profile, .main-navigation-bar__hamburger, .main-navigation-auxiliary__search, .main-navigation-auxiliary__profile {
    display: inline-flex;
    -moz-box-align: center;
    align-items: center;
    -moz-box-pack: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0px;
    margin: 0px;
    margin-bottom: -1px;
    height: 48px;

    @media (min-width: 820px) {
        height: 85px;
    }

    &.active {
        color: #404040;
        border-bottom: 2px solid #6D6D6D;
        border-top: 2px solid transparent;
    }

    &:hover {
        color: #1A1A1A;
        border-bottom: 2px solid #404040;
        border-top: 2px solid transparent;
    }

    a, button {
        display: inline-flex;
        -moz-box-align: center;
        align-items: center;
        -moz-box-pack: center;
        justify-content: center;
        padding: 0px;
        margin: 0px;
        background-color: transparent;
        border-radius: 50%;
        height: 48px;
        text-decoration: none;
        color: #404040;

        .icon {
            width: 48px;
        }
    }
}

.main-navigation-auxiliary__profile :is(a, button) {
    @media (min-width: 1024px) {
        height: 100%;
        border-radius: 0;
    }

    .label {
        display: none;
        padding-right: 12px;
        line-height: 1.5;
        font-size: 1rem;
        font-weight: 500;

        @media (min-width: 1024px) {
            display: flex;
            align-items: center;
        }

        .icon {
            display: inline-block;
            height: 1.5rem;
            width: 1rem;
            margin-left: 5px;
        }
    }
}

.opened button.profile.open {
    display: none;

    @media (min-width: 1024px) {
        display: inline-flex;

        .label span.icon {
            transform: rotate(180deg);
        }
    }
}

button.profile.close {
    display: none;
}

.opened button.profile.close {
    display: inline-flex;

    @media (min-width: 1024px) {
        display: none;
    }
}

.main-navigation-auxiliary {
    display: flex;
}

.main-navigation-hamburger-menu {
    flex-grow: 1;
    -moz-box-flex: 1;
    overflow: auto;
    background-color: white;

    @media (min-width: 820px) {
        display: none !important;
    }
}

.main-menu-mobile__domain-navigation {
    margin-bottom: 8px;

    .main-menu-mobile__domain-navigation-container {
        padding: 0px 16px;
        background-color: #FAF9F8;
        border-bottom: 1px solid #F3EFED;

        .main-menu-mobile__domain-navigation-current button {
            width: 100%;
            min-height: 40px;
            padding: 0px;
            display: flex;
            align-items: center;
            -moz-box-align: center;
            justify-content: space-between;
            -moz-box-pack: justify;
            font-size: 14px;
            font-weight: bold;
            color: #6D6D6D;
            background: none;
            box-shadow: none;
            border: medium;
            cursor: pointer;

            span.icon {
              height: 1rem;
              width: 1 rem;
              margin-left: 5px;
              transition: transform 250ms;
            }

            &.open {
                color: #404040;

                span.icon {
                    transform: rotate(180deg);
                }
            }
        }

        ul {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin: 4px 0px 16px;
            padding: 0px;

            li {
                padding: 0px;
                position: static;

                &::before {
                    display: none;
                }

                a {
                    padding: 0px;
                    line-height: 1.5;
                    background: none;
                    border: 0px;
                    color: #404040;
                    font-size: 1rem;
                    font-weight: 400;
                    text-decoration: underline 1px #404040;
                    text-underline-offset: 2px;
                    cursor: pointer;
                }
            }
        }
    }
}

.main-user-menu {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-width: medium 1px 1px;
    border-style: none solid solid;
    border-color: currentcolor #F3EFED;
    border-image: none;
    width: auto;
    height: auto;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 100%;
    margin: 1px 0px 0px;
    padding: 15px;
    background-color: #FFFFFF;

    @media (min-width: 820px) {
        left: auto;
        padding: 15px 25px;
    }

    @media (min-width: 1248px) {
        right: calc((100% - 1248px)/2);
    }

    ul {
        list-style-type: none;
        padding: 0px;
        margin: 0px;
        display: flex;
        flex-direction: column;
        gap: 8px;

        li {
            padding: 0px;
            position: static;

            &::before {
                display: none;
            }

            a {
                cursor: pointer;
                line-height: 1.5;
                background: none;
                border: 0px;
                padding: 0px;
                border-radius: 0px;
                color: #1A1A1A;
                text-decoration: 1px #1A1A1A;
                text-underline-offset: 2px;
                font-weight: 400;
                display: flex;
                -moz-box-align: center;
                align-items: center;
                height: 48px;

                @media (min-width: 820px) {
                    height: 32px;
                }
            }
        }
    }

    .divider {
        margin-top: 16px;
        margin-bottom: 8px;

        hr {
            border-width: 1px 0px 0px;
            border-style: solid;
            border-color: #E6DFDA;
            margin: 0px;
            height: 0px;
            box-sizing: content-box;
        }
    }

    a.logout {
        cursor: pointer;
        position: relative;
        border-radius: 4px;
        font-weight: 500;
        box-sizing: border-box;
        border-width: 0px;
        box-shadow: none;
        text-decoration: none;
        margin: 0px;
        display: inline-block;
        -moz-box-align: center;
        align-items: center;
        -moz-box-pack: center;
        place-content: center;
        width: auto;
        font-size: 1rem;
        color: #404040;
        background-color: transparent;
        min-height: 48px;
        line-height: 1.5;
        padding: 0px;
        min-width: 0px;

        span.icon {
            display: inline-block;
            line-height: 0;
            vertical-align: middle;
            position: relative;
            top: -0.0625em;
            margin-top: -4px;
            margin-right: 8px;
        }
    }
}

.main-search {
    position: absolute;
    width: 100%;
    margin-top: 1px;
    background: white;

    .main-search__input-wrapper {
      padding: 15px;
      max-width: 640px;
      margin: 0px auto;

      @media (min-width: 820px) {
          padding: 32px;
      }
    }

    label {
        cursor: pointer;
        font-weight: 500;
    }

    .text-field--search {
        margin-top: 4px;

        button.search-field-button-icon {
            top: unset;
            right: 0px;
            height: 48px;
            width: 48px;
            padding: 12px;
            border-radius: 50%;
        }
    }

    .text-field-autosuggest-container ul li, .text-field-autosuggest-container ul li:first-child {
        padding: 9px !important;
        border-radius: 4px;
    }
}

.text-field-autosuggest-container--active ul {
    display: block;
}

span.icon {
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    flex-shrink: 0;
}

#gray-out-overlay {
    transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1);
    opacity: .7;
    visibility: visible;
    background-color: black;
    z-index: 1;
    position: fixed;
    inset: 0px;

    &.transparent {
        opacity: 0;
        visibility: hidden;
    }
}

.auto-complete {
    z-index: auto;
}