Template:Main Page/styles.css: Difference between revisions
Template page
More actions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/** | |||
* ComputerScience.wiki - Modern Grid Layout | |||
* Based on user-provided colors and search bar | |||
*/ | |||
/* --- CONTAINER --- */ | /* --- CONTAINER --- */ | ||
.cs | .cs-container { | ||
max-width: | max-width: 1200px; | ||
margin: 0 auto; | margin: 0 auto; | ||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | ||
padding: 0 10px; | |||
} | } | ||
/* --- | /* --- HEADER --- */ | ||
.cs- | .cs-header { | ||
text-align: center; | text-align: center; | ||
padding: | padding: 40px 20px; | ||
margin-bottom: | margin-bottom: 30px; | ||
border- | border-radius: 8px; | ||
background-color: #f9f9f9; | |||
border: 1px solid #ddd; | |||
} | } | ||
.cs- | .cs-title { | ||
font-size: 2.5em; | font-size: 2.5em; | ||
font-weight: | font-weight: 800; | ||
margin: | margin: 0; | ||
color: # | color: #000; | ||
letter-spacing: -1px; | |||
} | } | ||
.cs- | .cs-subtitle { | ||
font-size: 1.2em; | font-size: 1.2em; | ||
color: # | color: #555; | ||
margin | margin-top: 10px; | ||
} | } | ||
/* --- SEARCH | /* --- SEARCH (Unchanged as requested) --- */ | ||
.cs-search | .cs-search { | ||
max-width: | max-width: 800px; | ||
margin: 0 auto; | margin: 0 auto 40px; | ||
padding: 25px; | |||
border-radius: 8px; | |||
background-color: #f5f5f5; | |||
border: 1px solid #ddd; | |||
} | } | ||
.cs-search- | /* Search Input Overrides */ | ||
.cs-search input[type="search"], | |||
.cs-search .mw-searchInput { | |||
background-color: #ffffff !important; | |||
border: 1px solid #ddd !important; | |||
height: 45px !important; | |||
padding: 5px 15px !important; | |||
border-radius: 4px !important; | |||
font-size: 16px !important; | |||
color: #333 !important; | |||
width: 100% !important; | width: 100% !important; | ||
box-shadow: 0 2px 5px rgba(0,0,0,0.05); | box-shadow: 0 2px 5px rgba(0,0,0,0.05); | ||
} | } | ||
.cs-search- | /* Search Button Overrides */ | ||
.cs-search input[type="submit"], | |||
.cs-search .oo-ui-buttonElement-button { | |||
min-width: 80px !important; | |||
background-color: #f0f0f0 !important; | |||
border: 1px solid #ddd !important; | |||
height: 45px !important; | |||
font-weight: 700 !important; | |||
cursor: pointer !important; | |||
} | } | ||
/* --- | /* Hide fulltext button */ | ||
.cs- | .cs-search input[name="fulltext"] { display: none !important; } | ||
/* --- GRID SYSTEM (The "Dynamic" Fix) --- */ | |||
/* Replaces table display with modern Grid */ | |||
.cs-grid { | |||
display: grid; | |||
/* Auto-fit: Creates as many columns as fit, min 300px wide */ | |||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); | |||
gap: 25px; | |||
margin-bottom: 40px; | |||
} | |||
/* --- SECTIONS --- */ | |||
.cs-section-header { | |||
padding: 15px 20px; | |||
margin-bottom: 20px; | |||
border-radius: 8px; | |||
display: flex; | display: flex; | ||
align-items: | align-items: center; | ||
} | } | ||
.cs- | .cs-section-title { | ||
margin: 0; | margin: 0; | ||
font-size: 1.4em; | |||
font-weight: 700; | font-weight: 700; | ||
} | } | ||
/* --- CARDS | /* --- CARDS --- */ | ||
.cs | .cs-card { | ||
border-radius: 8px; | border-radius: 8px; | ||
overflow: hidden; | |||
height: 100%; | |||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
transition: transform 0.2s ease, box-shadow 0.2s ease; | |||
} | } | ||
.cs | /* Dynamic Hover Effect */ | ||
transform: translateY(- | .cs-card:hover { | ||
box-shadow: 0 10px 20px | transform: translateY(-5px); | ||
box-shadow: 0 10px 20px rgba(0,0,0,0.1); | |||
} | } | ||
.cs-card-header { | |||
.cs- | padding: 15px 20px; | ||
font-weight: 600; | font-weight: 600; | ||
} | } | ||
.cs-card-title { | |||
.cs-card- | margin: 0; | ||
font-size: 1.2em; | font-size: 1.2em; | ||
} | } | ||
.cs-card-body { | |||
.cs- | padding: 20px; | ||
flex-grow: 1; /* Ensures footer sticks to bottom */ | |||
flex-grow: 1; /* | |||
} | } | ||
.cs-card-list { | |||
.cs- | |||
margin: 0; | margin: 0; | ||
padding: 0; | padding: 0; | ||
list-style: none; | list-style: none; | ||
} | } | ||
.cs- | .cs-card-list li { | ||
margin-bottom: | margin-bottom: 12px; | ||
padding-left: 0; | padding-left: 0; | ||
font-size: 0.95em; | font-size: 0.95em; | ||
border-bottom: 1px solid rgba(0,0,0,0.05); | |||
padding-bottom: 5px; | |||
} | } | ||
.cs-card-list li:last-child { border-bottom: none; } | |||
.cs- | |||
} | |||
.cs-card-footer { | .cs-card-footer { | ||
padding: 15px 20px; | |||
text-align: right; | text-align: right; | ||
font-size: 0.9em; | |||
font-weight: bold; | font-weight: bold; | ||
} | } | ||
.cs-card-footer a { | |||
.cs-footer | text-decoration: none; | ||
text- | |||
} | } | ||
/* | /* --- COLOR SCHEMES (Strictly copied from your source) --- */ | ||
/* Programming (Green) */ | |||
.cs-section.prog .cs-section-header { background-color: #cef2e0; border: 1px solid #cef2e0; } | |||
} | .cs-section.prog .cs-card { background-color: #f5fffa; border: 1px solid #cef2e0; } | ||
.cs-section.prog .cs-card-header { background-color: #cef2e0; border-bottom: 1px solid #cef2e0; } | |||
.cs-section.prog .cs-card-footer { background-color: #f5fffa; border-top: 1px solid #cef2e0; } | |||
.cs-section.prog .cs-card-footer a { color: #2e8b57; } | |||
/* Data Science (Blue) */ | |||
.cs-section.data .cs-section-header { background-color: #cedff2; border: 1px solid #cedff2; } | |||
.cs-section.data .cs-card { background-color: #f5faff; border: 1px solid #cedff2; } | |||
.cs-section.data .cs-card-header { background-color: #cedff2; border-bottom: 1px solid #cedff2; } | |||
.cs-section.data .cs-card-footer { background-color: #f5faff; border-top: 1px solid #cedff2; } | |||
.cs-section.data .cs-card-footer a { color: #4169e1; } | |||
/* Databases (Pink) */ | |||
.cs-section.db .cs-section-header { background-color: #f2cedd; border: 1px solid #f2cedd; } | |||
.cs-section.db .cs-card { background-color: #fff5fa; border: 1px solid #f2cedd; } | |||
.cs-section.db .cs-card-header { background-color: #f2cedd; border-bottom: 1px solid #f2cedd; } | |||
.cs-section.db .cs-card-footer { background-color: #fff5fa; border-top: 1px solid #f2cedd; } | |||
.cs-section.db .cs-card-footer a { color: #db7093; } | |||
/* Infrastructure (Purple) */ | |||
.cs-section.inf .cs-section-header { background-color: #ddcef2; border: 1px solid #ddcef2; } | |||
.cs-section.inf .cs-card { background-color: #faf5ff; border: 1px solid #ddcef2; } | |||
.cs-section.inf .cs-card-header { background-color: #ddcef2; border-bottom: 1px solid #ddcef2; } | |||
.cs-section.inf .cs-card-footer { background-color: #faf5ff; border-top: 1px solid #ddcef2; } | |||
.cs-section.inf .cs-card-footer a { color: #8a2be2; } | |||
/* | /* Fundamentals (Orange) */ | ||
.cs-section.fund .cs-section-header { background-color: #f2e0ce; border: 1px solid #f2e0ce; } | |||
.cs-section.fund .cs-card { background-color: #fffaf5; border: 1px solid #f2e0ce; } | |||
} | .cs-section.fund .cs-card-header { background-color: #f2e0ce; border-bottom: 1px solid #f2e0ce; } | ||
.cs-section.fund .cs-card-footer { background-color: #fffaf5; border-top: 1px solid #f2e0ce; } | |||
.cs-section.fund .cs-card-footer a { color: #d2691e; } | |||
} | |||
} | |||
/* | /* Community (Grey) */ | ||
.cs-section.comm .cs-section-header { background-color: #eee; border: 1px solid #eee; } | |||
.cs-section.comm .cs-card { background-color: #f9f9f9; border: 1px solid #eee; } | |||
.cs-section.comm .cs-card-header { background-color: #eee; border-bottom: 1px solid #eee; } | |||
.cs-section.comm .cs-card-footer { background-color: #f9f9f9; border-top: 1px solid #eee; } | |||
} | .cs-section.comm .cs-card-footer a { color: #444; } | ||
} | |||
/* | /* --- DARK MODE (Citizen Skin) --- */ | ||
html.skin-theme-clientpref-night .cs- | @media screen { | ||
background-color: # | html.skin-theme-clientpref-night .cs-header { background-color: #171a1d; border-color: #676767; } | ||
html.skin-theme-clientpref-night .cs-title { color: #fff; } | |||
} | html.skin-theme-clientpref-night .cs-subtitle { color: #ccc; } | ||
html.skin-theme-clientpref-night .cs-search { background-color: #252525; border-color: #676767; } | |||
html.skin-theme-clientpref-night .cs-search input { background-color: #1f1f1f !important; color: #fff !important; border-color: #555 !important; } | |||
html.skin-theme-clientpref-night .cs-search input[type="submit"] { background-color: #444 !important; } | |||
html.skin-theme-clientpref-night .cs-card-list li { color: #ccc; } | |||
html.skin-theme-clientpref-night .cs- | /* Programming Dark */ | ||
border-color: # | html.skin-theme-clientpref-night .cs-section.prog .cs-section-header, | ||
html.skin-theme-clientpref-night .cs-section.prog .cs-card-header { background-color: #104437; border-color: #104437; } | |||
} | html.skin-theme-clientpref-night .cs-section.prog .cs-card, | ||
html.skin-theme-clientpref-night .cs-section.prog .cs-card-footer { background-color: #0b1e1c; border-color: #104437; } | |||
html.skin-theme-clientpref-night .cs-section.prog .cs-card-footer a { color: #8fbc8f; } | |||
html.skin-theme-clientpref-night .cs- | /* Data Dark */ | ||
color: # | html.skin-theme-clientpref-night .cs-section.data .cs-section-header, | ||
} | html.skin-theme-clientpref-night .cs-section.data .cs-card-header { background-color: #082849; border-color: #082849; } | ||
html.skin-theme-clientpref-night .cs- | html.skin-theme-clientpref-night .cs-section.data .cs-card, | ||
color: # | html.skin-theme-clientpref-night .cs-section.data .cs-card-footer { background-color: #0d1a27; border-color: #082849; } | ||
} | html.skin-theme-clientpref-night .cs-section.data .cs-card-footer a { color: #87cefa; } | ||
/* DB Dark */ | |||
html.skin-theme-clientpref-night .cs-section.db .cs-section-header, | |||
html.skin-theme-clientpref-night .cs-section.db .cs-card-header { background-color: #882c43; border-color: #882c43; } | |||
html.skin-theme-clientpref-night .cs-section.db .cs-card, | |||
html.skin-theme-clientpref-night .cs-section.db .cs-card-footer { background-color: #270e1a; border-color: #882c43; } | |||
html.skin-theme-clientpref-night .cs-section.db .cs-card-footer a { color: #ffb6c1; } | |||
/* | /* Inf Dark */ | ||
html.skin-theme-clientpref-night .cs- | html.skin-theme-clientpref-night .cs-section.inf .cs-section-header, | ||
border | html.skin-theme-clientpref-night .cs-section.inf .cs-card-header { background-color: #7545ab; border-color: #7545ab; } | ||
} | html.skin-theme-clientpref-night .cs-section.inf .cs-card, | ||
html.skin-theme-clientpref-night .cs- | html.skin-theme-clientpref-night .cs-section.inf .cs-card-footer { background-color: #130e20; border-color: #7545ab; } | ||
color: # | html.skin-theme-clientpref-night .cs-section.inf .cs-card-footer a { color: #da70d6; } | ||
} | |||
html.skin-theme-clientpref-night .cs- | |||
} | |||
/* | /* Fund Dark */ | ||
html.skin-theme-clientpref-night .cs-footer- | html.skin-theme-clientpref-night .cs-section.fund .cs-section-header, | ||
background-color: # | html.skin-theme-clientpref-night .cs-section.fund .cs-card-header { background-color: #663428; border-color: #663428; } | ||
border-color: # | html.skin-theme-clientpref-night .cs-section.fund .cs-card, | ||
html.skin-theme-clientpref-night .cs-section.fund .cs-card-footer { background-color: #331a00; border-color: #663428; } | |||
html.skin-theme-clientpref-night .cs-section.fund .cs-card-footer a { color: #ffa500; } | |||
/* Comm Dark */ | |||
html.skin-theme-clientpref-night .cs-section.comm .cs-section-header, | |||
html.skin-theme-clientpref-night .cs-section.comm .cs-card-header { background-color: #3d3d3d; border-color: #3d3d3d; } | |||
html.skin-theme-clientpref-night .cs-section.comm .cs-card, | |||
html.skin-theme-clientpref-night .cs-section.comm .cs-card-footer { background-color: #171a1d; border-color: #3d3d3d; } | |||
html.skin-theme-clientpref-night .cs-section.comm .cs-card-footer a { color: #ccc; } | |||
} | } | ||
Revision as of 23:29, 22 November 2025
/**
* ComputerScience.wiki - Modern Grid Layout
* Based on user-provided colors and search bar
*/
/* --- CONTAINER --- */
.cs-container {
max-width: 1200px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
padding: 0 10px;
}
/* --- HEADER --- */
.cs-header {
text-align: center;
padding: 40px 20px;
margin-bottom: 30px;
border-radius: 8px;
background-color: #f9f9f9;
border: 1px solid #ddd;
}
.cs-title {
font-size: 2.5em;
font-weight: 800;
margin: 0;
color: #000;
letter-spacing: -1px;
}
.cs-subtitle {
font-size: 1.2em;
color: #555;
margin-top: 10px;
}
/* --- SEARCH (Unchanged as requested) --- */
.cs-search {
max-width: 800px;
margin: 0 auto 40px;
padding: 25px;
border-radius: 8px;
background-color: #f5f5f5;
border: 1px solid #ddd;
}
/* Search Input Overrides */
.cs-search input[type="search"],
.cs-search .mw-searchInput {
background-color: #ffffff !important;
border: 1px solid #ddd !important;
height: 45px !important;
padding: 5px 15px !important;
border-radius: 4px !important;
font-size: 16px !important;
color: #333 !important;
width: 100% !important;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
/* Search Button Overrides */
.cs-search input[type="submit"],
.cs-search .oo-ui-buttonElement-button {
min-width: 80px !important;
background-color: #f0f0f0 !important;
border: 1px solid #ddd !important;
height: 45px !important;
font-weight: 700 !important;
cursor: pointer !important;
}
/* Hide fulltext button */
.cs-search input[name="fulltext"] { display: none !important; }
/* --- GRID SYSTEM (The "Dynamic" Fix) --- */
/* Replaces table display with modern Grid */
.cs-grid {
display: grid;
/* Auto-fit: Creates as many columns as fit, min 300px wide */
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 25px;
margin-bottom: 40px;
}
/* --- SECTIONS --- */
.cs-section-header {
padding: 15px 20px;
margin-bottom: 20px;
border-radius: 8px;
display: flex;
align-items: center;
}
.cs-section-title {
margin: 0;
font-size: 1.4em;
font-weight: 700;
}
/* --- CARDS --- */
.cs-card {
border-radius: 8px;
overflow: hidden;
height: 100%;
display: flex;
flex-direction: column;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
/* Dynamic Hover Effect */
.cs-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.cs-card-header {
padding: 15px 20px;
font-weight: 600;
}
.cs-card-title {
margin: 0;
font-size: 1.2em;
}
.cs-card-body {
padding: 20px;
flex-grow: 1; /* Ensures footer sticks to bottom */
}
.cs-card-list {
margin: 0;
padding: 0;
list-style: none;
}
.cs-card-list li {
margin-bottom: 12px;
padding-left: 0;
font-size: 0.95em;
border-bottom: 1px solid rgba(0,0,0,0.05);
padding-bottom: 5px;
}
.cs-card-list li:last-child { border-bottom: none; }
.cs-card-footer {
padding: 15px 20px;
text-align: right;
font-size: 0.9em;
font-weight: bold;
}
.cs-card-footer a {
text-decoration: none;
}
/* --- COLOR SCHEMES (Strictly copied from your source) --- */
/* Programming (Green) */
.cs-section.prog .cs-section-header { background-color: #cef2e0; border: 1px solid #cef2e0; }
.cs-section.prog .cs-card { background-color: #f5fffa; border: 1px solid #cef2e0; }
.cs-section.prog .cs-card-header { background-color: #cef2e0; border-bottom: 1px solid #cef2e0; }
.cs-section.prog .cs-card-footer { background-color: #f5fffa; border-top: 1px solid #cef2e0; }
.cs-section.prog .cs-card-footer a { color: #2e8b57; }
/* Data Science (Blue) */
.cs-section.data .cs-section-header { background-color: #cedff2; border: 1px solid #cedff2; }
.cs-section.data .cs-card { background-color: #f5faff; border: 1px solid #cedff2; }
.cs-section.data .cs-card-header { background-color: #cedff2; border-bottom: 1px solid #cedff2; }
.cs-section.data .cs-card-footer { background-color: #f5faff; border-top: 1px solid #cedff2; }
.cs-section.data .cs-card-footer a { color: #4169e1; }
/* Databases (Pink) */
.cs-section.db .cs-section-header { background-color: #f2cedd; border: 1px solid #f2cedd; }
.cs-section.db .cs-card { background-color: #fff5fa; border: 1px solid #f2cedd; }
.cs-section.db .cs-card-header { background-color: #f2cedd; border-bottom: 1px solid #f2cedd; }
.cs-section.db .cs-card-footer { background-color: #fff5fa; border-top: 1px solid #f2cedd; }
.cs-section.db .cs-card-footer a { color: #db7093; }
/* Infrastructure (Purple) */
.cs-section.inf .cs-section-header { background-color: #ddcef2; border: 1px solid #ddcef2; }
.cs-section.inf .cs-card { background-color: #faf5ff; border: 1px solid #ddcef2; }
.cs-section.inf .cs-card-header { background-color: #ddcef2; border-bottom: 1px solid #ddcef2; }
.cs-section.inf .cs-card-footer { background-color: #faf5ff; border-top: 1px solid #ddcef2; }
.cs-section.inf .cs-card-footer a { color: #8a2be2; }
/* Fundamentals (Orange) */
.cs-section.fund .cs-section-header { background-color: #f2e0ce; border: 1px solid #f2e0ce; }
.cs-section.fund .cs-card { background-color: #fffaf5; border: 1px solid #f2e0ce; }
.cs-section.fund .cs-card-header { background-color: #f2e0ce; border-bottom: 1px solid #f2e0ce; }
.cs-section.fund .cs-card-footer { background-color: #fffaf5; border-top: 1px solid #f2e0ce; }
.cs-section.fund .cs-card-footer a { color: #d2691e; }
/* Community (Grey) */
.cs-section.comm .cs-section-header { background-color: #eee; border: 1px solid #eee; }
.cs-section.comm .cs-card { background-color: #f9f9f9; border: 1px solid #eee; }
.cs-section.comm .cs-card-header { background-color: #eee; border-bottom: 1px solid #eee; }
.cs-section.comm .cs-card-footer { background-color: #f9f9f9; border-top: 1px solid #eee; }
.cs-section.comm .cs-card-footer a { color: #444; }
/* --- DARK MODE (Citizen Skin) --- */
@media screen {
html.skin-theme-clientpref-night .cs-header { background-color: #171a1d; border-color: #676767; }
html.skin-theme-clientpref-night .cs-title { color: #fff; }
html.skin-theme-clientpref-night .cs-subtitle { color: #ccc; }
html.skin-theme-clientpref-night .cs-search { background-color: #252525; border-color: #676767; }
html.skin-theme-clientpref-night .cs-search input { background-color: #1f1f1f !important; color: #fff !important; border-color: #555 !important; }
html.skin-theme-clientpref-night .cs-search input[type="submit"] { background-color: #444 !important; }
html.skin-theme-clientpref-night .cs-card-list li { color: #ccc; }
/* Programming Dark */
html.skin-theme-clientpref-night .cs-section.prog .cs-section-header,
html.skin-theme-clientpref-night .cs-section.prog .cs-card-header { background-color: #104437; border-color: #104437; }
html.skin-theme-clientpref-night .cs-section.prog .cs-card,
html.skin-theme-clientpref-night .cs-section.prog .cs-card-footer { background-color: #0b1e1c; border-color: #104437; }
html.skin-theme-clientpref-night .cs-section.prog .cs-card-footer a { color: #8fbc8f; }
/* Data Dark */
html.skin-theme-clientpref-night .cs-section.data .cs-section-header,
html.skin-theme-clientpref-night .cs-section.data .cs-card-header { background-color: #082849; border-color: #082849; }
html.skin-theme-clientpref-night .cs-section.data .cs-card,
html.skin-theme-clientpref-night .cs-section.data .cs-card-footer { background-color: #0d1a27; border-color: #082849; }
html.skin-theme-clientpref-night .cs-section.data .cs-card-footer a { color: #87cefa; }
/* DB Dark */
html.skin-theme-clientpref-night .cs-section.db .cs-section-header,
html.skin-theme-clientpref-night .cs-section.db .cs-card-header { background-color: #882c43; border-color: #882c43; }
html.skin-theme-clientpref-night .cs-section.db .cs-card,
html.skin-theme-clientpref-night .cs-section.db .cs-card-footer { background-color: #270e1a; border-color: #882c43; }
html.skin-theme-clientpref-night .cs-section.db .cs-card-footer a { color: #ffb6c1; }
/* Inf Dark */
html.skin-theme-clientpref-night .cs-section.inf .cs-section-header,
html.skin-theme-clientpref-night .cs-section.inf .cs-card-header { background-color: #7545ab; border-color: #7545ab; }
html.skin-theme-clientpref-night .cs-section.inf .cs-card,
html.skin-theme-clientpref-night .cs-section.inf .cs-card-footer { background-color: #130e20; border-color: #7545ab; }
html.skin-theme-clientpref-night .cs-section.inf .cs-card-footer a { color: #da70d6; }
/* Fund Dark */
html.skin-theme-clientpref-night .cs-section.fund .cs-section-header,
html.skin-theme-clientpref-night .cs-section.fund .cs-card-header { background-color: #663428; border-color: #663428; }
html.skin-theme-clientpref-night .cs-section.fund .cs-card,
html.skin-theme-clientpref-night .cs-section.fund .cs-card-footer { background-color: #331a00; border-color: #663428; }
html.skin-theme-clientpref-night .cs-section.fund .cs-card-footer a { color: #ffa500; }
/* Comm Dark */
html.skin-theme-clientpref-night .cs-section.comm .cs-section-header,
html.skin-theme-clientpref-night .cs-section.comm .cs-card-header { background-color: #3d3d3d; border-color: #3d3d3d; }
html.skin-theme-clientpref-night .cs-section.comm .cs-card,
html.skin-theme-clientpref-night .cs-section.comm .cs-card-footer { background-color: #171a1d; border-color: #3d3d3d; }
html.skin-theme-clientpref-night .cs-section.comm .cs-card-footer a { color: #ccc; }
}