/*
 * Main Menu
 */
.mainMenu {
    position: relative;

    @media @above_flyout {
        .fadeNav;
        margin-right: -20px;
    }

    li {
        float: left;
        position: relative;

        @media @flyout {
            width: 100%;
            border-bottom: 1px solid #fff;

            &.menu-item-has-children {

                > a {
                    position: relative;

                    &:after {
                        content: '';
                        position: absolute;
                        top: 10px;
                        right: @margin;
                        .fa(f107, #fff);
                        transition: transform 0.3s;
                    }
                }

                &.open {

                    > a {

                        &:after {
                            transform: rotate(-90deg);
                        }
                    }
                }
            }
        }

        a {
            padding: 34px 21px 33px;
            font-family: @primary_font;
            color: #fff;
            display: block;
            text-decoration: none;

            @media @tablet {
                padding: 23.5px 15px;
            }

            @media @flyout {
                padding: (@margin / 2) @margin;
               .rems(16);
            }

            &:focus {
                background: @primary_color;
            }
        }

        &:hover {

            > a {
                background: @primary_color;
            }
        }

        /*
         * Sub Navigation
         */
        @media @above_flyout {

            ul {
                position: absolute;
                left: 0;
                top: 100%;
                background: @dark_color;
                width: 295px;
                padding: 25px 0;
                border-top: 9px solid @primary_color;

                .sub-menu {
                    top: 0;
                    left: 100%;
                }

                li {
                    width: 100%;

                    &:last-child {
                        border-bottom: 0;
                    }

                    a {
                        color: #fff;
                        font-family: @primary_font;
                        .rems(14);
                        font-weight: 400;
                        letter-spacing: 0.88px;
                        line-height: 19px;
                        padding: 5px 25px;
                    }
                }
            }
        }

        @media @flyout {

            ul {
                display: none;

                li {

                    a {
                        padding-left: 20px;
                    }

                    &:last-child {
                        border-bottom: 0;
                    }
                }
            }
        }
    }
}

/*
 * Toggle button within headerWrap
 */
.menuTrigger {
    display: none;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    .rems(14);
    line-height: 1;

    @media @flyout {
        display: inline-block;
    }
}

/*
 * Toggle button inside menu
 */
.flyoutButton {
    display: none;
    padding: @margin;
    color: #fff;
    cursor: pointer;

    @media @flyout {
        display: inline-block;
    }
}

/*
 * Transition for fixed flyout
 */

.footerWrap, .siteInnerWrapper {
    transition: transform @flyout_transition_time ease-in-out;
}

.headerWrap {
    transition: left @flyout_transition_time ease-in-out, right @flyout_transition_time ease-in-out;
}

.fixedFlyout {

    .headerWrap {

        @media @flyout {
            position: fixed;
            width: 100%;
            min-width: 320px;
            top: 0;
        }
    }
}

/*
 * Mobile menu rules
 */
@media @flyout {

    .flyoutWrap {
        position: fixed;
        top: 0;
        width: @flyout_width;
        background: @flyout_background;
        z-index: 20;
        overflow: auto;
        display: none;

        .flyoutInitialised & {
            display: block;
            transition: transform @flyout_transition_time ease-in-out;
        }
    }

    .flyoutRight {

        .flyoutWrap {
            left: 100%;
            bottom: 0;
        }

        .headerWrap {
            right: 0;
        }

        &.flyoutActive {

            .flyoutWrap {
                transform: translateX(-100%);
            }

            &.flyoutMove {

                .siteInnerWrapper, .footerWrap {
                    transform: translateX(-@flyout_width);
                }

                .headerWrap {
                    right: @flyout_width;
                }
            }
        }
    }

    .flyoutLeft {

        .flyoutWrap {
            right: 100%;
            bottom: 0;
        }

        .headerWrap {
            left: 0;
        }

        &.flyoutActive {

            .flyoutWrap {
                transform: translateX(100%);
            }

            &.flyoutMove {

                .siteInnerWrapper, .footerWrap {
                    transform: translateX(@flyout_width);
                }

                .headerWrap {
                    left: @flyout_width;
                }
            }
        }
    }

    .flyoutTop {

        .flyoutWrap {
            width: 100%;
            transform: translateY(-100%);
            left: 0;
            right: 0;
            bottom: 0;
        }

        &.flyoutActive {

            .flyoutWrap {
                transform: translateY(0);
            }
        }
    }
}
