.flare-button {
    position: relative;
    display: block;
    height: 40px;
    width: 40px;
    -webkit-box-shadow: 0 1px 4px 1px rgba(0,0,0,0.1);
    -moz-box-shadow: 0 1px 4px 1px rgba(0,0,0,0.1);
    box-shadow: 0 1px 4px 1px rgba(0,0,0,0.1);
    -webkit-transition: border-radius 0.25s;
    -moz-transition: border-radius 0.25s;
    transition: border-radius 0.25s;
}
.flare-button .flare-button-wrap {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid rgba(0,0,0,0.2);
    -webkit-transition: border-radius 0.25s;
    -moz-transition: border-radius 0.25s;
    transition: border-radius 0.25s;
}
.flare-button.flare-iconstyle-round-flat-nostroke .flare-button-wrap,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke .flare-button-wrap,
.flare-button.flare-iconstyle-square-flat-nostroke .flare-button-wrap { border: none; }
.flare-horizontal .flare-button .flare-button-wrap {
    -webkit-box-shadow: 0 1px 2px 1px rgba(0,0,0,0.1);
    -moz-box-shadow: 0 1px 2px 1px rgba(0,0,0,0.1);
    box-shadow: 0 1px 2px 1px rgba(0,0,0,0.1);
}
.flare-button .flare-button-icon {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-indent: -999em;
    background: url('../images/sprite-social-icons.png');
}

/** Twitter **/
.flare-button.button-type-twitter .flare-button-icon { background-position: 0 0; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-twitter .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-twitter .flare-button-icon { background-position: 1px 1px; }
.flare-button.flare-iconstyle-round-flat.button-type-twitter .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-twitter .flare-button-icon { background-position: -42px 0; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-twitter .flare-button-icon { background-position: -41px 1px; }

/** Facebook **/
.flare-button.button-type-facebook .flare-button-icon { background-position: 0 -40px; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-facebook .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-facebook .flare-button-icon { background-position: 1px -39px; }
.flare-button.flare-iconstyle-round-flat.button-type-facebook .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-facebook .flare-button-icon { background-position: -42px -40px; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-facebook .flare-button-icon { background-position: -41px -39px; }

/** Pinterest **/
.flare-button.button-type-pinterest .flare-button-icon { background-position: 0 -80px; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-pinterest .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-pinterest .flare-button-icon { background-position: 1px -79px; }
.flare-button.flare-iconstyle-round-flat.button-type-pinterest .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-pinterest .flare-button-icon { background-position: -42px -80px; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-pinterest .flare-button-icon { background-position: -41px -79px; }

/** Reddit **/
.flare-button.button-type-reddit .flare-button-icon { background-position: 0 -120px; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-reddit .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-reddit .flare-button-icon { background-position: 1px -119px; }
.flare-button.flare-iconstyle-round-flat.button-type-reddit .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-reddit .flare-button-icon { background-position: -42px -120px; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-reddit .flare-button-icon { background-position: -41px -119px; }

/** Email **/
.flare-button.button-type-email .flare-button-icon { background-position: 0 -160px; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-email .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-email .flare-button-icon { background-position: 1px -159px }
.flare-button.flare-iconstyle-round-flat.button-type-email .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-email .flare-button-icon { background-position: -42px -160px; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-email .flare-button-icon { background-position: -41px -159px; }

/** Stumble Upon **/
.flare-button.button-type-stumbleupon .flare-button-icon { background-position: -1px -200px; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-stumbleupon .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-stumbleupon .flare-button-icon { background-position: 0 -199px; }
.flare-button.flare-iconstyle-round-flat.button-type-stumbleupon .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-stumbleupon .flare-button-icon { background-position: -42px -200px; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-stumbleupon .flare-button-icon { background-position: -41px -199px; }

/** Google Plus **/
.flare-button.button-type-googleplus .flare-button-icon { background-position: -1px -240px; }
.flare-button.flare-iconstyle-square-flat-nostroke.button-type-googleplus .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke.button-type-googleplus .flare-button-icon { background-position: 0 -239px; }
.flare-button.flare-iconstyle-round-flat.button-type-googleplus .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel.button-type-googleplus .flare-button-icon { background-position: -43px -240px; }
.flare-button.flare-iconstyle-round-flat-nostroke.button-type-googleplus .flare-button-icon { background-position: -42px -239px; }

.flare-button.flare-iconstyle-square-flat,
.flare-button.flare-iconstyle-square-flat .flare-button-wrap,
.flare-button.flare-iconstyle-square-flat-nostroke,
.flare-button.flare-iconstyle-square-flat-nostroke .flare-button-wrap,
.flare-button.flare-iconstyle-square-bevel,
.flare-button.flare-iconstyle-square-bevel .flare-button-wrap,
.flare-button.flare-iconstyle-square-bevel .flare-button-wrap .flare-button-icon {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.flare-button.flare-iconstyle-rounded-square-flat,
.flare-button.flare-iconstyle-rounded-square-flat .flare-button-wrap,
.flare-button.flare-iconstyle-rounded-square-flat .flare-button-wrap .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke .flare-button-wrap,
.flare-button.flare-iconstyle-rounded-square-flat-nostroke .flare-button-wrap .flare-button-icon,
.flare-button.flare-iconstyle-rounded-square-bevel,
.flare-button.flare-iconstyle-rounded-square-bevel .flare-button-wrap,
.flare-button.flare-iconstyle-rounded-square-bevel .flare-button-wrap .flare-button-icon {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.flare-button.flare-iconstyle-round-flat,
.flare-button.flare-iconstyle-round-flat .flare-button-wrap,
.flare-button.flare-iconstyle-round-flat .flare-button-wrap .flare-button-icon,
.flare-button.flare-iconstyle-round-flat-nostroke,
.flare-button.flare-iconstyle-round-flat-nostroke .flare-button-wrap,
.flare-button.flare-iconstyle-round-flat-nostroke .flare-button-wrap .flare-button-icon,
.flare-button.flare-iconstyle-round-bevel,
.flare-button.flare-iconstyle-round-bevel .flare-button-wrap,
.flare-button.flare-iconstyle-round-bevel .flare-button-wrap .flare-button-icon {
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    border-radius: 26px;
}
.flare-button.flare-iconstyle-square-bevel .flare-button-wrap,
.flare-button.flare-iconstyle-rounded-square-bevel .flare-button-wrap,
.flare-button.flare-iconstyle-round-bevel .flare-button-wrap {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjElIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjE1Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
    background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0) 1%, rgba(0,0,0,0.15) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(1%,rgba(255,255,255,0)), color-stop(100%,rgba(0,0,0,0.15)));
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(0,0,0,0.15) 100%);
    background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(0,0,0,0.15) 100%);
    background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(0,0,0,0.15) 100%);
    background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(0,0,0,0.15) 100%);
}
.flare-horizontal .flare-button .flare-button-icon { background-image: url('../images/sprite-social-icons-horizontal.png'); }
.flare-horizontal .flare-button.button-type-twitter .flare-button-icon { background-position: -3px 0; }
.flare-horizontal .flare-button.button-type-facebook .flare-button-icon { background-position: -33px 0; }
.flare-horizontal .flare-button.button-type-pinterest .flare-button-icon { background-position: -63px 0; }
.flare-horizontal .flare-button.button-type-reddit .flare-button-icon { background-position: -153px 0; }
.flare-horizontal .flare-button.button-type-email .flare-button-icon { background-position: -183px 0; }
.flare-horizontal .flare-button.button-type-stumbleupon .flare-button-icon { background-position: -123px 0; }
.flare-horizontal .flare-button.button-type-googleplus .flare-button-icon { background-position: -93px 0; }
.flare-vertical .flare-button .flare-button-count {
    position: absolute;
    display: block;
    z-index: 100;
    bottom: -20px;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    color: #555;
    font: bold 12px/20px sans-serif;
}
.flare-horizontal .flare-button .flare-button-count { display: none; }

.flare-flyout {
    position: absolute;
    display: none;
    z-index: 10;
    margin-top: -10px;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    filter: Alpha(opacity=0);
    -ms-filter: "Alpha(opacity=0)";
    -webkit-transition: opacity 0.25s, left 0.25s ease-in-out, right 0.25s ease-in-out, bottom 0.25s ease-in-out;
    -moz-transition: opacity 0.25s, left 0.25s ease-in-out, right 0.25s ease-in-out, bottom 0.25s ease-in-out;
    transition: opacity 0.25s, left 0.25s ease-in-out, right 0.25s ease-in-out, bottom 0.25s ease-in-out;
    visibility: hidden;
}
.flare-flyout:before,
.flare-flyout:after {
    content: "";
    display: table;
}
.flare-flyout:after { clear: both; }
.flare-flyout { *zoom: 1; }

.flare-flyout.hover,
.flare-flyout:hover {
    display: block;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    filter: Alpha(opacity=100);
    -ms-filter: "Alpha(opacity=100)";
    z-index: 1000;
    visibility: visible;
}
.flare-horizontal .flare-flyout {
    min-width: 0;
    padding: 10px 10px 20px;
    margin-bottom: 14px;
    bottom: -5px;
    margin-left: -32px;
}
.flare-horizontal .flare-flyout.hover,
.flare-horizontal .flare-flyout:hover { bottom: 0; }
.flare-left .flare-flyout {
    padding: 10px 10px 10px 63px;
    left: -5px;
}
.flare-left .flare-flyout:hover { left: 0; }
.flare-right .flare-flyout {
    padding: 10px 63px 10px 10px;
    right: -5px;
}
.flare-right .flare-flyout:hover { right: 0; }
.flare-flyout .flare-flyout-inner {
    position: relative;
    display: block;
    padding: 10px;
    line-height: 1px;
    background: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 6px 1px rgba(0,0,0,0.3);
    -moz-box-shadow: 0 1px 6px 1px rgba(0,0,0,0.3);
    box-shadow: 0 1px 6px 1px rgba(0,0,0,0.3);
}
.flare-flyout .flare-flyout-inner iframe {
    display: block;
    max-width: 1000px;
}
.flare-left .flare-flyout .flare-arrow,
.flare-right .flare-flyout .flare-arrow {
    position: absolute;
    display: block;
    top: 30px;
    width: 11px;
    height: 17px;
}
.flare-left .flare-flyout.first .flare-arrow,
.flare-right .flare-flyout.first .flare-arrow { top: 10px; }
.flare-left .flare-flyout .flare-arrow {
    left: -11px;
    background: url('../images/flyout-arrow-left.png');
}
.flare-right .flare-flyout .flare-arrow {
    right: -11px;
    background: url('../images/flyout-arrow-right.png');
}
.flare-horizontal .flare-flyout .flare-arrow {
    position: absolute;
    display: block;
    width: 13px;
    height: 11px;
    bottom: -11px;
    left: 26px;
    background: url('../images/flyout-arrow-horizontal.png') center top no-repeat;
}

.flare-vertical .flare-button {
    display: block;
    clear: both;
    float: none;
}

.flare-horizontal {
    position: relative;
    width: 100%;
    clear: both;
}
.flare-horizontal:before,
.flare-horizontal:after {
    content: "";
    display: table;
}
.flare-horizontal:after { clear: both; }
.flare-horizontal { *zoom: 1; }

.flare-horizontal .flare-button {
    position: relative;
    display: inline-block;
    float: left;
    width: 24px;
    height: 24px;
    margin-right: 6px;
}

.flare-vertical {
    position: fixed;
    overflow: visible;
    z-index: 100;
    top: 40px;
    display: block;
    background: #fff;
    padding: 10px 10px 25px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 4px 1px rgba(0,0,0,0.1);
    -moz-box-shadow: 0 1px 4px 1px rgba(0,0,0,0.1);
    box-shadow: 0 1px 4px 1px rgba(0,0,0,0.1);
}
.flare-vertical .flare-button { margin: 25px 0 0; }
.flare-vertical .flare-button:first-child { margin: 0; }
