@charset "UTF-8";
/**
 *  Globals
 */
/**
 *  variables.scss
 *
 *  Variables should only serve as a standard value for a property that is set to an explicit stylable element.
 *  The variable name should make clear wich exact element's property should ALWAYS be this value. If theres a
 *  variable '$border-color : red', border-color should always be 'red' whenever set. If you want to set different
 *  border colors for different elements, the name should specify for which element the variable should be applied,
 *  e.g '$border-color-button'. When a property should still be variable for an element, the specific variation for
 *  which the value gets applied should be made clear in the variable name, e. .g '$border-color-button-ghost'.
 * Variable names shouldn't get too specific. For a ghost button's border you might want to use a more globally used
 *  color variable, e.g $color-secondary. If you can relate many styles to few variables, the page probably looks
 *  better and can get restyled more easily.
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
/* COLORS */
/* IFRAME */
/* FORM VARIABLES */
/* COLORS */
/* IFRAME */
/**
 *   Default variables
 *
 *   While these can be set with JavaScript, it's probably
 *   better and faster to just set them here, compile to
 *   CSS and include that instead to use some of that
 *   hardware-accelerated goodness.
 */
/**
 *  Set global styles
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
:root {
  --color-primary: #ffffff;
  --color-secondary: #f36d3a;
  --color-tertiary: #323842;
  --color-cta: --color-secondary;
  --color-accentuate: #66cc00;
  --color-secondary-lighten: #fda482;
  --color-secondary-darken: #d95421;
  --font-family: "Roboto", sans-serif;
  --font-size: 100%;
  --font-color: #000;
  --font-color-secondary: #fff;
  --font-weight: 300;
  --spacing-default: 1.3rem;
  --spacing-small: .85rem;
  --spacing-large: 2.6rem;
  --line-height-default: 1.625rem;
  --line-height-small: 1.375rem;
  --navbar-height: 3.75rem;
  --navbar-shadow: 0px 0px 20px -10px #000;
  --navbar-position: relative;
  --banner-top-spacing: 0rem;
  --form-background: transparent;
  --form-border: 1px solid transparent;
  --input-color-background: transparent;
  --input-hover-color: #f1f1f1;
  --input-border: 2px solid var(--color-tertiary);
  --input-border-secondary: var(--input-border);
  --link-color: --color-tertiary;
  --box-shadow: none;
  --border-radius: none;
  --max-width: 1250px;
  --logo-height: 1.875rem;
  --footer-background: #044465;
  --footer-top-border: 2px solid var(--color-accentuate);
  --socials-icon-color: #cccccc;
  --facebook-display: block;
  --instagram-display: block;
  --twitter-display: block;
  --youtube-display: block;
  --linkedin-display: none;
}

html {
  background-color: var(--color-primary);
  font-family: var(--font-family);
  color: var(--font-color);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height-default);
}

body {
  position: absolute;
  margin: 0;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  overflow-x: hidden;
}

html {
  position: relative;
  min-height: 100%;
  width: 100%;
}

.hide {
  display: none !important;
}

/**
 *  File to set global styles for html elements
 *  This is the only place where HTML tags styling
 *  properties can be set globally.
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds 2019
 */
a {
  color: #003300;
  text-decoration: none;
  transition: 0.3s color ease;
  cursor: pointer;
}
a:visited, a:hover {
  color: #1d8c61;
}

p {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  white-space: normal;
  margin-bottom: var(--spacing-default);
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
  margin-top: 0;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
  margin-bottom: 0;
}

h1 {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
}

h2 {
  font-size: 24px;
  font-weight: 500;
}

h3 {
  font-size: 20px;
  font-weight: 400;
}

small {
  line-height: var(--line-height-small, 1.1rem);
}

button {
  border: none;
  outline: none;
  padding: 1rem;
  text-transform: uppercase;
  font-weight: bold;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  transition: color, 0.2s ease;
  color: var(--color-primary);
  background: var(--color-secondary);
  border: none;
}
button:hover {
  background: var(--color-secondary-darken);
}
button.ghost {
  background: var(--color-primary);
  color: var(--color-secondary);
  border: 2px solid var(--color-secondary);
  margin-top: var(--spacing-default, 1em);
}
button.full-width {
  width: 100%;
}
button.limited-width {
  min-width: 16rem;
}

iframe {
  width: 100%;
}

/**
 *  Here the Greenpeace themes are defined.
 *
 *  @author Tim van Lent
 *  @copyright Copernica BV 2019
 */
.gp-theme .layout-content > .content-column {
  margin: var(--spacing-default);
}
.gp-theme .layout-content > .content-column.right .colored-secondary-shrinkline.content-wrapper {
  background: var(--color-tertiary);
  position: relative;
  padding: 0;
  box-shadow: 0px 5px 17px -15px #000;
}
.gp-theme .layout-content > .content-column.right .colored-secondary-shrinkline.content-wrapper > .content-text {
  padding: var(--spacing-default) var(--spacing-default) var(--spacing-default) var(--spacing-large);
  background: var(--color-tertiary);
  margin: 0;
  color: var(--font-color-secondary);
  position: relative;
}
.gp-theme .layout-content > .content-column.right .colored-secondary-shrinkline.content-wrapper > .content-text > *:first-child {
  margin-top: 0;
}
.gp-theme .layout-content > .content-column.right .colored-secondary-shrinkline.content-wrapper > .content-text::after {
  display: block;
  content: "";
  background: var(--color-primary);
  width: 3px;
  position: absolute;
  left: calc(var(--spacing-small) + 2 * 3px);
  top: var(--spacing-default);
  bottom: var(--spacing-default);
}
.gp-theme .layout-content > .content-column.right .colored-secondary-shrinkline.content-wrapper h1 {
  padding: var(--spacing-default);
  background: var(--color-secondary);
  color: white;
  margin-bottom: 0;
  box-sizing: border-box;
}
.gp-theme .color-form-background {
  line-height: initial;
  border: var(--form-border, 1px solid #ddd);
  background: var(--form-background, #fff);
}
.gp-theme .color-form-background:first-of-type {
  margin-top: var(--spacing-default, 1rem);
}
.gp-theme .color-form-background + .color-form-background {
  margin-top: -1px;
  border-top: 1px solid var(--color-form-background, #fff);
}
.gp-theme .content-wrapper {
  padding-left: 0;
}
.gp-theme .form_overlay {
  padding: 0 var(--spacing-default) var(--spacing-default);
}
.gp-theme .form_overlay .js-overlay-title {
  display: block;
  cursor: pointer;
}
.gp-theme .form_overlay:not(.js-overlay-text) {
  text-align: center;
}
.gp-theme .form_overlay .js-overlay-text {
  text-align: initial;
  display: none;
}

/**
 *  Components
 */
/**
 *  The base layout
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.layout-base {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100%;
  display: flex;
  align-items: center;
  height: fit-content;
}
.layout-base > header.page-header {
  position: var(--navbar-position);
  z-index: 4;
  box-shadow: var(--navbar-shadow, none);
  background-color: var(--color-primary, #fff);
  width: 100%;
  box-sizing: border-box;
}
.layout-base > header.page-header .page-header-contentwrapper {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 0 var(--spacing-large, 2rem);
  align-items: center;
  max-width: var(--max-width);
  height: var(--navbar-height);
}
.layout-base > header.page-header .logo {
  cursor: pointer;
  height: var(--logo-height);
  width: auto;
}
.layout-base > header.page-header i {
  font-size: 30px;
  align-self: center;
  color: var(--color-secondary);
  cursor: pointer;
}
.layout-base > footer {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  background-color: var(--footer-background, #000);
  border-top: var(--footer-top-border);
}
.layout-base > footer .footer-content-centralizer {
  -webkit-box-pack: center;
  width: 100%;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper {
  max-width: var(--max-width);
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: center;
  color: var(--font-color-secondary);
  -webkit-box-align: center;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 var(--spacing-small);
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper > * {
  margin: var(--spacing-default, 2rem);
  align-self: center;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons img {
  height: 3rem;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons > * {
  color: white;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons > *:not(:last-child) {
  margin-right: var(--spacing-small);
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  text-decoration: none;
  font-size: 19px;
  line-height: 47px;
  height: 43px;
  width: 43px;
  text-align: center;
  border-radius: 50px;
  transition: all 0.3s ease;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons a:hover i {
  color: #8eb4cd;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .footer-social-icons a i {
  color: var(--socials-icon-color);
  font-size: 1.5rem;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .anbi_number {
  align-self: flex-start;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .quality-labels {
  display: flex;
  align-items: center;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .quality-labels img {
  height: 2rem;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .quality-labels > *:not(:last-child) {
  margin-right: var(--spacing-small);
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .quality-labels a {
  display: flex;
}
.layout-base > footer .footer-content-centralizer .footer-content-wrapper .copyright {
  align-self: center;
  color: var(--font-color-secondary);
}

/**
 *  This file generates the default styles for the layout content
 *  The layout content consist out of two columns
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.layout-content {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  flex: 1;
}
.layout-content:not(.reverse-wrap) {
  flex-wrap: wrap-reverse;
  align-content: flex-end;
}
.layout-content > .content-column {
  flex: 1;
  align-self: start;
  flex-basis: 25.9rem;
  max-width: 31rem;
  min-width: 19rem;
  margin: var(--spacing-default, 1rem);
  box-shadow: var(--box-shadow, 0px 0px 18px -10px #5e5e5e);
  border-radius: var(--border-radius, 8px);
}
.layout-content > .content-column > header {
  background: var(--color-background, #009de0);
  box-shadow: var(--box-shadow, 0px 0px 18px -10px #5e5e5e);
}
.layout-content > .content-column > header h2 {
  color: var(--color-secondary, #fff);
}
.layout-content > .content-column .content-img {
  width: 100%;
}
.layout-content > .content-column .content-wrapper {
  padding: var(--spacing-default, 0.5rem);
  position: relative;
}

/**
 *  Styles for the a form
 *
 *
 */
form {
  display: inline-block;
  margin: 0;
  box-sizing: border-box;
  width: 100%;
  border-radius: var(--border-radius, 6px);
  background: var(--color-primary, #fff);
}
form .form-section {
  padding: var(--spacing-default);
}
form .form-row {
  width: 100%;
  display: flex;
  position: relative;
}
form .form-row:not(:first-child) {
  margin-top: var(--spacing-small, 0.3rem);
}
form .form-row > * {
  flex: 1;
}
form .form-row > *:not(:last-child) {
  margin-right: var(--spacing-small, 0.3rem);
}
form .form-row .flex-1 {
  flex: 1;
}
form .form-row .flex-2 {
  flex: 2;
}
form .form-row .flex-3 {
  flex: 3;
}
form .form-row .flex-4 {
  flex: 4;
}
form .form-row .flex-5 {
  flex: 5;
}
form .form-row .flex-6 {
  flex: 6;
}
form .form-row .small-fixed {
  min-width: 20%;
}
form .form-row .medium-fixed {
  min-width: 50%;
}
form .form-row .large-fixed {
  min-width: 90%;
}
form .form-row .small-fixed,
form .form-row .medium-fixed,
form .form-row .large-fixed {
  flex: 0;
}
form .form_overlay .overlay-title {
  display: block;
  cursor: pointer;
}
form input[type=text],
form input[type=password],
form input[type=date],
form input[type=datetime],
form input[type=datetime-local],
form input[type=month],
form input[type=week],
form input[type=email],
form input[type=number],
form input[type=search],
form input[type=tel],
form input[type=time],
form input[type=url],
form input[type=color],
form select,
form textarea {
  padding: 0.5rem;
  line-height: 2.2rem;
  border: var(--input-border);
  font-size: var(--font-size, 1rem);
  font-weight: var(--font-weight, normal);
  font-family: var(--font-family);
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}
form input[type=text]:focus,
form input[type=password]:focus,
form input[type=date]:focus,
form input[type=datetime]:focus,
form input[type=datetime-local]:focus,
form input[type=month]:focus,
form input[type=week]:focus,
form input[type=email]:focus,
form input[type=number]:focus,
form input[type=search]:focus,
form input[type=tel]:focus,
form input[type=time]:focus,
form input[type=url]:focus,
form input[type=color]:focus,
form select:focus,
form textarea:focus {
  outline: none;
}
form input[type=text]:hover,
form input[type=password]:hover,
form input[type=date]:hover,
form input[type=datetime]:hover,
form input[type=datetime-local]:hover,
form input[type=month]:hover,
form input[type=week]:hover,
form input[type=email]:hover,
form input[type=number]:hover,
form input[type=search]:hover,
form input[type=tel]:hover,
form input[type=time]:hover,
form input[type=url]:hover,
form input[type=color]:hover,
form select:hover,
form textarea:hover {
  background-color: var(--input-hover-color);
}
form input[type=text]:read-only:not(select),
form input[type=password]:read-only:not(select),
form input[type=date]:read-only:not(select),
form input[type=datetime]:read-only:not(select),
form input[type=datetime-local]:read-only:not(select),
form input[type=month]:read-only:not(select),
form input[type=week]:read-only:not(select),
form input[type=email]:read-only:not(select),
form input[type=number]:read-only:not(select),
form input[type=search]:read-only:not(select),
form input[type=tel]:read-only:not(select),
form input[type=time]:read-only:not(select),
form input[type=url]:read-only:not(select),
form input[type=color]:read-only:not(select),
form select:read-only:not(select),
form textarea:read-only:not(select) {
  background-color: #eee;
  cursor: default;
}
form input[type=text]:-moz-read-only:not(select),
form input[type=password]:-moz-read-only:not(select),
form input[type=date]:-moz-read-only:not(select),
form input[type=datetime]:-moz-read-only:not(select),
form input[type=datetime-local]:-moz-read-only:not(select),
form input[type=month]:-moz-read-only:not(select),
form input[type=week]:-moz-read-only:not(select),
form input[type=email]:-moz-read-only:not(select),
form input[type=number]:-moz-read-only:not(select),
form input[type=search]:-moz-read-only:not(select),
form input[type=tel]:-moz-read-only:not(select),
form input[type=time]:-moz-read-only:not(select),
form input[type=url]:-moz-read-only:not(select),
form input[type=color]:-moz-read-only:not(select),
form select:-moz-read-only:not(select),
form textarea:-moz-read-only:not(select) {
  /* For Firefox */
  background-color: #eee;
  cursor: default;
}
form input[type=text].js-amount-to-price,
form input[type=password].js-amount-to-price,
form input[type=date].js-amount-to-price,
form input[type=datetime].js-amount-to-price,
form input[type=datetime-local].js-amount-to-price,
form input[type=month].js-amount-to-price,
form input[type=week].js-amount-to-price,
form input[type=email].js-amount-to-price,
form input[type=number].js-amount-to-price,
form input[type=search].js-amount-to-price,
form input[type=tel].js-amount-to-price,
form input[type=time].js-amount-to-price,
form input[type=url].js-amount-to-price,
form input[type=color].js-amount-to-price,
form select.js-amount-to-price,
form textarea.js-amount-to-price {
  border: var(--input-border-secondary);
}

.clientapp-form-address {
  display: none;
  margin-top: var(--spacing-small);
}

/**
 *  Custom styles for the form's amountChooser
 *
 *  @author  Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.form-amount-chooser-wrapper {
  position: relative;
  padding: 0;
  box-shadow: 0px 5px 17px -15px #000;
  margin-bottom: var(--spacing-default);
}
.form-amount-chooser-wrapper .form-amount-chooser {
  padding: var(--spacing-small) var(--spacing-default) var(--spacing-default);
  background: var(--color-tertiary);
  color: var(--font-color-secondary);
  margin: 0;
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container, .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: calc(var(--spacing-small) * -1);
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container [type=radio], .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency [type=radio] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container input[type=radio][value="0"]:checked ~ .amount_other, .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency input[type=radio][value="0"]:checked ~ .amount_other {
  display: block;
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container input[type=radio] + label, .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency input[type=radio] + label {
  flex: 1;
  transition: color 0.3s ease, background 0.3s ease;
  font-weight: 400;
  color: var(--font-color, #000);
  background: var(--color-primary, #fff);
  display: block;
  text-align: center;
  padding: var(--spacing-small);
  cursor: pointer;
  border-radius: var(--border-radius);
  margin-top: var(--spacing-small);
  font-size: var(--font-size);
  font-size: max(14.2px, min(3.5vw, var(--font-size)));
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container input[type=radio] + label:hover, .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency input[type=radio] + label:hover {
  background: var(--color-secondary-lighten, #000);
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container input[type=radio] + label:not(:last-of-type), .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency input[type=radio] + label:not(:last-of-type) {
  margin-right: 2px;
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container input[type=radio]:checked + label, .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency input[type=radio]:checked + label {
  color: var(--font-color-secondary, #000);
  background: var(--color-secondary, #009de0);
  pointer-events: none;
  cursor: default;
}
.form-amount-chooser-wrapper .form-amount-chooser .frequency_amount_container .amount_other, .form-amount-chooser-wrapper .form-amount-chooser .chooser-frequency .amount_other {
  min-width: 14rem;
  margin-top: var(--spacing-small);
  flex: 1;
  display: none;
}

/**
 *  Styles for the growing minds fancy input. The inputs has floating
 *  small text elements in the left and right upper corner to respectiveley
 *  show a label or an error message
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing minds BV 2019
 */
.gm-fancyinput-container {
  position: relative;
  transition: 0.2s ease-out all;
  display: flex;
  align-items: center;
  /**
   * Styles to be ascribed to the
   * input field when in error state.
   */
  /**
   * Styles for the label and placeholder
   */
  /**
   * Styles when a prefix exist next to the input
   */
}
.gm-fancyinput-container.error .gm-fancyinput:not(:focus) {
  background-color: #FAC2B8;
  transition: border-color, 1s ease;
  border: 2px solid #f04124;
}
.gm-fancyinput-container.error label.gm-fancyinput-floatinglabel:not(:focus) {
  color: #f04124;
}
.gm-fancyinput-container.error input.gm-fancyinput:not(:focus) ~ small.error {
  right: 0.5rem;
}
.gm-fancyinput-container.error select.gm-fancyinput:not(:focus) ~ small.error {
  right: 3rem;
}
.gm-fancyinput-container.error .gm-fancyinput:not(:focus) ~ small.error {
  opacity: 1;
  color: #f04124;
}
.gm-fancyinput-container small.error {
  position: absolute;
  bottom: 0;
  right: 0.8rem;
  opacity: 0;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.5rem;
  transition: right 0.2s ease, opacity 0.3s ease, color 0.2s ease;
  color: gray;
  line-height: 1rem;
  white-space: nowrap;
}
.gm-fancyinput-container .gm-fancyinput + .gm-fancyinput-floatinglabel {
  top: 0.1875rem;
  left: 0.5rem;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.5rem;
  position: absolute;
  pointer-events: none;
  transition: top 0.2s ease, opacity 0.3s ease, color 0.2s ease;
  color: #bbb;
  line-height: 1rem;
}
.gm-fancyinput-container .gm-fancyinput:placeholder-shown + .gm-fancyinput-floatinglabel {
  opacity: 0;
  top: 0.5rem;
}
.gm-fancyinput-container .gm-fancyinput:focus + .gm-fancyinput-floatinglabel {
  color: var(--color-secondary, #009de0);
  opacity: 1;
  top: 0.1875rem;
}
.gm-fancyinput-container .gm-fancyinput:focus::placeholder {
  transition: 0.2s ease-out opacity;
  opacity: 0;
}
.gm-fancyinput-container .gm-fancyinput-prefix {
  position: absolute;
  padding: 0.5rem;
  line-height: 2.2rem;
  font-size: 1.2rem;
  font-weight: var(--font-weight, normal);
  color: #bbb;
}
.gm-fancyinput-container .gm-fancyinput-prefix ~ .gm-fancyinput {
  padding-left: 3rem;
}

/**
 *  Special class for radio buttons. this should be given to
 *  The parent element of the radio buttons. It affects all
 *  radio type inputs with sibling labels within it.
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.gm-radio-buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 1.7rem;
  position: relative;
}
.gm-radio-buttons [type=radio] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.gm-radio-buttons [type=radio] + label {
  position: relative;
  padding-left: 2rem;
  margin-right: var(--spacing-small);
  line-height: 1.125rem;
  cursor: pointer;
  white-space: nowrap;
  font-size: var(--font-size);
}
.gm-radio-buttons [type=radio] + label::before {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  border: var(--input-border);
  border-radius: 100%;
  background: #fff;
  left: 0;
  top: -0.25rem;
  box-sizing: border-box;
}
.gm-radio-buttons [type=radio] + label::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-accentuate, #009de0);
  position: absolute;
  top: 0.25rem;
  left: 0.5rem;
  border-radius: 100%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.gm-radio-buttons [type=radio]:not(:checked) + label::after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.gm-radio-buttons [type=radio]:checked + label::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.gm-radio-buttons .gm-radio-mandatorysign {
  margin-right: var(--spacing-small);
  flex: 2;
  line-height: 1.125rem;
}
.gm-radio-buttons small.error {
  display: none;
}
.gm-radio-buttons .gm-radio-label {
  margin-bottom: 0;
  margin-right: var(--spacing-default);
  font-family: var(--subheading-font-family);
}
.gm-radio-buttons.labeled .gm-radio-mandatorysign {
  display: none;
}
.gm-radio-buttons.error .gm-radio-mandatorysign {
  color: var(--color-error, red);
  flex: 1;
}
.gm-radio-buttons.error label {
  color: var(--color-error, red);
}
.gm-radio-buttons.error label::before {
  border: 2px solid var(--color-error, red);
}
.gm-radio-buttons.error small.error {
  display: block;
  font-size: var(--font-size);
  transition: right 0.2s ease, opacity 0.3s ease, color 0.2s ease;
  color: var(--color-error, red);
  line-height: 0.7rem;
}
.gm-radio-buttons.wrap {
  flex-direction: column;
  align-items: start;
  height: unset;
}
.gm-radio-buttons.wrap .gm-radio-label {
  white-space: nowrap;
  margin-bottom: var(--spacing-small);
}
.gm-radio-buttons.wrap [type=radio] + label {
  height: 2rem;
}

/**
 *  Styles for a fancy checkbox
 *
 *  @author Tim van Lent <tim.vanlent@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.gm-fancycheckbox-container {
  position: relative;
  transition: 0.2s ease-out all;
  line-height: 1.5625rem;
  /**
   * Styles to be ascribed to the
   * input field when in error state.
   */
}
.gm-fancycheckbox-container input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.gm-fancycheckbox-container input[type=checkbox] + label {
  display: block;
  padding-left: 2rem;
  cursor: pointer;
  color: var(--font-color, #222);
}
.gm-fancycheckbox-container input[type=checkbox] + label::before {
  background: #fff none repeat scroll 0 0;
  border-radius: 0.15625rem;
  content: "";
  height: 1.375rem;
  width: 1.375rem;
  left: 0;
  top: 0;
  position: absolute;
  border: var(--input-border);
}
.gm-fancycheckbox-container input[type=checkbox]:checked + label::after {
  content: "✓";
  font-weight: 900;
  left: 2px;
  top: 0;
  text-align: center;
  width: 1.375rem;
  color: var(--color-accentuate);
  position: absolute;
  font-size: 2rem;
}
.gm-fancycheckbox-container.error input[type=checkbox]:not(:checked) ~ small.error {
  opacity: 1;
  color: #f04124;
  right: 1rem;
}
.gm-fancycheckbox-container.error small.error {
  opacity: 0;
  right: 6rem;
  top: 0.1875rem;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.5rem;
  position: absolute;
  transition: right 0.2s ease, opacity 0.3s ease, color 0.2s ease;
  color: gray;
}

/**
 *  Styles for the fancy select field
 *  todo : namespace this and implement in the html
 */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #bbb, #bbb);
  background-position: calc(100% - 20px) calc(1.3rem + 2px), calc(100% - 15px) calc(1.45rem), calc(100% - 2.5em) 0.5em;
  background-size: 5px 5px, 5px 5px, 1px 2rem;
  background-repeat: no-repeat;
  border-radius: 0;
  padding-right: 3rem;
}
select:focus {
  background-image: linear-gradient(45deg, transparent 50%, var(--color-secondary) 50%), linear-gradient(135deg, var(--color-secondary) 50%, transparent 50%), linear-gradient(to right, #bbb, #bbb);
  background-position: calc(100% - 20px) calc(1.3rem + 2px), calc(100% - 15px) calc(1.45rem), calc(100% - 2.5em) 0.5em;
  background-size: 5px 5px, 5px 5px, 1px 2rem;
  background-repeat: no-repeat;
  border-radius: 0;
}

/**
 *  Styles for the payment method tabs component
 *  The component are tabs with a container to show the
 *  the selected tab's content
 *
 *  @author Tim van Lent <tim.vanlent@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.gm-paymentmethod [type=radio] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.gm-paymentmethod .gm-radio-buttons [type=radio] + label::before {
  top: 1rem;
}
.gm-paymentmethod .gm-radio-buttons [type=radio] + label::after {
  top: 1.5rem;
}
.gm-paymentmethod > input.state {
  display: none;
}
.gm-paymentmethod #machtiging:checked ~ .gm-paymentmethod-tabbar > #machtiging-label,
.gm-paymentmethod #ideal:checked ~ .gm-paymentmethod-tabbar > #ideal-label,
.gm-paymentmethod #creditcard:checked ~ .gm-paymentmethod-tabbar > #creditcard-label,
.gm-paymentmethod #paypal:checked ~ .gm-paymentmethod-tabbar > #paypal-label,
.gm-paymentmethod #credit:checked ~ .gm-paymentmethod-tabbar > #credit-label {
  color: var(--font-color-secondary, #000);
  background: var(--color-secondary, #009de0);
  pointer-events: none;
  cursor: default;
}
.gm-paymentmethod .gm-paymentmethod-tabbar {
  display: flex;
}
.gm-paymentmethod .gm-paymentmethod-tabbar .gm-paymentmethod-tabbar-tab {
  flex: auto;
  transition: color, 0.3s ease;
  font-weight: 400;
  border: none;
  color: var(--font-color-secondary, #000);
  background: var(--color-tertiary, #fff);
  padding: var(--spacing-small);
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  font-size: 0.8rem;
  font-size: calc(.8rem + .2vw + ((100vw - 300px) / 1200));
  font-size: max(11.2px, min(3vw, 16px));
  font-size: clamp(0.7rem, 3vw, 100%);
}
.gm-paymentmethod .gm-paymentmethod-tabbar .gm-paymentmethod-tabbar-tab:not(:last-of-type) {
  margin-right: 2px;
}
.gm-paymentmethod #machtiging:checked ~ .gm-paymentmethod-container > #machtiging-panel,
.gm-paymentmethod #creditcard:checked ~ .gm-paymentmethod-container > #creditcard-panel,
.gm-paymentmethod #paypal:checked ~ .gm-paymentmethod-container > #paypal-panel,
.gm-paymentmethod #ideal:checked ~ .gm-paymentmethod-container > #ideal-panel,
.gm-paymentmethod #credit:checked ~ .gm-paymentmethod-container > #credit-panel {
  display: block;
}
.gm-paymentmethod .gm-paymentmethod-container {
  margin-top: var(--spacing-small, 0.3rem);
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content {
  display: none;
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content .gm-paymentmethod-cc {
  position: relative;
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content .gm-paymentmethod-cc .payment-logo {
  transition: all 0.2s ease;
  cursor: pointer;
  min-height: 100%;
  width: 6rem;
  border: 1px solid #f1f1f1;
  vertical-align: middle;
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content .gm-paymentmethod-cc .payment-logo:hover {
  border: 1px solid white;
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content .gm-paymentmethod-cc small.error {
  position: absolute;
  bottom: 0.2rem;
  right: 0.5rem;
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content#paypal-panel > p {
  line-height: var(--line-height-small);
  font-size: small;
  margin-top: 0;
}
.gm-paymentmethod .gm-paymentmethod-container .gm-paymentmethod-content img {
  border-radius: 5px;
  cursor: pointer;
}

/**
 *  Styles for the submit button
 *
 *  @author Tim van Lent <tim.vanlent@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.gm-submitbutton-container {
  position: relative;
  background: var(--color-secondary);
  border-radius: var(--border-radius);
  cursor: pointer;
}
.gm-submitbutton-container.hover {
  background: var(--color-secondary);
}
.gm-submitbutton-container.hover:hover .shimmer-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
}
.gm-submitbutton-container .gm-submitbutton {
  -webkit-appearance: none;
  white-space: break-spaces;
  border: none;
  outline: none;
  color: var(--color-primary);
  background: transparent;
  padding: 1rem;
  font-family: var(--font-family);
  border-radius: var(--border-radius);
  cursor: pointer;
  font-size: var(--font-size);
  width: 100%;
  position: relative;
}
.gm-submitbutton-container .gm-submitbutton:hover {
  transition: 0.3s background ease;
  background: #f3593c;
}

/**
 *  Effects
 */
/**
 *  Fade in up effect
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.fade-in-up {
  animation-name: fadeinup;
  animation-duration: 1.2s;
  /* or: Xms */
  animation-timing-function: ease-out;
  /* or: ease, ease-in, ease-in-out, linear, cubic-bezier(x1, y1, x2, y2) */
}

/* Safari 4.0 - 8.0 */
@-webkit-keyframes fadeinup {
  0% {
    top: 50px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
/* Standard syntax */
@keyframes fadeinup {
  0% {
    top: 50px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
/**
 *  Zoom out effect
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.zoom-out {
  position: relative;
  overflow: hidden;
}
.zoom-out img {
  max-width: 120%;
  position: absolute;
  top: -9999px;
  bottom: -9999px;
  left: -9999px;
  right: -9999px;
  margin: auto;
  animation-name: zoomout;
  animation-duration: 1.2s;
  /* or: Xms */
  animation-timing-function: ease-out;
  /* or: ease, ease-in, ease-in-out, linear, cubic-bezier(x1, y1, x2, y2) */
}

/* Safari 4.0 - 8.0 */
@-webkit-keyframes zoomout {
  0% {
    width: 120%;
  }
  100% {
    width: 100%;
  }
}
/* Standard syntax */
@keyframes zoomout {
  0% {
    width: 120%;
  }
  100% {
    width: 100%;
  }
}
/**
 *  Elevate box effect
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.elevate-box {
  animation-name: elevate;
  animation-duration: 1.1s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
  text-align: center;
}

/* Safari 4.0 - 8.0 */
@-webkit-keyframes elevate {
  0% {
    box-shadow: 0px 5px 16px -23px;
    top: 20px;
  }
  100% {
    box-shadow: 0px 5px 16px -10px;
    top: 0;
  }
}
/* Standard syntax */
@keyframes elevate {
  0% {
    box-shadow: 0px 5px 16px -23px;
    top: 10px;
  }
  100% {
    box-shadow: 0px 5px 16px -10px;
    top: 0;
  }
}
/**
 *  Creates a shrinking line to the left of the selected element, typically a box.
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.shrinkline-left-box {
  position: relative;
  /* Safari 4.0 - 8.0 */
  /* Standard syntax */
}
.shrinkline-left-box::before {
  display: block;
  content: "";
  background: var(--color-accentuate);
  width: 4px;
  position: absolute;
  left: -1.3rem;
  height: 140%;
  animation-name: shrink;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
@-webkit-keyframes shrink {
  0% {
    height: 340%;
  }
  100% {
    height: 100%;
  }
}
@keyframes shrink {
  0% {
    height: 340%;
  }
  100% {
    height: 100%;
  }
}

/**
 *  Creates a shimmering effect on an element on hover
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.shimmer {
  transition: all 0.3s ease;
  position: relative;
}
.shimmer:hover {
  background: var(--color-secondary);
  color: var(--color-primary);
}
.shimmer:hover .shimmer-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
}
.shimmer:hover .shimmer-container .button-shimmer {
  background: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 100%);
  /* IE10+ */
  background: linear-gradient(135deg, transparent 0%, transparent 30%, rgba(255, 255, 255, 0.8) 50%, transparent 70%, transparent 100%);
  width: 200%;
  top: -2px;
  bottom: -2px;
  position: absolute;
  -webkit-animation: shimmer 1s infinite;
  -moz-animation: shimmer 1s infinite;
  animation: shimmer 1s infinite;
}
@-webkit-keyframes shimmer {
  0% {
    left: -200%;
  }
  100% {
    left: 100%;
  }
}
@-moz-keyframes shimmer {
  0% {
    left: -200%;
  }
  100% {
    left: 100%;
  }
}
@keyframes shimmer {
  0% {
    left: -200%;
  }
  100% {
    left: 100%;
  }
}

/**
 *  Layouts
 */
/**
 *  The banner layout
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.page-bannerlayout .page-bannerlayout-banner {
  position: relative;
  overflow: hidden;
  height: 40vh;
  width: 100%;
  max-width: var(--banner-max-width, none);
  z-index: -1;
  display: flex;
  margin-top: var(--banner-top-spacing);
}
.page-bannerlayout .layout-content {
  background: var(--color-primary);
  box-shadow: var(--box-shadow);
  z-index: 3;
}
.page-bannerlayout .layout-content > .content-column {
  margin: var(--spacing-default);
}
.page-bannerlayout .layout-content > .content-column.right {
  margin-top: -4.2rem;
}
.page-bannerlayout .layout-content, .page-bannerlayout .layout-content-notfound {
  flex: 1;
}

/**
 *  The basic layout. A header, content and footer layout
 *
 *  |````````````````|
 *  |````````````````|
 *  |   |''|  |''|   |
 *  |   |  |  |  |   |
 *  |   ''''  ''''   |
 *  |________________|
 *  |________________|
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.page-basiclayout {
  --color: #ffffffe8;
  background-color: var(--color-primary);
}
.page-basiclayout > header.page-header {
  box-shadow: none;
}
.page-basiclayout > .page-bannerlayout-banner {
  display: none;
}
.page-basiclayout > .layout-content > .content-column:not(.gm-stickynotstacked-item) {
  margin-top: calc(var(--spacing-default, 1rem) * 2 + var(--banner-top-spacing, 0));
  position: relative;
}

/**
 *  Plugins
 */
/**
 *  Styles for the Parallax plugins
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright  Growing Minds BV 2019
 */
.parallax-container {
  transition: all 2s ease-in-out;
}

.parallax-element {
  position: absolute;
  left: -9999px;
  right: -9999px;
  margin: auto;
  bottom: 0;
}

/**
 *  Styles for the stickynotstacked plugin elements
 *
 *  @author <tim@growingminds.nl>
 *  @copyright 2019 GrowingMinds BV
 */
.gm-stickynotstacked-item {
  position: sticky;
  top: var(--spacing-default, 1rem);
  top: calc(var(--spacing-default, 1rem) + var(--banner-top-spacing, 0));
}

/**
 *  Styles for the StandByBar Plugin
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.standby-bar {
  display: flex;
  position: fixed;
  transition: max-height, 0.3s ease-out;
  height: auto;
  max-height: 6rem;
}
.standby-bar > * {
  align-self: center;
  transition: font-size, 0.3s ease-out;
}
.standby-bar > * img {
  transition: height, 0.3s ease-out;
}
.standby-bar.standby {
  max-height: 0;
}
.standby-bar.standby i, .standby-bar.standby h2 {
  font-size: 0;
}
.standby-bar.standby img {
  height: 0;
}

/**
 *  Pages
 */
/**
 *  Styles for the page content we show on a 404
 */
.layout-content-notfound {
  --font-size: 2rem;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-content: center;
  flex-wrap: wrap;
  flex: 1;
}
.layout-content-notfound .info-container {
  text-align: center;
  margin: var(--spacing-default, 1.4rem);
}
.layout-content-notfound .info-container .title {
  font-size: var(--font-size);
  color: var(--color-primary, #fff);
}
.layout-content-notfound .info-container a {
  font-size: var(--font-size);
  display: block;
  margin-top: var(--spacing-default, 1.4rem);
}

/**
 *  Custom styles for thankyou page
 *
 */
body.bedankt .thanks-title {
  z-index: 1;
  background: white;
  display: block;
  margin: 0 auto;
  align-self: center;
  padding: var(--spacing-default);
  box-shadow: var(--box-shadow);
}
body.bedankt .thanksbox .thanks-socials-title {
  padding: var(--spacing-default);
  background: #003300;
  color: var(--font-color-secondary);
}
body.bedankt .thanksbox .thanks-content .line {
  display: block;
  padding-left: var(--spacing-default);
  position: relative;
  height: 100%;
}
body.bedankt .thanksbox .thanks-content .line::before {
  display: block;
  content: "";
  background: var(--color-accentuate);
  width: 4px;
  height: 100%;
  position: absolute;
  left: 0;
}
body.bedankt .thanksbox .thanks-content .line > *:first-child {
  margin-top: 0;
}
body.bedankt .thanksbox .thanks-content .line > *:not(:first-child) {
  margin-top: var(--spacing-default);
}
body.bedankt .thanksbox .thanks-socials-buttons {
  list-style: none;
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links {
  display: flex;
  background: var(--color-secondary);
  width: min-content;
  padding: var(--spacing-small);
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links:empty {
  display: none;
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 17px;
  line-height: 39px;
  height: 35px;
  width: 35px;
  text-align: center;
  border-radius: 50px;
  background: var(--color-secondary);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links a i {
  transition: color 0.3s ease;
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links a:hover i {
  color: var(--color-secondary-lighten);
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links a:not(:last-of-type) {
  margin-right: var(--spacing-small);
}
body.bedankt .thanksbox .thanks-socials-buttons .social-links a i {
  color: var(--color-primary);
  font-size: 20px;
}

/**
 *  Widgets
 */
/**
 *  Styles for the zoomout container
 */
.zoomout-container {
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
.zoomout-container img {
  position: absolute;
  top: -9999px;
  bottom: -9999px;
  left: -9999px;
  right: -9999px;
  margin: auto;
}
.zoomout-container img.width {
  min-width: 120%;
}
.zoomout-container img.height {
  min-height: 120%;
}
.zoomout-container img.min-width {
  min-width: 100%;
}
.zoomout-container img.min-height {
  min-height: 100%;
}

/**
 *  Styles for the AmountMessage widget
 *
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2019
 */
.amount-message-container {
  height: 4rem;
  position: relative;
  margin-top: var(--spacing-default, 1rem);
  display: flex;
  align-items: center;
  transition: height 0.2s ease;
  overflow: hidden;
  animation-name: fadeinright;
  animation-duration: 0.7s;
  animation-timing-function: ease-out;
}
.amount-message-container > img {
  margin-right: var(--spacing-small, 1rem);
  height: 100%;
}
.amount-message-container.hide {
  height: 0px;
}
@-webkit-keyframes fadeinright {
  0% {
    left: 50px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}
@keyframes fadeinright {
  0% {
    left: 50px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}

/**
 *  Styles for the global error notification
 *  @autor Tim van Lent <tim.vanlent@growingminds.nl>
 *  @copyright Growing Minds BV 2020
 */
.error-notification {
  display: flex;
  background: var(--color-background-error, #fff);
  padding: var(--spacing-small);
  box-sizing: border-box;
  border: 1px solid var(--color-secondary);
  font-size: 13px;
  align-items: center;
  margin-top: var(--spacing-default);
}
.error-notification .fa-warning {
  flex: unset;
  margin-right: var(--spacing-small, 0.5rem);
  color: var(--color-secondary);
  font-size: 30px;
}

.postError {
  background-color: #f04124;
  display: flex;
  padding: 0.5rem var(--spacing-large);
  box-sizing: border-box;
  color: #FFFFFF;
  font-size: 1rem;
  width: 100%;
}
.postError .fa-exclamation-triangle {
  vertical-align: middle;
  padding: 0 10px;
  -webkit-box-flex: unset;
  flex: unset;
  font-size: 20px;
}

/**
 *  Styles for the ProgressBar
 *  @author Tim van Lent <tim@growingminds.nl>
 *  @copyright Growing Minds BV 2020
 */
.gm-progressbar-container {
  position: relative;
  width: 100%;
  background-color: #5c6978;
  color: var(--font-color-secondary);
  padding: 0.3rem 0.5rem;
  box-sizing: border-box;
  overflow: hidden;
}
.gm-progressbar-container .gm-progressbar-label {
  position: relative;
  z-index: 2;
  font-weight: 700;
}
.gm-progressbar-container .gm-progressbar-progress {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 100%;
  background: var(--color-secondary);
}

/**
 *  Third Party Style Sheets
 */
.counter-container {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 5%;
  background-color: white;
  align-items: center;
  align-content: center;
}
.counter-container .counter-title {
  text-align: center;
  margin-top: var(--spacing-small, 0.5rem);
  white-space: nowrap;
}
.counter-container .flip-clock-wrapper {
  display: flex;
  margin: var(--spacing-small, 0.5rem) 0;
}
.counter-container .flip-clock-wrapper ul li a div div.inn {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 200%;
  color: var(--color-primary);
  text-shadow: 0 1px 2px #000;
  text-align: center;
  background-color: var(--color-secondary);
  border-radius: 6px;
  font-size: 40px;
}
.counter-container .flip-clock-wrapper ul {
  position: relative;
  float: left;
  margin-right: 5px;
  width: 40px;
  height: 55px;
  font-size: 50px;
  font-weight: bold;
  line-height: 77px;
  border-radius: 6px;
  background: #000;
}

/* Get the bourbon mixin from http://bourbon.io */
/* Reset */
.flip-clock-wrapper * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}

.flip-clock-wrapper a {
  cursor: pointer;
  text-decoration: none;
  color: #ccc;
}

.flip-clock-wrapper a:hover {
  color: #fff;
}

.flip-clock-wrapper ul {
  list-style: none;
}

.flip-clock-wrapper.clearfix:before,
.flip-clock-wrapper.clearfix:after {
  content: " ";
  display: table;
}

.flip-clock-wrapper.clearfix:after {
  clear: both;
}

.flip-clock-wrapper.clearfix {
  *zoom: 1;
}

/* Main */
.flip-clock-wrapper {
  font: normal 11px "Helvetica Neue", Helvetica, sans-serif;
  -webkit-user-select: none;
}

.flip-clock-meridium {
  background: none !important;
  box-shadow: 0 0 0 !important;
  font-size: 36px !important;
}

.flip-clock-meridium a {
  color: #313333;
}

.flip-clock-wrapper {
  text-align: center;
  position: relative;
  width: 100%;
}

.flip-clock-wrapper:before,
.flip-clock-wrapper:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.flip-clock-wrapper:after {
  clear: both;
}

/* Skeleton */
.flip-clock-wrapper ul li {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  line-height: 55px;
  text-decoration: none !important;
}

.flip-clock-wrapper ul li:first-child {
  z-index: 2;
}

.flip-clock-wrapper ul li a {
  display: block;
  height: 100%;
  -webkit-perspective: 200px;
  -moz-perspective: 200px;
  perspective: 200px;
  margin: 0 !important;
  overflow: visible !important;
  cursor: default !important;
}

.flip-clock-wrapper ul li a div {
  z-index: 1;
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  font-size: 80px;
  overflow: hidden;
  outline: 1px solid transparent;
}

.flip-clock-wrapper ul li a div .shadow {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.flip-clock-wrapper ul li a div.up {
  -webkit-transform-origin: 50% 100%;
  -moz-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -o-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  top: 0;
}

.flip-clock-wrapper ul li a div.up:after {
  content: "";
  position: absolute;
  top: 44px;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 3px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.4);
}

.flip-clock-wrapper ul li a div.down {
  -webkit-transform-origin: 50% 0;
  -moz-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  -o-transform-origin: 50% 0;
  transform-origin: 50% 0;
  bottom: 0;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

.flip-clock-wrapper ul li a div div.inn {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 200%;
  color: #ccc;
  text-shadow: 0 1px 2px #000;
  text-align: center;
  background-color: var(--color-secondary);
  border-radius: 6px;
  font-size: 70px;
}

.flip-clock-wrapper ul li a div.up div.inn {
  top: 0;
}

.flip-clock-wrapper ul li a div.down div.inn {
  bottom: 0;
}

/* PLAY */
.flip-clock-wrapper ul.play li.flip-clock-before {
  z-index: 3;
}

.flip-clock-wrapper ul.play li.flip-clock-active {
  -webkit-animation: asd 0.3s 0.3s linear both;
  -moz-animation: asd 0.3s 0.3s linear both;
  animation: asd 0.3s 0.3s linear both;
  z-index: 5;
}

.flip-clock-divider {
  float: left;
  display: inline-block;
  position: relative;
  width: 20px;
  height: 100px;
}

.flip-clock-divider:first-child {
  width: 0;
}

.flip-clock-dot {
  display: block;
  background: #323434;
  width: 10px;
  height: 10px;
  position: absolute;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  left: 5px;
}

.flip-clock-divider .flip-clock-label {
  position: absolute;
  top: -1.5em;
  right: -86px;
  color: black;
  text-shadow: none;
}

.flip-clock-divider.minutes .flip-clock-label {
  right: -88px;
}

.flip-clock-divider.seconds .flip-clock-label {
  right: -91px;
}

.flip-clock-dot.top {
  top: 30px;
}

.flip-clock-dot.bottom {
  bottom: 30px;
}

@-webkit-keyframes asd {
  0% {
    z-index: 2;
  }
  20% {
    z-index: 4;
  }
  100% {
    z-index: 4;
  }
}
@-moz-keyframes asd {
  0% {
    z-index: 2;
  }
  20% {
    z-index: 4;
  }
  100% {
    z-index: 4;
  }
}
@-o-keyframes asd {
  0% {
    z-index: 2;
  }
  20% {
    z-index: 4;
  }
  100% {
    z-index: 4;
  }
}
@keyframes asd {
  0% {
    z-index: 2;
  }
  20% {
    z-index: 4;
  }
  100% {
    z-index: 4;
  }
}
.flip-clock-wrapper ul.play li.flip-clock-active .down {
  z-index: 2;
  -webkit-animation: turn 0.3s 0.3s linear both;
  -moz-animation: turn 0.3s 0.3s linear both;
  animation: turn 0.3s 0.3s linear both;
}

@-webkit-keyframes turn {
  0% {
    -webkit-transform: rotateX(90deg);
  }
  100% {
    -webkit-transform: rotateX(0deg);
  }
}
@-moz-keyframes turn {
  0% {
    -moz-transform: rotateX(90deg);
  }
  100% {
    -moz-transform: rotateX(0deg);
  }
}
@-o-keyframes turn {
  0% {
    -o-transform: rotateX(90deg);
  }
  100% {
    -o-transform: rotateX(0deg);
  }
}
@keyframes turn {
  0% {
    transform: rotateX(90deg);
  }
  100% {
    transform: rotateX(0deg);
  }
}
.flip-clock-wrapper ul.play li.flip-clock-before .up {
  z-index: 2;
  -webkit-animation: turn2 0.3s linear both;
  -moz-animation: turn2 0.3s linear both;
  animation: turn2 0.3s linear both;
}

@-webkit-keyframes turn2 {
  0% {
    -webkit-transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(-90deg);
  }
}
@-moz-keyframes turn2 {
  0% {
    -moz-transform: rotateX(0deg);
  }
  100% {
    -moz-transform: rotateX(-90deg);
  }
}
@-o-keyframes turn2 {
  0% {
    -o-transform: rotateX(0deg);
  }
  100% {
    -o-transform: rotateX(-90deg);
  }
}
@keyframes turn2 {
  0% {
    transform: rotateX(0deg);
  }
  100% {
    transform: rotateX(-90deg);
  }
}
.flip-clock-wrapper ul li.flip-clock-active {
  z-index: 3;
}

/* SHADOW */
.flip-clock-wrapper ul.play li.flip-clock-before .up .shadow {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, black));
  background: linear, top, rgba(0, 0, 0, 0.1) 0%, black 100%;
  background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
  background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
  background: linear, to bottom, rgba(0, 0, 0, 0.1) 0%, black 100%;
  -webkit-animation: show 0.3s linear both;
  -moz-animation: show 0.3s linear both;
  animation: show 0.3s linear both;
}

.flip-clock-wrapper ul.play li.flip-clock-active .up .shadow {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, black));
  background: linear, top, rgba(0, 0, 0, 0.1) 0%, black 100%;
  background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
  background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
  background: linear, to bottom, rgba(0, 0, 0, 0.1) 0%, black 100%;
  -webkit-animation: hide 0.3s 0.3s linear both;
  -moz-animation: hide 0.3s 0.3s linear both;
  animation: hide 0.3s 0.3s linear both;
}

/*DOWN*/
.flip-clock-wrapper ul.play li.flip-clock-before .down .shadow {
  background: -moz-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, black), color-stop(100%, rgba(0, 0, 0, 0.1)));
  background: linear, top, black 0%, rgba(0, 0, 0, 0.1) 100%;
  background: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
  background: -ms-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
  background: linear, to bottom, black 0%, rgba(0, 0, 0, 0.1) 100%;
  -webkit-animation: show 0.3s linear both;
  -moz-animation: show 0.3s linear both;
  animation: show 0.3s linear both;
}

.flip-clock-wrapper ul.play li.flip-clock-active .down .shadow {
  background: -moz-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, black), color-stop(100%, rgba(0, 0, 0, 0.1)));
  background: linear, top, black 0%, rgba(0, 0, 0, 0.1) 100%;
  background: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
  background: -ms-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
  background: linear, to bottom, black 0%, rgba(0, 0, 0, 0.1) 100%;
  -webkit-animation: hide 0.3s 0.3s linear both;
  -moz-animation: hide 0.3s 0.3s linear both;
  animation: hide 0.3s 0.3s linear both;
}

@-webkit-keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-moz-keyframes hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-o-keyframes hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/**
 *  Stuff that needs to be processed away
 */
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OX-hpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OVuhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OXuhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OUehpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OXehpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OXOhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OUuhpKKSTjw.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFWJ0bf8pkAp6a.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0bf8pkAp6a.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFWZ0bf8pkAp6a.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFVp0bf8pkAp6a.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFWp0bf8pkAp6a.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFW50bf8pkAp6a.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFVZ0bf8pkAg.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOX-hpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOVuhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOXuhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOUehpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOXehpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOXOhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirkOUuhpKKSTjw.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOX-hpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOVuhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOXuhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOUehpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOXehpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOXOhpKKSTj5PW.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(https://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rgOUuhpKKSTjw.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.column-40 {
  width: 40%;
  float: left;
}
@media screen and (max-width: 1001px) {
  .column-40 {
    width: 100%;
  }
}

.column-20 {
  width: 20%;
  float: left;
}
@media screen and (max-width: 1001px) {
  .column-20 {
    width: 100%;
  }
}

.debug_screen {
  display: block;
  position: fixed;
  z-index: 10000;
  width: 100%;
  min-height: 10px;
  overflow: hidden;
  background-color: white;
  background-color: #f5f5f5;
  /* TODO: multiple icons possible -> fix */
}
.debug_screen input[type=submit],
.debug_screen input[type=button] {
  background-color: orange;
  color: white;
  padding: 0.5em 2em;
  border: none;
  font-size: 0.9em;
  font-weight: bold;
}
.debug_screen input[type=submit]:hover,
.debug_screen input[type=button]:hover {
  background-color: #d58a00;
  cursor: pointer;
}
.debug_screen table {
  width: 100%;
}
.debug_screen table td {
  vertical-align: text-top;
}
.debug_screen .mapper {
  font-size: 3em;
  color: lightgray;
  background-color: gray;
  padding: 10px;
  border-radius: 25px;
}
@media screen and (max-width: 1001px) {
  .debug_screen .mapper {
    display: none;
  }
}
.debug_screen .debug_open {
  width: 20%;
  border-bottom: none;
}
.debug_screen .debug_closed {
  width: 100% !important;
  border-bottom: solid 0.5px lightgray;
  transition: 0.5s;
}
.debug_screen .fa-exclamation-circle {
  color: red;
  background-color: white;
  border-radius: 20px;
  float: right;
  margin-right: 5px;
  display: inline-block;
  font-size: 1.5em;
}
.debug_screen .debug_area_close {
  position: absolute;
  right: 15px;
  top: 8px;
  z-index: 1;
  border-radius: 20px;
  font-size: 1.5em;
  color: orange;
  transition: 0.1s;
}
.debug_screen .debug_area_close:hover {
  color: #d58a00;
  transition: 0.1s;
  text-decoration: none;
}
.debug_screen .debug_toolbar {
  position: absolute;
  right: 50px;
  top: 15px;
  font-size: 1em;
  border-right: solid 1px gray;
  padding-right: 0.8em;
  margin-right: 1em;
}
.debug_screen .debug_toolbar .fa-sync-alt {
  transition: 2s;
}
.debug_screen .debug_toolbar .fa-sync-alt:hover {
  transform: rotate(740deg);
  transition: 2s;
  cursor: pointer;
}
.debug_screen .debug_toolbar_2 {
  position: absolute;
  right: 80px;
  top: 15px;
  font-size: 1em;
  padding-right: 0.8em;
  margin-right: 1em;
}
.debug_screen .debug_toolbar_2 .fa-sync-alt {
  transition: 2s;
}
.debug_screen .debug_toolbar_2 .fa-sync-alt:hover {
  transform: rotate(740deg);
  transition: 2s;
  cursor: pointer;
}
.debug_screen .debug_selection {
  padding-left: 0;
  border-bottom: solid 0.5px lightgray;
  transition: 0.5s;
  position: relative;
  float: left;
  width: 20%;
  min-height: 10px;
  overflow: hidden;
  margin: 0;
  box-shadow: 0px 0px 3px 0px black;
  z-index: 1;
  background-color: white;
}
@media screen and (max-width: 1001px) {
  .debug_screen .debug_selection {
    width: 100%;
  }
}
.debug_screen .debug_selection a:hover {
  text-decoration: none;
}
.debug_screen .debug_selection a li {
  border-bottom: solid 0.5px white;
  padding: 0.5em;
  color: white;
  background-color: orange;
}
.debug_screen .debug_selection a li:hover {
  text-decoration: none;
  cursor: pointer;
  background-color: #d58a00;
}
.debug_screen .debug_selection li {
  padding: 0.5em;
  background-color: white;
  color: black;
}
.debug_screen .debug_area {
  display: block;
  position: relative;
  min-height: 10px;
  overflow: auto;
  max-height: 388px;
  padding: 1em 2em;
}
.debug_screen .debug_area textarea {
  max-width: 100%;
  min-height: 200px;
}
.debug_screen .debug_area textarea:hover {
  background-color: white;
  border: solid 1px black;
}

.overlay {
  content: "";
  display: block;
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  /***************************************
  DISABLE BUTTON
   ***********************************/
  /***************************************
  PACMAN LOADER
   ***********************************/
  /***************************************
  CIRCLE LOADER
   ***********************************/
  /* Safari */
  /***************************************
  TEXT ANIMATION
   ***********************************/
}
.overlay .loadingIndicator {
  z-index: 9999;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform: -webkit-translate(-50%, -50%);
  transform: -moz-translate(-50%, -50%);
  transform: -ms-translate(-50%, -50%);
}
.overlay .disabled {
  cursor: not-allowed;
  background-color: #e5e5e5 !important;
  pointer-events: none;
}
@-webkit-keyframes up {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(-30deg);
  }
}
@-moz-keyframes up {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(-30deg);
  }
}
@-o-keyframes up {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(-30deg);
  }
}
@keyframes up {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(-30deg);
  }
}
@-webkit-keyframes down {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(30deg);
  }
}
@-moz-keyframes down {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(30deg);
  }
}
@-o-keyframes down {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(30deg);
  }
}
@keyframes down {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(30deg);
  }
}
@-webkit-keyframes r-to-l {
  100% {
    margin-left: -1px;
  }
}
@-moz-keyframes r-to-l {
  100% {
    margin-left: -1px;
  }
}
@-o-keyframes r-to-l {
  100% {
    margin-left: -1px;
  }
}
@keyframes r-to-l {
  100% {
    margin-left: -1px;
  }
}
.overlay body .pacman:before, .overlay body .pacman:after {
  content: "";
  position: absolute;
  background: #FFC107;
  width: 100px;
  height: 50px;
  left: 50%;
  top: 50%;
  margin-left: -50px;
  margin-top: -50px;
  border-radius: 50px 50px 0 0;
  -webkit-animation: up 0.4s infinite;
  -moz-animation: up 0.4s infinite;
  -o-animation: up 0.4s infinite;
  animation: up 0.4s infinite;
}
.overlay body .pacman:after {
  margin-top: -1px;
  border-radius: 0 0 50px 50px;
  -webkit-animation: down 0.4s infinite;
  -moz-animation: down 0.4s infinite;
  -o-animation: down 0.4s infinite;
  animation: down 0.4s infinite;
}
.overlay body .dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  margin-left: 30px;
  border-radius: 50%;
  background: #ccc;
  z-index: -1;
  box-shadow: 30px 0 0 #ccc, 60px 0 0 #ccc, 90px 0 0 #ccc, 120px 0 0 #ccc, 150px 0 0 #ccc;
  -webkit-animation: r-to-l 0.4s infinite;
  -moz-animation: r-to-l 0.4s infinite;
  -o-animation: r-to-l 0.4s infinite;
  animation: r-to-l 0.4s infinite;
}
.overlay .circle-loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 120px;
  height: 120px;
  -webkit-animation: spin 2s linear infinite;
  /* Safari */
  animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.overlay .content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 160px;
  overflow: hidden;
  font-family: "Lato", sans-serif;
  font-size: 35px;
  line-height: 40px;
  color: #ffffff;
}
.overlay .content__container {
  font-weight: 600;
  overflow: hidden;
  height: 40px;
  padding: 8px 40px;
}
.overlay .content__container:before {
  content: "[";
  left: 0;
}
.overlay .content__container:after {
  content: "]";
  position: absolute;
  right: 0;
}
.overlay .content__container:after, .overlay .content__container:before {
  position: absolute;
  top: 0;
  color: #009de0;
  font-size: 42px;
  line-height: 40px;
  -webkit-animation-name: opacity;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  animation-name: opacity;
  animation-duration: 2s;
  animation-iteration-count: infinite;
}
.overlay .content__container__text {
  display: inline;
  float: left;
  margin: 0;
}
.overlay .content__container__list {
  margin-top: -8px;
  padding-left: 110px;
  text-align: left;
  list-style: none;
  -webkit-animation-name: change;
  -webkit-animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
  animation-name: change;
  animation-duration: 10s;
  animation-iteration-count: infinite;
}
.overlay .content__container__list__item {
  line-height: 40px;
  margin: 0;
}

@-webkit-keyframes opacity {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-webkit-keyframes change {
  0%, 12.66%, 100% {
    transform: translate3d(0, 0, 0);
  }
  16.66%, 29.32% {
    transform: translate3d(0, -25%, 0);
  }
  33.32%, 45.98% {
    transform: translate3d(0, -50%, 0);
  }
  49.98%, 62.64% {
    transform: translate3d(0, -75%, 0);
  }
  66.64%, 79.3% {
    transform: translate3d(0, -50%, 0);
  }
  83.3%, 95.96% {
    transform: translate3d(0, -25%, 0);
  }
}
@-o-keyframes opacity {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-o-keyframes change {
  0%, 12.66%, 100% {
    transform: translate3d(0, 0, 0);
  }
  16.66%, 29.32% {
    transform: translate3d(0, -25%, 0);
  }
  33.32%, 45.98% {
    transform: translate3d(0, -50%, 0);
  }
  49.98%, 62.64% {
    transform: translate3d(0, -75%, 0);
  }
  66.64%, 79.3% {
    transform: translate3d(0, -50%, 0);
  }
  83.3%, 95.96% {
    transform: translate3d(0, -25%, 0);
  }
}
@-moz-keyframes opacity {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-moz-keyframes change {
  0%, 12.66%, 100% {
    transform: translate3d(0, 0, 0);
  }
  16.66%, 29.32% {
    transform: translate3d(0, -25%, 0);
  }
  33.32%, 45.98% {
    transform: translate3d(0, -50%, 0);
  }
  49.98%, 62.64% {
    transform: translate3d(0, -75%, 0);
  }
  66.64%, 79.3% {
    transform: translate3d(0, -50%, 0);
  }
  83.3%, 95.96% {
    transform: translate3d(0, -25%, 0);
  }
}
@keyframes opacity {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@keyframes change {
  0%, 12.66%, 100% {
    transform: translate3d(0, 0, 0);
  }
  16.66%, 29.32% {
    transform: translate3d(0, -25%, 0);
  }
  33.32%, 45.98% {
    transform: translate3d(0, -50%, 0);
  }
  49.98%, 62.64% {
    transform: translate3d(0, -75%, 0);
  }
  66.64%, 79.3% {
    transform: translate3d(0, -50%, 0);
  }
  83.3%, 95.96% {
    transform: translate3d(0, -25%, 0);
  }
}
/**************************
SPINNER
 **************************/
.spinner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.spinner {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #66cc00;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

.spinner:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #66cc00;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}

.spinner:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #66cc00;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.template_quiz {
  background-color: #ffffff;
}
.template_quiz .container {
  padding: 2em 3em;
}
.template_quiz .container .quiz-labels {
  padding-bottom: 20px !important;
}
.template_quiz .container .question_description {
  color: #232572 !important;
}
.template_quiz .container .question_count {
  font-size: 1rem;
  font-style: italic;
  color: #999;
  margin: 0;
}
.template_quiz .container [type=radio]:checked + label,
.template_quiz .container [type=radio]:not(:checked) + label {
  display: block !important;
}
.template_quiz .container textarea {
  width: 60%;
}
.template_quiz .container .labeltje {
  display: none;
}
