/* 
    Created on : 04/05/2017, 22:24:13
    Author     : joaog
*/

#main.hover-visitados .element:not(.visitado),
#main.hover-visitados .jsplumb-connector:not(.visitado),
#main.hover-visitados .jsplumb-endpoint:not(.visitado){
    opacity: 0.2 !important;
}

.dinamicDot{
    cursor: grab;
    width: 65px; 
    height: 60px; 
    background: #333; 
    border-radius: 10px;
    z-index: 5;
    position: absolute; 
}

.dinamicDot:after{
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    border-radius: 10px;
    border: 5px solid rgba(255,255,255,0.1);
}

.dinamicSmallDotStatic{
    cursor: grab;
    cursor:pointer;
    width:40px; 
    height:40px; 
    background: #333;
    border-radius: 10px;
    z-index:6; 
    position:absolute;  
}

.dinamicSmallDot.hover{
    margin-left: -10px !important;
    margin-top: -10px !important;
    padding: 10px !important;
}

.dinamicSmallDot.hover .finalright{
    margin-left: 34px !important;
}

.dinamicSmallDot.hover .finalleft{
    margin-left: -25px !important;
}
.itemNullPointer .itemValue{
    width: 65px;
    color: black;
    font-family: principalFontThin;
    font-weight: normal;
}

.dinamicDot .itemValue{
    top: 17px;
}

.dinamicDot .initial:hover,.dinamicDot .final:hover,.dinamicDot .final2:hover{
    font-weight: bold;
}

.labelEl{
    position: absolute;
    margin-top: -50px;
    margin-left: -10px;
    color: black;
    font-family: principalFontThin;
    width: 84px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    -webkit-animation: blinkLabel 1s infinite alternate;
    animation: blinkLabel 1s infinite alternate;
    -moz-animation: blinkLabel 1s infinite alternate;
    -o-animation: blinkLabel 1s infinite alternate;
    -ms-animation: blinkLabel 1s infinite alternate;
    height: 0px;
    transition: height 0.2s ease-out;
}

.dinamicDot .initial,.itemNullPointer .initial{
    width: 64px;
    height: 50px;
    display: inline-block;
    font-family: principalFontThin;
    font-size: 20px;
    line-height: 95px;
    margin-top: 35px;
    background-image: url(../../../images/ponteiroinicial180.svg);
    background-size: 64px 50px;
    background-repeat: no-repeat;
    position: absolute;
    text-align: center;
    background-position: center top;
    transition: background-size 0.5s ease-out,opacity 0.5s ease-out;    
    cursor: default;
}
.dinamicSmallDot .initial,.node .initial{
    width: 64px;
    height: 50px;
    background-image: url(../../../images/ponteiroinicial.svg);
    background-size: 64px 40px;
    background-repeat: no-repeat;
    background-position: center 10px;
    text-align: center;
    font-family: principalFontThin;
    font-size: 20px;
    margin-left: -12px;
    margin-top: -75px;
    position: absolute;
    cursor: default;
}


.node .initial{
    margin-left: 0px;
    left: 0px;
    color: black;
}

.hideNullPointers .finalright,
.hideNullPointers  .finalleft,
.hideNullPointers .final,
.hideNullPointers .final2 {
    display: none !important;
}

.dinamicSmallDot .finalright{
    width: 30px;
    height: 30px;
    background-image: url(../../../images/ponteiroinicialright.svg);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: right bottom;
    text-align: center;
    font-family: principalFontThin;
    font-size: 20px;
    margin-left: 22px;
    position: absolute;
    cursor: default;
}

.dinamicSmallDot .finalleft{
    width: 30px;
    height: 30px;
    background-image: url(../../../images/ponteiroinicialleft.svg);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: left bottom;
    text-align: center;
    font-family: principalFontThin;
    font-size: 20px;
    margin-left: -12px;
    position: absolute;
    cursor: default;
}

.dinamicDot .initial p,.itemNullPointer .initial p{
    margin: 0px;
    line-height: 20px;
}
.dinamicDot .initial p:first-child,.itemNullPointer .initial p:first-child{
    margin-top: 30px;
}
.dinamicDot .final,.itemNullPointer .final{
    opacity: 1;
    width: 64px;
    height: 50px;
    display: inline-block;
    font-family: principalFontThin;
    font-size: 18px;
    line-height: 75px;
    right: -64px;
    top:15px;
    background-image: url(../../../images/ponteirofinal.png);
    background-size: 64px 50px;
    background-repeat: no-repeat;
    position: absolute;
    text-align: center;
    background-position: center top;
    transition: background-size 0.5s ease-out,opacity 0.5s ease-out;  
    cursor: default;
}
.itemNullPointer .final{
    top: 25px;
    background-image: url(../../../images/ponteirofinal.png);
    cursor: default;
}
.dinamicDot .final2 p{
    margin-top: 0px;
}

.dinamicDot .final2{
    opacity: 1;
    width: 64px;
    height: 50px;
    display: inline-block;
    font-family: principalFontThin;
    font-size: 20px;
    line-height: 75px;
    left: -64px;
    top:35px;
    background-image: url(../../../images/ponteirofinal2.png);
    background-size: 64px 50px;
    background-repeat: no-repeat;
    position: absolute;
    text-align: center;
    background-position: center top;
    transition: background-size 0.5s ease-out,opacity 0.5s ease-out; 
    cursor: default;
}

.dinamicSmallDot,.smallbigdot2{
    cursor: grab;
    cursor: pointer;
    width:40px; 
    height:40px; 
    background: #333;
    border-radius: 30px;
    z-index:6; 
    position:absolute; 
}

.node{
    background: #333;
    position: absolute;
    color: #eee;
    text-align: center;
    font-weight: bold;
    padding: 10px 20px;
    font-size: large;
    border-radius: 10px;
    transition: background-color 0.5s linear,box-shadow 0.5s linear,border 0.5s linear;
    cursor:move;
}

.smallbigdot2{
    background-color: #ff532d;
}

.medbigdot {
    cursor: grab;
    width:48px; 
    height:48px; 
    background-image:url("../../../images/CadilagStructs/dot.png"); 
    z-index:6; 
    position:absolute; 

}
.searchdot {
    cursor: grab;
    width:40px; 
    height:40px; 
    background-image:url("../../../images/CadilagStructs/searchdot.png"); 
    z-index:6; 
    position:absolute; 

}

.searchdot2 {
    cursor: grab;
    width:40px; 
    height:40px; 
    background-image:url("../../../images/CadilagStructs/searchdot2.png"); 
    z-index:6; 
    position:absolute; 

}

.searchdotnext {
    cursor: grab;    
    width:40px; 
    height:40px; 
    background-image:url("../../../images/CadilagStructs/searchdot3.png"); 
    z-index:6; 
    position:absolute; 

}
.staticpointer p{
    margin: 0px;
    margin-top: 50px;
    font-size: 15px;
}
.staticpointer{
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* IE/Edge */
    cursor: pointer;
    width: 64px;
    height: 80px;
    background-image:url("../../../images/CadilagStructs/arrow.svg");
    background-position: center top;
    background-size: 64px 64px;
    background-repeat: no-repeat;
    position: absolute;
    text-align: center;
    font-size: 20px;
    z-index: 6;
    transition: border-bottom-color 0.2s linear;
    border-bottom: 5px solid transparent;
}

.dotPointer {
    cursor: grab;
    width:28px; 
    height:28px; 
    background-image:url("../../../images/CadilagStructs/dot1.png"); 
    z-index:6; 
    position:absolute;  
}

.tooltip > p{
    line-height: 30px;
}
.tooltip{
    position: absolute;
    font-family: cursive;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    text-shadow: 0px 0px 5px rgba(0,0,0);
    height: 30px;
    z-index: 1000;
}

.staticlabel{
    height: 45px;
    border-bottom: 5px solid black;
    line-height: 45px;
    font-family: principalFont;
    transition: border-bottom-color 0.2s linear;
    position: absolute;
}

.staticArrayIndex p,.staticArrayVerticalIndex p{
    margin: 0px;
}

.staticArrayIndex{
    width: 70px;
    margin-top: 5px;
    margin-bottom: 5px;
    height: 21px;
    line-height: 21px;
    position: absolute;
    text-align: center;
    font-weight: bold;
}

.staticArrayVerticalIndex{
    width: 30px;
    height: 50px;
    line-height: 50px;
    position: absolute;
    text-align: center;
    font-weight: bold;
}

.staticArrayValue{
    width: 71px;
    height: 65px;
    background: none;
    position: absolute;
    border-bottom: 1px solid black;
    border-top: 1px solid black;
    border-right: 1px solid black;
}

.staticArrayValue > p{
    line-height: 65px;
    width: 71px;
    text-align: center;
    font-size: 20px;
    border:0px;
    margin: 0px;
    padding: 0px;
}

.staticArrayValue.array0{
    border-left: 1px solid black;
}

.staticArrayVerticalValue{
    width: 50px;
    height: 50px;
    background: white;
    position: absolute;
    border: 1px solid black;
}

/**Valores de Elementos*/

.itemValuePriori {
    display:block;
    position:relative;
    text-align:center;
    top:0px;
    color:#F7F7FC;
    font-size: 18px;
    line-height: 38px;
}

.itemValue {
    display:block;
    position:relative;
    text-align:center;
    top:20px;
    color:#F7F7FC;
    font-size: 18px;
    font-weight:bold;
}

.itemPriori {
    display: block;
    position: absolute;
    text-align: center;
    bottom: 5px;
    height: 20px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    width: 54px;
    color: #F7F7FC;
    font-size: 18px;
    font-weight: bold !important;
    line-height: 20px;
    left: 5px;
    font-weight: normal;
    border-top: 5px solid rgba(255,255,255,0.1);
}

.labelConnectionBlue{
    background: #77F;
    font-weight: bold;
    font-family: monospace;
    padding: 2px;
    margin-top: -20px;
    border: 2px solid #00f;
    color:white;
    font-size: 15px;
}

.labelConnectionRed{
    background: #F77;
    font-weight: bold;
    font-family: monospace;
    padding: 2px;
    margin-top: -20px;
    border: 2px solid #f00;
    color:white;
    font-size: 15px;
}

.itemNullPointer{
    cursor: grab;
    width:65px; 
    height:60px; 
    border-radius: 10px;
    z-index:5;
    position:absolute; 
}

.dinamicSmallDotNull{
    cursor: grab;
    width:65px; 
    height:60px; 
    border-radius: 10px;
    z-index:5;
    position:absolute; 
}

.dinamicSmallDotNull .itemValue{
    width: 40px;
    color: black;
    font-family: principalFontThin;
    font-weight: normal;
}

.dinamicSmallDotNull .initial{
    width: 64px;
    height: 50px;
    background-image: url(../../../images/ponteiroinicial.svg);
    background-size: 64px 40px;
    background-repeat: no-repeat;
    background-position: center 10px;
    text-align: center;
    font-family: principalFontThin;
    font-size: 20px;
    margin-left: -12px;
    margin-top: -60px;
    position: absolute;
}
.pointer_box_right{
    position: absolute;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    background: #333;
    z-index: 6;
    width: 20px;
    height: 50px;
    right: -15px;
    top: 0px;
    border: 5px solid rgba(255,255,255,0.1);
}

.pointer_box_top_right{
    position: absolute;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    background: #333;
    z-index: 6;
    width: 20px;
    height: 20px;
    right: -15px;
    top: 0px;
    border: 5px solid rgba(255,255,255,0.1);
}

.pointer_box_bottom_left{
    position: absolute;
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
    background: #333;
    z-index: 6;
    width: 20px;
    height: 20px;
    left: -15px;
    bottom: 0px;
    border: 5px solid rgba(255,255,255,0.1);
}

.append_box_bottom_right{
    position: absolute;
    border-bottom-right-radius: 10px;
    background: #333;
    z-index: 6;
    width: 20px;
    height: 25px;
    right: -15px;
    bottom: 0px;
    border-right: 5px solid rgba(255,255,255,0.1);
    border-bottom: 5px solid rgba(255,255,255,0.1);
}

.append_box_top_left{
    position: absolute;
    border-top-left-radius: 10px;
    background: #333;
    z-index: 6;
    width: 20px;
    height: 25px;
    left: -15px;
    top: 0px;
    border-left: 5px solid rgba(255,255,255,0.1);
    border-top: 5px solid rgba(255,255,255,0.1);
}

.element.withPointer2{
    width: 75px;
}

.element.withPointer .itemValue{
    width: 55px;
    line-height: 25px;
}

.element.withPointer .itemValuePriori{
    width: 55px; 
}

.element.withPointer .itemPriori{
    width: 45px;
}

.final.withPointer{
    background-image: url(../../../images/ponteirofinal3.png);
    background-size: 80px 43px;
    z-index: 7;
    top: 20px;
    background-position: left center;
    width: 85px;
    right: -80px;
}


.element.withPointer2 .final{ /*á direita*/
    background-image: url(../../../images/ponteirofinal3.png);
    background-size: 80px 43px;
    z-index: 7;
    top: 6px;
    background-position: left center;
    width: 85px;
    right: -80px;
}

.element.withPointer2 .final2{ /*a esquerda*/
    background-image: url(../../../images/ponteirofinal3.png);
    background-size: 80px 43px;
    z-index: 7;
    top: 35px;
    background-position: left center;
    width: 85px;
    left: -80px;
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}

.element.withPointer2 .final2 p{
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}