/* Base styles for vendored linked-types flags. */
.ih-flag {
  --ih-flag-size: 1em;
  display: inline-block;
  width: var(--ih-flag-size);
  min-width: var(--ih-flag-size);
  height: var(--ih-flag-size);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: -0.125em;
  line-height: 1;
  flex: 0 0 auto;
  overflow: hidden;
}
.ih-flag-before {
  display: inline;
  width: auto;
  min-width: 0;
  height: auto;
  line-height: inherit;
  vertical-align: baseline;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  flex: initial;
  overflow: visible;
}
.ih-flag-before::before {
  content: "";
  display: inline-block;
  width: var(--ih-flag-size);
  min-width: var(--ih-flag-size);
  height: var(--ih-flag-size);
  margin-right: 0.35em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: -0.125em;
  line-height: 1;
}
.ih-flag-circle {
  border-radius: 50%;
}
.ih-flag-before.ih-flag-circle::before {
  border-radius: 50%;
}
.ih-flag-square {
  border-radius: 0;
}
.ih-flag-before.ih-flag-square::before {
  border-radius: 0;
}
.ih-flag-sm {
  --ih-flag-size: 0.875em;
}
.ih-flag-before.ih-flag-sm::before {
  --ih-flag-size: 0.875em;
}
.ih-flag-lg {
  --ih-flag-size: 1.5em;
}
.ih-flag-before.ih-flag-lg::before {
  --ih-flag-size: 1.5em;
}
.ih-flag-xl {
  --ih-flag-size: 2em;
}
.ih-flag-before.ih-flag-xl::before {
  --ih-flag-size: 2em;
}
