.force-white{
    color: #fff!important;
}

#ftco-loader {
    position: fixed;
    text-align: center;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    background-color: #FFFFFF;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .2s ease-out, visibility 0s linear .2s;
    -o-transition: opacity .2s ease-out, visibility 0s linear .2s;
    transition: opacity .2s ease-out, visibility 0s linear .2s;
    z-index: 9920000;
}

#ftco-loader.fullscreen {
    text-align: center;
    padding: 0;
}

#ftco-loader.show {
    -webkit-transition: opacity .4s ease-out, visibility 0s linear 0s;
    -o-transition: opacity .4s ease-out, visibility 0s linear 0s;
    transition: opacity .4s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

/* HUBX Loader (mesmo visual da presentation) */
.hubx-loader-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hubx-loader-logo {
    width: 80px;
    height: 80px;
    object-fit: contain;
    z-index: 2;
    animation: hubxPulseLogo 2s ease-in-out infinite;
}

@keyframes hubxPulseLogo {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.9; }
}

.hubx-loader-ring {
    position: absolute;
    width: 160px;
    height: 160px;
    border: 4px solid transparent;
    border-top-color: #00FFC8;
    border-right-color: #5848BB;
    border-radius: 50%;
    animation: hubxSpin 1.5s linear infinite;
}

.hubx-loader-ring-inner {
    position: absolute;
    width: 138px;
    height: 138px;
    border: 3px solid transparent;
    border-bottom-color: #f38f38;
    border-left-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    animation: hubxSpinReverse 1s linear infinite;
}

@keyframes hubxSpin {
    to { transform: rotate(360deg); }
}

@keyframes hubxSpinReverse {
    to { transform: rotate(-360deg); }
}

.loader,
.loader:before,
.loader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}

.loader {
    color: #149ddd;
    font-size: 10px;
    margin: auto;
    position: relative;
    top: 50%;
    text-align: center;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

.loader:before,
.loader:after {
    content: '';
    position: absolute;
    top: 0;
}

.loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.loader:after {
    left: 3.5em;
}

@-webkit-keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }
    40% {
        box-shadow: 0 2.5em 0 0;
    }
}

@keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }
    40% {
        box-shadow: 0 2.5em 0 0;
    }
}

.lds-facebook {
    display: inline-block;
    position: relative;
    top: 50%;
    text-align: center;
    width: 80px;
    height: 80px;
}

.lds-facebook div {
    display: inline-block;
    position: absolute;
    left: 8px;
    width: 16px;
    background: #f5a500;
    animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.lds-facebook div:nth-child(1) {
    left: 8px;
    animation-delay: -0.24s;
}

.lds-facebook div:nth-child(2) {
    left: 32px;
    animation-delay: -0.12s;
}

.lds-facebook div:nth-child(3) {
    left: 56px;
    animation-delay: 0;
}

@keyframes lds-facebook {
    0% {
        top: 8px;
        height: 64px;
    }
    50%,
    100% {
        top: 24px;
        height: 32px;
    }
}

.lds-dual-ring {
    display: inline-block;
    position: relative;
    top: 45%;
    width: 80px;
    height: 80px;
}

.lds-dual-ring:after {
    content: " ";
    display: block;
    width: 64px;
    height: 64px;
    margin: 8px;
    border-radius: 50%;
    border: 6px solid #f5a500;
    border-color: #f5a500 transparent #f5a500 transparent;
    animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    top: 50%;
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 4px solid #00fff5;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #00fff5 transparent transparent transparent;
    box-shadow: 0 0 20px rgba(0, 255, 245, 0.5);
    will-change: transform;
}

.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/*COLOR*/

.main-bg {
    background-color: #f5a500!important;
}

.main-color {
    color: #f5a500!important;
}

/* =========================================================================
   LOADER FLUXION — 12/08/2026
   Substitui o fundo branco e a marca antiga. A linguagem é a mesma da
   matriz: espaço profundo, nebulosa difusa e anéis orbitais girando em
   torno do símbolo. Só transform e opacity animam.
   ========================================================================= */
#ftco-loader.fx-loader{
    background:
        radial-gradient(circle at 22% 18%, rgba(25,221,244,.10), transparent 34%),
        radial-gradient(circle at 78% 82%, rgba(255,61,175,.09), transparent 32%),
        linear-gradient(180deg, #050b18 0%, #020611 100%) !important;
    display:grid;
    place-items:center;
    overflow:hidden;
}

/* campo de estrelas: duas malhas de pontos, sem elemento por estrela */
.fx-loader__sky{
    position:absolute; inset:-10%;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.55) 0 1px, transparent 1.6px),
        radial-gradient(circle, rgba(150,205,255,.40) 0 1.2px, transparent 2px);
    background-size:132px 132px, 191px 191px;
    background-position:18px 26px, 96px 71px;
    opacity:.5;
}

.fx-loader__neb{position:absolute; border-radius:50%; filter:blur(46px); pointer-events:none;}
.fx-loader__neb--a{width:46vmax;height:46vmax;left:-14vmax;top:-12vmax;background:radial-gradient(circle,rgba(25,150,244,.20),transparent 68%);}
.fx-loader__neb--b{width:40vmax;height:40vmax;right:-12vmax;bottom:-12vmax;background:radial-gradient(circle,rgba(160,60,255,.18),transparent 68%);}

.fx-loader__stage{position:relative; width:172px; height:172px; display:grid; place-items:center;}

.fx-loader__orbit{
    position:absolute; border-radius:50%;
    border:1px solid transparent;
    transform-origin:50% 50%;
}
.fx-loader__orbit--outer{
    inset:0;
    border-top-color:rgba(255,61,175,.85);
    border-right-color:rgba(138,92,246,.55);
    animation:fxLoadSpin 2.4s linear infinite;
}
.fx-loader__orbit--inner{
    inset:26px;
    border-bottom-color:rgba(25,221,244,.9);
    border-left-color:rgba(37,140,255,.55);
    animation:fxLoadSpin 1.6s linear infinite reverse;
}

/* halo pulsando atrás do símbolo */
.fx-loader__core{
    position:absolute; width:96px; height:96px; border-radius:50%;
    background:radial-gradient(circle, rgba(25,221,244,.22), rgba(138,92,246,.10) 55%, transparent 72%);
    animation:fxLoadBreath 2.8s ease-in-out infinite;
}

.fx-loader__mark{
    position:relative; z-index:2;
    width:74px; height:74px; object-fit:contain;
    filter:drop-shadow(0 0 10px rgba(25,221,244,.45));
}

/* barra fina de progresso indeterminado */
.fx-loader__bar{
    position:absolute; left:50%; bottom:19%;
    width:132px; height:2px; border-radius:99px;
    transform:translateX(-50%);
    background:rgba(255,255,255,.07);
    overflow:hidden;
}
.fx-loader__bar i{
    position:absolute; inset:0; display:block; border-radius:99px;
    background:linear-gradient(90deg,transparent,#19DDF4,#8A5CF6,#FF3DAF,transparent);
    animation:fxLoadBar 1.5s ease-in-out infinite;
}

@keyframes fxLoadSpin{to{transform:rotate(360deg);}}
@keyframes fxLoadBreath{0%,100%{opacity:.55;transform:scale(.94);}50%{opacity:1;transform:scale(1.06);}}
@keyframes fxLoadBar{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}

@media (prefers-reduced-motion:reduce){
    .fx-loader__orbit,.fx-loader__core,.fx-loader__bar i{animation:none !important;}
    .fx-loader__bar i{transform:none; opacity:.5;}
}

@media (max-width:520px){
    .fx-loader__stage{width:140px;height:140px;}
    .fx-loader__orbit--inner{inset:21px;}
    .fx-loader__core{width:78px;height:78px;}
    .fx-loader__mark{width:60px;height:60px;}
    .fx-loader__bar{width:108px;}
}
