MVC_Recettes/static/style.css
2023-01-26 18:10:51 +01:00

579 lines
14 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;500;600;700;800&display=swap');
:root {
font-family: 'Nunito', 'Arial';
/* vars */
/*--principal-pastel: hsl(341, 100%, 95%);*/
/*--principal-brightest: hsl(341, 85%, 89%);*/
/*--principal-light: hsl(342, 95%, 79%);*/
--principal-neutral: hsl(341, 94%, 65%);
/*--principal-dark: hsl(342, 72%, 49%);*/
/*--principal-darker: hsl(342, 62%, 37%);*/
/*--principal-darkest: hsl(342, 78%, 19%);*/
--secondary-pastel: hsl(30, 33%, 98%);
/*--secondary-brightest: hsl(29, 56%, 91%);*/
/*--secondary-light: hsl(30, 59%, 83%);*/
/*--secondary-neutral: hsl(31, 54%, 69%);*/
/*--secondary-dark: hsl(30, 66%, 63%);*/
/*--secondary-darker: hsl(30, 46%, 46%);*/
/*--secondary-darkest: hsl(30, 64%, 29%);*/
--grey-light: hsl(20, 5%, 88%);
--grey-dark: hsl(340, 2%, 63%);
--size-1: 1px;
--size-xs: 3px;
--size-s: 5px;
--size-m: 10px;
--size-l: 16px;
--size-xl: 26px;
--size-max: 52px;
--border-radius: var(--size-l);
--border: solid var(--size-xs); /* don't forget to choose a color after */
--shadow: 2px 2px 16px -2px rgba(0,0,0,0.2), 1px 1px 4px 1px rgba(0,0,0,0.2)
}
* {
margin: 0;
padding: 0;
}
body {
background: var(--secondary-pastel);
display: flex;
flex-direction: column;
overflow-x: hidden;
}
body > header {
height: var(--size-max);
box-shadow: var(--shadow);
padding: var(--size-m);
font-size: var(--size-xl);
background: var(--secondary-pastel);
position: sticky;
top: 0;
}
body > main {
min-height: calc(100vh - 200px - var(--size-max) - 2*var(--size-m));
}
body > header > nav {
height: 100%;
}
body > header > nav > ul {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: var(--size-m);
height: 100%;
}
body > header > nav > ul > li::marker {
content: none;
}
body > header > nav > ul > li {
background: var(--principal-neutral);
border-radius: var(--border-radius);
height: 100%;
padding-left: var(--size-l);
padding-right: var(--size-l);
}
body > header > nav > ul > li:first-child {
background: none;
border-radius: none;
flex: 1;
}
body > header > nav > ul > li {
display: flex;
align-items: center; /* aligns the contents of the <a> element vertically */
height: 100%; /* sets the height of the <a> element to 100% of the parent <li> element */
}
body > header > nav > ul > li > a {
color: var(--secondary-pastel);
font-weight: 600;
text-decoration: none;
}
body > header > nav > ul > li:first-child > a > img {
height: var(--size-max);
}
body > header > nav > ul > li:last-child {
border: var(--border) var(--principal-neutral);
background: none;
}
body > header > nav > ul > li:last-child > a > img {
height: calc(var(--size-max) - var(--size-xl));
}
main.hasAside {
display: flex;
flex-direction: row;
justify-content: center;
gap: var(--size-max);
margin-top: var(--size-xl);
margin-left: var(--size-xl);
margin-right: var(--size-xl);
}
aside {
background: var(--secondary-pastel);
border-radius: var(--border-radius);
padding: var(--size-xl);
padding-left: calc(var(--size-xl) * 1.5);
box-shadow: var(--shadow);
height: fit-content;
min-width: fit-content;
position: sticky;
top: calc(var(--size-xl) * 4);
}
aside ul {
display: flex;
flex-direction: column;
gap: var(--size-s);
}
aside li.hasH3::marker{
content: none;
}
aside li h3 {
font-size: var(--size-xl);
font-weight: 700;
color: var(--principal-neutral);
margin-bottom: var(--size-m);
}
aside a {
color: black;
text-decoration: none;
}
aside a:hover {
text-decoration: underline;
}
body > main > article > section > h1 {
font-size: var(--size-xl);
border-bottom: var(--border) var(--principal-neutral);
margin-bottom: var(--size-xl);
}
body > main > article > section > ul {
display: flex;
flex-direction: row;
gap: var(--size-xl);
flex-wrap: wrap;
}
body > main > article > section > ul > li {
width: fit-content;
max-width: 250px;
}
body > main > article > section > ul > li::marker {
content: none;
}
.recipe {
background: var(--secondary-pastel);
border-radius: var(--border-radius);
box-shadow: var(--shadow);
display: flex;
flex-direction: column;
color: black;
text-decoration: none;
overflow: hidden;
}
.recipe > section {
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: space-between;
gap: var(--size-l);
padding: var(--size-m);
}
main.registerPage {
padding: var(--size-max);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: var(--size-xl);
}
p.inMainRegisterPage {
display: flex;
justify-content: center;
font-size: var(--size-xl);
}
main.registerPage > hr {
height: 250px;
border: none;
border-right: var(--border) var(--principal-neutral);
border-radius: var(--border-radius);
}
form.registerForm {
display: flex;
flex-direction: column;
gap: var(--size-xl);
min-width: 300px;
align-items: center;
}
form.registerForm > h2 {
font-size: var(--size-xl);
}
form.registerForm > label {
display: none;
}
form.registerForm > input {
font-family: 'Nunito', 'Arial';
}
form.registerForm > :is(input[type=text], input[type=email], input[type=password]) {
height: var(--size-xl);
border-radius: var(--border-radius);
padding: var(--size-l);
border: none;
background: var(--grey-light);
font-size: var(--size-xl);
}
form.registerForm > :is(input[type=text], input[type=email], input[type=password])::placeholder {
color: var(--grey-dark);
}
form.registerForm > input[type=submit] {
background: var(--principal-neutral);
border: none;
border-radius: var(--border-radius);
color: var(--secondary-pastel);
padding: var(--size-m);
font-size: var(--size-xl);
width: calc(100% - var(--size-max));
box-shadow: var(--shadow);
}
main.userView {
display: flex;
flex-direction: column;
max-width: 600px;
margin-right: auto;
margin-left: auto;
gap: var(--size-l);
}
main.userView > p {
font-size: var(--size-xl);
font-weight: 700;
}
main.userView > a {
background: var(--principal-neutral);
border: none;
border-radius: var(--border-radius);
color: var(--secondary-pastel);
padding: var(--size-m);
font-size: var(--size-l);
width: calc(100% - var(--size-max));
box-shadow: var(--shadow);
text-decoration: none;
width: fit-content;
}
main.userView > form {
display: flex;
flex-direction: column;
}
main.userView > form > :not(label) {
margin-bottom: var(--size-l);
}
main.userView > form > label {
font-size: var(--size-l);
}
:is(main.userView > form,
main.search > article > form)
> :is(input[type=text],
input[type=email]) {
height: var(--size-l);
border-radius: var(--border-radius);
padding: var(--size-l);
border: none;
background: var(--grey-light);
font-size: var(--size-l);
}
:is(main.userView > form,
main.search > article > form,
main.recipeView > article > section > form)
> input[type=submit] {
background: var(--principal-neutral);
border: none;
border-radius: var(--border-radius);
color: var(--secondary-pastel);
padding: var(--size-m);
font-size: var(--size-l);
width: min-content;
box-shadow: var(--shadow);
}
main.search > article {
display: flex;
flex-direction: column;
gap: var(--size-max);
max-width: 700px;
}
main.search > article > form {
display: flex;
flex-direction: row;
gap: var(--size-l);
}
main.search > article > form > label {
display: none;
}
main.search > article > section {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: var(--size-xl);
}
main.recipeView > article {
max-width: 600px;
display: flex;
flex-direction: column;
gap: var(--size-xl);
}
main.recipeView > article > img {
min-width: 100%;
max-width: 100%;
max-height: 150px;
object-fit: none;
object-position: center;
border-radius: var(--border-radius);
box-shadow: var(--shadow);
}
main.recipeView > article > section.infosRecette > header {
display: flex;
flex-direction: row;
border: none;
border-bottom: var(--border) var(--principal-neutral);
justify-content: space-between;
margin-bottom: var(--size-l);
align-items: baseline;
}
main.recipeView > article > section.infosRecette > header > h1 {
font-size: var(--size-max);
}
main.recipeView > article > section.infosRecette > header > p {
font-size: var(--size-l);
}
main.recipeView > article > section > h2 {
font-size: var(--size-xl);
border-bottom: var(--border) var(--principal-neutral);
margin-bottom: var(--size-l);
}
main.recipeView > article > section > :is(ul, ol) {
display: flex;
flex-direction: column;
gap: var(--size-s);
}
main.recipeView > article > section > :is(ul, ol) > li {
margin-left: var(--size-l);
}
main.recipeView > article > section > ul > li::marker {
content: "- ";
}
main.recipeView > article > p {
color: var(--grey-dark);
}
main.recipeView > article > section.buttonsEditRecipe {
display: flex;
flex-direction: row;
gap: var(--size-xl);
}
main.recipeView > article > section.buttonsEditRecipe > a {
display: flex;
align-items: center;
font-size: var(--size-l);
color: var(--secondary-pastel);
background: var(--principal-neutral);
height: calc(1.5 * var(--size-xl));
text-decoration: none;
border-radius: var(--border-radius);
padding-left: var(--size-m);
padding-right: var(--size-m);
box-shadow: var(--shadow);
}
main.recipeView > article > section > form {
display: flex;
flex-direction: column;
gap: var(--size-m);
}
main.recipeView > article > section > form > label {
display: none;
}
main.recipeView > article > section > form > label:first-child {
display: block;
font-size: var(--size-xl);
}
main.recipeView > article > section > form > textarea {
font-family: 'Nunito', 'Arial';
background: var(--grey-light);
border: none;
border-radius: var(--border-radius);
padding: var(--size-m);
font-size: var(--size-l);
}
main.recipeView > article > section > form > textarea:focus-visible {
outline: none;
}
main.recipeView > article > section > form > section.appreciationNoteValue {
display: flex;
flex-direction: row;
gap: var(--size-s);
}
main.recipeView > article > section > form > input[type=submit] {
}
main.editRecipe {
min-width: 300px;
width: 600px;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
main.editRecipe > form {
display: flex;
flex-direction: column;
gap: var(--size-l);
margin-top: var(--size-xl);
margin-bottom: var(--size-xl);
}
main.editRecipe > form > label {
display: none;
}
main.editRecipe > form > label:first-child {
display: block;
}
main.editRecipe > form > :is(input, textarea) {
font-family: 'Nunito', 'Arial';
}
main.editRecipe > form > input#recipeName {
font-weight: 600;
font-size: var(--size-xl);
background: var(--secondary-pastel);
border: none;
border-bottom: var(--border) var(--principal-neutral);
padding-bottom: var(--size-m);
padding-left: var(--size-m);
}
main.editRecipe > form > input#recipeName:focus-visible {
outline: none;
}
main.editRecipe > form > textarea#recipeDescription {
font-size: var(--size-l);
border: none;
background: var(--secondary-pastel);
}
main.editRecipe > form > textarea#recipeDescription:focus-visible {
outline: none;
}
main.editRecipe > form > section > h1 {
color: var(--principal-neutral);
font-size: var(--size-xl);
padding-bottom: var(--size-m);
}
main.editRecipe > form > section > :not(label.labelParticularite, h1) {
margin-left: var(--size-l);
}
main.editRecipe > form > section > button {
margin-top: var(--size-m);
width: var(--size-xl);
height: var(--size-xl);
background: var(--principal-neutral);
border-radius: var(--size-s);
box-shadow: var(--shadow);
border: none;
color: var(--secondary-pastel);
}
main.editRecipe > form > section > button:disabled {
background: var(--grey-light);
color: var(--grey-dark);
}
main.editRecipe > form > input[type=submit] {
color: var(--secondary-pastel);
font-size: var(--size-xl);
background: var(--principal-neutral);
height: var(--size-max);
border-radius: var(--border-radius);
border: none;
padding-left: var(--size-max);
padding-right: var(--size-max);
margin-top: var(--size-xl);
width: fit-content;
}
footer {
display: flex;
flex-direction: column;
gap: var(--size-xl);
justify-content: center;
align-items: center;
height: 200px;
width: calc(100vw - 2* var(--size-max));
background: var(--grey-dark);
color: var(--secondary-pastel);
font-size: var(--size-xl);
padding: var(--size-max);
padding-top: var(--size-xl);
padding-bottom: var(--size-xl);
text-align: center;
}
footer > h1 {
font-size: var(--size-xl);
}
footer > p {
font-size: var(--size-l);
}
main.errorPage {
align-content: center;
align-items: center;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
}
main.errorPage > h1 {
color: var(--principal-neutral);
font-size: var(--size-max);
font-weight: 800;
}
main.errorPage > h2 {
font-size: var(--size-xl);
}
main.errorPage > a {
color: black;
font-size: var(--size-l);
text-decoration: none;
margin-top: var(--size-m);
}