mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
28f7417bdf
Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
639 lines
12 KiB
CSS
639 lines
12 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;
|
|
}
|
|
|
|
.hide-scrollable-anchor {
|
|
display: block;
|
|
max-height: 0px;
|
|
}
|
|
|
|
.block-label {
|
|
align-self: center;
|
|
height: fit-content;
|
|
padding: 1px 6px 2px;
|
|
font-size: 0.85rem;
|
|
border: 1px solid;
|
|
position: relative;
|
|
top: 1px;
|
|
word-break: keep-all;
|
|
}
|
|
|
|
.block-header:hover .block-label {
|
|
background-color: var(--tertiary-background);
|
|
}
|
|
|
|
.block-label-lecture {
|
|
border-color: var(--yellow-color);
|
|
color: var(--yellow-color);
|
|
}
|
|
|
|
.block-label-workshop {
|
|
border-color: var(--highlight-color);
|
|
color: var(--highlight-color);
|
|
}
|
|
|
|
.block-label-lab {
|
|
border-color: var(--success-color);
|
|
color: var(--success-color);
|
|
}
|
|
|
|
.block-label-review {
|
|
border-color: var(--purple-color);
|
|
color: var(--purple-color);
|
|
}
|
|
|
|
.block-label-quiz {
|
|
border-color: var(--danger-color);
|
|
color: var(--danger-color);
|
|
}
|
|
|
|
.block-label-exam {
|
|
border-color: var(--quaternary-color);
|
|
color: var(--quaternary-color);
|
|
}
|
|
|
|
.block-label-warm-up {
|
|
border-color: var(--yellow-color);
|
|
color: var(--yellow-color);
|
|
}
|
|
|
|
.block-label-learn {
|
|
border-color: var(--highlight-color);
|
|
color: var(--highlight-color);
|
|
}
|
|
|
|
.block-label-practice {
|
|
border-color: var(--success-color);
|
|
color: var(--success-color);
|
|
}
|
|
|
|
.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: 10px 15px;
|
|
}
|
|
|
|
.block-description {
|
|
padding: 18px 0;
|
|
}
|
|
|
|
.block-description > p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.block-grid .block-description {
|
|
padding: 18px 15px;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
.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;
|
|
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,
|
|
.annual-donation-alert h2 {
|
|
color: var(--blue70);
|
|
}
|
|
|
|
.annual-donation-alert .progress-bar-wrap,
|
|
.progress-bar-background {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.annual-donation-alert hr {
|
|
border-top-color: var(--blue10);
|
|
}
|
|
|
|
.annual-donation-alert .btn-container {
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
.annual-donation-alert .donate-button,
|
|
.university-alert .donate-button {
|
|
border-color: #31708f;
|
|
}
|
|
|
|
.university-alert {
|
|
background-repeat: repeat;
|
|
animation: slideBackground 10s linear infinite;
|
|
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="144" height="113" viewBox="0 0 144 113" fill="none"><path d="M83.0205 89.0206L83.0515 78.5206L98.0293 86.0649L114.053 78.1122L114.02 89.1121C114.02 89.1121 107.6 96.0932 97.9998 96.0648C88.3998 96.0365 83.0205 89.0206 83.0205 89.0206Z" fill="%23198EEE" fill-opacity="0.1"/><path d="M76 72L98 59L121 72V81L123.5 87.5H117L120 81V72.5L98 83L76 72Z" fill="%233099F0" fill-opacity="0.1"/><path d="M10.0205 33.0206L10.0515 22.5206L25.0293 30.0649L41.0529 22.1122L41.0204 33.1121C41.0204 33.1121 34.5997 40.0932 24.9998 40.0648C15.3998 40.0365 10.0205 33.0206 10.0205 33.0206Z" fill="%23198EEE" fill-opacity="0.1"/><path d="M3 16L25 3L48 16V25L50.5 31.5H44L47 25V16.5L25 27L3 16Z" fill="%233099F0" fill-opacity="0.1"/></svg>');
|
|
}
|
|
|
|
@keyframes slideBackground {
|
|
from {
|
|
background-position: 0 0;
|
|
}
|
|
to {
|
|
background-position: 144px 113px;
|
|
}
|
|
}
|
|
/* story starts here */
|
|
|
|
.annual-donation-alert .progress-bar-percent {
|
|
border-right: 1px solid var(--blue70);
|
|
background-color: var(--blue-mid);
|
|
background-image: linear-gradient(to right, #31708f, #198eee);
|
|
box-shadow: none;
|
|
}
|
|
|
|
.tags-wrapper {
|
|
display: flex;
|
|
width: 100%;
|
|
}
|
|
|
|
.grid-project-block {
|
|
margin-bottom: 50px;
|
|
padding: 18px 15px;
|
|
position: relative;
|
|
}
|
|
|
|
.grid-project-block-no-margin {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.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);
|
|
}
|
|
|
|
.challenge-grid-block .challenge-grid-block-panel {
|
|
/* Add some space between panel content and the top edge of the container.
|
|
The value (18px) is the same value `.map-challenges-grid` uses
|
|
to create space between the grid and the bottom edge of the container. */
|
|
margin-top: 18px;
|
|
}
|
|
|
|
.chapter-button .dropdown-icon,
|
|
.module-button .dropdown-icon {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|