/* FONT CONFIGURATION
---------------------------------------------------------------------------------------------------- */
/* ----- Webfont: PeydaWeb ----- */
@font-face {
    font-family: PeydaWeb;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/PeydaWeb-Regular.woff2') format('woff2');
}

/* ----- Webfont: IRANSansX ----- */
@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-Thin.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-UltraLight.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-Light.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-Regular.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-Medium.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-DemiBold.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-Bold.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-ExtraBold.woff') format('woff');
}

@font-face {
    font-family: IRANSansXFN;
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('../fonts/IRANSansXFN/IRANSansXFaNum-Black.woff') format('woff');
}

/* BASIC STYLES
---------------------------------------------------------------------------------------------------- */
* {
    box-sizing: border-box;
}

/*html,*/
/*body {*/
/*    max-width: 100%;*/
/*    overflow-x: hidden;*/
/*}*/

body {
    font-family: IRANSansXFN !important;
    font-size: 15px;
    color: var(--e-global-color-text);
}

div,
span,
p,
a {
    font-family: IRANSansXFN !important;
}

p,
a {
    text-align: justify;
    line-height: 1.8;
    color: var(--e-global-color-text);
}

h1,
h1>a,
h1>span,
h2,
h2>a,
h2>span,
h3,
h3>a,
h3>span,
h4,
h4>a,
h4>span,
h5,
h5>a,
h5>span,
h6,
h6>a,
h6>span {
    font-family: PeydaWeb !important;
    font-weight: 700;
    line-height: 1.5;
    color: var(--e-global-color-3238803); /* Global Black Color */
}

h1,
h1>a,
h1>span {
    font-size: 2.5rem;
}

h2,
h2>a,
h2>span {
    font-size: 2rem;
}

h3,
h3>a,
h3>span {
    font-size: 1.75rem;
}

h4,
h4>a,
h4>span {
    font-size: 1.45rem;
}

h5,
h5>a,
h5>span {
    font-size: 1.2rem;
}

h6,
h6>a,
h6>span {
    font-size: 1rem;
}

.entry-content h1,
.entry-content h1>a,
.entry-content h2,
.entry-content h2>a,
.entry-content h3,
.entry-content h3>a,
.entry-content h4,
.entry-content h4>a,
.entry-content h5,
.entry-content h5>a,
.entry-content h6,
.entry-content h6>a {
    margin-bottom: 20px;
}

.e-con>.e-con-inner {
    padding-left: 16px;
    padding-right: 16px;
}

.dir-ltr {
    direction: ltr;
}

/* NEW STYLES
---------------------------------------------------------------------------------------------------- */
body.home .elementor-24 .elementor-element.elementor-element-d29a368:not(.elementor-motion-effects-element-type-background) {
    background-color: transparent !important;
}

.gradient-text {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: -webkit-linear-gradient(220deg, #6A11CB 0, #2575FC 100%);
    color: #2575FC;
}

/* WPADMINBAR STYLES
---------------------------------------------------------------------------------------------------- */
.rtl #wpadminbar .ab-icon {
    font: normal 20px/1 dashicons !important
}

.rtl #wpadminbar div,
.rtl #wpadminbar span,
.rtl #wpadminbar p,
.rtl #wpadminbar a {
    font-family: IRANSansXFN !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
}

/* ELEMENTSKIT STYLES
---------------------------------------------------------------------------------------------------- */
.elementskit-navbar-nav-default.elementskit-menu-container {
    background-color: transparent !important;
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel {
    right: 0;
    left: auto;
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel .elementor-element-c6c4198 {
    background-color: #FFFFFF;
    padding: 12px;
    border-radius: 6px;
    box-shadow: 0px 4px 25px 0px rgba(0, 0, 0, 0.15);
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel a {
    color: var(--e-global-color-3238803);
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel a:hover {
    color: var(--e-global-color-primary);
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel .ekit_page_list_content {
    flex-direction: column;
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel .ekit_page_list_content .elementor-icon-list-icon {
    margin: 0px 8px 6px 0px;
    width: 32px;
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel .ekit_page_list_content .elementor-icon-list-icon i {
    color: inherit;
    font-size: 32px;
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel .ekit_page_list_content .ekit_page_list_title_title {
    color: inherit;
    font-weight: 600;
}

.elementskit-navbar-nav-default .elementskit-megamenu-panel .ekit_page_list_content .ekit_menu_subtitle {
    font-size: 12px;
    /*line-height: 20px;*/
    color: var(--e-global-color-3238803);
    padding: 8px 0px 0px 0px;
}

.ekit-btn-wraper {
    --container-widget-width: max-content !important;
    max-width: max-content;
    width: max-content;
}

.elementskit-btn,
.ekit_navSidebar-button {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    height: 44px;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: -0.1px;
    padding: 0 28px !important;
    border-radius: 30px !important;
}

/* .elementskit-btn,
.ekit_navSidebar-button {
    overflow: hidden;
    z-index: 1;
}

.elementskit-btn::after,
.ekit_navSidebar-button::after {
    content: "";
    background: #E6EFFF;
    position: absolute;
    top: 0;
    right: -20%;
    bottom: 0;
    left: -20%;
    border-radius: 5px !important;
    transform: skewX(-45deg) scale(0, 1);
    transition: all 0.3s ease;
    z-index: -1;
}

.elementskit-btn:hover::after,
.ekit_navSidebar-button:hover::after {
    transform: skewX(-45deg) scale(1, 1);
    transition: all 0.3s ease-out;
} */

.ekit-wid-con>.ekit-heading .elementskit-section-title,
.ekit-wid-con>.ekit-heading .elementskit-section-title>span{
    font-weight: 700;
}

.ekit-wid-con .ekit-btt__button.yes:not(.ekit-tt-show) {
    -webkit-animation: none !important;
    animation: none !important;
}

.ekit-wid-con .ekit-btt__button.ekit-tt-show {
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-animation: ekit-btt-fadein .5s !important;
    animation: ekit-btt-fadein .5s !important;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    display: none;
}

/* CONTENT STYLES
---------------------------------------------------------------------------------------------------- */
.cstm-workflow-divider {
    height: 77%;
}

.cstm-blog-widget .post-items > div {
    display: flex;
}

.cstm-blog-widget .elementskit-post-image-card {
    display: flex !important;
    flex-direction: column;
}

.cstm-blog-widget .elementskit-post-body {
    display: flex;
    flex-direction: column;
    flex: auto;
}

.cstm-blog-widget .elementskit-post-body .entry-title {
    flex: auto;
}

.cstm-blog-widget .elementskit-entry-thumb img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* ----- ContactForm7 Contact Styles ----- */
.cstm-contact-form .wpcf7-form-control-wrap>input {
    height: 48px !important;
    padding: 0 10px !important;
}

.cstm-contact-form .wpcf7-form-control-wrap>textarea {
    padding: 10px !important;
}

.cstm-contact-form .wpcf7-form-control-wrap>input,
.cstm-contact-form .wpcf7-form-control-wrap>textarea {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border-color: #DDDDDD !important;
    border-radius: 0 2px 2px 0 !important;
    color: var(--e-global-color-text) !important;
}

.cstm-contact-form .wpcf7-form-control-wrap>input::placeholder,
.cstm-contact-form .wpcf7-form-control-wrap>textarea::placeholder {
    direction: rtl;
    text-align: right;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: var(--e-global-color-text) !important;
    opacity: 0.6 !important;
}

.cstm-contact-form .wpcf7-form-control-wrap>input:focus,
.cstm-contact-form .wpcf7-form-control-wrap>textarea:focus {
    box-shadow: none !important;
    border-color: #DDDDDD !important;
}

.cstm-contact-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    font-size: 13px;
    text-align: right;
    margin: -15px 3px 15px;
}

.cstm-contact-form .wpcf7-form input[type=submit] {
    height: 48px !important;
    display: flex !important;
    border-radius: 5px !important;
}

.cstm-contact-form .wpcf7-form .wpcf7-spinner {
    position: absolute;
    left: 0;
    bottom: 30px;
}

.cstm-contact-form .wpcf7-form .wpcf7-response-output {
    width: 100%;
    padding: 5px;
    margin: 10px 0 0;
    border: none;
    color: var(--e-global-color-secondary);
}

/* FOOTER STYLES
---------------------------------------------------------------------------------------------------- */
/* ----- ContactForm7 Subscription Styles ----- */
.cstm-subsc-form .wpcf7-form {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.cstm-subsc-form .wpcf7-form>p {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.cstm-subsc-form .wpcf7-form>p>span:has(.cstm-subsc-input) {
    width: calc(100% - 52px);
}

.cstm-subsc-form .wpcf7-form .cstm-subsc-input {
    direction: rtl !important;
    display: flex !important;
    height: 48px !important;
    max-width: 100% !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border: none !important;
    padding: 0 12px !important;
    border-radius: 0 30px 30px 0 !important;
    color: var(--e-global-color-text) !important;
}

.cstm-subsc-form .wpcf7-form .cstm-subsc-input:focus {
    box-shadow: none !important;
}

.cstm-subsc-form .wpcf7-form .cstm-subsc-input::placeholder {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--e-global-color-text) !important;
    opacity: 0.6 !important;
}

.cstm-subsc-form .wpcf7-form .wpcf7-not-valid-tip {
    display: none;
}

.cstm-subsc-form .wpcf7-form .cstm-subsc-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: 48px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border-radius: 30px 0 0 30px !important;
    color: #FFFFFF !important;
    background: var(--e-global-color-primary) !important;
}

.cstm-subsc-form .wpcf7-form .wpcf7-spinner {
    position: absolute;
    left: calc((52px - 24px)/2);
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.cstm-subsc-form .wpcf7-form .wpcf7-response-output {
    width: 100%;
    padding: 5px;
    margin: 10px 0 0;
    border: none;
    color: var(--e-global-color-secondary);
}

/* PAGE 404 STYLES
---------------------------------------------------------------------------------------------------- */
.site-main:has(.page-404-container) {
    max-width: 100% !important;
}

.e-con-inner:has(.page-404-container) {
    display: flex !important;
}

.page-content:has(.page-404-container) a {
    text-decoration: none !important;
}

.page-404-container {
    width: 100%;
    display: flex;
    padding: 1rem;
    border-radius: 20px;
    text-align: center;
    background: #ffffff;
    margin: 2rem 0 !important;
}

.page-404-container .page-404-image {
    width: 50%;
}

.page-404-image img {
    width: 80%;
    padding: 0 1rem 0 2rem;
}

.page-404-container .page-404-content {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.page-404-content h2 {
    margin-top: 2rem;
}

.page-404-content p {
    font-weight: 500;
    margin-top: 1rem;
}

.page-404-content .back-to-home-btn {
    margin-top: 1rem;
    color: #FFFFFF;
    background: var(--e-global-color-accent);
}

.page-404-content .back-to-home-btn:hover {
    color: #FFFFFF;
    background: var(--e-global-color-796c1ce);
}

/* TABLET STYLES
---------------------------------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    /* ----- Basic Styles ----- */
    .e-con>.e-con-inner {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* ----- ElementsKit Styles ----- */
    .elementskit-menu-hamburger.elementskit-menu-toggler,
    .elementskit-menu-close.elementskit-menu-toggler {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 44px !important;
        height: 42px;
        padding: 0;
    }
    
    .elementskit-nav-identity-panel .elementskit-menu-close.elementskit-menu-toggler {
        width: 44px !important;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 8px !important;
    }
    
    /* ----- Page 404 Styles ----- */
    .page-404-container {
        flex-direction: column;
        padding: 2rem;
        border-radius: 16px;
    }

    .page-404-container .page-404-image {
        width: 100%;
    }

    .page-404-image img {
        width: 65%;
    }

    .page-404-container .page-404-content {
        width: 100%;
    }

    .page-404-content h2 {
        margin-top: 1rem;
    }

    .page-404-content p {
        margin-top: 0.5rem;
    }
}

/* MOBILE STYLES
---------------------------------------------------------------------------------------------------- */
@media (max-width: 767px) {
    /* ----- Basic Styles ----- */
    h1,
    h1>a,
    h1>span {
        font-size: calc(1.375rem + 1.5vw);
    }
    
    h2,
    h2>a,
    h2>span {
        font-size: calc(1.325rem + .9vw);
    }
    
    h3,
    h3>a,
    h3>span {
        font-size: calc(1.3rem + .6vw);
    }
    
    h4,
    h4>a,
    h4>span {
        font-size: calc(1.275rem + .3vw);
    }
    
    /*h5,*/
    /*h5>a,*/
    /*h5>span {*/
    /*    font-size: 1.2rem;*/
    /*}*/
    
    /*h6,*/
    /*h6>a,*/
    /*h6>span {*/
    /*    font-size: 1rem;*/
    /*}*/
    
    .e-con>.e-con-inner {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* ----- Header Styles ----- */
    .ekit-template-content-header .elementor-24 .elementor-element.elementor-element-d29a368,
    .elementor-element.elementor-element-d29a368.e-flex.e-con-boxed.e-con.e-child {
        margin: 0;
    }
    
    .main-hero-section > .e-con-inner {
        padding-top: var(--padding-top);
    }
    
    /* ----- Content Styles ----- */
    .cstm-workflow-divider {
        height: 82%;
    }
    
    /* ----- Page 404 Styles ----- */
    .page-404-container {
        padding: 1rem;
        border-radius: 12px;
    }

    .page-404-image img {
        width: 100%;
    }
}