@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

* {
  box-sizing: border-box; }
  *:before, *:after {
    box-sizing: border-box; }

html {
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; }
  @media (max-width: 480px) {
    html.header-nav-active {
      overflow: hidden; } }

body {
  height: 100%;
  line-height: 1.6;
  color: #333;
  background: #fafafa;
  font-family: Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , "Roboto Slab" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-size: 14px; }
  @media (max-width: 480px) {
    body.header-nav-active {
      overflow: hidden; } }

a {
  color: #0097A7;
  text-decoration: none;
  -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
          transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }

.no-touch a:hover {
  color: #00c5da;
  text-decoration: underline; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle; }

hr {
  margin: 30px 0;
  border: 0;
  border-top: 1px solid #e8e8e8; }

iframe {
  border: 0;
  display: block; }

svg {
  display: block; }

.page-wrapper, #content {
  margin: 0 auto;
  padding: 0 10px;
  max-width: 1000px; }

#header {
  border-top: 3px solid #00BCD4;
  border-bottom: 3px solid #e8e8e8;
  background: #fff; }
  #header:after {
    display: table;
    clear: both;
    content: ""; }
  #header ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
  #header a {
    color: #333; }
  #header .page-wrapper, #header #content {
    position: relative; }
  @media (max-width: 768px) {
    #header .page-wrapper, #header #content {
      padding: 0; } }
  @media (max-width: 480px) {
    #header {
      border-bottom: 0; } }

.no-touch #header a:hover {
  color: #fff;
  text-decoration: none; }

.no-touch #header li:hover a {
  color: #fff; }

.header-nav-active #header {
  padding-top: 60px; }
  .header-nav-active #header .page-wrapper, .header-nav-active #header #content {
    position: fixed;
    top: 3px;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 63px; }

#header-logo {
  margin-right: -160px;
  padding-top: 9px;
  padding-bottom: 7px;
  float: left; }
  #header-logo h1, #header-logo p {
    margin: 0;
    font-size: 100%;
    height: 70px; }
    #header-logo h1 img, #header-logo p img {
      width: auto;
      height: 100%; }
  @media (max-width: 768px) {
    #header-logo {
      margin: 0;
      padding-left: 10px;
      position: absolute;
      top: 0;
      left: 0;
      float: none;
      width: 25%; } }
  @media (max-width: 480px) {
    #header-logo {
      padding-top: 8px;
      padding-left: 5px;
      border-bottom: 3px solid #e8e8e8;
      position: relative;
      z-index: 999;
      width: 100%;
      background: #fff; }
      #header-logo h1 {
        height: 46px; } }

#global-nav {
  margin: 0 160px; }
  #global-nav:after {
    display: table;
    clear: both;
    content: ""; }
  #global-nav ul li a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    white-space: nowrap;
    -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
            transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
  #global-nav > ul > li {
    position: relative;
    float: left;
    width: 25%;
    vertical-align: middle;
    text-align: center; }
    #global-nav > ul > li > a {
      line-height: 86px; }
    #global-nav > ul > li ul {
      position: absolute;
      left: 0;
      z-index: 5;
      width: 200px;
      opacity: 0;
      visibility: hidden;
      text-align: left;
      -webkit-transition: opacity 0.2s ease-out;
              transition: opacity 0.2s ease-out; }
      #global-nav > ul > li ul li {
        margin-top: 1px;
        display: block; }
        #global-nav > ul > li ul li a {
          padding: 11px 1em; }
    #global-nav > ul > li:before, #global-nav > ul > li:after {
      position: absolute;
      top: 20px;
      bottom: 20px;
      width: 1px;
      background: #e8e8e8;
      -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
              transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
    #global-nav > ul > li:before {
      left: 0; }
    #global-nav > ul > li:after {
      right: 0;
      content: ""; }
    #global-nav > ul > li:first-child:before {
      content: ""; }
    #global-nav > ul > li > ul > li {
      background: #444;
      position: relative; }
      #global-nav > ul > li > ul > li > ul {
        top: -1px;
        left: 200px; }
        #global-nav > ul > li > ul > li > ul li {
          background: #666; }
  @media (max-width: 768px) {
    #global-nav {
      margin: 0 25%; }
      #global-nav > ul > li > ul > li > ul {
        position: relative;
        left: 0; }
      #global-nav > ul > li > a {
        font-size: 10px; }
      #global-nav > ul > li:before,
      #global-nav > ul > li:after {
        content: none !important; } }
  @media (max-width: 480px) {
    #global-nav {
      margin: 0;
      position: fixed;
      top: 3px;
      left: 0;
      z-index: 998;
      width: 100%;
      height: 100%;
      max-height: 0;
      overflow: hidden;
      -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
              transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
      #global-nav > ul {
        overflow-y: scroll;
        background: #fff; }
        #global-nav > ul > li {
          float: none;
          width: 100%;
          text-align: left; }
          #global-nav > ul > li > a {
            padding: 10px;
            line-height: inherit;
            color: #fff;
            background: #444;
            font-size: 13px; }
          #global-nav > ul > li ul {
            position: static;
            visibility: visible;
            opacity: 1;
            width: 100%; }
            #global-nav > ul > li ul li {
              margin: 0;
              background: #666; }
              #global-nav > ul > li ul li a {
                color: #fff; }
              #global-nav > ul > li ul li ul li {
                background: #fff; }
                #global-nav > ul > li ul li ul li a {
                  color: #333; } }

.no-touch #global-nav ul li:hover {
  background: #0097A7; }
  .no-touch #global-nav ul li:hover > ul {
    visibility: visible;
    opacity: 1; }
  .no-touch #global-nav ul li:hover:before, .no-touch #global-nav ul li:hover:after {
    border-color: #0097A7;
    top: 0;
    bottom: 0; }

.no-touch #global-nav ul a:hover {
  background: #0097A7; }

.header-nav-active #global-nav {
  padding-top: 63px;
  max-height: 100%; }
  .header-nav-active #global-nav > ul {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; }

#header-utils {
  position: absolute;
  top: 0;
  right: 10px;
  z-index: 999;
  width: 160px; }
  #header-utils > div {
    position: relative;
    float: left;
    width: 80px;
    vertical-align: middle;
    text-align: center; }
    #header-utils > div .handle {
      padding: 0;
      position: relative;
      z-index: 1;
      display: block;
      width: 100%;
      line-height: 86px;
      text-align: center;
      -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
              transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
      #header-utils > div .handle i:before {
        display: block;
        line-height: 86px; }
    #header-utils > div .screen {
      position: fixed;
      top: 0;
      left: 50%;
      width: 80px;
      height: 86px;
      overflow: hidden;
      color: #444;
      opacity: 0;
      -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
              transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
      #header-utils > div .screen .bg {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: #fff;
        opacity: 0.9; }
      #header-utils > div .screen .content {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 40%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
        @media (max-width: 768px) {
          #header-utils > div .screen .content {
            width: 60%; } }
        #header-utils > div .screen .content form {
          margin: 0 auto;
          display: table;
          width: 100%;
          height: 100%; }
          #header-utils > div .screen .content form .form-inner {
            display: table-cell;
            vertical-align: middle; }
      #header-utils > div .screen.active {
        margin: 0 !important;
        position: fixed;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
        z-index: 5; }
  #header-utils #header-nav-handle {
    display: none; }
  #header-utils #header-search .screen {
    margin-left: 340px; }
    #header-utils #header-search .screen .content .input-field {
      margin: 0;
      float: left;
      width: 90%; }
      #header-utils #header-search .screen .content .input-field input {
        padding: 20px;
        border-bottom: 1px solid #0097A7;
        background: none;
        font-size: 30px; }
        @media (max-width: 480px) {
          #header-utils #header-search .screen .content .input-field input {
            font-size: 20px; } }
    #header-utils #header-search .screen .content .button-field {
      margin: 0;
      float: right;
      width: 10%;
      vertical-align: middle; }
      #header-utils #header-search .screen .content .button-field button {
        padding: 17px 10px;
        display: inline-block;
        line-height: inherit;
        font-size: 30px;
        -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
                transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
        @media (max-width: 480px) {
          #header-utils #header-search .screen .content .button-field button {
            font-size: 20px; } }
  #header-utils #header-account .screen {
    margin-left: 420px; }
    #header-utils #header-account .screen .content .alert {
      display: block;
      position: absolute;
      top: -77px;
      right: 0;
      left: 0;
      z-index: 1;
      visibility: hidden; }
    #header-utils #header-account .screen .content .login:after {
      display: table;
      clear: both;
      content: ""; }
    #header-utils #header-account .screen .content .login .input-field input {
      font-size: 18px;
      background: #efefef; }
      #header-utils #header-account .screen .content .login .input-field input:-webkit-autofill {
        box-shadow: inset 0 0 0 1000px #efefef; }
    #header-utils #header-account .screen .content .login .input-field label {
      -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
              transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
      #header-utils #header-account .screen .content .login .input-field label i:before {
        font-size: 20px; }
    #header-utils #header-account .screen .content .login .input-field.error label {
      color: #fff;
      background: #f44336; }
    #header-utils #header-account .screen .content .login .button-field {
      margin-top: 20px; }
      #header-utils #header-account .screen .content .login .button-field button {
        line-height: inherit;
        float: left;
        width: 49%; }
        #header-utils #header-account .screen .content .login .button-field button .loader-wrapper {
          margin: auto;
          display: none;
          position: absolute;
          top: -50%;
          right: -50%;
          bottom: -50%;
          left: -50%;
          width: 15px;
          height: 15px; }
        #header-utils #header-account .screen .content .login .button-field button .loader, #header-utils #header-account .screen .content .login .button-field button .loader:before, #header-utils #header-account .screen .content .login .button-field button .loader:after {
          border-radius: 50%;
          display: block;
          width: 15px;
          height: 15px;
          -webkit-animation-fill-mode: both;
                  animation-fill-mode: both;
          -webkit-animation: loader 1.5s infinite ease-in-out;
                  animation: loader 1.5s infinite ease-in-out; }
        #header-utils #header-account .screen .content .login .button-field button .loader {
          position: relative;
          top: -15px;
          -webkit-transform: translateZ(0);
                  transform: translateZ(0);
          -webkit-animation-delay: -0.18s;
                  animation-delay: -0.18s; }
          #header-utils #header-account .screen .content .login .button-field button .loader:before, #header-utils #header-account .screen .content .login .button-field button .loader:after {
            position: absolute;
            top: 0;
            content: ''; }
          #header-utils #header-account .screen .content .login .button-field button .loader:before {
            left: -25px;
            -webkit-animation-delay: -0.36s;
                    animation-delay: -0.36s; }
          #header-utils #header-account .screen .content .login .button-field button .loader:after {
            left: 25px; }
        #header-utils #header-account .screen .content .login .button-field button.loading .text {
          visibility: hidden; }
        #header-utils #header-account .screen .content .login .button-field button.loading .loader-wrapper {
          display: block; }
      #header-utils #header-account .screen .content .login .button-field a {
        float: right;
        width: 49%;
        color: #fff; }
      @media (max-width: 480px) {
        #header-utils #header-account .screen .content .login .button-field button,
        #header-utils #header-account .screen .content .login .button-field a {
          margin: 5px 0;
          float: none;
          width: 100%; } }
    #header-utils #header-account .screen .content .login .lostpassword {
      margin: 0;
      padding-top: 20px;
      clear: both; }
      #header-utils #header-account .screen .content .login .lostpassword a {
        color: #0097A7;
        text-decoration: underline; }
  #header-utils #header-account ul li a {
    padding: 11px 1em;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    white-space: nowrap;
    -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
            transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
    color: #fff; }
  #header-utils #header-account > ul {
    visibility: hidden; }
    #header-utils #header-account > ul > li {
      margin-top: 1px;
      position: absolute;
      right: 0;
      width: 200px;
      vertical-align: middle;
      background: #444; }
      #header-utils #header-account > ul > li ul {
        position: absolute;
        right: 0;
        width: 200px;
        z-index: 5;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
                transition: opacity 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
        #header-utils #header-account > ul > li ul li {
          margin-top: 1px;
          display: block;
          background: #666; }
  #header-utils #header-account .logged-in {
    padding: 0;
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    line-height: 86px;
    text-align: center;
    -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
            transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
    @media (max-width: 480px) {
      #header-utils #header-account .logged-in {
        line-height: 60px; } }
    #header-utils #header-account .logged-in i:before {
      display: block;
      line-height: 86px;
      color: #00BCD4; }
      @media (max-width: 480px) {
        #header-utils #header-account .logged-in i:before {
          line-height: 60px; } }
    #header-utils #header-account .logged-in + ul {
      float: right;
      height: 0;
      opacity: 0;
      visibility: hidden; }
      #header-utils #header-account .logged-in + ul > li {
        position: static; }
    #header-utils #header-account .logged-in:hover i:before {
      color: #fff; }
  @media (max-width: 768px) {
    #header-utils {
      right: 0;
      width: 25%; }
      #header-utils > div {
        width: 50%; } }
  @media (max-width: 480px) {
    #header-utils {
      width: 50%; }
      #header-utils > div {
        width: 33.333333333%; }
        #header-utils > div .handle {
          line-height: 60px; }
          #header-utils > div .handle i:before {
            line-height: 60px; }
      #header-utils #header-nav-handle {
        display: block; } }

.no-touch #header-utils > div .handle:hover {
  color: #fff;
  background: #0097A7; }

.no-touch #header-utils #header-search .screen .content .button-field button:hover {
  color: #0097A7;
  background: none; }

.no-touch #header-utils #header-account:hover {
  color: #fff;
  background: #0097A7; }
  .no-touch #header-utils #header-account:hover > ul {
    height: auto;
    visibility: visible;
    opacity: 1; }
    .no-touch #header-utils #header-account:hover > ul a:hover {
      background: #0097A7; }

.header-nav-active #header-utils #header-nav-handle button {
  color: #fff;
  background: #0097A7; }

@-webkit-keyframes loader {
  0%, 80%, 100% {
    box-shadow: 0 15px 0 -10px #ffffff;
    opacity: 0.3; }
  40% {
    box-shadow: 0 15px 0 0 #ffffff;
    opacity: 1; } }

@keyframes loader {
  0%, 80%, 100% {
    box-shadow: 0 15px 0 -10px #ffffff;
    opacity: 0.3; }
  40% {
    box-shadow: 0 15px 0 0 #ffffff;
    opacity: 1; } }

#mainvisual {
  position: relative;
  height: 190px;
  overflow: hidden; }
  #mainvisual .back {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
    #mainvisual .back img {
      margin: auto;
      position: absolute;
      top: 0;
      right: -50%;
      bottom: 0;
      left: -50%;
      width: 100%;
      height: auto;
      min-height: 200px; }
    #mainvisual .back:after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      content: "";
      background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwODM4ZiIgc3RvcC1vcGFjaXR5PSIwLjUiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwODM4ZiIgc3RvcC1vcGFjaXR5PSIwLjg1Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 131, 143, 0.5)), color-stop(100%, rgba(0, 131, 143, 0.85)));
      background: -webkit-linear-gradient(top, rgba(0, 131, 143, 0.5) 0%, rgba(0, 131, 143, 0.85) 100%);
      background: linear-gradient(to bottom, rgba(0, 131, 143, 0.5) 0%, rgba(0, 131, 143, 0.85) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8000838f', endColorstr='#d900838f',GradientType=0 );
      opacity: 0.6; }
  #mainvisual .front {
    display: table;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 20px;
    text-align: center; }
    #mainvisual .front .content {
      display: table-cell;
      vertical-align: middle; }
      #mainvisual .front .content > *:first-child {
        margin-top: 0; }
      #mainvisual .front .content > *:last-child {
        margin-bottom: 0; }
  @media (max-width: 768px) {
    #mainvisual {
      display: none; } }

@media (max-width: 768px) {
  .home #mainvisual {
    display: block; } }

#breadcrumb {
  padding: 8px 0;
  border-bottom: 1px solid #e9e9e9; }
  #breadcrumb ul {
    margin: 0;
    padding: 0;
    list-style: none;
    letter-spacing: -0.4em; }
    #breadcrumb ul li {
      display: inline-block;
      vertical-align: middle;
      letter-spacing: 0; }
      #breadcrumb ul li strong {
        font-weight: normal; }
      #breadcrumb ul li:before {
        margin: 0 0.5em;
        vertical-align: middle;
        font-family: icomoon;
        content: "\e7f0"; }
      #breadcrumb ul li:first-child:before {
        content: none; }
      #breadcrumb ul li .icon-home {
        display: block; }
        #breadcrumb ul li .icon-home:before {
          display: block; }
  @media (max-width: 768px) {
    #breadcrumb {
      display: none; } }

@media (max-width: 768px) {
  .home #breadcrumb {
    display: block; } }

#content {
  padding-top: 40px;
  padding-bottom: 40px;
  position: relative; }
  #content:after {
    display: table;
    clear: both;
    content: ""; }
  @media (max-width: 480px) {
    #content {
      padding-top: 10px; } }

#main {
  position: relative;
  float: left;
  width: 640px; }
  #main > h1:first-child {
    margin-top: 0; }
  @media (max-width: 1024px) {
    #main {
      float: none;
      width: auto; } }

.post-header {
  position: relative; }
  .post-header .meta {
    margin-bottom: 25px;
    display: table;
    background: url(../images/stripe.png); }
    .post-header .meta .col {
      padding-left: 20px;
      display: table-cell;
      vertical-align: middle; }
      .post-header .meta .col:first-child {
        padding-left: 0;
        width: 1%; }
    .post-header .meta .date {
      margin: 0;
      padding: 5px 5px 4px;
      line-height: 1.1;
      color: #fff;
      background: #232323;
      background: rgba(35, 35, 35, 0.9);
      font-size: 30px;
      font-family: 'Fjalla One', sans-serif; }
      .post-header .meta .date .year {
        display: block;
        line-height: 1.5;
        color: #ccc;
        font-size: 15px;
        text-align: center; }
      .post-header .meta .date .month:after {
        content: "."; }
    .post-header .meta .category,
    .post-header .meta .tag {
      margin: 0;
      padding: 3px 0;
      vertical-align: middle;
      color: #999;
      font-size: 12px; }
      .post-header .meta .category i,
      .post-header .meta .tag i {
        margin-right: 1em; }
      .post-header .meta .category a,
      .post-header .meta .tag a {
        margin-right: 1em;
        color: #999; }
        .post-header .meta .category a:hover,
        .post-header .meta .tag a:hover {
          color: #0097A7; }
  .post-header h1 {
    margin-top: 0;
    padding-bottom: 30px;
    position: relative;
    clear: both; }
    .post-header h1:after {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 5px;
      content: "";
      background: url(../images/stripe.png) repeat 0 0; }
    @media (max-width: 480px) {
      .post-header h1 {
        margin-top: 15px; }
        .post-header h1 strong {
          margin-bottom: 3px;
          display: block; } }

.social-links {
  margin-bottom: 30px;
  text-align: right;
  letter-spacing: -0.4em; }
  .social-links .item {
    margin: 5px;
    display: inline-block;
    letter-spacing: 0; }
    @media (max-width: 480px) {
      .social-links .item {
        margin: 2px; } }
    .social-links .item a {
      display: block;
      width: 32px;
      height: 32px; }
      @media (max-width: 480px) {
        .social-links .item a {
          width: 26px;
          height: 26px; } }

.post-content {
  line-height: 2; }
  .post-content > .title {
    padding-left: 2em;
    font-size: 18px; }
  @media (max-width: 480px) {
    .post-content {
      line-height: 1.6; } }

.post-categories {
  margin: 0 -5px; }
  .post-categories:after {
    display: table;
    clear: both;
    content: ""; }
  .post-categories article {
    padding: 0 5px;
    float: left;
    width: 33.333333333%; }
    @media (max-width: 768px) {
      .post-categories article {
        width: 50%; } }
    @media (max-width: 480px) {
      .post-categories article {
        width: 100%; } }
    .post-categories article a {
      padding: 10px 2em;
      border-radius: 3px;
      display: block;
      position: relative;
      font-size: 18px; }
      @media (max-width: 480px) {
        .post-categories article a {
          padding: 10px 1em; } }
      .post-categories article a .title {
        margin: 0; }
        .post-categories article a .title i {
          margin-right: 5px;
          border-width: 3px;
          border-style: solid;
          border-radius: 100%;
          display: inline-block;
          position: relative;
          top: -2px;
          width: 10px;
          height: 10px;
          vertical-align: middle; }
      .post-categories article a:hover {
        color: #fff;
        background: #0097A7;
        text-decoration: none; }
        .post-categories article a:hover .title i {
          border-color: #fff !important; }

.post-articles article {
  -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
          transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
  .post-articles article a {
    padding: 20px;
    display: block;
    height: 100%;
    color: #333;
    background: #fff; }
    .post-articles article a:hover,
    .post-articles article a:focus {
      text-decoration: none; }
  .post-articles article .article-title {
    margin: 0;
    padding: 1em 0 5px;
    font-weight: 600;
    font-size: 20px; }
  .post-articles article .date {
    margin: 0;
    padding: 5px 5px 4px;
    position: absolute;
    top: 40px;
    left: 20px;
    line-height: 1.1;
    color: #fff;
    background: #232323;
    background: rgba(35, 35, 35, 0.9);
    font-size: 30px;
    font-family: "Fjalla One", sans-serif; }
    .post-articles article .date .year {
      display: block;
      line-height: 1.5;
      color: #ccc;
      font-size: 15px;
      text-align: center; }
    .post-articles article .date .month:after {
      content: "."; }
  .post-articles article .category {
    margin-bottom: 20px;
    display: block;
    color: #999; }
  .post-articles article .description {
    margin: 0; }

@media (max-width: 480px) {
  .post-articles.grid img {
    width: 100%; } }

.post-comments {
  margin: 20px 0;
  padding: 10px;
  border-radius: 2px;
  background: #efefef url(../images/stripe-wide.png); }
  .post-comments:first-child {
    margin-top: 0; }
  .post-comments:last-child {
    margin-bottom: 0; }
  .post-comments h2, .post-comments h3 {
    margin: 0 0 10px;
    padding: 0 10px; }
  .post-comments .comment-respond {
    margin: 0 0 20px;
    padding: 10px;
    border-radius: 2px;
    background: #f5f5f5; }
    .post-comments .comment-respond > *:first-child {
      margin-top: 0; }
    .post-comments .comment-respond > *:last-child {
      margin-bottom: 0; }
  .post-comments .comment-reply-title {
    display: none; }
  .post-comments form .logged-in-as {
    margin: 0 0 10px; }
  .post-comments form .form-submit {
    margin: 0;
    text-align: right; }

#comments-list {
  margin: 0;
  padding: 0;
  border-radius: 2px;
  list-style: none;
  background: #f5f5f5; }
  #comments-list ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  #comments-list li {
    padding: 10px;
    -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
            transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
    #comments-list li .comment-inner {
      display: table;
      width: 100%; }
    #comments-list li .comment-avatar {
      display: table-cell;
      width: 100px;
      vertical-align: top; }
      #comments-list li .comment-avatar img {
        border: 1px solid #e8e8e8;
        border-radius: 50%; }
    #comments-list li .comment-body {
      padding: 10px 0 20px;
      display: table-cell;
      position: relative; }
      #comments-list li .comment-body .comment-header {
        margin-bottom: 5px; }
        #comments-list li .comment-body .comment-header:after {
          display: table;
          clear: both;
          content: ""; }
        #comments-list li .comment-body .comment-header .author {
          margin: 0 1em 0 0;
          display: inline-block;
          color: #000;
          font-weight: bold; }
        #comments-list li .comment-body .comment-header .date {
          margin: 0;
          display: inline-block;
          color: #999;
          font-size: 12px; }
        #comments-list li .comment-body .comment-header .tool {
          float: right; }
          #comments-list li .comment-body .comment-header .tool a, #comments-list li .comment-body .comment-header .tool span {
            margin-left: 3px;
            border-radius: 50%;
            display: block;
            float: left;
            width: 22px;
            line-height: 22px;
            color: #fff;
            background: #0097A7;
            text-align: center;
            font-size: 11px; }
            #comments-list li .comment-body .comment-header .tool a.approve, #comments-list li .comment-body .comment-header .tool span.approve {
              background: #ffc107; }
          #comments-list li .comment-body .comment-header .tool a:hover {
            background: #00c5da;
            text-decoration: none; }
      #comments-list li .comment-body .comment-content {
        margin-bottom: 5px;
        font-size: 12px; }
        #comments-list li .comment-body .comment-content > *:first-child {
          margin-top: 0; }
        #comments-list li .comment-body .comment-content > *:last-child {
          margin-bottom: 0; }
        #comments-list li .comment-body .comment-content textarea {
          padding: 10px 5px;
          border: 1px solid #e8e8e8;
          height: 20em;
          line-height: 1.4; }
      #comments-list li .comment-body .comment-footer {
        padding-top: 10px;
        border-top: 1px solid #e8e8e8;
        text-align: right; }
        #comments-list li .comment-body .comment-footer .comment-like {
          margin: 0; }
          #comments-list li .comment-body .comment-footer .comment-like .comment-like-text {
            display: none;
            color: #999;
            font-size: 12px; }
            #comments-list li .comment-body .comment-footer .comment-like .comment-like-text .num {
              font-weight: bold; }
    #comments-list li .children {
      margin: -10px -10px 0 30px; }
    #comments-list li.bypostauthor {
      color: #8BC34A; }
      #comments-list li.bypostauthor .comment-body .comment-header .author {
        color: #8BC34A; }
    #comments-list li.liked > .comment-inner .comment-body .comment-footer .comment-like-text {
      display: inline-block; }
    #comments-list li.liked > .comment-inner .comment-body .comment-footer .btn, #comments-list li.liked > .comment-inner .comment-body .comment-footer .post-comments form .form-submit input, .post-comments form .form-submit #comments-list li.liked > .comment-inner .comment-body .comment-footer input {
      background: #006974; }
      #comments-list li.liked > .comment-inner .comment-body .comment-footer .btn:hover, #comments-list li.liked > .comment-inner .comment-body .comment-footer .post-comments form .form-submit input:hover, .post-comments form .form-submit #comments-list li.liked > .comment-inner .comment-body .comment-footer input:hover {
        background: #00808d; }
    #comments-list li:hover {
      background: #fff; }
  #comments-list > li:last-of-type .comment-body {
    padding-bottom: 0; }

.wp-pagenavi {
  margin-top: 30px;
  position: relative;
  background: #fff url(../images/stripe-wide-pale.png);
  text-align: center;
  letter-spacing: -0.4em; }
  .wp-pagenavi a, .wp-pagenavi span {
    padding: 12px 7px;
    display: inline-block;
    position: relative;
    letter-spacing: 0; }
  .wp-pagenavi a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0097A7; }
  .wp-pagenavi a:hover, .wp-pagenavi a:focus {
    text-decoration: none; }
    .wp-pagenavi a:hover:after, .wp-pagenavi a:focus:after {
      content: ""; }
  .wp-pagenavi .current:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background: #0097A7; }
  .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    padding-right: 14px;
    padding-left: 14px;
    position: absolute;
    top: 0; }
    .wp-pagenavi .previouspostslink:before, .wp-pagenavi .nextpostslink:before {
      position: absolute;
      top: 7px;
      bottom: 7px;
      content: ""; }
    .wp-pagenavi .previouspostslink i, .wp-pagenavi .nextpostslink i {
      display: inline-block;
      position: relative;
      top: -2px;
      vertical-align: middle; }
      .wp-pagenavi .previouspostslink i:before, .wp-pagenavi .nextpostslink i:before {
        display: block;
        font-size: 17px; }
  .wp-pagenavi .previouspostslink {
    left: 0; }
    .wp-pagenavi .previouspostslink i {
      margin-right: 5px; }
    .wp-pagenavi .previouspostslink:before {
      border-right: 1px solid #e8e8e8;
      right: -1px; }
  .wp-pagenavi .nextpostslink {
    right: 0; }
    .wp-pagenavi .nextpostslink i {
      margin-left: 5px; }
    .wp-pagenavi .nextpostslink:before {
      border-left: 1px solid #e8e8e8;
      left: -1px; }

#side {
  float: right;
  width: 300px; }
  #side .widget {
    margin: 20px 0;
    padding: 10px;
    border-radius: 2px;
    background: #efefef url(../images/stripe-wide.png); }
    #side .widget:first-child {
      margin-top: 0; }
    #side .widget:last-child {
      margin-bottom: 0; }
    #side .widget ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      #side .widget ul li {
        position: relative; }
        #side .widget ul li:before {
          content: "\e7f0";
          color: #0097A7;
          font-family: icomoon; }
    #side .widget .widget-title {
      margin: 0 0 10px;
      padding: 0 10px;
      font-weight: 600;
      font-size: 14px; }
    #side .widget .widget-title + * {
      margin: 0;
      padding: 10px;
      border-radius: 2px;
      background: #f5f5f5; }
      #side .widget .widget-title + * > *:first-child {
        margin-top: 0; }
      #side .widget .widget-title + * > *:last-child {
        margin-bottom: 0; }
    #side .widget .widget-ads {
      margin: -10px; }
      #side .widget .widget-ads ins {
        display: block !important; }
    #side .widget .widget-rss {
      padding: 0; }
      #side .widget .widget-rss li {
        border-bottom: 1px dotted #e8e8e8; }
        #side .widget .widget-rss li:before {
          content: none; }
        #side .widget .widget-rss li:last-child {
          border-bottom: 0; }
        #side .widget .widget-rss li a {
          padding: 10px;
          display: block; }
          #side .widget .widget-rss li a .rss-date {
            margin-right: 1em;
            color: #999;
            font-size: 12px; }
          #side .widget .widget-rss li a cite {
            color: #999;
            font-size: 12px; }
          #side .widget .widget-rss li a .rss-title {
            display: block;
            color: #333;
            -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
                    transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
          #side .widget .widget-rss li a:hover {
            background: #fff;
            text-decoration: none; }
            #side .widget .widget-rss li a:hover .rss-title {
              color: #0097A7; }
    #side .widget .widget-rss-icon {
      float: right; }
      #side .widget .widget-rss-icon:hover {
        text-decoration: none; }
    #side .widget .widget-links li:before {
      content: none; }
    #side .widget .widget-links li img {
      width: 100%; }
  @media (max-width: 1024px) {
    #side {
      margin-top: 40px;
      float: none;
      width: auto; } }

#pagetop {
  position: fixed;
  bottom: 10px;
  right: 10px; }
  #pagetop a {
    display: block;
    position: relative;
    width: 40px;
    line-height: 40px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
            transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
    #pagetop a:hover {
      background: #0097A7;
      text-decoration: none; }
  #pagetop:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: #232323;
    opacity: 0.9; }

#footer {
  border-top: 5px solid #00BCD4;
  padding: 20px 0;
  color: #333;
  background: #fff; }
  #footer:after {
    display: table;
    clear: both;
    content: ""; }
  #footer ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
  #footer a {
    color: #333; }

#footer-logo {
  float: left;
  width: 100px; }
  @media (max-width: 480px) {
    #footer-logo {
      margin: 0 auto 10px;
      float: none; } }

#footer-nav {
  margin-left: 120px;
  text-align: right; }
  #footer-nav ul {
    padding: 8px 0;
    font-size: 12px; }
    #footer-nav ul li {
      margin-left: 10px;
      display: inline-block; }
  @media (max-width: 480px) {
    #footer-nav {
      margin: 0;
      text-align: left; } }

#copyright {
  padding: 8px 0;
  display: block;
  font-size: 12px;
  text-align: right; }
  @media (max-width: 480px) {
    #copyright {
      text-align: center; } }

html.frame #header,
html.frame #mainvisual,
html.frame #breadcrumb,
html.frame #side,
html.frame #pagetop,
html.frame #footer {
  display: none !important; }

html.frame #content {
  padding: 40px 20px;
  max-width: none !important; }

html.frame #main {
  width: auto !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .post-content > h2, .h3, .post-content > h3, .h4, .h4, .h5, .h6 {
  line-height: 1.1; }

h1, h2, h3,
.h1, .h2, .post-content > h2, .h3, .post-content > h3 {
  margin: 40px 0 1em;
  font-weight: normal; }

h4, h5, h6,
.h4, .h5, .h6 {
  margin: 20px 0; }

h1, .h1 {
  font-size: 33px; }
  @media (max-width: 480px) {
    h1, .h1 {
      font-size: 27px; } }

h2, .h2, .post-content > h2 {
  font-size: 27px; }
  @media (max-width: 480px) {
    h2, .h2, .post-content > h2 {
      font-size: 22px; } }

h3, .h3, .post-content > h3 {
  font-size: 22px; }
  @media (max-width: 480px) {
    h3, .h3, .post-content > h3 {
      font-size: 18px; } }

h4, .h4 {
  font-size: 18px; }
  @media (max-width: 480px) {
    h4, .h4 {
      font-size: 16px; } }

h5, .h5 {
  font-size: 16px; }
  @media (max-width: 480px) {
    h5, .h5 {
      font-size: 14px; } }

h6, .h6 {
  font-size: 14px; }

.h2, .post-content > h2 {
  padding: 10px 0 10px 1em;
  border-left: 4px solid #00BCD4; }
  @media (max-width: 480px) {
    .h2, .post-content > h2 {
      padding-left: 10px; } }

.h3, .post-content > h3 {
  position: relative; }
  .h3:before, .post-content > h3:before {
    margin-top: 0.5em;
    margin-right: 0.5em;
    display: block;
    float: left;
    width: 1em;
    height: 1px;
    content: "";
    background: #cfcfcf; }
  @media (max-width: 480px) {
    .h3:before, .post-content > h3:before {
      margin-left: 2px;
      width: 0.5em; } }

p {
  margin: 0 0 20px; }

small, .small {
  font-size: 12px; }

.color-primary {
  color: #00BCD4; }

.color-warning {
  color: #f44336; }

.color-muted {
  color: #999; }

.textleft {
  text-align: left; }

.textcenter {
  text-align: center; }

.textright {
  text-align: right; }

.alignleft {
  display: inline;
  float: left; }

img.alignleft {
  margin-right: 20px;
  margin-bottom: 20px; }

.alignright {
  display: inline;
  float: right; }

img.alignright {
  margin-left: 20px;
  margin-bottom: 20px; }

.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block; }

ol, ul {
  margin: 0 0 20px;
  padding: 0 0 0 20px; }

blockquote {
  margin: 20px 2.5em;
  padding: 10px;
  border-radius: 3px;
  position: relative;
  background: #e8e8e8; }
  blockquote:before,
  blockquote:after {
    position: absolute;
    color: #ccc;
    font-family: icomoon;
    font-size: 24px; }
  blockquote:before {
    top: -0.55em;
    left: -1.5em;
    content: "\e677"; }
  blockquote:after {
    right: -1.5em;
    bottom: -0.55em;
    content: "\e678"; }

.grid {
  margin-right: -10px;
  margin-left: -10px; }
  .grid:after {
    display: table;
    clear: both;
    content: ""; }
  .grid .grid-row:after {
    display: table;
    clear: both;
    content: ""; }
  .grid .grid-item {
    padding: 10px;
    position: relative;
    float: left;
    min-height: 1px; }
  .grid .col1 {
    width: 8.33333%; }
  .grid .col2 {
    width: 16.66667%; }
  .grid .col3 {
    width: 25%; }
  .grid .col4 {
    width: 33.33333%; }
  .grid .col5 {
    width: 41.66667%; }
  .grid .col6 {
    width: 50%; }
  .grid .col7 {
    width: 58.33333%; }
  .grid .col8 {
    width: 66.66667%; }
  .grid .col9 {
    width: 75%; }
  .grid .col10 {
    width: 83.33333%; }
  .grid .col11 {
    width: 91.66667%; }
  .grid .col12 {
    width: 100%; }
  .grid .col13 {
    width: 108.33333%; }
  .grid .offset1 {
    margin-left: 8.33333%; }
  .grid .offset2 {
    margin-left: 16.66667%; }
  .grid .offset3 {
    margin-left: 25%; }
  .grid .offset4 {
    margin-left: 33.33333%; }
  .grid .offset5 {
    margin-left: 41.66667%; }
  .grid .offset6 {
    margin-left: 50%; }
  .grid .offset7 {
    margin-left: 58.33333%; }
  .grid .offset8 {
    margin-left: 66.66667%; }
  .grid .offset9 {
    margin-left: 75%; }
  .grid .offset10 {
    margin-left: 83.33333%; }
  .grid .offset11 {
    margin-left: 91.66667%; }
  .grid .offset12 {
    margin-left: 100%; }
  .grid .offset13 {
    margin-left: 108.33333%; }
  .grid .pull1 {
    left: 8.33333%; }
  .grid .pull2 {
    left: 16.66667%; }
  .grid .pull3 {
    left: 25%; }
  .grid .pull4 {
    left: 33.33333%; }
  .grid .pull5 {
    left: 41.66667%; }
  .grid .pull6 {
    left: 50%; }
  .grid .pull7 {
    left: 58.33333%; }
  .grid .pull8 {
    left: 66.66667%; }
  .grid .pull9 {
    left: 75%; }
  .grid .pull10 {
    left: 83.33333%; }
  .grid .pull11 {
    left: 91.66667%; }
  .grid .pull12 {
    left: 100%; }
  .grid .pull13 {
    left: 108.33333%; }
  .grid .push1 {
    right: 8.33333%; }
  .grid .push2 {
    right: 16.66667%; }
  .grid .push3 {
    right: 25%; }
  .grid .push4 {
    right: 33.33333%; }
  .grid .push5 {
    right: 41.66667%; }
  .grid .push6 {
    right: 50%; }
  .grid .push7 {
    right: 58.33333%; }
  .grid .push8 {
    right: 66.66667%; }
  .grid .push9 {
    right: 75%; }
  .grid .push10 {
    right: 83.33333%; }
  .grid .push11 {
    right: 91.66667%; }
  .grid .push12 {
    right: 100%; }
  .grid .push13 {
    right: 108.33333%; }
  @media (max-width: 1024px) {
    .grid .col6 {
      width: 50%; } }
  @media (max-width: 768px) {
    .grid .col6 {
      width: 50%; } }
  @media (max-width: 480px) {
    .grid .grid-item {
      float: none;
      width: 100%; } }

table {
  margin: 0 0 20px;
  width: 100%; }

th, td {
  padding: 10px;
  border: 1px solid #fff;
  text-align: left;
  background: #efefef; }

thead th {
  color: #fff;
  background: #444;
  text-align: center; }

tbody tr:nth-child(even) td {
  background: #e2e2e2; }

tbody th {
  color: #fff;
  background: #444; }

label {
  cursor: pointer; }

input {
  outline: none; }
  input:-webkit-autofill {
    box-shadow: inset 0 0 0 1000px white; }

input[type=text],
input[type=password],
input[type=number] {
  padding: 10px;
  border: 0;
  border-radius: 3px;
  width: 100%;
  -webkit-appearance: none; }

textarea {
  padding: 10px;
  border: 0;
  border-radius: 3px;
  width: 100%;
  outline: none;
  -webkit-appearance: none; }

button {
  border: 0;
  background: none;
  outline: none;
  -webkit-appearance: none; }

label input[type=radio],
label input[type=checkbox] {
  margin-right: 3px; }

.form-content .note {
  color: #999;
  font-size: 12px; }

.form-content .alert {
  display: none; }

.form-content .grid-item:first-child,
.form-content .grid-item:last-child {
  padding-top: 0;
  padding-bottom: 0; }

.form-content.has-errors .alert {
  margin-bottom: 30px;
  display: block; }

.input-field {
  margin: 10px 0;
  position: relative; }

.input-field.required label {
  color: #f44336; }

.input-group {
  display: table;
  width: 100%; }
  .input-group > label {
    padding: 0 10px;
    border-radius: 3px 0 0 3px;
    width: 1%;
    display: table-cell;
    vertical-align: middle;
    background: rgba(0, 0, 0, 0.1);
    text-align: center; }
    .input-group > label i {
      display: block; }
    .input-group > label span {
      display: inline-block;
      width: 6em;
      line-height: 1.33333;
      vertical-align: middle;
      font-size: 12px;
      white-space: nowrap; }
  .input-group > input[type=text],
  .input-group > input[type=password],
  .input-group > textarea,
  .input-group > .stack {
    display: table-cell;
    vertical-align: middle; }

.stack {
  padding: 5px 10px; }
  .stack:first-of-type {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0; }
  .stack:last-of-type {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0; }

.radio-inline,
.checkbox-inline {
  padding: 5px 10px;
  display: inline-block; }
  .radio-inline:last-of-type,
  .checkbox-inline:last-of-type {
    margin-right: 0; }

.button-field {
  margin: 30px 0;
  text-align: center; }

.btn, .post-comments form .form-submit input {
  margin: 0;
  padding: 10px 20px;
  border: 0;
  border-radius: 3px;
  display: inline-block;
  position: relative;
  min-width: 150px;
  color: #fff;
  background: #0097A7;
  outline: none;
  box-shadow: none;
  -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
          transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
  -webkit-appearance: none; }
  .btn i, .post-comments form .form-submit input i {
    margin: -10px 20px -10px -20px;
    display: table;
    float: left;
    width: 3em;
    height: 3em;
    background: rgba(0, 0, 0, 0.1); }
    .btn i:before, .post-comments form .form-submit input i:before {
      display: table-cell;
      vertical-align: middle; }
  .btn:hover, .post-comments form .form-submit input:hover, .btn:active, .post-comments form .form-submit input:active {
    color: #fff;
    background: #00c5da;
    text-decoration: none; }
  .btn[disabled], .post-comments form .form-submit input[disabled] {
    color: #999 !important;
    background: #c9c9c9 !important; }
  .btn.inactive:after, .post-comments form .form-submit input.inactive:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: #000;
    opacity: 0.4; }

.no-touch .btn:hover, .no-touch .post-comments form .form-submit input:hover, .post-comments form .form-submit .no-touch input:hover {
  color: #fff;
  background: #00c5da;
  text-decoration: none; }
  .no-touch .btn:hover.inactive:after, .no-touch .post-comments form .form-submit input:hover.inactive:after, .post-comments form .form-submit .no-touch input:hover.inactive:after {
    content: none; }

.btn-large {
  padding: 10px;
  display: block;
  width: 100%;
  text-align: center; }

.btn-small {
  padding: 5px 10px;
  min-width: 100px;
  font-size: 11px; }
  .btn-small i {
    margin: -5px 10px -5px -10px;
    width: 2.45454545454em;
    height: 2.45454545454em; }

.btn-choose {
  color: #333;
  background: #efefef; }
  .btn-choose i {
    color: #fff; }

.vote-buttons {
  margin: 30px 0;
  display: table;
  table-layout: fixed;
  width: 100%; }
  .vote-buttons .button {
    padding: 0 1px;
    display: table-cell;
    width: 20%;
    vertical-align: middle;
    color: #fff;
    text-align: center; }
    .vote-buttons .button button {
      display: block;
      width: 100%;
      line-height: 2em;
      min-width: 0;
      white-space: nowrap; }
      .vote-buttons .button button i {
        display: none; }
    .vote-buttons .button:nth-child(1) button {
      background: #f44336; }
    .vote-buttons .button:nth-child(1) button:hover {
      background: #f77066; }
    .vote-buttons .button:nth-child(2) button {
      background: #ff9800; }
    .vote-buttons .button:nth-child(2) button:hover {
      background: #ffad33; }
    .vote-buttons .button:nth-child(3) button {
      background: #ffc107; }
    .vote-buttons .button:nth-child(3) button:hover {
      background: #ffce3a; }
    .vote-buttons .button:nth-child(4) button {
      background: #cddc39; }
    .vote-buttons .button:nth-child(4) button:hover {
      background: #d8e464; }
    .vote-buttons .button:nth-child(5) button {
      background: #8bc34a; }
    .vote-buttons .button:nth-child(5) button:hover {
      background: #a4d070; }

/*==================================================================================================
* Lists
==================================================================================================*/
.borderd li {
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e8e8e8; }
  .borderd li:last-child {
    margin-bottom: 0;
    border-bottom: 0; }

.alert {
  padding: 10px;
  border-radius: 3px;
  position: relative;
  text-align: left;
  background: #efefef; }
  .alert:after {
    display: table;
    clear: both;
    content: ""; }
  .alert a {
    color: #fff !important;
    text-decoration: underline; }
  .alert .icon {
    margin-right: -47px;
    float: left;
    vertical-align: middle;
    width: 47px;
    height: 47px;
    line-height: 47px;
    color: #fff;
    font-size: 30px;
    text-align: center; }
  .alert .alert-body {
    padding-left: 55px;
    padding-right: 35px; }
    .alert .alert-body .title {
      margin: 0;
      display: inline-block;
      vertical-align: middle;
      color: #fff;
      font-weight: bold; }
    .alert .alert-body .message,
    .alert .alert-body .error {
      margin: 0;
      font-size: 12px;
      opacity: 0.8; }
      .alert .alert-body .message strong,
      .alert .alert-body .error strong {
        color: #fff;
        font-weight: bold; }
  .alert .close {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #000;
    opacity: 0.7; }

.alert-success {
  color: #fff;
  background: #abcf82; }

.alert-warning {
  color: #fff;
  background: #f44336; }

.well {
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 2px;
  background: #efefef; }
  .well > *:first-child {
    margin-top: 0; }
  .well > *:last-child {
    margin-bottom: 0; }

#issue-bar-chart {
  position: relative; }
  #issue-bar-chart .tip {
    padding: 2px 5px;
    border-radius: 5px;
    position: absolute;
    z-index: 10;
    visibility: hidden;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    font-size: 12px;
    white-space: nowrap; }
  #issue-bar-chart svg {
    margin: 0 auto; }
  #issue-bar-chart .legend text {
    fill: #fff;
    font-size: 12px; }

#issue-sunburst-chart {
  margin: 0 100px;
  position: relative; }
  #issue-sunburst-chart .tip {
    padding: 2px 5px;
    border-radius: 5px;
    position: absolute;
    z-index: 10;
    visibility: hidden;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    font-size: 12px;
    white-space: nowrap; }
  #issue-sunburst-chart svg {
    margin: 0 auto; }
    #issue-sunburst-chart svg text {
      fill: #fff;
      font-size: 12px; }
  @media (max-width: 768px) {
    #issue-sunburst-chart {
      margin: 0; } }

#issue-pros_and_cons .inner {
  padding: 10px;
  border-radius: 3px;
  position: relative;
  overflow: hidden;
  background: #efefef url(../images/stripe-wide.png); }
  #issue-pros_and_cons .inner h3 {
    margin: -10px -10px 0;
    padding: 10px 20px;
    font-weight: bold;
    font-size: 18px; }
  #issue-pros_and_cons .inner .content {
    padding: 10px;
    border-top: 2px solid #00BCD4;
    background: #fff url(../images/stripe-wide-pale.png); }
    #issue-pros_and_cons .inner .content > *:first-child {
      margin-top: 0; }
    #issue-pros_and_cons .inner .content > *:last-child {
      margin-bottom: 0; }
  #issue-pros_and_cons .inner:before {
    position: absolute;
    bottom: -40px;
    right: 10px;
    content: "\e670";
    font-family: icomoon;
    font-size: 100px;
    opacity: 0.1; }

#issue-pros_and_cons .opposite h3 span {
  color: #f44336; }

#issue-pros_and_cons .opposite .content {
  border-color: #f44336; }

#issue-pros_and_cons .opposite .inner:before {
  color: #f44336; }

#issue-pros_and_cons .favor h3 span {
  color: #8bc34a; }

#issue-pros_and_cons .favor .content {
  border-color: #8bc34a; }

#issue-pros_and_cons .favor .inner:before {
  color: #8bc34a; }

#issue-qa {
  margin: 0 0 20px; }
  #issue-qa dt {
    margin-bottom: 1.5em;
    padding-left: 2em;
    position: relative;
    font-size: 22px; }
    #issue-qa dt:before {
      position: absolute;
      top: 0;
      left: 0;
      line-height: 1.5;
      content: "Q";
      color: #00BCD4;
      font-family: Georgia, "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
      font-size: 28px; }
    #issue-qa dt:after {
      border-bottom: 1px solid #e8e8e8;
      position: absolute;
      bottom: -0.5em;
      left: 0;
      width: 100px;
      content: ""; }
  #issue-qa dd {
    margin: 0;
    padding-left: 3em;
    position: relative;
    line-height: 1.3; }
    #issue-qa dd:before {
      position: absolute;
      top: -0.4em;
      left: 0;
      line-height: 1.5;
      content: "A";
      color: #008fa1;
      font-family: Georgia, "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
      font-size: 28px; }
    #issue-qa dd p {
      margin-bottom: 0.5em; }
  #issue-qa dd + dt {
    margin-top: 30px; }

#opinion-socials {
  margin: 0 0 -47px auto;
  padding: 0;
  border-spacing: 0;
  border-collapse: collapse;
  display: table;
  table-layout: fixed;
  position: relative;
  z-index: 1;
  width: 33.333333333%;
  list-style: none;
  background: #fff; }
  #opinion-socials li {
    border: 1px solid #e8e8e8;
    display: table-cell;
    width: 25%;
    vertical-align: middle;
    color: #c9c9c9;
    background: url(../images/stripe-wide-pale.png);
    font-size: 18px;
    text-align: center; }
    #opinion-socials li a, #opinion-socials li span {
      display: block;
      line-height: 55px; }
    #opinion-socials li a:hover, #opinion-socials li a:focus {
      color: #fff;
      background: #0097A7;
      text-decoration: none; }

#opinion-stance {
  clear: both; }
  @media (max-width: 768px) {
    #opinion-stance {
      margin: 10px -10px 50px;
      overflow-x: scroll; } }
  #opinion-stance .wrapper {
    margin: 0;
    display: table;
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
    font-size: 12px; }
    @media (max-width: 768px) {
      #opinion-stance .wrapper {
	  	width: 500px;
	  	margin: 0;
        width: auto;
        min-width: 100%; } }
  #opinion-stance .header {
    display: table-row; }
    #opinion-stance .header:before {
      display: table-cell;
      width: 30%;
      content: ""; }
    #opinion-stance .header:after {
      display: table-cell;
      width: 15%;
      content: ""; }
    #opinion-stance .header > div {
      padding: 5px 0;
      border: 1px solid #fff;
      display: table-cell;
      width: 9%;
      min-width: 50px;
      vertical-align: middle;
      color: #fff;
      text-align: center;
      white-space: nowrap; }
      @media (max-width: 768px) {
        #opinion-stance .header > div {
          padding-right: 5px;
          padding-left: 5px; } }
    #opinion-stance .header .stance1 {
      background: #f44336; }
    #opinion-stance .header .stance2 {
      background: #ff9800; }
    #opinion-stance .header .stance3 {
      background: #ffc107; }
    #opinion-stance .header .stance4 {
      background: #cddc39; }
    #opinion-stance .header .stance5 {
      background: #8bc34a; }
  #opinion-stance .item {
    display: table-row; }
    #opinion-stance .item .title {
      padding: 10px;
      border: 1px solid #e8e8e8;
      display: table-cell;
      width: 30%;
      vertical-align: middle; }
      @media (max-width: 768px) {
        #opinion-stance .item .title {
          width: auto; } }
      #opinion-stance .item .title p {
        margin: 0;
        width: auto;
        font-size: 11px;
        padding-top: 4px;
        padding-bottom: 4px;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.2;
        white-space: nowrap; }
        @media (max-width: 768px) {
          #opinion-stance .item .title p {
            width: 11em; 
	        font-size: 11px;
	        padding-top: 4px;
	        padding-bottom: 4px;
            } }
    #opinion-stance .item .cell {
      display: table-cell;
      border: 1px solid #e8e8e8;
      width: 9%;
      vertical-align: middle;
      text-align: center;
      -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
              transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
      #opinion-stance .item .cell .stance1 {
        color: #f44336; }
      #opinion-stance .item .cell .stance2 {
        color: #ff9800; }
      #opinion-stance .item .cell .stance3 {
        color: #ffc107; }
      #opinion-stance .item .cell .stance4 {
        color: #cddc39; }
      #opinion-stance .item .cell .stance5 {
        color: #8bc34a; }
      #opinion-stance .item .cell .basis {
        position: relative; }
        #opinion-stance .item .cell .basis .inner {
          padding: 20px;
          border: 1px solid #e8e8e8;
          border-radius: 2px;
          position: absolute;
          top: 0;
          left: 50%;
          z-index: 5;
          max-width: 300px;
          background: #fff;
          text-align: left;
          box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
          opacity: 0;
          visibility: hidden;
          -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
                  transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
          #opinion-stance .item .cell .basis .inner > *:first-child {
            margin-top: 0; }
          #opinion-stance .item .cell .basis .inner > *:last-child {
            margin-bottom: 0; }
      #opinion-stance .item .cell.has-stance {
        cursor: pointer; }
        #opinion-stance .item .cell.has-stance:hover {
          background: #0097A7; }
          #opinion-stance .item .cell.has-stance:hover .stance {
            color: #fff; }
        #opinion-stance .item .cell.has-stance a {
          padding: 7px 0;
          display: block;
          text-decoration: none; }
    #opinion-stance .item .button {
      display: table-cell;
      width: 15%;
      vertical-align: middle;
      text-align: right; }
      @media (max-width: 768px) {
        #opinion-stance .item .button {
          padding-left: 10px; } }
      #opinion-stance .item .button .toggle {
        margin-left: auto;
        padding: 5px 10px;
        border-radius: 3px;
        display: block;
        position: relative;
        width: 100px;
        height: 28px;
        overflow: hidden;
        background: #efefef;
        font-size: 11px;
        white-space: nowrap; }
        #opinion-stance .item .button .toggle .track {
          padding: 0;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          width: 160px;
          -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
                  transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
          #opinion-stance .item .button .toggle .track i {
            display: block;
            float: left;
            width: 40px;
            line-height: 28px;
            color: #fff;
            background: rgba(0, 0, 0, 0.1);
            -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
                    transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }
          #opinion-stance .item .button .toggle .track span {
            display: block;
            float: left;
            width: 60px;
            line-height: 28px; }
            #opinion-stance .item .button .toggle .track span.favor {
              color: #fff;
              background: #0097A7; }
          #opinion-stance .item .button .toggle .track.active {
            right: -60px; }
            #opinion-stance .item .button .toggle .track.active i {
              background: #008998; }
    #opinion-stance .item.disabled .title,
    #opinion-stance .item.disabled .cell {
      background: #efefef; }
    #opinion-stance .item.disabled .button .toggle:before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 4;
      content: "";
      background: #fff;
      opacity: 0.7; }

#matching #opinion-stance {
  position: relative; }
  #matching #opinion-stance .wrapper {
    table-layout: fixed; }
  #matching #opinion-stance .header:after {
    content: none; }
  #matching #opinion-stance .header > div {
    width: 14%; }
  #matching #opinion-stance .item .cell {
    width: 14%; }
  @media (max-width: 768px) {
    #matching #opinion-stance .item .title {
      width: 15%; }
      #matching #opinion-stance .item .title p {
        width: auto; } }
  #matching #opinion-stance #matching-chart {
    position: absolute; }

#do_matching .results:after {
  display: table;
  clear: both;
  content: ""; }

#do_matching .results .item {
  padding: 0 8px;
  float: left;
  width: 33.333333333%; }
  @media (max-width: 480px) {
    #do_matching .results .item {
      margin: 5px 0;
      width: 100%; } }

#do_matching .results .inner {
  padding: 0 8px 8px;
  background: url(../images/stripe.png); }

#do_matching .results .title {
  margin: 0;
  padding: 10px 0 10px 8px;
  border-bottom: 2px solid transparent;
  font-size: 15px; }
  #do_matching .results .title strong {
    font-size: 20px; }

#do_matching .results .content {
  padding: 15px 0 25px;
  border-radius: 2px;
  background: #fff;
  text-align: center; }
  #do_matching .results .content .name {
    margin: 0 0 10px;
    font-size: 15px; }
    #do_matching .results .content .name strong {
      font-size: 24px; }

#do_matching #opinion-stance {
  position: relative; }
  #do_matching #opinion-stance .wrapper {
    table-layout: fixed; }
  #do_matching #opinion-stance .header:after {
    content: none; }
  #do_matching #opinion-stance .header > div {
    width: 14%; }
  @media (max-width: 768px) {
    #do_matching #opinion-stance .item .title {
      width: 15%; }
      #do_matching #opinion-stance .item .title p {
        width: 13em;
        font-size: 13px;
        padding-top: 2px;
        padding-bottom: 2px;
         } }
  #do_matching #opinion-stance #matching-chart {
    position: absolute; }

#matching-legend {
  margin: 0 0 20px auto;
  display: block;
  text-align: center; }
  #matching-legend .item {
    padding-left: 2em;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap; }
    #matching-legend .item .bar {
      margin: 0 10px;
      border-top: 3px dotted transparent;
      position: relative;
      display: inline-block;
      height: 4px;
      width: 20px;
      vertical-align: middle; }
      #matching-legend .item .bar .head, #matching-legend .item .bar .bottom {
        margin-top: -8px;
        border: 3px solid transparent;
        border-radius: 100%;
        position: absolute;
        top: 50%;
        width: 11px;
        height: 11px;
        content: "";
        background: #fff; }
      #matching-legend .item .bar .head {
        left: -9px; }
      #matching-legend .item .bar .bottom {
        right: -9px; }
    #matching-legend .item .name {
      display: inline-block;
      vertical-align: middle;
      font-size: 12px; }
    #matching-legend .item:first-child {
      padding-left: 0; }
      #matching-legend .item:first-child .bar {
        border-top-style: solid; }

#slideframe-container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  max-width: 640px;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845);
          transition: all 0.12s cubic-bezier(0.65, 0.47, 0.105, 0.845); }

#slideframe-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  opacity: 0.8; }

#slideframe-loading {
  margin: auto;
  display: none;
  position: absolute;
  top: -50%;
  right: -50%;
  bottom: -50%;
  left: -50%;
  width: 20px;
  height: 20px; }
  #slideframe-loading div, #slideframe-loading div:before, #slideframe-loading div:after {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation: slideframe_loading 1.5s infinite ease-in-out;
            animation: slideframe_loading 1.5s infinite ease-in-out; }
  #slideframe-loading div:before, #slideframe-loading div:after {
    position: absolute;
    top: 0;
    content: ""; }
  #slideframe-loading div {
    position: relative;
    top: -20px;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -webkit-animation-delay: 0.18s;
            animation-delay: 0.18s; }
    #slideframe-loading div:before {
      left: -35px; }
    #slideframe-loading div:after {
      left: 35px;
      -webkit-animation-delay: 0.36s;
              animation-delay: 0.36s; }

@-webkit-keyframes slideframe_loading {
  0%, 80%, 100% {
    box-shadow: 0 20px 0 -15px #00BCD4; }
  40% {
    box-shadow: 0 20px 0 0 #00BCD4; } }

@keyframes slideframe_loading {
  0%, 80%, 100% {
    box-shadow: 0 20px 0 -15px #00BCD4; }
  40% {
    box-shadow: 0 20px 0 0 #00BCD4; } }

#slideframe-close {
  padding: 0;
  position: absolute;
  top: 20px;
  right: 20px; }
  #slideframe-close:before {
    display: block;
    width: 30px;
    height: 30px;
    content: url(../images/slideframe-close.svg); }

#slideframe-prev {
  padding: 0;
  position: absolute;
  top: 20px;
  left: 20px; }
  #slideframe-prev:before {
    display: block;
    width: 30px;
    height: 30px;
    content: url(slideframe-prev.svg); }

#slideframe-next {
  padding: 0;
  position: absolute;
  top: 20px;
  right: 20px; }
  #slideframe-next:before {
    display: block;
    width: 30px;
    height: 30px;
    content: url(slideframe-next.svg); }

#slideframe {
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-transition: all 0.5s cubic-bezier(0.65, 0.47, 0.105, 0.845);
          transition: all 0.5s cubic-bezier(0.65, 0.47, 0.105, 0.845);
  -webkit-overflow-scrolling: touch; }

#slideframe-source {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#slideframe-container.active {
  visibility: visible;
  opacity: 1; }
  #slideframe-container.active #slideframe-loading {
    display: block; }

#slideframe-container.ready #slideframe-loading {
  display: none; }

#slideframe-container.ready #slideframe {
  right: 0;
  box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); }

html.sf-active body {
  overflow-y: hidden; }

html.sf-active #global-wrapper {
  height: 100%;
  overflow: hidden;
  -webkit-filter: blur(10px);
          filter: blur(10px); }
