مدیاویکی:Common.css: تفاوت میان نسخه‌ها

بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
برچسب: واگردانی دستی
 
(۵۸ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشد)
خط ۲٬۰۶۷: خط ۲٬۰۶۷:
.fgwiki-slider, .fgwiki-slider * { box-sizing: border-box; }
.fgwiki-slider, .fgwiki-slider * { box-sizing: border-box; }


.fgwiki-slider__track { position: relative; width: 100%; height: 100%; }
  .fgwiki-slider__track {
        position: relative; /* یا absolute، بسته به نیاز */
        width: 100%;     /* یا مقدار ثابت */
height: 100%;   /* یا مقدار ثابت/متغیر دیگر */


overflow: hidden; /* برای جلوگیری از بیرون زدن اسلایدها */
    }
.fgwiki-slider__slide {
.fgwiki-slider__slide {
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 0;
     opacity: 0;
     opacity: 0;fgwiki-slider__slide
     visibility: hidden;
     visibility: hidden;
     transition: opacity 1s ease, visibility 1s ease;
     transition: opacity 1s ease, visibility 1s ease;
خط ۳٬۵۶۵: خط ۳٬۵۷۰:
/*کانتینر متن و کارت*/
/*کانتینر متن و کارت*/


.stats-section { padding: 40px 20px; background: #ffffff; font-family: sans-serif; }
.stats-section { padding: 40px 20px; background: #ffffff; font-family: IRANsans,sans-serif; }
.container { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.container { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }


خط ۳٬۶۷۲: خط ۳٬۶۷۷:
     position: absolute;
     position: absolute;
     background-color: #ffffff;
     background-color: #ffffff;
    min-width: 220px;
  min-width: 180
     box-shadow: 0px 8px 16px rgba(0,0,0,0.1);
     box-shadow: 0px 8px 16px rgba(0,0,0,0.1);
     z-index: 1000;
     z-index: 1000;
خط ۳٬۷۱۷: خط ۳٬۷۲۲:
     }
     }
}
}
/* مخفی کردن کامل منو در موبایل */
@media (max-width: 768px) {
    .poly-menu-container,
    .poly-nav,
    .poly-nav ul,
    .poly-nav li,
    .poly-nav a {
        display: none !important;
    }
}


/*  کانتینر 3ردیف در 2 ستون کادر شامل متن و عکس  */
/*  کانتینر 3ردیف در 2 ستون کادر شامل متن و عکس  */


/* ==========================================================
/*==============================================================
  DPX PROFESSIONAL CARD GRID
    DPX PROFESSIONAL CARD GRID
  Version : 2.0
    Production Version 1.0
  Author  : ChatGPT
     Optimized for MediaWiki
  For     : MediaWiki + SEO + Responsive
==============================================================*/
========================================================== */


/*==============================
 
  Theme Variables
/*==============================================================
==============================*/
    THEME
==============================================================*/


:root{
:root{


     --dpx-primary:#0f5fa8;
     --dpx-primary:#0f5fa8;
     --dpx-primary-dark:#0b4d88;
     --dpx-primary-hover:#0c4f8d;


     --dpx-secondary:#00b894;
     --dpx-secondary:#00b894;
     --dpx-secondary-dark:#009879;
     --dpx-secondary-hover:#009a7d;


     --dpx-accent:#38bdf8;
     --dpx-accent:#38bdf8;
    --dpx-title:#183153;
    --dpx-text:#5f6f7c;


     --dpx-bg:#f7fafc;
     --dpx-bg:#f7fafc;
     --dpx-card:#ffffff;
     --dpx-card:#ffffff;


     --dpx-border:#d8e7ef;
     --dpx-border:#d9e7ef;


     --dpx-title:#183153;
     --dpx-radius:24px;
    --dpx-text:#5d6b79;


     --dpx-radius:22px;
     --dpx-speed:.35s;


     --dpx-shadow:
     --dpx-shadow:
         0 12px 28px rgba(15,95,168,.08),
 
         0 4px 10px rgba(0,0,0,.05);
         0 10px 30px rgba(0,0,0,.06),
 
         0 2px 10px rgba(15,95,168,.05);


     --dpx-shadow-hover:
     --dpx-shadow-hover:
        0 24px 60px rgba(15,95,168,.18),
        0 10px 30px rgba(0,0,0,.10);


    --dpx-speed:.38s;
        0 20px 50px rgba(15,95,168,.16),
 
        0 8px 24px rgba(0,0,0,.08);


}
}




/*==============================
/*==============================================================
  Global
    RESET
==============================*/
==============================================================*/


.dpx-section,
.dpx-section,
خط ۳٬۷۷۴: خط ۳٬۷۹۷:


     box-sizing:border-box;
     box-sizing:border-box;
}
.dpx-section img{
    display:block;
    max-width:100%;
    border:0;
}
.dpx-section a{
    text-decoration:none;


}
}


.dpx-section{
.dpx-section{
    direction:rtl;


     width:100%;
     width:100%;
خط ۳٬۷۸۷: خط ۳٬۸۲۸:
     padding:0 18px;
     padding:0 18px;


    direction:rtl;
}


}


 
/*==============================================================
/*==============================
    GRID
  Grid
==============================================================*/
==============================*/


.dpx-grid{
.dpx-grid{
خط ۳٬۸۰۹: خط ۳٬۸۴۸:




/*==============================
/*==============================================================
  Card Base
    CARD
==============================*/
==============================================================*/


.dpx-card{
.dpx-card{
خط ۳٬۸۱۸: خط ۳٬۸۵۷:


     display:flex;
     display:flex;
    justify-content:space-between;


     align-items:stretch;
     align-items:stretch;


     justify-content:space-between;
     overflow:hidden;


     overflow:hidden;
     background:linear-gradient(
        180deg,
        #ffffff,
        #fbfdff
    );


     background:var(--dpx-card);
     border:1px solid var(--dpx-border);


     border-radius:var(--dpx-radius);
     border-radius:var(--dpx-radius);
    border:1px solid var(--dpx-border);


     box-shadow:var(--dpx-shadow);
     box-shadow:var(--dpx-shadow);
    isolation:isolate;


     transition:
     transition:
خط ۳٬۸۴۳: خط ۳٬۸۸۴:




/*==============================
/*==============================================================
Decorative Gradient
    LEFT GLOW
==============================*/
==============================================================*/


.dpx-card::before{
.dpx-card::before{
خط ۳٬۸۵۳: خط ۳٬۸۹۴:
     position:absolute;
     position:absolute;


     top:0;
     inset:auto auto -120px -120px;
 
    width:240px;
 
    height:240px;
 
    border-radius:50%;
 
    background:


     right:0;
     radial-gradient(


    width:8px;
        rgba(56,189,248,.14),


    height:100%;
        transparent 70%


    background:linear-gradient(
        180deg,
        var(--dpx-primary),
        var(--dpx-secondary)
     );
     );


     z-index:2;
     pointer-events:none;


}
}




/*==============================
/*==============================================================
Background Glow
    RIGHT ACCENT
==============================*/
==============================================================*/


.dpx-card::after{
.dpx-card::after{
خط ۳٬۸۸۲: خط ۳٬۹۲۷:
     position:absolute;
     position:absolute;


     left:-120px;
     top:0;


     bottom:-120px;
     right:0;


     width:260px;
     width:8px;


     height:260px;
     height:100%;


     border-radius:50%;
     background:


     background:
     linear-gradient(


    radial-gradient(
        180deg,


         rgba(56,189,248,.12),
         var(--dpx-primary),


         transparent 70%
         var(--dpx-secondary)


     );
     );


     z-index:0;
     transition:width .35s ease;
 
    pointer-events:none;


}
}




/*==============================
/*==============================================================
Hover
    HOVER
==============================*/
==============================================================*/


.dpx-card:hover{
.dpx-card:hover{
خط ۳٬۹۱۷: خط ۳٬۹۶۰:
     transform:translateY(-8px);
     transform:translateY(-8px);


     border-color:#b8dff1;
     border-color:#b8ddee;


     box-shadow:var(--dpx-shadow-hover);
     box-shadow:var(--dpx-shadow-hover);


}
}
/*==========================================================
 
  DPX CARD IMAGE
.dpx-card:hover::after{
==========================================================*/
 
    width:12px;
 
}
/*==============================================================
    IMAGE MODULE
==============================================================*/


.dpx-image{
.dpx-image{
خط ۳٬۹۳۰: خط ۳٬۹۷۹:
     position:relative;
     position:relative;


     width:42%;
     flex:0 0 42%;


     min-width:42%;
     max-width:42%;


     overflow:hidden;
     overflow:hidden;


     background:#eef6fb;
     background:#edf6fb;


     z-index:1;
     isolation:isolate;


}
}
خط ۳٬۹۵۳: خط ۴٬۰۰۲:


.dpx-image img{
.dpx-image img{
    display:block;


     width:100%;
     width:100%;
خط ۳٬۹۶۰: خط ۴٬۰۰۷:
     height:100%;
     height:100%;


     min-height:280px;
     min-height:290px;


     object-fit:cover;
     object-fit:cover;


     object-position:center;
     object-position:center;
    transform:scale(1);


     transition:
     transition:
        transform .7s ease,
        filter .5s ease;


    backface-visibility:hidden;
        transform .65s ease,


    will-change:transform;
        filter .45s ease;


}
}




/*==============================
/*==============================================================
  Dark Overlay
    IMAGE OVERLAY
==============================*/
==============================================================*/


.dpx-image::before{
.dpx-image::before{
خط ۳٬۹۹۷: خط ۴٬۰۴۴:
         rgba(15,95,168,.06),
         rgba(15,95,168,.06),


         rgba(0,184,148,.12)
         rgba(0,184,148,.14)


     );
     );


     opacity:1;
     z-index:1;


     transition:opacity .4s ease;
     transition:opacity .35s ease;


    z-index:2;
}
 
    pointer-events:none;
 
}




/*==============================
/*==============================================================
  Shine Effect
    SHINE EFFECT
==============================*/
==============================================================*/


.dpx-image::after{
.dpx-image::after{
خط ۴٬۰۲۲: خط ۴٬۰۶۵:
     position:absolute;
     position:absolute;


     top:-40%;
     top:-35%;


     left:-140%;
     left:-150%;


     width:60%;
     width:55%;


     height:180%;
     height:180%;
خط ۴٬۰۳۲: خط ۴٬۰۷۵:
     background:
     background:


    linear-gradient(
        linear-gradient(


        90deg,
            90deg,


        transparent,
            transparent,


        rgba(255,255,255,.35),
            rgba(255,255,255,.40),


        transparent
            transparent


    );
        );


     transform:rotate(18deg);
     transform:rotate(18deg);
خط ۴٬۰۴۸: خط ۴٬۰۹۱:
     transition:left .9s ease;
     transition:left .9s ease;


     z-index:3;
     z-index:2;
 
    pointer-events:none;


}
}




/*==============================
/*==============================================================
Hover Effects
    IMAGE HOVER
==============================*/
==============================================================*/


.dpx-card:hover .dpx-image img{
.dpx-card:hover .dpx-image img{
خط ۴٬۰۶۳: خط ۴٬۱۰۴:
     transform:scale(1.08);
     transform:scale(1.08);


     filter:saturate(110%) contrast(105%);
     filter:
 
        saturate(110%)
 
        contrast(104%)
 
        brightness(102%);


}
}
خط ۴٬۰۷۴: خط ۴٬۱۲۱:




/*==============================
/*==============================================================
  Rounded Corner
    IMAGE RADIUS
==============================*/
==============================================================*/


.dpx-image{
.dpx-image{


     border-top-left-radius:22px;
     border-radius:0 24px 24px 0;
 
    border-bottom-left-radius:22px;


}
}




/*==============================
/*==============================================================
  Loading Placeholder
    IMAGE LOADING
==============================*/
==============================================================*/


.dpx-image img{
.dpx-image img{


     background:#edf5fa;
     background:#eef5fa;


}
}




/*==============================
/*==============================================================
  Accessibility
    IMAGE PERFORMANCE
==============================*/
==============================================================*/
 
.dpx-image,
.dpx-image img{
 
    backface-visibility:hidden;


.dpx-image a:focus{
    transform:translateZ(0);


     outline:none;
     will-change:transform;


}
}


.dpx-image img{


     vertical-align:middle;
/*==============================================================
     OPTIONAL IMAGE BADGE
==============================================================*/


}
.dpx-badge{


    position:absolute;


/*==============================
    top:18px;
Decorative Accent
==============================*/


.dpx-image span{
    right:18px;


     display:none;
     z-index:3;


}
    display:inline-flex;


    align-items:center;


/*==============================
    justify-content:center;
Performance
==============================*/


.dpx-image,
    padding:7px 14px;
.dpx-image img{


     transform:translateZ(0);
     border-radius:30px;


}
    background:rgba(255,255,255,.94);


/*==========================================================
     color:var(--dpx-primary);
     DPX CARD CONTENT
==========================================================*/


.dpx-content{
    font-size:.78rem;


     position:relative;
     font-weight:700;


     width:58%;
     box-shadow:


    min-width:58%;
        0 6px 18px rgba(0,0,0,.08);


    display:flex;
}


    flex-direction:column;


     justify-content:center;
/*==============================================================
     OPTIONAL IMAGE GRADIENT
==============================================================*/


    align-items:flex-start;
.dpx-gradient{


     padding:34px 34px 28px;
     position:absolute;


     background:var(--dpx-card);
     inset:auto 0 0 0;


     z-index:2;
     height:90px;


}
    background:


        linear-gradient(


/*==============================
            transparent,
    Category (اختیاری)
==============================*/


.dpx-category{
            rgba(0,0,0,.18)


     display:inline-flex;
        );
 
     z-index:2;


     align-items:center;
     pointer-events:none;


    justify-content:center;
}


     margin-bottom:14px;
/*==============================================================
     CONTENT MODULE
==============================================================*/


    padding:6px 14px;
.dpx-content{


     border-radius:30px;
     flex:1;
 
    display:flex;


     background:rgba(0,184,148,.10);
     flex-direction:column;


     color:var(--dpx-secondary);
     justify-content:center;


     font-size:.78rem;
     align-items:flex-start;


     font-weight:700;
     padding:34px 32px;


     letter-spacing:.3px;
     position:relative;


     text-decoration:none;
     z-index:3;


}
}




/*==============================
/*==============================================================
     Title
     CATEGORY
==============================*/
==============================================================*/


.dpx-title{
.dpx-category{


     margin:0 0 16px;
     display:inline-flex;


     font-size:1.45rem;
     align-items:center;


     font-weight:800;
     justify-content:center;


     line-height:1.55;
     margin-bottom:16px;


     color:var(--dpx-title);
     padding:7px 16px;


}
    border-radius:40px;


.dpx-title a{
    background:rgba(0,184,148,.10);


     color:inherit;
     color:var(--dpx-secondary);


     text-decoration:none;
     font-size:.80rem;
 
    font-weight:700;


     transition:color .35s ease;
     line-height:1;


}
}


.dpx-card:hover .dpx-title{


     color:var(--dpx-primary);
/*==============================================================
     TITLE
==============================================================*/
 
.dpx-title{


}
    margin:0 0 14px;


    color:var(--dpx-title);


/*==============================
    font-size:1.45rem;
     Description
 
==============================*/
     font-weight:800;


.dpx-desc{
    line-height:1.6;


     margin:0;
     letter-spacing:-.2px;


    color:var(--dpx-text);
}


    font-size:.98rem;
.dpx-title a{


     line-height:2;
     color:inherit;


     display:-webkit-box;
     text-decoration:none;


     -webkit-box-orient:vertical;
     transition:color .30s ease;


    -webkit-line-clamp:2;
}


    overflow:hidden;
.dpx-card:hover .dpx-title{


     text-wrap:pretty;
     color:var(--dpx-primary);


}
}




/*==============================
/*==============================================================
     Spacer
     TITLE BAR
==============================*/
==============================================================*/


.dpx-spacer{
.dpx-title::after{


     flex:1;
     content:"";


     min-height:18px;
     display:block;


}
    width:54px;


    height:4px;


/*==============================
    margin-top:12px;
     Footer
 
==============================*/
     border-radius:20px;
 
    background:


.dpx-footer{
        linear-gradient(


    width:100%;
            90deg,


    display:flex;
            var(--dpx-primary),


    justify-content:space-between;
            var(--dpx-secondary)


    align-items:center;
        );


     margin-top:22px;
     transition:width .35s ease;


}
}


.dpx-card:hover .dpx-title::after{


/*==============================
     width:88px;
     More Button
==============================*/


.dpx-more{
}


    display:inline-flex;


     align-items:center;
/*==============================================================
     DESCRIPTION
==============================================================*/


    gap:10px;
.dpx-desc{


     padding:11px 20px;
     margin:0;


     border-radius:50px;
     color:var(--dpx-text);


     background:
     font-size:1rem;


     linear-gradient(
     line-height:2;
        135deg,
        var(--dpx-primary),
        var(--dpx-secondary)
    );


     color:#ffffff;
     text-align:justify;


     text-decoration:none;
     display:-webkit-box;


     font-size:.92rem;
     -webkit-box-orient:vertical;


     font-weight:700;
     -webkit-line-clamp:2;


     transition:
     overflow:hidden;
        transform .35s ease,
        box-shadow .35s ease;
 
    box-shadow:
 
        0 8px 20px rgba(15,95,168,.18);


}
}


.dpx-more:hover{


     transform:translateX(-6px);
/*==============================================================
     SPACER
==============================================================*/


    box-shadow:
.dpx-spacer{


        0 14px 28px rgba(15,95,168,.28);
    flex:1;


}
}




/*==============================
/*==============================================================
     Arrow
     FOOTER
==============================*/
==============================================================*/


.dpx-more svg{
.dpx-footer{


     width:18px;
     width:100%;


     height:18px;
     margin-top:24px;


     transition:transform .35s ease;
     display:flex;


}
    justify-content:space-between;


.dpx-more:hover svg{
    align-items:center;
 
    transform:translateX(-5px);


}
}




/*==============================
/*==============================================================
     Reading Time (اختیاری)
     META
==============================*/
==============================================================*/


.dpx-meta{
.dpx-meta{


     color:#7d8c98;
     color:#8a98a6;


     font-size:.82rem;
     font-size:.85rem;


     font-weight:600;
     font-weight:600;
خط ۴٬۳۸۲: خط ۴٬۴۳۲:




/*==============================
/*==============================================================
     Selection
     BUTTON
==============================*/
==============================================================*/


.dpx-content ::selection{
.dpx-more{


     background:#d5f5ec;
     display:inline-flex;


     color:#183153;
     align-items:center;
 
    gap:10px;


}
    padding:12px 22px;


/*==========================================================
     border-radius:60px;
     DPX PREMIUM EFFECTS
==========================================================*/


/*==============================
     background:
     Glass Highlight
==============================*/


.dpx-card .dpx-glass{
        linear-gradient(


    position:absolute;
            135deg,


    top:18px;
            var(--dpx-primary),


    left:18px;
            var(--dpx-secondary)


    width:90px;
        );


     height:90px;
     color:#ffffff;


     border-radius:50%;
     font-size:.92rem;


     background:rgba(255,255,255,.18);
     font-weight:700;


     backdrop-filter:blur(10px);
     text-decoration:none;


     -webkit-backdrop-filter:blur(10px);
     transition:


    opacity:.45;
        transform .30s ease,


    pointer-events:none;
        box-shadow .30s ease;


     transition:
     box-shadow:
        transform .6s ease,
        opacity .4s ease;


    z-index:1;
        0 8px 20px rgba(15,95,168,.18);


}
}


.dpx-card:hover .dpx-glass{
.dpx-more:hover{


     transform:scale(1.4);
     transform:translateX(-5px);


     opacity:.75;
     box-shadow:
 
        0 14px 28px rgba(15,95,168,.26);


}
}




/*==============================
/*==============================================================
Floating Gradient
    BUTTON ICON
==============================*/
==============================================================*/


.dpx-card .dpx-float{
.dpx-more svg{


     position:absolute;
     width:18px;


     width:260px;
     height:18px;


     height:260px;
     flex-shrink:0;


     left:-150px;
     transition:transform .30s ease;


    top:-120px;
}


    border-radius:50%;
.dpx-more:hover svg{


     background:
     transform:translateX(-5px);


    radial-gradient(
}


        rgba(56,189,248,.18),


        transparent 72%
/*==============================================================
    FOCUS
==============================================================*/


    );
.dpx-more:focus-visible{


     transition:all .8s ease;
     outline:3px solid rgba(56,189,248,.35);


     pointer-events:none;
     outline-offset:3px;
 
    z-index:0;


}
}


.dpx-card:hover .dpx-float{
/*==============================================================
    PREMIUM EFFECTS
==============================================================*/


    left:-80px;
/* Glass Light */
.dpx-card::before{


     top:-80px;
     content:"";


}
    position:absolute;


    left:-140px;


/*==============================
    bottom:-140px;
Animated Border
==============================*/


.dpx-card{
    width:260px;


     overflow:hidden;
     height:260px;


}
    border-radius:50%;


.dpx-card span.dpx-border{
    background:
        radial-gradient(
            circle,
            rgba(56,189,248,.16) 0%,
            rgba(56,189,248,.05) 45%,
            transparent 72%
        );


     position:absolute;
     pointer-events:none;


     inset:0;
     transition:
        transform .55s ease,
        opacity .35s ease;


     border-radius:inherit;
     opacity:.9;


    padding:1px;
}


    background:
.dpx-card:hover::before{


     linear-gradient(
     transform:scale(1.18);


        130deg,
}


        rgba(15,95,168,.25),


        rgba(0,184,148,.35),
/*==============================================================
    Premium Border
==============================================================*/


        rgba(56,189,248,.22)
.dpx-card{


     );
     position:relative;


    opacity:0;
}


    transition:opacity .45s ease;
.dpx-card:hover{


     pointer-events:none;
     border-color:rgba(0,184,148,.35);


    z-index:4;
}


    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);


     mask-composite:exclude;
/*==============================================================
     Image Animation
==============================================================*/


    -webkit-mask:
.dpx-card:hover .dpx-image img{
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);


     -webkit-mask-composite:xor;
     transform:scale(1.07);


}
}


.dpx-card:hover span.dpx-border{


     opacity:1;
/*==============================================================
     Content Animation
==============================================================*/


}
.dpx-title,
.dpx-desc,
.dpx-category{


    transition:
        transform .35s ease,
        color .35s ease;


/*==============================
}
Title Decoration
==============================*/


.dpx-title{
.dpx-card:hover .dpx-category{


     position:relative;
     transform:translateY(-2px);


}
}


.dpx-title::after{
.dpx-card:hover .dpx-title{


     content:"";
     transform:translateY(-3px);


    display:block;
}


    width:52px;
.dpx-card:hover .dpx-desc{


     height:4px;
     transform:translateY(-2px);


    margin-top:12px;
}


    border-radius:20px;


     background:
/*==============================================================
     Button Shine
==============================================================*/


    linear-gradient(
.dpx-more{


        90deg,
    position:relative;


        var(--dpx-primary),
    overflow:hidden;


        var(--dpx-secondary)
}


    );
.dpx-more::before{


     transition:width .35s ease;
     content:"";


}
    position:absolute;


.dpx-card:hover .dpx-title::after{
    top:0;


     width:92px;
     left:-150%;


}
    width:60%;
 
    height:100%;


    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.45),
            transparent
        );


/*==============================
    transform:skewX(-20deg);
Card Lift
==============================*/


.dpx-card:hover{
    transition:left .7s ease;


    transform:
}


        translateY(-10px)
.dpx-more:hover::before{


        scale(1.015);
    left:170%;


}
}




/*==============================
/*==============================================================
Image Contrast
    Soft Card Lift
==============================*/
==============================================================*/


.dpx-card:hover .dpx-image img{
.dpx-card{


     filter:
     transform-origin:center;


        contrast(108%)
}


        saturate(112%)
.dpx-card:hover{


         brightness(102%);
    transform:
         translateY(-8px)
        scale(1.015);


}
}




/*==============================
/*==============================================================
Button Glow
    Shadow Layers
==============================*/
==============================================================*/
 
.dpx-card{


.dpx-more{
    box-shadow:


    position:relative;
        0 10px 20px rgba(15,95,168,.05),


    overflow:hidden;
        0 18px 40px rgba(0,0,0,.05);


}
}


.dpx-more::before{
.dpx-card:hover{


     content:"";
     box-shadow:


    position:absolute;
        0 16px 34px rgba(15,95,168,.10),
 
    top:0;
 
    left:-140%;
 
    width:70%;
 
    height:100%;
 
    background:
 
    linear-gradient(
 
        90deg,
 
        transparent,
 
        rgba(255,255,255,.38),
 
        transparent
 
    );
 
    transition:left .7s ease;
 
}
 
.dpx-more:hover::before{


    left:180%;
        0 30px 70px rgba(0,0,0,.10);


}
}




/*==============================
/*==============================================================
Card Entrance Animation
    Fade Animation
==============================*/
==============================================================*/


@keyframes dpxFadeUp{
@keyframes dpxFade{


     from{
     from{
خط ۴٬۶۹۲: خط ۴٬۷۳۵:


         transform:
         transform:
 
             translateY(24px);
             translateY(30px);


     }
     }
خط ۴٬۷۰۲: خط ۴٬۷۴۴:


         transform:
         transform:
             translateY(0);
             translateY(0);


خط ۴٬۷۱۲: خط ۴٬۷۵۳:


     animation:
     animation:
        dpxFade .65s ease both;


        dpxFadeUp
}


        .7s ease both;


}
/*==============================================================
    Accessibility
==============================================================*/


.dpx-card:focus-within{


/*==============================
    box-shadow:
Smooth Typography
==============================*/


.dpx-title,
        0 0 0 4px rgba(56,189,248,.18),
.dpx-desc,
 
.dpx-more{
        0 18px 45px rgba(15,95,168,.14);
 
}
 
 
/*==============================================================
    Better Typography
==============================================================*/
 
.dpx-title,
.dpx-desc{


     text-rendering:optimizeLegibility;
     text-rendering:optimizeLegibility;
خط ۴٬۷۳۵: خط ۴٬۷۸۷:




/*==============================
/*==============================================================
Better Focus
    Better Selection
==============================*/
==============================================================*/


.dpx-card a:focus-visible{
.dpx-card *::selection{


     outline:3px solid var(--dpx-accent);
     background:#d9f7ef;


     outline-offset:4px;
     color:#183153;


    border-radius:8px;
}


}
/*==============================================================
    DPX PRODUCTION FINAL
    Responsive + Performance + Accessibility
==============================================================*/


/*==========================================================
    DPX PREMIUM MICRO INTERACTIONS
==========================================================*/


/*==============================
/*==============================
  Smooth Rendering
    Desktop
==============================*/
==============================*/


.dpx-card,
@media (max-width:1200px){
.dpx-image,
.dpx-content,
.dpx-title,
.dpx-desc,
.dpx-more{


     transition:
     .dpx-grid{
        all .35s ease;


}
        gap:28px;


    }


/*==============================
    .dpx-content{
  Hover Gradient Background
==============================*/


.dpx-card{
        padding:28px;


     background:
     }
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdff 100%
        );


}
    .dpx-title{


.dpx-card:hover{
        font-size:1.32rem;


     background:
     }
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f5fbff 100%
        );


}
}
خط ۴٬۷۹۸: خط ۴٬۸۳۳:


/*==============================
/*==============================
  Left Accent Bar Animation
    Tablet
==============================*/
==============================*/


.dpx-card::before{
@media (max-width:992px){


     transition:
     .dpx-grid{
        width .35s ease,
        background .35s ease;


}
        grid-template-columns:1fr;


.dpx-card:hover::before{
     }
 
     width:12px;


}
}
خط ۴٬۸۱۷: خط ۴٬۸۴۸:


/*==============================
/*==============================
  Image Shadow
    Mobile
==============================*/
==============================*/


.dpx-image{
@media (max-width:768px){


     box-shadow:
     .dpx-section{


         inset 0 0 0 1px rgba(255,255,255,.15);
         padding:0 14px;


}
        margin:36px auto;


.dpx-card:hover .dpx-image{
    }


     box-shadow:
     .dpx-card{


         inset 0 0 0 1px rgba(255,255,255,.25),
         flex-direction:column;


        -8px 0 20px rgba(15,95,168,.08);
    }


}
    .dpx-image{


        flex:none;


/*==============================
        max-width:100%;
  Content Animation
==============================*/


.dpx-title{
        width:100%;


    transition:
        min-height:240px;
        color .35s ease,
        transform .35s ease;


}
        border-radius:24px 24px 0 0;


.dpx-card:hover .dpx-title{
    }


     transform:translateY(-2px);
     .dpx-image img{


}
        min-height:240px;


.dpx-desc{
    }


     transition:
     .dpx-content{
        color .35s ease,
        opacity .35s ease;


}
        width:100%;


.dpx-card:hover .dpx-desc{
        padding:24px 20px;


     color:#425466;
     }


}
    .dpx-title{


        font-size:1.20rem;


/*==============================
    }
  More Button
==============================*/


.dpx-more{
    .dpx-desc{


    position:relative;
        -webkit-line-clamp:3;


     overflow:hidden;
     }


     white-space:nowrap;
     .dpx-footer{


}
        flex-wrap:wrap;


.dpx-more::after{
        gap:14px;


     content:"";
     }


    position:absolute;
}


    inset:0;


     border-radius:inherit;
/*==============================
     Small Mobile
==============================*/


    border:1px solid rgba(255,255,255,.18);
@media (max-width:480px){


     pointer-events:none;
     .dpx-grid{
 
        gap:18px;
 
    }
 
    .dpx-image{


}
        min-height:200px;
 
    }


    .dpx-image img{


/*==============================
        min-height:200px;
  Arrow Animation
==============================*/


.dpx-more svg{
    }


     transition:
     .dpx-content{
        transform .3s ease;


}
        padding:18px;


.dpx-more:hover svg{
    }


     transform:translateX(-6px);
     .dpx-title{


}
        font-size:1.05rem;


    }


/*==============================
    .dpx-desc{
  Card Border
==============================*/


.dpx-card{
        font-size:.92rem;


    border:
        line-height:1.9;


        1px solid rgba(15,95,168,.10);
    }


}
    .dpx-more{


.dpx-card:hover{
        width:100%;


    border-color:
        justify-content:center;


        rgba(0,184,148,.28);
    }


}
}
خط ۴٬۹۴۳: خط ۴٬۹۷۴:


/*==============================
/*==============================
  Image Zoom
    Images
==============================*/
==============================*/


.dpx-image img{
.dpx-image img{


     transition:
     display:block;


        transform .7s ease,
    width:100%;


        filter .5s ease;
    height:100%;
 
    object-fit:cover;


}
}


.dpx-card:hover .dpx-image img{


     transform:scale(1.07);
/*==============================
     Links
==============================*/
 
.dpx-card a{
 
    -webkit-tap-highlight-color:transparent;


}
}
خط ۴٬۹۶۴: خط ۵٬۰۰۲:


/*==============================
/*==============================
  Better Text
    Keyboard
==============================*/
==============================*/


.dpx-title{
.dpx-card a:focus-visible{


     letter-spacing:-0.2px;
     outline:3px solid rgba(56,189,248,.35);


}
    outline-offset:3px;


.dpx-desc{
     border-radius:8px;
 
    text-align:justify;
 
     text-wrap:pretty;


}
}
خط ۴٬۹۸۳: خط ۵٬۰۱۷:


/*==============================
/*==============================
  Reduced Motion
    Reduced Motion
==============================*/
==============================*/


خط ۴٬۹۹۰: خط ۵٬۰۲۴:
     .dpx-card,
     .dpx-card,
     .dpx-card *,
     .dpx-card *,
     .dpx-image img{
     .dpx-image img,
    .dpx-more{
 
        animation:none !important;


         transition:none !important;
         transition:none !important;
        animation:none !important;


     }
     }


}
}
/*==========================================================
    DPX RESPONSIVE + FINAL OPTIMIZATION
==========================================================*/




/*==============================
/*==============================
     Large Desktop
     Print
==============================*/
==============================*/


@media (min-width:1400px){
@media print{


     .dpx-section{
     .dpx-card{
 
        break-inside:avoid;
 
        box-shadow:none;


         max-width:1380px;
         border:1px solid #cfcfcf;


     }
     }
خط ۵٬۰۲۱: خط ۵٬۰۵۶:


/*==============================
/*==============================
     Laptop
     Performance
==============================*/
==============================*/


@media (max-width:1200px){
.dpx-card{


     .dpx-grid{
     contain:layout paint;


        gap:28px;
}


    }
.dpx-image img{


     .dpx-content{
     image-rendering:auto;
 
        padding:28px;
 
    }
 
    .dpx-title{
 
        font-size:1.32rem;
 
    }


}
}
خط ۵٬۰۴۸: خط ۵٬۰۷۳:


/*==============================
/*==============================
     Tablet
     FINAL FIXES
==============================*/
==============================*/


@media (max-width:992px){
/* حذف فاصله ناخواسته تصاویر */


    .dpx-grid{
.dpx-image picture{


        grid-template-columns:1fr;
    display:block;


        gap:26px;
    width:100%;


     }
     height:100%;


}
}


/* رفع کشیدگی متن */


/*==============================
.dpx-title,
    Mobile
.dpx-desc{
==============================*/


@media (max-width:768px){
    overflow-wrap:anywhere;


    .dpx-section{
}


        padding:0 14px;
/* جلوگیری از اسکرول افقی */


        margin:36px auto;
.dpx-section{


     }
     overflow:hidden;


    .dpx-card{
}
 
 
/*  رنگ پس زمینه اختصاصی یک صفحه  */
 
/* ۱. شفاف کردن پس‌زمینه اصلی مدیاویکی برای نمایش گرادینت */
#content, #mw-page-base, #mw-head, .mw-body {
    background: transparent !important;
}


        flex-direction:column;
/* ۲. تعریف کلاس گرادینت اختصاصی شما */
.my-custom-gradient {
    /* ایجاد گرادینت از بالا به پایین با ترتیب رنگ‌های درخواستی شما */
  background: linear-gradient(180deg,
        #2A7B9B 0%,    /* رنگ بالا */
        #57C785 50%,  /* رنگ میانی */
        #EDDD53 100%  /* رنگ پایین */
    ) !important;


     }
     /* ثابت نگه داشتن پس‌زمینه هنگام اسکرول برای جلوگیری از بهم ریختگی */
    background-attachment: fixed !important;
   
    /* ایجاد حس نرمی و محو بودن (Blur effect) با استفاده از ترکیب رنگ‌ها */
    /* توجه: خود گرادینت در لبه‌ها محو می‌شود، اما اگر می‌خواهید محتوا هم نرم باشد: */
    border-radius: 15px;
    padding: 20px;
}


    .dpx-image{


        width:100%;
#content, #mw-page-base, #mw-head, .mw-body {
    background: transparent !important;
}


        min-width:100%;


        height:250px;
=============================================================
تغییرات جدید
============================================================
/* استایل فونت متحرک */
.sanjab-typewriter {
    direction: rtl;
    text-align: center;
    font-family: Tahoma, 'B Nazanin', sans-serif;
    font-size: 50px;
    font-weight: bold;
    color: #1a202c;
    min-height: 120px;
    display: block;
    visibility: hidden; /* تا قبل از شروع جاوااسکریپت مخفی بماند */
    border-left: 4px solid #ff7a00;
    padding-left: 10px;
}


        border-radius:22px 22px 0 0;
===================================================================


    }


    .dpx-image img{
/*    محصولات دایره ای */


        min-height:250px;
.products-section{


     }
     padding:70px 15px;


     .dpx-content{
     background:#fff;


        width:100%;
}


        min-width:100%;
.container{


        padding:24px 20px;
    max-width:1300px;


     }
     margin:auto;


    .dpx-title{
}


        font-size:1.20rem;
.section-header{


        line-height:1.7;
    text-align:center;


     }
     margin-bottom:55px;


    .dpx-desc{
}


        -webkit-line-clamp:3;
.section-header h2{


        font-size:.95rem;
    font-size:42px;


     }
     font-weight:700;


     .dpx-footer{
     color:#111;


        margin-top:20px;
    position:relative;


     }
     display:inline-block;


}
}


.section-header h2::after{


/*==============================
     content:"";
     Small Mobile
==============================*/


@media (max-width:480px){
    display:block;


     .dpx-image{
     width:80px;


        height:210px;
    height:3px;


     }
     background:#e6e6e6;


     .dpx-image img{
     margin:15px auto 0;


        min-height:210px;
}


    }
.products-grid{


     .dpx-content{
     display:grid;


        padding:20px 18px;
    grid-template-columns:repeat(4,1fr);


     }
     gap:40px;


    .dpx-title{
}


        font-size:1.08rem;
.product-card{


     }
     text-align:center;


     .dpx-desc{
     transition:.35s;


        font-size:.90rem;
}


        line-height:1.9;
.product-card a{


     }
     color:#333;


     .dpx-more{
     text-decoration:none;


        width:100%;
    display:block;


        justify-content:center;
}


    }
.product-card figure{


}
    width:190px;


    height:190px;


/*==============================
     margin:0 auto 25px;
     Image
==============================*/


.dpx-image img{
    border-radius:0%;


     display:block;
     overflow:hidden;


     max-width:100%;
     transition:.4s;
 
}
 
.product-card img{
 
    width:100%;


     height:100%;
     height:100%;
    object-fit:cover;
    transition:.5s;


}
}


.product-card h3{


/*==============================
     font-size:29px;
     Link
==============================*/


.dpx-card a{
    margin-bottom:18px;


     -webkit-tap-highlight-color:transparent;
     color:#222;


}
}


.product-card p{


/*==============================
     line-height:2;
     Selection
==============================*/


.dpx-card::selection{
    color:#666;


     background:#d7f5ee;
     font-size:17px;


}
}


.product-card:hover figure{


/*==============================
     transform:translateY(-8px);
     Accessibility
==============================*/


.dpx-card:focus-within{
    box-shadow:0 18px 40px rgba(0,0,0,.18);


    box-shadow:
}


        0 0 0 4px rgba(0,184,148,.15),
.product-card:hover img{


        var(--dpx-shadow-hover);
    transform:scale(1.08);


}
}


.product-card:hover h3{


/*==============================
     color:#b48b45;
     Performance
==============================*/


.dpx-image img{
}


    image-rendering:auto;
@media(max-width:1100px){


}
.products-grid{


.dpx-card{
grid-template-columns:repeat(2,1fr);


    contain:layout paint;
}


}
}


@media(max-width:650px){


/*==============================
.products-section{
    Print
 
==============================*/
padding:45px 15px;
 
}
 
.section-header h2{
 
font-size:34px;
 
}
 
.products-grid{
 
grid-template-columns:1fr;
 
gap:35px;
 
}
 
.product-card figure{
 
width:170px;
 
height:170px;
 
}
 
.product-card h3{
 
font-size:25px;
 
}


@media print{
.product-card p{


    .dpx-card{
font-size:16px;


        break-inside:avoid;
line-height:1.9;


        box-shadow:none;
}


        border:1px solid #ccc;
}
/*  پایان محصولات دایره ای            */


    }


/*  دکمه شیشه ای*/
:root {
    /* استخراج پالت رنگی از تصویر */
    --primary-pink: #f8c8d3;
    --glass-bg: rgba(255, 255, 255, 0.25);
    --glass-border: rgba(255, 255, 255, 0.4);
    --shadow-color: rgba(248, 200, 211, 0.5);
    --text-color: #7a5c66;
}
}


.button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}


/*==========================================================
.glass-button {
     END
    /* ایجاد ساختار دایره‌ای و ریسپانسیو */
==========================================================*/
    width: 15vw; /* اندازه بر اساس عرض صفحه نمایش */
    min-width: 100px;
    max-width: 200px;
    aspect-ratio: 1 / 1; /* تضمین دایره ماندن در هر شرایطی */
    border-radius: 50%;
   
    /* افکت شیشه‌ای (Glassmorphism) */
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 2px solid var(--glass-border);
   
    /* افکت سه‌بعدی و سایه‌ها */
    box-shadow:
        0 8px 32px 0 var(--shadow-color),
        inset 0 4px 4px rgba(255, 255, 255, 0.3),
        inset 0 -4px 6px rgba(0, 0, 0, 0.05);
   
    /* تایپوگرافی */
    color: var(--text-color);
    font-family: 'Tahoma', sans-serif; /* یا فونت فارسی مورد نظر شما */
    font-weight: bold;
    font-size: 1.2rem;
    cursor: pointer;
   
    /* انیمیشن و تعامل */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    justify-content: center;
    align-items: center;
    outline: none;
}
 
/* افکت هنگام نگه داشتن موس (Hover) */
.glass-button:hover {
    transform: translateY(-5px) scale(1.05);
    background: rgba(255, 255, 255, 0.4);
    box-shadow:
        0 15px 45px 0 var(--shadow-color),
        inset 0 2px 2px rgba(255, 255, 255, 0.5);
    color: #4a343c;
}
 
/* افکت هنگام کلیک (Active) */
.glass-button:active {
    transform: translateY(2px) scale(0.98);
    box-shadow: 0 5px 15px 0 var(--shadow-color);
}
 
 
======================================================
 
 
#city-search-wrapper { margin: 20px 0; }
#search-input { width: 100%; max-width: 400px; padding: 10px; border: 1px solid #ccc; border-radius: 5px; }
.province-section { margin-top: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.province-title { font-weight: bold; color: #007bff; margin-bottom: 5px; }
.city-list { display: flex; flex-wrap: wrap; gap: 5px; list-style: none; padding: 0; }
.city-list li { background: #f0f0f0; padding: 3px 10px; border-radius: 10px; font-size: 0.9em; }
 
 
/*  4 کارت اهدا بخشنده*/
 
/* -------------------------
  Medical Categories
-------------------------*/
 
.medical-categories{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:20px;
    direction:rtl;
}
 
.category-grid{
 
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
 
}
 
.category-card{
 
    background:#f5f5f5;
    border-radius:18px;
    padding:35px 20px;
 
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
 
    text-align:center;
 
    text-decoration:none;
 
    transition:.35s ease;
 
    border:1px solid transparent;
 
    min-height:220px;
 
}
 
.category-card:hover{
 
    transform:translateY(-8px);
 
    box-shadow:0 18px 40px rgba(0,0,0,.08);
 
    border-color:#3b82f6;
 
    background:#fff;
 
}
 
.category-card .icon{
 
    width:85px;
    height:85px;
 
    border-radius:50%;
 
    background:#ffffff;
 
    display:flex;
    justify-content:center;
    align-items:center;
 
    margin-bottom:22px;
 
    box-shadow:0 8px 18px rgba(0,0,0,.05);
 
}
 
.category-card .icon i{
 
    font-size:42px;
 
    color:#14B8A6;
 
    transition:.35s;
 
}
 
 
.category-card:hover .icon i{
 
    transform:scale(1.12);
 
    color:#0F9E90;
 
}
 
.category-card h3{
 
    margin:0;
 
    color:#F97316;
 
    font-size:23px;
 
    line-height:1.8;
 
    font-weight:700;
 
}
 
 
/* رنگ حاشیه هنگام هاور */
.category-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.08);
    border-color:#14B8A6;
    background:#fff;
 
 
/* دسترسی برای موتورهای جستجو */
 
.sr-only{
 
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
 
}
 
/* ===========================
      Tablet
=========================== */
 
@media(max-width:992px){
 
.category-grid{
 
grid-template-columns:repeat(2,1fr);
 
}
 
.category-card{
 
min-height:200px;
 
}
 
}
 
/* ===========================
      Mobile
=========================== */
 
@media(max-width:576px){
 
.category-grid{
 
grid-template-columns:repeat(2,1fr);
 
gap:15px;
 
}
 
.category-card{
 
padding:25px 15px;
 
min-height:170px;
 
border-radius:15px;
 
}
 
.category-card .icon{
 
width:65px;
height:65px;
 
margin-bottom:15px;
 
}
 
.category-card .icon i{
 
font-size:32px;
 
}
 
.category-card h3{
 
font-size:18px;
 
}
 
}
/*=============================
        General
=============================*/
 
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
 
.medical-categories{
 
    max-width:1200px;
    margin:auto;
    padding:20px;
    direction:rtl;
 
}
 
/*=============================
        Grid
=============================*/
 
.category-grid{
 
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
 
}
 
/*=============================
        Card
=============================*/
 
.category-card{
 
    background:#f3f3f3;
    border-radius:18px;
 
    text-decoration:none;
 
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
 
    padding:35px 20px;
 
    min-height:210px;
 
    transition:.35s ease;
 
    border:1px solid #ececec;
 
    box-shadow:0 4px 12px rgba(0,0,0,.03);
 
}
 
.category-card:hover{
 
    background:#ffffff;
 
    transform:translateY(-8px);
 
    box-shadow:0 18px 40px rgba(0,0,0,.08);
 
    border-color:#14B8A6;
 
}
 
/*=============================
        Icon
=============================*/
 
.card-icon{
 
    font-size:62px;
 
    color:#14B8A6;
 
    margin-bottom:20px;
 
    transition:.35s;
 
}
 
.category-card:hover .card-icon{
 
    color:#0F9D8E;
 
    transform:scale(1.1);
 
}
 
/*=============================
        Title
=============================*/
 
.category-card h3{
 
    color:#F97316;
 
    text-align:center;
 
     font-size:24px;
 
    line-height:1.9;
 
    font-weight:700;
 
}
 
/*=============================
        Tablet
=============================*/
 
@media(max-width:992px){
 
.category-grid{
 
grid-template-columns:repeat(2,1fr);
 
}
 
}
 
/*=============================
        Mobile
=============================*/
 
@media(max-width:576px){
 
.category-grid{
 
grid-template-columns:repeat(2,1fr);
 
gap:15px;
 
}
 
.category-card{
 
min-height:165px;
 
padding:25px 15px;
 
border-radius:16px;
 
}
 
.card-icon{
 
font-size:45px;
 
margin-bottom:15px;
 
}
 
.category-card h3{
 
font-size:18px;
 
line-height:1.7;
 
}
 
}
 
/*  کانتینر کادرهای زیر هم دماوندپلیمر          */
 
*{
margin:0;
padding:0;
box-sizing:border-box;
}
 
body{
 
font-family:'Vazirmatn',sans-serif;
 
background:#f2f6fb;
 
display:flex;
 
justify-content:center;
 
padding:40px 15px;
 
}
 
 
.production{
 
width:100%;
max-width:550px;
 
}
 
 
.container{
 
background:linear-gradient(180deg,#1f3f97,#6cbcff);
 
border-radius:35px;
 
padding:35px 25px 0;
 
position:relative;
 
overflow:hidden;
 
box-shadow:0 15px 40px rgba(0,0,0,.15);
 
}
 
h1{
 
color:#fff;
 
font-size:34px;
 
font-weight:700;
 
text-align:center;
 
margin-bottom:35px;
 
}
 
 
.steps{
 
display:flex;
 
flex-direction:column;
 
gap:18px;
 
}
 
.step{
 
background:rgba(255,255,255,.12);
 
border:2px solid rgba(255,255,255,.8);
 
border-radius:18px;
 
padding:18px;
 
text-align:center;
 
color:#fff;
 
font-size:21px;
 
transition:.3s;
 
backdrop-filter:blur(4px);
 
}
 
.step:hover{
 
background:#fff;
 
color:#1d4ca1;
 
transform:translateY(-4px);
 
}
 
 
.image-box{
 
margin-top:35px;
 
display:flex;
 
justify-content:center;
 
}
 
.image-box img{
 
width:65%;
 
max-width:280px;
 
display:block;
 
}
 
.logo{
 
display:flex;
 
justify-content:center;
 
margin-top:25px;
 
}
 
.logo img{
 
width:120px;
 
background:white;
 
padding:12px;
 
border-radius:18px 18px 0 0;
 
}
 
/* ---------- Tablet ---------- */
 
@media(max-width:768px){
 
.container{
 
padding:30px 18px 0;
 
}
 
h1{
 
font-size:28px;
 
}
 
.step{
 
font-size:18px;
 
padding:15px;
 
}
 
.image-box img{
 
width:72%;
 
}
 
}
 
/* ---------- Mobile ---------- */
 
@media(max-width:480px){
 
body{
 
padding:15px;
 
}
 
.container{
 
border-radius:25px;
 
padding:22px 15px 0;
 
}
 
h1{
 
font-size:22px;
 
}
 
.step{
 
font-size:15px;
 
padding:13px;
 
border-radius:14px;
 
}
 
.logo img{
 
width:90px;
 
}
 
.image-box img{
 
width:80%;
 
}
 
}
 
/* ---------- Large Screen ---------- */
 
@media(min-width:1400px){
 
.production{
 
max-width:650px;
 
}
 
h1{
 
font-size:40px;
 
}
 
.step{
 
font-size:23px;
 
}
 
}
/* کانتینر اصلی */
.category-grid {
    display: grid;
    gap: 10px;
    margin: 15px auto;
    max-width: 800px;
    padding: 5px;
    /* این خط باعث می‌شود در همه حالت‌ها پایه روی 2 ستون باشد */
    grid-template-columns: repeat(2, 1fr);
}
 
/* در دسکتاپ (صفحه‌های بزرگتر از 769 پیکسل) تبدیل به 4 ستون می‌شود */
@media (min-width: 769px) {
    .category-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
 
/* استایل باکس‌ها */
.category-card {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 45px;
    padding: 5px 10px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: transform 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    font-weight: 600;
    font-size: 0.85em;
    color: #ffffff !important;
}
 
.category-card:hover {
    transform: translateY(-2px);
}
 
 
/* کانتینر اصلی - وسط‌چین و محدود شده */
.social-section-container {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 20px 0;
}
 
/* نگهدارنده آیکون‌ها - برای جلوگیری از پخش شدن در کل صفحه */
.social-icons-wrapper {
    display: flex;
    flex-direction: row;
    gap: 15px; /* فاصله بین آیکون‌ها */
    padding: 10px;
    align-items: center;
    justify-content: center;
}
 
/* استایل لینک‌ها */
.social-link-item {
    display: inline-block;
    text-decoration: none !important;
    transition: transform 0.2s ease;
}
 
/* استایل تصاویر آیکون - اندازه دقیق در اینجا تعیین می‌شود */
.social-link-item img {
    width: 35px !important;  /* اندازه آیکون‌ها (می‌توانی با تغییر این عدد اندازه را کم یا زیاد کنی) */
    height: 35px !important;
    display: block;
    border-radius: 4px; /* اگر می‌خواهی گوشه‌ها کمی گرد باشد */
}
 
/* افکت هاور برای زیبایی */
.social-link-item:hover {
    transform: scale(1.15); /* کمی بزرگ شدن هنگام نگه داشتن موس */
}
 
 
 
/* کانتینر اصلی برای جلوگیری از هرگونه تداخل */
.fgb-social-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 10px 0 !important;
    clear: both !important; /* برای جلوگیری از تداخل با فلوت‌های سایت */
}
 
.fgb-social-box {
    display: flex !important;
    flex-direction: row !important;
    gap: 15px !important;
    justify-content: center !important;
    align-items: center !important;
}
 
.fgb-social-icon {
    display: inline-block !important;
    width: 35px !important; /* اندازه ثابت */
    height: 35px !important; /* اندازه ثابت */
    text-decoration: none !important;
    transition: transform 0.2s ease !important;
}
 
.fgb-social-icon img {
    width: 35px !important; /* اجبار به اندازه ۳۵ پیکسل */
    height: 35px !important; /* اجبار به اندازه ۳۵ پیکسل */
    max-width: 35px !important; /* جلوگیری از بزرگ شدن توسط دستورات سایت */
    min-width: 35px !important; /* جلوگیری از کوچک شدن */
    display: block !important;
    object-fit: contain !important;
}
 
.fgb-social-icon:hover {
    transform: scale(1.2) !important;
}
 
 
/*        پس زمینه تکرار شونده*/
 
 
.vertical-pattern {
    background-image: url("https://dl.faraghaib.ir/m/260022/26002222.jpg");
    background-repeat: repeat-y;
    background-position: top center;
    background-size: auto;
    background-color: #ffffff;
 
    min-height: 100vh;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}
 
 
 
/*
  Faraghaib / فراغیب
  Paste this file into: MediaWiki:Common.css
  All selectors are scoped to .fg-home to reduce skin conflicts.
  Optional remote assets:
  https://dl.faraghaib.ir/mediawiki/faraghaib/
*/
 
@font-face {
font-family: "FaraghaibVazirmatn";
src: url("https://dl.faraghaib.ir/mediawiki/faraghaib/Vazirmatn-Variable.woff2") format("woff2");
font-style: normal;
font-weight: 100 900;
font-display: swap;
}
 
.mw-parser-output .fg-home {
--fg-ink: #172033;
--fg-muted: #667085;
--fg-soft: #f6f7fb;
--fg-border: rgba(23, 32, 51, 0.1);
--fg-primary: #6d28d9;
--fg-primary-dark: #4c1d95;
--fg-cyan: #06b6d4;
--fg-lime: #b7f34a;
--fg-white: #ffffff;
--fg-shadow: 0 24px 70px rgba(30, 27, 75, 0.12);
box-sizing: border-box;
color: var(--fg-ink);
font-family: "FaraghaibVazirmatn", Vazirmatn, Tahoma, Arial, sans-serif;
font-size: 16px;
line-height: 1.8;
margin: 0 auto;
max-width: 100%;
}
 
.mw-parser-output .fg-home *,
.mw-parser-output .fg-home *::before,
.mw-parser-output .fg-home *::after {
box-sizing: border-box;
}
 
.mw-parser-output .fg-home a {
color: inherit;
}
 
.mw-parser-output .fg-home h1,
.mw-parser-output .fg-home h2,
.mw-parser-output .fg-home h3,
.mw-parser-output .fg-home p {
margin-top: 0;
}
 
.mw-parser-output .fg-home h2 {
font-size: clamp(1.65rem, 3vw, 2.55rem);
letter-spacing: -0.04em;
line-height: 1.35;
margin-bottom: 0.55rem;
}
 
.mw-parser-output .fg-home h3 {
font-size: 1.18rem;
line-height: 1.5;
margin-bottom: 0.55rem;
}
 
.mw-parser-output .fg-shell {
margin: 0 auto;
max-width: 1240px;
padding: 24px 18px 46px;
}
 
.mw-parser-output .fg-hero {
background:
radial-gradient(circle at 80% 15%, rgba(6, 182, 212, 0.2), transparent 30%),
linear-gradient(135deg, #1b1248 0%, #30206d 48%, #6d28d9 100%);
border-radius: 32px;
box-shadow: var(--fg-shadow);
color: #fff;
display: grid;
gap: 22px;
grid-template-columns: minmax(0, 1.07fr) minmax(330px, 0.93fr);
min-height: 540px;
overflow: hidden;
padding: clamp(30px, 5vw, 72px);
position: relative;
}
 
.mw-parser-output .fg-hero::after {
background: linear-gradient(135deg, transparent 45%, rgba(255, 255, 255, 0.08) 45%, rgba(255, 255, 255, 0.08) 55%, transparent 55%);
background-size: 28px 28px;
content: "";
inset: 0;
opacity: 0.25;
pointer-events: none;
position: absolute;
}
 
.mw-parser-output .fg-hero__content,
.mw-parser-output .fg-hero__visual {
position: relative;
z-index: 1;
}
 
.mw-parser-output .fg-hero__content {
align-self: center;
max-width: 680px;
}
 
.mw-parser-output .fg-eyebrow,
.mw-parser-output .fg-kicker {
color: var(--fg-cyan);
display: inline-flex;
font-size: 0.82rem;
font-weight: 800;
letter-spacing: 0.08em;
line-height: 1.4;
text-transform: uppercase;
}
 
.mw-parser-output .fg-eyebrow {
align-items: center;
color: var(--fg-lime);
gap: 9px;
margin-bottom: 18px;
}
 
.mw-parser-output .fg-eyebrow__dot,
.mw-parser-output .fg-status-dot {
background: var(--fg-lime);
border-radius: 50%;
box-shadow: 0 0 0 5px rgba(183, 243, 74, 0.16);
display: inline-block;
height: 8px;
width: 8px;
}
 
.mw-parser-output .fg-hero__title {
font-size: clamp(2.55rem, 6vw, 5.6rem);
font-weight: 900;
letter-spacing: -0.07em;
line-height: 1.05;
margin: 0 0 22px;
max-width: 750px;
}
 
.mw-parser-output .fg-hero__lead {
color: rgba(255, 255, 255, 0.78);
font-size: clamp(1rem, 1.5vw, 1.18rem);
line-height: 2;
margin-bottom: 26px;
max-width: 650px;
}
 
.mw-parser-output .fg-actions {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 12px;
}
 
.mw-parser-output .fg-button {
align-items: center;
border: 1px solid transparent;
border-radius: 999px;
display: inline-flex;
font-size: 0.95rem;
font-weight: 800;
gap: 10px;
justify-content: center;
min-height: 48px;
padding: 9px 19px;
text-decoration: none;
transition: box-shadow 180ms ease, transform 180ms ease, background-color 180ms ease, color 180ms ease;
}
 
.mw-parser-output .fg-button:hover,
.mw-parser-output .fg-button:focus-visible {
box-shadow: 0 12px 25px rgba(0, 0, 0, 0.16);
transform: translateY(-2px);
text-decoration: none;
}
 
.mw-parser-output .fg-button:focus-visible,
.mw-parser-output .fg-text-link:focus-visible,
.mw-parser-output .fg-contact__email:focus-visible,
.mw-parser-output .fg-service-card__link:focus-visible,
.mw-parser-output .fg-footer a:focus-visible {
outline: 3px solid var(--fg-lime);
outline-offset: 3px;
}
 
.mw-parser-output .fg-button--primary {
background: var(--fg-lime);
color: #18220c;
}
 
.mw-parser-output .fg-button--ghost {
border-color: rgba(255, 255, 255, 0.25);
color: #fff;
}
 
.mw-parser-output .fg-button--ghost:hover,
.mw-parser-output .fg-button--ghost:focus-visible {
background: rgba(255, 255, 255, 0.12);
}
 
.mw-parser-output .fg-button--light {
background: #fff;
color: var(--fg-primary-dark);
}
 
.mw-parser-output .fg-trust-row {
color: rgba(255, 255, 255, 0.66);
display: flex;
flex-wrap: wrap;
font-size: 0.83rem;
gap: 15px 22px;
margin-top: 26px;
}
 
.mw-parser-output .fg-trust-row__item {
align-items: center;
display: inline-flex;
gap: 7px;
}
 
.mw-parser-output .fg-check {
color: var(--fg-lime);
font-weight: 900;
}
 
.mw-parser-output .fg-hero__visual {
align-items: center;
display: flex;
justify-content: center;
min-height: 360px;
}
 
.mw-parser-output .fg-orbit {
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 50%;
height: 350px;
position: absolute;
width: 350px;
}
 
.mw-parser-output .fg-orbit--one {
transform: rotate(28deg) scaleX(0.55);
}
 
.mw-parser-output .fg-orbit--two {
border-color: rgba(183, 243, 74, 0.42);
height: 270px;
transform: rotate(-36deg) scaleX(0.5);
width: 270px;
}
 
.mw-parser-output .fg-code-window {
background: rgba(13, 12, 37, 0.8);
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 20px;
box-shadow: 0 24px 60px rgba(3, 3, 16, 0.35);
max-width: 440px;
overflow: hidden;
position: relative;
transform: rotate(4deg);
width: 100%;
}
 
.mw-parser-output .fg-code-window__bar {
align-items: center;
background: rgba(255, 255, 255, 0.06);
color: rgba(255, 255, 255, 0.6);
display: flex;
font-size: 0.72rem;
gap: 6px;
padding: 12px 15px;
}
 
.mw-parser-output .fg-code-window__bar span {
background: #ff6b6b;
border-radius: 50%;
height: 7px;
width: 7px;
}
 
.mw-parser-output .fg-code-window__bar span:nth-child(2) {
background: #ffd166;
}
 
.mw-parser-output .fg-code-window__bar span:nth-child(3) {
background: #7be495;
}
 
.mw-parser-output .fg-code-window__bar b {
font-weight: 600;
margin-right: auto;
}
 
.mw-parser-output .fg-code-window__body {
color: #d7d5ff;
direction: ltr;
font-family: Consolas, "Courier New", monospace;
font-size: clamp(0.72rem, 1.2vw, 0.88rem);
line-height: 1.9;
margin: 0;
overflow: auto;
padding: 23px 20px;
text-align: left;
white-space: pre;
}
 
.mw-parser-output .fg-code-keyword {
color: #c084fc;
}
 
.mw-parser-output .fg-code-property {
color: #67e8f9;
}
 
.mw-parser-output .fg-code-string {
color: #bef264;
}
 
.mw-parser-output .fg-code-boolean {
color: #fbbf24;
}
 
.mw-parser-output .fg-code-window__status {
align-items: center;
background: rgba(183, 243, 74, 0.08);
color: rgba(255, 255, 255, 0.72);
display: flex;
font-size: 0.75rem;
gap: 9px;
padding: 11px 15px;
}
 
.mw-parser-output .fg-status-dot {
height: 6px;
width: 6px;
}
 
.mw-parser-output .fg-stats {
display: grid;
gap: 12px;
grid-template-columns: repeat(4, 1fr);
margin: -34px auto 76px;
max-width: 1060px;
position: relative;
z-index: 3;
}
 
.mw-parser-output .fg-stat {
background: rgba(255, 255, 255, 0.94);
border: 1px solid var(--fg-border);
border-radius: 18px;
box-shadow: 0 18px 46px rgba(30, 27, 75, 0.1);
padding: 22px 16px;
text-align: center;
}
 
.mw-parser-output .fg-stat__number {
color: var(--fg-primary);
display: block;
font-size: clamp(1.8rem, 3vw, 2.5rem);
font-weight: 900;
line-height: 1.2;
}
 
.mw-parser-output .fg-stat__label {
color: var(--fg-muted);
display: block;
font-size: 0.82rem;
margin-top: 6px;
}
 
.mw-parser-output .fg-section-heading {
align-items: end;
display: flex;
gap: 36px;
justify-content: space-between;
margin: 0 0 28px;
}
 
.mw-parser-output .fg-section-heading > div {
max-width: 680px;
}
 
.mw-parser-output .fg-section-heading > p {
color: var(--fg-muted);
font-size: 0.95rem;
margin-bottom: 4px;
max-width: 430px;
}
 
.mw-parser-output .fg-kicker {
color: var(--fg-primary);
margin-bottom: 9px;
}
 
.mw-parser-output .fg-service-grid {
display: grid;
gap: 14px;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin-bottom: 92px;
}
 
.mw-parser-output .fg-service-card {
background: var(--fg-white);
border: 1px solid var(--fg-border);
border-radius: 22px;
box-shadow: 0 10px 30px rgba(30, 27, 75, 0.04);
display: flex;
flex-direction: column;
min-height: 315px;
padding: 24px;
position: relative;
transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
 
.mw-parser-output .fg-service-card:hover {
border-color: rgba(109, 40, 217, 0.38);
box-shadow: 0 20px 42px rgba(30, 27, 75, 0.1);
transform: translateY(-6px);
}
 
.mw-parser-output .fg-service-card--featured {
background: linear-gradient(160deg, #6d28d9, #4c1d95);
color: #fff;
}
 
.mw-parser-output .fg-service-card__number {
color: var(--fg-primary);
font-size: 0.76rem;
font-weight: 900;
letter-spacing: 0.08em;
}
 
.mw-parser-output .fg-service-card--featured .fg-service-card__number {
color: var(--fg-lime);
}
 
.mw-parser-output .fg-service-card__icon {
align-items: center;
background: rgba(109, 40, 217, 0.1);
border-radius: 12px;
color: var(--fg-primary);
display: flex;
font-family: Consolas, monospace;
font-size: 0.78rem;
font-weight: 900;
height: 46px;
justify-content: center;
margin: 21px 0 18px;
width: 46px;
}
 
.mw-parser-output .fg-service-card--featured .fg-service-card__icon {
background: rgba(255, 255, 255, 0.14);
color: var(--fg-lime);
}
 
.mw-parser-output .fg-service-card p {
color: var(--fg-muted);
font-size: 0.9rem;
line-height: 1.9;
margin-bottom: 19px;
}
 
.mw-parser-output .fg-service-card--featured p {
color: rgba(255, 255, 255, 0.74);
}
 
.mw-parser-output .fg-service-card__link,
.mw-parser-output .fg-text-link {
align-items: center;
color: var(--fg-primary);
display: inline-flex;
font-size: 0.85rem;
font-weight: 900;
gap: 8px;
margin-top: auto;
text-decoration: none;
}
 
.mw-parser-output .fg-service-card--featured .fg-service-card__link {
color: var(--fg-lime);
}
 
.mw-parser-output .fg-service-card__link:hover,
.mw-parser-output .fg-text-link:hover {
text-decoration: underline;
text-underline-offset: 5px;
}
 
.mw-parser-output .fg-story {
align-items: center;
background: var(--fg-soft);
border: 1px solid var(--fg-border);
border-radius: 28px;
display: grid;
gap: clamp(28px, 5vw, 72px);
grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1.12fr);
margin-bottom: 90px;
overflow: hidden;
padding: clamp(20px, 4vw, 42px);
}
 
.mw-parser-output .fg-story__media {
height: 360px;
min-height: 360px;
position: relative;
}
 
.mw-parser-output .fg-story__media > .mw-file-element,
.mw-parser-output .fg-story__media img {
border-radius: 20px;
height: 100%;
object-fit: cover;
width: 100%;
}
 
.mw-parser-output .fg-story__media .image,
.mw-parser-output .fg-story__media .thumb,
.mw-parser-output .fg-story__media .mw-file-description {
display: block;
height: 100%;
}
 
.mw-parser-output .fg-story__media .thumbinner {
background: transparent;
border: 0;
padding: 0;
width: 100% !important;
}
 
.mw-parser-output .fg-story__media .thumbcaption {
display: none;
}
 
.mw-parser-output .fg-story__badge {
background: var(--fg-lime);
border-radius: 16px;
bottom: 18px;
box-shadow: 0 12px 30px rgba(16, 24, 40, 0.18);
display: flex;
flex-direction: column;
left: 18px;
line-height: 1.4;
padding: 13px 16px;
position: absolute;
}
 
.mw-parser-output .fg-story__badge strong {
font-size: 1.1rem;
}
 
.mw-parser-output .fg-story__badge span {
font-size: 0.75rem;
}
 
.mw-parser-output .fg-story__content {
max-width: 620px;
}
 
.mw-parser-output .fg-story__content p {
color: var(--fg-muted);
font-size: 0.96rem;
line-height: 2;
}
 
.mw-parser-output .fg-story__points {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 23px 0;
}
 
.mw-parser-output .fg-story__points span {
align-items: center;
background: #fff;
border: 1px solid var(--fg-border);
border-radius: 999px;
color: var(--fg-muted);
display: inline-flex;
font-size: 0.78rem;
gap: 7px;
padding: 7px 11px;
}
 
.mw-parser-output .fg-story__points b {
align-items: center;
background: rgba(109, 40, 217, 0.1);
border-radius: 50%;
color: var(--fg-primary);
display: inline-flex;
font-size: 0.7rem;
height: 22px;
justify-content: center;
width: 22px;
}
 
.mw-parser-output .fg-media-section {
margin-bottom: 92px;
}
 
.mw-parser-output .fg-media-grid {
display: grid;
gap: 15px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
 
.mw-parser-output .fg-media-card {
background: var(--fg-white);
border: 1px solid var(--fg-border);
border-radius: 22px;
box-shadow: 0 10px 30px rgba(30, 27, 75, 0.04);
overflow: hidden;
padding: 24px;
}
 
.mw-parser-output .fg-media-card__heading {
margin-bottom: 18px;
}
 
.mw-parser-output .fg-media-card__label {
color: var(--fg-primary);
display: block;
font-size: 0.76rem;
font-weight: 900;
letter-spacing: 0.08em;
margin-bottom: 4px;
text-transform: uppercase;
}
 
.mw-parser-output .fg-media-card__heading h3 {
margin-bottom: 0;
}
 
.mw-parser-output .fg-media-frame {
align-items: center;
background: #16122d;
border-radius: 16px;
display: flex;
justify-content: center;
min-height: 240px;
overflow: hidden;
}
 
.mw-parser-output .fg-media-frame .image,
.mw-parser-output .fg-media-frame .thumb,
.mw-parser-output .fg-media-frame .mw-file-description {
display: block;
max-width: 100%;
width: 100%;
}
 
.mw-parser-output .fg-media-frame img {
display: block;
height: auto;
max-height: 390px;
max-width: 100%;
margin: 0 auto;
object-fit: contain;
width: auto;
}
 
.mw-parser-output .fg-media-frame .thumbinner {
background: transparent;
border: 0;
padding: 0;
width: 100% !important;
}
 
.mw-parser-output .fg-media-frame .thumbcaption {
display: none;
}
 
.mw-parser-output .fg-media-frame--audio {
background:
radial-gradient(circle at 22% 30%, rgba(183, 243, 74, 0.16), transparent 23%),
linear-gradient(135deg, #171238, #3a1e76);
min-height: 240px;
}
 
.mw-parser-output .fg-media-card > p {
color: var(--fg-muted);
font-size: 0.88rem;
margin: 15px 0 0;
}
 
.mw-parser-output .fg-slider-section {
margin-bottom: 92px;
}
 
.mw-parser-output .fg-slider {
background: #15102f;
border-radius: 28px;
box-shadow: var(--fg-shadow);
color: #fff;
overflow: hidden;
}
 
.mw-parser-output .fg-slider__viewport {
min-height: 430px;
position: relative;
}
 
.mw-parser-output .fg-slide {
align-items: stretch;
display: flex;
flex-direction: column;
height: 100%;
justify-content: space-between;
min-height: 430px;
padding: clamp(20px, 4vw, 44px);
}
 
.mw-parser-output .fg-slider--ready .fg-slide {
display: none;
}
 
.mw-parser-output .fg-slider--ready .fg-slide.is-active {
display: flex;
}
 
.mw-parser-output .fg-slide > .image,
.mw-parser-output .fg-slide > .thumb,
.mw-parser-output .fg-slide > .mw-file-description {
align-items: center;
display: flex;
flex: 1;
justify-content: center;
min-height: 260px;
}
 
.mw-parser-output .fg-slide .thumbinner {
background: transparent;
border: 0;
padding: 0;
width: 100% !important;
}
 
.mw-parser-output .fg-slide .thumbcaption {
display: none;
}
 
.mw-parser-output .fg-slide img {
border-radius: 17px;
display: block;
height: 285px;
margin: 0 auto;
max-width: 100%;
object-fit: cover;
width: min(760px, 100%);
}
 
.mw-parser-output .fg-slide__caption {
display: flex;
flex-direction: column;
gap: 4px;
margin-top: 20px;
}
 
.mw-parser-output .fg-slide__caption strong {
font-size: 1.25rem;
}
 
.mw-parser-output .fg-slide__caption span {
color: rgba(255, 255, 255, 0.62);
font-size: 0.86rem;
}
 
.mw-parser-output .fg-slider__controls {
align-items: center;
border-top: 1px solid rgba(255, 255, 255, 0.12);
display: flex;
gap: 15px;
justify-content: space-between;
padding: 16px 22px;
}
 
.mw-parser-output .fg-slider__button,
.mw-parser-output .fg-slider__dot {
appearance: none;
border: 0;
cursor: pointer;
}
 
.mw-parser-output .fg-slider__button {
background: rgba(255, 255, 255, 0.1);
border-radius: 50%;
color: #fff;
font-size: 1.1rem;
height: 38px;
line-height: 1;
width: 38px;
}
 
.mw-parser-output .fg-slider__button:hover,
.mw-parser-output .fg-slider__button:focus-visible {
background: var(--fg-primary);
}
 
.mw-parser-output .fg-slider__dots {
display: flex;
gap: 8px;
}
 
.mw-parser-output .fg-slider__dot {
background: rgba(255, 255, 255, 0.25);
border-radius: 999px;
height: 7px;
padding: 0;
transition: background-color 180ms ease, width 180ms ease;
width: 22px;
}
 
.mw-parser-output .fg-slider__dot.is-active {
background: var(--fg-lime);
width: 42px;
}
 
.mw-parser-output .fg-slider__button:focus-visible,
.mw-parser-output .fg-slider__dot:focus-visible {
outline: 3px solid var(--fg-lime);
outline-offset: 3px;
}
 
.mw-parser-output .fg-process {
margin-bottom: 92px;
}
 
.mw-parser-output .fg-process__grid {
border-bottom: 1px solid var(--fg-border);
border-top: 1px solid var(--fg-border);
display: grid;
grid-template-columns: repeat(4, 1fr);
}
 
.mw-parser-output .fg-process__item {
border-left: 1px solid var(--fg-border);
padding: 25px 22px;
}
 
.mw-parser-output .fg-process__item:first-child {
border-left: 0;
}
 
.mw-parser-output .fg-process__item > span {
color: var(--fg-primary);
font-size: 0.82rem;
font-weight: 900;
}
 
.mw-parser-output .fg-process__item h3 {
margin: 18px 0 6px;
}
 
.mw-parser-output .fg-process__item p {
color: var(--fg-muted);
font-size: 0.86rem;
line-height: 1.8;
margin: 0;
}
 
.mw-parser-output .fg-contact {
align-items: center;
background:
radial-gradient(circle at 20% 20%, rgba(183, 243, 74, 0.2), transparent 25%),
linear-gradient(135deg, #4c1d95, #6d28d9);
border-radius: 28px;
color: #fff;
display: flex;
gap: 30px;
justify-content: space-between;
margin-bottom: 22px;
overflow: hidden;
padding: clamp(28px, 5vw, 55px);
position: relative;
}
 
.mw-parser-output .fg-contact__content {
max-width: 780px;
position: relative;
z-index: 1;
}
 
.mw-parser-output .fg-contact .fg-kicker {
color: var(--fg-lime);
}
 
.mw-parser-output .fg-contact h2 {
font-size: clamp(1.75rem, 4vw, 3.3rem);
margin-bottom: 14px;
}
 
.mw-parser-output .fg-contact p {
color: rgba(255, 255, 255, 0.72);
margin-bottom: 24px;
max-width: 680px;
}
 
.mw-parser-output .fg-contact__email {
color: rgba(255, 255, 255, 0.78);
font-size: 0.9rem;
font-weight: 700;
text-decoration: none;
}
 
.mw-parser-output .fg-contact__email:hover {
color: var(--fg-lime);
text-decoration: underline;
}
 
.mw-parser-output .fg-contact__mark {
color: rgba(255, 255, 255, 0.11);
font-size: 20rem;
font-weight: 900;
line-height: 0.7;
position: absolute;
left: 1%;
top: 27%;
transform: rotate(-10deg);
}
 
.mw-parser-output .fg-footer {
align-items: center;
color: var(--fg-muted);
display: flex;
font-size: 0.78rem;
justify-content: space-between;
padding: 12px 4px;
}
 
.mw-parser-output .fg-footer a {
color: var(--fg-primary);
font-weight: 800;
text-decoration: none;
}
 
.mw-parser-output .fg-footer a:hover {
text-decoration: underline;
}
 
.mw-parser-output .fg-reveal {
opacity: 1;
transform: none;
}
 
.mw-parser-output .fg-reveal.fg-reveal--pending {
opacity: 0;
transform: translateY(18px);
transition: opacity 600ms ease, transform 600ms ease;
}
 
.mw-parser-output .fg-reveal.fg-reveal--visible {
opacity: 1;
transform: translateY(0);
}
 
@media (max-width: 1050px) {
.mw-parser-output .fg-service-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
 
.mw-parser-output .fg-service-card {
min-height: 270px;
}
}
 
@media (max-width: 820px) {
.mw-parser-output .fg-hero {
grid-template-columns: 1fr;
min-height: auto;
padding: 34px 25px 26px;
}
 
.mw-parser-output .fg-hero__visual {
min-height: 310px;
}
 
.mw-parser-output .fg-stats {
margin-top: -18px;
}
 
.mw-parser-output .fg-story {
grid-template-columns: 1fr;
}
 
.mw-parser-output .fg-story__media {
height: 300px;
min-height: 300px;
}
 
.mw-parser-output .fg-process__grid {
grid-template-columns: repeat(2, 1fr);
}
 
.mw-parser-output .fg-process__item:nth-child(odd) {
border-left: 0;
}
 
.mw-parser-output .fg-process__item:nth-child(-n + 2) {
border-bottom: 1px solid var(--fg-border);
}
}
 
@media (max-width: 620px) {
.mw-parser-output .fg-shell {
padding: 12px 10px 30px;
}
 
.mw-parser-output .fg-hero,
.mw-parser-output .fg-contact {
border-radius: 22px;
}
 
.mw-parser-output .fg-hero__title {
font-size: clamp(2.35rem, 12vw, 3.4rem);
}
 
.mw-parser-output .fg-hero__lead {
line-height: 1.9;
}
 
.mw-parser-output .fg-code-window {
transform: rotate(0);
}
 
.mw-parser-output .fg-orbit {
height: 280px;
width: 280px;
}
 
.mw-parser-output .fg-stats,
.mw-parser-output .fg-service-grid,
.mw-parser-output .fg-media-grid {
grid-template-columns: 1fr 1fr;
}
 
.mw-parser-output .fg-stat {
padding: 16px 8px;
}
 
.mw-parser-output .fg-stat__label {
font-size: 0.7rem;
}
 
.mw-parser-output .fg-section-heading {
align-items: start;
flex-direction: column;
gap: 3px;
}
 
.mw-parser-output .fg-service-card {
min-height: 0;
padding: 18px;
}
 
.mw-parser-output .fg-story,
.mw-parser-output .fg-media-card {
border-radius: 20px;
padding: 18px;
}
 
.mw-parser-output .fg-story__media {
height: 230px;
min-height: 230px;
}
 
.mw-parser-output .fg-story__badge {
bottom: 10px;
left: 10px;
}
 
.mw-parser-output .fg-process__grid {
grid-template-columns: 1fr;
}
 
.mw-parser-output .fg-process__item,
.mw-parser-output .fg-process__item:nth-child(odd) {
border-bottom: 1px solid var(--fg-border);
border-left: 0;
}
 
.mw-parser-output .fg-process__item:last-child {
border-bottom: 0;
}
 
.mw-parser-output .fg-contact {
align-items: flex-start;
flex-direction: column;
}
 
.mw-parser-output .fg-contact__mark {
font-size: 12rem;
left: 8%;
top: 56%;
}
 
.mw-parser-output .fg-footer {
align-items: flex-start;
flex-direction: column;
gap: 4px;
}
}
 
@media (prefers-reduced-motion: reduce) {
.mw-parser-output .fg-home *,
.mw-parser-output .fg-home *::before,
.mw-parser-output .fg-home *::after {
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
}
}