/*
 * Custom CSS
 */

@font-face {
  font-family: "nelphim_regular";
  src: url("../fonts/nephilm-webfont.woff2") format("woff2"),
    url("../fonts/nephilm-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

* {
  scroll-behavior: smooth;
}
html,
body {
  height: 100%;
}
body {
  font-family: "Work Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  position: relative;
  -webkit-backface-visibility: hidden;
}

p {
  color: #525252;
  line-height: 1.8em;
  font-size: 1em;
}
p a {
  color: #4a4a4a;
}
p a:hover {
  text-decoration: underline;
}

header {
  font-family: "nelphim_regular", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  padding: 0;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  background-color: RGBA(242, 223, 202, 0.9);
}
header.scrolled {
  background-color: RGBA(242, 223, 202, 1);
}
header svg {
  width: 100px;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
}
header.scrolled svg {
  filter: none;
}
header img {
  width: 111px;
  padding-top: 5px;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
}
header li {
  line-height: 19px;
}
a.nav-link {
  font-size: 1.5em;
  position: relative;
  padding: 0 0 4px;
  margin: 8px 10px 0;
  display: inline-block;
  -webkit-backface-visibility: hidden;
  -webkit-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
  color: #4a4a4a;
}
a.nav-link.ico:hover {
  transform: translate3d(0, -0.125rem, 0);
}
a.nav-link::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  border-radius: 0px;
  background-color: #4a4a4a;
  bottom: 0;
  left: 0;
  transform-origin: bottom right;
  transform: scaleX(0);
  -webkit-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
  -webkit-backface-visibility: hidden;
}
a.nav-link:hover::before,
.omobe a.nav-link.omobe-active::before,
.moradas a.nav-link.moradas-active::before,
.viveromobe a.nav-link.viveromobe-active::before,
.colecao a.nav-link.colecao-active::before,
.reservas a.nav-link.reservas-active::before,
.contato a.nav-link.contato-active::before,
.souhospede a.nav-link.souhospede-active::before {
  transform-origin: bottom left;
  transform: scaleX(1);
}
a.nav-link.ico::before {
  content: none;
}
.navbar-nav .dropdown-menu {
  padding: 0 20px;
}

.dropdown-menu {
  border: 0;
  border-radius: 0;
}
.dropdown-menu a {
  color: #aaaaaa;
  text-wrap: nowrap;
  display: inline-block;
}

h1,
h2 {
  font-family: "nelphim_regular", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #333;
}
h2 {
  font-size: 1.8em;
  color: #4a4a4a;
  text-transform: uppercase;
}
h3 {
  color: #4a4a4a;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 0.06em;
  position: relative;
}
h3::before {
  content: "";
  width: 35px;
  height: 1px;
  background-color: #4a4a4a;
  position: absolute;
  top: 7px;
  transform: translateX(-50px);
}
h4 {
  font-weight: 700;
  font-size: 1em;
  line-height: 1.8em;
  color: #525252;
}

.navbar-toggler {
  border: 0;
}
.navbar-toggler:focus {
  box-shadow: none;
}
/* .navbar-collapse.collapse.show {
  background: #242426;
} */

.btn-primary {
  font-size: 1em;
  padding: 13px 32px;
  /* background: #f0b333; */
  color: #523b0b;
  border: 0;
  will-change: transform;
  z-index: 0;
  overflow: hidden;
  text-transform: uppercase;
  border: 1px solid #4a4a4a;
  border-radius: 0;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  display: inline-block;
}
.btn-primary:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: -2;
}
.btn-primary:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #4a4a4a;
  transition: all 0.3s;
  -webkit-backface-visibility: hidden;
  z-index: -1;
}
.btn-primary:hover {
  color: #ffffff;
  text-decoration: none;
}
.btn-primary:hover:before {
  width: 100%;
}
.btn-primary:disabled {
  border: 1px solid #6e6e6e;
  color: #6e6e6e;
}

.btn-secondary {
  font-size: 1.1em;
  padding: 15px 20px;
  /* background: #f0b333; */
  color: #523b0b;
  border: 0;
  will-change: transform;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
}
.btn-secondary:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: -2;
}
.btn-secondary:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #dbdbdb;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-backface-visibility: hidden;
  z-index: -1;
}
.btn-secondary:hover {
  color: #523b0b;
}
.btn-secondary:hover:before {
  width: 100%;
}

.nav-link.em-breve:hover span {
  display: none;
}
.nav-link.em-breve:hover:after {
  content: "Em Breve";
}
[aria-current="breve"] {
  cursor: default;
}

.photobox {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.photobox::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: transparent;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.photobox:hover::before {
  background-color: rgba(0, 0, 0, 0.7);
}
.photobox span {
  font-size: 5.8vw;
  position: absolute;
  bottom: -50px;
  left: 20px;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.photobox:hover span {
  bottom: 20px;
}
.photobox i {
  font-size: 4.8vw;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  /* transform-origin: center center; */
  translate: -50% -50%;
  scale: 0;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.photobox:hover i {
  scale: 1;
}
.photobox a {
  margin: 0;
}

/* .parsley-errors-list, */
.pristine-error {
  color: #e60000;
  margin: 5px 0 0;
}
.loading,
.formtrocasenha-sucesso,
.formtrocasenha-erro,
.formexclusivo-sucesso,
.formexclusivo-erro,
.formnewsletter-sucesso,
.formnewsletter-erro,
.formcontato-sucesso,
.formcontato-erro {
  display: none;
}
.accordion-button:hover {
  background-color: #fef8f2;
}
.accordion-button:not(.collapsed) {
  background-color: #f2dfcb;
}
.accordion-button:focus {
  box-shadow: none;
}

.loading.spin {
  display: inline-block;
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.call {
  width: 40px;
  display: block;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-backface-visibility: hidden;
}
.call svg {
  width: 40px;
  fill: #333;
  stroke: #333;
  margin-right: 10px;
  transform: translateX(-20px);
  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-backface-visibility: hidden;
}
.call:hover svg {
  transform: translateX(0);
}
.card {
  border: 0;
  background: #f8f8f9;
}
.img-testeira img {
  position: relative;
  top: -80px;
}
/* .interna #webdoor::before {
  background: rgba(0, 0, 0, 0.52);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 100%;
  width: 100%;
  content: "";
  z-index: 1;
} */
#webdoor img {
  width: 100%;
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.interna #webdoor img {
  width: 200%;
}
.interna #webdoor .carousel-caption {
  top: auto;
  left: 2%;
  right: 2%;
  top: auto;
  bottom: 0;
}
.interna #webdoor h2 {
  font-size: 2.3em;
  margin: 0;
  /* text-shadow: 0px 0px 10px rgb(255 255 255), 0px 0px 15px rgb(255 255 255),
    0px 0px 20px rgb(255 255 255); */
}
/* .interna #webdoor .carousel-caption h2,
.interna #webdoor .carousel-caption .breadcrumb {
  font-size: 0.6em;
} */
#osespacos-home,
#osespacos-home .btn-primary::after {
  background-color: #f2dfca;
}
#viveromobe-home h3::before,
#contato-box1 h3::before {
  content: none;
}
#colecao-home .photobox span {
  font-size: 3.8vw;
}
#omobe-box1 video {
  width: 100%;
  height: auto;
}
#omobe-box2 {
  background-color: #5d3f28;
}
#omobe-box3 .carousel-caption {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}
#omobe-box3 img {
  width: 220%;
}

#moradas-box1 h2 {
  position: relative;
}
#moradas-box1 h2::before {
  content: "“";
  font-size: 5em;
  position: absolute;
  transform: translate(-100%, -25%);
}
#moradas-box1 h2::after {
  content: "”";
  font-size: 3em;
  position: absolute;
  transform: translate(0, 10%);
}
#moradas-box2 {
  background-color: #e3e5e7;
}
#moradas-box3 {
  background-color: #e6cdc3;
  margin-top: 6rem;
  margin-bottom: 3rem;
}

#viver-box2 {
  background-color: #fef4e4;
}
#viver-box2 ul li {
  margin-bottom: 15px;
}
#viver-box3 .carousel-caption {
  bottom: auto;
  top: 2%;
  left: 5%;
  right: 13%;
}
#viver-box3 img {
  width: 200%;
  max-width: none;
}
#viver-box3 h2.frase {
  font-size: 1.8em;
}

.galeria {
  width: max-content;
  background-color: #ffffff;
  scroll-behavior: smooth;
}
.galeria div:first-child {
  padding-left: 10px;
}
.fotogaleria {
  float: left;
  background-color: #ffffff;
  padding-right: 10px;
}
.colecao .fotogaleria {
  padding-right: 0;
}
.fotogaleria a {
  display: block;
}
.foto-galeria img {
  max-height: 350px;
}
.scroll-galeria {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 10px);
  width: max-content;
}
.scroll-galeria a {
  color: #999999;
}
.scroll-galeria a:hover,
.scroll-galeria a:active,
.scroll-galeria a:focus,
.scroll-galeria a.active {
  color: #4a4a4a;
}
.scroll-galeria i {
  vertical-align: middle;
}
.scroll-galeria .bi-arrow-left,
.scroll-galeria .bi-arrow-right {
  font-size: 26px;
}

#newsletter input {
  font-size: 1em;
  padding: 13px 15px;
  /* background: #f0b333; */
  color: #523b0b;
  will-change: transform;
  z-index: 0;
  overflow: hidden;
  border: 1px solid #4a4a4a;
  border-radius: 0;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  display: inline-block;
}

footer {
  background-color: #f2dfca;
}

#webdoor .carousel-control-next,
#webdoor .carousel-control-prev {
  width: 10%;
}
#webdoor h3 {
  font-weight: 500;
  font-size: 1em;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
#webdoor .call {
  width: fit-content;
  white-space: nowrap;
}
#webdoor .call svg {
  width: 70px;
  fill: #f0b333;
  stroke: #f0b333;
  margin-right: 10px;
}
#webdoor .call a {
  color: #f0b333;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 1.1em;
  letter-spacing: 0.15em;
  font-family: "Plus Jakarta Sans", sans-serif;
  box-shadow: inset 0 0 0 0 #f0b333;
  color: #ffffff;
  margin: 0 -0.25rem;
  padding: 0 0.25rem;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
#webdoor .call a:hover {
  box-shadow: inset 160px 0 0 0 #f0b333;
  color: white;
}
.breadcrumb {
  margin: 0;
}
.breadcrumb li {
  display: inline-block;
  color: #4a4a4a;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  /* text-shadow: 0px 0px 10px rgb(255 255 255), 0px 0px 15px rgb(255 255 255),
    0px 0px 20px rgb(255 255 255); */
}
.breadcrumb li a {
  color: #4a4a4a;
  text-decoration: none;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb-item.active {
  color: #4a4a4a;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: #4a4a4a;
  /* text-shadow: 0px 0px 5px rgb(255 255 255), 0px 0px 5px rgb(255 255 255),
    0px 0px 10px rgb(255 255 255); */
}

.breadcrumb-item + .breadcrumb-item.text-white::before {
  color: #ffffff;
}
/* .frase {
  background: url(../imagens/back-digital.jpg) no-repeat;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
  -webkit-box-shadow: rgba(0, 0, 0, 0.36) 0px 10px 36px 0px,
    rgba(0, 0, 0, 0.36) 0px 0px 0px -15px;
  -moz-box-shadow: rgba(0, 0, 0, 0.36) 0px 10px 36px 0px,
    rgba(0, 0, 0, 0.36) 0px 0px 0px -15px;
  box-shadow: rgba(0, 0, 0, 0.36) 0px 10px 36px 0px,
    rgba(0, 0, 0, 0.36) 0px 0px 0px -15px;
}
.frase::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
    height: 100%; 
   background: radial-gradient(circle, rgba(0,0,0,.3) 0%, rgba(0,0,0,.8) 100%);
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
}
.frase h2 {
  position: relative;
  z-index: 3;
} */
.round-icon {
  background: #f0b333;
  display: block;
  border-radius: 100%;
  padding: 20px;
  width: 90px;
  height: 90px;
  margin: auto;
}
.round-icon img {
  filter: brightness(0%);
}
.warning p {
  background: rgb(241, 241, 241, 0.95) url(../imagens/warning.png) center center
    no-repeat;
  background-size: contain;
  background-blend-mode: overlay;
  border-radius: 10px;
  border: 2px solid #efefef;
}
.t-shadow {
  text-shadow: 2px 2px 5px #000000;
}

.back {
  position: absolute;
  width: 400%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 40px;
  right: 40px;
  background-color: #25d366;
  color: #fff;
  border-radius: 50px;
  text-align: center;
  font-size: 38px;
  box-shadow: 2px 2px 3px #999;
  z-index: 100;

  -webkit-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.my-float {
  margin-top: 12px;
}

.float:hover {
  font-size: 44px;
  width: 67px;
  height: 67px;
}

.bounce {
  animation: bounce 10s infinite;
}

@keyframes bounce {
  0%,
  25%,
  50%,
  75%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-12px);
  }
}

@media (max-width: 992px) {
}

/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
}

/* // Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  header.scrolled {
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  }
  .interna #webdoor img {
    width: 100%;
  }
  .nav-link {
    padding: 0 0 4px !important;
  }
  a.nav-link {
    font-size: 1vw;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .scrolled a.nav-link {
    font-size: 0.9vw;
  }
  .interna #webdoor .carousel-caption {
    right: 10%;
    left: 10%;
    bottom: 10px;
  }
  .photobox span {
    font-size: 1.8vw;
  }
  .photobox i {
    font-size: 2.8vw;
  }
  .box-overflow {
    position: relative;
    width: 130%;
  }
  #colecao-home .photobox span {
    font-size: 0.8vw;
  }
  #omobe-box3 img {
    width: 100%;
  }
  #viver-box3 img {
    width: 100%;
  }
  #viver-box3 .carousel-caption {
    right: 10%;
  }

  .foto-galeria img {
    max-height: none;
  }
}

/* // Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  header {
    padding: 1.5rem;
  }
  header.scrolled {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  header svg {
    width: 10.7vw;
  }
  header.scrolled svg {
    width: 7.8vw;
  }
}

/* // X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
}

/* // XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
}
