* {
    margin: 0; padding: 0;
}
body {
    font-family:  "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/* Globals definitions */
.box{
    position: absolute;
    display: block;
    border-radius: 2px;
}
.center{
    margin-left: auto !important;
    margin-right: auto !important;
}
.hidden {
    display: none;
}
.v-separator {
    margin-top: 5px;
    margin-bottom: 5px;
}
.h-separator{
    margin-left: 5px;
    margin-right: 5px;
}
.btn{
    padding: 10px;
    font-size: 10pt;
    font-weight: bolder;
    border: none;
    box-shadow: 0 0 4px lightgray; 
    color: gray;
    text-shadow: 1px 0.5px 1px black;
    border-radius: 2px;
}
.btn:focus{
    outline: none;
}
.btn:hover{
    box-shadow: 2px 2px 1px black; 
}
.btn:active{
    box-shadow: inset 0 2px 3px black;
}
.disabled-btn{
    opacity: 0.75;
    box-shadow: none !important;
}
.disabled-btn:hover{
    box-shadow: none;
}
.disabled-btn:active{
    box-shadow: none;
}
.no-selection{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#body {
    width: 100%;	
    height: 100%;
    display: block;
    position: absolute;	
}
form button img{margin-left: 15px;}
/* Specific alert style*/
#alert{
    width: 15%;
    min-height: 10%;
    height: auto;
    position: fixed;
    left: 82%;
    top: 1%;
    background: #EEE;
    border: lightgray solid 1px;
    padding: 1%;
    border-radius: 2px;
    box-shadow: 0 0 10px lightgray;
    text-shadow: 1px 1px 1px white;
    z-index: 30;
}
#close-alert{
    float: right;
    position: relative;
    top: -10px;
    left: 7.5px;
    font-weight: bolder;
    text-decoration: none;
    color: rgba(0,0,0,0.5);
}
#content-alert{
    padding: 2%;
    color: #555;
    font-size: 10pt;
}
/* Specific data view style*/
#view-data-back {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.75);
    z-index: 19;
}
#view-data-back .content {
    background: white;
    position: absolute;
    width: 48%; max-height: 85%; min-height: 20%;
    top: 5%; left: 25%;
    box-shadow: 0 0 10px black;
    border-radius: 4px;
    padding: 1%;
    text-shadow: -0.5px 0.5px 0.5px black; 
    line-height: 30px;
    overflow-y: auto; 
    z-index: 20;
}
#view-data-back .content label {
    font-size: 10pt;
    margin-right: 10px; 
}
#view-data-back .content li {
    margin-left: 5%;
}
.close-data-view {
    position: absolute;
    top: 5.5%; left: 72.5%;
    z-index: 100;
    text-decoration: none;
    color: gray;
}
.close-data-view:hover{
    text-shadow: 0 0 3px black;
}
/* Menu top definition style */
#top-menu{
    width: 100%;
    height: auto;
    box-shadow: 0 4px 4px gray;
    z-index: 10;
}
#menu-top-list{
    margin-left: 5%;
}
.selectable:active {
    box-shadow: inset 0 4px 4px black !important;
}
.list-section-header{
    list-style-type: none;
    background: lightgray;
    color: white;	
    font-weight: bolder;
    text-shadow: 1px 1px 0.5px black;	
    box-shadow: 0 2px 2px black;
    padding: 5px;
    border-radius: 2px 2px 0 0;
}
.parent-op-top-menu {
    float: left;	
    list-style-type: none;
    border-radius: 2px;		
    cursor: default;
}
.parent-op-top-menu-hover{
    box-shadow: 0 -2px 5px rgb(44, 102, 175);
    background: rgba(0,0,0,0.5);
}
.span-item{
    color: white;	
    padding: 20px;
    padding-left: 10px;
    text-shadow: 0 0 4px rgb(44, 102, 175);
    font-size: 10pt;
}
.parent-op-top-menu:hover .span-item{
    text-shadow: -1px 1px 0.5px rgb(44, 102, 175); 
}
.sub-menu {
    position: absolute;
    background: white;	
    z-index: 100;
    box-shadow: 2px 3px 4px rgb(44, 102, 175);
}
.sub-menu-item:last-child{ border-radius: 0 0 2px 2px }
.sub-menu-item {
    list-style-type: none;
    padding-top: 5%;
    padding-bottom:5%;
    padding-left: 5%;
    cursor: pointer;
    color: rgb(44, 102, 175);
    min-width: 240px;
    border-bottom: gray solid 1px;
    border-left: gray solid 1px;
    font-size: 10pt;
}
.sub-menu-item img {
    float: right;
}
.sub-menu-item:hover{
    text-shadow: -1px 1px 0.5px rgb(44, 102, 175);
    box-shadow: inset 0 1px 2px rgb(44, 102, 175); 
}
#welcome-space{
    display: inline-block;
    float: right;
    color: white;
    font-size: 9pt;
    margin-top: 10px;
}
#logout-btn {
    display: inline-block;
    margin-right: 10px;
    margin-left: 10px;
    border-radius: 2px;
    background: white;
    color: brown;
    text-shadow: none;
    font-size: 8pt;
    cursor: pointer;
    box-shadow: 0 0 2px black;
}
#logo{
    width: 7%;
    float: right;
    margin-top: 5px;
    margin-right: 5px;
    border-radius: 3px;
    box-shadow: 2px 2px 2px black;	
}
/* Content central defintion style*/
#content {	
    width: 90%;
    height: auto;
    max-height: 85%;
    overflow: auto;
    position: absolute;	
    left: 7%;
    top: 9%;
    background: white;
    padding: 1%;
    box-shadow: 0 4px 2px rgb(44, 102, 175);
}
.mini-content {
    display: inline-block;
    height: auto;
    padding: 1%;
    width: 95%;
    margin-left: 1%;
}
.generic-table td{
    text-align: center;
    font-size: 9pt;
}
.title-form{
    font-weight: bold;	
    text-shadow: -1px 0.5px 0.5px lightgray;
    color: rgb(44, 102, 175);
    padding-bottom: 4px;
}
.menu-in-content {
    margin-top: 3px;
    margin-bottom: 3px;
    cursor: pointer;
    color: black;
}
.menu-in-content:hover{
    text-decoration: underline;
    font-weight: bolder;
    color: rgb(44, 102, 175);
}
.menu-in-content:active{
    box-shadow: none;	
}
/* Forms elements defintion style */
label{
    font-size: 10pt;
    color: rgb(44, 102, 175);
    text-shadow: -1px 0px 0.5px white;
    vertical-align: middle;
}
label span {
    color: #555;
    font-weight: bolder;
}
fieldset {
    border-radius: 4px;
    padding: 5px;
}
fieldset legend {
    color: gray;
    font-size: 10pt;
    font-weight: bolder;
    text-transform: uppercase;
}
.input {
    padding: 3pt;
    font-size: 10pt;
    vertical-align: middle;
}
.separted-info{
    background: #eee;
    padding: 5px;
    border-radius: 4px;
}
/* Use only not specify width */
.smaller-input{width: 10% !important;}
.small-input{width: 15% !important;}
.medium-input{width: 45% !important;}
.big-input{width: 75% !important;}
.bigger-input{width: 100% !important;}
.input:focus{
    outline: none;
    box-shadow: 0 0 5px gray;
    border: gray solid 1px;
}
.info-input{
    color: gray;
    font-size: 8.5pt;
    font-weight: normal;
}
.text-input {
    border-radius: 2px;
    padding: 4pt;
    border: gray solid 1px;
    box-shadow: inset 0 1px 4px lightgray;
}
.select-input {
    background: white;
    padding: 5pt;
    border-radius: 4px;
    border: lightgray solid 1px;
}
.invalid-input{
    background: coral;
    border: brown solid 1px;
}
.checkbox{
    background: lightgray;
    padding: 10px;
    border-radius: 2px;
    border: gray solid 1px;
    box-shadow: inset 0 1px 2px white;
}
.submit{
    color: white;
    box-shadow: 1px 1px 3px black;
}
.toolbutton{
    position: relative;
    top: 4px;
}
.float-input{
    position: fixed; 
    box-shadow: 0 0 4px black; 
    border-radius: 3px;
    background: white;
    width: 20%;
    padding: 10px;
}
/* Footer defintion style*/
/* Telefones definition space*/
#telefones-space {display: inline-block}
#add-telefone{
    background: rgb(44, 102, 175);
    color: white;
    padding: 5px;
    font-size: 12pt;
    cursor: pointer;
    border-radius: 4px;
}
.telefone-row{ margin-bottom: 5px; float: left;}
#footer { }
