live-site/style.css
2024-02-08 13:11:49 +01:00

438 lines
No EOL
8.1 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins', sans-serif;
}
/* ------------------- */
/* Custom properties */
/* ------------------- */
:root {
/* colors */
--clr-dark: 230 35% 7%;
--clr-light: 231 77% 90%;
--clr-white: 0 0% 100%;
/* font-sizes */
--fs-900: clamp(5rem, 8vw + 1rem, 9.375rem);
--fs-800: 3.5rem;
--fs-700: 1.5rem;
--fs-600: 1rem;
--fs-500: 1rem;
--fs-400: 0.9375rem;
--fs-300: 1rem;
--fs-200: 0.875rem;
/* font-families */
--ff-serif: "Bellefair", serif;
--ff-sans-cond: "Barlow Condensed", sans-serif;
--ff-sans-normal: "Barlow", sans-serif;
}
@media (min-width: 35em) {
:root {
--fs-800: 5rem;
--fs-700: 2.5rem;
--fs-600: 1.5rem;
--fs-500: 1.25rem;
--fs-400: 1rem;
}
}
@media (min-width: 45em) {
:root {
/* font-sizes */
--fs-800: 6.25rem;
--fs-700: 3.5rem;
--fs-600: 2rem;
--fs-500: 1.75rem;
--fs-400: 1.125rem;
}
}
/* ------------------- */
/* Reset */
/* ------------------- */
/* https://piccalil.li/blog/a-modern-css-reset/ */
/* Box sizing */
*,
*::before,
*::after {
box-sizing: border-box;
}
/* Reset margins */
body,
h1,
h2,
h3,
h4,
h5,
p,
figure,
picture {
margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
font-weight: 400;
}
/* set up the body */
body {
color: hsl( var(--clr-white) );
font-family: var(--ff-sans-normal);
font-size: var(--fs-400);
background-color: hsl( var(--clr-dark) );
display: flex;
justify-content: center;
align-items: center;
line-height: 1.5;
min-height: 100vh;
overflow-x: hidden;
}
.background {
position: absolute;
top: 0;
left: 0;
width: 100%;
min-height: 100vh;
background-image: url('Assets/background.jpg');
background-repeat: no repeat;
background-position: bottom center;
background-size: cover;
z-index: -1;
filter:blur(5px) saturate(100%) brightness(75%);
}
/* primary-header */
.primary-header {
display: flex;
padding: 20px 100px;
position: fixed;
top: 0;
height: auto;
width: 100%;
align-items: center;
justify-content: space-between;
z-index: 99;
}
.logo {
width: auto;
height: 90px;
margin: 1.5rem clamp(1.5rem, 5vw, 3.5rem);
user-select: none;
}
.primary-navigation {
--gap: clamp(1.5rem, 5vw, 3.5rem);
--underline-gap: 2rem;
list-style: none;
padding: 0;
margin: 0;
}
.primary-navigation a {
text-decoration: none;
}
.primary-navigation a > span {
font-weight: 700;
margin-right: .5em;
}
.mobile-nav-toggle {
display: none;
}
@media (max-width: 35rem) {
.primary-navigation {
--underline-gap: .5rem;
position: fixed;
z-index: 1000;
inset: 0 0 0 30%;
list-style: none;
padding: min(20rem, 15vh) 2rem;
margin: 0;
flex-direction: column;
transform: translateX(100%);
transition: transform 500ms ease-in-out;
}
.primary-navigation[data-visible="true"] {
transform: translateX(0);
}
.primary-navigation.underline-indicators > .active {
border: 0;
}
.mobile-nav-toggle {
display: block;
position: absolute;
z-index: 2000;
right: 1rem;
top: 2rem;
background: transparent;
background-image: url(icon-hamburger.svg);
background-repeat: no-repeat;
background-position: center;
width: 1.5rem;
aspect-ratio: 1;
border: 0;
}
.mobile-nav-toggle[aria-expanded="true"] {
background-image: url(icon-close.svg);
}
.mobile-nav-toggle:focus-visible {
outline: 5px solid white;
outline-offset: 5px;
}
}
@media (min-width: 35em) {
.primary-navigation {
padding-inline: clamp(3rem, 7vw, 7rem);
}
}
@media (min-width: 35em) and (max-width: 44.999em) {
.primary-navigation a > span {
display: none;
}
}
@media (min-width: 45em) {
.primary-header::after {
content: '';
display: block;
position: relative;
height: 1px;
width: 100%;
margin-right: -2.5rem;
background: hsl( var(--clr-white) / .25);
order: 1;
}
nav {
order: 2;
}
.primary-navigation {
margin-block: 2rem;
}
}
.primary-navigation a {
position: relative;
align-self: flex-end;
align-items: center;
font-size: 1.1em;
color: #fff;
text-decoration: none;
font-weight: 500;
margin-left: 40px;
margin: 0.5rem;
margin-inline-end: 0.5rem;
}
.primary-navigation a::after {
content: '';
position: absolute;
left: 0;
bottom: -6px;
width: 100%;
height: 3px;
background: #fff;
border-radius: 5px;
transform-origin: right;
transform: scaleX(0);
transition: transform .5s;
}
.primary-navigation a:hover::after {
transform-origin: right;
transform: scaleX(1);
}
.content {
display: flex;
justify-content: center;
text-align: center;
width: 700px;
height: 50vh;
margin: 0 auto;
}
.content p {
font-size: 25px;
color: #000000;
height: auto;
}
footer {
position: fixed;
display: flex;
bottom: 0;
align-items: center;
justify-content: center;
z-index: 99;
min-height: 10vh;
overflow-x: hidden;
}
.social-buttons {
display: flex;
align-self: center;
position: relative;
align-items: center;
bottom: 0;
margin: 0 auto;
}
.social-buttons a {
position: relative;
display: inline-block;
width: 45px;
height: 45px;
background: transparent;
box-shadow: 0 4px 4px rgba(0, 0, 0, .3);
margin: 0 8px;
z-index: 1;
text-align: center;
line-height: 45px;
transition: .3s;
}
.social-buttons a:hover{
background: rgb(63, 9, 126);
transform: rotate(135deg);
box-shadow: 0 0 5px rgb(63, 9, 126), 0 0 10px rgb(63, 9, 126);
}
.social-buttons a::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
background: #929498;
z-index: -1;
}
.social-buttons a i {
font-size: 18px;
color: #000;
transition: .3s;
}
.social-buttons a i:hover {
transform: rotate(225deg);
color: rgb(63, 9, 126);
}
/* ------------------- */
/* Utility classes */
/* ------------------- */
/* general */
.flex {
display: flex;
gap: var(--gap, .5rem)
}
.grid {
display: grid;
gap: var(--gap, 1rem);
}
.d-block {
display: block;
}
.flow > *:where(:not(:first-child)) {
margin-top: var(--flow-space, 1rem);
}
.flow--space-small {
--flow-space: .75rem;
}
.container {
padding-inline: 2em;
margin-inline: auto;
max-width: 80rem;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap; /* added line */
border: 0;
}
.skip-to-content {
position: absolute;
z-index: 9999;
background: hsl( var(--clr-white) );
color: hsl( var(--clr-dark) );
padding: .5em 1em;
margin-inline: auto;
transform: translateY(-100%);
transition: transform 250ms ease-in;
}
.skip-to-content:focus {
transform: translateY(0);
}
.grid-container {
text-align: center;
display: grid;
place-items: center;
padding-inline: 1rem;
padding-bottom: 4rem;
}
.grid-container p:not([class]) {
max-width: 50ch;
}
img,
picture {
max-width: 100%;
display: block;
}