Files
freeCodeCamp/client/src/templates/Introduction/intro.css
Manabu Matsumoto 48cb12ef1c fix(UI): make the task challenges be in the grid view (#53687)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2024-02-23 23:03:28 +07:00

556 lines
9.4 KiB
CSS

.super-block-intro-page p {
font-size: 1.17rem;
}
.super-block-intro-page .alert p {
font-size: inherit;
}
.big-subheading {
font-size: 2rem;
overflow-wrap: break-word;
}
.block-header {
display: flex;
justify-content: space-between;
flex-direction: row;
}
.block-header .big-block-title {
flex-grow: 3;
flex-basis: 0;
padding: 25px 15px 10px;
}
.block-header .big-block-title:is(:hover, :focus, :active) {
background-color: var(--primary-background);
}
a.cert-tag:hover,
a.cert-tag:focus,
a.cert-tag:active {
color: var(--highlight-background);
background-color: var(--highlight-color);
}
.big-block-title {
font-size: 1.5rem;
overflow-wrap: break-word;
}
.block-grid-title {
margin: 0;
overflow-wrap: break-word;
}
.block-grid .challenge-jump-link {
margin: 0 25px 25px;
}
.block-title-translation-cta {
white-space: nowrap;
padding: 0.2em 0.5em;
color: var(--highlight-color);
background-color: var(--highlight-background);
}
.block-title-translation-cta:hover,
.block-title-translation-cta:focus {
text-decoration: none;
padding: 0.2em 0.5em;
color: var(--highlight-background);
background-color: var(--highlight-color);
}
.block-cta-wrapper {
display: flex;
flex-direction: column;
justify-content: center;
padding-block: 10px 25px;
padding-inline: 0 15px;
margin: 0 0 0.6rem;
flex-grow: 2;
flex-basis: 0;
font-size: 0.8rem;
text-align: center;
}
.course-title {
display: flex;
align-items: center;
font-size: 1.13rem;
overflow-wrap: break-word;
}
.block-description pre {
display: inline;
padding: 0;
}
.superBlock-image {
max-width: 100%;
height: auto !important;
}
.block-ui {
height: 100%;
list-style: none;
color: var(--secondary-color);
padding: 0;
}
.block-ui a {
text-decoration: none;
}
.map-title {
display: flex;
align-items: center;
padding: 18px 0;
background: transparent;
border: none;
text-align: start;
width: 100%;
}
button.map-title {
cursor: pointer;
padding: 18px 15px;
}
.map-title:hover {
color: var(--tertiary-color);
background-color: var(--tertiary-background);
}
.map-challenge-wrap > a,
.map-dialogue-wrap > a,
.map-project-wrap > a {
display: flex;
gap: 7px;
}
.map-project-wrap > a {
justify-content: space-between;
}
.map-project-checkmark {
padding-inline-start: 15px;
}
.block .map-cert-title {
display: flex;
align-items: center;
padding: 18px 8px;
background: var(--secondary-background);
border: none;
text-align: left;
width: 100%;
}
.block .no-cursor {
cursor: default;
}
.block .no-cursor h3 {
cursor: text;
}
.block .map-is-cert:hover {
color: var(--tertiary-color);
background-color: var(--tertiary-background);
}
.block-ui div.block {
background: var(--primary-background);
}
.block-ui .block .block-description {
padding: 0 15px 15px;
border-bottom: 3px solid var(--secondary-background);
}
.map-cert-title > h3 {
font-size: 1.17rem;
margin-block: 0;
margin-inline: 15px 0;
}
.map-cert-title > svg {
display: inline-block;
height: 40px;
width: auto;
min-width: 25px;
}
.map-title > h4 {
margin: 0;
}
.map-title-completed {
margin-inline-start: auto;
min-width: 100px;
padding-inline-start: 20px;
}
.map-title-completed-big {
margin-inline-start: auto;
padding-inline-end: 15px;
padding-inline-start: 20px;
position: relative;
top: 4px;
}
.map-title svg {
width: 14px;
flex-shrink: 0;
fill: var(--color-quaternary) !important;
stroke: var(--color-quaternary);
}
.open > .map-title > svg:first-child {
transform: rotate(90deg);
}
.block-grid .map-title > svg:last-child {
transform: rotate(180deg);
margin-inline-start: auto;
}
.block-grid.open .map-title > svg:last-child {
transform: rotate(0deg);
}
.map-challenges-ul {
padding-inline-start: 0;
margin-bottom: 0;
}
.map-challenge-title {
display: flex;
align-items: center;
font-size: 1.13rem;
}
.map-challenge-title a {
padding: 10px 15px;
width: 100%;
align-items: center;
}
.map-challenges-grid {
display: grid;
grid-template-columns: repeat(auto-fill, 3.4rem);
grid-gap: 3px;
justify-content: space-between;
margin: 0 auto 18px;
width: calc(100% - 50px);
list-style: none;
}
.map-challenges-grid .map-challenge-title a:focus {
outline-offset: 1px;
}
.map-challenges-grid .map-challenge-wrap {
margin: 6px 0;
max-width: 3.4rem;
}
.map-challenge-wrap a.map-grid-item {
justify-content: center;
align-items: center;
width: 3.4rem;
height: 3.4rem;
min-width: 24px;
min-height: 24px;
border: 1px dashed var(--background-quaternary);
}
.map-dialogue-wrap {
grid-column: 1 / -1;
margin: 0 auto 6px;
width: 100%;
}
.map-dialogue-wrap a {
align-items: center;
min-height: 50px;
padding: 0;
}
.block-description {
padding: 18px 0;
}
.block-description > p:last-child {
margin-bottom: 0;
}
a.map-grid-item.challenge-completed {
background: var(--highlight-background);
position: relative;
border: 1px solid var(--primary-color);
}
.challenge-completed span {
font-weight: 900;
margin-top: -0.05rem;
}
@media screen and (max-width: 500px) {
.super-block-intro-page p {
font-size: 1rem;
}
.big-subheading {
font-size: 1.35rem;
}
.big-block-title {
font-size: 1.17rem;
}
.block-header {
flex-direction: column;
}
.block-cta-wrapper {
padding: 25px 15px 10px;
}
.course-title,
.map-cert-title,
.map-challenge-title {
font-size: 1rem;
}
}
@media screen and (max-width: 767px) {
.intro-layout-container {
padding: 0 10px;
}
button.map-title {
width: 100%;
}
.map-challenge-title {
max-width: 100%;
}
.map-title-completed {
flex-shrink: 0;
padding-inline-start: 15px;
}
}
.intro-layout {
margin-top: 1.45rem;
}
.intro-toc {
margin-bottom: 20px;
padding-left: 0;
list-style-type: none;
}
.intro-toc li {
margin: 5px auto;
padding: 10px 15px;
}
.intro-toc li:hover {
background-color: var(--tertiary-background);
}
.intro-toc a:hover {
text-decoration: none;
text-decoration-style: none;
color: var(--secondary-color);
}
.cert-tag {
text-align: left;
width: fit-content;
font-size: 1rem;
display: block;
margin-bottom: 5px;
margin-inline-end: 5px;
padding: 4px 10px;
color: var(--highlight-color);
background-color: var(--highlight-background);
}
.block-grid {
border-bottom: 4px solid var(--secondary-background);
}
.block-grid .block-header {
flex-direction: column;
display: flex;
background: transparent;
border: none;
text-align: left;
width: 100%;
cursor: pointer;
padding: 18px 15px;
}
.block-grid .block-header:hover {
color: var(--tertiary-color);
background-color: var(--tertiary-background);
}
.block-grid .block-header[aria-expanded='true'] {
border-bottom: 2px solid var(--secondary-background);
}
.block-header-button-text {
align-items: center;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.block-grid .block-header .block-link {
flex-direction: row;
}
.block-ui .block-grid .block-description {
border: none;
padding: 25px;
}
/* this margin is used to center the element.
ToDo: find out why, and remove the need for it */
.block-grid .map-title > svg {
margin-bottom: 4px;
}
.title-wrapper {
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
}
.course-title,
.map-title,
.block-header-button-text,
.title-wrapper {
gap: 10px;
}
.block-grid .progress-wrapper {
width: 100%;
text-align: left;
font-family: var(--font-family-sans-serif);
display: flex;
align-items: center;
margin-top: 18px;
margin-bottom: 14px;
}
.block-grid .progress-wrapper > div {
position: relative;
width: 80%;
margin-inline-end: 0.25em;
}
.annual-donation-alert .progress-wrapper {
display: inline-block;
width: 100%;
margin: 1.2rem 0;
flex-direction: row;
border: 1px solid var(--blue70);
}
.annual-donation-alert h3 {
color: var(--blue70);
}
.annual-donation-alert .progress-bar-wrap,
.progress-bar-background {
background-color: transparent;
}
.annual-donation-alert hr {
border-top-color: var(--blue10);
}
/* story starts here */
.annual-donation-alert .progress-bar-percent {
border-right: 1px solid var(--blue70);
background-color: var(--blue-mid);
box-shadow: none;
animation: progress-bar-stripes 3s linear infinite;
background-image: linear-gradient(
-45deg,
rgba(225, 225, 225, 0.3) 0%,
rgba(225, 225, 225, 0.3) 25%,
transparent 25%,
transparent 50%,
rgba(225, 225, 225, 0.3) 51%,
rgba(225, 225, 225, 0.3) 75%,
transparent 75%,
transparent 100%
);
background-size: 100px 100px;
}
@keyframes progress-bar-stripes {
from {
background-position: 0 0;
}
to {
background-position: 100px 0;
}
}
.tags-wrapper {
display: flex;
width: 100%;
}
.grid-project-block {
margin-bottom: 50px;
padding: 18px 15px;
position: relative;
}
.block-grid.grid-project-block:hover {
cursor: pointer;
background: var(--tertiary-background);
}
.grid-project-block a.block-header {
padding: 0;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: baseline;
gap: 10px;
}
/* make entire certification card clickable */
.grid-project-block a.block-header::after {
content: '';
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.grid-project-block .tags-wrapper a {
position: relative;
z-index: 100;
}
.grid-project-block:hover:has(.tags-wrapper a:hover) {
background: var(--primary-background);
}