/* menu */

#menu {
    opacity: var(--menu-opacity);
    min-height: 0;
    margin-bottom: 0px;
}

#menu .btn-navbar {
	/*font-size: 15px;*/
	font-stretch: expanded;
    color: var(--menu-color);
	padding: 2px 18px;
	float: right;
    background: transparent;
    border: none;
}
#menu .btn-navbar:hover, 
#menu .btn-navbar:focus, 
#menu .btn-navbar:active {
	color: var(--menu-selcolor);
	background-color: var(--menu-selbackcolor);
}

.list-group a {
	background:transparent;
	border-color: #8FB119;
	color:#fff;

}

.header-navigation-list-item:hover, .navbar button, .navbar-default .navbar-toggle:hover {
    background: transparent
}

#menu .dropdown-inner {
    width:100%;
    padding: 5px 0;
}

#menu .dropdown-inner a {
    padding: 6px 20px;
}

#information-contact .panel {
    background: rgba(255,255,255,0.6);
}

#menu .nav > li {
    display: flex;
    flex-direction: column;
}

#menu .nav > li > a {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	min-height: 15px;
	background-color: transparent;
}

#menu .nav > li > a:hover, 
#menu .nav > li.open > a {
    border-bottom: 2px solid var(--menu-color);    
}

#menu:not(.compact) .nav > li > a:hover, 
#menu:not(.compact) .nav > li.open > a {
    background-color: var(--menu-selbackcolor);
    color: var(--menu-selcolor);    
}

/* sub-menu */
#menu .dropdown-menu {
	padding: 0;
    border-left: var(--menu-submenu-border-left);
    background-color: var(--menu-backcolor);    
    
    backdrop-filter: var(--menu-submenu-filter);
    -webkit-backdrop-filter: var(--menu-submenu-filter);
    background: var(--menu-submenu-background);
    box-shadow: var(--menu-submenu-shadow);
}

#menu .dropdown-inner {
	display: table;
}
#menu .dropdown-inner ul {
	display: table-cell;
}
#menu .dropdown-inner a {
	min-width: 180px;
	padding: 3px 15px;
	clear: both;
	line-height: 20px;
	/*font-size: 0.9em;*/
    color: var(--menu-color);
    /*display: flex;*/
}

#menu .dropdown-submenu > a {
    padding-right: 5px;
}

/*
#menu #category {
	float: left;
	padding-left: 15px;
	font-weight: 700;
	line-height: 40px;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
    color: var(--black-color);
    text-shadow: none;    
}
*/

#menu:not(.compact) {
    background: url("../image/noise2.png") repeat scroll 0% 0% #3a3a3a;
    /*background-image: none;*/
    background-color: var(--menu-backcolor);
    margin-left: -20px;
    margin-right: -20px;    
    padding: 0px;
    box-shadow: none; 
    border-top: 1px solid var(--menu-bordercolor);
    border-bottom: 1px solid var(--menu-bordercolor);
    border-left: 0;
    border-right: 0;
    border-radius: 0px;
    box-shadow: none; /*rgb(0 0 0 / 35%) 0px 5px 15px;*/
}

#menu .nav > li > a {
    text-shadow: none;
    color: var(--menu-color);
    padding: 10px;
    border-top: 2px solid #ffffff00;
    border-bottom: 2px solid  #ffffff00;
}


#menu .see-all {
	display: block;
	padding: 3px 15px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-weight: bold;
    border-top: 1px solid var(--lightgrey-color);
    border-bottom: 1px solid #DDD;
    color: var(--menu-seeall);
    text-decoration: none;
}

#menu .dropdown-inner a:hover, #menu .see-all:hover, #menu .see-all:focus {
    background-color: var(--menu-selbackcolor);
    color: var(--menu-selcolor);
}


#menu:hover, 
#menu .dropdown-menu:hover {
    opacity: 1;
}



.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
    background-color: transparent; 
}

.nav.nav-tabs{
    border-bottom: 1px solid var(--grey-color);
}
.nav.nav-tabs li {
    color:  var(--grey-color);
    border: none;    
}

.nav.nav-tabs li.active {
    color:  var(--black-color);
    border-bottom: 2px solid var(--black-color);
    font-weight: 600;
}

.dropdown-menu > li > a {
    color: var(--menu-color);
    line-height: 1.8em;
    width: 100%;
}

.dropdown-menu li > a:focus {
    text-decoration: none;
}

.dropdown-menu li > a:hover {
    background-color: var(--menu-selbackcolor);
    color: var(--menu-selcolor);
    text-decoration: none;
}
.divider{
    background-color:#fff;
}
.dropdown-submenu{
    position:relative;
}
.dropdown-submenu>.dropdown-menu{
    top: 32px;
    left: calc(100% + 1px);    
    margin-top:-6px;
    margin-left:-1px;
    -webkit-border-radius:0 6px 6px 6px;
    -moz-border-radius:0 6px 6px 6px;
    border-radius:0 6px 6px 6px;
    transition: .3s ease-in-out;
}
.nav.navbar-nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    float:none;
}
.nav li > a > span.caret {
    flex: none;
    margin: 0 5px;
}

.nav li > a {
    align-items: center;
    display: flex;
    gap: var(--menu-gap);
}
.nav li > a > span {
    flex: 1;
}
.dropdown-menu li > a {
    white-space: nowrap;
}

.dropdown-submenu > a {
    white-space: nowrap;
}

.dropdown-submenu.pull-left{
    float:none;
}
.dropdown-submenu.pull-left>.dropdown-menu{
    left:100%;
    margin-left:1-0px;
    -webkit-border-radius:6px 0 6px 6px;
    -moz-border-radius:6px 0 6px 6px;
    border-radius:6px 0 6px 6px;
}
.rev{
    left:auto !important;
    right:100% !important;
    top:8px !important;
    margin-right:-12px !important;
} 


/* Expand caret */
svg.expand {
    margin-left: 5px;
    fill: var(--menu-color);
    float: right; 
    transition: all 0.1s ease-in;
    -webkit-transition: all 0.1s ease-in;
}

li.dropdown.open>a>svg.expand,
.btn-group.open button.dropdown-toggle svg.expand, 
.dropdown-submenu.open>a>svg.expand {
    transform: rotate(180deg);
}

/*li.dropdown:hover>a>svg.expand,
li.dropdown.open>a>svg.expand,*/
button.dropdown-toggle:hover svg.expand,
.btn-group.open button.dropdown-toggle svg.expand,
.dropdown-submenu.open>a>svg.expand,
.dropdown-submenu:hover>a>svg.expand {
    fill: var(--menu-selcolor);
}


.menu-icon {
    width: 20px;
    height: 20px;
    margin: 0 5px 0 0;
}

.navbar-collapse {
    max-width: 100%;
}

/* menu hamburger */
.menu-button.menu-hamburger {
    display: flex;
}
#menu.menu-hamburger:not(.compact) {
    border-bottom: none;
}
#menu.menu-hamburger .menu-background {
    position:fixed;
    top:0;
    left:0;
    width:0;
    opacity:0;
    height: 100%;
    z-index: 10001;
    background-color: #000;
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}
#menu.menu-hamburger .menu-mobile-header {
    display: flex;
}
#menu.menu-hamburger .menu-mobile-header button {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    margin: 10px;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
#menu.menu-hamburger .menu-mobile-header button:hover {
    border: 1px solid #000;
}
#menu.menu-hamburger .menu-mobile-header #logo {
    flex: 1;
}
#menu.menu-hamburger .navbar-nav {
    flex-direction: column;
    margin: auto;
}
#menu.menu-hamburger .navbar-collapse {
    position: fixed;
    background-color: #fff;
    padding: 0;
    left: -100%;
    top: 0;
    z-index: 10002;
    height: 100vh;
    overflow-y: auto;
    transition: left 0.3s ease-in-out;
    -webkit-transition: left 0.3s ease-in-out;
}
#menu.menu-hamburger .navbar-collapse #logo {
    display: block;
}
#menu.menu-hamburger div.dropdown-inner > ul.list-unstyled {
    display: block;
}
#menu.menu-hamburger .dropdown-menu {
    border: 1px solid var(--menu-bordercolor);
    margin-left: 0 !important;
    padding-bottom: 10px;
}
#menu.menu-hamburger .dropdown-inner {
    display: block;
}
#menu.menu-hamburger .dropdown-inner a {
    width: 100%;
}
#menu.menu-hamburger .see-all {
    margin-top: 0;
    border: none;
    border-radius: 0;
}
#menu.menu-hamburger .navbar-nav>li>.dropdown-menu {
    border-radius: 0;
}

@media (max-width: 767px) {
    .menu-button {
        display: flex;
    }
    #menu:not(.compact) {
        border-bottom: none;
    }
    #menu .menu-background {
        position:fixed;
        top:0;
        left:0;
        width:0;
        opacity:0;
        height: 100%;
        z-index: 10001;
        background-color: #000;
        transition: opacity 0.3s ease-in-out;
        -webkit-transition: opacity 0.3s ease-in-out;
    }
    #menu .menu-mobile-header {
        display: flex;
    }
    #menu .menu-mobile-header button {
        width: 36px;
        height: 36px;
        padding: 0;
        border-radius: 50%;
        margin: 10px;
        border: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #menu .menu-mobile-header button:hover {
        border: 1px solid #000;
    }
    #menu .menu-mobile-header #logo {
        flex: 1;
    }
    #menu .navbar-nav {
        flex-direction: column;
        margin: auto;
    }
    #menu .navbar-collapse {
        position: fixed;
        background-color: #fff;
        padding: 0;
        left: -100%;
        top: 0;
        z-index: 10002;
        height: 100vh;
        overflow-y: auto;
        transition: left 0.3s ease-in-out;
        -webkit-transition: left 0.3s ease-in-out;
    }
    #menu .navbar-collapse #logo {
        display: block;
    }
    #menu div.dropdown-inner > ul.list-unstyled {
        display: block;
    }
    #menu .dropdown-menu {
        border: 1px solid var(--menu-bordercolor);
        margin-left: 0 !important;
        padding-bottom: 10px;
    }
    #menu .dropdown-inner {
        display: block;
    }
    #menu .dropdown-inner a {
        width: 100%;
    }
    #menu .see-all {
        margin-top: 0;
        border: none;
        border-radius: 0;
    }
    #menu .navbar-nav>li>.dropdown-menu {
        border-radius: 0;
    }
}

/* menu horizontal if no hamburger and width > 768 px */
@media (min-width: 768px) {
    .menu-button:not(.menu-hamburger) {
        display: none;
    }
    #menu:not(.menu-hamburger) .menu-background {
        display:none;
    }
    #menu:not(.menu-hamburger) .navbar-collapse {
        text-align: center;
        height: auto;
        width: 100%;
        display: block;
    }
    #menu:not(.menu-hamburger) .menu-mobile-header {
        display: none;
    }
    #menu:not(.menu-hamburger) .navbar-nav {
        flex-direction: row;
        vertical-align:top;
    }
}

/* Text glow blink effect - reusable class */
:root {
    --text-glow-blink-color: #ffff40;
    --text-glow-blink-interval-init: 1s;
    --text-glow-blink-interval-min: 5s;
    --text-glow-blink-interval-max: 15s;
}

/* Animation controlled by JavaScript via .text-glow-blink-active class */
.text-glow-blink.text-glow-blink-active,
.text-glow-blink.text-glow-blink-active a span,
.text-glow-blink.text-glow-blink-active span {
    animation: text-glow-blink 3s ease-in-out;
}

/* Apply glow effect to images and SVGs within text-glow-blink elements */
.text-glow-blink.text-glow-blink-active img,
.text-glow-blink.text-glow-blink-active svg,
.text-glow-blink.text-glow-blink-active svg * {
    animation: image-glow-blink 3s ease-in-out;
}

@keyframes text-glow-blink {
    0% {
        text-shadow: 0 0 0 var(--text-glow-blink-color);
    }
    10% {
        text-shadow: 0 0 10px var(--text-glow-blink-color), 
                     0 0 20px var(--text-glow-blink-color),
                     0 0 30px var(--text-glow-blink-color);
    }
    20% {
        text-shadow: 0 0 0 var(--text-glow-blink-color);
    }
    30% {
        text-shadow: 0 0 10px var(--text-glow-blink-color), 
                     0 0 20px var(--text-glow-blink-color),
                     0 0 30px var(--text-glow-blink-color);
    }
    40% {
        text-shadow: 0 0 0 var(--text-glow-blink-color);
    }
    50% {
        text-shadow: 0 0 10px var(--text-glow-blink-color), 
                     0 0 20px var(--text-glow-blink-color),
                     0 0 30px var(--text-glow-blink-color);
    }
    60% {
        text-shadow: 0 0 0 var(--text-glow-blink-color);
    }
    70% {
        text-shadow: 0 0 10px var(--text-glow-blink-color), 
                     0 0 20px var(--text-glow-blink-color),
                     0 0 30px var(--text-glow-blink-color);
    }
    80% {
        text-shadow: 0 0 0 var(--text-glow-blink-color);
    }
    90% {
        text-shadow: 0 0 5px var(--text-glow-blink-color), 
                     0 0 10px var(--text-glow-blink-color);
    }
    100% {
        text-shadow: 0 0 0 var(--text-glow-blink-color);
    }
}

@keyframes image-glow-blink {
    0% {
        filter: drop-shadow(0 0 0 var(--text-glow-blink-color));
    }
    10% {
        filter: drop-shadow(0 0 10px var(--text-glow-blink-color)) 
                drop-shadow(0 0 20px var(--text-glow-blink-color))
                drop-shadow(0 0 30px var(--text-glow-blink-color));
    }
    20% {
        filter: drop-shadow(0 0 0 var(--text-glow-blink-color));
    }
    30% {
        filter: drop-shadow(0 0 10px var(--text-glow-blink-color)) 
                drop-shadow(0 0 20px var(--text-glow-blink-color))
                drop-shadow(0 0 30px var(--text-glow-blink-color));
    }
    40% {
        filter: drop-shadow(0 0 0 var(--text-glow-blink-color));
    }
    50% {
        filter: drop-shadow(0 0 10px var(--text-glow-blink-color)) 
                drop-shadow(0 0 20px var(--text-glow-blink-color))
                drop-shadow(0 0 30px var(--text-glow-blink-color));
    }
    60% {
        filter: drop-shadow(0 0 0 var(--text-glow-blink-color));
    }
    70% {
        filter: drop-shadow(0 0 10px var(--text-glow-blink-color)) 
                drop-shadow(0 0 20px var(--text-glow-blink-color))
                drop-shadow(0 0 30px var(--text-glow-blink-color));
    }
    80% {
        filter: drop-shadow(0 0 0 var(--text-glow-blink-color));
    }
    90% {
        filter: drop-shadow(0 0 5px var(--text-glow-blink-color)) 
                drop-shadow(0 0 10px var(--text-glow-blink-color));
    }
    100% {
        filter: drop-shadow(0 0 0 var(--text-glow-blink-color));
    }
}

/* Background blink effect - reusable class */
:root {
    --background-blink-color: #fff;
    --background-blink-front-color: #000;
    --background-blink-fill-color: #000;
    --background-blink-base-front-color: inherit;
    --background-blink-base-fill-color: currentColor;
    --background-blink-interval-init: 1s;
    --background-blink-interval-min: 5s;
    --background-blink-interval-max: 15s;
}

/* Animation controlled by JavaScript via .background-blink-active class */
.background-blink.background-blink-active {
    animation: background-blink 3s ease-in-out;
}

@keyframes background-blink {
    0% {
        background-color: transparent;
        color: var(--background-blink-base-front-color);
    }
    10% {
        background-color: var(--background-blink-color);
        color: var(--background-blink-front-color);
    }
    20% {
        background-color: transparent;
        color: var(--background-blink-base-front-color);
    }
    30% {
        background-color: var(--background-blink-color);
        color: var(--background-blink-front-color);
    }
    40% {
        background-color: transparent;
        color: var(--background-blink-base-front-color);
    }
    50% {
        background-color: var(--background-blink-color);
        color: var(--background-blink-front-color);
    }
    60% {
        background-color: transparent;
        color: var(--background-blink-base-front-color);
    }
    70% {
        background-color: var(--background-blink-color);
        color: var(--background-blink-front-color);
    }
    80% {
        background-color: transparent;
        color: var(--background-blink-base-front-color);
    }
    90% {
        background-color: var(--background-blink-color);
        color: var(--background-blink-front-color);
    }
    100% {
        background-color: transparent;
        color: var(--background-blink-base-front-color);
    }
}

/* Apply fill color to SVG elements during blink */
.background-blink.background-blink-active svg,
.background-blink.background-blink-active svg * {
    transition: fill 0.3s ease-in-out;
}

@keyframes background-blink-fill {
    0% {
        fill: var(--background-blink-base-fill-color);
    }
    10% {
        fill: var(--background-blink-fill-color);
    }
    20% {
        fill: var(--background-blink-base-fill-color);
    }
    30% {
        fill: var(--background-blink-fill-color);
    }
    40% {
        fill: var(--background-blink-base-fill-color);
    }
    50% {
        fill: var(--background-blink-fill-color);
    }
    60% {
        fill: var(--background-blink-base-fill-color);
    }
    70% {
        fill: var(--background-blink-fill-color);
    }
    80% {
        fill: var(--background-blink-base-fill-color);
    }
    90% {
        fill: var(--background-blink-fill-color);
    }
    100% {
        fill: var(--background-blink-base-fill-color);
    }
}

.background-blink.background-blink-active svg,
.background-blink.background-blink-active svg * {
    animation: background-blink-fill 3s ease-in-out;
}
