/*@import "font-awesome.css";*/
.menu-top .navbar-brand img.logo1 {
    width: 250px;
}
.nav ul{
    opacity: 0.96;
}	
.nav{
	margin:20px 0 5px 0;
}

.nav > li.active > a {
  color: #007aff !important;
}

.nav > li > a:after {
    z-index: 3;
    width: 0;
    content: "";
    position: absolute;
    height: 2px;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.4s;
    border-radius: 2px;
	background: #007bff;
}
.nav > li:hover > a {
  color: #007aff !important;
  /*border-bottom: #007bff solid 2px;*/
  transition: color 0.5s linear, border-color 0.9s linear;
}
.nav > li:hover > a:after {
    width: 100%;
	height: 2px;
}
.nav > li.active > a:after {
  width: 100%;
}
.nav > li > a i{
	color:#bababa;
}
.nav > li:hover > a i, .nav li.active a i{
	color:#fff;
}

.navbox .nav > li > a i {
    position: relative;
    /*top: 0.5rem;*/
    color: #fff;
	transition: color 0.5s linear;
}
.navbox .nav > li:hover > a i {
    color: rgb(13 110 253);
}

/* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) {
    .nav > li:hover > a:after {
        width: 0;
    }
    
/*    .nav > li:hover > a {
        color: inherit !important;
    }*/
}

/* 平滑过渡 */
.nav ul {
    transition: all 0.3s ease;
}

.nav li {
    transition: background-color 0.2s ease;
}

.indicator {
    transition: transform 0.3s ease;
}



/*.nav {
    width: auto;
    margin: 0;
    padding: 0;
    position: relative;
    float: right;
    font-family: 'Open Sans', sans-serif;
    list-style: none;
    right: -30px;
    top: 16px;
    z-index: 99999;
}*/
/*.nav {
  width: auto;
  margin: 0;
  padding: 0;
  position: absolute;
  font-family: 'Open Sans', sans-serif;
  list-style: none;
  left: 50%;
  top: 0;
  z-index: 99999;
  transform: translate(-50%, 0) !important;
}*/
.nav {
    width: auto;
    margin: 0;
    padding: 0;
    position: absolute;
    font-family: 'Open Sans', sans-serif;
    list-style: none;
    right: 0;
    top: 0;
    z-index: 99999;
    transform: translate(0%, 0) !important;
}
.nav li{
	display:inline-block;
	margin:0;
	padding:0;
	float:left;
	position:relative;
	overflow: inherit !important;
}
/*.nav > li > a{
	font-weight: bold;
	padding:12px 15px;
	font-size:18px;
	color:#333 !important;
	text-decoration:none;
	display:block;
	-webkit-transition:color 0.2s linear, background 0.2s linear;
	-moz-transition:color 0.2s linear, background 0.2s linear;
	-o-transition:color 0.2s linear, background 0.2s linear;
	transition:color 0.2s linear, background 0.2s linear;
}*/
.nav > li > a {
  font-size: 1rem;
  color: #333;
  color: #fff;
  text-decoration: none;
  display: block;
  transition: color 0.2s linear, background 0.2s linear;
  margin: 1rem 2rem;
  line-height: 2em;
  height: 2em;
  -webkit-transition:color 0.2s linear, background 0.2s linear;
  -moz-transition:color 0.2s linear, background 0.2s linear;
  -o-transition:color 0.2s linear, background 0.2s linear;
  transition:color 0.2s linear, background 0.2s linear;
}
.nav > li > a {
  position: relative;
  margin: 0 1.85rem;
}

.nav ul, .nav ul li ul{
	list-style:none;
	margin:0;
	padding:0;
	display:none;
	position:absolute;
	z-index:99;
	width:10rem;
	overflow: inherit !important;
}
/*.nav ul{
	top:40px;
	left:0;
	padding-top:10px;
}*/
.nav ul {
  top: 3.1rem;
  left: 1.8rem;
}
.nav li ul li:hover a {
  color: #fff !important;
}
/*.nav > li > ul > li:first-child a:before{
	content:'';
	position:absolute;
	bottom:48px;
	left:45%;
	margin-left:-48px;
	width:0;
	height:0;
	border-left:8px solid rgba(255, 255, 255, 0);
	border-right:8px solid rgba(255, 255, 255, 0);
	border-bottom:8px solid #018900;
}
.nav > li > ul > li ul li:first-child a:before{
	content:'';
	position:absolute;
	bottom:16px;
	left:45%;
	margin-left:-71px;
	width:0;
	height:0;
	border-top:8px solid rgba(255, 255, 255, 0);
	border-right:8px solid #007bff;
	border-bottom:8px solid rgba(255, 255, 255, 0);
}*/
.nav ul li ul {
    top: 0;
    left: 100%;
    padding-left: 0;
    border-left: rgba(0,0,0,0.5) dotted 1px;
    opacity: 0.96;
}
.nav ul li{
	clear:both;
	width:100%;
	border:none;
	border-bottom: rgba(0,0,0,0.8) dotted 1px;
}
.nav ul li a{
	background:rgba(0,0,0,0.6);
	font-weight: normal;
	padding:0.5rem 1rem;
	width:100%;
	color:#fff;
	font-size:0.875rem;
	text-decoration:none;
	display:inline-block;
	float:left;
	clear:both;
	/*background:#007bff;*/
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-webkit-transition:background 0.2s linear;
	-moz-transition:background 0.2s linear;
	-o-transition:background 0.2s linear;
	transition:background 0.2s linear;
}
.nav ul li:hover > a{ background-color: #3485FB; }
.nav > li > ul > li:first-child:hover a:before{
	border-bottom-color:#fff;
}
.nav > li > ul > li ul li:first-child:hover a:before{
	border-right-color:#fff;
}
.nav > li .indicator{
	position:absolute;
	color:#bababa;
	top:0.5rem;
	right:1rem;
	font-size:1rem;
	-webkit-transition:color 0.2s linear;
	-moz-transition:color 0.2s linear;
	-o-transition:color 0.2s linear;
	transition:color 0.2s linear;
}
.nav > li:hover > .indicator{
	color:#fff;
}
.nav ul > li .indicator{
	top:0.5rem;
	right:1rem;
	color:#fff;
}
.nav li .indicator {
    display: none;
}
.nav li ul li .indicator {
    display: block;
}
/*.nav li ul > li .indicator {
    display: block;
}*/
/*.nav i{
	line-height:20px !important;
	margin-right:6px;
	font-size:20px;
	float:left;
}*/

/*.nav > li.showhide{
	display:none;
	width:100%;
	height:46px;
	cursor:pointer;
	color:#777;
	border-bottom:solid 1px rgba(0, 0, 0, 0.1);
	background:#fff;
}
.nav > li.showhide span.title{
	margin:10px 0 0 20px;
	float:left;
}
.nav > li.showhide span.icon{
	margin:16px 20px;
	float:right;
}
.nav > li.showhide .icon em{
	margin-bottom:3px;
	display:block;
	width:20px;
	height:2px;
	background:#ccc;
}*/

.zoom-out{
	-webkit-animation:zoomOut 600ms ease both;
	-moz-animation:zoomOut 600ms ease both;
	-o-animation:zoomOut 600ms ease both;
	animation:zoomOut 600ms ease both;
}

@-webkit-keyframes zoomOut{
	0%{
		-webkit-transform:scale(.6);
	}
	100%{
		-webkit-transform:scale(1);
	}
}
@-moz-keyframes zoomOut{
	0%{
		-moz-transform:scale(.6);
	}
	100%{
		-moz-transform:scale(1);
	}
}
@-o-keyframes zoomOut{
	0%{
		-o-transform:scale(.6);
	}
	100%{
		-o-transform:scale(1);
	}
}
@keyframes zoomOut{
	0%{
		transform:scale(.6);
	}
	100%{
		transform:scale(1);
	}
}

@media only screen and (max-width:768px){
	.nav li{
		display:block;
		width:100%;
	}
	.nav > li > a{
		padding:13px 0 14px 20px;
	}
	.nav > li.brand{
		display:none !important;
	}
	.nav a{
		width:100%;
		box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
	}
	.nav ul, .nav ul li ul{
		width:100%;
		padding:0;
		left:0;
		border:none;
		position:static;
		box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
	}
	.nav > li > ul > li:first-child a:before, .nav > li > ul > li ul li:first-child a:before{
		border:none;
	}
	.nav ul li{
		border-left:none;
		border-right:none;
	}
	.nav ul li a{
		padding-top:10px;
		padding-bottom:10px;
	}
	.nav ul > li > a{
		padding-left:40px !important;
	}
	.nav > li .indicator{
		top:14px;
		right:20px;
		font-size:20px;
	}
	.nav ul > li .indicator{
		top:10px;
		right:20px;
	}
	.nav li.search form{
		margin:12px 18px 0 18px;
	}
	.nav li.search form input.search{
		width:100%;
		margin-bottom:12px;
		box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
	}
	.nav > li > ul > li > a{
		padding-left:40px !important;
	}
	.nav > li > ul > li > ul > li > a{
		padding-left:60px !important;
	}
	.nav > li > ul > li > ul > li > ul > li > a{
		padding-left:80px !important;
	}
}

/* 菜单切换按钮样式 */
.menu-toggles {
    display: none;
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 10001;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    width: 40px;
    height: 40px;
}

.menu-toggles .bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    background-color: #333;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.menu-toggles span {
  display: block;
  height: 3px;
  width: 100%;
  border-radius: 3px;
  transition: all 0.3s ease;
  margin-bottom: 5px;
  background: #fff;
}

/* 移动端菜单按钮动画 */
.menu-toggles.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.menu-toggles.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggles.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* 移动端菜单按钮 */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 28px;
    cursor: pointer;
	background: transparent;
    border: 0;
}

.menu-toggle span {
    display: block;
    height: 3px;
    width: 100%;
    margin-bottom: 5px;
    background: #fff;
    border-radius: 3px;
    transition: all 0.3s ease;
}

/* 移动端菜单按钮动画 */
.menu-toggle.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* 移动端菜单样式 */
@media only screen and (max-width: 768px) {
    .menu-toggle, .menu-toggles {
        display: block;
    }
    
    .nav {
        display: none;
        position: absolute;
        top: 5rem;
        left: 0;
        width: 100%;
        background: rgba(0, 0, 0, 0.9);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        max-height: 80vh;
        overflow-y: auto;
    }
    
    .nav.mobile-open {
        display: block !important;
    }
    
    .nav > li {
        display: block;
        width: 100%;
        float: none;
    }
    
    .nav > li > a {
        margin: 0;
        padding: 15px 20px;
        border-bottom: 1px solid #f0f0f0;
        line-height: 1.5;
        height: auto;
    }
    
    .nav ul {
        position: static;
        width: 100%;
        box-shadow: none;
        padding: 0;
    }
    
    .nav ul li a {
        padding-left: 40px !important;
        background: #f8f9fa;
        color: #333 !important;
    }
    
    .nav ul ul li a {
        padding-left: 60px !important;
    }
    
    .nav ul ul ul li a {
        padding-left: 80px !important;
    }
}

/* 移动端导航菜单激活状态 */
.nav.mobile-active {
    display: block !important;
}

/* 指示器激活状态 */
.nav .indicator.active {
    transform: rotate(90deg);
}

/* 移动端子菜单样式优化 */
@media only screen and (max-width: 768px) {
    .nav ul {
        background: rgba(0, 0, 0, 0.05) !important;
    }
    
    .nav ul li a {
        background: transparent !important;
        color: #333 !important;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .nav ul ul {
        background: rgba(0, 0, 0, 0.02) !important;
    }
    
    /* 确保指示器在移动端可见 */
    .nav li .indicator {
        display: block !important;
        position: absolute;
        right: 15px;
        top: 50%;
        /*transform: translateY(-50%);*/
        transition: transform 0.3s ease;
    }
    
    .nav ul li .indicator {
        right: 25px;
    }
    
    .nav ul ul li .indicator {
        right: 35px;
    }
}

.nav>li>.indicator {
    display: none !important;
}
.nav li .indicator{
    width: 26px;
    height: 26px;
    background: transparent;
	color: #999 !important;
}


/* 页面分类导航样式 */
.page-categories-nav {
    margin: 3rem 0 0;
    padding: 0 3.2rem;
}
.page-categories-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 5px;
}
p#password-prompt {
    text-align: center;
    color: #f90;
    line-height: 3em;
    margin-top: -26px;
}
.page-category-item {
    margin: 0;
}

.page-category-link {
    display: block;
    padding: 8px 15px;
    background: #f5f5f5;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #ddd;
    transition: all 0.3s ease;
    font-size: 14px;
}

.page-category-link:hover {
    background: #e9e9e9;
    border-color: #ccc;
}

.page-category-item.active .page-category-link {
    background: #007bff;
    color: white;
    border-color: #0056b3;
}

.page-category-item.disabled .page-category-link {
    background: #f8f9fa;
    color: #6c757d;
    cursor: not-allowed;
    opacity: 0.6;
}

.page-category-item.password-protected .page-category-link {
    background: #fff3cd;
    border-color: #ffeaa7;
    color: #856404;
}

/* 密码模态框样式 */
.password-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.password-modal .modal-content {
	margin-top: -6rem;
    background: white;
    border-radius: 8px;
    width: 398px;
    max-width: 90%;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.password-modal .modal-header {
    padding: 10px 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.password-modal .modal-header h3 {
    margin: 0;
    font-size: 1.3rem;
}

.password-modal .close-modal {
    font-size: 24px;
    cursor: pointer;
    color: #999;
}

.password-modal .close-modal:hover {
    color: #333;
}

.password-modal .modal-body {
    padding: 20px 20px 50px 20px;
}

.password-input-group {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.password-input-group input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.password-input-group button {
    padding: 10px 20px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.password-input-group button:hover {
    background: #0056b3;
}

.error-message {
    color: #dc3545;
    font-size: 14px;
    margin-top: 10px;
    padding: 8px;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
}

            
/* 移动端优化 */
/*@media (max-width: 768px) {
    .nav li {
        position: relative;
    }

    .nav ul ul {
        position: static;
        box-shadow: none;
        border: none;
        margin-left: 15px;
        background-color: rgba(255,255,255,0.05);
    }

    .nav a[data-original-href]::after {
        content: ">";
        opacity: 0.7;
        font-size: 0.8em;
    }
}*/