body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;



}

html,
body {
    scroll-behavior: smooth;

}


/* --------------------------------------------- Components--------------------------------------------- */
/* Buttons */
.btn,
.btn:hover,
.btn:focus,
.btn:active,
[class*="btn--"],
[class*="btn--"]:hover,
[class*="btn--"]:focus {
    text-decoration: none;
}

/* ------------------------------------------------Utilities ---------------------------------------------- */

/* Font Weight */
.font-weight-light {
    font-weight: 300 !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

.font-weight-medium {
    font-weight: 500 !important;
}

.font-weight-semibold {
    font-weight: 600 !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.font-weight-bolder {
    font-weight: bolder !important;
}

/* Font Size */
.fs-smaller {
    font-size: smaller !important;
}

.fs-small {
    font-size: small !important;
}

.fs-medium {
    font-size: medium !important;
}

.fs-large {
    font-size: large !important;
}

.fs-larger {
    font-size: larger !important;
}

.fs-xl {
    font-size: x-large !important;
}

.fs-2xl {
    font-size: xx-large !important;
}

.fs-xs {
    font-size: xx-small !important;
}

.fs-2xs {
    font-size: xx-small !important;
}

/* Background */
/* Use Bootstrap classes .bg-repeat-repeat-* instead */
.bg-none {
    background: none !important;
}

.bg-image-none {
    background-image: none !important;
}

.background-repeat {
    background-repeat: repeat !important;
}

.background-repeat-x {
    background-repeat: repeat-x !important;
}

.background-repeat-y {
    background-repeat: repeat-y !important;
}

.background-no-repeat {
    background-repeat: no-repeat !important;
}

/* Use Bootstrap class .background-size-*  instead */
.background-cover {
    background-size: cover !important;
}

.background-contain {
    background-size: contain !important;
}

.background-100 {
    background-size: 100% !important;
}

/* Use Bootstrap class .background-position-* instead */
.bg-bottom {
    background-position: bottom;
}

.bg-center {
    background-position: center;
}

.bg-left {
    background-position: left;
}

.bg-left-bottom {
    background-position: left bottom;
}

.bg-left-top {
    background-position: left top;
}

.bg-right {
    background-position: right;
}

.bg-right-bottom {
    background-position: right bottom;
}

.bg-right-top {
    background-position: right top;
}

.bg-top {
    background-position: top;
}

.bg-fixed {
    background-attachment: fixed;
}

.bg-scroll {
    background-attachment: scroll;
}

.bg-clip-text {
    background-clip: text;
    -webkit-background-clip: text;
}

.bg-clip-border {
    background-clip: border-box;
}

.bg-clip-padding {
    background-clip: padding-box;
}

.bg-clip-content {
    background-clip: content-box;
}

/* Text Styles */
.text-underline {
    text-decoration: underline !important;
}

.text-underline-under {
    text-underline-position: under !important;
}

.text-decoration-none {
    text-decoration: none !important;
}

.text-underline-offset-auto {
    text-underline-offset: auto !important;
}

.text-underline-offset-1 {
    text-underline-offset: 0.0625rem;
}

.underline-offset-2 {
    text-underline-offset: 0.125rem;
}

.underline-offset-3 {
    text-underline-offset: 0.1875rem;
}

.underline-offset-4 {
    text-underline-offset: 0.25rem;
}

.underline-offset-8 {
    text-underline-offset: 0.5rem;
}

.text-balance {
    text-wrap: balance;
    text-wrap-style: balance;
}

.text-pretty {
    text-wrap: pretty;
    text-wrap-style: pretty;

}

.text-nowrap {
    text-wrap: nowrap;
    text-wrap-style: nowrap;
}

.text-nowrap {

    text-wrap-style: nowrap;
    text-wrap-mode: nowrap;
    text-wrap: nowrap;
}

.text-wrap {
    white-space: normal;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-ellipsis {
    text-overflow: ellipsis;
}

.text-clip {
    text-overflow: clip;
}

.text-transform-none {
    text-transform: none !important;
}

/* Text Shadow */
.text-shadow--default {
    text-shadow: 1px 1px 2px rgb(0 0 0 / 70%);
}

.text-shadow--1 {
    text-shadow: 2px 4px 3px rgba(0, 0, 0, 0.3);
}

.text-shadow--2 {
    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.56);
}

.text-shadow--3 {
    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.19);
}

.text-shadow--4 {
    text-shadow: 0px 3px 5.46px rgba(0, 0, 0, 0.51);
}

.text-shadow--5 {
    text-shadow: 0px 3px 3.72px rgba(0, 0, 0, 0.48);
}

.text-shadow-none {
    text-shadow: none !important;
}

/* Box Shadow */
.box-shadow-none {
    box-shadow: none !important;
}

.box-shadow--default {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.box-shadow--1 {
    box-shadow: 0 0.3125rem 3.4375rem 0 rgb(2 2 2 / 25%);
}

.box-shadow--2 {
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.box-shadow--3 {
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.box-shadow--4 {
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

.box-shadow--5 {
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
}

.box-shadow--6 {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.box-shadow--7 {
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
}

.box-shadow--8 {
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
}

.box-shadow--9 {
    box-shadow: rgba(67, 71, 85, 0.27) 0px 0px 0.25em, rgba(90, 125, 188, 0.05) 0px 0.25em 1em;
}

.box-shadow--10 {
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

.box-shadow--12 {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.box-shadow--13 {
    box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
}

.box-shadow--14 {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .5);
}

/* Vertical Align */
.v-align-text-top {
    vertical-align: text-top;
}

.v-align-text-bottom {
    vertical-align: text-bottom;
}

.v-align-baseline {
    vertical-align: baseline;
}

/* for inline/table cell elements */
.v-align-top {
    vertical-align: top;
}

.v-align-middle {
    vertical-align: middle;
}

.v-align-bottom {
    vertical-align: bottom;
}

.v-align-sub {
    vertical-align: sub;
}

.v-align-super {
    vertical-align: super;
}

.content-none {
    content: none;
}

/*----------- Borders ----------------*/
/* Border Style */
.border-solid {
    border-style: solid !important;
}

.border-dash {
    border-style: dashed !important;
}

.border-dotted {
    border-style: dotted !important;
}

/* Bootstrap class .border-width-*, .border-left-width-*, .border-right-width-*  available*/
.border-1 {
    border-width: 1px !important;
}

.border-2 {
    border-width: 2px !important;
}

.border-3 {
    border-width: 3px !important;
}

.border-4 {
    border-width: 4px !important;
}

.border-5 {
    border-width: 5px !important;
}

.border-7 {
    border-width: 7px !important;
}

.border-10 {
    border-width: 10px !important;
}

/* Border Position */
.border-right-1 {
    border-right: 1px !important;
}

.border-right-2 {
    border-right: 2px !important;
}

.border-right-3 {
    border-right: 3px !important;
}

.border-right-5 {
    border-right: 5px !important;
}

.border-right-7 {
    border-right: 7px !important;
}

.border-right-10 {
    border-right: 10px !important;
}

.border-left-1 {
    border-left: 1px !important;
}

/* Border Opacity */
.border-opacity-10 {
    --bs-border-opacity: 0.1;
}

.border-opacity-25 {
    --bs-border-opacity: 0.25;
}

.border-opacity-50 {
    --bs-border-opacity: 0.5;
}

.border-opacity-70 {
    --bs-border-opacity: 0.7;
}

.border-opacity-75 {
    --bs-border-opacity: 0.75;
}


/* Line Height */

.lh-1 {
    line-height: 1 !important;
}

.lh-heading {
    line-height: 1.1 !important;
}

.lh-tight {
    line-height: 1.3 !important;
}

.lh-normal {
    line-height: 1.5 !important;
}

.lh-loose {
    line-height: 1.8 !important;
}

.lh-lg {
    line-height: 2 !important;
}

/* Letter Spacing */
.tracking-tighter {
    letter-spacing: -0.05rem;
}

.tracking-tight {
    letter-spacing: -0.025rem;
}

.tracking-wide {
    letter-spacing: 0.025rem;
}

.tracking-wider {
    letter-spacing: 0.05rem;
}

.tracking-xl-wide {
    letter-spacing: 0.09375rem;
}

.tracking-xxl-wide {
    letter-spacing: 0.1rem;
}

.tracking-widest {
    letter-spacing: 0.125rem;
}


/* Bootstrap Aspect ratio class available and extended .aspect-ratio-* */
.aspect-ratio-auto {
    aspect-ratio: auto;
}

.aspect-ratio-5-4 {
    aspect-ratio: 5/4;
}

.aspect-ratio-6-4 {
    aspect-ratio: 6/4;
}

.aspect-ratio-16-9 {
    aspect-ratio: 16/9;
}

.aspect-ratio-21-9 {
    aspect-ratio: 21/9;
}

.aspect-ratio-9-16 {
    aspect-ratio: 9/16;
}

.aspect-ratio-4-1 {
    aspect-ratio: 4 / 1;
}

.aspect-ratio-2-1 {
    aspect-ratio: 2 / 1;
}

.aspect-ratio-1-1 {
    aspect-ratio: 1 / 1;
}

/* Position */
.sticky-bottom {
    position: fixed !important;
    bottom: 0;
    width: 100%;
    z-index: 1020;
}

.top-0 {
    top: 0 !important;
}

.bottom-0 {
    bottom: 0 !important;
}

.left-0 {
    left: 0 !important;
}

.right-0 {
    right: 0 !important;
}

.top-10 {
    top: 10% !important;
}

.bottom-10 {
    bottom: 10% !important;
}

.left-10 {
    left: 10% !important;
}

.right-10 {
    right: 10% !important;
}

.top-15 {
    top: 15% !important;
}

.bottom-15 {
    bottom: 15% !important;
}

.left-15 {
    left: 15% !important;
}

.right-15 {
    right: 15% !important;
}

.top-25 {
    top: 25% !important;
}

.bottom-25 {
    bottom: 25% !important;
}

.left-25 {
    left: 25% !important;
}

.right-25 {
    right: 25% !important;
}

.top-50 {
    top: 50% !important;
}

.bottom-50 {
    bottom: 50% !important;
}

.left-50 {
    left: 50% !important;
}

.right-50 {
    right: 50% !important;
}

.position-top-0 {
    top: 0;
}

.position-top-1 {
    top: 1rem;
}

.position-top-2 {
    top: 2rem;
}

.position-top-3 {
    top: 3rem;
}

.position-bottom-0 {
    bottom: 0;
}

.position-left-0 {
    left: 0;
}

.position-right-0 {
    right: 0;
}

.position-middle {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Overflow */

.overflow-hidden {
    overflow: hidden;
}

.overflow-x-hidden {
    overflow-x: hidden;
}


.overflow-y-scroll {
    overflow-y: scroll;
}

.overflow-x-scroll {
    overflow-x: scroll;
}

/* Z-index - Bootstrap class .z-* available */
.z-index-1 {
    z-index: 1;
}

.z-index-2 {
    z-index: 2;
}

.z-index-3 {
    z-index: 3;
}

.z-index-4 {
    z-index: 4;
}

.z-index-5 {
    z-index: 5;
}



/* ------Width --------*/
/* Content Width */
.width-fit-content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.width-max-content {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.width-min-content {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
}

/* Helpers */
[onClick] {
    cursor: pointer;
}

.no-scroll {
    overflow: hidden !important;
}

.overflow-visible {
    overflow: visible !important;
}

.hidden {
    display: none;
}

/* Responive Column Width */
@media (min-width: 576px) {


    .w-sm-25 {
        width: 25% !important;
    }

    .w-sm-50 {
        width: 50% !important;
    }

    .w-sm-75 {
        width: 75% !important;
    }
}

@media (min-width: 768px) {

    .w-md-25 {
        width: 25% !important;
    }

    .w-md-50 {
        width: 50% !important;
    }

    .w-md-75 {
        width: 75% !important;
    }
}

@media (min-width: 992px) {

    .w-lg-25 {
        width: 25% !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .w-lg-75 {
        width: 75% !important;
    }
}

@media (min-width: 1200px) {


    .w-xl-25 {
        width: 25% !important;
    }

    .w-xl-50 {
        width: 50% !important;
    }

    .w-xl-75 {
        width: 75% !important;
    }
}

@media (min-width: 1400px) {
    .w-xxl-25 {
        width: 25% !important;
    }

    .w-xxl-50 {
        width: 50% !important;
    }

    .w-xxl-75 {
        width: 75% !important;
    }



}

@media (min-width: 1920px) {


    .w-3xl-25 {
        width: 25% !important;
    }

    .w-3xl-50 {
        width: 50% !important;
    }

    .w-3xl-75 {
        width: 75% !important;
    }
}


/* -------------------------------------------- Transform & Animate  ---------------------------------------------- */

.flip-horizontally {
    transform: rotate(180deg);
}

.rotated-text--3deg {
    transform: rotate(3deg);
    -webkit-transform: rotate(3deg);
    -moz-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    transform-origin: bottom right;
}

.rotated--n3deg {
    transform: rotate(-3deg);
    -webkit-transform: rotate(-3deg);
    -moz-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    -o-transform: rotate(-3deg);
    transform-origin: bottom left;
}

.rotated-text--5deg {
    transform: rotate(5deg);
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform-origin: bottom right;
}

.rotated-text--n5deg {
    transform: rotate(-5deg);
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform-origin: bottom left;
}

/* ---------------------------------------------------------  Grid ------------------------------------------------- */
/* Spacing */
.row-gap-xs {
    row-gap: 0.625rem;
}

.row-gap-sm {
    row-gap: 0.75rem;
}

.row-gap-md {
    row-gap: 1.25rem;
}

.row-gap-lg {
    row-gap: 1.75rem;
}

.row-gap-xl {
    row-gap: 2rem;
}

.col-gap-sm {
    column-gap: 0.75rem;
}

.col-gap-m {
    column-gap: 1.25rem;
}

.col-gap-lg {
    column-gap: 1.75rem;
}

.col-gap-xl {
    column-gap: 2rem;
}