.msg1 {
    position: fixed;
    width: 451px;
    height: 100px;
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 5px;
    padding: 18px 10px;
    bottom: 9px;
    right: 25%;
    left: 0%;
    margin-left: -150px;
    text-align: center;
    color: #ef0000;
    font-size: 20px;
    font-weight: bold;
    display: none;
    z-index: 1008;
}

.msg{
  position: fixed;                /* stay in viewport */
  left: 50%;                      /* start in middle */
  transform: translateX(-50%);    /* true horizontal center */
  bottom: env(safe-area-inset-bottom, 16px); /* respects iPhone notch safe area, fallback 16px */
  /* Optional styling */
  /* max-width: 95%;*/                 /* responsive width */
  width: 420px;                   /* preferred width on wide screens */
  padding: 12px 18px;
  background: rgba(250, 249, 249, 0.85);
  color: #EF0000 !important;
  font-size:16px !important;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  z-index: 9999;
  text-align: center;
  display: none;
  bottom: 50px;
}

/* Make it narrower on very small screens */
@media (max-width: 420px){
  .msg{ width: calc(100% - 24px); } /* maintain small side margins */
}

.errMsg {
    border: 1px solid #ff0000 !important;
    font-size: 18px;
    color: #ff0000;
}

.required {
    font-size: 12px;
    color: #ff0000 !important;
}

/*
LOADER CSS
*/

/* HTML: <div class="loader"></div> */
.loader {
    width: 60px;
    aspect-ratio: 1;
    border: 15px solid #ddd;
    border-radius: 50%;
    position: relative;
    transform: rotate(45deg);
    margin: 1px 30px;
}
.loader::before {
    content: "";
    position: absolute;
    inset: -15px;
    border-radius: 50%;
    border: 15px solid #514b82;
    animation: l18 2s infinite linear;
}
@keyframes l18 {
    0% {
        clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
    }
    25% {
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
    }
    50% {
        clip-path: polygon(
            50% 50%,
            0 0,
            100% 0,
            100% 100%,
            100% 100%,
            100% 100%
        );
    }
    75% {
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
    }
    100% {
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
    }
}

section.loadermain {
    position: fixed;
    inset: 0;
    background: rgba(100, 100, 100, 0.25);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 11111;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* HTML: <div class="loader"></div> */

/* @keyframes l27 {
    100% {
        transform: rotate(1turn)
    }
} */
/*
LOADER CSS
*/
