.loader{opacity:0;border-radius:50%;width:220px;height:220px;margin:auto;animation:.9s cubic-bezier(.22,1,.36,1) 1s forwards loaderIn,3.5s ease-in-out 1.9s infinite float;position:relative;overflow:hidden;box-shadow:inset 0 0 30px 4px #00000080,0 5px 12px #00000026}.loader:before,.loader:after{content:"";background-color:#034f05;border-radius:45%;width:100%;height:100%;animation:5s linear infinite wave;position:absolute;top:-40%}.loader:before{background:#7a7a7a66;border-radius:30%;animation:5s linear infinite wave}.loader::selection{background:0 0}body:has(.loader){overflow:hidden}.loader-wrapper{z-index:9999;background:radial-gradient(circle,#077234 0%,#04431e 90%);justify-content:center;align-items:center;animation:.5s ease-out forwards bgIn;display:flex;position:fixed;inset:0}.loader-wrapper.fade-out{animation:.7s ease-in forwards bgOut}.loader-wrapper.fade-out .loader{animation:.6s ease-in forwards loaderOut}@keyframes wave{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loaderIn{0%{opacity:0;filter:blur(6px);transform:scale(.6)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes loaderOut{to{opacity:0;filter:blur(8px);transform:scale(1.2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bgIn{0%{opacity:0;filter:blur(20px)}to{opacity:1;filter:blur()}}@keyframes bgOut{to{opacity:0;filter:blur(20px)}}
