
/*  
  --------------------------------------------------------------
  -----      Import 'Inter' font and apply it to body      -----
  --------------------------------------------------------------
*/

@import url('./font/inter.css');

body {
    font-family: 'Inter var', sans-serif;
    font-feature-settings: "cv02","cv03","cv04","cv11";
}





/*  
  --------------------------------------------
  -----      Top navigation styling      -----
  --------------------------------------------
*/

.navigation {
    z-index: 1030;
}

#bd-theme-light-dark-auto .dropdown-item.active, #bd-theme-light-dark-auto .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color) !important;
  background: var(--bs-dropdown-link-active-bg) !important;
}





/*  
  ------------------------------------------------  
  -----      Back-to-top button styling      -----
  ------------------------------------------------
*/

.btn-back-to-top {
    position: fixed;
    bottom: 20px;
    display: none;
    z-index: 2;
}

[dir="ltr"] .btn-back-to-top {
    right: 20px;
}

[dir="rtl"] .btn-back-to-top {
    left: 20px;
}





/*  
  ---------------------------------------------------------------------------------------------------------------
  -----      Browser and Editor Styles: This section contains styling for                                   -----
  -----      The .browser class that displays the examples and the .editor class that displays the code     -----
  ---------------------------------------------------------------------------------------------------------------
*/

.browser {
	margin-top: 1rem !important;
	margin-bottom: 1rem !important;
}

.browser-body {
	padding: 2rem !important;
    border-radius: 0.75rem !important;
}

.editor-body {
	max-height: 25rem !important;
}

.components-preview-tab .active {
    background: var(--bs-body-bg) !important;
    color: var(--bs-emphasis-color) !important;
}





/*  
  ------------------------------------------------  
  -----      Additional classes styling      -----
  ------------------------------------------------
*/

#side-bar-start .active {
	background: var(--bs-primary-bg-subtle) !important;
	color: var(--bs-primary-text-emphasis) !important;
    border: 1px solid var(--bs-primary-border-subtle) !important;
}

.side-bar-start-css {
	height: calc(100vh - 6rem); 
	overflow: scroll; 
	top: 6rem;
}

code {
	font-weight: 900;
    font-size: inherit;
}

ol li::marker, ul li::marker { 
	color: var(--bs-primary-text-emphasis) !important; 
	font-weight: 900 !important;
	font-size: 1.25rem !important;
}





/*  
  ---------------------------------------------------------------------------------------  
  -----      AOS (Animate on Scroll) library for right-to-left (RTL) languages      -----
  ---------------------------------------------------------------------------------------
*/

[dir="rtl"] [data-aos=fade-left] {
    transform: translate3d(-100px, 0, 0);
}
[dir="rtl"] [data-aos=fade-right] {
    transform: translate3d(100px, 0, 0); 
}

[dir="rtl"] [data-aos=fade-up-left] {
    transform: translate3d(-100px, 100px, 0); 
}
[dir="rtl"] [data-aos=fade-up-right] {
    transform: translate3d(100px, 100px, 0); 
}

[dir="rtl"] [data-aos=fade-down-left] {
    transform: translate3d(-100px,-100px,0); 
}
[dir="rtl"] [data-aos=fade-down-right] {
    transform: translate3d(100px, -100px, 0); 
}

[dir="rtl"] [data-aos=flip-right] {
    transform: perspective(2500px) rotateY(-100deg);
}
[dir="rtl"] [data-aos=flip-left] {
    transform: perspective(2500px) rotateY(100deg);
}
[dir="rtl"] [data-aos=flip-right].aos-animate {
    transform: perspective(2500px) rotateY(0);
}
[dir="rtl"] [data-aos=flip-left].aos-animate {
    transform: perspective(2500px) rotateY(0);
}

[dir="rtl"] [data-aos=slide-left] {
    transform: translate3d(-100%,0,0);
}
[dir="rtl"] [data-aos=slide-right] {
    transform: translate3d(100%,0,0);
}

[dir="rtl"] [data-aos=zoom-in-right] {
    transform: translate3d(100px,0,0) scale(.6);
}
[dir="rtl"] [data-aos=zoom-in-left] {
    transform: translate3d(-100px,0,0) scale(.6);
}

[dir="rtl"] [data-aos=zoom-out-right] {
    transform: translate3d(100px,0,0) scale(1.2);
}
[dir="rtl"] [data-aos=zoom-out-left] {
    transform: translate3d(-100px,0,0) scale(1.2);
}





/*  
  ------------------------------------------------------------------------------------------  
  -----      CSS for overriding the default theme colors for https://prismjs.com/      -----
  ------------------------------------------------------------------------------------------  
*/

code[class*="language-"],
pre[class*="language-"] {
    color: #cbd5e1; /* slate-300 */
    background: none;
    font-family: 'IBM Plex Mono', 'Fira Code', 'Menlo', 'Monaco', 'Consolas', "Liberation Mono", "Courier New", monospace;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    font-weight: 100 !important;

    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;

    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

/* Code blocks */
pre[class*="language-"] {
    --bs-scrollbar-track-bg: transparent;
    padding: 1.25rem;
    overflow: auto;
    border-radius: 0.75rem; /* rounder corners */
    background: #1e293b; /* slate-800 */
    
    /* --- Double Border Effect --- */
    /* 1. The transparent border creates the "gap" between the two borders. */
    border: 4px solid transparent;
    /* 2. This prevents the background from filling the transparent border area. */
    background-clip: padding-box;
    /* 3. Stacked shadows create the inner border, outer border, and glow. */
    box-shadow: 
        /* Outer glow */
        0 0 8px rgba(147, 197, 253, 0.1),
        /* Outer border */
        0 0 0 1px #334155,
        /* Inner border */
        inset 0 0 0 1px #334155;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
    background: #1e293b; /* slate-800 */
}

/* Inline code */
:not(pre) > code[class*="language-"] {
    padding: .1rem .3rem;
    border-radius: .3rem;
    white-space: normal;
    color: #f0abfc; /* fuchsia-300 */
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #64748b; /* slate-500 */
}

.token.punctuation {
    color: #64748b; /* slate-500 */
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
    color: #f472b6; /* pink-400 */
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: #a5b4fc; /* indigo-300 */
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
    color: #93c5fd; /* blue-300 */
    background: hsla(0, 0%, 100%, 0);
}

.token.atrule,
.token.attr-value,
.token.keyword {
    color: #67e8f9; /* cyan-300 */
}

.token.function,
.token.class-name {
    color: #818cf8; /* indigo-400 */
}

.token.regex,
.token.important,
.token.variable {
    color: #f0abfc; /* fuchsia-300 */
}

.token.important,
.token.bold {
    font-weight: bold;
}
.token.italic {
    font-style: italic;
}

.token.entity {
    cursor: help;
}


/* Language-specific overrides */

/* HTML */
.language-html .token.tag .token.punctuation {
    color: #64748b; /* slate-500 */
}
.language-html .token.tag .token.tag {
    color: #f472b6; /* pink-400 */
}
.language-html .token.attr-name {
    color: #a5b4fc; /* indigo-300 */
}
.language-html .token.attr-value .token.punctuation {
    color: #a5b4fc; /* indigo-300 */
}

/* JSX */
.language-jsx .token.tag .token.punctuation {
    color: #64748b; /* slate-500 */
}
.language-jsx .token.tag .token.class-name {
    color: #f472b6; /* pink-400 */
}
.language-jsx .token.attr-name {
    color: #a5b4fc; /* indigo-300 */
}
.language-jsx .token.attr-value {
    color: #a5b4fc; /* indigo-300 */
}
.language-jsx .token.script .token.punctuation {
    color: #cbd5e1; /* slate-300 */
}

/* Command Line */
.language-bash,
.language-shell {
    border-right: 1px solid #64748b; /* slate-500 */
    margin-right: 1rem;
}

/* Vue: Highlights directives (v-*, @, :) like keywords */
.language-vue .token.attr-name {
    color: #67e8f9; /* cyan-300 */
}

