<div class="Luigi">
<div class="Luigi__ear Luigi__ear--left"></div>
<div class="Luigi__ear Luigi__ear--right"></div>
<div class="Luigi__hat">
<div class="Luigi__logo">
<div class="Luigi__stem"></div>
<div class="Luigi__branch"></div>
</div>
<div class="Luigi__cap "></div>
</div>
<div class="Luigi__face">
<div class="Luigi__eyebrow"></div>
<div class="Luigi__eyebrow Luigi__eyebrow--right"></div>
<div class="Luigi__eye">
<div class="Luigi__iris">
<div class="Luigi__pupil"></div>
</div>
</div>
<div class="Luigi__eye Luigi__eye--right">
<div class="Luigi__iris Luigi__iris--right ">
<div class="Luigi__pupil Luigi__pupil--right"></div>
</div>
</div>
<div class="Luigi__nose"></div>
<div class="Luigi__mustache"></div>
</div>
</div>
body {
height: 100vh;
width: 100vw;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
background: #3a5988;
}
.Luigi {
height: 400px;
width: 400px;
position: relative;
}
.Luigi__hat {
margin-left: calc(50% - 125px);
height: 250px;
width: 250px;
background: #1ca42f;
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
position: relative;
}
.Luigi__logo {
background: white;
width: 80px;
height: 80px;
border-radius: 100%;
left: calc(50% - 40px);
top: 25px;
position: absolute;
}
.Luigi__stem {
position: absolute;
top: 8px;
left: calc(50% - 15px);
height: 45px;
width: 16px;
background: #1ca42f;
border-radius: 1px;
}
.Luigi__stem::before {
content: '';
position: absolute;
height: 2px;
width: 12px;
top: -1px;
background: white;
transform: rotate(-5deg);
}
.Luigi__stem::after {
content: '';
position: absolute;
height: 40px;
width: 5px;
top: 0px;
left: 13.33px;
background: white;
transform: rotate(3deg);
}
.Luigi__branch {
position: absolute;
top: 45px;
left: 25px;
height: 11px;
width: 33px;
background: #1ca42f;
border-radius: 1px;
}
.Luigi__branch::before {
content: '';
position: absolute;
height: 3px;
width: 20px;
top: -2px;
left: 12.499px;
background: white;
transform: rotate(-3deg);
}
.Luigi__cap {
position: absolute;
left: calc(50% - 85px);
top: 105px;
width: 170px;
height: 140px;
border-radius: 50%;
background: #025a10;
box-shadow: 0 -.8em 0 0 #32b744;
}
.Luigi__ear {
background: #f8ccb3;
width: 50px;
height:75px;
left: 80px;
top: 200px;
position: absolute;
border-radius: 50% 40% 40% 90%;
overflow: hidden;
}
.Luigi__ear--right {
left: 270px;
border-radius: 40% 50% 90% 40%;
}
.Luigi__ear--left::after {
content: '';
height: 60px;
width: 40px;
background: #e5b69b;
position: absolute;
right: -5px;
top: 5px;
border-radius: 50% 40% 40% 90%;
}
.Luigi__ear--right::after {
content: '';
height: 60px;
width: 40px;
background: #e5b69b;
position: absolute;
left: -5px;
top: 5px;
border-radius: 40% 50% 90% 40%;
}
.Luigi__face {
background-image: linear-gradient(to bottom, #f8ccb3 50%, #ecb494 50%);
height: 250px;
width: 175px;
position: absolute;
top: 115px;
left: calc(50% - 87.5px);
border-radius: 100%;
z-index: 1;
}
.Luigi__eyebrow {
width: 40px;
height: 43px;
border-radius: 100%;
background: #2e0400;
position: absolute;
left: 37px;
top: 10px;
transform: rotate(10deg);
}
.Luigi__eyebrow::after {
content: '';
background: #f8ccb3;
position: absolute;
bottom: -10px;
left: 3px;
height: 40px;
width: 45px;
border-radius: 100%;
}
.Luigi__eyebrow--right {
left: 97px;
transform: rotate(-10deg);
}
.Luigi__eyebrow--right::after {
right: 4px;
left: auto;
}
.Luigi__eye {
background: white;
height: 70px;
width: 45px;
border-radius: 100%;
position: absolute;
left: 35px;
top: 40px;
overflow:hidden;
z-index: 2;
}
.Luigi__eye--right {
left: 95px;
}
.Luigi__iris {
width: 35px;
height: 55px;
background: #2ba7d1;
border-radius: 100%;
right: -2px;
bottom: 7px;
position: absolute;
}
.Luigi__iris--right {
left: -2px;
right: auto;
}
.Luigi__pupil {
width: 23px;
height: 40px;
background: black;
border-radius: 100%;
right: 4px;
bottom: 7px;
position: absolute;
}
.Luigi__pupil::before {
content: '';
position: absolute;
background: white;
height: 10px;
width: 10px;
border-radius: 100%;
left: 5px;
top: 5px;
}
.Luigi__pupil--right {
right: auto;
left: 4px;
}
.Luigi__nose {
width: 84px;
height: 84px;
border-radius: 50% 50% 60% 60%;
background: #f6b996;
position: absolute;
left: calc(50% - 42px);
top: 86px;
z-index: 3;
}
.Luigi__mustache {
position: absolute;
top: 73px;
left: calc(50% - 55px);
height: 96px;
width: 110px;
border-radius: 50%;
background: #2e0400;
box-shadow: -2.25em 1em 0 #2e0400,
2.25em 1em 0 #2e0400;
}
.Luigi__mustache::after{
content: '';
position: absolute;
top: 0em;
left: calc(50% - 85px);
height: 60px;
width: 170px;
border-radius: 50%;
background: #f8ccb3;
}
// Inspired by https://dribbble.com/shots/1135988-Flat-Luigi-Wallpaper
// Though my version needs more work
// Article https://codinhood.com/post/luigi-css
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.