

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

p, span, div, h1, h2, h3, h4, h5, h6, a, li, td, th, label, input[type="text"], textarea {
    -webkit-user-select: auto;
    user-select: auto;
}

@font-face {
    font-family: 'Gilroy-Bold';
    src: url('../assets/fonts/Gilroy-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'Gilroy-Black';
    src: url('../assets/fonts/Gilroy-Black.ttf') format('truetype');
    font-weight: 1000;
    font-style: normal;
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'Gilroy-Medium';
    src: url('../assets/fonts/Gilroy-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'Gilroy-Regular';
    src: url('../assets/fonts/Gilroy-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'Gilroy-Semibold';
    src: url('../assets/fonts/Gilroy-Semibold.ttf') format('truetype');
    font-weight: 650;
    font-style: normal;
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

img {
    image-rendering: -webkit-optimize-contrast;
    -webkit-font-smoothing: antialiased;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translateZ(0) translateY(20px);
        transform: translateZ(0) translateY(20px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translateZ(0) translateY(30px);
        transform: translateZ(0) translateY(30px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translateZ(0) translateX(-30px);
        transform: translateZ(0) translateX(-30px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translateZ(0) translateX(30px);
        transform: translateZ(0) translateX(30px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0) translateX(0);
        transform: translateZ(0) translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        -webkit-transform: translateZ(0) scale(0.9);
        transform: translateZ(0) scale(0.9);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0) scale(1);
        transform: translateZ(0) scale(1);
    }
}

@keyframes slideInFromBottom {
    from {
        opacity: 0;
        -webkit-transform: translateZ(0) translateY(50px);
        transform: translateZ(0) translateY(50px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0) translateY(0);
        transform: translateZ(0) translateY(0);
    }
}

a, button, [role="button"] {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

* {
    -webkit-overflow-scrolling: touch;
}

button,
.btn {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

input,
textarea,
select {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@supports (-webkit-touch-callout: none) {
    body {
        -webkit-overflow-scrolling: touch;
    }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    * {
        -webkit-font-smoothing: antialiased;
    }
    
    img,
    [class*="image"] {
        image-rendering: -webkit-optimize-contrast;
    }
}

