
/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Nav Menu Essentials */

nav {
  background: #fff;
  padding: 5px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  position: sticky;
  top: 0;
  z-index: 10;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 25px;
}

nav a {
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
}

nav a:hover {
  color: var(--primary);
}


.nav-menu, .nav-menu * {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-menu ul {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  z-index: 99;
}

.nav-menu li {
  position: relative;
  white-space: nowrap;
}

.nav-menu > li {
  float: left;
}

.nav-menu li:hover > ul,
.nav-menu li.sfHover > ul {
  display: block;
}

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

.nav-menu ul li {
  min-width: 180px;
}

/* Nav Menu Arrows */
.sf-arrows .sf-with-ul {
  padding-right: 22px;
}

.sf-arrows .sf-with-ul:after {
  content: "\f107";
  position: absolute;
  right: 8px;
  margin-top: 1px;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
}

.sf-arrows ul .sf-with-ul:after {
  content: "\f105";
}

/* Nav Meu Container */
#nav-menu-container {
  float: right;
  margin: 0 0 0 0;
}



@media (max-width: 720px) 
{
    .mobile #nav-menu-container
    {
      position: fixed;
      top: 0;
      padding-top: 18px;
      bottom: 0;
      z-index: 998;
      background: rgba(52, 59, 64, 0.9);
      left: -260px;
      width: 260px;
      overflow-y: auto;
      transition: 0.4s;    
    }



.mobile #nav-menu-container ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.mobile #nav-menu-container ul li {
  position: relative;
}

.mobile #nav-menu-container ul li a {
  color: #fff;
  font-size: 14px;
  overflow: hidden;
  padding: 6px 22px 6px 15px;
  position: relative;
  text-decoration: none;
  width: 100%;
  display: block;
  outline: none;
  letter-spacing: 0;
}

.mobile #nav-menu-container ul li a:hover {
  color: #fff;
}

.mobile #nav-menu-container ul li li {
  padding-left: 30px;
}

.mobile #nav-menu-container ul .menu-has-children i {
  position: absolute;
  right: 0;
  z-index: 99;
  padding: 15px;
  cursor: pointer;
  color: #fff;
}

.mobile #nav-menu-container ul .menu-has-children i.fa-chevron-up {
  color: #71c55d;
}

.mobile #nav-menu-container ul .menu-item-active {
  color: #71c55d;
}

#mobile-body-overly {
  width: 100%;
  height: 100%;
  z-index: 997;
  top: 0;
  left: 0;
  position: fixed;
  background: rgba(52, 59, 64, 0.9);
  display: none;
}

}

/* Nav Meu Styling */
.nav-menu a {
  padding: 8px 8px;
  text-decoration: none;
  display: inline-block;
  color: #555;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 14px;
  outline: none;
  letter-spacing: 0;
  transition: 0.3s;
}

.nav-menu li:hover > a, .nav-menu > .menu-active > a {
  color: #71c55d;
}

.nav-menu > li {
  margin-left: 10px;
}

.nav-menu ul {
  margin: 0;
  padding: 0px;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  background: #fff;
}

.nav-menu ul li {
  transition: 0.3s;
}

.nav-menu ul li a {
  padding: 5px 10px;
  color: #333;
  transition: 0.3s;
  display: block;
  font-size: 14px;
  text-transform: none;
}

.nav-menu ul li:hover > a {
  color: #71c55d;
}

.nav-menu ul ul {
  margin: 0;
}

/* Mobile Nav Toggle */
#mobile-nav-toggle {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
  margin: 4px 20px 0 0;
  border: 0;
  background: none;
  font-size: 24px;
  display: none;
  transition: all 0.4s;
  outline: none;
  cursor: pointer;
}

#mobile-nav-toggle i {
  color: #555;
  font-size: 24px;
}

@media (max-width: 1024px) {
  #mobile-nav-toggle {
    display: inline;
  }
}


.mobile .button:hover
{
    color:black;
}

/* Mobile Nav body classes */
body.mobile-nav-active {
  overflow: hidden;
}

body.mobile-nav-active #mobile-nav {
  left: 0;
}

body.mobile-nav-active #mobile-nav-toggle i {
  color: #fff;
}

div.sitemap
{
/*
    top: 0px;
    right: 0px;
    z-index: 1000;*/
}

#mobile_menu_close, #mobile_menu_open
{
    background-color: transparent;
    border: 0px;
    z-index: 1000;
    position: absolute;
    right: 20px;
    top: 0;
}

#mobile_menu_open
{
    margin-top: -10px;
}

#mobile_menu_open, #mobile_menu_close
{
    font-size:18px;
}



ul.menu_tabpane > li.menu.selected > a
{
    background-color: #555555;
    color: #FFFFFF;
}

ul.menu_tabpane > li.menu > a.add
{
    text-indent: 20px;
}

ul.menu_tabpane > li.menu.selected > a.edit_page
{
    text-indent: 20px;
}

#site_map.desktop_menu ul.links
{
    position:absolute;
}

#site_map.mobile_menu ul.links
{
    position:relative;
}

.sitemap a
{
	height:100%;
}

.link
{
	opacity: 0.7;
}

.link:hover
{
	opacity: 1.0
}


ul.links
{
    list-style-type: none;
}

ul.links>li
{
    /*padding-left:10px;*/
    width:inherit;
}

#site_map button
{
    border: 0px solid white;
    background-color:transparent;
    color: #8B764B;
}

ul.level_1
{
    z-index:1000;
}

ul.level_2
{
    z-index:1001;
}

#site_map.desktop_menu ul
{
    border:1px solid #FFF;
}

ul.level_3
{
    z-index:1002;
}

ul.level_4
{
    z-index:1003;
}

ul.level_5
{
    z-index:1004;
}

ul.level_6
{
    z-index:1004;
}


ul.level_2 li, ul.level_3 li, ul.level_4 li, ul.level_5 li, ul.level_6 li
{
    width:auto;
}


#site_map.mobile_menu
{
	padding-top:40px;
	z-index:900;
}

#site_map.mobile_menu ul
{
	z-index:900;
    max-height: 400px;
    overflow-y: scroll;
}

#site_map.mobile_menu ul#site_map_content
{
    display:block;
    border:2px solid blue;
	-khtml-border-radius: 10px;
    padding-left:15px;
    padding-right:15px;
    margin-right:0px;
    width:100%;
    background-color:#3f51b5;
}

#site_map.mobile_menu ul#site_map_content li label:hover, #site_map.mobile_menu ul#site_map_content li a:hover
{
    background-color:white;
    color:black;
}

#site_map.mobile_menu .mx-
{
    color:white;
}


#site_map.mobile_menu ul.level_1 > li
{
	display:block;
	cursor:pointer;
    text-align:left;
    padding-top:4px;
    padding-bottom:4px;
    padding-left: 0.2em;
    padding-right: 1.25em;
    background-color: #3f51b5;
}

#site_map.mobile_menu ul > li
{
	height: auto;
}

#site_map.desktop_menu ul#site_map_content
{
    float:right;
    border:2px solid white;
    -moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px; /* future proofing */
	-khtml-border-radius: 10px;
    padding-left:15px;
    padding-right:15px;
    margin-top:4px;
}

#site_map.desktop_menu ul.level_1 > li
{
    display:inline-block;
    float:left;
    cursor:pointer;
    text-align:left;
    height:1.5em;
    /*
    padding-left: 0.2em;
    padding-right: 1.25em;
    */
}

#site_map.desktop_menu ul.level_1 > li:not(:last-child)
{
    border-right: 2px solid white;
}

#site_map.desktop_menu ul  li
{
    display:none;
    color: #555555;
    text-decoration: none;
    min-width: 100px;
    font-family: Times New Roman, Helvetica, Arial;
    font-size: 18px;
    font-style: italic;
    font-weight: bold;
    line-height: 1.5em;
    /*padding-left: 10px;*/
    overflow:visible;
    position:relative;
}

ul  li a
{
    width:100%;
}

#site_map.desktop_menu ul.level_1 
{
    background: transparent;
}

#site_map.desktop_menu ul
{
    background:#AAAAAA;
    border-bottom-right-radius:5px;
    border-bottom-left-radius:5px;
    /*padding-left:15px;*/
    display:block;
    /*padding-right:1.5em;*/
}

#site_map.desktop_menu ul  li>a>i.fa-chevron-left, #site_map.desktop_menu ul  li>a>i.fa-chevron-down,
#site_map.desktop_menu ul  li>label>i.fa-chevron-left, #site_map.desktop_menu ul  li>label>i.fa-chevron-down
{
    ;
} 

#site_map.desktop_menu ul  li>a, #site_map.desktop_menu ul  li>label
{
    
    padding-left:10px;
    padding-right:20px;
    width:100%;
    display:block;
    text-decoration: none;
    color:white;
    margin-top: 0px;
    padding-top: 0px;
    line-height: 24px;
    margin-bottom: 0px;
    padding-bottom: 0px;
    white-space: nowrap;
}

#site_map.desktop_menu ul  li>a:hover, #site_map.desktop_menu ul  li>label:hover
{
    background: #41952d;
    color: white;
}

.sitemap_menu.mx-:hover 
{
    border-radius:0px;
}

#site_map.desktop_menu ul.level_1>li>a, 
#site_map.desktop_menu ul.level_1>li>label
{
    background:white;
    color:gray;
    border-top:2px solid white;
}




#site_map.desktop_menu li.active ul>li
{
    background: #AAAAAA;
}

#site_map.mobile_menu li.active ul>li
{
    background: transparent;
    border-left: 1px solid white;
    border-right: 1px solid white;
    border-top: 1px solid white;
}

#site_map.desktop_menu ul  li.active > ul
{
    display:block;
    overflow: visible;
    max-height: 250px;
}

#site_map.desktop_menu ul  li.active > ul > li
{
    display:block;
    overflow:visible;
    text-align:left;
}


.has_child .fa-chevron-right, .has_child .fa-chevron-down
{
    /*float: right;
    padding-top: 0.5em;*/
    margin-right:-1.0em;
}

.sitemap_menu
{
    color: #EEEEEE;
    text-decoration: none;
    /*width: 140px;*/
    font-family: Arial;
    font-size: 14px;
    font-style: normal;
	font-weight: normal;
	line-height: 2.0em;
	display:block;
    padding-left:10px;
}

ul li>a 
{
    white-space:nowrap;
}

ul#site_map_content
{
    display: inline-block;
    position: fixed;
    right: 0;
    margin-top: 0px;
}

/* Sitemap menu */
#site_map
{
    z-index: 1000;
    display: block;
    height: 2.3em;
}

body.mobile .header a
{
	font-size:14px;
}

body.mobile #header
{
	z-index:950;
}

#site_map_content  li>a:hover>i.fa.main_icon:first-child, #site_map_content  li>label:hover>i.fa.main_icon:first-child, #site_map_content  li>label:hover>img.main_icon:first-child
{
    transform: scale(1.5);
}

#site_map ul#site_map_content ul>li.admin /*,#site_map ul#site_map_content ul>li.teacher */
{
    display:none;
} 

@media (min-width: 768px) 
{
  #site_map
  {
    width:100%;
    position: relative;

  }
  div.sitemap
  {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 767px) 
{
  div.sitemap
  {
    width: 100%;
    position: absolute;
    left: 0;
    height: fit-content;

  }
}

