
.flag {
  margin: 1rem auto;
  box-shadow: 0.35rem 0.35rem 1.5rem rgba(0, 0, 0, 0.5);
  width: 25vw;
  height: calc(25vw / 3 * 2);
  background-color: transparent;
  transition: 0.3s ease;
}
.flag:hover {
  transform: scale(1.01);
  box-shadow: 0.5rem 0.5rem 1.2rem rgba(0, 0, 0, 0.45);
}
.flag::after {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  margin: 1rem;
  content: attr(title);
  text-shadow: 0 0 3px white;
  font-family: sans-serif;
  font-weight: 600;
}
.flag:hover::after {
  display: block;
  z-index: 10;
}
.flag--afghanistan {
  --green: #006341;
  --red: #c8102e;
  position: relative;
  background-image: linear-gradient(to right, var(--black) calc(100% / 3 * (1 - 1)), var(--black) calc(100% / 3 * 1), var(--red) calc(100% / 3 * (2 - 1)), var(--red) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--afghanistan #afghanistan_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 3 * 2 / 12 * 7);
  height: auto;
}
.flag--albania {
  --red: #e5181a;
  position: relative;
  height: calc(25vw / 7 * 5);
  background-color: var(--red);
}
.flag--albania #albania_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 7 * 3);
}
.flag--algeria {
  --green: #007229;
  --red: #d21034;
  position: relative;
  background-color: var(--red);
  background-image: radial-gradient(circle closest-side at calc(25vw / 15 * 8) 50%, var(--white) 0%, var(--white) 42%, transparent 42%, transparent 100%), radial-gradient(circle closest-side at 50% 50%, var(--red) 0%, var(--red) 50%, transparent 50%, transparent 100%), linear-gradient(to right, var(--green) 0%, var(--green) 50%, var(--white) 50%, var(--white) 100%);
}
.flag--algeria .star__container .star__spikes {
  --starColour: var(--red);
}
.flag--algeria .star__container {
  --width: 25vw / 3 * 2 / 80 * 18;
  top: 50%;
  left: 50%;
  transform: translate(0, -50%) rotate(19deg);
}
.flag--andorra {
  --blue: #10069f;
  --red: #d50032;
  --yellow: #fedd00;
  position: relative;
  height: calc(25vw / 10 * 7);
  background-image: linear-gradient(to right, var(--blue) 0%, var(--blue) 32%, var(--yellow) 32%, var(--yellow) 68%, var(--red) 68%, var(--red) 100%);
}
.flag--andorra #andorra_coat {
  position: absolute;
  left: 50%;
  top: 26.4%;
  transform: translateX(-50%);
  max-width: 33%;
  height: auto;
}
.flag--angola {
  --red: #c8102e;
  position: relative;
  height: calc(25vw / 8 * 5);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 2 * (1 - 1)), var(--red) calc(100% / 2 * 1), var(--black) calc(100% / 2 * (2 - 1)), var(--black) calc(100% / 2 * 2));
}
.flag--angola #angola_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -41%);
  max-width: 26%;
}
.flag--argentina {
  --blue: #75aadb;
  position: relative;
  height: calc(25vw / 8 * 5);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--argentina #argentina_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 28%;
}
.flag--armenia {
  --red: #f00;
  --blue: #00a;
  --yellow: #f90;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--yellow) calc(100% / 3 * (3 - 1)), var(--yellow) calc(100% / 3 * 3));
}
.flag--australia-aboriginal {
  --red: #e03c31;
  --yellow: #ffc72c;
  background-image: radial-gradient(circle at center, var(--yellow) 0%, var(--yellow) calc((100% / 3 * 2) / 5 * 2.5), transparent calc((100% / 3 * 2) / 5 * 2.5), transparent 100%), linear-gradient(to bottom, #000 0%, #000 50%, var(--red) 50%, var(--red) 100%);
}
.flag--austria {
  --red: #ee2436;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--azerbaijan {
  --blue: #0097c3;
  --red: #e00034;
  --green: #00ae65;
  position: relative;
  height: calc(25vw / 2);
  background-image: radial-gradient(circle at 52%, var(--red) 0%, var(--red) calc(25vw / 2 / 3 / 2.7), transparent calc(25vw / 2 / 3 / 2.7), transparent 100%), radial-gradient(circle at 50%, #fff 0%, #fff calc(25vw / 2 / 3 / 2.2), transparent calc(25vw / 2 / 3 / 2.2), transparent 100%), linear-gradient(to bottom, var(--blue) 0%, var(--blue) calc(100 / 3 * 1%), var(--red) calc(100 / 3 * 1%), var(--red) calc(100 / 3 * 2 * 1%), var(--green) calc(100 / 3 * 2 * 1%), var(--green) 100%);
}
.flag--azerbaijan svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-49.7%, -50%) scale(0.3);
}
.flag--bahamas {
  --blue: #00778b;
  --yellow: #ffc72c;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--bahamas::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(1.732 / 2 * (25vw / 2)) solid #000;
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--bahrain {
  --red: #da291c;
  position: relative;
  height: calc(25vw / 10 * 6);
  background-image: linear-gradient(to right, var(--white) 0%, var(--white) 25%, var(--red) 25%, var(--red) 100%);
}
.flag--bahrain .triangle {
  position: absolute;
  left: 25%;
  border-top: calc(25vw / 10 * 6 / 10) solid transparent;
  border-bottom: calc(25vw / 10 * 6 / 10) solid transparent;
  border-left: calc(25vw / 10 * 1.5) solid var(--white);
}
.flag--bahrain .triangle--1 {
  top: 0;
}
.flag--bahrain .triangle--2 {
  top: 20%;
}
.flag--bahrain .triangle--3 {
  top: 40%;
}
.flag--bahrain .triangle--4 {
  top: 60%;
}
.flag--bahrain .triangle--5 {
  top: 80%;
}
.flag--belgium {
  --red: #ff0f21;
  --yellow: #ffe936;
  height: calc(25vw / 15 * 13);
  background-image: linear-gradient(to right, var(--black) calc(100% / 3 * (1 - 1)), var(--black) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--bengladesh {
  --green: #006a4d;
  --red: #f4253f;
  height: calc(25vw / 10 * 6);
  background-color: var(--green);
  background-image: radial-gradient(circle at calc(100% / 10 * 4.5 ), var(--red) 0%, var(--red) calc(100% / 2 / 3 * 2), transparent calc(100% / 2 / 3 * 2), transparent 100%);
}
.flag--benin {
  --green: #008751;
  --red: #e8112d;
  --yellow: #fcd116;
  background-image: conic-gradient(at 40% 50%, var(--yellow) 0%, var(--yellow) 25%, var(--red) 25%, var(--red) 50%, var(--green) 50%, var(--green) 100%);
}
.flag--bhutan {
  --orange: #e03c31;
  --yellow: #f1b434;
  position: relative;
  background-image: linear-gradient(-33.33deg, var(--orange) 0%, var(--orange) 50%, var(--yellow) 50%, var(--yellow) 100%);
}
.flag--bhutan #bhutan_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 135 * 97);
}
.flag--bolivia {
  --green: #007934;
  --red: #d52b1e;
  --yellow: #fcd116;
  height: calc(25vw / 22 * 15);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--bosnia-herzegovina {
  --blue: #002395;
  --yellow: #fecb00;
  position: relative;
  height: calc(25vw / 2);
  overflow: hidden;
  background-color: var(--blue);
  background-image: linear-gradient(90deg, transparent 0, transparent 75%, var(--blue) 75%, var(--blue) 100%), linear-gradient(45deg, transparent 0%, transparent 50%, var(--yellow) 50%, var(--yellow) 100%);
}
.flag--bosnia-herzegovina .star__container .star__spikes {
  --starColour: #fff;
}
.flag--bosnia-herzegovina .star__container {
  --width: calc(25vw / 12.4);
  width: var(--width);
}
.flag--bosnia-herzegovina .star-1 {
  top: 0;
  left: 0;
  transform: translate(210%, -55%);
}
.flag--bosnia-herzegovina .star-2 {
  top: 0;
  left: 0;
  transform: translate(280%, 25%);
}
.flag--bosnia-herzegovina .star-3 {
  top: 0;
  left: 0;
  transform: translate(350%, 105%);
}
.flag--bosnia-herzegovina .star-4 {
  top: 0;
  left: 0;
  transform: translate(420%, 185%);
}
.flag--bosnia-herzegovina .star-5 {
  top: 0;
  left: 0;
  transform: translate(490%, 265%);
}
.flag--bosnia-herzegovina .star-6 {
  top: 0;
  left: 0;
  transform: translate(560%, 345%);
}
.flag--bosnia-herzegovina .star-7 {
  top: 0;
  left: 0;
  transform: translate(630%, 425%);
}
.flag--bosnia-herzegovina .star-8 {
  top: 0;
  left: 0;
  transform: translate(700%, 505%);
}
.flag--bosnia-herzegovina .star-9 {
  top: 0;
  left: 0;
  transform: translate(770%, 585%);
}
.flag--botswana {
  --blue: #75aadb;
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) calc(100% / 24 * 9), var(--white) calc(100% / 24 * 9), var(--white) calc(100% / 24 * 10), var(--black) calc(100% / 24 * 10), var(--black) calc(100% / 24 * 14), var(--white) calc(100% / 24 * 14), var(--white) calc(100% / 24 * 15), var(--blue) calc(100% / 24 * 15), var(--blue) 100%);
}
.flag--brazil {
  --green: #009c3b;
  --yellow: yellow;
  position: relative;
  height: calc(25vw / 10 * 7);
  background-color: var(--yellow);
  background-image: linear-gradient(30deg, transparent 0%, transparent calc(25vw / 1.3), var(--green) calc(25vw / 1.3), var(--green) 100%), linear-gradient(150deg, transparent 0%, transparent calc(25vw / 1.3), var(--green) calc(25vw / 1.3), var(--green) 100%), linear-gradient(210deg, transparent 0%, transparent calc(25vw / 1.3), var(--green) calc(25vw / 1.3), var(--green) 100%), linear-gradient(330deg, transparent 0%, transparent calc(25vw / 1.3), var(--green) calc(25vw / 1.3), var(--green) 100%);
}
.flag--brazil #brazil_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 54%;
}
.flag--brunei {
  --yellow: #fedd00;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(12deg, var(--yellow) 0%, var(--yellow) 35%, var(--black) 35%, var(--black) 50%, var(--white) 50%, var(--white) 67%, var(--yellow) 67%, var(--yellow) 100%);
}
.flag--brunei #brunei_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 3);
}
.flag--bulgaria {
  --green: #00966e;
  --red: #d62612;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 3 * (1 - 1)), var(--white) calc(100% / 3 * 1), var(--green) calc(100% / 3 * (2 - 1)), var(--green) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--burkina-faso {
  --green: #009e49;
  --red: #ef2b2d;
  --yellow: #fcd116;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 2 * (1 - 1)), var(--red) calc(100% / 2 * 1), var(--green) calc(100% / 2 * (2 - 1)), var(--green) calc(100% / 2 * 2));
}
.flag--burkina-faso .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--burkina-faso .star-1 {
  --width: calc(25vw / 4.5);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  width: var(--width);
}
.flag--cambodia {
  --blue: #002f6c;
  --red: #d50032;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 4 * (1 - 1)), var(--blue) calc(100% / 4 * 1), var(--red) calc(100% / 4 * (2 - 1)), var(--red) calc(100% / 4 * 2), var(--red) calc(100% / 4 * (3 - 1)), var(--red) calc(100% / 4 * 3), var(--blue) calc(100% / 4 * (4 - 1)), var(--blue) calc(100% / 4 * 4));
}
.flag--cambodia #cambodia_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: calc(25vw / 3 / 45 * 43);
}
.flag--cameroon {
  --green: #007a5e;
  --red: #ce1126;
  --yellow: #fcd116;
  position: relative;
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--red) calc(100% / 3 * (2 - 1)), var(--red) calc(100% / 3 * 2), var(--yellow) calc(100% / 3 * (3 - 1)), var(--yellow) calc(100% / 3 * 3));
}
.flag--cameroon .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--cameroon .star-1 {
  --width: calc(25vw / 6);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--canada {
  --red: #f00;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to right, var(--red) 0%, var(--red) 25%, var(--white) 25%, var(--white) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--canada #canada_leaf {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% / 2 * .85);
}
.flag--cape-verde {
  --blue: #003087;
  --red: #c8102e;
  --yellow: #ffcd00;
  position: relative;
  height: calc(25vw / 17 * 10);
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) 50%, var(--white) 50%, var(--white) calc(100% / 12 * 7), var(--red) calc(100% / 12 * 7), var(--red) calc(100% / 12 * 8), var(--white) calc(100% / 12 * 8), var(--white) calc(100% / 12 * 9), var(--blue) calc(100% / 12 * 9), var(--blue) 100%);
}
.flag--cape-verde .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--cape-verde .star__container {
  --width: calc(25vw / 612 * 32);
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--cape-verde .star-1 {
  top: calc(25vw / 612 * 130);
  left: calc(25vw / 612 * 230);
}
.flag--cape-verde .star-2 {
  top: calc(25vw / 612 * 153);
  left: calc(25vw / 612 * 285);
}
.flag--cape-verde .star-3 {
  top: calc(25vw / 612 * 195);
  left: calc(25vw / 612 * 320);
}
.flag--cape-verde .star-4 {
  top: calc(25vw / 612 * 255);
  left: calc(25vw / 612 * 320);
}
.flag--cape-verde .star-5 {
  top: calc(25vw / 612 * 297);
  left: calc(25vw / 612 * 285);
}
.flag--cape-verde .star-6 {
  top: calc(25vw / 612 * 320);
  left: calc(25vw / 612 * 230);
}
.flag--cape-verde .star-7 {
  top: calc(25vw / 612 * 297);
  left: calc(25vw / 612 * 175);
}
.flag--cape-verde .star-8 {
  top: calc(25vw / 612 * 255);
  left: calc(25vw / 612 * 140);
}
.flag--cape-verde .star-9 {
  top: calc(25vw / 612 * 195);
  left: calc(25vw / 612 * 140);
}
.flag--cape-verde .star-10 {
  top: calc(25vw / 612 * 153);
  left: calc(25vw / 612 * 175);
}
.flag--central-african-republic {
  --blue: #003082;
  --green: #289728;
  --red: #d21034;
  --yellow: #ffce00;
  position: relative;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 4 * (1 - 1)), var(--blue) calc(100% / 4 * 1), var(--white) calc(100% / 4 * (2 - 1)), var(--white) calc(100% / 4 * 2), var(--green) calc(100% / 4 * (3 - 1)), var(--green) calc(100% / 4 * 3), var(--yellow) calc(100% / 4 * (4 - 1)), var(--yellow) calc(100% / 4 * 4));
}
.flag--central-african-republic::before {
  display: block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: calc(25vw / 5 * 3 / 4);
  height: 100%;
  background-color: var(--red);
  content: "";
}
.flag--central-african-republic .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--central-african-republic .star-1 {
  --width: calc(25vw / 5 * 3 / 4 * .9);
  top: calc(25vw / 5 * 3 / 4 / 2);
  left: calc(25vw / 3 / 2);
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--chad {
  --blue: #002664;
  --red: #c60c30;
  --yellow: #fecb00;
  background-image: linear-gradient(to right, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--chile {
  --blue: #0039a6;
  --red: #d52b1e;
  position: relative;
  background-image: conic-gradient(at calc(100% / 3) 50%, #fff 0%, #fff 25%, var(--red) 25%, var(--red) 75%, var(--blue) 75%, var(--blue) 100%);
}
.flag--chile .star__container .star__spikes {
  --starColour: #fff;
}
.flag--chile .star-1 {
  --width: calc(25vw / 6);
  top: calc(25vw / 3 / 2);
  left: calc(25vw / 3 / 2);
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--china {
  --red: #f00;
  --starColour: gold;
  position: relative;
  height: calc(25vw / 3 * 2);
  background-color: var(--red);
}
.flag--china .star__container .star__spikes {
  --starColour: gold;
}
.flag--china .star-0 {
  --width: calc(25vw / 15 * 3);
  top: calc((25vw / 2 * 3) / 15);
  left: calc(25vw / 15);
  width: var(--width);
}
.flag--china .star-1,
.flag--china .star-2,
.flag--china .star-3,
.flag--china .star-4 {
  --width: calc(25vw / 15);
  width: var(--width);
}
.flag--china .star-1 {
  top: calc(100% / 20);
  left: calc(100% / 30 * 9);
  transform: rotate(18deg);
}
.flag--china .star-2 {
  top: calc(100% / 20 * 3);
  left: calc(100% / 30 * 11);
  transform: rotate(-32deg);
}
.flag--china .star-3 {
  top: calc(100% / 20 * 6);
  left: calc(100% / 30 * 11);
}
.flag--china .star-4 {
  top: calc(100% / 20 * 8);
  left: calc(100% / 30 * 9);
  transform: rotate(22deg);
}
.flag--comoros {
  --blue: #0072ce;
  --green: #4c8c2b;
  --red: #c8102e;
  --yellow: #ffc72c;
  position: relative;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--yellow) calc(100% / 4 * (1 - 1)), var(--yellow) calc(100% / 4 * 1), var(--white) calc(100% / 4 * (2 - 1)), var(--white) calc(100% / 4 * 2), var(--red) calc(100% / 4 * (3 - 1)), var(--red) calc(100% / 4 * 3), var(--blue) calc(100% / 4 * (4 - 1)), var(--blue) calc(100% / 4 * 4));
}
.flag--comoros .canton {
  position: absolute;
  width: 50%;
  height: 100%;
  background-image: radial-gradient(circle at 40% 50%, var(--green) 0%, var(--green) calc(100% / 200 * 54), transparent calc(100% / 200 * 54), transparent 100%), radial-gradient(circle at 34% 50%, var(--white) 0%, var(--white) calc(100% / 200 * 54), transparent calc(100% / 200 * 54), transparent 100%), conic-gradient(at 100% 50%, transparent 0%, transparent 66.5%, var(--green) 66.5%, var(--green) 83.7%, transparent 83.7%, transparent 100%);
}
.flag--comoros .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--comoros .star-1,
.flag--comoros .star-2,
.flag--comoros .star-3,
.flag--comoros .star-4 {
  --width: calc(25vw / 200 * 8);
  left: 40%;
  transform: translate(-50%, -50%) rotate(24deg);
  width: var(--width);
}
.flag--comoros .star-1 {
  top: calc(100% / 120 * 42);
}
.flag--comoros .star-2 {
  top: calc(100% / 120 * 54);
}
.flag--comoros .star-3 {
  top: calc(100% / 120 * 66);
}
.flag--comoros .star-4 {
  top: calc(100% / 120 * 78);
}
.flag--colombia {
  --blue: #003893;
  --red: #ce1126;
  --yellow: #fcd116;
  background-image: linear-gradient(to bottom, var(--yellow) 0%, var(--yellow) 50%, var(--blue) 50%, var(--blue) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--congo-brazzaville {
  --green: #009543;
  --red: #dc241f;
  --yellow: #fbde4a;
  background-image: linear-gradient(135deg, var(--green) 0%, var(--green) 40%, var(--yellow) 40%, var(--yellow) 60%, var(--red) 60%, var(--red) 100%);
}
.flag--congo-kinshasa {
  --blue: #007fff;
  --red: #ce1021;
  --yellow: #f7d618;
  position: relative;
  height: calc(25vw / 4 * 3);
  background-image: linear-gradient(150deg, var(--blue) 0%, var(--blue) 40.5%, var(--yellow) 40.5%, var(--yellow) 43.5%, var(--red) 43.5%, var(--red) 56.5%, var(--yellow) 56.5%, var(--yellow) 59.5%, var(--blue) 59.5%, var(--blue) 100%);
}
.flag--congo-kinshasa .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--congo-kinshasa .star-1 {
  --width: calc(25vw / 4);
  top: calc(25%);
  left: calc(25vw / 4 * 3 / 4);
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--cornwall {
  height: calc(25vw / 5 * 3);
  background-color: #000;
  background-image: linear-gradient(to right, transparent 0%, transparent 45%, #fff 45%, #fff 55%, transparent 55%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc((100% - (100% / 6)) / 2), #fff calc((100% - (100% / 6)) / 2), #fff calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent 100%);
}
.flag--costa-rica {
  --blue: #002b7f;
  --red: #ce1126;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) 16.66%, var(--white) 16.66%, var(--white) 33.33%, var(--red) 33.33%, var(--red) 66.66%, var(--white) 66.66%, var(--white) 83.33%, var(--blue) 83.33%, var(--blue) 100%);
}
.flag--croatia {
  --blue: #171796;
  --red: #f00;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--croatia #croatia_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -57%);
  width: calc(25vw / 4);
}
.flag--cuba {
  --blue: #002a8f;
  --red: #f00;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 5 * (1 - 1)), var(--blue) calc(100% / 5 * 1), var(--white) calc(100% / 5 * (2 - 1)), var(--white) calc(100% / 5 * 2), var(--blue) calc(100% / 5 * (3 - 1)), var(--blue) calc(100% / 5 * 3), var(--white) calc(100% / 5 * (4 - 1)), var(--white) calc(100% / 5 * 4), var(--blue) calc(100% / 5 * (5 - 1)), var(--blue) calc(100% / 5 * 5));
}
.flag--cuba::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(1.732 / 2 * (25vw / 2)) solid var(--red);
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--cuba .star__container .star__spikes {
  --starColour: #fff;
}
.flag--cuba .star-1 {
  --width: calc(25vw / 2 / 20 * 6);
  top: calc(50%);
  left: calc(1.732 / 2 * (25vw / 2) / 2 - var(--width));
  transform: translateY(-50%);
  width: var(--width);
}
.flag--curacao {
  --blue: #012169;
  --yellow: #fce300;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) 62.5%, var(--yellow) 62.5%, var(--yellow) 75%, var(--blue) 75%, var(--blue) 100%);
}
.flag--curacao .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--curacao .star-1,
.flag--curacao .star-2 {
  width: var(--width);
  transform: translate(-50%, -50%);
}
.flag--curacao .star-1 {
  --width: calc(25vw / 3 * 2 / 6);
  top: var(--width);
  left: var(--width);
}
.flag--curacao .star-2 {
  --width: calc(25vw / 3 * 2 / 9 * 2);
  top: calc(25vw / 3 * 2 / 3);
  left: calc(25vw / 3 * 2 / 3);
}
.flag--cyprus {
  position: relative;
  background-color: #fff;
}
.flag--cyprus #cyprus_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 25vw;
  height: calc(25vw / 3 * 2);
}
.flag--czech {
  --blue: #11457e;
  --red: #d7141a;
  border-top: calc(25vw / 3) solid #fff;
  border-bottom: calc(25vw / 3) solid var(--red);
  border-left: calc(25vw / 2) solid var(--blue);
  width: calc(25vw / 2);
  height: 0;
}
.flag--czech:hover:after {
  position: absolute;
  left: -12.5vw;
  top: calc(25vw / -3);
}
.flag--denmark {
  --red: #c60c30;
  height: calc(25vw / 37 * 28);
  background-color: var(--red);
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 17 * 6), #fff calc(100% / 17 * 6), #fff calc(100% / 17 * 8), transparent calc(100% / 17 * 8), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 7 * 3), #fff calc(100% / 7 * 3), #fff calc(100% / 7 * 4), transparent calc(100% / 7 * 4), transparent 100%);
}
.flag--djibouti {
  --blue: #69b3e7;
  --green: #43b02a;
  --red: #e03c31;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 2 * (1 - 1)), var(--blue) calc(100% / 2 * 1), var(--green) calc(100% / 2 * (2 - 1)), var(--green) calc(100% / 2 * 2));
}
.flag--djibouti::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 3) solid transparent;
  border-bottom: calc(25vw / 3) solid transparent;
  border-left: calc(1.732 / 2 * (25vw / 3 * 2)) solid var(--white);
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--djibouti .star__container .star__spikes {
  --starColour: var(--red);
}
.flag--djibouti .star-1 {
  --width: calc(25vw / 2 / 20 * 6);
  top: calc(50%);
  left: calc(1.732 / 2 * (25vw / 3 * 2) / 2 - var(--width));
  transform: translateY(-50%);
  width: var(--width);
}
.flag--dominican-republic {
  --red: #ce1126;
  --blue: #002d62;
  position: relative;
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 30 * 13), #fff calc(100% / 30 * 13), #fff calc(100% / 30 * 17), transparent calc(100% / 30 * 17), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc((100% - (100% / 5)) / 2), #fff calc((100% - (100% / 5)) / 2), #fff calc((100% - (100% / 5)) / 2 + (100% / 5)), transparent calc((100% - (100% / 5)) / 2 + (100% / 5)), transparent 100%), conic-gradient(at center, var(--red) 0%, var(--red) 25%, var(--blue) 25%, var(--blue) 50%, var(--red) 50%, var(--red) 75%, var(--blue) 75%, var(--blue) 100%);
}
.flag--dominican-republic #dominican-republic_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 30 * 3.5);
  height: auto;
}
.flag--east-timor {
  --red: #e03c31;
  --yellow: #ff0;
  position: relative;
  height: calc(25vw / 2);
  background-color: var(--red);
}
.flag--east-timor::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 2) solid var(--yellow);
  width: 0;
  height: 0;
  content: "";
}
.flag--east-timor .canton {
  position: absolute;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 3) solid var(--black);
  width: 0;
  height: 0;
}
.flag--east-timor .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--east-timor .star-1 {
  --width: calc(25vw / 2 / 20 * 6);
  top: calc(50%);
  left: calc(25vw / 3 / 2);
  transform: translate(-81%, -50%) rotate(-27deg);
  width: var(--width);
}
.flag--ecuador {
  --blue: #003893;
  --red: #ce1126;
  --yellow: #fcd116;
  position: relative;
  background-image: linear-gradient(to bottom, var(--yellow) 0%, var(--yellow) 50%, var(--blue) 50%, var(--blue) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--ecuador #ecuador_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: calc(25vw / 3);
}
.flag--egypt {
  --red: #ce1126;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--black) calc(100% / 3 * (3 - 1)), var(--black) calc(100% / 3 * 3));
}
.flag--egypt #egypt_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: calc(25vw / 3 * 2 / 3);
}
.flag--el-salvador {
  --blue: #0047ab;
  position: relative;
  height: calc(25vw / 335 * 189);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--el-salvador #el-salvador_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 28%;
}
.flag--england {
  --red: #f00;
  height: calc(25vw / 5 * 3);
  background-color: #fff;
  background-image: linear-gradient(to right, transparent 0%, transparent 45%, var(--red) 45%, var(--red) 55%, transparent 55%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc((100% - (100% / 6)) / 2), var(--red) calc((100% - (100% / 6)) / 2), var(--red) calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent 100%);
}
.flag--equatorial-guinea {
  --blue: #0073ce;
  --green: #3e9a00;
  --red: #e32118;
  position: relative;
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--equatorial-guinea::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 3) solid transparent;
  border-bottom: calc(25vw / 3) solid transparent;
  border-left: calc(25vw / 4) solid var(--blue);
  width: calc(25vw / 4 * 3);
  height: 0;
  content: "";
}
.flag--equatorial-guinea #equatorial-guinea_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: calc(25vw / 3 * 2 / 3 * .9);
  width: auto;
}
.flag--estonia {
  --blue: #0072ce;
  height: calc(25vw / 11 * 7);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--black) calc(100% / 3 * (2 - 1)), var(--black) calc(100% / 3 * 2), var(--white) calc(100% / 3 * (3 - 1)), var(--white) calc(100% / 3 * 3));
}
.flag--ethiopia {
  --green: #078930;
  --red: #da121a;
  --yellow: #fcdd09;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--ethiopia #ethiopia_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: calc(25vw / 2 / 3 * 2);
  width: auto;
}
.flag--faroe {
  --red: #dc1e35;
  --blue: #0065bd;
  height: calc(25vw / 25 * 18);
  background-color: #fff;
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 25 * 8), var(--red) calc(100% / 25 * 8), var(--red) calc(100% / 25 * 10), transparent calc(100% / 25 * 10), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 18 * 8), var(--red) calc(100% / 18 * 8), var(--red) calc(100% / 18 * 10), transparent calc(100% / 18 * 10), transparent 100%), linear-gradient(to right, transparent 0%, transparent calc(100% / 25 * 7), var(--blue) calc(100% / 25 * 7), var(--blue) calc(100% / 25 * 11), transparent calc(100% / 25 * 11), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 18 * 7), var(--blue) calc(100% / 18 * 7), var(--blue) calc(100% / 18 * 11), transparent calc(100% / 18 * 11), transparent 100%);
}
.flag--finland {
  --blue: #002f6c;
  height: calc(25vw / 18 * 11);
  background-color: #fff;
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 18 * 5), var(--blue) calc(100% / 18 * 5), var(--blue) calc(100% / 18 * 8), transparent calc(100% / 18 * 8), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 11 * 4), var(--blue) calc(100% / 11 * 4), var(--blue) calc(100% / 11 * 7), transparent calc(100% / 11 * 7), transparent 100%);
}
.flag--france {
  --blue: #0050a4;
  --red: #ef4135;
  background-image: linear-gradient(to right, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--gabon {
  --blue: #3a75c4;
  --green: #009e60;
  --yellow: #fcd116;
  height: calc(25vw / 4 * 3);
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--gambia {
  --blue: #0c1c8c;
  --green: #3a7728;
  --red: #ce1126;
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) calc(100% / 3), var(--white) calc(100% / 3), var(--white) calc(100% / 3 + 100% / 18), var(--blue) calc(100% / 3 + 100% / 18), var(--blue) calc(100% / 3* 2 - 100% / 18), var(--white) calc(100% / 3* 2 - 100% / 18), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * 2), var(--green) 100%);
}
.flag--georgia {
  --red: #f00;
  background-color: #fff;
  background-image: linear-gradient(to right, transparent 0%, transparent 45%, var(--red) 45%, var(--red) 55%, transparent 55%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc((100% - (100% / 6)) / 2), var(--red) calc((100% - (100% / 6)) / 2), var(--red) calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent 100%);
}
.flag--germany {
  --red: #f00;
  --yellow: #fc0;
  background-image: linear-gradient(to bottom, var(--black) calc(100% / 3 * (1 - 1)), var(--black) calc(100% / 3 * 1), var(--red) calc(100% / 3 * (2 - 1)), var(--red) calc(100% / 3 * 2), var(--yellow) calc(100% / 3 * (3 - 1)), var(--yellow) calc(100% / 3 * 3));
}
.flag--ghana {
  --green: #006b3f;
  --red: #ce1126;
  --yellow: #fcd116;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--ghana .star__container .star__spikes {
  --starColour: var(--black);
}
.flag--ghana .star-1 {
  --width: calc(25vw / 3 * 2 / 3);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--greece {
  --blue: #0072ce;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 9 * (1 - 1)), var(--blue) calc(100% / 9 * 1), var(--white) calc(100% / 9 * (2 - 1)), var(--white) calc(100% / 9 * 2), var(--blue) calc(100% / 9 * (3 - 1)), var(--blue) calc(100% / 9 * 3), var(--white) calc(100% / 9 * (4 - 1)), var(--white) calc(100% / 9 * 4), var(--blue) calc(100% / 9 * (5 - 1)), var(--blue) calc(100% / 9 * 5), var(--white) calc(100% / 9 * (6 - 1)), var(--white) calc(100% / 9 * 6), var(--blue) calc(100% / 9 * (7 - 1)), var(--blue) calc(100% / 9 * 7), var(--white) calc(100% / 9 * (8 - 1)), var(--white) calc(100% / 9 * 8), var(--blue) calc(100% / 9 * (9 - 1)), var(--blue) calc(100% / 9 * 9));
}
.flag--greece::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: calc(25vw / 27 * 10);
  height: calc(25vw / 3 * 2 / 9 * 4.99);
  background-color: var(--blue);
  background-image: linear-gradient(to right, transparent 0%, transparent 40%, #fff 40%, #fff 60%, transparent 60%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent 40%, #fff 40%, #fff 60%, transparent 60%, transparent 100%);
  content: "";
}
.flag--greenland {
  --red: #c8102e;
  position: relative;
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 2 * (1 - 1)), var(--white) calc(100% / 2 * 1), var(--red) calc(100% / 2 * (2 - 1)), var(--red) calc(100% / 2 * 2));
}
.flag--greenland::before {
  display: block;
  position: absolute;
  top: 50%;
  left: calc(25vw / 18 * 7);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: calc(25vw / 18 * 8);
  height: calc(25vw / 18 * 8);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 2 * (1 - 1)), var(--red) calc(100% / 2 * 1), var(--white) calc(100% / 2 * (2 - 1)), var(--white) calc(100% / 2 * 2));
  content: "";
}
.flag--guatemala {
  --blue: #4997d0;
  position: relative;
  height: calc(25vw / 8 * 5);
  background-image: linear-gradient(to right, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--guatemala #guatemala_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 25%;
  height: auto;
}
.flag--guinea {
  --green: #009460;
  --yellow: #fcd116;
  --red: #ce1126;
  background-image: linear-gradient(to right, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--guinea-bissau {
  --green: #009e49;
  --red: #ce1126;
  --yellow: #fcd116;
  height: calc(25vw / 2);
  position: relative;
  background-image: conic-gradient(at 33.33% 50%, var(--yellow) 0%, var(--yellow) 25%, var(--green) 25%, var(--green) 50%, var(--red) 50%, var(--red) 100%);
}
.flag--guinea-bissau .star__container .star__spikes {
  --starColour: var(--black);
}
.flag--guinea-bissau .star-1 {
  --width: calc(25vw / 3 / 2);
  top: 50%;
  left: calc(25vw / 3 / 2);
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--guyana {
  --green: #009e49;
  --yellow: #fcd116;
  --red: #ce1126;
  position: relative;
  height: calc(25vw / 5 * 3);
  overflow: hidden;
  background-color: var(--yellow);
  background-image: linear-gradient(16deg, transparent 0%, transparent 67%, var(--green) 67%, var(--green) 100%), linear-gradient(-16deg, var(--green) 0%, var(--green) 32.8%, transparent 32.8%, transparent 100%), linear-gradient(16deg, transparent 0%, transparent 65%, var(--white) 65%, var(--white) 67%, transparent 67%, transparent 100%), linear-gradient(-16deg, transparent 0%, transparent 33%, var(--white) 33%, var(--white) 35%, transparent 35%, transparent 100%);
}
.flag--guyana::before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(37deg) translate(-34%, 40%) skew(-15deg);
  transform-origin: center center;
  border: 10px solid var(--black);
  width: calc(25vw / 5 * 3 * .73);
  height: calc(25vw / 5 * 3 * .73);
  background-color: var(--red);
  content: "";
}
.flag--haiti {
  --blue: #00209f;
  --red: #d21034;
  position: relative;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 2 * (1 - 1)), var(--blue) calc(100% / 2 * 1), var(--red) calc(100% / 2 * (2 - 1)), var(--red) calc(100% / 2 * 2));
}
.flag--haiti #haiti_coat {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 25%;
  background-color: #fff;
}
.flag--honduras {
  --blue: #0073cf;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--honduras .star__container .star__spikes {
  --starColour: var(--blue);
}
.flag--honduras .star-1,
.flag--honduras .star-2,
.flag--honduras .star-3,
.flag--honduras .star-4,
.flag--honduras .star-5 {
  --width: calc(25vw / 18);
  width: var(--width);
}
.flag--honduras .star-1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.flag--honduras .star-2 {
  top: 50%;
  left: calc(100% / 3);
  transform: translate(-50%, -140%);
}
.flag--honduras .star-3 {
  top: 50%;
  left: calc(100% / 3 * 2);
  transform: translate(-50%, -140%);
}
.flag--honduras .star-4 {
  top: 50%;
  left: calc(100% / 3);
  transform: translate(-50%, 40%);
}
.flag--honduras .star-5 {
  top: 50%;
  left: calc(100% / 3 * 2);
  transform: translate(-50%, 40%);
}
.flag--hungary {
  --green: #416f4c;
  --red: #ce253c;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--iceland {
  --red: #dc1e35;
  --blue: #02529c;
  height: calc(25vw / 25 * 18);
  background-color: var(--blue);
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 25 * 8), var(--red) calc(100% / 25 * 8), var(--red) calc(100% / 25 * 10), transparent calc(100% / 25 * 10), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 18 * 8), var(--red) calc(100% / 18 * 8), var(--red) calc(100% / 18 * 10), transparent calc(100% / 18 * 10), transparent 100%), linear-gradient(to right, transparent 0%, transparent calc(100% / 25 * 7), #fff calc(100% / 25 * 7), #fff calc(100% / 25 * 11), transparent calc(100% / 25 * 11), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 18 * 7), #fff calc(100% / 18 * 7), #fff calc(100% / 18 * 11), transparent calc(100% / 18 * 11), transparent 100%);
}
.flag--india {
  --green: #008522;
  --yellow: #f79b2e;
  position: relative;
  background-image: linear-gradient(to bottom, var(--yellow) calc(100% / 3 * (1 - 1)), var(--yellow) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--india #india_ashoka {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(https://upload.wikimedia.org/wikipedia/commons/1/17/Ashoka_Chakra.svg) 50% 50%;
  background-size: cover;
  width: calc((100% / 3 * 2) / 6.3 * 1.295);
  height: calc(100% / 6.3 * 1.295);
}
.flag--indonesia {
  --red: #f00;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 2 * (1 - 1)), var(--red) calc(100% / 2 * 1), var(--white) calc(100% / 2 * (2 - 1)), var(--white) calc(100% / 2 * 2));
}
.flag--iran {
  --green: #1ea03e;
  --red: #db0000;
  position: relative;
  height: calc(25vw / 7 * 4);
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--iran .iran__kufi-script {
  position: relative;
  width: calc(25vw / 11);
}
.flag--iran .iran__kufi-script--green {
  top: calc(33% - 17px);
}
.flag--iran .iran__kufi-script--red {
  top: calc(66% - 27px);
}
.flag--iran .iran__kufi-script svg.iran__kufi-script--red path {
  fill: var(--red);
}
.flag--iran #iran_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc((100% / 3 * 2) / 6.3 * 1.295);
  height: calc(100% / 6.3 * 1.295);
}
.flag--iraq {
  --red: #ce1126;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--black) calc(100% / 3 * (3 - 1)), var(--black) calc(100% / 3 * 3));
}
.flag--iraq #iraq_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% / 3);
}
.flag--ireland {
  --green: #169b62;
  --orange: #ff883e;
  height: calc(25vw / 2);
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--orange) calc(100% / 3 * (3 - 1)), var(--orange) calc(100% / 3 * 3));
}
.flag--italy {
  --green: #009246;
  --red: #ce2b37;
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--ivory-coast {
  --green: #009e60;
  --orange: #f77f00;
  background-image: linear-gradient(to right, var(--orange) calc(100% / 3 * (1 - 1)), var(--orange) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--jamaica {
  --green: #009b3a;
  --gold: #fed100;
  height: calc(25vw / 2);
  background-image: linear-gradient(to top right, transparent 0%, transparent calc(100% / 26 * 11.5), var(--gold) calc(100% / 26 * 11.5), var(--gold) calc(100% / 26 * 14.5), transparent calc(100%/ 26 * 14.5), transparent 100%), linear-gradient(to bottom right, transparent 0%, transparent calc(100% / 26 * 11.5), var(--gold) calc(100% / 26 * 11.5), var(--gold) calc(100% / 26 * 14.5), transparent calc(100%/ 26 * 14.5), transparent 100%), conic-gradient(at center, var(--green) 0%, var(--green) 64deg, #000 64deg, #000 117deg, var(--green) 117deg, var(--green) 244deg, #000 244deg, #000 297deg, var(--green) 297deg, var(--green) 100%);
}
.flag--japan {
  --red: #ef3340;
  background-image: radial-gradient(circle at center, var(--red) 0%, var(--red) calc(100% / 1.8 / 5 * 3), #fff calc(100% / 1.8 / 5 * 3), #fff 100%);
}
.flag--jordan {
  --green: #007a3d;
  --red: #ce1126;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--black) calc(100% / 3 * (1 - 1)), var(--black) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--jordan::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 2) solid var(--red);
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--jordan .star-7 {
  position: absolute;
  left: calc(25vw / 6.5);
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 14);
  height: calc(25vw / 14);
}
.flag--jordan .star-7 path {
  fill: var(--white);
}
.flag--kazakhstan {
  --blue: #00aec7;
  position: relative;
  height: calc(25vw / 2);
  background-color: var(--blue);
}
.flag--kazakhstan #kazakhstan_coat-1 {
  position: absolute;
  left: 3%;
  top: calc(25vw / 2 / 200 * 11);
  height: 89%;
}
.flag--kazakhstan #kazakhstan_coat-2 {
  position: absolute;
  left: 54.5%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 2000 * 629);
}
.flag--kenya {
  --green: #008c51;
  --red: #a23339;
  position: relative;
  background-image: linear-gradient(to bottom, var(--black) 0%, var(--black) calc(25vw / 3 * 2 / 20 * 6), var(--white) calc(25vw / 3 * 2 / 20 * 6), var(--white) calc(25vw / 3 * 2 / 20 * 7), var(--red) calc(25vw / 3 * 2 / 20 * 7), var(--red) calc(25vw / 3 * 2 / 20 * 13), var(--white) calc(25vw / 3 * 2 / 20 * 13), var(--white) calc(25vw / 3 * 2 / 20 * 14), var(--green) calc(25vw / 3 * 2 / 20 * 14), var(--green) calc(25vw / 3 * 2));
}
.flag--kenya #kenya_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: calc(25vw / 3 * 2 / 20 * 13);
}
.flag--kuwait {
  --green: #007a3d;
  --red: #ce1126;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--kuwait::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 3) solid transparent;
  border-bottom: calc(25vw / 2 / 3) solid transparent;
  border-left: calc(25vw / 4) solid var(--black);
  width: 0;
  height: calc(25vw / 2 / 3);
  content: "";
}
.flag--kyrgyzstan {
  --red: #e4002b;
  position: relative;
  height: calc(25vw / 5 * 3);
  background-color: var(--red);
}
.flag--kyrgyzstan #kyrgyzstan_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 5000 * 900 * 2);
}
.flag--laos {
  --blue: #002868;
  --red: #c00;
  background-image: radial-gradient(circle at center, var(--white) 0%, var(--white) 20%, transparent 20%, transparent 100%), linear-gradient(to bottom, var(--red) 0%, var(--red) 25%, var(--blue) 25%, var(--blue) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--latvia {
  --red: #9e1b34;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) 40%, var(--white) 40%, var(--white) 60%, var(--red) 60%, var(--red) 100%);
}
.flag--lebanon {
  --red: #f9423a;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) 25%, var(--white) 25%, var(--white) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--lebanon #lebanon_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 50%;
}
.flag--lesotho {
  --blue: #00209f;
  --green: #009543;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--lesotho #lesotho_coat {
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: calc(25vw / 3 * 2 / 3 * .95);
}
.flag--liberia {
  --red: #bf0a30;
  --blue: #002868;
  height: calc(25vw / 19 * 10);
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 11 * (1 - 1)), var(--red) calc(100% / 11 * 1), var(--white) calc(100% / 11 * (2 - 1)), var(--white) calc(100% / 11 * 2), var(--red) calc(100% / 11 * (3 - 1)), var(--red) calc(100% / 11 * 3), var(--white) calc(100% / 11 * (4 - 1)), var(--white) calc(100% / 11 * 4), var(--red) calc(100% / 11 * (5 - 1)), var(--red) calc(100% / 11 * 5), var(--white) calc(100% / 11 * (6 - 1)), var(--white) calc(100% / 11 * 6), var(--red) calc(100% / 11 * (7 - 1)), var(--red) calc(100% / 11 * 7), var(--white) calc(100% / 11 * (8 - 1)), var(--white) calc(100% / 11 * 8), var(--red) calc(100% / 11 * (9 - 1)), var(--red) calc(100% / 11 * 9), var(--white) calc(100% / 11 * (10 - 1)), var(--white) calc(100% / 11 * 10), var(--red) calc(100% / 11 * (11 - 1)), var(--red) calc(100% / 11 * 11));
}
.flag--liberia .canton {
  --cantonW: calc(25vw / 19 * 10 / 11 * 5);
  box-sizing: border-box;
  position: relative;
  top: 0;
  left: 0;
  width: var(--cantonW);
  height: var(--cantonW);
  background-color: var(--blue);
}
.flag--liberia .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--liberia .star__container {
  --width: calc(25vw / 19 * 10 / 11 * 5 / 2);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.flag--liechtenstein {
  --blue: #002b7f;
  --red: #ce1126;
  position: relative;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 2 * (1 - 1)), var(--blue) calc(100% / 2 * 1), var(--red) calc(100% / 2 * (2 - 1)), var(--red) calc(100% / 2 * 2));
}
.flag--lithuania {
  --green: #006a44;
  --red: #c1272d;
  --yellow: #fdb913;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--yellow) calc(100% / 3 * (1 - 1)), var(--yellow) calc(100% / 3 * 1), var(--green) calc(100% / 3 * (2 - 1)), var(--green) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--luxembourg {
  --blue: #00a2df;
  --red: #ee2436;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--lybia {
  --green: #239e46;
  --red: #e70013;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) 25%, var(--black) 25%, var(--black) 75%, var(--green) 75%, var(--green) 100%);
}
.flag--lybia::before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle closest-side at 51.5% 50%, var(--black) 0%, var(--black) calc(100% / 4.6), transparent calc(100% / 4.6), transparent 100%), radial-gradient(circle closest-side at 50% 50%, var(--white) 0%, var(--white) calc(100% / 4), transparent calc(100% / 8), transparent 100%);
  content: "";
}
.flag--lybia .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--lybia .star__container {
  --width: 25vw / 10;
  top: 50%;
  left: calc(25vw / 15 * 8.7);
  transform: translate(-50%, -50%) rotate(-21deg);
}
.flag--macedonia {
  --red: #d20000;
  --yellow: #ffe600;
  height: calc(25vw / 2);
  background-image: radial-gradient(circle, var(--yellow) 0%, var(--yellow) 14.28%, var(--red) 14.28%, var(--red) 17.85%, transparent 16%), conic-gradient(var(--yellow) 0%, var(--yellow) 4%, var(--red) 4%, var(--red) 15%, var(--yellow) 15%, var(--yellow) 17.8%, var(--red) 17.8%, var(--red) 23.35%, var(--yellow) 23.35%, var(--yellow) 26.65%, var(--red) 26.65%, var(--red) 32.8%, var(--yellow) 32.8%, var(--yellow) 35.6%, var(--red) 35.6%, var(--red) 46%, var(--yellow) 46%, var(--yellow) 54%, var(--red) 54%, var(--red) 64.8%, var(--yellow) 64.8%, var(--yellow) 67.65%, var(--red) 67.65%, var(--red) 73.35%, var(--yellow) 73.35%, var(--yellow) 76.65%, var(--red) 76.65%, var(--red) 82.25%, var(--yellow) 82.25%, var(--yellow) 85%, var(--red) 85%, var(--red) 96%, var(--yellow) 96%, var(--yellow) 100%);
}
.flag--madagascar {
  --green: #007e3a;
  --red: #fc3d32;
  background-image: conic-gradient(at 33.333% 50%, var(--green) 0%, var(--green) 25%, var(--red) 25%, var(--red) 50%, var(--white) 50%, var(--white) 100%);
}
.flag--malaysia {
  --red: #cc0001;
  --blue: #010066;
  --yellow: #fc0;
  height: calc(25vw / 2);
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 14 * (1 - 1)), var(--red) calc(100% / 14 * 1), var(--white) calc(100% / 14 * (2 - 1)), var(--white) calc(100% / 14 * 2), var(--red) calc(100% / 14 * (3 - 1)), var(--red) calc(100% / 14 * 3), var(--white) calc(100% / 14 * (4 - 1)), var(--white) calc(100% / 14 * 4), var(--red) calc(100% / 14 * (5 - 1)), var(--red) calc(100% / 14 * 5), var(--white) calc(100% / 14 * (6 - 1)), var(--white) calc(100% / 14 * 6), var(--red) calc(100% / 14 * (7 - 1)), var(--red) calc(100% / 14 * 7), var(--white) calc(100% / 14 * (8 - 1)), var(--white) calc(100% / 14 * 8), var(--red) calc(100% / 14 * (9 - 1)), var(--red) calc(100% / 14 * 9), var(--white) calc(100% / 14 * (10 - 1)), var(--white) calc(100% / 14 * 10), var(--red) calc(100% / 14 * (11 - 1)), var(--red) calc(100% / 14 * 11), var(--white) calc(100% / 14 * (12 - 1)), var(--white) calc(100% / 14 * 12), var(--red) calc(100% / 14 * (13 - 1)), var(--red) calc(100% / 14 * 13), var(--white) calc(100% / 14 * (14 - 1)), var(--white) calc(100% / 14 * 14));
}
.flag--malaysia .canton {
  --cantonW: calc(25vw / 2);
  box-sizing: border-box;
  position: relative;
  top: 0;
  left: 0;
  width: var(--cantonW);
  height: calc(25vw / 2 / 14 * 8);
  background-color: var(--blue);
  background-image: radial-gradient(circle at calc(25vw / 28 * 6.75), var(--blue) 0%, var(--blue) calc(25vw / 2 / 14 * 5.33 / 2), transparent calc(25vw / 2 / 14 * 5.33 / 2), transparent 100%), radial-gradient(circle at calc(25vw / 28 * 5.75), var(--yellow) 0%, var(--yellow) calc(25vw / 2 / 14 * 6 / 2), transparent calc(25vw / 2 / 14 * 6 / 2), transparent 100%);
}
.flag--malawi {
  --green: #009639;
  --red: #c8102e;
  position: relative;
  background-image: linear-gradient(to bottom, var(--black) calc(100% / 3 * (1 - 1)), var(--black) calc(100% / 3 * 1), var(--red) calc(100% / 3 * (2 - 1)), var(--red) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--malawi #malawi_coat {
  position: relative;
  left: 50%;
  top: calc(100% / 3 / 2);
  transform: translate(-50%, -50%);
  height: calc(25vw / 3 * 2 / 3 * .925);
}
.flag--maldives {
  --green: #007367;
  --red: #bf0d3e;
  position: relative;
  background-image: radial-gradient(circle farthest-side at calc(25vw / 24 * 14) 50%, var(--green) 0%, var(--green) calc(100% / 9 * 2), transparent calc(100% / 9 * 2), transparent 100%), radial-gradient(circle farthest-side at calc(25vw / 24 * 13) 50%, var(--white) 0%, var(--white) calc(100% / 9 * 2), transparent calc(100% / 9 * 2), transparent 100%), linear-gradient(to right, var(--red) 0%, var(--red) calc(25vw / 3 * 2 / 4), transparent calc(25vw / 3 * 2 / 4), transparent calc(25vw - (25vw / 3 * 2 / 4)), var(--red) calc(25vw - (25vw / 3 * 2 / 4)), var(--red) 100%), linear-gradient(to bottom, var(--red) 0%, var(--red) 25%, var(--green) 25%, var(--green) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--mali {
  --green: #14b53a;
  --red: #ce1126;
  --yellow: #fcd116;
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--malta {
  --red: #c8102e;
  position: relative;
  background-image: linear-gradient(to right, var(--white) calc(100% / 2 * (1 - 1)), var(--white) calc(100% / 2 * 1), var(--red) calc(100% / 2 * (2 - 1)), var(--red) calc(100% / 2 * 2));
}
.flag--malta #malta_coat {
  position: absolute;
  left: calc(25vw / 810 * 20);
  top: calc(25vw / 810 * 20);
  width: calc(100% / 81 * 15);
}
.flag--mauritania {
  --red: #d01c1f;
  --green: #00a95c;
  --yellow: #ffd700;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) 20%, var(--green) 20%, var(--green) 80%, var(--red) 80%, var(--red) 100%);
}
.flag--mauritania::before {
  display: block;
  position: relative;
  top: 20%;
  width: 100%;
  height: calc(25vw / 3 * 2 / 5 * 3);
  background-image: radial-gradient(circle farthest-side at 50% -5%, var(--green) 0%, var(--green) calc(25vw / 3.5), transparent calc(25vw / 3.5), transparent 100%), radial-gradient(circle farthest-side at 50% 20%, var(--yellow) 0%, var(--yellow) calc(25vw / 4), transparent calc(25vw / 4), transparent 100%);
  content: "";
}
.flag--mauritania .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--mauritania .star__container {
  --width: 25vw / 3 * 2 / 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -100%);
}
.flag--mauritius {
  --blue: #1a206d;
  --green: #00a551;
  --red: #ea2839;
  --yellow: #ffd500;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 4 * (1 - 1)), var(--red) calc(100% / 4 * 1), var(--blue) calc(100% / 4 * (2 - 1)), var(--blue) calc(100% / 4 * 2), var(--yellow) calc(100% / 4 * (3 - 1)), var(--yellow) calc(100% / 4 * 3), var(--green) calc(100% / 4 * (4 - 1)), var(--green) calc(100% / 4 * 4));
}
.flag--mexico {
  --green: #006847;
  --red: #ce1126;
  position: relative;
  height: calc(25vw / 3 * 2);
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--mexico #mexico_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 4);
}
.flag--moldova {
  --blue: #0046ae;
  --red: #cc092f;
  --yellow: #ffd200;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to right, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--moldova #moldova_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 56%;
  width: auto;
}
.flag--monaco {
  --red: #f00;
  height: calc(25vw / 5 * 4);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 2 * (1 - 1)), var(--red) calc(100% / 2 * 1), var(--white) calc(100% / 2 * (2 - 1)), var(--white) calc(100% / 2 * 2));
}
.flag--mongolia {
  --blue: #407ec9;
  --red: #ed2939;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to right, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--mongolia #mongolia_coat {
  position: absolute;
  left: calc(25vw / 3 / 2);
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(25vw / 60 * 11);
}
.flag--montenegro {
  --red: #f00;
  --gold: #d4af38;
  position: relative;
  width: calc(25vw / 40 * 38);
  height: calc(25vw / 40 * 38 / 2);
  border: calc(25vw / 40) solid var(--gold);
  background-color: var(--red);
}
.flag--montenegro #montenegro_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 72%;
}
.flag--morocco {
  --red: #d50032;
  --starColour: #00843d;
  position: relative;
  background-color: var(--red);
}
.flag--morocco .star__container .star__spikes {
  --starColour: #00843d;
}
.flag--morocco .star-1 {
  --width: calc(25vw / 3);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--mozambique {
  --green: #007367;
  --red: #c8102e;
  --yellow: #fedd00;
  position: relative;
  background-image: linear-gradient(to bottom, var(--green) 0%, var(--green) calc(100% / 32 * 10), var(--white) calc(100% / 32 * 10), var(--white) calc(100% / 32 * 11), var(--black) calc(100% / 32 * 11), var(--black) calc(100% / 32 * 21), var(--white) calc(100% / 32 * 21), var(--white) calc(100% / 32 * 22), var(--yellow) calc(100% / 32 * 22), var(--yellow) 100%);
}
.flag--mozambique::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 3) solid transparent;
  border-bottom: calc(25vw / 3) solid transparent;
  border-left: calc(25vw / 16 * 7) solid var(--red);
  width: calc(25vw / 16 * 9);
  height: 0;
  content: "";
}
.flag--mozambique #mozambique_coat {
  position: absolute;
  left: calc(25vw / 3 * 2 / 32 * 7);
  top: 50%;
  height: calc(25vw / 3 * 2 / 32 * 12);
  transform: translate(-50%, -50%);
}
.flag--myanmar {
  --green: #34b233;
  --red: #ea2839;
  --yellow: #fecb00;
  position: relative;
  background-image: linear-gradient(to bottom, var(--yellow) calc(100% / 3 * (1 - 1)), var(--yellow) calc(100% / 3 * 1), var(--green) calc(100% / 3 * (2 - 1)), var(--green) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--myanmar .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--myanmar .star-1 {
  --width: calc(25vw / 2);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--namibia {
  --blue: #003580;
  --green: #009543;
  --red: #d21034;
  position: relative;
  background-image: linear-gradient(145.5deg, var(--blue) 0%, var(--blue) calc(50% - (10 / 9 * 10 * 1%)), var(--white) calc(50% - (10 / 9 * 10 * 1%)), var(--white) calc(50% - (7.5 / 9 * 10 * 1%)), var(--red) calc(50% - (7.5 / 9 * 10 * 1%)), var(--red) calc(50% + (7.5 / 9 * 10 * 1%)), var(--white) calc(50% + (7.5 / 9 * 10 * 1%)), var(--white) calc(50% + (10 / 9 * 10 * 1%)), var(--green) calc(50% + (10 / 9 * 10 * 1%)), var(--green) 100%);
}
.flag--namibia #namibia_coat {
  position: absolute;
  left: calc(25vw / 5);
  top: calc(25vw / 3 * 2 / 4);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: calc(25vw / 9 * 2);
  height: calc(25vw / 9 * 2);
  background-color: #ffce00;
}
.flag--netherlands {
  --blue: #21468b;
  --red: #ae1c28;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--nicaragua {
  --blue: #0067c6;
  position: relative;
  height: calc(25vw / 335 * 189);
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--nicaragua #nicaragua_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 28%;
}
.flag--niger {
  --green: #0db02b;
  --orange: #e05206;
  position: relative;
  height: calc(25vw / 7 * 6);
  position: relative;
  background-image: linear-gradient(to bottom, var(--orange) calc(100% / 3 * (1 - 1)), var(--orange) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--niger::before {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: calc(25vw / 7 * 2 * .85);
  height: calc(25vw / 7 * 2 * .85);
  background-color: var(--orange);
  content: "";
}
.flag--nigeria {
  --green: #008753;
  height: calc(25vw / 2);
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--north-korea {
  --blue: #024fa2;
  --red: #ed1c27;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) calc(100% / 36 * 6), var(--white) calc(100% / 36 * 6), var(--white) calc(100% / 36 * 7), var(--red) calc(100% / 36 * 7), var(--red) calc(100% / 36 * 29), var(--white) calc(100% / 36 * 29), var(--white) calc(100% / 36 * 30), var(--blue) calc(100% / 36 * 30), var(--blue) 100%);
}
.flag--north-korea .star__container .star__spikes {
  --starColour: var(--red);
}
.flag--north-korea .star-1 {
  --width: calc(25vw / 9 * 2);
  top: 50%;
  left: calc(100% / 3);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: var(--width);
  height: calc(var(--width) / 2.4);
  background-color: var(--white);
}
.flag--norway {
  --blue: #3f4a75;
  --red: #f65058;
  height: calc(25vw / 11 * 8);
  background-color: var(--red);
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 22 * 7), var(--blue) calc(100% / 22 * 7), var(--blue) calc(100% / 22 * 9), transparent calc(100% / 22 * 9), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 16 * 7), var(--blue) calc(100% / 16 * 7), var(--blue) calc(100% / 16 * 9), transparent calc(100% / 16 * 9), transparent 100%), linear-gradient(to right, transparent 0%, transparent calc(100% / 22 * 6), #fff calc(100% / 22 * 6), #fff calc(100% / 22 * 10), transparent calc(100% / 22 * 10), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 16 * 6), #fff calc(100% / 16 * 6), #fff calc(100% / 16 * 10), transparent calc(100% / 16 * 10), transparent 100%);
}
.flag--oman {
  --green: #009a44;
  --red: #f9423a;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to right, var(--red) 0%, var(--red) calc(100% / 2 / 3 * 2), transparent calc(100% / 2 / 3 * 2), transparent 100%), linear-gradient(to bottom, var(--white) 0%, var(--white) calc(100% / 3), var(--red) calc(100% / 3), var(--red) calc(100% / 3 * 2), var(--green) calc(100% / 3 * 2), var(--green) 100%);
}
.flag--oman #oman_coat {
  position: absolute;
  left: calc(25vw / 2 / 3);
  top: calc(25vw / 2 / 30);
  transform: translateX(-50%);
  width: calc(25vw / 2 / 3);
}
.flag--pakistan {
  --green: #060;
  position: relative;
  background-image: radial-gradient(circle at calc(50% + (25% / 2) + 10%) calc(50% - 12%), var(--green) 0%, var(--green) calc(100% / 2.4 / 10 * 6), transparent calc(100% / 2.4 / 10 * 6), transparent 100%), radial-gradient(circle at calc(50% + (25% / 2)), #fff 0%, #fff calc(100% / 2.14 / 10 * 6), transparent calc(100% / 2.15 / 10 * 6), transparent 100%), linear-gradient(to right, #fff 0%, #fff 25%, var(--green) 25%, var(--green) 100%);
}
.flag--pakistan .star__container {
  --width: 30px;
  top: calc(100% / 4);
  left: calc((100% / 4) + (100% / 4 * 1.65));
  transform: rotate(45deg);
}
.flag--palau {
  --blue: #418fde;
  --yellow: #f7ea48;
  height: calc(25vw / 8 * 5);
  background-image: radial-gradient(circle closest-side at calc(100% / 16 * 7) 50%, var(--yellow) 0%, var(--yellow) calc(100% / 10 * 6), var(--blue) calc(100% / 10 * 6), var(--blue) 100%);
}
.flag--palestine {
  --green: #007a3d;
  --red: #ce1126;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--black) calc(100% / 3 * (1 - 1)), var(--black) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--green) calc(100% / 3 * (3 - 1)), var(--green) calc(100% / 3 * 3));
}
.flag--palestine::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 3) solid var(--red);
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--panama {
  --red: #d21034;
  --blue: #005293;
  position: relative;
  background-image: conic-gradient(at center, var(--red) 0%, var(--red) 90deg, #fff 90deg, #fff 50%, var(--blue) 50%, var(--blue) 75%, #fff 75%, #fff 100%);
}
.flag--panama .star__container {
  --width: calc(25vw / 6);
  transform: translate(-50%, -50%);
}
.flag--panama .star-1 {
  top: 25%;
  left: 25%;
}
.flag--panama .star-1 .star__spikes {
  --starColour: var(--blue);
}
.flag--panama .star-2 {
  top: 75%;
  left: 75%;
}
.flag--panama .star-2 .star__spikes {
  --starColour: var(--red);
}
.flag--papua-new-guinea {
  --red: #c8102e;
  position: relative;
  height: calc(25vw / 4 * 3);
  background-image: linear-gradient(36.6deg, var(--black) 0%, var(--black) 50%, var(--red) 50%, var(--red) 100%);
}
.flag--papua-new-guinea #papua-new-guinea_coat {
  position: absolute;
  left: calc(25vw / 192 * 128);
  top: calc(100% / 144 * 46);
  transform: translate(-50%, -50%);
  width: calc(25vw / 192 * 64);
}
.flag--papua-new-guinea .star__spikes {
  --starColour: var(--white);
}
.flag--papua-new-guinea .star__container {
  --width: calc(25vw / 192 * 18);
  transform: translate(-50%, -50%);
}
.flag--papua-new-guinea .star-1 {
  top: calc(100% / 144 * 54);
  left: calc(100% / 192 * 48);
}
.flag--papua-new-guinea .star-2 {
  top: calc(100% / 144 * 80);
  left: calc(100% / 192 * 69);
}
.flag--papua-new-guinea .star-3 {
  top: calc(100% / 144 * 120);
  left: calc(100% / 192 * 48);
}
.flag--papua-new-guinea .star-4 {
  top: calc(100% / 144 * 82);
  left: calc(100% / 192 * 26);
}
.flag--papua-new-guinea .star-5 {
  --width: calc(25vw / 192 * 10);
  top: calc(100% / 144 * 100);
  left: calc(100% / 192 * 57);
}
.flag--paraguay {
  --blue: #0038a8;
  --red: #d52b1e;
  position: relative;
  height: calc(25vw / 335 * 189);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--paraguay #paraguay_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 28%;
}
.flag--peru {
  --red: #d91023;
  background-image: linear-gradient(to right, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--philippines {
  --blue: #0038a8;
  --yellow: #fdc116;
  --red: #ce1126;
  position: relative;
  border-top: calc(25vw / 2 / 2) solid var(--blue);
  border-bottom: calc(25vw / 2 / 2) solid var(--red);
  border-left: calc(1.732 / 2 * (25vw / 2)) solid #fff;
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
}
.flag--philippines:hover:after {
  position: absolute;
  left: calc(-1.732 / 2 * (25vw / 2));
  top: calc(25vw / -4);
}
.flag--philippines .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--philippines .star-1,
.flag--philippines .star-2,
.flag--philippines .star-3 {
  --width: calc(25vw / 18);
  width: var(--width);
}
.flag--philippines .star-1 {
  top: calc(25vw / -4 + var(--width) / 2);
  left: calc(-1.732 / 2 * (25vw / 2));
  transform: rotate(-30deg);
}
.flag--philippines .star-2 {
  top: 50%;
  left: calc(var(--width) * -2);
  transform: translateY(-50%) rotate(90deg);
}
.flag--philippines .star-3 {
  top: calc(25vw / 4 - var(--width) * 1.5);
  left: calc(-1.732 / 2 * (25vw / 2));
  transform: rotate(30deg);
}
.flag--philippines #philippines_coat {
  position: absolute;
  top: 0;
  left: calc(-1.732 / 2 * (25vw / 2) + (25vw / 20));
  transform: translate(0, -50%);
  width: calc(25vw / 180 * 38);
}
.flag--poland {
  --red: #f00;
  height: calc(25vw / 8 * 5);
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 2 * (1 - 1)), var(--white) calc(100% / 2 * 1), var(--red) calc(100% / 2 * (2 - 1)), var(--red) calc(100% / 2 * 2));
}
.flag--portugal {
  --green: #060;
  --red: #f00;
  position: relative;
  background-image: linear-gradient(to right, var(--green) 0%, var(--green) 40%, var(--red) 40%, var(--red) 100%);
}
.flag--portugal #portugal_coat {
  position: absolute;
  left: calc(100% / 5 * 2);
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% / 5 / 26 * 46);
}
.flag--puerto-rico {
  --blue: #0050f0;
  --red: #ed0000;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 5 * (1 - 1)), var(--red) calc(100% / 5 * 1), var(--white) calc(100% / 5 * (2 - 1)), var(--white) calc(100% / 5 * 2), var(--red) calc(100% / 5 * (3 - 1)), var(--red) calc(100% / 5 * 3), var(--white) calc(100% / 5 * (4 - 1)), var(--white) calc(100% / 5 * 4), var(--red) calc(100% / 5 * (5 - 1)), var(--red) calc(100% / 5 * 5));
}
.flag--puerto-rico::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 3) solid transparent;
  border-bottom: calc(25vw / 3) solid transparent;
  border-left: calc(25vw / 2) solid var(--blue);
  width: calc(25vw / 2);
  height: 0;
  content: "";
}
.flag--puerto-rico .star__container .star__spikes {
  --starColour: #fff;
}
.flag--puerto-rico .star-1 {
  --width: calc(25vw / 2 / 5 * 2);
  top: calc(50%);
  left: calc(25vw / 4);
  transform: translate(-85%, -50%);
  width: var(--width);
}
.flag--qatar {
  --maroon: #8a1538;
  position: relative;
  height: calc(25vw / 28 * 11);
  background-image: linear-gradient(to right, var(--white) 0%, var(--white) calc(25vw / 7 * 2), var(--maroon) calc(25vw / 7 * 2), var(--maroon) 100%);
}
.flag--qatar .triangle {
  position: absolute;
  left: calc(25vw / 7 * 2);
  border-top: calc(25vw / 28 * 11 / 18) solid transparent;
  border-bottom: calc(25vw / 28 * 11 / 18) solid transparent;
  border-left: calc(25vw / 14) solid var(--white);
}
.flag--qatar .triangle--1 {
  top: 0;
}
.flag--qatar .triangle--2 {
  top: calc(25vw / 28 * 11 / 9);
}
.flag--qatar .triangle--3 {
  top: calc(25vw / 28 * 11 / 9 * 2);
}
.flag--qatar .triangle--4 {
  top: calc(25vw / 28 * 11 / 9 * 3);
}
.flag--qatar .triangle--5 {
  top: calc(25vw / 28 * 11 / 9 * 4);
}
.flag--qatar .triangle--6 {
  top: calc(25vw / 28 * 11 / 9 * 5);
}
.flag--qatar .triangle--7 {
  top: calc(25vw / 28 * 11 / 9 * 6);
}
.flag--qatar .triangle--8 {
  top: calc(25vw / 28 * 11 / 9 * 7);
}
.flag--qatar .triangle--9 {
  top: calc(25vw / 28 * 11 / 9 * 8);
}
.flag--romania {
  --blue: #002b7f;
  --red: #ce1126;
  --yellow: #fdc116;
  background-image: linear-gradient(to right, var(--blue) calc(100% / 3 * (1 - 1)), var(--blue) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--russia {
  --blue: #0039a6;
  --red: #d52b1e;
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 3 * (1 - 1)), var(--white) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--rwanda {
  --blue: #0077c8;
  --green: #007749;
  --yellow: #ffd100;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) 50%, var(--yellow) 50%, var(--yellow) 75%, var(--green) 75%, var(--green) 100%);
}
.flag--rwanda #rwanda_coat {
  position: absolute;
  right: calc(25vw / 39 * 7);
  top: calc(25vw / 3 * 2 / 260 * 64);
  width: calc(25vw / 39 * 6);
  transform: translate(50%, -50%);
}
.flag--st-kitts-nevis {
  --green: #009e49;
  --red: #ce1126;
  --yellow: #fcd116;
  position: relative;
  background-image: linear-gradient(-33deg, var(--red) 0%, var(--red) 36.666%, var(--yellow) 36.666%, var(--yellow) 40%, var(--black) 40%, var(--black) 60%, var(--yellow) 60%, var(--yellow) 63.333%, var(--green) 63.333%, var(--green) 100%);
}
.flag--st-kitts-nevis .star__container .star__spikes {
  --starColour: #fff;
}
.flag--st-kitts-nevis .star-1 {
  --width: calc(25vw / 2 / 5 * 2);
  top: 70%;
  left: 22%;
  transform: translate(0%, -50%) rotate(184deg);
  width: var(--width);
}
.flag--st-kitts-nevis .star-2 {
  --width: calc(25vw / 2 / 5 * 2);
  top: 36%;
  left: 78%;
  transform: translate(-100%, -50%) rotate(184deg);
  width: var(--width);
}
.flag--st-lucia {
  --blue: #9bcbeb;
  --yellow: #fcd116;
  position: relative;
  height: calc(25vw / 2);
  background-color: var(--blue);
}
.flag--st-lucia .canton {
  position: absolute;
  left: 50%;
  top: 10%;
  transform: translateX(-50%);
  border-right: calc(25vw / 100 * 18) solid transparent;
  border-bottom: calc(25vw / 2 / 4 * 3) solid var(--white);
  border-left: calc(25vw / 100 * 18) solid transparent;
}
.flag--st-lucia .canton::before {
  position: absolute;
  left: 50%;
  top: calc(25vw / 20);
  z-index: 1;
  transform: translateX(-50%);
  border-right: calc(25vw / 100 * 15) solid transparent;
  border-bottom: calc(25vw / 2 / 4 * 3 * .865) solid var(--black);
  border-left: calc(25vw / 100 * 15) solid transparent;
  content: "";
}
.flag--st-lucia .canton::after {
  position: absolute;
  left: 50%;
  top: calc(25vw / 2 / 4 * 3 / 2);
  z-index: 1;
  transform: translateX(-50%);
  border-right: calc(25vw / 100 * 18) solid transparent;
  border-bottom: calc(25vw / 2 / 4 * 3 / 2) solid var(--yellow);
  border-left: calc(25vw / 100 * 18) solid transparent;
  content: "";
}
.flag--st-vincent-grenadines {
  --blue: #0072c6;
  --green: #009e60;
  --yellow: #fcd116;
  position: relative;
  background-image: linear-gradient(to right, var(--blue) 0%, var(--blue) 25%, var(--yellow) 25%, var(--yellow) 75%, var(--green) 75%, var(--green) 100%);
}
.flag--st-vincent-grenadines .canton {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%);
  width: calc(25vw / 4);
  height: calc(25vw / 8);
}
.flag--st-vincent-grenadines .canton .diamond:nth-child(1) {
  top: 0;
  left: 0;
}
.flag--st-vincent-grenadines .canton .diamond:nth-child(2) {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.flag--st-vincent-grenadines .canton .diamond:nth-child(3) {
  top: 0;
  right: 0;
}
.flag--st-vincent-grenadines .diamond {
  position: absolute;
  border-top: calc(25vw / 8 / 8 * 7) solid var(--green);
  border-right: calc(25vw / 4 / 9 * 2) solid transparent;
  border-left: calc(25vw / 4 / 9 * 2) solid transparent;
}
.flag--st-vincent-grenadines .diamond::before {
  display: block;
  position: absolute;
  top: calc(25vw / 8 / 8 * -7 * 2);
  left: calc(25vw / 4 / 9 * -2);
  border-right: calc(25vw / 4 / 9 * 2) solid transparent;
  border-bottom: calc(25vw / 8 / 8 * 7) solid var(--green);
  border-left: calc(25vw / 4 / 9 * 2) solid transparent;
  content: "";
}
.flag--san-marino {
  --blue: #62b5e5;
  position: relative;
  height: calc(25vw / 4 * 3);
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 2 * (1 - 1)), var(--white) calc(100% / 2 * 1), var(--blue) calc(100% / 2 * (2 - 1)), var(--blue) calc(100% / 2 * 2));
}
.flag--san-marino #san-marino_coat {
  position: absolute;
  left: 50%;
  top: 47.5%;
  transform: translate(-50%, -50%);
  width: calc(100% / 3);
}
.flag--saudi-arabia {
  --green: #009a44;
  position: relative;
  background-color: var(--green);
}
.flag--saudi-arabia #saudi-arabia_coat {
  position: absolute;
  left: 50%;
  top: 25%;
  transform: translateX(-50%);
  width: calc(25vw / 2);
}
.flag--scotland {
  --blue: #005eb8;
  height: calc(25vw / 5 * 3);
  background-color: var(--blue);
  background-image: linear-gradient(to top right, transparent 0%, transparent calc(100% / 26 * 11.5), #fff calc(100% / 26 * 11.5), #fff calc(100% / 26 * 14.5), transparent calc(100%/ 26 * 14.5), transparent 100%), linear-gradient(to bottom right, transparent 0%, transparent calc(100% / 26 * 11.5), #fff calc(100% / 26 * 11.5), #fff calc(100% / 26 * 14.5), transparent calc(100%/ 26 * 14.5), transparent 100%);
}
.flag--senegal {
  --green: #00853f;
  --red: #e31b23;
  --yellow: #fdef42;
  position: relative;
  background-image: linear-gradient(to right, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--yellow) calc(100% / 3 * (2 - 1)), var(--yellow) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--senegal .star__container .star__spikes {
  --starColour: var(--green);
}
.flag--senegal .star-1 {
  --width: calc(25vw / 5);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--serbia {
  --blue: #0c4076;
  --red: #c6363c;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--white) calc(100% / 3 * (3 - 1)), var(--white) calc(100% / 3 * 3));
}
.flag--serbia #serbia_coat {
  position: absolute;
  left: calc(100% / 2 - (100% / 7));
  top: 46%;
  transform: translate(-50%, -50%);
  width: 25%;
}
.flag--seychelles {
  --blue: #002f6c;
  --green: #007a33;
  --red: #d22630;
  --yellow: #fed141;
  height: calc(25vw / 2);
  background-image: conic-gradient(at 0% 100%, var(--blue) 0%, var(--blue) 7.5%, var(--yellow) 7.5%, var(--yellow) 15%, var(--red) 15%, var(--red) 20%, var(--white) 20%, var(--white) 22.5%, var(--green) 22.5%, var(--green) 25%);
}
.flag--sierra-leone {
  --blue: #0072c6;
  --green: #1eb53a;
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--blue) calc(100% / 3 * (3 - 1)), var(--blue) calc(100% / 3 * 3));
}
.flag--singapore {
  --red: #f00;
  position: relative;
  background-image: radial-gradient(circle at calc(25vw / 54 * 15) 25%, var(--red) 0%, var(--red) calc(100% / 216 * 59 / 2), transparent calc(100% / 216 * 59 / 2), transparent 100%), radial-gradient(circle at calc(25vw / 432 * 91) 25%, var(--white) 0%, var(--white) calc(100% / 216 * 53 / 2), transparent calc(100% / 216 * 53 / 2), transparent 100%), linear-gradient(to bottom, var(--red) 0%, var(--red) 50%, var(--white) 50%, var(--white) 100%);
}
.flag--singapore .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--singapore .star-1,
.flag--singapore .star-2,
.flag--singapore .star-3,
.flag--singapore .star-4,
.flag--singapore .star-5 {
  --width: calc(25vw / 135 * 8);
  width: var(--width);
}
.flag--singapore .star-1 {
  top: calc(25vw / 3 * 2 / 90 * 13);
  left: calc(25vw / 54 * 15);
  transform: translate(-50%, -50%);
}
.flag--singapore .star-2 {
  top: calc(25vw / 3 * 2 / 90 * 13);
  left: calc(25vw / 135 * 47);
  transform: translate(-50%, 50%);
}
.flag--singapore .star-3 {
  top: calc(25vw / 3 * 2 / 45 * 16);
  left: calc(25vw / 135 * 47);
  transform: translate(-100%, -60%);
}
.flag--singapore .star-4 {
  top: calc(25vw / 3 * 2 / 45 * 16);
  left: calc(25vw / 432 * 91);
  transform: translate(0, -60%);
}
.flag--singapore .star-5 {
  top: calc(25vw / 3 * 2 / 90 * 13);
  left: calc(25vw / 432 * 91);
  transform: translate(-50%, 50%);
}
.flag--slovakia {
  --blue: #0b4ea2;
  --red: #ee1c25;
  position: relative;
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 3 * (1 - 1)), var(--white) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--slovakia #slovakia_coat {
  position: absolute;
  border: 4px solid #fff;
  border-bottom-right-radius: 60% 75%;
  border-bottom-left-radius: 60% 75%;
  left: calc(100% / 2);
  top: 50%;
  transform: translate(-100%, -50%);
  height: calc(100% / 5 * 2.4);
  background-color: #fff;
}
.flag--slovenia {
  --blue: #005da4;
  --red: #ed1c24;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 3 * (1 - 1)), var(--white) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--slovenia #slovenia_coat {
  position: absolute;
  left: calc(100% / 4);
  top: 50%;
  transform: translate(-50%, -100%);
  height: calc(100% / 3);
}
.flag--somalia {
  --blue: #4189dd;
  --starColour: #fff;
  position: relative;
  height: calc(25vw / 202 * 135);
  background-color: var(--blue);
}
.flag--somalia .star__container .star__spikes {
  --starColour: #fff;
}
.flag--somalia .star-1 {
  --width: calc(25vw / 202 * 135 * 13 / 27);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--south-africa {
  --blue: #001489;
  --green: #007749;
  --red: #e03c31;
  --yellow: #ffb81c;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) calc(100% / 15 * 5), var(--white) calc(100% / 15 * 5), var(--white) calc(100% / 15 * 6), var(--green) calc(100% / 15 * 6), var(--green) calc(100% / 15 * 9), var(--white) calc(100% / 15 * 9), var(--white) calc(100% / 15 * 10), var(--blue) calc(100% / 15 * 10), var(--blue) 100%);
}
.flag--south-africa::before {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 52%;
  height: 50%;
  background-image: linear-gradient(32.5deg, var(--black) 0%, var(--black) 31%, var(--yellow) 31%, var(--yellow) 38%, var(--green) 38%, var(--green) 60%, var(--white) 60%, var(--white) 67%, var(--red) 67%, var(--red) 100%);
  content: "";
}
.flag--south-africa::after {
  position: absolute;
  display: block;
  top: auto;
  left: 0;
  bottom: 0;
  margin: 0;
  width: 52%;
  height: 50%;
  background-image: linear-gradient(147deg, var(--black) 0%, var(--black) 31%, var(--yellow) 31%, var(--yellow) 38%, var(--green) 38%, var(--green) 60%, var(--white) 60%, var(--white) 67%, var(--blue) 67%, var(--blue) 100%);
  content: "";
}
.flag--south-korea {
  --blue: #002f6c;
  --red: #c8102e;
  position: relative;
}
.flag--south-korea .yin-yang {
  --colour-1: var(--red);
  --colour-2: var(--blue);
  --width: calc(25vw / 3 / 2);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(35deg);
  border-width: 0 0 var(--width) 0;
}
.flag--south-korea .yin-yang::before {
  background-color: var(--colour-2);
}
.flag--south-korea .yin-yang::after {
  background-color: var(--colour-1);
}
.flag--south-korea .trigram {
  position: absolute;
  transform-origin: center center;
  width: calc(25vw / 144 * 24);
  height: calc(25vw / 144 * 16);
  background-image: linear-gradient(to bottom, var(--black) 0%, var(--black) calc(100% / 16 * 4), var(--white) calc(100% / 16 * 4), var(--white) calc(100% / 16 * 6), var(--black) calc(100% / 16 * 6), var(--black) calc(100% / 16 * 10), var(--white) calc(100% / 16 * 10), var(--white) calc(100% / 16 * 12), var(--black) calc(100% / 16 * 12), var(--black) 100%);
}
.flag--south-korea .trigram--1 {
  left: 25%;
  top: 25%;
  transform: translate(-50%, -50%) rotate(-55deg);
}
.flag--south-korea .trigram--2 {
  left: 75%;
  top: 25%;
  transform: translate(-50%, -50%) rotate(-125deg);
}
.flag--south-korea .trigram--2::before, .flag--south-korea .trigram--2::after {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: calc(100% / 12);
  height: calc(100% / 16 * 5);
  background-color: var(--white);
  content: "";
}
.flag--south-korea .trigram--2::after {
  top: 0;
  bottom: auto;
}
.flag--south-korea .trigram--3 {
  left: 75%;
  top: 75%;
  transform: translate(-50%, -50%) rotate(-55deg);
}
.flag--south-korea .trigram--3::before {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: calc(100% / 12);
  height: 100%;
  background-color: var(--white);
  content: "";
}
.flag--south-korea .trigram--4 {
  left: 25%;
  top: 75%;
  transform: translate(-50%, -50%) rotate(-125deg);
}
.flag--south-korea .trigram--4::before {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% / 12);
  height: calc(100% / 16 * 5);
  background-color: var(--white);
  content: "";
}
.flag--south-sudan {
  --blue: #0f47af;
  --green: #078930;
  --red: #da121a;
  --yellow: #fcdd09;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--black) 0%, var(--black) 30%, var(--white) 30%, var(--white) 35%, var(--red) 35%, var(--red) 65%, var(--white) 65%, var(--white) 70%, var(--green) 70%, var(--green) 100%);
}
.flag--south-sudan::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(1.732 / 2 * (25vw / 2)) solid var(--blue);
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--south-sudan .star__container .star__spikes {
  --starColour: var(--yellow);
}
.flag--south-sudan .star-1 {
  --width: calc(25vw / 2 / 20 * 6);
  top: calc(50%);
  left: calc(1.732 / 2 * (25vw / 2) / 2 - var(--width));
  transform: translateY(-50%) rotate(-20deg);
  width: var(--width);
}
.flag--spain {
  --red: #aa151b;
  --yellow: #f1bf00;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) 25%, var(--yellow) 25%, var(--yellow) 75%, var(--red) 75%, var(--red) 100%);
}
.flag--spain #spain_coat {
  position: absolute;
  left: calc(100% / 3);
  top: 50%;
  transform: translate(-50%, -50%);
  height: calc(100% / 5 * 2);
}
.flag--sri-lanka {
  --green: #007a33;
  --orange: #ff8200;
  --red: #9b2743;
  --yellow: #ffcd00;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--yellow) 0%, var(--yellow) calc(25vw / 2 / 75 * 7), transparent calc(25vw / 2 / 75 * 7), transparent calc(25vw / 2 / 75 * 68), var(--yellow) calc(25vw / 2 / 75 * 68), var(--yellow) 100%), linear-gradient(to right, var(--yellow) 0%, var(--yellow) calc(25vw / 150 * 7), var(--green) calc(25vw / 150 * 7), var(--green) calc(25vw / 150 * 26.5), var(--orange) calc(25vw / 150 * 26.5), var(--orange) calc(25vw / 150 * 46), var(--yellow) calc(25vw / 150 * 46), var(--yellow) calc(25vw / 150 * 53), var(--red) calc(25vw / 150 * 53), var(--red) calc(25vw / 150 * 143), var(--yellow) calc(25vw / 150 * 143), var(--yellow) 100%);
}
.flag--sri-lanka #sri-lanka_coat {
  position: relative;
  top: 50%;
  left: calc(25vw / 150 * 98);
  transform: translate(-50%, -50%);
  width: calc(25vw / 15 * 8.4);
}
.flag--sudan {
  --green: #007229;
  --red: #d21034;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--black) calc(100% / 3 * (3 - 1)), var(--black) calc(100% / 3 * 3));
}
.flag--sudan::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 3) solid var(--green);
  width: calc(25vw - 1.732 / 2 * (25vw / 2));
  height: 0;
  content: "";
}
.flag--suriname {
  --green: #377e3f;
  --red: #b40a2d;
  --starColour: #ecc81d;
  position: relative;
  background-image: linear-gradient(to bottom, var(--green) 0%, var(--green) 20%, var(--white) 20%, var(--white) 30%, var(--red) 30%, var(--red) 70%, var(--white) 70%, var(--white) 80%, var(--green) 80%, var(--green) 100%);
}
.flag--suriname .star__container .star__spikes {
  --starColour: #ecc81d;
}
.flag--suriname .star-1 {
  --width: calc(25vw / 3.75);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--swaziland {
  --blue: #00afd7;
  --red: #d50032;
  --yellow: #fce300;
  position: relative;
  background-image: linear-gradient(to bottom, var(--blue) 0%, var(--blue) calc(100% / 8 * 1.5), var(--yellow) calc(100% / 8 * 1.5), var(--yellow) calc(100% / 4), var(--red) calc(100% / 4), var(--red) calc(100% / 4 * 3), var(--yellow) calc(100% / 4 * 3), var(--yellow) calc(100% / 8 * 6.5), var(--blue) calc(100% / 8 * 6.5), var(--blue) 100%);
}
.flag--swaziland #swaziland_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 45%;
  transform: translate(-50%, -50%);
}
.flag--sweden {
  --blue: #006aa7;
  --yellow: #fecc00;
  height: calc(25vw / 8 * 5);
  background-color: var(--blue);
  background-image: linear-gradient(to right, transparent 0%, transparent calc(100% / 17 * 5), var(--yellow) calc(100% / 17 * 5), var(--yellow) calc(100% / 17 * 7), transparent calc(100% / 17 * 7), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent 40%, var(--yellow) 40%, var(--yellow) 60%, transparent 60%, transparent 100%);
}
.flag--switzerland {
  --red: #da291c;
  height: 25vw;
  background-color: var(--red);
  background-image: linear-gradient(to right, var(--red) 0%, var(--red) calc(100% / 32 * 6), transparent calc(100% / 32 * 6), transparent calc(100% / 32 * 26), var(--red) calc(100% / 32 * 26), var(--red) 100%), linear-gradient(to bottom, var(--red) 0%, var(--red) calc(100% / 32 * 6), transparent calc(100% / 32 * 6), transparent calc(100% / 32 * 26), var(--red) calc(100% / 32 * 26), var(--red) 100%), linear-gradient(to right, transparent 0%, transparent calc(100% / 32 * 13), #fff calc(100% / 32 * 13), #fff calc(100% / 32 * 19), transparent calc(100% / 32 * 19), transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100% / 32 * 13), #fff calc(100% / 32 * 13), #fff calc(100% / 32 * 19), transparent calc(100% / 32 * 19), transparent 100%);
}
.flag--syria {
  --green: #007a3d;
  --red: #ce1126;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--black) calc(100% / 3 * (3 - 1)), var(--black) calc(100% / 3 * 3));
}
.flag--syria .star__container .star__spikes {
  --starColour: var(--green);
}
.flag--syria .star-1,
.flag--syria .star-2 {
  --width: calc(25vw / 3 * 2 / 4);
  top: 50%;
  left: 30%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--syria .star-2 {
  left: 70%;
}
.flag--taiwan {
  --blue: #000095;
  --red: #fe0000;
  position: relative;
  background-color: var(--red);
}
.flag--taiwan::before {
  display: block;
  position: relative;
  background-color: var(--blue);
  content: "";
}
.flag--taiwan #taiwan_coat {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(25vw / 2);
  height: calc(25vw / 3);
  background-color: var(--blue);
  text-align: center;
}
.flag--taiwan #taiwan_coat img {
  max-height: 100%;
}
.flag--tajikistan {
  --green: #78be20;
  --red: #e40046;
  position: relative;
  height: calc(25vw / 2);
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) calc(100% / 7 * 2), var(--white) calc(100% / 7 * 2), var(--white) calc(100% / 7 * 5), var(--green) calc(100% / 7 * 5), var(--green) 100%);
}
.flag--tajikistan #tajikistan_coat {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(25vw / 2 / 14 * 6);
  transform: translate(-50%, -50%);
}
.flag--tanzania {
  --blue: #00a3dd;
  --green: #1eb53a;
  --yellow: #fcd116;
  background-image: linear-gradient(147.5deg, var(--green) 0%, var(--green) 40.5%, var(--yellow) 40.5%, var(--yellow) 43.5%, var(--black) 43.5%, var(--black) 56.5%, var(--yellow) 56.5%, var(--yellow) 59.5%, var(--blue) 59.5%, var(--blue) 100%);
}
.flag--thailand {
  --red: #ef3340;
  --blue: #00205b;
  background-image: linear-gradient(to bottom, var(--red) 0%, var(--red) 16.66%, var(--white) 16.66%, var(--white) 33.33%, var(--blue) 33.33%, var(--blue) 66.66%, var(--white) 66.66%, var(--white) 83.33%, var(--red) 83.33%, var(--red) 100%);
}
.flag--togo {
  --green: #006a4e;
  --red: #d21034;
  --yellow: #ffce00;
  height: calc(25vw / 1.618);
  position: relative;
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 5 * (1 - 1)), var(--green) calc(100% / 5 * 1), var(--yellow) calc(100% / 5 * (2 - 1)), var(--yellow) calc(100% / 5 * 2), var(--green) calc(100% / 5 * (3 - 1)), var(--green) calc(100% / 5 * 3), var(--yellow) calc(100% / 5 * (4 - 1)), var(--yellow) calc(100% / 5 * 4), var(--green) calc(100% / 5 * (5 - 1)), var(--green) calc(100% / 5 * 5));
}
.flag--togo .canton {
  --cantonW: calc(25vw / 1.618 / 5 * 3);
  box-sizing: border-box;
  position: relative;
  top: 0;
  left: 0;
  width: var(--cantonW);
  height: var(--cantonW);
  background-color: var(--red);
}
.flag--togo .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--togo .star__container {
  --width: calc(25vw / 1.618 / 5 * 3 / 5 * 3);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.flag--trinidad-tobago {
  --red: #e30a17;
  --start: 41.5%;
  height: calc(25vw / 5 * 3);
  background-color: var(--red);
  background-image: linear-gradient(40.7deg, transparent 0%, transparent var(--start), var(--white) var(--start), var(--white) calc(var(--start) + 25vw / 30), var(--black) calc(var(--start) + 25vw / 30), var(--black) calc(var(--start) + 25vw / 35 + 25vw / 15 * 2), var(--white) calc(var(--start) + 25vw / 35 + 25vw / 15 * 2), var(--white) calc(var(--start) + 25vw / 35 + 25vw / 15 * 2 + 25vw / 30), transparent calc(var(--start) + 25vw / 35 + 25vw / 15 * 2 + 25vw / 30), transparent 100%);
}
.flag--tunisia {
  --red: #e70013;
  position: relative;
  background-color: var(--red);
  background-image: radial-gradient(circle closest-side at calc(25vw / 15 * 8) 50%, var(--white) 0%, var(--white) calc(100% / 10 * 3), transparent calc(100% / 10 * 3), transparent 100%), radial-gradient(circle closest-side at 50% 50%, var(--red) 0%, var(--red) calc(100% / 8 * 3), var(--white) calc(100% / 8 * 3), var(--white) calc(100% / 8 * 4), transparent calc(100% / 8 * 4), transparent 100%);
}
.flag--tunisia .star__container .star__spikes {
  --starColour: var(--red);
}
.flag--tunisia .star__container {
  --width: 25vw / 3 * 2 / 80 * 18;
  top: 50%;
  left: calc(25vw / 15 * 8);
  transform: translate(-50%, -50%) rotate(-21deg);
}
.flag--turkey {
  --red: #e30a17;
  position: relative;
  background-color: transparent;
  background-image: radial-gradient(circle at calc(25vw / 3 + (25vw / 3 * 2 / 30) + (25vw / 3 * 2 / 16)), var(--red) 0%, var(--red) calc(25vw / 3 * .4), transparent calc(25vw / 3 * .4), transparent 100%), radial-gradient(circle at calc(25vw / 3 + (25vw / 3 * 2 / 30)), #fff 0%, #fff calc(25vw / 3 / 2), transparent calc(25vw / 3 / 2), transparent 100%), linear-gradient(to right, #fff 0%, #fff calc(25vw / 3 * 2 / 30), var(--red) calc(25vw / 3 * 2 / 30), var(--red) 100%);
}
.flag--turkey .star__container {
  --width: 25vw / 3 * 2 / 4;
  top: 50%;
  left: calc(25vw / 3 + (25vw / 3 * 2 / 30) + (25vw / 3 * 2 / 16));
  transform: translate(55%, -50%) rotate(-21deg);
}
.flag--turkmenistan {
  --green: #006747;
  --red: #a6192e;
  position: relative;
  background-image: radial-gradient(circle at calc(100% / 1500 * 695) calc(100% / 1000 * 206), var(--green) 0%, var(--green) calc(100% / 1500 * 124), transparent calc(100% / 1500 * 124), transparent 100%), radial-gradient(circle at calc(100% / 1500 * 726) calc(100% / 1000 * 225), var(--white) 0%, var(--white) calc(100% / 1500 * 124), var(--green) calc(100% / 1500 * 124), var(--green) 100%);
}
.flag--turkmenistan #turkmenistan_coat {
  position: absolute;
  top: 0;
  left: calc(100% / 25 * 3);
  border-bottom: calc(25vw / 3 * 2 / 100) solid var(--red);
  height: calc(99%);
  background-color: var(--red);
}
.flag--turkmenistan .star__container {
  --width: 25vw / 125 * 4;
  transform: translate(50%, -50%) rotate(180deg);
}
.flag--turkmenistan .star-1 {
  left: calc(100% / 1500 * 562);
  top: calc(100% / 1000 * 203);
}
.flag--turkmenistan .star-2 {
  left: calc(100% / 1500 * 626);
  top: calc(100% / 1000 * 107);
}
.flag--turkmenistan .star-3 {
  left: calc(100% / 1500 * 626);
  top: calc(100% / 1000 * 171);
}
.flag--turkmenistan .star-4 {
  left: calc(100% / 1500 * 626);
  top: calc(100% / 1000 * 235);
}
.flag--turkmenistan .star-5 {
  left: calc(100% / 1500 * 690);
  top: calc(100% / 1000 * 139);
}
.flag--uganda {
  --red: #c8102e;
  --yellow: #ffcd00;
  position: relative;
  background-image: linear-gradient(to bottom, var(--black) calc(100% / 6 * (1 - 1)), var(--black) calc(100% / 6 * 1), var(--yellow) calc(100% / 6 * (2 - 1)), var(--yellow) calc(100% / 6 * 2), var(--red) calc(100% / 6 * (3 - 1)), var(--red) calc(100% / 6 * 3), var(--black) calc(100% / 6 * (4 - 1)), var(--black) calc(100% / 6 * 4), var(--yellow) calc(100% / 6 * (5 - 1)), var(--yellow) calc(100% / 6 * 5), var(--red) calc(100% / 6 * (6 - 1)), var(--red) calc(100% / 6 * 6));
}
.flag--uganda .container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  height: calc(25vw / 3 * 2 / 3);
  width: calc(25vw / 3 * 2 / 3);
  background-color: var(--white);
  text-align: center;
}
.flag--uganda #uganda_coat {
  margin-top: 5%;
  height: 90%;
}
.flag--ukraine {
  --blue: #005bbb;
  --yellow: #ffd500;
  background-image: linear-gradient(to bottom, var(--blue) calc(100% / 2 * (1 - 1)), var(--blue) calc(100% / 2 * 1), var(--yellow) calc(100% / 2 * (2 - 1)), var(--yellow) calc(100% / 2 * 2));
}
.flag--united-arab-emirates {
  --green: #00732f;
  --red: #f00;
  height: calc(25vw / 2);
  position: relative;
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 3 * (1 - 1)), var(--green) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--black) calc(100% / 3 * (3 - 1)), var(--black) calc(100% / 3 * 3));
}
.flag--united-arab-emirates::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: calc(25vw / 4);
  height: 100%;
  background-color: var(--red);
  content: "";
}
.flag--united-kingdom {
  --red: #c60c30;
  --blue: #002776;
  height: calc(25vw / 2);
  background-color: var(--blue);
  background-image: linear-gradient(to right, transparent 0%, transparent 45%, var(--red) 45%, var(--red) 55%, transparent 55%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc((100% - (100% / 6)) / 2), var(--red) calc((100% - (100% / 6)) / 2), var(--red) calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent calc((100% - (100% / 6)) / 2 + (100% / 6)), transparent 100%), linear-gradient(to right, transparent 0%, transparent 41.66%, #fff 41.66%, #fff 58.33%, transparent 58.33%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent calc(100 / 3 * 1%), #fff calc(100 / 3 * 1%), #fff calc(100 / 3 * 2 * 1%), transparent calc(100 / 3 * 2 * 1%), transparent 100%), linear-gradient(to top right, transparent 0%, transparent calc(100% / 26 * 12.25), var(--red) calc(100% / 26 * 12.25), var(--red) calc(100% / 26 * 13), transparent calc(100%/ 26 * 13), transparent 100%), linear-gradient(to bottom right, transparent 0%, transparent calc(100% / 26 * 12.25), var(--red) calc(100% / 26 * 12.25), var(--red) calc(100% / 26 * 13), transparent calc(100%/ 26 * 13), transparent 100%), linear-gradient(to top right, transparent 0%, transparent calc(100% / 26 * 11.5), #fff calc(100% / 26 * 11.5), #fff calc(100% / 26 * 14.5), transparent calc(100%/ 26 * 14.5), transparent 100%), linear-gradient(to bottom right, transparent 0%, transparent calc(100% / 26 * 11.5), #fff calc(100% / 26 * 11.5), #fff calc(100% / 26 * 14.5), transparent calc(100%/ 26 * 14.5), transparent 100%);
}
.flag--usa {
  --red: #cc0c2f;
  --blue: #002c77;
  height: calc(25vw / 19 * 10);
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 13 * (1 - 1)), var(--red) calc(100% / 13 * 1), var(--white) calc(100% / 13 * (2 - 1)), var(--white) calc(100% / 13 * 2), var(--red) calc(100% / 13 * (3 - 1)), var(--red) calc(100% / 13 * 3), var(--white) calc(100% / 13 * (4 - 1)), var(--white) calc(100% / 13 * 4), var(--red) calc(100% / 13 * (5 - 1)), var(--red) calc(100% / 13 * 5), var(--white) calc(100% / 13 * (6 - 1)), var(--white) calc(100% / 13 * 6), var(--red) calc(100% / 13 * (7 - 1)), var(--red) calc(100% / 13 * 7), var(--white) calc(100% / 13 * (8 - 1)), var(--white) calc(100% / 13 * 8), var(--red) calc(100% / 13 * (9 - 1)), var(--red) calc(100% / 13 * 9), var(--white) calc(100% / 13 * (10 - 1)), var(--white) calc(100% / 13 * 10), var(--red) calc(100% / 13 * (11 - 1)), var(--red) calc(100% / 13 * 11), var(--white) calc(100% / 13 * (12 - 1)), var(--white) calc(100% / 13 * 12), var(--red) calc(100% / 13 * (13 - 1)), var(--red) calc(100% / 13 * 13));
}
.flag--usa .canton {
  --cantonW: calc(25vw / 5 * 2);
  box-sizing: border-box;
  position: relative;
  margin: 0;
  top: 0;
  left: 0;
  width: var(--cantonW);
  height: calc(25vw / 19 * 10 / 13 * 7);
  background-color: var(--blue);
  padding: 0;
  padding: calc(var(--cantonW) / 16 / 1.3) calc(var(--cantonW) / 16 / 2 * 1.5);
  line-height: calc(var(--cantonW) / 16 / 2);
}
.flag--usa .star__container {
  --width: calc(var(--cantonW) / 15);
  display: inline-block;
  margin-right: var(--width);
  margin-bottom: 0;
  width: var(--width);
  height: calc(var(--width) / 3);
  display: inline-block;
  position: relative;
  left: auto;
  top: auto;
}
.flag--usa .star__container:nth-child(6), .flag--usa .star__container:nth-child(17), .flag--usa .star__container:nth-child(28), .flag--usa .star__container:nth-child(39), .flag--usa .star__container:nth-child(50) {
  margin-right: 0;
}
.flag--usa .star__container:nth-child(7), .flag--usa .star__container:nth-child(18), .flag--usa .star__container:nth-child(29), .flag--usa .star__container:nth-child(40) {
  margin-left: calc(var(--width) + 3px);
}
.flag--uruguay {
  --blue: #0038a8;
  position: relative;
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 9 * (1 - 1)), var(--white) calc(100% / 9 * 1), var(--blue) calc(100% / 9 * (2 - 1)), var(--blue) calc(100% / 9 * 2), var(--white) calc(100% / 9 * (3 - 1)), var(--white) calc(100% / 9 * 3), var(--blue) calc(100% / 9 * (4 - 1)), var(--blue) calc(100% / 9 * 4), var(--white) calc(100% / 9 * (5 - 1)), var(--white) calc(100% / 9 * 5), var(--blue) calc(100% / 9 * (6 - 1)), var(--blue) calc(100% / 9 * 6), var(--white) calc(100% / 9 * (7 - 1)), var(--white) calc(100% / 9 * 7), var(--blue) calc(100% / 9 * (8 - 1)), var(--blue) calc(100% / 9 * 8), var(--white) calc(100% / 9 * (9 - 1)), var(--white) calc(100% / 9 * 9));
}
.flag--uruguay::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: calc(25vw / 3 * 2 / 9 * 5);
  height: calc(25vw / 3 * 2 / 9 * 4.99);
  background-color: #fff;
  content: "";
}
.flag--uruguay #uruguay_coat {
  position: absolute;
  left: calc(25vw / 3 * 2 / 9 * 5 / 2);
  top: calc(25vw / 3 * 2 / 9 * 5 / 2);
  transform: translate(-50%, -50%);
  width: calc(25vw / 3 * 2 / 9 * 4);
}
.flag--uzbekistan {
  --blue: #0092bc;
  --green: #43b02a;
  --red: #e03c31;
  position: relative;
  height: calc(25vw / 2);
  background-image: radial-gradient(circle at calc(25vw / 1000 * 167) calc(100% / 25 * 4), var(--blue) 0%, var(--blue) calc(100% / 50 * 2.5), transparent calc(100% / 50 * 2.5), transparent 100%), radial-gradient(circle at calc(25vw / 50 * 7) calc(100% / 25 * 4), var(--white) 0%, var(--white) calc(100% / 50 * 3), transparent calc(100% / 50 * 3), transparent 100%), linear-gradient(to bottom, var(--blue) 0%, var(--blue) calc(100% / 50 * 16), var(--red) calc(100% / 50 * 16), var(--red) calc(100% / 50 * 17), var(--white) calc(100% / 50 * 17), var(--white) calc(100% / 50 * 33), var(--red) calc(100% / 50 * 33), var(--red) calc(100% / 50 * 34), var(--green) calc(100% / 50 * 34), var(--green) 100%);
}
.flag--uzbekistan .star__container .star__spikes {
  --starColour: var(--white);
}
.flag--uzbekistan .star-13,
.flag--uzbekistan .star-14,
.flag--uzbekistan .star-15,
.flag--uzbekistan .star-25,
.flag--uzbekistan .star-24,
.flag--uzbekistan .star-23,
.flag--uzbekistan .star-22,
.flag--uzbekistan .star-35,
.flag--uzbekistan .star-34,
.flag--uzbekistan .star-33,
.flag--uzbekistan .star-32,
.flag--uzbekistan .star-31 {
  --width: calc(25vw / 125 * 3);
  width: var(--width);
  top: calc(100% / 125 * 32);
  transform: translate(50%, -75%);
}
.flag--uzbekistan .star-22,
.flag--uzbekistan .star-23,
.flag--uzbekistan .star-24,
.flag--uzbekistan .star-25 {
  top: calc(100% / 25 * 4);
}
.flag--uzbekistan .star-13,
.flag--uzbekistan .star-14,
.flag--uzbekistan .star-15 {
  top: calc(100% / 125 * 8);
}
.flag--uzbekistan .star-31 {
  left: calc(100% / 1000 * 167);
}
.flag--uzbekistan .star-32,
.flag--uzbekistan .star-22 {
  left: calc(100% / 1000 * 215);
}
.flag--uzbekistan .star-33,
.flag--uzbekistan .star-23,
.flag--uzbekistan .star-13 {
  left: calc(100% / 1000 * 263);
}
.flag--uzbekistan .star-34,
.flag--uzbekistan .star-24,
.flag--uzbekistan .star-14 {
  left: calc(100% / 1000 * 311);
}
.flag--uzbekistan .star-35,
.flag--uzbekistan .star-25,
.flag--uzbekistan .star-15 {
  left: calc(100% / 1000 * 359);
}
.flag--venezuela {
  --blue: #003893;
  --red: #ce1126;
  --yellow: #fc0;
  position: relative;
  background-image: linear-gradient(to bottom, var(--yellow) calc(100% / 3 * (1 - 1)), var(--yellow) calc(100% / 3 * 1), var(--blue) calc(100% / 3 * (2 - 1)), var(--blue) calc(100% / 3 * 2), var(--red) calc(100% / 3 * (3 - 1)), var(--red) calc(100% / 3 * 3));
}
.flag--venezuela .star__container {
  --width: 25vw / 3 * 2 / 12;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.flag--venezuela .star-1 {
  top: calc(calc(100 / 3 * 2 * 1%) - var(--width) * 0.3);
  left: calc(100 / 3 * 1%);
  transform: translate(-50%, -100%);
}
.flag--venezuela .star-2 {
  top: calc(calc(100 / 3 * 1%) + var(--width) * 1.6);
  left: calc(50% - var(--width) * 2.6);
  transform: translate(-50%, 0) rotate(-55deg);
}
.flag--venezuela .star-3 {
  top: calc(calc(100 / 3 * 1%) + var(--width) * 0.7);
  left: calc(50% - var(--width) * 1.7);
  transform: translate(-50%, 0) rotate(-35deg);
}
.flag--venezuela .star-4 {
  top: calc(calc(100 / 3 * 1%) + var(--width) * 0.3);
  left: calc(50% - var(--width) * 0.15);
  transform: translate(-100%, 0) rotate(-10deg);
}
.flag--venezuela .star-5 {
  top: calc(calc(100 / 3 * 1%) + var(--width) * 0.3);
  left: calc(50% + var(--width) * 0.15);
  transform: translate(0, 0) rotate(10deg);
}
.flag--venezuela .star-6 {
  top: calc(calc(100 / 3 * 1%) + var(--width) * 0.7);
  left: calc(50% + var(--width) * 1.7);
  transform: translate(-50%, 0) rotate(35deg);
}
.flag--venezuela .star-7 {
  top: calc(calc(100 / 3 * 1%) + var(--width) * 1.6);
  left: calc(50% + var(--width) * 2.6);
  transform: translate(-50%, 0) rotate(55deg);
}
.flag--venezuela .star-8 {
  top: calc(calc(100 / 3 * 2 * 1%) - var(--width) * 0.3);
  left: calc(100 / 3 * 2 * 1%);
  transform: translate(-50%, -100%);
}
.flag--vietnam {
  --red: #da251d;
  --starColour: #ff0;
  position: relative;
  background-color: var(--red);
}
.flag--vietnam .star__container .star__spikes {
  --starColour: #ff0;
}
.flag--vietnam .star-1 {
  --width: calc(25vw / 5 * 2);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--width);
}
.flag--wales {
  --green: green;
  position: relative;
  height: calc(25vw / 5 * 3);
  background-image: linear-gradient(to bottom, var(--white) calc(100% / 2 * (1 - 1)), var(--white) calc(100% / 2 * 1), var(--green) calc(100% / 2 * (2 - 1)), var(--green) calc(100% / 2 * 2));
}
.flag--wales #wales_dragon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
}
.flag--yemen {
  --red: #ce1126;
  position: relative;
  background-image: linear-gradient(to bottom, var(--red) calc(100% / 3 * (1 - 1)), var(--red) calc(100% / 3 * 1), var(--white) calc(100% / 3 * (2 - 1)), var(--white) calc(100% / 3 * 2), var(--black) calc(100% / 3 * (3 - 1)), var(--black) calc(100% / 3 * 3));
}
.flag--zambia {
  --green: #009e49;
  --orange: #fcad56;
  --red: #ef3340;
  position: relative;
  background-image: linear-gradient(to right, var(--green) 0%, var(--green) calc(100% / 336 * 216), var(--red) calc(100% / 336 * 216), var(--red) calc(100% / 336 * 256), var(--black) calc(100% / 336 * 256), var(--black) calc(100% / 336 * 296), var(--orange) calc(100% / 336 * 296), var(--orange) 100%);
}
.flag--zambia::before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(25vw / 3 * 2 / 28 * 10);
  background-color: var(--green);
  content: "";
}
.flag--zambia #zambia_coat {
  position: absolute;
  top: calc(25vw / 3 * 2 / 224 * 19);
  right: calc(25vw / 336 * 7);
  width: calc(25vw / 336 * 106);
}
.flag--zimbabwe {
  --green: #00843d;
  --red: #e4002b;
  --yellow: #ffc72c;
  position: relative;
  height: calc(25vw / 2);
  overflow: hidden;
  background-image: linear-gradient(to bottom, var(--green) calc(100% / 7 * (1 - 1)), var(--green) calc(100% / 7 * 1), var(--yellow) calc(100% / 7 * (2 - 1)), var(--yellow) calc(100% / 7 * 2), var(--red) calc(100% / 7 * (3 - 1)), var(--red) calc(100% / 7 * 3), var(--black) calc(100% / 7 * (4 - 1)), var(--black) calc(100% / 7 * 4), var(--red) calc(100% / 7 * (5 - 1)), var(--red) calc(100% / 7 * 5), var(--yellow) calc(100% / 7 * (6 - 1)), var(--yellow) calc(100% / 7 * 6), var(--green) calc(100% / 7 * (7 - 1)), var(--green) calc(100% / 7 * 7));
}
.flag--zimbabwe::before {
  display: block;
  position: absolute;
  top: 0;
  left: calc(25vw / 252 * 8);
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 3) solid var(--black);
  width: calc(25vw / 3 * 2);
  transform: scale(1.08);
  height: 0;
  content: "";
}
.flag--zimbabwe .canton {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  border-top: calc(25vw / 2 / 2) solid transparent;
  border-bottom: calc(25vw / 2 / 2) solid transparent;
  border-left: calc(25vw / 3) solid var(--white);
  width: calc(25vw / 3 * 2);
  height: 0;
  content: "";
}
.flag--zimbabwe #zimbabwe_coat {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(calc(25vw / 3 * -1 + 2.5%), -58%);
  width: calc(25vw / 504 * 128);
}

.star__container {
  --width: 200px;
  --starColour: #fff;
  position: absolute;
  left: 250px;
  top: 0;
  z-index: 10;
  width: var(--width);
  background: transparent;
  padding-top: calc(var(--width) * .36);
  padding-bottom: calc(var(--width) * .24);
}
.star__spikes {
  --starColour: white;
}
.star__spikes--5 {
  position: relative;
  border-left: calc(var(--width) / 2) solid transparent;
  border-right: calc(var(--width) / 2) solid transparent;
  border-top: calc(var(--width) * .35) solid var(--starColour);
  width: 0;
  height: 0;
}
.star__spikes--5:before {
  position: absolute;
  top: calc(var(--width) * -.36);
  left: calc(var(--width) * -.24 * 2);
  border-left: calc(var(--width) / 2) solid transparent;
  border-right: calc(var(--width) / 2) solid transparent;
  border-top: calc(var(--width) * .35) solid var(--starColour);
  width: 0;
  height: 0;
  transform: rotate(-72deg);
  content: "";
}
.star__spikes--5:after {
  position: absolute;
  top: calc(var(--width) * -.36);
  left: calc(var(--width) * -.52);
  border-left: calc(var(--width) / 2) solid transparent;
  border-right: calc(var(--width) / 2) solid transparent;
  border-top: calc(var(--width) * .35) solid var(--starColour);
  width: 0;
  height: 0;
  transform: rotate(73deg);
  content: "";
}
.star__spikes--5-2 {
  position: absolute;
  top: 37%;
  border-top-color: var(--color-uj-red);
  transform: scale(0.7);
}
.star__spikes--5-2:before, .star__spikes--5-2:after {
  border-top-color: var(--color-uj-red);
}

.star-7 path {
  fill: red;
  stroke-width: 0;
  stroke-linejoin: arcs;
}

.yin-yang {
  --colour-1: #eee;
  --colour-2: red;
  --width: 48px;
  position: relative;
  border-color: var(--colour-2);
  border-style: solid;
  border-width: 2px 2px calc(var(--width) + 2px) 2px;
  border-radius: 100%;
  width: calc(var(--width) * 2);
  height: var(--width);
  box-sizing: content-box;
  background: var(--colour-1);
}
.yin-yang::before {
  position: absolute;
  top: 50%;
  left: 50%;
  border: calc(var(--width) / 8 * 3) solid var(--colour-2);
  border-radius: 100%;
  width: calc(var(--width) / 4);
  height: calc(var(--width) / 4);
  background: var(--colour-1);
  box-sizing: content-box;
  content: "";
}
.yin-yang::after {
  position: absolute;
  top: 50%;
  left: 0;
  border: calc(var(--width) / 8 * 3) solid var(--colour-1);
  border-radius: 100%;
  width: calc(var(--width) / 4);
  height: calc(var(--width) / 4);
  background: var(--colour-2);
  box-sizing: content-box;
  content: "";
}

.countries-list {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.countries-list li {
  float: left;
  list-style-type: decimal;
  margin: 0 1.5rem;
}

/*
     General appearance, nothing related to what you see ;-)
*/
* {
  box-model: border-box;
}

body {
  line-height: 1.2em;
  font-family: "Segoe UI", sans-serif;
}

a {
  color: inherit;
}
a.todo {
  opacity: 0.5;
  text-decoration: none;
  cursor: default;
}
a.todo--partial {
  text-decoration: underline;
  cursor: pointer;
}