@import url(https://fonts.googleapis.com/css?family=Crimson+Text);
@font-face {
  font-family: 'renner-book';
  src: url('../font/renner-book-webfont.woff2') format('woff2'),
       url('../font/renner-book-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'renner-light';
  src: url('../font/renner-light-webfont.woff2') format('woff2'),
       url('../font/renner-light-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

:root {
    --blue: #26338c;
    --lightblue: #dee0ee;
    --lightgrey: #ccc;
  }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body{
  margin: 0;
  padding: 0;
  font-family: 'renner-book', sans-serif;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.03em;
  color: var(--blue);
  overflow-y: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* IE 10+ */
}
body::-webkit-scrollbar { 
  width: 0;
  height: 0;  /* WebKit */
}
@media (max-width:600px){
  body{
    font-size: 15px;
  }
}

p{
  font-family: 'Crimson Text', serif;
}

a:link, a:visited, a:active, a:hover{
  color: var(--blue);
  text-decoration: none;
}
a:hover{
  border-bottom: 1px solid var(--blue);
}
h3{
  font-size: 1.1em;
  text-transform: uppercase;
}
.underline{
  display: inline-block;
  border-bottom: 2px solid var(--blue);
}

.white{color: #fff;}


/*---------------------------------------------------------------------- HEADER ---*/

header{
  width: 100vw;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 99;
}
#main-logo{
  width: 230px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.5s;
}

/*---------------------------------------------------------------------- LANG SOCIAL ---*/

#lang-social{
  padding: 0 !important;
  width: auto;
  height: 20px;
  position: fixed;
  top: 40px;
  right: 40px;
  font-size: 0.7em;
  text-transform: uppercase;
  cursor: pointer;
}
.active{
  color: var(--lightblue)!important;
  border-color: var(--lightblue)!important;
}
#lang-social div{
  float: left;
}
#lang-social div:first-child{
  margin-top: 2px;
}
#social{
  margin-left: 15px;
}
#social img{
  margin-left: 5px;
  width: 20px;
}
#social a:hover{
  border: none;
}
#mobile-lang{
  display: none;
  padding: 0 !important;
  width: auto;
  height: 20px;
  position: fixed;
  top: 30px;
  right: 40px;
  font-size: 1.2em;
  text-transform: uppercase;
  cursor: pointer;
  color: #fff!important;
}
#mobile-lang a{
  color: #fff!important;
}
#social-mobile{
  display: none;
  padding: 0 !important;
  width: auto;
  height: 20px;
  position: fixed;
  bottom: 40px;
  left: 40px;
  font-size: 1.2em;
  text-transform: uppercase;
  cursor: pointer;
  color: #fff!important;
}
#social-mobile img{
  width: 20px;
}

/*---------------------------------------------------------------------- MENU ---*/

#open, #close{
  padding: 0 !important;
  width: 20px;
  height: 20px;
  position: fixed;
  top: 40px;
  left: 40px;
  cursor: pointer;
}
#menu{
  display: none;
  width: 100vw;
  height: calc(100vh - 100px);
  position: fixed;
  top: 100px;
  left: 0;
  background-color: var(--blue);
  z-index: 9;
}
#links{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
}
#links a{
  display: block;
  font-size: 1.5em;
  line-height: 1.3;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
}
#links a:hover{
  border: none;
}

/*------------------------------------------------------------- MAIN ENTRANCE LOGO ---*/

#main-entrance-logo{
  width: 60vw;
  max-width: 900px;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  z-index: 9;

}
#main-entrance-logo img{
  width: 100%;

}

/*---------------------------------------------------------------------- SLIDER ---*/

#slider-banner {
  position: relative;
  top:0;
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
}
#slider-over {
  position: relative;
  top:0;
  width: 100vw;
  min-height: 100vh;
  background-color: var(--blue);
  z-index: 1;
  opacity: 0.3;
  mix-blend-mode: hard-light;
}
#slider-banner img{
  position: absolute;
  width: 100vw;
  height: 56.25vw; /* 16:9 — 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* 16:9 — 16/9*100 = 177.77 */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width:900px){
  #slider-banner img{
    min-height: 100vh;
    width: auto!important;
  }
}
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1s;
  animation-name: fade;
  animation-duration: 1s;
}
@-webkit-keyframes fade {
  from {opacity: .7} 
  to {opacity: 1}
}
@keyframes fade {
  from {opacity: .7} 
  to {opacity: 1}
}

/*---------------------------------------------------------------------- CONTENT ---*/

.container{
  margin: 100px auto 120px auto;
  text-align: center;
  width: 80%;
  max-width: 1100px;
}
@media (max-width:600px){
  .container{
    width: 100%;
  }
}
.container-center{
  position: relative;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
}
.container-center .center{
  position: relative;
  width: 70vw;
  height: 70vh;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width:900px){
  .container-center .center{
    width: 90vw;
  }
}
@media (max-width:600px){
  .container-center .center{
    width: 100vw;
  }
}
section.text{
  margin: 0 10%;
  text-align: center;
}
section.text h3{
  padding: 55px 0 0 0;
}
section.text p{
  padding: 30px 0;
  margin: 0 10%;
}
.container-banner, section.tabela{
  width: 100%;
}
.quote{
  margin: 0;
  font-size: 1.3em;
  text-align: center;
}
.map-map{
  margin: auto;
  width: 100%;
}
@media (max-width:900px){
  .map-map{
    width: 85%;
  }
}
@media (max-width:600px){
  .map-map{
    width: 100%;
  }
}
/*---------------------------------------------------------------------- BLOCKS ---*/
section.casas{
  padding: 55px 0 0 0;
}
.block-casa{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  align-content: stretch;
  margin-top: 90px;
  width: 100%;
  height: auto;
  position: relative;
  min-height: 650px!important;
  max-height: 650px!important;
  overflow: hidden;
}
.block-casa > div{
  width: 48%;
  height: 650px;
  overflow: hidden;
}
.block-casa p{
  padding: 30px;
}
.block-casa img{
  width: 115%;
  height: auto;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.spec{
  margin: 0 30px 30px 30px;
  width: calc(100% - 60px);
  height: 100%;
  background-color: var(--lightblue);
}
.spec table{
  margin: 0 30px 0 30px;
  padding-top: 5px;
  width: calc(100% - 60px);
}
.spec table td{
  padding: 3% 0;
  border-bottom: 1px solid var(--blue);
}
.spec table td p{
  padding: 15px;
  font-size: 0.8em;
}
@media (max-width: 1200px){
  .spec table td p br{
    display: none;
  }
  .spec table td{
    padding: 2% 0;
  }
}
.spec h6{
  font-family: 'renner-book', sans-serif;
  font-size: 0.7em;
}
@media (max-width: 900px){
  .spec table td{
    padding: 10px 0!important;
  }
}

/*---------------------------------------------------------------------- GALLERY ---*/

section.gallery{
  position: relative;
  padding: 55px 0 0 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  height: 80vh;
  width: 60vw;
  max-width: 1000px;
}
@media (max-width:900px){
  section.gallery{
    width: 80vw;
  }
}
@media (max-width:600px){
  section.gallery{
    width: 100vw;
  }
}
#gallery-select h3{
  display: inline-block;
  margin-bottom: 0;
}
#gallery-select h3 span{
  cursor: pointer;
}
.btn.selection{
  color: var(--lightblue);
}
#propriedade{display: block}
#casa-gra, #casa-peq{display: none}
.gallery-box {
  position: relative;
  margin-top: 10px;
  width: 100%;
  height: 65vh;
  left: 50%;
  transform: translateX(-50%);
}
.gallery-item, .gallery-item-01, .gallery-item-02 {
  position: relative;
  display: none;
  height: 100%;
  width: 80%;
  margin: auto;
  text-align: initial;
}
.gallery-item img, .gallery-item-01 img, .gallery-item-02 img{
  position: relative;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.gallery-item-vertical{
  height: 100%!important;
  width: auto!important;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.prev, .next {
  cursor: pointer;
  position: absolute;
  width: 35px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.6s ease;
}
.prev img, .next img{
  width: 100%;
}
.prev {
  left: -75px;
}
.next {
  right: -75px;
}
.prev:hover, .next:hover{
  border: none;
}

/*---------------------------------------------------------------------- TABELA ---*/

section.tabela{
  position: relative;
  height: 70vh;
  width: 60vw;
  max-width: 900px;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  overflow: hidden;
  display: flex;
  flex-flow: column;
  justify-content: center;
}


section.tabela h3 {
	margin-bottom: 20px;
}

section.tabela div {
	margin: 10px 0;
}

section.tabela > p {
	padding: 50px;
}

@media (max-width:900px){
  section.tabela{
    width: 80vw;
  }
}
@media (max-width:600px){
  section.tabela{
    width: 90vw;
  }
}
.tabela table{
  margin-top: 40px;
  width: 100%;
  border: 2px solid var(--blue)!important;
  font-size: 0.8em;
  text-transform: uppercase;
}
.tabela table, .tabela table tr, .tabela table td{
  border-collapse: collapse;
  border: 1px solid var(--blue);
}
.tabela table tr td{
  height: 75px;
}
.tabela table span{
  font-family: 'renner-light', sans-serif;
  font-size: 0.85em;
}
.tabela .info-tabela{
  margin-top: 30px;
  font-family: 'renner-light', sans-serif;
  font-size: 0.7em;
}

/*---------------------------------------------------------------------- FOOTER ---*/

footer {
  padding: 0 40px;
  width: 100vw;
  height: 60px;
  z-index: 999;
}
footer.footer-option{
  padding: 0 40px;
  width: 100vw;
  height: 60px;
  position: fixed;
  bottom: 0;
  z-index: 10;
}
footer h6{
  display: inline-block;
  margin-top: 25px;
  font-family: 'renner-light', sans-serif;
  font-size: 0.6em;
}
footer img{
  margin-top: 5px;
  width: 230px;
  float: right;
}



/*---------------------------------------------------------------------- MOBILE ---*/
@media (max-width:1150px){
  .quote {
    margin: 0 5%;
  }
  .block-casa {
    flex-direction: column!important;
    height: auto;
    min-height: 650px!important;
    max-height: 1300px!important;
  }
  .block-casa > div:first-child{
    height: auto;
  }
  .block-casa > div{
    width: 100%;
  }
  .block-casa img{
    width: 100%;
    height: auto!important;
    padding: 90px 30px;
  }
}
@media (max-width:800px){
  h3 {
    font-size: 1.3em;
  }
  #links a {
    font-size: 2em;
  }
  #main-logo{
    width: 230px;
    height: auto;
    position: absolute;
    top: 50%;
    left: auto;
    right: 0;
    transform: translate(-10%, -50%);
  }
  #menu {
    height: 100vh;
    top: 0;
  }
  #close{
    content:url("../img/close.png");
  }
  #links{
    top: 25%;
    left: 40px;
    transform: none
  }
  #links a{
    text-align: left;
  }
  #mobile-lang{
    display: block;
  }
  #social-mobile{
    display: block;
  }
  #menu .footer-option{
    display: none;
  }
  #main-entrance-logo{
    width: 80vw;
  }
  #lang-social{
    display: none;
  }
  .container {
    margin: 80px auto 50px auto;
  }
  footer{
    padding: 0 5%!important;
  }
  .footer-home{
    display: none!important;
  }
  footer h6{
    font-size: 0.5em;
  }
  footer img{
    margin-top: 21px;
    width: 100px;
  }
  section.text {
    margin: 0 5%;
  }
  .prev, .next {
    width: 20px;
  }
  .prev {
    left: 15px;
  }
  .next {
    right: 15px;
  }
}
@media (max-width:430px){
  body{
    font-size: 10px;
  }
  header{
    height: 70px;
  }
  #open, #close {
    top: 25px;
  }
  #main-logo{
    width: 190px;
  }
  section.text h3, section.casas {
    padding: 25px 0 0 0;
  }
  .gallery-box {
    height: 55vh;
  }
  .tabela table {
    margin-top: 25px;
  }
  .tabela table tr td {
    height: 40px;
  }
  .prev {
    left: 5px;
  }
  .next {
    right: 5px;
  }
  .block-casa{
    margin-top: 30px;
  }
  .block-casa > div{
    height: 300px;
  }
}

