@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root{
  --border-radius-sm: 5px;
  --border-radius-md: 10px;
  --border-radius-lg: 15px;
  --border-radius-xl: 30px;

  --color-white: #FFF;
  --color-black: #000;

  --color-gray-100: #D5D9E0;
  --color-gray-200: #CCC;
  --color-gray-300: #AAA;
  --color-gray-400: #999;
  --color-gray-500: #888;
  --color-gray-600: #5f6368;
  --color-gray-700: #444;
  --color-gray-800: #222;
  --color-gray-900: #111;
  
  --color-primary: #004990;
  --color-secondary: #007161;
  --color-tertiary: #FFD457;

  --color-border: #E6EAF2;
  --color-danger: #E53935;
  --color-info: #00AAEE;
  --color-success: #2E7D32;
  --color-warning: #F9A825; }

*{
  /* background-color: rgba(0,255,255,.1); */
  box-sizing: border-box; }

a{
  color: inherit;
  outline: none;
  text-decoration: none; }

address{
  font-size: .875rem;
  font-style: normal;
  line-height: 1.6em; }

body{
  background-color: var(--color-white);
  color: var(--color-gray-900);
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.2em;
  position: relative; }

form button,
form input[type="submit"]{
  background-color: var(--color-gray-900);
  border: none;
  border-radius: var(--border-radius-md);
  color: var(--color-white);
  cursor: pointer;
  display: inline-block;
  margin-top: 0;
  outline: none;
  padding: 15px 25px;
  transition: background .1s ease-in-out; }
form button:focus,
form button:hover,
form input[type="submit"]:focus,
form input[type="submit"]:hover{
  background-color: var(--color-primary);
  text-decoration: none; }
form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]){
  border: var(--color-gray-100) 1px solid;
  border-radius: var(--border-radius-md);
  display: block;
  margin-bottom: 5px;
  outline: none;
  padding: 15px 20px;
  transition: border .2s ease-in-out;
  width: 100%; }
form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus{ border-color: var(--color-gray-400); }
form input::-webkit-input-placeholder { color: var(--color-gray-200); }
form input:-ms-input-placeholder { color: var(--color-gray-200); }
form input::-ms-input-placeholder { color: var(--color-gray-200); }
form label{
  color: var(--color-gray-900);
  display: inline-block;
  margin-bottom: 10px; }
form label + small{
  color: var(--color-gray-500);
  display: block;
  margin-bottom: 10px;
  margin-top: -10px; }
form select{
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-position: right 15px center;
  background-repeat: no-repeat;
  background-size: 10px;
  border: var(--color-gray-100) 1px solid;
  border-radius: var(--border-radius-md);
  display: block;
  margin-bottom: 5px;
  outline: none;
  padding: 15px 20px;
  transition: border .2s ease-in-out;
  width: 100%; }
form select:focus{ border-color: var(--color-gray-400); }
form textarea{
  border: var(--color-gray-100) 1px solid;
  border-radius: var(--border-radius-md);
  display: block;
  margin-bottom: 5px;
  outline: none;
  padding: 20px;
  resize: none;
  transition: border .2s ease-in-out;
  width: 100%; }
form textarea:focus{ border-color: var(--color-gray-500); }
form .form-group + .form-group{ margin-top: 20px; }
form .form-group + h5{ margin-top: 40px; }

h1, h2, h3, h4, h5, h6{
  color: var(--color-gray-800);
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  font-weight: 500;
  letter-spacing: -.05rem;
  line-height: 1.2em;
  margin: 10px 0;
  padding: 0; }
h1{ font-size: 3rem; }
h2{
  font-size: 2.5rem;
  font-weight: 300; }
h2 em{ font-weight: 700; }
h2 strong{ font-weight: 700; }
h3{ font-size: 2rem; }
h4{ font-size: 1.4rem; }
h5{ font-size: 1.2rem; }
h6{ font-size: 1.1rem; }
h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p{ margin-top: 10px; } 

hr{
  border: none;
  border-top: var(--color-border) 1px solid;
  margin: 20px auto;
  padding: 0; }

main{
  max-width: 100%;
  min-height: 600px;
  overflow: hidden;
  padding: 40px 0;
  position: relative;
  z-index: 300; }

p{
  line-height: 1.6em;
  margin: 10px 0 0 0; }

section{
  position: relative;
  z-index: 300; }

small{
  font-weight: 400;
  font-size: .8rem; }

ul{
  list-style: none;
  margin: 0;
  padding: 0; }

.box{
  background-color: var(--color-black);
  border-radius: var(--border-radius-md);
  color: var(--color-white);
  margin-bottom: 20px;
  padding: 20px; }
.box.box-info{ background-color: var(--color-info); }

.current-menu-item a{
  color: var(--color-secondary) !important;
  font-weight: 700 !important;
  letter-spacing: -.035rem; }

.footer{
  position: relative;
  z-index: 400; }
.footer p{
  font-size: .875rem;
  font-style: normal;
  line-height: 1.8em; }
.footer h2{ font-size: 3rem; }
.footer h3{
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 10px 0; }
.footer hr{ margin: 60px auto; }
.footer .line .col-1{ width: 40%; }
.footer .line .col-2{ width: 20%; }
.footer .line .col-3{ width: 20%; }
.footer .line .col-4{ width: 20%; }
.footer .line-1{
  background: url(../images/footer-bg.png) 50% 0 no-repeat;
  padding: 60px 0; }
.footer .line-2{
  color: var(--color-gray-400);
  padding: 20px 0; }
.footer .logo{
  display: inline-block;
  margin-bottom: 10px; }
.footer .logo img{
  filter: grayscale(1);
  max-height: 30px; }
.footer .logo + p{
  font-size: .8125rem;
  margin-top: 0;
  max-width: 60%; }
.footer .menu-footer li{ margin-bottom: 5px; }
.footer .menu-footer a{
  font-size: .8125rem;
  transition: color .2s ease-in-out; }
.footer .menu-footer a:focus,
.footer .menu-footer a:hover{ color: var(--color-secondary); }
.footer .menu-social a{ transition: opacity .2s ease-in-out; }
.footer .menu-social a:focus,
.footer .menu-social a:hover{ opacity: .8; }
.footer .menu-social li{ display: inline-block; }
.footer .menu-social li + li{ margin-left: 10px; }
.footer .menu-social .link-facebook{
  background: url(../images/icon-facebook.svg) 50% 50% no-repeat;
  background-size: 100% auto;
  display: inline-block;
  height: 20px;
  overflow: hidden;
  position: relative;
  text-indent: 1000%;
  width: 20px; }
.footer .menu-social .link-instagram{
  background: url(../images/icon-instagram.svg) 50% 50% no-repeat;
  background-size: 100% auto;
  display: inline-block;
  height: 20px;
  overflow: hidden;
  position: relative;
  text-indent: 1000%;
  width: 20px; }
.footer .menu-social .link-linkedin{
  background: url(../images/icon-linkedin.svg) 50% 50% no-repeat;
  background-size: 100% auto;
  display: inline-block;
  height: 20px;
  overflow: hidden;
  position: relative;
  text-indent: 1000%;
  width: 20px; }

.header{
  background-color: var(--color-white);
  border-bottom: var(--color-border) 1px solid;
  height: 95px;
  padding: 15px 0;
  position: relative;
  z-index: 500; }
.header .logo{
  position: relative;
  z-index: 10; }
.header .logo a{
  display: block;
  height: auto;
  padding: 10px 0;
  transition: all .2s ease-in-out; }
.header .logo a:focus,
.header .logo a:hover{ transform: scale(1.05); }
.header .logo a img{ max-width: 115px; }
.header .margin{
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 20px; }

.link{
  border-bottom: var(--color-gray-100) 1px solid;
  transition: border .2s ease-in-out, color .2s ease-in-out; }
.link:focus,
.link:hover{
  border-color: var(--color-secondary);
  color: var(--color-secondary); }

.link-menu{
  background: var(--color-white) url(../images/icon-menu.png) 100% 0 no-repeat;
  background-size: 100% auto;
  border-radius: var(--border-radius-sm);
  height: 34px;
  margin-top: -4px;
  overflow: hidden;
  text-indent: 1000%;
  white-space: nowrap;
  width: 34px;
  z-index: 10; }

.lista-estados{
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: flex-start;
  margin-top: 40px; }
.lista-estados ul{
  background-color: var(--color-white);
  border: var(--color-gray-100) 1px solid;
  border-radius: var(--border-radius-md);
  list-style: none;
  margin: 0;
  min-width: 280px;
  padding: 20px; }
.lista-estados ul li{
  cursor: default;
  display: table;
  padding: 5px 0 5px 18px;
  position: relative;
  transition: all .1s ease-in-out; }
.lista-estados ul li:before {
  content: '›';
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 300;
  left: 0;
  line-height: .8em;
  position: absolute;
  top: 5px; }
.lista-estados ul li:focus:before,
.lista-estados ul li:hover:before{ font-weight: 300; }

.margin{
  margin: 0 auto;
  max-width: 1400px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
.margin-small{ max-width: 800px; }

.menu-main{
  display: flex;
  justify-content: space-between;
  width: 100%; }
.menu-main ul{
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%; }
.menu-main ul li{ position: relative; }
.menu-main ul li:last-child{
  margin-left: auto;
  margin-right: 0; }
.menu-main ul li:last-child:after{ display: none; }
.menu-main ul li:last-child a{
  background-color: var(--color-primary);
  border-radius: var(--border-radius-md);
  color: var(--color-white);
  font-weight: 400;
  letter-spacing: 0rem;
  transition: background .2s ease-in-out, color .2s ease-in-out; }
.menu-main ul li:last-child a:focus,
.menu-main ul li:last-child a:hover,
.menu-main ul li.current-menu-item:last-child a{
  background-color: var(--color-secondary);
  color: var(--color-white) !important;
  font-weight: 400 !important; }
.menu-main ul li + li:after{
  background-color: var(--color-gray-100);
  border-radius: var(--border-radius-md);
  content: "";
  display: inline-block;
  height: 6px;
  left: -3px;
  position: absolute;
  top: calc(50% - 3px);
  width: 6px; }
.menu-main a{
  background-color: var(--color-white);
  color: var(--color-gray-900);
  cursor: pointer;
  display: block;
  font-weight: 400;
  padding: 15px 20px;
  position: relative;
  text-decoration: none;
  transition: all .2s ease-in-out; }
.menu-main a:focus,
.menu-main a:hover{
  color: var(--color-secondary);
  font-weight: 400; }

.pagina-banner{
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  min-height: 600px;
  padding: 40px 0 0 60%;
  text-align: right; }
.pagina-banner a{
  background-color: var(--color-white);
  border: var(--color-primary) 1px solid;
  border-radius: var(--border-radius-md);
  color: var(--color-primary);
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  margin-top: 20px;
  outline: none;
  padding: 15px 25px;
  transition: color .1s ease-in-out, background .1s ease-in-out; }
.pagina-banner a:focus,
.pagina-banner a:hover{
  background-color: var(--color-primary);
  color: var(--color-white);
  text-decoration: none; }
.pagina-banner h2{ font-weight: 300; }
.pagina-banner h2 em{
  color: var(--color-primary);
  font-style: italic;
  font-weight: 700; }
.pagina-banner p{ font-size: .9375rem; }

.pagina-content b,
.pagina-content strong{ font-weight: 600; }
.pagina-content h6{ margin: 20px 0 10px 0; }
.pagina-content p{ white-space: normal; }
.pagina-content h1 [style],
.pagina-content p [style]{
  background: none !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important; }
.pagina-content .line + .line{ margin-top: 40px; }
.pagina-content .pagina-admin a{
  border-bottom: var(--color-gray-100) 1px solid;
  transition: border .2s ease-in-out, color .2s ease-in-out; }
.pagina-content .pagina-admin a:focus,
.pagina-content .pagina-admin a:hover{
  border-color: var(--color-secondary);
  color: var(--color-secondary); }
.pagina-content .pagina-admin a em{
  background-color: var(--color-primary);
  border: none;
  border-radius: var(--border-radius-md);
  color: var(--color-white);
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  margin-top: 10px;
  padding: 15px 20px;
  transition: background .2s ease-in-out; }
.pagina-content .pagina-admin a:focus em,
.pagina-content .pagina-admin a:hover em{ background-color: var(--color-secondary);}
.pagina-content .pagina-admin h1{
  font-weight: 300;
  margin-bottom: 20px; }
.pagina-content .pagina-admin h1 strong{ font-weight: 600; }
.pagina-content .pagina-admin h2{
  display: block;
  font-size: 1.6rem;
  margin: 20px 0 0 0; }
.pagina-content .pagina-admin h3{
  display: block;
  font-size: 1.5rem;
  margin: 20px 0 0 0; }
.pagina-content .pagina-admin h4{
  display: block;
  font-size: 1.4rem;
  margin: 20px 0 0 0; }
.pagina-content .pagina-admin h5{
  display: block;
  font-size: 1.3rem;
  margin: 20px 0 0 0; }
.pagina-content .pagina-admin h6{
  display: block;
  font-size: 1.2rem;
  margin: 20px 0 0 0; }
.pagina-content .pagina-admin ol{
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  margin: 10px 0 0 0;
  padding: 0; }
.pagina-content .pagina-admin ol li{
  border: var(--color-border) 1px solid;
  border-radius: var(--border-radius-sm);
  padding: 15px; }
.pagina-content .pagina-admin ol li em{
  display: block;
  font-style: normal;
  margin-top: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  position: relative;
  transition: margin .2s ease-in-out, max-height .2s ease-in-out, opacity .2s ease-in-out; }
.pagina-content .pagina-admin ol li.ativo em{
  margin-top: 10px;
  max-height: 500px;
  opacity: 1;
  transition: margin .2s ease-in-out, max-height .5s ease-in-out, opacity .2s ease-in-out; }
.pagina-content .pagina-admin ol li strong{
  cursor: pointer;
  display: block;
  position: relative; }
.pagina-content .pagina-admin ol li strong:after{
  content: '>';
  display: block;
  font-size: 1.5rem;
  font-weight: 300;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotateZ(90deg) scaleX(50%);
  transition: color .2s ease-in-out; }
.pagina-content .pagina-admin ol li strong:hover,
.pagina-content .pagina-admin ol li.ativo strong{ color: var(--color-primary); }
.pagina-content .pagina-admin ol li.ativo strong:after{ transform: rotateZ(270deg) scaleX(50%); }
.pagina-content .pagina-admin ul{
  line-height: 1.6em;
  list-style: disc;
  margin: 10px 0 0 20px; }

.pagina-estados{
  background: url(../images/estados-bg.png) 100% 0 no-repeat;
  background-size: 700px auto;
  min-height: 640px; }

.pagina-form h5{ margin: 0 0 20px 0; }

.pagina-imagem img{
  border-radius: var(--border-radius-lg);
  height: auto;
  max-width: 100%;
  transition: transform .2s ease-in-out, box-shadow .2s ease-in-out; }
.pagina-imagem img:hover{
  box-shadow: 0 10px 40px rgba(0,0,0,.05);
  transform: scale(1.02); }

.pagina-itens{
  display: flex;
  flex-direction: column;
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0; }
.pagina-itens li{
  display: flex;
  flex-direction: row-reverse;
  gap: 40px;
  justify-content: flex-end; }
.pagina-itens li .pagina-imagem img{ max-width: 280px; }

.status{
  background-color: var(--color-black);
  border-radius: var(--border-radius-md);
  color: var(--color-white);
  margin-bottom: 20px;
  padding: 20px; }
.status.status-error{ background-color: var(--color-danger); }
.status.status-success{ background-color: var(--color-success); }

.swiper {
  margin-top: 40px;
  width: 100%; }
.swiper-slide {
  background-color: var(--color-white);
  border: var(--color-gray-100) 1px solid;
  border-radius: var(--border-radius-md);
  display: flex;
  padding: 20px;
  justify-content: center; }
.swiper-slide img{
  filter: grayscale(1);
  height: auto;
  max-width: 100%;
  opacity: .5;
  transition: all .2s ease-in-out; }
.swiper-slide:focus img,
.swiper-slide:hover img{
  filter: none;
  opacity: 1; }

.text-center{ text-align: center; }
.text-left{ text-align: left; }
.text-right{ text-align: right; }

.visible-desktop{ display: block; }
.visible-mobile{ display: none; }

@media screen and (max-width: 1300px){

  .header .logo a img{ max-width: 100px; }
  .header .margin{ gap: 15px; }

  .menu-main a{
    font-size: .8rem;
    padding: 15px; }

}

@media screen and (max-width: 992px){

  body{
    font-size: .9rem;
    padding-top: 62px; }


    form button,
  form input[type="submit"]{
    width: 100%;
    padding: 15px; }
  form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]){
    font-size: 16px;
    padding: 15px; }
  form textarea{
    font-size: 16px;
    padding: 15px; }

  h1{ font-size: 2.2rem; }
  h2{ font-size: 1.6rem; }
  h3{ font-size: 1.5rem; }

  main{ padding: 20px 0; }

  .footer h2{ font-size: 1.8rem; }
  .footer .line .col-1,
  .footer .line .col-2,
  .footer .line .col-3,
  .footer .line .col-4{
    margin: 15px 0;
    width: 100%; }
  .footer .line-1{
    background-size: auto 100%;
    padding: 30px 0; }
  .footer .line-2 .line .unit,
  .footer .line-2 .line .unitExt{
    margin: 10px 0;
    text-align: center;
    width: 100% !important; }
  .footer .logo + p{ max-width: 100%; }

  .header{
    background-color: rgba(255, 255, 255, .95);
    height: 62px;
    padding: 15px 0;
    position: fixed;
    top: 0;
    width: 100%; }
  .header .logo a{ padding: 0; }
  .header .logo a img{ max-width: 88px; }
  .header .margin{
    gap: 0;
    justify-content: space-between;
    width: 100%; }
  .header.menu-mobile-open .link-menu{ background-image: url(../images/icon-menu-close.png); }
  .header.menu-mobile-open .menu-main{
    background-color: rgba(255, 255, 255, 1);
    left: 0%; }
  
  .lista-estados{
    flex-direction: column;
    gap: 20px;
    margin-top: 80vw; }
  .lista-estados ul{ background-color: rgba(255, 255, 255, .7); }

  .margin{
    margin: 0;
    width: 100%; }

  .menu-main{
    background-color: rgba(255, 255, 255, 0);
    height: 100%;
    left: 100%;
    padding: 60px 20px 20px 20px;
    position: fixed;
    transition: background .2s ease-in-out, left .2s ease-in-out;
    top: 0; }
  .menu-main a{
    font-size: .9rem;
    padding: 15px 0; }
  .menu-main ul{ flex-direction: column; }
  .menu-main ul li:last-child{ margin-left: 0; }
  .menu-main ul li:last-child a{
    margin-left: -15px;
    margin-right: -15px;
    padding: 15px; }
  .menu-main ul li + li:after{ display: none; }

  .pagina-banner{
    background-size: 1000px auto;
    margin-left: -25px;
    margin-right: -25px;
    padding: 20px 25px 0 25px; }
  .pagina-banner a{ padding: 15px; }

  .pagina-content .line{
    display: flex;
    flex-direction: column;
    gap: 20px; }
  .pagina-content .line .unit,
  .pagina-content .line .unitExt{ width: 100% !important; }
  .pagina-content .line + .line{ margin-top: 20px; }
  .pagina-content .pagina-admin h1{ margin-bottom: 10px; }

  .pagina-estados{
    background-position: 50% 80px;
    background-size: 90% auto; }

  .pagina-itens li{
    flex-direction: column;
    gap: 20px; }
  .pagina-itens li .pagina-imagem img{ max-width: 100%; }

  .visible-desktop{ display: none; }
  .visible-mobile{ display: block; }

}

@media screen and (max-width: 768px){

  .pagina-banner{
    background-size: 768px auto;
    text-align: center; }
  .pagina-banner h2{ margin-top: 0; }

}