/*

Copyright 2008-2018 Clipperz Srl

This file is part of Clipperz, the online password manager.
For further information about its features and functionalities please
refer to http://www.clipperz.com.

* Clipperz is free software: you can redistribute it and/or modify it 
  under the terms of the GNU Affero General Public License as published 
  by the Free Software Foundation, either version 3 of the License, or 
  (at your option) any later version.

* Clipperz is distributed in the hope that it will be useful, but 
  WITHOUT ANY WARRANTY; without even the implied warranty of 
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU Affero General Public License for more details.

* You should have received a copy of the GNU Affero General Public
  License along with Clipperz. If not, see http://www.gnu.org/licenses/.

*/

@mixin border-radius ($radius) {
	-webkit-border-radius: $radius;
	   -moz-border-radius: $radius;
	        border-radius: $radius;
}

@mixin radial-gradient ($inner-color, $outer-color) {
	background-image:     -ms-radial-gradient(center, circle farthest-corner, $inner-color 0%, $outer-color 100%);		/* IE10 */ 
	background-image:    -moz-radial-gradient(center, circle farthest-corner, $inner-color 0%, $outer-color 100%);		/* Mozilla Firefox */ 
	background-image:      -o-radial-gradient(center, circle farthest-corner, $inner-color 0%, $outer-color 100%);		/* Opera */ 
	background-image: -webkit-radial-gradient(center, circle farthest-corner, $inner-color 0%, $outer-color 100%);		/* Webkit (Chrome 11+) */ 
	background-image:         radial-gradient(center, circle farthest-corner, $inner-color 0%, $outer-color 100%);		/* Proposed W3C Markup */ 
	background-image:        -webkit-gradient(radial, center center, 0, center center, 495, color-stop(0, $inner-color), color-stop(1, $outer-color));	/* Webkit (Safari/Chrome 10) */ 
}

@mixin font-feature-settings ($foo, $bar) {
	-webkit-font-feature-settings:$foo 1, $bar 1;
//	-moz-font-feature-settings:$foo = 1, $bar = 1;
	-moz-font-feature-settings:$foo 1, $bar 1;
	-ms-font-feature-settings:$foo 1, $bar 1;
	-o-font-feature-settings:$foo 1, $bar 1;
	font-feature-settings:$foo 1, $bar 1;
}

@mixin icon-font () {
	font-family: 'clipperz-icons';
	@include font-feature-settings("liga", "dlig");
	-webkit-font-smoothing: antialiased;
	text-rendering:optimizeLegibility;
}

@mixin password-font () {
	font-family: 'clipperz-password';
	-webkit-font-smoothing: antialiased;
	text-rendering:optimizeLegibility;
}

@mixin animation ($animation, $duration, $timing-function:linear, $iteration-count:1, $fill-mode:none) {
	-webkit-animation-name: $animation;
	-webkit-animation-duration: $duration;
	-webkit-animation-timing-function: $timing-function;
	-webkit-animation-iteration-count: $iteration-count;
	-webkit-animation-fill-mode: $fill-mode;

	-moz-animation-name: $animation;
	-moz-animation-duration: $duration;
	-moz-animation-timing-function: $timing-function;
	-moz-animation-iteration-count: $iteration-count;
	-moz-animation-fill-mode: $fill-mode;

	-ms-animation-name: $animation;
	-ms-animation-duration: $duration;
	-ms-animation-timing-function: $timing-function;
	-ms-animation-iteration-count: $iteration-count;
	-ms-animation-fill-mode: $fill-mode;

	-o-animation-name: $animation;
	-o-animation-duration: $duration;
	-o-animation-timing-function: $timing-function;
	-o-animation-iteration-count: $iteration-count;
	-o-animation-fill-mode: $fill-mode;

	animation-name: $animation;
	animation-duration: $duration;
	animation-timing-function: $timing-function;
	animation-iteration-count: $iteration-count;
	animation-fill-mode: $fill-mode;
}

@mixin transition ($item, $time, $function) {
	-webkit-transition: $item $time $function;
	   -moz-transition: $item $time $function;
	     -o-transition: $item $time $function;
	    -ms-transition: $item $time $function;
	        transition: $item $time $function;
}

@mixin transform ($rotateAngle, $translateX, $translateY) {
	-webkit-transform: rotate(  $rotateAngle) translate($translateX, $translateY);
	   -moz-transform: rotate(  $rotateAngle) translate($translateX, $translateY);
	    -ms-transform: rotate(  $rotateAngle) translate($translateX, $translateY);
	     -o-transform: rotate(  $rotateAngle) translate($translateX, $translateY);
	        transform: rotate(  $rotateAngle) translate($translateX, $translateY);
}

@mixin transform3d ($tx, $ty, $tz) {
	-webkit-transform: translate3d($tx, $ty, $tz);
	        transform: translate3d($tx, $ty, $tz);
}

@mixin transition-duration ($duration) {
	-webkit-transition-duration: $duration;
	        transition-duration: $duration;
}


@mixin animation-delay ($delay) {
	-webkit-animation-delay: $delay;
	   -moz-animation-delay: $delay;
	    -ms-animation-delay: $delay;
	     -o-animation-delay: $delay;
	        animation-delay: $delay;
}

@mixin box-shadow ($xOffset, $yOffset, $size, $color) {
	-webkit-box-shadow: $xOffset $yOffset $size $color;	
	   -moz-box-shadow: $xOffset $yOffset $size $color;	
	    -ms-box-shadow: $xOffset $yOffset $size $color;	
	     -o-box-shadow: $xOffset $yOffset $size $color;	
	        box-shadow: $xOffset $yOffset $size $color;	
}

@mixin keyframes ($name) {
	@-webkit-keyframes #{$name} {
		@content; 
	}
	@-moz-keyframes #{$name} {
		@content;
	}
	@-ms-keyframes #{$name} {
		@content;
	}
	@keyframes #{$name} {
		@content;
	} 
}

@mixin mask () {
	.mask {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
		background-color: rgba(0, 0, 0, 0.5);
	}
}

@include keyframes(spin) {
	0% { @include transform(0deg, 0, 0); }
	100% { @include transform(359deg, 0, 0); }
}

@mixin user-select($value) {
	//	http://css-tricks.com/almanac/properties/u/user-select/
	//	none | text | all | element
	-webkit-user-select: $value;	/* Chrome all / Safari all */
	-moz-user-select: $value;		/* Firefox all */
	-ms-user-select: $value;		/* IE 10+ */

	/* No support for these yet, use at own risk */
	-o-user-select: $value;
	user-select: $value;
}

@mixin overflow-auto () {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

@mixin chromeFix () {
	-webkit-transform: translate3d(0,0,0);
}

@mixin placeholder {
	&::-webkit-input-placeholder {@content}
	&:-moz-placeholder           {@content}
	&::-moz-placeholder          {@content}
	&:-ms-input-placeholder      {@content}  
}

@mixin cursor-grab () {
	cursor: grab;
	cursor: -moz-grab;
	cursor: -webkit-grab;
}

@mixin cursor-grabbing () {
	cursor: grabbing;
	cursor: -moz-grabbing;
	cursor: -webkit-grabbing;
}

@mixin dotted-background () {
	//	http://codepen.io/aleprieto/pen/nAmIy
	background-image: -webkit-repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
	background-image: -moz-repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
	background-image: -ms-repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
	background-image: repeating-radial-gradient(center center, rgba(0,0,0,.2), rgba(0,0,0,.2) 1px, transparent 1px, transparent 100%);
	-webkit-background-size: 3px 3px;
	-moz-background-size: 3px 3px;
	background-size: 3px 3px;
}

@mixin fixHeighHack ($offsetHeight /*, $padding*/) {
/*
	#mainPanel {
		&.extra-wide {
			.subpanel {
				&.cardContent {
					height: calc(100% - #{$offsetHeight});
				}
			}
		}

		&.wide {
				.cardContent {
					height: calc(100% - #{$offsetHeight});
				}
		}
	}

	div.cardContent {
		div.cardListColumn.column {
			&.addCard {
				height: calc(100% + #{$offsetHeight});
			}

			div.cardList {
//				height: calc(100% - #{$padding} - #{$offsetHeight});
				height: calc(100% - #{$offsetHeight});
			}
		}
	}
*/
}

@mixin userSelectNone () {
	-moz-user-select: -moz-none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
