/**
 * Theme Name:     Omni
 * Author:         BYTE TO IT
 * Template:       blocksy
 * Text Domain:	   omni
 * Description:    Omni is a fast, modern WordPress theme with advanced WooCommerce support and full compatibility with the block editor.
 */

:root {
  --theme-palette-color-1: #104255;
  --theme-palette-color-2: #e23c3b;
  --theme-palette-color-3: #7e8c92;
  --theme-palette-color-4: #22292f;
  --theme-palette-color-5: #b4c7d1;
  --theme-palette-color-6: #e5e9eb;
  --theme-palette-color-7: #f4f4f4;
  --theme-palette-color-8: #ffffff;
  --theme-palette-color-9: #1cb3e5;
}

.color-palette-color-1{ 
  color: var(--theme-palette-color-1);
}

.color-palette-color-2{ 
  color: var(--theme-palette-color-2);
}

.color-palette-color-3{ 
  color: var(--theme-palette-color-3);
}

.color-palette-color-4{ 
  color: var(--theme-palette-color-4);
}

.color-palette-color-5{ 
  color: var(--theme-palette-color-5);
}

.color-palette-color-6{ 
  color: var(--theme-palette-color-6);
}

.color-palette-color-7{ 
  color: var(--theme-palette-color-7);
}

.color-palette-color-8{ 
  color: var(--theme-palette-color-8);
}

.color-palette-color-9{ 
  color: var(--theme-palette-color-9);
}

body {
  font-family: Nunito, Sans-Serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: Nunito, Sans-Serif;
}

.fs-14 {
  font-size: 14px;
}

.fs-16 {
  font-size: 16px;
}

.fs-18 {
  font-size: 18px;
}

.fs-23 {
  font-size: 23px;
}

.fs-26 {
  font-size: 26px;
  line-height: 1.5em;
}

@media (min-width: 967px) {
  .fs-md-16 {
    font-size: 16px;
  }
  .fs-md-18 {
    font-size: 18px;
  }
  .fs-md-20 {
    font-size: 20px;
  }
  .fs-md-23 {
    font-size: 23px;
  }
  .fs-md-32 {
    font-size: 32px;
  }
  .fs-md-46 {
    font-size: 46px;
    line-height: 1.3em;
  }
}

.w-auto {
  width: auto;
}

.fit-content {
  width: fit-content;
}

.blockquote p {
  font-size: 26px;
  line-height: 1.5em;
  font-weight: 400;
  color: var(--theme-palette-color-1);
}

.btn-outline-secondary {
  border: 1px solid #104255 !important;
  color: #104255 !important;
}

.btn-outline-secondary:hover {
  border: 1px solid #104255 !important;
  color: #ffffff !important;
  background-color: #104255 !important;
}

.btn-outline-secondary:hover .fill-color {
  fill: #ffffff !important;
}

@media (min-width: 767px) {
  .blockquote p {
    font-size: 40px;
  }
}

.blockquote-footer {
  font-size: 18px;
  color: var(--theme-palette-color-1);
  opacity: .6;
}

blockquote:where(:not(.is-style-plain):not(.has-text-align-center):not(.has-text-align-right)) {
  padding-inline-start: 0 !important;
}

blockquote:where(:not(.is-style-plain)):where(:not(.has-text-align-center):not(.has-text-align-right)) {
  border-inline-start: 0 !important
}

.blockquote-footer::before {
    content: "" !important;
}

.form-pill {
  background-color: #e5e9eb;
  border: 1px solid #b4c7d1;
  border-radius: 32px;
  padding: 4px 14px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 700;
  width: fit-content;
  margin-bottom: 8px;
}

.form-title {
  font-size: 32px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 12px;
}

@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1400px !important;
  }
}

@media (max-width: 767px) {
    .gspb_row__content {
        padding: 0 !important;
    }
}

.post-type-archive,
.page-id-225, 
.page-id-791,
.page-id-855 {
  background-color: #f4f4f4;
}

/*|buttons*/

.btn.btn-outline {
  border-radius: 6px;
  border: 1px solid #104255;
  color: #104255 !important;
}

.btn.btn-outline:hover {
  border: 1px solid #104255;
  background-color: #104255;
  color: #ffffff !important;
}

.btn.btn-outline:hover svg .icon {
  fill: #ffffff !important;
}

/*|nav*/

#header [data-row*=top] {
  max-height: 32px !important;
}

.ct-sticky-container {
  max-height: 120px !important;
}

[data-menu]>ul>li[class*=current-menu-]>a:before, [data-menu]>ul>li[class*=current-menu-]>a:after {
    background-color: transparent !important;
}

#header .entry-content.is-layout-flow p {
  display: none;
}

#header [data-row*="top"] #header [data-column="middle"] > div,
#header [data-column="middle"] .ct-header-text {
  width: 100%;
}

.page-id-223 .lang-nav a {
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}

#menu-item-599 {
  justify-content: center;
  align-items: center;
}

#menu-item-599 > .ct-menu-link {
  display: flex !important;
  height: 32px !important;
  color: #104255 !important;
  border-radius: 32px;
  padding: 4px 14px !important;
  border: 1px solid #104255 !important;
}

[data-header*="type-1"] [data-sticky*="yes"] #menu-item-599 > .ct-menu-link {
  color: #104255 !important;
  border: 1px solid #104255 !important;
}

[data-header*="type-1"] [data-sticky*="yes"] #menu-item-599 > .ct-menu-link svg  {
  fill: #104255 !important;
}

.page-id-223 #menu-item-599 .ct-toggle-dropdown-desktop svg {
  fill: #ffffff !important;
}

.page-id-223 #menu-item-599 > .ct-menu-link {
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

.page-id-223 #menu-item-599 .sub-menu a {
  color: #104255 !important;
}

#menu-item-886 {
  justify-content: center;
  align-items: center;
}

#menu-item-886 > .ct-menu-link {
  display: flex !important;
  height: 32px !important;
  color: #104255 !important;
  border-radius: 32px;
  padding: 4px 14px !important;
  border: 1px solid #104255 !important;
}

.page-id-831 #menu-item-886 .ct-toggle-dropdown-desktop svg {
  fill: #ffffff !important;
}

.page-id-831 #menu-item-886 > .ct-menu-link {
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

.page-id-831 #menu-item-886 .sub-menu a {
  color: #104255 !important;
}

[data-header*="sticky:shrink"] #menu-item-886 .ct-toggle-dropdown-desktop svg {
  fill: #104255 !important;
}

[data-header*="sticky:shrink"] #menu-item-886 > .ct-menu-link {
  color: #104255 !important;
  border: 1px solid #104255 !important;
}

.ct-panel-content-inner .secondary-menu a {
  font-size: 16px !important;
  font-weight: 400 !important;
}

.ct-panel-content-inner .menu-item-privacy-policy a {
  margin-top: 40px;
  border-top: 1px solid #cccccc;
}

/*|bleed effect*/

/*

.left-bleed {
  padding-left: 20px;
  padding-right: 20px;
}

.right-bleed {
  padding-left: 20px;
  padding-right: 20px;
}
*/

@media (max-width: 999px) {
  .left-bleed,
  .right-bleed {
    width: var(--theme-container-width) !important;
    max-width: var(--theme-normal-container-max-width) !important;
    margin: 0 auto !important;
  }
}

@media (min-width: 1000px) {
  .left-bleed {
    padding-left: calc((100dvw - var(--theme-container-width)) / 2) !important;
  }

  .right-bleed {
    padding-right: calc((100dvw - var(--theme-container-width)) / 2) !important;
  }
}

@media (min-width: 1570px) {
  .left-bleed {
    padding-left: calc(
      (100dvw - var(--theme-normal-container-max-width)) / 2
    ) !important;
  }

  .right-bleed {
    padding-right: calc(
      (100dvw - var(--theme-normal-container-max-width)) / 2
    ) !important;
  }
}

/*|menu mobile*/

#offcanvas .ct-header-text span {
  flex-direction: column;
  gap: 8px !important;
}

.ct-panel-content-inner {
  height: 100%;
}

/*|slider*/

.swiper-button-next,
.swiper-button-prev {
  position: relative;
  left: unset !important;
  right: unset !important;
  top: unset !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  content: "" !important;
}

.swiper-pagination,
.nav-dots {
  position: relative !important;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #b4c7d1;
  border-radius: 36px;
  height: 36px;
  background-color: #ffffff;
  width: fit-content !important;
  padding: 0 20px !important;
}

.swiper-pagination-bullet {
  width: 6px !important;
  height: 6px !important;
  border-radius: 6px !important;
  background-color: #b4c7d1 !important;
  opacity: 1 !important;
  transition: 500ms all ease;
  margin: 0 2px !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 16px !important;
  background-color: #1cb3e5 !important;
}

@media (max-width: 767px) {
  .gspb_row__content {
    padding: 0 10px;
  }
  .gspb_row__col--3 {
    margin: 0 auto;
  }
}

/*|project slider*/

.projetos-slider,
.projetos-slider .projetos-swiper {
  overflow: visible;
}

.projetos-swiper .swiper-slide {
  max-width: 910px;
}

.projetos-swiper .swiper-slide .projetos-media img {
  height: 360px;
}

@media (min-width: 767px) {
  .projetos-swiper .swiper-slide .projetos-media img {
    height: 580px;
  }
}

.projetos-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.projetos-img {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.projetos-img img {
  transition: 2000ms all ease;
}

.projetos-card-link:hover {
  color: #104255;
}

.projetos-card-link:hover .projetos-img img { 
  transform: scale(1.1);
}

.projetos-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.projetos-media {
  position: relative;
}

.projetos-media img.feature {
  display: block;
  width: 100%;
  object-fit: cover;
}

.projetos-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 12px;
}
.projetos-logo {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.projetos-logo img {
  max-width: 90%;
  max-height: 100px;
  height: auto;
  width: auto;
  object-fit: contain;
}

.projetos-content {
  padding-inline: 4px;
}
.projetos-title {
  margin: 0;
  font-size: 23px;
  line-height: 1.3em;
  text-transform: uppercase;
}
.projetos-excerpt {
  font-size: 18px;
  line-height: 1.5em;
  margin: 4px 0 0;
}

@media (max-width: 1200px) {
  .projetos-slider .swiper-slide {
    width: 760px;
  }
}
@media (max-width: 1024px) {
  .projetos-slider .swiper-slide {
    width: 640px;
  }
}
@media (max-width: 820px) {
  .projetos-slider .swiper-slide {
    width: calc(100% - 48px);
  }
}

/*|investments*/

.list-investments .list-item {
  background-color: #f4f4f4;
}

.list-investments .list-item:nth-child(even) {
  background-color: #ffffff;
}

.page-id-263 .list-investments .list-item {
  background-color: #ffffff;
}

.page-id-263 .list-investments .list-item:nth-child(even) {
  background-color: #f4f4f4;
}

/*|form*/

label {
  font-size: 14px;
  color: #22292f;
}

.wpcf7-form p {
  margin: 0;
}

.wpcf7-form br {
  display: none;
}

.wpcf7-form-control.wpcf7-radio {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  margin: 0;
}

select,
textarea,
input:is(
    [type="url"],
    [type="tel"],
    [type="text"],
    [type="time"],
    [type="date"],
    [type="datetime"],
    [type="datetime-local"],
    [type="email"],
    [type="number"],
    [type="search"],
    [type="password"]
  ),
fieldset .wc-stripe-elements-field,
.ff-inherit-theme-style .ff-el-form-control:not([size]):not([multiple]) {
  background-color: #e5e9eb !important;
  border: 1px solid #b4c7d1 !important;
  margin-top: 4px;
  margin-bottom: 12px;
}

.wpcf7-form-control.wpcf7-select {
  margin-bottom: 12px;
}

.wpcf7-form-control.wpcf7-textarea {
  margin-bottom: 12px;
  margin-top: 4px;
}

.radio-option-block {
  margin-bottom: 12px;
}

.radio-option-block .wpcf7-form-control label {
  color: #104255;
}

.radio-option-block .wpcf7-form-control,
.wpcf7-form-control.wpcf7-acceptance {
  background-color: transparent !important;
  border: 0 !important;
}

.wpcf7-form-control.wpcf7-submit {
  margin-top: 32px;
}

/*|archive projetos*/

.archive, 
.blog {
  background-color: #f4f4f4;
}

.nav {
  gap: 8px;
}

.nav-pills .nav-link {
  border-radius: 30px;
  padding: 4px 16px;
  background-color: transparent;
  color: #7e8c92 !important;
  border: 1px solid #7e8c92 !important;
  border-radius: 32px !important;
}

.nav-pills .nav-link.active {
  background-color: #1cb3e5 !important;
  color: #fff !important;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  pointer-events: all;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
}

.project-logo {
  position: relative;
  max-width: 90%;
  object-fit: contain;
  padding: 0 20px;
}

.card {
  background: transparent !important;
  border: 0 !important;
}

.card-body {
  margin-top: 12px;
  padding: 0 !important;
}

.card picture {
  display: block;
  width: 100%;
  height: 580px;
}

.card picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card .card-text {
  font-size: 18px;
}

.imoveis-price {
  font-size: 22px;
  color: #104255;
}

.card-img-top {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.card-img {
  height: 320px;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.card-img img {
  height: 100%;
  width: 100%;
  transition: 2000ms all ease;
}

.card:hover .card-img img {
  transform: scale(1.1);
}

@media only screen and (min-width: 767px) {
  .card-img {
    height: 480px;
  }
}

/*|imoveis*/

.card-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}

@media only screen and (min-width: 1400px) {
  .card-grid {
    gap: 60px;
  }
}

@media only screen and (min-width: 1000px) {
  .card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.card-grid .card {
  background: transparent;
}

.card-grid .card-title {
  text-transform: uppercase;
  font-size: 18px;
  color: #104255;
}

.card-grid .of-cover {
  object-fit: cover;
}

.imoveis-meta {
  font-size: 16px;
  opacity: 0.6;
  color: #104255;
}

.card-text {
  font-size: 16px;
  color: #104255;
  line-height: 1.5em;
}

#imoveis-grid-1 .swiper-nav,
#sp-grid-1 .swiper-nav {
  display: none !important;
}

@media (max-width: 767px) {
  #sp-grid-1 .swiper-nav {
    display: flex !important;
  }
}

@media (max-width: 1000px) {
  #sp-grid-1,
  #sp-grid-1.swiper-wrapper {
    overflow: visible;
  }

  #imoveis-grid-1,
  #imoveis-grid-1 .swiper-wrapper {
    overflow: visible;
  }

  #imoveis-grid-1 .swiper-nav {
    display: flex !important;
  }
}

@media only screen and (min-width: 767px) {
  .card-grid .card-title {
    font-size: 23px;
  }
  .imoveis-meta {
    font-size: 18px;
  }
  .card-text {
    font-size: 18px;
  }
}
/*|blog*/

.feature-article figure {
  height: 360px;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.feature-article figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 2000ms all ease;
}

.feature-article p {
  font-size: 18px;
  line-height: 1.7em;
}

.article-list figure {
  border-radius: 6px;
  overflow: hidden;
}

.article-list figure img {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 2000ms all ease;
}

.article-list .article-list-item {
  border-bottom: 1px solid #b4c7d1;
  padding: 20px 0;
}

.article-list .article-list-item:last-of-type {
  border: 0;
}

.feature-article-link:hover .feature-article-img img {
  transform: scale(1.1);
}

.feature-article-link:hover {
  color: #104255;
}

.article-list-link:hover .article-list-img img {
  transform: scale(1.1);
}

@media only screen and (min-width: 767px) {
  .feature-article figure {
    height: 500px;
  }
}

@media only screen and (min-width: 992px) {
  .feature-article {
    padding-right: 30px !important;
  }

  .article-list {
    padding-left: 30px !important;
  }
}

/*|faq*/

.faq-accordion {
  max-width: 700px;
}
.faq-item {
  border-bottom: 1px solid #e0e0e0;
  padding: 10px 0;
}
.faq-question {
  all: unset;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.1em;
  color: #0099b3;
  transition: color 0.3s;
}
.faq-question:hover {
  color: #007d93;
}
.faq-toggle {
  display: inline-block;
  width: 20px;
  margin-right: 10px;
  font-weight: bold;
  font-size: 1.5em;
  transition: transform 0.3s;
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.4s ease;
  opacity: 0;
}
.faq-item.open .faq-answer {
  max-height: 500px;
  opacity: 1;
}
.faq-item.open .faq-toggle {
  content: "-";
}

/*| single geral*/

.single .wpcf7 {
  padding: 24px;
  border: 1px solid #b4c7d1;
  background-color: #ffffff;
  border-radius: 12px;
}

@media only screen and (min-width: 767px) {
  .single .wpcf7 {
    padding: 32px;
  }
}
/*|invest single*/

.post-hero {
  position: relative;
  height: 360px;
}

.post-hero .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.post-hero-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 400px;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.post-meta-data {
  background: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 12px;
  padding: 24px;
}

.post-meta-data .list-unstyled li {
  display: flex;
  justify-content: space-between;
}

.post-meta-data .list-unstyled .title {
  display: block;
  font-weight: 400;
}

.post-meta-data .list-unstyled .data {
  display: block;
  color: #1cb3e5;
  font-weight: 700;
}

.content p {
  margin-bottom: 1.5em !important;
}

@media only screen and (min-width: 767px) {
  .post-hero {
    height: 500px;
  }
  .post-meta-data {
    padding: 32px;
  }
}

/*|blog archive*/

.featured-article-img {
  width: 100%;
  height: 384px;
  overflow: hidden;
  border-radius: 6px;
}

.featured-article-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 2000ms all ease;
}

.featured-article:hover {
  color: #104255;
}

.featured-article:hover .featured-article-img img {
  transform: scale(1.1);
}

.article .article-img {
  overflow: hidden;
  width: 100%;
  height: 289px;
  border-radius: 6px;
}

.article-img img {
  width: 100%;
  height: 100%;
  transition: 2000ms all ease;
}

.article:hover .article-img img {
  transform: scale(1.1);
}

/*|sidebar*/

/* ===== Overlay: hidden by default, fades in/out ===== */
.overlay-sidebar {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.5);
  display: none;                 /* hidden initially */
  opacity: 0;                    /* will fade from 0->1 */
  pointer-events: none;
  transition: opacity .28s ease; /* fade */
  z-index: 999;
}

/* Overlay becomes visible and starts fading */
.overlay-sidebar.is-active {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

/* ===== Sidebar: slides from right after overlay finished fading in ===== */
.sidebar {
  position: absolute;
  top: 0;
  right: 0;
  width: min(650px, 92vw);
  height: 100dvh;
  background: #fff;
  border-left: 1px solid #b4c7d1;
  padding: 32px;
  overflow-y: auto;
  box-shadow: 0 0 24px rgba(0,0,0,.18);

  /* initial: off-canvas to the right */
  transform: translateX(100%);
  transition: transform .36s cubic-bezier(.2,.7,.18,1);
  will-change: transform;
}

/* When overlay has the "panel in" flag, slide the sidebar in */
.overlay-sidebar.is-panel-in .sidebar {
  transform: translateX(0);
}

/* Close button basic reset */
.close-sidebar {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Lock body scroll while sidebar is open */
body.sidebar-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .overlay-sidebar, .sidebar { transition: none !important; }
}

/*|events*/

.post-type-archive-tribe_events,
.tribe_events-template-default {
  background-color: #f4f4f4;
}

.post-type-archive-tribe_events [data-vertical-spacing*=top],
.tribe_events-template-default [data-vertical-spacing*=top] {
  padding-top: 40px !important;
}


/*|footer*/

@media only screen and (min-width: 1000px) {
  footer .widget-menu {
    display: flex;
    gap: 20px;
  }
}

#block-9 {
  margin-top: 12px !important;
}

#block-9 ul li a {
  font-size: 16px !important;
  font-weight: 400 !important;
}