plasttic
Version:
Plasttic Web Workflow: A methodology based Front-End development environment.
268 lines (226 loc) • 4.95 kB
CSS
/* --- ORGANISMS --- */
@import "60_organisms.css";
/**
* 70_templates.css
*
* INDEX
* -----
*
* Temporary
* Homepage
*
*/
/* ==========================================================================
Templates
========================================================================== */
/* GLOBAL STYLES (Styling across templates)
About: Prevent defining the same styling in every template.
Can be overwritten when needed.
========================================================================== */
body {
background: var(--ptt-clr-bkg-body);
color: var(--ptt-clr-neutral-800);
font-family: var(--ptt-fnt-family-body);
font-size: var(--ptt-fnt-size-body);
font-weight: var(--ptt-fnt-weight-body);
}
/**
* WRAPPER
* Main layout definition
*/
.ptt-wrapper {
margin-block: max(2vw, 1rem);
}
/**
* CONTAINER
* Sections layout settings
* global, per area or section
*/
.ptt-container {
width: min(100% - 2rem, 75rem);
margin-inline: auto;
}
/* Temporary (Splash Page, Error Page, Under Construction, ...)
========================================================================== */
/* see GLOBAL STYLES for global defaults */
body.ptt-tpl__temporary {
display: grid;
text-align: center;
@media (--ptt-bkp-md) {
text-align: left;
}
/**
* WRAPPER
* Main layout definition
*/
.ptt-wrapper {
display: grid;
grid-template-areas:
"nav"
"main"
"footer";
gap: var(--ptt-gap-700);
}
/**
* CONTAINER
* Sections layout settings
* global, per area or section
*/
/* .ptt-container {} */
/**
* MAIN NAV
* Area
*/
.ptt-nav {
.ptt-container {
display: flex;
justify-content: left;
}
.ptt-nav__logo {
@mixin main-nav-logo-dyn;
}
}
/**
* MESSAGE
* Section
*/
.ptt-message .ptt-container {
display: grid;
grid-template-areas:
"image"
"title"
"message"
"cta";
gap: var(--ptt-gap-700);
margin-block: min(2vw, 1em);
@media (--ptt-bkp-md) {
grid-template-areas:
"title image"
"message image"
"cta image";
grid-template-columns: 1fr 50vh;
grid-template-rows: auto auto 1fr;
margin-block: 5vh;
}
}
.ptt-message {
.ptt-message__image {
grid-area: image;
justify-self: center;
width: 50%;
@media (--ptt-bkp-md) {
justify-self: right;
width: 50vh;
}
& img {
width: 100%;
aspect-ratio: 1/1;
object-fit: contain;
}
}
.ptt-message__header {
grid-area: title;
justify-self: center;
margin-bottom: 0;
color: var(--ptt-clr-neutral-700);
font-size: 4rem;
line-height: var(--ptt-txt-line-height-100);
overflow-wrap: normal;
@media (--ptt-bkp-md) {
font-size: clamp(4rem, 8vw + 2rem, 10rem);
}
}
.ptt-message__text {
grid-area: message;
justify-self: center;
max-width: 45ch;
@media (--ptt-bkp-md) {
justify-self: left;
margin-left: 1.5rem;
font-size: var(--ptt-fnt-size-500);
}
ul {
margin-left: 2rem;
padding-top: var(--ptt-padding-700);
text-align: left;
list-style: disc;
@media (--ptt-bkp-md) {
margin-left: 2.5rem;
}
}
li {
padding-top: var(--ptt-padding-200);
}
}
.ptt-message__cta {
grid-area: cta;
justify-self: center;
margin-top: 1.5rem;
@media (--ptt-bkp-md) {
justify-self: left;
margin-left: 1rem;
}
a {
@mixin link-button-xl;
}
}
}
/**
* FOOTER
* Area
*/
.ptt-footer {
padding-bottom: var(--ptt-padding-900);
font-size: var(--ptt-fnt-size-footer);
.ptt-footer__credit {
display: flex;
justify-content: center;
margin-top: var(--ptt-margin-400);
}
.ptt-footer__social {
display: flex;
flex-direction: row;
gap: 1em;
justify-content: center;
margin-top: var(--ptt-margin-400);
& img {
display: block;
height: 20px;
aspect-ratio: 1/1;
@media (--ptt-bkp-md) {
height: 24px;
}
}
}
}
}
/* Homepage (Single Page Template)
========================================================================== */
/* see GLOBAL STYLES for global defaults */
body.ptt-tpl__homepage {
/**
* WRAPPER
* Main layout definition
*/
.ptt-wrapper {
display: grid;
grid-template-areas:
"nav"
"header"
"main"
"footer";
}
/**
* CONTAINER
* Sections layout settings
* global, per area or section
*/
/* .ptt-container {} */
/**
* FOOTER
* Area
*/
.ptt-footer {
font-size: var(--ptt-fnt-size-footer);
}
}