:root {
    --extreme-border-radius: 30px;
    --border-radius: 15px;
    --text-input-border-radius: 10px;

    --lightest-color: #2a9c85;
    --light-color: #19564a;
    --dark-color: #0d2c26;

    --red-color: #a02f46;
    --light-red-color: #f14668;

    --purple-color: #563598;

    --navy-color: #000048;
    --blue-color: #1e4b9c;

    --yellow-color: #ffe08a;

    --gray-color: #1A1919;
    --light-gray-color: #bdbdbd;

    --container-mobile: 95%;
    --container-tablet: 960px;
    --container-desktop: 1080px;
    --container-widescreen: 1280px;

    --navbar-height: 55px;
}

.Select-control {
    background-color: #1e4b9c !important;
    border-color: #ffffff;
    color:white;
}  

.Select-value-label {
    color: white !important;
}

.Select-menu-outer {
    background-color: #589DD6;
    border-color: #ffffff;
    color: white;
}    

@font-face {font-family: "Apercu";
    src: url("https://db.onlinewebfonts.com/t/0a086e32e41c5e5960b26626757f07f3.eot"); /* IE9*/
    src: url("https://db.onlinewebfonts.com/t/0a086e32e41c5e5960b26626757f07f3.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("https://db.onlinewebfonts.com/t/0a086e32e41c5e5960b26626757f07f3.woff2") format("woff2"), /* chrome firefox */
    url("https://db.onlinewebfonts.com/t/0a086e32e41c5e5960b26626757f07f3.woff") format("woff"), /* chrome firefox */
    url("https://db.onlinewebfonts.com/t/0a086e32e41c5e5960b26626757f07f3.ttf") format("truetype"), /* chrome firefox opera Safari, Android, iOS 4.2+*/
    url("https://db.onlinewebfonts.com/t/0a086e32e41c5e5960b26626757f07f3.svg#Apercu") format("svg"); /* iOS 4.1- */
}

@font-face {
    font-family: "SanSerifThick";
    src: url("https://db.onlinewebfonts.com/t/367eab297c6d108f50752f1be4deb7fc.eot");
    src: url("https://db.onlinewebfonts.com/t/367eab297c6d108f50752f1be4deb7fc.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/367eab297c6d108f50752f1be4deb7fc.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/367eab297c6d108f50752f1be4deb7fc.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/367eab297c6d108f50752f1be4deb7fc.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/367eab297c6d108f50752f1be4deb7fc.svg#Basically A Sans Serif")format("svg");
}

@font-face {
    font-family: "SanSerifMedium";
    src: url("https://db.onlinewebfonts.com/t/2bd223fc537af3cc23747cec5e9bc79a.eot");
    src: url("https://db.onlinewebfonts.com/t/2bd223fc537af3cc23747cec5e9bc79a.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/2bd223fc537af3cc23747cec5e9bc79a.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/2bd223fc537af3cc23747cec5e9bc79a.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/2bd223fc537af3cc23747cec5e9bc79a.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/2bd223fc537af3cc23747cec5e9bc79a.svg#Basically A Sans Serif Medium")format("svg");
}


@font-face {
    font-family: "SanSerifThin";
    src: url("https://db.onlinewebfonts.com/t/7066468885c806dfc3345bb87a445f30.eot");
    src: url("https://db.onlinewebfonts.com/t/7066468885c806dfc3345bb87a445f30.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/7066468885c806dfc3345bb87a445f30.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/7066468885c806dfc3345bb87a445f30.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/7066468885c806dfc3345bb87a445f30.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/7066468885c806dfc3345bb87a445f30.svg#Basically A Sans Serif Light")format("svg");
}

#card-2 {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
    color: '#1e4b9c';
}

#card-2 .scale, #card-2 .needle, #card-2 .needle-knob {
    display: none !important;
}

#card-2 circle.track {
    stroke-width: 20px;
    /* r:18; */
    /* stroke-dasharray: 100; */
    /* stroke: rgb(94, 92, 92)!important; */
}

#card-3 {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
    color: '#1e4b9c';
}

#card-3 .scale, #card-3 .needle, #card-3 .needle-knob {
    display: none !important;
}

#card-3 circle.track {
    stroke-width: 20px;
    /* r:18; */
    stroke-dasharray: 5000;
    /* stroke: rgb(94, 92, 92)!important; */
}

.is-rounded{
    border-radius:6px;
}

.scrolling-wrapper-flexbox {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
  
    .card {
      flex: 0 0 auto;
    }
  }

/* horizontal scrolling capabilities */
.hs {
    display: grid;
    grid-gap: calc(var(20px) / 2);
    grid-template-columns: 10px repeat(var(3), calc(50% - var(20px) * 2)) 10px;
    grid-template-rows: minmax(150px, 1fr);
    
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    padding-bottom: calc(.75 * var(20px));
    margin-bottom: calc(-.25 * var(20px));
  }
  
.hs:before,
.hs:after {
    content: '';
  }

/* needed for spacing between boxes in scrolling row */
.hs a .box { /* box is a descendent of a which is a descendent of hs */
    margin-right:0.5rem;
    margin-left:0.5rem;
    margin-bottom:1rem;
    scroll-snap-align: center; /* start | end | center */
}

.hs::-webkit-scrollbar{
    display: none;
  }

.scroll-down {
    position: relative;
    left: 100px;
    top: 40px;
    text-align: right;
    font-size: 20px;
    z-index: 100;
    text-decoration: none;
    text-shadow: 0;
    width: 30px;
    height: 30px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    z-index: 9;
    left: 50%;
    -webkit-transform: translate(0%, 0%) rotate(90deg);
    -moz-transform: translate(0%, 0%) rotate(90deg);
    transform: translate(0%, 0%) rotate(90deg);
    -webkit-animation: fade_move_down 2s ease-in-out infinite;
    -moz-animation:    fade_move_down 2s ease-in-out infinite;
    animation:         fade_move_down 2s ease-in-out infinite;
}

/*animated scroll arrow animation*/
@-webkit-keyframes fade_move_down {
  0%   { -webkit-transform:translate(-10px,0px) rotate(90deg); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -webkit-transform:translate(0px,0px) rotate(90deg); opacity: 0; }
}
@-moz-keyframes fade_move_down {
  0%   { -moz-transform:translate(-10px,0px) rotate(45deg); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -moz-transform:translate(0px,0px) rotate(45deg); opacity: 0; }
}
@keyframes fade_move_down {
  0%   { transform:translate(-10px,0px) rotate(45deg); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { transform:translate(0px,0px) rotate(45deg); opacity: 0; }
}

.hs img.img-small {
    width: 300px;
    height: 160px;
    padding: 0px;
}

.hs a .box.box-small {
    width: 280px;
    height: 280px;
    margin-top: 10px;   
}

.hs a:hover .box {
    height: 300px!important;
    width: 300px!important;
    margin-top: 0px!important;
}

.hs a:hover .box img.img-small{
    /* background-color: #1e4b9c; */
    height: 180px!important;
}

#langue_dropdown .Select-value-label {
    color: rgb(37, 224, 37) !important;
}    

#langue_dropdown .Select-control {
    background-color: red !important;
    color:white;
  }  
  
#langue_dropdown .Select-menu-outer {
    background-color: rgb(25, 25, 25);
    color: white;
}  
.lds-facebook,.lds-facebook div{
    box-sizing:border-box
}
.lds-facebook{
    display:inline-block;
    position:relative;
    width:80px;
    height:80px
}
.lds-facebook div{
    display:inline-block;
    position:absolute;
    left:8px;
    width:16px;
    background:#fff;
    animation:lds-facebook 1.2s cubic-bezier(0,0.5,0.5,1) infinite
}
.lds-facebook div:nth-child(1){
    left:8px;
    animation-delay:-0.24s
}
.lds-facebook div:nth-child(2){
    left:32px;
    animation-delay:-0.12s
}
.lds-facebook div:nth-child(3){
    left:56px;
    animation-delay:0s
}
@keyframes lds-facebook{
    0%{
        top:8px;
        height:64px
    }
    50%,100%{
        top:24px;
        height:32px
    }
}
/* Change color upon hovering over link */
a p.redirect {
    color: white;
}
a p.redirect:hover{
    color:var(--lightest-color);
}
/* Background animation with wavy colours */
.hero.is-primary.background-animation.bright-colors{
	background: linear-gradient(-45deg, #523886, #7248c7, #485fc7, #5e78ee);
	background-size: 400% 400%;
	animation: gradient 10s ease infinite;
	height: 100vh;
}
.hero.is-primary.background-animation.dark-colors{
    background: radial-gradient(circle at 20% 25%, var(--dark-color) 50%, transparent 100%),
              radial-gradient(circle at 80% 60%, var(--light-color) 50%, transparent 60%);
              /* radial-gradient(circle at 0% 80%, var(--navy-color) 20%, transparent 60%); */
	animation: gradient 30s ease infinite;
	min-height: 100vh; /* min height which then adjusts to content beyond that */
}
.hero.is-primary.background-animation.green-theme{
	background: linear-gradient(-45deg, #111111, #1a1919, #1e6a5f);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	/* height: 320vh; */
}
.hero.is-primary.background-animation.yellow-theme{
	background: linear-gradient(-45deg, #111111, #1a1919, #575126);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	/* height: 320vh; */
}
.hero.is-primary.background-animation.purple-theme{
	background: linear-gradient(-45deg, #111111, #1a1919, #36235b);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	/* height: 320vh; */
}
.hero.is-primary.background-animation.red-theme{
	background: linear-gradient(-45deg, #111111, #1a1919, rgb(89, 33, 44));
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	/* height: 320vh; */
}
@keyframes gradient{
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
/* Typewriter effect */
.welcome-typing {
    display: inline-block; 
    animation: typing 2s steps(31);
    /* animation: typing 2s steps(31), blink .75s step-end infinite alternate; */
    white-space: nowrap;
    overflow: hidden;
    /* border-right: 5px solid; */
    font-family: SanSerifMedium;
    font-size: 2em;
}
.chat-typing {
    animation: typing 2s steps(22);
    white-space: pre-wrap;
    overflow: hidden;
    font-family: SanSerifMedium;
    font-size: 2em;
    display: block; /* Prevents inline shifting */
    text-align: left; /* Ensures text always aligns left */
    width: 0; /* Start with no width */
}
.landing-typing p{
    width: 31ch;
    animation: typing 2s steps(10), blink .5s step-end infinite alternate;
    white-space: nowrap;
    overflow: hidden;
    border-right: 0px solid;
    font-family: monospace;
    font-size: 1em;

    &:nth-child(1){
        width: 35ch;
        animation-delay:0s;
        border-right: 0px solid;
    }
    &:nth-child(2){
        width: 17ch;
        visibility: hidden;
        animation-delay:2s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(3){
        width: 34ch;
        visibility: hidden;
        animation-delay:4s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
}
.typing-demo p{
    display: inline-block; 
    animation: typing 2s steps(47), blink .5s step-end infinite alternate;
    white-space: pre;
    overflow: hidden;
    border-right: 2px solid;
    font-family: monospace;
    font-size: 1em;
    width: auto;
    min-width: 0;

    &:nth-child(1){
        width: 47ch;
        animation-delay:0s;
        border-right: 0px solid;
    }
    &:nth-child(3){
        width: 44ch;
        visibility: hidden;
        animation-delay:2s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(4){
        width: 49ch;
        visibility: hidden;
        animation-delay:4s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(5){
        width: 56ch;
        visibility: hidden;
        animation-delay:6s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(6){
        width: 56ch;
        visibility: hidden;
        animation-delay:8s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(7){
        width: 56ch;
        visibility: hidden;
        animation-delay:10s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(8){
        width: 56ch;
        visibility: hidden;
        animation-delay:12s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(9){
        width: 56ch;
        visibility: hidden;
        animation-delay:14s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(10){
        width: 56ch;
        visibility: hidden;
        animation-delay:16s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(11){
        width: 56ch;
        visibility: hidden;
        animation-delay:18s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    &:nth-child(12){
        width: 56ch;
        visibility: hidden;
        animation-delay:20s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    }
    /* &:last-child{
        width: 57ch;
        visibility: hidden;
        animation-delay:18s;
        animation-fill-mode: forwards;
        border-right: 0px solid;
    } */
}
@keyframes typing {
    from {
        width: 0;
    }
    to { 
        width: 100%; 
        visibility: visible; 
    }
}
/* 
@keyframes blink {
    from, to {
        border-color: transparent;
    }
    50% {
        visibility: hidden; 
        border-color: white;
    }
}  */
@keyframes blink-caret {
    from, to { border-color: transparent; }
    50% { border-color: rgb(255, 255, 255); }
}
  
.typing-effect p {
    display: inline-block;
    font-family: monospace;
    font-size: 1em;
    /* white-space: normal;  Allows text wrapping */
    border-right: 2px solid;
    animation: typing 3s steps(50, end), blink-caret .75s step-end infinite;
}
  
/* .typing-container {
    width: 100%;
    max-width: 1280px; /* Adjust based on your layout */
    /* margin: 0 auto; */
/* } */ 

.chat-container {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Space between chat bubbles */
}

/* Base style for all chat bubbles */
.chat-bubble {
    max-width: 100%;
    padding: 3px 3px 3px 58px;
    border-radius: var(--border-radius);
    position: relative;
    font-family: SanSerifMedium;
    font-size: 18px;
}

/* Style for user chat bubble */
.chat-bubble.bot {
    background-color: #00d1bc50;
    align-self: flex-end;
    border-top-left-radius: 0;
}

/* Tail for user chat bubble */
/* .chat-bubble.bot::after {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 0;
    height: 0;
    border-right: 10px solid #00d1bd;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
} */

/* Style for bot chat bubble */
.chat-bubble.user {
    background-color: #7248c7;
    align-self: flex-start;
    border-top-left-radius: 15;
}

/* Tail for bot chat bubble */
/* .chat-bubble.user::after {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 0;
    height: 0;
    border-right: 10px solid #7248c7;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
} */

.textarea-placeholder::placeholder {
    font-size: 18px;  /* Adjust the font size as needed */
    font-family: SanSerifMedium;
}

.gif-container {
    position: relative;
    width: 100%;
    border-radius: 15px;
}

.gif-container .static {
    position: relative;
    z-index: 2;
    transition: opacity 0.3s ease-in-out;

    filter: grayscale(100%);
    height: 300px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    background-size: cover;
    background-position: center;
    border-radius: 15px;
    z-index: 2;
}

.gif-container .animated {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 300px;
    width: 100%;
    border-radius: 15px;
    z-index: 3;
}

.gif-container:hover .static {
    display: none;
}

.gif-container:hover .animated {
    display: block;
}

.upload-area {
    background-color: white; /* Default background color */
    transition: background-color 0.1s ease; /* Smooth transition */

    white-space: normal;  
    word-wrap: break-word;
    font-size: 15px;
    height: 100px;
    line-height: 50px;
    border-width: 1px;
    border-style: dashed;
    border-radius: 5px;
    text-align: center;
    margin-top: 1em;
    position: relative; /* Added for absolute positioning of child */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hover effect for the upload area */
.upload-area:hover {
    background-color: var(--navy-color); /* Light blue background on hover */
    border-color: var(--dark-color);
    border-width: 2px;
    color: white !important;
}

.upload-area-disabled {
    font-size: 15px;
}

.upload-area-disabled:hover {
    background-color: var(--yellow-color);
    border-color: var(--yellow-color);
    color: black !important;
}

.suggest-chat-button {
    background: linear-gradient(90deg, #7248c7, #1a1919); 
    transition: background-color 0.1s ease; /* Smooth transition */
    text-align: center;
    padding: 10px 0;
    font-size: 16px;
    border-radius: 5px;
    border-width: 0.2px;
    color: rgb(255, 255, 255);
    cursor: pointer;
}

.suggest-chat-button:hover {
    background: linear-gradient(90deg, #7248c7, #7248c7); 
}

.process-video-button {
    background: var(--light-color); /* linear-gradient(90deg, #00d1b2a1, #00d1b2a1); */
    text-align: center;
    padding: 7px 0;
    font-size: 16px;
    border-radius: 15px;
    border-width: 0px;
    color: white;
    cursor: pointer;
}

.process-video-button:hover {
    background: var(--lightest-color);
    color: rgb(0, 0, 0);
}

.process-video-button:active {
    background: var(--lightest-color);
    transform: scale(0.98); /* Subtle shrink on click */
}

.inactive { /* when used for the same classname, not hierarchical */
    background-color: rgb(196, 196, 196);
    filter: blur(1px);
}

.mantine-Button-root {
    --button-fz: 14px;
    --button-bg: var(--dark-color);
    --button-hover: var(--light-color);
    font-family: SanSerifMedium;
}

/* Login Button */

.mantine-Button-root.login-button {
    --button-fz: 14px;
    --button-bg: var(--light-color);
    --button-hover: var(--lightest-color);
    font-family: SanSerifMedium;
    text-align: left;
    justify-content: left;
}

.login-button {
    color: white;
    border-radius: var(--border-radius);
    align-items: left;
    justify-content: left;
}

.login-button:hover {
    background-color: var(--lightest-color);
    color: white; 
}

/* Search Button */

.mantine-Button-root.search-button {
    --button-fz: 14px;
    --button-bg: var(--light-color);
    --button-hover: var(--light-color);
    --button-color: #000;
    --button-radius: var(--border-radius);
    background-color: var(--dark-color);
    color: white;
}

.search-button:hover {
    background-color: var(--light-color);
    color: white; 
}

.search-button[data-disabled] {
    background-color: var(--light-color);
    color: white; 
}

.button-hidden {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Chat Suggestions Button */

.chat-suggestions-button {
    --button-fz: 12px;
    --button-bg: var(--light-color);
    --button-hover: var(--light-color);
    --button-color: #000;
    --button-radius: var(--border-radius);
}

.mantine-Chip-root {
    --chip-fz: 14px;
    --chip-size: 34px;
    --chip-bg: var(--light-color);
    --chip-hover: var(--light-color);
    --chip-color: white;
    position: relative;
    z-index: 1;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    font-size: 14px;
    padding: 6px;
    transition: box-shadow 0.3s ease;
}

.mantine-Chip-root:hover {
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    scale: 1.01;
}

.mantine-Stepper-root {
    color: var(--light-color);
}

/* Base styles for rows */
.welcome-row,
.welcome-cards-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    width: 100%;
}

.welcome-cards-row {
    margin-top: 20px;  /* Consistent 20px gap for all screen sizes */
}

.welcome-card-container p {
    font-size: 16px;
}

.welcome-upload-container b {
    font-size: 16px;
    font-family: SanSerifMedium;
}

.welcome-upload-container p {
    font-size: 16px;
}

/* Media query for screens smaller than 1024px */
@media screen and (max-width: 1024px) {
    /* Stack all items vertically */
    .welcome-row,
    .welcome-cards-row {
        flex-direction: column !important;
        gap: 20px;
        position: relative;  /* Ensure proper stacking context */
    }

    /* Full width for all containers */
    .welcome-upload-container {
        width: 100% !important;
        min-width: unset !important;
        position: relative;
        z-index: 1;
    }

    .welcome-gif-container {
        width: 100% !important;
        min-width: unset !important;
        height: 400px !important;
        position: relative;
        z-index: 1;
        margin-bottom: 300px;
    }

    .welcome-card-container {
        width: 100% !important;
        min-width: unset !important;
        position: relative;
        z-index: 1;
        font-size: 16px;
    }

    .welcome-card-container p {
        font-size: 16px;
    }

    .welcome-row p {
        font-size: 16px;
    }

    .gif-container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 6px;
    }

    /* Ensure cards have proper height */
    .box {
        min-height: 60px;
    }

    /* Force the cards row to appear after the gif */
    .welcome-cards-row {
        position: relative;
        z-index: 1;
        margin-top: 20px;
    }
}

@media screen and (max-width:1024px){
    .modal-card,.modal-content{
        margin:0 auto;
        max-height:calc(100vh - 40px);
        width:90%
    }
}

/* className='navbar sticky-top', */

.navbar {
    border-bottom-style: solid;
    border-bottom-color: #fff;
    border-bottom-width: 1px;
    height: var(--navbar-height);
}

.navbar.sticky-top {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: var(--light-color);
}

.navbar-brand.sticky-top {
    position: fixed;
    left: 0px;
}

.navbar-profile-menu.sticky-top {
    position: fixed;
    top: 0px;
    right: 40px;
}

@media screen and (max-width: 1024px) {

    .navbar-brand.sticky-top {
        position: fixed;
        left: 0px;
        top: 0px;
    }

    .navbar-profile-menu.sticky-top {
        position: fixed;
        top: 0px;
        right: 0;
    }

}   

@media screen and (max-width: 768px) {

    .navbar-brand.sticky-top {
        position: fixed;
        left: 0px;
        top: 0px;
    }

    .navbar-profile-menu.sticky-top {
        position: fixed;
        top: 0px;
        right: 0;
    }
}

.navbar-burger {
    display: none;
    cursor: pointer;
    height: 3.25rem;
    width: 3.25rem;
    margin-left: auto;
    position: relative;
    align-self: center;
}

/* @media screen and (max-width: 1023px) {
    .navbar-burger {
        display: block;
    }

    .burger-menu {
        display: flex !important;
    }
    
    .navbar-menu {
        display: none;
    }
    
    .navbar-menu.is-active {
        display: block;
    }

    .navbar-item {
        color: #0a0a0a !important;
    }

    .navbar-item:hover {
        color: #0a0a0a !important;
    }
} */

@media screen and (max-width: 1023px) {
    #navbarMenuHeroA .navbar-menu {
        display: block;
    }
}

.hero-title {
    font-size: 60px;
}

.hero-title-small {
    font-size: 30px;
}

.hero-subtitle {
    font-size: 18px;
}

@media screen and (max-width: 768px) {
    .hero-title {
        font-size: 40px;
    }
    .hero-title-small {
        font-size: 20px;
    }
    .hero-subtitle {
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    .hero-title {
        font-size: 32px;
    }
    .hero-title-small {
        font-size: 16px;
    }
    .hero-subtitle {
        font-size: 14px;
    }
}

@media screen and (max-width: 320px) {
    .hero-title {
        font-size: 16px;
    }
    .hero-title-small {
        font-size: 14px;
    }
    .hero-subtitle {
        font-size: 12px;
    }
}

.process-button-black {
    flex: 1;
    margin: 0px;
    font-family: SanSerifThin;
    font-size: 14px;
    color: #242424;
    background-color: var(--light-color);
    color: white;
}

.process-button-black:hover {
    background-color: var(--lightest-color) !important;
    color: white !important;
    transition: all 0.2s ease;  /* Smooth transition for color change */ 
}

.process-button {
    flex: 1;
    margin: 0px;
    font-family: SanSerifThin;
    font-size: 14px;
    color: white;
    min-width: 200px;  /* Added min-width */    
    background-color: var(--navy-color);
}

.process-button-disabled {
    flex: 1;
    margin: 0px;
    font-family: SanSerifThin;
    font-size: 14px;
    color: white;
    min-width: 200px;  /* Added min-width */ 
    background-color: var(--purple-color);
}

.process-button:hover {
    background-color: var(--light-color) !important;
    color: white !important;
    transition: all 0.2s ease;  /* Smooth transition for color change */ 
}

@media screen and (max-width: 1024px) {
    .process-button {
        font-size: 14px;
    }
}

#landing-page-create-account-button {
    background-color: var(--light-color);
    color: white;
}

#landing-page-create-account-button:hover {
    background-color: var(--lightest-color) !important;
    color: white !important;
    transition: all 0.2s ease;  /* Smooth transition for color change */ 
}

.mantine-Group-root {
    --group-justify: center;
    --group-align: center;
    --group-gap: 10px;
    border-radius: 10px !important;
    padding: 2px !important;
}

.dashboard-table {
    color: black !important;
    width: auto !important;
    min-width: max-content !important;
}

.dashboard-table-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.dashboard-table-row.dark {
    background-color: #f9f9f9;
}

.dashboard-table-row.light {
    background-color: #ffffff;
}

.dashboard-table-row:hover {
    background-color: #f0f0f0;
    color: black;
}

.dashboard-table-badge {
    align-self: center;
    /* flex: 0 0 auto; */
    margin: 0 auto;
}

.mantine-Accordion-root {
    color: black !important;
    width: 100% !important;
    font-family: SanSerifMedium !important;
    --accordion-radius: var(--border-radius) !important;
}

.mantine-Accordion-control {
    color: white !important;
    width: 100% !important;
    font-family: SanSerifMedium !important;
}

.mantine-Accordion-control[data-active="true"] {
    color: black !important;
  }

.mantine-Accordion-item {
    color: black !important;
    width: 100% !important;
    font-family: SanSerifMedium !important;
}

.mantine-Accordion-content {
    align-items: center;
    justify-content: center;
    width: 100% !important;
}

.mantine-Textarea-input {
    background-color: #ffffff;
    border-color: #dbdbdb;
    border-radius: 10px;
    border-width: 0px;
    color: #363636;
    font-family: SanSerifMedium;
    font-size: 16px;
}

.user-input:hover { 
    box-shadow:-0.1em 0.1em 0.5em 0.2em var(--lightest-color); /*rgb(30, 75, 156); /*1em 1em 1em 0.5em rgba(36, 29, 142, 0.02);*/
}

.mantine-ScrollArea-root {
    align-items: left;
    justify-content: left;
    border: 1px solid #ccc; 
    border-width: 0px;
    padding: 10px;
    border-radius: 10px;
    margin: 0 auto;
    z-index: 0;
    font-family: SanSerifMedium;
    height: calc(100vh - 400px); 
    max-height: 670px; 
    width: 760px;
}

@media screen and (max-width: 768px) {
    .mantine-ScrollArea-root {
        width: 100%;
        height: calc(100vh - 350px);
        max-height: 600px;
        padding: 8px;
    }
}

@media screen and (max-width: 480px) {
    .mantine-ScrollArea-root {
        width: 100%;
        height: calc(100vh - 300px);
        max-height: 500px;
        padding: 5px;
    }
}

.mantine-ScrollArea-viewport {
    align-items: left;
    justify-content: left;
    height: 100%; 
}

.chat-container-text {
    color: #fff;
    text-align: left;
    font-size: 16px;
}

.text-thinking{
    text-align: left;
    font-size: 18px;
    width: 100%;
    display: block;
    background: linear-gradient(90deg, var(--mantine-color-cyan-5), var(--mantine-color-indigo-5));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: colorShift 3s ease-in-out infinite;
}

@keyframes colorShift {
    0% {
        background-image: linear-gradient(90deg, #00d1b2, #02c1a4);
    }
    25% {
        background-image: linear-gradient(90deg, #02c1a4, #00c4a7);
    }
    50% {
        background-image: linear-gradient(90deg, #00c4a7, rgb(2, 145, 124));
    }
    75% {
        background-image: linear-gradient(90deg, rgb(2, 145, 124), #00aa91);
    }
    100% {
        background-image: linear-gradient(90deg, #00aa91, #00d1b2);
    }
}

.mantine-Tooltip-tooltip {
    font-family: SanSerifMedium;
    border-radius: 10px;
    background-color: var(--light-color);
}

.mantine-Tooltip-tooltip.light {
    background-color: var(--light-color);
}

.mantine-Tooltip-tooltip.upgrade {
    background-color: var(--yellow-color);
    color: black;
}

.mantine-Tooltip-tooltip.info-tooltip {
    width: 300px;
}

@media screen and (max-width: 320px) {
    .mantine-Tooltip-tooltip.info-tooltip {
        width: 200px;
    }
}

.mantine-Tabs-tab {
    font-family: SanSerifMedium;
    font-size: 16px;
}

.mantine-Tabs-tab:hover {
    background-color: var(--light-color);
}

.dmc-tabs {
    position: relative;
    border: 0.2px solid #666666; /*light-dark(var(--mantine-color-gray-2), var(--mantine-color-dark-4));*/
    border-radius: var(--extreme-border-radius) !important;
    font-size: 14px;
    font-family: SanSerifMedium;
  
    &:first-of-type {
        border-radius: var(--extreme-border-radius);

        &:hover {
          background-color: var(--blue-color);
          border: 0.2px solid var(--blue-color);
        }
  
        &[data-active] {
          background-color: var(--blue-color);
          border: 0.2px solid var(--blue-color);
        }
    }

    &:last-of-type {
      border-radius: var(--extreme-border-radius);

      &:hover {
        background-color: var(--purple-color);
        border: 0.2px solid var(--purple-color);
      }

      &[data-active] {
        background-color: var(--purple-color);
        border: 0.2px solid var(--purple-color);
      }
    }

  }

.mantine-ActionIcon-root {
    background-color: #f1f1f1;
    color: var(--dark-color);
    border-radius: var(--border-radius);
}

.mantine-ActionIconGroup-group {
    gap: 15px; /* Add horizontal spacing between icons */
}

.mantine-Card-root {
    border-radius: var(--border-radius);
}

/* .mantine-Card-root:hover {
    border-color: var(--lightest-color);
    border-width: 2px;
} */

.mantine-Card-section {
    border-radius: var(--border-radius);
}

.mantine-Card-root.enabled {
    opacity: 1;
    cursor: pointer !important;
}

.mantine-Card-root.disabled {
    opacity: 0.2;
    cursor: not-allowed !important;
}

.mantine-Avatar-root {
    background-color: var(--dark-color) !important;
    color: white !important;
}

.mantine-Avatar-root:hover {
    background-color: var(--light-color) !important;
}

.mantine-Avatar-placeholder {
    color: white !important;
}

.mantine-Avatar-root.accordion-avatar {
    background-color: var(--light-color) !important;
}

.profile-avatar-menu {
    cursor: pointer;
    margin-left: 10px;
    font-family: SanSerifMedium;
}

.profile-avatar-menu:hover {
    .mantine-Avatar-root {
        background-color: var(--light-color);
    }
}

.profile-avatar-menu-item {
    font-family: SanSerifMedium;
    padding-left: 7px;   /* optional, space from menu edge */
    color: var(--dark-color);
}

.profile-avatar-menu-item.menu-item-active {
    background-color: var(--light-gray-color);
    border-left: 3px solid var(--dark-color);
}

.profile-avatar-menu-item:hover {
    background-color: var(--light-color);
    color: white;
}

.mantine-Menu-divider {
    border-color: var(--dark-color);
    border-width: 1px;
}

.accordion-upload-icon {
    width: 28px;
    height: 28px;
}

.accordion-avatar-icon {
    width: 25px;
    height: 25px;
}

.mantine-Paper-root.login-paper {
    border-radius: var(--text-input-border-radius);
    max-width: 320px;
    margin: 0 auto;
}

/* Username Input */
.mantine-TextInput-root {
    color: black;
    font-family: SanSerifMedium;
    text-align: left;
}

.mantine-TextInput-input {
    border-radius: var(--text-input-border-radius);
    font-family: SanSerifMedium;
    font-size: 16px;
}   

.mantine-TextInput-input:focus {
    border-radius: var(--text-input-border-radius) var(--text-input-border-radius) 0 0;
    border-left: 1px solid #dbdbdb !important;
    border-top: 1px solid #dbdbdb !important;
    border-right: 1px solid #dbdbdb !important;
    border-bottom: 2px solid var(--light-color) !important;
}

.mantine-TextInput-label {
    font-family: SanSerifMedium;
    font-size: 16px;
}

.mantine-TextInput-description {
    font-family: SanSerifMedium;
    color: red;
}

.mantine-TextInput-input[data-disabled] {
    background-color: transparent;
    color: white;
    border-width: 0px;
}

/* Password Input */
.mantine-PasswordInput-root {
    color: black;
    font-family: SanSerifMedium;
    text-align: left;
}

.mantine-PasswordInput-root:focus-within {
    border-bottom: none !important;
}

.mantine-PasswordInput-wrapper {
    border-radius: var(--text-input-border-radius);
}

.mantine-PasswordInput-wrapper:focus-within {
    border-radius: var(--text-input-border-radius);
}

.mantine-PasswordInput-label {
    font-family: SanSerifMedium;
    font-size: 16px;
}

.mantine-PasswordInput-input {
    border-radius: var(--text-input-border-radius);
    font-family: SanSerifMedium;
    font-size: 16px;
}

.mantine-PasswordInput-input:focus-within {
    border-radius: var(--text-input-border-radius) var(--text-input-border-radius) 0 0;
    font-family: SanSerifMedium;
    border-left: 1px solid #dbdbdb !important;
    border-top: 1px solid #dbdbdb !important;
    border-right: 1px solid #dbdbdb !important;
    border-bottom: 2px solid var(--dark-color) !important;
}

.mantine-PasswordInput-description {
    font-family: SanSerifMedium;
    color: red;
}

.mantine-LoadingOverlay-overlay {
    background-color: #111111;
    opacity: 0.9;
}

#skills-page-body-loading-overlay .mantine-LoadingOverlay-overlay {
    background-color: var(--dark-color) !important;
    opacity: 0.9 !important;
    border-radius: 10px !important;
}

.search-button {
    margin-top: 30px;
    font-family: SanSerifMedium;
    border-radius: var(--extreme-border-radius);
}

#nature-button-link {
    color: white;
    transition: color 0.3s ease;
}

#nature-button-link:hover {
    color: var(--lightest-color);
}

#navbar-container-link {
    color: white;
    transition: color 0.3s ease;
}

#navbar-container-link:hover {
    color: var(--lightest-color);
}
/* TODO() temporary removal of central navbar items on small screens */
@media screen and (max-width: 1024px) {
    .navbar-link-container-group {
        display: none !important;
    }
}

@keyframes moveDots {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: 20px 20px;
    }
}

.dot-pattern {
    background-image: radial-gradient(#1e4d42 1.5px, transparent 1.5px); /* #1e4d42 */
    background-size: 20px 20px;
    opacity: 0.5;
    animation: moveDots 5s linear infinite;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
}

.wide-banner {
    background-color: #0d2c26;
    height: 400px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.mantine-Progress-root {
    background-color: #7a7979 !important;
}

.dmc-progress-suturing {
    .mantine-Progress-section {
        background-color: var(--blue-color) !important;
    }
}

.dmc-progress-dissection {
    .mantine-Progress-section {
        background-color: var(--purple-color) !important;
    }
}

.mantine-RingProgress-root {
    scale: 1 !important;
}

@media screen and (max-width: 640px) {
    .mantine-RingProgress-root {
        scale: 0.8 !important;
    }
}

@media screen and (max-width: 320px) {
    .mantine-RingProgress-root {
        scale: 0.7 !important;
    }
}

.mantine-RingProgress-curve {
    stroke: #7a7979 !important;
}

.dmc-ring-progress.suturing {
    .mantine-RingProgress-curve:last-child {
        stroke: var(--blue-color) !important;
    }
}

.dmc-ring-progress.dissection {
    .mantine-RingProgress-curve:last-child {
        stroke: var(--purple-color) !important;
    }
}

.ring-progress-label {
    font-size: 16px !important;
}

@media screen and (max-width: 320px) {
    .ring-progress-label {
        font-size: 16px !important;
    }
}

.mantine-Progress-root:hover {
    box-shadow:-0.1em 0.1em 0.1em 0.1em rgb(128, 128, 128); /*1em 1em 1em 0.5em rgba(36, 29, 142, 0.02);*/
}

.dmc-progress-disabled {
    .mantine-Progress-root {
        background-color: #464545 !important;
    }
    .mantine-Progress-root:hover {
        box-shadow: none !important;
    }
}

.progress-bar-collapse-image {
    color: #7b1111;
    background-color: #7b1111;
    width: 120px;
    height: 100px;
    opacity: 0.5;
    border-radius: 15px;
}

.progress-bar-collapse-image:hover {
    opacity: 1;
}

.aurora-background {
    position: absolute;
    top: -200px;
    left: -200px;
    width: 150%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;

    background: radial-gradient(circle at 20% 30%, var(--lightest-color) 0%, transparent 80%),
              radial-gradient(circle at 70% 60%, #7873f5 0%, transparent 80%),
              radial-gradient(circle at 40% 80%, #3bf0e4 0%, transparent 80%);
    /* filter: blur(20px); */
    opacity: 0.35;
    min-height:100vh;
  }

  @keyframes auroraMove {
    0% {
        transform: translate(0px, 0px);
    }
    50% {
        transform: translate(-50px, 20px);
    }
    100% {
        transform: translate(0px, 0px);
    }
  }

  .aurora-accordion {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    padding: 0.5rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    /* transition: all 0.1s ease; */
    color: white;
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  
  .aurora-accordion:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  }
  
  .aurora-accordion.open .aurora-accordion-content {
    max-height: 300px; /* adjust as needed */
    opacity: 1;
    margin-top: 1rem;
    color: black;
  }

  .aurora-accordion-item {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    position: relative;
    overflow: hidden;
    z-index: 1;
  }

  .aurora-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(31, 38, 135, 0.15);
    padding: 6px;
  }
  
  .aurora-card:hover {
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    scale: 1.01;
  }

  .aurora-card-subscription {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(31, 38, 135, 0.15);
    padding: 2px;
  }

  .aurora-card-subscription:hover {
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    scale: 1.01;
  }

  .aurora-card-payment {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    padding: 2px;
    justify-content: center;
    text-align: center;
  }

  .aurora-card-payment:hover {
    background: rgba(255, 255, 255, 0.05);
    scale: 1.01;
  }

  .information-badge {
    font-size: 14px;
    border-width: 0px;
    background-color: #19564a;
    color: white;
    font-weight: bold;
}

.dashboard-tasks-badge {
    background-color: var(--light-color);
    color: white;
}

.landing-badge {
    color: white;
    background-color: var(--light-color);
}

.mantine-Title-root {
    font-family: SanSerifMedium;
}

.mantine-Popover-overlay {
    border-radius: var(--border-radius) !important;
}

@media screen and (max-width: 800px) {
    .mantine-Popover-overlay {
        width: 100% !important;
    }
}

@media screen and (min-width: 800px) {
    .mantine-Popover-overlay {
        width: 97% !important;
    }
}

.mantine-Textarea-label {
    font-family: SanSerifMedium;
    color: var(--dark-color);
    font-size: 14px;
}

/* Radar Chart */

.mantine-RadarChart-root {
    --chart-text-color: white !important;
    height: 400px !important;
}

@media screen and (max-width: 1024px) {
    .mantine-RadarChart-root {
        height: 300px !important;
    }
}

.mantine-RadarChart-container {
    background-color: transparent !important;
}

.recharts-polar-angle-axis text {
    font-family: SanSerifMedium !important;
    font-size: 16px !important;
    fill: white !important;
}

@media screen and (max-width: 1024px) {
    .recharts-polar-angle-axis text {
        font-size: 14px !important;
    }
}

.recharts-polar-radius-axis text {
    font-family: SanSerifMedium !important;
    font-size: 14px !important;
    fill: white !important;
}

.recharts-radar .recharts-polygon {
    fill: var(--lightest-color);
    stroke-width: 2px;
}

/* Date Picker */

.mantine-DateTimePicker-wrapper {
    width: auto !important;
}

.mantine-DatePickerInput-input {
    color: white !important;
    font-family: SanSerifMedium !important;
    font-size: 14px !important;
    background-color: transparent !important;
    border-color: white !important;
    border-radius: var(--border-radius) !important;
}

.mantine-DatePickerInput-placeholder {
    color: white !important;
}

.mantine-DatePickerInput-input:focus {
    border-color: white !important;
}

.mantine-DatePickerInput-yearsListControl:focus {
    border-radius: var(--border-radius) !important;
    background-color: var(--lightest-color) !important;
}

.mantine-DatePickerInput-calendarHeader {
    font-family: SanSerifMedium !important;
}

.mantine-DatePickerInput-weekdaysRow {
    font-family: SanSerifMedium !important;
}

.mantine-DatePickerInput-monthRow {
    font-family: SanSerifMedium !important;
}

.mantine-DatePickerInput-monthCell {
    font-family: SanSerifMedium !important;
}

.mantine-DatePickerInput-day {
    font-family: SanSerifMedium !important;
}

.mantine-DatePickerInput-day[data-in-range="true"] {
    background-color: var(--lightest-color) !important;
    color: white !important;
}

.mantine-DatePickerInput-day[data-first-in-range="true"] {
    background-color: var(--light-color) !important;
    color: white !important;
}

.mantine-DatePickerInput-day[data-last-in-range="true"] {
    background-color: var(--light-color) !important;
    color: white !important;
}

.mantine-DatePickerInput-day[data-weekend="true"] {
    color: var(--blue-color) !important;
}

.mantine-DatePickerInput-day[data-weekend="true"][data-in-range="true"] {
    color: white !important;
}

.mantine-Modal-content {
    border-radius: var(--border-radius) !important;
}

.mantine-InputClearButton-root {
    color: white !important;
}

/* Select */

.mantine-Select-wrapper {
    width: auto !important;
}

.mantine-Select-input {
    color: white !important;
    font-family: SanSerifMedium !important;
    font-size: 14px !important;
    background-color: transparent !important;
    border-color: white !important;
    border-radius: var(--border-radius) !important;
}

.mantine-Select-input:focus {
    border-color: white !important;
}

.mantine-Select-dropdown {
    background-color: white !important;
    border-radius: var(--border-radius) !important;
    font-family: SanSerifMedium !important;
}

.mantine-Select-option {
    color: var(--dark-color) !important;
    font-family: SanSerifMedium !important;
    font-size: 14px !important;
}

.mantine-Select-option:hover {
    background-color: var(--light-color) !important;
    color: white !important;
}

.mantine-Select-option[data-selected="true"] {
    background-color: var(--light-color) !important;
    color: white !important;
}

.select-dropdown-hidden {
    display: none !important;
}

.select-dropdown-visible {
    display: block !important;
}

/* Switch */

.mantine-Switch-thumb {
    background-color: var(--light-color) !important;
    border-color: var(--light-color) !important;
}

.mantine-Switch-thumb:hover {
    background-color: var(--lightest-color) !important;
}

.mantine-Switch-track {
    background-color: var(--gray-color) !important;
    border-color: var(--gray-color) !important;
}

/* Collapse Category Title */

.collapse-content {
    font-size: 14px;
}

@media screen and (max-width: 320px) {
    .collapse-content {
        font-size: 10px;
    }
}

.collapse-category-title {
    font-family: SanSerifMedium !important;
    font-size: 16px !important;
}

@media screen and (max-width: 1024px) {
    .collapse-category-title {
        font-size: 12px !important;
    }
}

@media screen and (max-width: 320px) {
    .collapse-category-title {
        font-size: 10px !important;
    }
}

.collapse-title-cols {
    align-items: left !important;
    justify-content: left !important;
}

@media screen and (max-width: 320px) {
    .collapse-title-cols {
        font-size: 6px !important;
    }
}

.collapse-progress-bar-cols {
    align-items: left !important;
    justify-content: left !important;
    gap: 0px !important;
    font-size: 20px;
}

@media screen and (max-width: 320px) {
    .collapse-progress-bar-cols {
        font-size: 4px !important;
    }
}

.mini-progress-bar-label {
    font-family: SanSerifMedium !important;
    font-size: 16px !important;
}

@media screen and (max-width: 1024px) {
    .mini-progress-bar-label {
        font-size: 12px !important;
    }
}

.collapse-show-video-button {   
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
    margin-top: 10px;
    width: 100%;
}

/* @media screen and (max-width: 320px) {
    .mini-progress-bar-label {
        font-size: 4px !important;
    }
} */

/* Video Display */

.video-wrapper {
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius);
    overflow: hidden;
}

.video-wrapper video {
    border-radius: 20px;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.videos-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    gap: 15px;
}

.video-container {
    position: relative;
    display: inline-block;
    width: 50%;
    height: 100%;
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: width 0.2s ease-in-out, height 0.2s ease-in-out;
    filter: grayscale(100%);
}

.video-container:hover {
    width: 100%;
    filter: grayscale(0%);
}

.multi-video-container {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: width 0.2s ease-in-out, height 0.2s ease-in-out;
    filter: grayscale(100%);
}

.multi-video-container:hover {
    width: 100%;
    filter: grayscale(0%);
}

/* Hotspots */

.progress-bar-container {
    position: absolute;
    bottom: 80px; /* Adjust to align with the Dash Player's progress bar */
    height: 10px;
    width: 100%;
    border-radius: var(--border-radius);
    background-color: rgb(21, 21, 21);
    z-index: 1;

    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.temporal-overlay {
    position: absolute;
    top: 0%;  /* Center vertically within the progress bar */
    border-radius: var(--border-radius);
    height: 100%;  /* Full height of the progress bar */
    z-index: 2;  /* Make sure the hot spots are above the progress bar */
    opacity: 1;  /* Slight transparency */
}

.temporal-overlay.suturing {
    background-color: var(--blue-color) !important;
}

.temporal-overlay.dissection {
    background-color: var(--purple-color) !important;
}

.video-container:hover .progress-bar-container {
    opacity: 1;
}

.tooltip {
    display: inline-block;
    cursor: pointer;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: auto;
    max-width: 300px; /* Limit the tooltip width */
    background-color: var(--dark-color);
    color: #fff;
    text-align: left;  /* Left align the text */
    border-radius: 5px;
    padding: 10px;
    position: absolute;
    bottom: 200%; /* Position above the overlay */
    left: 0%;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.3s;
    white-space: pre-line; /* Preserve newlines (\n) and wrap text */
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}

.overlaid-action-icon-group {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(0, 0, 0, 0.4);
    padding: 8px;
    border-radius: 8px;
}

/* Badge */

.mantine-Badge-label {
    font-family: SanSerifMedium !important;
}

/* Search */

.section-hidden {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, opacity 0.5s ease-in-out;
}

.section-visible {
    opacity: 1;
    /* max-height: 500px; */
    display: block; 
    transition: max-height 0.4s ease-in-out, opacity 0.5s ease-in-out;
}

/* Stepper */

.mantine-Stepper-root {
    width: 100% !important;
    margin-top: 30px !important;
}

.mantine-Stepper-separator {
    background-color: var(--light-color) !important;
    height: 2px !important;   /* Make line thinner */
    /* flex-grow: 0.3 !important;  Shrink length of line */
}

.mantine-Stepper-stepLabel {
    font-family: SanSerifMedium !important;
    color: var(--lightest-color) !important;
}

.mantine-Stepper-stepDescription {
    font-family: SanSerifMedium !important;
    color: white;
}

.mantine-Stepper-stepIcon {
    font-family: SanSerifMedium !important;
    color: var(--light-color) !important;
    border-color: var(--light-color) !important;
    size: 5px !important;
    width: 5px !important;
}

.mantine-Stepper-stepIcon[data-progress="true"] {
    color: var(--lightest-color) !important;
}

.mantine-Stepper-stepCompletedIcon {
    color: white;
    background-color: var(--light-color);
    border-radius: 50%;
}

.mantine-Stepper-content {
    font-family: SanSerifMedium !important;
    color: var(--lightest-color) !important;
}

/* Vertical orientation for small screens */
@media (max-width: 800px) {

    .mantine-Stepper-root {
        --stepper-icon-size: 26px !important;
    }

    .mantine-Stepper-stepLabel {
        font-size: 14px !important;
    }

    .mantine-Stepper-stepDescription {
        font-size: 12px !important;
    }

    .mantine-Stepper-separator {
        margin: 0 10px !important;
        /* display: none; */
    }
}

/* Premium Based Functionality */

/* Page Title */

.page-title {
    font-size: 26px;
    display: inline-block;
}

.title .page-title-sup {
    font-size: 12px;
}

@media (max-width: 320px) {
    .page-title {
        font-size: 22px;
    }

    .title .page-title-sup {
        font-size: 10px;
    }
}

/* PDF Buttons */

.pdf-buttons {
    display: flex; 
    justify-content: center;
    align-items: center; 
    gap: 20px;
    margin: 0 auto;
    margin-top: 1em;
    margin-bottom: 1em;
}

@media (max-width: 320px) {
    .pdf-buttons .process-button-black {
        font-size: 10px !important;
    }

    .collapse-show-video-button .process-button-black {
        font-size: 10px !important;
    }
}

/* Skill Related Text */

.skill-text {
    font-size: 16px;
}

.skill-delta-text {
    font-size: 16px;
}

.skill-category {
    display: flex;
    align-items: center;
    justify-content: right;
    text-align: right;
    font-size: 14px;
}

@media (max-width: 320px) {

    .skill-text {
        font-size: 8px;
    }

    .skill-text .skill-category {
        font-size: 10px;
    }

    .skill-text .skill-delta-text {
        font-size: 10px;
    }
}

/* Sparkline */

.mantine-Sparkline-root {
    height: 20px !important;
}

/* Progress Bar */

.activity-title {
    font-size: 16px !important;
}

@media screen and (max-width: 1024px) {
    .activity-title {
        font-size: 14px !important;
    }
}

@media screen and (max-width: 320px) {
    .activity-title {
        font-size: 12px !important;
    }
}

.text-description {
    font-size: 16px !important;
    text-align: left !important;
}

/* Search */

.search-card {
    width: 120px;
    height: 150px;
}

.search-card-image {
    height: 100px;
    width: 120px;
}

.search-card-text {
    font-size: 14px;
}

@media screen and (max-width: 320px) {

    .search-card {
        width: 80px;
        height: 100px;
    }

    .search-card-image {
        width: 100%;
    }
}

.section-title {
    width: 100% !important;
    padding: 0px !important;
    text-align: center !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

/* Title Section */

@media screen and (max-width: 768px) {
    .banner-section {
        margin-top: 64px !important;
    }

    .main-section-title {
        margin-top: 200px !important;
    }
}

@media screen and (min-width: 768px) {
    .main-section {
        width: 768px !important;
    }

    .title-section {
        margin-top: 150px !important;
    }

    .banner-section {
        margin-top: 64px !important;
    }

    .main-section-title {
        margin-top: 100px !important;
        margin-bottom: 100px !important;
    }
}

@media screen and (min-width: 1408px) {
    .main-section {
        width: 768px !important;
    }

    .title-section {
        margin-top: 150px !important;
    }

    .banner-section {
        margin-top: 150px !important;
    }

    .main-section-title {
        margin-top: 100px !important;
        margin-bottom: 100px !important;
    }
}

@media screen and (max-width: 768px) {

    .main-section {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .title-section {
        margin-top: 0px !important;
    }

    .main-section-title {
        margin-top: 50px !important;
        margin-bottom: 50px !important;
    }
}

.banner-section {
    width: 100%;
    margin-right: auto; 
    margin-left: auto;
    z-index: 10;
}

.vanilla-section {
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 10;
    color: white;
    position: relative;
    background-color: var(--dark-color);
}

/* Sidebar */

.mantine-AppShell-root {
    background-color: var(--dark-color) !important;
}

.mantine-AppShell-navbar {
    margin-top: var(--navbar-height) !important;
}

.sidebar-icon {
    background-color: var(--light-color) !important;
    color: white !important;
}

.sidebar-icon:hover {
    background-color: var(--dark-color) !important;
    color: white !important;
}

.mantine-Tooltip-tooltip.light {
    background-color: var(--light-color);
}