@import url('https://fonts.googleapis.com/css2?family=Merienda:wght@300..900&display=swap');

.main {
  margin:15em 0 5em;
}

.login {
    width: 20%;
    margin: 0 auto;
	background:#fff;
	padding: 3em;
	position: relative;
	border-radius: 5px;
}
.login h1 {
    text-align: center;
    font-size: 2em;
    margin: 1em 0;
    color: #555;
	font-family: "Merienda", cursive;
}
.login-top {
    background: #2d5c88;
    position: absolute;
    width: 7%;
    top: -42px;
    left: 162px;
    padding: 1.7em 1.7em;
    border-radius: 50px;
    text-align: center;
}
    body {
        font-family: "Merienda", cursive;
	     background: url(/libs/img/banner1.jpg) no-repeat;
         background-size: cover;
         -webkit-background-size: cover;
         -moz-background-size: cover;
         -ms-background-size: cover;
         -o-background-size: cover;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
    }

    .login {
        background-color: #fff;
        padding: 40px;
        border-radius: 8px;
        box-shadow: 0 0 25px #0ef;
        width: 300px;
        text-align: center;
    }

    .login .input {
        position: relative;
        margin-bottom: 20px;
    }

    .login .input input[type="text"],
    .login .input input[type="password"] {
        width: calc(100% - 20px);
        border-radius: 4px;
        box-sizing: border-box;
        font-size: 16px;
        padding-top: 20px;
        border: none;
        border-bottom: 2px solid #ccc;
        outline: 0px;
        position: relative;
    }

    .login .input label {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: #999;
        font-size: 16px;
        pointer-events: none;
        transition: all 0.3s ease;
    }

    .login .input input:focus ~ label,
    .login .input input:valid ~ label {
        transform: translateY(-150%);
        font-size: 14px;
        color: #2d5c88;
    }
    
    .login .input input[type="text"]:focus,
    .login .input input[type="password"]:focus {
        border-bottom: 3px solid #2d5c88;
        animation: fillBorder 1s ease forwards;
    }

    @keyframes fillBorder {
        0% {
            width: 0;
            right: 50%;
            transform-origin: right;
        }
        100% {
            width: 100%;
            right: 0;
        }
    }

    .btn {
        /* display: inline-block;
        padding: 10px 20px;
        border: none;
        border-radius: 7px;
        background-color:#2d5c88 ;
        color: #fff;
        font-size: 16px;
        cursor: pointer;
        text-decoration: none;
        transition: background-color 0.3s ease;
        position: relative; */
        position: relative;
        width: 100%;
        height:45px;
        background: transparent;
        border: 2px solid #0ef;
        outline: none;
        border-radius: 40px;
        cursor: pointer;
        font-size: 16px;
        color: #fff;
        font-weight: 600;
        z-index: 1;
        overflow: hidden;
    }

    .btn::before{
        content: '';
    }

    .btn:not([disabled]):before {
        content: '';
        position: absolute;
        top:-100%;
        left: 0;
        width: 100%;
        height: 300%;
        background: linear-gradient(#081b29,#0b4d8f,#081b29,#0b4d8f);
        z-index: -1;
        transition: .5s;
      }

    .btn:hover::before{
        top:0;
    }

    .btn:hover {
        background-color: #0ef;
    }

    .btn .icon {
        position: absolute;
        right: 45px;
        top: 50%;
        transform: translateY(-50%);
    }

    .btn .text {
        margin-right: 20px;
    }

    button.btn[disabled] {
        background-color: #ccc;
        cursor: not-allowed;
    }


    .error {padding: 20px; background-color: #ff0909a6;color: white; border-radius: 25px;position:absolute;z-index:100;top:0;}
    .ok {padding: 20px;background-color: #00f372d6;color: white;border-radius: 25px;position:absolute;z-index:100;top:0;}