/**
 * Default styles for frontend.
 * Site-independent normalisation and helpers 
 *
 * @package Frl_framework
 * @subpackage Frl_theme
 */
	

/* Normalisation
  (based on normalise.css - http://necolas.github.com/normalize.css/)
================================================================================ */

/*  HTML5 definitions
-------------------------------------------------------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section { display: block; }

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1; }
	


[hidden] { display: none; } /* always support hidden attr */


/* General corrections
-------------------------------------------------------------------------------- */
* {
	margin: 0;
	padding: 0; }
	
/* normalisation for font size and position on page */
html {
    font-size: 100%; 
    overflow-y: scroll; 
    -webkit-text-size-adjust: 100%; 
    -ms-text-size-adjust: 100%;
	background: #fff; }

body,
button,
input,
select,
textarea { font-family: sans-serif; }

body {
	background: #fff;
	font: 300 14px/1.2857 Arial, "Helvetica Neue", Helvetica, sans-serif;
	color: #494949;		
	position: relative; }

a {	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	outline: none; }


/* Semantics
-------------------------------------------------------------------------------- */
ins,
mark {
    background-color: #dafee2;
    color: #333;
    text-decoration:none; }
	
del { text-decoration: line-through; }

abbr[title],
dfn[title]{
	color: #1f1f1f;
	border-bottom: 1px dotted;
	cursor:help; }

b,
cite,
strong { font-weight: bold; }

i,
q,
em,
cite,
blockquote { font-style: italic; }

strong, em {  }

pre,
code,
kbd,
samp {
    font-family: "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace, serif;    
    font-size: 1em; }

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
	color: #666; }

q,
blockquote {
	quotes: none;
	color: #666; }

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none; }

small { font-size: 11px; }

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }

sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre,
blockquote { margin: 1.2857em 0 1.2857em 2em; }
blockquote p { margin-bottom: 0.75em; }


/* Lists & Tables
-------------------------------------------------------------------------------- */
ul,
ol {
	list-style-type: none;
	list-style-image: none;
	margin: 0;
	padding: 0; }

li {
	margin: 0;
	padding: 0; }

table {
    border-collapse: collapse;
    border-spacing: 0; }

td,
td img {
    vertical-align: top; }
    
    

/* Embeded content
-------------------------------------------------------------------------------- */
img {
    border: 0; 
    -ms-interpolation-mode: bicubic;
	vertical-align: bottom; }

svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
  
   
/* Forms
-------------------------------------------------------------------------------- */
form { margin: 0; }

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em; }

legend {
    border: 0;
    *margin-left: -7px; }

button,
input,
select,
textarea {
    font-size: 100%; 
    margin: 0;
    vertical-align: baseline; 
    *vertical-align: middle;
	outline: none; }

textarea {
    overflow: auto; 
    vertical-align: top; }
	
/* do we need it????
input,
textarea  { 
-webkit-box-sizing : border-box;
-moz-box-sizing : border-box;
-o-box-sizing : border-box;
box-sizing : border-box; }*/

/* and this - align checkboxes, radios, text inputs with their label 
input[type="radio"],
input[type="checkbox"],
.ie6 input { vertical-align: text-bottom; }

.ie7 input[type="checkbox"] { vertical-align: baseline; }
*/

button,
input { line-height: normal; }

/* make buttons play nice in IE */
button {
    width: auto;
    overflow: visible; }

button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] {
    cursor: pointer; 
    -webkit-appearance: button; 
    *overflow: visible; }

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; 
    padding: 0;  }

input[type="search"] {
    -webkit-appearance: textfield; 
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; 
    box-sizing: content-box; }

input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
input[type=search] { -webkit-appearance: none; }
input[type="search"]::-webkit-search-decoration, 
input[type="search"]::-webkit-search-cancel-button { display: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
	text-shadow: 0px 0px 0px #000; }

::-webkit-input-placeholder {
	font-family: monospace;
    padding : 1px 4px 0;
    font-size : .875em; 
    line-height : 1.4; }
	
input:-moz-placeholder {
	font-family: monospace;
    padding : 1px 4px 0;
    font-size : .875em; 
    line-height : 1.4; }

input::-ms-input-placeholder {
	font-family: monospace;
    padding : 1px 4px 0;
    font-size : .875em; 
    line-height : 1.4; }


/* colors for form validity */
/*input:invalid,
textarea:invalid { 
    border-radius: 1px;
    -moz-box-shadow: 0px 0px 5px #CB0000; 
	-webkit-box-shadow: 0px 0px 5px #CB0000; 
	box-shadow: 0px 0px 5px #CB0000; }
    
.no-boxshadow input:invalid, 
.no-boxshadow textarea:invalid { background-color: #f0dddd; }*/


/* Vendor spec
-------------------------------------------------------------------------------- */
a:link {
    -webkit-tap-highlight-color: #e0edd2;
	-webkit-tap-highlight-color : rgb(223, 236, 209); } /*  highloght color for Safari iOS */

::-webkit-selection { 
    background : rgb(23,119,175); 
    color : rgb(250,250,250); 
    text-shadow : none; }

::-moz-selection { 
    background : rgb(23,119,175); 
    color : rgb(250,250,250); 
    text-shadow : none; }

::selection { 
    background : rgb(23,119,175); 
    color : rgb(250,250,250); 
    text-shadow : none; }


/* HELPERS
================================================================================ */

/* text alignment */
.text-left   { text-align: left; }
.text-right  { text-align: right; }
.text-center { text-align: left; }


/**
 * new technique proposeb by N.Gallagher - see how it's doing
 * http://nicolasgallagher.com/another-css-image-replacement-technique/
 **/
.ir {
	font: 0/0 a;
    text-shadow: none;
    color: transparent; }


/* Hide for both screenreaders and browsers */
.hidden {
    display: none;
    visibility: hidden; } 


/* Hide only visually, but have it available for screenreaders  */
.visuallyhidden {
    position : absolute;
    clip : rect(0 0 0 0); 
    overflow : hidden;
    margin: -1px;
    padding : 0;
    height : 1px;      
    width : 1px;
    border : 0; }


/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Element to display only for print */
.print-only {
    display: none;
    visibility: hidden; }
    
/* Clearfix technique */
.clearfix:after { 
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0; }

.clearfix { zoom: 1; } 
.clear { clear: both; }

/* another variant */
.cf:before,
.cf:after {
    content: " "; 
    display: table; }

.cf:after {
    clear: both; }