@font-face {
    font-family: 'Yekan Bakh Fat';
    src: url('../fonts/YekanBakh-Fat.eot');
    src: local('YekanBakh-Fat'),
        url('../fonts/YekanBakh-Fat.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Fat.woff2') format('woff2'),
        url('../fonts/YekanBakh-Fat.woff') format('woff'),
        url('../fonts/YekanBakh-Fat.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Mediums';
    src: url('../fonts/YekanBakh-Medium.eot');
    src: local('YekanBakh-Medium'),
        url('../fonts/YekanBakh-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Medium.woff2') format('woff2'),
        url('../fonts/YekanBakh-Medium.woff') format('woff'),
        url('../fonts/YekanBakh-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Bolds';
    src: url('../fonts/YekanBakh-Bold.eot');
    src: local('YekanBakh-Bold'),
        url('../fonts/YekanBakh-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Bold.woff2') format('woff2'),
        url('../fonts/YekanBakh-Bold.woff') format('woff'),
        url('../fonts/YekanBakh-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Light';
    src: url('../fonts/YekanBakh-Light.eot');
    src: local('YekanBakh-Light'),
        url('../fonts/YekanBakh-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Light.woff2') format('woff2'),
        url('../fonts/YekanBakh-Light.woff') format('woff'),
        url('../fonts/YekanBakh-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Heavy';
    src: url('../fonts/YekanBakh-Heavy.eot');
    src: local('YekanBakh-Heavy'),
        url('../fonts/YekanBakh-Heavy.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Heavy.woff2') format('woff2'),
        url('../fonts/YekanBakh-Heavy.woff') format('woff'),
        url('../fonts/YekanBakh-Heavy.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Thins';
    src: url('../fonts/YekanBakh-Thin.eot');
    src: local('YekanBakh-Thin'),
        url('../fonts/YekanBakh-Thin.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Thin.woff2') format('woff2'),
        url('../fonts/YekanBakh-Thin.woff') format('woff'),
        url('../fonts/YekanBakh-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Regular';
    src: url('../fonts/YekanBakh-Regular.eot');
    src: local('YekanBakh-Regular'),
        url('../fonts/YekanBakh-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Regular.woff2') format('woff2'),
        url('../fonts/YekanBakh-Regular.woff') format('woff'),
        url('../fonts/YekanBakh-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh Hairline';
    src: url('../fonts/YekanBakh-Hairline.eot');
    src: local('YekanBakh-Hairline'),
        url('../fonts/YekanBakh-Hairline.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YekanBakh-Hairline.woff2') format('woff2'),
        url('../fonts/YekanBakh-Hairline.woff') format('woff'),
        url('../fonts/YekanBakh-Hairline.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

.yekanbakh-fat {
    font-family: Yekan Bakh Fat !important;
}

.yekanbakh {
    font-family: Yekan Bakh Mediums !important;
}

.yekanbakh-bold {
    font-family: Yekan Bakh Bolds !important;
}

.yekanbakh-light {
    font-family: Yekan Bakh Light !important;
}

.yekanbakh-heavy {
    font-family: Yekan Bakh Heavy !important;
}

.yekanbakh-thin {
    font-family: Yekan Bakh Thins !important;
}

.yekanbakh-regular {
    font-family: Yekan Bakh Regular !important;
}

.yekanbakh-hairline {
    font-family: Yekan Bakh Hairline !important;
}

.rtl {
    text-align: right;
    direction: rtl;
}

.ctl {
    text-align: center;
    direction: rtl;
}

.ltr {
    text-align: left;
    direction: ltr;
}

.alerts-border {
    border: 1px #242424 solid;
    animation: blink 1s;
    animation-iteration-count: 3;
}

@keyframes blink {
    50% {
        border-color: #fff;
    }
}

/* Image Loading Placeholders */
.image-loader {
    position: relative;
    background-color: #f0f0f0;
    overflow: hidden;
}

.image-loader.loading::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: skeleton-pulse 1.5s infinite;
}

@keyframes skeleton-pulse {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.image-loader img {
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.image-loader img.loaded {
    opacity: 1;
}

/* Pulse Animations for Icons/Badges */
.pulse-primary {
    animation: pulse-primary-animation 2s infinite;
    border-radius: 50%;
    display: inline-block;
}

@keyframes pulse-primary-animation {
    0% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.7);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(13, 110, 253, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0);
    }
}

.pulse-warning {
    animation: pulse-warning-animation 2s infinite;
    border-radius: 50%;
    display: inline-block;
}

@keyframes pulse-warning-animation {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(255, 193, 7, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
    }
}

.pulse-success {
    animation: pulse-success-animation 2s infinite;
    border-radius: 50%;
    display: inline-block;
}

@keyframes pulse-success-animation {
    0% {
        box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(25, 135, 84, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(25, 135, 84, 0);
    }
}