Maxime Delporte 51ea013bc3
All checks were successful
Deploying Website / build (push) Successful in 16s
first commit
2025-04-04 18:47:44 -03:00

136 lines
2.7 KiB
SCSS

.contact-cover {
width: 100%;
padding-bottom: 300/1440 * 100%;
img {
position: fixed;
object-fit: cover;
width: 100vw;
object-position: 50% 0%;
}
}
.contact {
background: var(--background-color);
z-index: 1;
@include container;
&>section {
display: grid;
grid-template-columns: 1fr;
@include media(">=md") {
grid-template-columns: 4fr 6fr;
}
grid-column-gap: 20px;
grid-row-gap: 20px;
}
aside {
svg {
width: 32px;
height: 32px;
vertical-align: middle;
fill: var(--background-color);
background: var(--theme-color);
border-radius: 4px;
margin: 4px 10px 4px 0;
padding: 3px;
}
ul {
padding: 0;
}
li {
list-style: none;
text-align: left;
a {
color: var(--text-color);
&:hover {
color: var(--theme-color);
}
}
}
.social {
a {
font-size: 0;
}
li {
display: inline-block;
}
svg {
border-radius: 50%;
padding: 7px;
width: 40px;
height: 40px;
}
}
}
form {
padding: 20px 0;
input, textarea {
width: 100%;
margin: 10px 0;
}
}
}
/////////////////////////////////////////
// Animations
/////////////////////////////////////////
@include media(">md") {
.contact-cover img {
animation: zoomIn 0.8s ease-in;
will-change: opacity, transform;
}
.contact {
h1 {
animation: fade-up-item-1 2.0s ease-in-out;
}
.subtitle {
animation: fade-up-item-2 2.0s ease-in-out;
}
form {
transform-origin: center left;
animation: bounceInRightNoDelay 1.1s ease-in-out;
contain: content;
}
.email {
position: absolute;
opacity: 0;
top: 0;
z-index: -1;
}
aside {
transform-origin: center right;
animation: bounceInLeftNoDelay 1.1s ease-in-out;
contain: content;
}
}
}
.contact-response {
border: 2px double var(--text-color);
background-color: $shade;
display: flex;
justify-content: center;
align-items: center;
font-size: larger;
padding: 20px;
text-align: center;
}
@media (prefers-reduced-motion) {
.contact * {
animation: none !important;
}
}