.aircraftCarrierObstacle{
  position:absolute;
  left:0;
  top:0;
  width:230px;
  height:122px;
  z-index:12;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transform-origin:center;
  filter:drop-shadow(0 12px 8px rgba(2,66,125,.48));
  will-change:transform,opacity;
}
.aircraftCarrierObstacle>img{display:block;width:100%;height:100%;object-fit:contain}
.aircraftCarrierObstacle .carrierWake{
  position:absolute;
  right:76%;
  top:61%;
  width:76px;
  height:22px;
  border-bottom:5px solid rgba(218,249,255,.78);
  border-radius:50%;
  opacity:.8;
  transform:rotate(-3deg);
  animation:carrierWake 1.15s ease-in-out infinite alternate;
}
.aircraftCarrierObstacle.anchored .carrierWake{opacity:.18;animation-duration:2.4s}
.aircraftCarrierObstacle.anchored>img{animation:carrierIdle 1.9s ease-in-out infinite alternate}
.aircraftCarrierObstacle.helicopterLanded{filter:drop-shadow(0 0 9px rgba(255,206,82,.72)) drop-shadow(0 12px 8px rgba(2,66,125,.48))}
.aircraftCarrierObstacle.departing .carrierWake{opacity:1;width:98px}
.rescueHelicopter{
  position:absolute;
  left:0;
  top:0;
  width:72px;
  height:50px;
  z-index:18;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transform-origin:center;
  filter:drop-shadow(0 9px 7px rgba(2,63,122,.42));
  will-change:transform,opacity;
}
.rescueHelicopter img{display:block;width:100%;height:100%;object-fit:contain;animation:helicopterVibration .12s linear infinite alternate}
.rescueHelicopter.approaching:after{
  content:"";
  position:absolute;
  left:21%;
  right:21%;
  bottom:-5px;
  height:9px;
  border-bottom:2px solid rgba(219,250,255,.55);
  border-radius:50%;
  animation:rotorWash .45s ease-in-out infinite alternate;
}
.rescueHelicopter.landing{transition:filter .35s;filter:drop-shadow(0 4px 3px rgba(2,63,122,.35))}
.rescueHelicopter.onDeck img{animation-duration:.28s}
.campaignBoat.carrierContact{animation:carrierBoatImpact .12s ease-in-out 5;filter:drop-shadow(0 0 11px #ffb04f) drop-shadow(0 7px 4px rgba(6,71,131,.5))!important}
@keyframes carrierWake{to{transform:translateX(-12px) rotate(-3deg) scaleX(1.16);opacity:.38}}
@keyframes carrierIdle{to{transform:translateY(2px) rotate(.25deg)}}
@keyframes helicopterVibration{to{transform:translate(1px,-1px) rotate(.5deg)}}
@keyframes rotorWash{to{transform:scaleX(1.28);opacity:.25}}
@keyframes carrierBoatImpact{50%{transform:translate(-50%,-50%) translateX(3px)}}
@media(max-width:760px){
  .aircraftCarrierObstacle{width:176px;height:94px}
  .aircraftCarrierObstacle .carrierWake{width:57px;height:17px;border-bottom-width:4px}
  .rescueHelicopter{width:55px;height:39px}
}
