@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
:root{
    --airpay-font: 'Open Sans', sans-serif;
    --airpay-white: #fff;
    --airpay-black: #000;
    --airpay-blue: #0958D4;
    --airpay-orange: #FE9F27;
    --airpay-yellow: #dc7b05;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--airpay-font);
}
body {
    color: var(--airpay-black);
    font-size: 16px;
}
img {
    max-width: 100%;
}
a{
    color: var(--airpay-blue);
    text-decoration: none;
}
ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.small {
    font-size: 12px;
}

header {
    background-color: rgb(248 249 250 / 40%);
    transition: all 350ms ease;
}
header.sticky {
    background-color: #f8f9fa;
    box-shadow: 0px -5px 10px 0px #000;
}
header .navbar {
    padding: 15px 0;
}
header .nav-link {
    position: relative;
    margin-left: 30px;
    color: var(--airpay-blue) !important;
    font-size: 14px;
    font-weight: 600;
    padding: 2px 0 !important;
}
.navbar-brand .logo {
    width: 150px;
}
header .nav-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    transition: all 350ms ease;
    transform-origin: center;
    background-color: var(--airpay-orange);
}
header .nav-link:hover::after, header .nav-link.active::after {
    width: 100%;
}
.card {
    border-radius: 5px !important;
}
.card .card-header {
    background-color: var(--airpay-blue);
    padding: 25px 0;
}
.card .card-body, .card .card-footer {
    padding: 30px 30px;
    background-color: #fff;
}
.card .card-title {
    color: var(--airpay-white);
    text-align: center;
    font-size: 24px;
    font-weight: 700;
}
.card .card-subtitle {
    color: var(--airpay-white);
    margin-bottom: unset;
    text-align: center;
    font-size: 14px;
}
.login-wrapper .form-group .form-label {
    color: var(--airpay-black);
    position: absolute;
    top: -8px;
    left: 8px;
    font-size: 12px;
    background-color: #fff;
    padding: 0 8px;
}
.login-wrapper .form-group .checkbox-label {
    color: var(--airpay-black);
    font-size: 14px;
}
.login-wrapper .form-group input, .login-wrapper .form-group select {
    border: 1px solid var(--airpay-black);
    border-radius: 5px !important;
    padding: 8px 15px;
    font-size: 14px;
}
.login-wrapper .form-group input:focus, .login-wrapper .form-group select:focus {
    border-color: var(--airpay-yellow);
    box-shadow: unset;
}
.login-wrapper .form-group .btn {
    border: 1px solid var(--airpay-blue);
    border-radius: 5px !important;
    background-color: var(--airpay-blue);
    color: #fff;
    padding: 5px 20px;
    transition: all 350ms ease;
}
.login-wrapper .form-group .btn:hover {
    background-color: transparent;
    /* border-color: var(--airpay-blue); */
    color: var(--airpay-blue);
}
.login-wrapper .form-group .btn.btn-sm {
    font-size: 10px;
    padding: 5px 10px;
}
.login-span {
    font-size: 12px;
}
.login-link {
    font-size: 12px;
}
.footer-copyright {
    font-size: 12px;
}

.form-group {
    position: relative;
    margin-bottom: 25px;
}

.section-padding {
    padding: 100px 0;
}

.or-signup {
    position: absolute;
    top: 4px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    padding: 0 10px;
}

.social-signup-btn {
    border: unset;
    border-radius: 5px !important;
    color: #fff !important;
    padding: 5px 20px;
    transition: all 350ms ease;
}
.social-signup-btn.google {
    border-color: #df4930 !important;
    background-color: #df4930 !important;
}
.social-signup-btn.facebook {
    border-color: #507cc0 !important;
    background-color: #507cc0 !important;
}
.social-signup-btn.twitter {
    border-color: #64ccf1 !important;
    background-color: #64ccf1 !important;
}
.social-signup-wrapper {
    flex-wrap: wrap;
    gap: 10px;
}

.login-section {
    /* background-image: url(../images/ssspot.svg); */
    background-image: url(../images/AirPay-Bg.png);
    background-repeat: repeat;
    background-size: cover;
}

.banner-section {
    position: relative;
    height: 100vh;
    /* background-image: url(../images/banner-bg.jpg); */
    background-image: url(../images/AirPay-Banner-Bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: -83px;
}
.banner-section::before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #000;
    opacity: 0.4;
}

.banner-content {
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    z-index: 1;
}
.banner-heading {
    font-size: 65px;
    font-weight: 700;
    color: #fff;
}
.text-brand {
    color: var(--airpay-orange);
    text-shadow: 2px 2px var(--airpay-blue);
}

.ctp-list {
    margin: 25px 0 35px;
}
.ctp-list li:not(:last-child) {
    margin-bottom: 10px;
}
.ctp-list li i {
    color: var(--airpay-blue);
    margin-right: 5px;
}
.ctp-list li span {
    color: var(--airpay-white);
}

.how-it-works-btn, .get-started-btn, .user-dashboard-btn {
    color: #fff !important;
    font-weight: 500;
    background-color: var(--airpay-blue) !important;
    border: 1px solid var(--airpay-blue);
    padding: 10px 20px;
    border-radius: 30px;
    transition: all 350ms ease;
    display: inline-block;
    white-space: nowrap;
}
.how-it-works-btn:hover, .get-started-btn:hover, .user-dashboard-btn:hover {
    border-color: var(--airpay-orange);
    background-color: var(--airpay-orange) !important;
}

.bill-payments-btn {
    border: 1px solid var(--airpay-orange);
    border-radius: 5px !important;
    background-color: var(--airpay-orange);
    color: #fff;
    padding: 5px 20px;
    transition: all 350ms ease;
}
.bill-payments-btn:hover {
    color: var(--airpay-orange);
    background-color: transparent !important;
}

.easy-pay-btn {
    border-radius: 5px;
}

.section-title-wrapper {
    text-align: center;
    margin-bottom: 40px;
}
.section-title {
    position: relative;
    text-align: center;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 20px;
}
.section-title::after {
    position: absolute;
    content: '';
    background-color: var(--airpay-orange);
    width: 70%;
    height: 3px;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
}
.section-subtitle {
    text-align: center;
}

.airpay-countries-card {
    background-color: #ffffff;
    box-shadow: 0px 7px 15px rgba(0, 0, 0, 0.05);
    border-radius: 30px;
    padding: 10px 20px 10px 10px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    transition: all 350ms ease;
}
.airpay-countries-card:hover {
    transform: translateY(-5px);
}
.airpay-countries-card img {
    margin-right: 10px;
    max-width: 40px;
}

.how-it-works-card {
    margin: 0 auto;
    text-align: center;
    display: grid;
    justify-items: center;
    transition: all 350ms ease;
}
.how-it-works-card:hover {
    transform: translateY(-5px);
}
.how-it-works-card h3 {
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 20px;
}
.how-it-works-card .image {
    display: inline-block;
    background-color: #fff;
    box-shadow: 0px 7px 15px rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    height: 150px;
    width: 150px;
    line-height: 150px;
    text-align: center;
    margin-bottom: 20px;
}
.how-it-works-card .image img {
    width: 50%;
}
.how-it-works-card p {
    margin-bottom: 0;
    color: #333;
}
.how-it-works-card.dashboard-wallet .image img {
    width: 100%;
}

/* user dashboard */
.user-dashboard-section .how-it-works-card {
    margin: 0 auto 50px;
}
.user-dashboard-section .how-it-works-card h3 {
    font-size: 20px;
}
.user-dashboard-section .how-it-works-card p {
    font-size: 14px;
}
.login-wrapper .card-footer .airpay-logo {
    width: 200px;
}
.login-wrapper .card-footer .nedbank-logo {
    width: 150px;
    object-fit: contain;
}

/* sidebar */
.dashboard-menu ul li {
    position: relative;
}
.dashboard-menu ul li:not(:last-child) {
    margin-bottom: 10px;
}
.dashboard-menu ul li a {
    color: #7E7E7E;
    background-color: var(--airpay-white);
    padding: 15px 30px;
    font-weight: 600;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 5px;
    overflow: hidden;
}
.dashboard-menu ul li a.active {
    color: var(--airpay-white);
    background-color: var(--airpay-blue);
    border-color: var(--airpay-blue);
}
.dashboard-menu ul li a:hover {
    border-color: var(--airpay-blue);
}
.dashboard-menu ul li a i {
    margin-right: 5px;
    width: 20px;
}

    /* Scroll behavior */
    html {
      scroll-behavior: smooth;
    }
    /* Custom styles for the Swal container */
    .custom-swal-container {
        background-color: #f5f5f5;
        border-radius: 5px;
    }
    
    /* Custom styles for the Swal title */
    .custom-swal-title {
        font-size: 14px;
        color: #333;
    }
    
    /* Custom styles for the Swal loader (loading spinner) */
    .custom-swal-loader {
        color: #007bff; /* Change the color of the loading spinner */
    }

    /* Style the SweetAlert modal */
    /* Add custom styles to override SweetAlert2 */
    .swal2-container {
      width: 100% !important; /* Override the width */
    }
    
    .swal2-popup {
      background-color: #f5f5f5;
      border: 2px solid #007BFF;
      border-radius: 10px;
      color: #333;
      font-size: 12px;
      minWidth: 90%; /* Adjust the width as needed */
    }

    /* Style the contact list */
    ul#contacts {
      list-style: none;
      padding: 0;
    }

    ul#contacts li {
      padding: 10px;
      border: 1px solid #ccc;
      margin-bottom: 10px;
      background-color: #f9f9f9;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    /* Style the select button */
    .select-button {
      background-color: #007BFF;
      color: white;
      border: none;
      padding: 5px 10px;
      cursor: pointer;
      border-radius: 5px;
    }

    /* Style the search input and filter select */
    input#contactSearch,
    select#contactFilter {
      width: 100%;
      padding: 8px;
      margin-bottom: 10px;
      border: 1px solid #ccc;
      border-radius: 5px;
    }

    /* Style the pagination buttons */
    #pagination button {
      background-color: #007BFF;
      color: white;
      border: none;
      padding: 5px 10px;
      margin: 0 5px;
      cursor: pointer;
      border-radius: 5px;
    }
    
    
    /* Define custom styles for SweetAlert content */
.custom-swal-content {
  max-width: 300px; /* Adjust the maximum width as needed */
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  text-align: center;
}

.custom-swal-content .progress-container {
  width: 100px; /* Adjust the width of the progress container */
  height: 100px; /* Adjust the height of the progress container */
  margin: 0 auto;
  position: relative;
}

.custom-swal-content .progress-bar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #ccc;
  position: absolute;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.custom-swal-content .logo-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-swal-content #logo {
  max-width: 80%;
  max-height: 80%;
}

/* Additional styles for the progress bar dialog */
.custom-swal-content .swal-title {
  font-size: 20px;
  margin-bottom: 10px;
}

.custom-swal-content .swal-button {
  background-color: #007BFF;
  border: none;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
}

.custom-swal-content .swal-button:hover {
  background-color: #0056b3;
}

/* Add this CSS rule to apply the initial rotation and set up the animation */
#rotating-logo {
  animation: rotate 2s linear infinite; /* Adjust the duration and timing function as needed */
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg); /* Adjust the number of degrees to control the rotation */
  }
}
        /* Container for the radio buttons */
        .radio-group {
            display: flex;
            flex-direction: column; /* Stack radio buttons vertically on mobile */
        }

        /* Customize the radio buttons */
        .radio-group label {
            display: flex;
            align-items: center;
            margin-bottom: 10px;
            cursor: pointer;
        }

        .radio-group label input[type="radio"] {
            display: none; /* Hide the default radio button */
        }

        .custom-radio {
            width: 20px;
            height: 20px;
            border: 2px solid #007BFF; /* Border color */
            border-radius: 50%;
            margin-right: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.3s; /* Smooth transition */
        }

        .radio-group label input[type="radio"]:checked + .custom-radio {
            background-color: #007BFF; /* Fill color when checked */
            border-color: #007BFF; /* Border color when checked */
        }

        /* Style the label text */
        .radio-label {
            font-size: 18px;
            color: #333;
        }

