@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400;
    src: url('frontend/fonts/nunito-sans-v12-latin-regular.eot'); 
    src: local(''),
         url('frontend/fonts/nunito-sans-v12-latin-regular.eot?#iefix') format('embedded-opentype'), 
         url('frontend/fonts/nunito-sans-v12-latin-regular.woff2') format('woff2'), 
         url('frontend/fonts/nunito-sans-v12-latin-regular.woff') format('woff'), 
         url('frontend/fonts/nunito-sans-v12-latin-regular.ttf') format('truetype'), 
         url('frontend/fonts/nunito-sans-v12-latin-regular.svg#NunitoSans') format('svg'); 
}
@font-face {
    font-family: 'Nunito Sans';
    font-style: italic;
    font-weight: 400;
    src: url('frontend/fonts/nunito-sans-v12-latin-italic.eot'); 
    src: local(''),
            url('frontend/fonts/nunito-sans-v12-latin-italic.eot?#iefix') format('embedded-opentype'), 
            url('frontend/fonts/nunito-sans-v12-latin-italic.woff2') format('woff2'), 
            url('frontend/fonts/nunito-sans-v12-latin-italic.woff') format('woff'), 
            url('frontend/fonts/nunito-sans-v12-latin-italic.ttf') format('truetype'), 
            url('frontend/fonts/nunito-sans-v12-latin-italic.svg#NunitoSans') format('svg'); 
}
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 600;
    src: url('frontend/fonts/nunito-sans-v12-latin-600.eot'); 
    src: local(''),
            url('frontend/fonts/nunito-sans-v12-latin-600.eot?#iefix') format('embedded-opentype'), 
            url('frontend/fonts/nunito-sans-v12-latin-600.woff2') format('woff2'), 
            url('frontend/fonts/nunito-sans-v12-latin-600.woff') format('woff'), 
            url('frontend/fonts/nunito-sans-v12-latin-600.ttf') format('truetype'), 
            url('frontend/fonts/nunito-sans-v12-latin-600.svg#NunitoSans') format('svg'); 
}
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 700;
    src: url('frontend/fonts/nunito-sans-v12-latin-700.eot'); 
    src: local(''),
            url('frontend/fonts/nunito-sans-v12-latin-700.eot?#iefix') format('embedded-opentype'), 
            url('frontend/fonts/nunito-sans-v12-latin-700.woff2') format('woff2'), 
            url('frontend/fonts/nunito-sans-v12-latin-700.woff') format('woff'), 
            url('frontend/fonts/nunito-sans-v12-latin-700.ttf') format('truetype'), 
            url('frontend/fonts/nunito-sans-v12-latin-700.svg#NunitoSans') format('svg'); 
}
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 800;
    src: url('frontend/fonts/nunito-sans-v12-latin-800.eot'); 
    src: local(''),
            url('frontend/fonts/nunito-sans-v12-latin-800.eot?#iefix') format('embedded-opentype'), 
            url('frontend/fonts/nunito-sans-v12-latin-800.woff2') format('woff2'), 
            url('frontend/fonts/nunito-sans-v12-latin-800.woff') format('woff'), 
            url('frontend/fonts/nunito-sans-v12-latin-800.ttf') format('truetype'), 
            url('frontend/fonts/nunito-sans-v12-latin-800.svg#NunitoSans') format('svg'); 
}

html[data-theme=dark]:root {
    --body: #2b1a12;
    --body-color: #ffffff;
    --hamburger-color: #ffffff;
    --bg-primary: #3b2618;
    --bg-secondary: #4a3020;
    --bs-primary-rgb: 43, 26, 18;
    --bg-header: rgba(43, 26, 18, 0.9);
    --bg-liquid: rgba(43, 26, 18, 0.9);
    --bs-border-color: #4a3020;
}
html[data-theme=dark] .btn-light{
    --bs-btn-bg: #000000;
    --bs-btn-border-color: #050505;
    --bs-btn-hover-bg: #2c2c2c;
    --bs-btn-hover-border-color: #2c2c2c;
    --bs-btn-focus-shadow-rgb: 249, 250, 251;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #2c2c2c;
    --bs-btn-active-border-color: #2c2c2c;
}
html[data-theme=dark2]:root {
    --body: #2a323e;
    --body-color: #ffffff;
    --hamburger-color: #ffffff;
    --bg-primary: #485263;
    --bg-secondary: #3b424d;
    --bs-primary-rgb: 34, 43, 51;
    --bg-header: rgba(42, 50, 62, 0.8);
    --bg-liquid: rgba(42, 50, 62, 0.8);
    --bs-border-color: #485263;
}
::selection {
    background-color: var(--bs-primary);
    color: #fff;
}
.btn-light {
    --bs-btn-color: var(--body-color);
    --bs-btn-hover-color: var(--body-color);
    --bs-btn-active-color: var(--body-color);
    --bs-btn-disabled-color: var(--body-color);
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary-alt);
    --bs-btn-hover-border-color: var(--bs-primary-alt);;
    --bs-btn-focus-shadow-rgb: 249,158,141;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary-alt);;
    --bs-btn-active-border-color: var(--bs-primary-alt);;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: 248,141,121;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-primary);
    --bs-gradient: none;
}
.btn-outline-light:hover {
    color: var(--body-color);
}
.btn-icon{
    width: 50px;
    height: 50px;
    padding: 9px;
}
.btn-icon img, .btn-icon svg {
    height: 30px;
    width: 30px;
}
.bg-primary-alt{
    background-color: var(--bs-primary-alt);
    color: #fff;
}
.dropdown-menu{
    --bs-dropdown-link-active-bg: var(--bs-primary);
}
.dropdown-menu.show{
    animation: slidebottom 0.2s linear;
}
body{
    background-color: var(--body);
    color: var(--body-color);
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0;
    text-align: left;

}
body.fixed{
    padding-top: 120px;
}
a{
    text-decoration: none;
    color: var(--bs-primary);
}
a:hover{
    text-decoration: none;
    color: var(--bs-primary-alt);
}
.progress{
    --bs-progress-bar-bg: var(--bs-primary);
}
.table tr {
    border-color: #ecdfde;
}
.table tr:first-child, .table tr:last-child, .table tr.border-0 {
    border-color: transparent !important;
}
.py-8{
    padding-top: 8rem;
    padding-bottom: 8rem;
}
.py-10{
    padding-top: 10rem;
    padding-bottom: 10rem;
}
.py-15{
    padding-top: 15rem;
    padding-bottom: 15rem;
}
.mt-8{
    margin-top: 8rem;
}
.mt-10{
    margin-top: 10rem;
}
@media screen and (max-width: 769px ) {
    .py-8{
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .py-10{
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .py-15{
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
    .mt-8{
        margin-top: 3rem;
    }
    .mt-10{
        margin-top: 4rem;
    }
}
.zindex-0{
    z-index: 0;
}
.zindex-1 {
    z-index: 1;
}
.zindex-100 {
    z-index: 100;
}
.zindex-top{
    z-index: 99999999;
}
.text-primary{
    color: var(--bs-primary) !important;
}
.gradient-primary {
    background: var(--bs-primary);
    background: -moz-linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
    background: -webkit-linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
    background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
}
.gradient-primary-reverse {
    background: var(--bs-primary);
    background: -moz-linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
    background: -webkit-linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
    background: linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
}
.gradient-secondary {
    background: var(--bs-danger);
    background: -moz-linear-gradient(135deg, var(--bs-danger) 0%, var(--bs-primary) 100%);
    background: -webkit-linear-gradient(135deg, var(--bs-danger) 0%, var(--bs-primary) 100%);
    background: linear-gradient(135deg, var(--bs-danger) 0%, var(--bs-primary) 100%);
}
.gradient-colorful{
    background: var(--bs-primary);
    background-image: linear-gradient(111deg, #60aef8, var(--bs-primary) 50%, var(--bs-secondary));
}
.clip-text {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.avatar{
    width: 80px;
}
.avatar-xs{
    width: 30px;
}
.avatar-sm{
    width: 50px;
}
.avatar-lg{
    width: 100px;
}
.icon{
    width: 20px;
    height: 20px;
}
.icon-sm{
    width: 32px;
    height: 32px;
}
.icon-md{
    width: 50px;
    height: 50px;
}
.icon-lg{
    width: 100px;
    height: 100px;
}
.progress-sm{
    height: 10px;
}
#main-header{
    background-color: var(--bg-header);
}
#main-header.affix {
    background: transparent;
    position: fixed;
    width: 100%;
    min-height: 80px;
    z-index: 999;
    top: 0;
    padding: 0px !important;
}
#main-header.affix .navbar {
    background: var(--bg-header);
    margin-top: 15px;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0 10px 20px rgb(0 0 0 / 10%);
    transition: all 0.2s linear;
    animation: slidedown 0.1s linear;
    backdrop-filter: blur(5px);
}
#main-menu li{
    margin-right: 10px;
}
#main-menu .nav-link{
    color: var(--body-color);
    font-weight: 700;
    font-size: 1rem;
}
#main-menu .nav-link:hover,#main-menu .nav-link.active{
    color: var(--bs-primary);
}
.dropdown-item:focus,  .dropdown-item:hover{
    border-radius: 0.5rem;
}
.dropdown-menu-lg{
    min-width: 390px;
}
@media screen and (max-width: 765px ) {
    #main-menu li{
        margin-right: 0;
    }
    .dropdown-menu-lg{
        min-width: 100%;
    }
}
[data-notify=dismiss]{
    display: none;
}
@media screen and (max-width: 992px ) {
    #main-menu {
        display: block;
        margin: 10px 0;
        padding: 0;
    }
    #main-menu li a{
        display: block;
        margin: 0;
        padding: 10px 0;
        border-bottom: 1px solid #eee
    }
    #login-menu{
        display: flex;
        width: 100%;
        text-align: center !important;    
        margin-top: 15px;
    }
    #login-menu a{
        flex-grow: 2;
        padding-top: 12px;
        padding-bottom: 12px;
    }
}
.animate-float{
    animation: float 3s ease-in-out infinite;
}
.w-fixed{
    min-width: 769px;
}
@keyframes float {
	0% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-10px);
	}
	100% {
		transform: translateY(0px);
	}
}
@keyframes fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeinout {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
    100% {
		opacity: 0;
	}
}
@keyframes slidedown {
	0% {
		transform: translateY(-120px);
	}
	100% {
		transform: translateY(0px);
	}
}
@keyframes slidebottom {
	0% {
		transform: translateY(50px);
        opacity: 0;
	}
	100% {
		transform: translateY(0px);
        opacity: 1;
	}
}
.select2-p2 .select2-container--default .select2-selection--single{
    padding: 0.375rem;
}
html[data-theme=dark] #main-menu .nav-link{
    border-color: #2c2c2c;    
}
html[data-theme=dark] .dropdown-menu{
    --bs-dropdown-bg: #2c2c2c;
}
html[data-theme=dark] .dropdown-item{
    color: #fff;
}
html[data-theme=dark] .dropdown-item:focus, html[data-theme=dark]  .dropdown-item:hover{
    background-color: #2c2c2c;
}
html[data-theme=dark] .card{
    --bs-card-bg: rgb(10, 10, 10);
}
html[data-theme=dark] .text-muted{
    color: #b1b9c4 !important;
}
html[data-theme=dark] .text-dark{
    color: #fff !important;
}
html[data-theme=dark] .text-light{
    color: #222b33 !important;
}
html[data-theme=dark] .bg-white{
    background-color: #2c2c2c !important;
    color: #fff !important;
}
html[data-theme=dark] .border {
    border-color: var(--bs-border-color)!important;
}
html[data-theme=dark] .form-control{
    background-color: transparent;
    color: #fff;
    border-color: #3d3d3d;
}
html[data-theme=dark] .form-select{
    background-color: #2c2c2c !important;
    color: #fff !important;
    border-color: #3d3d3d;
}
html[data-theme=dark] .table{
    --bs-table-color: #fff;
}
html[data-theme=dark] .table tr{
    border-color: #3d3d3d;
}
html[data-theme=dark] section.bg-primary.py-15.text-dark,
html[data-theme=dark] .bg-primary.py-15.text-dark {
    background-color: #212529 !important;
    color: #fff !important;
}
html[data-theme=dark] .p-2.p-md-5.bg-primary.rounded-4.border-0 {
    background-color: #212529 !important;
    color: #fff !important;
}
/* Stats section (4 ô số): dark mode = bg-dark text-white */
html[data-theme=dark] section .col-lg-6 .bg-primary.py-5.rounded {
    background-color: #212529 !important;
    color: #fff !important;
}
html[data-theme=dark] section .col-lg-6 .bg-primary.rounded .clip-text {
    background: none !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
}
html[data-theme=dark] .pricing-hero.bg-primary.border-top.border-bottom{
    background-color: var(--bg-primary) !important;
}
.navbar-toggler:focus{
    box-shadow: none !important;
}
.navbar-toggle-icon {
    width: 1.8rem;
    height: 1.0rem;
    position: relative;
    display: inline-block;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}
.navbar-toggle-icon span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: var(--hamburger-color);
    border-radius: 36px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}
.navbar-toggle-icon span:nth-child(1) {
    top: 0px;
}
.navbar-toggle-icon span:nth-child(2){
    top: 8px;
    background: var(--hamburger-color);
    opacity: 0.5;
}
.navbar-toggle-icon span:nth-child(3) {
    top: 8px;
    display: none;
}
.navbar-toggle-icon span:nth-child(4) {
    top: 16px;
}
.navbar-toggler:not(.collapsed) .navbar-toggle-icon span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
}
.navbar-toggler:not(.collapsed) .navbar-toggle-icon span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.navbar-toggler:not(.collapsed) .navbar-toggle-icon span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    display: inline-block;
}
.navbar-toggler:not(.collapsed) .navbar-toggle-icon span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
}
#navbar-logo {
    width: 250px;
    height: auto;
}
@media screen and (max-width: 992px ) {
    #navbar-logo {
        width: 250px;
        height: auto;
    }
}
.with-shapes{
    overflow: hidden;
    position: relative;
}
.with-shapes:before {
    position: absolute;
    content: ' ';
    width: 200px;
    height: 75px;
    right: -50px;
    top: -25px;
    opacity: 0.2;
    background: white;
    border-radius: 20px;
}
.with-shapes:after {
    position: absolute;
    content: ' ';
    width: 200px;
    height: 200px;
    left: -50px;
    opacity: 0.2;
    background: white;
    border-radius: 100%;
}
.lead{
    font-size: 1.15rem;
}
.backdrop-cards {
    position: relative;
}
.backdrop-cards:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--bs-primary);
    z-index: -1;
    bottom: 0;
    left: -50px;
    border-radius: 10px;
    transform: rotateZ(-8deg)
}
[data-bs-toggle].border-bottom{
    border-bottom-style: dashed !important;
    padding-bottom: 3px;
}
pre{
    margin-bottom: 0;
}
.code-area {
    background: #040811;
    padding: 10px;
    border-radius: 5px;
    color: #fff;
}
.code-area .hljs{
    background-color: transparent;
}
.doc-sidebar{
    position: sticky;
    max-height: 100vh;
    overflow-y: auto;
    top: 0;
}
.fixed .doc-sidebar{
    padding-top: 95px;
}
.doc-sidebar a.active, .doc-sidebar a.active .text-muted{
    color: var(--bs-primary) !important;
}
@media screen and (max-width: 992px ) {
    .doc-sidebar {
        position: fixed;
        height: 100%;
        overflow-y: auto;
        top: 0;
        background-color: var(--body);
        width: 80%;
        box-shadow: 0 20px 10px 10px rgb(0,0,0,0.05);
        z-index: 998;
    }
}
.btn-stack .btn{
    background: transparent;
    border: 2px solid #eee;
    margin-right: 8px;
    color: #89939e;
}
[data-theme=dark] .btn-stack .btn{
    border: 2px solid #46546b;
    color: #fff;
}
.btn-stack .btn.active{
    background: var(--bs-primary);
    border-color: transparent;
    color: #fff;
}
.contact-box {
    padding: 15px;
    margin: 10px;
    background: #fff;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
.contact-box .contact-label {
    font-size: 22px;
    font-weight: 700;
    color: #000;
}
.contact-box .contact-description {
    color: #000;
    opacity: 0.9;
    margin: 15px 0 !important;
}
.contact-box .form-group {
    margin-top: 20px;
}
.contact-box .form-group .control-label {
    color: #000;
}
.contact-box .form-group textarea {
    color: #000;
    border-color: rgba(0, 0, 0, 0.2);
    box-shadow: none;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.contact-box .form-group input {
    color: #000;
    border-color: rgba(0, 0, 0, 0.2);
    padding: 5px 8px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.contact-box button {
    background: #000;
    color: #fff;
    border: 0;
    padding: 5px 15px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.poll-box {
    padding: 15px;
    margin: 10px;
    background: #fff;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
.poll-box .poll-question {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}
.poll-box ol.poll-answers {
    padding: 0;
    margin: 10px 0;
}
.poll-box ol.poll-answers > li {
    list-style: none;
    border: 0 !important;
    color: #000;
    opacity: 0.95;
    padding: 10px 0;
    font-size: 1.1em;
    font-weight: 700;
}
.poll-box ol.poll-answers > li div {
    margin-right: 5px;
}
.poll-box button {
    background: #000;
    color: #fff;
    border: 0;
    padding: 5px 15px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.custom-overlay {
    overflow: hidden;
}
.custom-overlay .custom-message {
    position: relative;
    margin: 10px;
    background-color: #0067F4;
    color: #fff;
    padding: 15px 35px 15px 15px;
    max-width: 320px;
    overflow: hidden;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
.custom-overlay .custom-message .custom-label {
    position: absolute;
    background-color: #fff;
    top: 13px;
    right: -20px;
    color: #000;
    padding: 0 20px;
    font-size: 11px;
    font-weight: 700;
    width: 75px;
    height: 15px;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.custom-overlay .custom-message p {
    margin: 0 !important;
}
.custom-overlay .custom-message .custom-img {
    float: left;
    margin-right: 10px;
}
.custom-overlay .custom-message .custom-img img {
    max-height: 50px;
    max-width: 50px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.custom-overlay .custom-message .custom-text {
    display: block;
    color: #fff;
}
.custom-overlay .custom-message .btn {
    background-color: #fff;
    font-weight: 700;
    margin-top: 5px;
}
.custom-overlay .custom-message .btn:hover {
    color: #000;
}
#main-overlay {
    position: relative;
}
#main-overlay #site {
    position: absolute;
    z-index: 0;
}
#main-overlay .clickable {
    cursor: pointer;
}
#main-overlay .custom-message.custom-bg{
    background-size: cover;
}
#main-overlay .custom-message {
    z-index: 99999;
    bottom: -500px;
    position: fixed;
    margin: 10px;
    background-color: #0067F4;
    color: #fff;
    padding: 15px 35px 15px 15px;
    max-width: 320px;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
#main-overlay .custom-message.tl {
    top: 0;
    left: 0;
    bottom: auto;
    transform: translatey(10px);
    animation: showdown 1s ease-in;
}
#main-overlay .custom-message.tr {
    top: 0;
    right: 0;
    bottom: auto;
    transform: translatey(10px);
    animation: showdown 1s ease-in;
}
#main-overlay .custom-message.br {
    bottom: 0;
    right: 0;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .custom-message.bl {
    bottom: 0;
    left: 0;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .custom-message.bc {
    bottom: 0;
    left: 38%;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .custom-message .custom-label {
    position: absolute;
    background-color: #fff;
    top: 13px;
    right: -20px;
    color: #000;
    padding: 0 20px;
    font-size: 11px;
    font-weight: 700;
    width: 75px;
    height: 15px;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#main-overlay .custom-message a.remove {
    color: #fff;
    position: absolute;
    bottom: 0;
    right: 3px;
}
#main-overlay .custom-message p {
    margin: 0 !important;
}
#main-overlay .custom-message .custom-img {
    float: left;
    margin-right: 10px;
}
#main-overlay .custom-message .custom-img img {
    max-height: 50px;
    max-width: 50px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
#main-overlay .custom-message .custom-text {
    display: block;
    color: #fff;
}
#main-overlay .custom-message .btn {
    background-color: #fff;
    font-weight: 700;
    margin-top: 5px;
}
#main-overlay .custom-message .btn:hover {
    color: #000;
}
#main-overlay .contact-overlay {
    position: fixed;
    z-index: 9999;
    min-width: 100px;
}
#main-overlay .contact-overlay.br {
    bottom: 10px;
    right: 15px;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .contact-overlay.bl {
    bottom: 10px;
    left: 10px;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .contact-event {
    background: #fff;
    color: #000;
    padding: 8px;
    width: auto;
    display: block;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    font-weight: 700;
    text-decoration: none;
}
#main-overlay .contact-event i {
    background: #000;
    color: #fff;
    padding: 5px 6px;
    border-radius: 20px;
    margin-right: 5px;
}
#main-overlay .contact-event i.success {
    background: #82e26f !important;
}
#main-overlay .contact-box {
    min-width: 320px !important;
    position: relative;
}
#main-overlay .contact-box a.contact-close {
    position: absolute;
    right: 6px;
    top: 6px;
    color: #000;
    opacity: 0.4;
}
#main-overlay .contact-box a.contact-close:hover {
    opacity: 0.6;
}
#main-overlay .poll-overlay {
    position: fixed;
    z-index: 9999;
}
#main-overlay .poll-overlay.br {
    bottom: 10px;
    right: 15px;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .poll-overlay.bl {
    bottom: 10px;
    left: 10px;
    transform: translatey(-10px);
    animation: showup 1s ease-in;
}
#main-overlay .poll-overlay .poll-box {
    width: 320px;
    position: relative;
}
@keyframes showdown {
    0% {
      transform: translatey(-300px);
    }
    100% {
      transform: translatey(10px);
    }
  }
  @keyframes showup {
    0% {
      transform: translatey(300px);
    }
    100% {
      transform: translatey(-10px);
    }
  }
.checkmark {
    width: 18px;
    height: 19px;
    display: inline-block;
    font-size: 12px;
    vertical-align: middle;
    box-shadow: 0 1px 5px rgba(0,0,0,0.1);
}
@media screen and (max-width: 769px){
    .position-sm-relative {
        position: relative !important;
    }
}
[dir=rtl] .backdrop-cards:before{
    left: 0;
    right: -50px;
}
html[data-theme=dark] .modal-content{
    background: #1e293b;
}
.h-80 {
    height: 80%;
}
.shadow-gradient:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(-45deg, var(--bs-primary) 0%, var(--bs-secondary) 100% );
    transform: translate3d(0px, 20px, 0) scale(0.95);
    filter: blur(20px);
    opacity: var(0.7);
    transition: opacity 0.3s;
    border-radius: inherit;
}
.shadow-gradient::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    border-radius: inherit;
}
.perspective{
    transform: perspective(800px) rotateY(353);
}
.outer-left{
    left: -5rem !important;
}
.outer-right{
    right: -5rem !important;
}
.outer-top{
    top: -10rem !important;
}
.active>.page-link, .page-link.active {background: var(--bs-primary);border-color: transparent;}
.navbar-logo img:nth-child(2){display: none !important;}
[data-theme=dark] .navbar-logo img:first-child{
    display: none;
}
[data-theme=dark] .navbar-logo img:nth-child(2){
    display: inline-block !important;
}
article h2 {
    margin-bottom: 25px;
}
article h3 {
    font-size: 1.5em;
    margin-bottom: 25px;
}
#notifications-card > div {
    opacity: 0;
    animation: notify 9s infinite;
}

#notifications-card > div:nth-child(2) {
    animation-delay: 1s;
}

#notifications-card > div:nth-child(3) {
    animation-delay: 2s;
}

@keyframes notify {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    5% {
        opacity: 1;
        transform: translateY(0);
    }
    28% {
        opacity: 1;
        transform: translateY(0);
    }
    70% {
        opacity: 1;
        transform: translateY(-20px);
    }
    80% {
        opacity: 0;
    }
}
.backdrop-cards,.backdrop-cards:before{
    transition: all 1s;
}
.backdrop-cards:hover:before {
   webkit-filter: blur(10px);
   -moz-filter: blur(10px);
   -o-filter: blur(10px);
   -ms-filter: blur(10px);
   filter: blur(10px);
   opacity: 0.8;
   transform: rotateZ(-8deg) scale(0.95);
}
.integrations img, .integrations span{
    transition: all 0.5s linear;
}
.integrations:hover img, .integrations:hover span{
    border: 2px solid var(--bs-primary);
    transform: scale(1.3);
}
.backdrop-cards:hover .badge {
    animation: pop 3s ease-in-out;
}

@keyframes pop {
    0%{
        opacity: 0;
    }
    10% {
        -webkit-transform: scale(3);
        opacity: 0
    }
    15%{
       -webkit-transform: scale(1);
        opacity: 1
    }
}
.gradient-bottom {
    position: relative;
}
.gradient-bottom:after{
    content: '';
    position: absolute;
    width: 100%;
    height: 5px;
    background: var(--bs-primary);
    background: -moz-linear-gradient(135deg, var(--bs-primary) 0, var(--bs-secondary) 100%);
    background: -webkit-linear-gradient(135deg, var(--bs-primary) 0, var(--bs-secondary) 100%);
    background: linear-gradient(135deg, var(--bs-primary) 0, var(--bs-secondary) 100%);
    left: 0;
    bottom: -10px;
    border-radius:5px;
}
@keyframes thunder {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    25% {
        transform: scale(1.2) rotate(5deg);
        opacity: 0.9;
    }
    50% {
        transform: scale(0.95) rotate(-5deg);
        opacity: 0.8;
    }
    75% {
        transform: scale(1.1) rotate(3deg);
        opacity: 0.9;
    }
    100% {
        transform: scale(1) rotate(0);
        opacity: 1;
    }
}

.thunder-animation {
    display: inline-block;
    animation: thunder 1.5s ease infinite;
    transform-origin: center;
}

.card-carousel {
    margin: 0 auto;
    overflow: hidden;
    display: flex;
}
.card-carousel .card-carousel-item {
    width: 100%;
    transition: transform 0.1s linear;
}
.card-carousel .card-carousel-item.item-animate:hover {
    transform: translateY(-10px);
}
.card-carousel-item.fit-content{
    min-width: max-content;
}
.card-carousel .card-carousel-item.item-lg{
    min-width: 320px;
    min-height: 200px;
}
.card-carousel-inner {
    display: flex;
    gap: 20px;
    padding-right: 20px;
    will-change: transform;
    animation: scrolling 20s linear infinite;
}
.card-carousel:hover .card-carousel-inner {
    animation-play-state: paused;
}
@keyframes scrolling {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
}
section#mainfeatures .card{
    min-height: 405px;
}
.qr-code-animation{
    z-index: 2;    
}
.qr-code-animation svg {
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.qr-code-animation svg g > path:first-child{
    fill: blue;
    animation: colorCycle 10s infinite;
}
.qr-code-animation svg g > path:nth-child(2){
    fill: green;
    animation: colorCycle2 10s infinite;
}
@keyframes colorCycle {
    0%, 100% {
        fill: #4e67eb;
    }
    20% {
        fill: #2fad50;
    }
    40% {
        fill: #e2626b;
    }
    60% {
        fill: #0088ff;
    }
    80% {
        fill: #ff0090;
    }
}
@keyframes colorCycle2 {
    0%, 100% {
        fill: #4f46e5;
    }
    20% {
        fill: #ff3c00;
    }
    40% {
        fill: #7c3aed;
    }
    60% {
        fill: #c4b922;
    }
    80% {
        fill: #e90ecc;
    }
}
#blurred, #blurred > div {
    transition: all 1s;
}

#blurred:hover > div {
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -o-filter: blur(10px);
    -ms-filter: blur(10px);
    filter: blur(10px);
    opacity: 0.8;
    -webkit-transform: scale(0.95);
}

#blurred:hover > div:hover {
    -webkit-filter: blur(0);
    -moz-filter: blur(0);
    -o-filter: blur(0);
    -ms-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1.05);
}
.liquid-blur {
    background: var(--bg-liquid) !important;
    backdrop-filter: blur(5px);
}
