/* Custom primary color */
:root {
    --bs-primary: #326889;
    --bs-secondary: #e07a5f;
    --h-Color: #08a045;
}

/* Override for buttons */
.btn-primary .btn-outline-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-secondary .btn-outline-secondary {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
}

.form-check-input {
    border-color: var(--bs-primary);
}

    .form-check-input:checked {
        background-color: var(--bs-primary);
        border-color: var(--bs-primary);
    }


@import url('https://fonts.googleapis.com/css?family=Roboto');

html {
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    position: relative;
    min-height: 100%;
    background-color: #f1f1f1;
}


@media (min-width: 768px) {
    html {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .table-responsive {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .hide-on-mobile {
        display: none;
    }
}

#loadingIndicator {
    position: relative;
}

#loadingIndicatorInner {
    width: 400px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

    #loadingIndicatorInner::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: green;
        animation: animate 5s linear infinite;
    }

@keyframes animate {
    0% {
        left: 0;
    }

    50% {
        left: 100%;
    }

    0% {
        left: 0;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

body {
    margin-bottom: 60px;
    background-color: #f1f1f1;
}

header {
    color: #ffffff;
    vertical-align: baseline;
    height: 110px;
    border: 2px solid ffffff;
    background-color: #326889;
    margin-bottom: 15px;
}

.header {
    color: var(--h-Color);
}



#agencyLogo {
    margin:5px;
    max-height: 100px;
    max-width: 200px;
}


#agencyName {
    font-weight: 700;
}

.card-header {
    background-image: linear-gradient(to bottom right, #326889, #f1f1f1);
    /*background-color: #326889;*/
    color: #fff;
    font-weight: bold;
}

footer {
    background-color: #326889;
    color: #ffffff;
}

.footer-text {
    color: #ffffff;
}

main {
    background-color: #f1f1f1;
}

.maincontainer {
    background-color: #f1f1f1 !important;
}

.form-container {
    min-height: 80vh; /* Use min-height to ensure it covers the viewport, but can expand if content is longer */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center vertically */
    align-items: center; /* Center horizontally */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Adds shadow */
    border-radius: 15px; /* Adds rounded corners */
    padding: 20px; /* Adds padding inside the container */
    background-color: white; /* Ensures background color for contrast with shadow */
}

.btn-primary .btn-secondary {
    padding: 0.75rem 1.25rem; /* Example of extra padding for the button */
}

.card-body {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.info-block {
    flex-basis: calc(50% - 20px); /* Adjust this for desired spacing */
    text-align: center;
    margin-bottom: 20px;
}

.key {
    display: block;
    font-weight: normal;
    color: #666;
}

.value {
    font-weight: bold;
    margin-bottom: 5px; /* Space between value and key */
}


/*
    Direct Pay
*/
.description p {
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.description button {
    margin-top: 10px;
}


.link-arrow {
    color: #007bff; /* Link color */
    text-decoration: none; /* Removes underline from links */
    position: relative;
    padding-right: 15px; /* Space for the arrow */
}

    .link-arrow:after {
        content: '?'; /* Arrow character */
        position: absolute;
        right: 0;
        top: 0;
        color: #007bff; /* Arrow color */
    }

    .link-arrow:hover {
        text-decoration: underline; /* Adds underline on hover */
    }

.wizard {
    margin: 10px auto;
}


    .wizard .nav-tabs {
        position: relative;
        margin-bottom: 0;
        border-bottom-color: transparent;
    }

    .wizard > div.wizard-inner {
        position: relative;
        margin-bottom: 50px;
        text-align: center;
    }

.connecting-line {
    height: 2px;
    background: #e0e0e0;
    position: absolute;
    width: 75%;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 15px;
    z-index: 1;
}


.wizard .nav-tabs > li.active > a, .wizard .nav-tabs > li.active > a:hover, .wizard .nav-tabs > li.active > a:focus {
    color: #555555;
    cursor: default;
    border: 0;
    border-bottom-color: transparent;
}

span.round-tab {
    width: 30px;
    height: 30px;
    line-height: 30px;
    display: inline-block;
    border-radius: 50%;
    background: #fff;
    z-index: 2;
    position: absolute;
    left: 0;
    text-align: center;
    font-size: 16px;
    color: #0e214b;
    font-weight: 500;
    border: 1px solid #ddd;
}

    span.round-tab i {
        color: #555555;
    }

.wizard li.active span.round-tab {
    background: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
}

    .wizard li.active span.round-tab i {
        color: #5bc0de;
    }

.wizard .nav-tabs > li.active > a i {
    color: var(--bs-primary);
}

.wizard .nav-tabs > li {
    width: 25%;
}

.wizard li:after {
    content: " ";
    position: absolute;
    left: 46%;
    opacity: 0;
    margin: 0 auto;
    bottom: 0px;
    border: 5px solid transparent;
    border-bottom-color: red;
    transition: 0.1s ease-in-out;
}



.wizard .nav-tabs > li a {
    width: 30px;
    height: 30px;
    margin: 20px auto;
    border-radius: 100%;
    padding: 0;
    background-color: transparent;
    position: relative;
    top: 0;
}

    .wizard .nav-tabs > li a i {
        position: absolute;
        top: -15px;
        font-style: normal;
        font-weight: 400;
        white-space: nowrap;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 12px;
        font-weight: 700;
        color: #000;
    }

    .wizard .nav-tabs > li a:hover {
        background: transparent;
    }

.wizard .tab-pane {
    position: relative;
    padding-top: 20px;
}


.wizard h3 {
    margin-top: 0;
}

@media (max-width: 768px) {
    .wizard {
        margin: 10px 20px;
    }

    .connecting-line {
        left: -20px
    }

    .wizard li:after {
        content: "  ";
    }


    #agencyName {
        text-align: left;
    }

    .info-block {
        flex-direction: column;
        align-items: flex-start;
    }

    .key {
        margin-bottom: 2px;
    }
}

.next-step {
    background-color: #0db02b;
}

.skip-btn {
    background-color: #cec12d;
}

.button-container {
    display: flex;
    align-items: center; /* Center vertically */
    margin-top: 20px;
}

ul.float-end li {
    display: inline-block;
}


/**
    Direct Pay
*/



@media print {
    body {
        font-size: 12pt;
    }

    .no-print {
        display: none;
    }

    .container {
        width: auto;
    }

    h2, h4 {
        color: black;
    }
}
