* {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-family: inherit;
    font-size: 100%;
    vertical-align: baseline;
    list-style: none;
    text-decoration: none;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

:root{
  --success: #29d62f;
  --default: #2966d6;
  --error: #d62929;
  --alert: #d6d129;
  --cancel: #696969;
  --disabled: #cecece;

  --primary: #171F54;
  --secondary: #27B7F3;
  --tertiary: #515151;
  --quaternary: #F3F3F3;

  --whatsapp: #27F354;
  
  --padding-1: 40px;
  --padding-2: 30px;
  --padding-3: 20px;
  --padding-4: 12px;
  --padding-5: 6px;

  --margin-1: 40px;
  --margin-2: 30px;
  --margin-3: 20px;
  --margin-4: 12px;
  --margin-5: 6px;

  --h0: 50px;
  --h1: 36px;
  --h1-5: 30px;
  --h2: 22px;
  --h3: 20px;
  --h4: 18px;
  --h5: 16px;
  --h6: 14px;
  --h7: 12px;

  --container: 1200px;
}

@font-face {
  font-family: "Lato-Regular";
  src: url("fonts/lato/Lato-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Lato-Bold";
  src: url("fonts/lato/Lato-Bold.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Exo2-Bold";
  src: url("fonts/exo2/Exo2-Bold.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Exo2-Regular";
  src: url("fonts/exo2/Exo2-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

body{
  font-size: 16px;
  font-family: "Lato-Regular";
}

.ocultar{
  display: none;
}

.container{
  margin: 0 auto;
  width: 90%;
  max-width: var(--container);
}

.textnowrap{white-space: nowrap}
.font-primary{font-family: "Exo2-Regular"}
.font-secondary{font-family: "Lato-Regular"}

.h0{font-size: var(--h0)}
.h1{font-size: var(--h1)}
.h1-5{font-size: var(--h1-5)}
.h2{font-size: var(--h2)}
.h3{font-size: var(--h3)}
.h4{font-size: var(--h4)}
.h5{font-size: var(--h5)}
.h6{font-size: var(--h6)}
.h7, .font-12{font-size: var(--h7)}

strong, .strong{font-family: "Lato-Bold"}
.light{font-family: "Lato-Regular"}

.font-primary strong, 
.font-primary .strong,
.font-primary.strong{font-family: "Exo2-Bold"}
.font-primary .light,
.font-primary.light{font-family: "Exo2-Regular"}

.text-left{text-align: left}
.text-center{text-align: center}
.text-uppercase{text-transform: uppercase}
.text-right{text-align: right}

.inline{display: inline-block}

.relative{position: relative}

label{
  display: inline-block;
  margin-bottom: 3px;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.border-radius{border-radius: 6px}

.width-100{width: 100%}
.margin-auto{margin: 0 auto}

.bkg-default{background-color: var(--default)!important}
.bkg-success{background-color: var(--success)}
.bkg-alert{background-color: var(--alert)!important}
.bkg-cancel{background-color: var(--cancel)}
.bkg-error{background-color: var(--error)!important}
.bkg-disabled{background-color: var(--disabled)!important}

.bkg-white{background-color: #FFF;}

.bkg-primary{background-color: var(--primary)}
.bkg-secondary{background-color: var(--secondary)}
.bkg-tertiary{background-color: var(--tertiary)}
.bkg-quaternary{background-color: var(--quaternary)}

.bkg-whatsapp{background-color: var(--whatsapp)}

.color-error{color: var(--error)!important}
.color-white{color: #FFF;}
.color-success{color: var(--success)}
.color-cancel{color: var(--cancel)}

.color-primary{color: var(--primary)}
.color-secondary{color: var(--secondary)}
.color-tertiary{color: var(--tertiary)}

.color-whatsapp{color: var(--whatsapp)}

.border-success{border-color: var(--success)}
.border-default{border-color: var(--default)}
.border-error{border-color: var(--error)}
.border-cancel{border-color: var(--cancel)}

.input-error{border: 1px solid var(--error)!important}

.padding-0{padding: 0!important}
.padding-0-left{padding-left: 0!important}
.padding-0-right{padding-right: 0!important}
.padding-0-top{padding-top: 0!important}
.padding-0-bottom{padding-bottom: 0!important}

.padding-1{padding: var(--padding-1)}
.padding-1-left{padding-left: var(--padding-1)}
.padding-1-right{padding-right: var(--padding-1)}
.padding-1-top{padding-top: var(--padding-1)}
.padding-1-bottom{padding-bottom: var(--padding-1)}

.padding-2{padding: var(--padding-2)}
.padding-2-left{padding-left: var(--padding-2)}
.padding-2-right{padding-right: var(--padding-2)}
.padding-2-top{padding-top: var(--padding-2)}
.padding-2-bottom{padding-bottom: var(--padding-2)}

.padding-3{padding: var(--padding-3)}
.padding-3-left{padding-left: var(--padding-3)}
.padding-3-right{padding-right: var(--padding-3)}
.padding-3-top{padding-top: var(--padding-3)}
.padding-3-bottom{padding-bottom: var(--padding-3)}

.padding-4{padding: var(--padding-4)}
.padding-4-left{padding-left: var(--padding-4)}
.padding-4-right{padding-right: var(--padding-4)}
.padding-4-top{padding-top: var(--padding-4)}
.padding-4-bottom{padding-bottom: var(--padding-4)}

.padding-5{padding: var(--padding-5)}
.padding-5-left{padding-left: var(--padding-5)}
.padding-5-right{padding-right: var(--padding-5)}
.padding-5-top{padding-top: var(--padding-5)}
.padding-5-bottom{padding-bottom: var(--padding-5)}

.margin-1{margin: var(--margin-1)}
.margin-1-left{margin-left: var(--margin-1)}
.margin-1-right{margin-right: var(--margin-1)}
.margin-1-top{margin-top: var(--margin-1)}
.margin-1-bottom{margin-bottom: var(--margin-1)}

.margin-2{margin: var(--margin-2)}
.margin-2-left{margin-left: var(--margin-2)}
.margin-2-right{margin-right: var(--margin-2)}
.margin-2-top{margin-top: var(--margin-2)}
.margin-2-bottom{margin-bottom: var(--margin-2)}

.margin-3{margin: var(--margin-3)}
.margin-3-left{margin-left: var(--margin-3)}
.margin-3-right{margin-right: var(--margin-3)}
.margin-3-top{margin-top: var(--margin-3)}
.margin-3-bottom{margin-bottom: var(--margin-3)}

.margin-4{margin: var(--margin-4)}
.margin-4-left{margin-left: var(--margin-4)}
.margin-4-right{margin-right: var(--margin-4)}
.margin-4-top{margin-top: var(--margin-4)}
.margin-4-bottom{margin-bottom: var(--margin-4)}

.margin-5{margin: var(--margin-5)}
.margin-5-left{margin-left: var(--margin-5)}
.margin-5-right{margin-right: var(--margin-5)}
.margin-5-top{margin-top: var(--margin-5)}
.margin-5-bottom{margin-bottom: var(--margin-5)}

/* button */
.button{
  padding: 12px 12px 10px 12px;
  border-radius: 4px;
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  color: #FFF;
  position: relative;
  cursor: pointer;
}
.button input[type="file"]{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  right: 0;
  height: 100%;
  opacity: 0;
}

/* grig */
.tr{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  flex-wrap: wrap;
}
.cols-1 > .td{width: 100%}
.cols-2 > .td{width: calc(100% / 2)}
.cols-2 > .td.colspan-2{width: 100%}
.cols-3 > .td{width: calc(100% / 3)}
.cols-3 > .td.colspan-2{width: calc((100% / 3) * 2)}
.cols-4 > .td{width: calc(100% / 4)}
.cols-4 > .td.colspan-2{width: 50%}
.cols-4 > .td.colspan-3{width: 75%}
.cols-5 > .td{width: calc(100% / 5)}
.cols-5 > .td.colspan-2{width: 40%}
.cols-5 > .td.colspan-3{width: 60%}
.cols-5 > .td.colspan-4{width: 80%}
.cols-6 > .td{width: calc(100% / 6)}
.cols-6 > .td.colspan-2{width: calc((100% / 6) * 2)}
.cols-6 > .td.colspan-3{width: calc((100% / 6) * 3)}
.cols-6 > .td.colspan-4{width: calc((100% / 6) * 4)}
.cols-6 > .td.colspan-5{width: calc((100% / 6) * 5)}
.td.colspan-6{
  min-width: 100%;
  width: 100%;
}
/*== Loader ==*/
.loader{
  position: relative;
}
.loader:after,
.loader:before{
  content: " ";
  top: 50%;
  left: 50%;
  z-index: 9;
  position: fixed;
  background-color: var(--secondary);
  border-radius: 50%;
}
.loader:after{
  animation: loader 1s linear 0s infinite;
}
.loader:before{
  animation: loader 1s linear 0.5s infinite;
}

@keyframes loader {
  0%{
    width: 1vh;
    height: 1vh;
    margin: -0.5vh 0 0 -0.5vh;
    opacity: 0.5;
  }
  100%{
    width: 20vh;
    height: 20vh;
    margin: -10vh 0 0 -10vh;
    opacity: 0;
  }
}


.load-text{
  display: block;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  margin: 2px 0;
  background-color: rgba(0,0,0,0.1);
}
.load-text:before{
  content: "Carregando..";
  display: block;
  opacity: 0;
}
.load-text:after{
  content: " ";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateX(-100%);
  background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 51%, rgba(255,255,255,0) 100%);
  background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 51%,rgba(255,255,255,0) 100%);
  background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 51%,rgba(255,255,255,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 );  
}
.load-text:after{
  animation: loadText 1s linear 0.5s infinite;
}
.load-text:first-child{
  background-color: rgba(0,0,0,0.2);
}
.load-text:first-child:after{
  animation: loadText 1s linear 0s infinite;
}
@keyframes loadText{
  0%{
    transform: translateX(-100%);
  }
  50%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(100%);
  }
}

/* FLEXBOX */
[class*="flex"]{
  display:flex;
  display:-webkit-box;
  display:-ms-flexbox;
  display:-webkit-flex
}
[class*="align-center"]{align-items:center}
[class*="align-start"]{align-items: flex-start}
[class*="justify-start"]{justify-content:flex-start}
[class*="justify-between"]{justify-content:space-between}
[class*="justify-center"]{justify-content:center}
[class*="justify-right"]{justify-content:flex-end}
[class*="justify-around"]{justify-content:space-around}
[class*="direction-column"]{flex-direction: column}
[class*="wrap"]{flex-wrap:wrap}

/*--inputs--*/
input[type="checkbox"]{
  display: none;
}
input[type="checkbox"] ~ span{
  position: relative;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
}
input[type="checkbox"]:disabled ~ span{
  color: var(--disabled);
}
input[type="checkbox"] ~ span::before{
  content: " ";
  width: 40px;
  height: 20px;
  display: block;
  border-radius: 20px;
  margin-right: 6px;
  border: 1px solid rgba(0,0,0,0.1);
  background-color: #d8d8d8;
  box-shadow: inset 0 0 3px rgba(0,0,0,0.1);
}
input[type="checkbox"] ~ span::after{
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  background-color: #FFF;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,0.1);
  transition: all 0.2s ease 0s;
  top: 50%;
  margin-top: -10px;
  box-shadow: 0 0 3px rgba(0,0,0,0.1);
}
input[type="checkbox"]:checked ~ span::before{
  background-color: var(--success);
}
label.checked-error input[type="checkbox"]:checked ~ span::before,
label.check-error input[type="checkbox"] ~ span::before{
  background-color:var(--error);
}
label.check-success input[type="checkbox"] ~ span::before,
label.checked-success input[type="checkbox"]:checked ~ span::before{
  background-color:var(--success);
}
input[type="checkbox"]:checked ~ span::after{
  left: 20px;
}
input[type="checkbox"]:disabled ~ span::after{
  background-color: var(--disabled);
}
input[type="text"],
input[type="tel"], 
input[type="date"], 
input[type="number"],
input[type="search"],
input[type="email"],
input[type="password"],
textarea,
select{
    display: block;
    width: 100%;
    padding: 10px 0;
    background-color: transparent;
    border-bottom: 1px solid rgba(0,0,0,0.2);
    transition: border 0.2s ease 0s;
}
select{
  color: rgba(0,0,0,0.7);
}
.form-dark input[type="text"],
.form-dark input[type="tel"], 
.form-dark input[type="date"], 
.form-dark input[type="number"],
.form-dark input[type="search"],
.form-dark input[type="email"],
.form-dark input[type="password"],
.form-dark textarea,
.form-dark select{
  color: #FFF;
  font-family: "Lato-Regular";
  border-bottom: 1px solid rgba(255,255,255,0.5)
}
.form-dark input::placeholder,
.form-dark textarea::placeholder,
.form-dark select::placeholder,
.form-dark select{
  color: rgba(255,255,255,0.5);
}
input[type="text"]:focus, 
input[type="tel"]:focus,
input[type="date"]:focus,  
input[type="number"]:focus, 
input[type="search"]:focus, 
input[type="email"]:focus, 
input[type="password"]:focus, 
textarea:focus{
    border-bottom: 1px solid var(--secondary);
}
input:focus::placeholder, 
textarea:focus::placeholder{
    color: transparent;
}
input[type="text"]:disabled, 
input[type="tel"]:disabled, 
input[type="date"]:disabled, 
input[type="number"]:disabled, 
input[type="search"]:disabled, 
input[type="email"]:disabled, 
input[type="password"]:disabled, 
textarea:disabled, 
select:disabled,
[class*="button"]:disabled{
    color: rgba(255,255,255,0.8)!important;
    background-color: rgba(0,0,0,0.3);
    text-shadow: rgba(255,255,255,0.8);
    cursor: default;
    box-shadow: none;
}
.input-search{
  position: relative;
  padding-left: 40px!important;
  background: url(img/search-solid.svg) no-repeat 8px center;
  background-size: auto 50%;
}
.label-form{
  position: relative;
  overflow: hidden;
  padding-top: 14px!important;
}
.label-form label{
  /* position: absolute; */
  /* top: 50%; */
  font-size: 14px;
  left: 0;
  /* opacity: 0; */
  transition: all 0.2s ease 0s;
}
.label-form input,
.label-form textarea,
.label-form select{
  position: relative;
  z-index: 2;
}
.label-form input:focus ~ label,
.label-form textarea:focus ~ label,
.label-form select:focus ~ label{
  top: 0;
  opacity: 1;
}
.form-dark .label-form select:focus{
  color: #FFF;
}
.form-dark .label-form select > option{
  color: var(--primary);
}
button, .btn-large, .btn-medium{
  overflow: hidden;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease 0s;
}
button:before,
.btn-large:before, .btn-medium:before{
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background-color: rgba(255,255,255,0.2);
  opacity: 0;
  transition: all 0.2s ease 0s;
}
button:hover,
.btn-large:hover, .btn-medium:hover{
  box-shadow: 0 0 12px rgba(0,0,0,0.3);
}
button:hover:before,
.btn-large:hover:before, .btn-medium:hover:before{
  width: 100%;
  opacity: 1;
}

button:disabled,
button[disabled]{
  background-color: var(--disabled)!important;
  background: var(--disabled)!important;
  color: var(--cancel)!important;
  cursor: default!important;
}

.btn-radio{
  border-radius: 60px;
  border: 1px solid var(--secondary);
  color: var(--secondary);
  height: 50px;
  display:flex;
  display:-webkit-box;
  display:-ms-flexbox;
  display:-webkit-flex;
  align-items: center;
  justify-content: center;
  font-family: "Exo2-Bold";
  padding: 0 25px;
}
.btn-radio:before{
  content: "\f111";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  margin-right: 8px;
}
.btn-radio.selected:before,
.btn-radio.current:before{
  content: "\f192";
}
.btn-radio.selected,
.btn-radio.current{
  color: #FFF;
  background-color: var(--secondary);
}

/* dropdown */
.dropdown{
  position: relative;
  width: 100%;
  z-index: 99;
}
.dropdown > ul{
  position: absolute;
  left: 0;
  width: 100%;
  background-color: #FFF;
  border-radius: 0 0 6px 6px;
  border: 1px solid rgba(0,0,0,0.1);
  box-shadow: 2px 2px 2px rgba(0,0,0,0.1);
  padding: 6px;
}
.dropdown > ul > li{
  padding: 6px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.dropdown > ul > li:last-child{
  border: none;
}
/* progressbar */
.progressbar{
  position: absolute;
  width: 90%;
  left: 5%;
  top: 50%;
  height: 10px;
  border-radius: 5px;
  margin-top: -5px;
  background-color: rgba(255,255,255,0.8);
  border: 1px solid rgba(0,0,0,0.5);
}

.progressbar > div{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 20%;
  background: url(img/loadbar.gif) repeat-x left center;
  background-color: var(--default);
  transition: all 0.3s ease 0s;
}

/* -- */
.imgload{
  opacity: 0!important;
}
img, [style*="background-image"]{
  transition: all 0.5s ease 0s;
}

/* botões */
.btn-medium,
.btn-large{
  display:flex;
  display:-webkit-box;
  display:-ms-flexbox;
  display:-webkit-flex;
  align-items: center;
  justify-content: center;
  color: #FFF;
  font-family: "Exo2-Bold";
}
.btn-medium{
  height: 44px;
  border-radius: 22px;
  font-size: 18px;
}
.btn-area{
  border-radius: 0!important;
  overflow: inherit!important;
  box-shadow: none!important;
}
.btn-area:before{
  display: none!important;
}
.square-medium{
  min-height: 44px;
  min-width: 44px;
}
.btn-large{
  height: 50px;
  border-radius: 25px;
  font-size: 22px;
}
.btn-light{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--secondary);
}
.btn-light:before{
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  background-color: #FFF;
  border-radius: 80px;
  transition: all 0.3s ease 0s;
}
.btn-selected{
  border: 1px solid #FFF;
  background-color: #FFF;
  color: var(--primary);
}
.btn-light.active{
  border: 1px solid #FFF;
  background-color: #FFF;
  color: var(--primary);
}
.btn-light.active:before{
  width: 100%;
}
.btn-light:hover span{
  color: var(--primary);
}

.darkbox{
  background: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(6px);
  border-radius: 4px;
}

/* -- topo --*/
.topo{
  height: 14.5vh;
  min-height: 90px;
  max-height: 120px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;  
  transition: all 0.3s ease 0s;
}
.topo:before{
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  bottom: 0;
  background: linear-gradient(90.33deg, rgb(19 18 66 / 0.9) 7.46%, rgb(48 18 66 / 0.9) 92.54%);
  opacity: 0;
  backdrop-filter: blur(6px);
  transition: all 0.5s ease 0s;
}
.topo.fixed:before{
  opacity: 1;
}
.innerpage .topo{
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.innerpage .topo.fixed{
  border-bottom: none;
}

.sect-top{
  width: 2px;
  height: 20px;
  border-radius: 2px;
  background: #FFF;
  opacity: 0.3;
  margin: 0 16px;
}

.topo .logotipo{
  width: 160px;
}
.logotipo path{
  fill: #FFF;
}
.topo .menu{
  margin: 0 6px;
}
.topo .menu > ul{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
}
.topo .menu > ul > li{
  padding: 0 20px;
}
.topo .menu > ul > li > a{
  color: #FFF;
  font-size: 16px;
}
.topo .menu > ul > li > a.current{
  font-family: "Exo2-Bold";
}
.topo .menu > ul > li ul{
  display: none;
  position: absolute;
  top: 12px;
  width: 220px;
  background-color: #FFF;
  border-radius: 6px;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
  left: -18px;
  padding: 6px;
}
.topo .menu > ul > li ul li{
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.topo .menu > ul > li ul li:last-child{
  border-bottom: none;
}
.topo .menu > ul > li ul li a{
  padding: 12px;
  display: block;
}
.topo .menu > ul > li ul li a.current{
  color: var(--primary);
  background-color: rgba(0,0,0,0.05);
}
.topo .menu > ul > li ul li a:hover{
  background-color: rgba(0,0,0,0.05);
}

.content-page{
  padding: 5vh 0;
}
.content-page:before{
  content: " ";
  display: block;
  height: 14.5vh;
  min-height: 90px;
  max-height: 120px;
}

/* -- banner home --*/
.section-img{
  min-height: 100vh;
  position: relative;
}
.bkg-img {
  background-color: var(--primary);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; 
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  width: 100%; 
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: ease;
  transition-delay: 0s;
}
.bkg-img:before{
  position: absolute;
  content: " ";
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  background: radial-gradient(50% 50% at 50% 50%, rgba(5, 24, 64, 0.6) 0%, rgba(5, 24, 64, 0.9) 100%);
  transition: all 0.5s ease 0s;
}
.banner-home{
  padding: 90px 0 45px 0;
}
.banner-gradient{
  height: 50vh;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  right: 0;
  background: linear-gradient(180deg, rgba(47, 19, 106, 0) 0%, #171F54 100%);
}
.padding-banner{
  padding: 1vh 0;
}
.next-btn{
  position: relative;
}
.next-btn:after{
  content: "\f061";
  position: absolute;
  top: 50%;
  right: 12px;
  font-size: 18px;
  margin-top: -9px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.nav-banner{
  padding: 3.5vh 0 40px 0;
  margin-top: 1vh;
  overflow: hidden;
  width: 100%;
}
.draggBanner{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  cursor: grab;
}
.btn-banner-content{
  width: 30vh;
  min-width: 22vh;
  /*min-height: 140px;*/
}
.btn-banner{
  width: 14vh;
  height: 14vh;
  border-radius: 50%;
  border: 2px solid var(--secondary);
  position: relative;
  margin: 0 auto;
  opacity: 0.6;
  transition: all 0.5s ease 0.5s;
  cursor: grab;
}
[style*="cursor: grab"] .btn-banner,
[style*="cursor: grab"] .draggBanner{
  cursor: grab;
}
[style*="cursor: grabbing"] .btn-banner,
[style*="cursor: grabbing"] .draggBanner{
  cursor: grabbing;
}
.active > .btn-banner{
  opacity: 1;
  width: 18vh;
  height: 18vh;
}

.btn-banner:before{
  content: " ";
  position: absolute;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  border: 1px solid var(--secondary);
  border-radius: 50%;
  opacity: 0.3;  
}
.active > .btn-banner:before{
  animation: animeBtn 1s ease 0s 1;
}
@keyframes animeBtn{
  0%{
    opacity: 0.3;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    transform: rotateZ(0);
  }
  20%{
    opacity: 0.5;
    border-top-width: 5px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
  }
  40%{
    opacity: 0.5;
    border-top-width: 5px;
    border-right-width: 5px;
    border-bottom-width: 1px;
    border-left-width: 1px;
  }
  60%{
    opacity: 0.8;
    border-top-width: 5px;
    border-right-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 1px;
  }
  80%{
    opacity: 0.5;
    border-top-width: 5px;
    border-right-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 5px;
  }
  100%{
    opacity: 0.3;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    transform: rotateZ(360deg);
  }
}
.btn-banner-img{
  position: absolute;
  bottom: 0;
  width: 100%;
}
.btn-banner-logo{
  position: absolute;  
  bottom: 0;
  text-align: center;
  left: 0;
  width: 100%;
  height: 0;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
}
.btn-banner-logo:after{
  content: " ";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  right: 0;
  bottom: 0;
  position: absolute;
}
.btn-banner-logo img{
  max-height: 80px;
  max-width: 100%;
}
.bkg-logo{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  right: 0;
  overflow: hidden;
  border-radius: 50%;
  opacity: 0.6;
}
.bkg-logo:before{
  content: " ";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 100%;
  margin-top: -30%;
  background-color: var(--primary);
  border-radius: 50%;
}

#banner-title,
#banner-excerpt,
#banner-icons,
#banner-link{
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
}
#banner-title{
  transition-delay: 0s;
}
#banner-excerpt{
  transition-delay: 0.1s;
}
#banner-icons,
#banner-link{
  transition-delay: 0.2s;
}
#banner-icons .td{
  max-width: 150px;
}

.left-bannerBkg{
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
}
.right-bannerBkg{
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
}

.fadeX .left-bannerBkg,
.fadeX .right-bannerBkg {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: dash 1s linear 0s;
}

.hide{
  width: 0!important;
  height: 0!important;
  overflow: hidden!important;
  margin: 0!important;
  padding: 0!important;
  opacity: 0!important;
  min-width: 0!important;
  min-height: 0!important;
}

.transition{
  transition: all 0.3s ease 0s;
}

@keyframes dash {
  0%{
    opacity: 0; 
  }
  50%{
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;  
    opacity: 1;  
  }
}

/*-- empreendimentos home --*/
.section-empreendimentos{
  background: linear-gradient(180deg, #171F54 0%, #171F54 100%);
  min-height: 100vh;
}
.box-lista-solid{
  margin-top: 2.5vh;
  color: #FFF;
  background: linear-gradient(94.61deg, rgba(190, 39, 243, 0.1) 14.31%, rgba(190, 39, 243, 0) 82.75%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}
.box-lista-logo{
  padding: 3vh 0;
  border-top: 3px solid var(--secondary);
  width: 24%;
  background: rgba(190, 39, 243, 0.05);
  border-radius: 2px 0 0 2px;
}
.box-lista-logo a{
  display: block;
}
.lista-logo{
  width: 60%;
}
.lista-logo img{
  width: 100%;
}
.char-span span{
  font-size: 16px;
}

/* tabs */
.content-tabs{
  transition: all 0.3s ease 0s;
  overflow: hidden;
}
.inner-tabs{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: flex-start;
  transition: all 0.5s ease 0s;
}
.inner-tabs > div{
  width: 100%;
  min-width: 100%;
}

/* nossos valores */
.content-icon-destaque{
  min-width: 180px;
}
.icon-destaque{
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 2px solid var(--secondary);
  margin: 0 auto;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary);
  position: relative;
}
.icon-destaque::before{
  position: absolute;
  content: " ";
  width: 120%;
  height: 120%;
  border-radius: 50%;
  top: -10%;
  left: -10%;
  border: 1px solid var(--secondary);
  opacity: 0.5;
}

.bkg-valores{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
}

.line-title{
  height: 2px;
  background-color: var(--secondary);
  position: relative;
}
.line-title:after{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  position: absolute;
  content: " ";
  right: -5px;
  top: 50%;
  margin-top: -5px;
  background-color: var(--secondary);
}
.line-title:before{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  content: " ";
  right: -10px;
  top: 50%;
  margin-top: -10px;
  border: 1px solid var(--secondary);
}
.sect-title:after,
.sect-title-top:before{
  /* content: " "; */
  width: 35px;
  height: 8px;
  background: var(--secondary);
  border-radius: 22px;
  display: inline-block;
  margin-top: 5px;
}
.sect-title-top:before{
  margin-bottom: 5px;
}

/* -- institucional --*/
.section-institucional{
  position: relative;
  padding: 20vh 0;
}
.bkg-institucional, .sections-bkg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}
.img-left{
  width: 100%;
  height: 100%;
  min-height: 490px;
  border-radius: 8px 8px 120px 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.section-valores{
  padding: 20vh 0;
  background-color: #f9f9f9;
}

/* -- instagram home --*/
.img-thumb-instagram{
  width: 190px;
  height: 190px;
  margin: 6px;
  overflow: hidden;
  background-color: rgba(0,0,0,0.1);
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
}
.img-thumb-instagram img{
  width: 100%;
}
.img-thumb-instagram:first-child{
  margin-left: 0;
}
.img-thumb-instagram:last-child{
  margin-right: 0;
}

.rodape .td{
  max-width: 380px;
}
.rodape:after{
  content: " ";
  width: 100%;
  height: 8px;
  display: block;
  background: linear-gradient(90.33deg, #131242 7.46%, #301242 92.54%);
}
.creditos-rodape{
  border-radius: 60px;
  font-size: 14px;
  background-color: var(--quaternary);
  color: var(--tertiary);
  padding: 14px 30px;  
}

[data-src*="url("]{
  max-height: 50vh!important;
  min-height: auto!important;
}

/* -- lista de imoveis --*/
.box-lista{
  background: #FFFFFF;
  border: 2px solid #E5E5E5;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.box-lista-img{
  border-radius: 5px 0 0 5px;
  width: 24%;
  min-height: 260px;
  background-color: rgba(0,0,0,0.05);
  overflow: hidden;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  line-height: 0;
}
.box-lista-img img{
  max-height: 300px;
}
.tipo-imovel{
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 6px 20px;
  width: 100%;
  color: #FFF;
  text-transform: capitalize;
  line-height: initial;
  text-shadow: 0 0 6px rgba(0,0,0,0.5);
  background: -moz-linear-gradient(left,  rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
  background: -webkit-linear-gradient(left,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
  background: linear-gradient(to right,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=1 );  
}
.target-promo{
  width: 150px;
  height: 150px;
  overflow: hidden;
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: 9;
}
.target-promo > div{
  padding: 6px 12px;
  color: #FFF;
  background-color: var(--error);
  transform: rotateZ(-45deg);
  position: absolute;
  bottom: 50%;
  width: 150%;
  font-size: 12px;
  text-align: center;
  left: -35%;
  text-transform: uppercase;
}
.btn-banner .target-promo{
  width: 110%;
  height: 110%;
  border-radius: 50%;
  left: -5%;
  right: -5%;  
}
.btn-banner .target-promo > div{
  transform: rotateZ(-16deg);
  left: -30%;
  padding: 3% 0;
}
.darkbox-destaque .target-promo{
  left: inherit;
  right: -5px;
  top: -10px;  
}
.darkbox-destaque .target-promo > div{
  transform: rotateZ(45deg);
  left: inherit;
  right: -35%;
}
.mobile .darkbox-destaque .target-promo{
  width: 70px;
  height: 70px;  
  top: inherit;
  bottom: 20%;
  right: 10%;
  background-color: rgba(255,255,255,0.1);
  border: 2px solid var(--error);
  border-radius: 50%;
  overflow: inherit;
}
.mobile .darkbox-destaque .target-promo > div{
  font-size: 10px;
  left: -20%;
  width: 140%;
  right: -50%;
  border-radius: 4px;
  bottom: 35%;
  transform: rotateZ(-24deg);
}
.box-right-info{
  position: absolute;
  right: 0;
  bottom: 0;
  height: 80px;
  width: 130px;
  background-color: var(--primary);
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px 0 4px 0;
}
.box-right-info img{
  max-height: 80%;
  max-width: 120px;
}

/*-- exibição imóvel --*/
.banner-imovel{
  padding: 3vh 0;
  min-height: 95vh;
  position: relative;
  background-color: var(--primary);
}
.banner-imovel-bkg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  right: 0;
  bottom: 0;  
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.banner-imovel-bkg:before,
.dark-bkg:before {
  position: absolute;
  content: " ";
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  background: radial-gradient(50% 50% at 50% 50%, rgba(5, 24, 64, 0.2) 0%, rgba(5, 24, 64, 0.5) 100%);
}
.dark-bkg.bkg-fix:before{
  background: radial-gradient(50% 50% at 50% 50%, rgba(5, 24, 64, 0.35) 0%, rgba(5, 24, 64, 0.7) 100%);
}
.banner-imovel-bkg:after{
  content: " ";
  top: 0;
  left: 0;
  width: 100%;
  height: 14.5vh;
  min-height: 90px;
  max-height: 120px;
  position: absolute;
  background: linear-gradient(180deg, rgba(19, 18, 66, 0.8) 0%, rgba(19, 18, 66, 0) 100%);
}

.diferencial-item{
  font-size: 16px;
  padding: 2vh 0;
  text-shadow: 0 0 3px rgba(0,0,0,0.8);
  border-bottom: 3px solid #FFF;
}
.cols-4 .diferencial-item{
  width: 23%;
}
.cols-3 .diferencial-item{
  width: 30%;
}
.cols-2 .diferencial-item{
  width: 45%;
}

.darkbox-destaque{
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
  border-radius: 0 0 4px 4px;
  border: 1px solid rgba(255,255,255,0.1);
}
.darkbox-destaque-img{
  width: 40%;
  padding-top: 5vh;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  justify-content: center;
}
.darkbox-destaque-img img{
  max-width: 90%;
  max-height: 40vh;
}
.darkbox-destaque-logo{
  position: absolute;
  top: 0;
  left: 0;
  width: 130px;
  padding: 12px 0;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  justify-content: center;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  border-radius: 0px 8px 8px 0px;
}
.darkbox-destaque-logo img{
  max-width: 80%;
  max-height: 140px;
}
.darkbox-destaque-texto{
  width: 50%;
}
.darkbox-destaque-social{
  position: absolute;
  right: 0;
  bottom: 0;
  height: 50px;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
  border-radius: 8px 0px;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
}
.darkbox-destaque-social a{
  color: #FFF;
}

.menu-ctrl{
  z-index: 99;
  position: fixed;
  bottom: 15vh;
  height: 0;
  left: 0;
  right: 0;
  width: 100%;
  transition: all 0.2s ease 0s;
}
.menu-ctrl.off{
  bottom: -20vh;
}
.left-menu{
  max-width: calc(86% - 20px);
}
.right-menu{
  margin-left: 20px;
}
.left-menu, .right-menu{
  overflow: hidden;
  background-color: #FFF;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.1);
  box-shadow: 3px 3px 3px rgba(0,0,0,0.1);
}
.item-menu{
  min-height: 13vh;
  padding: 2vh 0;
}
.item-menu:hover{
  background-color: rgba(0,0,0,0.05);
}
.left-menu .item-menu,
.right-menu{
  position: relative;  
  width: calc(70vw / 6);
  min-width: 120px;
  color: var(--secondary);
  max-width: 160px;
}
.left-menu .item-menu:after{
  content: " ";
  border-radius: 4px;
  width: 2px;
  background-color: #E5E5E5;
  position: absolute;
  right: -1px;
  height: 40px;
  top: 50%;
  margin-top: -20px;
}
.left-menu .item-menu:last-child:after{
  display: none;
}

.left-menu .item-menu.active{
  color: var(--primary);
}
.left-menu .item-menu:before{
  content: " ";
  position: absolute;
  left: 0;
  width: 0;
  bottom: 0;
  background-color: var(--primary);
  height: 4px;
  transition: all 0.2s ease 0s;
}
.left-menu .item-menu.active:before{
  width: 100%;
}

.button-list{
  margin: 1px;
  backdrop-filter: blur(6px);
  background: rgba(23, 31, 84, 0.6);
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
}
.button-list:hover{
  background: rgba(23, 31, 84, 0.7);
}
.button-list.disabled,
.button-list.disabled:hover{
  cursor: default;
  background-color: rgba(0,0,0,0.3);
}

.tabs-box{
  background-color: #FFF;
  border-radius: 0 0 6px 6px;
}
.btn-tab{
  padding: 2vh 30px;
  min-width: 200px;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background-color: #D8EDF5;
  color: var(--secondary);
  border-radius: 6px 6px 0 0;
}
.btn-tab.active{
  background-color: #FFF;
  color: var(--primary);
}
.overflow-x{
  overflow-x: auto;
}
.overflow-hidden{
  overflow: hidden;
}

.box-chart{
  width: 100px;
  height: 100px;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}
.box-chart svg{
  width: 100%;
}
.box-chart div{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  right: 0;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 30px;
}
.box-chart span{
  padding-left: 7px;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
}
.box-chart span:after{
  content: "%";
  font-size: 14px;
}

.map-maker-star{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
}
.map-maker-star:before{
  content: " ";
  display: inline-block;
  width: 36px;
  height: 36px;
  background: url(img/map-marker-star.svg) no-repeat center;
  background-size: cover;
}
.mobile .map-maker-star:before{
  width: 26px;
  height: 26px;
}

/*-- fotos --*/
.thumb-small{
  width: 104px;
  height: 104px;
  min-width: 104px;
  overflow: hidden;
  position: relative;
  padding: 2px;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: all 0.3s ease 0s;
}
.thumb-small img{
  width: 100%;
}
.thumb-small:hover img{
  opacity: 0.6;
}
.lightbox .thumb-small.selected{
  opacity: 0.6;
}
[class^="midia-cor"]{
  border-radius: 50%;
  border: 1px solid #FFF;
  width: 16px;
  min-width: 16px;
  height: 16px;
}
.thumb-small [class^="midia-cor"]{
  position: absolute;
  top: 3px;
  right: 3px;
  width: 12px;
  height: 12px;
  min-width: 12px;
  min-height: 12px;
}
.midia-cor-fachada{
  background-color: #DE4A4A;
}
.midia-cor-lazer{
  background-color: #DE914A;
}
.midia-cor-comum{
  background-color: #DECF4A;
}
.midia-cor-apartamento{
  background-color: #4ACCDE;
}
.midia-cor-comercial{
  background-color: #a54ade;
}
.midia-cor-cobertura{
  background-color: #4ade5c;
}
.midia-cor-todas{
  background: url(img/cores-fotos.svg) no-repeat center;
  background-size: 100%;
}

[class^="midia-file"]{
  position: absolute;
  bottom: 3px;
  right: 3px;
  font-size: 14px;
  font-family: "Exo2-Bold";
  color: #FFF;
  text-shadow: 0 0 6px rgba(0,0,0,0.8);
}
.midia-file-360:after{
  content: "360º";  
}
.midia-file-360:before,
.midia-file-video:before{
  font-family: "Font Awesome 5 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  margin-right: 6px;
  font-weight: 900;
}
.midia-file-360:before{
  content: "\f14e";  
}
.midia-file-video:before{
  content: "\f03d";
}

.btn-tab-galeria{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  border-radius: 60px;
  padding: 0 20px;
  border: 1px solid transparent;
}
.btn-tab-galeria.current,
.btn-tab-galeria:hover{
  color: var(--primary);
  border: 1px solid var(--primary);
}

.more-itens{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 20px;
  overflow: hidden;
  transition: all 0.3s ease 0s;
}
.more-itens:before{
  content: " ";
  position: absolute;
  height: 1px;
  background-color: var(--tertiary);
  top: 50%;
  left: 0;
  width: 100%;
  opacity: 0.15;
}
.more-itens a{
  display: block;
  padding: 0 20px;
  position: relative;
  background-color: #FFF;
}
.more-itens a.open i{
  transform: rotateZ(180deg)
}

/*-- modal --*/
.lightbox{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  bottom: 0;
  z-index: 999;
  display: none;
  backdrop-filter: blur(6px);
  background: linear-gradient(90.33deg, rgb(19 18 66 / 0.9) 7.46%, rgb(48 18 66 / 0.9) 92.54%);
}
.lightbox.open{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
}
.overlay,
.overlay-filter{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 99;
  display: none;
  backdrop-filter: blur(6px);
  background: linear-gradient(90.33deg, rgb(19 18 66 / 0.9) 7.46%, rgb(48 18 66 / 0.9) 92.54%);
}
.filter-open .overlay-filter{
  display: block;
}
.modal{
  height: 98vh;
  overflow-y: auto;
  background-color: rgba(0,0,0,0.5);
  position: relative;
  border-radius: 4px;
  width: 98vw;
}
.lightbox .thumbs{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 3px 6px;
  background-color: rgba(0,0,0,0.5);
  backdrop-filter: blur(6px);
  transition: all 0.5s ease 0s;
}
.lightbox.closed-navigation .thumbs{
  transform: translateY(120%);
  opacity: 0;
}
.slide-titulo{
  position: absolute;
  top: 0;
  left: 0;
  max-width: 80%;
  padding: 10px 30px 10px 20px;
  background-color: rgba(0,0,0,0.3);
  color: #FFF;
  text-shadow: 0 0 6px rgba(0,0,0,0.8);
  border-radius: 4px 0 60px 0;
}
.slide{
  width: 100%;
  min-width: 100%;
  overflow: hidden;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  height: 98vh;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.slide img{
  max-width: 100%;
  max-height: 100%;
}
.slide-controll{
  position: absolute;
  top: 50%;
  margin: -25px 0 0 0;
  font-size: 36px;
  cursor: pointer;
  z-index: 99;
  color: #FFF;
  width: 50px;
  min-height: 50px;
  text-shadow: 0 0 6px rgba(0,0,0,0.8);
  text-align: center;
}
.slide-controll.prev{
  left: 3%;
}
.slide-controll.next{
  right: 3%;
}
.slide-navigation{
  position: absolute;
  bottom: 3%;
  left: 50%;
  margin-left: -18px;
  font-size: 36px;
  cursor: pointer;
  color: #FFF;
  text-shadow: 0 0 6px rgba(0,0,0,0.8);
  transform: translateY(120%);
  opacity: 0;
  transition: all 0.3s ease 0s;
}
.lightbox.closed-navigation .slide-navigation{
  transform: translateY(0);
  opacity: 1;
}
.slide-close{
  position: absolute;
  top: 3%;
  right: 3%;
  font-size: 36px;
  cursor: pointer;
  color: #FFF;
  text-shadow: 0 0 6px rgba(0,0,0,0.8);
}
.list-decor:hover,
.ref-pin.open-ref .list-decor{
  cursor: pointer;
  background-color: var(--primary)!important;
  animation: none;
}
.list-decor.open-tt{
  cursor: pointer;
  background-color: var(--primary);
  animation: pin 0.5s ease 0s 3;
}
@keyframes pin{
  0%{
    background-color: var(--primary);
  }
  50%{
    background-color: var(--secondary);
  }
  100%{
    background-color: var(--primary);
  }
}
.ref-pin.open-ref{
  color: var(--secondary);
}
.open-tt .title-balloon{
  display: block;
}
.title-balloon{
  position: absolute;
  top: 100%;
  background-color: rgba(0,0,0,0.8);
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 12px;
  text-align: center;
  width: 140px;
  margin: 5px 0 0 -70px;
  left: 50%;
  display: none;
  z-index: 9;
}
.title-balloon:before{
  content: " ";
  border: 5px solid transparent;
  border-bottom: 5px solid rgba(0,0,0,0.8);
  position: absolute;
  top: -10px;
  left: 50%;
  margin-left: -5px;
}

/*-- plantas --*/
.img-planta{
  height: 50vh;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-height: 340px;
}
.img-planta img{
  max-height: 100%;
  max-width: 100%;
}

.list-decor{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #FFF;
  background-color: var(--secondary);
}
.desktop .img-area-lazer-vertical{
  position: relative;
  width: 100%;
  margin: -20px 0 -20px 20px;
}
.img-area-lazer-horizontal{
  position: relative;
  margin: 0 -20px;
}
.img-area-lazer-vertical,
.img-area-lazer-horizontal{
  overflow: hidden;
}
.img-area-lazer-vertical img,
.img-area-lazer-horizontal img{
  width: 100%;
}
.pins{
  position: relative;
}
.pins .list-decor{
  position: absolute;
}

.container-left{
  margin-left: calc(50vw - (var(--container) / 2));
}

.banner-small{
  padding-top: 120px;
  min-height: calc(20vh + 120px);
}

.desktop .mobile{
  display: none!important;
}
.logo-institucional{
  max-width: 100%;
}
.txt-institucional{
  max-width: 265px;
}
.content-nav-tabs{
  overflow-x: auto;
  width: 100%;
  position: relative;
}
.content-nav-tabs > div{
  transition: all 0.3s ease 0s;
}

/*@media screen and (max-width: 600px){
  .btn-banner-content{
    width: 180px;
    min-width: 180px;
  }
}*/

@media screen and (max-width: 1000px){
  .left-bannerBkg, .right-bannerBkg{
    opacity: 0.5;
    height: auto;
    width: 50%;
  }
}

@media screen and (max-width: 1350px){
  .container-left{
    margin-left: 5vw;
  }
}
#section-apresentacao{
  text-shadow: 0 0 6px rgba(0,0,0,0.9);
  min-height: 80vh;
}
.bkg-fix{
  background-attachment: fixed;
}

/*-- mobile --*/
:root .mobile{
  --padding-1: 26px;
  --padding-2: 24px;
  --padding-3: 18px;
  --padding-4: 10px;
  --padding-5: 5px;

  --margin-1: 26px;
  --margin-2: 24px;
  --margin-3: 18px;
  --margin-4: 10px;
  --margin-5: 5px;

  --h0: 36px;
  --h1: 24px;
  --h1-5: 22px;
  --h2: 18px;
  --h3: 16px;
  --h4: 14px;
  --h5: 14px;
  --h6: 12px;
  --h7: 12px;
}

.mobile .btn-medium{
  font-size: 16px;
}
.mobile .btn-large{
  font-size: 18px;
}
.mobile .icon-destaque{
  width: 70px;
  height: 70px;
}
.mobile .desktop{
  display: none!important;
}
.mobile .margin-0_mobile{margin: 0}
.mobile .margin-0-left_mobile{margin-left: 0}
.mobile .margin-0-right_mobile{margin-right: 0}
.mobile .margin-0-bottom_mobile{margin-bottom: 0}
.mobile .margin-0-top_mobile{margin-top: 0}

.mobile .padding-0_mobile{padding: 0}
.mobile .padding-0-left_mobile{padding-left: 0}
.mobile .padding-0-right_mobile{padding-right: 0}
.mobile .padding-0-bottom_mobile{padding-bottom: 0}
.mobile .padding-0-top_mobile{padding-top: 0}

.mobile .topo {
  height: 80px;
  min-height: 80px;
  max-height: 80px;
}
.mobile .topo .menu{
  position: fixed;
  width: 100%;
  left: 100vw;
  background-color: #FFF;
  bottom: 0;
  overflow-y: auto;
  z-index: 999;
  top: 80px;
  margin: 0;
  transition: all 0.3s ease 0s;
}
.mobile .topo .logotipo{
  width: 120px;
}
.mobile .banner-home{
  padding: 80px 0 40px 0;
}
.mobile .width-100_mobile{
  width: 100%!important;
}
.mobile .box-lista-solid{
  flex-wrap: wrap;
}
.mobile .box-lista-logo{
  width: 100%;
  min-width: 100%;
  height: 140px;
  padding: 0;
}
.mobile .lista-logo{
  width: 100%;
}
.mobile .lista-logo img{
  width: auto;
  max-width: 70%;
  max-height: 120px;
}
.mobile .content-icon-destaque{
  min-width: 140px;
  padding: 10px 6px;
}
.mobile .reverse_mobile{
  flex-direction: column-reverse;
}
.mobile .img-thumb-instagram{
  width: 100px;
  height: 100px;
  margin: 6px!important;
}
.btn-menu{
  width: 44px;
  height: 44px;
  position: relative;
  display: block;
  transition: all 0.3s ease 0s;
}
.btn-menu div{
  position: absolute;
  transition: all 0.3s ease 0s;
  height: 4px;
  width: 80%;
  background-color: #FFF;
  border-radius: 6px;
  left: 10%;
}
/* .menu-open .btn-menu div{
  background-color: var(--primary);
} */
.menu-open .btn-menu{
  transform: rotateZ(90deg);
}
.btn-menu div:nth-child(2){
  top: 50%;
  margin: -2px 0 0 0;  
}
.btn-menu div:nth-child(3){
  top: 20%;
}
.btn-menu div:nth-child(1){
  bottom: 20%;
}
.menu-open .topo .menu{
  left: 0;
}
.menu-open .sect-top{
  background-color: var(--primary);
}
/* .menu-open .logotipo path{
  fill: var(--primary);
} */
.menu-open .topo:before,
.menu-open .topo{
  background-color: #FFF;
  background: #FFF;
}
body.menu-open{
  overflow: hidden;
}
.menu-open .btn-menu div:nth-child(2){
  height: 0;
  opacity: 0;
  width: 0;
}
.menu-open .btn-menu div:nth-child(3){
  top: 46%;
  transform: rotateZ(-45deg)
}
.menu-open .btn-menu div:nth-child(1){
  bottom: 46%;
  transform: rotateZ(45deg)
}
.mobile .topo .menu > ul{
  display: block;
  width: 90%;
  margin: 0 auto;
}
.mobile .topo .menu > ul > li{
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.mobile .topo .menu a.current{
  color: var(--primary);
  background-color: transparent;
}
.mobile .topo .menu > ul > li:last-child{
  border: none;
}
.mobile .topo .menu a{
  font-size: 18px;
  color: var(--secondary);
  font-family: "Exo2-Bold";
  padding: 12px;
}
.mobile .topo .menu > ul > li .btn-medium{
  color: #FFF;
}
.mobile .topo .menu > ul > li ul {
  display: block;
  position: relative;
  top: inherit;
  width: 100%;
  background-color: rgba(0,0,0,0.03);
  border-radius: 0;
  box-shadow: none;
  left: inherit;
  padding: 0 0 0 12px;
  margin-top: 10px;
}
.mobile .topo .menu > ul > li.dropdown{
  padding-bottom: 0;
}
.mobile .dropdown i{
  display: none;
}
.mobile .img-left{
  height: auto;
  min-height: 40vh;
}
.mobile .section-institucional,
.mobile .section-valores{
  padding: 5vh 0;
  text-align: center;
}
.mobile .logo-institucional{
  max-width: 220px;
}
.mobile .txt-institucional{
  max-width: 100%;
}
.mobile .filtros{
  position: fixed;
  width: 100%;
  background-color: #FFF;
  z-index: 999;
  bottom: -55vh;
  left: 0;
  display: block;
  padding: 20px;
  overflow-y: auto;
  max-height: 50vh;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
  transition: all 0.3s ease 0s;
}
.mobile .filtros a{
  margin: 10px 0 0 0;
}
.filter-open .filtros{
  bottom: 0;
}
.mobile .box-lista-img{
  width: 100%;
  min-height: auto;
  height: 35vh;
  border-radius: 5px;
}
.mobile .box-lista-img img{
  width: 100%;
  max-height: inherit;
}
.mobile .info-box-lista{
  padding: 12px 20px 80px 20px;
}
.mobile .diferencial-item{
  font-size: 14px;
}
.mobile .btn-tab{
  font-size: 14px;
  padding: 0 10px;
  min-width: auto;
  height: 50px;
}
.mobile .darkbox-destaque-img{
  width: 100%;
  padding: 0;
}
.mobile .darkbox-destaque-logo{
  top: inherit;
  bottom: 0;
  z-index: 3;
}
.mobile .darkbox-destaque-img img{
  max-height: 26vh;
}
.mobile .darkbox-destaque-texto{
  width: 100%;
  padding: 20px;
}
.mobile.menu-open .menu-ctrl{
  bottom: -50vh;
}
.mobile .cols-2_mobile .td{
  width: 50%;
}
.mobile .banner-imovel{
  padding-top: 90px;
  min-height: 100vh;
  display: block;
}
.mobile .item-menu{
  padding: 0;
  min-height: 12vh;
  min-width: 100px;
}
.mobile .menu-ctrl{
  bottom: 0;
  height: auto;
}
.mobile .left-menu, 
.mobile .right-menu{
  min-width: 100px;
  border-radius: 6px 6px 0 0;
}
.mobile .left-menu{
  overflow-x: auto;
}
.mobile .right-menu{
  margin-left: 12px;
}
.mobile .menu-ctrl.off{
  bottom: -30vh;
}
.mobile .container-left{
  margin: 0 auto;
}
.mobile .form-imovel{
  max-width: 90%;
  margin: 0 auto;
}
.mobile .img-area-lazer-horizontal,
.mobile .img-area-lazer-vertical{
  position: relative;
  margin: 0 -5vw;
  overflow-x: auto;
}
.mobile .pins{
  width: 160vw;
}
.mobile .pins img[data-src]{
  width: 40%;
}
.mobile .links-lazer{  
  max-height: 25vh;
  overflow-y: auto;
  padding: 0 0 20px 0;  
}
.mobile .shadow-scroll{
  position: relative;
}
.mobile .shadow-scroll:after{
  content: " ";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15px;  
  background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
  background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%);
  background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#4d000000',GradientType=0 );  
  border-bottom: 1px solid rgba(255,255,255,0.3);
}
.mobile .cols-3.impar-cols .td:nth-child(1),
.mobile .cols-3.impar-cols .td:nth-child(2){
  width: 50%;
}
.mobile .cols-3.impar-cols .td:nth-child(3){
  width: 100%;
}
.mobile #banner-icons .td{
  max-width: 120px;
}

.swal2-popup.swal2-toast{
  display: block!important;
}
.swal2-popup.swal2-toast .swal2-content{
  padding: 10px;
}

.hide-navigations .topo{
  top: -140px!important;
}
.hide-navigations .menu-ctrl{
  bottom: -16vh!important;
}

.nav-slide-content{
  position: absolute;
  bottom: 0;
  z-index: 99;
  left: 0;
  width: 100%;
  overflow-x: auto;
  background-color: rgba(0,0,0,0.3);
  transition: all 0.5s ease 0s;
}
.nav-slide-content a{
  display: block;
  border: 3px solid transparent;
  line-height: 0;
}
.mobile .nav-slide-content a img{
  width: 50px;
}
.mobile .pnlm-title-box{
  font-size: 12px;
}
.nav-slide-content a.active{
  border: 3px solid var(--secondary);
}
.hide-nav .nav-slide-content{
  bottom: -300px;
}

.call-to-action{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9;
  background-color: var(--primary);
  overflow-x: auto;
}
.call-to-action .tr{
  flex-wrap: nowrap;
}
.call-to-action .li-call{
  border-right: 1px solid rgba(255,255,255,0.1);
  min-width: 160px;
  padding: 0 10px;
}
.call-to-action .li-call:last-child{
  border: none;
}
.paddingCallToAction{
  padding-bottom: 50px;
}