:root {
  /* colors */
  --black: #3e3e3e;
  --white: #ffffff;
  --baseBg: #e6e6e6;
  --blue: #058aad;
  --lightBlue: #dbf3fa;

  /* Animation */
  --transition: all 0.3s ease-in;

  /* font name */
  --borderGap: 25px;
}

#diretoria__relacao {
  position: relative;
}

.diretoria {
  padding: 50px 0;

  @media (width < 1024px) {
    .responsive-tab {
      --initial-height: 62px;
      position: relative;
      max-height: var(--initial-height);
      transition: max-height 0.8s ease-out;
      transition: 0.3s all;
      padding-top: var(--initial-height);
      background-color: var(--responsive-tab-bg-color);
      border-radius: 24px;
      overflow: hidden;

      .control-responsive-tab {
        display: flex;
        position: absolute;
        width: 100%;
        top: 0;
        padding-left: 50px;
        height: var(--initial-height);
        align-items: center !important;
        font-family: var(--font-family-primary) !important;
        font-weight: 600 !important;
        color: #333f49;
        text-align: center !important;
        line-height: normal !important;
        font-size: 16px !important;
        z-index: 2;

        &::before,
        &::after {
          position: absolute;
        }

        &::before {
          content: url("../images/icon-user.svg");
          display: flex !important;
          left: 20px;
        }

        &::after {
          content: url("../images/anchor_left.svg");
          display: flex !important;
          rotate: 270deg;
          transition: 0.6s all;
          right: 20px;
        }
      }

      &.active {
        max-height: 600px;
        transition: max-height 0.4s ease-in;

        .control-responsive-tab {
          &::after {
            rotate: 90deg;
          }
        }
      }

      .responsive-tab-content {
        overflow-x: auto;
        width: 100%;
        padding: 20px;
        padding-top: 0;
        display: flex;
        gap: 15px;
      }

      .diretoria__card {
        flex: none;
        width: 90% !important;
      }
    }
  }

  @media (width > 1024px) {
    .md\:none {
      display: none;
    }
  }

  .diretoria__grid {
    position: relative;

    margin-block-start: 50px;

    @media (width > 1024px) {
      &::after {
        content: "";
        background-color: #1574bf;
        z-index: -1;
        height: 100%;
        width: 2px;
        position: absolute;
        margin: 0 auto;
        left: 0;
        right: 0;
        top: 0;
      }
    }

    &,
    .diretoria__row {
      --gap: 15px;
      gap: var(--gap);

      ::after,
      ::before {
        display: none;
      }
    }

    .diretoria__card {
      --padding: 20px;
      --border-radius: 30px;
      min-width: 0;
      max-width: 340px;
      position: relative;
      width: calc(100% / 3);
      min-height: 134px;
      background: white;
      box-shadow: 1px 1px 20px 0px rgba(170, 170, 170, 0.35);
      padding: var(--padding);
      border-radius: var(--border-radius);
      word-wrap: break-word;

      h3 {
        font-weight: bold;
      }

      h3,
      h4 {
        font-family: var(--font-family-primary);
        color: #1e215a;
        text-align: center;
        font-size: 18px;
        line-height: normal;
      }

      p {
        margin-top: 20px !important;
        font-family: var(--font-family-primary);
        font-weight: 700;
        color: #1574bf;
        text-align: center;
        line-height: normal;
        font-size: 14px;
      }

      & {
        &::after {
          content: "";
          display: flex;
          position: absolute;
          height: 2px;
          z-index: -1;
          top: 50%;
          background-color: #d2dbe4;
        }
      }
    }

    .diretoria__row {
      .diretoria__card {
        & + &:has(+ &) {
          &::after {
            width: calc(100% + var(--gap) * 1.5);
            margin: auto 0;
            transform: translateX(-50%);
            left: 50%;
          }
        }

        &:first-of-type + &:not(:has(+ &)) {
          &::after {
            width: calc(200% + var(--gap));
            right: 0;
            left: unset;
          }
        }
      }
    }

    .setores__grid {
      --_gap: 20px;
      display: grid;
      gap: var(--_gap);

      @media (width > 1024px) {
        --_gap: 120px;
        grid-template-columns: repeat(2, 1fr);
        align-items: flex-start;
      }

      .setor__row {
        --gap: 20px;
        gap: var(--gap);

        h2 {
          font-family: var(--font-family-primary), sans-serif;
          font-weight: 700;
          color: #1e215a;
          text-align: left;
          line-height: normal;
          font-size: 18px;
        }

        .integrantes__grid {
          --row-gap: 20px;
          --column-gap: 36px;
          row-gap: var(--row-gap);
          column-gap: var(--column-gap);

          display: grid;
          grid-template-columns: repeat(2, 1fr);

          .diretoria__card {
            width: 100%;
          }
        }

        &:nth-of-type(odd) {
          .integrantes__grid {
            .diretoria__card {
              &::after {
                width: calc(200% + var(--_gap) / 2 + var(--column-gap));
                left: 0;
                right: calc(var(--_gap) / 2 * -1);
              }
            }
          }
        }

        &:nth-of-type(even) {
          .integrantes__grid {
            .diretoria__card {
              &:nth-of-type(odd) {
                &::after {
                  width: calc(100% + var(--_gap) / 2);
                  left: unset;
                  right: 0;
                }

                &:has(+ .diretoria__card) {
                  &::after {
                    width: calc(200% + var(--_gap) / 2 + var(--column-gap));
                    left: calc(var(--_gap) / 2 * -1);
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

.diretoria__seletor {
  margin: 0 auto;
  width: 100%;
  max-width: 420px;
  position: relative;
  font-size: 1.2em;
  font-weight: bold;
  height: 45px;
  border-radius: 40px;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.diretoria__seletor a,
.diretoria__seletor a:active,
.diretoria__seletor a:focus,
.diretoria__seletor a:visited,
.diretoria__seletor a:hover {
  background: #fff;
  color: #333333;
  padding: 5px;
  position: absolute;
  width: 55%;
  border-radius: 40px;
  cursor: pointer;
  text-align: center;
  height: 100%;
  text-decoration: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.diretoria__seletor a:first-child {
  left: 0;
  padding-right: 8%;
  width: 54%;
}

.diretoria__seletor a:last-child {
  right: 0;
}

.diretoria__seletor a:hover {
  background: #f3f3f3;
}

.diretoria__seletor a.diretoria--active {
  background: #1574bf;
  color: #fff;
}

.d_f {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.diretoria__aba {
  display: none;
}

.diretoria__aba.diretoria--active {
  display: block;
}

#mapa-brasil {
  width: 100%;
  height: 100%;
}

#mapa-brasil a path {
  fill: #a5a5a5;
  transition: all 100ms;
}

#mapa-brasil .circle {
  fill: #9b9b9b;
}

#mapa-brasil a.mapa--enabled path {
  fill: #1574bf;
}

#mapa-brasil a.mapa--enabled .circle {
  fill: #1574bf;
}

#mapa-brasil a.mapa--enabled:hover path,
#mapa-brasil a.mapa--selected path {
  fill: #12588d !important;
}

#mapa-brasil a {
  text-decoration: none;
}

#diretoria__regional {
  padding-block: 40px;
}

.diretoria__regioes {
  max-height: 550px;
  height: 550px;
  overflow-y: scroll;
  padding: 15px;
  margin-top: 15px;
}

.diretoria__regioes ul {
  row-gap: 25px;
}

.diretoria__regioes li {
  padding: 15px 30px;
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  font-size: 1.4em;
  line-height: 1.4;
  text-align: center;
  width: calc(50% - 12px);
}

.diretoria__regioes li:not([data-estado="saopaulo"]) {
  display: none;
}

.diretoria__regioes li b,
.diretoria__regioes li small {
  display: block;
}
.diretoria__regioes li small {
  margin-top: 15px;
  font-weight: 600;
  color: #1574bf;
}

.treeMainContainer {
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}
.treeContainer {
  width: 100%;
  position: relative;
  padding: 50px 15px;
  z-index: 0;
}
._treeRoot {
  width: 100%;
  position: relative;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  z-index: 0;
}
._treeBranch {
  width: auto;
  height: min-content;
  position: relative;
  min-height: 20px;
  z-index: 0;
}
._treeRaw {
  position: relative;
  width: 100%;
  z-index: 0;
}
._treeRaw.active,
._treeRoot.active {
  z-index: 10;
}
._treeLeaf {
  position: relative;
  width: 100%;
  justify-content: center;
  align-items: flex-start;
  padding-bottom: var(--borderGap);
  z-index: 1;
  margin: 0 15px;
}
._treeData {
  min-width: 300px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border: 1px solid #333;
  font-size: 20px;
  background-color: #fff;
  padding: 0 50px;
  white-space: nowrap;
  position: relative;
  text-align: center;
  margin-right: 10px;
  z-index: 0;
}
._treeData:last-child {
  margin-right: 0;
}
._NewBranch {
  position: relative;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  margin: 0 auto;
}
._NewBranch > div {
  flex: 1;
}

/* ==============  Table Cell Data  ============== */
.t_Data {
  margin: 0 auto;
  position: relative;
  width: auto;
  background-color: var(--white);
  color: var(--green);
  align-items: center;
  padding: 15px 30px;
  border-radius: 15px;
  transition: var(--transition);
  z-index: 1;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.t_Data p {
  flex: 1;
  font-size: 1.4em;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.t_Data p b,
.t_Data p small {
  display: block;
}
.t_Data p small {
  margin-top: 15px;
  font-weight: 600;
  color: #1574bf;
}
.t_Data.active {
  background-color: var(--blue);
  z-index: 10;
}
.t_Data.active ._readMore {
  transform: rotate(0deg);
}
.t_Data.active .optnsCnt {
  display: block;
}
.t_Data.active .optnBx {
  margin-top: 0;
}
.optnsCnt {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  width: 100%;
  /* display: none; */
  overflow: hidden;
}
.optnBx {
  position: relative;
  height: 65px;
  background-color: var(--white);
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 8px 6px;
  margin-bottom: 5px;
  margin-top: -200px;
  transition: var(--transition);
}
.optnBx::after {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #1574bf;
  position: absolute;
  left: calc(50% - 0.5px);
  top: calc(50% - 10px);
}
.optnBx a {
  flex: 1;
  position: relative;
  height: 100%;
  margin: 2px;
  line-height: 55px;
  border-radius: 5px;
  font-size: 24px;
  text-align: right;
  padding: 0 15px 0 10px;
  transition: var(--transition);
}
.optnBx a i {
  width: 30px;
  font-size: 22px;
  margin-left: 10px;
}
.optnBx a:hover {
  background-color: var(--blue);
  color: var(--white);
}
/* ==============  // Table Cell Data  ============== */

/* ==============  Mapping Cell/children  ============== */
.hasChild > ._treeRaw::after,
.hasChildren > ._treeRaw::after {
  content: "";
  width: 1px;
  height: var(--borderGap);
  position: absolute;
  top: calc(100% - var(--borderGap));
  left: calc(50% - 0.5px);
  background-color: #1574bf;
}
.hasChild > ._treeRaw:last-child::after {
  display: none;
}
.hasChildren > ._NewBranch {
  padding-top: var(--borderGap);
}
.hasChildren > ._NewBranch > ._treeRoot::before,
.hasChildren > ._NewBranch > ._treeRoot::after {
  display: block;
}
._NewBranch > ._treeRoot::before,
._NewBranch > ._treeRoot::after {
  display: none;
  content: "";
  position: absolute;
  right: 50%;
  width: 50%;
  height: var(--borderGap);
  top: calc(0% - var(--borderGap));
  border-top: 1px solid #1574bf;
}
._NewBranch > ._treeRoot::before {
  right: 0;
}
._NewBranch > ._treeRoot::after {
  left: 0;
}

._NewBranch > ._treeRoot:first-child::after,
._NewBranch > ._treeRoot:last-child::before {
  display: none;
}

.hasChildren > ._NewBranch > ._treeRoot ._treeLeaf::after {
  content: "";
  width: 1px;
  position: absolute;
  height: var(--borderGap);
  background-color: #1574bf;
  bottom: 100%;
}
/* ==============  // Mapping Cell  ============== */
/* ----------------[ Shajra Tree ]---------------- */
