/**
* KISSY New DPL CSS Reset Based on
*
* http://github.com/necolas/normalize.css
* https://github.com/twitter/bootstrap/
* KISSY reset.css (https://github.com/kissyteam/kissy/tree/master/src/css/src/reset.css)
*
* @author yiminghe@gmail.com
*/

@import "variables.less";
@import "mixins.less";

.gen-cssreset(@cssResetContext) when(isstring(@cssResetContext)) {
    (~".@{cssResetContext}") {
        font-size: @baseFontSize;
        font-family: @baseFontFamily;
        color: @textColor;
        background-color: @bodyBackground;
        line-height: @baseLineHeight;
        .gen-cssreset0();
    }
}

.gen-cssreset0() {

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Corrects `block` display not defined in IE6/7/8/9 & FF3.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block;
}

/*
 * Corrects `inline-block` display not defined in IE6/7/8/9 & FF3.
 */

audio,
canvas,
video {
    .ks-inline-block_();
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Same with IE9.
 * Remove excess height in iOS5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
    width:0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE7/8/9, FF3, S4.
 * Known issue: no IE6 support.
 */

[hidden] {
    .ks-hidden_();
}

/*
 * Addresses styling not present in IE6/7/8/9.
 * html5
 */

mark {
    background: #ff0;
    color: @textColor;
}

/*
 * Addresses margin not present in IE6/7/8.
 * Normalize to chrome 's user agent stylesheet
 */

figure {
    margin: 1em 40px 1em 40px;
}

/* ==========================================================================
   Base
   ========================================================================== */

/*
 * 1. Use KISSY CSS default font-size 12px
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-size: @baseFontSize; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */

}

/*
 * Addresses `font-family` inconsistency between `textarea` and other form
 * elements.
 * 1. html chrome Simsun, others new times
 * textarea/button/input/select does not inherit.
 * ie8- does not allow 'inherit' value.
 * textarea chrome/fx monospace ie courier new
 * button/input/select chrome/ie arial firefox Simsun
 */

html,
button,
input,
select,
textarea {
    font-family: @baseFontFamily;/* 1 */
}

button,
input,
select,
textarea {
    font-size: 100%;
}

/*
 * Addresses margins handled incorrectly in IE6/7.
 * 1. ie7 10px , others 8px
 * 2. chrome rgba(0,0,0,0), others transparent
 * 3. firefox 21px(1.3) others normal(1.13)
 */

body {
    margin: 0;/* 1 */
    color: @textColor;
    background-color: @bodyBackground; /* 2 */
    line-height: @baseLineHeight; /* 3 */
}

/* ==========================================================================
   Links
   ========================================================================== */

/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */

a {
    color: @linkColor;
    text-decoration: none;

    &:focus {
        outline: thin dotted;
    }

/*
     * Improves readability when focused and also mouse hovered in all browsers.
     * people.opera.com/patrickl/experiments/keyboard/test
     */
    &:active,
    &:hover {
        outline: 0;
    }

    &:hover {
        color: @linkColorHover;
    }
}

/* ==========================================================================
   Typography
   ========================================================================== */

/*
 * Addresses font sizes and margins set differently in IE6/7.
 * Addresses font sizes within `section` and `article` in FF4+, Chrome, S5.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}

h3 {
    font-size: 1.17em;
    margin: 1em 0;
}

h4 {
    font-size: 1em;
    margin: 1.33em 0;
}

h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
}

h6 {
    font-size: 0.75em;
    margin: 2.33em 0;
}

/*
 * Addresses styling not present in IE7/8/9, S5, Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in FF3+, ie89, S4/5.
 *
 * http://hell.meiert.org/core/css/firefox-3.6.13.css
 *
 * chrome default is bold now 19
 */

 b,strong {
    font-weight: bold;
}


/*
 * ie8- top =0
 */

blockquote {
    margin: 1em 40px;
}

/*
 * Addresses styling not present in S5
 */

dfn {
    font-style: italic;
}



/*
 * Addresses margins set differently in IE6/7.
 */

p,
pre {
    margin: 1em 0;
}

/*
 * 1. Corrects font family set oddly in IE6, S4/5, Chrome.
 * en.wikipedia.org/wiki/User:Davidgothberg/Test59
 *    ie: courier new others monospace
 * 2. other browsers other than firefox is not 16px
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif; /* 1 */
    // _font-family: 'courier new', monospace;
    font-size: 1em; /* 2 */
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre;
    white-space: pre-wrap;
/*ie*/
    word-wrap: break-word;
}

/*
 * Addresses CSS quotes not supported in IE6/7.
 */

q {
    quotes: none;
}

/*
 * Addresses `quotes` property not supported in S4.
 */

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

/*
 * ie8- is wrong with relative
 */
small {
    font-size: 75%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers (except firefox).
 * gist.github.com/413930
 */

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

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Lists
   ========================================================================== */

/*
 * Addresses margins set differently in IE6/7.
 */

dl,
menu,
ol,
ul {
    margin: 1em 0;
}

dd {
    margin: 0 0 0 40px;
}

/*
 * Addresses paddings set differently in IE6/7.
 */

menu,
ol,
ul {
    padding: 0 0 0 40px;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Removes border when inside `a` element in IE6/7/8/9, FF3.
 * 2. Improves image quality when scaled in IE7.
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */

img {
    border: 0; /* 1 */
    -ms-interpolation-mode: bicubic; /* 2 */
}

/*
 * Corrects overflow displayed oddly in IE9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/*
 * Corrects margin displayed oddly in IE9-.
 * margin: auto ??
 */

form {
    margin: 0;
}

/*
 * Define consistent border, margin, and padding.
 * Same with chrome 's user agent stylesheet
 */

fieldset {
    border: 2px groove #f0f0f0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE6/7/8/9.
 * 2. Corrects text not wrapping in FF3.
 * 3. Corrects alignment displayed oddly in IE6/7.
 */

legend {
    border: 0; /* 1 */
    margin:0;
    padding: 0;
    white-space: normal; /* 2 */
    *margin-left: -7px; /* 3 */
}

button,
input,
select,
textarea {
    margin: 0;
    // same alignment with button
    vertical-align: middle;
}

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9.
 * 2. Improves readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/*
 * IE6+ need padding-left/right
 */
button {
    padding: 0px 6px;
    /* ie6 fix*/
    _padding: 0;
}

/*
 * Addresses FF3/4 setting `line-height` on `input` using `!important` in the
 * UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE6.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
    *overflow: visible; /* 4 */
}

/*
 * Re-set default cursor for disabled elements.
 */

button[disabled],
input[disabled] {
    cursor: default;
}

/*
 * Removes inner padding and border in FF3+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}



/*
 * 1. Addresses box sizing set to content-box in IE8/9.
 * 2. Removes excess padding in IE8/9.
 * 3. Removes excess padding in IE7.
 *    Known issue: excess padding remains in IE6.
 */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
    *height: 13px; /* 3 */
    *width: 13px; /* 3 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in S5, Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in S5, Chrome.
 *    firefox is content-box (now)
 */
input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    box-sizing: content-box; /* 2 */
}

/*
 * Removes inner padding and search cancel button in S5, Chrome.
 */

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

/* ==========================================================================
   Tables
   ========================================================================== */

/*
 * Remove most spacing between table cells.
 */

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

}