@charset "UTF-8";
/* natUIve – rado.bg */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

/*
$font-size: 26px;
$line-height: 34px;
*/
/* Rewrite base variables here; add theme CSS below this one in <head> */
/* natUIve – Grid */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

/* For proper fallback, use .col* for all columns. Automatic column width (no .col*) works for Flexbox only. */
.row {
  width: 100%;
  display: block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center; }

.row > * {
  vertical-align: top;
  position: relative;
  word-wrap: break-word;
  display: inline-block;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  width: 20%;
  /* Minimum col width */
  width: calc(20% - 1.5em);
  text-align: left;
  text-align: start;
  padding: 0.75em;
  margin: 0.75em; }

.row:before, .row:after {
  content: '';
  display: table;
  width: 100%; }

.row > *, .row > * > * {
  max-width: 100%;
  /* instead of overflow-x:hidden, which would also activate overflow-y:hidden and clip the tooltip */ }

.no-flex .row {
  font-size: 0; }

.no-flex .row > * {
  font-size: 16px;
  font-size: 1rem;
  margin: 0.75em 0; }

/* colXY where the column takes up X/Y of space; colY means 1/Y */
.row > .col23 {
  width: 66.667%;
  flex: 0 0 calc(66.667% - 1.5em); }

.row > .col34 {
  width: 75%;
  flex: 0 0 calc(75% - 1.5em); }

.row > .col4 {
  width: 25%;
  flex: 0 0 calc(25% - 1.5em); }

.row > .col5 {
  width: 20%;
  flex: 0 0 calc(20% - 1.5em); }

.row > .col25 {
  width: 40%;
  flex: 0 0 calc(40% - 1.5em); }

.row > .col35 {
  width: 60%;
  flex: 0 0 calc(60% - 1.5em); }

.row > .col45 {
  width: 80%;
  flex: 0 0 calc(80% - 1.5em); }

.row > .col3 {
  width: 33.333%;
  flex: 0 0 calc(33.333% - 1.5em); }

.row > .col2 {
  width: 50%;
  flex: 0 0 calc(50% - 1.5em); }

.row > .col1, .row > *:only-child:not([class^=col]) {
  width: 100%;
  flex: 0 0 calc(100% - 1.5em); }

.row.no-spacing > .col23 {
  flex: 0 0 66.667%; }

.row.no-spacing > .col34 {
  flex: 0 0 75%; }

.row.no-spacing > .col4 {
  flex: 0 0 25%; }

.row.no-spacing > .col5 {
  flex: 0 0 20%; }

.row.no-spacing > .col25 {
  flex: 0 0 40%; }

.row.no-spacing > .col35 {
  flex: 0 0 60%; }

.row.no-spacing > .col45 {
  flex: 0 0 80%; }

.row.no-spacing > .col3 {
  flex: 0 0 33.333%; }

.row.no-spacing > .col2 {
  flex: 0 0 50%; }

.row.no-spacing > .col1 {
  flex: 0 0 100%; }

.row > * > img {
  display: block;
  margin: 0 auto; }

@media screen and (max-width: 1024px) {
  .row > * {
    width: 25%; } }
@media screen and (max-width: 768px) {
  .row > * {
    width: 33.333%; } }
.row.no-padding, .row.no-padding > * {
  padding: 0; }

.align-left, .align-left *, .row > .align-left {
  text-align: left;
  text-align: start; }

.align-right, .align-right *, .row > .align-right {
  text-align: right;
  text-align: end; }

.align-center, .align-center *, .row > .align-center {
  text-align: center; }

.row > .align-top, .row > .align-middle, .row > .align-bottom {
  display: inline-block;
  display: flex; }

.align-top, .row > .align-top, .align-top .row > * {
  vertical-align: top;
  justify-content: flex-start;
  flex-direction: column;
  display: flex; }

.align-middle, .row > .align-middle, .align-middle .row > * {
  vertical-align: middle;
  justify-content: center;
  flex-direction: column;
  display: flex; }

.align-bottom, .row > .align-bottom, .align-bottom .row > * {
  vertical-align: bottom;
  justify-content: flex-end;
  flex-direction: column;
  display: flex; }

.align-children *, .row.align-children > * {
  text-align: inherit; }

section {
  position: relative; }

section:before, section:after {
  content: '';
  display: table;
  width: 100%; }

/* Masonry in CSS only */
.masonry {
  -moz-column-count: 3;
  -moz-column-gap: 0;
  -webkit-column-count: 3;
  -webkit-column-gap: 0;
  column-count: 3;
  column-gap: 0;
  margin: 1.5em 0; }

.masonry > * {
  display: inline-block;
  margin: 0 1.5em 1.5em 1.5em;
  width: calc(100% - 1.5em*2);
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  /* FF 20+ */
  break-inside: avoid-column; }

.masonry.col2 {
  -moz-column-count: 2;
  -webkit-column-count: 2;
  column-count: 2; }

.pad {
  padding: 1.5em; }

.pad-half {
  padding: 0.75em; }

.unpad {
  margin: -1.5em;
  width: calc(100% + 1.5em*2); }

.unpad-vertical {
  margin: -1.5em 0; }

.row.border {
  border: 1px solid #e6e6e6;
  padding: 0; }

.row.border > * {
  border-left: 1px solid #e6e6e6; }

.row.border > *:first-child {
  border-left: none; }

.row * .box {
  /* Boxes inside grid cells */
  background: #fff;
  border: 1px solid #e6e6e6; }

.row.border-all {
  border: 1px solid;
  padding: 0;
  margin: 0;
  width: 100%;
  margin: 0 auto; }

.row.border-all > *, .row.border-all .row > * {
  padding: 0.75em; }

.row.border-all > *, .row.border-all .row > * {
  margin: 0; }

.row.border-all > *:only-child {
  flex: 0 0 100%; }

.row.border-all > *:not(:first-child), .row.border-all .row > *:not(:first-child) {
  border-left: 1px solid; }

.row.border-all .row {
  border-top: 1px solid;
  padding-top: 0;
  margin-top: -0.75em;
  max-width: none;
  margin-left: -0.75em;
  width: calc(100% + 1.5em); }

@-moz-document url-prefix() {
  .row.border-all .row .row {
    margin-left: -0.75em; } }
.row.border-all * .row:not(:first-child) {
  margin-top: 0;
  margin-bottom: 0; }

.row.border-all .row:first-child {
  border-top: none; }

.row.border-all .row:last-child {
  margin-bottom: -0.75em; }

.row.border-all .row .row:last-child {
  margin-bottom: -0.75em; }

.row.border-all .row.border-off > * {
  border: none; }

.row.border-all .row > .col1, .row.border-all .row > *:only-child:not([class^=col]) {
  width: 100%;
  flex: 0 0 calc(100%); }

.row.no-spacing {
  padding: 0;
  margin: 0; }

.row.no-spacing > * {
  padding: 0;
  margin: 0; }

.row.spacing-horizontal > * {
  margin: 0 0.75em; }

.row.spacing-vertical > * {
  margin: 0.75em 0; }

@media screen and (max-width: 640px) {
  /*
  	.row * .row {
  		
  		margin: 0;
  		width: 100%;
  
  	}
  */
  .row > *, .row > [class^=col] {
    padding: .3em;
    width: 100% !important;
    border: none;
    flex: 0 0 100% !important;
    margin: 0.75em 0; }

  .no-mobile-gutter.row > * {
    padding: 0; }

  .row > *, .row.border, .row.border > * {
    border: none; }

  .row.half > * {
    width: 50% !important;
    flex: 0 0 50%; }

  .row.border-all > *:not(:first-child), .row.border-all .row > *:not(:first-child) {
    border-left: none; }

  .masonry {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2; } }
/* natUIve – Typography */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

body {
  color: #333;
  -webkit-text-size-adjust: none;
  font-size: 16px;
  line-height: 1.5;
  font-family: Helvetica Neue, sans-serif;
  font-weight: 300; }

/* Elements with double line-height */
h1, h2, h3, .full-window-wrap .close {
  line-height: 3; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0.75rem 0;
  word-break: break-word;
  word-wrap: break-word;
  font-weight: 500; }

h1 + p:not(.drop-cap), h2 + p:not(.drop-cap), h3 + p:not(.drop-cap), h4 + p:not(.drop-cap), h5 + p:not(.drop-cap), h6 + p:not(.drop-cap) {
  margin-top: 0; }

h1 {
  font-size: 2em;
  line-height: 1;
  padding: 0.25em 0; }

h2 {
  font-size: 1.5em;
  line-height: 1; }

h3 {
  font-size: 1.2em;
  line-height: 1.26375; }

h4 {
  font-size: 1em;
  line-height: 1.5; }

h5 {
  font-size: .8em;
  line-height: 0.9375;
  padding: 0.46875em 0; }

h6 {
  font-size: .6667em;
  line-height: 1.12494;
  padding: 0.56247em 0; }

img {
  max-width: 100%;
  height: auto;
  border: none; }

pre {
  overflow: auto; }

p {
  font-size: 1em;
  margin: 1.5em 0;
  line-height: 1.5; }

.drop-cap:first-letter {
  float: left;
  font-size: 80px;
  padding: .1em .1em .1em 0;
  margin-top: -.2em;
  line-height: 1em; }

[dir=rtl] .drop-cap:first-letter {
  float: right; }

a[href] {
  color: inherit; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

/* natUIve – Button */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

.button, input[type=submit], button[type=submit], button[type=reset], button, a.button[href] {
  font-size: 16px;
  line-height: 1.5;
  min-height: 1.5em;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  width: auto;
  word-break: break-word;
  padding: 0 .7em;
  -webkit-appearance: none;
  background: #333;
  color: #eee;
  -webkit-transition: all .1s linear;
  transition: all .1s linear;
  border: none;
  font-family: inherit;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

button[disabled] {
  cursor: default;
  opacity: .2;
  margin: 0; }

.button:hover, input[type=submit]:hover, button[type=submit]:hover, button[type=reset]:hover, form button:hover, a.button[href]:hover, button:not([disabled]):hover {
  background: #eee;
  color: #333; }

a.button + a.button {
  margin-left: 0.75em; }

.button.big, a[href].button.big, input[type=submit], form button, button.big {
  margin: 1.25em 0;
  font-size: 1.2em;
  padding: .75em 1em;
  line-height: 1.05em;
  min-height: 0;
  font-weight: bold; }

/* Back to top button */
a.backtotop[href] {
  text-align: center;
  display: block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  margin: .7333em auto;
  font-weight: bold;
  background: transparent;
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  border-radius: 2em;
  font-family: 'Hiragino Mincho ProN';
  /* fix for iOS */
  cursor: pointer;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-decoration: none;
  z-index: 999; }

@media screen and (max-width: 640px) {
  .button.big {
    display: block;
    text-align: center; } }
/* natUIve  – Form */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

form {
  overflow: hidden;
  position: relative; }

form > * {
  clear: both; }

input[type=submit], label, form .checkbox span, form label > span {
  font-size: 16px;
  line-height: 1.5;
  min-height: 1.5em; }

input[type=submit], form button, input[type=submit], form .file-input, form .file-input span {
  line-height: 3;
  min-height: 3em; }

form span {
  /* When used as a wrapper for inline checkboxes */
  display: inline-block;
  vertical-align: middle; }

#content form, .banner form {
  padding-top: 1.5em;
  overflow: hidden; }

label {
  display: inline-block;
  font-weight: bold;
  max-width: 100%;
  position: relative;
  padding: 0;
  margin: 0 0 1.5em 0;
  min-height: 3em; }

form.wide label {
  width: 100%; }

label > input {
  margin-top: -0.75em; }

input[type=submit] {
  height: auto;
  line-height: 1.5;
  white-space: normal;
  word-break: break-all;
  margin-bottom: 0; }

form.sticky-submit input[type=submit] {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%); }

form.wide input[type=submit] {
  margin-bottom: calc(1.5em - 2px);
  /* fix for the failed box-sizing: border-box */
  min-height: calc(1.5em*2 + 2px); }

input, select, textarea, input[type=search], form button {
  background-color: rgba(0, 0, 0, 0.1);
  font-family: inherit;
  display: inline-block;
  overflow: hidden;
  resize: none;
  vertical-align: top;
  border-radius: 0;
  padding: 0 0.75em;
  min-height: 3em;
  border: 0;
  font-size: 1em;
  width: 100%;
  outline: none;
  border: 1px dotted transparent;
  color: inherit; }

input:focus, select:focus, textarea:focus {
  border-color: #bbb; }

form .checkbox span {
  display: inline-block;
  font-weight: bold;
  margin-top: 0;
  cursor: default; }

.checkbox label {
  text-align: start;
  font-weight: normal;
  clear: right;
  margin: 0;
  cursor: pointer;
  min-height: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

form .checkbox {
  clear: both;
  min-height: 1.5em;
  margin-bottom: 1.5em; }

form .checkbox:after {
  content: '';
  display: block;
  clear: both; }

form .checkbox label span {
  width: auto; }

form .mandatory span.checkbox:before, form .mandatory span.tip:after, select::-ms-expand {
  display: none; }

form input[type=submit], form button {
  margin-right: 0;
  min-width: 50%;
  max-width: 100%;
  padding: 0 1em;
  margin-top: 0; }

form textarea {
  display: block;
  margin: -0.75em 0 0.75em 0;
  border-bottom: 1px dotted transparent;
  min-height: 4.5em;
  padding-top: 0.75em; }

form .mandatory {
  position: relative; }

form .mandatory:before {
  content: '*';
  color: #a00;
  position: absolute;
  top: 0;
  font-weight: bold; }

form .mandatory.alert span, form .mandatory.alert p {
  background: #666;
  color: #eee; }

form .mandatory.alert span.checkbox {
  background: transparent;
  color: #555; }

form .mandatory.alert span.tip {
  background: #222; }

form select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
  min-height: 0;
  width: 100%;
  text-indent: 0px;
  padding: 0 1.6em 0 .8em;
  height: 3em;
  white-space: nowrap;
  -webkit-appearance: none;
  appearance: none;
  font-family: inherit;
  text-indent: -1px;
  text-overflow: '';
  margin: 0;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAG0lEQVR42mNgwAfKy8v/48I4FeA0AacVDFQBAP9wJkE/KhUMAAAAAElFTkSuQmCC");
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) 50%;
  text-indent: 1px; }

form.wide select {
  height: 3em;
  margin: -0.75em 0 0.75em 0; }

[dir=rtl] form select {
  padding-left: 0;
  padding-right: .8em; }

form select, form .file-input {
  vertical-align: top;
  border: none;
  overflow: hidden;
  margin-left: 0; }

form select option {
  padding: 0 1.5em 0 0; }

select:hover {
  cursor: pointer; }

form .checkbox label:first-of-type {
  /* To do: not needed when checkboxes are inline */ }

:root form .checkbox label {
  /* Not IE9 */
  padding-left: 0;
  padding-bottom: 0; }

form .checkbox label + label {
  margin-top: 0; }

form .checkbox label:last-child {
  margin-bottom: 1.5em; }

.checkbox-icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  background: #eee;
  margin-top: 0;
  line-height: 1.66667;
  font-size: -0.33333;
  text-align: center;
  color: #333;
  margin-right: .5em;
  display: none;
  border: 1px dotted transparent;
  border: none; }

input[type=checkbox] + .checkbox-icon:before {
  content: '✓';
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 1em; }

:root .checkbox-icon {
  /* Not IE8 */
  display: inline-block;
  vertical-align: middle; }

input[type=checkbox]:checked + .checkbox-icon:before {
  opacity: 1; }

input[type=checkbox], input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: window;
  -ms-appearance: none;
  position: absolute;
  background: transparent;
  cursor: pointer;
  opacity: 0;
  padding: 0;
  border: 1px dotted transparent;
  left: 0;
  outline: none;
  float: left;
  width: auto;
  min-height: 0;
  opacity: 0;
  margin: 0 .5em 0 -1.5em; }

input[type=checkbox], input[type=radio] {
  float: right; }

input[type=radio] + .checkbox-icon {
  border-radius: 50%;
  position: relative; }

input[type=radio]:checked + .checkbox-icon:before {
  content: '';
  position: absolute;
  background: #333;
  top: 25%;
  right: 25%;
  bottom: 25%;
  left: 25%;
  border-radius: 50%; }

input[type=checkbox]:focus + .checkbox-icon, input[type=radio]:focus + .checkbox-icon {
  border: 1px dotted #666; }

input[type=file] {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
  z-index: 1;
  text-indent: -100%;
  top: 0;
  bottom: 0;
  background: transparent;
  padding-left: 200%;
  font-size: 0;
  margin-top: 0;
  background: transparent; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  /* IE10 */
  input[type=file] {
    margin-left: -100%; } }
form .file-input {
  font-weight: normal;
  margin: 0 0 1.5em 0;
  cursor: pointer;
  font-style: italic;
  padding: 0; }

form .file-input span {
  text-align: start;
  white-space: nowrap;
  background: rgba(0, 0, 0, 0.1);
  z-index: 0;
  margin: 0;
  width: 100%;
  border: 1px dotted transparent; }

input[type=file]:focus + span {
  border-color: #bbb; }

input[type=search] {
  -webkit-appearance: textfield;
  border-radius: 0; }

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

form label, form label span, form .checkbox span {
  margin: 0;
  text-align: start; }

form.wide label, form.wide label span, form.wide .checkbox span {
  display: block;
  width: 100%; }

form span.file-input span {
  padding-left: .75em;
  line-height: 1.5em;
  padding-top: 0.75em; }

form input, form select {
  display: inline-block;
  width: auto;
  padding-top: 0;
  margin: 1.5em 0;
  vertical-align: middle; }

form.wide input, form.wide textarea, form.wide select {
  display: block;
  width: 100%;
  margin: 0 0 1.5em 0; }

form textarea {
  padding-top: .85em; }

form input[type=submit] {
  width: auto;
  min-width: 0;
  padding: 0 1em; }

form .mandatory:before {
  left: auto;
  right: 0; }

form .checkbox label:last-child {
  margin-bottom: 0; }

form input[type=checkbox], form input[type=radio] {
  width: auto;
  margin-top: 0; }

@-moz-document url-prefix() {
  form select {
    padding-left: 0;
    text-indent: .3em; }

  form select option {
    padding: 0; }

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

  input[type=text], input[type=email], input[type=url] {
    padding-top: 0; }

  form .file-input span {
    margin-top: -1px; }

  input[type=file] {
    padding-left: 100%;
    text-indent: -1em;
    margin-top: -1.5em; } }
/* Mast form with labels/inputs on either side */
form.mast {
  padding-top: 1.5em;
  padding-top: va(--line-height-em); }

form.mast label {
  float: left;
  margin-bottom: 1.5em;
  width: 100%; }

form.mast .checkbox label {
  margin: 0; }

[dir=rtl] form.mast label {
  float: right; }

form.mast label span {
  text-align: end; }

form.mast label input, form.mast label textarea, form.mast label input[type=search], form.mast label button {
  width: 50%;
  float: right;
  margin: -0.75em 0 0 0; }

[dir=rtl] form.mast input, [dir=rtl] form.mast select, [dir=rtl] form.mast textarea, [dir=rtl] form.mast input[type=search], [dir=rtl] form.mast button {
  float: left; }

form.mast .mandatory:before {
  left: 47.5%; }

[dir=rtl] form.mast .mandatory:before {
  right: 47.5%;
  left: auto; }

form.mast label textarea {
  margin-bottom: 0.75em; }

form.mast select {
  width: 45%;
  margin-bottom: 0.75em; }

form.mast select, form.mast .file-input {
  width: 50%;
  margin-top: -0.75em; }

form.mast label > span.file-input {
  margin-bottom: 0.75em;
  padding: 0; }

[dir=rtl] form.mast select {
  background-position: 1em 50%; }

form.mast .checkbox label {
  width: 50%; }

form.mast .checkbox span {
  text-align: end;
  float: left;
  padding-right: 3%;
  width: 50%; }

[dir=rtl] form.mast .checkbox span {
  float: right;
  padding-right: 0;
  padding-left: 3%; }

form.mast > label span {
  position: relative;
  display: inline-block;
  padding: 0 3% 0 0;
  float: left;
  width: 50%; }

[dir=rtl] form.mast > label span {
  float: right;
  padding: 0 0 0 3%; }

form.mast > label .file-input span {
  width: 100%;
  padding: calc(1.5em/2 + .3em) 0 0 0.75em;
  line-height: 0.75em;
  text-align: left; }

form.mast .checkbox label {
  float: right; }

[dir=rtl] form.mast .checkbox label {
  float: left;
  clear: left; }

form .file-input span {
  padding: 0 0 0 .8em; }

[dir=rtl] form.mast .file-input span {
  padding: 0 .8em 0 0; }

form.mast input[type=submit], form.mast button {
  float: right; }

header form {
  display: inline-block;
  vertical-align: middle; }

header form noscript input[type=submit] {
  margin: 0;
  padding: 0;
  min-width: 0;
  min-height: 1em; }

header form select {
  width: 100%;
  display: inline-block;
  margin: 0; }

/* Tables */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

table {
  width: 100%;
  overflow: auto;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
  display: block;
  margin: 1.5em 0; }

table::-webkit-scrollbar {
  display: none; }

td, th {
  padding: 1.5em 0.75em;
  vertical-align: middle; }

th, thead td {
  color: #fff;
  font-weight: bold;
  padding-bottom: 1.5em;
  font-size: 1.1em;
  background: rgba(0, 0, 0, 0.1);
  text-align: left; }

tr:nth-child(2n+1) {
  background: rgba(0, 0, 0, 0.1); }

tr, td, th, iframe {
  border: none; }

div.table {
  overflow-x: auto;
  scrollbar-3dlight-color: grey;
  scrollbar-arrow-color: grey;
  scrollbar-base-color: transparent;
  scrollbar-darkshadow-color: grey;
  scrollbar-face-color: transparent;
  scrollbar-highlight-color: transparent;
  scrollbar-shadow-color: transparent;
  -webkit-overflow-scrolling: touch; }

div.table table {
  display: table; }

/*
	table :not(thead) tr:hover td { // IE9 bug: hover on overflowing table makes its .table container taller
		
		background-color: #ddd;

	}
*/
td[data-sort] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

@media screen and (min-width: 1px) {
  td[data-sort] {
    cursor: pointer; }

  td[data-sort]:after {
    content: '⇳';
    margin-left: .5em; } }
@media screen and (max-width: 640px) {
  table {
    display: block;
    overflow: scroll;
    table-layout: auto; }

  table td {
    word-break: normal; } }
/* natUIve – Navigation */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

nav {
  vertical-align: baseline;
  display: inline-block; }

nav ul {
  margin: 0;
  padding: 0;
  display: inline-block;
  width: auto; }

nav a {
  position: relative;
  padding: 0 .5em 0 0; }

nav a[href].active {
  text-decoration: none;
  opacity: .7; }

nav li:last-child a {
  padding-right: 0; }

nav li {
  display: inline; }

nav li:first-child a {
  padding-left: 0; }

nav li:last-child {
  margin-right: 0; }

nav.sub a {
  font-size: .8em;
  line-height: 1.875em;
  min-height: 1.5em;
  display: inline-block; }

main nav ul {
  padding-left: 0; }

/* Checkbox trigger */
nav input.trigger, nav [for=nav-trigger] {
  display: none; }

.trigger {
  cursor: pointer; }

/* nav.drop */
nav.drop {
  position: relative;
  display: inline-block; }

nav.drop * {
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

nav.drop ul {
  display: flex;
  flex-wrap: wrap; }

nav.drop ul, nav.drop li {
  margin: 0;
  padding: 0;
  list-style: none; }

nav.drop ul li {
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  position: relative; }

nav.drop ul li b.sub {
  display: inline-block;
  padding: 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  margin-left: -.3em;
  mix-blend-mode: multiply; }

nav.drop ul li li b.sub {
  display: inline-block;
  padding: 1em;
  font-size: 16px;
  font-size: 1rem;
  background-color: #eee;
  padding-right: 1.5em;
  z-index: 3;
  mix-blend-mode: normal; }

nav.drop ul li li b.sub:before {
  content: '';
  display: block;
  position: absolute;
  background-color: #eee;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0; }

nav.drop ul li li .trigger:checked ~ b.sub:before, .no-touch nav.drop ul li li:hover b.sub:before {
  background-color: #ddd; }

nav.drop ul li li li b.sub {
  display: inline-block;
  padding: 1em;
  font-size: 16px;
  font-size: 1rem;
  background-color: #ddd; }

nav.drop ul li b.sub:after {
  content: '[]';
  background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAG0lEQVR42mNgwAfKy8v/48I4FeA0AacVDFQBAP9wJkE/KhUMAAAAAElFTkSuQmCC") no-repeat scroll center center;
  color: transparent; }

nav.drop ul li li b.sub:after {
  position: absolute;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAJUlEQVR42mNgAILy8vL/DLgASBKnApgkVgXIkhgKiNKJ005s4gDLbCZBiSxfygAAAABJRU5ErkJggg==");
  right: 1em; }

nav.drop ul li a {
  padding: 1em;
  display: inline-block;
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1; }

nav.drop ul li a[href] {
  z-index: 5;
  width: calc(100% - 2.5em); }

nav.drop ul li li a, nav.drop ul li .trigger:checked ~ a, nav.drop ul li .trigger:checked ~ b.sub {
  background: #eee;
  z-index: 1;
  color: #333; }

nav.drop ul li li a[href], nav.drop ul li .trigger:checked ~ a[href] {
  z-index: 6; }

nav.drop ul li li li a, nav.drop ul li li .trigger:checked ~ a, nav.drop ul li li .trigger:checked ~ b.sub, .no-touch nav.drop ul li li:hover, .no-touch nav.drop ul li li:hover a, nav.drop ul ul ul, .no-touch nav.drop ul li li:hover ul, .no-touch nav.drop ul li li:hover li {
  background: #ddd; }

nav.drop ul ul li {
  display: block;
  background: #eee; }

.no-touch nav.drop ul ul li, .no-touch nav.drop ul ul li:first-child {
  position: relative; }

.no-touch nav.drop ul ul li input.trigger, input.trigger ~ input[type=reset], input.trigger.burger, form#level1, form#level2 {
  display: none;
  z-index: 5; }

nav.drop input:checked ~ input[type=reset], nav.drop input.trigger {
  display: block; }

nav.drop ul ul {
  visibility: hidden;
  position: absolute;
  display: block; }

nav.drop input.trigger:checked ~ ul, .no-touch nav.drop ul ul li:hover ul, nav.drop input.trigger:checked ~ div, .no-touch nav.drop ul ul li:hover div {
  /* Not '+', because the form reset button stands between them; Touch first, Desktop second */
  visibility: visible;
  z-index: 4; }

nav.drop input.trigger:checked ~ ul {
  z-index: 6; }

nav.drop input.trigger:not(.burger):not(:checked) ~ ul input.trigger:checked ~ ul, nav.drop input.trigger:not(.burger):not(:checked) ~ div input.trigger:checked ~ div {
  visibility: hidden; }

nav.drop ul ul ul {
  display: inline-block;
  vertical-align: top;
  left: 100%;
  top: 0;
  width: auto; }

.no-touch nav.drop ul ul ul {
  opacity: 0;
  top: 0;
  transition: 0.2s .4s; }

.no-touch nav.drop ul ul li:hover ul {
  visibility: visible;
  opacity: 1;
  transition-delay: 0.2s; }

nav.drop ul ul ul li, input.trigger:checked ~ input[type=reset] {
  display: block;
  padding: 0;
  background: #ddd; }

input.trigger, input.trigger ~ input[type=reset] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3em;
  border: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
  z-index: 5;
  padding: 0; }

@media screen and (max-width: 640px) {
  nav li {
    margin: 0; }

  header nav.sub li a {
    padding: .5em 0; }

  nav.drop, header > nav {
    width: 100%;
    min-height: 2em;
    text-align: left;
    display: inline-block;
    position: relative; }

  nav.drop:before, header > nav:before {
    content: '🍔'; }

  nav.drop ul li {
    display: block; }

  nav.drop ul li a {
    white-space: normal;
    display: block; }

  nav.drop input.trigger:checked ~ ul ul, nav.drop input.trigger:checked ~ div ul {
    width: 100%;
    position: relative;
    left: 0; }

  .no-touch nav.drop ul ul ul {
    opacity: 1; }

  .no-touch nav.drop ul ul li {
    position: relative; }

  nav.drop ul li b.sub {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0; }

  header nav.drop ul li a {
    width: 80%;
    width: calc(100% - 2.5em); }

  nav.drop ul li li li a {
    width: 100%; }

  input.trigger.burger {
    display: inline-block;
    width: 2em;
    height: 2em; }

  input.trigger.burger ~ ul, nav.drop ul ul, nav.drop ul .trigger:not(:checked) ~ ul, .no-touch nav.drop ul li:hover .trigger:not(:checked) ~ ul, input.trigger.burger ~ div, nav.drop ul .trigger:not(:checked) ~ div, .no-touch nav.drop ul li:hover .trigger:not(:checked) ~ div {
    display: none; }

  input.trigger.burger:checked ~ ul, nav.drop ul .trigger:checked ~ ul, input.trigger.burger:checked ~ div, nav.drop ul .trigger:checked ~ div, .no-touch nav.drop ul ul li input.trigger {
    display: block; } }
/* natUIve – List */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

ul {
  padding: 0;
  font-size: 16px;
  line-height: 1.5;
  min-height: 1.5em;
  margin: 1.5em 0 1.5em 0; }

ul li {
  margin: 1.5em 0 0 0; }

ol {
  list-style-type: none;
  counter-reset: level1;
  padding: 0;
  margin: 0 0 1.5em 0; }

ol > li {
  text-indent: -2.3em;
  margin: 1.5em 0 0.75em 2.3em; }

ol li > * {
  text-indent: 0;
  display: inline-block; }

ol li > ul {
  display: block; }

ol > li:before {
  content: counter(level1);
  counter-increment: level1;
  font-weight: bold;
  background: #999;
  padding: 0.375em 0.6em 0.375em 0.6em;
  border-radius: 1em;
  margin-right: .5em;
  color: #fff; }

ol > li ol {
  list-style-type: none;
  counter-reset: level2;
  display: block; }

ol > li ol > li:before {
  content: counter(level1) "." counter(level2) " ";
  counter-increment: level2;
  padding: 0.375em 0.4em 0.375em 0.5em;
  border-radius: 1em;
  background: #999;
  color: #fff; }

ol ol > li ol {
  list-style-type: none;
  counter-reset: level3;
  margin-left: 1em; }

ol ol > li ol > li:before {
  content: counter(level1) "." counter(level2) "." counter(level3) " ";
  counter-increment: level3; }

ol ol > li {
  text-indent: -3em; }

ol ol ol > li {
  text-indent: -3.9em; }

ol ul {
  text-indent: .1em; }

ol p {
  text-indent: 0; }

/* natUIve – Accordion */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

.accordion {
  position: relative;
  padding: 0 .5em 0 1em;
  cursor: pointer;
  margin: 0;
  max-width: 100%; }

.accordion > label {
  text-align: left;
  text-align: start;
  width: 100%;
  cursor: pointer;
  -webkit-transition: padding 0.25s;
  -moz-transition: padding 0.25s;
  -ms-transition: padding 0.25s;
  -o-transition: padding 0.25s;
  transition: padding 0.25s; }

.accordion > div {
  /* hidden accordion item */
  overflow: hidden;
  max-height: 0;
  cursor: auto;
  transition: max-height .4s ease-in-out; }

.accordion:first-of-type > div {
  padding-top: 0; }

.accordion:first-of-type {
  margin-bottom: 0; }

.accordion > div > * {
  margin-top: 0; }

.accordion input.trigger:checked ~ div {
  max-height: none; }

.accordion.open input.trigger + * {
  display: inline-block; }

.accordion > label {
  margin: 0;
  float: none; }

.accordion > label {
  line-height: 3;
  min-height: 3em; }

/* natUIve – Tooltip */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

.tip, label span .tip {
  font-size: 16px;
  line-height: 1.5;
  min-height: 1.5em; }

.tool {
  cursor: help;
  font-weight: bold;
  position: relative; }

.tool:after {
  content: '?';
  display: inline-block;
  background: #444;
  border-radius: 100%;
  color: #ddd;
  width: 1.5em;
  text-align: center; }

.tool.open:after {
  content: '✕'; }

.tip, label span .tip {
  background: #333;
  color: #ddd;
  padding: 0.75em;
  font-size: .8em;
  font-weight: normal;
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  display: none;
  cursor: default;
  overflow: hidden;
  z-index: 999;
  text-align: left;
  opacity: 0;
  width: 20em;
  line-height: 1.15385; }

.tool.open .tip, .no-touch .tool:hover .tip {
  opacity: 1;
  display: block;
  top: 2em; }

/* natUIve – Slider */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

.lightbox a {
  display: inline-block;
  vertical-align: middle;
  margin: 1.5em 0.375em; }

.lightbox a img {
  display: block;
  padding-bottom: 0 !important; }

.full-window-wrap .slider, .full-window-wrap .slider-wrap {
  height: 100%; }

.no-touch .full-window-wrap .slider-wrap, .no-touch .full-window-wrap .slider-wrap.vertical {
  margin-top: 3em;
  height: calc(100% - 3em); }

.slider-wrap {
  position: relative;
  overflow: hidden;
  max-height: 100%;
  z-index: 1; }

.slider-wrap.vertical-tabs {
  display: flex; }

.slider-wrap.vertical-tabs > .slider {
  order: 1;
  flex: 1; }

.slider-wrap.vertical.tabs > .slider-nav {
  width: 33.3%;
  display: block; }

.slider-wrap.vertical.tabs > .slider-nav a {
  display: block; }

.full-window-wrap .slider-wrap {
  top: 0px;
  bottom: 0px;
  height: 100%;
  right: 0px;
  left: 0px;
  width: 100%;
  z-index: 1;
  position: absolute; }

*:-webkit-full-screen .slider-wrap {
  background: #000; }

*:-moz-full-screen .slider-wrap {
  background: #000; }

*:fullscreen .slider-wrap {
  background: #000; }

.slider {
  overflow-x: visible;
  overflow-y: hidden;
  white-space: nowrap;
  /* keep inline-block elements together */
  word-wrap: normal;
  /* IE8 fix */
  position: relative;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translate3d(0, 0, 0);
  /* fast, hardware-accelerated scrolling */
  -ms-overflow-style: none;
  /* No scrollbars on IE10+ */
  -webkit-transform-style: preserve-3d;
  left: 0;
  -webkit-animation-timing-function: ease;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-duration: .4s;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-duration: .4s;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: none;
  -ms-transition: none;
  transition: none;
  -ms-transition: top .2s linear;
  transition: top .2s linear;
  -ms-transition: left .2s linear;
  transition: left .2s linear;
  display: flex; }

.slider-wrap .slider {
  overflow: visible;
  width: 100%; }

.slider-wrap .slider > * {
  opacity: 0; }

.slider-wrap .slider > .visible {
  opacity: 1; }

.full-window-wrap .slider-wrap.vertical, .full-window-wrap .slider, .full-window-wrap .slider > * {
  height: 100%; }

.full-window-wrap .slider:not(.vertical) > * {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.slider.vertical {
  overflow-x: hidden;
  overflow-y: scroll; }

.slider-wrap .slider.vertical {
  overflow-x: visible;
  overflow-y: visible;
  flex-direction: column; }

.slider-wrap .slider.vertical > * {
  height: 100%;
  display: none; }

.sliding .slider-wrap .slider.vertical > *, .slider-wrap .slider.vertical > .visible {
  display: block; }

.slider > * {
  width: 100%;
  display: inline-block;
  white-space: normal;
  vertical-align: top;
  overflow: hidden;
  padding: 0;
  /*
  	font-size: $font-size;
  	line-height: $line-height;
  	min-height: $line-height;
  */
  margin: 0;
  flex: 1 0 auto; }

.no-flex .slider > * + * {
  margin-left: -.3em; }

.slider.vertical > * {
  display: block;
  height: 100%; }

.slider-wrap .slider.sliding > *:not(.visible) {
  display: none; }

.slider-wrap .slider.sliding {
  -webkit-transform: none !important;
  -ms-transform: none !important; }

.slider > *.visible {
  display: inline-block; }

.slider.vertical > *.visible {
  display: block; }

.slider.vertical > img {
  max-width: none;
  width: auto;
  max-height: 100%; }

.full-window-wrap .slider > img {
  padding: 0 !important;
  height: auto; }

.slider > *:after, .slider > *:before {
  /* Slide background with full slider height */
  content: '<';
  display: block;
  position: absolute;
  top: 50%;
  bottom: 0;
  width: 100%;
  background: transparent;
  z-index: -1;
  opacity: .5; }

.slider > *:after {
  content: '>';
  text-align: end; }

.slider-wrap .slider > *:after, .slider-wrap .slider > *:before, .slider > *:first-child:before, .slider > *:last-child:after, .slider-wrap .slider > * > div.bg {
  display: none; }

.slider > div:before {
  background: transparent; }

.row > .slider {
  padding: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent; }

.slider.lightbox > * {
  height: 100%;
  text-align: center;
  position: relative; }

.slider.lightbox > *:before {
  content: ' ';
  display: inline-block;
  vertical-align: middle;
  /* vertical alignment of the inline element */
  height: 100%;
  position: static;
  width: 0; }

.slider.lightbox > * p {
  /* Image captions */
  position: absolute;
  bottom: 48px;
  text-align: center;
  color: #fff;
  left: 50%;
  transform: translateX(-50%);
  padding: .2em .5em;
  background: rgba(0, 0, 0, 0.4); }

.slider-wrap .slider::-webkit-scrollbar {
  display: none; }

.slider-arrow {
  position: absolute;
  top: 50%;
  left: 1em;
  z-index: 3;
  /* Stay on top of slider-nav if they are aligned vertically */
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.slider-arrow:before {
  content: '←'; }

.vertical .slider-arrow:before {
  content: '↑'; }

.vertical .slider-arrow {
  top: 1em;
  left: 48%;
  left: calc(50% - 1em);
  text-align: center;
  -webkit-transform: none;
  transform: none; }

.slider-arrow.right {
  left: auto;
  right: 1em; }

.slider-arrow.right:before {
  content: '→'; }

.vertical .slider-arrow.right:before {
  content: '↓'; }

.vertical .slider-arrow.right {
  left: 48%;
  left: calc(50% - 1em);
  right: auto;
  bottom: 1em;
  top: auto; }

.slider-arrow, .slider-nav a {
  cursor: pointer;
  padding: .6em;
  width: 1em;
  height: 1em;
  -webkit-border-radius: 50px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  color: #fff;
  transition: background-color .2s linear;
  line-height: 1em;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.slider-arrow, .slider-nav {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.slider-nav {
  text-align: center;
  position: absolute;
  bottom: .5em;
  white-space: nowrap;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }

.slider-nav {
  text-align: start;
  justify-content: flex-start; }

.slider-wrap.tabs > .slider-nav a {
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }

.vertical .slider-nav {
  width: auto;
  display: table;
  left: .5em;
  padding: 1em 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.slider-nav a {
  display: inline-block;
  margin: .5em;
  line-height: 2em;
  padding: 0;
  width: 2em;
  height: 2em;
  text-align: center; }

.vertical .slider-nav a {
  display: block; }

.slider-nav a.active {
  background: rgba(0, 0, 0, 0.2);
  color: inherit; }

.slider-wrap.tabs > .slider-nav {
  right: auto;
  position: static;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none; }

.slider-wrap.tabs > .slider-arrow {
  display: none; }

.slider-wrap.tabs > .slider-nav.row {
  padding: 0;
  margin: 0;
  width: auto; }

.full-window .slider-wrap.tabs > .slider-nav {
  position: absolute;
  bottom: 0;
  padding: 0; }

.slider-wrap.tabs > .slider-nav a {
  text-indent: 0;
  width: auto;
  height: auto;
  display: table-cell;
  text-align: start;
  border-radius: 0;
  line-height: 1.5;
  padding: 0 .5em;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0;
  white-space: normal; }

.slider > * > img {
  max-height: 100%;
  vertical-align: middle;
  margin: 0 auto;
  display: block;
  padding-bottom: 0 !important; }

.lightbox.slider > * > img {
  display: none; }

.lightbox.slider > *.visible > img {
  display: inline-block; }

.lightbox.slider > *.visible > img.zoom {
  width: auto;
  height: auto;
  max-height: none;
  max-width: none;
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: 50%;
  right: 50%;
  transform: translate3d(-50%, -50%, 0); }

.full-window-wrap .lightbox.slider > * {
  overflow: hidden; }

.sliding {
  -webkit-animation-name: sliding;
  animation-name: sliding; }

.slider.center > * {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center; }

/* natUIve – Modal */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

.full-window-wrap {
  z-index: 999999;
  background: #fff;
  background: rgba(255, 255, 255, 0.97);
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-top: none;
  -webkit-overflow-scrolling: touch;
  padding-top: 0; }

.full-window-wrap > .content {
  overflow-y: scroll;
  position: relative;
  background: transparent;
  height: 100%;
  height: calc(100% - 3em);
  padding-top: 3em; }

.full-window-wrap .close {
  color: #fff;
  cursor: pointer;
  padding: 0 .6em;
  font-weight: bold;
  background: #000;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  z-index: 99999;
  top: 0;
  overflow: hidden; }

/* On touch, disable fixed-position "close" bar, because it's jumpy */
.no-touch .full-window-wrap .close {
  position: fixed; }

.no-touch .full-window-wrap {
  overflow-y: scroll; }

.no-touch .full-window-wrap.headless {
  padding-top: 0; }

.no-touch .full-window-wrap > .content {
  height: 100%; }

.full-window-wrap > * {
  background: #fff;
  position: relative; }

.full-window-wrap-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  cursor: crosshair;
  background: transparent; }

/* CSS-only parallax scrolling. html.parallax with body children .parallax-back and .parallax-front. Thanks http://keithclark.co.uk/articles/pure-css-parallax-websites/ */
html.parallax, html.parallax body {
  margin: 0;
  padding: 0;
  height: 100%; }

.parallax-back {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: red; }

@supports (perspective: 1px) {
  /* CSS Parallax is SUPPORTED */
  html.parallax body {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    perspective: 300px;
    perspective-origin: 100% 100%; }

  .parallax-front {
    transform-style: preserve-3d;
    transform: translateZ(0);
    /* Safari H/W acceleration */ }

  .parallax-back {
    transform: translateZ(-150px) scale(1.5);
    transform-origin: 100% 100%; } }
/* natUIve  – Card */
/*
$color: #fff;
$background: #1E8DaC;
*/
body {
  /*
  // Crashes Chrome 49 Beta, FF 44 bug can't calc properly
  	--line-height: 2;
  	--line-height-em: calc(var(--line-height)*1em);
  */
  /*
  	--color: #fff;
  	--background: #1E8DaC;
  */
  --color: #333;
  --background: #fff; }

body {
  color: #333;
  /* Fallback when CSS variables aren't supported */
  color: var(--color);
  background: #fff;
  background: var(--background); }

.card {
  margin: 1em 0;
  background: rgba(0, 0, 0, 0.1); }

.card > * {
  padding: 1em; }

.card .content {
  background: rgba(0, 0, 0, 0.1); }

.card > img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  padding: 0; }

.card .head.image {
  background-position: center center;
  background-size: cover;
  color: #fff; }

.card .head.image:after {
  content: '';
  padding-bottom: 56.25%;
  width: 0;
  display: inline-block;
  vertical-align: bottom; }

.card .head.image > * {
  display: inline-block; }

.contain {
  max-width: 1312px;
  max-width: 82rem;
  margin: 0 auto; }

/* Basic elements */
html {
  overflow-x: hidden; }

html, body {
  height: 100%;
  margin: 0 auto; }

body {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  min-height: 100%;
  display: flex;
  /* Sticky footer */
  flex-direction: column;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.5); }

body * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  /* iOS: Don't flash on tap */ }

html.nooverflow, html.nooverflow body {
  overflow: hidden; }

.animate-scroll {
  pointer-events: none !important;
  -webkit-transition: -webkit-transform .4s ease;
  transition: transform .4s ease; }

.no-hover {
  pointer-events: none !important; }

.header-and-banner {
  flex: none; }

.viewport.header-and-banner {
  min-height: 100vh;
  overflow: auto;
  display: flex;
  flex-direction: column; }

.viewport.header-and-banner .banner {
  flex-grow: 1;
  justify-content: center;
  flex-direction: column;
  display: flex; }

.viewport.header-and-banner.push-up:after {
  content: '';
  flex-grow: 1; }

header .row {
  padding: 0; }

header a.logo {
  display: inline-block;
  min-height: 46px;
  /* Don't shift page after image is loaded */ }

header form#language-selector select {
  padding-right: 2em; }

.wide-screen {
  display: block; }

.narrow-screen {
  display: none !important; }

/* Main */
main#content {
  flex: 1 0 auto; }

/* Footer */
footer {
  flex: none;
  position: relative; }

footer .row > * {
  position: static; }

.quote, blockquote {
  margin-left: 1em;
  border-left: 1px solid #bbb;
  padding-left: 1em; }

video {
  height: auto !important;
  background: #000;
  margin: 0 auto;
  display: block;
  max-width: 100%; }

video a[href] {
  color: #fff; }

/* Image aspect ratio – don't shift the page after loading the image */
.aspect {
  display: flex;
  flex-direction: row;
  align-items: flex-start; }

@-moz-document url-prefix() {
  .aspect {
    display: block; } }
.aspect > img {
  max-width: 100%;
  height: auto;
  margin: 0 auto; }

.aspect span {
  /*  Ratio can be overwritten with inline CSS padding-bottom */
  padding-bottom: 56.25%;
  /*    y / x * 100   default 16:9    */ }

/* Overthrow CSS:
   For Mobile devices not supporting overflow: scroll. Enable overflow: auto on elements with overthrow class when html element has overthrow class too */
.overthrow-enabled .overthrow {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.fixed-background {
  /* Element as a window to an image spanning viewpoert dimensions */
  background-attachment: fixed;
  background-size: cover; }

/* Notification bar */
.notify {
  background: rgba(0, 0, 0, 0.8);
  text-align: center;
  padding: 1em;
  color: #fff;
  cursor: pointer; }

.notify:after {
  content: ' ✕'; }

.notify.fixed {
  font-weight: 500;
  position: fixed;
  left: 0;
  right: 0;
  z-index: 2; }

/* Narrow Screens */
@media screen and (max-width: 640px) {
  header {
    margin: 0; }

  .wide-screen {
    display: none !important; }

  .narrow-screen {
    display: block !important; }

  .viewport.header-and-banner {
    height: auto; }

  header > .row:first-child div {
    text-align: end; }

  form#language-selector select {
    height: auto;
    width: 100%;
    background-position: calc(100% - .5em);
    margin-left: 0; }

  header .head-right {
    text-align: start; }

  .semi-transparent main, .semi-transparent footer, .semi-transparent header > .row {
    opacity: .1; }

  footer .row > * {
    display: inline-block; }

  footer .row p {
    margin: 0; } }

/*# sourceMappingURL=natuive.css.map */
