julienmonnerie/public/assets/css/main.scss
2022-07-18 19:15:03 +02:00

210 lines
4 KiB
SCSS

@use 'utils/minireset';
@use 'partials/fonts';
@use 'partials/variables' as *;
@use 'partials/animations';
// ----------------------------------------------------------------------------
// GENERALITIES
// ----------------------------------------------------------------------------
// Fonts and colors
body {
font-family: var(--text-font-family);
font-size: var(--text-font-size);
line-height: normal;
color: var(--black);
background-color: var(--white);
}
h1 {
font-family: var(--title-font-family);
font-size: var(--h1-font-size);
}
h2 {
font-family: var(--text-font-family);
font-size: var(--h2-font-size);
margin: 0 0 4rem 0;
}
h3 {
font-family: var(--text-font-family);
font-size: var(--h3-font-size);
margin: 2rem 0 1rem 0;
}
p {
text-align: justify;
}
strong {
font-weight: var(--bold-font-weight);
}
em {
font-style: italic;
}
// Link style
a {
color: var(--black);
text-decoration: none;
-webkit-transition: text-decoration 200ms ease-in-out;
-o-transition: text-decoration 200ms ease-in-out;
transition: text-decoration 200ms ease-in-out;
&:hover,
&:focus,
&:active {
text-decoration: underline;
}
&:focus-visible {
outline: 1px dashed var(--black);
outline-offset: 2px;
-webkit-animation: expand-outline 200ms ease-out;
animation: expand-outline 200ms ease-in-out;
}
}
// General layout
body {
min-height: 100vh;
overflow: hidden;
}
// ----------------------------------------------------------------------------
// HEADER
// ----------------------------------------------------------------------------
// Header bar
.header-bar {
position: fixed;
top: 0;
bottom: 0;
left: 0;
max-width: calc(15vw + var(--header-bar-horizontal-padding) * 2);
padding: var(--header-bar-vertical-padding) var(--header-bar-horizontal-padding);
overflow-y: auto;
background-color: transparent;
-webkit-transition:
max-width 400ms ease-in-out,
background-color 400ms ease-in-out;
-o-transition:
max-width 400ms ease-in-out,
background-color 400ms ease-in-out;
transition:
max-width 400ms ease-in-out,
background-color 400ms ease-in-out;
.header-bar__nav {
.header-bar__nav-item {
+ .header-bar__nav-item {
margin-top: 0.5rem;
}
}
a {
display: inline-block;
width: 15vw;
overflow-x: hidden;
color: var(--transparent-black);
white-space: nowrap;
text-overflow: ellipsis;
-webkit-transition:
width 400ms ease-in-out,
color 400ms ease-in-out;
-o-transition:
width 400ms ease-in-out,
color 400ms ease-in-out;
transition:
width 400ms ease-in-out,
color 400ms ease-in-out;
}
}
.header-bar__social {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-top: 2rem;
a {
width: var(--icon-size);
height: var(--icon-size);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
+ a {
margin: 0 0 0 1rem;
}
svg {
width: 100%;
height: 100%;
fill: var(--transparent-black);
-webkit-transition: fill 400ms ease-in-out;
-o-transition: fill 400ms ease-in-out;
transition: fill 400ms ease-in-out;
}
}
}
&:hover {
background-color: var(--transparent-white);
max-width: 100vw;
.header-bar__nav {
a {
/*width: 100%;*/
color: var(--black);
}
}
.header-bar__social {
svg {
fill: var(--black);
}
}
}
}
// ----------------------------------------------------------------------------
// MAIN
// ----------------------------------------------------------------------------
// Home section
.home-section {
width: 100vw;
height: 100vh;
}
.home-section__iframe {
width: 100%;
height: 100%;
}
// ----------------------------------------------------------------------------
// FOOTER
// ----------------------------------------------------------------------------
// Footer bar