.filter_panel{
	box-sizing: border-box;
	background-color: #FFF;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0,50,100,.2), 0 3px 5px rgba(0,50,100,.1);
	clear: both;
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: stretch;
	margin: 0;
	margin-left: 10px;
	padding: 0;
	position: relative;
	vertical-align: top;
	z-index: 1;
	min-width: 240px; /* Total 240px */
	/*order: 2;*/
}
.filter_panel .close_filters{
	background-image: url('../imgs/icons/icon_filter2.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px;
	height: 100%;
	cursor: pointer;
	width: 30px;
}

.filter_panel header{position: relative; box-sizing: border-box;}
.filter_panel h3{margin:0; font-size: 1.2em; padding:0; text-align: center; line-height: 30px;}
.filter_panel .controls{position: absolute; right: 3px; top: 3px; z-index: 1; height: 30px;}
/*.filter_panel header{background:#FFF; }*/
.filter_panel header h3{color: #789; letter-spacing: 1px;}
.filter_panel h3 .icon{margin-right: 5px;}
.filter_panel .controls li{opacity: 0.5; height: 30px; min-width: 30px; margin: 1px; border-radius: 50%;}
.filter_panel .controls li:hover{ opacity: 1; background-color: rgba(0,50,100,.05)}
.filter_panel .filter_content{
	box-sizing: border-box;
	height: auto; overflow: auto;
	padding: 0;
	position: relative;
	width: 100%;
}
.filter_panel .filter_content ul{
	display: block;
	overflow: auto;
	min-height: 300px;
	padding-left: 0;
	width: 100%;
}
.filter_panel .filter_content ol{
	background:rgba(236, 240, 244, .4);
	color: #789; display: none; height: auto;
	transition: all .2s ease;
}
.filter_panel .filter_content .options{
	height: 40px;
	line-height: 40px;
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	width: 100%;
	z-index: 1;
}
.filter_panel .filter_content li{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	cursor: pointer;
	line-height: inherit;
	min-height: 30px;
	padding: 0 30px 0 5px;
	position: relative;
	text-indent: 10px;
}
.filter_panel .filter_content li:hover{
	background: rgba(204, 238, 255, .75);
	color: #07D;
}
.filter_panel .filter_content li:hover:after{
	border-right: 2px solid #07D; border-bottom: 2px solid #07D;
	content: ''; display: block;
	height: 9px; position: absolute; right: 20px;
	transform: rotateZ(-45deg); top: calc(50% - 7px); width: 9px;
}
.filter_panel .filter_content li i{
	color: #9AB; display: block; font-size: .9em;
	font-style: normal; height: 24px;
	line-height: 24px; min-width: 24px;
	position: absolute; right: 30px;
	text-align: center; top: calc(50% - 12px);
}
.filter_panel .filter_content .active{
	color: #07D;
	box-shadow: 5px 0 0 #07D inset;
	font-weight: bolder;
	font-size: 1.2em;
	/*letter-spacing: 1px;*/
}

.filter_panel article h3{width: 100%; height: 50px;}
.filter_panel h3 header{
	display: flex;
	flex-direction: row;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	padding-left: 10px;
	letter-spacing: 1px;
	height: inherit;
	width: 100%;
}
.filter_panel .filter_content li img{
	border-radius: 50%;
	margin: 0 5px;
}
.filter_panel li .icon[data-icon="see"]{visibility: hidden;}
.filter_panel li:hover .icon[data-icon="see"]{visibility:visible;}

.filter_panel .bt_section{
	background: rgba(0,50,100,.1);
	margin: 0;
}

.filter_panel ul.compact li{
	display: block;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.filter_panel ul.compact .icon{margin: 3px 5px; }

.filter_panel footer{
	box-sizing: border-box;
	flex: 1;
	height: 200px;
	padding: 9px 0 5px;
	width: 100%;
}

.filter_panel input.date{
	background-color: rgba(236, 240, 244, .4);
	display: block;
	cursor: pointer;
	border:none;
	font-size: .9em;
	height: 40px;
	margin: 0 auto;
	width: 90%;
}

.filter_panel #f1{border-top-left-radius: 3px; border-bottom-left-radius: 3px;}
.filter_panel #f2{border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
.filter_panel #bt_calendar{
	margin-right: 10px;
	min-height: 20px;
	min-width: 20px;
}


/** Búsquedas */

.filter_content .options.search li{
	text-indent: 40px;
}
.filter_content .search_box{
	background: none;
	border-radius: 0 !important;
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	line-height: 40px;
	margin: 0;
	/*margin: -40px 0 0 0;*/
	min-height: 40px;
	opacity: .3;
	overflow: hidden;
	padding: 0;
	position: sticky;
	position: -webkit-sticky;
	vertical-align: middle;
	top: 0;
	width: 40px;
	z-index: 2;
}
.filter_content .search_box:hover{opacity: 1;}
.filter_content .search_box span{
	display: inline-block;
	margin: 10px;
	min-width: 20px;
	min-height: 20px;
	filter: none;
}
.filter_content .search_box .clear_input{
	display: inline-block;
	opacity: .5;
	position: relative;
	right: 0;
	top: 0;
}
.filter_content .search_box .clear_input:hover{opacity: 1;}
.filter_content .search_box input{
	background: rgba(0,50,100,.3); border:0; color: #FFF; padding: 5pt 5px;
}
.filter_content .search_box.open{
	background: #07D;
	border-color: #07D;
	opacity: 1;
	width: 100%;
}
.filter_content .search_box.open span{filter: brightness(0%) invert(100%);}
.filter_content .search_box.open input{display: inline-block; width: calc(100% - 80px); line-height: 1em;}
.filter_content .search_box.open input:hover{border:0 !important;}
.filter_content .search_box:before,.filter_content .search_box:after{display: none;}

.filter_content .options{
	background: #FFF;
	display: block;
	/*border-bottom: 1px solid #CEF;*/
	box-sizing: border-box;
	-webkit-backdrop-filter: blur(10px);
	/*-webkit-backdrop-filter: saturate(120%) blur(10px);*/
}
.filter_content .options li{line-height: inherit; height: inherit;}

.date_search{display: block;}
.date_search .content{
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-direction: row;
	min-height: 50px;
}
.date_search .icon{display: inline-block;}
.date_search header{text-align: center;}
.date_search .periodo{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	align-content: center;
	height: 40px;
	width: 100%;
}
.date_search .periodo div{
	display: inline-block;
	height: inherit;
	width: 50%;
}
.date_search .periodo div:first-child{
	border-right: 2px solid transparent;
}

.ui-datepicker-title{
	display: flex; flex-direction: row; justify-content: center;
}
.ui-datepicker-title span{ margin: 0 5px;}
#calendar .ui-datepicker{
	background:none; box-shadow: none; margin: 0 auto; width: 90%;
}
/*#calendar .ui-datepicker table td{ font-size: 1.2em; }*/


.bt_filter_panel{
	background: #F1F7FA; /* También es lo mismo que rgba(242, 247, 250, 0.98) */
	border-right: 1px solid #CDE;
	cursor: pointer;
	display: none;
	height: 658px;
	position: fixed;
	left: 0;
	top: 77px;
	transition: all ease .2s;
	width: 30px;
	z-index: 2;
}
.bt_filter_panel:hover{
	background-color: #CEF;
	color: #07D;
}
/*.bt_filter_panel:hover .icon{
	filter: brightness(0%) invert(100%);
}*/
.bt_filter_panel p{	
	display: block;
	letter-spacing: 1px;
	height: 24px;
	text-align: center;
	width: 100px;
	
	position:absolute;
	top: calc(50% - 50px);
	left: -30px;
	-webkit-transform:  rotate(270deg);
	-moz-transform:  rotate(270deg);
	-o-transform:  rotate(270deg);
	writing-mode: lr-tb;
}



/** DARK THEME */

.dark .filter_panel{
	background: #314159;
	box-shadow: 0 3px 5px rgba(0,20,50,.3);
}
.dark .filter_panel .line_bottom{box-shadow: 0 1px 0 #456;}
.dark .filter_panel header h3{color: #9AB;}
.dark .filter_panel header{background: none;}
.dark .filter_panel header.active{color: #FFF;}
.dark .filter_panel header.active:before{background: #0D7;}
.dark .filter_panel .filter_content ol{color: #789;}
.dark .filter_panel .filter_content li:hover{ background: rgba(255,255,255,.1); color: #FFF;}
.dark .filter_panel .filter_content li:hover:after{
	border-right: 2px solid #BCD; border-bottom: 2px solid #BCD;
}
.dark .filter_panel .filter_content .active{color: #09F; box-shadow: 5px 0 0 #09F inset;}
.dark .filter_panel .accordion > h3{background: #314159; color: #FFF; box-shadow: 0 -1px 0 #3f4c6b;}

.dark .filter_panel .accordion > h3.ui-accordion-header-active,
.dark .filter_panel .accordion > h3:hover{
	background: #314159; box-shadow: 0 -1px 0 #3f4c6b;
}
.dark .filter_panel .bt_section{background: rgba(0,50,100,.05);}
.dark .filter_panel input.date{filter: brightness(0%) invert(100%);}

.dark .filter_panel .filter_content .options{background: #314159;}
.dark .filter_panel .date_search .periodo{color: #FFF;}
.dark .filter_panel .date_search .periodo div:first-child{border-right: 2px solid transparent;}

.filter_panel.dark .ui-datepicker .ui-state-disabled{color: #789;}
.dark .bt_filter_panel{background: #314159; border-color: #3f4c6b;}

/** VISTA 3D CARDS - DARK PANEL */

.filter_panel.virtual .accordion{
	perspective: 700;
	-webkit-perspective: 700;
	position: relative;
}
.filter_panel.virtual .accordion h3{
	border-radius: 3px;
	transform-style: preserve-3d;
  transition: all .2s linear;
  transform: translateY(70px) rotateX(-36deg) scale(1,1.1) translate3d(0,1vh,-100px);
  box-shadow: 0 -3px 0px -1px #3f4c6b, 0 -7px 9px rgba(0,0,0,.3);
  background: linear-gradient(to bottom, #3A4664 50%,#314159 100%);
  opacity: 1;
}
.filter_panel.virtual .accordion > h3:hover{
	background: linear-gradient(to bottom, #3f4c6b 50%,#314159 100%);
	box-shadow: 0 -3px 0px -1px #465378, 0 -3px 5px rgba(0,0,0,.3);
}
.filter_panel.virtual .accordion > h3.ui-accordion-header-active{
	background: #3f4c6b;
	transform: translateY(0px) rotateX(0deg) scale(1,1) translate3d(0,0,0);
}
.filter_panel.virtual .accordion > h3.ui-accordion-header-active:hover{
	box-shadow: 0 0 0 1px #314159;
}

@media screen and (max-width: 1024px){
	.filter_panel{
		background-color: #FFF;
	}
}

.filter_panel input.date{
	font-size: 1.1em;
}