html, body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
}

.root {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/*base colors*/
.rl-blue{
    color:#3dbcec;
}
.rl-red{
    color:#fa1734;
}

/*Loader styling*/

.loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: transparent;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: pulse 2s infinite;
}

.loader::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 4px solid rgba(30, 61, 89, 0.2);
    box-shadow: 0 0 20px rgba(30, 61, 89, 0.1);
    animation: pulseBorder 2s infinite;
}

.loader::after {
    content: '';
    position: absolute;
    width: 50%;
    height: 50%;
    background: #1e3d59;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(30, 61, 89, 0.3);
}

@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.8;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

@keyframes pulseBorder {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 0.5;
    }
}
