ميدياويكي:Common.css
المظهر
ملاحظة: بعد النشر، أنت قد تحتاج إلى إفراغ الكاش الخاص بمتصفحك لرؤية التغييرات.
- فايرفوكس / سافاري: أمسك Shift أثناء ضغط Reload، أو اضغط على إما Ctrl-F5 أو Ctrl-R (⌘-R على ماك)
- جوجل كروم: اضغط Ctrl-Shift-R (⌘-Shift-R على ماك)
- إنترنت إكسبلورر/إيدج: أمسك Ctrl أثناء ضغط Refresh، أو اضغط Ctrl-F5
- أوبرا: اضغط Ctrl-F5.
@import url('https://fonts.googleapis.com/css2?family=Amiri:ital,wght@0,400;0,700;1,400&family=Cairo:wght@300;400;500;600;700&family=Scheherazade+New:wght@400;500;600;700&display=swap');
:root {
--primary-color: #1a472a;
--secondary-color: #2d5a3d;
--tertiary-color: #4a7c59;
--accent-gold: #c9a961;
--accent-green: #5d8f47;
--accent-emerald: #2ecc71;
--accent-turquoise: #1abc9c;
--background-white: #fefefe;
--background-cream: #faf9f7;
--text-dark: #2c2c2c;
--text-muted: #666666;
--border-elegant: #e8e5e0;
--border-gold: #d4b76a;
--shadow-glow: 0 0 20px rgba(201, 169, 97, 0.3);
--shadow-elevated: 0 8px 32px rgba(26, 71, 42, 0.2);
--transition-smooth: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
--serif-font: 'Scheherazade New', 'Amiri', serif;
--sans-font: 'Cairo', sans-serif;
}
/* ========================
Base Styling - Dynamic Background
========================= */
body {
background: linear-gradient(45deg,
#f8f7f4 0%,
#f2f0eb 25%,
#f5f3ef 50%,
#f0ede8 75%,
#f8f7f4 100%);
background-size: 400% 400%;
animation: gradientShift 8s ease infinite;
color: var(--text-dark);
line-height: 1.7;
margin: 0;
padding: 0;
font-size: 16px;
font-family: var(--serif-font);
position: relative;
overflow-x: hidden;
}
@keyframes gradientShift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
/* Floating particles effect */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
radial-gradient(2px 2px at 20% 30%, rgba(201, 169, 97, 0.4), transparent),
radial-gradient(2px 2px at 40% 70%, rgba(93, 143, 71, 0.3), transparent),
radial-gradient(1px 1px at 90% 40%, rgba(46, 204, 113, 0.3), transparent),
radial-gradient(1px 1px at 70% 90%, rgba(212, 175, 55, 0.4), transparent);
animation: sparkle 6s linear infinite;
pointer-events: none;
z-index: -1;
}
@keyframes sparkle {
0%, 100% { opacity: 0.7; transform: translateY(0px) rotate(0deg); }
50% { opacity: 1; transform: translateY(-10px) rotate(180deg); }
}
/* ========================
Header Styling - Majestic & Dynamic
========================= */
.mw-body-header {
background: linear-gradient(135deg,
var(--primary-color) 0%,
var(--secondary-color) 30%,
var(--tertiary-color) 60%,
var(--accent-green) 100%);
background-size: 300% 300%;
animation: headerGradient 4s ease infinite;
border: none;
padding: 30px 40px;
text-align: center;
font-family: var(--sans-font);
font-size: 22px;
color: var(--background-white);
font-weight: 700;
letter-spacing: 1.5px;
box-shadow: var(--shadow-elevated), var(--shadow-glow);
position: relative;
overflow: hidden;
text-transform: uppercase;
cursor: pointer;
transition: var(--transition-smooth);
}
@keyframes headerGradient {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
.mw-body-header:hover {
transform: translateY(-3px);
box-shadow: 0 12px 40px rgba(26, 71, 42, 0.3), var(--shadow-glow);
}
.mw-body-header::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.2) 50%,
transparent 100%);
animation: shine 3s infinite;
}
@keyframes shine {
0% { left: -100%; }
100% { left: 100%; }
}
.mw-body-header::after {
content: '✦';
position: absolute;
top: 15px;
right: 25px;
font-size: 20px;
color: var(--accent-gold);
animation: twinkle 2s ease-in-out infinite;
}
@keyframes twinkle {
0%, 100% { opacity: 0.5; transform: scale(1) rotate(0deg); }
50% { opacity: 1; transform: scale(1.2) rotate(180deg); }
}
/* ========================
Dropdown Menu - Animated & Modern
========================= */
.vector-dropdown {
position: relative;
display: inline-block;
cursor: pointer;
transition: var(--transition-smooth);
}
.vector-dropdown:hover {
transform: scale(1.05);
}
.vector-dropdown-content {
display: none;
position: absolute;
background: rgba(254, 254, 254, 0.95);
backdrop-filter: blur(15px);
min-width: 250px;
border: 2px solid var(--border-gold);
border-radius: 15px;
box-shadow: var(--shadow-elevated), 0 0 30px rgba(201, 169, 97, 0.2);
z-index: 1000;
overflow: hidden;
}
.vector-dropdown:hover .vector-dropdown-content {
display: block;
animation: popIn 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
@keyframes popIn {
0% {
opacity: 0;
transform: translateY(-20px) scale(0.8) rotateX(-15deg);
}
100% {
opacity: 1;
transform: translateY(0) scale(1) rotateX(0deg);
}
}
.vector-dropdown-content a {
display: block;
padding: 16px 22px;
color: var(--text-dark);
text-decoration: none;
font-family: var(--sans-font);
font-size: 15px;
font-weight: 500;
border-bottom: 1px solid var(--border-elegant);
transition: var(--transition-smooth);
position: relative;
overflow: hidden;
}
.vector-dropdown-content a:last-child {
border-bottom: none;
}
.vector-dropdown-content a::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 0;
background: linear-gradient(90deg, var(--accent-gold), var(--accent-emerald));
transition: width 0.4s ease;
z-index: -1;
}
.vector-dropdown-content a:hover {
color: white;
padding-left: 30px;
transform: translateX(5px);
}
.vector-dropdown-content a:hover::before {
width: 100%;
}
/* ========================
Content Styling - Interactive & Engaging
========================= */
#content {
background: linear-gradient(135deg,
var(--background-white) 0%,
rgba(250, 249, 247, 0.8) 100%);
backdrop-filter: blur(10px);
border: 2px solid transparent;
background-clip: padding-box;
padding: 60px 70px;
border-radius: 20px;
font-family: var(--serif-font);
font-size: 18px;
color: var(--text-dark);
box-shadow: var(--shadow-elevated),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
direction: rtl;
margin: 40px auto;
position: relative;
max-width: 1200px;
transition: var(--transition-smooth);
}
#content:hover {
transform: translateY(-5px);
box-shadow: 0 12px 45px rgba(26, 71, 42, 0.25),
var(--shadow-glow),
inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
#content::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 8px;
height: 100%;
background: linear-gradient(180deg,
var(--accent-gold) 0%,
var(--accent-emerald) 25%,
var(--accent-turquoise) 50%,
var(--accent-green) 75%,
var(--primary-color) 100%);
border-radius: 0 10px 10px 0;
animation: colorPulse 4s ease-in-out infinite;
}
@keyframes colorPulse {
0%, 100% { opacity: 0.8; transform: scaleY(1); }
50% { opacity: 1; transform: scaleY(1.02); }
}
#content::after {
content: '☪';
position: absolute;
top: 25px;
right: 30px;
font-size: 24px;
color: var(--accent-gold);
opacity: 0.7;
animation: gentleFloat 3s ease-in-out infinite;
}
@keyframes gentleFloat {
0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.7; }
50% { transform: translateY(-5px) rotate(5deg); opacity: 1; }
}
#content h2 {
color: var(--accent-green);
font-weight: 700;
border-bottom: 3px solid var(--border-gold);
padding-bottom: 12px;
margin-bottom: 25px;
position: relative;
transition: var(--transition-smooth);
}
#content h2:hover {
color: var(--primary-color);
transform: translateX(-5px);
}
#content h2::after {
content: '';
position: absolute;
bottom: -3px;
right: 0;
width: 0;
height: 3px;
background: linear-gradient(90deg, var(--accent-emerald), var(--accent-turquoise));
transition: width 0.6s ease;
}
#content h2:hover::after {
width: 100%;
}
#content h1 {
color: var(--primary-color);
text-align: center;
font-size: 2.2rem;
margin-bottom: 40px;
position: relative;
font-weight: 800;
text-shadow: 0 2px 4px rgba(26, 71, 42, 0.1);
animation: titleGlow 4s ease-in-out infinite;
}
@keyframes titleGlow {
0%, 100% { text-shadow: 0 2px 4px rgba(26, 71, 42, 0.1); }
50% { text-shadow: 0 4px 8px rgba(26, 71, 42, 0.2), 0 0 20px rgba(201, 169, 97, 0.3); }
}
#content h1::after {
content: '';
position: absolute;
bottom: -15px;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 4px;
background: linear-gradient(90deg,
transparent,
var(--accent-gold) 20%,
var(--accent-emerald) 50%,
var(--accent-gold) 80%,
transparent);
animation: lineShimmer 2s ease-in-out infinite;
}
@keyframes lineShimmer {
0%, 100% { opacity: 0.6; width: 100px; }
50% { opacity: 1; width: 120px; }
}
#content h1, #content h3, #content h4, #content h5, #content h6 {
font-weight: 700;
font-size: 1.4rem !important;
margin-top: 2em;
margin-bottom: 0.8em;
line-height: 1.3;
color: var(--secondary-color);
transition: var(--transition-smooth);
}
#content h3:hover, #content h4:hover, #content h5:hover, #content h6:hover {
color: var(--accent-green);
transform: translateX(-3px);
}
#content h1 { font-size: 32px; }
#content h2 { font-size: 26px; }
#content h3 { font-size: 22px; }
#content p {
margin-bottom: 1.6em;
text-align: justify;
line-height: 1.9;
transition: var(--transition-smooth);
}
#content p:hover {
color: var(--primary-color);
padding-right: 10px;
}
#content a {
color: var(--tertiary-color);
text-decoration: underline;
text-decoration-color: var(--accent-gold);
text-underline-offset: 4px;
text-decoration-thickness: 2px;
transition: var(--transition-smooth);
font-weight: 600;
position: relative;
}
#content a:hover {
color: var(--primary-color);
text-decoration-color: var(--accent-emerald);
transform: translateY(-1px);
text-shadow: 0 2px 4px rgba(26, 71, 42, 0.2);
}
/* ========================
Categories Styling - Vibrant & Interactive
========================= */
#catlinks {
background: linear-gradient(135deg,
rgba(250, 249, 247, 0.9) 0%,
rgba(244, 242, 238, 0.9) 100%);
backdrop-filter: blur(15px);
border: 3px solid var(--border-gold);
padding: 30px 35px;
border-radius: 20px;
margin-top: 50px;
font-family: var(--sans-font);
font-size: 15px;
box-shadow: var(--shadow-elevated), 0 0 25px rgba(201, 169, 97, 0.2);
color: var(--text-muted);
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
transition: var(--transition-smooth);
}
#catlinks:hover {
transform: translateY(-3px);
box-shadow: 0 15px 50px rgba(26, 71, 42, 0.2), var(--shadow-glow);
}
#catlinks::before {
content: 'التصنيفات';
display: block;
font-weight: 700;
color: var(--primary-color);
margin-bottom: 20px;
font-size: 18px;
letter-spacing: 1px;
text-align: center;
position: relative;
text-shadow: 0 1px 2px rgba(26, 71, 42, 0.1);
}
#catlinks::after {
content: '';
position: absolute;
top: -50%;
right: -50%;
width: 200%;
height: 200%;
background: conic-gradient(from 0deg,
transparent 0deg,
rgba(201, 169, 97, 0.1) 60deg,
transparent 120deg);
animation: rotate 8s linear infinite;
pointer-events: none;
}
@keyframes rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
#catlinks a {
color: var(--text-dark);
font-weight: 600;
text-decoration: none;
padding: 12px 22px;
margin: 8px 10px 8px 0;
background: linear-gradient(135deg,
var(--background-white) 0%,
rgba(252, 251, 249, 0.8) 100%);
border: 2px solid var(--border-elegant);
border-radius: 30px;
display: inline-block;
transition: var(--transition-smooth);
font-size: 14px;
position: relative;
overflow: hidden;
font-family: var(--sans-font);
backdrop-filter: blur(5px);
cursor: pointer;
}
#catlinks a::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: radial-gradient(circle,
var(--accent-gold) 0%,
var(--accent-emerald) 50%,
var(--accent-turquoise) 100%);
border-radius: 50%;
transition: all 0.5s ease;
transform: translate(-50%, -50%);
z-index: -1;
}
#catlinks a:hover {
color: white;
transform: translateY(-4px) scale(1.05);
box-shadow: 0 8px 25px rgba(26, 71, 42, 0.3);
border-color: var(--accent-gold);
}
#catlinks a:hover::before {
width: 200px;
height: 200px;
}
#catlinks a:nth-child(even):hover {
animation: wiggle 0.6s ease-in-out;
}
@keyframes wiggle {
0%, 100% { transform: translateY(-4px) scale(1.05) rotate(0deg); }
25% { transform: translateY(-4px) scale(1.05) rotate(2deg); }
75% { transform: translateY(-4px) scale(1.05) rotate(-2deg); }
}
/* ========================
Responsive Design
========================= */
@media (max-width: 768px) {
#content {
margin: 25px 15px;
padding: 40px 30px;
}
.mw-body-header {
padding: 25px 30px;
font-size: 20px;
}
#catlinks {
margin: 30px 15px;
padding: 25px 30px;
}
#content h1 {
font-size: 1.8rem;
}
}
/* ========================
Enhanced Focus & Accessibility
========================= */
a:focus, .vector-dropdown:focus, #catlinks a:focus {
outline: 3px solid var(--accent-gold);
outline-offset: 3px;
box-shadow: 0 0 0 6px rgba(201, 169, 97, 0.3);
}
/* ========================
Utility Classes
========================= */
.printfooter,
.vector-menu h3 {
display: none;
}
/* Enhanced scrollbar */
::-webkit-scrollbar {
width: 12px;
}
::-webkit-scrollbar-track {
background: var(--border-elegant);
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(180deg,
var(--accent-gold),
var(--accent-emerald),
var(--primary-color));
border-radius: 10px;
border: 2px solid var(--border-elegant);
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(180deg,
var(--accent-emerald),
var(--accent-turquoise),
var(--secondary-color));
box-shadow: 0 0 10px rgba(201, 169, 97, 0.5);
}
/* ========================
Print Styles
========================= */
@media print {
body, #content {
background: white !important;
box-shadow: none !important;
animation: none !important;
}
.mw-body-header, #catlinks {
display: none;
}
* {
animation: none !important;
transition: none !important;
}
}