/*
  STYLE v 1.1;
  05/2023;
  João Diogo Pereira;
*/

:root{
  --red: red;
  --white: white;
  --black: black;
  --gray: lightgray;
  --headerSize: 82px;
}

/*FONTS*/

@font-face {
  font-family: 'Montserrat';
  src: url(../fonts/Montserrat.ttf) format('truetype');
}

@font-face {
  font-family: 'Overpass';
  src: url(../fonts/Overpass.ttf) format('truetype');
}

/*GERAL*/

*{
  font-family: 'Overpass', 'sans-serif'!important;
}

html {
  overflow-x: hidden; 
}

.main-container {
  margin: 0 auto;
  width: 90%; 
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0; 
}

a {
  text-decoration: none; 
}

.row {
  margin: 0;
  padding: 0; 
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; 
}

main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; 
}

body:not(.home) main{
  margin-top: var(--headerSize);
}

.preloader{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  display: flex;
  background-color: color-mix(in srgb, var(--white) 90%, transparent);
}

.preloader svg{
  width: 25%;
}
.preloader svg path{
  stroke: var(--red);
}

img{
  max-width: 100%;
  display: inline-block;
}

.bg-gray{
  background-color: var(--gray);
}

#mapid{
  width: 100%;
  aspect-ratio: 16/9;
  z-index: 0;
}

.page__img{
  width: 100%;
  aspect-ratio: 8/7;
}

.page__img img{
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  object-position: right center;
}

.page__banner{
  height: 25vh;
  height: 25dvh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

h1{
  font-family: 'Overpass', 'sans-serif'!important;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -1px;
  line-height: 120%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  padding-bottom: .25rem;
  border-bottom: solid 1px var(--red);
}

h2, .page__title{
  text-transform: uppercase;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -1px;
  line-height: 120%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  margin-bottom: .5rem;
}

.page__content *:not(h1):not(h2){
  font-family: 'Montserrat'!important;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: .5px;
  line-height: 120%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.page__content a{
  font-family: 'Montserrat'!important;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: .5px;
  line-height: 100%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.page__content strong{
  font-weight: 600!important;
}

.page__content .fw-bold *{
  font-weight: 600!important;
}

.page__content a:hover{
  color: var(--red);
  text-decoration-color: var(--red);
}

.page__content ul{
  list-style-type: disc;
  padding-left: 1rem;
  margin-bottom: 1rem;
}

.page__content ol{
  list-style-type: decimal;
  padding-left: 1rem;
  margin-bottom: 1rem;
}

.page__content *:last-child{
  margin-bottom: 0;
}

.inputs{
  border-radius: 5px;
  border: solid 1px var(--black);
  padding: .5rem 1rem;
  font-family: 'Montserrat'!important;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: .5px;
  line-height: 100%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  width: 100%;
}

input[type="checkbox"]{
  accent-color: var(--red);
}

.btns{
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -1px;
  line-height: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  text-decoration: none;
  padding: .5rem 1rem;
  transition: all .3s ease-in-out;
}

.btns.selected{
  pointer-events: none;
}

.btns--red{
  background-color: var(--red);
  border-radius: 5px;
  border: solid 1px var(--red);
  color: var(--white);
}

.btns--gray{
  background-color: var(--gray);
  border-radius: 5px;
  border: solid 1px var(--gray);
  color: var(--black);
}

.btns--red:hover, .btns--gray:hover, .btns--gray.selected{
  background-color: transparent;
  border: solid 1px red;
  color: var(--red);
}

.labels{
  text-transform: uppercase;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -1px;
  line-height: 100%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.labels--small{
  font-family: 'Montserrat'!important;
  text-transform: none;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .5px;
  color: var(--black);
}

.labels--small a{
  font-family: 'Montserrat'!important;
  text-transform: none;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .5px;
  color: var(--black);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.labels--small a:hover{
  color: var(--red);
  text-decoration-color: var(--red);
}

.comunicacao{
  border-radius: 5px;
  border: solid 1px var(--red);
  transform: translateY(0);
  box-shadow: 0 2px 4px 0px rgba(0, 0, 0 , .25);
  transition: all .3s ease-in-out;
}

.comunicacao:hover{
  transform: translateY(-4px);
  box-shadow: 0 4px 6px 0px rgba(0, 0, 0 , .25);
}

.comunicacao__img{
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 5px;
  overflow: hidden;
}

.comunicacao__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: all .3s ease-in-out;
}

.comunicacao:hover .comunicacao__img img{
  transform: scale(1.1);
}

.comunicacao__title{
  text-transform: uppercase;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: -.3px;
  line-height: 120%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  margin: .5rem 0 .25rem 0;
}

.comunicacao__content{
  font-family: 'Montserrat'!important;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .5px;
  line-height: 120%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; 
  display: -webkit-box;   
  -webkit-box-orient: vertical; 
  -webkit-line-clamp: 3;   
  overflow: hidden;
  text-overflow: ellipsis; 
}

.gallery, .gallery__video{
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  cursor: pointer;
  border-radius: 5px;
}

.gallery__video > *{
  width: 100%;
  height: 100%;
}

.gallery img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  opacity: 1;
  transition: all .3s ease-in-out;  
}

.gallery:hover img{
  transform: scale(1.2);
  opacity: .75;
}

.gallery__overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: all .3s ease-in-out;
}

.gallery__overlay svg{
  width: 50px;
  fill: var(--red);
}

.gallery:hover .gallery__overlay{
  opacity: 1;
}

.produto__img{
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.produto__img img{
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  object-position: center;
  transform: scale(1);
  transition: all .3s ease-in-out;
}

.produto:hover .produto__img img{
  transform: scale(1.1);
}

.produto__content{
  font-family: 'Montserrat'!important;
  font-weight: 300;
  font-size: 14px;
  letter-spacing: .5px;
  line-height: 120%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.produto__title {
  font-family: 'Montserrat'!important;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .5px;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: var(--black);
  background-color: var(--gray);
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  width: 100%;
  padding: .5rem;
  text-align: center;
  border: solid 1px var(--gray);
}

.produto__link{
  font-family: 'Montserrat'!important;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .5px;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: var(--white);
  background-color: var(--red);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  width: 100%;
  padding: .5rem;
  display: block;
  border: solid 1px var(--red);
  text-align: center;
  transition: all .3s ease-in-out;
}

.produto:hover .produto__link{
  color: var(--red);
  background-color: transparent;
}

.pagination .page-numbers{
  font-family: 'Montserrat'!important;
  font-weight: 600;
  font-size: 18px;
  letter-spacing: .5px;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: var(--black);
  transition: all .3s ease-in-out;
  padding: 0 .25rem;
}

.pagination a.page-numbers:hover, .pagination .page-numbers.current{
  color: var(--red);
}

.pagination .page-numbers.current{
  pointer-events: none;
}

.socials a{
  display: inline-block;
  text-decoration: none;
}

.socials a svg{
  fill: var(--black);
  transition: all .3s ease-in-out;
}

.socials a:hover svg{
  fill: var(--red);
}

.prr{
  width: 100%;
  max-width: 400px;
}

@media only screen and (max-width: 767px){
  .btns{
    font-size: 12px;
    letter-spacing: 0;
  }
}