Difference between revisions of "MediaWiki:Tweeki.css"

From LINKS Community Center
Jump to: navigation, search
Line 1: Line 1:
<noinclude>
+
/* CSS placed here will affect users of the Tweeki skin */
Development version of the DCT Profile template.<br>
 
<span style="color: red; font-weight: bold;">Not ready for production!</span>
 
</noinclude><includeonly>
 
<div hidden aria-hidden="true" style="display: none; position: absolute; width: 1px; height: 1px;">
 
<!--
 
    The following is required for the LCC to work.
 
    Every property of a DCT must be listed here as follows.
 
-->
 
    [[Is Archived::{{{Is Archived|}}}]]
 
    {{#arraymap:{{{Data Sources|}}}|,|x|[[Data Sources::x]]}}
 
  
    {{#arraymap:{{{Formerly known as|}}}|,|x|[[Formerly known as::x]]}}
+
:root {
     [[Tool Created in Year::{{{Tool Created in Year|}}}]]
+
    --links-blue: #1980c3;
 +
    --links-cyan: #34b8b8;
 +
     --links-grey: #415262;
 +
    --links-orange: #ee7802;
 +
}
  
    {{#arraymap:{{{Crisis Communication Matrix|}}}|,|y|[[Crisis Communication Matrix::y]]}}
+
/* TODO: Add static fallback fonts */
    {{#arraymap:{{{Disaster Management Phase|}}}|,|x|[[Disaster Management Phase::x]]}}
+
@supports (font-variation-settings: normal) {
 +
    @font-face {
 +
        font-family: 'Open Sans';
 +
        src: url('/resources/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf') format("truetype supports variations"),
 +
            url('/resources/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf') format("truetype-variations");
 +
        font-weight: 300 800;
 +
        font-stretch: 75% 100%;
 +
    }
  
     [[Advanced search features::{{{Advanced search features|}}}]]
+
     @font-face {
    [[Keyword search::{{{Keyword search|}}}]]
+
        font-family: 'Raleway';
    [[Hashtag search::{{{Hashtag search|}}}]]
+
        src: url('/resources/assets/fonts/Raleway/Raleway-VariableFont_wght.ttf') format("truetype supports variations"),
    [[Keyword monitoring::{{{Keyword monitoring|}}}]]
+
            url('/resources/assets/fonts/Raleway/Raleway-VariableFont_wght.ttf') format("truetype-variations");
    [[Hashtag monitoring::{{{Hashtag monitoring|}}}]]
+
        font-weight: 100 900;
     [[Event monitoring::{{{Event monitoring|}}}]]
+
     }
    [[Event notifications::{{{Event notifications|}}}]]
+
}
  
    [[Posting content::{{{Posting content|}}}]]
+
/* LCC FOOTER START */
    [[Scheduling content::{{{Scheduling content|}}}]]
+
footer#footer.footer { padding: 0; } /* This is MediaWiki's own footer */
    [[Post time optimization::{{{Post time optimization|}}}]]
 
    [[Content library::{{{Content library|}}}]
 
    {{#arraymap:{{{Supported content types|}}}|,|x|[[Supported content types::x]]}}]
 
  
     [[Text analysis::{{{Text analysis|}}}]]
+
#lcc-footer {
     [[Image analysis::{{{Image analysis|}}}]]
+
     width: 100%;
     [[Video analysis::{{{Video analysis|}}}]]
+
    padding: 1em;
     [[Topic analysis::{{{Topic analysis|}}}]]
+
     font-size: .8rem;
     [[Sentiment analysis::{{{Sentiment analysis|}}}]]
+
    font-family: 'Open Sans';
     [[Trend analysis::{{{Trend analysis|}}}]]
+
     font-weight: 300;
    {{#arraymap:{{{Content processing languages|}}}|,|x|[[Content processing languages::x]]}}]
+
    background-color: var(--links-grey);
 +
     color: rgba(255, 255, 255, .6);
 +
    background: linear-gradient(to top, #1A2026, var(--links-grey));
 +
}
 +
#lcc-footer-content {
 +
     margin: auto;
 +
    display: grid;
 +
    grid-template:
 +
        "links"
 +
        "nav"
 +
        "legal"
 +
        "eu-logo"
 +
        "eu-text";
 +
     gap: 1em 1em;
 +
    font-size: 1.2em;
 +
}
 +
#lcc-footer-content a { display: inline-block; margin-bottom: .7em; color: rgba(255, 255, 255, .7); transition: all 200ms; }
 +
#lcc-footer-content a:hover { display: inline-block; margin-bottom: .7em; color: rgba(255, 255, 255, .9); font-weight: 600; }
 +
#lcc-footer-content .footer-links { grid-area: links; display: flex; flex-flow: column wrap; }
 +
#lcc-footer-content .footer-nav { grid-area: nav; display: flex; flex-flow: column wrap; }
 +
#lcc-footer-content .footer-legal { grid-area: legal; display: flex; flex-flow: column wrap; }
 +
#lcc-footer-content .footer-eu-logo { grid-area: eu-logo; }
 +
#lcc-footer-content .footer-eu-text { grid-area: eu-text; display: flex; }
 +
#lcc-footer-content .footer-eu-text p { font-size: .8em; }
  
    [[Post metrics::{{{Post metrics|}}}]]
+
@media screen and (min-width: 992px) {
     [[Profile or Site metrics::{{{Profile or Site metrics|}}}]]
+
     #lcc-footer {
    [[Network metrics::{{{Network metrics|}}}]]
+
        padding: 5em;
    [[Follower metrics::{{{Follower metrics|}}}]]
+
        font-size: 1rem;
     [[Audience metrics::{{{Audience metrics|}}}]]
+
     }
    [[Competitor metrics::{{{Competitor metrics|}}}]]
 
  
     [[Filtering sorting searching::{{{Filtering sorting searching|}}}]]
+
     #lcc-footer-content {
    [[Clustering Aggregation::{{{Clustering Aggregation|}}}]]
+
        width: 83.3333333333%;
     [[Visualization options::{{{Visualization options|}}}]]
+
        grid-template:
     [[PDF export::{{{PDF export|}}}]]
+
            "links  nav     legal"
    [[Customizable Reports::{{{Customizable Reports|}}}]]
+
            "eu-logo eu-text eu-text"
     [[Predefined reports::{{{Predefined reports|}}}]]
+
            /1fr    1fr     1fr;
 +
        gap: 5em 1em;
 +
        font-size: 1.2em;
 +
     }
  
     [[Multiuser::{{{Multiuser|}}}]]
+
     #lcc-footer-content .footer-legal { grid-area: legal; text-align: right; }
     [[Permission management::{{{Permission management|}}}]]
+
     #lcc-footer-content .footer-eu-text { justify-content: flex-end; }
     [[Inbox workflow::{{{Inbox workflow|}}}]]
+
     #lcc-footer-content .footer-eu-text p { text-align: right; max-width: 75%; }
    [[Approval workflows::{{{Approval workflows|}}}]]
+
}
 +
/* LCC FOOTER END */
  
     [[Data export::{{{Data export|}}}]]
+
/* DCT PROFILE START */
    [[Third party tool integration::{{{Third party tool integration|}}}]]
+
@keyframes showRight {
     [[API support::{{{API support|}}}]]
+
     from {
 +
        transform-origin: left;
 +
        transform: scaleX(0);
 +
     }
  
     [[White Label::{{{White Label|}}}]]
+
     to {
    [[GDPR compliant::{{{GDPR compliant|}}}]]
+
        transform-origin: left;
    [[Historical data access::{{{Historical data access|}}}]]
+
        transform: scaleX(1);
    {{#arraymap:{{{User interface languages|}}}|,|x|[[User interface languages::x]]}}
+
     }
    [[Multiple accounts per platform::{{{Multiple accounts per platform|}}}]]
+
}
</div>
 
<div id="dct-back-link">
 
<a href="/index.php/List_of_Disaster_Community_Technologies">
 
[[File:DCT.svg|class=dct-icon|link=|DCT Icon]]
 
View all technologies
 
</a>
 
</div>
 
{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}}<div id="dct-profile">
 
<div class="section dct-meta anim-border d-flex justify-content-between">
 
<h1>{{PAGENAME}}</h1>
 
<div>Created: {{{Entry Created At|}}}<br>
 
Reviewed: {{{Entry Last Reviewed|}}}</div>
 
</div>
 
<div class="section dct-desc anim-border">
 
<div class="d-flex justify-content-between mb-3">
 
<div class="mr-4">
 
{{#if: {{{Image|}}} | [[File: {{{Image|}}} |class=dct-logo|link=|{{PAGENAME}} logo]]<br>}}
 
<div class="mt-2">{{{Description|No description provided.}}}</div>
 
</div>
 
<div style="font-size:larger; flex-shrink: 0;">[{{{Website|}}} Website]</div>
 
</div>
 
</div>
 
<div class="section dct-info anim-border">
 
<div>
 
<h5>Provider</h5>
 
{{{Provider|}}}<br>
 
{{flagicon|{{{Source Country|}}}}} {{{Source Country|}}}
 
</div>
 
<div>
 
<h5>Data Sources</h5>
 
{{#arraymaptemplate:{{{Data Sources|}}}|SourceLogo|,|}}
 
</div>
 
<div>
 
<h5>Crisis Communication Matrix</h5>
 
{{{Crisis Communication Matrix|}}}
 
</div>
 
<div>
 
<h5>Disaster Management Phase</h5>
 
{{{Disaster Management Phase|}}}
 
</div>
 
</div>
 
<div class="section dct-func anim-border">
 
<h2>Functions</h2>
 
<div class="dct-func-list">
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{Advanced search features|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Keyword search|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Hashtag search|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Keyword monitoring|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Hashtag monitoring|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Event monitoring|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Event notifications|}}}}} | yes | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_search.svg|link=|class=func-icon]]Search & Monitor</h3>
 
{{#ifeq: {{lc:{{{Advanced search features|}}}}} | yes | <li>Advanced search features</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Keyword search|}}}}} | yes | <li>Keyword search</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Hashtag search|}}}}} | yes | <li>Hashtag search</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Keyword monitoring|}}}}} | yes | <li>Keyword monitoring</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Hashtag monitoring|}}}}} | yes | <li>Hashtag monitoring</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Event monitoring|}}}}} | yes | <li>Event monitoring</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Event notifications|}}}}} | yes | <li>Event notifications</li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{Posting content|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Scheduling content|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Post time optimization|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Content library|}}}}} | yes | 1 | 0}} or
 
    {{#if: {{{Supported content types|}}} | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_post.svg|link=|class=func-icon]]Post & Schedule</h3>
 
{{#ifeq: {{lc:{{{Posting content|}}}}} | yes | <li>Posting content</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Scheduling content|}}}}} | yes | <li>Scheduling content</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Post time optimization|}}}}} | yes | <li>Post time optimization</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Content library|}}}}} | yes | <li>Content library</li>}}<nowiki/>
 
{{#if: {{{Supported content types|}}} | <li>Supported content types: {{{Supported content types}}}<nowiki/></li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{Text analysis|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Image analysis|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Video analysis|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Topic analysis|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Sentiment analysis|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Trend analysis|}}}}} | yes | 1 | 0}} or
 
    {{#if: {{{Content processing languages|}}} | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_analysis.svg|link=|class=func-icon]]Analysis</h3>
 
{{#ifeq: {{lc:{{{Text analysis|}}}}} | yes | <li>Text</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Image analysis|}}}}} | yes | <li>Image</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Video analysis|}}}}} | yes | <li>Video</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Topic analysis|}}}}} | yes | <li>Topic</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Sentiment analysis|}}}}} | yes | <li>Sentiment</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Trend analysis|}}}}} | yes | <li>Trend</li>}}<nowiki/>
 
{{#if: {{{Content processing languages|}}} | <li>Content processing languages: {{{Content processing languages}}}<nowiki/></li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{Post metrics|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Profile or Site metrics|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Network metrics|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Follower metrics|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Audience metrics|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Competitor metrics|}}}}} | yes | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_metrics.svg|link=|class=func-icon]]Metrics</h3>
 
{{#ifeq: {{lc:{{{Post metrics|}}}}} | yes | <li>Post metrics</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Profile or Site metrics|}}}}} | yes | <li>Profile/Site metrics</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Network metrics|}}}}} | yes | <li>Network metrics</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Follower metrics|}}}}} | yes | <li>Follower metrics</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Audience metrics|}}}}} | yes | <li>Audience metrics</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Competitor metrics|}}}}} | yes | <li>Competitor metrics</li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{Filtering sorting searching|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Clustering Aggregation|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Visualization options|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{PDF export|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Predefined reports|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Customizable reports|}}}}} | yes | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_report.svg|link=|class=func-icon]]Report</h3>
 
{{#ifeq: {{lc:{{{Filtering sorting searching|}}}}} | yes | <li>Filtering, sorting &amp;&nbsp;searching</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Clustering Aggregation|}}}}} | yes | <li>Clustering/Aggregation</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Visualization options|}}}}} | yes | <li>Visualization options</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{PDF export|}}}}} | yes | <li>PDF export</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Predefined reports|}}}}} | yes | <li>Predefined reports</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Customizable reports|}}}}} | yes | <li>Customizable reports</li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{Multiuser|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Permission management|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Inbox workflow|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Approval workflows|}}}}} | yes | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_collaboration.svg|link=|class=func-icon]]Collaboration</h3>
 
{{#ifeq: {{lc:{{{Multiuser|}}}}} | yes | <li>Multiuser</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Permission management|}}}}} | yes | <li>Permission management</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Inbox workflow|}}}}} | yes | <li>Inbox workflow</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Approval workflows|}}}}} | yes | <li>Approval workflows</li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
     {{#ifeq: {{lc:{{{Data export|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Third party tool integration|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{API support|}}}}} | yes | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_interoperability.svg|link=|class=func-icon]]Interoperability</h3>
 
{{#ifeq: {{lc:{{{Data export|}}}}} | yes | <li>Data export</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Third party tool integration|}}}}} | yes | <li>Third-party tool integration</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{API support|}}}}} | yes | <li>API support</li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
{{#ifexpr:
 
    {{#ifeq: {{lc:{{{White Label|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{GDPR compliant|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Historical data access|}}}}} | yes | 1 | 0}} or
 
    {{#ifeq: {{lc:{{{Multiple accounts per platform|}}}}} | yes | 1 | 0}} or
 
    {{#if: {{{User interface languages|}}} | 1 | 0}}
 
|<div class="func-block"><h3>[[File:Func_meta.svg|link=|class=func-icon]]Meta</h3>
 
{{#ifeq: {{lc:{{{White Label|}}}}} | yes | <li>White label</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{GDPR compliant|}}}}} | yes | <li>GDPR-compliant</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Historical data access|}}}}} | yes | <li>Historical data access</li>}}<nowiki/>
 
{{#ifeq: {{lc:{{{Multiple accounts per platform|}}}}} | yes | <li>Multiple accounts per platform</li>}}<nowiki/>
 
{{#if: {{{User interface languages|}}} | <li>User interface languages: {{{User interface languages}}}<nowiki/></li>}}<nowiki/>
 
</div>
 
}}<nowiki/>
 
</div>
 
</div>
 
<div class="section dct-more">
 
<h2>See Related</h2>
 
Guidelines Scenarios
 
</div>
 
</div>
 
  
[[Category:Disaster Community Technology]]
+
@keyframes showDown {
</includeonly>
+
    from {
 +
        transform-origin: top;
 +
        transform: scaleY(0);
 +
    }
 +
 
 +
    to {
 +
        transform-origin: top;
 +
        transform: scaleY(1);
 +
    }
 +
}
 +
 
 +
@keyframes hideDown {
 +
    from {
 +
        transform-origin: bottom;
 +
        transform: scaleY(1);
 +
    }
 +
 
 +
    to {
 +
        transform-origin: bottom;
 +
        transform: scaleY(0);
 +
    }
 +
}
 +
 
 +
#dct-profile {
 +
    display: grid;
 +
    grid-template:
 +
        "meta"
 +
        "desc"
 +
        "info"
 +
        "func"
 +
        "more";
 +
    font-family: 'Open Sans';
 +
    font-weight: 400;
 +
    font-stretch: 100%;
 +
    color: var(--links-grey);
 +
    margin-bottom: 3em;
 +
    clip-path: inset(0 0 100% 0);
 +
    opacity: 0;
 +
    transition: all 500ms ease-in-out;
 +
}
 +
 
 +
body.loaded #dct-profile {
 +
    clip-path: inset(0 0 0 0);
 +
    opacity: 1;
 +
}
 +
 
 +
/* TODO: Generalize link formatting later (remove #dct-profile) */
 +
.skin-tweeki #content #dct-profile a.external {
 +
    background: initial;
 +
    padding: 0;
 +
    text-decoration: none;
 +
    border-bottom: 1px solid var(--links-blue);
 +
}
 +
 
 +
.skin-tweeki #content #dct-profile a.external::after {
 +
    content: "\2B67";
 +
    padding-left: .4em;
 +
    display: inline-block;
 +
    transition: all 300ms ease-in-out;
 +
}
 +
 
 +
.skin-tweeki #content #dct-profile a.external:hover::after {
 +
    transform: translate(15%, -15%);
 +
}
 +
 
 +
#dct-profile h1,
 +
#dct-profile h2,
 +
#dct-profile h3,
 +
#dct-profile h4,
 +
#dct-profile h5,
 +
#dct-profile h6 {
 +
    color: var(--links-blue);
 +
    font-family: 'Raleway';
 +
    font-weight: 300;
 +
}
 +
 
 +
#dct-profile h1 {
 +
    font-weight: 700;
 +
}
 +
 
 +
#dct-profile h2 {
 +
    font-weight: 500;
 +
}
 +
 
 +
.dct-icon {
 +
    filter: invert(53%) sepia(16%) saturate(3227%) hue-rotate(169deg) brightness(77%) contrast(96%);
 +
    height: 2em;
 +
    width: 2em;
 +
}
 +
 
 +
#dct-profile .dct-logo {
 +
    height: 2em;
 +
    width: auto;
 +
    margin-right: 1em;
 +
}
 +
 
 +
#dct-profile>.section {
 +
    box-sizing: border-box;
 +
    padding: 2em 0 2em 2em;
 +
    transition: all 500ms ease-in-out;
 +
    transition-delay: 1000ms;
 +
}
 +
 
 +
body.loaded #dct-profile>.section {
 +
    padding-left: 0;
 +
}
 +
 
 +
#dct-profile .dct-meta {
 +
    grid-area: meta;
 +
}
 +
 
 +
#dct-profile .dct-desc {
 +
    grid-area: desc;
 +
}
 +
 
 +
#dct-profile .dct-info {
 +
    grid-area: info;
 +
    display: grid;
 +
    grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
 +
    gap: 1em 1em;
 +
}
 +
 
 +
#dct-profile .dct-info .country-flag {
 +
    height: 1.8em;
 +
    width: auto;
 +
}
 +
 
 +
#dct-profile .dct-func {
 +
    grid-area: func;
 +
}
 +
 
 +
#dct-profile .dct-func h3 {
 +
    font-size: 1.5em;
 +
}
 +
 
 +
#dct-profile .dct-func .func-icon {
 +
    filter: invert(53%) sepia(16%) saturate(3227%) hue-rotate(169deg) brightness(77%) contrast(96%);
 +
    height: 2em;
 +
    width: 2em;
 +
    vertical-align: -.6em;
 +
    margin-right: .6em;
 +
}
 +
 
 +
#dct-profile .dct-func-list {
 +
    display: grid;
 +
    grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));
 +
    gap: 2em 2em;
 +
}
 +
 
 +
#dct-profile .dct-func li {
 +
    list-style-type: none;
 +
    margin-left: 5.5em;
 +
    text-indent: -1.6em;
 +
}
 +
 
 +
#dct-profile .dct-func li::before {
 +
    content: "✓";
 +
    color: var(--links-blue);
 +
    margin-right: .8em;
 +
}
 +
 
 +
#dct-profile .dct-more {
 +
    grid-area: more;
 +
}
 +
 
 +
.anim-border {
 +
    position: relative;
 +
}
 +
 
 +
.anim-border::after {
 +
    content: "";
 +
    display: block;
 +
    position: absolute;
 +
    left: 0;
 +
    bottom: 0;
 +
    height: 1px;
 +
    width: 100%;
 +
    background-color: var(--links-blue);
 +
    transform: scaleX(0);
 +
}
 +
 
 +
.anim-border::before {
 +
    content: "";
 +
    display: block;
 +
    position: absolute;
 +
    left: 0;
 +
    top: 0;
 +
    width: 1px;
 +
    height: 100%;
 +
    background-color: var(--links-blue);
 +
    transform: scaleY(0);
 +
}
 +
 
 +
body.loaded .anim-border::before {
 +
    animation: showDown 500ms ease-in-out 500ms 1 normal forwards,
 +
        hideDown 500ms ease-in-out 1000ms 1 normal forwards;
 +
}
 +
 
 +
body.loaded .anim-border::after {
 +
    animation: showRight 500ms ease-in-out 1000ms 1 normal forwards;
 +
}
 +
 
 +
@media only screen and (orientation: landscape) {
 +
    #dct-profile {
 +
        grid-template:
 +
            "meta meta"
 +
            "desc info"
 +
            "func info"
 +
            "more info"
 +
            / 2fr 1fr;
 +
    }
 +
 
 +
    #dct-profile>.section {
 +
        box-sizing: border-box;
 +
        padding: 2em;
 +
    }
 +
 
 +
    #dct-profile .dct-info {
 +
        display: block;
 +
        padding-left: 2em !important;
 +
        padding-right: 0;
 +
    }
 +
 
 +
    #dct-profile .dct-info>div {
 +
        margin-bottom: 2.5em;
 +
    }
 +
 
 +
    #dct-profile .dct-info::before {
 +
        animation: showDown 500ms ease-in-out 1500ms 1 normal forwards;
 +
    }
 +
 
 +
    #dct-profile .dct-info::after {
 +
        animation: none 0;
 +
    }
 +
}
 +
 
 +
/* DCT PROFILE END */

Revision as of 11:37, 21 June 2022

/* CSS placed here will affect users of the Tweeki skin */

:root {
    --links-blue: #1980c3;
    --links-cyan: #34b8b8;
    --links-grey: #415262;
    --links-orange: #ee7802;
}

/* TODO: Add static fallback fonts */
@supports (font-variation-settings: normal) {
    @font-face {
        font-family: 'Open Sans';
        src: url('/resources/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf') format("truetype supports variations"),
            url('/resources/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf') format("truetype-variations");
        font-weight: 300 800;
        font-stretch: 75% 100%;
    }

    @font-face {
        font-family: 'Raleway';
        src: url('/resources/assets/fonts/Raleway/Raleway-VariableFont_wght.ttf') format("truetype supports variations"),
            url('/resources/assets/fonts/Raleway/Raleway-VariableFont_wght.ttf') format("truetype-variations");
        font-weight: 100 900;
    }
}

/* LCC FOOTER START */
footer#footer.footer { padding: 0; } /* This is MediaWiki's own footer */

#lcc-footer {
    width: 100%;
    padding: 1em;
    font-size: .8rem;
    font-family: 'Open Sans';
    font-weight: 300;
    background-color: var(--links-grey);
    color: rgba(255, 255, 255, .6);
    background: linear-gradient(to top, #1A2026, var(--links-grey));
}
#lcc-footer-content {
    margin: auto;
    display: grid;
    grid-template:
        "links"
        "nav"
        "legal"
        "eu-logo"
        "eu-text";
    gap: 1em 1em;
    font-size: 1.2em;
}
#lcc-footer-content a { display: inline-block; margin-bottom: .7em; color: rgba(255, 255, 255, .7); transition: all 200ms; }
#lcc-footer-content a:hover { display: inline-block; margin-bottom: .7em; color: rgba(255, 255, 255, .9); font-weight: 600; }
#lcc-footer-content .footer-links { grid-area: links; display: flex; flex-flow: column wrap; }
#lcc-footer-content .footer-nav { grid-area: nav; display: flex; flex-flow: column wrap; }
#lcc-footer-content .footer-legal { grid-area: legal; display: flex; flex-flow: column wrap; }
#lcc-footer-content .footer-eu-logo { grid-area: eu-logo; }
#lcc-footer-content .footer-eu-text { grid-area: eu-text; display: flex; }
#lcc-footer-content .footer-eu-text p { font-size: .8em; }

@media screen and (min-width: 992px) {
    #lcc-footer {
        padding: 5em;
        font-size: 1rem;
    }

    #lcc-footer-content {
        width: 83.3333333333%;
        grid-template:
            "links   nav     legal"
            "eu-logo eu-text eu-text"
            /1fr     1fr     1fr;
        gap: 5em 1em;
        font-size: 1.2em;
    }

    #lcc-footer-content .footer-legal { grid-area: legal; text-align: right; }
    #lcc-footer-content .footer-eu-text { justify-content: flex-end; }
    #lcc-footer-content .footer-eu-text p { text-align: right; max-width: 75%; }
}
/* LCC FOOTER END */

/* DCT PROFILE START */
@keyframes showRight {
    from {
        transform-origin: left;
        transform: scaleX(0);
    }

    to {
        transform-origin: left;
        transform: scaleX(1);
    }
}

@keyframes showDown {
    from {
        transform-origin: top;
        transform: scaleY(0);
    }

    to {
        transform-origin: top;
        transform: scaleY(1);
    }
}

@keyframes hideDown {
    from {
        transform-origin: bottom;
        transform: scaleY(1);
    }

    to {
        transform-origin: bottom;
        transform: scaleY(0);
    }
}

#dct-profile {
    display: grid;
    grid-template:
        "meta"
        "desc"
        "info"
        "func"
        "more";
    font-family: 'Open Sans';
    font-weight: 400;
    font-stretch: 100%;
    color: var(--links-grey);
    margin-bottom: 3em;
    clip-path: inset(0 0 100% 0);
    opacity: 0;
    transition: all 500ms ease-in-out;
}

body.loaded #dct-profile {
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

/* TODO: Generalize link formatting later (remove #dct-profile) */
.skin-tweeki #content #dct-profile a.external {
    background: initial;
    padding: 0;
    text-decoration: none;
    border-bottom: 1px solid var(--links-blue);
}

.skin-tweeki #content #dct-profile a.external::after {
    content: "\2B67";
    padding-left: .4em;
    display: inline-block;
    transition: all 300ms ease-in-out;
}

.skin-tweeki #content #dct-profile a.external:hover::after {
    transform: translate(15%, -15%);
}

#dct-profile h1,
#dct-profile h2,
#dct-profile h3,
#dct-profile h4,
#dct-profile h5,
#dct-profile h6 {
    color: var(--links-blue);
    font-family: 'Raleway';
    font-weight: 300;
}

#dct-profile h1 {
    font-weight: 700;
}

#dct-profile h2 {
    font-weight: 500;
}

.dct-icon {
    filter: invert(53%) sepia(16%) saturate(3227%) hue-rotate(169deg) brightness(77%) contrast(96%);
    height: 2em;
    width: 2em;
}

#dct-profile .dct-logo {
    height: 2em;
    width: auto;
    margin-right: 1em;
}

#dct-profile>.section {
    box-sizing: border-box;
    padding: 2em 0 2em 2em;
    transition: all 500ms ease-in-out;
    transition-delay: 1000ms;
}

body.loaded #dct-profile>.section {
    padding-left: 0;
}

#dct-profile .dct-meta {
    grid-area: meta;
}

#dct-profile .dct-desc {
    grid-area: desc;
}

#dct-profile .dct-info {
    grid-area: info;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
    gap: 1em 1em;
}

#dct-profile .dct-info .country-flag {
    height: 1.8em;
    width: auto;
}

#dct-profile .dct-func {
    grid-area: func;
}

#dct-profile .dct-func h3 {
    font-size: 1.5em;
}

#dct-profile .dct-func .func-icon {
    filter: invert(53%) sepia(16%) saturate(3227%) hue-rotate(169deg) brightness(77%) contrast(96%);
    height: 2em;
    width: 2em;
    vertical-align: -.6em;
    margin-right: .6em;
}

#dct-profile .dct-func-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));
    gap: 2em 2em;
}

#dct-profile .dct-func li {
    list-style-type: none;
    margin-left: 5.5em;
    text-indent: -1.6em;
}

#dct-profile .dct-func li::before {
    content: "✓";
    color: var(--links-blue);
    margin-right: .8em;
}

#dct-profile .dct-more {
    grid-area: more;
}

.anim-border {
    position: relative;
}

.anim-border::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    background-color: var(--links-blue);
    transform: scaleX(0);
}

.anim-border::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: var(--links-blue);
    transform: scaleY(0);
}

body.loaded .anim-border::before {
    animation: showDown 500ms ease-in-out 500ms 1 normal forwards,
        hideDown 500ms ease-in-out 1000ms 1 normal forwards;
}

body.loaded .anim-border::after {
    animation: showRight 500ms ease-in-out 1000ms 1 normal forwards;
}

@media only screen and (orientation: landscape) {
    #dct-profile {
        grid-template:
            "meta meta"
            "desc info"
            "func info"
            "more info"
            / 2fr 1fr;
    }

    #dct-profile>.section {
        box-sizing: border-box;
        padding: 2em;
    }

    #dct-profile .dct-info {
        display: block;
        padding-left: 2em !important;
        padding-right: 0;
    }

    #dct-profile .dct-info>div {
        margin-bottom: 2.5em;
    }

    #dct-profile .dct-info::before {
        animation: showDown 500ms ease-in-out 1500ms 1 normal forwards;
    }

    #dct-profile .dct-info::after {
        animation: none 0;
    }
}

/* DCT PROFILE END */