.shadow_boxes_bling {
  position: relative;
  width: 80%;
  padding: 1em 1.5em;
  margin: 2em auto 4em;
  background: #fff;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.shadow_boxes_bling:before,
.shadow_boxes_bling:after {
  content: "";
  position: absolute;
  z-index: -2;
}
/* Lifted corners */
.sb_lifted {
  -webkit-border-radius: 4px;
  -webkit-background-clip: padding-box;
  -moz-border-radius: 4px;
  -moz-background-clip: padding;
  border-radius: 4px;
  background-clip: padding-box;
}
.sb_lifted:before,
.sb_lifted:after {
  bottom: 15px;
  left: 10px;
  width: 50%;
  height: 20%;
  max-width: 300px;
  max-height: 100px;
  -webkit-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
  -moz-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
  box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.sb_lifted:after {
  right: 10px;
  left: auto;
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
}
/* Perspective */
.sb_perspective:before {
  left: 80px;
  bottom: 5px;
  width: 50%;
  height: 35%;
  max-width: 200px;
  max-height: 50px;
  -webkit-box-shadow: -80px 0 8px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: -80px 0 8px rgba(0, 0, 0, 0.4);
  box-shadow: -80px 0 8px rgba(0, 0, 0, 0.4);
  -webkit-transform: skew(50deg);
  -moz-transform: skew(50deg);
  -o-transform: skew(50deg);
  -ms-transform: skew(50deg);
  transform: skew(50deg);
  -webkit-transform-origin: 0 100%;
  -moz-transform-origin: 0 100%;
  -o-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.sb_perspective:after {
  display: none;
}
/* Raised shadow - no pseudo-elements needed */
.sb_raised {
  -webkit-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  -moz-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
/* Curved shadows */
.sb_vertical_curves:before {
  top: 10px;
  bottom: 10px;
  left: 0;
  right: 50%;
  -webkit-box-shadow: 0 0 15px rgba(0,0,0,0.6);
  -moz-box-shadow: 0 0 15px rgba(0,0,0,0.6);
  box-shadow: 0 0 15px rgba(0,0,0,0.6);
  -webkit-border-radius: 0.1px;
  -webkit-background-clip: padding-box;
  -moz-border-radius: 0.1px;
  -moz-background-clip: padding;
  border-radius: 0.1px;
  background-clip: padding-box;
  right: 0;
}
.sb_horizontal_curves:before {
  top: 10px;
  bottom: 10px;
  left: 0;
  right: 50%;
  -webkit-box-shadow: 0 0 15px rgba(0,0,0,0.6);
  -moz-box-shadow: 0 0 15px rgba(0,0,0,0.6);
  box-shadow: 0 0 15px rgba(0,0,0,0.6);
  -webkit-border-radius: 0.1px;
  -webkit-background-clip: padding-box;
  -moz-border-radius: 0.1px;
  -moz-background-clip: padding;
  border-radius: 0.1px;
  background-clip: padding-box;
  top: 0;
  bottom: 0;
  left: 10px;
  right: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
/* Rotated box */
.sb_rotated {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.sb_rotated > :first-child:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
