/* common styling functions: sf */

.sf-whitewrapper-boxshadow () {
	.bcf-boxshadow (0, 0, 5px, 5px, 0, 0, 0, 0.2);
}

.sf-gray-textshadow () {
	text-shadow: 1px 1px 1px rgba(69,69,69,0.4);
}
.sf-white-textshadow () {
    text-shadow: 1px 1px 1px rgba(255,255,255,0.9);
}
.sf-white-boxshadow () {
    .bcf-boxshadow (1px, 2px, 1px, -1px, 255, 255, 255, 0.9);
}

.sf-stickyheader-shadow () {
    .bcf-boxshadow (0, 0, 5px, 5px, 0, 0, 0, 0.2);
}

.sf-cta-shadow () {
    .bcf-boxshadow (0, 0, 3px, 3px, 120, 120, 120, 0.1);
}

.sf-gcbutton (@def_color, @light_color, @dark_color) {
	.bcf-gcbutton-boxshadow (0, 8px, 6px, -6px, 69, 69, 69, 0.7, 0, -3px, 0, 0, @dark_color);
	border: 1px solid @light_color;
	.cf-gradient-background(@light_color, @def_color);
}

.sf-small-gcbutton(@def_color, @light_color, @dark_color) {
    .bcf-gcbutton-innershadow (0, -3px, 0, 0, @dark_color);
    border: 1px solid @dark_color;
    .cf-gradient-background(@light_color, @def_color);
}


.sf-gcbuttonlike-boxshadow () {
	.bcf-boxshadow (0, 8px, 6px, -6px, 69, 69, 69, 0.4);
}

.sf-gcbuttonlike-background (@def_color, @light_color, @dark_color) {
    .bcf-gcbutton-innershadow (0, -3px, 0, 0, @dark_color);
    /*border: 1px solid @light_color;*/
    .cf-gradient-background(@light_color, @def_color);
}

.sf-gcbuttonlike-menu (@def_color, @light_color, @dark_color) {
    .bcf-gcbutton-innershadow (0, -3px, 0, 0, @dark_color);
    border-left: 1px solid @dark_color;
    border-right: 1px solid @light_color;
    .cf-gradient-background(@light_color, @def_color);
}

.sf-gcbuttonlike-menu-selected (@def_color, @dark_color, @light_color) {
    .bcf-gcbutton-innershadow (0, 3px, 0, 0, @light_color);
    border-left: 1px solid @light_color;
    border-right: 1px solid @light_color;
    .cf-gradient-background(@dark_color, @def_color);
    .bcf-boxshadow (0, -3px, 2px, 2px, 69, 69, 69, 0.4);
}

.sf-form-checkbox (@margin_top: 0, @margin_right: 0, @margin_bottom: 0, @margin_left: 0) {
	width: 13px;
    height: 13px;
    padding: 0;
    margin: @margin_top @margin_right @margin_bottom @margin_left;
    vertical-align: bottom;
    position: relative;
    top: -1px;
    *overflow: hidden;
}

.sf-boxshadow-none () {
	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.sf-textshadow-none () {
    text-shadow: none !important;
}

.sf-gcidentity-bg (@upper_color, @lower_color, @texture) {
    background: @lower_color; /* Old browsers */
    background-image: url(@texture), -moz-linear-gradient(top, @upper_color 0%, @lower_color 100%); /* FF3.6+ */
    background-image: url(@texture), -webkit-gradient(linear, left top, left bottom, color-stop(0%,@upper_color), color-stop(100%,@lower_color)); /* Chrome,Safari4+ */
    background-image: url(@texture), -webkit-linear-gradient(top, @upper_color 0%,@lower_color 100%); /* Chrome10+,Safari5.1+ */
    background-image: url(@texture), -o-linear-gradient(top, @upper_color 0%,@lower_color 100%); /* Opera 11.10+ */
    background-image: url(@texture), -ms-linear-gradient(top, @upper_color 0%,@lower_color 100%); /* IE10+ */
    background-image: url(@texture), linear-gradient(to bottom, @upper_color 0%,@lower_color 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=@upper_color, endColorstr=@lower_color,GradientType=0 ); /* IE6-9 */
    background-repeat: repeat-all;
    background-position: top center, top center;
    
}

/* core functions: cf */

.cf-rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    -ms-border-radius: @radius;
    -o-border-radius: @radius;
    border-radius: @radius;
}

.cf-top-rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius @radius 0 0;
    -moz-border-radius: @radius @radius 0 0;
    -ms-border-radius: @radius @radius 0 0;
    -o-border-radius: @radius @radius 0 0;
    border-radius: @radius @radius 0 0;
}

.cf-right-rounded-corners (@radius: 5px) {
    -webkit-border-radius: 0 @radius @radius 0;
    -moz-border-radius: 0 @radius @radius 0;
    -ms-border-radius: 0 @radius @radius 0;
    -o-border-radius: 0 @radius @radius 0;
    border-radius: 0 @radius @radius 0;
}

.cf-left-rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius 0 0 @radius;
    -moz-border-radius: @radius 0 0 @radius;
    -ms-border-radius: @radius 0 0 @radius;
    -o-border-radius: @radius 0 0 @radius;
    border-radius: @radius 0 0 @radius;
}

.cf-bottom-rounded-corners (@radius: 5px) {
    -webkit-border-radius: 0 0 @radius @radius;
    -moz-border-radius: 0 0 @radius @radius;
    -ms-border-radius: 0 0 @radius @radius;
    -o-border-radius: 0 0 @radius @radius;
    border-radius: 0 0 @radius @radius;
}

.cf-topleft-rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius 0 0 0;
    -moz-border-radius: @radius 0 0 0;
    -ms-border-radius: @radius 0 0 0;
    -o-border-radius: @radius 0 0 0;
    border-radius: @radius 0 0 0;
}

.cf-gradient-background (@uppercolor, @lowercolor) {
    background-color: @lowercolor;
    background-image: -moz-linear-gradient(top, @uppercolor, @lowercolor);
    background-image: -ms-linear-gradient(top, @uppercolor, @lowercolor);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@uppercolor), to(@lowercolor));
    background-image: -webkit-linear-gradient(top, @uppercolor, @lowercolor);
    background-image: -o-linear-gradient(top, @uppercolor, @lowercolor);
    background-image: linear-gradient(top, @uppercolor, @lowercolor);
    /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@uppercolor', endColorstr='@lowercolor', GradientType=0);*/
}

.cf-opacity (@opacity) {
    -moz-opacity: @opacity;
    -khtml-opacity: @opacity;
    opacity: @opacity;
    /*-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=( @opacity * 100 ));
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=( @opacity * 100 ));*/
   /*filter:alpha(opacity=( @opacity * 100 ));*/
}



/* base core functions: bcf */

.bcf-boxshadow (@arg1, @arg2, @arg3, @arg4, @arg5, @arg6, @arg7, @arg8) {
	-moz-box-shadow: @arg1 @arg2 @arg3 @arg4 rgba(@arg5, @arg6, @arg7, @arg8);
	-webkit-box-shadow: @arg1 @arg2 @arg3 @arg4 rgba(@arg5, @arg6, @arg7, @arg8);
	box-shadow: @arg1 @arg2 @arg3 @arg4 rgba(@arg5, @arg6, @arg7, @arg8);
}

.bcf-simple-boxshadow (@arg1, @arg2, @arg3, @arg4, @arg5) {
    -moz-box-shadow: @arg1 @arg2 @arg3 @arg4 @arg5;
    -webkit-box-shadow: @arg1 @arg2 @arg3 @arg4 @arg5;
    box-shadow: @arg1 @arg2 @arg3 @arg4 @arg5;
}

.bcf-gcbutton-boxshadow (@arg1, @arg2, @arg3, @arg4, @arg5, @arg6, @arg7, @arg8, @arg9, @arg10, @arg11, @arg12, @arg13) {
	-moz-box-shadow: @arg1 @arg2 @arg3 @arg4 rgba(@arg5, @arg6, @arg7, @arg8), inset @arg9 @arg10 @arg11 @arg12 @arg13;
	-webkit-box-shadow: @arg1 @arg2 @arg3 @arg4 rgba(@arg5, @arg6, @arg7, @arg8), inset @arg9 @arg10 @arg11 @arg12 @arg13;
	box-shadow: @arg1 @arg2 @arg3 @arg4 rgba(@arg5, @arg6, @arg7, @arg8), inset @arg9 @arg10 @arg11 @arg12 @arg13;
}

.bcf-gcbutton-innershadow (@arg1, @arg2, @arg3, @arg4, @arg5) {
    -moz-box-shadow: inset @arg1 @arg2 @arg3 @arg4 @arg5;
    -webkit-box-shadow: inset @arg1 @arg2 @arg3 @arg4 @arg5;
    box-shadow: inset @arg1 @arg2 @arg3 @arg4 @arg5;
}