summaryrefslogtreecommitdiffstats
path: root/src/components/molecules/layout/flipping-logo.module.scss
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-04-04 15:22:35 +0200
committerArmand Philippot <git@armandphilippot.com>2022-04-04 15:22:35 +0200
commit1fe43a98098eeef254a26b21d77e2d0ce8e55c30 (patch)
treedec374b00da9117d52aa6c0cecae59c1cd75b496 /src/components/molecules/layout/flipping-logo.module.scss
parenta46f8f9ffeb2c32ca21d58ce13bff189fec84cb0 (diff)
chore: add a FlippingLogo component
Diffstat (limited to 'src/components/molecules/layout/flipping-logo.module.scss')
-rw-r--r--src/components/molecules/layout/flipping-logo.module.scss59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/components/molecules/layout/flipping-logo.module.scss b/src/components/molecules/layout/flipping-logo.module.scss
new file mode 100644
index 0000000..89b9499
--- /dev/null
+++ b/src/components/molecules/layout/flipping-logo.module.scss
@@ -0,0 +1,59 @@
+@use "@styles/abstracts/functions" as fun;
+
+.logo {
+ width: var(--logo-size, fun.convert-px(100));
+ height: var(--logo-size, fun.convert-px(100));
+ position: relative;
+ border-radius: 50%;
+ transform-style: preserve-3d;
+ transition: all 0.6s linear 0s;
+
+ &__front,
+ &__back {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ backface-visibility: hidden;
+ background: var(--color-bg);
+ border: fun.convert-px(2) solid var(--color-primary-dark);
+ border-radius: 50%;
+ transition: all 0.6s linear 0s;
+
+ svg,
+ img {
+ // !important is required to override next/image styles...
+ padding: fun.convert-px(2) !important;
+ border-radius: 50%;
+ }
+ }
+
+ &__front {
+ box-shadow: fun.convert-px(1) fun.convert-px(2) fun.convert-px(1) 0
+ var(--color-shadow-light),
+ fun.convert-px(2) fun.convert-px(3) fun.convert-px(3) 0
+ var(--color-shadow-light);
+ }
+
+ &__back {
+ transform: rotateY(180deg);
+ }
+
+ &:hover {
+ transform: rotateY(180deg);
+ }
+
+ &:hover & {
+ &__front {
+ box-shadow: none;
+ }
+
+ &__back {
+ box-shadow: fun.convert-px(1) fun.convert-px(2) fun.convert-px(1) 0
+ var(--color-shadow-light),
+ fun.convert-px(2) fun.convert-px(3) fun.convert-px(3) 0
+ var(--color-shadow-light);
+ }
+ }
+}