:root {
    /*
      --primary: rgba(67, 62, 62, 0.92);
    */
      --primary: rgba(218, 153, 244, 0.878);
      --secondary: whitesmoke;
      --accent: rgb(15, 6, 101);
      --green: lime;
      --dark: rgb(3, 10, 31);
    }
    
    body {
      font-weight: 400;
      font-size: 18px;
      margin: 0;
      overflow-x: hidden !important;
      font-family: 'Poppins', sans-serif !important;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      
    }
  
    .container {
      width: 80%;
      margin: auto !important;
      overflow-x: hidden !important;
      padding-top: 120px;
    }

    .divider{
        height: 4px;
        width: 100%;
        margin: 40px auto;
        background-color: var(--primary);
    }

    a {
        text-decoration: none;
    }

    .v-align i,
    .v-align h2 {
        animation: appearList .7s linear forwards;
    }
  
    /*UTILITY*/
  
    .center{
      text-align: center;
    }
  
    .right{
      text-align: right;
    }
  
    .left{
      text-align: left;
    }
  
    .hand{
      cursor: pointer;
    }

    .accent {
        color: var(--accent) !important;
    }
    
    .accentBG {
        background-color: var(--accent) !important;
    }
    
    .primary{
        color: var(--primary) !important;
    }

    .primaryBG{
        background-color: var(--primary) !important;
    }
    
    .secondary{
        color: var(--secondary) !important;
    }

    .secondaryBG{
        color: var(--secondary) !important;
    }
    
    .successText{
        color: var(--green) !important;
    }

    .hidden {
        display: none !important;
    }

    .split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
    }

    .no-center {
        align-items: initial !important;
    }

    .triple-split{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        align-items: center;
        gap: 20px;
    }

    .hide-on-small {
        display: block;
    }

    .hide-on-large {
        display: none;
    }

    .v-align {
        height: 80vh;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
    }

    /*Menu*/
    .menu{
        width: 80%;
        position: fixed;
        top: 20px;
        left: 10%;
        background-color: rgba(255, 255, 255, .9);
        border-radius: 20px;
        border: 2px solid var(--accent);
        display: grid;
        grid-template-columns: 3fr 1fr;
        padding: 0px;
        align-items: center;
        color: var(--accent);
        z-index: 4;
    }

    .logo {
        padding-top: 5px;
        padding-left: 20px; font-size: 23px;
    }

    .logo img.logo {
        width: 200px;
    }

    /*Footer*/
    footer {
        font-size: 14px;
        font-weight: bold;
        color: var(--accent);
        background-color: var(--primary);
        margin-top: 30px;
        border-top: 2px solid var(--primary);
        padding: 10px 0px;
    }

    .logout {
        display: inline-block;
        position: absolute;
        bottom: 40px;
        right: 40px;
    }

    /*LOADER*/
    #loaderUI {
        width: 0px;
        height: 0px;
        background-color: rgba(255, 255, 255, 0.9);
        z-index: 5;
        position: initial;
        display: none;
    }

    #loaderUI.active {
        width: 100vw;
        height: 100vh;
        position: fixed;
        top: 0px;
        left: 0px;
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
    }

    .loaderCircle {
        width:120px; 
        height: 120px; 
        background-color: var(--accent); 
        margin: auto; 
        border-radius: 50%;
        opacity: 0.7;
        scale: .8;
        animation: loaderBubble 1.5s infinite ease-out;
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        font-size: 14px;
        text-align: center;
        font-weight: bold;
    }

    .wait {
        position: absolute;
        bottom: 20%;
        display: block;
        width: 100%;
    }

    /*BTN*/

    .btn {
        background-image: linear-gradient(to bottom right, var(--accent), var(--accent), var(--primary));
        color: var(--secondary);
        display: inline-block;
        padding: 3px 20px;
        border-radius: 5px;
        font-weight: bold;
        text-decoration: none;
        cursor: pointer;
        font-size: 20px;
    }

    .reset {margin-right: 20px}

    .fa-trash {
        color: red;
    }

    .btn i {
        margin-right: 10px;
    }

    .btn:hover{
        background-image: linear-gradient(to bottom right, var(--accent), var(--primary));
    }

    .copy-btn {
        display: inline-block;
        background-color: var(--accent);
        padding: 3px 5px;
        border-radius: 5px;
        cursor: pointer;
        margin-right: 10px;
    }

    /*Feedbacks*/
    .feedbackBox {
        height: 50px;
        margin-top: 20px;
    }

    .errorMsg {
        color: rgb(255, 0, 0);
    }

    .successMsg {
        color: rgb(35, 133, 35);
    }

    /*HERO*/

    .hero {
        font-size: 40px;
        position: relative;
        overflow: hidden;
    }

    .hero .blue-shape {
        height: 250px; 
        width: 40%;
        background-color: var(--accent);
        position: absolute;
        bottom: 0px;
        right: -30px;
        border-bottom-left-radius: 100px;
        transform: rotateZ(8deg);
        z-index: 2;
    }

    .hero img {
        position: absolute;
        top: 50px;
        width: 450px;
        right: 5%;
        z-index: 3;
    }

    /*Home Features*/
    .box {
        background-color: var(--secondary);
        color: var(--accent);
        border-radius: 20px;
        border: 2px solid var(--primary);
        min-height: 330px;
        margin: auto;
        margin-bottom: 30px;
        width: 98%;
    }

    .box img {
        width: 90%;
        max-width: 300px;
        margin: auto;
        display: block;
        scale: .8;
    }

    .box img.active {
        animation: comeout .4s ease forwards;
    }

    form {
        width: 98%;
        margin: auto;
        border-radius: 20px;
        border: 1px solid var(--accent);
        box-shadow: 0px 0px 5px var(--accent);
        margin-bottom: 30px;
        position: relative;
    }

    form .input-container {
        width: 100%;
        display: block;
        position: relative !important;
        margin-top: 20px;
    }

    input,
    textarea {
        width: 96%;
        margin: auto;
        display: block;
        font-size: 18px;
        margin-top: 10px;
        padding: 10px 5px;
        border-radius: 7px;
        border: 2px solid  lightslategray;
        font-weight: bold;
        color: var(--accent);
    }

    .select {
        min-height: 100px;
        max-height: 200px;
        width: 95%;
        position: absolute;
        top: 75px;
        left: 2%;
        overflow-y: scroll !important;
        background-color: var(--secondary);
        border: 2px solid var(--primary);
        border-top: none;
        z-index: 3 !important;
        padding: 0px !important;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .select p {
        padding-left: 20px;
        color: var(--accent);
    }

    .select p:hover {
        background-color: var(--accent);
        color: var(--secondary);
        font-weight: bold;
        cursor: pointer;
    }

    input:focus,
    textarea:focus{
        outline: none;
        border: 2px solid var(--accent);
    }
  
    textarea {
      font-family: 'Poppins', sans-serif !important;
      resize: none;
    }

    label {
        padding-left: 3%;
        font-size: 13px;
        color: lightslategray;
    }

    form div.input-container.active label {
        background-image: linear-gradient(to bottom right, var(--accent), var(--accent), var(--accent), var(--primary));
        color: var(--primary);
        padding: 2px;
        padding-right: 15px;
        padding-left: 3%;
        font-weight: bold;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
        opacity: .1;
        animation: fadein .8s forwards ease;
        display: inline-block;
    }

    /*LOGIN*/
    .login-box {
        height: 60vh;
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        width: 100%;
        max-width: 500px;
        margin: auto;
        margin-bottom: 17vh;
    }

    /*PAY*/
    .payment-row {
        display: grid;
        grid-template-columns: 2fr 3fr;
    }

    .vendor-logo {
        width: 90%;
        margin: auto;
        max-width: 200px;
        max-height: 200px;
        margin-bottom: 30px;
    }

    .verified-cards {
        width: 200px;
    }

    /*Panel*/
    .panel-function{
        text-align: center;
        color: var(--secondary);
        background-color: var(--accent);
        padding: 30px 0px;
        width: 90%;
        margin: auto;
        margin-bottom: 20px;
        border-radius: 5px;
    }

    .panel-function:hover{
        color: var(--primary);
    }

    /* Vendors */

    .goBackToVendors {
        display: inline-block;
        background-color: var(--primary);
        color: var(--accent);
        font-weight: bold;
        border-radius: 15px;
        padding: 5px 15px;
        margin-top: 20px;
    }

    .min-height{
        min-height: 70vh;
    }

    .logoUploader{
        position: initial; 
        text-align: center; 
        display: block !important; 
        width: 80%;
        margin: auto; 
        background-color: var(--primary) !important; 
        background-image: none; 
        color: var(--secondary);
    }

    .logoUploader:hover {
        box-shadow: 0px 0px 10px var(--primary);
        background-image: none; 
    }

    .logoUploader.active {
        background-color: var(--primary) !important; 
        background-image: none !important; 
        color: var(--accent) !important;
    }

    .logoUploader.active:hover {
        box-shadow: none;
    }

    .vendor-card {
        width: 96%;
        margin: auto;
        margin-bottom: 20px;
        border-radius: 10px;
        border: 1px solid var(--accent);
        display: grid;
        grid-template-columns: 1fr 3fr 1fr;
        min-height: 100px;
        align-items: center;
    }

    .vendor-card p {
        padding: 10px;
    }

    .vendor-card img {
        display: block;
        max-width: 100px;
        max-height: 100px;
        margin: auto;
        border-radius: 10px;
    }

    /*CARDS*/
    .card-container {
        border-radius: 20px;
        box-shadow: 0px 0px 10px var(--accent);
        width: 98%;
        margin: 20px auto;
        padding: 20px 0px;
    }

    .cc {
        border-radius: 20px;
        background-color: var(--accent);
        color: var(--secondary);
        width: 90%;
        margin: 20px auto;
        max-width: 300px;
        padding-top: 5px;
        position: relative;
        overflow: hidden !important;
        border: 1px solid var(--accent);
        padding-top: 20px;
    }

    .cc img {
        display: block;
        position: absolute;
        top: 0px;
        right: 0px;
        width: 45px;
        height: 30px;
    }

    .card-split {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    /*Media*/
    @media screen and (max-width: 1150px) {
        .hero h1 {
            font-size: 50px;
            position: relative;
            overflow: hidden;
        }

        .hero img{
            max-width: 250px;
        }
    }

    @media screen and (max-width: 800px) {
        .hero h1 {
            font-size: 33px;
            position: relative;
            overflow: hidden;
        }

        .hero img{
            top: 30px;
        }
    }

    @media screen and (max-width: 750px) {
        .hide-on-small {
            display: none;
        }
    
        .hide-on-large {
            display: block;
        }

        .menu {
            width: 94vw !important;
            left: 3vw;
        }

        .logo{
            padding-left: 10px; font-size: 20px;
        }

        .split {
            display: block;
        }

        .box {
            text-align: center !important;
        }

        .box p {
            padding: 0px 10px;
        }
    }

    @media screen and (max-width: 700px) {
        .payment-row {
            display: block;
        }
    }

    @media screen and (max-width: 650px) {

        .hero h1 {
            padding-top: 230px;
            font-size: 40px;
        }

        .blue-shape {
            top: 0px;
            right: 100px !important;
            transform: rotateZ(110deg) !important;
            height: 300px !important;
        }

        .triple-split{
            display: block;
        }

        
        
    }

    @media screen and (max-width: 500px) {
        .vendor-card {
            display: block;
        }
    }
    
    /*Keyframes*/

    @keyframes comeout {
        100%{scale: 1}
    }

    @keyframes fadein {
        100%{opacity: 1; color: var(--secondary)}
    }

    @keyframes appearList {
        0%{scale: 0}
        50%{scale: 1.4}
        100%{scale: 1}
      }

    @keyframes loaderBubble {
        50%{ opacity: 1; scale: 1; background-color: var(--primary);}
        100%{ opacity: 0.7; scale: 0.8}
    }




    