.row {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto; }

.flex-wrapper {
  display: flex;
  flex-wrap: wrap; }

.flex-item {
  padding-left: 12px;
  padding-right: 12px;
  width: calc(8.33333%); }

.container {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 1024px) {
    .container {
      padding-left: 100px;
      padding-right: 100px; } }

.row {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto; }

.flex-wrapper {
  display: flex;
  flex-wrap: wrap; }

body,
html {
  font-family: helvetica, sans-serif;
  font-weight: 400;
  font-size: 16px; }

h1, h2, h3, h4, h5 {
  font-family: helvetica, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin-top: 0; }
  h1.text-align-center, h2.text-align-center, h3.text-align-center, h4.text-align-center, h5.text-align-center {
    text-align: center; }

p {
  line-height: 1.7;
  color: #000;
  font-size: 13px; }
  p a {
    color: #000;
    transition: all 0.35s; }
    p a:hover, p a:focus {
      color: #FFB100; }
  @media (min-width: 780px) {
    p {
      font-size: 17px; } }

p.text-align-center {
  text-align: center; }

.toolbar-oriented .toolbar-bar {
  z-index: 99999; }

.region-content {
  width: 100%; }

.card {
  overflow: hidden; }

.button--danger {
  color: #ff0000; }

form label.form-required:after {
  content: '*';
  display: inline; }

form .g-recaptcha,
form .form-item {
  margin-bottom: 16px;
  margin-right: 10px; }
  form .g-recaptcha > label,
  form .form-item > label {
    display: block;
    margin-bottom: 5px; }
    form .g-recaptcha > label a,
    form .form-item > label a {
      color: #000; }

form textarea {
  border-color: #e7e7e7;
  width: 100%; }

.webform-type-checkboxes > legend .fieldset-legend {
  color: #000; }

input[type='checkbox'] {
  opacity: 0;
  position: absolute; }
  input[type='checkbox'] + label {
    cursor: pointer;
    margin: 0; }
    input[type='checkbox'] + label:before {
      content: '';
      display: inline-block;
      width: 16px;
      height: 16px;
      min-width: 16px;
      min-height: 16px;
      border: 1px solid #3c3c3c;
      margin-right: 15px;
      background: #fff;
      transform: translateY(4px); }
  input[type='checkbox']:checked + label:before {
    background-image: url("../../assets/checkbox-checked.svg");
    background-size: 11px;
    background-position: center;
    background-repeat: no-repeat; }

.path-user .region-content {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 1024px) {
    .path-user .region-content {
      padding-left: 100px;
      padding-right: 100px; } }
  .path-user .region-content .block-drutheme-content {
    width: 100%;
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto; }

.path-user .user-login-form,
.path-user .user-pass {
  padding-left: 12px;
  padding-right: 12px;
  max-width: 400px; }
  .path-user .user-login-form .form-item label,
  .path-user .user-pass .form-item label {
    display: block;
    margin-bottom: 5px; }
    .path-user .user-login-form .form-item label:after,
    .path-user .user-pass .form-item label:after {
      display: none; }
  .path-user .user-login-form .form-item input,
  .path-user .user-pass .form-item input {
    border: 1px solid #3c3c3c;
    padding: 10px 8px; }
  .path-user .user-login-form .form-item .description,
  .path-user .user-pass .form-item .description {
    color: #c6c6c6;
    font-style: italic;
    padding-top: 4px; }

select.form-control {
  height: 42px !important; }

.form--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end; }

form .form-actions {
  margin-top: 16px;
  margin-bottom: 16px; }

form.confirmation {
  font-size: 0; }
  form.confirmation > * {
    display: none; }
  form.confirmation .form-wrapper {
    display: block;
    font-size: 14px; }

.messages__content {
  padding-left: 12px;
  padding-right: 12px;
  width: calc(100%); }

.messages h2.visually-hidden {
  display: none; }

.modal {
  display: none; }

.pager > ul {
  display: flex;
  justify-content: center; }
  .pager > ul > li {
    display: block;
    background: none;
    padding: 0;
    color: #000;
    text-indent: 0; }
    .pager > ul > li.current {
      color: #0022FF;
      font-size: rem-calc(17);
      transition: all 0.3s;
      padding-left: 0.35rem;
      padding-right: 0.35rem;
      padding-top: 0.1875rem;
      padding-bottom: 0.1875rem;
      font-weight: bold; }
    .pager > ul > li.pager__item--last, .pager > ul > li.pager__item--first {
      display: none; }
    .pager > ul > li.pager__item--next, .pager > ul > li.pager__item--previous {
      display: flex;
      align-items: center;
      justify-content: center; }
      .pager > ul > li.pager__item--next a, .pager > ul > li.pager__item--previous a {
        font-size: 0;
        color: transparent; }
        .pager > ul > li.pager__item--next a:before, .pager > ul > li.pager__item--previous a:before {
          content: "";
          display: block;
          width: 15px;
          height: 15px;
          background: url("../images/icons/pager-icon.svg") no-repeat center center;
          background-size: 8px; }
    .pager > ul > li.pager__item--next {
      transform: rotate(180deg); }
    .pager > ul > li a {
      font-size: rem-calc(17);
      transition: all 0.3s;
      padding-left: 0.35rem;
      padding-right: 0.35rem; }
      .pager > ul > li a:hover, .pager > ul > li a:focus {
        background: none;
        color: #0022FF; }
    .pager > ul > li:before {
      display: none; }
    .pager > ul > li:hover, .pager > ul > li.is-active {
      background: none; }
      .pager > ul > li:hover a, .pager > ul > li.is-active a {
        color: #0022FF;
        font-weight: bold; }

.view-header {
  margin-bottom: 15px; }

table td.is-active {
  background: none; }

.region-header {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px; }
  @media (min-width: 640px) {
    .region-header {
      padding-top: 20px;
      padding-bottom: 20px; } }

.admin-header__row {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.admin-header .hamburger {
  top: 0; }

.admin-header .dropdown-profile {
  padding-top: 0;
  padding-bottom: 0; }

.admin-header__right {
  display: block !important; }

.block-drutheme-site-branding {
  padding-left: 12px;
  padding-right: 12px; }
  @media (min-width: 640px) {
    .block-drutheme-site-branding {
      padding-left: 12px;
      padding-right: 12px;
      width: calc(41.66667%); } }
  @media (min-width: 1024px) {
    .block-drutheme-site-branding {
      padding-left: 12px;
      padding-right: 12px;
      width: calc(25%); } }

ul.menu {
  margin: 0; }
  ul.menu--mobile {
    text-align: center !important; }
    ul.menu--mobile ul.menu {
      margin: 0;
      text-align: center; }
    ul.menu--mobile li a {
      display: inline-block;
      text-decoration: none;
      color: #000;
      padding: 10px 25px; }
      ul.menu--mobile li a.is-active {
        font-weight: bold; }
    ul.menu--mobile li.is-parent {
      position: relative; }
      ul.menu--mobile li.is-parent > ul.menu {
        display: none; }
    ul.menu--mobile .mobile-dropdown-trigger {
      position: absolute;
      right: 0;
      top: 10px;
      display: inline-block;
      width: 20px;
      height: 20px;
      cursor: pointer;
      background: none;
      padding: 0; }
      ul.menu--mobile .mobile-dropdown-trigger:before, ul.menu--mobile .mobile-dropdown-trigger:after {
        content: '';
        display: block;
        background: #000;
        position: absolute; }
      ul.menu--mobile .mobile-dropdown-trigger:before {
        width: 20px;
        height: 2px;
        top: 9px;
        left: 0; }
      ul.menu--mobile .mobile-dropdown-trigger:after {
        width: 2px;
        height: 20px;
        left: 9px;
        top: 0;
        opacity: 1;
        transition: opacity 0.3s; }
      ul.menu--mobile .mobile-dropdown-trigger.active:after {
        opacity: 0; }

.modal--mobile-modal .featherlight-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%; }

ul.menu.menu--desktop {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  justify-content: flex-end;
  margin: 0; }
  ul.menu.menu--desktop a {
    text-decoration: none;
    display: inline-block;
    padding: 10px 20px;
    background: #3c3c3c;
    color: #fff; }
  ul.menu.menu--desktop .menu-item {
    white-space: nowrap;
    position: relative;
    list-style: none;
    padding: 0; }
    ul.menu.menu--desktop .menu-item ul {
      opacity: 0;
      position: absolute;
      top: 100%;
      left: -9999px;
      z-index: 999;
      transition: opacity .3s;
      margin: 0; }
      ul.menu.menu--desktop .menu-item ul .menu-item:hover > ul {
        top: 0;
        left: 100%; }
    ul.menu.menu--desktop .menu-item:hover > ul {
      left: 0;
      opacity: 1;
      z-index: 1000; }

ul.menu.menu--list {
  margin-left: 0;
  list-style: none; }
  ul.menu.menu--list li {
    list-style: none; }
    ul.menu.menu--list li a {
      text-decoration: none;
      color: #000; }

.block-drutheme-main-menu {
  display: none; }
  @media (min-width: 640px) {
    .block-drutheme-main-menu {
      padding-left: 12px;
      padding-right: 12px;
      width: calc(58.33333%);
      display: block; } }
  @media (min-width: 1024px) {
    .block-drutheme-main-menu {
      padding-left: 12px;
      padding-right: 12px;
      width: calc(75%);
      display: block; } }

.region-sidebar ul li.is-parent {
  position: relative; }
  .region-sidebar ul li.is-parent .sidebar-sub-toggle {
    position: absolute !important;
    right: 0;
    top: 0;
    height: 100%;
    background: none !important; }
    .region-sidebar ul li.is-parent .sidebar-sub-toggle:before {
      display: none; }

.sidebar {
  min-height: 100vh; }

.view-reservations .view-filters .form-item-combine {
  width: 100%; }
  .view-reservations .view-filters .form-item-combine input {
    width: auto; }

.node-reservation-edit-form {
  max-width: 500px; }
  .node-reservation-edit-form .field--name-title {
    display: none; }
  .node-reservation-edit-form .field--name-field-date .container-inline {
    display: flex;
    margin: 0 -14px; }
    .node-reservation-edit-form .field--name-field-date .container-inline > div {
      padding: 0 14px; }
    .node-reservation-edit-form .field--name-field-date .container-inline .form-item {
      margin-right: 0; }

.node-merchant-edit-form > .field--type-entity-reference {
  border: 1px solid #c6c6c6;
  margin: 20px 0; }
  .node-merchant-edit-form > .field--type-entity-reference > fieldset {
    margin: 0;
    position: relative; }
    .node-merchant-edit-form > .field--type-entity-reference > fieldset > legend {
      font-size: 18px;
      background: #c6c6c6;
      color: #fff;
      padding: 5px 10px; }
      .node-merchant-edit-form > .field--type-entity-reference > fieldset > legend .fieldset-legend:after {
        display: none; }
    .node-merchant-edit-form > .field--type-entity-reference > fieldset > .fieldset-wrapper {
      padding: 10px; }
      .node-merchant-edit-form > .field--type-entity-reference > fieldset > .fieldset-wrapper > .form-wrapper {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -14px; }

.node-merchant-edit-form .field--type-time-range {
  width: 50%;
  padding: 0 14px; }
  .node-merchant-edit-form .field--type-time-range > fieldset {
    margin: 0; }
    .node-merchant-edit-form .field--type-time-range > fieldset > legend {
      font-size: 14px;
      font-weight: bold; }
    .node-merchant-edit-form .field--type-time-range > fieldset > .fieldset-wrapper {
      display: flex;
      margin: 0 -10px; }
      .node-merchant-edit-form .field--type-time-range > fieldset > .fieldset-wrapper > .form-item {
        width: 50%;
        padding: 0 10px; }

.node-merchant-edit-form .field--type-boolean {
  padding: 0 14px; }

.node-merchant-edit-form .field--name-field-closed {
  position: absolute;
  right: 0;
  top: -40px; }
  .node-merchant-edit-form .field--name-field-closed label {
    color: #fff; }

.node-merchant-edit-form .field--name-field-days-in-advance {
  width: 100%; }
  .node-merchant-edit-form .field--name-field-days-in-advance > .form-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    .node-merchant-edit-form .field--name-field-days-in-advance > .form-item > label {
      width: 100%; }
    .node-merchant-edit-form .field--name-field-days-in-advance > .form-item input {
      width: 65px; }
    .node-merchant-edit-form .field--name-field-days-in-advance > .form-item .field-suffix {
      width: auto;
      padding-left: 5px; }

.node-merchant-edit-form .field--name-field-layout .form-radios {
  display: flex;
  flex-wrap: wrap; }

.node-merchant-edit-form .field--name-field-layout .form-type-radio {
  padding-left: 12px;
  padding-right: 12px;
  width: calc(50%);
  margin: 0 0 30px 0; }
  @media (min-width: 640px) {
    .node-merchant-edit-form .field--name-field-layout .form-type-radio {
      padding-left: 12px;
      padding-right: 12px;
      width: calc(33.33333%); } }
  @media (min-width: 780px) {
    .node-merchant-edit-form .field--name-field-layout .form-type-radio {
      padding-left: 12px;
      padding-right: 12px;
      width: calc(25%); } }
  .node-merchant-edit-form .field--name-field-layout .form-type-radio input {
    display: none; }
  .node-merchant-edit-form .field--name-field-layout .form-type-radio label {
    border: 2px solid #c6c6c6;
    display: flex;
    flex-direction: column;
    text-align: center;
    cursor: pointer; }
  .node-merchant-edit-form .field--name-field-layout .form-type-radio input:checked + label {
    border: 2px solid #0022FF; }
  .node-merchant-edit-form .field--name-field-layout .form-type-radio img {
    width: 100%;
    height: auto; }

.taxonomy-term-special-day-config-form {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -14px; }
  .taxonomy-term-special-day-config-form .field--type-daterange {
    width: 100%;
    padding: 0 14px; }
    .taxonomy-term-special-day-config-form .field--type-daterange > fieldset > .fieldset-wrapper {
      display: flex; }
      .taxonomy-term-special-day-config-form .field--type-daterange > fieldset > .fieldset-wrapper > div:first-of-type {
        margin-right: 15px; }
        .taxonomy-term-special-day-config-form .field--type-daterange > fieldset > .fieldset-wrapper > div:first-of-type:before {
          font-size: 14px;
          font-weight: bold;
          content: 'Datum*';
          display: inline; }
      .taxonomy-term-special-day-config-form .field--type-daterange > fieldset > .fieldset-wrapper > div:last-of-type:before {
        font-size: 14px;
        font-weight: bold;
        content: 'Einddatum (optioneel)';
        display: inline; }
    .taxonomy-term-special-day-config-form .field--type-daterange .form-item h4 {
      font-size: 14px;
      color: #888888;
      font-weight: bold;
      text-transform: none;
      display: none; }
  .taxonomy-term-special-day-config-form .field--type-time-range {
    width: 50%;
    padding: 0 14px; }
    .taxonomy-term-special-day-config-form .field--type-time-range > fieldset {
      margin: 0; }
      .taxonomy-term-special-day-config-form .field--type-time-range > fieldset > legend {
        font-size: 14px;
        font-weight: bold; }
      .taxonomy-term-special-day-config-form .field--type-time-range > fieldset > .fieldset-wrapper {
        display: flex;
        margin: 0 -10px; }
        .taxonomy-term-special-day-config-form .field--type-time-range > fieldset > .fieldset-wrapper > .form-item {
          width: 50%;
          padding: 0 10px;
          margin-right: 0; }
  .taxonomy-term-special-day-config-form .field--type-boolean {
    width: 100%;
    padding: 0 14px; }
  .taxonomy-term-special-day-config-form #edit-relations {
    display: none; }
  .taxonomy-term-special-day-config-form .form-actions {
    width: 100%;
    padding: 0 14px; }
    .taxonomy-term-special-day-config-form .form-actions .button {
      margin-right: 10px; }

.region-footer {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media (min-width: 640px) {
    .region-footer {
      justify-content: space-between; } }
  .region-footer .block {
    padding-left: 12px;
    padding-right: 12px;
    width: calc(100%); }
    @media (min-width: 640px) {
      .region-footer .block {
        padding-left: 12px;
        padding-right: 12px;
        width: calc(50%); } }
