/*
================================================================
Title: Basis Stylesheet
================================================================
Basis Styles der Website
================================================================
*/

/*
================================================================
Reset und Normalisierung
================================================================
*/

/* Style Resets */

* {
    padding: 0;
    margin: 0;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, hr, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, input, textarea, select, option, button, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    font-family: 'Roboto', sans-serif;
    font-size: 100%;
    line-height: inherit;
    font-weight: inherit;
    font-style: normal;
    text-align: left;
    text-transform: none;
    text-decoration: none;
    list-style: none;
    background: transparent;
    padding: 0;
    margin: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
}
:link, :hover, :active, :focus, :visited { outline: 0; }
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic;
}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none;
}
table {
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th { font-weight: bold; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden] { display: none; }

/* Style Presets */

html {
    overflow-y: scroll;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
b, strong { font-weight: bold; }
i, em, dfn, cite { font-style: italic; }
strike, del { text-decoration: line-through; }
hr {
    height: 0;
    display: block;
    clear: both;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    -ms-box-sizing: content-box;
    -o-box-sizing: content-box;
    box-sizing: content-box;
}
code, kbd, pre, samp { font-family: monospace, "Lucida Sans", sans-serif; }
code { white-space: nowrap; }
pre {
    white-space: pre;
    white-space: pre-wrap;
    white-space: pre-line;
    word-break: break-all;
    word-wrap: break-word;
    display: block;
}
pre code { white-space: pre-wrap; }
small, sub, sup { font-size: 80%; }
sub, sup {
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }
abbr[title], dfn[title] { cursor: help; }
address { display: block; }
button, input[type="button"], input[type="reset"], input[type="submit"] {
    width: auto;
    cursor: pointer;
    -webkit-appearance: button;
}
textarea {
    height: auto;
    overflow: auto;
}
select, textarea, input { display: inline-block; }
svg:not(:root) { overflow: hidden; }

/*
================================================================
Basis
================================================================
*/

/* Layout */

body { font: normal 14px/26px "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* Generelle Styles */

a, select, textarea, input, button {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/*
================================================================
Typo und Elemente
================================================================
*/

/* Typo */

h1, h2, h3, h4, h5, h6, p, ol, ul, dl, img, table, iframe, form, blockquote, pre, hr { margin: 0 0 20px; }
h1, h1 a, h2, h2 a, h3, h3 a, h4, h4 a, h5, h5 a, h6, h6 a { font-weight: bold; }
h1 {
    font-size: 42px;
    line-height: 54px;
}
h2 {
    font-size: 36px;
    line-height: 48px;
}
h3, .mainheadline {
    font-size: 30px;
    line-height: 42px;
}
h4, .subheadline {
    font-size: 24px;
    line-height: 36px;
}
h5, .smallsubheadline {
    font-size: 18px;
    line-height: 30px;
}
h6 {
    font-size: 12px;
    line-height: 24px;
}
ul li, ol li { margin: 0 0 0 20px; }
ul li { list-style: outside disc; }
ul li ul li { list-style: outside circle; }
ol li { list-style: outside decimal; }
ul ul, ol ul, ul ol, ol ol { margin: 0; }
dt { font-weight: bold; }
blockquote, pre { padding: 20px; }
blockquote p:last-child { margin: 0; }
q, code { padding: 2px 4px; }
pre code { padding: 0; }
abbr { text-decoration: underline; }
hr { border-top: 1px solid #ddd; }

/* Buttons */

.button {
    line-height: 20px;
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: 0 0;
    height: 20px;
    padding: 10px 15px;
    margin: 0 10px 10px 0;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
}
.button.icon-left {
    background-position: 0 50%;
    padding: 10px 15px 10px 40px;
}
.button.icon-right {
    background-position: 100% 50%;
    padding: 10px 40px 10px 15px;
}
.button.icon-only {
    text-indent: 100%;
    background-position: 50% 50%;
    width: 40px;
    height: 40px;
    padding: 0;
}
.button.big { padding: 20px 25px; }
.button.big.icon-left { padding: 20px 25px 20px 60px; }
.button.big.icon-right { padding: 20px 60px 20px 25px; }
.button.big.icon-only {
    width: 60px;
    height: 60px;
    padding: 0;
}

/* Spezielle Typo Klassen */

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

/*
================================================================
Tabellen
================================================================
*/

/* Basis */

caption {
    font-size: 18px;
    line-height: 30px;
    margin: 0 0 10px;
}
table { width: 100%; }
th, td {
    padding: 8px;
    vertical-align: top;
    border-top: 1px solid #ddd;
}
thead > tr > th {
    border: 0;
    vertical-align: bottom;
}
.table-scrollable { margin: 20px 0; }
.table-scrollable table { margin: 0; }
.table-scrollable { overflow-x: scroll; }

/*
================================================================
Formulare
================================================================
*/

/* Basis */

form { width: 100%; }
.form-group { margin: 0 0 20px; }
legend, label, input, select, textarea, button { display: block; }
legend {
    font-size: 18px;
    line-height: 30px;
    margin: 0 0 10px;
}
label { margin: 0 0 5px; }
label input {
    margin: 6px 6px 0 0;
    float: left;
}
input.text, input[type="text"], select, textarea {
    width: 80%;
    padding: 10px;
}
input, select, button { line-height: 20px; }
input#submit, input[type="submit"], button[type="submit"], input#reset, input[type="reset"], button[type="reset"] {
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: 0 0;
    height: 40px;
    padding: 10px 15px;
    margin: 0 10px 10px 0;
    display: inline-block;
    vertical-align: middle;
}

/*
================================================================
Grid System
================================================================
*/

/* Clearfix */

.clearfix { *zoom: 1; }
.clearfix:before, .clearfix:after {
    content: "";
    line-height: 0;
    display: table;
}
.clearfix:after { clear: both; }

/* Wrapper */

.wrapper {
    width: 960px;
    margin: 0 auto;
}

/* Standard 10px Columns */

.column {
    padding: 0 10px;
    float: left;
}
.column.full { width: 940px; }
.column.half { width: 460px; }
.column.onethird { width: 300px; }
.column.twothirds { width: 620px; }
.column.onequarter { width: 220px; }
.column.threequarters { width: 700px; }

/* Breitere 20px Columns */

.column-wide {
    padding: 0 20px;
    float: left;
}
.column-wide.full { width: 920px; }
.column-wide.half { width: 440px; }
.column-wide.onethird { width: 280px; }
.column-wide.twothirds { width: 600px; }
.column-wide.onequarter { width: 200px; }
.column-wide.threequarters { width: 680px; }