:root {
  --diagonal-primary: #d02f27;
  --diagonal-secondary: #0249d0;
  --bs-primary: #d02f27;
  --bs-secondary: #0249d0;
  --bs-primary-rgb: 208, 47, 39;
  --bs-secondary-rgb: 2, 73, 208;
  --bs-primary-text-emphasis: #0249d0;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-emphasis-color: #d02f27;
  --bs-emphasis-color-rgb: 208, 47, 39;
  --bs-secondary-color: rgba(2, 73, 208, 0.75);
  --bs-secondary-color-rgb: 2, 73, 208;
  --transition-duration: .25s;
  --bs-light: #f3efeb;
  --bs-light-rgb: 243, 239, 235;
}

/* body */
body {
  font-family: 'TT Norms Pro', Arial;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #d02f27;
  --bs-btn-border-color: #d02f27;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bc241c;
  --bs-btn-hover-border-color: #bc241c;
  --bs-btn-focus-shadow-rgb: rgb(205, 125, 120);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #bc241c;
  --bs-btn-active-border-color: #bc241c;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #d02f27;
  --bs-btn-disabled-border-color: #d02f27;
}

.text-justify {
  text-align: justify;
}

.text-diagonal-primary {
  color: var(--diagonal-primary)!important;
}

.text-muted {
  color: var(--bs-gray) !important;
}

.text-dark {
  color: var(--bs-gray-700) !important;
}

.text-shadow {
  text-shadow: 1px 1px 0 rgba(var(--bs-black-rgb), .5);
}

.divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.bg-hexagon {
  background-image: url(../img/bg-hexagon-pattern.jpg);
  background-size: contain;
  background-position: bottom right;
}

.bg-white-gradient {
  background-color: var(--bs-white);
  background: linear-gradient(180deg, rgba(var(--bs-white-rgb), 1) 0%, rgba(var(--bs-white-rgb), 0.25) 100%);
}

/* container */
main {
  padding-top: 4rem;
}

main .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

/* header */
.navbar-nav {
  --bs-nav-link-color: var(--bs-gray-dark);
  --bs-navbar-hover-color: var(--bs-gray-dark);
  --bs-navbar-active-color: var(--bs-gray-dark);
  --bs-navbar-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-x: 1rem;

  /*
  --bs-navbar-color: var(--bs-white);
  --bs-navbar-disabled-color: var(--bs-gray-600);
  background-color: var(--bs-black);
  */
}

header .navbar {
  box-shadow: 0 .35em .75em -.0em rgba(var(--bs-black-rgb), .5);
}

header .navbar-toggler {
  color: #333;
  border-radius: 0;
}

header .nav-link {
  transition: background-color var(--transition-duration);
  font-weight: bold;
}

header .nav-link.active,
header .nav-link:focus,
header .nav-link:hover {
  background-color: var(--bs-light);
}

/* footer */
footer {
  box-shadow: inset 0 .5em .75em rgba(var(--bs-black-rgb), .5);
  background: var(--bs-light);
}

/* banners carousel */
#banners-carousel {
  /* height: calc(100vh - var(--header-height)); */
  --banner-height: 600px;
  height: var(--banner-height);
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 .35em .75em -.0em rgba(var(--bs-black-rgb), .5);
}

#banners-carousel .carousel-indicators [data-bs-target] {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  /* background-color: var(--bs-primary); */
}

#banners-carousel .carousel-control-prev,
#banners-carousel .carousel-control-next {
  width: 15%;
  text-shadow: .1rem .1rem .3rem rgba(var(--bs-black-rgb), .5);
}

#banners-carousel .carousel-item img {
  object-fit: cover;
  height: 600px;
}

#banners-carousel .carousel-caption {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  padding: 4.25rem;

  display: flex;
  justify-content: center;
  align-items: center;;

  background-color: rgba(var(--bs-black-rgb), .35);
  text-shadow: 1px 1px 0 #000;
}

#banners-carousel .carousel-cover {
  position: absolute;
  height: 1em;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: inset 0 -.5em .75em -.25em rgba(var(--bs-black-rgb), .35);
}

#banners-carousel .carousel-cover-mask {
  position: absolute;
  bottom: 0;
}

#banners-carousel .carousel-item-img {
  /* height: calc(100vh - var(--header-height)); */
  height: var(--banner-height);
  background-position: center bottom;
  background-size: cover;
  background-color: #FFF;
  background-attachment: fixed;
}

/* */

#condicoes-especiais i,
#diferenciais i,
#proximidades i {
  color: var(--bs-secondary);
}

/* */
#diferenciais {

}

/* */
#proximidades {

}

/* */
#plantas .planta-image {
  /* width: 25rem; */
  height: auto;
  width: 100%;
  min-width: 128px;
  max-width: 256px;
}

/* mapa */
#mapa iframe {
  width: 100%;
}

/* contato */
#contato .section {
  max-width: 800px;
}

#contato img {
  max-height: 500px;
}

form input:required + label::after {
  content: '*';
  color: var(--bs-danger);
  margin-left: 0.25rem;
}

.bg-cover-secondary {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(var(--bs-secondary-rgb), .75);
}

/* float buttons */
.float-buttons {
  position: fixed;
  top: calc(75% - 30px);
  right: 0;
  display: flex;
  flex-flow: column;
}

/* whatsapp button */
.whatsapp-float-button {
  background-color: #25d366;
  color: #FFF;
  font-size: 1.25rem;
  font-weight: bold;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .5);
  text-decoration: none;
  transition: height .2s, background-color .2s;
  border-top-left-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  z-index: 100;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 0;
}
.whatsapp-float-button:hover {
  color: #FFF;
  background-color: #18b852;
}
.whatsapp-float-button .fa-whatsapp {
  font-size: 48px;
}

/* contato button */
.contato-float-button {
  background-color: #0E459D;
  color: #FFF;
  font-size: 1rem;
  font-weight: bold;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .5);
  text-decoration: none;
  transition: height .2s, background-color .2s;
  border-bottom-left-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  z-index: 100;
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.contato-float-button:hover {
  color: #FFF;
  background-color: #063785;
}
.contato-float-button .fa-message {
  font-size: 20px;
}

/* buildings list */
.buildings-list {
  width: 100%;
}
.buildings-list a {
  transition: box-shadow 0.15s ease-in-out;
}
.buildings-list a:hover {
  box-shadow: var(--bs-box-shadow) !important;
}