$nav-height: 51px;
$collapse-break-point: 768px;

.navbar-default {
    border: none;
    background-color: $clr-nav-bg;
    z-index: 10000;
    transition: background-color 0.5s linear;
    height: 50px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);

    .navbar-nav {
        transition: background-color 0.5s linear;
    }
    .navbar-nav li {
        position: relative;
        a {
            color: $clr-nav-link;
            background-color: none!important;
            padding: 15px 20px;
            transition: 0.5s background-color;
            font-size: 14px;

            &:before {
                content: '';
                position: absolute;
                left: 50%;
                right: 50%;
                top: 0;
                background: $clr-nav-link;
                height: 3px;
                transition-property: 'left, right';
                transition-duration: .3s;
                transition-timing-function: ease-out;
            }

            &:hover, &:focus {
                color: $clr-nav-link;
                background-color: $clr-nav-bg-hover;

                &:before {
                    left: 0;
                    right: 0;
                }
            }

            .iconfont {
                font-size: 12px;
            }

            .new {
                display: inline-block;
                padding: 0 5px;
                background-color: $clr-secondary;
                color: #fff;
                font-size: 10px;
                border-radius: 3px;
                height: 15px;
                // transform: scale(0.8);
                vertical-align: middle;
            }
        }
        &.open {
            background-color: $clr-nav-bg-hover;
            color: #fff;

            &>a {
                &:focus, &:hover {
                    color: $clr-nav-link;
                    background-color: $clr-nav-bg-hover;
                }
            }
        }

        &.active>a {
            padding-top: 11px;
            border-top: 3px solid $clr-nav-link-active;
            color: $clr-nav-link-active;
            background-color: $clr-nav-bg;
            transition: 0.5s background-color;

            &:before {
                display: none;
            }

            &:hover, &:focus {
                color: $clr-nav-link-active-hover;
                background-color: $clr-nav-bg-hover;
            }
        }

        .dropdown-menu {
            width: 250px;
            padding: 0;
            border: none;

            li {
                background-color: $clr-nav-bg;

                a {
                    padding: 13px 20px;
                }

                &:hover, &:focus {
                    a {
                        color: $clr-nav-link-hover;
                        background-color: $clr-nav-bg-hover;
                    }
                    background-color: $clr-nav-bg-hover;
                }
                border-top: none;
            }
        }

        ul {
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            border-radius: 0 0 10px 10px;
            overflow: hidden;

            a:before {
                display: none;
            }
        }
    }
    .navbar-logo {
        height: 32px;
        margin-top: -6px;
        margin-left: -2px;
    }

    #navbar-collapse {
        border-top: none;
        background: $clr-nav-bg;
        margin-left: -25px;
        margin-right: -15px;
    }

    .navbar-toggle {
        padding: 1px 5px;
        margin: 7px 16px 0 0;
        border-color: $clr-nav-border;
        background-color: $clr-nav-bg;

        .icon-bar {
            margin: 7px 0!important;
            height: 1px;
            background-color: $clr-nav-border;
        }

        &:hover, &:focus {
            border-color: $clr-nav-border;
            background-color: $clr-nav-bg-hover;
        }
    }
}

    .container-fluid {
        padding: 0 25px;
    }


#menu-btn {
    display: none;
    float: right;
    height: 45px;
    line-height: 45px;
    margin: 5px 20px 0 0;
    font-size: 30px;
    color: #fff;
    cursor: pointer;
}

.navbar-bg {
    background-color: $clr-nav-bg;
    transition-duration: 0.3s;
    transition-property: background-color, opacity;

    .navbar-nav {
        li {
            a {
                color: $clr-nav-link;
            }
        }
        li.active {
            a {
                color: $clr-contrast;
                background-color: transparent;
            }
        }
    }
}

#nav-apache {
    margin-left: 10px;
    margin-right: 10px;
    position: relative;
    top: 1px;

    a {
        padding: 10px 15px;

        img {
            height: 30px;
        }
    }
}


#nav-github {
    height: 50px;
    overflow: hidden;

    a {
        padding-top: 13px;
    }
}

.nav-circle {
    height: 50px;
}

.nav-circle-inner {
    width: 22px;
    height: 22px;
    margin: 14px 20px;
    text-align: center;
    overflow: hidden;
    border: 1px solid;
    border-radius: 50%;

    .navbar-default .navbar-nav li & a {
        height: 100%;
        padding: 0;
        font-size: 12px;

        &:hover {
            text-decoration: none;
        }
    }
}

.icon-external-link {
    position: relative;
    top: 2px;
    left: 5px;
    opacity: 0.5;
}

@media (max-width: $collapse-break-point) {
    .navbar-default {
        .navbar-nav {
            transition: background-color 0.5s linear;
            margin-top: 0;
            margin-bottom: 0;

            li.active>a {
                border-left: 3px solid $clr-nav-link;
                border-top: none;
                padding: 10px 15px 10px 11px;
            }
        }
    }
    #menu-btn {
        display: block;
    }
    #nav-download {
        display: none;
    }
    .dropdown-menu {
        width: 100% !important;
    }
}

@media (max-width: 1280px) and (min-width: 1192px) {
    .navbar-default {
        .navbar-nav li a {
            padding: 15px 15px;
        }
    }
}

@media (max-width: 1192px) and (min-width: 900px) {
    .navbar-default {
        .navbar-nav li a {
            padding: 15px 8px;
        }
    }
}

@media (max-width: 900px) and (min-width: $collapse-break-point)  {
    .navbar-default {
        .navbar-nav li a {
            padding: 15px 3px;
            font-size: 12px;
        }
    }
}

@media (max-width: 1065px) {
    #nav-apache {
        display: none;
    }
}

