/* RESET */

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}


/* STYLE - GENERAL */

body, body *{
	font-family: "PT Serif", serif;
	outline: transparent !important;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

em {
	font-style: italic;
}

#pre{ position:absolute; width:100%; height:730px; opacity:1; text-align:center;  overflow: hidden; }
#pre img{ margin-top:150px; }


/*************************
	DATAVIZ
*************************/

#dataviz{ margin-top:-20px; }
#dviz_svg{ overflow:hidden; }

line.link{ stroke: #595959 ; stroke-width: 0.3px; }
line.link.secLink{ stroke-dasharray: 4, 4; }

.node {
  cursor: pointer;
  stroke-opacity:0;
  	-webkit-transition: stroke-opacity 100ms linear; -moz-transition: stroke-opacity 100ms linear;
	-o-transition: stroke-opacity 100ms linear; -ms-transition: stroke-opacity 200ms linear; transition: stroke-opacity 100ms linear;
}

.node:hover, .node.selected{
	stroke-opacity:1;
}

.nodeLabel{
	pointer-events: none;
	font-size:12px;
	fill: #262626;
	-webkit-transition: fill-opacity 100ms linear; -moz-transition: fill-opacity  100ms linear;
	-o-transition: fill-opacity  100ms linear; -ms-transition: fill-opacity  100ms linear; transition: fill-opacity  100ms linear;
	-webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select:none;
}

.nodeLabel.selected{
	font-weight:bold;
}


/*************************
	TOOLTIP
*************************/

#tooltip {
	position: absolute;
	min-height: 20px;
	width:240px;
	display: none;
	z-index: 10000000;
	padding:0px;
	text-align:center;
}

#tooltip p {
	display:inline-block;
	margin:auto;
	color:#475b73;
	text-align:center;
	font-size: 13px;
	padding: 6px;
	margin-top: 0px;
	margin-bottom: 0px;
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 5px;
}

/*************************
	CSS ALBERTO
*************************/

#container{
	opacity:0;
    width:960px;
    height:727px;
    overflow:hidden;
    position:relative;
    margin:auto;
    background-color:transparent;
}

#menu-container{
    background-color:#475B73;
    width:100%;
    height:40px;
    overflow:hidden;
    position:relative;
}

.icon{
    height:40px;
    background-image:url(icon.png);
    background-repeat: no-repeat;
}

.menu-list{
    float:left;
    position:relative;
    width:960px;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.menu-list li{
	display:inline-block;
    margin-right:30px;
    color:#fff;
    font-size:15px;
    text-decoration:none;
    padding:12px 0px;
    opacity:.8;
    cursor:pointer;
}

.menu-list li:hover{
    opacity:1;
}

.menu-list li::after{
    display:block;
    content:attr(alt);
    height:0px;
    overflow:hidden;
    color:#000;
}

#menu-mobile-container{
    display:none;
}

.arrow{
    width:40px;
    height:40px;
    position:absolute;
    z-index:2;
    background-image: url(icon.png);
    cursor:pointer;
}

.arrow-left{
    top:0px;
    left:0px;
    background-position: 0px -160px;
	background-color: #475B73;
}

.arrow-right{
    top:0px;
    right:0px;
    background-position:0px -200px;
}

.bg-arrow-right{
    width:70px;
    height:40px;
    position:absolute;
    top:0px;
    right:0px;
    z-index:1;
    background: -moz-linear-gradient(left,  rgba(71,91,115,0) 0%, rgba(71,91,115,1) 51%, rgba(71,91,115,1) 100%);
    background: -webkit-linear-gradient(left,  rgba(71,91,115,0) 0%,rgba(71,91,115,1) 51%,rgba(71,91,115,1) 100%);
    background: linear-gradient(to right,  rgba(71,91,115,0) 0%,rgba(71,91,115,1) 51%,rgba(71,91,115,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00475b73', endColorstr='#475b73',GradientType=1 );
}

.selected:not(.node){
    opacity:1 !important;
    font-weight: bold;
}

#dataviz-container{
    width:100%;
    padding-top:20px;
    position:relative;
    overflow:hidden;
}

#list-dataviz{
    display:none;
}

.tool{
    width:60px;
    height:40px;
    position:absolute;
    z-index:2;
    overflow:hidden;
    cursor:pointer;
}

.tool:hover{
    width:280px;
    background-color:#D0D5DB;
}

.tool-search{
    top:20px;
    left:0px;
	overflow:visible;
}


/*************************
	BUSCADOR DE NODOS
*************************/

#search{
	position:absolute;
    left:60px;
    top:5px;
	display:none;
	z-index:100000;
}

::-webkit-input-placeholder {
   color: #6C7C8F;
}

:-moz-placeholder {
   color: #6C7C8F;
}

::-moz-placeholder {
   color: #6C7C8F;
}

:-ms-input-placeholder {
   color: #6C7C8F;
}

.tool-search.buscando{
	width:280px;
	background-color:#B5BDC7;
}

.tool-search:hover #search, .tool-search.buscando #search{
	display:block;
}

#search input{
	padding:0px 10px;
	width:210px;
	color:#475B73;
    font-size:14px;
	height:28px;
    border-top:none;
    border-left:none;
    border-right:none;
    border-bottom:1px solid #475B73;
    background-color:rgba(255,255,255,0);
	background-repeat:no-repeat;
	z-index:100000;
	outline: transparent !important;
}

#search  .autocomplete-suggestions {
	clear:both;
	top:28px;
	left:0px;
	border: none;
	background: #ccc;
	overflow: auto;
	z-index:100000000 !important;
	background-color:white;
	width:100%;
    -webkit-box-shadow: 0px 1px 7px 0 #D6D6D6;
    box-shadow: 0px 1px 7px 0 #D6D6D6;
    width:210px !important;
}

#search  .autocomplete-suggestion { cursor:pointer; padding:5px; /*white-space: nowrap; overflow: hidden;*/ font-size:14px; color:#475B73; }
#search  .autocomplete-selected { background: #D0D5DB; }
#search  .autocomplete-suggestions strong { font-weight: bold; }
#search  .autocomplete-group { /*padding: 3px 7px;*/ }
#search  .autocomplete-group strong { display: block; border-bottom: 1px solid #000; }

.view{
    width:40px;
    background-position: 0 -40px ;
    float:left;
}

.search{
    width:40px;
    background-position: 0 -80px ;
    float:left;
}

.show-right{
    width:20px;
    float:left;
    background-position: -10px -120px;
}

.zoom{
    width:30px;
    height:90px;
    position:absolute;
    top:170px;
    left:2px;
    background-color:#ccc;
    cursor:pointer;
}

.zoom-button{
    height:30px;
    background-image:url(icon.png);
    background-repeat: no-repeat;
    background-color: #EBEBEB;
}

.zoom-button:hover{
    background-color:#B5BDC7;
}

.zoom-in{
    background-position:-5px -242px;
}

.zoom-out{
    background-position:-5px -280px;
}

.show-all{
    background-position:-6px -320px;
}

#sidebar{
    width:300px;
    height:555px;
    position:absolute;
    top:20px;
    right:0px;
    background-color:rgba(237,239,241,0.9);
    -webkit-box-shadow: -2px 1px 5px 0 #D6D6D6;
    box-shadow: -2px 1px 5px 0 #D6D6D6;
    overflow:hidden;
}

#sidebar i{ font-style: italic; }

#sidebar div:not(.sidebar-top) span{ color:#475B73; cursor:pointer; text-decoration:underline}
#sidebar div:not(.sidebar-top) a{ color:#475B73; cursor:pointer; text-decoration:underline; }

.sidebar-top{
    width:100%;
    height:30px;
    background-color:#D0D5DB;
    cursor:pointer;
}

.sidebar-top:hover{
    background-color:#B5BDC7;
}

.sidebar-top span{
    float:right;
    font-size:12px;
    color: #475B73;
    margin-top:10px;
	text-transform: uppercase;
}

.hide{
    width:30px;
    height:30px;
    float:right;
    background-position: -7px -124px;
}

#sidebar h4{
    font-size:50px;
    color: #475B73;
    margin:30px 10px 10px 10px;
    line-height:40px;
}

#sidebar h1{
    height:50px;
    font-size:20px;
    margin:10px;
    color: #262626;
    line-height:25px;
}

#sidebar h2{
    font-size:15px;
    margin:10px 10px 30px 10px;
    color: #262626;
    line-height:18px;
    height:36px;
}

#sidebar p{
    font-size:14px;
    color:#262626;
    line-height:18px;
    margin:10px 0;
	margin-right:5px;
}

.sidebar-info h2{
    margin-top:60px !important;
}

.sidebar-story{
    display:block;
}

.sidebar-story img{
    display:none;
}

.sidebar-info h2{
    text-transform:uppercase;
}

.sidebar-info{
    display:none;
}

.main-text{
    height:320px;
    margin:10px;
    padding:0 20px 20px 0;
    box-sizing:border-box;
}

.sidebar-info .main-text{
	height:382px;
}

.scroll-bar.horizontal{ display:none; }

footer{
    width:100%;
    margin-top:20px;
    padding:0 0 15px 0px;
    border-bottom:0px solid #475B73;
}

.logo{
    width:110px;
    height:70px;
    float:left;
    margin:0 10px;
}

.logo img{
    width:100%;
    height:auto;
}

.clear{
    clear:both;
}

#key-container{
    width:560px;
    float:left;
}

.key{
    margin:auto;
    width:360px;
}

.key ul{
    width:170px;
    float:left;
    margin-right:20px;
}

.key ul:last-child{
    margin-right:0 !important;
}

.key ul li{
    color:#737373;
    font-size:14px;
    margin-bottom:7px;
}

.key ul li:first-child{
    font-weight: bold;
}

.key ul li.func{
    cursor:pointer;
}

.circle{
    width:9px;
    height:9px;
    border-radius: 50%;
    margin-right:5px;
    display:inline-block;
}

.cat-1{ background-color: #849C86; }
.cat-2{ background-color: #c5d0c7; }
.cat-3{ background-color: #CF7400; }
.cat-4{ background-color: #cc3535; }
.cat-9{ background-color: grey; }

.line{
    width:25px;
    height:4px;
    margin-right:5px;
    display:inline-block;
}

.cat-5{ border-top:1px solid #595959; }
.cat-6{ border-top:1px dashed #595959; }



/****************

	DATATABLE

******************/

#list-dataviz{ width:95%; margin:auto; display:none; }

#list-dataviz table.dataTable td, .dataTable th{
	font-size:14px;
	padding-top:7px;
    padding-bottom:7px;
	text-align:left;
	white-space: nowrap;
}

#list-dataviz table.dataTable tbody tr td, table.dataTable tbody tr{
	-webkit-transition: all 200ms linear; -moz-transition: all 200ms linear;
	-o-transition: all 200ms linear; -ms-transition: all 200ms linear; transition: all 200ms linear;
	cursor:pointer;
}

#list-dataviz .dataTables_scrollHead table.dataTable thead{  }
#list-dataviz .dataTables_scrollHead table.dataTable thead th{
	position:relative;
	padding-bottom:10px;
	cursor:pointer;
	font-weight:bold;
}

/*#list-dataviz .dataTables_scrollHead table.dataTable thead tr{
	border-bottom: 1px solid #262626;
}*/

#list-dataviz  table span.circle{
	margin-left:12px;
}

#list-dataviz .dataTables_scrollHead table.dataTable thead .sorting_asc span,
#list-dataviz .dataTables_scrollHead table.dataTable thead .sorting_desc span{
    width: 0;
    height: 0;
    border: 4px solid transparent;
	border-color: transparent transparent #0C3048 transparent;
    position: relative;
	display:inline-block;
    top: -3px;
    right: -5px;
}

#list-dataviz .dataTables_scrollHead table.dataTable thead .sorting_desc span{
	top:2px;
    border-color: #0C3048 transparent transparent transparent;
}

#list-dataviz .dataTables_scrollBody{ height:357px !important; overflow-x: auto !important; }

#list-dataviz .dataTables_wrapper .viewport{ width:100% !important; }
#list-dataviz .dataTables_wrapper .overview{ width:100% !important; }


#list-dataviz table.dataTable tbody tr:not(.odd):not(.even){
	border-bottom:1px solid #1F77B5;
	cursor:default !important;
}


#list-dataviz .dataTables_filter{display:none;}
#list-dataviz .dataTables_length{display:none;}

#list-dataviz #tabla_filter{display:none;}









/* MEDIA QUERIES */

@media (max-width:959px){

    #container{
        width:640px;
    }

    .menu-list{
        width:640px;
    }

    #sidebar{
        width:240px;
    }

    #sidebar h4{
        font-size:42px;
        margin-top:15px;
        line-height:36px;
    }

    #sidebar h1{
        height:45px;
        font-size:19px;
        line-height:22px;
				font-weight:bold;
    }

    #sidebar h2{
        margin-bottom:20px;
        font-size:14px;
        line-height:16px;
        height:33px;
    }

    #sidebar p{
        font-size:13px;
    }

    #key-container{
        width:510px;
    }

    .key{
        width:360px;
        margin-top:10px;
    }

    .key ul{
        width:150px;
        margin-right:10px;
    }

    .key ul li{
        font-size:13px;
    }

}


@media (max-width:639px){

    #container{
        width:550px;
    }

    .menu-list{
        width:550px;
    }

    #dataviz-container{
        height:500px;
    }

    #sidebar{
        width:240px;
        height:498px;
    }

    #sidebar h4{
        font-size:38px;
        margin-top:10px;
        line-height:34px;
    }

    #sidebar h1{
        font-size:18px;
        line-height:20px;
    }

    #sidebar h2{
        margin-bottom:20px;
        font-size:14px;
        line-height:16px;
        height:33px;
    }

    footer{
        height:130px;
        position:relative;
    }

    .logo{
        float:none;
        margin:auto;
        position:absolute;
        bottom:0px;
        left:50%;
        margin-left:-43px;
        width:86px;
    }

    #key-container{
        position:absolute;
        top:0;
        left:0;
        width:550px;
    }

    .key{
        width:360px;
        margin-top:0;
    }

    .key ul{
        width:170px;
        margin-right:20px;
    }
}





@media (max-width:549px){

    #container{
        width:320px;
    }

    #menu-mobile-container{
        display:block;
        width:100%;
        background-color:rgba(237,239,241,1);
        height:40px;
        margin-bottom:2px;
    }

    .menu-mobile-list li{
        padding:13px 0px;
        float:left;
        text-align:center;
        font-size:14px;
        color:rgba(255,255,255,0.75);
        text-decoration:none;
        display:block;
        cursor:pointer;
        width:120px;
		font-weight:bold;
        background-color:#b5bdc7;
    }

    .menu-mobile-list li.selected{
        background-color: #475b73;
        color:rgba(255,255,255,1);
    }

    .menu-mobile-list li:last-child{
        margin-right:0;
    }

	.icon-name{
        color:#6c7c8f;
        font-size:12px;
        float:left;
        margin:13px 10px;
        width:60px;
	}

    #dataviz-container{
        padding-top:40px;
        height:480px;
    }

	#dataviz{
		display:none;
	}

    .view{
        float:right;
    }

    .zoom{
        display:none;
    }

    .autocomplete-suggestions{
        display:none !important;
    }

    .key ul{
        width:150px;
    }

    /*footer{
        height:130px;
        position:relative;
    }*/


    #key-container{
        position:absolute;
        top:0;
        left:0;
        width:550px;
    }

    .key{
        width:550px;
        margin-top:0;
    }

    #sidebar{
        width:320px;
        box-shadow: none;
        -webkit-box-shadow: none;
    }

    #sidebar h4{
        margin-top:14px;
    }

    .sidebar-story h1{
        font-size:18px;
				font-size:18px;
        line-height:21px;
        height:43px;
    }

    .sidebar-story h2{
        display:none;
    }

    .sidebar-story img{
        display:block;
        width:300px;
        height:auto;
        margin:10px;
    }

    .sidebar-info h2{
        margin-top:20px !important;
        height:16px !important;
    }

    .sidebar-top{
        display:none;
    }

    .main-text{
		height:190px;
    }

    .show-right{
        float:right;
        background-position: -10px -355px;
    }


    /* * * * * *
    .story-off
    * * * * * */

	.story-off #dataviz-container{
		margin-top:0px;
		padding:0;
		height:auto;
	}

	.story-off #dataviz-container #list-dataviz{
		display:block;
		width:75%;
		margin:30px auto 0 auto;
		/*height:auto;*/
		/*height:358px;*/
		/*height:400px;*/
	}

	.story-off #dataviz-container #list-dataviz li{
		padding:5px 0;
		font-size:14px;
		display:block;
		cursor:pointer;
	}

	.story-off .tool ul{
		left:50px;
	}


    .story-off .tool-search{
		position:relative;
		top:auto;
		left:auto;
        width:320px;
        background-color:transparent;
        cursor:auto;
		margin-top:20px;
    }

    .story-off .tool-search #search {
        position:absolute;
        left:70px;
        top:6px;
        z-index:100000;
        display:block;
    }

    .story-off .tool-search #search input{
        width:240px;
    }

    .story-off .tool-search .show-right{
        display:block;
        float:left;
        background-position: -10px -120px;
    }

    .story-off #menu-container{
        display:none;
    }

    .story-off #sidebar{
		display:none;
        top:333px;
        height:245px;
    }

	.story-off footer{
		height:165px;
		position:relative;
	}

    .story-off .logo{
        position:absolute;
        margin-left:-55px;
        width:110px;
        bottom:15px;
        left:50%;
    }

   .story-off #key-container{
        position:absolute;
        top:0;
        width:320px;
		border-top:1px solid #b5bdc7;
		border-bottom:1px solid #b5bdc7;
		padding:5px 0;
    }

    .story-off #key-container .key{
        width:100%;
		margin-top:7px;
    }

    .story-off #key-container .key ul li{
        font-size:12px;
    }

    .story-off #key-container ul{
        margin:0;
    }

    .story-off #key-container ul:nth-child(2){
        float:right;
    }


	/* * * * * *
    .story-off + .node-on
    * * * * * */

	.story-off.node-on #sidebar{
		display:block;
        top:20px;
        height:462px;
		z-index:10000;
		background-color:rgba(237,239,241,1);
    }

	.story-off.node-on #sidebar .sidebar-top{
		display:block;
	}

	.story-off.node-on #sidebar .sidebar-info .main-text{
		height: 333px;
	}

    /* * * * * *
    .story-on
    * * * * * */

	.story-on .menu-list{
        /*width:320px;*/
		width:100%;
    }

	#container:not(.loading) .menu-list li{
		position:absolute;
		display:none;
        margin-left:50px !important;
        margin-right:0;
		width: 220px ;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
    }

	#container:not(.loading) .menu-list li.selected{
		display:block;
		font-weight: normal;
	}

	.story-on .bg-arrow-left, .bg-arrow-right{
		display:none !important;
	}

    .story-on #dataviz{
        display:none;
    }

	.story-on #list-dataviz{
		display:none;
	}

    .story-on .tool-search{
        top:10px;
        left:auto;
        right:0 !important;
        display:none;
    }

    .story-on #menu-container{
        display:block !important;
        background-color:#fff;
        margin-top:20px;
    }

    .story-on .menu-list li{
        color:#475b73;
    }

    .story-on .arrow-left{
        background-color:transparent;
        background-position:0 -395px;
    }

    .story-on .arrow-right{
        background-color:transparent;
        background-position:0 -435px;
    }

    .story-on #sidebar{
        height:1035px;
        top:0px;
        z-index:1;
        background:transparent;
    }

    .story-on #key-container{
        display:none;
    }

    .story-on footer{
        height:70px;
    }

    .story-on .logo{
        margin-left:-55px;
        width:110px;
        bottom:15px;
    }
}
