@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap');
:root {
    --backgroundColor: #fff;
    --fontFamily: 'Poppins', sans-serif;
    --fontWeight1: 300;
    --fontWeight2: 500;
    --fontWeight3: 900;
    --textColor: #000000;
    --btnTextColor: #fff;
    --btnbgcolor: #000;
}

/* Dark theme variables */
[data-theme="dark"] {
    --backgroundColor: #1a1a1a;
    --textColor: #ffffff;
    --cardBg: #2d2d2d;
    --borderColor: #404040;
    --inputBg: #333333;
    --inputText: #ffffff;
    --tableBg: #2d2d2d;
    --tableBorder: #404040;
    --popupBg: #2d2d2d;
    --overlayBg: rgba(0, 0, 0, 0.7);
    --iconBg: #404040;
    --iconColor: #ffffff;
    --iconActiveBg: #1ca085;
    --iconActiveColor: #ffffff;
    --btnbgcolor: #fff;
    --btnTextColor: #000;
}

/* Light theme variables */
[data-theme="light"] {
    --backgroundColor: #ffffff;
    --textColor: #000000;
    --cardBg: #ffffff;
    --borderColor: #cccccc;
    --inputBg: #ffffff;
    --inputText: #000000;
    --tableBg: #ffffff;
    --tableBorder: #cccccc;
    --popupBg: #ffffff;
    --overlayBg: rgba(0, 0, 0, 0.1);
    --iconBg: #f3f3f3;
    --iconColor: #666666;
    --iconActiveBg: #1ca085;
    --iconActiveColor: #ffffff;
    --btnbgcolor: #000;
    --btnTextColor: #fff;
}

body {
    font-family: var(--fontFamily);
    color: var(--textColor);
    background-color: var(--backgroundColor);
}


#app {
    height: 100%;
}
/* navbar */

.navbar {
    border-color: #ccc !important;
}
/* Cards */

.card {
    border: none !important;
    border-color: var(--borderColor) !important;
    border-radius: 2px !important;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    background: var(--cardBg);
}

.card-body {
    padding: 10px 20px;
    background-color: var(--cardBg);
}

.card-title {
  margin-bottom: 2rem;
}

/* Typography */
h1 {
    font-family: var(--fontFamily);
    font-size: 26px;
    font-weight: var(--fontWeight3);
    color: #000;
    margin: 0;
}
h2 {
    font-family: var(--fontFamily);
    font-size: 20px;
    font-weight: var(--fontWeight2);
}
h3 {
    font-family: var(--fontFamily);
    font-size: 18px;
    font-weight: var(--fontWeight1)
}

h4 {
    font-family: var(--fontFamily);
    font-size: 16px;
    font-weight: var(--fontWeight1)
}
h5 {
    font-family: var(--fontFamily);
    font-size: 15px;
    font-weight: var(--fontWeight3)
}
h6 {
    font-size: 14px;
    font-weight: var(--fontWeight2)
}

span {
    font-size: 12px;
}

/* Input Fields */

input[type="checkbox"] {
    margin-right: 10px;
    height: 20px;
    width: 15px;
}
input[type=checkbox]:checked{
    background-color: #FA9E57;
    accent-color: #000;
}

input[type="text"] {
    font-size: 14px;
    box-shadow: none !important;
    font-family: var(--fontFamily);
    background-color: var(--inputBg);
    color: var(--inputText);
}
input[type="text"]:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: var(--borderColor) !important;
}

/* buttons */

.btn {
    border: 1px solid var(--borderColor);
    border-color: var(--borderColor);
    font-family: var(--fontFamily);
    font-size: 14px;
    padding: 5px 8px;
    outline: none !important;
    background-color: var(--btnbgcolor);
    color: var(--btnTextColor);
}

.btn:focus {
    outline: none !important;
    box-shadow: none !important;
}

.btn-md {
    width: 90px !important;
    padding: 8px 5px;
}
.btn-lg {
    width: 200px !important;
    padding: 8px 5px;
}

.btn-inherit {
    width: inherit;
    padding: 8px 5px;
}
.btn-secondary-dark {
    background-color: #0b0b0b !important;
}

.btn-outline-dark:active, .btn-outline-dark:hover {
    background-color: #fff !important;
    color: #0b0b0b !important
}
/* Labels */

label {
    font-family: var(--fontFamily);
    font-weight: var(--fontWeight2);
    font-size: 14px;
    margin: 0;
}

/* Dropdowns */

.custom-select {
    outline: none !important;
    border: 1px solid var(--borderColor);
    border-color: var(--borderColor) !important;
    font-size: 14px !important;
    height: 35px;
    background-color: var(--inputBg);
    color: var(--inputText);
}
.custom-select:focus {
    outline: none !important;
    border-color: #ccc !important;
    box-shadow: none !important;
}

option {
    font-size: 12px !important;
}

/* Text area */

textarea {
    font-family: var(--fontFamily);
    font-size: 14px !important;
    background: var(--inputBg) !important;
    color: var(--inputText) !important;
}

/* Horizontal Line Divider */
/*
hr {
} */
textarea:focus {
    border-color: #ccc !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Tables */
td, th {
    font-size: 14px !important;

}
.table-border {
    box-shadow: unset !important;
    border: 1px solid var(--tableBorder) !important;
    overflow: unset !important;
    background-color: var(--tableBg);
}

/* Overlay */
.overlay {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 2;
    background-color: var(--overlayBg);
}

.popup {
    position: sticky;
    left: 0;
    right: 0;
    top: 50px;
    margin: auto;
    z-index: 5;
    border-radius: 5px;
    text-align: center;
    height: 130px;
    padding-left: 10px;
    padding-top: 10px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    background-color: var(--popupBg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.popup-transition-enter-active {
    animation: bounce-in 0.5s;
}
.popup-transition-leave-active {
    animation: bounce-in 0.5s reverse;
}
.popup-transition-enter-from, .popup-transition-leave-to {
    transform: scale(0);
    position: absolute;
}
@keyframes bounce-in {
    0% {
      transform: scale(0);
    }
    50% {
      transform: scale(1.25);
    }
    100% {
      transform: scale(1);
    }
  }

.header {
    background-color: #fff;
    padding: 10px 15px;
    position:relative;
    padding-bottom: 5px;
}
.header::after {
    content: "";
    position: absolute;
    width: 50%;
    height: 3px;
    background-color: var(--textColor);
    border-radius: 50%;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin:auto;

}
.loader {
    border: 10px solid #f3f3f3;
    /* Light grey */
    border-top: 10px solid #f18024;
    /* Blue */
    border-radius: 100%;
    width: 100px;
    height: 100px;
    animation: spin 1s linear infinite;
    position: absolute;
    left: 47%;
    top: 30%
}

.check-box-container {
    position: relative;
    width: 150px;
    height: 150px;
}

.check-box-container div {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #323335;
    border-radius: 5px;;
}

.check-box-container input[type="radio"] {
    position :absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #323335;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px;

}

.check-box-container input[type="radio"]:checked  {
    background-color: #1ca085;
    border-color: #1ca085;
}
.check-box-container input[type="radio"]:checked ~ div {
    border-color: #1ca085;
}
.check-box-container input[type="radio"]::after {
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.check-box-container input[type="radio"]:checked::after {
    color: #fff;
    font-size: 15px;
    content: "\f00c";
}

.check-box-container .icon i {
    font-size: 52px;
    margin-bottom: 5px;
}

.check-box-container input[type="radio"]:checked ~ div i{
    color: #1ca085;
}
.form-error {
    font-size: 12px;
    color: red;
}

.changeaddress-btn {
    outline:none;
    border: none;
    background-color: transparent;
    color: #1ca085;
    text-decoration: underline;
}

.image-preview-wrapper {
    width: 100px;
    height: 100px;
    background-position: center;
    background-size: cover;
}

.image-upload-container {
    border: 1px dashed var(--borderColor);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    height: 100px;
    gap: 1rem;
    margin-top: 1rem;
    cursor: pointer;
}

.image-upload-container span, .image-upload-container i {
    color: var(--inputText)
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.track-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    min-height: 150px;
}

.track-wrapper::-webkit-scrollbar-track {
    background-color:  #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.track-wrapper::-webkit-scrollbar-thumb {
  background-color: #666;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.track-wrapper::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

/* Tracking Steps */
.track .step .icon {
    background-color: var(--iconBg);
    color: var(--iconColor);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
    transition: all 0.3s ease;
}

.track .step.active .icon {
    background-color: var(--iconActiveBg);
    color: var(--iconActiveColor);
}

.track .step .icon i {
    font-size: 14px;
    color: inherit;
}

.fa {
    margin-top: 0px;
}

.track .step.active:before {
    background: #86ef86;
}

.track .step.active .text {
    color: inherit;
}

.is-invalid {
  border: 1px solid red;
}