Files
godot-website/assets/css/main.css
Emilio Coppola 2fa65521ee Complete website rewrite
This PR replaces the current CMS website with a static version of it built using Jekyll.

- Everything should be working 1 to 1 with the same permalinks except for the `/news` page (not articles) which was renamed as `/blog` (old links will redirect to new ones).
- The showcase entries on the home page now redirect to their showcase page in our site so that the user can choose which store front or page to visit next.
- I also changed the first link from the nav bar to go to the showcase page since the features one is still pretty outdated.

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-01-09 19:14:36 +03:00

1385 lines
25 KiB
CSS

:root {
--transparent-cover: rgb(51, 63, 103, 0.4);
--transparent-cover-darker: rgba(51, 63, 103, 0.9);
--base-color: #eff1f5;
--base-color-text: #4a5365;
--base-color-text-hl: #454b59;
--base-color-text-title: #546b99;
--base-color-text-subtitle: #8a9cc2;
--base-color-text-subtitle-date: #9aacd2;
--dark-color: #333f67;
--dark-color-text: lightsteelblue;
--dark-color-text-hl: #d4e3f6;
--dark-color-text-title: white;
--primary-color: hsl(206, 58%, 52%);
--primary-color-text: #d4edff;
--primary-color-text-hl: white;
--primary-color-text-title: white;
--accent-color: #f57389;
--secondary-color-text: #546b99;
--link-color: hsl(206, 58%, 50%);
--link-underline-color: hsla(206, 58%, 50%, 0.3);
--navbar-link-color: var(--dark-color);
--navbar-link-current-color: var(--primary-color);
--footer-link-color: rgb(200, 210, 250);
--footer-link-underline-color: rgba(200, 210, 250, 0.3);
--tab-active-color: var(--primary-color);
--fund-color: #ef6767;
--fund-color-hl: #e53e3e;
--base-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
--more-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
--background-color: #d5daea;
--navbar-background-color: #ffffff;
--head-background-color: var(--primary-color);
--card-background-color: #ffffff;
--card-footer-color: #eeeeee;
--button-background-color: #ffffff;
--footer-color: rgb(175, 180, 220);
--footer-background-color: #414d69;
--code-background-color: #dcdfe2;
--codeblock-background-color: #282b2e;
--codeblock-color: #e0e2e4;
--sponsor-background-color: #dcdcdc;
--sponsor-platinum-background-color: #cfdbe4;
--sponsor-gold-background-color: #e0dfd4;
--sponsor-silver-background-color: #e3e3e3;
--platform-code-background-color: #e5ebf1;
--digital-store-background-color: #2d4c74;
--teams-odd-color: rgba(160, 160, 160, 0.15);
--teams-even-color: rgba(160, 160, 160, 0.05);
--teams-subteams-color: rgba(255, 255, 255, 0.4);
--table-divider-color: rgba(0, 0, 0, 0.1);
}
.nav-logo.dark-logo {
display: none;
}
@media (prefers-color-scheme: dark) {
:root {
--transparent-cover: rgb(51, 63, 103, 0.4);
--transparent-cover-darker: rgba(51, 63, 103, 0.9);
--base-color: #25282b;
--base-color-text: hsla(0, 0%, 100%, 0.9);
--base-color-text-hl: hsla(0, 0%, 100%, 1);
--base-color-text-title: hsla(200, 00%, 100%, 0.85);
--base-color-text-subtitle: hsla(200, 00%, 100%, 0.7);
--base-color-text-subtitle-date: hsla(200, 00%, 100%, 0.5);
--dark-color: #263256;
--dark-color-text: lightsteelblue;
--dark-color-text-hl: #d4e3f6;
--dark-color-text-title: white;
--primary-color: #4d9fdc;
--primary-color-text: #d4edff;
--primary-color-text-hl: white;
--primary-color-text-title: white;
--accent-color: #5b5491;
--secondary-color-text: #a6a6a6;
--link-color: hsl(200, 60%, 70%);
--link-underline-color: hsla(200, 60%, 70%, 0.3);
--navbar-link-color: hsla(0, 0%, 100%, 0.9);
--navbar-link-current-color: hsl(200, 100%, 80%);
--footer-link-color: hsla(0, 0%, 100%, 0.85);
--footer-link-underline-color: hsla(0, 0%, 100%, 0.25);
--tab-active-color: white;
--fund-color: #ef6767;
--fund-color-hl: #e53e3e;
--base-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
--more-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
--background-color: #202326;
--navbar-background-color: #333639;
--head-background-color: #232f57;
--card-background-color: #333639;
--card-footer-color: #505356;
--button-background-color: #333639;
--footer-color: hsla(0, 0%, 100%, 0.625);
--footer-background-color: #333639;
--code-background-color: #333639;
--codeblock-background-color: #333639;
--codeblock-color: hsla(0, 0%, 100%, 0.9);
--sponsor-background-color: #ffffff;
--sponsor-platinum-background-color: #e2ebfa;
--sponsor-gold-background-color: #efece2;
--platform-code-background-color: #282b2e;
--digital-store-background-color: #2d4c74;
--teams-odd-color: rgba(120, 120, 120, 0.15);
--teams-even-color: rgba(120, 120, 120, 0.05);
--teams-subteams-color: rgba(0, 0, 0, 0.2);
--table-divider-color: rgba(255, 255, 255, 0.1);
}
/* Use logo with white text for dark navbar. */
.nav-logo {
display: none;
}
.nav-logo.dark-logo {
display: initial;
}
/* Fade Patreon widget a little to be less distracting. */
.patreon {
opacity: 0.85;
}
/* Invert hamburger menu button on mobile to be visible on dark navbar. */
#nav_toggle_btn {
filter: invert(100%) saturate(0%) brightness(120%);
}
.dark-invert {
filter: invert(100%);
}
.dark-desaturate {
filter: saturate(0%);
}
}
/* Montserrat Bold */
@font-face {
font-family: "Montserrat";
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("../fonts/Montserrat-Bold.woff2") format("woff2"),
url("../fonts/Montserrat-Bold.woff") format("woff");
}
/* Montserrat ExtraBold */
@font-face {
font-family: "Montserrat";
font-weight: 800;
font-style: normal;
font-display: swap;
src: url("../fonts/Montserrat-ExtraBold.woff2") format("woff2"),
url("../fonts/Montserrat-ExtraBold.woff") format("woff");
}
*:focus {
/* More visible outline for better keyboard navigation. */
outline: 0.125rem solid hsl(220, 100%, 62.5%);
/* Make the outline always appear above other elements. */
/* Otherwise, one of its sides can be hidden by tabs in the Download and More layouts. */
position: relative;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
font-size: 18px;
background-color: var(--base-color);
color: var(--base-color-text);
margin: 0px;
width: 100vw;
max-width: 100vw;
overflow-x: hidden;
}
body a {
outline: none;
color: var(--link-color);
text-decoration: underline;
text-decoration-color: var(--link-underline-color);
text-decoration-thickness: 0.125rem;
/* Prevent color transitions from being too fast (for epilepsy). */
transition: 0.1s filter;
}
body a,
.btn.flat,
.search-bar-btn:hover {
/* Use `filter` on all states to prevent the clickable area from changing */
/* when an image is hovered (see GH-369). */
filter: brightness(100%);
}
body a:hover,
.btn.flat:hover,
.search-bar-btn:hover {
filter: brightness(117.5%);
}
body a:active,
.btn.flat:active,
.search-bar-btn:active {
filter: brightness(82.5%);
}
h1,
h2,
h3,
h4,
nav a,
.btn,
a.btn,
.title-font {
font-family: "Montserrat", sans-serif;
font-weight: 800;
color: var(--base-color-text-title);
margin-top: 0px;
}
h1 {
font-size: 42px;
}
h2 {
font-size: 36px;
}
h3 {
font-size: 28px;
}
h4 {
font-size: 22px;
}
hr {
border: none;
border-top: 2px solid var(--base-color-text);
}
.intro-title {
margin-top: 48px;
margin-bottom: 48px;
}
.title {
margin-top: 48px;
}
.container {
width: 1200px;
max-width: 1200px;
margin: auto;
overflow: visible;
}
.container-text {
width: 100%;
box-sizing: border-box;
padding: 0 24px;
max-width: 800px;
margin: auto;
overflow: visible;
}
.container-text h2 {
margin-top: 80px;
}
.container-text h3 {
margin-top: 60px;
}
.container-text h4 {
margin-top: 40px;
margin-bottom: 20px;
}
.flex {
display: flex;
}
.flex.align-center {
align-items: center;
}
.flex.justify-space-between {
justify-content: space-between;
}
.flex.eqsize > * {
flex: 1;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
grid-gap: 16px;
}
.grid > * {
width: 100%;
min-width: unset;
margin-right: 0;
margin-bottom: 0;
}
.base-padding {
padding: 16px;
}
.unpad-left {
padding-left: 0px;
}
.unpad-right {
padding-right: 0px;
}
header {
/* Show on top of GodotCon banner (if any). */
position: relative;
z-index: 2;
width: 100vw;
height: 64px;
background-color: var(--navbar-background-color);
display: flex;
align-items: center;
box-shadow: var(--base-shadow);
}
header > div.container {
width: 100%;
}
header .container {
overflow: initial;
}
.only-on-mobile {
display: none;
}
#logo-link {
margin-right: 36px;
/* Make the logo's clickable area as tall as for other navigation links. */
padding: 0.2rem 0.5rem;
margin-top: 0.25rem;
margin-left: -0.5rem;
}
#nav_head {
display: flex;
align-items: center;
justify-content: space-between;
}
#nav_toggle_cb,
#nav_toggle_btn {
display: none;
line-height: 0px;
cursor: pointer;
/* Prevent double-clicking the button from highlighting the icon as selected text on desktop. */
user-select: none;
}
nav {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding-right: 1rem;
}
nav a {
text-decoration: none;
font-size: 16px;
font-weight: bold;
color: var(--navbar-link-color);
/* Make links easier to click. */
padding: 1.3175rem 1rem;
}
nav a:hover,
#logo-link:hover {
background-color: hsla(0, 0%, 50%, 0.1);
}
nav li.fund > a {
color: var(--fund-color);
}
nav li.fund > a:hover {
color: var(--fund-color-hl);
}
nav li.fund.active > a {
color: var(--fund-color-hl);
}
nav ul {
list-style: none;
margin: 0;
padding-left: 0;
}
nav > ul {
display: flex;
align-items: center;
height: 100%;
}
nav > ul > :first-child {
padding-left: 0;
}
nav > ul > :last-child {
padding-right: 0;
}
nav > ul li {
padding-left: 1rem;
padding-right: 1rem;
margin-bottom: 0;
margin-left: -1rem;
margin-right: -1rem;
}
nav li.active > a {
color: var(--navbar-link-current-color);
}
nav > ul ul {
display: none;
}
a.patronImgLink {
display: inline-block;
}
a.patronImgLink > img {
display: block;
}
a.patreonLink {
text-decoration: none;
height: 64px !important;
margin-left: 16px !important;
}
a.patreonLink > .patreon {
height: inherit;
padding-left: 8px;
padding-right: 8px;
}
a.patreonLink .patreon-brand {
background-size: 160px;
}
a.patreonLink .patreon-uppercase {
font-size: 12px;
}
ul {
padding-left: 2rem;
}
ul li {
margin-bottom: 16px;
}
footer {
background-color: var(--footer-background-color);
color: var(--footer-color);
font-size: 0.9em;
margin-top: 64px;
padding-top: 32px;
padding-bottom: 32px;
}
footer ul {
list-style: none;
margin: 0px;
float: left;
overflow-wrap: break-word;
margin-left: 32px;
padding-left: 0px;
}
footer a {
color: var(--footer-link-color);
text-decoration-color: var(--footer-link-underline-color);
}
#copyright {
flex: 2;
}
#copyright > p:first-child {
margin-top: 0;
}
#sitemap {
flex: 3;
display: flex;
flex-direction: row;
align-items: flex-start;
}
#sitemap li {
line-height: 20px;
margin-bottom: 10px;
}
#sitemap strong {
color: var(--footer-link-color);
}
#social {
flex: 1;
margin-left: 32px;
}
.pagination {
margin: 2rem 0;
justify-content: center;
/* Remove spacing between list items when `display` is `block`. */
font-size: 0;
}
.pagination a,
.pagination-disabled {
color: inherit;
display: inline-block;
background-color: var(--button-background-color);
padding: 0.7rem 0.7rem;
min-width: 1.4rem;
font-size: initial;
font-weight: 600;
text-align: center;
text-decoration: none;
box-shadow: var(--base-shadow);
}
.pagination-disabled {
opacity: 50%;
user-select: none;
}
.pagination a.active {
background-color: hsl(220, 100%, 62.5%);
color: white;
}
.pagination a:not(:last-child) {
border-right: 1px solid var(--card-footer-color);
}
.pagination a.pagination-previous,
.pagination a.pagination-next {
padding-left: 1.2rem;
padding-right: 1.2rem;
}
/* Make blog article images readable on a dark background. */
article .content img {
background-color: white;
}
@media (max-width: 900px) {
blockquote {
margin-left: 0.5rem;
margin-right: 0.5rem;
}
.pagination {
display: block;
justify-content: initial;
text-align: center;
}
}
.padded {
padding-top: 64px;
padding-bottom: 64px;
}
.youtube {
position: relative;
overflow: hidden;
border-radius: 0.5rem;
aspect-ratio: 16 / 9;
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border: 0;
width: 100%;
height: 100%;
background-color: black;
}
svg.icon {
fill: red;
height: 42px;
width: 42px;
}
p,
ul,
ol {
text-rendering: optimizeLegibility;
line-height: 1.5;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
.text-justified {
text-align: justify;
}
p.small {
width: 500px;
}
.auto-margin {
margin: auto;
}
.head {
background-color: var(--head-background-color);
color: var(--primary-color-text);
margin-bottom: 32px;
}
.head h1,
.head h2,
.head h3 {
color: var(--primary-color-text-title);
margin: 0px;
}
.head .main > :first-child {
margin-top: 32px;
}
.head .main > :last-child {
margin-bottom: 32px;
}
.head a {
color: white;
text-decoration: none;
}
.dark {
background-color: var(--dark-color);
color: var(--dark-color-text);
}
.dark h1,
.dark h2,
.dark h3,
.dark h4 {
color: var(--dark-color-text-title);
}
.btn {
background-color: var(--button-background-color);
box-shadow: var(--base-shadow);
font-size: 18px;
padding: 16px 32px 16px 32px;
display: inline-block;
text-decoration: none;
font-weight: bold;
}
.btn:hover {
box-shadow: var(--more-shadow);
}
.btn.btn-flat {
box-shadow: none;
background-color: transparent;
color: var(--link-color);
margin: 16px 32px 16px 32px;
}
.btn.btn-flat:hover {
background-color: hsla(0, 0%, 50%, 0.1);
}
.btn.btn-flat.btn-flat-white {
color: hsla(0, 0%, 100%, 0.95);
}
.btn.btn-download {
background-color: white;
padding: 0px;
text-align: center;
}
.btn.btn-download > .download-title {
color: var(--dark-color);
display: inline-block;
padding: 16px 32px 16px 32px;
}
.btn.btn-download > .download-hint {
background-color: var(--primary-color);
color: var(--primary-color-text-title);
display: inline-block;
padding: 16px 16px 16px 16px;
}
.date-big {
font-size: 64px;
color: #b6bfd1;
}
.date-small {
font-size: 14px;
font-weight: bold;
color: #8f9db9;
}
.author {
color: var(--base-color-text-subtitle);
text-transform: none;
font-weight: bold;
font-size: 18px;
}
.author .date {
color: var(--base-color-text-subtitle-date);
padding-left: 24px;
}
.tags {
margin-top: -3rem;
margin-bottom: 3rem;
}
.tags > a {
border-radius: 1000px;
display: inline-block;
}
.tag {
display: inline-block;
background-color: var(--card-background-color);
border-radius: 1000px;
box-shadow: var(--base-shadow);
filter: saturate(0.35);
font-family: "Montserrat", sans-serif;
font-size: 16px;
padding: 0.25rem 0.75rem;
margin: 0.1rem;
opacity: 0.8;
}
.tag.active {
filter: saturate(1);
opacity: 1;
}
.card {
background-color: var(--card-background-color);
color: var(--base-color-text);
border: 1px solid rgba(0, 0, 0, 0.2);
box-sizing: border-box;
}
.card:hover {
box-shadow: 0 0 12px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.1);
}
.card .footer {
background-color: var(--card-footer-color);
}
a.card {
text-decoration: none;
display: flex;
}
.steam-download:hover {
color: hsla(0, 0%, 100%);
}
.tabs {
display: flex;
align-items: flex-end;
justify-content: flex-end;
}
.tabs > * {
padding: 16px 24px 16px 24px;
text-decoration: none;
text-align: center;
}
.tabs a {
color: inherit;
white-space: nowrap;
}
.tabs a:not(.active):hover {
color: var(--primary-color-text-title);
background-color: hsla(0, 0%, 100%, 0.1);
}
.tabs .active {
background-color: var(--base-color);
color: var(--tab-active-color);
}
.tab {
display: flex;
align-items: center;
gap: 0.5rem;
}
.snap-tabs {
display: flex;
flex: 0 0 auto;
justify-content: initial;
overflow: auto hidden;
overscroll-behavior-x: contain;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
scrollbar-width: none;
}
.snap-tabs::-webkit-scrollbar {
width: 0;
height: 0;
}
.snap-tabs > .tab {
display: flex;
flex: 0 0 auto;
scroll-snap-align: center;
overscroll-behavior-y: contain;
}
code {
font-family: monospace;
}
pre {
font-family: monospace;
white-space: pre-wrap;
background-color: var(--code-background-color);
padding: 8px;
border-radius: 2px;
overflow-y: auto;
font-size: 0.9rem;
line-height: 1.5;
}
pre > code {
padding-left: 0px;
padding-right: 0px;
}
.no-margin-bottom {
margin-bottom: 0px;
}
.no-margin {
margin: 0px !important;
}
#sfc_graphic {
width: 400px;
}
.search-bar {
display: flex;
height: 40px;
margin-bottom: 2rem;
box-shadow: var(--base-shadow);
border-radius: 999px;
overflow: hidden;
}
.search-bar input {
flex-grow: 1;
padding: 0.5rem 1rem;
line-height: 2;
font-size: 18px;
border: none;
border-right: 1px solid var(--transparent-cover);
background-color: var(--card-background-color);
color: var(--base-color-text);
}
.search-bar .search-bar-btn {
cursor: pointer;
border: none;
width: 3rem;
padding: 0;
margin: 0;
/* background-color: hsl(220, 100%, 62.5%); */
background-color: var(--primary-color);
color: var(--primary-color-text-title);
}
.search-bar .search-bar-btn img {
margin: 8px;
filter: invert(100%);
}
@media (min-width: 1400px) {
.container > :first-child {
padding-left: 0px;
}
.container > :last-child:not(a.btn) {
padding-right: 0px;
}
}
@media (max-width: 1250px) {
body {
width: auto;
}
.container {
width: auto;
padding-left: 16px;
padding-right: 16px;
}
}
@media (max-width: 1200px) {
.hide-on-mobile {
display: none;
}
.only-on-mobile {
display: initial;
}
article .content {
width: 100%;
}
header {
height: auto;
}
header > div {
flex-direction: column;
}
#logo-link {
margin: 0;
}
#nav_head {
width: 100%;
margin-top: 0.25rem;
}
#nav_toggle_btn {
display: block;
/* Make the navbar toggle button easier to click. */
padding: 1.25rem;
margin-top: -0.2rem;
margin-right: -1rem;
}
#nav_toggle_btn:hover {
background-color: hsla(0, 0%, 50%, 0.15);
}
#nav_toggle_btn:active {
background-color: hsla(0, 0%, 50%, 0.25);
}
#nav_toggle_cb:checked ~ header nav {
display: block;
}
#nav {
display: none;
}
nav ul {
align-items: flex-start;
flex-direction: column;
height: auto;
}
nav > ul {
margin-bottom: 16px;
}
nav ul li {
padding: 0;
padding-top: 16px;
width: 100%;
}
nav ul a {
width: 100%;
display: block;
/* Make links easier to click but still close to each other. */
padding-top: 0.75rem;
padding-bottom: 0.75rem;
padding-left: 1.5rem;
padding-right: 1.5rem;
margin-top: -0.4375rem;
margin-bottom: -0.4375rem;
}
a.patreonLink {
text-decoration: none;
height: 64px !important;
margin-left: 0px !important;
margin-top: 16px;
}
a.patreonLink > .patreon {
height: inherit;
padding-left: 8px;
padding-right: 8px;
}
}
@media (max-width: 900px) {
a.patreonLink,
a.patreonLink > .patreon {
width: 100%;
}
.container {
width: auto;
overflow: auto;
flex-direction: column;
padding: 0px 16px 0px 16px;
}
.container.sm-full {
padding-left: 0px;
padding-right: 0px;
}
.container.sm-full:not(.padded) {
padding: 0px;
}
.padded {
padding: 32px 8px 32px 8px;
}
.container .padded {
padding: 32px 0px 32px 0px;
}
p.small {
width: auto;
}
ul {
padding-left: 1rem;
}
.flex.responsive {
flex-direction: column;
}
.flex.eqsize.responsive {
flex-direction: column;
}
.main-image {
height: 30vh;
}
.full-graphic {
display: none;
}
footer {
text-align: center;
}
#sitemap {
flex-direction: column;
align-items: center;
margin-left: 0;
}
#sitemap .sitemap-group {
margin-top: 32px;
margin-left: 0;
}
#social {
margin: auto;
width: 30%;
min-width: 250px;
margin-top: 32px;
}
#social h4 {
text-align: center;
}
#social > div {
justify-content: space-around;
}
.tabs {
overflow: auto;
scroll-behavior: smooth;
scrollbar-width: none;
justify-content: normal;
}
.author .date {
display: block;
margin-top: 0.25rem;
padding-left: 0;
}
}
@media (max-width: 500px) {
#sfc_graphic {
width: 100%;
}
}
.showcase-card {
/* Display a placeholder color while the card's background image is loading. */
background-color: #607080 !important;
background-size: cover;
background-position: center;
border: none;
border-radius: 0.5rem;
color: hsl(0, 0%, 100%);
height: 16rem;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
.showcase-cards a {
text-decoration: none;
}
.showcase-card:hover {
filter: brightness(110%);
}
.showcase-card:active {
filter: brightness(90%);
}
.showcase-card-title {
font-size: 180%;
font-weight: 700;
/* Compensate for the platform icon margins. */
margin-top: 2rem;
margin-bottom: 0.5rem;
text-align: center;
text-shadow: 0.125rem 0.125rem 0.125rem hsl(0, 0%, 0%);
}
.showcase-card-icons {
filter: invert(100%);
text-align: center;
opacity: 0.75;
margin-top: 2rem;
}
.teams-team-section {
background-color: var(--teams-odd-color);
padding: 20px 16px;
margin: 40px 0;
}
.teams-team-section:nth-of-type(2n) {
background-color: var(--teams-even-color);
}
.teams-team-section + .teams-team-section {
margin-top: 8px;
}
.teams-team-section > h4 {
margin-top: 0;
}
.teams-subteams {
background-color: var(--teams-subteams-color);
border-left: 6px solid var(--accent-color);
padding: 4px 10px;
margin-top: 30px;
width: 100%;
table-layout: fixed;
}
.teams-subteams th {
padding: 16px;
border-right: 1px dashed var(--table-divider-color);
}
.teams-subteams td {
padding: 16px 0 16px 12px;
}
.teams-subteams th,
.teams-subteams td {
border-bottom: 1px dashed var(--table-divider-color);
border-collapse: collapse;
}
.teams-subteams tr:last-of-type td,
.teams-subteams tr:last-of-type th {
border-bottom: 0;
}
.teams-subteam-name {
text-align: left;
width: 25%;
}
.teams-subteam-leader:before {
content: "⭐ ";
}
.teams-subteam-leader {
font-weight: 700;
}
.teams-subteam-leader,
.teams-subteam-members {
font-size: 16px;
line-height: 1.6;
}
.rounded {
border-radius: 0.25rem; /* 4px */
}
.rounded-lg {
border-radius: 0.5rem; /* 8px */
}
/* Home Page */
section.hero {
background-color: var(--dark-color);
position: relative;
margin-bottom: -5px;
overflow: hidden;
z-index: 1;
}
section.hero .background-image {
width: 100%;
height: 100%;
position: absolute;
opacity: 0.6;
background-position: center;
background-repeat: no-repeat;
background-blend-mode: darken;
background-size: cover;
background-color: var(--transparent-cover);
will-change: transform;
}
section.hero .copy {
position: relative;
z-index: 1;
max-width: 670px;
margin-left: 0;
}
section.hero .copy h1 {
font-size: 60px;
text-shadow: 0 0 28px #00000080;
margin-bottom: 20px;
color: white;
}
section.hero .copy p {
font-size: 20px;
line-height: 1.5;
margin-bottom: 20px;
max-width: 550px;
text-shadow: 0 0 28px #00000080;
color: white;
}
@media (max-width: 900px) {
section.hero .copy {
text-align: center;
margin: 0 auto;
}
section.hero .copy h1 {
font-size: 50px;
}
section.hero .copy p {
text-align: center;
margin: 0 auto;
}
}
section.hero .wrapper {
position: relative;
max-width: 1200px;
margin: 0 auto;
padding: 220px 0px 120px;
}
@media (max-width: 650px) {
section.hero .wrapper {
padding: 150px 0px 120px;
}
}
section.hero .credits {
position: absolute;
bottom: 14px;
right: 30px;
background: #1a1a1a7a;
border-radius: 8px;
padding: 2px 10px;
opacity: 0.6;
}
section.hero .credits a {
text-decoration: none;
color: white;
}
/* Article card (as seen on the news or home page) */
article.article-card {
height: 100%;
display: flex;
flex-direction: column;
gap: 20px;
}
article.article-card.row {
display: grid;
grid-template-columns: 80px 1fr;
}
@media (min-width: 768px) {
article.article-card.row {
grid-template-columns: 160px 1fr;
}
}
@media (max-width: 768px) {
article.article-card.row .excerpt {
display: none;
}
article.article-card.row h3 {
font-size: 19px;
}
}
article.article-card p.excerpt {
color: var(--base-color-text);
font-size: 16px;
opacity: 0.8;
margin-top: 0;
}
article.article-card h3 {
font-size: 22px;
margin-bottom: 10px;
}
article.article-card .thumbnail {
aspect-ratio: 16 / 9;
border-radius: 7px;
background-position: center;
background-size: cover;
background-color: var(--card-background-color);
box-shadow: 0 5px 10px -3px #00000078;
}
article.article-card .info {
display: flex;
margin-bottom: 15px;
position: relative;
padding-left: 32px;
}
article.article-card .info .avatar {
border-radius: 100%;
position: absolute;
top: -3px;
left: 0px;
width: 25px;
height: 25px;
}
article.article-card .info span {
font-size: 14px;
color: var(--secondary-color-text);
}