lightspeeddevelopment/lsx-customizer

View on GitHub
assets/css/scss/global/mixins/_nav.scss

Summary

Maintainability
Test Coverage
@mixin nav-colours (
    $bg: map-get($nav, bg),
    $link: map-get($nav, link),
    $hover: map-get($nav, hover),
    $dropdown: map-get($nav, dropdown),
    $dropdown-hover: map-get($nav, dropdown-hover),
    $dropdown-link: map-get($nav, dropdown-link),
    $dropdown-link-hover: map-get($nav, dropdown-link-hover)) {

    @media (max-width: 1199px) {
        #masthead {
            .wrapper-toggle {
                background-color: $dropdown;

                .mobile-menu-title { color: $dropdown-link; }

                .navbar-toggle {
                    background-color: $dropdown;

                    & > .icon-bar { background-color: $dropdown-link; }
                }
            }
            .mobile-header-hamburger & {
                .wrapper-toggle {
                    background-color: $bg;
                    width: auto;
                    margin: 0;
                    flex-basis: 25%;
                    justify-content: flex-end;
                    .navbar-toggle {
                        background-color: $bg;
                        & > .icon-bar {
                            background-color: $link;
                            transform: rotate(0deg);
                            transition: .2s ease-in-out;
                            cursor: pointer;
                        }
                    }
                    &.open {
                        .navbar-toggle {
                            & > .icon-bar {
                                &.icon-bar-1 {
                                    top: 18px;
                                    width: 0%;
                                    left: 50%;
                                }
                                &.icon-bar-2 {
                                    transform: rotate(45deg);
                                }
                                &.icon-bar-3 {
                                    transform: rotate(-45deg);
                                    position: absolute;
                                    bottom: 10px;
                                }
                            }
                        }
                    }
                }
            }

            .primary-navbar {
                background-color: $dropdown;

                .menu-item {
                    &.active > a,
                    & > a {
                        background-color: $dropdown;
                        color: $dropdown-link;
                    }
                }

                .dropdown-menu {
                    & > .menu-item a { color: $dropdown-link; }

                    .dropdown-menu {
                        & > .menu-item a { color: $dropdown-link; }
                    }
                }
            }
        }
    }

    @media (min-width: 1200px) {
        #masthead {
            .primary-navbar {
                & > .nav {
                    background-color: $bg;

                    & > .menu-item {
                        &:hover,
                        &.active:hover {
                            & > a {
                                background-color: $dropdown;
                                color: $hover;
                            }
                        }

                        & > a,
                        &.active > a {
                            background-color: transparent;
                            color: $link;
                        }
                    }

                    .dropdown-menu {
                        background-color: $dropdown;

                        & > .menu-item {
                            color: $dropdown-link;

                            &:hover,
                            &:active:hover,
                            &:focus {
                                background-color: $dropdown-hover;
                                color: $dropdown-link-hover;
                            }
                        }

                        .dropdown-menu {
                            .menu-item { background-color: $dropdown-hover; }
                        }
                    }
                }
            }
        }
    }

    // WooCommerce

    .lsx-wc-cart-dropdown {
        color: $dropdown-link;

        a:not(.button) {
            &,
            &:active,
            &:visited {
                color: $dropdown-link;
            }

            &:hover,
            &:hover:active,
            &:focus {
                color: $hover;
            }
        }
    }

    .lsx-wc-cart-menu-item {
        .widget_shopping_cart {
            .product_list_widget {
                li {
                    border-bottom: 1px solid $dropdown-link;
                }
            }
        }
    }

    .lsx-wc-footer-bar { background-color: $dropdown; }

    .lsx-wc-footer-bar-item { border-right-color: $dropdown-link; }

    .lsx-wc-footer-bar-link {
        color: $dropdown-link;

        &:hover,
        &:active:hover,
        &:focus {
            color: $dropdown-link;
        }
    }

    .lsx-wc-footer-bar-search-on {
        .lsx-wc-footer-bar-form,
        .lsx-wc-footer-bar-link-toogle { background-color: $dropdown-hover; }
    }

    .lsx-wc-footer-bar-count {
        background-color: $dropdown-link;
        border-color: $dropdown;
        color: $dropdown;
    }
}