.fx-flags-brazil{
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:170px;
  pointer-events:none;
  z-index:999999;
  --fx-br-flag-width:72px;
  --fx-br-flag-speed:5s;
}
.fx-flags-rope{
  position:absolute;
  left:-3%;
  top:22px;
  width:106%;
  height:18px;
  border-top:3px solid rgba(92,55,20,.92);
  border-radius:0 0 50% 50%;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.28));
}
.fx-flags-rope::after{
  content:"";
  position:absolute;
  left:0;
  top:-5px;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(0,0,0,.12),rgba(255,255,255,.18));
}
.fx-br-flag{
  position:absolute;
  top:24px;
  width:var(--fx-br-flag-width);
  transform-origin:50% 0;
  animation:fxBrazilFlagSwing var(--fx-br-flag-speed) ease-in-out infinite;
  filter:drop-shadow(0 6px 6px rgba(0,0,0,.22));
}
.fx-br-flag-pin{
  position:absolute;
  left:50%;
  top:-6px;
  width:8px;
  height:16px;
  transform:translateX(-50%);
  border-radius:6px;
  background:linear-gradient(to bottom,#f7d48a,#8b5a1f);
  box-shadow:0 1px 2px rgba(0,0,0,.28);
  z-index:2;
}
.fx-br-flag-img{
  display:block;
  width:100%;
  height:auto;
  border-radius:3px;
  transform-origin:50% 0;
  animation:fxBrazilFlagWave calc(var(--fx-br-flag-speed) * .72) ease-in-out infinite;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
@keyframes fxBrazilFlagSwing{
  0%,100%{transform:translateX(-50%) rotate(calc(var(--fx-flag-tilt) * -1));}
  50%{transform:translateX(-50%) rotate(var(--fx-flag-tilt));}
}
@keyframes fxBrazilFlagWave{
  0%,100%{filter:brightness(1); transform:skewY(-1.5deg) scaleX(.985);}
  50%{filter:brightness(1.08); transform:skewY(1.5deg) scaleX(1.015);}
}
@media (max-width:782px){
  .fx-flags-brazil{height:130px;}
}
