/*
Theme Name: ExpoMIF
Theme URI: 
Author: Pixeldog
Author URI: https://pixeldog.com.br
Description: Tema ExpoMIF
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: expomif
Tags: blog, custom-menu, featured-images
*/

@font-face {
    font-family: 'Articulat CF Normal';
    src: url('./assets/fonts/ArticulatCF-Normal.woff2') format('woff2'),
        url('./assets/fonts/ArticulatCF-Normal.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
     ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
    margin: 0;
    position: relative;
    font-family: 'Articulat CF Normal', sans-serif !important;
    font: normal, 18px/1.8rem, 'Articulat CF Normal', sans-serif !important;
    color: #1C1C1C;
    background-color: #F6F4E9;
    position: relative;    
  }

  body.stuck {
    overflow: hidden;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  
  main {
    display: block;
  }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
     ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input { /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select { /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress {
    vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea {
    overflow: auto;
  }
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details {
    display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary {
    display: list-item;
  }
  
  /* Misc
     ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template {
    display: none;
  }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] {
    display: none;
  }


/* 2. Theme Specific CSS */

/* General */

:root{
    /* Measurements */
    --padding-vertical-l: 60px 0;
    --padding-vertical-s: 20px 0;
    --padding-horizontal-s: 0 20px;
    /* Colors */
    --green: #04642E;
    --dark-green: #012C12;
    --darker-green: #042C12;
    --dark-blue: #1D667F;
    --dark-red: #A8281C;
    --yellow: #F4CB25;
    --orange: #E95B0D;

}
/* Text */

/* Margins */
.auto {
  display: block;
  margin: 0 auto;
}
*,
::after,
::before {
    box-sizing: border-box;
}
p{
    font-size: 18px;
    line-height: 115%;
    margin: 0;
}
a{
    text-decoration: none;
}
img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

main {
    display: block;
    margin: 0 auto;
}

.container {
  width: 1198px;
  max-width: 95%;
  margin: 0 auto;
}

.flex {
  display: flex;
}

.btn {
    display: flex;
    width: fit-content;
    align-self: center;
    justify-content: center;
    background-color: red;
    border: 1px solid transparent;
    padding: 10px 0;
    transition: all .2s ease-out;
}

.btn.outlined {
  background-color: unset;
}

.btn.rounded {
  border-radius: 32px;
}

.btn.round-sml {
  border-radius: 4px;
}

.btn.corners {
  border-radius: 8px;
}

.btn:hover {
    transform: scale(1.1);
}

.btn.medium {
    width: 162px;
}

.btn.large {
  width: 196px;
}

.btn.green {
    background-color: #3F4E33;
}

.btn.yellow {
  background-color: #f4b232;
}

.btn.text-white {
  color: #fff;
}

.btn.text-dark {
  color: #1c1c1c;
}

.btn.text-dark-green {
  color: var(--dark-green);
}

.btn.border-dark-green {
  border-color: var(--dark-green);
}

.btn.right-arrow {
  display: flex;
  padding: 18px 0;
  gap: 12px;
  position: relative;
  font-weight: 600;
}

.btn.right-arrow:after {
  display: flex;
  content: "";
  width: 25px;
  height: 16px;
  background-image: url("../expomif/assets/img/right-arrow.png");
  background-size: contain;
  transition: all .2s ease-out;
}

.btn.right-arrow:hover:after {
  transform: translate(35%, 0);
}


/********************************* HEADER *********************************/
/********************************* HEADER *********************************/
/********************************* HEADER *********************************/
.navbar-desktop {
    width: 98%;
    max-width: 1808px;
    align-items: center;
    justify-self: center;
    display: flex;
    justify-content: space-between;
    padding: 34px 0;
}

.header-logo {
    width: 100%;
    max-width: 161px;
    height: auto;
}

.navbar-desktop ul {
    display: flex;
    gap: 44px;
    padding: 0;
    list-style-type: none;
    align-items: center;
}

.navbar-desktop a {
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark-green);
}

.navbar-desktop a.text-white { color: #fff; }
.navbar-desktop a:hover { color: var(--orange); }

.navbar-mobile {
    display: none;
    width: 100%;
    justify-content: space-between;
    position: relative;
}

.navbar-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 420px;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: -1000px;
    background-color: #242424;
    transition: all .3s ease;
    padding: 3rem 3rem 6rem;
    box-shadow: 100px 0 200px rgba(0,0,0,.3);
    z-index: 999;
}

.navbar-wrapper ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.navbar-wrapper ul li a {
    font-size: 1.2rem;
    text-decoration: none;
    color: #fff;
}

.navbar-wrapper ul li a:not(.btn):hover {
    color: #3F4E33;
}

.navbar-wrapper.open {
    left: 0;
}

.h-icon-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 32px;
    height: 32px;
}

.h-line {
    width: 100%;
    height: 4px;
    border-radius: 16px;
    background-color: #000;
    transition: all .2s ease-out;
}

.h-line.hide { width: 0; }
.h-line.rotate-right { transform: translateY(260%) rotate(45deg); }
.h-line.rotate-left { transform: translateY(-260%) rotate(-45deg); }

.h-icon-close {
  display: none;
  font-size: 32px;
  color: #fff;
  font-weight: 600;
  align-self: flex-end;
}


/********************************* SINGLE POST *********************************/
/********************************* SINGLE POST *********************************/
/********************************* SINGLE POST *********************************/

#single-post.container {
  width: 1120px;
  max-width: 60%;
}

#single-post header {
  display: flex;
  margin-bottom: 40px;
  gap: 64px;
}

#single-post .page-pill {
  font-size: 18px;
  margin-bottom: 94px;
  margin-left: 0;
}

#single-post p:not(.post-title) {
  line-height: 32px;
}

.post-title {
  font-size: 38px;
  line-height: 48px;
  font-weight: 600;
  margin-bottom: 24px;
}

.header-thumbnail {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 648px;
  height: 342px;
  border-radius: 16px;
  overflow: hidden;
}

.header-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-pill {
  display: flex;
  width: fit-content;
  background-color: #1c1c1c;
  border-radius: 50px;
  padding: 0 24px;
  cursor: pointer;
}

.category-pill span {
  font-size: 16px;
  line-height: 32px;
  color: #fff;
  align-self: center;
}

.category-pill.comunicacao-e-sensibilizacao {
  background-color: #FEC800;
}

.category-pill.governanca-para-a-sustentabilidade {
  background-color: #E95B0D;
}

.category-pill.inovacao-e-ferramentas-digitais {
  background-color: #04642E;
}

.category-pill.fortalecimento-de-capacidades {
  background-color: #A8281C;
}

.category-pill.praticas-de-manejo-do-fogo {
  background-color: #045675;
}

#single-post .swiper {
  width: 100%;
  height: 100%;
  background: rgb(244, 178, 50, .1);
  padding: 48px 0 48px 54px !important;
  border-radius: 8px;
  margin-top: 30px;
  margin-bottom: 42px;
}

#single-post .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

#single-post .swiper-slide:nth-child(2){
  border-right: 1px solid #B4B4B4;
  border-left: 1px solid #B4B4B4;
}

#single-post .swiper-slide p {
  max-width: 270px;
  margin-right: auto;
  margin-left: auto;
  align-self: center;
  text-align: center;
  font-size: 20px;
  line-height: normal;
}

#single-post .swiper-slide img {
  display: block;
  max-width: 74px;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.swiper-pagination-bullet-active {
  background: var(--green) !important;
}

.article-subtitle {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 28px;
  line-height: 15px;
  font-weight: 500;
  color: var(--green);
}

.post-results-impacts-wrapper ul,
.post-statements-wrapper ul {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-left: 20px;
}

#single-post hr {
  border: 1px solid #B4B4B4;
  margin: 42px 0;
}

@media screen and (max-width: 1280px) {
  .navbar-desktop {
    display: none;
  }
  .navbar-mobile {
    display: flex;
    padding: 10px 20px;
  }
  #single-post header {
    flex-direction: column;
  }
  .categories-wrapper {
    margin-bottom: 32px;
  }
  .swiper {
    padding: 20px 0 !important;
  }
  .swiper-slide:nth-child(2){
    border-right: none;
    border-left: none;
  }
}

@media screen and (max-width: 768px) {
  #single-post.container {
    max-width: 85%;
  }
}

@media screen and (max-width: 425px) {
  .post-title {
    font-size: 38px;
    line-height: 45px;
  }
  .cta-wrapper .title {
    max-width: 85%;
  }
  .h-icon-close {
    display: flex;
  }
}

@media screen and (max-width: 320px) {
  .post-title {
    font-size: 32px;
    line-height: 42px;
  }
}

/********************************* PARCEIROS *********************************/
/********************************* PARCEIROS *********************************/
/********************************* PARCEIROS *********************************/
.page-intro-title {
  font-size: 56px;
  font-family: 'Mona Sans', sans-serif;
  font-weight: 600;
  color: var(--dark-green);
}

@media screen and (max-width: 768px) {
  .page-intro-title {
    font-size: 32px;
    text-align: center;
  }
}

.page-intro-body {
  width: 100%;
  max-width: 708px;
}

.between {
  justify-content: space-between;
}

.page-divider {
  background-color: #B4B4B4;
  color: #B4B4B4;
  margin: 58px 0;
}

.grid-parceiros {
  display: grid;
  width: 1256px;
  max-width: 95%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 30px;
  margin: 0 auto;
}

.grid-item {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 8px;
  padding: 32px 32px 22px 22px;
  justify-content: space-between;
}

.grid-item img {
  max-width: 160px;
  height: 36px;
  object-fit: contain;
  object-position: left;
  align-self: flex-start;
  margin: unset;
  margin-bottom: 36px;
}

.grid-item p {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 20px;
}

.grid-item a {
  align-self: flex-start;
  font-family: 'Roboto Flex', sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.grid-parceiros-mobile {
  display: none;
}

.grid-parceiros-mobile .swiper {
  background-color: unset;
}

.swiper-slide .parceiro {
  display: flex;
  max-width: 85%;
  margin: 0 auto;
  flex-direction: column;
  background-color: #fff;
  border-radius: 8px;
  padding: 32px 26px;  
  gap: 24px;
}

.swiper-slide .parceiro img {
  max-width: 160px;
}

.swiper-parceiros-pagination .swiper-pagination-bullet-active {
  background: var(--dark-green) !important;
}

.container.parceiros {
  width: 1256px;
}

.container.parceiros .cta-wrapper {
  margin: 116px 0;
}

.parceiros-linha {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}

.parceiros-linha:last-child {
  margin-bottom: 0;
}

.parceiros-linha .itens {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 765px;
}

.parceiros-linha .jus-start {
  justify-content: start;
  gap: 82px;
}

.parceiro-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 144px;
  justify-content: space-between;
}

.parceiro-item {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.parceiro-item:nth-child(1) img {
  width: 230px;
  height: auto;
}

.parceiro-item:nth-child(2) img {
  width: 192px;
  height: auto;
}

.parceiro-item:nth-child(3) img {
  width: 180px;
  height: auto;
}

.parceiro-item a {
  font-family: 'Roboto Flex', sans-serif;
  color: #012C12;
}

.container.grid {
  width: 1256px;
}

.grid .title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 32px;
  color: #3F4E33;
  font-weight: 600;
  margin-bottom: 40px;
}

.container.parceiros {
  width: 1198px;
}

#single-post .container.parceiros {
  width: 100%;
  max-width: 100%;
}

.container.parceiros .cta-wrapper {
  display: flex;
  border-radius: 16px;
}

.container.parceiros .cta-wrapper img {
  max-width: 586px;
  border-radius: 16px;
}

.container.parceiros .cta-wrapper .body {
  display: flex;
  flex-direction: column;
  padding: 46px 46px 40px 50px;
  border-radius: 16px;
  background-color: #F19302;
}

.container.parceiros .cta-wrapper .body .title {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 32px;
  color: #fff;
  margin-bottom: 24px;
}

.container.parceiros .cta-wrapper .body p:not(.title) {
  font-family: 'Articulat CF Normal', sans-serif;
  color: #fff;
}

.container.parceiros .cta-wrapper .body a {
  background-color: #012C12;
  color: #fff;
  font-size: 14px;
  align-self: flex-start;
  margin-top: 44px;
}

.container.parceiros .cta-wrapper .body a:after {
  background-image: url("../expomif/assets/img/right-arrow-white.png");
}

.right-arrow.arrow-white:after {
  background-image: url("../expomif/assets/img/right-arrow-white.png");  
}


@media screen and (max-width: 1440px) {
  .container.parceiros .cta-wrapper img {
    max-width: 50%;
    object-fit: cover;
  }
}

@media screen and (max-width: 1280px) {
  .container {
    max-width: 90%;
    flex-direction: column;
    gap: 32px;
  }
  .grid-parceiros {
    display: none;
  }
  .grid-parceiros-mobile {
    display: block;
  }
  .container.parceiros .cta-wrapper {
    margin: 64px 0;
    flex-direction: column;
  }
  .container.parceiros .cta-wrapper img {
    max-width: 100%;
  }
  .container.parceiros .cta-wrapper .body .title {
    font-size: 28px;
    max-width: 100%;
  }
  .container.parceiros .cta-wrapper .body {
    padding: 36px 36px 30px 40px;
  }
  .parceiros-linha {
    flex-direction: column;
    margin-bottom: 32px;
  }
  .parceiros-linha .itens {
    flex-direction: column;
  }
  .parceiros-linha p {
    margin-bottom: 24px;
    text-align: center;
  }
  .parceiro-item a {
    padding-bottom: 24px;
    margin: 0 auto;
  }
  .parceiros-linha .jus-start {
    gap: 32px;
  }
}


/********************************* BOAS-PRATICAS *********************************/
/********************************* BOAS-PRATICAS *********************************/
/********************************* BOAS-PRATICAS *********************************/

.boas-praticas .page-intro-title {
  margin-bottom: 56px;
}

.filter-wrapper {
  display: flex;
  flex-direction: column;
  align-self: flex-end;
}

.filter-wrapper input {
  max-width: 288px;
  border-radius: 8px;
  background-color: #F4B232;
  border-color: transparent;
  margin-top: 12px;
  margin-bottom: 32px;
  padding: 10px;
  align-self: flex-end;
}

.filter-tags {
  max-width: 312px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-self: flex-end;
  gap: 25px;
}

.filter-tags a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  position: relative;
}

.filter-tags a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}

.boas-praticas .page-divider {
  margin: 48px 0 58px;
}

.posts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 22px;
}

.post-item {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background-color: #F9F9F9;
  min-height: 292px;
  overflow: hidden;
  transition: all .2s ease-out;
}

.post-item:hover {
  transform: scale(1.1);
}

.post-item .img-wrapper {
  width: 100%;
  height: 156px;
  position: relative;
  overflow: hidden;
}

.post-item .img-wrapper img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
}

.post-divider {
  width: 100%;
  height: 11px;
  background-color: cyan;
  border: none;
  margin: 0;
}

.post-divider.yellow {
  background-color: var(--yellow);
}
.post-divider.red {
  background-color: var(--dark-red);
}
.post-divider.blue {
  background-color: var(--dark-blue);
}
.post-divider.green {
  background-color: var(--green);
}
.post-divider.orange {
  background-color: var(--orange);
}

.post-item .post-meta-box {
  display: flex;
  justify-content: space-between;
  padding: 24px 30px;
}

.post-item .post-title {
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 0;
  color: #1C1C1C;
  max-width: 240px;
  width: 100%;
}

.post-item .post-flag { 
  width: 40px;
  height: 40px;
  object-fit: contain;
  margin: unset;
  align-self: center;
}


.post-item .post-flag {
  background-image: url("../expomif/assets/img/map-placeholder-local.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.post-item .post-flag.equador {
  background-image: url("../expomif/assets/img/country-placeholder.png");
  background-size: contain;
}
.post-item .post-flag.peru {
  background-image: url("../expomif/assets/img/country-placeholder-2.png");
  background-size: contain;
}
.post-item .post-flag.brasil {
  background-image: url("../expomif/assets/img/country-placeholder-3.png");
  background-size: contain;
}
.post-item .post-flag.suriname {
  background-image: url("../expomif/assets/img/suriname.png");
  background-size: contain;
}
.post-item .post-flag.mexico {
  background-image: url("../expomif/assets/img/mexico.png");
  background-size: contain;
}
.post-item .post-flag.bolivia {
  background-image: url("../expomif/assets/img/bolivia.png");
  background-size: contain;
}
.post-item .post-flag.venezuela {
  background-image: url("../expomif/assets/img/venezuela.png");
  background-size: contain;
}

.boas-praticas .map-wrapper {
  margin-top: 26px;
  height: 574px;
  margin-bottom: 32px;
}

@media screen and (max-width: 1280px) {
  .posts-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
  }
  .post-item {
    max-width: 30%;
  }
}

@media screen and (max-width: 768px) {
  .boas-praticas .page-intro-title {
    margin-bottom: 0;
    font-size: 32px;
    text-align: center;
  }
  .filter-wrapper {
    align-self: flex-start;
  }
  .filter-wrapper .filter-tags {
    align-self: flex-start;
  }
  .filter-wrapper input {
    width: 100%;
    margin: 24px 0;
    align-self: flex-start;
  }
  .page-divider {
    margin: 32px 0 !important;
  }
  .post-item {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    min-height: auto;
  }  
}

/********************************* BOAS-PRATICAS *********************************/
/********************************* BOAS-PRATICAS *********************************/
/********************************* BOAS-PRATICAS *********************************/

footer {
  width: 99%;
  margin: 0 auto;
  z-index: -1;
  display: flex;
  flex-direction: column;
  background-color: var(--dark-green);
  border-radius: 16px;
  margin-bottom: 16px;
}

.rasteira {
  margin-bottom: 118px;
}

.imgs-wrapper {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  max-width: 1282px;
  gap: 28px;
  margin: 0 auto;
  margin-bottom: 80px;
}

.imgs-wrapper img {
  max-width: 298px;
}

.footer-first-row img {
  width: 251px;
  margin: 0;
}

.footer-first-row,
.footer-second-row,
.footer-third-row,
.footer-row {
  display: flex;
  width: 95%;
  max-width: 1456px;
  margin: 0 auto;
}

.footer-row .page-divider {
  width: 100%;
  background-color: rgba(255,255,255, .3);
  border-color: rgba(255,255,255, .3);
  margin: 54px 0 40px;
}

.footer-second-row {
  justify-content: space-between;
}

.footer-second-row p {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 30px;
  color: #fff;
  margin-top: 50px;
  width: 400px;
  max-width: 100%;
}

.footer-second-row .first-column p {
  font-size: 20px;
  margin-bottom: 40px;
}

.footer-second-row p span {
  font-weight: 600;
}

.footer-second-row img {
  max-width: 220px;
  margin: unset;
  align-self: flex-start;
}

.footer-second-row .first-column {
  max-width: 20%;
}

.footer-second-row .nav-wrapper {
  max-width: 20%;
  color: #fff;
}

.footer-second-row .nav-wrapper p {
  font-size: 24px;
  margin-bottom: 40px;
  font-weight: 600;
}

.footer-second-row .nav-wrapper ul {
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.footer-second-row .nav-wrapper ul li a {
  color: #D7D7D7;
}

.footer-second-row .nav-wrapper ul li a:hover {
  filter: opacity(.8);
}

.footer-third-row {
  display: flex;
  margin: 0px auto 40px;
  justify-content: flex-start;
}

.footer-third-row p {
  font-size: 16px;
  color: #E7E7E7;
}

@media screen and (max-width: 768px) {
  .footer-second-row,
  .footer-third-row {
    flex-direction: column;
    align-items: center;
  }
  .footer-second-row img {
    align-self: center;
  }
  .footer-second-row .nav-wrapper p {
    text-align: center;
    margin-top: 24px;
  }
  .footer-second-row .nav-wrapper ul {
    align-items: center;
  }
  .footer-third-row {
    margin: 0px auto 32px;
  }
  .footer-third-row p {
    text-align: center;
  }
  .rasteira {
    margin-bottom: 40px;
  }
  .footer-second-row .first-column {
    max-width: 100%;
  }
  .footer-second-row .first-column p {
    text-align: center;
  }
  .footer-second-row .first-column img {
    margin: 0 auto;
  }  
  .footer-second-row .nav-wrapper {
    max-width: 100%;
  }
  .footer-first-row img {
    margin: 0 auto;
  }
  .footer-second-row p {
    text-align: center;
  }
}


/********************************* ACORDOS *********************************/
/********************************* ACORDOS *********************************/
/********************************* ACORDOS *********************************/
.acordos .filter-wrapper {
  flex-direction: row;
  gap: 16px;
}

.acordos .filter-wrapper p {
  display: flex;
  align-self: flex-end;
}

.acordos .filter-wrapper input {
  width: 221px;
  margin-bottom: 0;
}

.acordos .page-divider {
  margin: 20px 0;
}

.acordos .filter-tags-wrapper {
  display: flex;
  gap: 24px;
  justify-content: flex-end;
  margin-bottom: 20px;
}

.acordos .status-tag {
  display: flex;
  color: #1C1C1C;
  font-size: 14px;
  align-items: center;
  gap: 6px;
}

.acordos .status-tag:before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: cyan;
  display: inline-block;
  align-self: flex-end;
}

.status-tag.green:before {
  background-color: #DCFAE6 !important;
}
.status-tag.yellow:before {
  background-color: #FFF0C7 !important;
}
.status-tag.red:before {
  background-color: #FEE4E2 !important;
}

.acordos .article-subtitle {
  line-height: normal;
  margin-bottom: 24px;
}

.acordos .grid-acordos {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 28px;
}

.acordos .grid-acordos .acordo-item {
  display: flex;
  flex-direction: column;
  gap: 22px;
  border-radius: 8px;
  background-color: #fff;
  padding: 26px 36px 36px 26px;
}

.acordo-item .title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--dark-green);
}

.acordo-item .body {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--dark-green);
}

.acordos .grid-acordos .status-tag {
  display: flex;
  justify-content: space-between;
}

.acordos .grid-acordos .status-tag:before {
  content: none;
}

.acordos .grid-acordos .acordo-item .status-tag .body-text {
  display: flex;
  align-self: center;
  gap: 6px;
  font-size: 14px;
}

.acordos .grid-acordos .acordo-item .status-tag .wrap {
  display: flex;
  gap: 6px;
}

.acordos .grid-acordos .acordo-item .status-tag .tag {
  display: flex;
  width: 24px;
  height: 24px;
  background: red;
  border-radius: 50%;
  align-self: center;
}

.acordos .grid-acordos .acordo-item .status-tag .tag.green {
  background-color: #DCFAE6 !important;
}
.acordos .grid-acordos .acordo-item .status-tag .tag.yellow {
  background-color: #FFF0C7 !important;
}
.acordos .grid-acordos .acordo-item .status-tag .tag.red {
  background-color: #FEE4E2 !important;
}

.acordos .grid-acordos .acordo-item .status-tag .download-icon {
  display: flex;
  width: 23px;
  height: 30px;
  background: url("../expomif/assets/img/download-icon.png");
  background-size: cover;
  align-self: flex-end;
}

@media screen and (max-width: 768px) {
  .acordos .filter-wrapper {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
  }
  .acordos .filter-wrapper input {
    margin-top: 8px;
  }
  .acordos .filter-wrapper p {
    align-self: flex-start;
  }
  .acordos .filter-tags-wrapper {
    flex-direction: column;
    justify-content: flex-start;
  }  
  .acordos .grid-acordos {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }  
}


/********************************* HOME *********************************/
/********************************* HOME *********************************/
/********************************* HOME *********************************/
.home-intro {
  width: 1390px;
  max-width: 95%;
  margin: 0 auto;
}

.home-intro .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.home-intro .title {
  font-family: 'Roboto Flex', sans-serif;
  font-weight: normal;
  font-size: 48px;
  line-height: normal;
  margin: 0;
  text-align: center;
  margin-bottom: 38px;
}

.home-intro .body {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 18px;
  line-height: 32px;
  max-width: 928px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}

.home-intro .title span {
  font-weight: 600;
  color: var(--darker-green);
}

.home-intro .buttons-wrapper {
  display: flex;
  gap: 9px;
  align-self: flex-end;
}

@media screen and (max-width: 768px) {
  .home-intro .title {
    max-width: 95%;
    text-align: center;
    margin: 0 auto;
  }
  .home-intro .body {
    max-width: 95%;
    margin: 0 auto;
  }  
  .home-intro .wrapper {
    flex-direction: column;
    gap: 40px;
  }
  .home-intro .buttons-wrapper {
    align-self: center;
  }
  .home-intro .title {
    margin-top: 26px;
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 375px) {
  .home-intro .title {
    font-size: 2rem;
    margin-bottom: 24px;
  }
  .home-intro .buttons-wrapper {
    flex-direction: column;
    gap: 12px;
  }
}

section.categorias-projeto {
  min-height: 100dvh;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-bottom: 100px;
}

section .sup-title {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 1rem;
  line-height: normal;
  padding-bottom: 8px;
  position: relative;
  color: #1E1E1F;
}

section .sup-title:after {
  content: "";
  display: block;
  width: 40px;
  border-bottom: 2px solid #05773D;
  bottom: 0;
  left: 0;
  position: absolute;
}

.categorias-projeto .wrapper {
  display: flex;
  justify-content: space-between;
  gap: 98px;
  margin-top: 24px;
}

.categorias-projeto .container:nth-child(2) {
  width: 1269px;
}

.categorias-projeto .title {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 40px;
  line-height: normal;
  min-width: 532px;
  width: 100%;
}

.categorias-projeto .body {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 18px;
  line-height: 32px;
  align-self: center;
}

.grid-categorias-projeto {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  justify-content: center;
  margin-top: 74px;
}

.grid-categorias-projeto .grid-item {
  width: 402px;
  max-width: 100%;
}

.grid-categorias-projeto .grid-item img {
  width: 53px;
  height: 53px;
  margin-bottom: 10px;
}

.grid-categorias-projeto .grid-title {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 28px;
  line-height: 36px;
  margin-bottom: 14px;
  max-width: 270px;
}

.grid-categorias-projeto .grid-body {
  font-family: 'Articulat CF Normal';
  font-size: 14px;
  line-height: 19px;
}

.map {
  margin: 58px 0 106px;
  position: relative;
  z-index: 1;
}

.map-wrapper {
  position: relative; /* necessário para o loader ficar sobreposto */
  width: 1858px;
  max-width: 95%;
  height: 826px;
  border-radius: 16px;
  overflow: hidden;
  margin: 0 auto;
  background: #eef2ee; /* cor de fundo visível enquanto o mapa carrega */
}

.map:after {
  content: "Navegue no mapa abaixo e acompanhe as boas práticas";
  width: 555px;
  height: 42px;
  max-width: 50%;
  background-color: #13632E;
  border-radius: 100px;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-family: 'Articulat CF Normal', sans-serif;
}

#expomif-map {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.4s ease;
}

#expomif-map.is-loaded {
  opacity: 1;
}

.map-loader {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef2ee;
  transition: opacity 0.4s ease;
}

.map-loader.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.map-loader-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(0, 0, 0, 0.15);
  border-top-color: #2e7d32;
  border-radius: 50%;
  animation: map-loader-spin 0.8s linear infinite;
}

.boas-praticas-wrapper {
  width: 1858px;
  max-width: 95%;
  margin: 0 auto;
  margin-top: -20px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  background-color: #F19302;
  color: #fff;
}

.boas-praticas-wrapper .wrap {
  display: flex;
  justify-content: space-between;
  padding: 54px 0 34px;
  width: 1488px;
  max-width: 80%;
  margin: 0 auto;
}

.boas-praticas-wrapper .wrap p {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 28px;
  line-height: normal;
  align-self: center;
}

.boas-praticas-wrapper .praticas-wrapper {
  display: flex;
  justify-content: space-evenly;
  gap: 28px;
}

.boas-praticas-wrapper .praticas-wrapper .img-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 53px;
  height: 53px;
  position: relative;
}

.boas-praticas-wrapper .praticas-wrapper .img-wrapper img {
  width: 53px;
  height: 53px;
  align-self: center;
  justify-self: center;
}

/* .boas-praticas-wrapper .praticas-wrapper .img-wrapper:hover:before {
  content: "";
  width: 64px;
  height: 64px;
  background-color: red;
  opacity: 35%;
  top: -12%;
  left: -12%;
  position: absolute;
  display: block;
  border-radius: 16px;
  corner-shape: superellipse(2);
} */

.boas-praticas-wrapper .praticas-wrapper .img-wrapper:after {
  content: attr(data-title);
  position: absolute;
  font-family: sans-serif;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  padding: 8px;
  border-radius: 8px;
  corner-shape: superellipse(2);
  font-size: 12px;
  opacity: 0;
  pointer-events: none;
  transition: bottom 100ms ease, opacity 50ms ease-in-out;
  white-space: nowrap;  
}

.boas-praticas-wrapper .praticas-wrapper .img-wrapper:hover:after {
  opacity: 1;
  bottom: 110%;
}

.home-cta-wrapper {
  display: grid;
  grid-template-columns: .70fr .30fr;
  font-family: 'Articulat CF Normal', sans-serif;
  color: #fff;
  position: relative;
  margin-bottom: 140px;
}

.yellow-side {
  background-color: #F19302;
  border-radius: 16px;
  padding: 68px 0 40px 50px;
}

.green-side {
  background-color: #13632E;
  border-radius: 16px;
}

.home-cta-wrapper .title {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 14px;
}

.home-cta-wrapper .body {
  font-size: 16px;
  line-height: 24px;
  max-width: 354px;
  margin-bottom: 26px;
}

.home-cta-wrapper a {
  padding: 18px !important;
}

.home-cta-wrapper img {
  width: 766px;
  height: auto;
  position: absolute;
  right: 0;
  bottom: 0;
}

@keyframes map-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

@media screen and (max-width: 768px) {
  .categorias-projeto .wrapper {
    flex-direction: column;
    gap: 24px;
  }
  .categorias-projeto .title {
    min-width: unset;
  }
  section .sup-title {
    margin-bottom: 32px;
  }
  .grid-categorias-projeto {
    margin-top: 32px;
  }
  .grid-categorias-projeto .grid-title {
    font-size: 1.6rem;
    line-height: normal;
  }
  section.categorias-projeto {
    padding-bottom: 64px;
  }
  .desktop {
    display: none;
  }
  .boas-praticas-wrapper .wrap {
    flex-direction: column;
  }
  .boas-praticas-wrapper .wrap p {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 12px;
  }  
  .boas-praticas-wrapper .wrap .praticas-wrapper {
    gap: 0 12px;
    flex-wrap: wrap;
  }
  .home-cta-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
  }
  .home-cta-wrapper .yellow-side {
    padding: 40px 30px;
  }
  .home-cta-wrapper img {
    position: relative;
    width: 100%;
  }
  section.partners-slider {
    padding: 60px 0 50px !important;
  }
  .swiper-slide.depoimentos {
    flex-direction: column;
    gap: 40px !important;
    border-radius: 16px !important;
  }
  .swiper-slide.depoimentos .meta-box {
    padding: 0 40px 40px;
  }
  section.depoimentos {
    padding-bottom: 40px !important;
  }
  .depoimentos-title {
    margin-bottom: 20px !important;
  }
  .map:after {
    font-size: 10px;
    max-width: 90%;
  }
}

/********************************* MAP *********************************/
/********************************* MAP *********************************/
/********************************* MAP *********************************/

.maplibregl-popup-content {
  background: #F9F9F9;
  width: 364px;
  padding: 0;
  border-radius: 16px;
  corner-shape: superellipse(2);
  overflow: hidden;
}

.maplibregl-popup-content img {
  height: 156px;
  object-fit: cover;
}

.maplibregl-popup-close-button {
  font-size: 38px;
  color: #fff;
}

.maplibregl-popup-close-button:hover {
  background-color: unset;
  filter: brightness(.8);
}

.popup-ponto-turistico hr {
  height: 11px;
  background-color: #000;
  border: none;
  margin-top: 0;
  margin-bottom: 12px;
}

.popup-ponto-turistico hr.comunicacao-e-sensibilizacao {
  background-color: #FEC800;
}

.popup-ponto-turistico hr.governanca-para-a-sustentabilidade {
  background-color: #E95B0D;
}

.popup-ponto-turistico hr.inovacao-e-ferramentas-digitais {
  background-color: #04642E;
}

.popup-ponto-turistico hr.fortalecimento-de-capacidades {
  background-color: #A8281C;
}

.popup-ponto-turistico hr.praticas-de-manejo-do-fogo {
  background-color: #045675;
}

.popup-ponto-turistico .meta-box {
  padding: 12px 0 24px 24px;
}

.popup-ponto-turistico .meta-box p {
  max-width: 240px;
  color: #1c1c1c;
}

.marker-turistico {
    width: 32px;
    height: 32px;
    background-color: #000;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.4);
    cursor: pointer;
  }

.boas-praticas .post-divider.comunicacao-e-sensibilizacao,
.marker-turistico.comunicacao-e-sensibilizacao {
  background-color: #FEC800;
}

.boas-praticas .post-divider.governanca-para-a-sustentabilidade,
.marker-turistico.governanca-para-a-sustentabilidade {
  background-color: #E95B0D;
}

.boas-praticas .post-divider.inovacao-e-ferramentas-digitais,
.marker-turistico.inovacao-e-ferramentas-digitais {
  background-color: #04642E;
}

.boas-praticas .post-divider.fortalecimento-de-capacidades,
.marker-turistico.fortalecimento-de-capacidades {
  background-color: #A8281C;
}

.boas-praticas .post-divider.praticas-de-manejo-do-fogo,
.marker-turistico.praticas-de-manejo-do-fogo {
  background-color: #045675;
}

.marker-turistico::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  top: 4px;
  left: 6px;
}

.boas-praticas .orange-cta {
  margin: 120px auto;
}

@media screen and (max-width: 768px) {
  .boas-praticas .orange-cta {
    margin: 60px auto;    
  }
}

.orange-cta {
  width: 1198px;
  max-width: 95%;
  margin: 0 auto;
}

.orange-cta .wrapper {
  padding: 40px 0 40px 40px;
  display: flex;
  background-color: #E95B0D;
  border-radius: 16px;
  position: relative;
  color: #fff;
}

.orange-cta .wrapper img {
  max-width: 586px;
  height: auto;
  position: absolute;
  right: 0;
  bottom: 0;
}

.orange-cta .meta-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 538px;
  align-self: flex-start;
}

.orange-cta .wrapper .title {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 32px;
  line-height: normal;
  font-weight: 500;
  margin-bottom: 18px;
}

.orange-cta .wrapper .body {
  font-family: 'Articulat CF Normal', sans-serif;
  line-height: 24px;
  margin-bottom: 18px;
}

.orange-cta .wrapper .btn {
  align-self: flex-start;
}

@media screen and (max-width: 768px) {
  .orange-cta .wrapper {
    padding: 20px 20px 0;
    text-align: center;
    flex-direction: column;
  }
  .orange-cta .meta-box {
    max-width: 85%;
    margin: 0 auto;
  }
  .orange-cta .wrapper img {
    max-width: 586px;
    height: auto;
    position: relative;
    right: 0;
    bottom: unset;
  }
  .orange-cta .wrapper .btn {
    align-self: center;
    margin-bottom: 18px;
  }
}

.swiper.swiperPartners {
  margin-top: 4rem;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    white 10%,
    white 90%,
    transparent 100%
  );
}

section.partners-slider {
  padding: 112px 0 104px;
}

section.partners-slider .container,
section.depoimentos .container {
  width: 1198px;
  max-width: 95%;
}

.partners-slider-title {
  margin-bottom: 60px;
  font-family: 'Roboto Flex', sans-serif;
  line-height: 38px;
  position: relative;
}

.partners-slider-title:after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background-color: #05773D;
}

.swiperPartners .swiper-wrapper {
  transition-timing-function: linear;
  align-items: center;
}

.swiper-slide.partner {
  width: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-slide.partner img {
  display: block;
  max-width: 160px;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

section.depoimentos {
  padding-bottom: 160px;
}

section.depoimentos .partners-slider-title {
  margin-bottom: 26px;
}

.depoimentos-title {
  font-family: 'Articulat CF Normal', sans-serif;
  font-size: 40px;
  margin-bottom: 90px;
}

.swiperDepoimentos .swiper-wrapper {
  transition-timing-function: linear;
  align-items: center;
}

.swiper-slide.depoimentos {
  max-width: 1112px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  background-color: #FFF;
  border-radius: 8px;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
}

.swiper-slide.depoimentos .meta-box {
  display: flex;
  flex-direction: column;
}

.swiper-slide.depoimentos img {
  display: block;
  max-width: 354px;
  width: 100%;
  height: 100%;
  object-fit: contain;
}


.swiper-slide.depoimentos .depoimentos-body {
  font-size: 18px;
  font-family: 'Articulat CF Normal', sans-serif;
  line-height: 32px;
  margin-bottom: 56px;
  max-width: 626px;
  width: 80%;
}

.swiper-slide.depoimentos .depoimentos-titulo {
  font-size: 22px;
  font-family: 'Articulat CF Normal', sans-serif;
  line-height: 110%;
  font-weight: 600;
}

.swiper-slide.depoimentos .depoimentos-pais {
  font-size: 18px;
  font-family: 'Articulat CF Normal', sans-serif;
  line-height: 110%;
}

/********************************* POLITICA PRIVACIDADE *********************************/
/********************************* POLITICA PRIVACIDADE *********************************/
/********************************* POLITICA PRIVACIDADE *********************************/

section.politicas-privacidade {
  font-family: 'Roboto Flex', sans-serif;
  padding-bottom: 200px;
}

section.politicas-privacidade .container {
  width: 1168px;
}

section.politicas-privacidade p {
  line-height: 28px;
}

.page-intro.politicas-privacidade .page-intro-title {
  font-size: 40px;
  line-height: 1.2;
}

.page-intro.politicas-privacidade .page-divider {
  background: #707070;
  margin: 30px 0 52px;
}

.politica-title {
  font-size: 20px;
  font-weight: 600;
  margin-top: 24px;
}

.politica-lista {
  font-size: 18px;
  line-height: 28px;
  margin-top: 0;
  margin-bottom: 0;
}

/********************************* CONTATO *********************************/
/********************************* CONTATO *********************************/
/********************************* CONTATO *********************************/
section.contato-wrapper {
  font-family: 'Mona Sans', sans-serif;
  padding-bottom: 180px;
}

section.contato-wrapper .container {
  width: 1198px;
  max-width: 95%;
  display: flex;
  justify-content: space-between;
}

.contato-title {
  font-family: 'Mona Sans', sans-serif;
  font-size: 48px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 42px;
  color: #012C12;
}

.contato-info {
  max-width: 464px;
}

.info-wrap {
  margin-top: 64px;
  border-radius: 8px;
  background-color: #F5DFB6;
  padding: 52px 17px 38px 34px;
  position: relative;
  z-index: -1;
}

.info-wrap img {
  width: 52px;
  height: 52px;
  position: absolute;
  top: -25px;
}

.info-wrap-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 32px;
}

.info-wrap p {
  font-size: 24px;
}

.info-wrap a {
  font-size: 24px;
  color: inherit;
  border-bottom: 1px solid;
}

.contato-wrapper .contato-form {
  background: #13632E;
  border-radius: 16px;
  padding: 40px 54px 34px 50px;
  width: 611px;
  max-width: 100%;
}

.contato-wrapper .contato-form label {
  display: flex;
  font-size: 16px;
  color: #fff;
}

.contato-wrapper .contato-form input:not([type="checkbox"]),
.contato-wrapper .contato-form textarea {
  display: block;
  padding: 18px 0 14px 14px;
  width: 100%;
  max-height: 50px;
  border-radius: 6px;
  margin: 8px 0 16px;
  border: none;
}

.contato-wrapper .contato-form textarea {
  max-height: unset;
}

.contato-wrapper .contato-form .form-checkbox {
  display: flex;
  gap: 12px;
}

.contato-wrapper .contato-form .form-checkbox label {
  font-size: 14px;
  color: #f5f5f5;
  display: flex;
  max-width: 80%;
}

.contato-wrapper .contato-form .form-checkbox input[type="checkbox"] {
  clip-path: circle(40% at 50% 50%);
  width: 18px;
  height: 18px;
  display: flex;
  align-self: center;
}

.contato-wrapper .contato-form button[type="submit"] {
  width: 100%;
  margin-top: 26px;
  cursor: pointer;
  padding: 14px 0;
}

@media screen and (max-width: 768px) {
  section.contato-wrapper {
    padding-bottom: 80px;
  }
  .contato-wrapper .contato-form {
    padding: 32px 28px;
  }
}

/********************************* INSTITUCIONAL *********************************/
/********************************* INSTITUCIONAL *********************************/
/********************************* INSTITUCIONAL *********************************/
.page-institucional {
  position: relative;
}

.page-institucional .container {
  width: 1198px;
}

.page-institucional .container:nth-child(1) {
  display: flex;
  justify-content: space-between;  
}

.page-institucional .container.fullh {
  height: auto;
  padding: 120px 0;
}

.page-institucional .hero {
  position: relative;
  margin-bottom: 120px;
}

.page-institucional .hero .img-wrapper {
  width: 584px;
  max-width: 100%;
  margin: 0;
}

.page-institucional .hero .img-wrapper::after {
  content: attr(data-credits);
  font-family: "Articulat CF Normal", sans-serif;
  width: 100%;
  height: auto;
  display: block;
  font-size: 12px;
  margin-top: 8px;
  text-align: right;
}

.page-institucional .container .wrapper {
  display: flex;
  height: 100%;
}

.page-institucional .body {
  width: 404px;
  max-width: 100%;
  font-family: 'Roboto Flex', sans-serif;
}

.page-institucional .body p {
  line-height: 32px;
}

.page-institucional .body .title {
  font-size: 48px;
  line-height: 1.2;
  color: #012C12;
  font-weight: 600;
  margin-bottom: 46px;
}

.page-institucional .container:nth-child(2) {
  width: 1894px;
  max-width: 100%;
  background-color: rgba(241, 147, 2, .2);
}

.page-institucional .container:nth-child(2) .wrapper {
  width: 1198px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 70px;
}

.page-institucional .container:nth-child(2) .wrapper .img-wrapper {
  max-width: 542px;
  margin: 0;
}

.page-institucional .container:nth-child(2) .wrapper .img-wrapper::after {
  content: attr(data-credits);
  font-family: "Articulat CF Normal", sans-serif;
  width: 100%;
  height: auto;
  display: block;
  font-size: 12px;
  margin-top: 8px;
  text-align: left;
}

.page-institucional .container:nth-child(2) .body {
  width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.page-institucional .container:nth-child(2) .body .title {
  font-size: 40px;
  line-height: 1.2;
  color: #012C12;
  font-weight: 600;
  margin-bottom: 80px;
}

.page-institucional .container:nth-child(3) .wrapper {
  display: block;
  padding-top: 120px;
}

.page-institucional .swiper-slide.objetivo {
  max-width: 389px;
  min-height: 432px;
  background-color: cyan;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  padding: 50px 60px 60px 58px;
  font-family: 'Roboto Flex', sans-serif;
}

.page-institucional .swiper-slide.objetivo:nth-child(1) {
  background-color: rgba(1, 44, 18, .2);
}
.page-institucional .swiper-slide.objetivo:nth-child(2) {
  background-color: rgba(241, 147, 2, .2);
}
.page-institucional .swiper-slide.objetivo:nth-child(3) {
  background-color: rgba(227, 31, 18, .2);
}

.page-institucional .swiper-slide.objetivo img {
  width: 52px;
  height: 52px;
  margin: unset;
  margin-bottom: 28px;
}

.page-institucional .slide-objetivo.number,
.page-institucional .slide-objetivo.title {
  font-size: 24px;
  font-weight: 600;
}

.page-institucional .slide-objetivo.title {
  margin-bottom: 40px;
}

.page-institucional .slide-objetivo.body {
  font-size: 16px;
}

.objetivo-slider-title {
  font-size: 40px;
  font-weight: 600;
  color: #012C12;
  font-family: 'Roboto Flex', sans-serif;
  text-align: center;
  margin-bottom: 32px;
}

.page-institucional .partners-slider-title {
  width: fit-content;
  margin: 0 auto;
}

.page-institucional .partners-slider-title:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.page-institucional .partners-slider .container:nth-child(1) {
  max-width: 100%;
  width: 100%;
}

.page-institucional .subtitle {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 32px;
  color: #3F4E33;
  font-weight: 600;
}

.lista-documentos ul {
  padding-left: 0;
  margin-bottom: 100px;
}

.lista-documentos ul li {
  display: flex;
  width: 100%;
  border-bottom: 1px solid rgba(112, 112, 112, .5);
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
}

.lista-documentos ul li:not(:first-child) {
  padding-top: 12px;
}

.lista-documentos ul li:last-child:not(:first-child) {
  border-bottom: none;
}

.lista-documentos ul li span {
  font-family: 'Mona Sans', sans-serif;
  color: #29292B;
}

.lista-documentos ul li img {
  width: 29px;
  height: 29px;
  object-fit: contain;
  margin-right: 0;
}

.lista-documentos ul li a {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.two-columns-cta {
  display: flex;
  gap: 20px;
  padding-bottom: 120px;
}

.two-columns-cta .column {
  display: flex;
  flex-direction: column;
  width: 586px;
  max-width: 100%
}

.two-columns-cta .column img {
  border-radius: 16px;
}

.two-columns-cta .column div {
  display: flex;
  flex-direction: column;
  padding: 46px 46px 40px 38px;
  border-radius: 16px;
  gap: 22px;
  min-height: 355px;
  justify-content: space-between;  
}

.two-columns-cta .column a {
  align-self: flex-start;
  padding: 18px;
  width: fit-content;
}

.two-columns-cta .column .title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 32px;
  font-weight: 600;
  color: #fff;
}

.two-columns-cta .column p:not(.title) {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 16px;
  color: #fff;
  margin-bottom: 22px;
}

.two-columns-cta .column:nth-child(1) div {
  background-color: #13632E;
}

.two-columns-cta .column:nth-child(2) div {
  background-color: #E95B0D;
}

@media screen and (max-width: 768px) {
  .page-institucional .body .title {
    text-align: center;
  }
  .page-institucional .container.fullh {
    height: auto;
  }  
  .page-institucional .container .wrapper {
    flex-direction: column;
    gap: 40px;
    height: auto;
  }
  .page-institucional .container.fullh {
    padding: 20px 0;
  }
  .page-institucional .hero {
    margin-bottom: 20px;
  }
  .page-institucional .container:nth-child(1) {
    margin: 0 auto;
  }
  .page-institucional .container:nth-child(2) .body .title {
    margin-bottom: 32px;
  }
  .page-institucional .container:nth-child(2) {
    padding-bottom: 40px;
  }
  .page-institucional .container:nth-child(2) .wrapper {
    max-width: 85%;
  }
  .page-institucional .container:nth-child(2) .wrapper img {
    max-width: 95%;
    margin-top: 40px;
  }
  .page-institucional .container:nth-child(3) .wrapper {
    padding-top: 40px;
  }
  .page-institucional .swiper-slide.objetivo {
    max-width: 100%;
    min-height: auto;
  }
  .page-institucional section.partners-slider {
    padding: 0 0 40px;
  }
  .page-institucional .swiper.swiperPartners {
    margin-top: 24px;
  }
  .lista-documentos ul {
    margin-bottom: 40px;
  }
  .two-columns-cta {
    flex-direction: column;
    padding-bottom: 40px;
  }
  .two-columns-cta a {
    font-size: 12px;
    align-items: center; 
  }
  .page-institucional .partners-slider .container:nth-child(1) {
    margin-bottom: 0;
  }
  .page-institucional .swiper-slide.objetivo {
    padding: 40px 30px 40px 30px;
  }
}

/********************************* ACORDOS *********************************/
/********************************* ACORDOS *********************************/
/********************************* ACORDOS *********************************/

.page-pill {
  display: flex;
  width: fit-content;
  font-family: 'Roboto Flex', sans-serif;
  justify-content: center;
  align-items: center;
  line-height: normal;
  border: 1px solid;
  border-radius: 50px;
  color: #05773D;
  border-color: #05773D;
  margin: 0 auto;
}

.page-pill span {
  padding: 4px 20px;
}

.acordos .page-title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 48px;
  font-weight: 600;
  color: #012C12;
  line-height: 1.3;
  margin-bottom: 26px;
}

.acordos .page-title + p {
  margin-bottom: 30px;
}

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

.f-center {
  align-self: center;
  justify-self: center;
}

.dashboard-img {
  margin-top: 32px;
}

.container.portfolio {
  width: 1894px;
  max-width: 100%;
  background-color: #13632E;
  border-radius: 8px;
  color: #fff;
  padding-top: 120px;
  position: relative;
  min-height: 930px;
  margin-bottom: 408px;
}

.portfolio .title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 32px;
}

.portfolio .two-columns {
  display: flex;
  font-family: 'Roboto Flex', sans-serif; 
  color: #fff;
  gap: 160px;
}

.portfolio .two-columns .column {
  display: flex;
  flex-direction: column;
  max-width: 460px;
}

.portfolio .two-columns .column img {
  width: 52px;
  height: 52px;
  margin-bottom: 10px;
  margin: unset;
  margin-bottom: 8px;
}

.portfolio .two-columns .column .title {
  font-size: 24px;
  margin-bottom: 6px;
}

.portfolio .two-columns .column a {
  align-self: flex-start;
  width: fit-content;
  padding: 18px;
  margin-top: 60px;
}

.portfolio-screens {
  max-width: 1380px;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.acordos .container .wrap {
  display: flex;
  justify-content: space-between;
  gap: 86px;
  margin-bottom: 32px;
}

.acordos .container .wrap .title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 28px;
  font-weight: 600;
  max-width: 370px;
}

.acordos .container .wrap p {
  font-family: 'Roboto Flex', sans-serif;
  max-width: 740px;
}

.acordos .swiper-slide.conexao {
    max-width: 389px;
    min-height: 330px;
    background-color: rgba(241, 147, 2, .2);
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    padding: 50px 60px 60px 58px;
    font-family: 'Roboto Flex', sans-serif;
}

.acordos .swiper-slide.conexao img {
  width: 52px;
  height: 52px;
  margin: unset;
  margin-bottom: 28px;
}

.acordos .slide-conexao.number, 
.acordos .slide-conexao.title {
    font-size: 24px;
    font-weight: 600;
}

.acordos .slide-conexao.title {
  margin-bottom: 30px;
}

.acordos .slide-conexao.body {
  font-size: 16px;
}

.f-end {
  align-self: flex-end;
  justify-self: flex-end;
}

.container.conexoes,
.container.portfolio .container {
  width: 1198px;
}

.container.conexoes a {
  width: fit-content;
  padding: 18px;
  margin-top: 32px;
}

@media screen and (max-width: 768px) {
  .container.portfolio {
    padding-top: 40px;
    margin-bottom: 228px;
  }
  .portfolio .two-columns {
    flex-direction: column;
    gap: 40px;
  }
  .container.conexoes .wrap {
    flex-direction: column;
    gap: 24px;
  }
  .acordos .swiper-slide.conexao {
    max-width: 100%;
  }
  .f-end {
    justify-self: flex-start;
    align-self: flex-start;
  }
  .acordos .page-title {
    font-size: 32px;
    line-height: normal;
    margin-top: 10px;
  }
  .two-columns-cta .column div {
    padding: 36px 20px 30px 20px;
  }
  .two-columns-cta .column .title {
    font-size: 28px;
    line-height: normal;
  }
}

@media screen and (max-width: 425px) {
  .container.portfolio {
    margin-bottom: 110px;
    min-height: 914px;
  }
}

@media screen and (max-width: 320px) {
  .container.portfolio {
    margin-bottom: 90px;
  }
}

.filtro-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}

@media screen and (max-width: 768px) {
  .filtro-wrapper {
    flex-direction: column;
    gap: 10px;
  }
  .filtro-wrapper form {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;    
  }
}

.posts-filter {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.posts-filter-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.posts-filter-label {
  font-size: 14px;
  font-weight: 600;
}

.posts-filter select {
  min-width: 200px;
  padding: 10px 14px;
  appearance: base-select;
  border-radius: 24px;
  border-color: lightgray;
}

.posts-filter select::picker-icon {
  color: #00000080;
  width: 10px;
  height: 10px;
}

.posts-grid-wrapper {
  position: relative;
  min-height: 200px;
}
.posts-loader {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 80px;
  background: rgba(255, 255, 255, 0.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
}
.posts-loader.is-active {
  opacity: 1;
  visibility: visible;
}
.posts-empty {
  grid-column: 1 / -1;
  text-align: center;
}


@media screen and (max-width: 768px) {
  .posts-filter-field {
    width: 100%;
  }
  .posts-filter select {
    width: 100%;
  }
}

/* Formulário de contato — adicionar ao style.css (ajuste as cores ao tema) */

.contato-form .form-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.contato-form .form-error {
	display: block;
  margin-bottom: 16px;
	font-size: 0.875rem;
	color: #c62828;
}

.contato-form .has-error input,
.contato-form .has-error textarea {
	border-color: #c62828;
}

.contato-form .has-error input:focus,
.contato-form .has-error textarea:focus {
	outline-color: #c62828;
}

/* Erro do checkbox ocupa a linha inteira abaixo do label */
.contato-form .form-checkbox {
	flex-wrap: wrap;
}

.contato-form .form-checkbox .form-error {
	flex-basis: 100%;
}

.contato-form .form-status:empty {
	display: none;
}

.contato-form .form-status {
	margin: 1rem 0;
	padding: 0.75rem 1rem;
	border-radius: 6px;
}

.contato-form .form-status.is-success {
	background: #e8f5e9;
	color: #2e7d32;
}

.contato-form .form-status.is-error {
	background: #ffebee;
	color: #c62828;
}

.contato-form button[disabled] {
	opacity: 0.6;
	cursor: wait;
}

@media screen and (max-width: 768px) {
  .contato-title {
    font-size: 32px;
    margin-bottom: 20px;
  }
}