/*********************************************/
/*              LOGIN PAGE CSS               "/
/*********************************************/
html,body{
    background-color: #0d426e;
    background-image: none;
}
body {
    font-family: BrandonGrotesqueWeb-Regular;
    color: #fff;
}
.container{
    height: 100%;
    align-content: center;
}

.card{
    height: auto;
    margin-top: auto;
    margin-bottom: auto;
    width: 350px;
    border: none;
    background: transparent;
}
.login-field {
    border-radius: 0;
    border:none;
    border-bottom: 1px solid #ffffff;
    padding: 5px 0;
    outline: none;
    background: transparent !important;
    color: #ffffff;
    width: 100%;
    margin-top: 5px;
    font-size: 1rem;
}
.login-field:focus {
    outline: none;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgb(245, 245, 245);
    opacity: 0.5; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgb(245, 245, 245);
}
::-ms-input-placeholder { /* Microsoft Edge */
    color: rgb(245, 245, 245);
}
.login-logo {
    fill: #ffffff;
    width: 100px;
}
.forgot-pwd {
    cursor: pointer;
}
.custom-control-input {
    border-radius: 0;
}
.custom-control-label:before{
    background-color: transparent;
    border-radius: 0 !important;
}
.custom-checkbox .custom-control-input:checked~.custom-control-label::before{
    background-color:transparent;
}
.btn-login {
    width: 100%;
    color: #ffffff;
    border: 1px solid #fff;
    border-radius: 0;
}
.btn-login:hover {
    color: #ffffff;
    background: #64a7de;
    opacity: 0.8;
}
.launch-icon {
    fill: #ffffff;
    width: 40px;
}
#launch-icon-div {
    position: relative;
    /* margin-left: 37%; */
}

/* ===== Rocket Launch Animation Enhancements ===== */

/* Enhancement 1: Exhaust Flame */
#launch-icon-div.launching::after {
    content: '';
    position: absolute;
    bottom: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 30px;
    background: linear-gradient(to bottom, #ff6600, #ffcc00, transparent);
    border-radius: 0 0 50% 50%;
    animation: flame-flicker 0.1s ease-in-out infinite alternate;
}
@keyframes flame-flicker {
    0%   { height: 25px; width: 14px; opacity: 1; }
    50%  { height: 35px; width: 18px; opacity: 0.85; }
    100% { height: 30px; width: 12px; opacity: 0.95; }
}

/* Enhancement 2: Particle Trail */
.rocket-particle {
    position: fixed;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #ffcc00;
    box-shadow: 0 0 6px 2px rgba(255, 150, 0, 0.6);
    pointer-events: none;
    z-index: 9999;
}

/* Enhancement 3: Screen Shake */
@keyframes screen-shake {
    0%   { transform: translate(0, 0); }
    10%  { transform: translate(-2px, 1px); }
    20%  { transform: translate(2px, -1px); }
    30%  { transform: translate(-1px, 2px); }
    40%  { transform: translate(1px, -2px); }
    50%  { transform: translate(-2px, 0px); }
    60%  { transform: translate(2px, 1px); }
    70%  { transform: translate(0px, -2px); }
    80%  { transform: translate(-1px, 1px); }
    90%  { transform: translate(1px, -1px); }
    100% { transform: translate(0, 0); }
}
body.shaking {
    animation: screen-shake 0.3s ease-out;
}

/* Enhancement 4: Star Streaks */
.star-streak {
    position: fixed;
    width: 2px;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.8), transparent);
    pointer-events: none;
    z-index: 1;
}
@keyframes streak-fall {
    0%   { top: -20px; height: 0; opacity: 0; }
    20%  { height: 40px; opacity: 0.7; }
    100% { top: 110vh; height: 60px; opacity: 0; }
}

/* Enhancement 5: Rocket Glow + White Flash */
#launch-icon-div.launching .launch-icon {
    animation: rocket-glow 0.3s ease-in infinite alternate;
}
@keyframes rocket-glow {
    from { filter: drop-shadow(0 0 6px rgba(100, 167, 222, 0.6)); }
    to   { filter: drop-shadow(0 0 14px rgba(255, 255, 255, 0.9)); }
}
.launch-flash {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: white;
    z-index: 10000;
    pointer-events: none;
    opacity: 0;
    animation: flash-in 0.3s ease-in forwards;
}
@keyframes flash-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.modal-body {
    color: #000000;
}
.reset-email {
    border: 0;
    border-bottom: 1px solid #000000;
    outline: none;
    padding: 5px 0;
}
#reset-email-field::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: black;
    opacity: 1; /* Firefox */
}
.expert-heading {
    font-size: 1.8rem;
}
@media (min-width: 768px) {
    html,body{
        background-image: url('../images/login-bg.jpg');
        background-image: linear-gradient(to bottom, rgba(13, 66, 110, 0), rgba(13, 66, 110, 1), rgba(13, 66, 110, 1),rgba(13, 66, 110, 1)), url('../images/login-bg.jpg');
        background-repeat: no-repeat;
        height: 100%;
    }
}
.reset-form, .reset-confirm {
    font-size: 1rem;
}
.reset-form button, .btn-light {
    font-family: BrandonGrotesqueWeb-Regular;
    padding: 8px 10px;
    width: 100px;
}
@media (min-width: 576px) {
    .modal-sm {
        max-width: 320px;
    }
}