:root {
  --light_grey: #f1efeb;
  --dark_grey: #5f5f5f;
  --text_black: #3f3f3f;
  --border_grey: #c0bfbc;
  --side_category_grey: #969595;
  --active_menu_border_grey: #dfdedd;
  --block_border_top_grey: #e3e3e3;
  --trusted_source_grey: #d9d8d5;
  --menu_border_grey: #f1f1f1;
  --button_grey: #dedcd9;
  --text_grey: #888785;
  --mean_grey: #b5af9e;
  --tweet_grey: #808080;
  --purple: #56328c;
  --button_pink: #eb168b;
  --link_pink: #f49ecf;
  --arrow_pink: #ee5ea1;
  --over_purple_pink: #fe69bc;
  --checkbox_purple: #d6cce3;
  --link_blue: #1dafec;
  --status-online: #28ce13;

  --extra_bold: 800;
  --bold: 700;
  --semi_bold: 600;
  --regular: 400;

  --desktop_width: 75rem;
  --mobile_width: 23.4375rem;
  --mobile_max_width: 20.9375rem;
}

@keyframes slideDown {
  0% {
    max-height: 0;
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    max-height: 62.5rem;
    opacity: 1;
  }
}

.subheader h1,
.one_column--narrow {
  width: 39.0625rem;
  margin: 0 auto;
  /*for absolute positioned h1*/
  left: 0;
  right: 0;
}

@media (min-width: 921px) {
  .subheader h1,
  .one_column--narrow {
    padding: 0 0.625rem;
  }
}

@media (max-width: 920px) {
  .subheader h1,
  .one_column--narrow {
    max-width: 20.9375rem;
  }
}

.one_column--narrow {
  padding-bottom: 3.125rem;
}

.one_column--narrow .rich-text p {
  font-size: 1.3125rem;
  line-height: 1.6;
}

@media (max-width: 920px) {
  .one_column--narrow .rich-text p {
    font-size: 1.0625rem;
  }
}

.one_column--narrow .rich-text b {
  /* phone number */
  background-color: rgba(29, 175, 236, 0.2);
  border-radius: 1.25rem;

  padding: 0.5rem 0.9375rem;
  color: #1dafec;
  font-size: 1.5rem;
  line-height: 2.625rem;
  font-weight: bold;
  margin: 0 0.3125rem;
}

@media (max-width: 920px) {
  .one_column--narrow .rich-text b {
    font-size: 1.0625rem;
  }
}

section.content_width:not(.opening_hours) {
  display: flex;
}

@media (max-width: 920px) {
  section.content_width:not(.opening_hours) {
    flex-flow: row wrap;
  }
}

section.content_width:not(.opening_hours) h4 {
  font-size: 1.375rem;
}

.subscription_form,
.contact_form {
  background-color: #f1efeb;
  padding: 0.9375rem 2.5rem;
  padding-bottom: 3.125rem;
  box-sizing: border-box;
  border-radius: 0.3125rem;
  flex-basis: 36.3125rem;
}

@media (max-width: 920px) {
  .subscription_form,
  .contact_form {
    width: 100%;
    flex-basis: 100%;
    order: 2;
    padding: 0.625rem 1.25rem;
    padding-bottom: 3.125rem;
  }
}

.subscription_form h4,
.contact_form h4 {
  margin-top: 1em;
  margin-bottom: 0.25em;
}

.subscription_form .rich-text,
.contact_form .rich-text {
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-bottom: 1.875rem;
}

.subscription_form form label,
.contact_form form label {
  margin-bottom: 0.625rem;
  color: #3f3f3f;
  font-size: 1.125rem;
}

.subscription_form form .errorlist,
.contact_form form .errorlist {
  color: #eb168b;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
}

.subscription_form form > .fieldWrapper:not(.hidden),
.contact_form form > .fieldWrapper:not(.hidden) {
  margin-bottom: 1.25rem;
}

.subscription_form form .flex,
.contact_form form .flex {
  justify-content: space-between;
  align-items: flex-end;
  padding: 0;
  max-width: 100%;
  flex-flow: row nowrap;
}

.subscription_form form .flex .fieldWrapper,
.contact_form form .flex .fieldWrapper {
  padding: 0;
  flex-shrink: 0;
  margin-bottom: 0;
  margin-right: 0;
}

.subscription_form form .flex .fieldWrapper:first-child,
.contact_form form .flex .fieldWrapper:first-child {
  width: 100%;
  flex-shrink: 1;
}

.subscription_form form .flex .fieldWrapper:first-child input,
.contact_form form .flex .fieldWrapper:first-child input {
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.subscription_form form .flex .fieldWrapper:nth-child(2),
.contact_form form .flex .fieldWrapper:nth-child(2) {
  width: 5.3125rem;
  position: relative;
  overflow: hidden;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-right: 0.0625rem solid #c0bfbc;
}

.subscription_form form .flex .fieldWrapper:nth-child(2) select,
.contact_form form .flex .fieldWrapper:nth-child(2) select {
  position: absolute;
  bottom: 0;
  width: calc(100% + 1.5625rem);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.625rem 0.9375rem;
  padding-right: 0;
  background-image: url("/static/images/arrow_minimal.2589f9f71a6c.svg");
  background-repeat: no-repeat;
  background-position: 3.75rem center;
  background-color: white;
  max-height: 100%;
  box-sizing: border-box;
  font-size: 0.875rem;
}

.subscription_form form .fieldWrapper > :not(script),
.contact_form form .fieldWrapper > :not(script) {
  display: block;
  width: 100%;
}

.subscription_form form select,
.contact_form form select,
.subscription_form form input,
.contact_form form input,
.subscription_form form textarea,
.contact_form form textarea {
  border: 0.0625rem solid #c0bfbc;
  border-radius: 0.1875rem;
  box-sizing: border-box;
  padding: 0.625rem;
  color: #3f3f3f;
}

.subscription_form form input,
.contact_form form input {
  max-height: 2.375rem;
}

.subscription_form form select,
.contact_form form select {
  height: 2.5rem;
  font-size: 1.125rem;
}

.subscription_form form [type='submit'],
.contact_form form [type='submit'] {
  background-color: #eb168b;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  border: none;
  border-radius: 1.25rem;
  padding: 0.4375rem 1.25rem;
  padding-right: 3.125rem;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='10' opacity='0.75' fill='%23FFFFFF'%3E %3Cpath fill-rule='evenodd' d='M8 4.4A23.79 23.79 0 003.79.02a1.02 1.02 0 00-.42 0c-.15.17-.17 0-.42.4V2.8c-.97.06-2.32.47-2.53.8C.18 3.64 0 4 0 4.8c0 .39.18.75.42.8.21.32 1.56.73 2.53.8v2.38c.25.42.27.23.42.4.18.03.39.02.42 0A23.8 23.8 0 008 4.8c-.04.06 0-.07 0-.4z'/%3E %3C/svg%3E");
  background-size: 0.625rem 0.6875rem;
  background-repeat: no-repeat;
  background-position: calc(100% - 0.625rem) center;
}

.subscription_form form textarea,
.contact_form form textarea {
  max-height: 9.375rem;
}

.subscription_form form ul,
.contact_form form ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* HONEYPOT */

.contact_form form > .fieldWrapper:not(.hidden):nth-last-child(2) {
  display: none;
}

.contact_info {
  border: 0.0625rem solid #c0bfbc;
  border-radius: 0.3125rem;
  flex-basis: 30rem;
  box-sizing: border-box;
  position: relative;
  /* do not grow as high as the form */
  flex-grow: 0;
  align-self: flex-start;
  overflow: hidden;
}

@media (max-width: 920px) {
  .contact_info {
    flex-basis: 100%;
    width: 100%;
    order: 1;
    margin-bottom: 1em;
  }
  .contact_info > h4 + p {
    display: none;
  }
}

.contact_info .cjg_address {
  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
  border-bottom: 0.0625rem solid #c0bfbc;
  background-color: white;
  z-index: 1;
  position: relative;
  padding: 0.9375rem 1.5625rem;
}

@media (max-width: 920px) {
  .contact_info .cjg_address {
    padding: 0.9375rem;
    border-bottom: 0;
  }

  .contact_info .cjg_address img {
    max-width: 100%;
  }

  .contact_info .cjg_address > h4:first-child {
    margin-top: 0;
  }

  .contact_info .cjg_address > h4 + p {
    display: none;
  }
}

.contact_info .cjg_address img {
  max-width: 100%;
}

.contact_info .cjg_address .label,
.contact_info .cjg_address h4 {
  font-size: 1.75rem;
  margin-top: 1em;
  margin-bottom: 0.25em;
}

.contact_info .cjg_address .label {
  font-size: 1.3125rem;
  font-weight: bold;
}

.contact_info .cjg_address ul {
  padding-left: 0;
  list-style: none;
  margin: 0;
}

.contact_info .cjg_address span {
  display: block;
}

.contact_info .cjg_address span.phone_number,
.contact_info .cjg_address span.email {
  display: inline-block;
  padding: 0.1875rem 0.9375rem;
  border-radius: 1.25rem;
  font-size: 1.125rem;
  line-height: 2.125rem;
  font-weight: bold;
  margin-bottom: 0.9375rem;
}

.contact_info .cjg_address span.phone_number:before,
.contact_info .cjg_address span.email:before {
  content: '';
  height: 1.1875rem;
  width: 1.1875rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.1875rem auto;
  display: inline-block;
  margin-right: 0.625rem;
  vertical-align: middle;
}

.contact_info .cjg_address span.phone_number {
  background-color: #1dafec;
  color: white;
  font-weight: bold;
}

.contact_info .cjg_address span.phone_number:before {
  background-image: url("/static/images/phone.8f73503fd365.svg");
}

.contact_info .cjg_address span.email {
  background-color: #f1efeb;
}

.contact_info .cjg_address span.email:before {
  background-image: url("/static/images/mail.ada6f7dee9fc.svg");
}

.contact_info .other_addresses {
  background-color: #f1efeb;
  padding: 1.875rem 1.5625rem;
  margin-top: -0.3125rem;
}

@media (max-width: 920px) {
  .contact_info .other_addresses {
    display: none;
  }
}

.contact_info .other_addresses .flex--two {
  padding: 0;
  font-size: 1rem;
}

.contact_info .other_addresses .flex--two > * {
  flex-shrink: 0;
  flex-basis: 45%;
  max-width: 45%;
}

.contact_info .other_addresses .flex--two > *:nth-child(2n + 1) {
  margin-right: 5%;
}

.contact_info .other_addresses .flex--two > * a {
  color: #56328c;
  display: flex;
  line-height: 1.2em;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.contact_info .other_addresses .flex--two > * a:before {
  content: '';
  display: block;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: left center;
  align-self: center;
  height: 0.625rem;
  width: 1em;
  background-image: url("../images/arrow_triangle.2cdc70706cc3.svg");
  flex-shrink: 0;
}

.opening_hours {
  padding-top: 2.5rem;
}

@media (max-width: 920px) {
  .opening_hours > h4 {
    font-size: 1.125rem;
  }
}

.opening_hours .flex--five {
  padding: 0;
  font-size: 1rem;
  flex-direction: row;
}

@media (max-width: 920px) {
  .opening_hours .flex--five {
    flex-flow: row wrap;
  }
}

.opening_hours .flex--five .organisation_opening-hours {
  flex-shrink: 0;
  border: 0.0625rem solid #e3e3e3;
  border-radius: 0;
  margin-right: 0;
  border-right: 0;
  padding: 1.25rem 1.25rem;
  flex-basis: 20%;
  max-width: 20%;
}

@media (max-width: 920px) {
  .opening_hours .flex--five .organisation_opening-hours {
    max-width: 20.9375rem;
    border-radius: 0;
    border: 0.0625rem solid #e3e3e3;
    margin-bottom: 0;
    border-bottom: 0;
    min-width: 100%;
  }

  .opening_hours .flex--five .organisation_opening-hours:first-child {
    border-top-left-radius: 0.1875rem;
    border-top-right-radius: 0.1875rem;
  }

  .opening_hours .flex--five .organisation_opening-hours:last-child {
    border-bottom: 0.0625rem solid #e3e3e3;
    border-bottom-left-radius: 0.1875rem;
    border-bottom-right-radius: 0.1875rem;
  }
}

/* five and more items */

.opening_hours .flex--five .organisation_opening-hours:nth-child(5n + 1) {
  border-top-left-radius: 0.1875rem;
  border-bottom-left-radius: 0.1875rem;
}

.opening_hours .flex--five .organisation_opening-hours:last-child,
.opening_hours .flex--five .organisation_opening-hours:nth-child(5n + 5) {
  border-top-right-radius: 0.1875rem;
  border-bottom-right-radius: 0.1875rem;
  border-right: 0.0625rem solid #e3e3e3;
}

@media (min-width: 921px) and (max-width: 1399px), (min-width: 1400px) {
  /* 3 items */
  .opening_hours
    .flex--five
    .organisation_opening-hours:first-child:nth-last-child(3),
  .opening_hours
    .flex--five
    .organisation_opening-hours:first-child:nth-last-child(3)
    ~ .organisation_opening-hours {
    flex-basis: 33.33333%;
    max-width: 33.33333%;
  }
  /* 4 items */
  .opening_hours
    .flex--five
    .organisation_opening-hours:first-child:nth-last-child(4),
  .opening_hours
    .flex--five
    .organisation_opening-hours:first-child:nth-last-child(4)
    ~ .organisation_opening-hours {
    flex-basis: 25%;
    max-width: 25%;
  }
}

.opening_hours .flex--five .organisation_opening-hours h1,
.opening_hours .flex--five .organisation_opening-hours h2,
.opening_hours .flex--five .organisation_opening-hours h3,
.opening_hours .flex--five .organisation_opening-hours h4,
.opening_hours .flex--five .organisation_opening-hours h5 {
  font-size: 1.125rem;
  margin-top: 0;
  margin-bottom: 0.25em;
  font-weight: bold;
}

.opening_hours .flex--five .organisation_opening-hours a p {
  display: inline;
}

.opening_hours .flex--five .organisation_opening-hours a:before {
  content: '>';
  margin-right: 0.5em;
  display: inline-block;
}

.opening_hours .flex--five .organisation_opening-hours p {
  margin: 0;
}

.opening_hours .flex--five .organisation_opening-hours table {
  margin: 1.5em 0;
  width: 100%;
}

.opening_hours .flex--five .organisation_opening-hours table td:first-child {
  white-space: nowrap;
  padding-right: 0.625rem;
}

.opening_hours .flex--five .organisation_opening-hours table td:last-child {
  text-align: right;
}

.opening_hours .flex--five .organisation_opening-hours .block-text:first-child {
  margin-bottom: 1.5em;
}

.social.flex {
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}

@media (max-width: 920px) {
  .social.flex {
    padding-top: 1.875rem;
  }
}

.social.flex > * {
  padding: 0;
  margin-bottom: 1.25rem;
}

@media (max-width: 920px) {
  .social.flex > * {
    margin-bottom: 0;
  }
}

.social.flex .social_actions {
  margin-right: 2.5rem;
}

@media (max-width: 920px) {
  .social.flex .social_actions {
    margin-right: 0;
  }
}

.social.flex .facebook,
.social.flex .twitter {
  margin: 0 0.3125rem;
  display: inline-block;
  background-color: #f1efeb;
  border-radius: 1.875rem;
  height: 2.8125rem;
  width: 2.8125rem;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: center;
}

.social.flex .facebook {
  background-image: url("/static/images/facebook.94c5f4de4b8e.svg");
}

.social.flex .twitter {
  background-image: url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='UTF-8' standalone='no'?%3E %3Csvg width='20px' height='16px' viewBox='0 0 20 16' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3Cg id='Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cg id='Header' transform='translate(-1128.000000, -38.000000)' fill='%231BA1F1'%3E %3Cg id='Group-2'%3E %3Cg transform='translate(1118.000000, 26.000000)'%3E %3Cg id='Group-5'%3E %3Cpath d='M22.7781361,12.18872 C21.0319612,12.8242717 19.9283786,14.4625826 20.0541032,16.2562505 L20.0960114,16.9482956 L19.3975414,16.8635554 C16.8551107,16.5387179 14.6339762,15.4370951 12.7481072,13.5869336 L11.8261268,12.6689146 L11.588647,13.3468363 C11.0857487,14.8580369 11.4070448,16.4539777 12.4547498,17.5273538 C13.0135258,18.1205353 12.8878012,18.2052756 11.9239126,17.8521913 C11.588647,17.7392044 11.2952896,17.6544641 11.2673508,17.6968342 C11.1695651,17.7956978 11.5048306,19.0809245 11.7702492,19.5893658 C12.1334536,20.2955343 12.8738318,20.9875794 13.684057,21.3971571 L14.3685576,21.7219946 L13.5583324,21.736118 C12.776046,21.736118 12.7481072,21.7502414 12.8319236,22.0468321 C13.1113116,22.9648512 14.2148942,23.9393637 15.4442013,24.3630648 L16.3103041,24.6596556 L15.5559565,25.1116034 C14.4384046,25.7612784 13.125281,26.128486 11.8121574,26.1567328 C11.1835345,26.1708561 10.6666667,26.2273496 10.6666667,26.2697197 C10.6666667,26.4109534 12.3709334,27.2018621 13.3627608,27.5125763 C16.3382429,28.4305953 19.872501,28.0351409 22.5266869,26.4674469 C24.4125559,25.3517007 26.2984248,23.1343316 27.178497,20.9875794 C27.6534566,19.8435865 28.1284162,17.7533277 28.1284162,16.7505685 C28.1284162,16.1008935 28.1703244,16.0161532 28.9526107,15.2393679 C29.4136009,14.7874201 29.8466523,14.2931021 29.9304687,14.1518684 C30.0701627,13.8835244 30.0561933,13.8835244 29.3437539,14.1236217 C28.156355,14.5473228 27.9887222,14.4908293 28.5754369,13.8552777 C29.0084883,13.4033298 29.5253561,12.5841744 29.5253561,12.3440771 C29.5253561,12.301707 29.3158151,12.3723238 29.0783353,12.4994342 C28.8268861,12.6406678 28.2681102,12.8525184 27.8490282,12.9796287 L27.0946806,13.219726 L26.41018,12.7536548 C26.0330062,12.4994342 25.502169,12.2169668 25.222781,12.1322265 C24.5103417,11.9344994 23.4207285,11.9627461 22.7781361,12.18872 L22.7781361,12.18872 Z' id='Shape' style='mix-blend-mode: multiply;'/%3E %3C/g%3E %3C/g%3E %3C/g%3E %3C/g%3E %3C/g%3E %3C/svg%3E");
  background-size: auto 45%;
}

.social.flex .social_text {
  padding: 0.9375rem 0;
}

@media (max-width: 920px) {
  .social.flex .social_text {
    margin-right: 0;
    text-align: center;
    padding-top: 0;
  }
}

.social.flex .social_text > span {
  display: block;
  margin: 0.3125rem 0;
}

.social.flex .social_text > span:nth-child(2) {
  font-size: 1rem;
}

.specify_text {
  visibility: visible;
  display: block;
  max-height: 7.125rem;
  overflow: auto;
  transition:
    max-height 0.1s,
    overflow 0.1s,
    margin 0.1s,
    visibility 0.1s;
}

.specify_text.hidden {
  max-height: 0;
  margin: 0;
}

.specify_text.hidden > input {
  visibility: hidden;
  display: block;
  max-height: 0;
  overflow: hidden;
  padding: 0;
}

.specify_radio {
  padding-left: 1.25rem;
  display: block;
  height: auto;
  max-height: 31.25rem;
  overflow: auto;
  visibility: visible;
  transition:
    max-height 0.5s,
    overflow 0.5s,
    visibility 0.5s;
}

@media (max-width: 920px) {
  .specify_radio {
    padding-left: 0.9375rem;
  }
}

.specify_radio.hidden {
  display: block;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
}

.specify_radio input {
  margin: auto;
}

.subscription_form h3 {
  font-size: 1.375rem;
}

.subscription_form input[type='radio'] {
  margin-right: 0.3125rem;
}

.subscription_form .added {
  animation: 0.5s ease-out 0s 1 slideDown;
}

.subscription_form .add-row-educator,
.subscription_form .add-row-child,
.subscription_form .delete-row-child,
.subscription_form .delete-row-educator {
  display: block;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  margin-top: 0.6rem;
}

.subscription_form .add-row-educator.invisible,
.subscription_form .add-row-child.invisible,
.subscription_form .delete-row-child.invisible,
.subscription_form .delete-row-educator.invisible {
  visibility: hidden;
  height: 0;
}

/* Hide the delete button of the 1st and 2nd parent inline forms */

.subscription_form .formset_row_educator:first-of-type .delete-row-educator,
.subscription_form .formset_row_educator:nth-of-type(2) .delete-row-educator {
  visibility: hidden;
  height: 0;
  margin: 0;
}

.subscription_form .field_label {
  color: #56328c;
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1.875rem;
}

.subscription_form .field_label.educator_counter,
.subscription_form .field_label.child_counter {
  margin-top: 0;
}

.subscription_form .hidden {
  margin: 0;
}

.subscription_form .inlineform input:not([type='radio']) {
  width: 70%;
}

@media (max-width: 920px) {
  .subscription_form .inlineform input:not([type='radio']) {
    width: 100%;
  }
}

.subscription_form .inlineform .inlineform_field_label {
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}

.subscription_form .inlineform .hidden {
  display: none;
}

.subscription_form .formset_row_educator,
.subscription_form .formset_row_child {
  margin-top: 0;
}

.subscription_form .formset_title {
  margin-bottom: 0.5rem;
}

.subscription_form .specify_text:not(.inlineform) {
  margin-top: -0.8rem;
}

.subscription_form span.single_parent {
  color: #1dafec;
  font-weight: 400;
  cursor: pointer;
  display: block;
}

.subscription_form .dynamic-form ~ .dynamic-form {
  margin-top: 1.5em;
}

footer {
  border-top: 0.0625rem solid #e3e3e3;
}
