::root{
  --size:1px;
}
*{ box-sizing: border-box; }
body {
  font-family: Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}

.div_field {
  display: flex;
  flex-direction: column;
  position: relative;
}

.div_field label {
  margin-bottom: 5px;
}

.div_field input,
.div_field select {
  margin-bottom: 10px;
}

@keyframes placeHolderShimmer {
  0% {
    background-position: -800px 0
  }

  100% {
    background-position: 800px 0
  }
}

.animated-background {
  animation-duration: 2s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: placeHolderShimmer;
  animation-timing-function: linear;
  background-color: #f6f7f8;
  background: linear-gradient(to right, #eeeeee 8%, #bbbbbb 18%, #eeeeee 33%);
  background-size: 800px 104px;
  height: 70px;
  position: relative;
}

.sub-rect {
  width: 100%;
  height: 500px;
  float: left;
  margin: 20px 20px 20px 0;
}

@-moz-keyframes spinner-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes spinner-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spinner-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* :not(:required) hides this rule from IE9 and below */
.spinner-loader:not(:required) {
  -moz-animation: spinner-loader 1500ms infinite linear;
  -webkit-animation: spinner-loader 1500ms infinite linear;
  animation: spinner-loader 1500ms infinite linear;
  -moz-border-radius: 0.5em;
  -webkit-border-radius: 0.5em;
  border-radius: 0.5em;
  -moz-box-shadow: rgba(0, 0, 51, 0.3) 1.5em 0 0 0, rgba(0, 0, 51, 0.3) 1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) 0 1.5em 0 0, rgba(0, 0, 51, 0.3) -1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) -1.5em 0 0 0, rgba(0, 0, 51, 0.3) -1.1em -1.1em 0 0, rgba(0, 0, 51, 0.3) 0 -1.5em 0 0, rgba(0, 0, 51, 0.3) 1.1em -1.1em 0 0;
  -webkit-box-shadow: rgba(0, 0, 51, 0.3) 1.5em 0 0 0, rgba(0, 0, 51, 0.3) 1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) 0 1.5em 0 0, rgba(0, 0, 51, 0.3) -1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) -1.5em 0 0 0, rgba(0, 0, 51, 0.3) -1.1em -1.1em 0 0, rgba(0, 0, 51, 0.3) 0 -1.5em 0 0, rgba(0, 0, 51, 0.3) 1.1em -1.1em 0 0;
  box-shadow: rgba(0, 0, 51, 0.3) 1.5em 0 0 0, rgba(0, 0, 51, 0.3) 1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) 0 1.5em 0 0, rgba(0, 0, 51, 0.3) -1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) -1.5em 0 0 0, rgba(0, 0, 51, 0.3) -1.1em -1.1em 0 0, rgba(0, 0, 51, 0.3) 0 -1.5em 0 0, rgba(0, 0, 51, 0.3) 1.1em -1.1em 0 0;
  display: inline-block;
  font-size: 5px;
  width: 1em;
  height: 1em;
  margin: 1.5em;
  overflow: hidden;
  text-indent: 100%;
}

.button_pesquisar_substituicao,
.button_limpar {
  cursor: pointer;
}

.roboto-thin {
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.roboto-light {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.roboto-regular {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.roboto-medium {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.roboto-bold {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.roboto-black {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.roboto-thin-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.roboto-light-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.roboto-regular-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.roboto-medium-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.roboto-bold-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.roboto-black-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-style: italic;
}


.custom-select {
  min-width: 100%;
  position: relative;
}




.custom-select select {
  appearance: none;
  width: 100%;
  font-size: 1rem;
  padding: 10px 18px 10px 10px;
  /* background-color: #F5F5F5; */
  border:1px solid #ddd;   border-radius:5px;
  color: #707070;
  cursor: pointer;
}

.custom-select select:disabled {
  background-color: #F5F5F5;
}

.custom-select::before,
.custom-select::after {
  --size: 0.3rem;
  content: "";
  position: absolute;
  right: 1rem;
  pointer-events: none;
}

.custom-select::before {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-bottom: var(--size) solid black;
  top: 30%;
}

.custom-select::after {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-top: var(--size) solid black;
  top: 46%;
}


header.main-header{ 
  background-color: white;
  color: #54595F;
  padding: 10px;
  text-align: center;
}

header.main-header{ box-shadow: 0 10px 20px 0  rgba(0, 0, 0, 0.13);}
header.main-header section{ max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-around; }

header.main-header section a {  display:flex; justify-content: start; max-width: 100px; }
header.main-header section a img{ width: 80px; }
header.main-header section div { text-align: right; display: flex; flex-direction: column; width: 100%; justify-content: end; }
header.main-header section div h1{ color:#494FFE; margin-bottom:0px; margin-top:0px; text-align: right; font-size: 2rem; }
header.main-header section div p{ color:#54595F;  margin-top:0px;  margin-bottom:0px; font-weight: 300 !important; text-align: right;  font-size: .9rem; }


.div_buscar_rede{ max-width: 1200px; margin: 0 auto; padding: 80px 0px; }
.div_buscar_rede form {  border-radius: 5px; border: 1px solid #eee; padding: 40px;  }
.div_buscar_rede form div label{  color:#54595F;  }
.div_buscar_rede form div input{  padding: 10px; border-radius: 5px; border:1px solid #ddd;  }

.button_acao.button_pesquisar{ color:#fff; background-color: #494FFE; border: 1px solid #494FFE; padding: 10px 20px; border-radius: 5px; margin-top: 10px; font-weight: bold; transition: all .3s ease; cursor: pointer;}
.button_acao.button_pesquisar:hover{ background-color: #FF9E20; border: 1px solid #FF9E20; transition: all .3s ease;}

.button_limpar{ position: absolute; top:44px; right: 34px; color: tomato; font-size: 16px;}
.spinner-loader{ position: absolute; top:39px; right: -29px; color: tomato; font-size: 16px; }

.qualificacao{ max-width: 1200px !important; margin: 0 auto !important;  padding:30px 20px !important ; border-radius: 5px; border: 1px solid #ddd; }
.qualificacao div .col-12 .header{  padding: 20px; border-bottom: 1px solid #ddd; margin-bottom: 40px !important;  }
.qualificacao div .col-12 .header .col-12{ font-size: 16px; font-weight: bold; color:#494FFE; }
.qualificacao div .col-12 .header .col-12 a{ font-size: 11px; font-weight: normal; color:#54595F; }

.col-md-7.col-xs-6{ font-size: 11px;  }
.icons .row{ margin-bottom: 10px; line-height: 1.2; }


footer{ padding:2rem 0 5rem 0; margin-top:100px; background: #F6F6F6; }
footer.footer section{ max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-around; }

footer.footer section.section-footer-1{  padding: 2rem 0; display: flex; align-items: start; }
footer.footer section.section-footer-1 > div{ width: 20%; }
footer.footer section.section-footer-1 > div h2{ color:#000000; text-transform: uppercase; font-weight: bold; font-size: 1rem; margin-bottom: 1rem;  }
footer.footer section.section-footer-1 ul{ width: 100%; text-align: left; list-style: none; display: flex; flex-direction:column; margin-bottom: 0;  padding-inline-start: 0px; }
footer.footer section.section-footer-1 ul li{ text-align: right; display: flex; justify-content: start;  }
footer.footer section.section-footer-1 ul li a{ text-decoration: none; color:#000000;  font-weight: 300;   font-size: .9rem; }
footer.footer section.section-footer-1 ul li a:hover{ color:#494FFE; }

footer.footer section.section-footer-2{ border-top: 4px solid #FF9E20; padding: 2rem 0; display: flex; justify-content: space-between; }
footer.footer section.section-footer-2 h2{ width: 480px; text-align: left; color:#000 000; text-transform: uppercase; font-weight: 400; font-size: 1rem; margin-bottom: 0; font-weight: bold;  }
footer.footer section.section-footer-2 h2 a{color:#000000; text-decoration: none; }
footer.footer section.section-footer-2 ul{ width: 100%; text-align: left; list-style: none; display: flex; justify-content: space-between; margin-bottom: 0; }
footer.footer section.section-footer-2 ul li{ text-align: right; display: flex; justify-content: end; }
footer.footer section.section-footer-2 ul li a{ text-decoration: none; color:#000000; font-weight: 300; font-size: .9rem; }
footer.footer section.section-footer-2 ul li a:hover{ color:#494FFE;   }


footer.footer section.section-footer-3{ border-top: 1px solid #54595F; padding-top: 1rem; }
footer.footer section.section-footer-3 > div{ display: flex; flex-direction: row; width: 33.333%; }

div.enderecos { flex-direction: column !important; color:#000000;  }
div.enderecos h3{ font-size: 11px; font-weight: bold;  margin-bottom: 4px; margin-top: 14px; }
div.enderecos p{ font-size: 11px; font-weight: normal; margin-bottom: 4px; }
div.enderecos copyright{ font-size: 11px; font-weight: normal; margin-bottom: 4px; }
div.sinnapse { text-align: center; justify-content: center; }
div.sinnapse img{ max-width: 150px; }
div.logos { text-align: center; justify-content: center; gap:2rem; }
div.logos img{ max-width: 100px; height: 100px; object-fit: contain;  }

.div_skeleton { width: 1200px; margin: 0 auto; }

@media(max-width:768px){

  header.main-header section{ max-width:300px;}
  header.main-header section div h1{ font-size: 1rem; }
  header.main-header section div p{ font-size: .8rem; line-height: 1.1; }
  header.main-header section a img{ width: 50px; }
  header.main-header section a {   width: 80px; }

  .div_buscar_rede{  max-width: 300px; padding: 20px 0px; }
  .qualificacao { max-width: 300px !important; padding: 10px;}
  .qualificacao div .col-12 .header .col-12 { text-align: center;}
  .qualificacao div .col-12 .header .col-12.text-end { text-align: center !important; }
  .col-xs-6{ max-width: 100%;}
  .col-xs-6.text-end{ text-align: right; max-width: 30%; }
  .col-md-7.col-xs-6{ max-width: 60%; width: 60%; }
  .img-responsive{ max-width: 40px;}

  footer.footer section{ max-width: 300px; }
  footer.footer section.section-footer-1{ flex-direction: column; }
  footer.footer section.section-footer-1 > div{ width: 100%; margin-bottom: 40px; }

  footer.footer section.section-footer-2{ flex-direction: column; }
  footer.footer section.section-footer-2 h2{ width: 100%; margin-bottom: 1rem; }
  footer.footer section.section-footer-2 ul{ flex-direction:column ;  justify-content: start;  padding-inline-start: 0px; }
  footer.footer section.section-footer-2 ul li{ text-align: right; display: flex; justify-content: start; margin-bottom: 10px; }
  div.sinnapse { align-items: center; justify-content: center; }

  footer.footer section.section-footer-3{ flex-direction: column;  }
  footer.footer section.section-footer-3 > div{  width: 100%; margin-bottom: 50px; flex-direction: column;  }
  div.logos { align-items: center; justify-content: center; gap:2rem; }
  div.logos img{ max-width: 180px; height: 80px; object-fit: contain;  }

  .div_skeleton { width: 300px; margin: 0 auto; }
}

.campo_obrigatorio {
  border: 1px solid red !important;
}

.loader_pesquisar {
  position: inherit;
}

.button_acao:disabled {
  background-color: #8a94f9;
  border: 1px solid #c5c6eb
}

.div_imprimir {
  cursor: pointer;
}

@media print {
  body * {
    visibility: hidden;
  }

  .print_div, .print_div * {
    visibility: visible;
  }

  .print_div {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}

.div_resultados p.titulo {
  color: #0084b1;
  font-size: 18px;
  font-weight: 700;
  vertical-align: bottom;
}

.div_nenhum_prestador {
  text-align: center;
  padding-top: 50px;
}