/*
 * General Style
 * Table of contents:
 * 1. Reset CSS
 * 2. Predefined classes
 */

/****************************
 * Reset CSS
 *
 * Modified from Normalize.css to provide cross-browser consistency and a smart
 * default styling of HTML elements.
 *
 * @see http://git.io/normalize
*****************************/
article,
aside,
details,
figcaption,
figure,
footer,
header,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden] {
    display: none;
}
a:focus {}
a:active,
a:hover {
    outline: 0;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b,
strong {
    font-weight: bold;
}
dfn {
    font-style: italic;
}
mark {
    background: #66c18c;
    color: #fff; display: inline-block; padding: 0 3px;
}
code,
kbd,
pre,
samp {
    font-size: 1em;
    -webkit-hyphens: none;
    -moz-hyphens:    none;
    -ms-hyphens:     none;
    hyphens:         none;
}
pre {
    color: #666;
    font-size: 1em;
    margin: 20px 0;
    overflow: auto;
    padding: 20px;
    white-space: pre-wrap;
    word-wrap: break-word;
}
blockquote,
q {
    -webkit-hyphens: none;
    -moz-hyphens:    none;
    -ms-hyphens:     none;
    hyphens:         none;
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none;
}
blockquote {
    font-size: 18px;
    font-style: italic;
    font-weight: 300;
    margin: 24px 40px;
}
blockquote blockquote {
    margin-right: 0;
}
blockquote cite,
blockquote small {
    font-size: 14px;
    font-weight: normal;
    text-transform: uppercase;
}
blockquote em,
blockquote i {
    font-style: normal;
    font-weight: 300;
}
blockquote strong,
blockquote b {
    font-weight: 400;
}
small {
    font-size: smaller;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
img {
    -ms-interpolation-mode: bicubic;
    border: 0;
    vertical-align: middle;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 0;
}
form {
    margin: 0;
}
fieldset {
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin: 20px 0; display: block;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0;
    padding: 0;
    white-space: normal;
}
button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    max-width: 100%;
    vertical-align: baseline;
}
button,
input {
    line-height: normal;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}
button[disabled],
input[disabled] {
    cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
    padding: 0;
}
input[type="search"] {
    -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto;
    vertical-align: top;
}
del {
    color: #333;
}
ins {
    background: #fff9c0;
    text-decoration: none;
}
hr {
    background: #a6b2b4;
    border: 0;
    height: 1px;
    margin: 0 0 18px;
}
a {text-decoration:none;}

/*********************************************
 * Predefined classes
**********************************************/
/* Background size cover */
.vi-bg-cover {background-size:cover; background-position:center; background-repeat: no-repeat; min-height: 150px; max-height: 100vh;}
.vi-bg-cover > a > img, .vi-bg-cover > img {display: none;}

/* Display flex */
.vi-flex {display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}
.vi-flex--wrap {-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.vi-flex--align-center {-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}
.vi-flex--align-start {
    -webkit-box-align:start;-webkit-align-items:flex-start;
    -moz-box-align:start;-ms-flex-align:start;align-items:flex-start;
}
.vi-flex--align-end {-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;}
.vi-flex--justify-space-between {
    -webkit-box-pack:justify;-webkit-justify-content:space-between;
    -ms-flex-pack:justify;justify-content:space-between;
}
.vi-flex--justify-center {
    -webkit-box-pack:center;-webkit-justify-content:center;
    -moz-box-pack:center;-ms-flex-pack:center;justify-content:center;
}
.vi-flex--justify-end {
    -webkit-box-pack:end;-webkit-justify-content:flex-end;
    -moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;
}
.vi-flex--column {
    -webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;
    -moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;
}

/* Miscellaneous */
.hidden {display:none;}
.show {display:block;}
[onclick], [data-link] {cursor: pointer;}
html, body {position: relative; overflow-x: hidden;}

/****** Remove tap highlight & style default on iOS ******/
body.safari input, body.safari textarea, body.safari button, body.safari select, body.safari label, body.safari a {
    -webkit-tap-highlight-color: transparent; -webkit-appearance: none;
}