:root {
    --dark-color: #202124;
    --main-color: #2E236C;
    --main-color-hover: #261d5b;
    --light-color: #fafafa;
    --gray-color: #a6adb7;
    --border-radius: 0.375rem;
    --box-shadow-form-input: 0 0 0 .25rem rgb(46, 35, 108, .5);
}

.text-primary { color: var(--main-color)!important; }
.dark-color { color: var(--dark-color); }
.bg-primary { background: var(--main-color); }

body { overflow-y: scroll!important; }

html { font-size: 15px; }
h1 { font-size: calc(2.5rem - 1px); }
h2 { font-size: calc(2rem - 1px); }
h3 { font-size: calc(1.75rem - 1px); }
h4 { font-size: calc(1.5rem - 1px); }
h5 { font-size: calc(1.25rem - 1px); }
h6 { font-size: calc(1rem); }

h1, h2, h3, h4, h5, h6 {
    line-height: 1.45;
}

body, h1, h2, h3, h4, h5, h6, p, span, a, div, button, label {
    font-family: 'Poppins', sans-serif!important;
}
input:not([type="radio"]):not([type="checkbox"]),
select, button, .btn {
    padding-top: 8px!important;
    padding-bottom: 8px!important;
}
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
img, video, iframe {
    border-radius: var(--border-radius);
}
a, a:hover {
    color: var(--main-color);
    text-decoration: none!important;
}
hr { opacity: unset; }

.cover-center {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    object-fit: cover;
}
.wh-20 {
    width: 20px!important;
    height: 20px!important;
}
.wh-30 {
    width: 30px!important;
    height: 30px!important;
}
.wh-40 {
    width: 40px!important;
    height: 40px!important;
}
.wh-50 {
    width: 50px!important;
    height: 50px!important;
}
.wh-75 {
    width: 75px!important;
    height: 75px!important;
}
.wh-100 {
    width: 100px!important;
    height: 100px!important;
}
.wh-150 {
    width: 150px!important;
    height: 150px!important;
}
.fw-500 {font-weight: 500!important;}
.fw-600 {font-weight: 600!important;}
.fw-700 {font-weight: 700!important;}

.text-justify {text-align: justify!important;}

.text-one-line {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1 !important;
}
.text-two-line {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2 !important;
}

.text-slider-left {transition: .3s}
.text-slider-left:hover {padding-left: 5px}

/*--------------------------------------------------------------
  # Bootstrap
--------------------------------------------------------------*/
.text-primary { color: var(--main-color)!important; }
.text-dark { color: var(--dark-color)!important; }
.text-light { color: var(--light-color)!important; }

.card,
.accordion-item,
.dropdown-menu {
    box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);
    border: none;
}
.card {
    margin-bottom: 25px;
    border-radius: var(--border-radius);
}
.invalid-feedback { display: block; }
.dropdown-item { white-space: unset; }
.btn-primary,
.btn-primary:active,
.btn-primary:visited,
.btn-primary:focus,
.form-check-input:checked {
    background-color: var(--main-color)!important;
    border-color: var(--main-color)!important;
    transition: .3s;
    color: var(--light-color);
}
.btn-primary:hover {
    background-color: var(--main-color-hover)!important;
    border-color: var(--main-color)!important;
}
textarea:focus,
input:focus,
.btn-primary:focus,
.form-select:focus,
.uneditable-input:focus {
    border-color: var(--main-color)!important;
    box-shadow: var(--box-shadow-form-input)!important;
}
.dropdown-item.active, .dropdown-item:active {
    color: var(--light-color);
    background-color: var(--main-color);
}
.accordion-button {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important;
}
.accordion-button:hover,
.accordion-button:focus,
.accordion-button:not(.collapsed) {
    background-color: var(--main-color);
    color: var(--light-color);
    border-radius: var(--border-radius)!important;
}
.accordion-button:focus { box-shadow: none!important; }
.accordion-body span { font-size:1rem!important; }
.modal-content { border-radius: var(--border-radius); }
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M1.292 4.342a.5.5 0 0 1 .682-.032L8 10.293l6.026-5.98a.5.5 0 1 1 .704.71l-6.5 6.46a.5.5 0 0 1-.704 0l-6.5-6.46a.5.5 0 0 1-.034-.682z'/%3e%3c/svg%3e");
}
.tooltip-inner { background-color: var(--main-color); }
.tooltip.bs-tooltip-auto .tooltip-arrow::before { border-top-color: var(--main-color); }
@media (min-width: 768px) {
    .w-md-25 { width: 25%!important; }
    .w-md-50 { width: 50%!important; }
    .w-md-75 { width: 75%!important; }
    .w-md-100 { width: 100%!important; }
}
@media (min-width: 992px) {
    .w-lg-25 { width: 25%!important; }
    .w-lg-50 { width: 50%!important; }
    .w-lg-75 { width: 75%!important; }
    .w-lg-100 { width: 100%!important; }
}
@media (min-width: 1200px) {
    .w-xl-25 { width: 25%!important; }
    .w-xl-50 { width: 50%!important; }
    .w-xl-75 { width: 75%!important; }
    .w-xl-100 { width: 100%!important; }
}

/*--------------------------------------------------------------
# Swiper
--------------------------------------------------------------*/
.swiper-button-prev, .swiper-button-next {
    background-color: rgba(0, 0, 0, 0.5)!important;
    width: 50px!important;
    height: 50px!important;
    border-radius: 50%!important;
    pointer-events: auto!important;
}
.swiper-button-prev::after, .swiper-button-next::after {
    font-size: 20px!important;
    color: white!important;
}

/*--------------------------------------------------------------
  # Loading Animation
--------------------------------------------------------------*/
.loader {
    position: fixed;
    z-index: 999999;
    background: var(--light-color);
    width: 100%;
    height: 100%;
}
[data-bs-theme=dark]
.loader { background: #212529; }

/*--------------------------------------------------------------
  # Lazy Shimmer
--------------------------------------------------------------*/
img:not([src]):not([srcset]) {
    visibility: hidden;
}

.lazy-shimmer {
    display: block;
    background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
    background-size: 1000px 100%;
    animation: shimmer 1.2s infinite linear;
}

@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}
