/* Classes genericas e estruturais de icones. */
.icon {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Caixa fixa para o primeiro ícone em nav-buttons e CTA (overflow visível se o desenho for maior que 32px). */
.icon-leading-slot {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.icon-leading-slot .icon {
  margin: 0;
  display: block;
}

/* Espaçamento entre o icon-leading-slot e o texto adjacente. */
.nav-buttons-item > .icon-leading-slot {
  margin-right: 8px;
}

.cta-primary .icon-leading-slot {
  margin-right: 10px;
}

.icon-cta {
  margin: 0 10px 0 0;
}

.icon-arrow {
  filter: brightness(0) invert(1);
}

.icon-arrow-cta {
  width: 8.89px;
  height: 17.08px;
  margin: 0;
  transform: scale(1.2);
}

.icon-arrow-nav {
  width: 13px;
  height: 23px;
  margin: 0 0 0 auto;
}

.back-button-arrow {
  width: 10.41px;
  height: auto;
  margin: 0;
}

.back-button-arrow--native {
  width: 13px;
  height: auto;
  margin: 0;
}

.site-header-icon {
  width: 25.07px;
  height: 25.07px;
  margin: 0;
}

.menu-hamburger-icon {
  width: auto;
  height: 26px;
  margin: 0;
}

.search-icon {
  width: 24.55px;
  height: 24.55px;
  margin: 0 12px 0 0;
}

.menu-button-img {
  width: 28px;
  height: auto;
  margin: 0 auto 5px;
}

.options-arrow {
  width: 13px;
  height: 23px;
  margin: 0;
}

/* Classes por icone/asset. */
.icon-phone-purple {
  width: 25px;
  height: 28px;
  margin: 0 10px 0 0;
}

.icon-whatsapp-purple {
  width: 22px;
  height: 22px;
  margin: 0 10px 0 0;
}

.icon-location-white {
  width: 18px;
  height: 22px;
  margin: 0 10px 0 0;
}

.icon-location-purple {
  width: 19.72px;
  height: 25.88px;
  margin: 0 0 5px;
}

.icon-contact-us-purple {
  width: 24.55px;
  height: 24.55px;
  margin: 0 10px 0 0;
}

.icon-doc-purple,
.icon-doc-white {
  width: 24px;
  height: 29px;
  margin: 0 10px 0 0;
}

.icon-police {
  width: 24px;
  height: 28px;
  margin: 0 10px 0 0;
}

.icon-female-police {
  width: 24px;
  height: 25px;
  margin: 0 10px 0 0;
}

.icon-find-citizenship-center {
  width: 25px;
  height: 27px;
  margin: 0 10px 0 0;
}

.icon-legal-support-white {
  width: 34px;
  height: 28px;
  margin: 0 5px 0 0;
}

.icon-psychological-violence {
  width: 25px;
  height: 31px;
  margin: 0 11px 0 0;
}

.icon-rights-citizenship-white {
  width: 34px;
  height: 25px;
  margin: 0 7px 0 0;
}

.icon-rights-citizenship-purple {
  width: 34px;
  height: 25px;
  margin: 0 10px 0 0;
}

.icon-map {
  width: 27px;
  height: 33px;
  margin: 0 11px 0 0;
}

.icon-safety-guide {
  width: 26px;
  height: 33px;
  margin: 0 11px 0 0;
}

.icon-no-shelter {
  width: 29px;
  height: 29px;
  margin: 0 9px 0 0;
}

.icon-telephone {
  width: 25px;
  height: 28px;
  margin: 0 12px 0 0;
}

.icon-psychological-support {
  width: 25px;
  height: 31px;
  margin: 0 11px 0 0;
}

.icon-location {
  width: 27px;
  height: 33px;
  margin: 0 11px 0 0;
}

.icon-cross {
  width: 24px;
  height: 26px;
  margin: 0 13px 0 0;
}

.icon-physical-violence {
  width: 32px;
  height: 33px;
  margin: 0 11px 0 -2px;
}

.icon-sexual-violence {
  width: 29px;
  height: 29px;
  margin: 0 9px 0 0;
}

.icon-institutional-violence {
  width: 21px;
  height: 27px;
  margin: 0 12px 0 5px;
}

.icon-bathroom-ban {
  width: 20px;
  height: 30px;
  margin: 0 12px 0 0;
}

.icon-facebook-logo,
.icon-google-logo,
.icon-linkedin-logo {
  width: 35px;
  height: 35px;
  margin: 0;
}

.icon-welcoming-purple {
  width: 26px;
  height: 33px;
  margin: 0;
}

.icon-report-purple {
  width: 28px;
  height: 27px;
  margin: 0;
}

.icon-wellbeing-purple {
  width: 29px;
  height: 35px;
  margin: 0;
}

@media (min-width: 768px) {
  .back-button-arrow {
    width: 14px;
  }

  .back-button-arrow--native {
    width: 13px;
  }

  .site-header-icon {
    width: 25px;
    height: 25px;
  }
}

@media (min-width: 1440px) {
  .site-header-icon {
    width: 30px;
    height: 30px;
  }
}
