html[dir="rtl"] body,
body.is-rtl{
    direction: rtl;
    unicode-bidi: embed;
    text-align: right;
}

html[dir="rtl"] .layout-wrapper,
html[dir="rtl"] .layout-wrapper.landing,
html[dir="rtl"] .container,
html[dir="rtl"] .row,
body.is-rtl .layout-wrapper,
body.is-rtl .layout-wrapper.landing,
body.is-rtl .container,
body.is-rtl .row{
    direction: rtl;
}

/* text helpers */
html[dir="rtl"] .text-start,
body.is-rtl .text-start{
    text-align: right !important;
}

html[dir="rtl"] .text-end,
body.is-rtl .text-end{
    text-align: left !important;
}

/* float helpers */
html[dir="rtl"] .float-start,
body.is-rtl .float-start{
    float: right !important;
}

html[dir="rtl"] .float-end,
body.is-rtl .float-end{
    float: left !important;
}

/* spacing swap */
html[dir="rtl"] .ms-0, body.is-rtl .ms-0{ margin-left:0 !important; margin-right:0 !important; }
html[dir="rtl"] .ms-1, body.is-rtl .ms-1{ margin-left:0 !important; margin-right:.25rem !important; }
html[dir="rtl"] .ms-2, body.is-rtl .ms-2{ margin-left:0 !important; margin-right:.5rem !important; }
html[dir="rtl"] .ms-3, body.is-rtl .ms-3{ margin-left:0 !important; margin-right:1rem !important; }
html[dir="rtl"] .ms-4, body.is-rtl .ms-4{ margin-left:0 !important; margin-right:1.5rem !important; }
html[dir="rtl"] .ms-5, body.is-rtl .ms-5{ margin-left:0 !important; margin-right:3rem !important; }

html[dir="rtl"] .me-0, body.is-rtl .me-0{ margin-right:0 !important; margin-left:0 !important; }
html[dir="rtl"] .me-1, body.is-rtl .me-1{ margin-right:0 !important; margin-left:.25rem !important; }
html[dir="rtl"] .me-2, body.is-rtl .me-2{ margin-right:0 !important; margin-left:.5rem !important; }
html[dir="rtl"] .me-3, body.is-rtl .me-3{ margin-right:0 !important; margin-left:1rem !important; }
html[dir="rtl"] .me-4, body.is-rtl .me-4{ margin-right:0 !important; margin-left:1.5rem !important; }
html[dir="rtl"] .me-5, body.is-rtl .me-5{ margin-right:0 !important; margin-left:3rem !important; }

html[dir="rtl"] .ps-0, body.is-rtl .ps-0{ padding-left:0 !important; padding-right:0 !important; }
html[dir="rtl"] .ps-1, body.is-rtl .ps-1{ padding-left:0 !important; padding-right:.25rem !important; }
html[dir="rtl"] .ps-2, body.is-rtl .ps-2{ padding-left:0 !important; padding-right:.5rem !important; }
html[dir="rtl"] .ps-3, body.is-rtl .ps-3{ padding-left:0 !important; padding-right:1rem !important; }
html[dir="rtl"] .ps-4, body.is-rtl .ps-4{ padding-left:0 !important; padding-right:1.5rem !important; }
html[dir="rtl"] .ps-5, body.is-rtl .ps-5{ padding-left:0 !important; padding-right:3rem !important; }

html[dir="rtl"] .pe-0, body.is-rtl .pe-0{ padding-right:0 !important; padding-left:0 !important; }
html[dir="rtl"] .pe-1, body.is-rtl .pe-1{ padding-right:0 !important; padding-left:.25rem !important; }
html[dir="rtl"] .pe-2, body.is-rtl .pe-2{ padding-right:0 !important; padding-left:.5rem !important; }
html[dir="rtl"] .pe-3, body.is-rtl .pe-3{ padding-right:0 !important; padding-left:1rem !important; }
html[dir="rtl"] .pe-4, body.is-rtl .pe-4{ padding-right:0 !important; padding-left:1.5rem !important; }
html[dir="rtl"] .pe-5, body.is-rtl .pe-5{ padding-right:0 !important; padding-left:3rem !important; }

/* border swap */
html[dir="rtl"] .border-start,
body.is-rtl .border-start{
    border-left: 0 !important;
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

html[dir="rtl"] .border-end,
body.is-rtl .border-end{
    border-right: 0 !important;
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

/* rounded swap */
html[dir="rtl"] .rounded-start,
body.is-rtl .rounded-start{
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important;
}

html[dir="rtl"] .rounded-end,
body.is-rtl .rounded-end{
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important;
}

/* navbar */
html[dir="rtl"] .navbar-nav,
body.is-rtl .navbar-nav{
    padding-right: 0;
}

html[dir="rtl"] .navbar-landing .navbar-nav .nav-link,
body.is-rtl .navbar-landing .navbar-nav .nav-link{
    text-align: right;
}

html[dir="rtl"] .navbar-brand,
body.is-rtl .navbar-brand{
    direction: rtl;
}

/* dropdown */
html[dir="rtl"] .dropdown-menu,
body.is-rtl .dropdown-menu{
    direction: rtl;
    text-align: right;
}

/* forms */
html[dir="rtl"] input,
html[dir="rtl"] textarea,
body.is-rtl input,
body.is-rtl textarea{
    direction: rtl;
    text-align: right;
}

/* accordion */
html[dir="rtl"] .accordion-button,
body.is-rtl .accordion-button{
    text-align: right;
}

html[dir="rtl"] .accordion-button::after,
body.is-rtl .accordion-button::after{
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* list / icon spacing */
html[dir="rtl"] .fgen-list li i,
body.is-rtl .fgen-list li i{
    margin-right: 0 !important;
    margin-left: .5rem !important;
}

/* generic icon before/after handling */
html[dir="rtl"] i[class^="ri-"],
html[dir="rtl"] i[class*=" ri-"],
body.is-rtl i[class^="ri-"],
body.is-rtl i[class*=" ri-"]{
    direction: rtl;
}

/* if icon is rendered using pseudo-element */
html[dir="rtl"] .ri-checkbox-circle-fill::before,
html[dir="rtl"] .ri-checkbox-circle-fill::after,
body.is-rtl .ri-checkbox-circle-fill::before,
body.is-rtl .ri-checkbox-circle-fill::after{
    display: inline-block;
}

html[dir="rtl"] .ri-arrow-right-line::before,
body.is-rtl .ri-arrow-right-line::before{
    display: inline-block;
}

/* buttons / links with icons */
html[dir="rtl"] .btn i,
html[dir="rtl"] a i,
body.is-rtl .btn i,
body.is-rtl a i{
    vertical-align: middle;
}

html[dir="rtl"] .btn .ri-arrow-right-line,
html[dir="rtl"] a .ri-arrow-right-line,
body.is-rtl .btn .ri-arrow-right-line,
body.is-rtl a .ri-arrow-right-line{
    margin-left: 0 !important;
    margin-right: .25rem !important;
}

/* flex helpers */
html[dir="rtl"] .justify-content-start,
body.is-rtl .justify-content-start{
    justify-content: flex-end !important;
}

html[dir="rtl"] .justify-content-end,
body.is-rtl .justify-content-end{
    justify-content: flex-start !important;
}

/* keep centered centered */
html[dir="rtl"] .justify-content-center,
body.is-rtl .justify-content-center{
    justify-content: center !important;
}

/* utility when you want a specific row reversed */
html[dir="rtl"] .rtl-flex-reverse,
body.is-rtl .rtl-flex-reverse{
    flex-direction: row-reverse !important;
}

/* your page-specific fixes */
html[dir="rtl"] .auth-cta,
body.is-rtl .auth-cta{
    direction: rtl;
}

html[dir="rtl"] .billing-switch-wrap,
body.is-rtl .billing-switch-wrap{
    direction: rtl;
}

html[dir="rtl"] .footer-list,
body.is-rtl .footer-list{
    padding-right: 0;
}

html[dir="rtl"] .text-sm-end,
body.is-rtl .text-sm-end{
    text-align: left !important;
}

@media (min-width: 576px){
    html[dir="rtl"] .text-sm-start,
    body.is-rtl .text-sm-start{
        text-align: right !important;
    }

    html[dir="rtl"] .text-sm-end,
    body.is-rtl .text-sm-end{
        text-align: left !important;
    }
}
/* exact RTL fix for icon lists */
html[dir="rtl"] .fgen-list,
body.is-rtl .fgen-list{
    padding-right: 0 !important;
    padding-left: 0 !important;
}

html[dir="rtl"] .fgen-list li,
body.is-rtl .fgen-list li{
    text-align: right !important;
    overflow: hidden;
}

html[dir="rtl"] .fgen-list li i,
body.is-rtl .fgen-list li i{
    float: right !important;
    margin-right: 0 !important;
    margin-left: .5rem !important;
    line-height: inherit;
}

/* generic bootstrap list reset in rtl */
html[dir="rtl"] .list-unstyled,
html[dir="rtl"] .list-inline,
body.is-rtl .list-unstyled,
body.is-rtl .list-inline{
    padding-right: 0 !important;
    padding-left: 0 !important;
}
