/*
 * Author: Thiviyan Thanapalasingam, KMi (Jan 2018)
 *
 * 
 * Stylesheet for networks
 */



/* ===============
   Styling for Ontology Visualiser 
   =============== */

.network-container{
    position: relative;
    overflow: hidden; 
    height: 2000px; 
    background: white;
}

.fullscreen{
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    min-height: 400px;
    height: 100%;
    width: 100%;
    overflow: auto;
}

#recenter-view {
    margin-left:  40px;
    background:  none;
    border: 2px solid var(--dark);
    padding: 3px 17px;
    outline:  none;
    cursor:  pointer;
}

.fullscreen > .tip{
/*    position: fixed;*/
}

.fullscreen .expand-graph{
    height: 100%;
}

.fullscreen #topicHierarchy {
    max-height: 97% !important;
    height: calc(100% - (55px)) !important;
}

.fullscreen #topicHierarchy svg{
    height: 100% !important;
    width: 100% !important;
}

#fullscreen-btn{
    cursor: pointer;
}

.fullscreen .feedback-form{
    height: calc(100% - (55px)) !important;
    bottom: none;
    margin-bottom: 0;
}


/*
 * Notification tip styling
 */
.tip {
    padding: 0px;
    font-weight: bold;
    width: 100%;
    background: var(--success);
    color: var(--light);
}

.legend {
    color: var(--dark);
    font-weight: normal;
}

span.round {
    height: 16px;
    width: 16px;
    position: relative;
    background: var(--orange);
    display: inline-block;
    border-radius: 50%;
    margin: 0px 7px -2px 38px;
    border: 2px solid var(--dark);
}

.tip .close-btn{
    font-size: 1.5em;
    cursor:  pointer;
}

/*
 * Feedback Form styling
 */
.feedback-form{
    position:  absolute;
    height: 656px;
    width: 350px;
    background: #d8e1e8c9;
    /* bottom: 15px; */
    padding:  5px;
    overflow: auto;
    overscroll-behavior: none;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    left: -350px;
    z-index: 100;
}
.feedback-form div#abstract h4{
    font-size: 1.0em;
    font-weight: bold;
}
.feedback-form div#abstract h5{
    font-size: 0.9em;
    font-weight: bold;
}


/* Custom tooltip */
.helpbox {
    position: absolute;
    background: white;
    font-size: 0.8em;
    padding: 10px;
    right: 5px;
    border-radius: 3px;
    box-shadow: 0 0 12px -3px #808080ba;
    width: 80%;
/*    display: none; */
}

.hide{
    display: none;
}

.helpbox:after {
	bottom: 100%;
	left: 90%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #FFFFFF;
	border-width: 6px;
	margin-left: -6px;
}

#topicHierarchy svg {
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    width: 1880;
    height: 2000;
}

.feedback-form .close-btn-network{
    right: 10px;
    top: 10px;
    cursor:  pointer;
}

.feedback-form .main {
    color: var(--dark);
    border-bottom: 1px solid var(--dark);
    text-align: center;
    padding: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
}

.feedback-form #abstract .show-more{
    height: auto !important;
}

.feedback-form #abstract{
    font-size: 0.8em;
    overflow-y: hidden;
    text-overflow: ellipsis;
    -webkit-transition: height 0.5s ease-out;
    -moz-transition: height 0.5s ease-out;
    -o-transition: height 0.5s ease-out;
    transition: height 0.5s ease-out;
    height: 460px;
}

.feedback-form .label{
    margin-bottom: 0px; 
    color: var(--dark); 
    font-weight: bold;
    margin-top: 5px;
}

.feeback-form input[type="submit"] {
    padding: 5px 45px;
    width: 100%;
    font-weight: bold;
    cursor: pointer;
    border: 1px solid var(--dark);
}

.feedback-form input[type="checkbox"] {
    margin-right: 10px;
    margin-left: 10px;
}

.feedback-form input[type="text"] {
    width: 100%;
    border: 1px solid var(--dark);
    padding: 5px 10px;
}

.feedback-form #feedback-input{
    width: 100%; 
    min-height: 200px; 
    border: 1px solid var(--dark);
    padding: 5px 10px; 
    margin-top: 0px; 
    height: 200px;
}

.show-feedback-form{
    left: 0px !important;
}

.show-feedback-formtextarea::placeholder {
    font-style: italic;
}


.goodorbad{
    margin: 0 10px;
}

input[type=radio].with-font {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    cursor: pointer;
}
    
input[type=radio].with-font ~ label:before{
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    content: "\f111";
    letter-spacing: 10px;
    font-size: 1.2em;
    color: #535353;
    width: 1.4em;
    cursor: pointer;
}

input[type=radio].with-font:checked ~ label:before {
    font-size: 1.2em;
    letter-spacing: 5px;
}

input[type=radio]#correct.with-font:checked ~ label:before  {
    content: "\f118";
    color: darkgreen;
}

input[type=radio]#incorrect.with-font:checked ~ label:before  {
    content: "\f119";
    color: darkred;
}

input[type=radio]#complicated.with-font:checked ~ label:before  {
    content: "\f11a";
    color: darkorange;
}



/*
 * Topic taxonomy visualiser
 */
#topicHierarchy {
    overflow: hidden;
    margin: 0;
    font-size: 14px;
    font-family: "Helvetica Neue", Helvetica;
    width: 100%;
    max-height: 2000px;
    background: white;
    cursor: move;
}

#context-menu{
    display: none;
    padding: 3px 0px;
    background: #ffffff;
    z-index: 100;
    position: absolute;
    border: 1px solid grey;
    border-radius: 4px;
    box-shadow: rgba(128, 128, 128, 0.6) 0px 0px 4px 0px;
    border: 1px solid rgb(195, 195, 195);
}

#context-menu ul{
    list-style: none;
    margin-bottom: 0px;
    padding: 0px;
}

#context-menu li {
    padding: 4px 15px;
}

#context-menu li:not(:first-child):hover {
    background: #80808021;
}

#loading{
    text-align: center;
    width: 100%;
    background: #ffffff96;
    position: absolute;
    font-size: 1.3em;
    color: #b32c39;
    margin-top: 300px;
}


#topicHierarchy rect {
    fill: none;
    pointer-events: all;
}

#topicHierarchy pre {
    font-size: 18px;
}

#topicHierarchy line {
    stroke: #000;
    stroke-width: 1.5px;
}

#topicHierarchy .string,
#topicHierarchy .regexp {
    color: #f39;
}

.keyword {
    color: #00c;
}

.comment {
    color: #777;
    font-style: oblique;
}

.number {
    color: #369;
}

#topicHierarchy a:link,
#topicHierarchy a:visited {
    color: #888888;
    font-weight: 300;
    font-size: 1em;
    text-decoration: underline;
}

#topicHierarchy path.link.blue{
    stroke: blue;
}

#topicHierarchy path.link.red{
    stroke: red;
}

#topicHierarchy path.link.green{
    stroke: green;
}

#topicHierarchy path.link.pink{
    stroke: pink;
}

#topicHierarchy path.link.yellow{
    stroke: yellow;
}

#topicHierarchy path.link.grey{
    stroke: grey;
}

#topicHierarchy a:hover {
    color: #666;
}

#topicHierarchy .node text {
    font-size: 11px;
    cursor: pointer;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

#topicHierarchy .node text.primitive {
    font-style: italic;
}

#topicHierarchy path.link {
    cursor: pointer;
    fill: none;
    stroke: #cccccc;
    stroke-width: 1.5px;
}


#topicHierarchy .node circle{
    cursor: pointer;
    fill: #fff;
    stroke-width: 1.5px;
    stroke: var(--dark);
    -webkit-transition: fill .3s linear;
	-moz-transition: fill .3s linear;
	-o-transition: fill .3s linear;
	-ms-transition: fill .3s linear;
	transition: fill .3s linear;
}

.flashit{
    fill: var(--orange);
    -webkit-animation: flash linear 2s infinite;
    animation: flash linear 2s infinite;
}
@-webkit-keyframes flash {
	0% { opacity: 1; } 
	50% { opacity: .1; } 
	100% { opacity: 1; }
}
@keyframes flash {
	0% { opacity: 1; } 
	50% { opacity: .1; } 
	100% { opacity: 1; }
}

#topicHierarchy .node circle.open{
    fill: #f7f7f7;
}

#topicHierarchy .node circle.closed{
    fill: #a1d76a;
}

#topicHierarchy .node circle.open.manychildren{
    fill: #f7f7f7;
    r: 7;
}

#topicHierarchy .node circle.closed.manychildren{
    fill: #ff0000;
    r: 7;
}

#topicHierarchy .node circle.open.primitive{
    fill: #d3d3d3;
    r: 7;
}

#topicHierarchy .node circle.closed.primitive{
    fill: #d3d3d3;
    r: 7;
}

#topicHierarchy .node circle.summarised{
    fill: var(--orange);
}

#topicHierarchy .highlight-popular-topics{
    font-size: 0.95rem !important;
    font-weight: bold;
}

/* ===============
   Styling for Shortest Path (a.k.a. Find a path) Visualiser
   =============== */

.shortest-path-visualiser .node {}

.shortest-path-visualiser .node text {cursor: pointer;}

.shortest-path-visualiser .link { stroke: #999; stroke-opacity: .6; stroke-width: 1px; }

/* ===============
   Styling for Paper Classification Visualiser
   =============== */

#paper-classification-visualiser .node {}

#paper-classification-visualiser .hard-link { stroke: #999; stroke-opacity: .6; stroke-width: 1px; }

#paper-classification-visualiser .soft-link { stroke: #999; stroke-opacity: .6; stroke-width: 1px; stroke-dasharray: 5,5; }

