@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700|Open+Sans:400,300);

@media screen {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family: 'Montserrat', sans-serif;
  }
  .container-fluid {
    padding: 0;
  }
  .body {
    margin: 0;
    padding: 0;
  }
  div .topo {
    width: 100%;
    height: 50px;
    background-color: #226;
    border-bottom: 1px solid #113;
  }
  div .topo .title {
    padding: 15px 15px;
    margin-left: 15px;
    font-weight: bold;
    color: #e9e9f9;
  }
  .navMenu {
    position: fixed;
    display: flex;
    align-items: flex-start;
    width: 18%;
    height: 95%;
    background-color: #113;
    overflow: scroll;
  }
  .main {
    position: fixed;
    right: 0;
    width: 82%;
    height: 100%;
    background-color: #f3f3f3;
    overflow: auto;
    padding: 20px;
    margin-left: 18%;
  }
  .main-content {
    padding: 8px 15px;
    font-size: .875rem;
  }
  .tableList {
    height: 520px;
    min-height: 520px;
    max-height: 520px;
    overflow: hidden;
  }
  div.tab-grid {
    height: 350px;
    min-height: 350px;
    max-height: 350px;
  }
  tab-grid tr{
    height: 31px;
    min-height: 31px;
    max-height: 31px;
  }
  h1 {
    font-weight: bold;
    margin-bottom: 50px;
    font-size: 2	rem;
    text-align: center;
  }
  p {
    margin-bottom: 20px;
    line-height: 26px;
  }
  .li-menu, .ul-menu label.title, .ul-menu, a {
    width: 100%;
    color: #e9e9f9;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    display: block;
    font-weight: bold;
    height: auto;
  }
  .ul-menu label {
    height: 35px;
  }
  .ul-menu {
    padding: 0;
  }
  .ul-menu .li-menu {
    height: 35px;
    overflow: hidden;
    border-bottom: 1px solid #113;

    transition: all .3s;
  }
  .li-menu {
    display: block;
    background-color: #579;
  }
  label.title {
    font-size: .875rem;
    background: #226;
    padding: 10px 15px;
    cursor: pointer;

    transition: all .25s;
  }
  .sub-menu {
    font-size: 12px;
    text-decoration: none;
    color: #e9e9f9;
    display: block;
    padding: 10px 25px;
    border-bottom: 0.5px solid #226;

    transition: all .25s;
  }
  .sub-menu:hover {
    background-color: #336;
    box-shadow: inset 5px 0px 0px 0px #e9e9f9;
  }
  .centralizar {
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 31px;
    max-height: 31px;
  }
  .centralizar button {
    margin-left: 8px;
  }
  .li-menu label:hover {
    text-shadow: 0px 0px 10px #e9e9f9;
  }
  label {
    margin-bottom: 0;
  }
  input[type="checkbox"].menuverx{
    display: none;
  }
  input[type="checkbox"]:checked.menuverx + li {
    height: auto;
  }
  i {
    margin-left: 8px;
    margin-right: 8px;
  }
  label.error {
    border: 1px solid #f99;
  }
  input.error {
    border: 1px solid #f99;
  }
  textarea.error {
    border: 1px solid #f99;
  }
  select.error {
    border: 1px solid #f99;
  }
  .selected-line {
    background-color: rgba(0,0,0,.085)
  }
  .opcional {
    color: #888;
  }
  .card-form {
    padding: 15px;
  }
  .form-group, .input-group {
    margin-bottom: 8px!important;
  }
  .ui-widget-overlay {
    background: #aaaaaa;
    opacity: .75;
    filter: Alpha(Opacity=75);
    backdrop-filter: blur(10px) !important;
  }
  #overlay{
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    height:100%;
    display: none;
    background: rgba(0,0,0,0.6);
  }
  .cv-spinner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .spinner {
    width: 40px;
    height: 40px;
    border: 4px #ddd solid;
    border-top: 4px #226 solid;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
  }
  @keyframes sp-anime {
    100% {
      transform: rotate(360deg);
    }
  }
  .is-hide{
    display:none;
  }
}
@media only screen and (max-width: 600px) {
	nav {
		width: 100%;
		position: relative;
	}
	.main {
		position: relative;
		width: 100%;
		margin: 0;
		padding: 0;
	}
}

@media print {
  @page {
    size: A4 portrait;
  }
  body * {
    visibility: hidden;
  }
  #main {
    position: absolute;
    margin-left: 50px;
    width: 100%;
    overflow: visible !important;
    display: block !important;
  }
  #print-area,  #print-area * {
    visibility: visible !important;
  }
  #print-area {
    font-size: 1.3rem;
    margin-left: 50px;
    page-break-before: always !important;
  }
  .page-break {
    page-break-before: always;
  }
}

