blob: c8cd0e4cce6a20fda29aa0d5d5c658c54ab689c1 [file]
/**
* Download Page Styles
* Clean, modern layout for the downloads page.
*/
/* Main Download Section */
.downloadSection {
padding-top: var(--section-spacing-sm);
padding-bottom: var(--section-spacing-sm);
}
.sectionHeader {
max-width: 720px;
margin-bottom: var(--ai-spacing-2xl);
}
.sectionTitle {
font-size: 2rem;
font-weight: 700;
color: var(--ai-text-primary);
margin-bottom: var(--ai-spacing-md);
}
.sectionDescription {
font-size: var(--ai-text-lg);
color: var(--ai-text-secondary);
line-height: 1.6;
}
.archiveNote {
margin-top: var(--ai-spacing-2xl);
padding-top: var(--ai-spacing-xl);
border-top: 1px solid var(--ai-border-light);
color: var(--ai-text-secondary);
}
.archiveNote a {
color: var(--ai-blue);
}
/* Verification Section */
.verifySection {
padding-top: var(--section-spacing-sm);
padding-bottom: var(--section-spacing-sm);
}
.verifyGrid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--ai-spacing-2xl);
}
.verifyCard {
background: var(--ai-gray-50);
border-radius: var(--ai-radius-lg);
padding: var(--ai-spacing-xl);
}
.verifyCard h4 {
margin-top: 0;
margin-bottom: var(--ai-spacing-lg);
font-size: 1.1rem;
font-weight: 600;
}
.verifyLinks {
margin-top: var(--ai-spacing-xl);
text-align: center;
}
.verifyLinks a {
color: var(--ai-blue);
}
/* Code Block Wrapper - adds padding around code blocks */
.codeBlockWrapper {
margin-top: var(--ai-spacing-md);
}
.codeBlockWrapper :global([class*='codeBlockContent']) {
border-radius: var(--ai-radius-md);
}
.codeBlockWrapper :global(pre) {
padding: var(--ai-spacing-lg) !important;
}
/* LTS Section */
.ltsSection {
padding-top: var(--section-spacing-sm);
padding-bottom: var(--section-spacing-sm);
background: var(--ai-gray-50);
}
.ltsTitleRow {
display: flex;
align-items: center;
gap: var(--ai-spacing-md);
flex-wrap: wrap;
}
.ltsTitleRow .sectionTitle {
margin-bottom: 0;
}
.ltsBadge {
display: inline-block;
background: var(--ai-blue);
color: white;
font-size: 0.75rem;
font-weight: 700;
padding: 0.25rem 0.75rem;
border-radius: 100px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Extensions Block */
.extensionsBlock {
margin-top: var(--ai-spacing-2xl);
padding-top: var(--ai-spacing-2xl);
border-top: 1px solid var(--ai-border-light);
}
.extensionsTitle {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: var(--ai-spacing-md);
color: var(--ai-text-primary);
}
/* Extensions Section */
.extensionIntro {
color: var(--ai-text-secondary);
margin-bottom: var(--ai-spacing-xl);
}
.extensionGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--ai-spacing-lg);
margin-bottom: var(--ai-spacing-2xl);
}
.extensionCard {
background: var(--ai-bg-card);
border: 1px solid var(--ai-border-light);
border-radius: var(--ai-radius-lg);
padding: var(--ai-spacing-lg);
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.extensionCard:hover {
border-color: var(--ai-blue);
box-shadow: 0 2px 8px rgba(0, 112, 204, 0.1);
}
.extensionCardHeader {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: var(--ai-spacing-sm);
margin-bottom: var(--ai-spacing-md);
}
.extensionName {
font-size: 1rem;
font-weight: 600;
color: var(--ai-text-primary);
margin: 0;
line-height: 1.3;
}
.extensionVersion {
font-size: var(--ai-text-sm);
color: var(--ai-text-secondary);
background: var(--ai-gray-50);
padding: 0.125rem 0.5rem;
border-radius: var(--ai-radius-sm);
white-space: nowrap;
}
.extensionCardLinks {
display: flex;
gap: var(--ai-spacing-md);
flex-wrap: wrap;
}
.extensionLink {
font-size: var(--ai-text-sm);
font-weight: 500;
color: var(--ai-blue);
text-decoration: none;
padding: 0.25rem 0.75rem;
background: var(--ai-gray-50);
border-radius: var(--ai-radius-sm);
transition: background-color 0.2s ease;
}
.extensionLink:hover {
background: var(--ai-blue);
color: white;
text-decoration: none;
}
.extensionLinkGuide {
font-size: var(--ai-text-sm);
font-weight: 500;
color: var(--ai-text-secondary);
text-decoration: none;
padding: 0.25rem 0.75rem;
border: 1px solid var(--ai-border-light);
border-radius: var(--ai-radius-sm);
transition: border-color 0.2s ease, color 0.2s ease;
}
.extensionLinkGuide:hover {
border-color: var(--ai-blue);
color: var(--ai-blue);
text-decoration: none;
}
.springBootSection {
margin-top: var(--ai-spacing-2xl);
padding-top: var(--ai-spacing-2xl);
border-top: 1px solid var(--ai-border-light);
}
.springBootTitle {
margin-bottom: var(--ai-spacing-sm);
font-size: 1.1rem;
font-weight: 600;
}
.springBootDescription {
color: var(--ai-text-secondary);
margin-bottom: var(--ai-spacing-lg);
}
/* Resources Section */
.resourcesSection {
padding-top: var(--section-spacing-sm);
padding-bottom: var(--section-spacing-sm);
background: var(--ai-bg-secondary);
}
.resourcesGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--ai-spacing-2xl);
margin-top: var(--ai-spacing-2xl);
}
.resourceCard {
background: var(--ai-bg-card);
border-radius: var(--ai-radius-lg);
padding: var(--ai-spacing-2xl);
border: 1px solid var(--ai-border-light);
transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.resourceCard:hover {
border-color: var(--ai-blue);
box-shadow: 0 4px 12px rgba(0, 112, 204, 0.1);
}
.resourceCardHeader {
display: flex;
align-items: center;
gap: var(--ai-spacing-md);
margin-bottom: var(--ai-spacing-lg);
}
.resourceIcon {
width: 28px;
height: 28px;
color: var(--ai-blue);
flex-shrink: 0;
}
.resourceCard h3 {
font-size: 1.25rem;
font-weight: 600;
margin: 0;
color: var(--ai-text-primary);
}
.resourceCard p {
color: var(--ai-text-secondary);
line-height: 1.6;
margin-bottom: var(--ai-spacing-md);
}
.resourceCard a {
color: var(--ai-blue);
}
.resourceLink {
display: inline-flex;
align-items: center;
gap: var(--ai-spacing-xs);
font-weight: 600;
color: var(--ai-blue);
text-decoration: none;
margin-top: var(--ai-spacing-sm);
}
.resourceLink:hover {
text-decoration: underline;
}
.gitCommands {
display: flex;
flex-direction: column;
gap: var(--ai-spacing-md);
}
.gitCommand {
display: flex;
flex-direction: column;
gap: var(--ai-spacing-xs);
}
.gitLabel {
font-size: var(--ai-text-sm);
font-weight: 500;
color: var(--ai-text-secondary);
}
.gitCommand code {
font-family: var(--ai-font-mono, monospace);
font-size: 0.85rem;
color: var(--ai-text-primary);
background: var(--ai-gray-50);
padding: var(--ai-spacing-sm) var(--ai-spacing-md);
border-radius: var(--ai-radius-sm);
word-break: break-all;
}
/* Ready to Start CTA */
.readyToStart {
padding-bottom: var(--section-spacing-sm);
margin-top: var(--section-spacing-sm);
}
.readyToStart :global(.container) {
background: url('/img/features/more-learn-planet.png') var(--blue) right -10px no-repeat;
background-size: 370px;
align-items: center;
border-radius: 1rem;
min-height: 200px;
}
.readyToStartMain {
padding: var(--section-spacing-md) 0 var(--section-spacing-md) var(--section-spacing-md);
flex-basis: 50%;
flex-grow: 1;
color: var(--ai-text-inverse);
}
.readyToStartTitle {
position: relative;
font-weight: 700;
color: var(--ai-text-inverse);
}
.readyToStartAction {
margin-left: auto;
padding-right: var(--section-spacing-md);
width: auto;
flex-shrink: 0;
}
.readyToStartAction :global(.button) {
color: var(--blue);
background: var(--ai-bg-card);
padding-left: var(--ai-spacing-2xl);
padding-right: var(--ai-spacing-2xl);
font-size: 18px;
height: 56px;
}
.readyToStartAction :global(.button):hover {
background: var(--ai-bg-card);
color: var(--blue2);
}
.nomargin {
margin: 0;
}
/* Responsive */
@media (max-width: 992px) {
.resourcesGrid {
grid-template-columns: 1fr;
gap: var(--ai-spacing-xl);
}
.verifyGrid {
grid-template-columns: 1fr;
gap: var(--ai-spacing-xl);
}
.extensionGrid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 767px) {
.sectionTitle {
font-size: 1.5rem;
}
.extensionsTitle {
font-size: 1.25rem;
}
.extensionGrid {
grid-template-columns: 1fr;
}
/* Ready to Start responsive */
.readyToStart :global(.container) {
flex-direction: column;
text-align: center;
padding: var(--section-spacing-sm);
border-radius: 0;
background-position: center bottom;
background-size: 200px;
}
.readyToStartMain {
padding: 0;
}
.readyToStartAction {
margin-left: 0;
padding-right: 0;
padding-top: var(--ai-spacing-2xl);
}
.readyToStartAction :global(.button) {
font-size: 16px;
width: 100%;
}
}