guide.deuxfleurs.fr/sass/juice.scss

326 lines
4.8 KiB
SCSS

@import "_ultility.scss";
@import "_text.scss";
@import "_markdown.scss";
body {
padding: 0;
margin: 0;
box-sizing: border-box;
background-color: var(--secondary-color);
display: flex;
flex-direction: column;
min-height: 100vh;
}
a {
text-decoration: none;
}
ul {
margin-top: 0.5rem;
}
ul > li {
padding: 0.3rem 0;
}
p > img {
width: 100%;
height: auto;
}
header {
background-color: var(--primary-color);
color: black;
padding: 20px 50px;
display: flex;
align-items: center;
justify-content: space-between;
}
header ul {
margin: 0px;
padding: 0px;
list-style: none;
}
header ul li {
display: inline;
}
.logo {
font-family: Georgia, DejaVu Serif, Norasi, serif;
font-size: 28px;
color: var(--primary-text-color);
font-weight: 500;
display: flex;
align-items: center;
margin: 0 40px;
img {
width: 60px;
margin: 0 25px;
}
}
.nav-item {
margin: 0 10px;
text-decoration: none;
font-weight: bold;
color: var(--primary-text-color);
&:hover {
color: #fff;
text-decoration: underline;
}
}
.hero {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100vh;
background-color: var(--primary-color);
overflow-x: hidden;
padding: 0 40px;
.explore-more {
position: absolute;
bottom: 20px;
cursor: pointer;
}
}
main {
display: flex;
padding: 50px 50px;
flex-grow: 1;
.toc-homepage .toc-sticky {
display: none;
}
.toc {
max-width: 260px;
min-width: 240px;
}
.toc-item {
padding: 10px 20px;
color: #424242;
}
.toc-section a {
font-weight: bold;
}
.nav-subsection {
padding-top: 10px;
}
.toc-item a, .toc-item-child a {
color: var(--secondary-text-color);
&:hover {
cursor: pointer;
text-decoration: underline;
}
}
.toc-item a.active, .toc-item-child a.active {
color: var(--toc-highlight-text-color);
}
.toc-item-child {
padding: 0 30px 5px;
color: #424242;
}
}
.toc-sticky {
border-radius: 3px;
border-top: 5px solid var(--primary-color);
background-color: white;
position: sticky;
position: -webkit-sticky;
position: -moz-sticky;
position: -ms-sticky;
position: -o-sticky;
top: 10px;
padding: 10px 0 20px;
max-height: 100vh;
overflow: auto;
}
footer {
padding: 50px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #202020;
color: #fcfcfc;
a {
color: #fcfcfc;
text-decoration: underline;
}
}
@media screen and (min-width: 1280px) {
main {
padding: 50px 100px;
}
.logo {
font-size: 32px;
}
.content {
max-width: 60%;
min-width: 800px;
overflow: hidden;
}
.text {
font-size: 18px;
}
}
@media screen and (max-width: 768px) {
header {
padding: 10px 30px;
flex-direction: column;
align-items: center;
justify-content: center;
}
header nav {
display: none;
}
.logo {
font-size: 28px;
margin: 10px;
img {
width: 45px;
margin: 0 10px 0 0;
}
}
.nav-item {
margin: 0 5px;
font-size: 1em;
}
.hero {
padding: 40px 30px;
}
main {
display: block;
padding: 0px;
}
main .content {
margin: 15px;
}
.content {
padding: 0;
display: block;
}
}
/*
Disposition spécifique du menu pour mobile; menu déroulable pour mobile
Code inspiré de: https://alvarotrigo.com/blog/hamburger-menu-css/
*/
#menu-toggle {
display: none;
}
.menu-button-container {
display: none;
}
.menu-button::before {
content: '';
transform: translate(0, -8px);
}
.menu-button::after {
content: '';
transform: translate(0, 8px);
}
#menu-toggle:checked + .menu-button-container .menu-button::before {
margin-top: 0px;
transform: rotate(45deg);
}
#menu-toggle:checked + .menu-button-container .menu-button {
background: transparent;
}
#menu-toggle:checked + .menu-button-container .menu-button::after {
margin-top: 0px;
transform: rotate(-45deg);
}
@media (max-width: 768px) {
main .toc {
margin: 0px;
width: 100%;
max-width: none;
border: 0px;
}
main .toc-sticky {
border: 0px;
padding: 10px 0px;
}
main .toc-homepage .toc-sticky {
display: block;
}
.menu-button-container {
display: block;
}
.toc-menu-title {
font-weight: 600;
margin-left: 64px;
}
.toc-section {
margin-top: 16px;
}
.menu-button {
top: 28px;
left:24px;
}
.menu-button,
.menu-button::before,
.menu-button::after {
display: block;
background-color: #777;
position: absolute;
height: 4px;
width: 30px;
transition: transform 400ms ease;
border-radius: 2px;
}
#menu-toggle ~ .toc-item {
display: none;
}
#menu-toggle:checked ~ .toc-item {
display: block;
}
}