@font-face {
  font-family: 'FlexaLight';
  src: url('../fonts/GT-Flexa-Standard-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'FlexaMedium';
  src: url('../fonts/GT-Flexa-Standard-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
}

.color1 { background-color:#B2D6FC; }
.color2, .module1, .cta.color1 .button, button.button { background-color:#2389F6; }
.color3, .uk-accordion .uk-open { background-color:#85BDF9; }

html { background:#fff; font-size:18px; }
body {
  color:#222;
  font-size:1em;
  line-height: 1.333em;
  font-family: "FlexaLight", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-variant-ligatures: no-common-ligatures;
}
h1, .h1, h2, .h2, h3, .h3 {
  color:#222;
  font-family: "FlexaMedium", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-variant-ligatures: no-common-ligatures;
  line-height: 1em;
  margin: 0;
}
h1, .h1 { font-size: 1.75em; margin-bottom: 2.25rem; }
h2, .h2 { font-size: 2.5rem; margin-bottom: 1rem; }
h3, .h3 { font-size: 1.25rem; margin-bottom: 1rem; }
.color2 h2 { color:#fff; }
a, a:hover { color:#222; }
.active a { text-decoration:underline; }
p { margin-bottom: 1em; }
p:last-child { margin-bottom:0; }
strong { font-family: "FlexaMedium", sans-serif; font-style: normal; font-weight: 500; }
small, .small { font-size: 85%; line-height: 1.2em; }
.white { color:#fff; }

/* header, menu */
header { overflow: hidden; margin-bottom: 3rem; }
nav.state-open { position: fixed; z-index: 1; height: 100vh; }
nav { position: absolute; top: 0; right: 0; left: 0; padding: .8em; }
header .logo { width: 7em; display: block; position: absolute; z-index: 2; }
.ico { width: 1.5em; display: inline-block; margin-left: 1.25em; }
.menu { padding:0; margin:0; text-transform: uppercase; text-align: center; position: absolute; width: 100%; left: 0; top: 5em; top: 4em; font-size: 1.5em; line-height: 2em; font-family: "FlexaMedium", sans-serif; }
.menu li { list-style:none; }
.visual.confetti { background-repeat: no-repeat; background-position: center bottom; }
.visual.confetti1024 { background-image: url('../visuals/header-confetti-1024.svg'); }
.visual.confetti1025 { background-image: url('../visuals/header-confetti-1025.svg'); }
.visual.confetti1026 { background-image: url('../visuals/header-confetti-1026.svg'); }
.visual.confetti1027 { background-image: url('../visuals/header-confetti-1027.svg'); }
.visual.confetti1028 { background-image: url('../visuals/header-confetti-1028.svg'); }
.visual.confetti1029 { background-image: url('../visuals/header-confetti-1029.svg'); }
.visual.confetti1030 { background-image: url('../visuals/header-confetti-1030.svg'); }

/* content */
section { padding: 3.25rem 15px; }
section + section { padding-top:0; }
section + section.color1, section.color1 + section { padding-top: 3.25rem; }
section.color1 + section.color1 { padding-top:0; }
.content a { text-decoration:underline; }
.content a:hover { text-decoration: none; }
.lead { font-size:1.75em; font-family: "FlexaMedium", sans-serif; line-height: 1.25em; }

/* module1 */
.module1 { padding: 2rem 15px 2rem 15px; margin-right: -15px; margin-left: -15px; overflow:hidden; }
.module1 .button { padding-left:1rem; }
.module1 .button::before { float: left; background-image: url('../visuals/ico-arrow-right.svg'); content: ""; width: 1.25em; height: 1em; background-repeat: no-repeat; margin-top: 0.2rem; }
.module1 .lead { font-family: "FlexaLight", sans-serif; font-size:1.4rem;  }
.module1 .uk-accordion .lead { font-size:1.333rem;  }
.module1 > h2 { color:#fff; }
.uk-accordion { margin-right: -15px; margin-left: -15px; margin-top: 2rem; margin-bottom: 0; }
.uk-accordion li { padding: 1rem 15px; }
.uk-accordion li.uk-open { padding-top: 2rem; padding-bottom: 2rem; }
.uk-accordion-title { overflow: visible; margin-left: 3rem; }
.uk-accordion-title::before { margin: 0 0 0 -3rem; float: left; width: 1.5rem; background-image: url('../visuals/ico-arrow-down.svg'); background-repeat: no-repeat; }
.uk-open > .uk-accordion-title::before { background-image: url('../visuals/ico-arrow-up.svg'); }
.uk-accordion-content { margin-left: 3rem; }
.uk-accordion > :nth-child(n+2) { margin-top: 0; }
.uk-accordion-title { color: #222; text-decoration: none !important; font-family: "FlexaMedium", sans-serif; font-size:1.75rem; line-height: 1.25em; }
.uk-accordion-title:hover { color: #222; }

/* list */
ul.list { list-style: none; padding-left: 3rem; margin-bottom: 0; }
ul.list li { padding: 1rem 0; }
ul.list li::before { content: "\25CF"; color: #fff; display: inline-block; width: 3rem; margin-left: -3rem; font-size: .5rem; vertical-align: top; }

/* team */
.team { margin-right: 0; margin-left: 0; padding: 0.5rem 0 2re 0; }
.team .uk-grid-medium { margin-left: -15vw; }
.team .uk-grid-medium > * { padding-left: 15vw; }
.team img { margin: 1.5rem 0; }

/* slider */
.uk-slider { margin-top: 3rem; }
.uk-slider-nav { margin-top:2.75rem; }
.uk-dotnav > * { padding-left: 20px; }
.uk-dotnav > * > * { width: 15px; height: 15px; transition-property: background-color,opacity; background-color: #fff; opacity: .5; border:0; }
.uk-dotnav > .uk-active > *,
.uk-dotnav > * > :hover  { background-color: #fff; opacity:1; }
.slider .lead { font-family: "FlexaLight", sans-serif; color:#fff; margin-top: 1.5rem; }
.dotnav-inside { margin:0 0 1.5rem 0; }

/* generic */
.generic > p img,
.generic > p video,
.generic > .uk-slideshow { margin-bottom:3rem; }
.generic > p + p img,
.generic > p + p video,
.generic > p + .uk-slideshow { margin-top:3rem; }
.generic > p:last-child img,
.generic > p:last-child video,
.generic > .uk-slideshow:last-child { margin-bottom:0; }


/* call to action */
.cta.expand { margin:0 -15px; padding: 2rem 15px 2.25rem 15px; }
.cta .button { text-decoration: none; padding: 0.4rem 1rem; display: inline-block; margin-top: 0.75rem; }
.cta .button::before { float: right; background-image: url('../visuals/ico-arrow-right.svg'); content: ""; width: 1.25em; height: 1em; background-repeat: no-repeat; margin-top: 0.2rem; margin-left: 3rem; }
.cta.color1 .button { color:#fff; }
.cta.color2 .button::before { background-image: url('../visuals/ico-arrow-right-i.svg'); }
.cta.color2 .button { background-color:#fff;}
.cta .lead { font-family: "FlexaLight", sans-serif; font-size:1.4rem;  }
.cta ul { list-style: none; padding-left: 2rem; columns: 15em 2; }
.cta ul li::before { content: "\25CF"; color: #fff; display: inline-block; width: 2rem; margin-left: -2rem; font-size: .5rem; vertical-align: top; }


/* modal */
.uk-modal .ico { position: absolute; right: 1.5rem; top: 1.5rem; }
.uk-modal-dialog { min-height: 100vh; padding: 0 15px 2rem 15px; overflow: hidden; }
.uk-modal .color2 { margin: 0 -15px 3rem -15px; padding: 3rem 15px; }
.uk-modal .color2 img { max-width: 80%; }
.uk-modal video { margin: 2rem 0; width:100%; max-width: none; }
.uk-modal a { text-decoration:underline; }
.uk-modal a:hover { text-decoration: none; }
.uk-modal .color2 h3, .uk-modal .color2 .lead { color:#fff; }
.team-modal .white { margin-top: 2.5em; }
.team-modal .white strong { font-size: 1.75rem; }


/* footer */
footer { color:#fff; overflow: hidden; font-size: 0.75em; padding: 2em; line-height: 1.25em; margin-top: 3rem; }
footer .logo { width: 10em; display: block; }
footer p { margin-top: 0.4rem; }
footer a { color:#fff; text-decoration:underline; }
footer .partner { line-height:3rem; padding-bottom: 0.25rem; }
footer .partner > * { vertical-align: bottom; }
footer .partner img { margin: 0 2rem 0 0 !important; }


/* form */
form { max-width: 25rem; font-size: 0.875rem; }
.uk-input, .uk-textarea { border:0; }
button.button { color: #fff; text-decoration: none; padding: 0.4rem 1rem; display: block; width: 100%; text-align: left; text-transform: capitalize; }
button.button::before { float: right; background-image: url('../visuals/ico-arrow-right.svg'); content: ""; width: 1.5em; height: 1em; background-repeat: no-repeat; margin-top: 0.3rem; margin-left: 3rem; }
.uk-radio { background-color: #fff; border: 0; }
.uk-radio:checked { background-color: #222 !important; }


/* nu-scan */
.nu-qa { margin: 3rem 0; padding-left: 1.75rem; }
.nu-qa li { clear: both; padding-left: 0.5rem; font-family: "FlexaMedium", sans-serif; }
.nu-q { display: block; }
.nu-q small { display: block; font-family: "FlexaLight", sans-serif; }
.nu-a { display: block; margin: 0.5rem 0 1.5rem 0; font-family: "FlexaLight", sans-serif; }
.nu-qa + p { clear:both; }
.nu-qa label { font-size:85%; line-height: 1.2em; }
.nu-qa label:first-child { margin-right:2rem; }


/* calendar */
.cal-month { margin:3rem 0 4.5rem 0; }

/* scroll to top */
.totop { display: none; position: fixed; right: 15px; bottom: 15px;  width: 1.333rem; height: 1.333rem; background-color: #730A00; border-radius: 50%; padding: 0.666rem; text-align: center; }
.totop img { max-height:100% }


/* responsive  */
@media (max-width: 639px) {/* uikit s */
  .visual.confetti { background-size: cover; }
  .visual.confetti img { min-height: 460px; min-width: 640px; margin-left: calc(-320px + 50%); }
}
@media (min-width: 640px) {/* uikit s */
  html { font-size:20px; }
}
@media (min-width: 960px) {/* uikit m */
  html { font-size:22px; }
  .menu { font-size: 0.75em; display:inline-block !important; position: initial; width: auto; }
  .menu li { display:inline-block; margin-right: 1.25em; }
  .menu-toggler-1 { display:none; }
  section { padding:4.5rem 20vw; }
  section + section { padding-top:0; }
  section + section.color1 { padding-top: 2rem; padding-bottom: 2rem; }
  section.color1 + section { padding-top: 4.5rem; }
  section.color1 + section.color1 { padding-top:0; }
  .module1 { padding-right:3rem; padding-left:3rem; margin-right: -3rem; margin-left: -3rem; }
  .uk-accordion { margin-right: -3rem; margin-left: -3rem; }
  .uk-accordion li { padding-left:3rem; padding-right:3rem; }
  .team { margin-right: -3rem; margin-left: -3rem; }
  .cta.expand { margin-right: -3rem; margin-left: -3rem; padding-left:3rem; padding-right:3rem; }
  .uk-modal-dialog { padding: 0 20vw 2rem 20vw; }
  .uk-modal .color2 { padding: 3rem 20vw 2rem 20vw; margin: 0 -20vw 3rem -20vw; }
  .uk-modal .color2.expand { padding: 3rem calc(20vw - 3rem); }
  .uk-modal .cta.color2.expand { margin-right: -3rem; margin-left: -3rem; padding: 2rem 3rem 2rem 3rem; }
  .uk-modal video { margin: 2rem -3rem; width:calc(100% + 6rem); }
  .nu-qa { padding: 0; }
  .nu-qa li { margin-left: -3rem; padding-left: 3rem; }
  .nu-q { width: 70%; float: left; margin-bottom: 1.5rem; }
  .nu-a { width: 30%; float: left; text-align: right; margin:0; }
  .nu-qa li:last-child .nu-q { margin-bottom:3rem; }
}
@media (min-width: 1200px) {/* uikit l */
  html { font-size:24px; }
  header .logo { width: 8em; }
  .menu { font-size: 0.875em; line-height: 1.875em; }
}
@media (min-width: 1600px) {/* uikit xl */
  .menu { font-size: 1em; line-height: 1.875em; }
}