@charset "UTF-8";
/*------------------------------------*\
    Aleut is a fork of [inuit.css](http://inuitcss.com/)
    This is starter where we import all the packages from aleut into this style-sheet.
    These files we can not change. However these are heavily based on SCSS variables, so we can change
    these by supplying the specific SCSS-variable before we import each SCSS-file.
    By default most of aleut is turned off, so we need to turn on each class via variables before importing.
    We have structured the CSS in a specific way to avoid specificity-problems.
    Basically we are first targetting elements without class-names etc,
    then we are applying abstract patterns before we apply most of our own styles and
    in the end helper-classes and layouts that should overwrite everything else..
    All classes are also have namespaces. This means that you by looking at the prefix-of the class can
    see where it is located and whether you can modify the file or not.
    Read http://csswizardry.com/2015/03/more-transparent-ui-code-with-namespaces/ for more information
\*------------------------------------*/
/*------------------------------------*\
    #SETTINGS
    Global variables, site-wide settings, config switches, etc.
    These are just for SCSS – nothing here gets compiled to CSS directly
\*------------------------------------*/
/*------------------------------------*\
    #VARS
    Our own variables to use throughout the project.
\*------------------------------------*/
/**
 * COLORS
 * We always specify colors throughout our SCSS from these variables.
 * Never use darken() etc. other places than here.
 * If you need to rename a Variable don't be afraid to do a global
 * find and replace in the CSS so that the variables are correct
 */
/*
 * Typography
 */
/**
 * RESPONSIVE BREAKPOINTS
 * This is where we define all our breakpoints. It overwrites https://github.com/aleutcss/settings.responsive
 * These also generate helper-classes with aleut that we can use:
 * f.ex: u-1/2@m (for width), u-pt@s(for padding-top on s-size) etc.
 * See all alternatives in https://github.com/aleutcss/utilities.spacing-responsive and
 * utilities.widths-responsive.
 *
 * We can also use them with a media-query mixin like this:
 * Usage:
 *  @include media-query(s) {
 *
 *  }
 */
/**
 * Other vars here
 **/
/*------------------------------------*\
    #TOOLS
    Site-wide mixins and functions.
    These are just for SCSS - nothing here gets directly compiled to CSS.
\*------------------------------------*/
/*------------------------------------*\
    #CLEARFIX
\*------------------------------------*/
/**
 * Micro clearfix, as per: css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
 *
 */
/*------------------------------------*\
    #GENERIC
    Low-specificity, far-reaching rulesets (e.g. resets).
    Here we have our basic resets
\*------------------------------------*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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/10/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 of focused elements when they are also in an
 * active/hover state.
 */
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.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * 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; }

/*------------------------------------*\
    #RESET
\*------------------------------------*/
/**
 * As well as using normalize.css, it is often advantageous to remove all
 * margins from certain elements.
 */
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
figure,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0; }

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title],
dfn[title] {
  cursor: help; }

/**
 * Remove underlines from potentially troublesome elements.
 */
u,
ins {
  text-decoration: none; }

/**
 * Apply faux underlines to inserted text via `border-bottom`.
 */
ins {
  border-bottom: 1px solid; }

/*------------------------------------*\
    #BOX-SIZING
\*------------------------------------*/
/**
 * Set the global `box-sizing` state to `border-box`.
 *
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 * paulirish.com/2012/box-sizing-border-box-ftw
 */
html {
  box-sizing: border-box; }

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

/*------------------------------------*\
    #BASE
    Unclassed HTML elements (e.g. a {}, blockquote {}, address {}).
    Here we style all our HTML-elements with the basic styling we want.
	https://github.com/aleutcss?query=base
\*------------------------------------*/
/*------------------------------------*\
    #PAGE
\*------------------------------------*/
/**
 * High-, page-level styling.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 3. Ensure the page always fills at least the entire height of the viewport.
 * 4. Prevent certain mobile browsers from automatically zooming fonts.
 * 5. Fonts on OSX will look more consistent with other systems that do not
 *    render text using sub-pixel anti-aliasing.
 */
html {
  font-size: 1em;
  /* [1] */
  line-height: 1.5;
  /* [1] */
  background-color: #fff;
  color: #2B2B2B;
  overflow-y: scroll;
  /* [2] */
  min-height: 100%;
  /* [3] */
  -webkit-text-size-adjust: 100%;
  /* [4] */
  -ms-text-size-adjust: 100%;
  /* [4] */
  -moz-osx-font-smoothing: grayscale;
  /* [5] */
  -webkit-font-smoothing: antialiased;
  /* [5] */ }

/*------------------------------------*\
    #IMAGES
\*------------------------------------*/
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
  vertical-align: middle;
  /* [3] */ }

/**
 * 1. Google Maps breaks if `max-width: 100%` acts upon it; use their selector
 *    to remove the effects.
 * 2. If a `width` and/or `height` attribute have been explicitly defined, let’s
 *    not make the image fluid.
 */
.gm-style img,
img[width],
img[height] {
  /* [2] */
  max-width: none; }

/*------------------------------------*\
    #LISTS
\*------------------------------------*/
/**
 * Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0; }

/*------------------------------------*\
    #HEADINGS
\*------------------------------------*/
/**
 * Headings 1–6.
 */
h1 {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.33333; }

h2 {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6; }

h3 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1; }

h4 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2; }

h5 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }

h6 {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429; }

html {
  font-family: "Frutiger", "Helvetica", sans-serif; }

a {
  color: inherit;
  text-decoration: none; }

a:not([class]) {
  color: inherit;
  box-shadow: inset 0 -1px 0 #457e30;
  transition: box-shadow 0.2s ease; }
  a:not([class]):hover, a:not([class]):focus {
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.6); }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

@media screen and (max-width: 51.938em) {
  h1, h2 {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1; }
  h3 {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.2; }
  h4 {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.71429; } }

h3 {
  line-height: 1.4; }

h2 {
  line-height: 1.3; }

strong {
  /*font-weight: 500;*/ }

hr {
  border: 0;
  height: 0;
  border-top: 1px solid #ddd; }

input::-webkit-inner-spin-button {
  display: none; }

::selection {
  background: rgba(100, 205, 47, 0.7);
  color: #2B2B2B;
  text-shadow: none; }

ol:not([class]) {
  margin-left: 1.2em;
  list-style: none outside numbers; }
  ol:not([class]) li {
    margin-bottom: 12px; }

ul:not([class]) {
  margin-left: 1.2em; }
  ul:not([class]) li {
    margin-bottom: 12px; }

ul.no-style {
  list-style-type: none;
  font-size: 16px; }
  ul.no-style li::before {
    content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path></svg>');
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: -20px;
    margin-top: 2px;
    position: absolute; }

ul.no-style.active {
  list-style-type: none; }
  ul.no-style.active li::before {
    content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#51A33D" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path></svg>');
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: -20px;
    margin-top: 2px;
    position: absolute; }

table {
  display: inline-block;
  vertical-align: top;
  max-width: 100%;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center;
  background-size: 10px 100%, 10px 100%;
  background-attachment: scroll, scroll;
  background-repeat: no-repeat;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #ddd;
  border-right: none; }
  @media screen and (min-width: 52em) {
    table {
      background-image: none; } }
  @media screen and (min-width: 52em) {
    table {
      border: 1px solid #f5f5f5; } }

tr {
  border-bottom: 1px solid #ddd; }
  @media screen and (min-width: 52em) {
    tr {
      border-bottom: 1px solid #f5f5f5; } }
  @media screen and (min-width: 52em) {
    tr:nth-child(odd) {
      background-color: #f5f5f5; } }

thead tr:nth-child(odd) {
  background-color: transparent; }

td, th {
  padding: 8px 12px;
  font-weight: normal;
  text-align: center;
  border-right: 1px solid #ddd; }
  @media screen and (min-width: 52em) {
    td, th {
      border-right: 1px solid #f5f5f5;
      padding: 12px 16px; } }
  td:first-child, th:first-child {
    text-align: left; }

th {
  border-bottom: 3px solid #51A33D;
  color: #51A33D;
  background: white; }

td:first-child {
  background-image: linear-gradient(to right, white 50%, rgba(255, 255, 255, 0) 100%);
  background-repeat: no-repeat;
  background-size: 20px 100%; }
  @media screen and (min-width: 52em) {
    td:first-child {
      background-image: none; } }

td:last-child {
  background-image: linear-gradient(to left, white 50%, rgba(255, 255, 255, 0) 100%);
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 20px 100%; }
  @media screen and (min-width: 52em) {
    td:last-child {
      background-image: none; } }

/*------------------------------------*\
    #OBJECTS (o-prefix)
    Objects, abstractions, and design patterns (e.g. .o-media {}).
    Here we import abstractions without styling etc.
    Missing some abstractions? Read trough the SCSS-files imported to turn
    on variables or get new ones from here:
    https://github.com/aleutcss?query=objects.
\*------------------------------------*/
/*------------------------------------*\
    #BOX
\*------------------------------------*/
/**
 * The box object simply boxes off content.
 */
/**
 * 1. So we can apply the `.box` class to naturally-inline elements.
 */
.o-box {
  display: block;
  /* [1] */
  padding: 24px; }
  .o-box::after {
    content: "";
    display: table;
    clear: both; }
  .o-box > :last-child {
    margin-bottom: 0; }

/**
     * Small box.
     */
.o-box--small {
  padding: 12px; }

/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
/**
 * A simple button object.
 */
/**
 * 1. Allow us to style box model properties.
 * 2. Line different sized buttons up a little nicer.
 * 3. Make buttons inherit font styles (often necessary when styling `input`s as
 *    buttons).
 * 4. Reset/normalize some styles.
 * 5. Force all button-styled elements to appear clickable.
 * 6. Fixes odd inner spacing in IE7.
 * 7. Subtract the border size from the padding value so that buttons do not
 *    grow larger as we add borders.
 */
.o-btn {
  display: inline-block;
  /* [1] */
  vertical-align: middle;
  /* [2] */
  font: inherit;
  /* [3] */
  text-align: center;
  /* [4] */
  margin: 0;
  /* [4] */
  cursor: pointer;
  /* [5] */
  overflow: visible;
  /* [6] */
  padding: 11px 23px;
  /* [7] */
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 3px; }
  .o-btn, .o-btn:hover, .o-btn:active, .o-btn:focus {
    text-decoration: none;
    /* [4] */
    color: #51A33D; }

/**
 * Fix a Firefox bug whereby `input type="submit"` gains 2px extra padding.
 */
.o-btn::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
     * Small buttons.
     */
.o-btn--small {
  padding: 5px 11px;
  /* [7] */ }

/**
     * Full-width buttons.
     */
.o-btn--full {
  width: 100%; }

.o-btn--small {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429; }

/*------------------------------------*\
    #FLAG
\*------------------------------------*/
/**
 * The flag object is a design pattern similar to the media object, however it
 * utilises `display: table[-cell];` to give us control over the vertical
 * alignments of the text and image. csswizardry.com/2013/05/the-flag-object
 */
/**
 * 1. Allows us to control vertical alignments
 * 2. Force the object to be the full width of its parent. Combined with [1],
 *    this makes the object behave in a quasi-`display: block;` manner.
 */
.o-flag {
  display: table;
  /* [1] */
  width: 100%;
  /* [2] */ }

/**
     * Items within a flag object. There should only ever be one of each.
     *
     * 1. Default to aligning content to their middles.
     */
.o-flag__img,
.o-flag__body {
  display: table-cell;
  vertical-align: middle;
  /* [1] */ }

/**
     * Flag images have a space between them and the body of the object.
     */
.o-flag__img {
  padding-right: 24px; }
  .o-flag__img > img {
    display: block;
    max-width: none; }

/**
     * The container for the main content of the flag object.
     *
     * 1. Forces the `.flag__body` to take up all remaining space.
     */
.o-flag__body {
  width: 100%;
  /* [1] */ }
  .o-flag__body,
  .o-flag__body > :last-child {
    margin-bottom: 0; }

/**
     * Large flags.
     */
.o-flag--large {
  /**
             * Large reversed flags.
             */ }
  .o-flag--large > .o-flag__img {
    padding-right: 48px; }
  .o-flag--large.o-flag--rev > .o-flag__img {
    padding-right: 0;
    padding-left: 48px; }

/**
     * Huge flags.
     */
.o-flag--huge {
  /**
             * Huge reversed flags.
             */ }
  .o-flag--huge > .o-flag__img {
    padding-right: 96px; }
  .o-flag--huge.o-flag--rev > .o-flag__img {
    padding-right: 0;
    padding-left: 96px; }

/**
     * Reversed flag objects have their image-content to the right, and text-content
     * to the left.
     *
     * 1. Swap the rendered direction of the object…
     * 2. …and reset it.
     * 3. Reassign margins to the correct sides.
     */
.o-flag--rev {
  direction: rtl;
  /* [1] */ }
  .o-flag--rev > .o-flag__img,
  .o-flag--rev > .o-flag__body {
    direction: ltr;
    /* [2] */ }
  .o-flag--rev > .o-flag__img {
    padding-right: 0;
    /* [3] */
    padding-left: 24px;
    /* [3] */ }

/**
     * Vertically top aligned flag objects.
     */
.o-flag--top > .o-flag__img,
.o-flag--top > .o-flag__body {
  vertical-align: top; }

/**
     * Responsive flag objects.
     *
     * There is a very pragmatic, simple implementation of a responsive flag
     * object, which simply places the text-content beneath the image-content.
     *
     * We use a `max-width` media query because:
     *
     * a) it is the least verbose method in terms of amount of code required.
     * b) the flag object’s default state is image-next-to-text, so its stacked
     *    state is the exception, rather than the rule.
     */
@media screen and (max-width: 832px) {
  .o-flag--responsive {
    /**
                 * Disable reversal of content because there is no concept of
                 * ‘reversed’ in a stacked layout.
                 */
    direction: ltr;
    /**
             * Rework the spacings on regular flag objects.
             */
    /**
                 * Large responsive flags.
                 *
                 * Take a little more heavy-handed approach to reworking
                 * spacings on flags that are also large flags in their regular
                 * state.
                 */
    /**
                 * Huge responsive flags.
                 *
                 * Take a little more heavy-handed approach to reworking
                 * spacings on flags that are also huge flags in their regular
                 * state.
                 */ }
    .o-flag--responsive,
    .o-flag--responsive > .o-flag__img,
    .o-flag--responsive > .o-flag__body {
      display: block; }
    .o-flag--responsive > .o-flag__img {
      padding-right: 0;
      padding-left: 0;
      margin-bottom: 24px; }
    .o-flag--responsive.o-flag--large > .o-flag__img {
      padding-right: 0;
      padding-left: 0;
      margin-bottom: 48px; }
    .o-flag--responsive.o-flag--huge > .o-flag__img {
      padding-right: 0;
      padding-left: 0;
      margin-bottom: 96px; } }

.o-flag--halves {
  table-layout: fixed; }
  .o-flag--halves > .o-flag__img,
  .o-flag--halves > .o-flag__body {
    width: 100%; }
  .o-flag--halves > .o-flag__img img {
    margin: 0 auto; }

@media screen and (max-width: 51.938em) {
  .o-flag--responsive.o-flag--large > .o-flag__img {
    margin-bottom: 24px; } }

/*------------------------------------*\
    #LAYOUT
\*------------------------------------*/
/**
 * The aleutcss layout system uses `box-sizing: border-box;` and
 * `display: inline-block;` to create an extremely powerful, flexible
 * alternative to the traditional grid system. Combine the layout items with
 * the widths found in `trumps.widths`.
 */
/**
 * Begin a layout group.
 */
.o-layout {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: -24px; }

/**
     * 1. Cause columns to stack side-by-side.
     * 2. Space columns apart.
     * 3. Align columns to the tops of each other.
     * 4. Full-width unless told to behave otherwise.
     * 5. Required to combine fluid widths and fixed gutters.
     */
.o-layout__item {
  display: inline-block;
  /* [1] */
  padding-left: 24px;
  /* [2] */
  vertical-align: top;
  /* [3] */
  width: 100%;
  /* [4] */
  /* [5] */
  /* [5] */
  box-sizing: border-box;
  /* [5] */ }

/**
     * Layouts with large gutters.
     */
.o-layout--large {
  margin-left: -48px; }
  .o-layout--large > .o-layout__item {
    padding-left: 48px; }

/**
     * Reversed rendered order of layout items, e.g. items 1, 2, 3, 4 in your
     * markup will display in order 4, 3, 2, 1 on your page.
     */
.o-layout--rev {
  direction: rtl;
  text-align: left; }
  .o-layout--rev > .o-layout__item {
    direction: ltr;
    text-align: left; }

/*------------------------------------*\
    #LIST-BARE
\*------------------------------------*/
/**
 * The list-bare object simply removes any indents and bullet points from lists.
 */
.o-list-bare {
  margin: 0;
  padding: 0;
  list-style: none; }

/*------------------------------------*\
    #LIST-INLINE
\*------------------------------------*/
/**
 * The list-inline object simply displays a list of items in one line.
 */
.o-list-inline {
  margin: 0;
  padding: 0;
  list-style: none; }
  .o-list-inline > li {
    display: inline-block; }

/*------------------------------------*\
    #LIST-UI
\*------------------------------------*/
/**
 * The UI list object creates blocky list items with a keyline separator out of
 * a `ul` or `ol`, e.g.:
 *
   <ul class="o-list-ui o-list-ui--small">
       <li class="o-list-ui__item">Foo</li>
       <li class="o-list-ui__item">Bar</li>
       <li class="o-list-ui__item">Baz</li>
   </ul>
 *
 * Extend this object in your components.
 */
.o-list-ui,
.o-list-ui__item {
  border: 0 solid #ccc; }

.o-list-ui {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top-width: 1px; }

.o-list-ui__item {
  padding: 12px;
  border-bottom-width: 1px; }

/*------------------------------------*\
    #TABS
\*------------------------------------*/
/**
 * A simple abstraction for making equal-width navigation tabs.
 */
/**
 * 1. Reset any residual styles (most likely from lists).
 * 2. Tables for layout!
 * 3. Force all `table-cell` children to have equal widths.
 * 4. Force the object to be the full width of its parent. Combined with [2],
 *    this makes the object behave in a quasi-`display: block;` manner.
 */
.o-tabs {
  margin: 0;
  /* [1] */
  padding: 0;
  /* [1] */
  list-style: none;
  /* [1] */
  display: table;
  /* [2] */
  table-layout: fixed;
  /* [3] */
  width: 100%;
  /* [4] */
  text-align: center; }

.o-tabs__item {
  display: table-cell;
  /* [2] */ }

.o-tabs__link {
  display: block; }

.o-wrapper {
  position: relative;
  width: 100%;
  max-width: 1056px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 12px; }

/*------------------------------------*\
    #VENDOR
    Third party CSS for plugins etc.
\*------------------------------------*/
[hidden] {
  display: none; }

.visually-hidden {
  position: absolute;
  clip: rect(0, 0, 0, 0); }

div.awesomplete {
  position: relative; }

div.awesomplete > input {
  display: block; }

div.awesomplete > ul {
  position: absolute;
  left: 0;
  z-index: 1;
  min-width: 100%;
  box-sizing: border-box;
  list-style: none;
  padding: 0;
  border-radius: 3px;
  margin: .2em 0 0;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15);
  text-shadow: none; }

div.awesomplete > ul[hidden],
div.awesomplete > ul:empty {
  display: none; }

@supports (transform: scale(0)) {
  div.awesomplete > ul {
    transition: 0.3s cubic-bezier(0.4, 0.2, 0.5, 1.4);
    -ms-transform-origin: 1.43em -.43em;
        transform-origin: 1.43em -.43em; }
  div.awesomplete > ul[hidden],
  div.awesomplete > ul:empty {
    opacity: 0;
    -ms-transform: scale(0);
        transform: scale(0);
    display: block;
    transition-timing-function: ease; } }

/* Pointer */
div.awesomplete > ul:before {
  content: "";
  position: absolute;
  top: -.43em;
  left: 1em;
  width: 0;
  height: 0;
  padding: .4em;
  background: white;
  border: inherit;
  border-right: 0;
  border-bottom: 0;
  -ms-transform: rotate(45deg);
      transform: rotate(45deg); }

div.awesomplete > ul > li {
  position: relative;
  padding: .2em .5em;
  cursor: pointer; }

div.awesomplete > ul > li:hover {
  background: #51a33d;
  color: #fff; }

div.awesomplete > ul > li[aria-selected="true"] {
  background: #51A33D;
  color: white; }

div.awesomplete mark {
  font-weight: 500;
  background: transparent; }

div.awesomplete li:hover mark {
  color: #fff; }

div.awesomplete li[aria-selected="true"] mark {
  background: #51A33D;
  color: inherit; }

.blocker {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 1;
  padding: 20px;
  box-sizing: border-box;
  background-color: black;
  background-color: rgba(0, 0, 0, 0.75);
  text-align: center; }

.blocker:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.05em; }

.blocker.behind {
  background-color: transparent; }

.modal {
  display: none;
  vertical-align: middle;
  position: relative;
  z-index: 2;
  max-width: 500px;
  box-sizing: border-box;
  width: 90%;
  background: #fff;
  padding: 15px 30px;
  border-radius: 8px;
  -o-box-shadow: 0 0 10px #000;
  -ms-box-shadow: 0 0 10px #000;
  box-shadow: 0 0 10px #000;
  text-align: left; }

.modal a.close-modal {
  position: absolute;
  top: -12.5px;
  right: -12.5px;
  display: block;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg=="); }

.modal-spinner {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  -ms-transform: translateY(-50%) translateX(-50%);
      transform: translateY(-50%) translateX(-50%);
  padding: 12px 16px;
  border-radius: 5px;
  background-color: #111;
  height: 20px; }

.modal-spinner > div {
  border-radius: 100px;
  background-color: #fff;
  height: 20px;
  width: 2px;
  margin: 0 1px;
  display: inline-block;
  animation: sk-stretchdelay 1.2s infinite ease-in-out; }

.modal-spinner .rect2 {
  animation-delay: -1.1s; }

.modal-spinner .rect3 {
  animation-delay: -1.0s; }

.modal-spinner .rect4 {
  animation-delay: -0.9s; }

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.5);
    -webkit-transform: scaleY(0.5); }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1); } }

.ui-autocomplete {
  max-height: 200px;
  overflow-y: auto;
  /* prevent horizontal scrollbar */
  overflow-x: hidden;
  /* add padding to account for vertical scrollbar */
  padding-right: 20px; }

.fixedsticky {
  position: -webkit-sticky;
  position: -moz-sticky;
  position: -ms-sticky;
  position: -o-sticky;
  position: sticky; }

/* When position: sticky is supported but native behavior is ignored */
.fixedsticky-withoutfixedfixed .fixedsticky-off,
.fixed-supported .fixedsticky-off {
  position: static; }

.fixedsticky-withoutfixedfixed .fixedsticky-on,
.fixed-supported .fixedsticky-on {
  position: fixed; }

.fixedsticky-dummy {
  display: none; }

.fixedsticky-on + .fixedsticky-dummy {
  display: block; }

.fixedsticky {
  top: 0; }

/*------------------------------------*\
    #COMPONENTS (c-prefix)
    Discrete, complete chunks of UI (e.g. `.c-carousel {}`).
    This is the one layer that aleutcss doesn’t get involved with.
    Here you place your own visual styling.
\*------------------------------------*/
.c-accordion-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.c-accordion-list__item {
  border-bottom: 1px solid #ddd; }

.c-accordion-list__link {
  display: block;
  padding: 12px 0; }
  .c-accordion-list__link:hover .c-accordion-list__icon, .c-accordion-list__link:active .c-accordion-list__icon, .c-accordion-list__link:focus .c-accordion-list__icon, .c-accordion-list__link.is-active .c-accordion-list__icon {
    fill: #51A33D;
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg); }

.c-accordion-list--child > .c-accordion-list__item {
  border-bottom: 0;
  padding-left: 24px; }
  .c-accordion-list--child > .c-accordion-list__item > .c-accordion-list__link {
    padding: 6px 0; }

.c-accordion-list__icon {
  transition: transform .2s ease, fill .2s ease; }
  .c-accordion-list__icon svg {
    vertical-align: middle; }

.c-accordion-list__contents {
  background: #fff; }

.c-article__header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: end;
      align-items: flex-end;
  -ms-flex-pack: end;
      justify-content: flex-end;
  padding: 24px 0;
  margin-bottom: 24px; }
  @media screen and (min-width: 52em) {
    .c-article__header {
      min-height: 30vh;
      padding: 48px 0;
      margin-bottom: 48px; } }

.c-article__title {
  position: relative;
  max-width: 760px;
  z-index: 5;
  -ms-transform: translateX(-6px);
      transform: translateX(-6px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  font-weight: 400; }
  @media screen and (min-width: 52em) {
    .c-article__title {
      font-size: 72px;
      font-size: 4.5rem;
      line-height: 1; } }

.c-article__content {
  margin-bottom: 24px; }
  .c-article__content::after {
    content: "";
    display: table;
    clear: both; }
  .c-article__content p {
    max-width: 620px;
    line-height: 1.7;
    margin-bottom: 1em; }
  .c-article__content h2, .c-article__content h3 {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.7; }
  .c-article__content .c-article__lede {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.7;
    margin-bottom: 2em; }

.c-article__img {
  display: table; }
  @media screen and (min-width: 52em) {
    .c-article__img {
      float: right;
      max-width: 288px; } }

.c-article__img-caption {
  display: table-caption;
  caption-side: bottom;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  padding: 6px 0; }

.c-article__product {
  margin: 24px 0;
  background: #f5f5f5; }

@media screen and (min-width: 52em) {
  .c-article-preview {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -24px; } }

.c-article-preview--centered > .c-article-preview__item {
  text-align: center; }

@media screen and (min-width: 52em) {
  .c-article-preview__item {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    -ms-flex-positive: 1;
        flex-grow: 1;
    padding: 0 24px;
    width: 33.333%; }
    @supports (display: -moz-flex) or (display: flex) {
      .c-article-preview__item {
        -ms-flex-preferred-size: 33.333%;
            flex-basis: 33.333%;
        width: auto; } } }

.c-article-preview__link {
  display: block;
  transition: color 0.2s ease;
  overflow: hidden; }
  .c-article-preview__link img {
    -ms-transform: scale(1, 1);
        transform: scale(1, 1);
    transition: transform 0.4s ease;
    max-width: 300px; }
  .c-article-preview__link:hover, .c-article-preview__link:focus, .c-article-preview__link:active {
    color: #51A33D;
    outline: 0; }
    .c-article-preview__link:hover img, .c-article-preview__link:focus img, .c-article-preview__link:active img {
      -ms-transform: scale(1.05, 1.05);
          transform: scale(1.05, 1.05); }

.c-autocomplete {
  background: #fff;
  position: absolute;
  z-index: 50; }

.c-box--round {
  border-radius: 3px; }

.error_box {
  background-color: #2B2B2B;
  color: #fff;
  font-weight: bold; }

.c-box-heading {
  padding: 12px;
  border-radius: 3px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }
  @media screen and (max-width: 51.938em) {
    .c-box-heading {
      padding: 6px; } }

.blog .next_previous_block {
  margin-top: 50px; }

.blog .next_previous_link_holder {
  width: 49%;
  float: left;
  margin-top: 30px;
  margin-bottom: 10px; }

.blog .blog_body_list {
  padding-bottom: 12%;
  border-bottom: 4px solid #EEE;
  margin-bottom: 12%; }

.blog h1 {
  font-size: 3.5em; }

.blog_body .alignright {
  margin: 0 auto 1.2em auto;
  float: right;
  margin-left: 1em;
  max-width: 30%; }

.blog_body h2, .blog_body h3, .blog_body h4 {
  margin-bottom: 10px; }

.blog_body h2 {
  margin-top: 35px; }

.blog_body h3, .blog_body h4 {
  margin-top: 30px; }

.blog_body img {
  height: auto;
  max-width: 100%;
  margin-top: 10px;
  margin-bottom: 10px; }

.c-btn--primary {
  color: #fff;
  font-weight: bold;
  border-radius: 100px;
  background: linear-gradient(170deg, #51A33D 0%, #64CD2F 100%);
  border-color: transparent;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: 0 0 0 #457E30; }
  .c-btn--primary:hover {
    box-shadow: 0 3px 0 #457E30;
    color: #fff;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }
  .c-btn--primary:focus, .c-btn--primary:active {
    color: #fff;
    outline: 0; }

.c-btn--secondary {
  color: #51A33D;
  background: #fff;
  font-weight: bold;
  border: 1px solid #51A33D;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  border-radius: 100px; }
  .c-btn--secondary:hover, .c-btn--secondary:focus, .c-btn--secondary:active {
    outline: 0;
    box-shadow: 0 3px 0 #457E30;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }

.c-btn--tertiary {
  font-weight: 500;
  border-radius: 100px;
  background: #f5f5f5;
  color: #2B2B2B;
  border-color: transparent;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: 0 0 0 #ddd; }
  .c-btn--tertiary:hover, .c-btn--tertiary:focus, .c-btn--tertiary:active {
    color: #51A33D;
    box-shadow: 0 3px 0 #ddd;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px);
    outline: 0; }

.c-btn--inverted.c-btn--primary {
  background: #fff;
  color: #51A33D; }

.c-btn--inverted.c-btn--secondary {
  color: #fff;
  border: 1px solid #457E30;
  background: #457E30; }
  .c-btn--inverted.c-btn--secondary:hover, .c-btn--inverted.c-btn--secondary:focus, .c-btn--inverted.c-btn--secondary:active {
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.4); }

.c-btn--inverted.c-btn--tertiary {
  color: #fff;
  border: 1px solid #fff;
  background: transparent; }
  .c-btn--inverted.c-btn--tertiary:hover, .c-btn--inverted.c-btn--tertiary:focus, .c-btn--inverted.c-btn--tertiary:active {
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); }

.c-btn--outline {
  color: #2B2B2B;
  background: transparent;
  font-weight: bold;
  border: 1px solid #51A33D;
  border-radius: 100px;
  padding: 10px 35px;
  margin: 1px; }
  .c-btn--outline:hover, .c-btn--outline:focus, .c-btn--outline:active {
    border: 2px solid #51A33D;
    margin: 0; }

.c-btn--no-outline {
  color: #2B2B2B;
  background: transparent;
  font-weight: bold;
  border-bottom: 1px solid #51A33D;
  border-radius: 0;
  padding: 5px 2px;
  margin: 1px; }
  .c-btn--no-outline:hover, .c-btn--no-outline:focus, .c-btn--no-outline:active {
    color: #51A33D; }

.c-campaign {
  position: relative;
  padding: 0;
  background-size: cover;
  background-color: #51A33D;
  background-position: center center;
  color: #fff; }
  @media screen and (max-width: 51.938em) {
    .c-campaign {
      background-image: none !important; } }
  @media screen and (min-width: 52em) {
    .c-campaign {
      display: -ms-flexbox;
      display: flex;
      min-height: 50vh;
      padding: 12px;
      -ms-flex-align: end;
          align-items: flex-end; } }
  @media screen and (min-width: 66em) {
    .c-campaign {
      -ms-flex-align: center;
          align-items: center;
      padding-top: 48px;
      padding-bottom: 48px;
      padding-left: calc(50% - 1056px / 2 + 24px / 2); } }

.c-campaign--small {
  min-height: 0; }
  .c-campaign--small .c-campaign__content {
    color: #fff;
    background: transparent;
    position: static;
    padding: 12px;
    margin: 0 auto;
    box-shadow: none; }
    @media screen and (min-width: 66em) {
      .c-campaign--small .c-campaign__content {
        max-width: 1056px;
        -ms-transform: none;
            transform: none; } }

.c-campaign__content {
  background: #fff;
  color: #2B2B2B;
  padding: 24px;
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15); }
  .c-campaign__content h1,
  .c-campaign__content h2,
  .c-campaign__content h3,
  .c-campaign__content p {
    margin-bottom: 24px; }
    .c-campaign__content h1:last-child,
    .c-campaign__content h2:last-child,
    .c-campaign__content h3:last-child,
    .c-campaign__content p:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 52em) {
    .c-campaign__content {
      box-shadow: none; } }
  @media screen and (min-width: 66em) {
    .c-campaign__content {
      max-width: 528px; } }

@media screen and (min-width: 52em) {
  .c-campaign__img {
    display: none; } }

@media screen and (max-width: 51.938em) {
  .c-btn--group:not(:last-child) {
    margin-bottom: 12px; } }

.c-cart__details {
  background: #f5f5f5;
  color: #2B2B2B;
  padding: 12px;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd; }
  @media screen and (max-width: 51.938em) {
    .c-cart__details {
      padding: 6px;
      font-size: 12px;
      font-size: 0.75rem;
      line-height: 2; } }

.c-cart-table {
  width: 100%;
  background: #fff;
  display: table; }

.c-cart-table__row {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd; }
  .c-cart-table__row:nth-child(odd) {
    background-color: transparent; }

.c-cart-table__cell {
  padding: 6px 12px;
  vertical-align: top;
  border-right: none; }
  .c-cart-table__cell:last-child {
    text-align: right; }
  @media screen and (max-width: 51.938em) {
    .c-cart-table__cell {
      padding-right: 6px;
      padding-left: 6px; } }

.c-cart-table__description {
  color: #767676; }
  @media screen and (max-width: 51.938em) {
    .c-cart-table__description {
      font-size: 12px;
      font-size: 0.75rem;
      line-height: 2; } }

.c-cart-table__cell--sum {
  padding: 12px 12px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2; }
  @media screen and (max-width: 51.938em) {
    .c-cart-table__cell--sum {
      padding: 6px 6px;
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71429; } }

.c-internet {
  overflow: hidden;
  position: relative; }
  .c-internet.active {
    border: 6px solid #51A33D;
    height: 100%;
    margin-top: 12px !important; }
  .c-internet-heighlight {
    position: absolute;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-pack: center;
        justify-content: center;
    top: -25px;
    height: 80px;
    width: 130px;
    right: -50px;
    font-size: 16px;
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    background-color: black;
    color: #fff; }
    .c-internet-heighlight.active {
      background-color: #51A33D; }
  @media screen and (min-width: 66em) {
    .c-internet-mt {
      margin-top: 30px; } }
  .c-internet-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .c-internet-found {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row; }
    @media screen and (max-width: 32.5em) {
      .c-internet-found .body {
        display: -ms-flexbox;
        display: flex;
        margin-left: 12px;
        -ms-flex-direction: column;
            flex-direction: column; } }
  .c-internet-others-left {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding-left: 12px;
    padding-right: 48px; }
  .c-internet-others-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    @media screen and (max-width: 32.5em) {
      .c-internet-others-list {
        -ms-flex-direction: column;
            flex-direction: column; }
        .c-internet-others-list ul.no-style {
          -ms-flex-align: center;
              align-items: center; } }
  .c-internet-others-center {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .c-internet-others-center li {
      display: -ms-inline-flexbox;
      display: inline-flex; }
  .c-internet-others-right {
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  @media screen and (min-width: 66em) {
    .c-internet-others-props.no-style li:last-child {
      margin-top: 12px; } }
  @media screen and (max-width: 51.938em) {
    .c-internet-others {
      -ms-flex-direction: column;
          flex-direction: column; } }
  .c-internet-others.active {
    border: 6px solid #51A33D; }

.c-internet-checkbox .c-form__checkbox + .c-form__label {
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .c-internet-checkbox .c-form__checkbox + .c-form__label:before {
    border: 1px solid #eeeeee;
    border-radius: 3px;
    background: #fff; }
  .c-internet-checkbox .c-form__checkbox + .c-form__label:hover:before, .c-internet-checkbox .c-form__checkbox + .c-form__label:focus:before, .c-internet-checkbox .c-form__checkbox + .c-form__label:active:before {
    border-color: #eeeeee; }

.c-internet-checkbox .c-form__label {
  padding-top: 3px; }

.c-internet-center {
  text-align: center; }

.c-tv.active {
  border: 6px solid #51A33D;
  height: 100%;
  margin-top: -12px !important; }

.c-tv-confirm-left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row; }

.c-tv-size {
  min-height: calc(100vh - 600px); }
  @media screen and (max-width: 51.938em) {
    .c-tv-size .c-tiles--eights .c-tiles__item {
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; } }

.c-phone.active {
  border: 6px solid #51A33D;
  height: 100%;
  margin-top: -12px !important; }

.c-phone-full {
  height: 100%; }

.c-wifi.active {
  border: 6px solid #51A33D;
  height: 100%;
  margin-top: -12px !important; }

.c-wifi-full {
  height: 100%; }

.c-skip {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  background-color: #eeeeee; }
  @media screen and (max-width: 51.938em) {
    .c-skip {
      margin-top: 15px;
      -ms-flex-direction: column;
          flex-direction: column;
      padding: 15px; } }
  .c-skip-left div {
    margin-top: 10px;
    font-size: 24px; }
  .c-skip-right a {
    margin-top: -5px;
    margin-bottom: 5px;
    background-color: #eeeeee; }

.c-question {
  z-index: 9999; }
  .c-question-icon {
    width: 12px;
    height: 13px;
    margin-left: 4px; }
  .c-question-text::before {
    content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="#51A33D" d="M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"></path></svg>');
    display: inline-block;
    position: absolute;
    width: 12px;
    height: 13px;
    margin-left: -18px;
    margin-top: -10px;
    z-index: 9999 !important; }

.tippy-tooltip.ngt-theme {
  background: #51A33D;
  color: #fff;
  padding: 12px;
  border-radius: 3px; }

.tippy-tooltip.ngt-theme[data-animatefill] {
  background-color: transparent; }

.tippy-tooltip.ngt-theme .tippy-backdrop {
  background-color: transparent; }

.tippy-popper[x-placement^='top'] .tippy-tooltip.ngt-theme .tippy-arrow {
  border-top-color: #51A33D; }

.tippy-popper[x-placement^='bottom'] .tippy-tooltip.ngt-theme .tippy-arrow {
  border-bottom-color: #51A33D; }

.tippy-popper[x-placement^='left'] .tippy-tooltip.ngt-theme .tippy-arrow {
  border-left-color: #51A33D; }

.tippy-popper[x-placement^='right'] .tippy-tooltip.ngt-theme .tippy-arrow {
  border-right-color: #51A33D; }

.tippy-tooltip.ngt-theme .tippy-roundarrow {
  fill: #51A33D; }

.c-payment-birth {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row; }
  .c-payment-birth-dd, .c-payment-birth-mm {
    width: 15% !important;
    margin-right: 10px; }
  .c-payment-birth-yyyy {
    width: 20% !important; }
  .c-payment-birth-span {
    margin-top: 12px;
    margin-right: 12px;
    color: #EEEEEE; }
  .c-payment-birth-icon {
    margin-top: 12px;
    margin-left: 12px; }

.c-payment.space-between {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.c-payment-container {
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 51.938em) {
    .c-payment-container {
      -ms-flex-direction: column;
          flex-direction: column; } }

.c-payment-left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 66.666%;
      flex-basis: 66.666%; }

.c-payment-right {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 33.333%;
      flex-basis: 33.333%; }

.c-payment-grow {
  -ms-flex-positive: 1;
      flex-grow: 1; }

.c-payment.active {
  border: 6px solid #51A33D; }

.c-payment.-u-mt-30 {
  margin-top: -30px; }

.c-payment-hr {
  margin: 10px 0 15px 0;
  border-bottom: 1px solid #EEEEEE; }

.c-payment-desktop {
  display: block; }
  @media screen and (max-width: 32.5em) {
    .c-payment-desktop {
      display: none; } }

.c-payment-checkbox .c-form__checkbox + .c-form__label {
  margin-top: 10px; }
  .c-payment-checkbox .c-form__checkbox + .c-form__label:before {
    background: #f5f5f5;
    border-radius: 3px; }

.c-payment-checkbox .c-form__label.bottom {
  padding-top: 5px; }

.c-form__group-item .c-form__label {
  padding-top: 5px; }

.c-payment--halves {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -6px 12px; }
  .c-payment--halves > .c-payment__item {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 0 6px;
    margin-bottom: 12px; }
    .c-payment--halves > .c-payment__item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 66em) {
      .c-payment--halves > .c-payment__item {
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        margin-bottom: 0;
        width: 50%; }
        @supports (display: -moz-flex) or (display: flex) {
          .c-payment--halves > .c-payment__item {
            -ms-flex-preferred-size: 50%;
                flex-basis: 50%;
            width: auto; } } }
  .c-payment--halves > .c-payment__full-item {
    padding: 0 6px;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 12px; }
    .c-payment--halves > .c-payment__full-item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 66em) {
      .c-payment--halves > .c-payment__full-item {
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        margin-bottom: 0;
        width: 100%; }
        @supports (display: -moz-flex) or (display: flex) {
          .c-payment--halves > .c-payment__full-item {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%;
            width: auto; } } }

.c-basket {
  position: sticky;
  position: -webkit-sticky;
  /* Safari */
  bottom: 0;
  z-index: 9999; }
  .c-basket-close {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end; }
    .c-basket-close a {
      box-shadow: none; }
    .c-basket-close a:hover,
    .c-basket-close a:active,
    .c-basket-close a:focus {
      box-shadow: none;
      color: #51A33D; }
  .c-basket-title-font {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.26316;
    font-weight: 600; }
  .c-basket-no-padding .c-tiles--thirds > .c-tiles__item {
    padding: 0; }
  .c-basket-hr {
    margin: 10px 0 15px 0;
    border-bottom: 1px solid #EEEEEE; }
  .c-basket-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .c-basket-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 0; }
    @media screen and (max-width: 51.938em) {
      .c-basket-content {
        -ms-flex-direction: column;
            flex-direction: column; } }
  .c-basket-left {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    min-height: 50px;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .c-basket-left .c-form__field {
      padding-top: 13px; }
      .c-basket-left .c-form__field .c-form__label {
        font-size: 16px;
        line-height: 32px; }
    @media screen and (max-width: 51.938em) {
      .c-basket-left {
        text-align: center; } }
  .c-basket-left-child {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .c-basket-left-child div {
      margin-top: 12px; }
    .c-basket-left-child div:not(:first-child) {
      margin-left: 12px; }
    @media screen and (max-width: 51.938em) {
      .c-basket-left-child {
        margin-top: 12px;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .c-basket-left-child div {
          margin-top: 4px; }
        .c-basket-left-child div:not(:first-child) {
          margin-left: 0; } }
  .c-basket-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    min-height: 50px;
    -ms-flex-align: end;
        align-items: flex-end; }
    @media screen and (max-width: 51.938em) {
      .c-basket-right {
        margin-top: 12px;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: center;
            justify-content: center; } }
  .c-basket-btn {
    height: 48px;
    margin-bottom: 4px;
    padding: 0 45px; }
    @media screen and (max-width: 51.938em) {
      .c-basket-btn {
        padding: 0 15px;
        margin-top: 8px; } }
  .c-basket-details {
    display: -ms-flexbox;
    display: flex;
    margin-top: 12px;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .c-basket-details-table {
      width: 100%;
      display: table;
      background: #fff;
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.5;
      border: none; }
      .c-basket-details-table tr {
        border: none; }
      .c-basket-details-table .spacing-small td {
        padding-bottom: 8px; }
      .c-basket-details-table .spacing td {
        padding-bottom: 12px; }
      .c-basket-details-table td, .c-basket-details-table th {
        background-color: #fff;
        border: none; }
      .c-basket-details-table td {
        padding: 5px 0 0 15px;
        text-align: left; }
      .c-basket-details-table td:first-child {
        width: 200px; }
      .c-basket-details-table tr.hr td {
        border-top: 1px solid #eeeeee;
        padding-top: 12px; }
      .c-basket-details-table tr.active td {
        font-weight: bold;
        padding-top: 25px; }
      .c-basket-details-table tr.total {
        margin-top: 50px; }
      .c-basket-details-table tr.total td {
        font-weight: bold;
        padding: 15px;
        background-color: #f5f5f5; }

@media only screen and (max-width: 1056px) {
  .slider-wrapper {
    overflow-x: scroll !important;
    margin-bottom: 30px; }
    .slider-wrapper::-webkit-scrollbar {
      height: 5px; }
    .slider-wrapper::-webkit-scrollbar-track {
      padding-top: 20px;
      margin: 0 50px;
      border-radius: 5px;
      background-color: #eeeeee; }
    .slider-wrapper::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background-color: #51A33D; }
    .slider-wrapper::-webkit-scrollbar:vertical {
      display: none; }
  .slider {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-scrolling: touch !important;
    -webkit-overflow-scrolling: touch !important; }
  .slider > div {
    -ms-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    width: 75vw !important;
    margin-left: 20px !important; }
  .c-tiles--thirds > .c-tiles__item {
    -ms-flex-preferred-size: unset;
        flex-basis: unset; } }

/**
 * Intelecom Chat
 * These styles override the default styles of the chat client
 */
#intelechat-ngt2 .intelecomchatdialog {
  box-shadow: 0 0 8px 1px #888; }

#intelechat-ngt2 .msg_intro_variables {
  display: none !important;
  font-size: 12px !important; }

#intelechat-ngt2 .intelecomchatheader {
  background-color: #398A35; }

#intelechat-ngt2 .intelecomchatstarter {
  border: 5px solid  #398A35;
  width: 70px;
  height: 70px;
  z-index: 10001; }

#intelechat-ngt2 .intelecomStarterRight {
  right: 35px;
  bottom: 35px; }

#intelechat-ngt2 .intelecomchat__button {
  background: #398A35; }

.modal {
  max-width: 900px; }

/*

#intelechat-ngt2 .intelecomchat__button     { background: #398A35; }
#intelechat-ngt2 .intelecomchatstarter      { border: 5px solid  #398A35; width: 70px; height: 70px; }

#intelechat-ngt2 label                      { width: inherit; }
*/
/*
 * Boost chatbot
 */
.bai-msg-window ul li {
  margin-bottom: 0px; }

.c-expand {
  display: block;
  margin-bottom: 24px;
  padding: 6px;
  border-top: 1px solid #51A33D;
  border-bottom: 1px solid #51A33D;
  font-weight: 500;
  color: #51A33D; }
  .c-expand::after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (max-width: 51.938em) {
    .c-expand {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71429; } }
  .c-expand.is-active .c-expand__action {
    -ms-transform: rotate(180deg);
        transform: rotate(180deg); }

.c-expand__action {
  float: right;
  background: url("/icons/caret-down-green.svg") no-repeat right center;
  background-size: 16px;
  width: 24px;
  height: 24px;
  transition: transform 0.4s ease; }

.c-form__checkbox-explain {
  color: #51A33D;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 300; }

/*------------------------------------*\
# Field wrapper
\*------------------------------------*/
.c-form__field {
  position: relative;
  margin-bottom: 24px;
  border: 0; }

/*------------------------------------*\
# Label
\*------------------------------------*/
.c-form__label, .form__label {
  font-weight: 500;
  display: block;
  margin-bottom: 6px; }
  @media screen and (max-width: 51.938em) {
    .c-form__label, .form__label {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71429; } }

/*-------------------------------------------------*\
# Wrapper for placing a button next to an input
\*-------------------------------------------------*/
.c-form__group {
  display: -ms-flexbox;
  display: flex; }

@media screen and (max-width: 32.5em) {
  .c-form__group--responsive {
    display: block; }
    .c-form__group--responsive .c-form__group-item:not(:last-child) {
      margin-right: 0;
      margin-bottom: 24px; } }

.c-form__group-item:last-child {
  -ms-flex-positive: 1;
      flex-grow: 1; }

.c-form__group-item:not(:last-child) {
  margin-right: 24px; }

.c-form__birthdate-item:nth-child(-n + 2) {
  max-width: 96px; }

/*------------------------------------*\
# Input (normal)
\*------------------------------------*/
.c-form__input {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 0;
  padding: 0 12px;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: 0 0 0 #ddd;
  background: #f5f5f5;
  border-radius: 3px; }
  .c-form__input:hover, .c-form__input:focus, .c-form__input:active {
    outline: 0;
    box-shadow: 0 3px 0 #ddd;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }

.c-form__input--narrow {
  max-width: 250px; }

.c-form__input--stepper {
  border-left: 0;
  border-right: 0;
  text-align: center; }

.c-form__input--dark {
  color: #fff;
  background: rgba(43, 43, 43, 0.3);
  box-shadow: 0 0 0 #457e30; }
  .c-form__input--dark::-webkit-input-placeholder {
    /* WebKit browsers */
    color: rgba(255, 255, 255, 0.8); }
  .c-form__input--dark:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: rgba(255, 255, 255, 0.8); }
  .c-form__input--dark::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: rgba(255, 255, 255, 0.8); }
  .c-form__input--dark:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: rgba(255, 255, 255, 0.8); }
  .c-form__input--dark:hover, .c-form__input--dark:focus, .c-form__input--dark:active {
    box-shadow: 0 3px 0 #457e30; }

/*------------------------------------*\
# Input (search)
\*------------------------------------*/
.c-form__search {
  display: block;
  width: 69%;
  background: transparent;
  border: 0;
  border-radius: 0;
  border-bottom: 4px solid #51A33D;
  padding: 6px 0;
  font-weight: 400;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
  .c-form__search:hover, .c-form__search:focus, .c-form__search:active {
    outline: 0;
    box-shadow: 0 3px 0 #51A33D;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }

.c-form__search--large {
  font-weight: 400;
  text-overflow: ellipsis; }
  .c-form__search--large::-webkit-input-placeholder {
    text-overflow: ellipsis; }
  .c-form__search--large:-moz-placeholder {
    text-overflow: ellipsis; }
  .c-form__search--large::-moz-placeholder {
    text-overflow: ellipsis; }
  .c-form__search--large:-ms-input-placeholder {
    text-overflow: ellipsis; }

@media screen and (max-width: 32.5em) {
  .c-form__search-large-btn {
    display: block;
    width: 100%; } }

@media screen and (min-width: 52em) {
  .c-form__search-large-btn {
    padding-left: 48px;
    padding-right: 48px; } }

.input_loading {
  background: url("/img/spinner.gif") no-repeat right center; }

/*------------------------------------*\
# Input (stepper)
\*------------------------------------*/
.c-form__stepper {
  display: -ms-flexbox;
  display: flex; }

.c-form__stepper-button {
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  min-width: 39px;
  border: 0;
  border-radius: 100px;
  background: #fff;
  background-size: 12px;
  background-position-x: calc(100% - 12px);
  color: #2B2B2B;
  box-shadow: 0 0 0 #ddd; }
  .c-form__stepper-button:hover, .c-form__stepper-button:focus, .c-form__stepper-button:active {
    outline: 0;
    background: #fff;
    color: #457E30;
    box-shadow: 0 3px 0 #ddd;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }
  .c-form__stepper-button:active {
    background: #ddd; }

.c-form__stepper-button--left {
  padding: 8px 12px 8px 16px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 1px solid #ddd;
  background: #f5f5f5 url("/icons/minus-black.svg") no-repeat right center;
  background-size: 12px;
  background-position-x: calc(100% - 11px); }
  .c-form__stepper-button--left:hover, .c-form__stepper-button--left:focus, .c-form__stepper-button--left:active {
    background: #f5f5f5 url("/icons/minus-green.svg") no-repeat right center;
    background-size: 12px;
    background-position-x: calc(100% - 11px); }

.c-form__stepper-button--right {
  padding: 8px 16px 8px 12px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 1px solid #ddd;
  background: #f5f5f5 url("/icons/plus-black.svg") no-repeat right center;
  background-size: 12px;
  background-position-x: calc(100% - 16px); }
  .c-form__stepper-button--right:hover, .c-form__stepper-button--right:focus, .c-form__stepper-button--right:active {
    background: #f5f5f5 url("/icons/plus-green.svg") no-repeat right center;
    background-size: 12px;
    background-position-x: calc(100% - 16px); }

/*------------------------------------*\
# Select  / Drop down
\*------------------------------------*/
.c-form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  width: 100%;
  padding: 0 12px;
  color: #2B2B2B;
  height: 44px;
  border: 0;
  background: #f5f5f5 url("/icons/caret-down-black.svg") no-repeat right center;
  background-size: 12px;
  background-position-x: calc(100% - 16px);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: 0 0 0 #ddd; }
  .c-form__select::-ms-expand {
    display: none; }
  .c-form__select:hover, .c-form__select:focus, .c-form__select:active {
    outline: none;
    background: #f5f5f5 url("/icons/caret-down-green.svg") no-repeat right center;
    background-size: 12px;
    background-position-x: calc(100% - 16px);
    box-shadow: 0 3px 0 #ddd;
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }
  .c-form__select:disabled {
    opacity: 0.75; }
    .c-form__select:disabled:hover {
      cursor: auto; }

/*------------------------------------*\
# Checkbox
\*------------------------------------*/
.c-form__checkbox {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  clip: rect(0 0 0 0); }

.c-form__checkbox + .c-form__label {
  position: relative;
  padding-left: 36px;
  cursor: pointer;
  transition: transform 0.2s ease;
  display: inline-block;
  margin-bottom: 0; }
  .c-form__checkbox + .c-form__label:before {
    content: '';
    width: 24px;
    height: 24px;
    display: block;
    background: #f5f5f5;
    position: absolute;
    left: 0;
    top: 0;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-shadow: 0 0 0 #ddd; }
  .c-form__checkbox + .c-form__label:after {
    content: '';
    background: url("/icons/checkmark-green.svg") center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
    left: 3px;
    top: 0;
    transition: all 0.2s ease-in-out;
    -ms-transform: scale(0) rotate(-90deg);
        transform: scale(0) rotate(-90deg);
    -ms-transform-origin: bottom center;
        transform-origin: bottom center; }
  .c-form__checkbox + .c-form__label:hover, .c-form__checkbox + .c-form__label:focus, .c-form__checkbox + .c-form__label:active {
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }
    .c-form__checkbox + .c-form__label:hover:before, .c-form__checkbox + .c-form__label:focus:before, .c-form__checkbox + .c-form__label:active:before {
      border-color: #767676;
      box-shadow: 0 3px 0 #ddd; }

.c-form__checkbox:checked + .c-form__label:after {
  -ms-transform: scale(1) rotate(0deg);
      transform: scale(1) rotate(0deg); }

/*------------------------------------*\
# Radio button
\*------------------------------------*/
.c-form__radio {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  clip: rect(0 0 0 0); }

.c-form__radio + .c-form__label {
  position: relative;
  display: inline-block;
  padding-left: 36px;
  cursor: pointer;
  transition: transform 0.2s ease;
  margin-bottom: 0; }
  .c-form__radio + .c-form__label:before {
    content: '';
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: block;
    background: #f5f5f5;
    position: absolute;
    left: 0;
    top: 0;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-shadow: 0 0 0 #ddd; }
  .c-form__radio + .c-form__label:after {
    content: '';
    border: 1px solid #51A33D;
    background-color: #51A33D;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    display: block;
    position: absolute;
    left: 5px;
    top: 5px;
    transition: all 0.2s ease-in-out;
    -ms-transform: scale(0);
        transform: scale(0);
    -ms-transform-origin: bottom center;
        transform-origin: bottom center; }
  .c-form__radio + .c-form__label:hover, .c-form__radio + .c-form__label:focus, .c-form__radio + .c-form__label:active {
    -ms-transform: translateY(-2px);
        transform: translateY(-2px); }
    .c-form__radio + .c-form__label:hover:before, .c-form__radio + .c-form__label:focus:before, .c-form__radio + .c-form__label:active:before {
      border-color: #767676;
      box-shadow: 0 3px 0 #ddd; }

.c-form__radio:checked + .c-form__label:after {
  -ms-transform: scale(1);
      transform: scale(1); }

.disabled {
  opacity: 0.75;
  cursor: default; }

.disabled label {
  cursor: default !important; }

.c-form-steps {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  margin-bottom: 12px; }
  .c-form-steps:after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    z-index: -1;
    width: 100%;
    height: 1px;
    border-top: 1px dashed #ddd; }

.c-form-steps__step {
  display: block;
  text-align: center;
  width: 24px;
  height: 24px;
  background: #f5f5f5;
  border-radius: 50%; }
  .c-form-steps__step.is-current {
    background: #51A33D;
    color: #fff; }

.c-forward-paths {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -6px; }

.c-forward-paths__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  padding: 0 6px;
  margin-bottom: 12px;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  font-weight: 500;
  position: relative;
  overflow: hidden; }
  .c-forward-paths__item:hover h4, .c-forward-paths__item:hover p, .c-forward-paths__item:active h4, .c-forward-paths__item:active p, .c-forward-paths__item:focus h4, .c-forward-paths__item:focus p {
    -ms-transform: scale(1.05) translateY(-6px);
        transform: scale(1.05) translateY(-6px); }
  .c-forward-paths__item h4, .c-forward-paths__item p {
    transition: transform 0.4s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }

.c-forward-paths__text {
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 48px;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.c-forward-paths__bg-img {
  -ms-flex-positive: 1;
      flex-grow: 1; }
  .c-forward-paths__bg-img:after {
    content: "";
    display: block;
    padding-bottom: 100%; }

.c-header__logo {
  max-width: 160px;
  vertical-align: text-bottom; }
  @media screen and (max-width: 51.938em) {
    .c-header__logo {
      max-width: 120px; } }

.c-hero {
  min-height: 30vh;
  margin: 0; }
  .c-hero.is-active {
    min-height: 0; }

.c-loader {
  text-align: center;
  opacity: 1;
  transition: opacity 0.2s ease; }
  .c-loader path, .c-loader rect {
    fill: #51A33D; }
  .c-loader.is-done {
    opacity: 0; }

.c-main {
  min-height: calc(100vh - 421px); }

.c-main__title {
  position: relative;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: 300; }
  @media screen and (min-width: 52em) {
    .c-main__title {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.4; } }
  @media screen and (min-width: 66em) {
    .c-main__title {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.4; } }

.c-main__lede {
  position: relative;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.4;
  font-weight: 400;
  color: #767676;
  margin-top: 6px;
  margin-bottom: 24px; }
  @media screen and (min-width: 52em) {
    .c-main__lede {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.4; } }

.c-main__section-title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 12px; }
  @media screen and (max-width: 51.938em) {
    .c-main__section-title {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 1.4; } }

.c-main__section {
  padding-top: 24px;
  padding-bottom: 24px; }
  @media screen and (min-width: 66em) {
    .c-main__section {
      padding-bottom: 48px; } }

.c-main__footer {
  padding: 24px; }
  @media screen and (min-width: 66em) {
    .c-main__footer {
      padding-top: 48px;
      padding-bottom: 48px;
      padding-left: 12px;
      padding-right: 12px; } }

.c-icon {
  fill: currentColor;
  display: inline-block; }
  .c-icon svg {
    width: 100%;
    height: 12px;
    width: 12px;
    vertical-align: top; }

.c-icon--medium svg {
  width: 16px;
  height: 16px; }

.c-icon--large svg {
  width: 24px;
  height: 24px; }

.c-icon--xl svg {
  width: 50px;
  height: 50px; }

.c-icon--huge svg {
  width: 96px;
  height: 96px; }

.c-icon--green {
  fill: #51A33D; }

.c-icon--round {
  border-radius: 50%;
  width: 18px;
  height: 18px;
  text-align: center;
  vertical-align: middle; }
  .c-icon--round.c-icon--green {
    background: #51A33D;
    fill: #fff; }
  .c-icon--round svg {
    vertical-align: text-top; }

.c-icon--gray-circle {
  width: 20px;
  height: 20px;
  margin: 1em auto;
  border-radius: 99em;
  border: 1px solid #555; }

.c-packages {
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15); }
  @media screen and (min-width: 52em) {
    .c-packages {
      display: -ms-flexbox;
      display: flex; } }

.c-packages--secondary .c-packages__nav-item.is-active {
  background: #ddd;
  color: #2B2B2B; }

.c-packages__content {
  display: none;
  -ms-flex-preferred-size: 75%;
      flex-basis: 75%;
  padding: 24px; }
  @media screen and (min-width: 52em) {
    .c-packages__content {
      display: block; } }

.c-packages__nav {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
  border-right: 1px solid #f5f5f5; }

.c-packages__nav-item {
  display: block;
  padding: 12px 24px;
  border-bottom: 1px solid #f5f5f5;
  transition: background 0.2s ease; }
  .c-packages__nav-item:hover, .c-packages__nav-item:active, .c-packages__nav-item:focus {
    background: #f5f5f5; }
  .c-packages__nav-item.is-active {
    background: linear-gradient(170deg, #51A33D 0%, #64CD2F 100%);
    color: #fff; }

.c-packages__img {
  padding: 6px; }

.c-product {
  position: relative;
  display: block;
  background: #fff;
  color: #2B2B2B;
  border-radius: 3px;
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15);
  overflow: hidden;
  margin-bottom: 24px; }
  .c-product p {
    max-width: 620px; }

.c-product--link {
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
  .c-product--link:active, .c-product--link:focus, .c-product--link:hover {
    outline: 0;
    box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.25);
    -ms-transform: translateY(-4px);
        transform: translateY(-4px); }

.c-product__price {
  position: relative;
  min-width: 216px; }

@media screen and (min-width: 52em) {
  .c-product__price--1\/3 {
    width: 33.333%; }
    .c-product__price--1\/3 .c-product__price-inner {
      margin-left: 16px;
      text-indent: -16px; } }

.c-product__price-inner {
  text-align: center;
  padding: 24px; }
  .c-product__price-inner > span {
    display: block; }
  @media screen and (min-width: 52em) {
    .c-product__price-inner {
      position: absolute;
      left: 0;
      width: 100%;
      height: auto;
      padding: 0;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); } }

.price-regular-before-campaign {
  font-size: 1rem !important;
  text-decoration: line-through; }

@media screen and (max-width: 51.938em) {
  .c-product__flag {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .c-product__flag .o-flag__img {
      margin-bottom: 0;
      box-shadow: none; } }

.c-product__more {
  margin-top: 12px; }
  @media screen and (min-width: 52em) {
    .c-product__more {
      position: absolute;
      top: 12px;
      right: 24px;
      margin-top: 0; } }

.c-product__details {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 6px 6px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2; }
  .c-product__details > ul {
    margin-left: 0;
    list-style-type: none;
    padding-left: 0;
    column-count: 2; }
  .c-product__details > ul > li {
    margin-bottom: 0; }
  .c-product__details strong {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.4;
    font-weight: normal; }

.c-products-vertical {
  background: #fff;
  color: #2B2B2B;
  border-radius: 12px;
  margin: 0 -12px 24px; }
  @media screen and (min-width: 52em) {
    .c-products-vertical {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-align: stretch;
          align-items: stretch; } }

.c-products-vertical__item {
  text-align: center;
  margin: 0 12px 12px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15); }
  @media screen and (min-width: 52em) {
    .c-products-vertical__item {
      -ms-flex-preferred-size: 25%;
          flex-basis: 25%;
      min-width: 224px;
      -ms-flex-positive: 1;
          flex-grow: 1; } }

.c-products-vertical__item--link {
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
  .c-products-vertical__item--link:active, .c-products-vertical__item--link:focus, .c-products-vertical__item--link:hover {
    outline: 0;
    box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.25);
    -ms-transform: translateY(-4px);
        transform: translateY(-4px); }

.c-products-vertical__top {
  -ms-flex-positive: 1;
      flex-grow: 1; }

.c-products-vertical__img {
  width: 160px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
  opacity: 0.9; }

.c-products-vertical__price {
  margin: 0 auto;
  text-align: center;
  overflow: hidden; }

.c-site-nav {
  font-weight: 500; }
  .c-site-nav::after {
    content: "";
    display: table;
    clear: both; }

/**
* Support menu: The line at the top with the differenct sections
*/
.c-site-nav__support {
  display: none;
  background-color: #51A33D;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1; }
  @media screen and (min-width: 52em) {
    .c-site-nav__support {
      display: block; } }

.c-site-nav__support-item:not(:last-child) {
  padding-right: 6px; }

@media screen and (min-width: 52em) {
  .c-site-nav__support-link {
    display: block;
    padding: 12px;
    transition: background 0.2s ease; }
    .c-site-nav__support-link:hover, .c-site-nav__support-link:focus, .c-site-nav__support-link:active {
      outline: 0;
      background: #457E30; } }

.c-site-nav__support-link.is-current {
  border-bottom: 1px solid #fff; }
  @media screen and (min-width: 52em) {
    .c-site-nav__support-link.is-current {
      background: #fff;
      color: #2B2B2B;
      border-bottom: 0; } }

/**
* Main menu
*/
.c-site-nav__main {
  padding: 6px 0 6px;
  border-bottom: 1px solid #ddd; }
  @media screen and (min-width: 52em) {
    .c-site-nav__main {
      padding: 20px 0 16px; } }

.c-site-nav__main--no-line {
  border-bottom: 0; }
  .c-site-nav__main--no-line .c-site-nav__main-link:hover, .c-site-nav__main--no-line .c-site-nav__main-link:focus, .c-site-nav__main--no-line .c-site-nav__main-link:active {
    outline: 0; }
    @media screen and (min-width: 52em) {
      .c-site-nav__main--no-line .c-site-nav__main-link:hover:after, .c-site-nav__main--no-line .c-site-nav__main-link:focus:after, .c-site-nav__main--no-line .c-site-nav__main-link:active:after {
        height: 3px; } }

.c-site-nav__main.is-open .c-site-nav__main-list {
  display: block;
  padding: 6px 6px 0;
  background: #51A33D;
  color: #fff; }

.c-site-nav__main.is-open .c-site-nav__tasks {
  display: block; }

@media screen and (max-width: 51.938em) {
  .c-site-nav__main.is-searching .c-site-nav__tasks-item {
    display: none; }
  .c-site-nav__main.is-searching .c-site-nav__tasks-item--search {
    display: block; }
  .c-site-nav__main.is-searching .c-site-nav__task-search {
    width: 80%; } }

@media screen and (min-width: 52em) {
  .c-site-nav__main.is-searching .c-site-nav__main-list {
    width: 0;
    height: 0;
    overflow: hidden; }
  .c-site-nav__main.is-searching .c-site-nav__tasks-item--search {
    width: 70%; }
  .c-site-nav__main.is-searching .c-site-nav__task-search {
    width: 95%;
    height: 19px; } }

.c-site-nav__main-items {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
      align-items: baseline;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 51.938em) {
    .c-site-nav__main-items {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (min-width: 52em) {
    .c-site-nav__main-items {
      -ms-flex-align: end;
          align-items: flex-end; } }

.c-site-nav__main-list {
  display: none;
  -ms-flex-order: 3;
      order: 3;
  list-style-type: none;
  transition: width 0.2s ease; }
  @media screen and (max-width: 51.938em) {
    .c-site-nav__main-list {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin-bottom: 12px; } }
  @media screen and (min-width: 52em) {
    .c-site-nav__main-list {
      -ms-flex-order: 0;
          order: 0;
      display: block; } }

.c-site-nav__main-item {
  display: block;
  padding: 12px 6px; }
  @media screen and (min-width: 52em) {
    .c-site-nav__main-item {
      display: inline-block;
      padding: 0; } }
  .c-site-nav__main-item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    @media screen and (min-width: 52em) {
      .c-site-nav__main-item:not(:last-child) {
        margin-right: 24px;
        border-bottom: 0; } }
    @media screen and (min-width: 66em) {
      .c-site-nav__main-item:not(:last-child) {
        margin-right: 48px; } }

.c-site-nav__main-link {
  display: block;
  position: relative; }
  @media screen and (min-width: 52em) {
    .c-site-nav__main-link:hover:after, .c-site-nav__main-link:focus:after, .c-site-nav__main-link:active:after {
      content: '';
      position: absolute;
      bottom: -17px;
      left: 50%;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
      height: 2px;
      width: calc(100% + 12px);
      background: #2B2B2B; } }
  @media screen and (min-width: 52em) {
    .c-site-nav__main-link.is-current:after {
      content: '';
      position: absolute;
      bottom: -17px;
      left: 50%;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
      height: 2px;
      width: calc(100% + 12px);
      background: #51A33D; } }

/**
* Task menu: Stuff like search and log in
*/
.c-site-nav__tasks {
  display: none;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-order: 3;
      order: 3;
  margin-bottom: 12px; }
  @media screen and (min-width: 52em) {
    .c-site-nav__tasks {
      -ms-flex-order: 0;
          order: 0;
      display: block;
      margin-bottom: 0;
      text-align: right; } }

.c-site-nav__tasks-item {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 100px;
  background: #f5f5f5;
  color: #2B2B2B;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  text-align: left;
  transition: background 0.2s ease;
  -ms-transform: translateY(4px);
      transform: translateY(4px); }
  .c-site-nav__tasks-item:not(:last-child) {
    margin-right: 6px; }
    @media screen and (min-width: 66em) {
      .c-site-nav__tasks-item:not(:last-child) {
        margin-right: 12px; } }
  @media screen and (max-width: 51.938em) {
    .c-site-nav__tasks-item:last-child {
      float: right; } }
  .c-site-nav__tasks-item svg {
    vertical-align: text-top; }
  .c-site-nav__tasks-item:hover, .c-site-nav__tasks-item:focus, .c-site-nav__tasks-item:active {
    color: #fff;
    background: #51A33D; }
    .c-site-nav__tasks-item:hover svg, .c-site-nav__tasks-item:focus svg, .c-site-nav__tasks-item:active svg {
      fill: #fff; }
    .c-site-nav__tasks-item:hover input::-webkit-input-placeholder, .c-site-nav__tasks-item:focus input::-webkit-input-placeholder, .c-site-nav__tasks-item:active input::-webkit-input-placeholder {
      /* WebKit browsers */
      color: #fff; }
    .c-site-nav__tasks-item:hover input:-moz-placeholder, .c-site-nav__tasks-item:focus input:-moz-placeholder, .c-site-nav__tasks-item:active input:-moz-placeholder {
      /* Mozilla Firefox 4 to 18 */
      color: #fff; }
    .c-site-nav__tasks-item:hover input::-moz-placeholder, .c-site-nav__tasks-item:focus input::-moz-placeholder, .c-site-nav__tasks-item:active input::-moz-placeholder {
      /* Mozilla Firefox 19+ */
      color: #fff; }
    .c-site-nav__tasks-item:hover input:-ms-input-placeholder, .c-site-nav__tasks-item:focus input:-ms-input-placeholder, .c-site-nav__tasks-item:active input:-ms-input-placeholder {
      /* Internet Explorer 10+ */
      color: #fff; }

.c-site-nav__tasks-item-active {
  color: #fff;
  background: #51A33D; }

.c-site-nav__task-search {
  border: 0;
  background: transparent;
  width: 36px; }
  .c-site-nav__task-search::-webkit-input-placeholder {
    /* WebKit browsers */
    color: #2B2B2B; }
  .c-site-nav__task-search:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #2B2B2B; }
  .c-site-nav__task-search::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #2B2B2B; }
  .c-site-nav__task-search:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: #2B2B2B; }
  .c-site-nav__task-search:hover, .c-site-nav__task-search:focus, .c-site-nav__task-search:active {
    border: 0;
    outline: 0; }

.c-site-nav__search-button {
  background-color: rgba(43, 43, 43, 0.09);
  border: 0;
  outline: 0;
  padding: 0;
  display: inline;
  float: right;
  border-radius: 50%;
  width: 24px;
  text-align: center; }
  .c-site-nav__search-button .c-icon {
    -ms-transform: translateX(-4px);
        transform: translateX(-4px); }
  .c-site-nav__search-button:hover, .c-site-nav__search-button:active, .c-site-nav__search-button:focus {
    background: #457E30; }

/**
* Logo link
*/
.c-site-nav__logo {
  display: inline-block;
  max-width: 120px;
  margin-right: 24px; }
  @media screen and (min-width: 52em) {
    .c-site-nav__logo {
      max-width: 160px; } }
  @media screen and (min-width: 66em) {
    .c-site-nav__logo {
      margin-right: 48px; } }

/**
* Mobile menu
*/
.c-site-nav__mobile {
  background: none;
  border: 0;
  outline: 0;
  font-weight: 500;
  text-transform: uppercase;
  padding: 6px; }
  .c-site-nav__mobile svg {
    vertical-align: top; }
  .c-site-nav__mobile span {
    vertical-align: middle; }
  .c-site-nav__mobile.is-active {
    color: #fff;
    background: #51A33D; }
    .c-site-nav__mobile.is-active svg {
      fill: #fff; }
  @media screen and (min-width: 52em) {
    .c-site-nav__mobile {
      display: none; } }

@media screen and (min-width: 52em) {
  .c-site-nav__support-mobile {
    display: none; } }

.c-site-nav__support-mobile-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  list-style-type: none;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  padding: 6px; }

.c-sub-menu {
  list-style-type: none;
  margin: 0;
  padding: 15px 0 0 0; }
  .c-sub-menu li:not(:last-child):after {
    content: '>';
    color: #DDDDDD; }

.c-sub-menu__item {
  display: inline-block;
  margin: 3px 3px 3px 0; }
  .c-sub-menu__item:not(:last-child) {
    margin-right: 3px; }

.c-sub-menu__link {
  display: inline-block;
  margin-right: 3px; }
  .c-sub-menu__link.active, .c-sub-menu__link:hover, .c-sub-menu__link:active, .c-sub-menu__link:focus {
    font-weight: bold;
    background: transparent; }
  .c-sub-menu__link.is-current {
    font-weight: bold;
    background: transparent; }
    .c-sub-menu__link.is-current:hover, .c-sub-menu__link.is-current:active, .c-sub-menu__link.is-current:focus {
      font-weight: bold;
      background: transparent; }

.c-table__cell--number {
  text-align: right; }

.c-table--collapsed {
  z-index: 999;
  display: table;
  width: 100%;
  background-image: none;
  border-collapse: collapse;
  border-spacing: 0; }
  @media screen and (max-width: 51.938em) {
    .c-table--collapsed thead {
      display: none; }
    .c-table--collapsed td {
      display: none;
      text-align: left;
      position: relative;
      cursor: pointer;
      padding: 12px 16px; }
    .c-table--collapsed tr td:first-child {
      display: block; }
      .c-table--collapsed tr td:first-child:before {
        content: '';
        margin: 0 12px;
        border-top: 7px solid #767676;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        display: inline-block;
        width: 0;
        height: 0; } }

.c-table--opened td {
  display: block; }
  .c-table--opened td:before {
    -ms-transform: rotate(180deg);
        transform: rotate(180deg); }

.c-tiles {
  margin-bottom: 12px; }

.c-tiles--halves {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -6px 12px; }
  .c-tiles--halves > .c-tiles__item {
    padding: 0 6px;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 12px; }
    .c-tiles--halves > .c-tiles__item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 66em) {
      .c-tiles--halves > .c-tiles__item {
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        -ms-flex-positive: 1;
            flex-grow: 1;
        margin-bottom: 0;
        width: 50%; }
        @supports (display: -moz-flex) or (display: flex) {
          .c-tiles--halves > .c-tiles__item {
            -ms-flex-preferred-size: 50%;
                flex-basis: 50%;
            width: auto; } } }

@media screen and (min-width: 66em) {
  .c-tiles--halves-multiple > .c-tiles__item {
    width: 50%; }
    @supports (display: -moz-flex) or (display: flex) {
      .c-tiles--halves-multiple > .c-tiles__item {
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        width: auto; } } }

.c-tiles--halves-multiple > .c-tiles__item:nth-child(2) {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .c-tiles--halves-multiple > .c-tiles__item:nth-child(2) > .c-tiles__inner {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
    @supports (display: -moz-flex) or (display: flex) {
      .c-tiles--halves-multiple > .c-tiles__item:nth-child(2) > .c-tiles__inner {
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%; } }
  .c-tiles--halves-multiple > .c-tiles__item:nth-child(2) > .c-tiles__inner:first-child {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 12px; }

.c-tiles--halves-multiple.c-tiles--short > .c-tiles__item:nth-child(2) > .c-tiles__inner {
  min-height: 0; }

.c-tiles--thirds {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -6px 12px; }
  .c-tiles--thirds > .c-tiles__item {
    padding: 0 6px;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 12px; }
    .c-tiles--thirds > .c-tiles__item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 66em) {
      .c-tiles--thirds > .c-tiles__item {
        margin-bottom: 0;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        width: 348px; }
        @supports (display: -moz-flex) or (display: flex) {
          .c-tiles--thirds > .c-tiles__item {
            -ms-flex-preferred-size: 33.333%;
                flex-basis: 33.333%;
            width: auto; } } }

.c-tiles--quarters {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -6px 12px; }
  .c-tiles--quarters > .c-tiles__item {
    padding: 0 6px;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 12px; }
    .c-tiles--quarters > .c-tiles__item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 66em) {
      .c-tiles--quarters > .c-tiles__item {
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        margin-bottom: 0;
        width: 261px;
        flex-basis: auto; }
        @supports (display: -moz-flex) or (display: flex) {
          .c-tiles--quarters > .c-tiles__item {
            -ms-flex-preferred-size: 25%;
                flex-basis: 25%;
            width: auto; } } }

.c-tiles--eights {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -3px 6px; }
  .c-tiles--eights > .c-tiles__item {
    padding: 0 3px;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 6px; }
    .c-tiles--eights > .c-tiles__item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 66em) {
      .c-tiles--eights > .c-tiles__item {
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        margin-bottom: 0;
        width: 130.5px;
        flex-basis: auto; }
        @supports (display: -moz-flex) or (display: flex) {
          .c-tiles--eights > .c-tiles__item {
            -ms-flex-preferred-size: 12.5%;
                flex-basis: 12.5%;
            width: auto; } } }

.c-tiles--rev {
  direction: rtl; }
  .c-tiles--rev > .c-tiles__item {
    direction: ltr; }

@media screen and (min-width: 52em) {
  .c-tiles--tall .c-tiles__item {
    min-height: 240px; }
    .c-tiles--tall .c-tiles__item > a {
      min-height: 240px; } }

@media screen and (min-width: 66em) {
  .c-tiles--tall .c-tiles__item {
    min-height: 480px; }
    .c-tiles--tall .c-tiles__item > a {
      min-height: 480px; } }

@media screen and (max-width: 51.938em) {
  .c-tiles--short {
    margin-bottom: 20px; } }

@media screen and (min-width: 52em) {
  .c-tiles--short .c-tiles__item {
    min-height: 240px; }
    .c-tiles--short .c-tiles__item > a {
      min-height: 240px; } }

@media screen and (min-width: 66em) {
  .c-tiles--short .c-tiles__item {
    min-height: 240px; }
    .c-tiles--short .c-tiles__item > a {
      min-height: 240px; } }

.c-tiles__item {
  display: -ms-flexbox;
  display: flex;
  position: relative; }

.c-tile__bg-tile {
  position: absolute;
  height: 100%;
  width: 100%;
  transition: transform 0.6s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-repeat: repeat;
  background-size: 28px;
  background-position: top left; }

.c-tile__bg-img {
  position: absolute;
  height: 100%;
  width: 100%;
  transition: transform 0.6s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.c-tile__bg-img--darken:before, .c-tile__bg-img--darken:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #000; }

.c-tile__bg-img--darken:before {
  mix-blend-mode: darken;
  opacity: 0.2; }

.c-tile__bg-img--darken:after {
  mix-blend-mode: saturation;
  opacity: 0.3; }

.c-tile__bg-img-nocast {
  height: 100%;
  width: 100%;
  transition: transform 0.6s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.c-tiles__inner {
  position: relative;
  display: block;
  overflow: hidden;
  -ms-flex-positive: 1;
      flex-grow: 1; }

.c-tiles__inner:hover .c-tile__bg-img, .c-tiles__inner:active .c-tile__bg-img, .c-tiles__inner:focus .c-tile__bg-img {
  -ms-transform: scale(1.05);
      transform: scale(1.05); }

.c-tiles__inner:hover .c-tiles__title:after, .c-tiles__inner:active .c-tiles__title:after, .c-tiles__inner:focus .c-tiles__title:after {
  opacity: 1;
  padding-left: 6px; }

.c-tiles__content {
  position: relative;
  transition: transform 0.4s ease; }
  .c-tiles__content .o-btn {
    margin-bottom: 12px; }

.c-tiles__title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.4;
  margin-bottom: 12px; }
  .c-tiles__title:after {
    content: '→';
    opacity: 0;
    padding-left: 0;
    transition: opacity 0.4s ease, padding 0.2s ease; }
  @media screen and (min-width: 52em) {
    .c-tiles__title {
      font-size: 30px;
      font-size: 1.875rem;
      line-height: 1.2; } }

@media screen and (min-width: 52em) {
  .c-tiles__title--large {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.2; } }

.c-tiles__lede {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.71429; }

@media screen and (max-width: 51.938em) {
  .c-tiles__flag-img--sm\@s {
    width: 160px; } }

@media screen and (max-width: 32.5em) {
  .c-tiles__flag-img--sm\@s {
    width: 90px; } }

.c-tiles--centered {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto; }

.c-tiles, .c-tiles__inner, .c-tiles__item {
  overflow: visible !important; }

.c-title__title {
  position: relative;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: 600; }
  @media screen and (min-width: 52em) {
    .c-title__title {
      font-size: 28px;
      font-size: 1.75rem;
      line-height: 1.4; } }
  @media screen and (min-width: 66em) {
    .c-title__title {
      font-size: 28px;
      font-size: 1.75rem;
      line-height: 1.4; } }

.c-title__lede {
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 300;
  color: #2B2B2B;
  margin-top: 6px;
  margin-bottom: 24px; }
  @media screen and (min-width: 52em) {
    .c-title__lede {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.4; } }

.c-list-checkmarks, .c-product--link ul, .c-tiles__content ul, .matrix_universal_content_fields_rich_text ul {
  margin-left: 1em;
  list-style: none outside url("/icons/checkmark-green.svg"); }
  .c-list-checkmarks li, .c-product--link ul li, .c-tiles__content ul li, .matrix_universal_content_fields_rich_text ul li {
    max-width: 620px;
    margin-bottom: 0px; }

.c-list-tasks, .c-product--link .c-list-tasks, .c-tiles__content .c-list-tasks {
  list-style: none;
  margin-left: 0;
  width: 100%; }
  .c-list-tasks li, .c-product--link .c-list-tasks li, .c-tiles__content .c-list-tasks li {
    max-width: 620px;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
    margin-bottom: 10px; }

.c-shortcuts {
  list-style-type: none;
  padding: 0; }
  @media screen and (min-width: 52em) {
    .c-shortcuts {
      display: -ms-flexbox;
      display: flex;
      margin: 0 -6px;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.c-shortcuts--3 .c-shortcuts__item {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }
  @supports (display: -moz-flex) or (display: flex) {
    .c-shortcuts--3 .c-shortcuts__item {
      -ms-flex-preferred-size: 33.3333%;
          flex-basis: 33.3333%; } }

.c-shortcuts--6 .c-shortcuts__item {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  min-width: auto; }
  @supports (display: -moz-flex) or (display: flex) {
    .c-shortcuts--6 .c-shortcuts__item {
      -ms-flex-preferred-size: 16.6667%;
          flex-basis: 16.6667%; } }

.c-shortcuts--fit .c-shortcuts__item {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  min-width: auto; }

.c-shortcuts__item {
  display: block; }
  .c-shortcuts__item svg {
    vertical-align: bottom; }
  @media screen and (min-width: 52em) {
    .c-shortcuts__item {
      padding: 0 6px;
      -ms-flex-preferred-size: 30%;
          flex-basis: 30%;
      min-width: 200px;
      -ms-flex-positive: 1;
          flex-grow: 1; } }
  @media screen and (min-width: 66em) {
    .c-shortcuts__item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
      @supports (display: -moz-flex) or (display: flex) {
        .c-shortcuts__item {
          -ms-flex-preferred-size: 20%;
              flex-basis: 20%; } } }

.c-shortcuts__item--closable {
  position: relative; }
  .c-shortcuts__item--closable .c-shortcuts__close {
    display: none; }
  @media screen and (max-width: 51.938em) {
    .c-shortcuts__item--closable.is-active .c-shortcuts__close {
      display: block;
      position: absolute;
      width: 50px;
      height: 50px;
      right: 6px;
      top: calc(50% - 6px);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
      .c-shortcuts__item--closable.is-active .c-shortcuts__close::before, .c-shortcuts__item--closable.is-active .c-shortcuts__close::after {
        content: '';
        position: absolute;
        top: 28px;
        right: 6px;
        width: 24px;
        height: 3px;
        background: #fff;
        border-radius: 3px;
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
      .c-shortcuts__item--closable.is-active .c-shortcuts__close::after {
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); } }

.c-shortcuts__link {
  display: block;
  margin-bottom: 12px;
  padding: 12px 12px;
  background: #fff;
  color: #51A33D;
  border: 1px solid #51A33D;
  font-weight: 500;
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.15);
  transition: background 0.2s ease, color 0.2s ease; }
  @media screen and (min-width: 52em) {
    .c-shortcuts__link {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.3; } }
  @media screen and (min-width: 66em) {
    .c-shortcuts__link {
      padding: 24px 12px; } }
  .c-shortcuts__link:hover, .c-shortcuts__link:focus, .c-shortcuts__link:active, .c-shortcuts__link.is-active {
    background: #51A33D;
    color: #fff; }
    .c-shortcuts__link:hover .c-shortcuts__intro, .c-shortcuts__link:focus .c-shortcuts__intro, .c-shortcuts__link:active .c-shortcuts__intro, .c-shortcuts__link.is-active .c-shortcuts__intro {
      color: #fff; }

.c-shortcuts__link--green {
  background: #51A33D;
  color: #fff;
  border: 0; }
  .c-shortcuts__link--green:hover, .c-shortcuts__link--green:focus, .c-shortcuts__link--green:active, .c-shortcuts__link--green.is-active {
    background: #fff;
    color: #51A33D; }
    .c-shortcuts__link--green:hover .c-shortcuts__intro, .c-shortcuts__link--green:focus .c-shortcuts__intro, .c-shortcuts__link--green:active .c-shortcuts__intro, .c-shortcuts__link--green.is-active .c-shortcuts__intro {
      color: #51A33D; }

.c-shortcuts__intro {
  margin-top: 24px;
  color: #2B2B2B;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3; }

.c-range-radios {
  display: table;
  overflow: hidden;
  padding: 0;
  border-radius: 100px;
  border-color: transparent;
  background: linear-gradient(170deg, #51A33D 0%, #64CD2F 100%);
  color: #fff;
  vertical-align: middle;
  text-align: center;
  font-weight: bold; }
  .c-range-radios input:checked + .c-range-radios__btn {
    background: #457E30; }

.c-range-radios__btn {
  position: relative;
  display: table-cell;
  padding: 11px 17px;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  transition: background 0.2s ease;
  cursor: pointer;
  -webkit-backface-visibility: none;
          backface-visibility: none; }
  .c-range-radios__btn + .selected {
    background: #457E30; }
  .c-range-radios__btn:first-of-type {
    border-left: 0;
    padding-left: 19px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px; }
  .c-range-radios__btn:last-of-type {
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px; }
  .c-range-radios__btn:hover {
    background: #457E30; }

.matrix_text_block_with_two_buttons h3 {
  color: #51A33D;
  margin-bottom: 6px; }

body.cookieShow {
  margin-bottom: 41px; }

div.cookieLegalContainer {
  position: fixed;
  bottom: 0;
  z-index: 1;
  width: 100%;
  font-size: 14px; }

.cookieLegalContainer, .cookieLegalContainer a {
  background-color: #398a35;
  color: white; }

.cookieLegalAcceptButton {
  font-weight: bold;
  padding: 7px 14px !important; }

.cookieLegalContainer div {
  margin: 0 auto;
  padding: 10px 6px;
  position: relative;
  text-align: center; }

@media only screen and (min-width: 480px) and (max-width: 940px) {
  body.cookieShow {
    margin-bottom: 62px; }
  footer {
    margin-bottom: 120px; } }

@media only screen and (min-width: 320px) and (max-width: 480px) {
  body.cookieShow {
    margin-bottom: 83px; }
  footer {
    margin-bottom: 148px; } }

.c-service {
  position: relative;
  display: block;
  background: #fff;
  color: #2B2B2B;
  border-radius: 3px;
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15);
  overflow: hidden;
  margin-bottom: 24px;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
  .c-service:active, .c-service:focus, .c-service:hover {
    outline: 0;
    box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.25);
    -ms-transform: translateY(-4px);
        transform: translateY(-4px); }
  .c-service p {
    max-width: 620px; }

.c-service__img {
  position: relative;
  min-width: 216px; }
  @media screen and (min-width: 52em) {
    .c-service__img {
      width: 216px; } }

.c-service__body {
  padding: 24px;
  padding-top: 0; }
  @media screen and (min-width: 52em) {
    .c-service__body {
      padding-left: 0;
      padding-top: 24px; } }

div.c-error {
  position: relative;
  margin-top: 12px;
  background: #CC3737;
  padding: 12px;
  color: #fff; }
  div.c-error::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #CC3737;
    position: absolute;
    top: -10px;
    left: 8px; }

/*------------------------------------*\
    #Utilities (u-prefix)
    High-specificity, very explicit selectors. Overrides and helper classes (e.g. .u-hidden {})
    Helpers and layout-classes
	https://github.com/aleutcss?query=utilities
\*------------------------------------*/
/*------------------------------------*\
    #CLEARFIX
\*------------------------------------*/
/**
 * Micro clearfix, as per: css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
 * If you need clearfix on other classes use the clearfix-mixin in the same way as here:
 */
.u-clearfix::after {
  content: "";
  display: table;
  clear: both; }

/*------------------------------------*\
    #HEADINGS
\*------------------------------------*/
/**
 * Headings 1–6’s corresponding Greek-alphabet abstract classes for double-
 * stranded heading hierarchy: csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css
 *
 * Use these helper classes to cause other elements to adopt the styling of the
 * respective heading, e.g.:
 *
   <h2 class="u-alpha">Lorem ipsum</h2>
 *
 */
.u-alpha {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.33333; }

.u-beta {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6; }

.u-gamma {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1; }

.u-delta {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2; }

.u-epsilon {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }

.u-zeta {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429; }

/*------------------------------------*\
    #PRINT
\*------------------------------------*/
/**
 * Very crude, reset-like styles taken from the HTML5 Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/3c3c5e64604209a4d63e1e4c48dd245d45fadfd9/css/main.css#L200-L234
 */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  /**
     * Don’t show links that are fragment identifiers, or use the `javascript:`
     * pseudo protocol.
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; } }

/*------------------------------------*\
    #SPACING
\*------------------------------------*/
/**
 * Margin and padding helper classes. Use these to tweak layout on a micro
 * level.
 *
 * `.u-(m|p)(t|r|b|l|h|v)(-negative)(-tiny|-small|-large|-huge|-none) {}`
 * = margin/padding top/right/bottom/left/horizontal/vertical negative tiny/small/large/huge/none

 	<div class="u-mr u-mb-small"></div>
 */
/**
     * Margin helper classes.
     *
     * Add margins.
     */
.u-m {
  margin: 24px !important; }

.u-mt {
  margin-top: 24px !important; }

.u-mr {
  margin-right: 24px !important; }

.u-mb {
  margin-bottom: 24px !important; }

.u-ml {
  margin-left: 24px !important; }

.u-mh {
  margin-right: 24px !important;
  margin-left: 24px !important; }

.u-mv {
  margin-top: 24px !important;
  margin-bottom: 24px !important; }

/**
     * Add tiny margins.
     */
.u-m-tiny {
  margin: 6px !important; }

.u-mt-tiny {
  margin-top: 6px !important; }

.u-mr-tiny {
  margin-right: 6px !important; }

.u-mb-tiny {
  margin-bottom: 6px !important; }

.u-ml-tiny {
  margin-left: 6px !important; }

.u-mh-tiny {
  margin-right: 6px !important;
  margin-left: 6px !important; }

.u-mv-tiny {
  margin-top: 6px !important;
  margin-bottom: 6px !important; }

/**
     * Add small margins.
     */
.u-m-small {
  margin: 12px !important; }

.u-mt-small {
  margin-top: 12px !important; }

.u-mr-small {
  margin-right: 12px !important; }

.u-mb-small {
  margin-bottom: 12px !important; }

.u-ml-small {
  margin-left: 12px !important; }

.u-mh-small {
  margin-right: 12px !important;
  margin-left: 12px !important; }

.u-mv-small {
  margin-top: 12px !important;
  margin-bottom: 12px !important; }

/**
     * Add large margins.
     */
.u-m-large {
  margin: 48px !important; }

.u-mt-large {
  margin-top: 48px !important; }

.u-mr-large {
  margin-right: 48px !important; }

.u-mb-large {
  margin-bottom: 48px !important; }

.u-ml-large {
  margin-left: 48px !important; }

.u-mh-large {
  margin-right: 48px !important;
  margin-left: 48px !important; }

.u-mv-large {
  margin-top: 48px !important;
  margin-bottom: 48px !important; }

/**
     * Remove margins.
     */
.u-m-none {
  margin: 0 !important; }

.u-mt-none {
  margin-top: 0 !important; }

.u-mr-none {
  margin-right: 0 !important; }

.u-mb-none {
  margin-bottom: 0 !important; }

.u-ml-none {
  margin-left: 0 !important; }

.u-mh-none {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.u-mv-none {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

/**
     * Padding helper classes.
     *
     * Add paddings.
     */
.u-p {
  padding: 24px !important; }

.u-pt {
  padding-top: 24px !important; }

.u-pr {
  padding-right: 24px !important; }

.u-pb {
  padding-bottom: 24px !important; }

.u-pl {
  padding-left: 24px !important; }

.u-ph {
  padding-right: 24px !important;
  padding-left: 24px !important; }

.u-pv {
  padding-top: 24px !important;
  padding-bottom: 24px !important; }

/**
     * Add tiny paddings.
     */
.u-p-tiny {
  padding: 6px !important; }

.u-pt-tiny {
  padding-top: 6px !important; }

.u-pr-tiny {
  padding-right: 6px !important; }

.u-pb-tiny {
  padding-bottom: 6px !important; }

.u-pl-tiny {
  padding-left: 6px !important; }

.u-ph-tiny {
  padding-right: 6px !important;
  padding-left: 6px !important; }

.u-pv-tiny {
  padding-top: 6px !important;
  padding-bottom: 6px !important; }

/**
     * Add small paddings.
     */
.u-p-small {
  padding: 12px !important; }

.u-pt-small {
  padding-top: 12px !important; }

.u-pr-small {
  padding-right: 12px !important; }

.u-pb-small {
  padding-bottom: 12px !important; }

.u-pl-small {
  padding-left: 12px !important; }

.u-ph-small {
  padding-right: 12px !important;
  padding-left: 12px !important; }

.u-pv-small {
  padding-top: 12px !important;
  padding-bottom: 12px !important; }

/**
     * Add large paddings.
     */
.u-p-large {
  padding: 48px !important; }

.u-pt-large {
  padding-top: 48px !important; }

.u-pr-large {
  padding-right: 48px !important; }

.u-pb-large {
  padding-bottom: 48px !important; }

.u-pl-large {
  padding-left: 48px !important; }

.u-ph-large {
  padding-right: 48px !important;
  padding-left: 48px !important; }

.u-pv-large {
  padding-top: 48px !important;
  padding-bottom: 48px !important; }

/**
     * Remove paddings.
     */
.u-p-none {
  padding: 0 !important; }

.u-pt-none {
  padding-top: 0 !important; }

.u-pr-none {
  padding-right: 0 !important; }

.u-pb-none {
  padding-bottom: 0 !important; }

.u-pl-none {
  padding-left: 0 !important; }

.u-ph-none {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.u-pv-none {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

/*------------------------------------*\
    #SPACING-RESPONSIVE
\*------------------------------------*/
/**
 * Margin and padding helper classes. Use these to tweak layout on a micro
 * level.
 *
 * `.u-(m|p)(t|r|b|l|h|v)(-negative)(-tiny|-small|-large|-huge|-none)(@breakpoint) {}`
 * = margin/padding top/right/bottom/left/horizontal/vertical negative tiny/small/large/huge/none @breakpoint
 *
	<div class="u-mr u-mb-small u-mb@s"></div>
 */
/*------------------------------------*\
    #WIDTHS
\*------------------------------------*/
/**
 * A series of width helper classes that you can use to size things like grid
 * systems. Classes can take a fraction-like format (e.g. `.u-2/3`) or a spoken-
 * word format (e.g. `.u-2-of-3`). Use these in your markup:
 *
 * <div class="u-7/12">
 */
.u-1\/1 {
  width: 100% !important; }

.u-1\/2 {
  width: 50% !important; }

.u-1\/3 {
  width: 33.33333% !important; }

.u-2\/3 {
  width: 66.66667% !important; }

.u-1\/4 {
  width: 25% !important; }

.u-2\/4 {
  width: 50% !important; }

.u-3\/4 {
  width: 75% !important; }

.u-1\/5 {
  width: 20% !important; }

.u-2\/5 {
  width: 40% !important; }

.u-3\/5 {
  width: 60% !important; }

.u-4\/5 {
  width: 80% !important; }

/*------------------------------------*\
    #WIDTHS-RESPONSIVE
\*------------------------------------*/
/**
 * Widths-responsive loops through the breakpoints defined in settings.responsive to generate prefixed breakpoint-based classes. If you are
 using inuitcss’ default breakpoints, you will be given classes like
 `u-1/4@lap-and-up`, etc. Usage:

 <div class="o-layout">
 	<div class="o-layout__item u-1/1 u-1/2@lap-and-up">Foo</div><!--
 --><div class="o-layout__item u-1/1 u-1/2@lap-and-up">Bar</div>
 </div>

 */
@media screen and (max-width: 32.5em) {
  .u-1\/1\@xs {
    width: 100% !important; }
  .u-1\/2\@xs {
    width: 50% !important; }
  .u-1\/3\@xs {
    width: 33.33333% !important; }
  .u-2\/3\@xs {
    width: 66.66667% !important; }
  .u-1\/4\@xs {
    width: 25% !important; }
  .u-2\/4\@xs {
    width: 50% !important; }
  .u-3\/4\@xs {
    width: 75% !important; }
  .u-1\/5\@xs {
    width: 20% !important; }
  .u-2\/5\@xs {
    width: 40% !important; }
  .u-3\/5\@xs {
    width: 60% !important; }
  .u-4\/5\@xs {
    width: 80% !important; } }

@media screen and (max-width: 51.938em) {
  .u-1\/1\@s {
    width: 100% !important; }
  .u-1\/2\@s {
    width: 50% !important; }
  .u-1\/3\@s {
    width: 33.33333% !important; }
  .u-2\/3\@s {
    width: 66.66667% !important; }
  .u-1\/4\@s {
    width: 25% !important; }
  .u-2\/4\@s {
    width: 50% !important; }
  .u-3\/4\@s {
    width: 75% !important; }
  .u-1\/5\@s {
    width: 20% !important; }
  .u-2\/5\@s {
    width: 40% !important; }
  .u-3\/5\@s {
    width: 60% !important; }
  .u-4\/5\@s {
    width: 80% !important; } }

@media screen and (min-width: 52em) {
  .u-1\/1\@m {
    width: 100% !important; }
  .u-1\/2\@m {
    width: 50% !important; }
  .u-1\/3\@m {
    width: 33.33333% !important; }
  .u-2\/3\@m {
    width: 66.66667% !important; }
  .u-1\/4\@m {
    width: 25% !important; }
  .u-2\/4\@m {
    width: 50% !important; }
  .u-3\/4\@m {
    width: 75% !important; }
  .u-1\/5\@m {
    width: 20% !important; }
  .u-2\/5\@m {
    width: 40% !important; }
  .u-3\/5\@m {
    width: 60% !important; }
  .u-4\/5\@m {
    width: 80% !important; } }

@media screen and (min-width: 66em) {
  .u-1\/1\@l {
    width: 100% !important; }
  .u-1\/2\@l {
    width: 50% !important; }
  .u-1\/3\@l {
    width: 33.33333% !important; }
  .u-2\/3\@l {
    width: 66.66667% !important; }
  .u-1\/4\@l {
    width: 25% !important; }
  .u-2\/4\@l {
    width: 50% !important; }
  .u-3\/4\@l {
    width: 75% !important; }
  .u-1\/5\@l {
    width: 20% !important; }
  .u-2\/5\@l {
    width: 40% !important; }
  .u-3\/5\@l {
    width: 60% !important; }
  .u-4\/5\@l {
    width: 80% !important; } }

.u-bg-black {
  background: #2B2B2B;
  color: #fff; }

.u-bg-white {
  background: #fff;
  color: #2B2B2B; }

.u-bg-primary {
  background: #51A33D;
  background: linear-gradient(170deg, #51A33D 0%, #64CD2F 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$primary', endColorstr='$primary',GradientType=1 );
  color: #fff; }

.u-bg-primary-flat {
  background-color: #51A33D;
  color: #fff; }

.u-bg-primary-iso {
  background: url("/icons/isotile.svg"), linear-gradient(170deg, #51A33D 0%, #64CD2F 100%);
  background-repeat: repeat;
  color: #fff; }

.u-bg-iso {
  background: url("/img/isotile.svg");
  background-repeat: repeat;
  background-size: 48px; }

.u-bg-gray {
  background: #f5f5f5;
  color: #2B2B2B; }

.u-bg-telio-blue {
  background: #0F729B;
  color: #fff; }

.u-bg-gray-dark {
  background: #ddd;
  color: #2B2B2B; }

.u-bg-img {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.u-bg-img-darken {
  position: relative;
  color: #fff; }
  .u-bg-img-darken:before, .u-bg-img-darken:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #000; }
  .u-bg-img-darken:before {
    mix-blend-mode: darken;
    opacity: 0.2; }
  .u-bg-img-darken:after {
    mix-blend-mode: saturation;
    opacity: 0.3; }

/*------------------------------------*\
    #HEADINGS
\*------------------------------------*/
/**
 * Headings 1–6’s corresponding Greek-alphabet abstract classes for double-
 * stranded heading hierarchy: csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css
 *
 * Use these helper classes to cause other elements to adopt the styling of the
 * respective heading, e.g.:
 *
   <h2 class="u-alpha">Lorem ipsum</h2>
 *
 */
.u-gamma {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.4; }

.u-mega {
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.4;
  font-weight: 300; }

.u-giga {
  font-size: 72px;
  font-size: 4.5rem;
  line-height: 1;
  font-weight: 300; }

.u-beta,
.u-gamma,
.u-delta,
.u-epsilon,
.u-zeta {
  font-weight: 500; }

@media screen and (max-width: 51.938em) {
  .u-alpha, .u-beta {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1; }
  .u-gamma {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.2; }
  .u-delta {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.71429; } }

/**
* Helper-class for removing item visually, but not for screenreaders
*/
.u-visually-hidden {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

@media screen and (max-width: 51.938em) {
  .u-hide\@s {
    display: none; } }

@media screen and (min-width: 52em) {
  .u-hide\@m {
    display: none; } }

.u-hide {
  display: none; }

/**
* Width
*/
.u-fw {
  width: 100%; }

/**
* Positioning
*/
.u-rel {
  position: relative; }

/**
* Overflow
*/
.u-overflow-visible {
  overflow: visible; }

/**
* Floats Remember to add clearfix class on parent item: .u-clearfix
*/
.u-fl {
  float: left; }

.u-fr {
  float: right; }

@media screen and (max-width: 51.938em) {
  .u-fr\@s {
    float: right; } }

@media screen and (max-width: 32.5em) {
  .u-fn\@xs {
    float: none; } }

/**
* Display modes
*/
.u-block {
  display: block; }

.u-inline-block {
  display: inline-block; }

/**
* If we don't want to wrap the text over multiple lines.
*/
.u-nowrap {
  white-space: nowrap; }

/**
* Text color helper classes.
*/
.u-text-primary {
  color: #51A33D; }

.u-text-primary-dark {
  color: #457E30; }

.u-text-gray {
  color: #767676; }

.u-text-light {
  color: #eeeeee; }

.u-text-white {
  color: #fff; }

.u-text-black {
  color: #2B2B2B; }

/**
* Text align helper classes.
*/
.u-tar {
  text-align: right; }

.u-tac {
  text-align: center; }

.u-tal {
  text-align: left; }

/**
* Text styles.
*/
.u-text-strongest {
  font-weight: 600; }

.u-text-strong {
  font-weight: 500; }

.u-text-medium {
  font-weight: 400; }

.u-text-weak {
  font-weight: 300; }

.u-text-normal {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4; }

.u-text-default {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2; }

.u-text-large {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.4; }

@media screen and (min-width: 52em) {
  .u-text-large\@m {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.4; } }

.u-text-small {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429; }

.u-text-tiny {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5; }

/**
* Block styles
*/
.u-shadow {
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.15); }

.u-shadow-large {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); }

.u-border {
  border: 2px solid #F5F5F5; }

.u-rounded {
  border-radius: 3px; }

@media screen and (min-width: 52em) {
  .u-flex\@m {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; } }

.numberRedCircle {
  border-radius: 50%;
  width: 16px;
  height: 18px;
  padding: 0px;
  background: #2B2B2B;
  color: #fff;
  text-align: center;
  display: inline-block; }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
  margin: 20px 0; }
  .embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

._s-sg-box {
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  transition: background 0.2s ease; }
  ._s-sg-box:hover {
    background: #fff; }
