@charset "UTF-8";
:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
}

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

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-bs-original-title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #0d6efd;
  text-decoration: underline;
}
a:hover {
  color: #0a58ca;
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
  direction: ltr /* rtl:ignore */;
  unicode-bidi: bidi-override;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }

}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }

}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }

}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }

}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }

}
.table {
  --bs-table-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
  vertical-align: top;
  border-color: #dee2e6;
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}
.table > :not(:first-child) {
  border-top: 2px solid currentColor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}

.table-active {
  --bs-table-accent-bg: var(--bs-table-active-bg);
  color: var(--bs-table-active-color);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  appearance: none;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: #212529;
  background-color: #fff;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  height: 1.5em;
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #212529;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: #dde0e3;
}
.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #212529;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::-webkit-file-upload-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: #dde0e3;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + 2px);
}
.form-select {
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 3px);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: #e9ecef;
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #212529;
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-input {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(0, 0, 0, 0.25);
  appearance: none;
  color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  opacity: 0.5;
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}
.form-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus {
  z-index: 3;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 3;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.btn {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: #212529;
}
.btn-check:focus+.btn,.btn:focus{outline:0;}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.65;
}

.btn-primary {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-primary:hover {
  color: #fff;
  background-color: #0b5ed7;
  border-color: #0a58ca;
}
.btn-check:focus + .btn-primary, .btn-primary:focus {
  color: #fff;
  background-color: #0b5ed7;
  border-color: #0a58ca;
  box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0a58ca;
  border-color: #0a53be;
}
.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
.btn-primary:disabled, .btn-primary.disabled {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-secondary:hover {
  color: #fff;
  background-color: #5c636a;
  border-color: #565e64;
}

.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #565e64;
  border-color: #51585e;
}
.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
.btn-secondary:disabled, .btn-secondary.disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-success {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-success:hover {
  color: #fff;
  background-color: #157347;
  border-color: #146c43;
}

.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #146c43;
  border-color: #13653f;
}
.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
.btn-success:disabled, .btn-success.disabled {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}

.btn-info {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-info:hover {
  color: #000;
  background-color: #31d2f2;
  border-color: #25cff2;
}
.btn-check:focus + .btn-info, .btn-info:focus {
  color: #000;
  background-color: #31d2f2;
  border-color: #25cff2;
  box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
  color: #000;
  background-color: #3dd5f3;
  border-color: #25cff2;
}
.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
.btn-info:disabled, .btn-info.disabled {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}

.btn-warning {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-warning:hover {
  color: #000;
  background-color: #ffca2c;
  border-color: #ffc720;
}
.btn-check:focus + .btn-warning, .btn-warning:focus {
  color: #000;
  background-color: #ffca2c;
  border-color: #ffc720;
  box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
  color: #000;
  background-color: #ffcd39;
  border-color: #ffc720;
}
.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
.btn-warning:disabled, .btn-warning.disabled {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-danger:hover {
  color: #fff;
  background-color: #bb2d3b;
  border-color: #b02a37;
}
.btn-check:focus + .btn-danger, .btn-danger:focus {
  color: #fff;
  background-color: #bb2d3b;
  border-color: #b02a37;
  box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #b02a37;
  border-color: #a52834;
}
.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
.btn-danger:disabled, .btn-danger.disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-light {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-light:hover {
  color: #000;
  background-color: #f9fafb;
  border-color: #f9fafb;
}
.btn-check:focus + .btn-light, .btn-light:focus {
  color: #000;
  background-color: #f9fafb;
  border-color: #f9fafb;
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
  color: #000;
  background-color: #f9fafb;
  border-color: #f9fafb;
}
.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
.btn-light:disabled, .btn-light.disabled {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-dark {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-dark:hover {
  color: #fff;
  background-color: #1c1f23;
  border-color: #1a1e21;
}
.btn-check:focus + .btn-dark, .btn-dark:focus {
  color: #fff;
  background-color: #1c1f23;
  border-color: #1a1e21;
  box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1a1e21;
  border-color: #191c1f;
}
.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
.btn-dark:disabled, .btn-dark.disabled {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}

.btn-outline-primary {
  color: #0d6efd;
  border-color: #0d6efd;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
.btn-outline-primary:disabled, .btn-outline-primary.disabled {
  color: #0d6efd;
  background-color: transparent;
}

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
  box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
}
.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
}
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-success {
  color: #198754;
  border-color: #198754;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
.btn-outline-success:disabled, .btn-outline-success.disabled {
  color: #198754;
  background-color: transparent;
}

.btn-outline-info {
  color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-outline-info:hover {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
}
.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
}
.btn-outline-info:disabled, .btn-outline-info.disabled {
  color: #0dcaf0;
  background-color: transparent;
}

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}
.btn-outline-warning:hover {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
}
.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
}
.btn-outline-warning:disabled, .btn-outline-warning.disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
.btn-outline-danger:disabled, .btn-outline-danger.disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-outline-light:hover {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
  box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
.btn-outline-light:disabled, .btn-outline-light.disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-dark {
  color: #212529;
  border-color: #212529;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
  box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
.btn-outline-dark:disabled, .btn-outline-dark.disabled {
  color: #212529;
  background-color: transparent;
}

.btn-link {
  font-weight: 400;
  color: #0d6efd;
  text-decoration: underline;
}
.btn-link:hover {
  color: #0a58ca;
}
.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
}

.btn-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  z-index: 1000;
  display: none;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: 0.125rem;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #1e2125;
  background-color: #e9ecef;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #0d6efd;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1rem;
  color: #212529;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: 1rem 1rem;
}

.card-title {
  margin-bottom: 0.5rem;
}

.card-subtitle {
  margin-top: -0.25rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: 1rem;
}

.card-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.25rem;
  opacity: 0.5;
}
.btn-close:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}
.btn-close:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  opacity: 1;
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: 0.25;
}

.btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%);
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1055;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.25rem;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1080;
  display: block;
  margin: 0;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .tooltip-arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: 0;
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: 0;
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

/* rtl:end:ignore */
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: 1px solid #dee2e6 !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: #6c757d !important;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}

/*# sourceMappingURL=bootstrap.self-compiled.5.1.3.css.map */
.p-0 {
	padding: 0 !important;
}

.justify-content-between {
	justify-content: space-between !important;
}

.align-items-center {
	align-items: center !important;
}

.badge
{
	display: inline-block;
	padding: .35em .65em;
	font-size: .75em;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: .25rem;
}

/* Padding end - Used on item pages (possibly other places as well) */
.pe-3 {
	padding-right: 1rem !important;
}

@media (min-width: 576px) {
	.pe-sm-3 {
		padding-right: 1rem !important;
	}
}

@media (min-width: 768px) {
	.pe-md-3 {
		padding-right: 1rem !important;
	}
}

@media (min-width: 992px) {
	.pe-lg-3 {
		padding-right: 1rem !important;
	}
}

@media (min-width: 1200px) {
	.pe-xl-3 {
		padding-right: 1rem !important;
	}
}

@media (min-width: 1400px) {
	.pe-xxl-3 {
		padding-right: 1rem !important;
	}
}

.table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Alerts */
.alert {
	position: relative;
	padding: 1rem 1rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: .25rem;
}

.alert-info {
	color: #055160;
	background-color: #cff4fc;
	border-color: #b6effb;
}

.alert-danger {
	color: #842029;
	background-color: #f8d7da;
	border-color: #f5c2c7;
}

.alert-success {
	color: #0f5132;
	background-color: #d1e7dd;
	border-color: #badbcc;
}
.form-group
{
	/* form-group was replaced by "grid and utilities" but it takes too long to replace everything */
	margin-bottom: 1rem;
}

a
{
	/* BS4 had underlines hidden, but in BS5 they aren't - We want them hidden */
	text-decoration: none;
}
a:hover
{
	/* BS4 had underlines hidden, but in BS5 they aren't - We want them hidden - But obviously we want them on hover */
	text-decoration: underline;
}

.btn:hover
{
	/* Returning to BS4 */
	text-decoration: none;
}

:root
{
	/* Returning to BS4 */
	--bs-gutter-x: 15px;
}
.row
{
	/* Returning to BS4 */
	--bs-gutter-x: 30px;
}
.tooltip
{
	/* This isn't actually a "helper" it just makes more sense to have it here.. I think */
	z-index: 99999999999999999; /* No reason why .tooltip shouldn't always be on top */
}
.hide
{
	display: none !important;
}
input.switch {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: relative;
	height: 20px;
	width: 40px;
	border-radius: 10px;
	box-shadow: inset -20px 0 0 1px rgba(192, 192, 192, 0.5);
	background-color: white;
	border: 1px solid rgba(192, 192, 192, 1);
	outline: none !important;
	transition: 0.2s;
	cursor: pointer;
}

input.switch:checked {
	box-shadow: inset 20px 0 0 1px rgba(33, 150, 243, 0.5);
	border: 1px solid rgba(33, 150, 243, 1);
}

input.switch:disabled
{
	cursor: not-allowed;
	opacity: 0.5;
}

input.switch.switch-2x
{
	height: 30px;
	width: 60px;
	border-radius: 15px;
	box-shadow: inset -30px 0 0 1px rgba(192, 192, 192, 0.5);
}

input.switch.switch-2x:checked
{
	box-shadow: inset 30px 0 0 1px rgba(33, 150, 243, 0.5);
}

input.switch.switch-3x
{
	height: 40px;
	width: 80px;
	border-radius: 20px;
	box-shadow: inset -40px 0 0 1px rgba(192, 192, 192, 0.5);
}

input.switch.switch-3x:checked
{
	box-shadow: inset 40px 0 0 1px rgba(33, 150, 243, 0.5);
}
#image-hover-zoom-container
{
    visibility:         hidden;
    position:           absolute;
    overflow: 	        hidden;
    width:              375px;
    height:             375px;
    border-radius:      25px;
    box-shadow:         0 0 15px rgba(0,0,0,0.5);
    background-color:   #FFFFFF;
    pointer-events:     none;
    z-index:            1000000000000;
}
.dropdown-toggle.no_arrow::after
{
	display: none;
}

.bs-tooltip-top
{
	z-index: 500000000000000000;
}

/** Cards without rounds corners **/
.card.card-no-round-corners
{
	border-radius: initial !important;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6
{
	/*
		Bootstrap has this as 1.2, but too often it cuts off some of the letters, especially 'g'
		https://trello.com/c/46HUWzlw/128-vare-overskrifterne-bliver-ikke-altid-vist-helt
	*/
	line-height: normal;
}

/* Card toggling / card with toggle */
.card-with-toggle > .card-with-toggle-body-container
{
	height: 0;
	overflow: hidden;
	transition: height .5s ease-in-out;
}

.card-with-toggle > .card-with-toggle-button-container
{
	cursor: pointer;
}

.card-with-toggle > .card-with-toggle-button-container .card-with-toggle-icon > *,
.card-with-toggle > .card-with-toggle-button-container .card-with-toggle-extra-icon > *
{
	margin-left: 1rem;
	align-self: center;
	transition:	transform .5s ease-in-out;
}

.card-with-toggle.open > .card-with-toggle-button-container .card-with-toggle-icon > *
{
	transform: rotate(90deg);
}
.card-with-toggle.open > .card-with-toggle-body-container
{
	height: auto;
}

.card-with-toggle.skip-transition > .card-with-toggle-body-container,
.card-with-toggle.skip-transition > .card-with-toggle-button-container .card-with-toggle-icon
{
	transition:	none !important;
}
/* /Card toggling / card with toggle */
/** Basics **/
.breadcrumbs
{
	margin: 0;
	padding: 0 0 15px 0;
	position: relative;
}

.breadcrumbs::after
{
	/* Trying to show the user that they can drag the line to show the rest */
	position: absolute;
	z-index: 2; /* We want the overlay above anything else */
	top: 0;
	right: 0;
	width: 15%;
	height: calc(100% - 15px);
	content: ' ';
	background-image: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,1));
}

.breadcrumbs ul
{
	overflow: auto hidden;
	white-space: nowrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (pointer: fine)
{
	/*
		Desktop browsers should have a thin scrollbar
		and it should only be visible on hover
	*/

	/* Firefox */
	.breadcrumbs ul
	{
		scrollbar-width: thin;
		scrollbar-color: transparent transparent;
		transition: scrollbar-color .25s ease-in-out;
	}
	.breadcrumbs ul:hover
	{
		scrollbar-color: #cdcdcd #f0f0f0;
	}

	/* Chrome + the rest, basically */
	.breadcrumbs ul::-webkit-scrollbar
	{
		height: 8px;
		background-color: transparent;
	}
	.breadcrumbs ul::-webkit-scrollbar-thumb
	{
		background-color: transparent;
	}

	.breadcrumbs ul:hover::-webkit-scrollbar
	{
		background-color: #f0f0f0;
	}

	.breadcrumbs ul:hover::-webkit-scrollbar-thumb
	{
		background-color: #cdcdcd;
	}
}

.breadcrumbs ul li
{
	display: inline-block;
}

.breadcrumbs ul li:last-child
{
	/* So that the last part of the text isn't fully hidden behind the overlay */
	padding-right: 5%;
}

/** Simple **/
@media (hover: none), (pointer: coarse) /* Activate if device has no hover OR has coarse input - Hopefully that should reliably target touchscreens..! */
{
	/* Touchscreens need a little more padding, otherwise the scrollbar is directly on the text */
	.breadcrumbs.simple ul
	{
		padding-bottom: 10px;
	}
}

.breadcrumbs.simple ul li::after
{
	/* Divider */
	content: ' / ';
	white-space: pre;
}

.breadcrumbs.simple ul li:last-child::after
{
	/* No divider on the last */
	content: '';
}

/** Triangle **/
.breadcrumbs.triangle li a, .breadcrumbs.triangle li span
{
	color: white;
	text-decoration: none;
	/*padding: 10px 0 10px 65px; Original*/
	padding: 9px 1px 10px 40px;
	position: relative;
	display: block;
	white-space: nowrap;
}

.breadcrumbs.triangle li a::after, .breadcrumbs.triangle li span::after
{
	content: " ";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	top: 50%;
	left: calc(100% - 1px);
	z-index: 2;
}

.breadcrumbs.triangle li a::before, .breadcrumbs.triangle li span::before
{
	content: " ";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	top: 50%;
	margin-left: 1px;
	left: 100%;
	z-index: 1;
}

.breadcrumbs.triangle li a::after, .breadcrumbs.triangle li span::after,
.breadcrumbs.triangle li a::before, .breadcrumbs.triangle li span::before
{
	/* This controls the "arrows", this setup is suitable for a fontsize of 14px */
	border-left-style: solid;
	border-left-color: transparent; /* If you want, eg. a white separator between the arrows, then you change this to white */
	border-left-width: 30px !important;
	margin-top: -50px;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	clip: rect(30px, auto, 70px, auto);
}

.breadcrumbs.triangle li:nth-last-child(2) a::before, .breadcrumbs.triangle li:nth-last-child(2) span::before
{
	/* 2nd last child should always have a transparent border-left-color */
	border-left-color: transparent;
}

.breadcrumbs.triangle li:first-child a, .breadcrumbs.triangle li:first-child span
{
	padding-left: 10px;
}

.breadcrumbs.triangle li:last-child a,
.breadcrumbs.triangle li:last-child span
{
	background: transparent !important;
	color: black;
	pointer-events: none;
	cursor: default;

}

.breadcrumbs.triangle li:last-child a::after,
.breadcrumbs.triangle li:last-child span::after
{
	border: 0;
}

.breadcrumbs.triangle li:last-child span::before
{
	border-left: 0;
}
[data-page-type="item_category"] .breadcrumbs-outer-container,
[data-page-type="item_category_root"] .breadcrumbs-outer-container
{
	/* Breadcrumbs on the category page shouldn't have the default section bottom-padding */
	padding-bottom: 0;
}

[data-page-type="item_category"][data-breadcrumbs="1"] .item-category-title-outer-container,
[data-page-type="item_category_root"][data-breadcrumbs="1"] .item-category-title-outer-container
{
	/* No padding-top - When breadcrumbs are present */
	padding-top: 0;
}

[data-page-type="item_category"] .item-category-title-outer-container,
[data-page-type="item_category_root"] .item-category-title-outer-container
{
	/* No padding-bottom */
	padding-bottom: 0;
}

[data-page-type="item_category"] .item-category-page-outer-container,
[data-page-type="item_category_root"] .item-category-page-outer-container,
[data-page-type="item_categories_root"] .item-category-page-outer-container
{
	/* No padding top */
	padding-top: 0;
}

.category-box-container-multi-line
{
	/* Wrapper on category pages */
	margin-top: 1rem;

	/* These were the bootstrap defaults and since we're still using .row we also need these here */
	padding-left: 15px;
	padding-right: 15px;
}
.category-box-container-multi-line > .category-box
{
	/* On category pages we want all boxes to have the same height */
	height: 100%;
}
.category-box-container-multi-line > .category-box.text-on-image
{
	/* Except if the text is on the image - In that case they should always have the same height */
	height: auto;
}

/* The categories container */
.categories-container
{
	margin-bottom: 1rem;
}

.categories-container .header-text
{
	font-size: 1.5em;
	color: #2e2e2e;
}

/* Outer container */
.category-box
{
	display: flex;
	flex-direction: column;
	margin-bottom: 15px;
}

.category-box a
{
	outline: none;
}

/* Inner container */
.category-box .category-box-image-box
{
	position: relative;
	overflow: hidden;
	-webkit-transform: rotate(0); /* Hack needed for safari https://trello.com/c/HkHb6TJm/1810-3d-css-%C3%B8nsker-til-design-redigering#comment-6034e79468594e126fdb50a9 and https://trello.com/c/nFxcNs2D/1842-box-shadow-og-border-radis-p%C3%A5-vareliste-sektionen */
}

/* The box */
.category-box .category-box-image-box > div:nth-of-type(1)
{
	width: 100%;
	height: 15rem;
	background-color: #416E5F;
	border: 0;
}

/* The box, if an image is present */
.category-box.with_image .category-box-image-box > div:nth-of-type(1)
{
	background-position: center;
	background-size: cover;
	transition: transform .4s ease-in-out; /* Transition */
}
.category-box.with_image .category-box-image-box > div:nth-of-type(1):hover
{
	transform: scale(1.1);
}

/* Filter on the box */
.category-box.with_image .category-box-image-box.filter > div:nth-of-type(1)
{
	transition: opacity .4s ease-in-out, transform .4s ease-in-out; /* Transition */
	opacity: 0.5;
}
.category-box.with_image .category-box-image-box.filter > div:nth-of-type(1):hover
{
	opacity: 0.8;
}
.category-box.with_image .category-box-image-box.filter .category-box-background-image.lazy-loading-bg
{
	/* Need to force that the image starts at 0 opacity when lazy loading and disable the transition */
	opacity: 0;
	transition: none !important;
}
.category-box.with_image .category-box-image-box.filter .category-box-background-image.lazy-loaded-bg
{
	/* Lazy load needs to use a different animation, one whichs ends at opacity 0.5 instead of 1 */
	animation-name: image-lazy-loaded-animation-05;
}

/* The text */
.category-box .category-box-image-box .text
{
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 100%;
	white-space: normal;
	text-align: center;
	padding: 5px;
	pointer-events: none;
}

/* Info box */
.category-box .category-box-info
{
	flex-grow: 1;
	padding: 25px;

	color: black;
	background-color: #F9F9F9;

	border-top-color: #ED1A3B;
	border-top-width: 2px;
	border-top-style: solid;
}

/* Title */
.category-box .category-box-info > div:nth-of-type(1)
{
	white-space: normal;
	overflow: hidden;
}

/* The item header in category / item-sorting in category */
.items-in-category-header-container
{
	display: flex;
	align-items: center;
}
.items-in-category-header-container .header-text
{
	font-size: 1.5em;
	color: #2e2e2e;
}


/* Pagination */
.category-item-pagination-container.top
{
	display: flex;
	margin-left: auto;
	white-space: nowrap;
}
.category-item-pagination-container.bottom
{
	margin-top: 15px;
}

.category-item-pagination-container.top .category-item-sorting-dropdown,
.category-item-pagination-container.top .category-item-items-per-page-dropdown
{
	margin-left: 10px;
}

.category-item-pagination-container .pagination-area .page-numbers
{
	display: inline-block;
	vertical-align: middle;
	/* Matching BS form-select */
	padding: .375rem .75rem .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	border: 1px solid #ced4da;
	border-radius: .25rem;

	transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.category-item-pagination-container .pagination-area .page-numbers:hover
{
	background-color: #ddd;
	border-color: #ddd;
	text-decoration: none;
}

.category-item-pagination-container .pagination-area .page-numbers.disabled
{
	cursor: not-allowed;
	opacity: 0.5;
}

.category-item-pagination-container .pagination-area .page-numbers .icon
{
	font-size: 0.75em;
}

.category-item-pagination-container .pagination-area .page-numbers.prev .icon
{
	margin-right: 10px;
}

.category-item-pagination-container .pagination-area .page-numbers.next .icon
{
	margin-left: 10px;
}

@media screen and (max-width: 991.98px)
{
	.items-in-category-header-container
	{
		/* Forcing the "Varer" text on its own line */
		display: block;
	}
}

@media screen and (max-width: 767.98px)
{
	.category-item-pagination-container.top
	{
		/* Text should be aligned right when the above happens, looks better */
		text-align: right;

		/* Forcing the select on its own line */
		display: block;
	}

	.category-item-pagination-container.top .pagination-area
	{
		padding-bottom: 10px;
	}

	.category-item-pagination-container.top .category-item-sorting-dropdown,
	.category-item-pagination-container.top .category-item-items-per-page-dropdown
	{
		display: block;
		margin-left: auto;
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 400.98px)
{
	.category-item-pagination-container .pagination-area .page-numbers .text
	{
		/* Hiding the text, there isn't enough space for it */
		display: none;
	}
	.category-item-pagination-container .pagination-area .page-numbers .icon
	{
		padding: 0 !important;
	}
}
.category-filters
{
	border-top: 1px solid rgba(200, 200, 200, 0.5);
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
@media screen and (max-width: 991.98px)
{
	.category-filters.wrapping
	{
		flex-direction: column;
	}
}

/* https://trello.com/c/0mpgL2fe/4657-skjul-filtre-p%C3%A5-sm%C3%A5-sk%C3%A6rme */
.category-filters .filters-show-button
{
	/* Hidden by default */
	display: none;
}
@media screen and (max-width: 767.98px)
{
	.category-filters:has(.filters-show-button)
	{
		justify-content: center;
		flex-direction: row;
	}
	.category-filters:has(.filters-show-button) .filter
	{
		display: none;
	}
	.category-filters .filters-show-button
	{
		display: flex;
		align-items: center;
		margin-top: 1rem;
		padding: .375rem .75rem .375rem .75rem;
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.5;
		color: #495057;
		background-color: #fff;
		border: 1px solid #ced4da;
		border-radius: .25rem;
		transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
		cursor: pointer;
	}
	.category-filters .filters-show-button:hover
	{
		background-color: #ddd;
		border-color: #ddd;
		text-decoration: none;
	}
}

.category-filters .filter
{
	position: relative;
	text-align: center;
}

.category-filters .filter .title
{
	font-weight: bold;
	padding: 0.8rem 1.5rem;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;

	transition: background-color .15s ease-in-out, color .15s ease-in-out;
}

.category-filters .filter.open .title,
.category-filters .filter .title:hover
{
	background-color: #9e9e9e;
	color: #FFFFFF;
}

.category-filters .filter .filter-value-selected
{
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	background-color: #dedede;
	padding: 0.1rem 0 0.1rem 0.5rem;
	margin: 0.5rem 0.15rem;
	border-radius: 5px;
}
.category-filters .filter .filter-value-selected::after
{
	/* Remove/close "icon" */
	content: "\00d7";
	font-size: 1.2rem;
	padding: 0 0.5rem;
}

.category-filters .filter .select
{
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, 1);
	position: absolute;
	padding: 1.5rem;
	display: none;
	background-color: #FFFFFF;
	z-index: 1; /* Just to be above the others */
	min-width: 250px;
}
.category-filters .filter[data-type="values"] .select,
.category-filters .filter[data-type="values-multi"] .select
{
	min-width: auto;
	white-space: nowrap;
}
.category-filters .filter.open .select
{
	display: block;
}

/* Single/Multi select */
.category-filters .filter .select .options-container
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 1rem;
}
@media screen and (max-width: 767.98px)
{
	.category-filters .filter .select .options-container
	{
		display: grid;
		grid-template-columns: 1fr;
		grid-column-gap: 1rem;
	}
}

.category-filters .filter .select .options-container .option
{
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 0.5rem 0;
}

.category-filters .filter .select .options-container .option .box
{
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	border: 2px solid #000000;
	border-radius: 0.2rem;
	margin-right: 0.25rem;

	transition: background-color .15s ease-in-out;
}
.category-filters .filter[data-type="values"] .select .options-container .option .box
{
	/* Values AKA single select round like radio buttons */
	border-radius: 50%;
}

.category-filters .filter .select .options-container .option:hover .box
{
	opacity: 0.5;
}
.category-filters .filter .select .options-container .option:hover .box,
.category-filters .filter .select .options-container .option.selected .box
{
	background-color: rgb(0, 0, 0);
}
/* /Single/Multi select */

/* Apply button */
.category-filters .filter .select .filter-apply-button-container
{
	margin-top: 1rem;
	text-align: center;
}
/* /Apply button */

/* Arrow */
.category-filters .filter .arrow
{
	background-color: #FFFFFF;
	width: 20px;
	height: 10px;
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	position: absolute;
	top: -9px;
	left: calc(50% - 10px);
}
/* /Arrow */

/* Range select */
.category-filters .filter .select .inputs .dash
{
	margin: 0 1rem;
}

.category-filters .filter .select .inputs
{
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
}

.category-filters .filter .select .type-unit,
.category-filters .filter .select .inputs .category-filter-input-from,
.category-filters .filter .select .inputs .category-filter-input-to
{
	text-align: center;
}
/* /Range select */
.cookie-banner-modal
{
    font-size: 16px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6001; /* Just below css-inline-edit */
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    padding: 0 2.5em;
}

.cookie-banner-modal-inner
{
    --cbm-bcs: rgba(255,255,255,1);
    --cbm-bce: rgba(255,255,255,1);
    max-width: 650px;
    margin: 2.5em auto;
    padding: 2.5em 2.5em 1.5em 2.5em;
    color: #000000;
    box-shadow: 0 0 20px #000000;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--cbm-bcs) 0%, var(--cbm-bce) 100%);
}

/* Top text */
.cookie-banner-modal .cookie-text-container
{
    padding-bottom: 1.5em;
}

.cookie-banner-modal .cookie-text
{
    word-break: break-word;
}

.cookie-banner-modal a,
.cookie-banner-modal a:hover
{
    color: inherit;
    text-decoration: underline;
}

/* Settings/toggles/checkboxes */
.cookie-banner-modal .cookie-settings-container
{
    display: flex;
    flex-direction: column;
    padding: 0 0 1.5em 1.5em;
}

.cookie-banner-modal .cookie-settings-container .cookie-settings-toggle
{
    margin-bottom: 1.5em;
    display: flex;
    align-items: center;
}
.cookie-banner-modal .cookie-settings-container .cookie-settings-toggle input[type="checkbox"]
{
    width: 25px;
    height: 25px;
    border-radius: 50%;
    margin-right: 25px;
    border: 1px solid #000000;
    background-color: transparent;
    cursor: pointer;
}
.cookie-banner-modal .cookie-settings-container .cookie-settings-toggle input[type="checkbox"]:focus
{
    /* Getting rid of the outline/box-shadow when it has focus */
    box-shadow: none;
}
.cookie-banner-modal .cookie-settings-container .cookie-settings-toggle input[type="checkbox"]:checked
{
    background-color: #90b974;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.cookie-banner-modal .cookie-settings-container .cookie-show-details-button
{
    display: inline-block;
    font-weight: bold;
    cursor: pointer;
}

.cookie-banner-modal .cookie-settings-container .cookie-show-details-button .icon
{
    margin-left: 1px;
}

/* Accept/reject buttons */
.cookie-banner-modal .cookie-buttons
{
    display: flex;
    flex-direction: column;
}

.cookie-banner-modal .cookie-buttons button
{
    display: inline-block;
    text-align: center;
    border: none;
    border-radius: 10px;
    line-height: normal;
    padding: 1em 2em;
    font-size: 1.4em;
    box-shadow: 0 0 5px rgba(0,0,0,0.25);
    color: #FFFFFF;
    transition: color .5s, background-color .5s;
    margin-bottom: 1em;
}
.cookie-banner-modal .cookie-buttons .accept-cookies
{
    background-color: #8db671;
}
.cookie-banner-modal .cookie-buttons .accept-cookies:hover
{
    background-color: #74b73f;
}
.cookie-banner-modal .cookie-buttons .accept-limited-cookies
{
    background-color: #a4a4a4;
}
.cookie-banner-modal .cookie-buttons .accept-limited-cookies:hover
{
    background-color: #8a8a8a;
}

/* Responsive */
@media screen and (max-width: 767.98px)
{
    .cookie-banner-modal-inner
    {
        /* Less padding on the sides */
        padding-left: 1.5em;
        padding-right: 1.5em;
    }
}
body.cookie-modal-open
{
	overflow: hidden;
}

/* Backdrops */
.cookie-modal-backdrop,
.cookie-settings-modal-backdrop
{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	z-index: 6001; /* Just below css-inline-edit */
}

/* Banner */
.cookie-banner
{
	position: fixed;
	bottom: 0;
	text-align: left;
	z-index: 6001; /* Just below css-inline-edit */
	width: 100%;
	padding: 0.5em 0;
	background-color: #FFFFFF;
	color: #000000;
	border-top: 1px solid #000000;
}

.cookie-banner .cookie-text
{
	max-height: 30vh;
	overflow: auto;
	word-break: break-word;
}

.cookie-banner a,
.cookie-banner a:hover
{
	color: inherit;
	text-decoration: underline;
}

.cookie-banner .cookie-buttons button
{
	display: inline-block;
	text-align: center;
	border-width: 1px;
	border-style: solid;
	border-radius: 0;
	line-height: normal;
	padding: 0.5em 1em;
	font-size: 1.25em;
	text-transform: uppercase;
}

.cookie-banner .cookie-buttons .settings-cookies
{
	margin-right: 1.5em;
}

.cookie-banner .cookie-buttons .reject-cookies
{
	margin-right: 1em;
}

@media screen and (max-width: 767.98px)
{
	.cookie-banner .container
	{
		max-width: 100%;
	}

	.cookie-banner .cookie-buttons
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}

	.cookie-banner .cookie-buttons .reject-cookies
	{
		order: 0;
		width: 48%;
	}

	.cookie-banner .cookie-buttons .accept-cookies
	{
		order: 1;
		width: 48%;
	}

	.cookie-banner .cookie-buttons .settings-cookies
	{
		order: 3;
		min-width: 48%;
	}

	.cookie-banner .cookie-buttons button
	{
		margin: 0.5em 0 0 0 !important;
		font-size: 1.1em;
	}
}

@media screen and (max-width: 575.98px)
{
	.cookie-banner
	{
		font-size: 14px;
	}
}

/* Settings modal */
.cookie-settings-modal
{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999999999999999999999999999999999999; /* Above literally everything else */
	overflow-y: scroll;
	width: 100%;
	height: 100%;
	padding: 0 2.5em;
}

.cookie-settings-modal-inner
{
	max-width: 600px;
	margin: 2.5em auto;
	padding: 2.5em;
	background-color: #FFFFFF;
	color: #000000;
}

.cookie-settings-modal .header
{
	font-size: 1.5em;
	font-weight: bold;
	padding-bottom: 2em;
}

.cookie-settings-modal .cookie-type-container
{
	margin-bottom: 1em;
}

.cookie-settings-modal .cookie-type-container .title-line
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.5em;
}

.cookie-settings-modal .cookie-type-container .title-line .title
{
	font-size: 1.25em;
	font-weight: bold;
}

.cookie-settings-modal .cookie-type-container .title-line input[disabled]
{
	opacity: 0.5;
}

.cookie-settings-modal .cookie-buttons
{
	display: flex;
	justify-content: space-between;
	margin-top: 2em;
}
.cookie-settings-modal .cookie-buttons button
{
	display: inline-block;
	text-align: center;
	border-width: 1px;
	border-style: solid;
	border-radius: 0;
	line-height: normal;
	padding: 1em 2em;
	font-size: 1.25em;
	text-transform: uppercase;
}

@media screen and (max-width: 575.98px)
{
	.cookie-settings-modal
	{
		font-size: 14px;
		padding: 0 0.5em;
	}

	.cookie-settings-modal .cookie-buttons
	{
		display: block;
	}
	.cookie-settings-modal .cookie-buttons button
	{
		width: 100%;
		margin-top: 1em;
		padding: 0.5em 1em;
		font-size: 1.1em;
	}
}
.customer-dashboard-personal-message
{
	border: 1px solid #dee2e6; /* Bootstrap table lookalike */
	padding: 1rem;
	margin-bottom: 1rem;
}
#bottom-logo
{
	max-width: 100%;
}

#container_footer
{
	position: relative;
	background-color: #1E1E1E;
	color: #B4B4B4;
}

#container_footer a
{
	color: #B4298A;
}

#container_footer #container_footer_inner
{
	margin: 0 auto;
	padding: 2rem 0;
}

#container_footer .footer-column
{
	margin-bottom: 2rem;
}

#container_footer .footer-section
{
	margin-bottom: 1rem;
}

#container_footer_inner .title
{
	/* "Headers" in the footer */
	font-weight: bold;
	margin-bottom: 0.75rem;
}
#container_footer_inner .title a
{
	/* "Headers" in the footer */
	color: inherit;
}

#container_footer_inner .category /** A little padding between the categories **/
{
	padding-top: 0.75rem;
}
#container_footer_inner .category:first-of-type
{
	padding-top: 0;
}

/* The 3 selects */
#container_footer .shop-options-footer-select
{
	display: inline-block;
	width: auto;
	margin-bottom: 0.5rem; /* We need this, otherwise it looks weird when they start wrapping */
}

/** Social media icons **/
#social_media_icons_container > a
{
	color: #FFFFFF !important;
	background-color: #ED1A3B;
	border-radius: 50%;
	margin: 0.25rem 0.5rem 0.25rem 0;
	display: inline-block;
	position: relative;
	padding: 1.2em;
}

#social_media_icons_container > a svg
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

/** Newsletter signup **/
#footer-newsletter-email-container > .input-group
{
	max-width: 300px;
}

#footer-newsletter-email-container .newsletter-signup-input,
#footer-newsletter-email-container .newsletter-signup-button
{
	border-radius: 0 !important;
}

/* Payment cards */
#container_footer img.payment-card-icon
{
	border: solid 1px lightgray;
	border-radius: 2px;
	margin: 2px;
}
body.minimal-checkout .footer-column,
body:not(.minimal-checkout) #footer-minimal-container
{
	display: none !important;
}

#footer-minimal-container
{
	text-align: center;
}
body
{
	font-family: "Barlow","Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 14px;
	overflow-y: scroll;
}

h1
{
	font-size: 3rem;
}

body:not(.tab-user) a
{
	/* Removing outline, unless it's a tab user */
	outline: none;
}

body.tab-user .btn:focus
{
	/*
		When the user is using tab, we always want to show outlines on buttons when they're focused!
		This overwrites the default from Bootstrap
	*/
	outline-style: auto !important;
}

#loading_veil
{
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	max-width: 100%;
	max-height: 100%;
	min-width: 100%;
	min-height: 100%;
	z-index: 2147483640;
	color: #333333;
	transition: all 0.5s;
}

#loading_veil > div
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	text-align: center;
	filter: drop-shadow(0 0 5px #FFFFFF);
}

#loading_veil .text
{
	font-weight: bold;
	font-size: 1.5em;
}

.notice_me_shadow
{
	box-shadow: 0 0 5px 5px rgba(255,0,0,0.75) !important;
}

.vertically-horizontally-center-div
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.horizontally-center-div
{
	position: absolute;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

.vertically-center-div
{
	position: absolute;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

.transition-all
{
	transition: all 0.5s;
}

.self-destructing-message
{
	display: inline-flex;
	align-items: center;

	color: #000000;
	background-color: #FFFFFF;
	padding: 1em 2.5em;
	font-weight: bold;
	font-size: 16px;
	text-transform: uppercase;
	font-family: Verdana, "Helvetica Neue", Helvetica, Arial, sans-serif;

	box-shadow: 0 0 10px 1px rgba(0,0,0,0.4);

	transition: opacity 1.5s;

	pointer-events: none;

	z-index: 2147483647;
	position: fixed !important;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
@media screen and (max-width: 575.98px)
{
	.self-destructing-message
	{
		font-size: 14px;
	}
}

.self-destructing-message .icon
{
	font-size: 1.5em;
	margin-right: 0.35em;
}

.self-destructing-message.destruct
{
	opacity: 0;
}

#elements-fixed-to-top .fixed-elements
{
	position: fixed;
	width: 100%;
	z-index: 10049; /** Just below .modal **/
}
body.modal-open #elements-fixed-to-top .fixed-elements,
body.basket-slide-in-container-visible #elements-fixed-to-top .fixed-elements,
body.cookie-modal-open #elements-fixed-to-top .fixed-elements
{
	z-index: 1050; /* Same as modal backdrop, to appear behind it */
}

#header_warning_div
{
	background-color: #ebccd1;
	min-height: 3rem;
	font-weight: bold;
	text-align: center;
	padding: 1rem 0.5rem 1rem 0.5rem;
	font-size: 1.2rem;
}

.section-in-main-container
{
	padding: 50px 0;
}

.section-in-main-container.no-padding
{
	padding: 0 !important;
}

.page-header.section-in-main-container
{
	/* The page header shouldn't have large padding at the bottom, there's no background difference to separate them, so it doesn't make sense to have a 100px difference between content */
	padding-bottom: 0;
}

.page-header,
.section-in-main-container,
.module-block-placeholder
{
	background-color: #FFFFFF;
}

.notransition
{
	transition: none !important;
}

[data-text-alignment="left"]
{
	text-align: left;
}
[data-text-alignment="center"]
{
	text-align: center;
}
[data-text-alignment="right"]
{
	text-align: right;
}

.color-inherit
{
	color: inherit !important;
}

.element-spin
{
	animation: element-spin 2s infinite linear;
}
@keyframes element-spin
{
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(359deg);
	}
}

input[type="number"].no-arrows
{
	-moz-appearance: textfield; /* Get rid of the arrows - Firefox */
}
input[type="number"].no-arrows::-webkit-outer-spin-button,
input[type="number"].no-arrows::-webkit-inner-spin-button
{
	-webkit-appearance: none;
	margin: 0;
}

.click-to-enlarge-overlay
{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999999999999999999999999999999999999;
	width: 100vw;
	height: 100vh;
	background-color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.click-to-enlarge-overlay .close-icon
{
	position: absolute;
	top: 15px;
	right: 15px;
}

.click-to-enlarge-overlay .loading-icon
{
	position: absolute;
}

.click-to-enlarge-overlay img
{
	width: 100%;
	height: 100%;
	object-fit: scale-down;
}

@layer low-priority{
	/* Must use a layer to achieve low priority, because we want everything to overwrite it */
	button[role="button"]
	{
		/* We almost never want the default button styling, when doing "aria", so we "remove it" here */
		border: none;
		background-color: transparent;
	}
}
/*** Search icon ***/
#frontpage_search_container .search-icon
{
	cursor: pointer;
	font-size: 1.3rem;
}

/*** Basket icon/text ***/
.basket-icon-outer-container
{
	white-space: nowrap;
	align-self: center;
	font-size: 1.3rem;
}

.basket-icon-outer-container > a
{
	color: inherit;
	display: flex;
	align-items: center;
}

.basket-icon-outer-container > a:hover
{
	color: inherit;
	text-decoration: none;
}

.basket-icon-outer-container .basket-amount
{
	margin-right: 0.5rem;
	white-space: nowrap;
	text-align: right;
	max-width: 80px;
}
@media screen and (max-width: 991.98px)
{
	.basket-icon-outer-container .basket-amount
	{
		display: none;
	}
}

.basket-icon-outer-container .basket-amount:empty
{
	display: none;
}

.basket-icon-outer-container .basket-icon-inner-container
{
	position: relative;
}

#basket-container-clone .basket-icon
{
	color: #000;
}

.basket-badge
{
	color: #FFFFFF;
	position: absolute;
	top: -15%;
	right: -20%;
	background-color: #FF0000;
	border: 1px solid #FF0000;
	border-radius: 50%;
	font-size: 0.65em;
	width: 1.3em;
	height: 1.3em;
	line-height: 1.05;
	text-align: center;
}
.basket-badge:empty
{
	display: none;
}

/* Wishlist icon */
.header-wishlist .wishlist-icon
{
	color: #333333;
	font-size: 1.3rem;
}
.header-language-selector
{
	position: relative;
	display: flex;
	cursor: pointer;
	/*align-self: stretch;*/
	margin-top: 0;
	margin-bottom: 0;
	border-left: 1px solid #DDDDDD;
	border-right: 1px solid #DDDDDD;
	border-top: 1px solid transparent;
	padding: 0 0.5rem;
}
.header-language-selector[data-type="text"]:not(.open)
{
	/* Set invisible here */
	border-top-color: transparent !important;
}
.header-language-selector[data-type="text"].open
{
	border-color: #000000;
	background-color: #FFFFFF;
}

.header-language-selector[data-type="flags"]
{
	/* With flags shouldn't have borders */
	border: none;
	/* But more padding! */
	padding: 0 1rem;
}

.header-language-selector .dropdown-indicator
{
	transition: transform 0.25s ease-in-out;
}

.header-language-selector.open .dropdown-indicator
{
	/* Dropdown indicator should point up when it's dropdown menu is open */
	transform: rotate(180deg);
}

.header-language-selector .head
{
	display: flex;
	align-items: center;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.header-language-selector .head .text
{
	padding: 0 0.5rem;
}

.header-language-selector .dropdown
{
	position: absolute;
	display: none;
	z-index: 2000;
	background-color: #FFFFFF;
	border: 1px solid #000000;
	border-top: 0;
	margin-left: calc(-0.5rem - 1px); /* Accounting for border and padding */
}
.header-language-selector.open .dropdown
{
	display: block;
}

.header-language-selector .dropdown .language
{
	text-align: center;
	padding: 1rem 0;
	word-break: break-word;

	transition: background-color 0.25s ease-in-out;
}
.header-language-selector .dropdown .language:hover
{
	background-color: #DDDDDD;
}

.header-language-selector[data-type="flags"] .dropdown
{
	/* When it's the version with flags, we do not want borders */
	border: none;
	/* Instead we want box-shadow */
	box-shadow: 1px 1px 14px rgba(0,0,0,0.2);
	/* And we shouldn't account for border, because there isn't any */
	margin-left: -0.5rem;
	/* And width shouldn't be specific */
	width: auto !important;
	/* And we grow right to left */
	right: 0;
}
.header-language-selector[data-type="flags"] .dropdown .language
{
	/* With flags should have a little more padding */
	padding: 1rem;
}
body #minimal-checkout-back-button-container
{
	display: none;
}

body #minimal-checkout-back-button-container a
{
	color: #777777;
}

body.minimal-checkout #container_header > .container
{
	flex-direction: column;
}

body.minimal-checkout #container_header .navbar-brand
{
	flex: 0 0 auto !important;
	margin: 0;
}

body.minimal-checkout #container_header .navbar-brand.has-image
{
	margin-top: 1rem;
}

body.minimal-checkout #minimal-checkout-back-button-container
{
	display: block;
	text-align: center;
	padding: 5px 0 15px 0;
}

body.minimal-checkout .ss-nav-menu-outer,
body.minimal-checkout #header_icons_container
{
	display: none !important;
}
#container_header
{
	background-color: #FFFFFF;
	position: relative;
}

#header-box-shadow
{
	/* Background is handled by CSS inline design edit */
	width: 100%;
	height: 5px;
	position: absolute;
	bottom: 0;
}

#container_header > .container
{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: nowrap;
}

#header_icons_container
{
	display: flex;
	align-items: center;
	order: 3;
}

#header_icons_container > *
{
	margin-top: 1rem;
	margin-bottom: 1rem;
	margin-left: 1rem;
}
body.mobile-top-menu #header_icons_container > *:first-child
{
	/* When collapsed we don't want any unnecessary padding */
	margin-left: 0;
}

/** Toggle icon **/
#container_header .ss-nav-menu-toggler
{
	color: #333333;
	font-size: 1.3rem;
	display: none;
	padding: .25rem .75rem;
	line-height: 1;
	cursor: pointer;
}

/* Navbar brand */
#container_header .navbar-brand
{
	align-self: center;
	overflow: hidden;
	flex: 1 0 auto;
}
body.mobile-top-menu #container_header .navbar-brand:not(.has-image)
{
	/* We need this to make sure that some of the title is hidden, if it doesn't fit */
	flex: 1 0 0;
	white-space: normal;
}
#container_header .navbar-brand.has-image
{
	overflow: visible !important;
	padding: 0;
	flex: 1 0 0; /* If we don't have this, then the navbar won't shrink, resulting in the buttons getting their own line */
}

/** Navigation menu **/
.ss-nav-menu-outer
{
	display: flex;
	align-content: stretch;
	overflow: hidden;
	transition: height 0.35s;
}

.ss-nav-menu-outer .ss-nav-menu
{
	display: flex;
	align-items: stretch;

	/* Default is to have all text as uppercase */
	text-transform: uppercase;
}

.ss-nav-item
{
	display: flex;
	flex: 1 0 auto;
	align-items: stretch;
}
.ss-nav-item:last-of-type .ss-nav-actions
{
	border-right: none;
}

.ss-nav-actions
{
	/* This is the actions within the "top" navigation items */
	align-items: center;
	display: flex;
	white-space: nowrap;
}

body:not(.mobile-top-menu) .ss-nav-actions
{
	/* Needed to have accent color/border on level 0 */
	display: flex;
	align-items: stretch;
}
body:not(.mobile-top-menu) .ss-nav-actions > a,
body:not(.mobile-top-menu) .ss-nav-actions > div.ss-dropdown-indicator
{
	/* Accent color/border only level 0 and never mobile/collapsed */
	border-top: 8px solid transparent; /* Otherwise the centering will be off */
	border-bottom: 8px solid transparent; /* Otherwise the centering will be off */
	display: flex;
	align-items: center;
}

.ss-nav-actions.ss-dropdown-toggle
{
	cursor: pointer;
}

.ss-nav-actions > *
{
	/* Only level 0 */
	padding: 0.5rem 1.5rem;
}

/**** Link/container colors ****/

/* Level 0 / not mobile top menu */
body:not(.mobile-top-menu) .ss-nav-actions > *
{
	/* Background color of menu "items" (not in dropdown or mobile) */
	background-color: transparent;
}
body:not(.mobile-top-menu) .ss-nav-actions:hover > *,
body:not(.mobile-top-menu) .ss-nav-actions.active > *,
body:not(.mobile-top-menu) .ss-nav-actions.open > *
{
	/* Background color of menu "items" when that menus is hovered/active/open (not in dropdown or mobile) */
	background-color: transparent;
}
body:not(.mobile-top-menu) .ss-nav-actions > a
{
	/* Text color of links on the menu (not in dropdown or mobile) */
	color: #777777;
}
body:not(.mobile-top-menu) .ss-nav-actions > a:hover,
body:not(.mobile-top-menu) .ss-nav-actions.active > a,
body:not(.mobile-top-menu) .ss-nav-actions.open > a
{
	/* Text color of links on the menu when that menu is hovered/active/open (not in dropdown or mobile) */
	color: #88CFB7;
}

body:not(.mobile-top-menu) .ss-nav-actions:hover > a,
body:not(.mobile-top-menu) .ss-nav-actions:hover > div.ss-dropdown-indicator,
body:not(.mobile-top-menu) .ss-nav-actions.active > a,
body:not(.mobile-top-menu) .ss-nav-actions.active > div.ss-dropdown-indicator,
body:not(.mobile-top-menu) .ss-nav-actions.open > a,
body:not(.mobile-top-menu) .ss-nav-actions.open > div.ss-dropdown-indicator
{
	/* Accent color of links on the menu when that menu is hovered/active/open (not in dropdown or mobile) */
	border-bottom-color: #88CFB7;
}

/* Mobile top menu and all levels (but not zero when mobile top menu isn't used, the above takes care of that) */
body.mobile-top-menu .ss-nav-actions a,
.ss-dropdown-item a
{
	/* Text color of all links in dropdown and mobile */
	color: #777777;
}
body.mobile-top-menu .ss-nav-actions a:hover,
body.mobile-top-menu .ss-nav-actions.active a,
body.mobile-top-menu .ss-nav-actions.open a,

body:not(.mobile-top-menu) .ss-dropdown-item.ss-dropdown-toggle:hover a,
body:not(.mobile-top-menu) .ss-dropdown-item.ss-dropdown-toggle.active a,
body:not(.mobile-top-menu) .ss-dropdown-item.ss-dropdown-toggle.open a,

body:not(.mobile-top-menu) .ss-dropdown-menu.open .ss-dropdown-item a,

.ss-dropdown-item a:hover,
.ss-dropdown-item.active a,
.ss-dropdown-item.open a
{
	/* Text color of all links in dropdown and mobile when that menu is hovered/active/open  */
	color: #88CFB7;
}

.ss-dropdown-item
{
	/* Background color of dropdown "items" */
	background-color: #FFFFFF;
}

body.mobile-top-menu .ss-dropdown-toggle.open,
body.mobile-top-menu .ss-dropdown-toggle.active,
body.mobile-top-menu .ss-dropdown-toggle:hover,

body.mobile-top-menu .ss-nav-actions.open,
body.mobile-top-menu .ss-nav-actions.active,
body.mobile-top-menu .ss-nav-actions:hover,

body.mobile-top-menu .ss-nav-item .ss-dropdown-menu-outer.open .ss-dropdown-item,
body.mobile-top-menu .ss-nav-item .ss-dropdown-menu-outer.active .ss-dropdown-item,

.ss-dropdown-item.open,
.ss-dropdown-item.active,
.ss-dropdown-item:hover,

body:not(.mobile-top-menu) .ss-dropdown-menu.open .ss-dropdown-item,
body:not(.mobile-top-menu) .ss-dropdown-menu.active .ss-dropdown-item,
body:not(.mobile-top-menu) .ss-dropdown-menu:hover .ss-dropdown-item
{
	/* Background color of dropdown "items" when that dropdown "item" is hovered/active/open */
	background-color: #F9F9F9;
}

.ss-nav-actions a:hover,
.ss-nav-item a:hover
{
	/* Disabling underline on all links */
	text-decoration: none !important;
}

/* Dropdown */
#ss-dropdown-veil
{
	position: fixed;
	width: 100vw;
	height: 100vh;
	opacity: 0.1;
	background-color: #000;
	z-index: 1999;
	top: 0 !important;
}

.ss-dropdown-menu-outer
{
	display: none;
	opacity: 0;
	position: absolute;
	z-index: 2000;
	min-width: 250px;
	white-space: nowrap;

	transition: opacity 0.5s ease-in-out, box-shadow 0.5s ease-in-out;

	line-height: 1.45; /** Chrome mobile, the background of this element, is shown between the elements inside this container, if line-height isn't 1.45 or 1 ... **/
}
.ss-dropdown-menu-outer.open
{
	opacity: 1;
	box-shadow: 0 0 15px 2px rgba(0,0,0,0.2);
}

.ss-dropdown-item
{
	display: flex;
	color: #000000;
	align-items: center;
	text-decoration: none;
	cursor: pointer;
}
.ss-dropdown-item a
{
	padding: 1rem;
	width: 100%;
	color: inherit;
	white-space: normal;
}
.ss-dropdown-item.ss-dropdown-toggle a
{
	/* When there's a dropdown toggle, a should behave differently */
	padding-right: 0.5rem;
	width: auto;
}
body:not(.mobile-top-menu) .ss-dropdown-toggle.ss-level-1 .ss-dropdown-indicator
{
	min-width: 35px;
	margin-left: auto;
	text-align: right;
	padding-right: 15px;
}

/* Level padding */
.ss-dropdown-item.ss-level-2 a{padding-left: 2rem;}
.ss-dropdown-item.ss-level-3 a{padding-left: 3rem;}
.ss-dropdown-item.ss-level-4 a,
.ss-dropdown-item.ss-level-5 a,
.ss-dropdown-item.ss-level-6 a,
.ss-dropdown-item.ss-level-7 a,
.ss-dropdown-item.ss-level-8 a,
.ss-dropdown-item.ss-level-9 a,
.ss-dropdown-item.ss-level-10 a
{padding-left: 4rem;}

/* Menu */
.ss-dropdown-menu
{
	height: 0;
	overflow: hidden;

	transition: height 0.35s ease-in-out;
}

/* Dropdown indicator */
.ss-dropdown-toggle .ss-dropdown-indicator-icon
{
	font-size: 0.6rem;
	transition: transform 0.5s ease-in-out;
}
body:not(.mobile-top-menu) .ss-nav-actions.ss-dropdown-toggle > *
{
	/* Top menu, get text closer to dropdown icon */
	padding-right: 0.25rem;
}
body:not(.mobile-top-menu) .ss-dropdown-toggle.ss-level-0 .ss-dropdown-indicator .ss-dropdown-indicator-icon
{
	/* More centered */
	top: -2px;
	position: relative;
}
body:not(.mobile-top-menu) .ss-dropdown-toggle.ss-level-0 .ss-dropdown-indicator
{
	padding-left: 0.45rem; /* Get closer to the text */
	padding-right: 1.5rem;
}
.ss-dropdown-toggle.open .ss-dropdown-indicator .ss-dropdown-indicator-icon,
.ss-dropdown-menu-outer .ss-dropdown-toggle.open .ss-dropdown-indicator .ss-dropdown-indicator-icon
{
	/* Dropdown indicator should point up when it's dropdown menu is open */
	transform: rotate(180deg);
}
.ss-dropdown-menu-outer .ss-dropdown-toggle .ss-dropdown-indicator .ss-dropdown-indicator-icon
{
	/* Dropdown indicator in sub menus should point right when not opened */
	transform: rotate(270deg);
}

.ss-dropdown-level-indicator hr
{
	border-color: black;
	margin-right: 5px;
}

/* Responsive */
body.mobile-top-menu #container_header .ss-nav-menu-toggler
{
	display: block;
}
body.mobile-top-menu #container_header > .container
{
	flex-wrap: wrap;
}
body.mobile-top-menu .ss-nav-menu-outer
{
	display: none;
}

body.mobile-top-menu .ss-nav-menu-outer.open
{
	display: block;
	width: 100%;
	overflow: hidden;
	height: 0;
	padding: 0 !important;
}

body.mobile-top-menu .ss-nav-menu-outer.open > .ss-nav-menu
{
	padding: 1rem 0 !important;
}

body.mobile-top-menu .ss-nav-menu
{
	flex-direction: column;
}
body.mobile-top-menu .ss-nav-item
{
	display: block;
}

body.mobile-top-menu .ss-dropdown-menu-outer
{
	display: none;
	border: none;
	position: static;
}
body.mobile-top-menu .ss-dropdown-menu-outer.open
{
	display: block;
	overflow: hidden;
	height: 0;
	transition: height 0.35s;

	box-shadow: none;
}

body.mobile-top-menu .ss-nav-actions
{
	display: flex;
	cursor: pointer;
	padding-left: 0.5rem;
}
body.mobile-top-menu .ss-nav-actions a
{
	padding: 0.5rem 0.7rem 0.5rem 0;
	width: 100%;
}
body.mobile-top-menu .ss-nav-actions.ss-dropdown-toggle a
{
	width: auto;
}
body.mobile-top-menu .ss-dropdown-toggle.ss-level-0 .ss-dropdown-indicator
{
	min-width: 35px;
	margin-left: auto;
	text-align: right;
}

body.mobile-top-menu #container_header .navbar-brand.has-image img
{
	max-width: 100%;
}

body.mobile-top-menu #container_header #header_icons_container
{
	border-left: 0;
	padding-left: 0;
	order: 0;
}

@media screen and (max-width: 576.98px)
{
	/* On very small screens we need more space! (aka less whitespace/padding) */
	body.mobile-top-menu #container_header > .container
	{
		padding-left: 0;
		padding-right: 0;
	}

	body.mobile-top-menu #container_header .navbar-brand
	{
		/* We do not want the text flush */
		padding-left: 5px;
		margin-right: 2px;
	}
	body.mobile-top-menu #container_header .navbar-brand.has-image
	{
		/* I want the image to be flush */
		padding-left: 0;
	}
	body.mobile-top-menu #container_header #header_icons_container
	{
		margin-left: 2px;
		padding-right: 5px;
	}
	body.mobile-top-menu .ss-nav-menu-outer.open > .ss-nav-menu
	{
		padding: 0.5rem 0 !important;
	}
}

/*************************/
/* Menu overlap carousel */
/*************************/
#container_header
{
	transition: background-color 0.5s ease-in-out;
}

#container_header.carousel-overlap-active,
body:not(.mobile-top-menu) #container_header.carousel-overlap-active .ss-nav-actions > *
{
	/* Background when active should be transparent */
	background-color: transparent;
}

#container_header.carousel-overlap-active #header-box-shadow
{
	/* Hiding the box shadow when it's active */
	visibility: hidden;
}

body > #container_header[data-overlap-carousel="1"][data-first-block-is-carousel="1"]
{
	/* The non fixed version */
	position: absolute;
	width: 100%;
	z-index: 1600;
}

/***************************************/
/* fixed-elements slide down animation */
/***************************************/
body[data-top-menu-fixed="fixed-except-on-scroll-down"] #elements-fixed-to-top .fixed-elements.animation-allowed
{
	transition: top 0.3s ease-in-out;
}
.item-page .item-page-badges
{
	width: 100%;
	height: 100%;
	text-align: center;
	position: absolute;
	pointer-events: none; /* If we do not have this, then the transform effect won't occur */
}

.item-page .item-page-badges [data-badge-type]
{
	padding: .3em .5em;
	opacity: .8;
	background-color: #000000;
	color: #FFFFFF;
	align-self: start;
}

.item-page .item-page-badges .badges-top-left,
.item-page .item-page-badges .badges-top-right,
.item-page .item-page-badges .badges-bottom-left,
.item-page .item-page-badges .badges-bottom-right
{
	display: flex;
	position: absolute;
}

.item-page .item-page-badges .badges-top-left
{
	top: 0;
	left: 0;
}
.item-page .item-page-badges .badges-top-right
{
	top: 0;
	/*right: 0.3em; !* Matching padding on #items-main-image-container *!*/
	right: 0;
	flex-direction: row-reverse; /* Top right should grow right to left when horizontally stacked */
}
.item-page .item-page-badges .badges-bottom-left
{
	bottom: 0;
	left: 0;
}
.item-page .item-page-badges .badges-bottom-right
{
	bottom: 0;
	/*right: 0.3em; !* Matching padding on #items-main-image-container *!*/
	right: 0;
}

.item-page .item-page-badges[data-badges-stacking="horizontal"] .badges-top-left > *,
.item-page .item-page-badges[data-badges-stacking="horizontal"] .badges-bottom-left > *
{
	/* A little margin between badges */
	margin-right: 5px;
}

.item-page .item-page-badges[data-badges-stacking="horizontal"] .badges-top-right > *,
.item-page .item-page-badges[data-badges-stacking="horizontal"] .badges-bottom-right > *
{
	/* A little margin between badges */
	margin-left: 5px;
}

.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-top-left,
.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-top-right,
.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-bottom-left,
.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-bottom-right
{
	/* Badges should stack vertically */
	flex-direction: column;
}

.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-top-left > *,
.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-top-right > *
{
	/* A little margin between badges */
	margin-bottom: 5px;
}

.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-bottom-left > *,
.item-page .item-page-badges[data-badges-stacking="vertical"] .badges-bottom-right > *
{
	/* A little margin between badges */
	margin-top: 5px;
}

.item-page-badges[data-badges-stacking="vertical"] .badges-top-left [data-badge-type],
.item-page-badges[data-badges-stacking="vertical"] .badges-bottom-left [data-badge-type]
{
	/* All badges in the same position shouldn't have the same width and they should align to the edge */
	align-self: start;
}

.item-page-badges[data-badges-stacking="vertical"] .badges-top-right [data-badge-type],
.item-page-badges[data-badges-stacking="vertical"] .badges-bottom-right [data-badge-type]
{
	/* All badges in the same position shouldn't have the same width and they should align to the edge */
	align-self: end;
}

@media screen and (max-width: 991.98px)
{
	.item-page .item-page-badges [data-badge-type]
	{
		/* Smaller badges */
		font-size: 0.8rem;
	}
}
body:not([data-on-load-called]) .item-page
{
	/* While onload hasn't been called, visibility should be hidden - Improves CLS */
	visibility: hidden;
}

.item-page .item-main-data
{
	/* Removing the negative margin from .row */
	margin-right: 0 !important;
	margin-left: 0 !important;
}

body[data-page-type="item"][data-breadcrumbs="1"] .breadcrumbs-outer-container
{
	/* Breadcrumbs on the item page shouldn't have the default section bottom-padding */
	padding-bottom: 0;
}

body[data-page-type="item"][data-breadcrumbs="1"] .item-page-outer-container
{
	/* The item-page-outer-container shouldn't have the default section top-padding, when breadcrumbs are present */
	padding-top: 0;
}

.item-page img
{
	/* Images should never be wider than 100% of the page */
	max-width: 100%;
}

/* Images outer container */
.item-page .item-images-outer-container
{
	/* Getting rid of the padding from .row */
	padding-right: 0;
	padding-left: 0;

	/* This is only really for when the image takes up the full length, where we want a little margin between the images and the title of the item, but it doesn't really hurt to always have it */
	margin-bottom: 1rem;
}

.item-page .item-main-info-container
{
	/* Getting rid of the padding from .row */
	padding-right: 0;
	padding-left: 0;
}

/* Title */
.item-page .item-title
{
	font-size: 2.2rem;
	color: #2e2e2e;
	overflow: hidden;
}

/* Variant title */
.item-page .item-variant-title
{
	font-size: 1.5rem;
	color: #2e2e2e;
	overflow: hidden;
}

/* Price */
.item-page .item-price
{
	font-size: 1.5rem;
}

.item-page .item-price-custom
{
	font-size: 1.5rem;
}

.item-page .item-price.before
{
	font-size: 1.2rem;
	font-weight: normal;
	text-decoration: line-through;
	opacity: 0.5;
}
.item-page .item-price.now
{
}

/* Delivery price at item-price */
.item-page .item-main-data .delivery-price-at-item-price
{
	margin: 1em 0 1em 0;
	font-size: 0.7em;
}
.item-page .item-main-data .delivery-price-at-item-price > *
{
	cursor: pointer;
	text-decoration: underline;
}
.item-page .item-main-data .delivery-price-at-item-price > *:hover
{
	text-decoration: none;
}

/* Number */
.item-page .item-number
{
	font-size: 0.75rem;
}

/* Volume discount */
#items-volume-discount-header
{
	font-weight: bold;
	margin-top: 1rem;
}

/* Short description */
.item-page .item-description-short
{
	margin: 1rem 0;
	overflow-y: hidden;
	max-height: 200px;

	transition: height 0.5s;
}

.item-page .item-description-short-read-more-button,
.item-page .item-description-short-read-less-button
{
	display: none;
	margin-bottom: 1rem;
}

.item-page .item-description-short-container.read-more .item-description-short-read-more-button,
.item-page .item-description-short-container.read-less .item-description-short-read-less-button
{
	display: inline-block;
}

.item-page .item-description-short a,
.item-page .item-description-long a
{
	/** By default links should be underlined **/
	text-decoration: underline;
}

/* Info about stock */
#item-stock-info
{
	display: none;
	margin-bottom: 0.5rem;
}

/* stock_info_text */
#item-stock-info-text
{
	margin-bottom: 0.5rem;
}

/* Cannot buy text */
#item-cannot-buy-text
{
	font-weight: bold;
}

/* Weight */
.item-page .item-weight
{
	margin-bottom: 1rem;
}

/* Dimensions */
.item-page .item-dimensions
{
	margin-bottom: 1rem;
}

/* item-vat-text */
.item-page .item-vat-text
{
	margin-bottom: 1rem;
}

/* No image */
#items-no-image
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #808080;
	min-height: 20rem;
}

#items-no-image .text
{
	font-style: italic;
	color: #808080;
	text-align: center;
}

/* Image */
#items-main-image-container
{
	position: relative;
	margin-bottom: 1rem;
	cursor: pointer;
	display: inline-block;
}

#items-main-image
{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Image thumbnails */
#items-thumbnails-container
{
	overflow-y: hidden;
	max-height: 200px;

	transition: height 0.5s;

	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	gap: 0.3em;
}

@media screen and (min-width: 992px)
{
	#items-thumbnails-container
	{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

.lightgallery-image-thumbnail.fit img
{
	/* This should maybe be in lightgallery.css, but I just feel like it belongs here :P */
	/* All thumb images should have the same height and scale to that size */
	height: 75px;
	object-fit: cover;
}

#items-thumbnails-see-more-button,
#items-thumbnails-see-less-button
{
	margin-top: 0.5rem;
	cursor: pointer;
	width: 100%;
	display: none;
}

#items-thumbnails-see-more-button button,
#items-thumbnails-see-less-button button
{
	width: 100%;
}

#item-lightgallery-container.thumbnails-see-more #items-thumbnails-see-more-button,
#item-lightgallery-container.thumbnails-see-less #items-thumbnails-see-less-button
{
	display: inline-block;
}

/* Related items */
.item-page .item-related-items-title
{
	font-size: 1.5rem;
}

/* Often bought with */
.item-page #item-related-items-container + #item-often-bought-with-container
{
	/* When related items AND often bought with are both present, we need a little margin-top */
	margin-top: 2rem;
}
.item-page .item-often-bought-with-title
{
	font-size: 1.5rem;
}

/* "VAT" country-select-link */
.item-page .country-select-link
{
	text-decoration: underline;
}

/* Separators */
.item-main-info-container div.separator
{
	margin: 1rem 0;
	height: 1px;
	background-color: #000000;
}
.item-main-info-container div.separator + div.separator
{
	/* If there are two, or more, separators in a row, hide all but the first */
	display: none;
}

/* Sections within the main data should start with zero padding */
.item-main-info-container .section-in-main-container,
.item-main-info-container .section-in-main-container .container
{
	padding: 0;
}
.item-box .item-box-badges
{
	width: 100%;
	height: 100%;
	text-align: center;
	position: absolute;
	pointer-events: none; /* If we do not have this, then the transform effect won't occur */
	white-space: initial; /* We need to make sure that it does NOT have nowrap - Sometimes it inherits from .module-block .list-body */
}

.item-box .item-box-badges [data-badge-type]
{
	padding: .3em .5em;
	opacity: .8;
	background-color: #000000;
	color: #FFFFFF;
	align-self: start;
}

.item-box .item-box-badges [data-badge-type="buy_button"]
{
	padding: .8em 1.5em;
	background-color: #28A745;
	pointer-events: all; /* If we do not have this, then the button won't be clickable */
}

.item-box .item-box-badges .badges-top-left,
.item-box .item-box-badges .badges-top-right,
.item-box .item-box-badges .badges-bottom-left,
.item-box .item-box-badges .badges-bottom-right
{
	display: flex;
	position: absolute;
}

.item-box .item-box-badges .badges-top-left
{
	top: 0;
	left: 0;
}
.item-box .item-box-badges .badges-top-right
{
	top: 0;
	right: 0;
	flex-direction: row-reverse; /* Top right should grow right to left when horizontally stacked */
}
.item-box .item-box-badges .badges-bottom-left
{
	bottom: 0;
	left: 0;
}
.item-box .item-box-badges .badges-bottom-right
{
	bottom: 0;
	right: 0;
}

.item-box .item-box-badges[data-badges-stacking="horizontal"] .badges-top-left > *,
.item-box .item-box-badges[data-badges-stacking="horizontal"] .badges-bottom-left > *
{
	/* A little margin between badges */
	margin-right: 5px;
}

.item-box .item-box-badges[data-badges-stacking="horizontal"] .badges-top-right > *,
.item-box .item-box-badges[data-badges-stacking="horizontal"] .badges-bottom-right > *
{
	/* A little margin between badges */
	margin-left: 5px;
}

.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-top-left,
.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-top-right,
.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-bottom-left,
.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-bottom-right
{
	/* Badges should stack vertically */
	flex-direction: column;
}

.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-top-left > *,
.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-top-right > *
{
	/* A little margin between badges */
	margin-bottom: 5px;
}

.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-bottom-left > *,
.item-box .item-box-badges[data-badges-stacking="vertical"] .badges-bottom-right > *
{
	/* A little margin between badges */
	margin-top: 5px;
}

.item-box-badges[data-badges-stacking="vertical"] .badges-top-left [data-badge-type],
.item-box-badges[data-badges-stacking="vertical"] .badges-bottom-left [data-badge-type]
{
	/* All badges in the same position shouldn't have the same width and they should align to the edge */
	align-self: start;
}

.item-box-badges[data-badges-stacking="vertical"] .badges-top-right [data-badge-type],
.item-box-badges[data-badges-stacking="vertical"] .badges-bottom-right [data-badge-type]
{
	/* All badges in the same position shouldn't have the same width and they should align to the edge */
	align-self: end;
}

@media screen and (max-width: 991.98px)
{
	.item-box .item-box-badges [data-badge-type]:not([data-badge-type="buy_button"])
	{
		/* Smaller badges, except the buy button */
		font-size: 0.8rem;
	}
}
.item-box-container-multi-line
{
	/* Wrapper on search and category pages */
	margin-top: 1rem;

	/* These were the bootstrap defaults and since we're still using .row we also need these here */
	padding-left: 15px;
	padding-right: 15px;
}
.item-box-container-multi-line > .item-box
{
	/* On search and category pages we want all boxes to have the same height */
	height: 100%;
}

/* Outer container */
.item-box
{
	display: flex;
	flex-direction: column;
	margin-bottom: 15px;
	--item-box-alignment: left;
}

a.item-box
{
	text-decoration: none;
}

/* The image box */
.item-box .item-box-image-box
{
	display: flex;
	justify-content: center;
	position: relative;
	overflow: hidden;
	height: 15rem;
	background-color: #83DDBF;
	-webkit-transform: rotate(0); /* Hack needed for safari https://trello.com/c/HkHb6TJm/1810-3d-css-%C3%B8nsker-til-design-redigering#comment-6034e79468594e126fdb50a9 and https://trello.com/c/nFxcNs2D/1842-box-shadow-og-border-radis-p%C3%A5-vareliste-sektionen */
}
.item-box.with-image .item-box-image-box
{
	display: inherit;
	height: auto;
}

.item-box .item-box-no-public-items
{
	color: #FFFFFF;
	align-self: center;
	justify-content: center;
	text-align: center;
	white-space: normal;
}

/* The actual box */
.item-box .item-box-image-box .item-box-no-image-text,
.item-box .item-box-image-box .item-box-background-image
{
	width: 100%;
	height: 15rem;
	border: 0;
}

/* The actual box, if an image is present */
.item-box.with-image .item-box-image-box .item-box-background-image
{
	background-position: center;
	background-size: cover;
	transition: transform .4s ease-in-out; /* Animation */
	height: 100%;
}
.item-box.with-image[data-images-size="contain"] .item-box-image-box .item-box-background-image
{
	background-size: contain;
	background-repeat: no-repeat;
}
.item-box.with-image .item-box-image-box .item-box-background-image:hover
{
	transform: scale(1.1);
}

/* The text in the box, if no image is present */
.item-box .item-box-image-box .item-box-no-image-text
{
	align-self: center;
	height: auto;
	color: #fff;
	font-style: italic;
	white-space: normal;
	text-align: center;
}

/* Info box */
.item-box .item-box-info
{
	display: flex;
	flex-grow: 1;
	overflow: hidden;
	color: black;
	background-color: #F9F9F9;
	border-top-color: #ED1A3B;
	border-top-width: 2px;
	border-top-style: solid;
}

/* Title and price */
.item-box .item-box-info .item-box-info-title-and-price-container
{
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 15px;
	white-space: normal; /* We want to wrap if need be, it's better than not showing the text */
	max-width: 100%; /* We cannot do fit-text-to-container without this */
	text-align: var(--item-box-alignment);
}

/* Title */
.item-box .item-box-info .item-box-info-title-and-price-container .item-title
{
	font-weight: bold;
	white-space: normal; /* We want to wrap if need be, it's better than not showing the text */
	overflow: hidden;
}

/* Sub title */
.item-box .item-box-info .item-box-info-title-and-price-container .item-sub-title
{
	white-space: normal; /* We want to wrap if need be, it's better than not showing the text */
	overflow: hidden;
}

/* Price */
.item-box .item-box-info .item-box-info-title-and-price-container .item-price
{
	font-size: 0.85rem;
	white-space: normal; /* We want to wrap if need be, it's better than not showing the text */
	overflow: hidden;
}

/* Price before */
.item-box .item-box-info .item-box-info-title-and-price-container .item-price.before
{
	text-decoration: line-through;
}

/* Delivery price at item-price */
.item-box .item-box-info .item-box-info-title-and-price-container .delivery-price-at-item-price
{
	margin: 0.5em 0 0.5em 0;
	font-size: 0.7em;
}
.item-box .item-box-info .item-box-info-title-and-price-container .delivery-price-at-item-price > *
{
	cursor: pointer;
	text-decoration: underline;
}
.item-box .item-box-info .item-box-info-title-and-price-container .delivery-price-at-item-price > *:hover
{
	text-decoration: none;
}

/* Buy container below text/price (below_text) */
.item-box .item-box-info .item-box-info-title-and-price-container .buy-container
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto; /* Always aligned against the bottom */
}
.item-box .item-box-info .item-box-info-title-and-price-container .buy-container input
{
	width: 4ch;
	text-align: center;
}

/* Placeholder for async loading */
.item-box-placeholder
{
	height: 75px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Ratings */
.item-box .item-ratings .stars
{
	display: inline-flex;
	color: #fbcd0b;
}
.item-box .item-ratings .stars .star
{
	margin: 0 1px;
}
.item-box .item-ratings .stars .star:first-of-type
{
	margin-left: 0;
}
.item-box .item-ratings .stars .star:last-of-type
{
	margin-right: 5px;
}
.item-box .item-ratings .number
{
	display: inline-block;
}

/* variant-characteristic-link */
.item-box .variant-characteristic-link-container
{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	font-size: 0.7em;
	justify-content: var(--item-box-alignment);
}

.item-box .variant-characteristic-link-container .variant-characteristic-link
{
	cursor: pointer;
	border: 1px solid #808080;
	padding: 5px;
	overflow: hidden;
}

.item-box .variant-characteristic-link-container .variant-characteristic-link:hover
{
	border-color: #000000;
}
/****** This file has been auto generated from SCSS, do not edit it manually! ******/

.item-subscription-and-item-links-container {
  margin-bottom: 1rem;
}
.item-subscription-and-item-links-container .the-normal-item {
  margin-bottom: 10px;
  /* A little space down to the subscription item */
}
.item-subscription-and-item-links-container > a {
  color: inherit;
  display: flex;
  border: 1px solid gray;
  border-radius: 10px;
  gap: 10px;
  padding: 10px;
  max-width: 400px;
  text-decoration: none;
}
.item-subscription-and-item-links-container > a.selected {
  border-color: black;
  font-weight: bold;
}
.item-subscription-and-item-links-container > a .button {
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid gray;
}
.item-subscription-and-item-links-container > a.selected .button::after {
  content: "";
  position: absolute;
  transform: translate(3px, 3px);
  width: 16px;
  height: 16px;
  background-color: black;
  border-radius: 50%;
}
.item-subscription-and-item-links-container > a .price {
  margin-left: auto;
}
[data-lazy-load-background-image]
{
	/* Required fix (chrome only?) */
	min-width: 1px;
	min-height: 1px;
}

.lazy-loading,
.lazy-loading-bg
{
	/* While loading */
	opacity: 0;
}

.lazy-loaded,
.lazy-loaded-bg
{
	/* Loaded */
	animation: image-lazy-loaded-animation ease-in-out 0.5s;
}

@keyframes image-lazy-loaded-animation
{
	0%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 1;
	}
}
@keyframes image-lazy-loaded-animation-05
{
	0%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 0.5;
	}
}
.customer-create-login-container
{
	padding-top: 10px;
}

.customer-create-login-container .create-login-toggle-button
{
	cursor: pointer;
}


.customer-create-login-container .right-side-buttons
{
	float: right;
}

.customer-create-login-container .create-login-toggle-button
{
	cursor: pointer;
	margin-left: 10px;
}

.customer-create-login-container .help-toggle-button
{
	cursor: pointer;
}

@media screen and (max-width: 450.98px)
{
	.customer-create-login-container .right-side-buttons
	{
		float: none !important;
	}

	.customer-create-login-container .login-button,
	.customer-create-login-container .right-side-buttons > *
	{
		display: block !important;
		width: 100%;
		margin: 15px 0 !important;
	}
}
#modal_current
{
	overflow-y: scroll; /** If we don't force scroll, then the background on the right will most likely look wierd, because of the zebra stripes  **/
}

#modal_current.modal.confirm
{
	z-index: 10051; /** Higher than header warning and a lot of other stuff, should be the highest always, right? - But only if it's the current modal **/
}

.modal
{
	color: #000000; /* Always black */
	z-index: 10050; /** Needs to be the highest! **/
}

.modal-content
{
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.15);
	border-radius: 10px;
	border-width: 6px;
}

.modal-footer .btn
{
	border-radius: 0;
}

/* Prompt input */
#prompt_overlay_input
{
	text-align: center;
}

/* Opening the terms and conditions modal on a shop with backgrounds set to black will mess up the text, because the text is always black */
.modal.terms-and-conditions .section-in-main-container,
.modal.subscription-terms-and-conditions .section-in-main-container
{
	background-color: #FFFFFF !important;
}

.modal.modal-static .modal-dialog
{
	/*
		Not really sure why bootstrap does this grow/ungrow when it should've been closed but we prevented it, but it looks horrible on Chrome, so let's disable it
		Related to "do not close modal on escape if selectpicker is open" - https://trello.com/c/TgNu1UMX/3532-3-%C3%B8nsker-til-modal-undg%C3%A5-at-lukke-ved-tryk-esc
	*/
	transform: none !important;
}
.module-block.text-block .module-block-addon-link-container,
.module-block.category-list .module-block-addon-link-container,
.module-block.item-list .module-block-addon-link-container,
.module-block.usp .module-block-addon-link-container
{
	/* On the text, item list, category list and USP we want a little padding at the top */
	padding-top: 15px;
}

.module-block-addon-link-btn
{
	color: #FFFFFF;
	background-color: #0C5460;
	display: inline-block;
	padding: 10px 25px;
	margin: 5px 2px;
	cursor: pointer;
	border-radius: 25px;
	transition: background-color .15s ease-in-out, color .15s ease-in-out;
}

.module-block a.module-block-addon-link-btn
{
	/* No underline on the links */
	text-decoration: none;
}

.module-block-addon-link-btn:hover
{
	color: #FFFFFF !important; /* Important needed because :hover isn't as "specific" as I hoped it was */
	text-decoration: none !important; /* Important needed because :hover isn't as "specific" as I hoped it was */
	background-color: #7989A8 !important; /* Important needed because :hover isn't as "specific" as I hoped it was */
}
div.background-video-background[data-module-block-type],
div.background-video-background[data-module-block-type] .container
{
	position: relative;
}

div.background-video-background[data-module-block-type] .background-video-foreground
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
}

div.background-video-background[data-module-block-type] .background-video-foreground iframe
{
	width: 100%;
	height: 100%;

	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 1px); /* Using translate3d(-50%, -50%, 1px) works better in firefox than using translate(-50%, -50%) - It has something to do with subpixels */
}
.section-in-main-container[data-module-block-type="blog_author"][data-position="top"]
{
	padding-bottom: 0;
}
.section-in-main-container[data-module-block-type="blog_author"][data-position="bottom"]
{
	padding-top: 0;
}

[data-module-block-type="blog_author"] .blog-author
{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

[data-module-block-type="blog_author"] .blog-author img.blog-author-image
{
	/* Real image */
	border-radius: 15px;
}

[data-module-block-type="blog_author"] .blog-author div.blog-author-image
{
	/* Placeholder */
	display: flex;
	border: 1px solid lightgray;
	border-radius: 15px;
}

[data-module-block-type="blog_author"] .blog-author .blog-author-name
{
	font-weight: bold;
}

[data-module-block-type="blog_author"] .blog-author .blog-author-biography-long
{
	/* We need to force the flex box to wrap */
	width: 100%;
}
.section-in-main-container[data-module-block-type="blog_categories"]
{
	/* No padding, we want it right after the header */
	padding-top: 0;
	padding-bottom: 0;
}

.section-in-main-container[data-module-block-type="blog_categories"] .blog-categories
{
	font-size: 10px;
}
[data-module-block-type="blog_links"] .blog-categories
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 15px;
}

[data-module-block-type="blog_links"] .blog-categories .blog-category
{
	padding: 4px 10px;
	border: solid 1px #cbcbcb;
	border-radius: 6px;
	color: #707070;
	background-color: #F5F5F5;
	cursor: pointer;
}
[data-module-block-type="blog_links"] .blog-categories .blog-category.active,
[data-module-block-type="blog_links"] .blog-categories .blog-category:hover
{
	background-color: #FFF;
}

[data-module-block-type="blog_links"] .blog-link a
{
	font-size: 2rem;
}

/* With images */
[data-module-block-type="blog_links"] .blog-links-with-images
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 2rem;
}

[data-module-block-type="blog_links"] .blog-links-with-images a
{
	color: inherit;
	text-decoration: none;
}

[data-module-block-type="blog_links"] .blog-links-with-images .image
{
	position: relative;
}

[data-module-block-type="blog_links"] .blog-links-with-images .image .blog-categories-on-image
{
	position: absolute;
	top: 5px;
	right: 5px;

	display: flex;
	justify-content: right;
	flex-wrap: wrap;
	gap: 8px;
}
[data-module-block-type="blog_links"] .blog-links-with-images .image .blog-categories-on-image .blog-category-on-image
{
	padding: 4px 10px;
	font-size: 0.4em;
	border: solid 1px #cbcbcb;
	border-radius: 4px;
	color: #707070;
	background-color: #FFF;
}

[data-module-block-type="blog_links"] .blog-links-with-images .image img
{
	width: 100%;
}

[data-module-block-type="blog_links"] .blog-links-with-images .date
{
	font-size: 1rem;
	padding-bottom: 0.5em;
}

[data-module-block-type="blog_links"] .blog-links-with-images .title
{
	padding-top: 8px;
}

/* Blog author */
[data-module-block-type="blog_links"] .blog-links-with-images .blog-author
{
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

[data-module-block-type="blog_links"] .blog-links-with-images .blog-author img.blog-author-image
{
	/* Real image */
	border-radius: 50%;
	width: 32px;
	height: 32px;
}

[data-module-block-type="blog_links"] .blog-links-with-images .blog-author div.blog-author-image
{
	/* Placeholder */
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid lightgray;
	border-radius: 50%;
	width: 32px;
	height: 32px;
}

[data-module-block-type="blog_links"] .blog-links-with-images .blog-author .blog-author-name
{
	font-size: 0.5em;
}

@media screen and (max-width: 991.98px)
{
	[data-module-block-type="blog_links"] .blog-links-with-images
	{
		grid-template-columns: 1fr 1fr !important; /* Needed to overwrite specific - Because we always want this to happen */
	}
}

@media screen and (max-width: 767.98px)
{
	[data-module-block-type="blog_links"] .blog-links-with-images
	{
		grid-gap: 3rem;
	}
}

@media screen and (max-width: 575.98px)
{
	[data-module-block-type="blog_links"] .blog-links-with-images
	{
		grid-template-columns: 1fr !important; /* Needed to overwrite specific - Because we always want this to happen */
		text-align: center;
	}

	[data-module-block-type="blog_links"] .blog-links-with-images .image img
	{
		width: 300px;
	}
}

/* Pagination */
[data-module-block-type="blog_links"] .blog-pagination
{
	margin-top: 20px;
	display: flex;
	gap: 10px;
	justify-content: right;
	align-items: center;
}

[data-module-block-type="blog_links"] .blog-pagination .prev-container,
[data-module-block-type="blog_links"] .blog-pagination .next-container
{
	display: flex;
	align-items: center;
	gap: 5px;
	/* Matching BS form-select */
	padding: .375rem .75rem .375rem .75rem;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	border: 1px solid #ced4da;
	border-radius: .25rem;

	transition: background-color .15s ease-in-out, border-color .15s ease-in-out;

	/* Default is to be disabled */
	cursor: not-allowed;
	opacity: 0.5;
}

[data-module-block-type="blog_links"] .blog-pagination .prev-container.available,
[data-module-block-type="blog_links"] .blog-pagination .next-container.available
{
	cursor: pointer;
	opacity: unset;
}

/* Without images */
[data-module-block-type="blog_links"] .blog-links-without-images .blog-link
{
	padding-bottom: 0.5em;
}

[data-module-block-type="blog_links"] .blog-links-without-images a
{
	display: inline-block;
}

[data-module-block-type="blog_links"] .blog-links-without-images .date
{
	font-size: 0.875em;
}
/** Adding dot shape to the carousel indicators **/
.carousel-indicators.dots
{
	margin-bottom: 0;
	flex-wrap: wrap; /* If there are a lot of carousel images, but not a lot of horizontal space, then the li's will be 10px high but not 10px wide, resulting in something weird */
}

.carousel-indicators.dots li
{
	background-color: #ffffff;
	width: 10px;
	height: 10px;
	margin-bottom: 5px; /* If there are a lot of carousel images, and we do not add margin-bottom, then it's hard to click each dot */
	border-radius: 50%;
	cursor: pointer;
}

.carousel-indicators.dots .active
{
	background-color: #ed1a3b;
}

/** Setting up our special ss carousel caption options **/
.carousel-caption-ss
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	color: #ffffff;
	padding-left: 5px;
	padding-right: 5px;
}

.carousel-caption-ss .carousel-text-clicks-image
{
	cursor: pointer;
}

.module-block.carousel-block.responsive-text .carousel-caption-ss .carousel-caption-ss-text
{
	font-size: 3rem;
}

@media screen and (max-width: 1199.98px)
{
	.module-block.carousel-block.responsive-text .carousel-caption-ss .carousel-caption-ss-text
	{
		font-size: 2.75rem;
	}
}

@media screen and (max-width: 991.98px)
{
	.module-block.carousel-block.responsive-text .carousel-caption-ss .carousel-caption-ss-text
	{
		font-size: 2.5rem;
	}
}

@media screen and (max-width: 767.98px)
{
	.module-block.carousel-block.responsive-text .carousel-caption-ss .carousel-caption-ss-text
	{
		font-size: 2.25rem;
	}
}

@media screen and (max-width: 575.98px)
{
	.module-block.carousel-block.responsive-text .carousel-caption-ss .carousel-caption-ss-text
	{
		font-size: 2rem;
	}
}

.carousel.full-width,
.carousel.full-width .carousel-item
{
	width: 100%;
}

.carousel.full-width .carousel-item img
{
	width: 100%;
	max-height: 450px;
}
.carousel-block[data-full-width-dynamic-height="1"] .carousel.full-width .carousel-item img
{
	max-height: none;
}

.carousel.full-width .carousel-caption-ss
{
	padding-left: 0;
}

.carousel-item
{
	/* Enable hardware acceleration to fix laggy transitions */
	-webkit-transform: rotateZ(360deg);
	transform: rotateZ(360deg);
	/*-webkit-transform: translateZ(0);*/
	/*transform: translateZ(0);*/
}

.carousel-caption-ss-text
{
	display: inline-block;
	visibility: hidden;
	overflow: hidden;

	padding: 0.2em; /* To account for cursive and text-shadow, otherwise they will be cut by the overflow hidden */
	margin: -0.2em; /* To account for cursive and text-shadow, otherwise they will be cut by the overflow hidden */
}

.carousel-caption-ss-text.background-color-set
{
	/* Doesn't look that good when there's no padding */
	padding: 0.1em 0.2em;
	margin: 0;
}

.carousel-caption-ss-text p
{
	margin-bottom: 0;
}

.module-block.carousel-block .carousel-caption-ss .carousel-caption-ss-text a
{
	text-decoration: underline;
}

.carousel-caption-ss-link
{
	visibility: hidden;
	padding-top: 5px;
}

.carousel-caption-ss-link a
{
	display: inline-block;
	background-color: #ed1a3b;
	padding: 10px 25px;
	color: #ffffff;
	border-radius: 25px;
	text-align: center;
	transition: background-color .15s ease-in-out, color .15s ease-in-out;
}

.carousel-caption-ss-link a,
.carousel-caption-ss-link a:focus,
.carousel-caption-ss-link a:hover,
.carousel-caption-ss-link a:visited
{
	text-decoration: none;
}

.carousel-item img[data-type="carousel-standard-width-image"]
{
	max-height: 50vh;
	margin: 0 auto;
}

.carousel-control-prev > .arrow,
.carousel-control-next > .arrow
{
	/* A little shadow on the prev/next arrows so that they're always visible */
	filter: drop-shadow(0 0 3px #000000);
}

@media screen and (max-width: 575.98px)
{
	.carousel.full-width .carousel-caption-ss
	{
		padding-left: 15px;
		padding-right: 15px;
	}

	.module-block.carousel-block
	{
		/* When we get this small, carousels should be allowed to take up all horizontal space */
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
}

/* Tags */
.carousel .tag
{
	color: #FFFFFF;
	position: absolute;
	width: 24px;
	height: 24px;
	cursor: pointer;
	z-index: 11; /* Above any text */
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}

.carousel .tag.set-up .icon
{
	backface-visibility: hidden; /* Improves animation clarity in firefox - At the same time it causes firefox to make some weird readjustments in the continuous animation -_- */
	transform: scale(0);
	animation: carousel-tag-notice-me-animation ease .5s;
	animation-delay: .5s;
	animation-fill-mode: forwards; /* Keeps the final state */
}
@keyframes carousel-tag-notice-me-animation{
	0%
	{
		transform: scale(0);
	}
	50%
	{
		transform: scale(1.5);
	}
	100%
	{
		transform: scale(1);
	}
}
.carousel .tag.set-up.done[data-icon-rotate="1"] .icon
{
	/* Switching to a continuous animation */
	transform: scale(1);
	animation-name: carousel-tag-continuous-animation;
	animation-timing-function: linear;
	animation-delay: unset;
	animation-fill-mode: unset;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	animation-direction: normal;
}
@keyframes carousel-tag-continuous-animation{
	0%
	{
		transform: rotate(0);
	}
	20%
	{
		transform: rotate(180deg);
	}
	40%,
	100%
	{
		transform: rotate(360deg);
	}
}

.carousel-tagging-overlay
{
	position: absolute;
	padding: 15px;
	display: flex;
	align-items: center;
	background-color: #FFFFFF;
	box-shadow: 0 0 15px 2px rgba(0,0,0,0.5);
	max-width: 300px;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
}

.carousel-tagging-overlay .image
{
	padding-right: 15px;
}

.carousel-tagging-overlay .title
{
	font-size: 1.2rem;
}

.carousel-tagging-overlay .price
{
	font-size: 1.5rem;
	font-weight: bold;
	text-align: right;
}
.module-block.column
{
	/* We do not want the default 15px padding that .container adds */
	padding-right: 0;
	padding-left: 0;
}

.module-block.column .column-title::after
{
	/* We don't want the underline on the COLUMN header */
	border-bottom: none !important;
}

.module-block.column .column
{
	text-align: center;
	justify-content: center;
}
.module-block.column .column a
{
	text-decoration: none;
}

.module-block.column .column.has-text .image
{
	/* If the column has text, we add some margin to the image */
	margin-bottom: 1rem;
}
.module-block.column .column .image img
{
	width: 100%;
}

.module-block.column .column .text img
{
	max-width: 100%;
}

/*******************/
/* Columns per row */
/*******************/
.module-block.column .columns-container
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.module-block.column .columns-container .column
{
	/* Standard */
	width: 33.333333%;
	align-items: center;
	padding: 1rem;
}

.module-block.column .columns-container[data-columns-per-row="1"] .column
{
	/* 1 per row */
	width: 100%;
	padding-bottom: 0;
}
.module-block.column .columns-container[data-columns-per-row="1"] .column:nth-child(-n+1)
{
	/* First should have no padding top */
	padding-top: 0;
}

.module-block.column .columns-container[data-columns-per-row="2"] .column
{
	/* 2 per row */
	width: 50%;
	padding-bottom: 0;
}
.module-block.column .columns-container[data-columns-per-row="2"] .column:nth-child(-n+2)
{
	/* First 2 should have no padding top */
	padding-top: 0;
}

.module-block.column .columns-container[data-columns-per-row="3"] .column
{
	/* 3 per row */
	width: 33.333333%;
	padding-bottom: 0;
}
.module-block.column .columns-container[data-columns-per-row="3"] .column:nth-child(-n+3)
{
	/* First 3 should have no padding top */
	padding-top: 0;
}

.module-block.column .columns-container[data-columns-per-row="4"] .column
{
	/* 4 per row */
	width: 25%;
	padding-bottom: 0;
}
.module-block.column .columns-container[data-columns-per-row="4"] .column:nth-child(-n+4)
{
	/* First 4 should have no padding top */
	padding-top: 0;
}

.module-block.column .columns-container[data-columns-per-row="5"] .column
{
	/* 5 per row */
	width: 20%;
	padding-bottom: 0;
}
.module-block.column .columns-container[data-columns-per-row="5"] .column:nth-child(-n+5)
{
	/* First 5 should have no padding top */
	padding-top: 0;
}

.module-block.column .columns-container[data-columns-per-row="6"] .column
{
	/* 6 per row */
	width: 16.66666667%;
	padding-bottom: 0;
}
.module-block.column .columns-container[data-columns-per-row="6"] .column:nth-child(-n+6)
{
	/* First 6 should have no padding top */
	padding-top: 0;
}

.module-block.column .columns-container[data-columns-per-row="auto_fit"]
{
	/* Auto fit */
	justify-content: space-evenly;
	flex-wrap: nowrap;
}
.module-block.column .columns-container[data-columns-per-row="auto_fit"] .column
{
	/* Auto fit */
	width: auto;
}

@media screen and (max-width: 991.98px)
{
	.module-block.column .columns-container .column
	{
		/* Standard */
		width: 50%;
	}
}

@media screen and (max-width: 767.98px)
{
	/* Down here, everything, except auto_fit just has 1 column */
	.module-block.column .columns-container[data-columns-per-row="standard"],
	.module-block.column .columns-container[data-columns-per-row="1"],
	.module-block.column .columns-container[data-columns-per-row="2"],
	.module-block.column .columns-container[data-columns-per-row="3"],
	.module-block.column .columns-container[data-columns-per-row="4"],
	.module-block.column .columns-container[data-columns-per-row="5"],
	.module-block.column .columns-container[data-columns-per-row="6"]
	{
		/* Standard + 1-6 */
		justify-content: normal;
	}

	.module-block.column .columns-container[data-columns-per-row="standard"] .column,
	.module-block.column .columns-container[data-columns-per-row="1"] .column,
	.module-block.column .columns-container[data-columns-per-row="2"] .column,
	.module-block.column .columns-container[data-columns-per-row="3"] .column,
	.module-block.column .columns-container[data-columns-per-row="4"] .column,
	.module-block.column .columns-container[data-columns-per-row="5"] .column,
	.module-block.column .columns-container[data-columns-per-row="6"] .column
	{
		/* Standard + 1-6 */
		width: 100%;
		margin-bottom: 1rem; /* Extra margin, requested by CC */
	}

	.module-block.column .columns-container[data-columns-per-row="standard"] .column:last-of-type,
	.module-block.column .columns-container[data-columns-per-row="1"] .column:last-of-type,
	.module-block.column .columns-container[data-columns-per-row="2"] .column:last-of-type,
	.module-block.column .columns-container[data-columns-per-row="3"] .column:last-of-type,
	.module-block.column .columns-container[data-columns-per-row="4"] .column:last-of-type,
	.module-block.column .columns-container[data-columns-per-row="5"] .column:last-of-type,
	.module-block.column .columns-container[data-columns-per-row="6"] .column:last-of-type
	{
		/* Standard + 1-6 */
		margin-bottom: 0; /* Extra margin, requested by CC, do not add it to the last element */
	}
}

/******************/
/* Image position */
/******************/

/* Left */
.module-block.column .columns-container[data-image-position="left"] .column,
.module-block.column .columns-container[data-image-position="left"] .column > a
{
	display: flex;
	align-items: center;
	text-align: left;
}

.module-block.column .columns-container[data-image-position="left"] .column.has-text .image
{
	/* Column has text and image */
	padding-right: 1rem; /* We add some padding to the image */
	margin-bottom: 0; /* Removed the margin at the bottom, otherwise we can't align the text */
}

/* Right */
.module-block.column .columns-container[data-image-position="right"] .column,
.module-block.column .columns-container[data-image-position="right"] .column > a
{
	display: flex;
	align-items: center;
	text-align: right;
}
.module-block.column .columns-container[data-image-position="right"] .column .image
{
	/* Image should be to the right */
	order: 2;
}

.module-block.column .columns-container[data-image-position="right"] .column.has-text .image
{
	/* Column has text and image */
	padding-left: 1rem; /* We add some padding to the image */
	margin-bottom: 0; /* Removed the margin at the bottom, otherwise we can't align the text */
}

@media screen and (max-width: 991.98px)
{
	.module-block.column .columns-container[data-columns-per-row="auto_fit"]
	{
		/* On smaller screens we want contents to wrap */
		flex-wrap: wrap;
	}
}
div[data-module-block-type="contact-form"] .form-control
{
	border-radius: initial;
}

div[data-module-block-type="contact-form"] .contact-form-outer-container
{
	display: flex;
	width: 100%;
}

div[data-module-block-type="contact-form"] .contact-form-outer-container .contact-form-form-container
{
	/* The form container */
	flex: 1 1 auto;
}

div[data-module-block-type="contact-form"] .contact-form-outer-container .contact-form-map-container
{
	/* The map container */
	margin-left: 2rem;
	width: 50%;
}

div[data-module-block-type="contact-form"] .contact-form-outer-container .contact-form-map-container iframe
{
	/* The iframe with the map */
	border: 0;
	width: 100%;
	height: 330px;
}

@media screen and (max-width: 767.98px)
{
	div[data-module-block-type="contact-form"] .contact-form-outer-container
	{
		display: flex;
		flex-direction: column;
	}

	div[data-module-block-type="contact-form"] .contact-form-outer-container .contact-form-map-container
	{
		/* The map container */
		margin-left: 0;
		margin-top: 3rem;
		width: 100%;
	}
}
[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container
{
	display: flex;
	justify-content: center;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container
{
	display: inline-flex;
	justify-content: center;
	padding: 2em;
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
	background-color: #FFFFFF;

	/* We decide the font and font-size because we want to ensure that it works out of the box */
	font-size: 16px;
	font-family: Arial;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container.has-text .counter-outer-container
{
	width: 50%;
	text-align: right;
	margin-right: 2.5%;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container > div
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container > div:nth-last-of-type(2)
{
	/* Need to use nth-last-of-type because of the semicolon */
	margin-right: 0;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container > div .number
{
	font-weight: bold;
	font-size: 3em;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container .semicolon
{
	font-size: 2em;
	padding-top: 0.7em;
	margin: 0 0.75em;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container .semicolon:last-of-type
{
	/* Last semicolon hidden */
	display: none;
}

[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container.has-text .text-outer-container
{
	width: 50%;
	margin-left: 2.5%;
}

@media screen and (max-width: 1199.98px)
{
	[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container
	{
		font-size: 0.9em;
	}
}

@media screen and (max-width: 991.98px)
{
	[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container.has-text
	{
		flex-direction: column;
		align-items: center;
	}

	[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container.has-text .counter-outer-container
	{
		width: auto;
		margin-right: 0;
		margin-bottom: 1em;
	}

	[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container.has-text .text-outer-container
	{
		width: auto;
		margin-left: 0;
	}
}

@media screen and (max-width: 575.98px)
{
	[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container
	{
		padding: 1em;
	}

	[data-module-block-type="countdown"][data-skin="digital"] .countdown-digital-container .counter-container .semicolon
	{
		font-size: 1.5em;
		margin: 0 0.5em;
	}
}
[data-module-block-type="countdown"][data-skin="simple"] .boxes
{
	display: flex;
	align-items: center;
	justify-content: center;

	/* We decide the font and font-size because we want to ensure that it works out of the box */
	font-size: 14px;
	font-family: Arial;
}

[data-module-block-type="countdown"][data-skin="simple"] .boxes > div
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 2px solid black;
	color: black;
	width: 5.3em;
	height: 5.3em;
	margin-right: 0.7em;
	text-align: center;
}

[data-module-block-type="countdown"][data-skin="simple"] .boxes > div:last-of-type
{
	margin-right: 0;
}

[data-module-block-type="countdown"][data-skin="simple"] .boxes > div .number
{
	font-size: 1.5em;
}
.module-block a
{
	/** By default links should be underlined **/
	text-decoration: underline;
}
.module-block.carousel-block a,
.module-block.item-list a,
.module-block.category-list a
{
	/* Except on these modules */
	text-decoration: none;
}

.module-block p:last-of-type
{
	/* The last paragraph shouldn't have any margin, that margin/padding is already added by the "zebra container" */
	margin-bottom: 0;
}

.module-block h1.module-block-header,
.module-block h1.module-block-header-text,
.module-block h2.module-block-header,
.module-block h2.module-block-header-text
{
	line-height: inherit;
}
.module-block .module-block-header
{
	font-size: 1.5rem;
	font-weight: bold;
}
div[data-module-block-type="faq"] .faq-boxes-container
{
	display: flex;
	flex-direction: column;
	background-color: #f9f9f9;
}

div[data-module-block-type="faq"] .faq-boxes-container .faq-box
{
	border: 1px solid black;
	border-bottom-width: 0;
}
div[data-module-block-type="faq"] .faq-boxes-container .faq-box:last-of-type
{
	border-bottom-width: 1px;
}
div[data-module-block-type="faq"] .faq-boxes-container .faq-box.active
{
	background-color: #FFFFFF;
}

div[data-module-block-type="faq"] .faq-boxes-container .faq-box .faq-box-title-container
{
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 0.5rem 1rem;
}

div[data-module-block-type="faq"] .faq-boxes-container .faq-box .faq-box-title-container .faq-box-title
{
	flex-grow: 1;
	font-weight: bold;
	font-size: 1.2rem;
	overflow: hidden;
}

div[data-module-block-type="faq"] .faq-boxes-container .faq-box .faq-box-title-container .faq-box-arrow
{
	flex-shrink: 1;
	font-size: 0.9rem;
	margin-left: auto;
	padding-left: 0.5rem;
	color: #969696;
}
div[data-module-block-type="faq"] .faq-boxes-container .faq-box .faq-box-title-container .faq-box-arrow > *
{
	transition: transform .3s ease-in-out;
}
div[data-module-block-type="faq"] .faq-boxes-container .faq-box.active .faq-box-title-container .faq-box-arrow > *
{
	transform: rotate(90deg);
}

div[data-module-block-type="faq"] .faq-boxes-container .faq-box .faq-box-text
{
	height: 0;
	padding: 0 1rem;
	overflow: hidden;
	transition: height .3s ease-in-out, padding .3s ease-in-out;
}
div.module-block[data-module-block-type="header"] .module-block-header.module-block-header-text
{
	/*
	There's a rule .module-block .module-block-header which sets this to 40px so that the "red line" stays within the section, in case there isn't any content
	We zero it here, because we don't want the line, ever, on the header module blocks
	*/
	margin-bottom: 0;
}
div.module-block[data-module-block-type="header"] .module-block-header.module-block-header-text::after
{
	/* "Linked" to the above rule */
	display: none;
}
[data-module-block-type="image-box"]
{
	--odd-bg-color: #827e73;
	--even-bg-color: #252b37;
}

[data-module-block-type="image-box"] .image-outer-container
{
	display: flex;
	width: 100%;
}

[data-module-block-type="image-box"] .image-outer-container a.image-box-link
{
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

/* Odd colors */
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(odd) .text-container,
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(odd) .image-container
{
	/* Background color of the boxes */
	background-color: var(--odd-bg-color);
}
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(odd) .text-container .title,
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(odd) .text-container .text
{
	/* Text color */
	color: #FFFFFF;
}
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(odd) a.link-button
{
	/* Link button background color */
	background-color: transparent;
	/* Link button text color */
	color: #64635f;
	/* Link button border color */
	border-color: #64635f;
}
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(odd) a.link-button:hover
{
	/* Link button background color on hover */
	background-color: #252b37;
	/* Link button text color on hover */
	color: #827e73;
	/* Link button border color on hover */
	border-color: #252b37;
}

/* Even colors */
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(even) .text-container,
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(even) .image-container
{
	/* Background color of the boxes */
	background-color: var(--even-bg-color);
}
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(even) .text-container .title,
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(even) .text-container .text
{
	/* Text color */
	color: #FFFFFF;
}
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(even) a.link-button
{
	/* Link button background color */
	background-color: transparent;
	/* Link button text color */
	color: #60666d;
	/* Link button border color */
	border-color: #60666d;
}
[data-module-block-type="image-box"] .image-outer-container:nth-of-type(even) a.link-button:hover
{
	/* Link button background color on hover */
	background-color: #827e73;
	/* Link button text color on hover */
	color: #252b37;
	/* Link button border color on hover */
	border-color: #827e73;
}

[data-module-block-type="image-box"][data-image-box-first-image-placement="left"] .image-outer-container:nth-of-type(odd) .text-container,
[data-module-block-type="image-box"][data-image-box-first-image-placement="right"] .image-outer-container:nth-of-type(even) .text-container
{
	/* Every other text container should be on the right */
	order: 1;
	align-items: start;
}

[data-module-block-type="image-box"] .text-container
{
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: end;
	justify-content: center;
	padding: 4rem 5rem 4rem 5rem;
	width: 50%;
}

[data-module-block-type="image-box"] .text-container .text-inner-container
{
	/* Otherwise overflow wrap doesn't work */
	width: 100%;
}

@media screen and (min-width: 1200px)
{
	/* If [data-floating-text-box-on-large-screens="1"] Then, on large screens, we want the box to "float" */
	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"] .text-container
	{
		/* We need to kill this for consistency */
		padding-left: 0;
		padding-right: 0;
	}

	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"] .image-outer-container .text-container
	{
		/* Killing the "normal" background */
		background-color: transparent !important;
	}

	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"] .image-outer-container:nth-of-type(odd) .text-container .text-inner-container
	{
		/* Adding a background just on the floating box */
		background-color: var(--odd-bg-color);
	}

	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"] .image-outer-container:nth-of-type(even) .text-container .text-inner-container
	{
		/* Adding a background just on the floating box */
		background-color: var(--even-bg-color);
	}

	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"] .text-container .text-inner-container
	{
		z-index: 1;
		/** For when the text box is on the left **/
		margin-right: -100px;
		padding: 3em;
	}

	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"][data-image-box-first-image-placement="left"] .image-outer-container:nth-of-type(odd) .text-inner-container,
	[data-module-block-type="image-box"][data-floating-text-box-on-large-screens="1"][data-image-box-first-image-placement="right"] .image-outer-container:nth-of-type(even) .text-inner-container
	{
		/** For when the text box is on the right **/
		margin-right: 0;
		margin-left: -100px;
	}
}

[data-module-block-type="image-box"] .image-container
{
	width: 50%;

	/* Needed for when the image does not control the height */
	position: relative;
	overflow: hidden;
}

[data-module-block-type="image-box"] .image-container img
{
	object-position: center;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 576px) /* We don't want to apply this to the small screens, because we have some JS that will handle those */
{
	[data-module-block-type="image-box"] .image-container img:not(.grow-container-with-image)
	{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		min-width: 100%;
		min-height: 100%;
		height: auto;
		width: auto;
	}
}

[data-module-block-type="image-box"] .text-container .title
{
	font-size: 2rem;
	margin-bottom: 10px;
	overflow-wrap: break-word;
}

[data-module-block-type="image-box"] .text-container .text
{
	overflow-wrap: break-word;
}

[data-module-block-type="image-box"] a.link-button
{
	margin-top: 2.5rem;
}
[data-module-block-type="image-box"] a.link-button,
[data-module-block-type="image-box"] a.link-button:focus,
[data-module-block-type="image-box"] a.link-button:hover,
[data-module-block-type="image-box"] a.link-button:visited
{
	text-decoration: none;
	display: inline-block;
	padding: 10px 25px;

	border-radius: 25px;
	border-width: 1px;
	border-style: solid;

	transition: border-color .15s ease-in-out, background-color .15s ease-in-out, color .15s ease-in-out;
}

@media screen and (max-width: 767.98px)
{
	[data-module-block-type="image-box"] .text-container
	{
		/* Adjusting the text container so there's less padding */
		padding: 3rem 2rem;
	}

	[data-module-block-type="image-box"] .container
	{
		/* Killing the bootstrap max-width so we can take up all the space + killing bootstrap padding, left and right */
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (max-width: 575.98px)
{
	[data-module-block-type="image-box"] .container
	{
		/* Killing padding */
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	[data-module-block-type="image-box"] .image-outer-container
	{
		/* We need columns instead of rows */
		flex-direction: column;
	}

	[data-module-block-type="image-box"] .text-container
	{
		/* Adjusting the text container */
		text-align: center;
		display: block;
		width: 100%;
		padding: 3rem 1rem;

		/* Text should always come before the image */
		order: 0 !important;
	}

	[data-module-block-type="image-box"] .image-container
	{
		/* Adjusting the image container */
		width: 100%;
	}
}
/****** This file has been auto generated from SCSS, do not edit it manually! ******/

/* Pattern 2-2-2 */
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: 30% 20% 20% 30%;
  grid-template-rows: 1fr 1fr;
  /* Ensures that each row has en equal height */
  max-height: 600px;
  /* Can be overwritten by admin */
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image {
  overflow: hidden;
  /* Needed to ensure that they limit themselves to fit within max-height */
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image:nth-child(3) {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image:nth-child(4) {
  grid-column: 3;
  grid-row: 1 / span 2;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image:nth-child(n+7) {
  /* Pattern only supports 6 images, the rest are hidden */
  display: none;
}
@media screen and (max-width: 767.98px) {
  .module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container {
    /* On small screens we only show 3 images in 2 columns */
    grid-template-columns: 50% 50%;
  }
  .module-block[data-module-block-type="image-collage"][data-pattern="2-2-2"] .images-container .image:nth-child(n+4) {
    display: none;
  }
}
/* Pattern 2-3-1 */
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: 33% 33% 33%;
  grid-template-rows: repeat(6, 1fr);
  /* Ensures that each row has en equal height */
  max-height: 600px;
  /* Can be overwritten by admin */
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image {
  overflow: hidden;
  /* Needed to ensure that they limit themselves to fit within max-height */
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 3;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(2) {
  grid-column: 1;
  grid-row: 4 / span 3;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(3) {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(4) {
  grid-column: 2;
  grid-row: 3 / span 2;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(5) {
  grid-column: 2;
  grid-row: 5 / span 2;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(6) {
  grid-column: 3;
  grid-row: 1 / span 6;
}
.module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(n+7) {
  /* Pattern only supports 6 images, the rest are hidden */
  display: none;
}
@media screen and (max-width: 767.98px) {
  .module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container {
    /* On small screens we only show 5 images in 2 columns */
    grid-template-columns: 50% 50%;
  }
  .module-block[data-module-block-type="image-collage"][data-pattern="2-3-1"] .images-container .image:nth-child(n+6) {
    display: none;
  }
}
/* Pattern masonry */
.module-block[data-module-block-type="image-collage"][data-pattern="masonry"] .images-container {
  column-count: 5;
  column-gap: 10px;
  max-height: none !important;
  /* Can never be overwritten, this layout doesn't work if it is overwritten */
}
.module-block[data-module-block-type="image-collage"][data-pattern="masonry"] .images-container .image img {
  width: 100%;
  margin-bottom: 10px;
}
@media screen and (max-width: 991.98px) {
  .module-block[data-module-block-type="image-collage"][data-pattern="masonry"] .images-container {
    column-count: 4;
  }
}
@media screen and (max-width: 767.98px) {
  .module-block[data-module-block-type="image-collage"][data-pattern="masonry"] .images-container {
    column-count: 3;
  }
}
@media screen and (max-width: 575.98px) {
  .module-block[data-module-block-type="image-collage"][data-pattern="masonry"] .images-container {
    column-count: 2;
  }
}
:root .module-block.image-collection
{
	--mb-image-collection-margin-full: 1rem;
	--mb-image-collection-margin: calc(var(--mb-image-collection-margin-full) / 2);
}

.module-block.image-collection .images-outer-container
{
	display: flex;
	flex-wrap: wrap;
}

.module-block.image-collection .images-outer-container .image-container img
{
	max-width: 100%;
}

/** Default / 1 per row **/
.module-block.image-collection .images-outer-container .image-container
{
	position: relative;
	margin-left: var(--mb-image-collection-margin);
	margin-right: var(--mb-image-collection-margin);
	width: calc(100% - var(--mb-image-collection-margin-full));
}
.module-block.image-collection .images-outer-container .image-container .image-inner-container
{
	display: inline-block;
	position: relative;
	text-align: left;
}
.module-block.image-collection[data-images-per-row-desktop="1"] .images-outer-container .image-container:nth-child(1n+2)
{
	/* Not the first image */
	margin-top: var(--mb-image-collection-margin-full);
}

/** 2 per row **/
.module-block.image-collection[data-images-per-row-desktop="2"] .images-outer-container .image-container
{
	width: calc(50% - var(--mb-image-collection-margin-full));
}
.module-block.image-collection[data-images-per-row-desktop="2"] .images-outer-container .image-container:nth-child(2n)
{
	/* 2nd image and every other, so 2, 4, 6, etc. */
	text-align: right;
}
.module-block.image-collection[data-images-per-row-desktop="2"] .images-outer-container .image-container:nth-child(1n+3)
{
	/* Not the first two images */
	margin-top: var(--mb-image-collection-margin-full);
}

/** 3 per row **/
.module-block.image-collection[data-images-per-row-desktop="3"] .images-outer-container .image-container
{
	width: calc(33.3333333% - var(--mb-image-collection-margin-full));
}
.module-block.image-collection[data-images-per-row-desktop="3"] .images-outer-container .image-container:nth-child(3n+2)
{
	/* 2nd image and every 3rd, so 2, 5, 8, etc. */
	text-align: center;
}

.module-block.image-collection[data-images-per-row-desktop="3"] .images-outer-container .image-container:nth-child(3n+3)
{
	/* 3rd image and every 3rd, so 3, 6, 9, etc. */
	text-align: right;
}
.module-block.image-collection[data-images-per-row-desktop="3"] .images-outer-container .image-container:nth-child(1n+4)
{
	/* Not the first three images */
	margin-top: var(--mb-image-collection-margin-full);
}

/** 4 per row **/
.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container
{
	width: calc(25% - var(--mb-image-collection-margin-full));
}
.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container:nth-child(4n+2),
.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container:nth-child(4n+3)
{
	/* 2nd and 3rd image and every 4th, so 2,3, 6,7, 10,11 etc. */
	text-align: center;
}
.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container:nth-child(4n+4)
{
	/* 4th image and every 4th, so 4, 8, 12 etc. */
	text-align: right;
}
.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container:nth-child(1n+5)
{
	/* Not the first four images */
	margin-top: var(--mb-image-collection-margin-full);
}

@media screen and (max-width: 767.98px)
{
	/* Down here, default is to show one image per row */
	.module-block.image-collection .images-outer-container .image-container
	{
		width: calc(100% - var(--mb-image-collection-margin-full)) !important;
		text-align: center !important;
		margin-top: 0 !important;
	}
	.module-block.image-collection .images-outer-container .image-container:nth-child(1n+2)
	{
		/* Not the first image */
		margin-top: var(--mb-image-collection-margin-full) !important;
	}

	/* However, if 4 images per row was chosen, we instead display 2 per row */
	.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container
	{
		width: calc(50% - var(--mb-image-collection-margin-full)) !important;
		text-align: center !important;
		margin-top: 0 !important;
	}
	.module-block.image-collection[data-images-per-row-desktop="4"] .images-outer-container .image-container:nth-child(1n+3)
	{
		/* Not the first two images */
		margin-top: var(--mb-image-collection-margin-full) !important;
	}
}

/***************************************/
/* Everything related to text handling */
/***************************************/
.module-block.image-collection .images-outer-container .image-container:not(.image-loaded) .text
{
	display: none !important;
}

.module-block.image-collection .images-outer-container .image-container .text
{
	color: #FFFFFF;
	word-break: break-word;
	overflow-wrap: break-word;
}

.module-block.image-collection .images-outer-container .image-container .text.mouseover
{
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	pointer-events: none;
	min-width: 60%;
}
.module-block.image-collection .images-outer-container .image-container:hover .text.mouseover,
.module-block.image-collection .images-outer-container .image-container.open .text.mouseover
{
	z-index: 1;
	display: block;
}
@media (hover: none), (pointer: coarse) /* Activate if device has no hover OR has coarse input - Hopefully that should reliably target touchscreens..! */
{
	/* On touch devices, aka non hover devices we disable the hover effect, otherwise users might think that the anchor doesn't work */
	.module-block.image-collection .images-outer-container .image-container:not(.open) .text.mouseover
	{
		display: none !important;
	}
}
.module-block.image-collection .images-outer-container .image-container .text-background
{
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0);
	transition: background-color 0.35s ease-in-out;
	pointer-events: none;
}
.module-block.image-collection .images-outer-container .image-container:hover .text-background,
.module-block.image-collection .images-outer-container .image-container.open .text-background
{
	background-color: rgba(0, 0, 0, 0.5);
}
@media (hover: none), (pointer: coarse) /* Activate if device has no hover OR has coarse input - Hopefully that should reliably target touchscreens..! */
{
	/* On touch devices, aka non hover devices we disable the hover effect, otherwise users might think that the anchor doesn't work */
	.module-block.image-collection .images-outer-container .image-container:not(.open) .text-background
	{
		background-color: rgba(255, 255, 255, 0) !important;
	}
}

.module-block.image-collection .images-outer-container .image-container .text.always
{
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 30px 15px 15px 15px;
	pointer-events: none;
	background-image: linear-gradient(rgba(255, 255, 255, 0), #232323);
	width: 100%;
	word-break: break-word;
}

.module-block.image-collection .images-outer-container .image-container .text.below,
.module-block.image-collection .images-outer-container .image-container a .text.below
{
	color: inherit;
}

.module-block.image-collection .images-outer-container .image-container:hover .text.always
{
	background-image: linear-gradient(rgba(255, 255, 255, 0), #f45524);
}
.module-block[data-module-block-type="image-gallery"] .container
{
	position: relative;
}
.module-block[data-module-block-type="image-gallery"] .images-outer-container
{
	overflow-x: hidden;
}
.module-block[data-module-block-type="image-gallery"] .images-container
{
	display: flex;
	align-items: center;
	position: relative;
	left: 0;

	transition: left 0.30s ease-in-out;
}
.module-block[data-module-block-type="image-gallery"] .images-container.dragging
{
	transition: none;
}
.module-block[data-module-block-type="image-gallery"][data-center-images="1"]:not(.overflowing) .images-container
{
	/* If we should center the images and they aren't overflowing, we do so */
	justify-content: center;
}

/* Prev/next buttons */
.module-block[data-module-block-type="image-gallery"]:not(.overflowing) .images-outer-container .prev-button,
.module-block[data-module-block-type="image-gallery"]:not(.overflowing) .images-outer-container .next-button
{
	/* If the images aren't overflowing there's no need to show the buttons */
	display: none;
}
.module-block[data-module-block-type="image-gallery"] .images-outer-container .prev-button,
.module-block[data-module-block-type="image-gallery"] .images-outer-container .next-button
{
	display: flex;
	cursor: pointer;
	text-align: center;
	padding: 1rem;
	font-size: 1.5rem;
	z-index: 1;
	color: #585858;
	opacity: 0.5;

	transition: opacity 0.15s ease-in-out;

	/* Vertically centering */
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.module-block[data-module-block-type="image-gallery"] .images-outer-container .next-button:hover,
.module-block[data-module-block-type="image-gallery"] .images-outer-container .prev-button:hover
{
	opacity: 1;
}

@media (hover: none), (pointer: coarse) /* Activate if device has no hover OR has coarse input - Hopefully that should reliably target touchscreens..! */
{
	.module-block[data-module-block-type="image-gallery"] .images-outer-container .next-button:hover,
	.module-block[data-module-block-type="image-gallery"] .images-outer-container .prev-button:hover
	{
		/** Hover disabled on touch devices **/
		opacity: 0.5;
	}
}
.module-block[data-module-block-type="image-gallery"] .images-outer-container .prev-button
{
	left: -1.5rem;
}
.module-block[data-module-block-type="image-gallery"] .images-outer-container .next-button
{
	right: -1.5rem;
}

@media (hover: none), (pointer: coarse) /* Activate if device has no hover OR has coarse input - Hopefully that should reliably target touchscreens..! */
{
	.module-block[data-module-block-type="image-gallery"] .images-container
	{
		/* Scroll enabled on touch devices */
		overflow-x: scroll;
	}
}

.module-block[data-module-block-type="image-gallery"] .images-container.dragging
{
	cursor: move !important;
}
.module-block[data-module-block-type="image-gallery"] .images-container.dragging .image
{
	/* While dragging, disable pointer events */
	pointer-events: none;
}

.module-block[data-module-block-type="image-gallery"] .images-container .image
{
	cursor: pointer;
	margin-right: 15px;
}

.module-block[data-module-block-type="image-gallery"] .images-container .image:last-of-type
{
	margin-right: 0;
}

/* If fill down is activated */
.module-block[data-module-block-type="image-gallery"][data-scroll-or-fill-down="fill_down"] .images-container
{
	flex-wrap: wrap;
	justify-content: space-around;
}
.module-block[data-module-block-type="image-gallery"][data-scroll-or-fill-down="fill_down"] .images-container .image
{
	margin: 1rem;
}
.module-block[data-module-block-type="image-gallery"][data-scroll-or-fill-down="fill_down"] .images-outer-container .next-button,
.module-block[data-module-block-type="image-gallery"][data-scroll-or-fill-down="fill_down"] .images-outer-container .prev-button
{
	display: none;
}

@media screen and (max-width: 600.98px)
{
	.module-block[data-module-block-type="image-gallery"][data-scroll-or-fill-down="scroll"] .images-outer-container
	{
		width: calc(100% - 2rem);
		margin: 0 auto;
	}
	.module-block[data-module-block-type="image-gallery"] .images-outer-container .prev-button
	{
		left: 5px;
		padding-left: 0;
	}
	.module-block[data-module-block-type="image-gallery"] .images-outer-container .next-button
	{
		right: 5px;
		padding-right: 0;
	}
}

/* Overlay */

body.module-block-image-gallery-overlay-open
{
	overflow: hidden;
}

#module-block-image-gallery-overlay-backdrop
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);

	z-index: 99999999999999999;
}

#module-block-image-gallery-overlay
{
	cursor: pointer;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;

	z-index: 99999999999999999;
}

#module-block-image-gallery-overlay .image-container
{
	position: relative;
}

#module-block-image-gallery-overlay img
{
	max-width: 90vw;
	max-height: 90vh;
}

#module-block-image-gallery-overlay .arrows-container
{
	/* The arrows container */
	position: absolute;
	bottom: 5px;
	text-align: center;
	white-space: nowrap;

	left: 50%;
	transform: translateX(-50%);
}

#module-block-image-gallery-overlay .next-button,
#module-block-image-gallery-overlay .prev-button
{
	/* The circle */
	position: relative;
	display: inline-block;
	cursor: pointer;
	width: 48px;
	height: 48px;
	z-index: 1;
	margin: 0 5px;
	border-radius: 50%;
	background-color: rgba(0,0,0,0.5);
	transition: background-color 0.15s ease-in-out;
}
#module-block-image-gallery-overlay .next-button:hover,
#module-block-image-gallery-overlay .prev-button:hover
{
	background-color: rgba(0,0,0,0.75);
}

#module-block-image-gallery-overlay .next-button:before,
#module-block-image-gallery-overlay .prev-button:before
{
	/* The actual arrows */
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #FFFFFF;
	position: absolute;
	top: 50%;
	left: 54%; /* Because of the way the arrow looks, we have to adjust slightly to make it look like it's actually centered */
	transform: translateY(-50%) translateX(-50%);
}

#module-block-image-gallery-overlay .prev-button:before
{
	/* Adjusting the prev button arrow */
	left: 44%; /* Because of the way the arrow looks, we have to adjust slightly to make it look like it's actually centered */
	border-width: 12px 20px 12px 0;
	border-color: transparent #FFFFFF transparent transparent;
}
[data-module-block-type="instagram"] .module-block-header.module-block-header-text
{
	text-align: center; /* Default, can be overwritten via the inline editor */
}
[data-module-block-type="instagram"] .module-block-header.module-block-header-text::after
{
	left: 50%; /* Default, can be overwritten via the inline editor */
	transform: translateX(-50%); /* Default, can be overwritten via the inline editor */
}

[data-module-block-type="instagram"] .images-container
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

[data-module-block-type="instagram"] .images-container .image
{
	position: relative;
	margin-bottom: 1rem;
}

[data-module-block-type="instagram"] .images-container .image img
{
	width: 333px;
	height: 333px;
	object-fit: cover;
	max-width: 90vw; /* Just a little precaution */
}

[data-module-block-type="instagram"] .images-container .image .icon
{
	position: absolute;
	right: 5px;
	top: 5px;
	color: #FFFFFF;
}

[data-module-block-type="instagram"] .images-container .image .date
{
	position: absolute;
	right: 5px;
	bottom: 5px;
}

[data-module-block-type="instagram"] .images-container .image a.overlay
{
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 100%;
	width: calc(100% + 1px); /* I don't know why it's needed, but it is, sometimes :/ */
	height: 100%;
	height: calc(100% + 1px); /* I don't know why it's needed, but it is, sometimes :/ */
	padding: 1rem;
	overflow: hidden;
	color: #FFFFFF;
	background-color: rgba(0,0,0,0.75);
	text-decoration: none;
	pointer-events: none;
}

[data-module-block-type="instagram"] .images-container .image:hover a.overlay,
[data-module-block-type="instagram"] .images-container .image.show a.overlay
{
	display: block;
	pointer-events: all;
}

[data-module-block-type="instagram"] .module-block-addon-link-container
{
	text-align: center; /* Default, can be overwritten via the inline editor */
}

/** Ez mode **/

/* Large */
[data-module-block-type="instagram"][data-ez-mode="large"] .images-container
{
	justify-content: space-evenly;
}
[data-module-block-type="instagram"][data-ez-mode="large"] .images-container .image img
{
	width: 333px;
	height: 333px;
}
@media screen and (max-width: 991.98px)
{
	[data-module-block-type="instagram"][data-ez-mode="large"] .images-container
	{
		justify-content: space-between;
	}
}
@media screen and (max-width: 767.98px)
{
	[data-module-block-type="instagram"][data-ez-mode="large"] .images-container
	{
		justify-content: space-around;
	}
}

/* Medium */
[data-module-block-type="instagram"][data-ez-mode="medium"] .images-container
{
	justify-content: space-evenly;
}
[data-module-block-type="instagram"][data-ez-mode="medium"] .images-container .image img
{
	width: 210px;
	height: 210px;
}
@media screen and (max-width: 991.98px)
{
	[data-module-block-type="instagram"][data-ez-mode="medium"] .images-container
	{
		justify-content: space-between;
	}
}
@media screen and (max-width: 575.98px)
{
	[data-module-block-type="instagram"][data-ez-mode="medium"] .images-container .image
	{
		width: 48%;
	}

	[data-module-block-type="instagram"][data-ez-mode="medium"] .images-container .image img
	{
		width: 100%;
		height: 100%;
	}
}

/* Small */
[data-module-block-type="instagram"][data-ez-mode="small"] .images-container
{
	justify-content: space-evenly;
}
[data-module-block-type="instagram"][data-ez-mode="small"] .images-container .image img
{
	width: 150px;
	height: 150px;
}
@media screen and (max-width: 991.98px)
{
	[data-module-block-type="instagram"][data-ez-mode="small"] .images-container
	{
		justify-content: space-between;
	}
}
@media screen and (max-width: 480.98px)
{
	[data-module-block-type="instagram"][data-ez-mode="small"] .images-container .image
	{
		width: 48%;
	}

	[data-module-block-type="instagram"][data-ez-mode="small"] .images-container .image img
	{
		width: 100%;
		height: 100%;
	}
}
.module-block.item-list,
.module-block.category-list
{
	/* Because of the responsive setup, we need this */
	display: flex;
	flex-direction: column;
	height: 100%;
}

.module-block .list-body-outer,
.module-block .list-body-outer .list-body-inner
{
	/* Because of the responsive setup, we need this */
	height: 100%;
}

.module-block .list-body-outer .list-navigation-arrows
{
	align-items: center;
	cursor: pointer;
	display: none; /* By default we do not show the buttons */
}

.module-block.boxes-overflow .list-body-outer .list-navigation-arrows
{
	/* If the contents overflow, we show the buttons */
	display: flex;
}
.module-block .list-body-outer .list-navigation-arrows.left
{
	padding-right: 15px;
}
.module-block .list-body-outer .list-navigation-arrows.right
{
	padding-left: 15px;
}

/* If we should center the boxes and they aren't overflowing, we do so */
.module-block.item-list.boxes-center:not(.boxes-overflow) .list-body-outer .list-body .list-body-inner,
.module-block.category-list.boxes-center:not(.boxes-overflow) .list-body-outer .list-body .list-body-inner
{
	justify-content: center;
}

.module-block > .list-header
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
}

.module-block > .list-header .module-block-header-text
{
	width: 100%; /* We avoid cutting the right end off of parenthesis (must be a CSS bug or something, present in FF, Chrome and Edge) */
}

.module-block > .list-header > *
{
	white-space: nowrap;
	overflow: hidden;
	flex-shrink: 1;
	font-weight: bold;
	font-size: 1.5em;
	margin: 0;
}

.module-block .list-body-outer
{
	display: flex;
	align-items: stretch;
}

.module-block .list-body
{
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}

.module-block .list-body .list-body-inner
{
	display: flex;
	position: relative;
	top: 0;
	left: 0;

	transition: left 0.5s;
}
.module-block .list-body .list-body-inner.dragging
{
	transition: none;
}
.module-block .list-body .list-body-inner.dragging > *
{
	pointer-events: none;
}

.module-block .list-body .list-body-inner > a
{
	--mb-list-body-inner-box-width: 100%;
	width: var(--mb-list-body-inner-box-width);
	padding: 0 10px;
	flex-shrink: 0;
}

.module-block.fill-down > .list-header
{
	/* When fill-down is used, aka. no scrolling */
	padding-top: 15px;
}
.module-block.fill-down .list-body .list-body-inner
{
	/* When fill-down is used, aka. no scrolling */
	display: flex;
	flex-wrap: wrap;
	position: static;
}
.module-block.fill-down .list-body .list-body-inner > a
{
	padding: 0 15px;
}

@media screen and (min-width: 450px) {
	.module-block .list-body .list-body-inner > a
	{
		--mb-list-body-inner-box-width: 50%;
	}
}

@media (min-width: 768px) {
	.module-block .list-body .list-body-inner > a
	{
		--mb-list-body-inner-box-width: 33.33333333%;
	}
}

@media (min-width: 992px) {
	.module-block .list-body .list-body-inner > a
	{
		--mb-list-body-inner-box-width: 25%;
	}
}

@media (hover: none), (pointer: coarse) /* Activate if device has no hover OR has coarse input - Hopefully that should reliably target touchscreens..! */
{
	.module-block .list-body .list-body-inner
	{
		overflow-x: scroll;
	}
}

div[data-module-block-type="item-list"] .module-block.boxes-overflow .list-body .list-body-inner::after,
div[data-module-block-type="category-list"] .module-block.boxes-overflow .list-body .list-body-inner::after
{
	/* We need this when overflowing because of box-shadow, or rather because of the margin on the item/category boxes */
	content: "";
	padding-left: 1px;
}
[data-module-block-type="mini_menu"] .mini-menu-buttons-container
{
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 1em; /* Gap is rather new.. but it's sooo nice! */
}

[data-module-block-type="mini_menu"] .mini-menu-buttons-container .icon,
[data-module-block-type="mini_menu"] .mini-menu-buttons-container .mini-menu-wishlist a
{
	color: inherit; /* We don't want link color, if this is a link */
	line-height: 0; /* Because this is just an icon, we don't want any text */
}

[data-module-block-type="mini_menu"] .currency-selector select,
[data-module-block-type="mini_menu"] .vat-selector select
{
	background: 0;
	border: 0;
	color: inherit;
}

[data-module-block-type="mini_menu"] .currency-selector select option,
[data-module-block-type="mini_menu"] .vat-selector select option
{
	color: #000000;
}

[data-module-block-type="mini_menu"] .mini-menu-customer-name a
{
	color: inherit; /* We don't want link color, if this is a link */
}
[data-module-block-type="mini_menu"] .language-selector
{
	position: relative;
	display: flex;
	cursor: pointer;
}

[data-module-block-type="mini_menu"] .language-selector .head
{
	display: flex;
}

[data-module-block-type="mini_menu"] .language-selector .head img
{
	width: 1.34em; /* No idea why 1.34em works, but it does - Maybe because the images are 4/3? */
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

[data-module-block-type="mini_menu"] .language-selector .dropdown
{
	position: absolute;
	display: none;
	z-index: 2000;
	background-color: #FFFFFF;
	box-shadow: 1px 1px 14px rgba(0,0,0,0.2);
	margin-left: -16px; /* Centers the flags under each other - Linked to the padding on the images in the dropdown */
}
[data-module-block-type="mini_menu"] .language-selector.open .dropdown
{
	display: block;
}

[data-module-block-type="mini_menu"] .language-selector .dropdown .language
{
	display: flex;
	padding: 16px;
	transition : background-color 0.25s ease-in-out;
}
[data-module-block-type="mini_menu"] .language-selector .dropdown .language img
{
	width: 1.34em; /* No idea why 1.34em works, but it does - Maybe because the images are 4/3? */
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
[data-module-block-type="mini_menu"] .language-selector .dropdown .language:hover
{
	background-color: #DDDDDD;
}
.module-block.newsletter-signup .newsletter-signup-box-container
{
	display: flex;
	flex-direction: column;
}

.module-block.newsletter-signup .newsletter-signup-box-container .input-group
{
	max-width: 300px;
}

.module-block.newsletter-signup .newsletter-signup-box-container .newsletter-signup-multiple-inputs-container
{
	padding-top: 1rem;
	max-width: 300px;
}

.module-block.newsletter-signup .newsletter-signup-box-container .newsletter-signup-multiple-inputs-container input,
.module-block.newsletter-signup .newsletter-signup-box-container .newsletter-signup-multiple-inputs-container button
{
	width: 100%;
}

.module-block.newsletter-signup .text
{
	font-weight: bold;
}

.module-block.newsletter-signup .newsletter-signup-input,
.module-block.newsletter-signup .newsletter-signup-button
{
	border-radius: 0 !important;
}

.module-block.newsletter-signup .newsletter-content-after-save
{
	display: none;
}
.topbar-above,
.topbar-below,
#container-main-content,
.bottombar-above,
.bottombar-below
{
	display: flex;
	flex-wrap: wrap;
}

.section-in-main-container
{
	width: 100%; /* The standard is 100 % - Needed because of flex with flex-wrap */
}


.section-in-main-container[data-module-block-vertically-center="1"]
{
	display: flex;
	flex-direction: column;
}

.section-in-main-container[data-module-block-vertically-center="1"] .container
{
	margin-top: auto;
	margin-bottom: auto;
}

@media screen and (min-width: 1400px)
{
	[data-module-block-columns*="1400--"]
	{
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding-left: 15px;
		padding-right: 15px;
	}

	[data-module-block-columns*="1400--5"]{width: 5%;} /* Very important that this is here, otherwise it will overwrite x5% */
	[data-module-block-columns*="1400--95"]{width: 95%;}
	[data-module-block-columns*="1400--90"]{width: 90%;}
	[data-module-block-columns*="1400--85"]{width: 85%;}
	[data-module-block-columns*="1400--80"]{width: 80%;}
	[data-module-block-columns*="1400--75"]{width: 75%;}
	[data-module-block-columns*="1400--70"]{width: 70%;}
	[data-module-block-columns*="1400--66"]{width: 66.6666%;}
	[data-module-block-columns*="1400--65"]{width: 65%;}
	[data-module-block-columns*="1400--60"]{width: 60%;}
	[data-module-block-columns*="1400--55"]{width: 55%;}
	[data-module-block-columns*="1400--50"]{width: 50%;}
	[data-module-block-columns*="1400--45"]{width: 45%;}
	[data-module-block-columns*="1400--40"]{width: 40%;}
	[data-module-block-columns*="1400--35"]{width: 35%;}
	[data-module-block-columns*="1400--33"]{width: 33.3333%;}
	[data-module-block-columns*="1400--30"]{width: 30%;}
	[data-module-block-columns*="1400--25"]{width: 25%;}
	[data-module-block-columns*="1400--20"]{width: 20%;}
	[data-module-block-columns*="1400--15"]{width: 15%;}
	[data-module-block-columns*="1400--10"]{width: 10%;}
	[data-module-block-columns*="1400--100"]{width: 100%;} /* Very important that this is here, so that it overwrites 10% */

	[data-module-block-columns*="1400--"] .container
	{
		/* Disabling padding+margin from the container */
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
	[data-module-block-columns*="1400--100-full"] .container,
	[data-module-block-columns*="1400--95-full"] .container,
	[data-module-block-columns*="1400--90-full"] .container,
	[data-module-block-columns*="1400--85-full"] .container,
	[data-module-block-columns*="1400--80-full"] .container,
	[data-module-block-columns*="1400--75-full"] .container,
	[data-module-block-columns*="1400--70-full"] .container,
	[data-module-block-columns*="1400--66-full"] .container,
	[data-module-block-columns*="1400--65-full"] .container,
	[data-module-block-columns*="1400--60-full"] .container,
	[data-module-block-columns*="1400--55-full"] .container,
	[data-module-block-columns*="1400--50-full"] .container,
	[data-module-block-columns*="1400--45-full"] .container,
	[data-module-block-columns*="1400--40-full"] .container,
	[data-module-block-columns*="1400--35-full"] .container,
	[data-module-block-columns*="1400--33-full"] .container,
	[data-module-block-columns*="1400--30-full"] .container,
	[data-module-block-columns*="1400--25-full"] .container,
	[data-module-block-columns*="1400--20-full"] .container,
	[data-module-block-columns*="1400--15-full"] .container,
	[data-module-block-columns*="1400--10-full"] .container,
	[data-module-block-columns*="1400--5-full"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}

	/* Floating */
	[data-module-block-columns*="1400--100-floating"]
	{
		width: auto;
		margin: 0 auto;
		z-index: 1; /* Not really sure about this */
	}
	[data-module-block-columns*="1400--100-floating"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}
}

@media screen and (min-width: 1200px) and (max-width: 1399.98px)
{
	[data-module-block-columns*="1200-1399-"]
	{
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding-left: 15px;
		padding-right: 15px;
	}

	[data-module-block-columns*="1200-1399-5"]{width: 5%;} /* Very important that this is here, otherwise it will overwrite x5% */
	[data-module-block-columns*="1200-1399-95"]{width: 95%;}
	[data-module-block-columns*="1200-1399-90"]{width: 90%;}
	[data-module-block-columns*="1200-1399-85"]{width: 85%;}
	[data-module-block-columns*="1200-1399-80"]{width: 80%;}
	[data-module-block-columns*="1200-1399-75"]{width: 75%;}
	[data-module-block-columns*="1200-1399-70"]{width: 70%;}
	[data-module-block-columns*="1200-1399-66"]{width: 66.6666%;}
	[data-module-block-columns*="1200-1399-65"]{width: 65%;}
	[data-module-block-columns*="1200-1399-60"]{width: 60%;}
	[data-module-block-columns*="1200-1399-55"]{width: 55%;}
	[data-module-block-columns*="1200-1399-50"]{width: 50%;}
	[data-module-block-columns*="1200-1399-45"]{width: 45%;}
	[data-module-block-columns*="1200-1399-40"]{width: 40%;}
	[data-module-block-columns*="1200-1399-35"]{width: 35%;}
	[data-module-block-columns*="1200-1399-33"]{width: 33.3333%;}
	[data-module-block-columns*="1200-1399-30"]{width: 30%;}
	[data-module-block-columns*="1200-1399-25"]{width: 25%;}
	[data-module-block-columns*="1200-1399-20"]{width: 20%;}
	[data-module-block-columns*="1200-1399-15"]{width: 15%;}
	[data-module-block-columns*="1200-1399-10"]{width: 10%;}
	[data-module-block-columns*="1200-1399-100"]{width: 100%;} /* Very important that this is here, so that it overwrites 10% */

	[data-module-block-columns*="1200-1399-"] .container
	{
		/* Disabling padding+margin from the container */
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
	[data-module-block-columns*="1200-1399-100-full"] .container,
	[data-module-block-columns*="1200-1399-95-full"] .container,
	[data-module-block-columns*="1200-1399-90-full"] .container,
	[data-module-block-columns*="1200-1399-85-full"] .container,
	[data-module-block-columns*="1200-1399-80-full"] .container,
	[data-module-block-columns*="1200-1399-75-full"] .container,
	[data-module-block-columns*="1200-1399-70-full"] .container,
	[data-module-block-columns*="1200-1399-66-full"] .container,
	[data-module-block-columns*="1200-1399-65-full"] .container,
	[data-module-block-columns*="1200-1399-60-full"] .container,
	[data-module-block-columns*="1200-1399-55-full"] .container,
	[data-module-block-columns*="1200-1399-50-full"] .container,
	[data-module-block-columns*="1200-1399-45-full"] .container,
	[data-module-block-columns*="1200-1399-40-full"] .container,
	[data-module-block-columns*="1200-1399-33-full"] .container,
	[data-module-block-columns*="1200-1399-35-full"] .container,
	[data-module-block-columns*="1200-1399-30-full"] .container,
	[data-module-block-columns*="1200-1399-25-full"] .container,
	[data-module-block-columns*="1200-1399-20-full"] .container,
	[data-module-block-columns*="1200-1399-15-full"] .container,
	[data-module-block-columns*="1200-1399-10-full"] .container,
	[data-module-block-columns*="1200-1399-5-full"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}

	/* Floating */
	[data-module-block-columns*="1200-1399-100-floating"]
	{
		width: auto;
		margin: 0 auto;
		z-index: 1; /* Not really sure about this */
	}
	[data-module-block-columns*="1200-1399-100-floating"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}
}

@media screen and (min-width: 992px) and (max-width: 1199.98px)
{
	[data-module-block-columns*="992-1199-"]
	{
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding-left: 15px;
		padding-right: 15px;
	}

	[data-module-block-columns*="992-1199-5"]{width: 5%;} /* Very important that this is here, otherwise it will overwrite x5% */
	[data-module-block-columns*="992-1199-95"]{width: 95%;}
	[data-module-block-columns*="992-1199-90"]{width: 90%;}
	[data-module-block-columns*="992-1199-85"]{width: 85%;}
	[data-module-block-columns*="992-1199-80"]{width: 80%;}
	[data-module-block-columns*="992-1199-75"]{width: 75%;}
	[data-module-block-columns*="992-1199-70"]{width: 70%;}
	[data-module-block-columns*="992-1199-66"]{width: 66.6666%;}
	[data-module-block-columns*="992-1199-65"]{width: 65%;}
	[data-module-block-columns*="992-1199-60"]{width: 60%;}
	[data-module-block-columns*="992-1199-55"]{width: 55%;}
	[data-module-block-columns*="992-1199-50"]{width: 50%;}
	[data-module-block-columns*="992-1199-45"]{width: 45%;}
	[data-module-block-columns*="992-1199-40"]{width: 40%;}
	[data-module-block-columns*="992-1199-35"]{width: 35%;}
	[data-module-block-columns*="992-1199-33"]{width: 33.3333%;}
	[data-module-block-columns*="992-1199-30"]{width: 30%;}
	[data-module-block-columns*="992-1199-25"]{width: 25%;}
	[data-module-block-columns*="992-1199-20"]{width: 20%;}
	[data-module-block-columns*="992-1199-15"]{width: 15%;}
	[data-module-block-columns*="992-1199-10"]{width: 10%;}
	[data-module-block-columns*="992-1199-100"]{width: 100%;} /* Very important that this is here, so that it overwrites 10% */

	[data-module-block-columns*="992-1199-"] .container
	{
		/* Disabling padding+margin from the container */
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
	[data-module-block-columns*="992-1199-100-full"] .container,
	[data-module-block-columns*="992-1199-95-full"] .container,
	[data-module-block-columns*="992-1199-90-full"] .container,
	[data-module-block-columns*="992-1199-85-full"] .container,
	[data-module-block-columns*="992-1199-80-full"] .container,
	[data-module-block-columns*="992-1199-75-full"] .container,
	[data-module-block-columns*="992-1199-70-full"] .container,
	[data-module-block-columns*="992-1199-66-full"] .container,
	[data-module-block-columns*="992-1199-65-full"] .container,
	[data-module-block-columns*="992-1199-60-full"] .container,
	[data-module-block-columns*="992-1199-55-full"] .container,
	[data-module-block-columns*="992-1199-50-full"] .container,
	[data-module-block-columns*="992-1199-45-full"] .container,
	[data-module-block-columns*="992-1199-40-full"] .container,
	[data-module-block-columns*="992-1199-33-full"] .container,
	[data-module-block-columns*="992-1199-35-full"] .container,
	[data-module-block-columns*="992-1199-30-full"] .container,
	[data-module-block-columns*="992-1199-25-full"] .container,
	[data-module-block-columns*="992-1199-20-full"] .container,
	[data-module-block-columns*="992-1199-15-full"] .container,
	[data-module-block-columns*="992-1199-10-full"] .container,
	[data-module-block-columns*="992-1199-5-full"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}

	/* Floating */
	[data-module-block-columns*="992-1199-100-floating"]
	{
		width: auto;
		margin: 0 auto;
		z-index: 1; /* Not really sure about this */
	}
	[data-module-block-columns*="992-1199-100-floating"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}
}

@media screen and (min-width: 768px) and (max-width: 991.98px)
{
	[data-module-block-columns*="768-991-"]
	{
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding-left: 15px;
		padding-right: 15px;
	}

	[data-module-block-columns*="768-991-5"]{width: 5%;} /* Very important that this is here, otherwise it will overwrite x5% */
	[data-module-block-columns*="768-991-95"]{width: 95%;}
	[data-module-block-columns*="768-991-90"]{width: 90%;}
	[data-module-block-columns*="768-991-85"]{width: 85%;}
	[data-module-block-columns*="768-991-80"]{width: 80%;}
	[data-module-block-columns*="768-991-75"]{width: 75%;}
	[data-module-block-columns*="768-991-70"]{width: 70%;}
	[data-module-block-columns*="768-991-66"]{width: 66.6666%;}
	[data-module-block-columns*="768-991-65"]{width: 65%;}
	[data-module-block-columns*="768-991-60"]{width: 60%;}
	[data-module-block-columns*="768-991-55"]{width: 55%;}
	[data-module-block-columns*="768-991-50"]{width: 50%;}
	[data-module-block-columns*="768-991-45"]{width: 45%;}
	[data-module-block-columns*="768-991-40"]{width: 40%;}
	[data-module-block-columns*="768-991-35"]{width: 35%;}
	[data-module-block-columns*="768-991-33"]{width: 33.3333%;}
	[data-module-block-columns*="768-991-30"]{width: 30%;}
	[data-module-block-columns*="768-991-25"]{width: 25%;}
	[data-module-block-columns*="768-991-20"]{width: 20%;}
	[data-module-block-columns*="768-991-15"]{width: 15%;}
	[data-module-block-columns*="768-991-10"]{width: 10%;}
	[data-module-block-columns*="768-991-100"]{width: 100%;} /* Very important that this is here, so that it overwrites 10% */

	[data-module-block-columns*="768-991-"] .container
	{
		/* Disabling padding+margin from the container */
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
	[data-module-block-columns*="768-991-100-full"] .container,
	[data-module-block-columns*="768-991-95-full"] .container,
	[data-module-block-columns*="768-991-90-full"] .container,
	[data-module-block-columns*="768-991-85-full"] .container,
	[data-module-block-columns*="768-991-80-full"] .container,
	[data-module-block-columns*="768-991-75-full"] .container,
	[data-module-block-columns*="768-991-70-full"] .container,
	[data-module-block-columns*="768-991-66-full"] .container,
	[data-module-block-columns*="768-991-65-full"] .container,
	[data-module-block-columns*="768-991-60-full"] .container,
	[data-module-block-columns*="768-991-55-full"] .container,
	[data-module-block-columns*="768-991-50-full"] .container,
	[data-module-block-columns*="768-991-45-full"] .container,
	[data-module-block-columns*="768-991-40-full"] .container,
	[data-module-block-columns*="768-991-35-full"] .container,
	[data-module-block-columns*="768-991-33-full"] .container,
	[data-module-block-columns*="768-991-30-full"] .container,
	[data-module-block-columns*="768-991-25-full"] .container,
	[data-module-block-columns*="768-991-20-full"] .container,
	[data-module-block-columns*="768-991-15-full"] .container,
	[data-module-block-columns*="768-991-10-full"] .container,
	[data-module-block-columns*="768-991-5-full"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}

	/* Floating */
	[data-module-block-columns*="768-991-100-floating"]
	{
		width: auto;
		margin: 0 auto;
		z-index: 1; /* Not really sure about this */
	}
	[data-module-block-columns*="768-991-100-floating"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}
}

@media screen and (min-width: 576px) and (max-width: 767.98px)
{
	[data-module-block-columns*="576-767-"]
	{
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding-left: 15px;
		padding-right: 15px;
	}

	[data-module-block-columns*="576-767-5"]{width: 5%;} /* Very important that this is here, otherwise it will overwrite x5% */
	[data-module-block-columns*="576-767-95"]{width: 95%;}
	[data-module-block-columns*="576-767-90"]{width: 90%;}
	[data-module-block-columns*="576-767-85"]{width: 85%;}
	[data-module-block-columns*="576-767-80"]{width: 80%;}
	[data-module-block-columns*="576-767-75"]{width: 75%;}
	[data-module-block-columns*="576-767-70"]{width: 70%;}
	[data-module-block-columns*="576-767-66"]{width: 66.6666%;}
	[data-module-block-columns*="576-767-65"]{width: 65%;}
	[data-module-block-columns*="576-767-60"]{width: 60%;}
	[data-module-block-columns*="576-767-55"]{width: 55%;}
	[data-module-block-columns*="576-767-50"]{width: 50%;}
	[data-module-block-columns*="576-767-45"]{width: 45%;}
	[data-module-block-columns*="576-767-40"]{width: 40%;}
	[data-module-block-columns*="576-767-35"]{width: 35%;}
	[data-module-block-columns*="576-767-33"]{width: 33.3333%;}
	[data-module-block-columns*="576-767-30"]{width: 30%;}
	[data-module-block-columns*="576-767-25"]{width: 25%;}
	[data-module-block-columns*="576-767-20"]{width: 20%;}
	[data-module-block-columns*="576-767-15"]{width: 15%;}
	[data-module-block-columns*="576-767-10"]{width: 10%;}
	[data-module-block-columns*="576-767-100"]{width: 100%;} /* Very important that this is here, so that it overwrites 10% */

	[data-module-block-columns*="576-767-"] .container
	{
		/* Disabling padding+margin from the container */
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
	[data-module-block-columns*="576-767-100-full"] .container,
	[data-module-block-columns*="576-767-95-full"] .container,
	[data-module-block-columns*="576-767-90-full"] .container,
	[data-module-block-columns*="576-767-85-full"] .container,
	[data-module-block-columns*="576-767-80-full"] .container,
	[data-module-block-columns*="576-767-75-full"] .container,
	[data-module-block-columns*="576-767-70-full"] .container,
	[data-module-block-columns*="576-767-66-full"] .container,
	[data-module-block-columns*="576-767-65-full"] .container,
	[data-module-block-columns*="576-767-60-full"] .container,
	[data-module-block-columns*="576-767-55-full"] .container,
	[data-module-block-columns*="576-767-50-full"] .container,
	[data-module-block-columns*="576-767-45-full"] .container,
	[data-module-block-columns*="576-767-40-full"] .container,
	[data-module-block-columns*="576-767-33-full"] .container,
	[data-module-block-columns*="576-767-35-full"] .container,
	[data-module-block-columns*="576-767-30-full"] .container,
	[data-module-block-columns*="576-767-25-full"] .container,
	[data-module-block-columns*="576-767-20-full"] .container,
	[data-module-block-columns*="576-767-15-full"] .container,
	[data-module-block-columns*="576-767-10-full"] .container,
	[data-module-block-columns*="576-767-5-full"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}

	/* Floating */
	[data-module-block-columns*="576-767-100-floating"]
	{
		width: auto;
		margin: 0 auto;
		z-index: 1; /* Not really sure about this */
	}
	[data-module-block-columns*="576-767-100-floating"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}
}

@media screen and (max-width: 575.98px)
{
	[data-module-block-columns*="0-575-"]
	{
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding-left: 15px;
		padding-right: 15px;
	}

	[data-module-block-columns*="0-575-5"]{width: 5%;} /* Very important that this is here, otherwise it will overwrite x5% */
	[data-module-block-columns*="0-575-95"]{width: 95%;}
	[data-module-block-columns*="0-575-90"]{width: 90%;}
	[data-module-block-columns*="0-575-85"]{width: 85%;}
	[data-module-block-columns*="0-575-80"]{width: 80%;}
	[data-module-block-columns*="0-575-75"]{width: 75%;}
	[data-module-block-columns*="0-575-70"]{width: 70%;}
	[data-module-block-columns*="0-575-66"]{width: 66.6666%;}
	[data-module-block-columns*="0-575-65"]{width: 65%;}
	[data-module-block-columns*="0-575-60"]{width: 60%;}
	[data-module-block-columns*="0-575-55"]{width: 55%;}
	[data-module-block-columns*="0-575-50"]{width: 50%;}
	[data-module-block-columns*="0-575-45"]{width: 45%;}
	[data-module-block-columns*="0-575-40"]{width: 40%;}
	[data-module-block-columns*="0-575-35"]{width: 35%;}
	[data-module-block-columns*="0-575-33"]{width: 33.3333%;}
	[data-module-block-columns*="0-575-30"]{width: 30%;}
	[data-module-block-columns*="0-575-25"]{width: 25%;}
	[data-module-block-columns*="0-575-20"]{width: 20%;}
	[data-module-block-columns*="0-575-15"]{width: 15%;}
	[data-module-block-columns*="0-575-10"]{width: 10%;}
	[data-module-block-columns*="0-575-100"]{width: 100%;} /* Very important that this is here, so that it overwrites 10% */

	[data-module-block-columns*="0-575-"] .container
	{
		/* Disabling padding+margin from the container */
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
	[data-module-block-columns*="0-575-100-full"] .container,
	[data-module-block-columns*="0-575-95-full"] .container,
	[data-module-block-columns*="0-575-90-full"] .container,
	[data-module-block-columns*="0-575-85-full"] .container,
	[data-module-block-columns*="0-575-80-full"] .container,
	[data-module-block-columns*="0-575-75-full"] .container,
	[data-module-block-columns*="0-575-70-full"] .container,
	[data-module-block-columns*="0-575-66-full"] .container,
	[data-module-block-columns*="0-575-65-full"] .container,
	[data-module-block-columns*="0-575-60-full"] .container,
	[data-module-block-columns*="0-575-55-full"] .container,
	[data-module-block-columns*="0-575-50-full"] .container,
	[data-module-block-columns*="0-575-45-full"] .container,
	[data-module-block-columns*="0-575-40-full"] .container,
	[data-module-block-columns*="0-575-33-full"] .container,
	[data-module-block-columns*="0-575-35-full"] .container,
	[data-module-block-columns*="0-575-30-full"] .container,
	[data-module-block-columns*="0-575-25-full"] .container,
	[data-module-block-columns*="0-575-20-full"] .container,
	[data-module-block-columns*="0-575-15-full"] .container,
	[data-module-block-columns*="0-575-10-full"] .container,
	[data-module-block-columns*="0-575-5-full"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}

	/* Floating */
	[data-module-block-columns*="0-575-100-floating"]
	{
		width: auto;
		margin: 0 auto;
		z-index: 1; /* Not really sure about this */
	}
	[data-module-block-columns*="0-575-100-floating"] .container
	{
		/* Disabling max-width */
		max-width: 100%;
	}
}
div[data-module-block-type="search"] .search-outer-container
{
	display: flex;
	flex-direction: column;
}

[data-module-block-type="search"] .search-inner-container
{
	width: 100%;
	position: relative;
}

[data-module-block-type="search"] .search-input
{
	border-radius: 25px;
	height: 50px;
	padding-left: 20px;
	padding-right: 45px; /* Making room for the icon */
}

[data-module-block-type="search"] .icon-container
{
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	color: #808080;
}

[data-module-block-type="search"] .search-overlay
{
	display: none;
	background-color: #FFFFFF;
	margin-top: 15px;
	box-shadow: 0 0 15px #000000;
	position: absolute;
	width: calc(100% - 30px); /* -30px to counteract the padding from container */
	max-height: 650px;
	overflow-y: auto;
	z-index: 99999999999999999999; /* Above everything else */
}

[data-module-block-type="search"] .search-overlay.show-search
{
	display: block;
}
[data-module-block-type="slider"] .module-block
{
	/* We do not want the default 15px padding that .container adds */
	padding-right: 0;
	padding-left: 0;
}

[data-module-block-type="slider"] .carousel-cell
{
	overflow: hidden;
	position: relative;
}

[data-module-block-type="slider"] .carousel-cell.has-image .slider-image
{
	/* Not super sure about this */
	max-height: 100%;
	max-width: 100%;
	height: 400px; /* Default, can be overwritten */
}

[data-module-block-type="slider"] .carousel-cell.has-image .carousel-cell-content
{
	/* We need to overlay the image */
	position: absolute;
	width: 100%;
	height: 100%;
}

.flickity-viewport a
{
	/* Don't want "blue" text */
	color: inherit;
}
.module-block.text-block .image-container
{
	/* Image to the right */
	max-width: 30%;
	float: right;
	padding: 0 0 5px 15px;
}
.module-block.text-block[data-desktop-horizontal-position='left'] .image-container
{
	/* Image to the left */
	float: left;
	padding: 0 25px 5px 0;
}
[data-module-block-type="text"]:after
{
	/* Clearing the float */
	clear: both;
	display: block;
	content: "";
}

.module-block.text-block[data-image-border-radius-50-percent='1'] .image-container img
{
	/* Image should have a border-radius of 50 % */
	border-radius: 50%;
}

/* If the image+text should be centered */
.module-block.text-block[data-image-text-relation='centered'] .text-block-inner-container
{
	display: flex;
	align-items: center;
	width: 80%;
	margin: 0 auto;
}
.module-block.text-block[data-image-text-relation='centered'] .image-container,
.module-block.text-block[data-image-text-relation='centered'] .content
{
	width: 100%;
	float: none !important;
}
.module-block.text-block[data-image-text-relation='centered'][data-desktop-horizontal-position='right'] .image-container
{
	order: 2;
}

/* "forced" image max widths */
.module-block.text-block[data-desktop-size='10'] .image-container{max-width:10%}
.module-block.text-block[data-desktop-size='20'] .image-container{max-width:20%}
.module-block.text-block[data-desktop-size='30'] .image-container{max-width:30%}
.module-block.text-block[data-desktop-size='40'] .image-container{max-width:40%}
.module-block.text-block[data-desktop-size='50'] .image-container{max-width:50%}
.module-block.text-block[data-desktop-size='60'] .image-container{max-width:60%}
.module-block.text-block[data-desktop-size='70'] .image-container{max-width:70%}
.module-block.text-block[data-desktop-size='80'] .image-container{max-width:80%}
@media screen and (max-width: 768.98px)
{
	.module-block.text-block .text-block-inner-container
	{
		display: flex;
		flex-direction: column;
		width: 100% !important;
	}

	/* On small screens the image should always have 100 % width */
	.module-block.text-block .image-container
	{
		float: none;
		text-align: center;
		max-width: 100% !important;
		padding: 0 0 15px 0 !important;
		order: 0 !important;
	}

	/* If the image should be shown at the bottom, we do so */
	.module-block.text-block[data-mobile-vertical-position='bottom'] .image-container
	{
		order: 2 !important;
		padding: 15px 0 0 0 !important;
	}
	/* /If the image should be shown at the bottom, we do so */
}

.module-block.text-block .image-container img
{
	width: 100%;
}
.module-block.usp
{
	/* We do not want the default 15px padding that .container adds */
	padding-right: 0;
	padding-left: 0;
}

.module-block.usp .usp-title::after
{
	/* We don't want the underline on the USP header */
	border-bottom: none !important;
}

.module-block.usp .usp-box
{
	text-align: center;
	justify-content: center;
}
.module-block.usp .usp-box a
{
	color: inherit;
	text-decoration: none;
}

.module-block.usp .usp-box.has-title .usp-box-icon,
.module-block.usp .usp-box.has-text .usp-box-icon
{
	/* If the USP has title or text, we add some margin to the icon */
	margin-bottom: 1rem;
}
.module-block.usp .usp-box .usp-box-icon .icon
{
	color: #000000;
	font-size: 4rem;
	vertical-align: middle;
}
.module-block.usp .usp-box .usp-box-icon img
{
	height: 4rem;
}

.module-block.usp .usp-box .usp-box-title
{
	color: #000000;
	font-size: 2rem;
	margin-bottom: 10px;
	overflow-wrap: break-word;
}
.module-block.usp .usp-box.has-text .usp-box-title::after
{
	/* Only underline if there's actually text below */
	content: "";
	display: block;
	margin: 0 auto;
	width: 25%;
	padding-top: 5px;
	border-bottom: 1px solid #babb9b;
}

.module-block.usp .usp-box .usp-box-text
{
	color: #646E73;
}

/*****************/
/* Boxes per row */
/*****************/
.module-block.usp .usp-boxes-container
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.module-block.usp .usp-boxes-container .usp-box
{
	/* Standard */
	width: 33.333333%;
	align-items: center;
	padding: 1rem;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="1"] .usp-box
{
	/* 1 per row */
	width: 100%;
	padding-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="1"] .usp-box:nth-of-type(-n+1)
{
	/* First should have no padding top */
	padding-top: 0;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="2"] .usp-box
{
	/* 2 per row */
	width: 50%;
	padding-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="2"] .usp-box:nth-of-type(-n+2)
{
	/* First 2 should have no padding top */
	padding-top: 0;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="3"] .usp-box
{
	/* 3 per row */
	width: 33.333333%;
	padding-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="3"] .usp-box:nth-of-type(-n+3)
{
	/* First 3 should have no padding top */
	padding-top: 0;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="4"] .usp-box
{
	/* 4 per row */
	width: 25%;
	padding-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="4"] .usp-box:nth-of-type(-n+4)
{
	/* First 4 should have no padding top */
	padding-top: 0;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="5"] .usp-box
{
	/* 5 per row */
	width: 20%;
	padding-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="5"] .usp-box:nth-of-type(-n+5)
{
	/* First 5 should have no padding top */
	padding-top: 0;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="6"] .usp-box
{
	/* 6 per row */
	width: 16.66666667%;
	padding-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="6"] .usp-box:nth-of-type(-n+6)
{
	/* First 6 should have no padding top */
	padding-top: 0;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="auto_fit"]
{
	/* Auto fit */
	justify-content: space-evenly;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="auto_fit"] .usp-box
{
	/* Auto fit */
	width: auto;
}

@media screen and (max-width: 991.98px)
{
	.module-block.usp .usp-boxes-container .usp-box
	{
		/* Standard */
		width: 50%;
	}
}

@media screen and (max-width: 767.98px)
{
	.module-block.usp .usp-boxes-container[data-elements-per-row="standard"]
	{
		/* Standard */
		justify-content: normal;
	}

	.module-block.usp .usp-boxes-container[data-elements-per-row="standard"] .usp-box
	{
		/* Standard */
		width: 100%;
	}
}

.module-block.usp .usp-boxes-container[data-elements-per-row="1_slide_up"]
{
	/* Slide */
	display: block;
	overflow-anchor: none;
}

.module-block.usp .usp-boxes-container[data-elements-per-row="1_slide_up"] .usp-box
{
	/* Slide */
	width: 100%;
	padding: 0;
	display: flex;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="1_slide_up"][data-icon-position="over"] .usp-box
{
	/* Slide - When icon position is over, we switch to a column layout */
	flex-direction: column;
}
.module-block.usp .usp-boxes-container[data-elements-per-row="1_slide_up"]:not([data-slide-up-set-up="1"]) .usp-box:not(:first-of-type)
{
	/* Slide - Hiding all but the first */
	display: none;
}

/*****************/
/* Icon position */
/*****************/

/* Left */
.module-block.usp .usp-boxes-container[data-icon-position="left"] .usp-box,
.module-block.usp .usp-boxes-container[data-icon-position="left"] .usp-box > a
{
	display: flex;
	align-items: center;
	text-align: left;
}
.module-block.usp .usp-boxes-container[data-icon-position="left"] .usp-box .usp-box-title
{
	margin-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-icon-position="left"] .usp-box .usp-box-title::after
{
	display: none !important; /* The "underline" just looks weird */
}

.module-block.usp .usp-boxes-container[data-icon-position="left"] .usp-box.has-title .usp-box-icon,
.module-block.usp .usp-boxes-container[data-icon-position="left"] .usp-box.has-text .usp-box-icon
{
	/* Box has title/text and icon */
	padding-right: 1rem; /* We add some padding to the icon */
	margin-bottom: 0; /* Removed the margin at the bottom, otherwise we can't align the text */
}

/* Right */
.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box,
.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box > a
{
	display: flex;
	align-items: center;
	text-align: right;
}
.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box .usp-box-title
{
	margin-bottom: 0;
}
.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box .usp-box-title::after
{
	display: none !important; /* The "underline" just looks weird */
}
.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box .usp-box-icon
{
	/* Icon should be to the right */
	order: 2;
}

.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box.has-title .usp-box-icon,
.module-block.usp .usp-boxes-container[data-icon-position="right"] .usp-box.has-text .usp-box-icon
{
	/* Box has title/text and icon */
	padding-left: 1rem; /* We add some padding to the icon */
	margin-bottom: 0; /* Removed the margin at the bottom, otherwise we can't align the text */
}


/*****************************/
/* Small screens show only X */
/*****************************/
.module-block.usp .usp-boxes-container .usp-show-more-link
{
	display: none;
}

@media screen and (max-width: 767.98px)
{
	.module-block.usp .usp-boxes-container .usp-show-more-link
	{
		display: block;
		text-align: center;
		width: 100%;
		text-decoration: underline;
		cursor: pointer;
	}

	.module-block.usp .usp-boxes-container [data-usp-hide-on-small-screens="1"]
	{
		display: none;
	}
}
.newsletter-gdpr-text
{
	display: inline-block;
	font-weight: normal;
	text-decoration: underline;
}
.newsletter-gdpr-text.setup-done
{
	padding-top: 5px;
	cursor: pointer;
}

#basket_newsletter_accept_label .newsletter-gdpr-text.setup-done
{
	/* Not in the basket (on the last "page") */
	padding-top: 0;
}
.page-title
{
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.page-box-container-multi-line
{
	/* Wrapper on the search page */
	margin-top: 1rem;
}
.page-box-container-multi-line > .page_box,
.page-box-container-multi-line > .page_box > .page-box-image-box-outer
{
	/* On the search page we want all boxes to have the same height */
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Inner container */
.page_box .page-box-image-box-outer
{
	position: relative;
	background-color: #000;
	overflow: hidden;
}

/* The box */
.page_box .page-box-image-box-outer > .page-box-image-box
{
	height: 10rem;
	width: 100%;
	background-color: #416E5F;
	border: 0;
}

/* The box, if an image is present */
.page_box.with_image .page-box-image-box-outer > .page-box-image-box
{
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.5;
}
.page_box.with_image .page-box-image-box-outer:hover > .page-box-image-box
{
	opacity: 0.8;
}

/* The text */
.page_box .page-box-image-box-outer > .text
{
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
body[data-page-type="landingpage"] header,
body[data-page-type="landingpage"] .topbar-above,
body[data-page-type="landingpage"] .topbar-below,
body[data-page-type="landingpage"] .bottombar-above,
body[data-page-type="landingpage"] .bottombar-below,
body[data-page-type="landingpage"] #container_footer
{
	display: none !important;
}
.modal.popup .modal-header,
.modal.popup .modal-footer
{
	/* We want a clean modal */
	display: none !important;
}

.modal.popup .modal-body
{
	/* The module-blocks will handle it themselves */
	padding: 0;
}

.modal.popup .modal-body .popup-close-button
{
	position: absolute;
	top: -16px;
	right: -16px;
	width: 32px;
	height: 32px;
	font-size: 32px;
	z-index: 999999999999999999;

	color: #FFFFFF;
	border-radius: 50%;
	padding: 1px 1px 4px 1px;
	cursor: pointer;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.8);
	background-color: rgba(0,0,0,0.8);


	font-family: Verdana, serif;
	display: flex;
	align-items: center;
	justify-content: center;

	transform: scale(0);
	animation: popup-close-button-animation ease 0.5s;
	animation-delay: 0.5s;
	animation-fill-mode: forwards; /* Keeps the final state */
}

@media screen and (max-width: 575.98px)
{
	.modal.popup .modal-body .popup-close-button
	{
		top: -8px;
		right: -8px;
	}
}

@keyframes popup-close-button-animation{
	0%
	{
		transform:  scale(0);
	}
	50%
	{
		transform:  scale(1.5);
	}
	100%
	{
		transform:  scale(1);
	}
}

.modal.popup .modal-body [data-module-block-type="text"] img[data-type="shopstart-image"]
{
	/* Wysiwyg images can easily be dragged beyond the borders of the modal, let's not */
	max-width: 100%;
}
@media print {
	.hide-when-printing
	{
		display: none !important;
	}
}
/** Search overlay **/
#search-overlay-veil
{
	position: fixed;
	top: 0;
	z-index: 20000; /* Very little should be above this */
	width: 100vw;
	height: 100vh;
	opacity: 0;
	background-color: #000;

	transition: opacity .25s;
}

#search-overlay-outer-container
{
	position: fixed;
	top: 1.5em;
	left: 50%;
	transform: translateX(-50%);
	z-index: 20001; /* Just above #search-overlay-veil */
	max-width: 800px;
}

#search-overlay-input-container
{
	width: 0;
	flex-wrap: nowrap;
	padding: 5px;
	background-color: rgba(0,0,0,0.5);
}

/* Removing rounded corners */
#search-overlay-input,
#search-overlay-button
{
	border-radius: 0;
}

#search-overlay-input-container.transitioning
{
	position: absolute;
	left: 50% !important;
	transform: translateX(-50%) !important;

	transition: width .25s, padding .25s;

	overflow: hidden;
}

#search-overlay-input-container.transitioning.closing
{
	padding: 0;
}

#search-overlay-input
{
	box-shadow: none;
}

#search-overlay-input-container .search-icon
{
	cursor: pointer;
}

#search_overlay
{
	overflow: auto;
	max-height: 75vh;
	visibility: hidden;
	position: relative;
	width: inherit;
	background-color: #FFF;
	border: 1px solid #CCC;
	z-index: 9999; /* Very little should be above this */

	transition: height .25s, padding .25s, border .25s;
}

.search_overlay_single
{
	clear: both;
	font-size: 1.2em;
}

.search_overlay_single.active,
.search_overlay_single:hover
{
	background-color: #E6E6E6;
}

.search_overlay_single > a
{
	/* Link color */
	color: inherit;
	text-decoration: none;
}

.search_overlay_single.active a,
.search_overlay_single > a:hover,
.search_overlay_single > a:focus
{
	/* Link color when container is active/hovered */
	color: #999999;
}

.search_overlay_single > div
{
	padding: 0.5em;
}

.search_overlay_single > a > div
{
	padding: 0.5em;
	display: flex;
}

.search_overlay_single .text,
.search_overlay_single .text div
{
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.search_overlay_single .text .sub-text
{
	font-size: 0.8em;
}

.search_overlay_single .image
{
	flex: 0 0 60px;
	padding-right: 5px;
}

.search_overlay_single .image img
{
	max-width: 100%;
	max-height: 60px;
}

/* The CSS for the "limit search to selected category" checkbox */
.search_overlay_single.limit-search-to-selected-category-container
{
	cursor: pointer;
	border-bottom: 1px solid rgba(204, 204, 204, 0.15);
}

.search_overlay_single.limit-search-to-selected-category-container label
{
	padding: 0.5em;
	cursor: pointer;
	display: flex;
	gap: 5px;
	align-items: center;
	justify-content: space-between;
	word-break: break-all;
}

.search_overlay_single.limit-search-to-selected-category-container label > div > div:first-child
{
	font-style: italic;
	font-size: 0.8em;
}

.search_overlay_single.limit-search-to-selected-category-container label > div > div:nth-child(2)
{
	font-weight: bold;
}

.search_overlay_single.limit-search-to-selected-category-container label input
{
	flex-shrink: 0;
	cursor: pointer;
	width: 1.5em;
	height: 1.5em;
}
select.selectpicker
{
	/* Hidden until library has loaded */
	display: none;
}

.bootstrap-select > button.btn.dropdown-toggle
{
	/* Overwriting the default colors so it looks more like a regular select */
	color: rgb(73, 80, 87);
	background-color: rgb(255, 255, 255);
	border-color: rgb(206, 212, 218);
}
a[data-type="share-button"][data-share-type]
{
	cursor: pointer;
}

a[data-type="share-button"][data-share-type="facebook"]
{
	color: #3a5897;
}

a[data-type="share-button"][data-share-type="twitter"]
{
	color: #2fc7f2;
}

a[data-type="share-button"][data-share-type="pinterest"]
{
	color: #f01951;
}

a[data-type="share-button"][data-share-type="linkedin"]
{
	color: #0077b5;
}
.topbar-above .section-in-main-container /* Important that it is a class instead of an id, otherwise it's too specific, and we cannot overwrite it */
{
    /* Sections in the topbar-above should default to a lot less padding */
    padding: 5px 0;
}

.topbar-below .section-in-main-container /* Important that it is a class instead of an id, otherwise it's too specific, and we cannot overwrite it */
{
    /* Sections in the topbar-below should default to a lot less padding */
    padding: 5px 0;
}
/* Contains rules related to WYSIWYG (summernote) */
img.note-float-left
{
    margin-right: 10px;
}
img.note-float-right
{
    margin-left: 10px;
}
body.basket-slide-in-container-visible
{
	overflow: hidden;
}

#basket-slide-in-veil
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10000;
	background-color: #000;
	opacity: 0;

	transition: opacity .5s ease-in-out;
}

#basket-slide-in-outer-container
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	z-index: 10001;
	overflow-x: hidden;
	overflow-y: auto;
}

#basket-slide-in-container
{
	padding: 0 1rem 100px 1rem; /* The 100px are to make room for the chat icon */
	position: absolute;
	top: 0;
	right: -300px;
	width: 300px;
	min-height: 100vh;
	background-color: #fff;
	border-left: 1px solid #e5e5e5;

	transition: right .5s ease-in-out;
}

#basket-slide-in-container .header
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#basket-slide-in-container .header .title
{
	text-transform: uppercase;
	font-size: 1.5rem;
}

#basket-slide-in-container .header .close-button
{
	font-size: 2rem;
	padding: 1rem;
	cursor: pointer;
}

#basket-slide-in-container .header .close-button:hover
{
	opacity: 0.5;
}

#basket-slide-in-container .items-container .item-container:first-child
{
	padding-top: 0;
}

#basket-slide-in-container .items-container .item-container
{
	display: flex;
	border-bottom: 1px dashed #e5e5e5;
	padding: 1rem 0;
}

#basket-slide-in-container .items-container .item-container:last-child
{
	border-bottom-style: solid;
}

#basket-slide-in-container .items-container .right
{
	width: 100%;
}

#basket-slide-in-container .items-container img
{
	max-height: 200px;
	max-width: 75px;
	padding-right: 15px;
}

#basket-slide-in-container .items-container .image-substitute
{
	height: 50px;
	width: 60px;
	margin-right: 15px;
	border: 1px solid grey;
}

#basket-slide-in-container .items-container .title
{
	display: block;
	color: #000000;
	font-size: 1.1rem;
	overflow-wrap: break-word;
}
#basket-slide-in-container .items-container .sub-title
{
	color: #000000;
	overflow-wrap: break-word;
}
#basket-slide-in-container .items-container .price
{
	display: inline;
	font-size: 1.2rem;
}

/* Quantity container */
#basket-slide-in-container .items-container .quantity-container
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 15px;
}
#basket-slide-in-container .items-container .quantity-container .quantity-up-down-container
{
	display: flex;
	align-items: center;
	line-height: 1;
	border: 1px solid lightgray;
	border-radius: 3px;
	padding: 6px 4px;
	font-size: 0.8em;
	color: #383838;
}
#basket-slide-in-container .items-container .quantity-container .quantity-up-down-container .down,
#basket-slide-in-container .items-container .quantity-container .quantity-up-down-container .up
{
	cursor: pointer;
	padding: 0 8px;
	font-size: 1.4em;
}
#basket-slide-in-container .items-container .quantity-container .quantity-up-down-container .quantity
{
	min-width: 5ch;
	text-align: center;
}
#basket-slide-in-container .items-container .quantity-container .remove-item-button
{
	cursor: pointer;
	text-decoration: underline;
	font-size: 0.6em;
}

/* Items total */
#basket-slide-in-container .items-total
{
	display: flex;
	justify-content: space-between;
	font-size: 1.5rem;
	padding: 1rem 0;
}

#basket-slide-in-container .go-to-basket-button
{
	text-transform: uppercase;
	font-size: 1.5rem;
	width: 100%;
}

#basket-slide-in-container button.close-button,
#basket-slide-in-container a.cancel-button
{
	margin-top: 1rem;
	text-transform: uppercase;
	font-size: 1.5rem;
	width: 100%;
}

#basket-slide-in-container .items-volume-discount-upsell,
#basket-slide-in-container .items-volume-discount-saved,
#basket-slide-in-container .items-discount-saved
{
	white-space: normal;
	font-size: 0.8rem;
	color: #000000;
}

#basket-slide-in-container .left-until-free-shipping
{
	padding-bottom: 1rem;
	text-align: center;
	font-size: 1.25rem;
	color: #31a109;
}
/* Quantity and buy container */
.item-page .item-quantity-and-buy-button-container
{
	display: flex;
	align-items: stretch;
	font-size: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

/* Quantity */
.item-page .item-quantity-selector-container
{
	color: #A19F71;
	display: inline-flex;
	align-items: center;
	border: 1px solid #A19F71;
	margin-right: 2rem;
	margin-bottom: 1rem;
}
.item-page[data-hide-quantity-select="1"] .item-quantity-selector-container
{
	/* Need to hide the quantity selection part */
	display: none !important;
}
.item-page .item-quantity-selector-less,
.item-page .item-quantity-selector-more
{
	padding: 0.8rem 1rem;
}

.item-page .item-quantity-selector-input
{
	border: 0;
	margin: 0 0.5ch;
	text-align: center;
	max-width: 10ch;
	-moz-appearance: textfield; /* Get rid of the up/down arrows (called spinners?) - In Firefox */
}

.item-page .item-quantity-selector-input::-webkit-inner-spin-button
{
	/* Get rid of the up/down arrows (called spinners?) - In Webkit browsers */
	-webkit-appearance: none;
}

/* Buy button */
.item-page .item-buy-button
{
	cursor: pointer;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3rem;
	border-radius: 2rem;
	background-color: #999766;
	height: 4rem;

	transition: background-color .15s ease-in-out, color .15s ease-in-out, border-color .15s ease-in-out;
}
.item-page .item-buy-button:hover
{
	background-color: #535135;
}
.item-box.with-image.image-flip .image-1,
.item-box.with-image.image-flip .image-2
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition:	opacity 0.3s ease-in-out;
}

.item-box.with-image.image-flip img
{
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
}
.item-box.with-image.image-flip[data-images-size="contain"] img
{
	object-fit: contain;
}

.item-box.with-image.image-flip .image-2
{
	opacity: 0;
}
.item-box.with-image.image-flip .item-box-image-box:hover .image-1
{
	opacity: 0;
}
.item-box.with-image.image-flip .item-box-image-box:hover .image-2
{
	opacity: 1;
}
[data-slide-in-element-direction]
{
	opacity: 0;
}
[data-slide-in-element-status]
{
	--slide-in-element-animation-name: none;
}
[data-slide-in-element-status][data-slide-in-element-direction="bottom"]
{
	--slide-in-element-animation-name: slide-in-animation-bottom;
}
[data-slide-in-element-status][data-slide-in-element-direction="right"]
{
	--slide-in-element-animation-name: slide-in-animation-right;
}
[data-slide-in-element-status][data-slide-in-element-direction="left"]
{
	--slide-in-element-animation-name: slide-in-animation-left;
}

[data-slide-in-element-status="executed"]
{
	opacity: 1;
	animation-fill-mode: none;
	animation-duration: 750ms;
	animation-name: var(--slide-in-element-animation-name);
}

@keyframes slide-in-animation-bottom
{
	0%   { opacity: 0; transform: translate3d(0, 25px, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes slide-in-animation-right
{
	0%   { opacity: 0; transform: translate3d(25px, 0, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes slide-in-animation-left
{
	0%   { opacity: 0; transform: translate3d(-25px, 0, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}
[data-page-type="item"] .back-in-stock-signup-button
{
	margin: 2rem 0;
}
.item-page .characteristics
{
	display: table;
}

.item-page .characteristics .characteristic
{
	display: table-row;
}

.item-page .characteristics .characteristic > *
{
	padding: 1rem;
}

.item-page .characteristics .characteristic:first-child > *
{
	padding-top: 0 !important;
}
.item-page .characteristics .characteristic:last-child > *
{
	padding-bottom: 0 !important;
}

.item-page .characteristics .characteristic .title
{
	display: table-cell;
	padding: 1rem 1rem 1rem 0;
	font-weight: bold;
}
.item-page .characteristics .characteristic .value
{
	display: table-cell;
	padding: 1rem 0 1rem 1rem;
}

@media screen and (max-width: 767.98px)
{
	.item-page .characteristics
	{
		display: block;
	}

	.item-page .characteristics .characteristic
	{
		display: block;
	}

	.item-page .characteristics .characteristic .title,
	.item-page .characteristics .characteristic .value
	{
		display: block;
		padding: 0 0 1rem 0;
	}
}
.item-page .item-custom-fields-container
{
	margin-bottom: 5px;
}
.item-page .item-custom-fields-container .form-control
{
	border-radius: initial;
}
.item-page .options-groups-outer-container .option-group-container
{
	margin-bottom: 1rem;
}

.item-page .options-groups-outer-container .option-group-container .option-group-title
{
	font-weight: bold;
}

.item-page .options-groups-outer-container .option-group-container.validation-failed .option-group-title
{
	color: red;
	font-size: 1.2em;
}

/* Each individual checkbox */
.item-page .options-groups-outer-container .option-group-container .option-group-checkbox-container
{
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: .25em;
}

.item-page .options-groups-outer-container .option-group-container .option-group-checkbox-container input
{
	flex-shrink: 0;
	cursor: pointer;
	width: 2em;
	height: 2em;
	margin: 0;
}

.item-page .options-groups-outer-container .option-group-container .option-group-checkbox-container .option-group-item-title
{
	/* To force anchors to have the same color */
	color: inherit;
}

.item-page .options-groups-outer-container .option-group-container .option-group-checkbox-container .option-group-select-variant
{
	/* We want underscore on the link AND we do want it keep its color */
	text-decoration: underline;
	color: inherit;
}

.item-page .options-groups-outer-container .option-group-container .option-group-checkbox-container .option-group-item-price
{
	font-weight: bold;
	white-space: nowrap;
}

.item-page .options-groups-outer-container .option-group-container .option-group-checkbox-container:last-child
{
	margin-bottom: 0;
}
.item-page #item-previous-next-container
{
	float: right;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	text-transform: uppercase;
}

.item-page #item-previous-next-container .text
{
	padding: 0 1rem;
}

.item-page #item-previous-next-container .no-link
{
	cursor: auto;
	pointer-events: none;
	opacity: 0.5;
}

@media screen and (max-width: 575.98px)
{
	.item-page #item-previous-next-container
	{
		float: none;
		justify-content: space-between;
	}
}
.item-page .item-ratings-top
{
	display: block;
	text-decoration: none;
}
.item-page .item-ratings-top .stars
{
	display: inline-flex;
	color: #fbcd0b;
}
.item-page .item-ratings-top .stars .star
{
	margin: 0 1px;
}
.item-page .item-ratings-top .stars .star:first-of-type
{
	margin-left: 0;
}
.item-page .item-ratings-top .stars .star:last-of-type
{
	margin-right: 5px;
}
.item-page .item-ratings-top .number
{
	display: inline-block;
}

.item-page .items-ratings-outer-container
{
	margin: 2rem 0;
	padding: 1rem;
	border: 1px solid orange;
}

.item-page .items-ratings-outer-container > .title
{
	font-weight: bold;
	font-size: 1.3rem;
}

.item-page .items-ratings-outer-container .reply-container
{
	border: solid 1px gray;
	border-radius: 8px;
	background-color: #f0f0f0;
	padding: 0.8em;
	margin-left: 0.5em;
	margin-top: 15px;
}

.item-page .items-ratings-outer-container .reply-container .reply-title
{
	font-weight: bold;
}

.item-page .items-ratings-outer-container .rating-write-button
{
	float: right;
}

.item-page .items-ratings-outer-container .rating-write-button-mobile
{
	float: none;
	display: none;
}

.item-page .items-ratings-outer-container .ratings-totals-container
{
	display: flex;
	padding-bottom: 50px;
}

.item-page .items-ratings-outer-container .ratings-totals-container .left-side
{
	border-right: 1px solid gainsboro;
}

.item-page .items-ratings-outer-container .ratings-totals-container .left-side .stars
{
	display: flex;
	font-size: 1.25rem;
	color: #fbcd0b;
}
.item-page .items-ratings-outer-container .ratings-totals-container .left-side .stars .star
{
	margin: 0 5px;
}
.item-page .items-ratings-outer-container .ratings-totals-container .left-side .stars .star:first-of-type
{
	margin-left: 0;
}

.item-page .items-ratings-outer-container .ratings-totals-container .left-side .based-on-text
{
	white-space: nowrap;
	padding-right: 15px;
}

.item-page .items-ratings-outer-container .ratings-totals-container .right-side
{
	padding-left: 15px;
}

.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container
{
	display: flex;
	align-items: center;
	font-size: 1.25rem;
}
.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container .star
{
	margin: 0 5px;
}
.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container .star:first-of-type
{
	margin-left: 0;
}

.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container .progress-container
{
	width: 150px;
	height: 22px;
	border: 1px solid #ddd;
	margin: 0 5px;
}

.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container .progress-container .progression
{
	height: 100%;
	background-color: #fbcd0b;
}

.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container .percentage
{
	width: 3rem;
	margin-right: 5px;
}

.item-page .items-ratings-outer-container .ratings-container .rating
{
	border-top: 1px solid #ddd;
	padding: 15px 0;
}
.item-page .items-ratings-outer-container .ratings-container .rating:last-of-type
{
	padding-bottom: 0;
}

.item-page .items-ratings-outer-container .ratings-container .stars
{
	display: inline-flex;
	align-items: center;
	font-size: 1.25rem;
	color: #fbcd0b;
}
.item-page .items-ratings-outer-container .ratings-container .stars .star
{
	margin: 0 5px;
}

.item-page .items-ratings-outer-container .ratings-container .date
{
	display: inline-block;
}

.item-page .items-ratings-outer-container .ratings-container .name
{
	font-size: 1.1rem;
	display: inline-block;
	font-weight: bold;
}

.item-page .items-ratings-outer-container .ratings-container .title
{
	font-weight: bold;
}


@media screen and (max-width: 991.98px)
{
	.item-page .items-ratings-outer-container .ratings-totals-container
	{
		flex-direction: column;
	}

	.item-page .items-ratings-outer-container .ratings-totals-container .left-side
	{
		border: none;
		padding-bottom: 15px;
	}

	.item-page .items-ratings-outer-container .ratings-totals-container .right-side
	{
		padding-left: 0;
	}

	.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container
	{
		font-size: 1rem;
		padding-bottom: 5px;
	}

	.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container .star
	{
		padding: 0 2px;
	}

	.item-page .items-ratings-outer-container .rating-write-button
	{
		display: none;
	}

	.item-page .items-ratings-outer-container .rating-write-button-mobile
	{
		width: 100%;
		display: block;
	}
}

@media screen and (max-width: 575.98px)
{
	.item-page .items-ratings-outer-container .ratings-totals-container .right-side .stars-and-progress-container
	{
		font-size: 0.9rem;
	}
}

/* Modal */
.modal.item-ratings label
{
	font-weight: bold;
	font-size: 1.2rem;
}

.modal.item-ratings .stars
{
	font-size: 1.5rem;
	color: #fbcd0b;
}

.modal.item-ratings .stars .star
{
	cursor: pointer;
	margin: 0 5px;
}
.modal.item-ratings .stars .star:first-of-type
{
	margin-left: 0;
}
.item-share-buttons-container
{
	font-size: 1.5em;
}

.item-share-buttons-container a+a
{
	margin-left: 0.5em;
}
.item-page .tabs-outer-container
{
	margin-top: 15px;
	margin-bottom: 15px;
	width: 100%;
	padding-left: 0; /* Removing padding set by bootstrap */
	padding-right: 0; /* Removing padding set by bootstrap */
}

.item-page .tabs-outer-container .tabs-header
{
	display: inline-flex;
	overflow-x: auto;
	width: 100%;
}

.item-page .tabs-outer-container .tabs-header .tab-header
{
	color: #000000;
	cursor: pointer;
	padding: 1rem 2rem;
	background-color: #ececec;
	margin-left: 5px;
	white-space: nowrap;

	transition: color .15s ease-in-out, background-color .15s ease-in-out ; /* Animation */
}

.item-page .tabs-outer-container .tabs-header .tab-header:first-child
{
	/* First shouldn't have any left margin */
	margin-left: 0;
}

.item-page .tabs-outer-container .tabs-header .tab-header:hover,
.item-page .tabs-outer-container .tabs-header .tab-header.active
{
	/* This header is active */
	background-color: #828282;
	color: #FFFFFF;
}

.item-page .tabs-outer-container .tabs-body
{
	border: 1px solid #828282;
	padding: 2rem;
}

.item-page .tabs-outer-container .tabs-body .tab-body
{
	/* All bodies hidden */
	display: none;
}

.item-page .tabs-outer-container .tabs-body .tab-body.active
{
	/* Showing body */
	display: block;
}

.item-page .tabs-outer-container .tabs-body .tab-body p:last-child
{
	margin-bottom: 0;
}

@media screen and (max-width: 767.98px)
{
	.item-page .tabs-outer-container .tabs-header .tab-header
	{
		padding: .5rem 1rem;
	}
}
/* Buttons specific settings */
.item-variant-groups
{
	margin-bottom: 1em;
}

.item-variant-group-header
{
	font-weight: bold;
	font-size: 1.2em;
}

.item-variant-group-previous-group-not-selected-text
{
	display: none;
}
.item-variant-group.hidden .item-variant-group-previous-group-not-selected-text
{
	font-size: 0.8em;
	font-style: italic;
	display: block;
}

.item-variant-group-box-container
{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.item-variant-group-box:not(.content-is-image)
{
	color: #FFFFFF;
	background-color: #0C5460;
	display: inline-block;
	padding: 10px 25px;
	margin: 5px 2px;
	opacity: 0.5;
	cursor: pointer;
	border-radius: 25px;

	transition: opacity .15s ease-in-out;
}

.item-variant-group-box.content-is-image
{
	/* The content IS an image */
	background-color: transparent !important;
}
.item-variant-group-box.content-is-image img
{
	/* The content IS an image, so we need to tame it a little */
	width: 60px;
	height: 60px;
	object-fit: cover;
}

a.item-variant-group-box
{
	color: #FFFFFF;
}

.item-variant-group-box.selected,
.item-variant-group-box:hover
{
	color: #FFFFFF;
	opacity: 1;
	text-decoration: none;
}
.item-variant-group-box.sold-out
{
	/* Sold out is more important than selected and hover */
	opacity: 0.25;
}

.item-variant-group.disabled .item-variant-group-box,
.item-variant-group.disabled .item-variant-group-box:hover,
.item-variant-group-box.disabled,
.item-variant-group-box.disabled:hover
{
	/* Group or this box is disabled */
	cursor: initial;
	opacity: 0.15;
}

.item-variant-group.hidden .item-variant-group-box,
.item-variant-group .item-variant-group-box.hidden
{
	/* This group or box is hidden */
	display: none;
}

/* Dropdown specific settings */
.item-variant-groups-dropdowns,
.item-variant-groups-dropdowns .variant-groups-actual-select
{
	margin-bottom: 0.5rem;
}
.booking-outer-container
{
	display: inline-flex;
	gap: 20px;
	font-size: 1.1rem;
	margin-bottom: 1em;
}

.booking-outer-container .booking-calendar-container
{
	display: flex;
	flex-direction: column;
}

.booking-outer-container .booking-calendar-container .month-year-arrows-container
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 15px;
}

.booking-outer-container .booking-calendar-container .month-year-arrows-container .month-and-year
{
	padding: 5px;
}

.booking-outer-container .booking-calendar-container .month-year-arrows-container .arrow
{
	padding: 5px;
	cursor: pointer;
}

.booking-outer-container .booking-calendar-container table td
{
	width: 40px;
	height: 40px;
	text-align: center;
}

.booking-outer-container .booking-calendar-container table tbody td.week-number
{
	color: #9F9F9F;
	background-color: #F9F9F9;
	font-size: 0.7em;
}

.booking-outer-container .booking-calendar-container table tbody td.day-of-week:not(.date-in-the-past)
{
	position: relative;
	cursor: pointer;
}

.booking-outer-container .booking-calendar-container table tbody td.day-of-week.available::after
{
	/* Show a dot when this day has available times */
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #008000;

	position: absolute;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
}

.booking-outer-container .booking-calendar-container table tbody td.day-of-week.selected,
.booking-outer-container .booking-calendar-container table tbody td.day-of-week:hover
{
	background-color: #DDDDDD;
}

.booking-outer-container .booking-calendar-container table tbody td.day-of-week.not-current-month
{
	opacity: 0.5;
}

/* The time selection */
.booking-outer-container .booking-time-container
{
	width: 280px;
	text-align: center;
	align-self: center;
}
.booking-outer-container .booking-time-container.date-selected
{
	text-align: left;
	align-self: initial;
}

.booking-outer-container .booking-time-container .date
{
	padding-bottom: 30px;
}

.booking-outer-container .booking-time-container .available-times-container
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.booking-outer-container .booking-time-container .available-times-container .available-time
{
	width: 45%;
	padding: 5px 0;
	text-align: center;
	border: 1px solid black;
	cursor: pointer;
}

.booking-outer-container .booking-time-container .available-times-container .available-time.selected,
.booking-outer-container .booking-time-container .available-times-container .available-time:hover
{
	background-color: #dedede;
}

@media screen and (max-width: 991.98px)
{
	.booking-outer-container
	{
		flex-direction: column;
	}

	.booking-outer-container .booking-time-container
	{
		width: 350px;
	}

	.booking-outer-container .booking-time-container .available-times-container
	{
		justify-content: space-between;
	}
}

@media screen and (max-width: 400.98px)
{
	.booking-outer-container
	{
		width: 100%;
	}

	.booking-outer-container .booking-time-container
	{
		width: 100%;
	}

	.booking-outer-container .booking-calendar-container table td
	{
		width: 35px;
		height: 35px;
	}
}
@font-face {
	font-family: 'lg';
	src: url("/fonts/lightgallery/lg.eot?n1z373");
	src: url("/fonts/lightgallery/lg.eot?#iefixn1z373") format("embedded-opentype"), url("/fonts/lightgallery/lg.woff?n1z373") format("woff"), url("/fonts/lightgallery/lg.ttf?n1z373") format("truetype"), url("/fonts/lightgallery/lg.svg?n1z373#lg") format("svg");
	font-weight: normal;
	font-style: normal;
}
.lg-icon {
	font-family: 'lg';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.lg-actions .lg-next, .lg-actions .lg-prev {
	background-color: rgba(0, 0, 0, 0.45);
	border-radius: 2px;
	color: #999;
	cursor: pointer;
	display: block;
	font-size: 22px;
	margin-top: -10px;
	padding: 8px 10px 9px;
	position: absolute;
	top: 50%;
	z-index: 1080;
}
.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled {
	pointer-events: none;
	opacity: 0.5;
}
.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover {
	color: #FFF;
}
.lg-actions .lg-next {
	right: 20px;
}
.lg-actions .lg-next:before {
	content: "\e095";
}
.lg-actions .lg-prev {
	left: 20px;
}
.lg-actions .lg-prev:after {
	content: "\e094";
}

@keyframes lg-right-end {
	0% {
		left: 0;
	}
	50% {
		left: -30px;
	}
	100% {
		left: 0;
	}
}
@keyframes lg-left-end {
	0% {
		left: 0;
	}
	50% {
		left: 30px;
	}
	100% {
		left: 0;
	}
}
.lg-outer.lg-right-end .lg-object {
	animation: lg-right-end 0.3s;
	position: relative;
}
.lg-outer.lg-left-end .lg-object {
	animation: lg-left-end 0.3s;
	position: relative;
}

.lg-toolbar {
	z-index: 1082;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.45);
}
.lg-toolbar .lg-icon {
	color: #999;
	cursor: pointer;
	float: right;
	font-size: 24px;
	height: 47px;
	line-height: 27px;
	padding: 10px 0;
	text-align: center;
	width: 50px;
	text-decoration: none !important;
	outline: medium none;
	transition: color 0.2s linear;
}
.lg-toolbar .lg-icon:hover {
	color: #FFF;
}
.lg-toolbar .lg-close:after {
	content: "\e070";
}
.lg-toolbar .lg-download:after {
	content: "\e0f2";
}

.lg-sub-html {
	background-color: rgba(0, 0, 0, 0.45);
	bottom: 0;
	color: #EEE;
	font-size: 16px;
	left: 0;
	padding: 10px 40px;
	position: fixed;
	right: 0;
	text-align: center;
	z-index: 1080;
}
.lg-sub-html h4 {
	margin: 0;
	font-size: 13px;
	font-weight: bold;
}
.lg-sub-html p {
	font-size: 12px;
	margin: 5px 0 0;
}

#lg-counter {
	color: #999;
	display: inline-block;
	font-size: 16px;
	padding-left: 20px;
	padding-top: 12px;
	vertical-align: middle;
}

.lg-toolbar, .lg-prev, .lg-next {
	opacity: 1;
	transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
}

.lg-hide-items .lg-prev {
	opacity: 0;
	-webkit-transform: translate3d(-10px, 0, 0);
	transform: translate3d(-10px, 0, 0);
}
.lg-hide-items .lg-next {
	opacity: 0;
	-webkit-transform: translate3d(10px, 0, 0);
	transform: translate3d(10px, 0, 0);
}
.lg-hide-items .lg-toolbar {
	opacity: 0;
	-webkit-transform: translate3d(0, -10px, 0);
	transform: translate3d(0, -10px, 0);
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
	-webkit-transform: scale3d(0.5, 0.5, 0.5);
	transform: scale3d(0.5, 0.5, 0.5);
	opacity: 0;
	transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	opacity: 1;
}

.lg-outer .lg-thumb-outer {
	background-color: #0D0A0A;
	bottom: 0;
	position: absolute;
	width: 100%;
	z-index: 1080;
	max-height: 350px;
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
	transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}
.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
	cursor: grab;
}
.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
	cursor: grabbing;
}
.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
	transition-duration: 0s !important;
}
.lg-outer.lg-thumb-open .lg-thumb-outer {
	-webkit-transform: translate3d(0, 0%, 0);
	transform: translate3d(0, 0%, 0);
}
.lg-outer .lg-thumb {
	padding: 10px 0;
	height: 100%;
	margin-bottom: -5px;
}
.lg-outer .lg-thumb-item {
	border-radius: 5px;
	cursor: pointer;
	float: left;
	overflow: hidden;
	height: 100%;
	border: 2px solid #FFF;
	border-radius: 4px;
	margin-bottom: 5px;
}
@media (min-width: 1025px) {
	.lg-outer .lg-thumb-item {
		transition: border-color 0.25s ease;
	}
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
	border-color: #a90707;
}
.lg-outer .lg-thumb-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lg-outer.lg-has-thumb .lg-item {
	padding-bottom: 120px;
}
.lg-outer.lg-can-toggle .lg-item {
	padding-bottom: 0;
}
.lg-outer.lg-pull-caption-up .lg-sub-html {
	transition: bottom 0.25s ease;
}
.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
	bottom: 100px;
}
.lg-outer .lg-toggle-thumb {
	background-color: #0D0A0A;
	border-radius: 2px 2px 0 0;
	color: #999;
	cursor: pointer;
	font-size: 24px;
	height: 39px;
	line-height: 27px;
	padding: 5px 0;
	position: absolute;
	right: 20px;
	text-align: center;
	top: -39px;
	width: 50px;
}
.lg-outer .lg-toggle-thumb:after {
	content: "\e1ff";
}
.lg-outer .lg-toggle-thumb:hover {
	color: #FFF;
}

.lg-outer .lg-video-cont {
	display: inline-block;
	vertical-align: middle;
	max-width: 1140px;
	max-height: 100%;
	width: 100%;
	padding: 0 5px;
}
.lg-outer .lg-video {
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	position: relative;
}
.lg-outer .lg-video .lg-object {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.lg-outer .lg-video .lg-video-play {
	width: 84px;
	height: 59px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -42px;
	margin-top: -30px;
	z-index: 1080;
	cursor: pointer;
}
.lg-outer .lg-has-vimeo .lg-video-play {
	background: url("/images/idealshop/lightgallery/vimeo-play.png") no-repeat scroll 0 0 transparent;
}
.lg-outer .lg-has-vimeo:hover .lg-video-play {
	background: url("/images/idealshop/lightgallery/vimeo-play.png") no-repeat scroll 0 -58px transparent;
}
.lg-outer .lg-has-html5 .lg-video-play {
	background: transparent url("/images/idealshop/lightgallery/video-play.png") no-repeat scroll 0 0;
	height: 64px;
	margin-left: -32px;
	margin-top: -32px;
	width: 64px;
	opacity: 0.8;
}
.lg-outer .lg-has-html5:hover .lg-video-play {
	opacity: 1;
}
.lg-outer .lg-has-youtube .lg-video-play {
	background: url("/images/idealshop/lightgallery/youtube-play.png") no-repeat scroll 0 0 transparent;
}
.lg-outer .lg-has-youtube:hover .lg-video-play {
	background: url("/images/idealshop/lightgallery/youtube-play.png") no-repeat scroll 0 -60px transparent;
}
.lg-outer .lg-video-object {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
}
.lg-outer .lg-has-video .lg-video-object {
	visibility: hidden;
}
.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play {
	display: none;
}
.lg-outer .lg-has-video.lg-video-playing .lg-video-object {
	visibility: visible;
}

.lg-progress-bar {
	background-color: #333;
	height: 5px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1083;
	opacity: 0;
	transition: opacity 0.08s ease 0s;
}
.lg-progress-bar .lg-progress {
	background-color: #a90707;
	height: 5px;
	width: 0;
}
.lg-progress-bar.lg-start .lg-progress {
	width: 100%;
}
.lg-show-autoplay .lg-progress-bar {
	opacity: 1;
}

.lg-autoplay-button:after {
	content: "\e01d";
}
.lg-show-autoplay .lg-autoplay-button:after {
	content: "\e01a";
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
	transition-duration: 0s;
}
.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
	transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}
.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
	transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
}
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
}

#lg-zoom-in:after {
	content: "\e311";
}

#lg-actual-size {
	font-size: 20px;
}
#lg-actual-size:after {
	content: "\e033";
}

#lg-zoom-out {
	opacity: 0.5;
	pointer-events: none;
}
#lg-zoom-out:after {
	content: "\e312";
}
.lg-zoomed #lg-zoom-out {
	opacity: 1;
	pointer-events: auto;
}

.lg-outer .lg-pager-outer {
	bottom: 60px;
	left: 0;
	position: absolute;
	right: 0;
	text-align: center;
	z-index: 1080;
	height: 10px;
}
.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
	overflow: visible;
}
.lg-outer .lg-pager-cont {
	cursor: pointer;
	display: inline-block;
	overflow: hidden;
	position: relative;
	vertical-align: top;
	margin: 0 5px;
}
.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
	box-shadow: 0 0 0 2px white inset;
}
.lg-outer .lg-pager-thumb-cont {
	background-color: #fff;
	color: #FFF;
	bottom: 100%;
	height: 83px;
	left: 0;
	margin-bottom: 20px;
	margin-left: -60px;
	opacity: 0;
	padding: 5px;
	position: absolute;
	width: 120px;
	border-radius: 3px;
	transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
	-webkit-transform: translate3d(0, 5px, 0);
	transform: translate3d(0, 5px, 0);
}
.lg-outer .lg-pager-thumb-cont img {
	width: 100%;
	height: 100%;
}
.lg-outer .lg-pager {
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
	display: block;
	height: 12px;
	transition: box-shadow 0.3s ease 0s;
	width: 12px;
}
.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
	box-shadow: 0 0 0 8px white inset;
}
.lg-outer .lg-caret {
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px dashed;
	bottom: -10px;
	display: inline-block;
	height: 0;
	left: 50%;
	margin-left: -5px;
	position: absolute;
	vertical-align: middle;
	width: 0;
}

.lg-fullscreen:after {
	content: "\e20c";
}
.lg-fullscreen-on .lg-fullscreen:after {
	content: "\e20d";
}

.lg-outer #lg-dropdown-overlay {
	background-color: rgba(0, 0, 0, 0.25);
	bottom: 0;
	cursor: default;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1081;
	opacity: 0;
	visibility: hidden;
	transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}
.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay {
	transition-delay: 0s;
	-moz-transform: translate3d(0, 0px, 0);
	-ms-transform: translate3d(0, 0px, 0);
	-webkit-transform: translate3d(0, 0px, 0);
	transform: translate3d(0, 0px, 0);
	opacity: 1;
	visibility: visible;
}
.lg-outer.lg-dropdown-active #lg-share {
	color: #FFF;
}
.lg-outer .lg-dropdown {
	background-color: #fff;
	border-radius: 2px;
	font-size: 14px;
	list-style-type: none;
	margin: 0;
	padding: 10px 0;
	position: absolute;
	right: 0;
	text-align: left;
	top: 50px;
	opacity: 0;
	visibility: hidden;
	-moz-transform: translate3d(0, 5px, 0);
	-ms-transform: translate3d(0, 5px, 0);
	-webkit-transform: translate3d(0, 5px, 0);
	transform: translate3d(0, 5px, 0);
	transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
}
.lg-outer .lg-dropdown:after {
	content: "";
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	border: 8px solid transparent;
	border-bottom-color: #FFF;
	right: 16px;
	top: -16px;
}
.lg-outer .lg-dropdown > li:last-child {
	margin-bottom: 0px;
}
.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon {
	color: #333;
}
.lg-outer .lg-dropdown a {
	color: #333;
	display: block;
	white-space: pre;
	padding: 4px 12px;
	font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 12px;
}
.lg-outer .lg-dropdown a:hover {
	background-color: rgba(0, 0, 0, 0.07);
}
.lg-outer .lg-dropdown .lg-dropdown-text {
	display: inline-block;
	line-height: 1;
	margin-top: -3px;
	vertical-align: middle;
}
.lg-outer .lg-dropdown .lg-icon {
	color: #333;
	display: inline-block;
	float: none;
	font-size: 20px;
	height: auto;
	line-height: 1;
	margin-right: 8px;
	padding: 0;
	vertical-align: middle;
	width: auto;
}
.lg-outer #lg-share {
	position: relative;
}
.lg-outer #lg-share:after {
	content: "\e80d";
}
.lg-outer #lg-share-facebook .lg-icon {
	color: #3b5998;
}
.lg-outer #lg-share-facebook .lg-icon:after {
	content: "\e901";
}
.lg-outer #lg-share-twitter .lg-icon {
	color: #00aced;
}
.lg-outer #lg-share-twitter .lg-icon:after {
	content: "\e904";
}
.lg-outer #lg-share-googleplus .lg-icon {
	color: #dd4b39;
}
.lg-outer #lg-share-googleplus .lg-icon:after {
	content: "\e902";
}
.lg-outer #lg-share-pinterest .lg-icon {
	color: #cb2027;
}
.lg-outer #lg-share-pinterest .lg-icon:after {
	content: "\e903";
}

.group {
	*zoom: 1;
}

.group:before, .group:after {
	display: table;
	content: "";
	line-height: 0;
}

.group:after {
	clear: both;
}

.lg-outer {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200000000000000000000000000000000001;
	opacity: 0;
	transition: opacity 0.15s ease 0s;
}
.lg-outer * {
	box-sizing: border-box;
}
.lg-outer.lg-visible {
	opacity: 1;
}
.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current {
	transition-duration: inherit !important;
	transition-timing-function: inherit !important;
}
.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
	transition-duration: 0s !important;
	opacity: 1;
}
.lg-outer.lg-grab img.lg-object {
	cursor: grab;
}
.lg-outer.lg-grabbing img.lg-object {
	cursor: grabbing;
}
.lg-outer .lg {
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	max-height: 100%;
}
.lg-outer .lg-inner {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	white-space: nowrap;
}
.lg-outer .lg-item {
	background: url("https://cdn-main.ideal.shop/images/idealshop/lightgallery/loading.gif") no-repeat scroll center center transparent;
	display: none !important;
}
.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide {
	display: inline-block !important;
}
.lg-outer.lg-css .lg-current {
	display: inline-block !important;
}
.lg-outer .lg-item, .lg-outer .lg-img-wrap {
	display: inline-block;
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
}
.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before {
	content: "";
	display: inline-block;
	height: 50%;
	width: 1px;
	margin-right: -1px;
}
.lg-outer .lg-img-wrap {
	position: absolute;
	padding: 0 5px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.lg-outer .lg-item.lg-complete {
	background-image: none;
}
.lg-outer .lg-item.lg-current {
	z-index: 1060;
}
.lg-outer .lg-image {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	max-height: 100%;
	width: auto !important;
	height: auto !important;
}
.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play {
	opacity: 0;
	transition: opacity 0.15s ease 0s;
}
.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
	opacity: 1;
}
.lg-outer .lg-empty-html {
	display: none;
}
.lg-outer.lg-hide-download #lg-download {
	display: none;
}

.lg-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 200000000000000000000000000000000000;
	background-color: #000;
	opacity: 0;
	transition: opacity 0.15s ease 0s;
}
.lg-backdrop.in {
	opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current {
	transition: none 0s ease 0s !important;
}
.lg-css3.lg-use-css3 .lg-item {
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
}
.lg-css3.lg-use-left .lg-item {
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
}
.lg-css3.lg-fade .lg-item {
	opacity: 0;
}
.lg-css3.lg-fade .lg-item.lg-current {
	opacity: 1;
}
.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
	transition: opacity 0.1s ease 0s;
}
.lg-css3.lg-slide.lg-use-css3 .lg-item {
	opacity: 0;
}
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
	-webkit-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0);
}
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	opacity: 1;
}
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
	transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}
.lg-css3.lg-slide.lg-use-left .lg-item {
	opacity: 0;
	position: absolute;
	left: 0;
}
.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
	left: -100%;
}
.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
	left: 100%;
}
.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
	left: 0;
	opacity: 1;
}
.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
	transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lightgallery-image-thumbnail
{
	cursor: pointer;
	display: inline-block;
	padding: 0;
}

.lightgallery-image-thumbnail img
{
	width: 100%;
	filter: brightness(50%);
}

.lightgallery-image-thumbnail img:hover
{
	filter: brightness(75%);
}

.lightgallery-image-thumbnail.active img
{
	filter: brightness(100%);
}
#basket-form
{
	color: inherit;
}

#basket-items-container-outer
{
	margin-top: 0.5rem;
}

@media screen and (min-width: 768px)
{
	#basket-items-container-outer
	{
		padding: 0;
		margin-top: 0;
	}
}


/* The show contents in basket link*/
.basket-mobile-show-contents-in-basket-link
{
	text-align: center;
	margin-bottom: 1.5rem;
	width: 100%;
}
.basket-mobile-show-contents-in-basket-link .main
{
	color: #337AB7;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	font-size: 2rem;
}
.basket-mobile-show-contents-in-basket-link .sub-text
{
	font-size: 0.7rem;
}

/* Basket elements */
#basket-info-container .basket-element
{
	margin-bottom: 0.5rem;
}

#basket-info-container .basket-element.hide
{
	display: none;
}

#basket-info-container .basket-element.text
{
	font-weight: normal;
}

#basket-already-customer-button
{
	text-decoration: underline;
	cursor: pointer;
	font-size: 0.7em;
}

/* Adding a star to the name of the required elements */
#basket-info-container .basket-element:has([data-required="1"]) .basket-element-title::after
{
	content: ' *';
}

/* Steps navigation */
#basket-navigation-container
{
	font-weight: bold;
	font-size: 0.8rem;
	background-color: #fcfcfc;
	border: 1px solid #fcfcfc;
	border-radius: 2rem;
	padding: 0.5rem 1rem;
	display: inline-flex;
	margin-bottom: 1.5rem;
}

@media screen and (max-width: 400.98px)
{
	#basket-navigation-container
	{
		flex-direction: column;
	}

	#basket-navigation-container .basket-step-navigation
	{
		margin-bottom: 1.5em;
	}

	#basket-navigation-container .basket-step-navigation:last-child
	{
		margin-bottom: 0;
	}
}

#basket-navigation-container .basket-step-navigation
{
	display: inline-flex;
	align-items: center;
}
#basket-navigation-container .basket-step-navigation.completed
{
	cursor: pointer;
}

#basket-navigation-container .basket-navigation-icon
{
	background-color: #29256d;
	border: 1px solid #29256d;
	color: #ffffff;
	text-align: center;
	display: flex;
	justify-content: center;

	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
}
#basket-navigation-container .basket-step-navigation.completed .basket-navigation-icon
{
	/* Completed icon */
	animation: basket-step-completed-animation 0.5s;
	animation-fill-mode: forwards;
}
@keyframes basket-step-completed-animation
{
	0%   { transform: rotateY(0); }
	50%  { transform: rotateY(90deg); }
	100% { transform: rotateY(0); background-color: #36c365; border: 1px solid #36c365; }
}

#basket-form[data-skip-shipping-step="1"] .basket-step-navigation[data-step-key="shipping"], /* Hide the shipping step */
#basket-form[data-skip-shipping-step="1"] #basket-shipping-cost-info, /* Hide the shipping line */
#basket-form[data-skip-shipping-step="1"] .alternative-delivery-address-outer-container, /* Hide the alternate delivery address container */
#basket-form[data-skip-address="1"] .basket-element:has(input[name="address"]), /* Hiding address because we can skip it */
#basket-form[data-skip-address="1"] .basket-element:has(input[name="zip"]), /* Hiding zip because we can skip it */
#basket-form[data-skip-address="1"] .basket-element:has(input[name="city"]), /* Hiding city because we can skip it */
#basket-form[data-skip-address="1"] .basket-element:has(input[name="address_delivery"]), /* Hiding address_delivery because we can skip it */
#basket-form[data-skip-address="1"] .alternative-delivery-address-outer-container, /* Hiding alternative delivery address "input" - https://trello.com/c/s4qITBjs/4838-kurv-minimal-udtjek-skjul-adressefelter#comment-66d28442cbe85648db7d6c14 */
#basket-form[data-skip-address="1"] .basket-element:has(input[name="zip_delivery"]), /* Hiding zip_delivery because we can skip it */
#basket-form[data-skip-address="1"] .basket-element:has(input[name="city_delivery"]), /* Hiding city_delivery because we can skip it */
#basket-navigation-container .basket-step-navigation.completed .basket-navigation-icon > div:nth-of-type(1),
#basket-navigation-container .basket-navigation-icon > div:nth-of-type(2)
{
	display: none !important;
}
#basket-navigation-container .basket-navigation-icon > div:nth-of-type(1),
#basket-navigation-container .basket-step-navigation.completed .basket-navigation-icon > div:nth-of-type(2)
{
	display: flex !important;
	align-self: center;
}
#basket-navigation-container .basket-navigation-text
{
	color: inherit;
	margin: 0 1em 0 0.35em;
}

/* The meat of the basket */
.card-basket
{
	border-color: #b9b9b9 !important;
	border-radius: 0 !important;
}

.card-basket .card-header
{
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.card-basket .card-header > div:nth-of-type(1)
{
	font-size: 1.3em;
	font-weight: bold;
}

.card-basket > .card-body
{
	background-color: #fcfcfc;
	font-size: 0.90em;
	font-weight: bold;
}

.card-basket input.form-control
{
	padding: 6px;
	border-radius: 0;
}
.card-basket select.form-select
{
	padding: 6px;
	border-radius: 0;
	font-size: inherit;
}

.basket-input-error-message
{
	color: red;
	font-size: 0.8em;
	display: none;
}

#basket-alternative-delivery-address-header
{
	font-size: 1.5em;
}

.basket-next-prev-container
{
	margin-top: 0.5em;
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.basket-next-button
{
	text-align: right;
}
.basket-prev-button > button,
.basket-next-button > button
{
	padding-left: 2em;
	padding-right: 2em;
	border-radius: 0;
	height: 100%;
	display: inline-flex;
	align-items: center;
}

/* Last step checkboxes */
#basket-confirm-terms-checkboxes-container
{
	margin-top: 15px;
	margin-bottom: 20px;
}

#basket-confirm-optional-checkboxes-container
{
	margin-bottom: 20px;
}

#terms_accept_label,
#basket_newsletter_accept_label,
#basket-comments-add-button
{
	margin-bottom: 10px;
}

#terms_accept_label.error,
#subscription_terms_accept_label.error
{
	/* When there's an error we need to mark it */
	filter: drop-shadow(0 0 5px red);
}
#terms_accept_label label,
#subscription_terms_accept_label label,
#basket_newsletter_accept_label label,
#basket-comments-add-button label
{
	/* The actual label */
	cursor: pointer;
	font-weight: normal;
	display: inline-flex;
	gap: 7px;
	align-items: center;
}
#terms_accept_label label input[type="checkbox"],
#subscription_terms_accept_label label input[type="checkbox"],
#basket_newsletter_accept_label label input[type="checkbox"],
#basket-comments-add-button label input[type="checkbox"]
{
	/* The checkbox  */
	cursor: pointer;
	width: 2em;
	height: 2em;
	margin: 0;
	flex-shrink: 0;
}

/* The items basket */
#basket-items-table
{
	width: 100%;
}

body:not(.tab-user) #basket-items-table a
{
	/* Removing outline, unless it's a tab user */
	outline: none;
}

#basket-items-table th
{
	padding: 1em;
	text-transform: uppercase;
	background-color: #eff1f6;
	text-align: center;
}
#basket-items-table th:nth-of-type(1)
{
	text-align: left;
}

/* zebra */
#basket-items-table tr
{
	background-color: #eff1f6;
}
#basket-items-table tr:nth-child(odd)
{
	background-color: #ffffff;
}

#basket-items-table td
{
	padding: 12px;
}
#basket-items-table th:nth-of-type(2),
#basket-items-table td:nth-of-type(2)
{
	/* Quantity */
	border-left: 1px solid #b9b9b9;
	border-right: 1px solid #b9b9b9;
	text-align: center;
}
#basket-items-table td:nth-of-type(3)
{
	/* Price */
	white-space: nowrap;
	text-align: right;
}

.basket-item-container
{
	display: flex;
	align-items: center;
}
.basket-item-image
{
	padding-right: 1em;
}
.basket-item-image img
{
	max-height: 200px;
	max-width: 25vw;
}
@media screen and (max-width: 991.98px)
{
	/* On small screens we put the text below the image, to take up less horizontal space */
	.basket-item-container
	{
		align-items: flex-start;
		flex-direction: column;
	}

	.basket-item-image img
	{
		max-height: 100px;
	}
}
.basket-item-info .title
{
	color: #000000;
	font-size: 1.1em;
	overflow-wrap: break-word;
}
.basket-item-info .sub-title
{
	color: #000000;
	overflow-wrap: break-word;
}
.basket-item-info .delivery-info
{
	color: #000000;
	font-size: 0.9em;
	overflow-wrap: break-word;
	font-weight: normal;
}
.basket-items-quantity-container
{
	text-align: center;
	font-weight: bold;
	cursor: pointer;
	display: flex;
	flex-direction: column;
}
.basket-items-quantity-container .quantity
{
	margin: 0.5em 0;
	border: 1px solid gray;
	padding: 0.5em 0.25em;
}
.basket-items-quantity-container .icon
{
	width: 100%;
	font-size: 1.2em;
}
.basket-items-volume-discount-upsell,
.basket-items-volume-discount-saved,
.basket-items-discount-saved
{
	white-space: normal;
	font-size: 0.8em;
	color: #31a109;
}

/* Items totals */
#basket-items-totals-divider
{
	border-top: 1px solid #808080;
}

#basket-left-until-free-shipping
{
	padding: 6px 12px 0 12px;
	text-align: center;
	font-size: 1.25em;
	color: #31a109;
}

#basket-items-totals-container
{
	padding: 6px 12px;
	font-size: 1.25em;
}
#basket-items-totals-container > div
{
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	align-items: center;
}

#basket-form #basket-shipping-cost-info #basket-shipping-cost-info-sub-text
{
	font-size: 0.8em;
	font-style: italic;
}

#basket-form[data-basket-step="my_info"] #basket-shipping-cost-info #basket-shipping-cost-info-sub-text
{
	/* Hidden on step my_info */
	display: none;
}

#basket-total-with-vat .final-total
{
	font-size: 1.5em;
	font-weight: bold;
	color: #68c17c;
}

.basket-divider
{
	height: 2px;
	background-color: #f3f3f3;
	width: 100%;
	padding: 0 !important;
}

/* Items custom fields modal */
.basket-item-custom-fields-container label
{
	font-weight: bold;
	display: block;
}

.basket-contents-toggle
{
	display: none;
}

/* Mobile specific settings */
@media screen and (max-width: 767.98px)
{
	/* Changing order of the basket contents location, on small screens */
	#basket-form[data-basket-contents-location-mobile="top"] #basket-items-container-outer
	{
		order: 0;
		margin-top: 0;
		margin-bottom: 1.5rem;
	}

	#basket-form[data-basket-contents-location-mobile="top"] .row > *
	{
		/* Everything else should just stay in the order given to them by the code */
		order: 1;
	}

	/* On small screens we should be able to toggle the display of basket contents */
	#basket-form #basket-items-container-outer .basket-contents-toggle
	{
		cursor: pointer;
		display: block;
	}
	#basket-form #basket-items-container-outer .card-body
	{
		transition: height 0.35s ease-in-out;
		overflow: hidden;
	}
	#basket-form #basket-items-container-outer.minimized .card-body
	{
		height: 0 !important;
	}

	#basket-form #basket-items-container-outer.hide
	{
		display: none;
	}
}

/* PayPal */
.paypal-cards-text
{
	margin: 1rem 0 0.5rem 0;
}

/* Order placed text color should always be black, because the background color is always white */
#order-placed-container,
#order-placed-container .order-html-container th,
#order-placed-container .order-html-container td
{
	color: #000000;
}

/*
	order-placed whiteout
	When a payment method, which will open a payment window directly, has been selected, we want to whiteout the page, so as to not confuse the customer
*/
#order-placed-whiteout
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: white;
	z-index: 2147483647;
}

/* CSS relating to subscription */
.basket-subscription-line
{
	font-size: 0.8em;
	color: inherit;
	opacity: 0.7;
	justify-content: center !important;
}
#basket-subscription-first-rate .total
{
	font-size: 1.5em;
	font-weight: bold;
	color: #68c17c;
}

/* CSS relating to minimum purchase */
#basket-minimum-purchase-not-reached
{
	font-weight: normal;
	color: red;
	padding-top: 0 !important;
	justify-content: right !important;
}
.basket-discount-code-button-container
{
	display: none;
}
.basket-discount-code-button-container.show
{
	display: block;
}
.discount-code-button
{
	cursor: pointer;
	border-radius: 0;
}
.discount-code-button.text
{
	text-decoration: underline;
}

#basket-info-container .basket-discount-code-button-container
{
	/* If the discount button is on the info step */
	float: left;
}

#basket-items-container-outer .basket-discount-code-button-container
{
	/* If the discount button is below the basket, AKA always visible */
	margin-top: 15px;
}

#basket-payment-container .basket-discount-code-button-container
{
	/* If the discount button is on the payment step */
	margin-top: 15px;
	margin-bottom: 15px;
}

.discount-code-remove-button
{
	display: inline;
	color: red;
	cursor: pointer;
	padding: 5px;
}
#order-overview-card[data-online-payment="1"]
{
	/* Hiding the order overview when dealing with online payment */
	display: none;
}

#order-overview-show-link
{
	/* The link for showing the order overview, when dealing with online payment */
	cursor: pointer;
	text-decoration: underline;
}

#order-cancel-button
{
	display: none;
	text-decoration: underline;
	margin-top: 1rem;
}

.order-send-invoice-button
{
	display: flex;
	color: inherit;
}
.order-send-invoice-button:hover
{
	color: inherit;
}

.order-print-button
{
	display: flex;
	cursor: pointer;
}
#basket-related-items-container
{
    margin-top: 3rem;
}

#basket-related-items-container .basket-related-items-title
{
    font-size: 1.5rem;
}
#basket-shipping-contents .radio
{
	margin-top: 1em;
}

#basket-shipping-contents .description
{
	color: gray;
	font-size: 0.9em;
}

#basket-shipping-contents .left-until-free-shipping
{
	color: #31a109;
	font-size: 0.9em;
}
