MediaWiki:Common.less/tiles.less
/* ---------------------
tiles --------------------- */
// mainpage.less relies on this; check before changing anything
- root {
--byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @shuttle-gray; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; }
.tile {
background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em;
h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em;
}
// reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; }
&.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark;
h2 { color: var(--tile-dark-header-color); }
a { color: var(--tile-dark-link-color); }
.byline { color: var(--tile-dark-byline-color); }
}
}
.byline { font-size: .9em; color: var(--byline-color);
a { color: var(--byline-color); }
}
/* ---------------------
tile halves --------------------- */
// contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; }
.tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: @box-shadow;
h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; }
.byline + h2 { margin-top: -0.5em; }
}
// goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem;
&.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out;
.tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; }
span { width: 100%; }
img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } }
}
// goes inside .tile-halves .tile-bottom {
background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem .6rem;
&.link-button { align-self: flex-end; // have link stick to the bottom padding: 0;
a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; }
}
// must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out;
a { color: var(--byline-color); font-weight: bold; text-align: right; }
&:hover { background: var(--tile-link-button-highlight-color);
.arrow { transform: translateX(50%); }
}
.arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; }
}
}
/* ---------------------
oswf tile --------------------- */
.tile.oswf-day { margin-left: .5em; }
.oswf-tile { margin: 1em;
&.oswf-complete { opacity: 0.65; }
.oswf-summary { font-size: 105%; line-height: 1.6; margin-top: -0.4em; }
.oswf-img { display: block; max-width: 75px; float: right;
img { max-width: 100%; height: auto; } }
.oswf-guidance { border-top: 1px solid @gallery; padding-top: 1em; } }