Japanese Emblems CSS

by Marc Malignan

HTML

<div id="crests">
    
    <div class="crest-holder">
        <div class="crest akiyama">
            <div class="wrap">
                <div class="diamond"></div>
                <div class="diamond"></div>
                <div class="diamond"></div>
            </div>
        </div>
        <div class="crest-name">Akiyama</div>
    </div>
    
    <div class="crest-holder">
        <div class="crest amako">
            <div class="wrap">
                <div class="square"></div>
                <div class="square"></div>
                <div class="square"></div>
                <div class="square"></div>
            </div>
        </div>
        <div class="crest-name">Amako</div>
    </div>
    
    <div class="crest-holder">
        <div class="crest amakusa">
            <div class="wrap">
                <div class="triangles">
                    <div class="double-triangle"></div>
                    <div class="double-triangle"></div>
                    <div class="double-triangle"></div>
                    <div class="double-triangle"></div>
                    <div class="double-triangle"></div>
                    <div class="double-triangle"></div>
                </div>
                <div class="sphere"></div>
            </div>
        </div>
        <div class="crest-name">Amakusa</div>
    </div>
    
    <div class="crest-holder">
        <div class="crest aso">
            <div class="wrap">
                <div class="feather">
                    <div class="feather-contain">
                        <div class="feather-shade"></div>
                        <div class="feather-shade"></div>
                        <div class="feather-shade"></div>
                    </div>
                    <div class="feather-line"></div>
                </div>
                <div class="feather">
                    <div class="feather-contain">
                        <div class="feather-shade"></div>
                        <div...

SCSS

/* ----- SASS VARIABLES ----- */
$crest-color: black;
$crest-bg: white;

/* ----- MIXINS ----- */
@mixin size($w, $h:null) {
    width: $w;
    @if $h==null {
        height: $w;
    }
    @else {
        height: $h;
    }
}
@mixin transform-origin($origin) {
	-webkit-transform-origin: $origin;
	-moz-transform-origin: $origin;
	-ms-transform-origin: $origin;
	transform-origin: $origin;
}
@mixin rotate($deg) {
	-webkit-transform: rotate($deg);
	-moz-transform: rotate($deg);
	-ms-transform: rotate($deg);
	transform: rotate($deg);
}
@mixin skew($x, $y) {
	-webkit-transform: skew($x, $y);
	-moz-transform: skew($x, $y);
	-ms-transform: skew($x, $y);
	transform: skew($x, $y);
}
@mixin rotateSkew($deg, $x, $y) {
	-webkit-transform: rotate($deg) skew($x, $y);
	-moz-transform: rotate($deg) skew($x, $y);
	-ms-transform: rotate($deg) skew($x, $y);
	transform: rotate($deg) skew($x, $y);
}

/* ----- LAYOUT ----- */
body {
    width: 600px;
    margin: 20px auto;
    background: #eee;
    font-family: 'Roboto', sans-serif;
    text-align: center;
}

#crests {
    margin: 0 auto 20px;
}
#crests:after {
    content: '';
    display: block;
    clear: both;
}
.crest-holder {
    float: left;
    margin: 10px;
    text-align: center;
}

.crest {
    position: relative;
    background: $crest-bg;
    @include size(100px);
    border-radius: 4px;
    box-sizing: border-box;
    box-shadow: 0 2px 4px rgba(0,0,0,.3);
}
.crest:after {
    content: '';
    display: block;
    clear: both;
}

.crest-name {
    line-height: 40px;
    font-family: 'Oswald', sans-serif;
}

/* ----- CREST BASIC SHAPES ----- */
.crest .circle, .crest .sphere, .crest .comma {
    border-radius: 50%;
}

/* ----- AKIYAMA ----- */
.crest.akiyama {
    padding: 22px;
}
.crest.akiyama .diamond {
    position: relative;
    margin: 0 auto;
    background: $crest-color;
	@include rotateSkew(-45deg, 14deg, 14deg);
}
.crest.akiyama .diamond:nth-child(1) {
    @include size(20px);
    margin-bottom:...

JavaScript

// JAPANESE EMBLEMS CSS //