281 lines
5.9 KiB
CSS

@import "tailwind/_base.css";
@import "tailwind/_components.css";
@import "tailwind/_utilities.css";
@import 'intro.js/introjs.css';
@import "_checkbox-radio-switch.css";
@import "_progress.css";
@import "_scrollbars.css";
@import "_table.css";
@import "_helper.css";
@import '_calendar.css';
@import '_select-dropdown.css';
@import "_theme.css";
@import '_rich-text.css';
.introjs-tooltip {
@apply min-w-[400px] max-w-[480px] p-2 !important;
}
.good-img {
@apply -mt-96 !important;
}
.end-img {
@apply -mt-72 !important;
}
.introjs-button {
@apply bg-blue-600 text-white !important;
text-shadow: none !important;
}
.introjs-bullets ul li a.active {
@apply bg-blue-600 !important;
}
.introjs-prevbutton{
@apply bg-transparent border border-blue-600 text-blue-600 !important;
}
/* Page crossfade animation keyframes - Safari optimized */
@-webkit-keyframes page-crossfade-in {
from {
opacity: 0;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes page-crossfade-in {
from {
opacity: 0;
transform: translate3d(0, 0, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes page-crossfade-out {
from {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
to {
opacity: 0;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes page-crossfade-out {
from {
opacity: 1;
transform: translate3d(0, 0, 0);
}
to {
opacity: 0;
transform: translate3d(0, 0, 0);
}
}
/* Crossfade animation classes - GPU accelerated for Safari */
.animate-crossfade-in {
/* Explicit initial state prevents Safari flash during animation setup */
opacity: 0;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-animation: page-crossfade-in 300ms ease-out forwards;
animation: page-crossfade-in 300ms ease-out forwards;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
/* Only animate opacity - transform is for GPU layer promotion */
will-change: opacity;
}
.animate-crossfade-out {
/* Explicit initial state prevents Safari flash during animation setup */
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-animation: page-crossfade-out 300ms ease-out forwards;
animation: page-crossfade-out 300ms ease-out forwards;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
/* Only animate opacity - transform is for GPU layer promotion */
will-change: opacity;
}
/* Safari-specific GPU compositing optimization */
@supports (-webkit-touch-callout: none) {
.animate-crossfade-in,
.animate-crossfade-out {
/* Force GPU layer creation in Safari */
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
/* Prevent Safari from optimizing away the GPU layer */
-webkit-perspective: 1000;
perspective: 1000;
}
}
/* Element appear animation keyframes - Safari optimized */
@-webkit-keyframes element-fade-in {
from {
opacity: 0;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes element-fade-in {
from {
opacity: 0;
transform: translate3d(0, 0, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes element-slide-up {
from {
opacity: 0;
-webkit-transform: translate3d(0, 20px, 0);
transform: translate3d(0, 20px, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes element-slide-up {
from {
opacity: 0;
transform: translate3d(0, 20px, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes element-slide-down {
from {
opacity: 0;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes element-slide-down {
from {
opacity: 0;
transform: translate3d(0, -20px, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes element-slide-left {
from {
opacity: 0;
-webkit-transform: translate3d(20px, 0, 0);
transform: translate3d(20px, 0, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes element-slide-left {
from {
opacity: 0;
transform: translate3d(20px, 0, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes element-slide-right {
from {
opacity: 0;
-webkit-transform: translate3d(-20px, 0, 0);
transform: translate3d(-20px, 0, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes element-slide-right {
from {
opacity: 0;
transform: translate3d(-20px, 0, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes element-scale-in {
from {
opacity: 0;
-webkit-transform: scale3d(0.8, 0.8, 1);
transform: scale3d(0.8, 0.8, 1);
}
to {
opacity: 1;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes element-scale-in {
from {
opacity: 0;
transform: scale3d(0.8, 0.8, 1);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
/* Instrument Sans font utilities */
.font-instrument-condensed {
font-family: 'Instrument Sans Variable', sans-serif;
font-stretch: 75%;
}
.font-instrument {
font-family: 'Instrument Sans Variable', sans-serif;
font-stretch: 100%;
}