@charset "UTF-8";
.fc {
  direction: ltr;
  text-align: left;
}

.fc-rtl {
  text-align: right;
}

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em;
}

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: 0.3;
}

.fc-bgevent {
  /* default look for background events */
  background: #8fdf82;
  opacity: 0.3;
}

.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #d7d7d7;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px;
}

.fc-rtl .fc-popover .fc-header {
  flex-direction: row-reverse;
}

.fc-popover .fc-header .fc-title {
  margin: 0 2px;
}

.fc-popover .fc-header .fc-close {
  cursor: pointer;
  opacity: 0.65;
  font-size: 1.1em;
}

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
  border-style: solid;
  border-width: 1px;
}

hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0;
}

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-mirror-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */
}

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */
}

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  box-sizing: border-box;
  /* fix scrollbar issue in firefox */
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */
}

.fc th {
  text-align: center;
}

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top;
}

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */
}

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
  cursor: pointer;
}

a[data-goto]:hover {
  text-decoration: underline;
}

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0;
}

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent;
}

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */
}

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative;
}

.fc-row .fc-bg {
  z-index: 1;
}

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */
}

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */
}

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent;
}

.fc-row .fc-bgevent-skeleton {
  z-index: 2;
}

.fc-row .fc-highlight-skeleton {
  z-index: 3;
}

/*
row content (which contains day/week numbers and events) as well as "mirror" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */
}

.fc-row .fc-mirror-skeleton {
  z-index: 5;
}

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-mirror-skeleton td {
  /* see-through to the background below */
  /* extra precedence to prevent theme-provided backgrounds */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent;
}

.fc-row .fc-content-skeleton td,
.fc-row .fc-mirror-skeleton td {
  /* don't put a border between events and/or the day number */
  border-bottom: 0;
}

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-mirror-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0;
}

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  -webkit-overflow-scrolling: touch;
}

/* TODO: move to timegrid/daygrid */
.fc-scroller > .fc-day-grid,
.fc-scroller > .fc-time-grid {
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: 0.85em;
  line-height: 1.4;
  border-radius: 3px;
  border: 1px solid #3788d8;
}

.fc-event,
.fc-event-dot {
  background-color: #3788d8;
  /* default BACKGROUND color */
}

.fc-event,
.fc-event:hover {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
}

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */
}

.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed;
}

.fc-event .fc-content {
  position: relative;
  z-index: 2;
}

/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
  position: absolute;
  z-index: 4;
}

/* resizer (touch devices) */
.fc-event .fc-resizer {
  display: none;
}

.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
  /* only show when hovering or selected (with touch) */
  display: block;
}

/* hit area */
.fc-event.fc-selected .fc-resizer:before {
  /* 40x40 touch area */
  content: "";
  position: absolute;
  z-index: 9999;
  /* user of this util can scope within a lower z-index */
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
}

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
  z-index: 9999 !important;
  /* overcomes inline z-index */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.fc-event.fc-selected:after {
  content: "";
  position: absolute;
  z-index: 1;
  /* same z-index as fc-bg, behind text */
  /* overcome the borders */
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  /* darkening effect */
  background: #000;
  opacity: 0.25;
}

/* Event Dragging
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-dragging.fc-selected {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
}

.fc-event.fc-dragging:not(.fc-selected) {
  opacity: 0.75;
}

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
/* bigger touch area when selected */
.fc-h-event.fc-selected:before {
  content: "";
  position: absolute;
  z-index: 3;
  /* below resizers */
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* resizer (cursor AND touch devices) */
/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer {
  cursor: w-resize;
  left: -1px;
  /* overcome border */
}

/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
  cursor: e-resize;
  right: -1px;
  /* overcome border */
}

/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
  width: 7px;
  top: -1px;
  /* overcome top border */
  bottom: -1px;
  /* overcome bottom border */
}

/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
  /* 8x8 little dot */
  border-radius: 4px;
  border-width: 1px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* vertically center */
  top: 50%;
  margin-top: -4px;
}

/* left resizer  */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  margin-left: -4px;
  /* centers the 8x8 dot on the left edge */
}

/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  margin-right: -4px;
  /* centers the 8x8 dot on the right edge */
}

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 0 1px;
}

tr:first-child > td > .fc-day-grid-event {
  margin-top: 2px;
  /* a little bit more space before the first event */
}

.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
  margin-top: 0;
  /* except for mirror skeleton */
}

.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden;
}

.fc-day-grid-event .fc-time {
  font-weight: bold;
}

/* resizer (cursor devices) */
/* left resizer  */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  margin-left: -2px;
  /* to the day cell's edge */
}

/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  margin-right: -2px;
  /* to the day cell's edge */
}

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: 0.85em;
  cursor: pointer;
  text-decoration: none;
}

a.fc-more:hover {
  text-decoration: underline;
}

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none;
}

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */
}

.fc-more-popover {
  z-index: 2;
  width: 220px;
}

.fc-more-popover .fc-event-container {
  padding: 10px;
}

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
  position: absolute;
  border: 0 solid red;
}

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*
TODO: more distinction between this file and common.css
*/
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #ddd;
}

.fc-unthemed .fc-popover {
  background-color: #fff;
}

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background: #eee;
}

.fc-unthemed td.fc-today {
  background: #fcf8e3;
}

.fc-unthemed .fc-disabled-day {
  background: #d7d7d7;
  opacity: 0.3;
}

/* Icons
--------------------------------------------------------------------------------------------------
from https://feathericons.com/ and built with IcoMoon
*/
@font-face {
  font-family: "fcicons";
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
  font-weight: normal;
  font-style: normal;
}
.fc-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "fcicons" !important;
  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;
}

.fc-icon-chevron-left:before {
  content: "";
}

.fc-icon-chevron-right:before {
  content: "";
}

.fc-icon-chevrons-left:before {
  content: "";
}

.fc-icon-chevrons-right:before {
  content: "";
}

.fc-icon-minus-square:before {
  content: "";
}

.fc-icon-plus-square:before {
  content: "";
}

.fc-icon-x:before {
  content: "";
}

.fc-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  text-align: center;
}

/* Buttons
--------------------------------------------------------------------------------------------------
Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
*/
/* reset */
.fc-button {
  border-radius: 0;
  overflow: visible;
  text-transform: none;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.fc-button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

.fc-button {
  -webkit-appearance: button;
}

.fc-button:not(:disabled) {
  cursor: pointer;
}

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

/* theme */
.fc-button {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.4em 0.65em;
  font-size: 1em;
  line-height: 1.5;
  border-radius: 0.25em;
}

.fc-button:hover {
  color: #212529;
  text-decoration: none;
}

.fc-button:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
}

.fc-button:disabled {
  opacity: 0.65;
}

/* "primary" coloring */
.fc-button-primary {
  color: #fff;
  background-color: #2C3E50;
  border-color: #2C3E50;
}

.fc-button-primary:hover {
  color: #fff;
  background-color: #1e2b37;
  border-color: #1a252f;
}

.fc-button-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
}

.fc-button-primary:disabled {
  color: #fff;
  background-color: #2C3E50;
  border-color: #2C3E50;
}

.fc-button-primary:not(:disabled):active,
.fc-button-primary:not(:disabled).fc-button-active {
  color: #fff;
  background-color: #1a252f;
  border-color: #151e27;
}

.fc-button-primary:not(:disabled):active:focus,
.fc-button-primary:not(:disabled).fc-button-active:focus {
  box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
}

/* icons within buttons */
.fc-button .fc-icon {
  vertical-align: middle;
  font-size: 1.5em;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.fc-button-group > .fc-button {
  position: relative;
  flex: 1 1 auto;
}

.fc-button-group > .fc-button:hover {
  z-index: 1;
}

.fc-button-group > .fc-button:focus,
.fc-button-group > .fc-button:active,
.fc-button-group > .fc-button.fc-button-active {
  z-index: 1;
}

.fc-button-group > .fc-button:not(:first-child) {
  margin-left: -1px;
}

.fc-button-group > .fc-button:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-button-group > .fc-button:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid;
}

/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
  background-color: #f5f5f5;
}

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fc-toolbar.fc-header-toolbar {
  margin-bottom: 1.5em;
}

.fc-toolbar.fc-footer-toolbar {
  margin-top: 1.5em;
}

/* inner content */
.fc-toolbar > * > :not(:first-child) {
  margin-left: 0.75em;
}

.fc-toolbar h2 {
  font-size: 1.75em;
  margin: 0;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/
.fc-view-container {
  position: relative;
}

/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  box-sizing: content-box;
}

.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1;
}

@media print {
  .fc {
    max-width: 100% !important;
  }

  /* Global Event Restyling
  --------------------------------------------------------------------------------------------------*/
  .fc-event {
    background: #fff !important;
    color: #000 !important;
    page-break-inside: avoid;
  }

  .fc-event .fc-resizer {
    display: none;
  }

  /* Table & Day-Row Restyling
  --------------------------------------------------------------------------------------------------*/
  .fc th,
.fc td,
.fc hr,
.fc thead,
.fc tbody,
.fc-row {
    border-color: #ccc !important;
    background: #fff !important;
  }

  /* kill the overlaid, absolutely-positioned components */
  /* common... */
  .fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-mirror-skeleton,
.fc-bgevent-container,
.fc-business-container,
.fc-highlight-container,
.fc-mirror-container {
    display: none;
  }

  /* don't force a min-height on rows (for DayGrid) */
  .fc tbody .fc-row {
    height: auto !important;
    /* undo height that JS set in distributeHeight */
    min-height: 0 !important;
    /* undo the min-height from each view's specific stylesheet */
  }

  .fc tbody .fc-row .fc-content-skeleton {
    position: static;
    /* undo .fc-rigid */
    padding-bottom: 0 !important;
    /* use a more border-friendly method for this... */
  }

  .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
    /* only works in newer browsers */
    padding-bottom: 1em;
    /* ...gives space within the skeleton. also ensures min height in a way */
  }

  .fc tbody .fc-row .fc-content-skeleton table {
    /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
       making it look more like 3em. for other browers, it will already be this tall */
    height: 1em;
  }

  /* Undo month-view event limiting. Display all events and hide the "more" links
  --------------------------------------------------------------------------------------------------*/
  .fc-more-cell,
.fc-more {
    display: none !important;
  }

  .fc tr.fc-limited {
    display: table-row !important;
  }

  .fc td.fc-limited {
    display: table-cell !important;
  }

  .fc-popover {
    display: none;
    /* never display the "more.." popover in print mode */
  }

  /* TimeGrid Restyling
  --------------------------------------------------------------------------------------------------*/
  /* undo the min-height 100% trick used to fill the container's height */
  .fc-time-grid {
    min-height: 0 !important;
  }

  /* don't display the side axis at all ("all-day" and time cells) */
  .fc-timeGrid-view .fc-axis {
    display: none;
  }

  /* don't display the horizontal lines */
  .fc-slats,
.fc-time-grid hr {
    /* this hr is used when height is underused and needs to be filled */
    display: none !important;
    /* important overrides inline declaration */
  }

  /* let the container that holds the events be naturally positioned and create real height */
  .fc-time-grid .fc-content-skeleton {
    position: static;
  }

  /* in case there are no events, we still want some height */
  .fc-time-grid .fc-content-skeleton table {
    height: 4em;
  }

  /* kill the horizontal spacing made by the event container. event margins will be done below */
  .fc-time-grid .fc-event-container {
    margin: 0 !important;
  }

  /* TimeGrid *Event* Restyling
  --------------------------------------------------------------------------------------------------*/
  /* naturally position events, vertically stacking them */
  .fc-time-grid .fc-event {
    position: static !important;
    margin: 3px 2px !important;
  }

  /* for events that continue to a future day, give the bottom border back */
  .fc-time-grid .fc-event.fc-not-end {
    border-bottom-width: 1px !important;
  }

  /* indicate the event continues via "..." text */
  .fc-time-grid .fc-event.fc-not-end:after {
    content: "...";
  }

  /* for events that are continuations from previous days, give the top border back */
  .fc-time-grid .fc-event.fc-not-start {
    border-top-width: 1px !important;
  }

  /* indicate the event is a continuation via "..." text */
  .fc-time-grid .fc-event.fc-not-start:before {
    content: "...";
  }

  /* time */
  /* undo a previous declaration and let the time text span to a second line */
  .fc-time-grid .fc-event .fc-time {
    white-space: normal !important;
  }

  /* hide the the time that is normally displayed... */
  .fc-time-grid .fc-event .fc-time span {
    display: none;
  }

  /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
  .fc-time-grid .fc-event .fc-time:after {
    content: attr(data-full);
  }

  /* Vertical Scroller & Containers
  --------------------------------------------------------------------------------------------------*/
  /* kill the scrollbars and allow natural height */
  .fc-scroller,
.fc-day-grid-container,
.fc-time-grid-container {
    /* */
    overflow: visible !important;
    height: auto !important;
  }

  /* kill the horizontal border/padding used to compensate for scrollbars */
  .fc-row {
    border: 0 !important;
    margin: 0 !important;
  }

  /* Button Controls
  --------------------------------------------------------------------------------------------------*/
  .fc-button-group,
.fc button {
    display: none;
    /* don't display any button-related controls */
  }
}

/* DayGridView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-dayGridWeek-view .fc-content-skeleton,
.fc-dayGridDay-view .fc-content-skeleton {
  /* there may be week numbers in these views, so no padding-top */
  padding-bottom: 1em;
  /* ensure a space at bottom of cell for user selecting/clicking */
}

.fc-dayGrid-view .fc-body .fc-row {
  min-height: 4em;
  /* ensure that all rows are at least this tall */
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden;
}

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* week and day number styling */
.fc-day-top.fc-other-month {
  opacity: 0.3;
}

.fc-dayGrid-view .fc-week-number,
.fc-dayGrid-view .fc-day-number {
  padding: 2px;
}

.fc-dayGrid-view th.fc-week-number,
.fc-dayGrid-view th.fc-day-number {
  padding: 0 2px;
  /* column headers can't have as much v space */
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
  float: right;
}

.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {
  float: left;
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {
  float: left;
  border-radius: 0 0 3px 0;
}

.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {
  float: right;
  border-radius: 0 0 0 3px;
}

.fc-dayGrid-view .fc-day-top .fc-week-number {
  min-width: 1.5em;
  text-align: center;
  background-color: #f2f2f2;
  color: #808080;
}

/* when week/day number have own column */
.fc-dayGrid-view td.fc-week-number {
  text-align: center;
}

.fc-dayGrid-view td.fc-week-number > * {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em;
}

/* List View
--------------------------------------------------------------------------------------------------*/
/* possibly reusable */
.fc-event-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
}

/* view wrapper */
.fc-rtl .fc-list-view {
  direction: rtl;
  /* unlike core views, leverage browser RTL */
}

.fc-list-view {
  border-width: 1px;
  border-style: solid;
}

/* table resets */
.fc .fc-list-table {
  table-layout: auto;
  /* for shrinkwrapping cell content */
}

.fc-list-table td {
  border-width: 1px 0 0;
  padding: 8px 14px;
}

.fc-list-table tr:first-child td {
  border-top-width: 0;
}

/* day headings with the list */
.fc-list-heading {
  border-bottom-width: 1px;
}

.fc-list-heading td {
  font-weight: bold;
}

.fc-ltr .fc-list-heading-main {
  float: left;
}

.fc-ltr .fc-list-heading-alt {
  float: right;
}

.fc-rtl .fc-list-heading-main {
  float: right;
}

.fc-rtl .fc-list-heading-alt {
  float: left;
}

/* event list items */
.fc-list-item.fc-has-url {
  cursor: pointer;
  /* whole row will be clickable */
}

.fc-list-item-marker,
.fc-list-item-time {
  white-space: nowrap;
  width: 1px;
}

/* make the dot closer to the event title */
.fc-ltr .fc-list-item-marker {
  padding-right: 0;
}

.fc-rtl .fc-list-item-marker {
  padding-left: 0;
}

.fc-list-item-title a {
  /* every event title cell has an <a> tag */
  text-decoration: none;
  color: inherit;
}

.fc-list-item-title a[href]:hover {
  /* hover effect only on titles with hrefs */
  text-decoration: underline;
}

/* message when no events */
.fc-list-empty-wrap2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.fc-list-empty-wrap1 {
  width: 100%;
  height: 100%;
  display: table;
}

.fc-list-empty {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.fc-unthemed .fc-list-empty {
  /* theme will provide own background */
  background-color: #eee;
}

@charset "UTF-8";
/* TimeGridView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-timeGrid-view .fc-day-grid {
  position: relative;
  z-index: 2;
  /* so the "more.." popover will be over the time grid */
}

.fc-timeGrid-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */
}

.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */
}

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap;
}

.fc-ltr .fc-axis {
  text-align: right;
}

.fc-rtl .fc-axis {
  text-align: left;
}

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid {
  /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1;
}

.fc-time-grid {
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */
}

.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent;
}

.fc-time-grid > .fc-bg {
  z-index: 1;
}

.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> TimeGridView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2;
}

.fc-time-grid .fc-content-col {
  position: relative;
  /* because now-indicator lives directly inside */
}

.fc-time-grid .fc-content-skeleton {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
}

/* divs within a cell within the fc-content-skeleton */
.fc-time-grid .fc-business-container {
  position: relative;
  z-index: 1;
}

.fc-time-grid .fc-bgevent-container {
  position: relative;
  z-index: 2;
}

.fc-time-grid .fc-highlight-container {
  position: relative;
  z-index: 3;
}

.fc-time-grid .fc-event-container {
  position: relative;
  z-index: 4;
}

.fc-time-grid .fc-now-indicator-line {
  z-index: 5;
}

.fc-time-grid .fc-mirror-container {
  /* also is fc-event-container */
  position: relative;
  z-index: 6;
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */
}

.fc-time-grid .fc-slats .fc-minor td {
  border-top-style: dotted;
}

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */
}

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */
}

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px;
}

.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%;
}

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */
}

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0;
}

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
  margin-bottom: 1px;
}

.fc-time-grid-event-inset {
  box-shadow: 0px 0px 0px 1px #fff;
}

.fc-time-grid-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.fc-time-grid-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-time-grid-event .fc-content {
  overflow: hidden;
  max-height: 100%;
}

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px;
}

.fc-time-grid-event .fc-time {
  font-size: 0.85em;
  white-space: nowrap;
}

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap;
}

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top;
}

.fc-time-grid-event.fc-short .fc-time span {
  display: none;
  /* don't display the full time text... */
}

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start);
  /* ...instead, display only the start time */
}

.fc-time-grid-event.fc-short .fc-time:after {
  content: " - ";
  /* seperate with a dash, wrapped in nbsp's */
}

.fc-time-grid-event.fc-short .fc-title {
  font-size: 0.85em;
  /* make the title text the same size as the time */
  padding: 0;
  /* undo padding from above */
}

/* resizer (cursor device) */
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}

.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
  content: "=";
}

/* resizer (touch device) */
.fc-time-grid-event.fc-selected .fc-resizer {
  /* 10x10 dot */
  border-radius: 5px;
  border-width: 1px;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* horizontally center */
  left: 50%;
  margin-left: -5px;
  /* center on the bottom edge */
  bottom: -5px;
}

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-now-indicator-line {
  border-top-width: 1px;
  left: 0;
  right: 0;
}

/* arrow on axis */
.fc-time-grid .fc-now-indicator-arrow {
  margin-top: -5px;
  /* vertically center on top coordinate */
}

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
  left: 0;
  /* triangle pointing right... */
  border-width: 5px 0 5px 6px;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
  right: 0;
  /* triangle pointing left... */
  border-width: 5px 6px 5px 0;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      position: relative; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline-block;
      overflow: hidden;
      padding-left: 8px;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .select2-container .select2-search--inline {
    float: left; }
    .select2-container .select2-search--inline .select2-search__field {
      box-sizing: border-box;
      border: none;
      font-size: 100%;
      margin-top: 5px;
      padding: 0; }
      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
        -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none; }
  .select2-results__option[aria-selected] {
    cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%; }
    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
      list-style: none; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px;
    padding: 1px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right;
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

@charset "UTF-8";
[class^=orejime-] {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  vertical-align: baseline;
  cursor: default;
  float: none;
  width: auto;
  text-align: left;
  font-weight: normal;
}

.orejime-Main,
.orejime-Modal {
  font-size: 1em;
  line-height: 1.5;
}

.orejime-Button {
  border: 0;
  color: #fff;
  border-radius: 4px;
  padding: 6px 10px;
  margin-right: 0.5em;
  border: 1px solid transparent;
}
.orejime-Button[disabled] {
  opacity: 0.75;
}

.orejime-Button--save,
.orejime-Button--accept {
  background: #008A28;
  color: #fff;
}

.orejime-Button--decline {
  background: #666;
}

.orejime-Button--info {
  background: #057EB6;
}

.orejime-Notice {
  background: #1fa4e6;
  position: fixed;
  z-index: 1000;
  width: 100%;
  bottom: 0;
  font-size: 0.8em;
}
@media (min-width: 990px) {
  .orejime-Notice {
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
    border-radius: 4px;
    bottom: 20px;
    right: 20px;
    max-width: 300px;
  }
}
@media (max-width: 990px) {
  .orejime-Notice {
    border: none;
    border-radius: 0;
  }
}

.orejime-Notice--mandatory {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: none;
}

.orejime-Notice--hidden {
  display: none !important;
}

.orejime-Notice-body {
  padding: 1em;
}

.orejime-Notice-logo {
  max-width: 200px;
}

.orejime-Notice-title,
.orejime-Notice-description {
  color: white;
  margin-bottom: 0.5em;
}

.orejime-Notice-title {
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.3;
}

.orejime-Notice-purposes {
  color: white;
}

.orejime-Notice-changes {
  color: white;
  margin-bottom: 0.5em;
  font-weight: bold;
}

.orejime-Notice-privacyPolicyLink {
  text-decoration: underline;
  cursor: pointer;
}
.orejime-Notice-privacyPolicyLink, .orejime-Notice-privacyPolicyLink:hover {
  color: inherit;
}
.orejime-Notice-privacyPolicyLink:hover, .orejime-Notice-privacyPolicyLink:focus {
  text-decoration: none;
}

.orejime-Notice-actions {
  display: block;
}

.orejime-Notice-actionItem {
  display: inline;
}

.orejime-Notice-learnMoreButton {
  display: inline-block;
}

.orejimeHtml-WithModalOpen {
  height: 100%;
}

.orejimeHtml-WithModalOpen body {
  position: fixed;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.orejime-ModalOverlay,
.orejime-NoticeOverlay {
  z-index: 1000;
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.orejime-ModalWrapper {
  z-index: 1001;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  width: 640px;
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
}

.orejime-Modal {
  background: #1fa4e6;
  color: white;
  border-radius: 4px;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
}

.orejime-Modal-header {
  padding: 1em;
  border-bottom: 1px solid #555;
}

.orejime-Modal-title {
  margin: 0;
  font-size: 2em;
  display: block;
  font-weight: bold;
  padding-right: 20px;
}

.orejime-Modal-closeButton {
  border: none;
  background: none;
  color: inherit;
  position: absolute;
  top: 1em;
  right: 1em;
}

.orejime-CloseIcon {
  stroke: currentColor;
  width: 12px;
}

.orejime-Modal-body {
  padding: 1em;
}

.orejime-Modal-footer {
  padding: 1em;
  border-top: 1px solid #555;
}

.orejime-Modal-privacyPolicyLink,
.orejime-Modal-poweredByLink {
  cursor: pointer;
  text-decoration: underline;
  color: inherit;
}
.orejime-Modal-privacyPolicyLink:hover, .orejime-Modal-privacyPolicyLink:focus, .orejime-Modal-privacyPolicyLink:active,
.orejime-Modal-poweredByLink:hover,
.orejime-Modal-poweredByLink:focus,
.orejime-Modal-poweredByLink:active {
  color: inherit;
}
.orejime-Modal-privacyPolicyLink:hover, .orejime-Modal-privacyPolicyLink:focus,
.orejime-Modal-poweredByLink:hover,
.orejime-Modal-poweredByLink:focus {
  text-decoration: none;
}

.orejime-Modal-poweredByLink {
  position: absolute;
  right: 1em;
  color: #aaa;
  font-size: 0.8em;
  padding: 6px 0;
}
.orejime-Modal-poweredByLink:hover, .orejime-Modal-poweredByLink:focus, .orejime-Modal-poweredByLink:active {
  color: #aaa;
}

.orejime-AppList {
  display: block;
  padding: 0;
  margin: 0;
}

.orejime-AppList-item {
  display: block;
  position: relative;
  line-height: 1.25;
  vertical-align: middle;
  padding-left: 60px;
  min-height: 40px;
  margin-top: 0.7em;
}
.orejime-AppList-item:first-child {
  margin-top: 0;
}

.orejime-CategorizedAppList {
  list-style: none;
}

.orejime-CategorizedAppList-item {
  margin-bottom: 1em;
}

.orejime-CategorizedAppList-title {
  font-size: 1.2em;
  font-weight: bold;
}

.orejime-CategorizedAppList-description {
  font-size: 0.9em;
}

.orejime-CategorizedAppList-apps {
  margin-top: 0.5em;
  margin-left: 1em;
}

.orejime-AppItem-title {
  font-weight: 600;
  cursor: pointer;
}

.orejime-AppItem-description {
  font-size: 0.8em;
}

.orejime-AppItem-purposes {
  font-size: 0.8em;
  color: #aaa;
}

.orejime-AppItem-optOut,
.orejime-AppItem-required {
  padding-left: 0.2em;
  font-size: 0.8em;
  color: #aaa;
}

.orejime-AppItem-input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 50px;
  height: 30px;
}

.orejime-AppItem-switch {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 30px;
}

.orejime-AppItem-slider {
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #aaa;
  transition: 0.4s;
  width: 50px;
  display: inline-block;
  border-radius: 30px;
  border: 2px solid transparent;
}
.orejime-AppItem-slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
  border: 1px solid #555;
}

.orejime-AppItem-switchLabel {
  position: absolute;
  width: 50px;
  top: 34px;
  overflow: ellipsis;
  font-size: 0.8em;
  text-align: center;
}

.orejime-AppItem-switch--disabled .orejime-AppItem-slider {
  cursor: default;
  opacity: 0.5;
}

.orejime-AppItem-switch--disabled .orejime-AppItem-switchLabel {
  color: #aaa;
}

.orejime-AppItem-input:focus + .orejime-AppItem-label .orejime-AppItem-slider {
  border-color: #fff;
  outline-offset: 2px;
}

.orejime-AppItem-input:checked + .orejime-AppItem-label .orejime-AppItem-slider {
  background-color: #057EB6;
}

.orejime-AppItem-input:checked + .orejime-AppItem-label .orejime-AppItem-slider:before {
  transform: translateX(20px);
}

.orejime-AppToggles {
  margin-bottom: 1em;
  display: block;
}

.orejime-AppToggles-item {
  display: inline;
}

/*******************  DEFAULT VARIABLES ***************/
/*******************  SITE VARIABLES ******************/
/*******************  IMAGES *******************/
/*******************  NORMALIZE ***********************/
html {
  margin: 0;
  padding: 0;
  font: normal 10px "Lato", sans-serif;
  color: #000000;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  min-height: 100%;
}

body {
  font-size: 1.6em;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
  width: 100%;
  color: #000000;
  min-height: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, a, span, strong, em, u, small, div, table, tbody, tr, td, form, input, select, textarea, fieldset, label, option {
  margin: 0;
  padding: 0;
  font-size: 1em;
  text-decoration: none;
  box-sizing: border-box;
}

b, strong {
  font-weight: 700;
}

u {
  text-decoration: underline;
}

a {
  color: #00a7ee;
  cursor: pointer;
  transition: all 0.2s ease;
}
a:focus, a:hover, a:active {
  color: #212529;
}

figure {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

img {
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: middle;
}
img.imgLeft {
  float: left;
  margin: 0 15px 10px 0;
}
img.imgRight {
  float: right;
  margin: 0 0 10px 15px;
}
img.imgCenter {
  display: block;
  text-align: center;
  margin: 0 auto;
}
img.imgFull {
  display: block;
  text-align: center;
  margin: 0 auto;
  width: 100%;
  height: auto;
}

textarea {
  resize: vertical;
}

input {
  border: none;
}

input[type=submit] {
  cursor: pointer;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

select, input:not([type=checkbox]), textarea {
  font-family: "Lato", sans-serif;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: inherit;
}
select:focus, input:not([type=checkbox]):focus, textarea:focus {
  outline: 1px dotted #000000;
}

input.form-radio {
  -webkit-appearance: radio;
     -moz-appearance: radio;
          appearance: radio;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

hr {
  display: block;
  height: 1px;
  background-color: #979797;
  border: 0;
  margin: 5% 0;
  clear: both;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
  box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clearfix {
  display: block;
}

html[xmlns] .clearfix {
  display: block;
}

* html .clearfix {
  height: 1%;
}

/*******************  HELPER CLASSES ******************/
/*
 * Hide visually and from screen readers
 */
.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.visually-hidden, .element-hidden, .element-invisible {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

header {
  padding: 1em;
  box-shadow: rgba(0, 0, 0, 0.09) 0px 3px 12px;
  position: relative;
}
header .wrapper {
  max-width: 100%;
}
header .wrapper > div {
  display: flex;
  align-items: center;
  max-width: calc(100% - 310px);
}
header .wrapper > div .logo img {
  max-width: 120px;
  height: auto;
  width: auto;
  max-height: 100px;
}
header .wrapper > div .name-center {
  font-size: 1.2em;
  margin-left: 1em;
}
header .wrapper nav ul li {
  display: inline-block;
  font-size: 1em;
  padding: 0 1em;
}
header .wrapper nav ul li .material-icons {
  vertical-align: middle;
  font-size: 2em;
  margin-right: 0.15em;
  margin-top: -3px;
}
header .wrapper nav ul li.cart a {
  position: relative;
  display: block;
}
header .wrapper nav ul li.cart .counter {
  position: absolute;
  top: -6px;
  right: 0;
  background-color: #ff0000;
  color: #ffffff;
  border-radius: 100%;
  font-size: 0.6em;
  padding-top: 1px;
  width: 15px;
  height: 15px;
  text-align: center;
}
header .wrapper nav ul li.cart .counter.hide {
  display: none;
}

footer {
  margin-top: auto;
  background-color: #EC9623;
  padding: 1.5em 0;
  text-align: center;
  color: #ffffff;
  font-size: 0.7em;
}
footer a {
  color: #ffffff;
}
footer ul li {
  display: inline-block;
  padding: 0 0.5em;
  position: relative;
}
footer ul li::before {
  content: "•";
  position: absolute;
  left: -0.4em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9em;
}
footer ul li:nth-of-type(1)::before {
  content: none;
}

.tooltip {
  position: absolute;
  z-index: 1000 !important;
  display: block;
  word-wrap: break-word;
  opacity: 0;
  background-color: black;
  color: #ffffff;
  border-radius: 3px;
  padding: 0.5em;
  margin-left: 7px;
  font-size: 0.8em;
  max-width: 50%;
  transition: opacity 0.3s ease;
}
.tooltip.show {
  opacity: 1;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 100%;
  margin-top: -6px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent black transparent transparent;
}

.b-toast {
  animation: showToast 0.3s ease forwards;
  box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
  position: fixed;
  z-index: 100;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  padding: 1em 1.5em;
}
.b-toast .action {
  position: relative;
  padding-right: 20px;
}
.b-toast .action .close {
  position: absolute;
  top: 50%;
  transform: translateY(-52%);
  right: -0.5em;
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
}
.b-toast.success {
  background-color: #52cea9;
}
.b-toast.error {
  background-color: #ff0000;
}
.b-toast.hide {
  animation: hideToast 0.8s ease forwards;
}

@keyframes showToast {
  0% {
    opacity: 0;
    transform: translateX(300px) translateY(-50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0) translateY(-50%);
  }
}
@keyframes hideToast {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
body {
  background-color: #ffffff;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

section {
  padding: 2em 0;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  min-height: calc(100vh - 121px);
}

.wrapper {
  max-width: 90%;
  margin: 0 auto;
  width: 100%;
}

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

.b-grey {
  background-color: #F9F9F9;
  padding: 1em;
  font-size: 0.8em;
  text-align: center;
  border-radius: 8px;
}

.b-messages, .info-message {
  background-color: #F9F9F9;
  padding: 1em;
  font-size: 1.4rem;
  color: #000000;
  animation: fade-in 2s ease forwards;
  text-align: center;
}
.b-messages.error, .b-messages.info-message-error, .info-message.error, .info-message.info-message-error {
  background-color: red;
}
.b-messages.info-message-success, .info-message.info-message-success {
  background-color: #52cea9;
}

.b-messages {
  border: 1px solid #000000;
  border-radius: 8px;
  text-align: center;
  margin: 1em 0;
  text-align: left;
}
.b-messages h1, .b-messages h2, .b-messages h3, .b-messages h4, .b-messages h5 {
  color: #000000;
}
.b-messages.error, .b-messages.alert, .b-messages.success {
  padding-left: 10em;
  position: relative;
  background-color: rgba(255, 0, 0, 0.05);
  border-color: #ff0000;
}
.b-messages.error::before, .b-messages.alert::before, .b-messages.success::before {
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translate(-30%, -50%);
  content: "\e8b2";
  color: #ff0000;
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 50px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: "liga";
  -moz-osx-font-smoothing: grayscale;
}
.b-messages.error ul li::marker, .b-messages.alert ul li::marker, .b-messages.success ul li::marker {
  color: #ff0000;
}
.b-messages.alert {
  background-color: rgba(233, 113, 28, 0.05);
  border-color: #e9711c;
}
.b-messages.alert::before {
  color: rgba(233, 113, 28, 0.7);
}
.b-messages.alert ul li::marker {
  color: #e9711c;
}
.b-messages.alert a {
  color: #000000;
  text-decoration: underline;
}
@media (hover: hover) {
  .b-messages.alert a:hover {
    color: #e9711c;
    opacity: 75%;
    text-decoration: underline;
  }
}
.b-messages.success {
  background-color: rgba(82, 206, 169, 0.05);
  border-color: #52cea9;
}
.b-messages.success::before {
  content: "\e86c";
  color: #52cea9;
}
.b-messages.success ul li::marker {
  color: #52cea9;
}
.b-messages h3 {
  padding-bottom: 0.5em;
}
.b-messages ul {
  margin-left: 1em;
}
.b-messages ul li {
  padding: 0.25em 0;
}
.b-messages.mt {
  margin-top: 2em;
}

.b-steps {
  background-color: #F9F9F9;
  padding: 0.5em;
  margin-bottom: 3em;
  border-radius: 8px;
}
.b-steps ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.b-steps ul::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #000000;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}
.b-steps ul li {
  background-color: #F9F9F9;
  list-style-type: none;
  padding: 0 1em;
  text-align: center;
  line-height: 0.8em;
  position: relative;
  color: rgba(236, 150, 35, 0.65);
  z-index: 2;
}
.b-steps ul li .text {
  display: block;
  font-size: 0.8em;
}
.b-steps ul li.current {
  color: #000000;
}
.b-steps ul li.current a {
  color: #000000;
}

.info-message {
  animation: showMsg 0.3s ease forwards;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.18);
  position: fixed;
  z-index: 100;
  bottom: 0;
  right: 0;
  padding: 1.5em 2em;
}
.info-message .spinner {
  background: url("../Template/Img/site-store/loader.gif") no-repeat center center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  width: 70px;
  height: 50px;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes showMsg {
  0% {
    opacity: 0;
    transform: translateX(300px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flex.left {
  justify-content: flex-start;
}
.flex.center {
  justify-content: center;
}
.flex.right {
  justify-content: flex-end;
}
.flex.actions {
  padding: 2em 0;
}
.flex.actions > a {
  margin: 0;
}
.flex.column {
  flex-direction: column;
}

figure {
  display: block;
}
figure img {
  display: block;
  width: 100%;
  height: auto;
}

h1 {
  text-align: center;
  font-size: 2em;
  padding: 1.5em 0;
}

p {
  padding: 0.5em 0;
}
p.text-left {
  text-align: left;
}
p.text-center {
  text-align: center;
}
p.text-right {
  text-align: right;
}
p.required {
  color: #ff0000;
}
p.text-help {
  font-size: 0.8em;
}

a {
  color: #EC9623;
}
a.btn {
  display: inline-block;
  color: #EC9623;
  background-color: #ffffff;
  border: 1px solid #EC9623;
  border-radius: 24px;
  margin: 0 0.5em;
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 0.75em 1.5em;
  box-shadow: 0 0 2px #EC9623;
}
a.btn.fill {
  color: #ffffff;
  background-color: #EC9623;
}
a.btn.leave {
  color: #ffffff;
  background-color: rgba(236, 150, 35, 0.75);
  border: 1px solid transparent;
}
a.btn.disabled {
  cursor: not-allowed;
  background-color: #979797;
  border-color: #979797;
  color: rgba(255, 255, 255, 0.6);
}
a.btn.icon {
  padding: 0.25em 0.75em;
}
@media (hover: hover) {
  a:hover.btn {
    background-color: #EC9623;
    color: #ffffff;
  }
  a:hover.btn.fill {
    background-color: #ffffff;
    color: #EC9623;
  }
  a:hover.btn.leave {
    background-color: #ffffff;
    color: #EC9623;
    border: 1px solid #EC9623;
  }
  a:hover.btn.disabled {
    background-color: #979797;
    color: rgba(255, 255, 255, 0.6);
  }
}

.render-btn-fill, .shop-paiement .b-bloc form > div.text-right button, #calendar .fc-header-toolbar .fc-today-button, #calendar .fc-header-toolbar .fc-prev-button, #calendar .fc-header-toolbar .fc-next-button, .modal-footer .btn, .uniform-uploader .action, form .b-reset input, form .b-reset button, form .b-submit input, form .b-submit button {
  display: inline-block;
  color: #ffffff;
  background-color: #EC9623;
  border: 1px solid #EC9623;
  border-radius: 24px;
  margin: 0 0.5em;
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 0.75em 1.5em;
}
@media (hover: hover) {
  .render-btn-fill:hover, .shop-paiement .b-bloc form > div.text-right button:hover, #calendar .fc-header-toolbar .fc-today-button:hover, #calendar .fc-header-toolbar .fc-prev-button:hover, #calendar .fc-header-toolbar .fc-next-button:hover, .modal-footer .btn:hover, .uniform-uploader .action:hover, form .b-reset input:hover, form .b-reset button:hover, form .b-submit input:hover, form .b-submit button:hover {
    background-color: #ffffff;
    color: #EC9623;
  }
}

.render-btn-leave, .shop-paiement .b-bloc form > div.text-right button:nth-of-type(1), .modal-footer #modalCancel {
  background-color: rgba(236, 150, 35, 0.75);
  border: 1px solid transparent;
}
@media (hover: hover) {
  .render-btn-leave:hover, .shop-paiement .b-bloc form > div.text-right button:hover:nth-of-type(1), .modal-footer #modalCancel:hover {
    background-color: #ffffff;
    color: #EC9623;
    border: 1px solid #EC9623;
  }
}

.b-back {
  padding: 0 0 1em 0;
  font-size: 1.2em;
}
.b-back span {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
  font-size: inherit;
}

.icon-info22 {
  display: inline-block;
  margin: 0;
  vertical-align: text-bottom;
  width: 18px;
  height: 18px;
  border-radius: 100%;
  margin-left: 0.5em;
  position: relative;
}
.icon-info22::after {
  content: "\e88e";
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: "liga";
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  font-size: 1.4em;
  position: absolute;
  z-index: 1200;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -56%);
  color: #EC9623;
}

.b-filters {
  text-align: center;
  margin-bottom: 3em;
}
.b-filters ul {
  display: flex;
  justify-content: center;
}
.b-filters ul li {
  list-style: none;
  color: #EC9623;
  padding: 0.5em 2em;
  text-transform: uppercase;
  border: 1px solid #EC9623;
  border-left: none;
  transition: all ease 0.3s;
  cursor: pointer;
  background-color: #ffffff;
}
.b-filters ul li:nth-of-type(1) {
  border: 1px solid #EC9623;
  border-bottom-left-radius: 24px;
  border-top-left-radius: 24px;
}
.b-filters ul li:last-child {
  border-bottom-right-radius: 24px;
  border-top-right-radius: 24px;
}
.b-filters ul li.actif {
  background-color: #EC9623;
  color: #ffffff;
}
@media (hover: hover) {
  .b-filters ul li:hover {
    color: #000000;
  }
  .b-filters ul li:hover.actif {
    color: #ffffff;
  }
}

.b-listing {
  justify-content: center;
  flex-wrap: wrap;
  margin: 2em -1rem;
  align-items: stretch;
}
.b-listing .b-item {
  width: calc(33.3333333333% - 2rem);
  margin: 1.5em 1rem;
  background-color: #F9F9F9;
  border-radius: 0.5em;
  overflow: hidden;
  text-align: center;
  color: #000000;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  padding-bottom: 4.5em;
  position: relative;
}
.b-listing .b-item.text-left {
  text-align: left;
}
.b-listing .b-item.text-left .btn, .b-listing .b-item.text-left .price {
  transform: none;
  left: 0.9em;
}
.b-listing .b-item.text-right {
  text-align: right;
}
.b-listing .b-item.text-right .btn, .b-listing .b-item.text-right .price {
  transform: none;
  left: inherit;
  right: 0.9em;
}
.b-listing .b-item.hightlight {
  background-color: #4A704A;
}
.b-listing .b-item figure img {
  transition: all 0.5s ease;
  transform: scale(1);
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.b-listing .b-item figure img.square {
  aspect-ratio: 1/1;
}
.b-listing .b-item figure img.cinema {
  aspect-ratio: 16/9;
}
.b-listing .b-item > div {
  padding: 1em;
}
.b-listing .b-item h2 {
  font-size: 1.3em;
  padding: 0.5em 0;
}
.b-listing .b-item .description {
  font-size: 0.8em;
}
.b-listing .b-item .price {
  position: absolute;
  left: 50%;
  bottom: 4.5em;
  transform: translateX(-50%);
  width: 100%;
}
.b-listing .b-item .price span {
  font-size: 1.3em;
}
.b-listing .b-item .btn {
  position: absolute;
  left: 50%;
  bottom: 2em;
  transform: translateX(-50%);
  color: #EC9623;
  background-color: #ffffff;
  border: 1px solid #EC9623;
  border-radius: 24px;
  margin: 0;
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 0.75em 1.5em;
  font-size: 0.7em;
  text-transform: uppercase;
}
.b-listing .b-item .btn.fill {
  color: #ffffff;
  background-color: #EC9623;
}
@media (hover: hover) {
  .b-listing .b-item .btn:hover {
    background-color: #ffffff;
    color: #EC9623;
  }
}
@media (hover: hover) {
  .b-listing .b-item:hover {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  }
  .b-listing .b-item:hover figure img {
    transform: scale(1.1);
  }
}
.b-listing.grid-two .b-item {
  width: calc(50% - 2rem);
}
.b-listing.grid-four .b-item {
  width: calc(25% - 2rem);
}

.b-bloc {
  background-color: #F9F9F9;
  padding: 3.5em 1.5em 1em 1.5em;
  margin-bottom: 3em;
  border-radius: 8px;
  position: relative;
}
.b-bloc h1, .b-bloc h2 {
  background-color: #EC9623;
  text-align: center;
  color: #ffffff;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 24px;
  padding: 1em 0.5em;
  margin-top: -1.5em;
  font-weight: 400;
  font-size: inherit;
}

form fieldset {
  padding: 1em 2em;
  margin: 2em 0;
  border: 1px solid #EC9623;
  border-radius: 8px;
}
form fieldset legend {
  padding: 0 1em;
  font-weight: 700;
}
form .spacer {
  height: 0.5em;
}
form .genre > p {
  width: 15%;
  text-align: right;
  font-weight: 700;
  margin-right: 2%;
  font-size: 0.9em;
}
form .genre > p::after {
  color: #ff0000;
  content: "(*)";
  margin-left: 0.5em;
}
form .genre .form-check label::after {
  content: "" !important;
}
form .autoparent {
  margin: 1em 0;
  display: flex;
  align-items: start;
  flex-direction: column;
}
form .autoparent h3 {
  margin-left: 17%;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
form .autoparent > div {
  width: 100%;
  margin: 0.7rem 0;
}
form .healthquest {
  margin: 1em 0;
}
form .healthquest > p {
  width: 40%;
  text-align: right;
  margin-right: 2%;
  font-size: 0.9em;
}
form .healthquest > p.item-required::after {
  color: #ff0000;
  content: "(*)";
  margin-left: 0.5em;
}
form .healthquest.row, form .healthquest.check-autoquest {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
form .healthquest.row > .uniform-checker, form .healthquest.check-autoquest > .uniform-checker {
  display: flex;
  justify-content: left;
}
form .healthquest.row > label, form .healthquest.check-autoquest > label {
  width: 40%;
  text-align: right;
  font-weight: normal;
}
form .healthquest.row > div, form .healthquest.check-autoquest > div {
  width: 58%;
}
form .healthquest .form-check label::after {
  content: none !important;
}
form .form-group {
  margin: 1em 0;
}
form .form-group.row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
form .form-group.row > label {
  width: 15%;
  text-align: right;
}
form .form-group.row > div {
  width: 83%;
}
form .form-group.healthquest {
  margin: 1em 0;
}
form .form-group.healthquest > p {
  width: 40%;
  text-align: right;
  font-weight: 700;
  margin-right: 2%;
  font-size: 0.9em;
}
form .form-group.healthquest.row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
form .form-group.healthquest.row > label {
  width: 40%;
  text-align: right;
}
form .form-group.healthquest.row > div {
  width: 58%;
}
form p.text-help {
  padding: 0 0 0 17%;
  margin-top: -14px;
}
form .ic-mandatory label::after {
  color: #ff0000;
  content: "(*)";
  margin-left: 0.5em;
}
form label {
  display: block;
  font-size: 0.9em;
  font-weight: 700;
  padding-bottom: 0.25em;
}
form label a[target=_blank]::after {
  content: "\e89e";
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: "liga";
  -moz-osx-font-smoothing: grayscale;
  margin: 0 0.2em 0 0.3em;
  font-size: 0.95em;
}
form input, form textarea {
  width: 100%;
  border: 1px solid #979797;
  font-size: 1.4rem;
  padding: 0.5em;
}
form input:invalid, form textarea:invalid {
  border-color: #ff0000;
}
form input[type=radio] {
  display: none;
}
form .form-check {
  display: flex;
  align-items: center;
}
form .form-check .uniform-choice {
  display: inherit !important;
}
form .form-check .uniform-choice span {
  position: relative;
}
form .form-check .uniform-choice span::before,
form .form-check .uniform-choice span::after {
  display: block;
  position: absolute;
  box-sizing: border-box;
  content: "";
  border-radius: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
form .form-check .uniform-choice span::before {
  left: 0;
  border: 1px solid #979797;
  background-color: #eee;
  width: 1.5rem;
  height: 1.5rem;
}
form .form-check .uniform-choice span::after {
  left: 3px;
  width: calc(1.5rem - 6px);
  height: calc(1.5rem - 6px);
}
form .form-check .uniform-choice .checked::after {
  background-color: #EC9623;
}
form .form-check label {
  position: relative;
  padding-left: 2.3rem;
  padding-right: 1em;
  padding-bottom: 0;
}
form .form-check label a {
  text-decoration: underline;
}
form .form-check.checkbox {
  padding: 0.25em 0;
  align-items: baseline;
}
form .form-check.checkbox label {
  order: 2;
  padding-left: 0.5em;
  font-weight: unset;
}
form .form-check.checkbox input {
  width: auto;
}
form .input-group {
  display: flex;
}
form .input-group > input {
  flex-basis: 100%;
  border-left: none;
}
form .input-group > input:nth-of-type(1) {
  border-left: 1px solid #979797;
}
form .b-reset input, form .b-reset button, form .b-submit input, form .b-submit button {
  font-size: 1em;
  width: auto;
}
form .b-reset input:disabled, form .b-reset button:disabled, form .b-submit input:disabled, form .b-submit button:disabled {
  cursor: not-allowed;
  background-color: #979797;
  border-color: #979797;
  color: rgba(255, 255, 255, 0.6);
}

.infos-required {
  font-size: 0.75em;
  text-align: right;
  padding: 1em 0;
}
.infos-required.left {
  text-align: left;
}
.infos-required p {
  padding: 0.15em 0;
}
.infos-required p.asterix {
  position: relative;
}
.infos-required p.asterix::before {
  color: #ff0000;
  content: "(*)";
  margin-right: 0.5em;
}
.infos-required p a {
  text-decoration: underline;
}

.uniform-uploader {
  position: relative;
  display: flex;
  align-items: stretch;
}
.uniform-uploader input {
  width: 100%;
  margin-top: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  min-height: calc(1.5385em + 0.875rem + 2px);
  border: 0;
  cursor: pointer;
  z-index: 10;
  opacity: 0;
}
.uniform-uploader .filename {
  color: #999;
  padding: 0.4375rem 0.875rem;
  flex: 1;
  border: 1px solid #ddd;
  border-right: 0;
  background-color: #fff;
  text-align: left;
  word-break: break-word;
  border-top-left-radius: 0.4rem;
  border-bottom-left-radius: 0.4rem;
  align-self: center;
}
.uniform-uploader .action {
  opacity: 0.9;
  z-index: 1;
  border-top-left-radius: 0rem;
  border-bottom-left-radius: 0rem;
  align-self: center;
  padding: 0.5rem 1rem;
  margin: 0;
}

.select2-results {
  font-size: 1.4rem;
  text-transform: capitalize;
}

.select2-container--default .select2-selection--single {
  border-radius: 0px;
  border-color: #979797;
  height: 31px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #4A704A;
}
.select2-container--default .select2-results__option--highlighted[aria-selected=true] {
  background-color: #EC9623;
}

.ic-mandatory select:invalid + .select2-container--default .select2-selection--single {
  border-color: #ff0000;
}

.modal-body #b-show-option .b-option {
  margin: 1em 0;
  border: 1px solid #979797;
  padding: 1em;
}
.modal-body .b-option h2 {
  text-transform: uppercase;
  position: relative;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  display: inline-block;
}
.modal-body .b-option h2::after {
  content: "";
  height: 1px;
  width: 40%;
  background-color: #979797;
  position: absolute;
  left: 0;
  bottom: 0;
}
.modal-body .b-option .flex {
  align-items: flex-start;
}
.modal-body .b-option .flex figure {
  width: 30%;
}
.modal-body .b-option .flex > div {
  width: 68%;
}
.modal-body .b-option .price {
  font-size: 1.2em;
  font-weight: 700;
  color: #EC9623;
}

body.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  position: fixed;
  z-index: 100;
  padding-top: 4em;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.75);
}

/* Modal Content */
.modal-dialog {
  position: relative;
  background-color: #fefefe;
  margin: 0 auto 4em auto;
  padding: 0;
  width: 90%;
  max-width: 800px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  animation-name: animatetop;
  animation-duration: 0.4s;
}

/* Add Animation */
@keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}
.modal-header {
  padding: 1em 1.5em 1em 2em;
  background-color: #EC9623;
  color: white;
  position: relative;
}
.modal-header > * {
  color: #ffffff;
}
.modal-header .close {
  position: absolute;
  cursor: pointer;
  right: 0.5em;
  top: 50%;
  transform: translateY(-49%);
  background: none;
  border: none;
  color: #ffffff;
  font-size: 2.6rem;
}
.modal-header .icon-cross {
  font-style: normal;
}
.modal-header .icon-cross::before {
  content: "×";
}

.modal-body {
  padding: 1.5em 2em 0 2em;
}
.modal-body h2 {
  font-size: 2rem;
  padding-bottom: 0.5em;
}
.modal-body p {
  padding: 0.25em 0;
}
.modal-body ul {
  padding: 0.15em 0;
}
.modal-body ul li {
  list-style-type: none;
  padding: 0.1em 0;
}
.modal-body ul li::before {
  content: "•";
  display: inline-block;
  margin-right: 0.5em;
}

.modal-footer {
  padding: 1em;
  display: flex;
  justify-content: space-between;
  color: white;
}
.modal-footer .btn {
  font-size: 1.4rem;
}
.modal-footer .btn:disabled {
  cursor: not-allowed;
  background-color: #979797;
  border-color: #979797;
  color: rgba(255, 255, 255, 0.6);
}
.view-only .modal-footer {
  justify-content: flex-end;
}

.shop-main {
  padding-top: 3em;
}

.b-bon-kdo {
  font-size: large;
}

.shop-details .b-top {
  align-items: stretch;
  margin: 0 0 2em 0;
}
.shop-details .b-top > div, .shop-details .b-top > form {
  width: calc(50% - 1em);
}
.shop-details .b-top > div figure, .shop-details .b-top > form figure {
  border-radius: 1rem;
}
.shop-details .b-top > div figure img, .shop-details .b-top > form figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-details div.bloc {
  background-color: #F9F9F9;
  padding: 1em 2em;
  border-radius: 1rem;
}
.shop-details div.b-options {
  padding: 1em 0;
}
.shop-details div.b-options h2 {
  text-transform: uppercase;
}
.shop-details div.b-options .b-option {
  padding: 0.5em 0;
}
.shop-details div.b-options .b-option .material-icons {
  vertical-align: middle;
  font-size: 1em;
}
.shop-details div.b-options .b-option .text {
  color: #000000;
}
.shop-details div.b-options .b-option input {
  margin-left: 1em;
  width: auto;
}
.shop-details .b-price {
  text-align: center;
  padding: 1em 0;
  color: #EC9623;
  font-size: 1.8em;
}
.shop-details .b-price.account {
  padding-top: 0;
  font-size: 1.4em;
}
.shop-details form .b-submit {
  position: relative;
}
.shop-details form .b-submit span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(100%, -50%);
  color: #ffffff;
  cursor: pointer;
}
@media (hover: hover) {
  .shop-details form .b-submit:hover span {
    color: #EC9623;
  }
  .shop-details form .b-submit:hover input, .shop-details form .b-submit:hover button {
    background-color: #ffffff;
    color: #EC9623;
  }
}
.shop-details form .b-submit input {
  padding-left: 3em;
}

.shop-cart .cart-empty, .shop-order .cart-empty {
  background-color: #F9F9F9;
  padding: 1em;
  border-radius: 1rem;
  text-align: center;
}
.shop-cart .b-items .col > div, .shop-order .b-items .col > div {
  width: 30%;
  padding: 0 1rem;
  text-align: center;
}
.shop-cart .b-items .col > div:nth-of-type(2), .shop-order .b-items .col > div:nth-of-type(2) {
  text-align: left;
  width: 36%;
}
.shop-cart .b-items .col > div figure, .shop-order .b-items .col > div figure {
  margin: 0 2rem;
}
.shop-cart .b-items .col > div figure img, .shop-order .b-items .col > div figure img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-cart .b-items .col > div .required, .shop-order .b-items .col > div .required {
  font-weight: 300;
}
.shop-cart .b-items .col > div .required span, .shop-order .b-items .col > div .required span {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.1em;
  line-height: 1.1;
  margin-left: 0.2em;
}
.shop-cart .b-items .col > div.infos-date p span.text, .shop-cart .b-items .col > div.infos-sautant p span.text, .shop-order .b-items .col > div.infos-date p span.text, .shop-order .b-items .col > div.infos-sautant p span.text {
  color: #000000;
}
.shop-cart .b-items .col > div.infos-date p span.material-icons, .shop-cart .b-items .col > div.infos-sautant p span.material-icons, .shop-order .b-items .col > div.infos-date p span.material-icons, .shop-order .b-items .col > div.infos-sautant p span.material-icons {
  display: inline-block;
  vertical-align: middle;
  font-size: 1em;
  line-height: 1;
  margin-left: 0.35em;
  margin-top: -2px;
}
.shop-cart .b-items .col.head, .shop-order .b-items .col.head {
  padding: 0.5em;
}
.shop-cart .b-items .col.head > div, .shop-order .b-items .col.head > div {
  font-weight: 700;
  font-size: 1.1em;
  text-transform: uppercase;
}
.shop-cart .b-item, .shop-order .b-item {
  background-color: #ffffff;
  padding: 0.5em 0.5em 1.5em 0.5em;
  margin: 1em 0;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px, rgba(51, 51, 51, 0.05) 0px 0px 0px 2px;
}
.shop-cart .b-item .account, .shop-order .b-item .account {
  font-weight: 300;
  font-size: 0.8em;
}
.shop-cart .b-options li, .shop-order .b-options li {
  list-style-type: none;
  padding: 0.25em 0;
}
.shop-cart .b-options li span, .shop-order .b-options li span {
  vertical-align: middle;
  font-size: 1em;
  margin-right: 0.25em;
}
.shop-cart .add-option, .shop-order .add-option {
  font-size: 0.7em;
  line-height: 0.7;
}
.shop-cart .add-option a, .shop-order .add-option a {
  padding: 0.25em 0.65em 0.25em 1em;
}
.shop-cart .add-option span, .shop-order .add-option span {
  vertical-align: middle;
  font-size: 1.2em;
  line-height: 1.2;
  margin-left: 0.25em;
}
.shop-cart .b-recap, .shop-order .b-recap {
  padding: 0 0 2em 0;
  align-items: flex-start;
}
.shop-cart .b-recap :nth-of-type(2), .shop-order .b-recap :nth-of-type(2) {
  min-width: 30%;
}
.shop-cart .b-promo, .shop-cart .b-total, .shop-order .b-promo, .shop-order .b-total {
  background-color: #F9F9F9;
  padding: 1em;
  border-radius: 8px;
}
.shop-cart .b-promo p:nth-of-type(2), .shop-cart .b-total p:nth-of-type(2), .shop-order .b-promo p:nth-of-type(2), .shop-order .b-total p:nth-of-type(2) {
  text-align: right;
}
.shop-cart .b-promo, .shop-order .b-promo {
  min-width: 60%;
  padding-bottom: 0.5em;
}
.shop-cart .b-promo .flex #code_promo, .shop-order .b-promo .flex #code_promo {
  padding: 1em;
  min-width: 48%;
  border: none;
  margin-right: 1em;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px, rgba(51, 51, 51, 0.05) 0px 0px 0px 2px;
  border-radius: 8px;
}
.shop-cart .b-promo p.text-help, .shop-order .b-promo p.text-help {
  margin-top: inherit;
  padding: 5px 0 0 3px;
}
.shop-cart .b-total, .shop-order .b-total {
  padding: 1em 2em 1em 2em;
  margin-bottom: 1em;
  font-weight: 700;
  text-transform: uppercase;
}
.shop-cart .b-total .total span, .shop-order .b-total .total span {
  text-transform: none;
}
.shop-cart .b-total .total span, .shop-order .b-total .total span {
  display: block;
  font-weight: 100;
}
.shop-cart .b-total .reste, .shop-order .b-total .reste {
  font-weight: 400;
}
.shop-cart .b-total .sstotal, .shop-cart .b-total .promo, .shop-order .b-total .sstotal, .shop-order .b-total .promo {
  font-weight: 400;
}
.shop-cart .b-total .promo p:nth-of-type(1) span, .shop-order .b-total .promo p:nth-of-type(1) span {
  display: block;
  font-style: italic;
  text-transform: none;
  font-size: 0.9em;
}
.shop-cart .b-actions, .shop-order .b-actions {
  padding: 3em 0;
}
.shop-planning .b-date {
  background-color: #F9F9F9;
  padding: 1.5em 2em;
  margin: 1em 0;
  border-radius: 8px;
  position: relative;
}
.shop-planning .b-date h1 {
  background-color: #EC9623;
  text-align: center;
  color: #ffffff;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 24px;
  padding: 1em 0.5em;
  margin-top: -1em;
  font-weight: 400;
  font-size: inherit;
}
.shop-planning .b-date h2 {
  text-align: center;
  font-size: 1.6em;
  padding: 1em 0;
}
.shop-planning .b-pack {
  background-color: #ffffff;
  padding: 1.5em;
  margin: 3em auto 1em auto;
  width: 100%;
  max-width: 1100px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px, rgba(51, 51, 51, 0.05) 0px 0px 0px 2px;
}
.shop-planning .b-pack .flex > p {
  padding: 0 1em;
  text-align: left;
}
.shop-planning .b-pack .flex .price {
  font-weight: 700;
}
.shop-planning .b-pack .flex .img {
  width: 16%;
}
.shop-planning .b-pack .flex .img img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-planning p.text-center {
  padding: 1em 0;
}
.shop-planning .b-calendar {
  height: auto;
  margin: 2em auto 0 auto;
  width: 100%;
  max-width: 1100px;
}

.b-locations {
  padding: 2em 0 0 0;
}
.b-locations.mt {
  padding-top: 4em;
}
.b-locations li {
  list-style-type: none;
  display: inline-block;
  padding: 0 1em 0 calc(1em + 5px);
  position: relative;
}
.b-locations li span {
  width: 14px;
  height: 14px;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: red;
}

.b-slots {
  align-items: flex-start;
}
.b-slots > .col {
  width: 49%;
  margin-top: 1em;
}
.b-slots > .col h3 {
  text-align: center;
}
.b-slots .form-check {
  position: relative;
  text-align: center;
  padding: 0.25em 0.5em;
  margin: 0.75em 0;
}
.b-slots .form-check .uniform-choice span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  background-color: rgba(236, 150, 35, 0);
  border: 1px solid #ec9623;
}
.b-slots .form-check .uniform-choice span::after, .b-slots .form-check .uniform-choice span::before {
  content: none;
}
.b-slots .form-check .uniform-choice span.checked {
  background-color: #ec9623;
}
@media (hover: hover) {
  .b-slots .form-check:hover .uniform-choice span {
    background-color: rgba(236, 150, 35, 0.5);
  }
  .b-slots .form-check:hover .uniform-choice span.checked {
    background-color: #ec9623;
  }
}
.b-slots .form-check label {
  width: 100%;
  padding: 0;
  cursor: pointer;
  font-weight: 400;
}
.b-slots .form-check label p {
  padding: 0.15em 0.25em;
}
.b-slots .form-check label p span {
  display: block;
}
.b-slots .form-check label .name {
  text-transform: uppercase;
}
.b-slots .form-check label .horaire {
  font-weight: 700;
}
.b-slots .form-check label .dispo {
  font-size: 0.9em;
}
.b-slots .b-slot {
  text-align: center;
  padding: 0.25em 0.5em 0.5em 0.5em;
  margin: 0.5em 0;
  border: 1px solid #EC9623;
  background-color: rgba(236, 150, 35, 0.1);
  font-size: 0.9em;
}
.b-slots .b-slot p {
  padding: 0;
}
.b-slots .b-slot .name {
  text-transform: uppercase;
}
.b-slots .b-slot .horaire {
  font-weight: 700;
}
.b-slots .b-slot .dispo {
  font-size: 0.9em;
}

#calendar .fc-header-toolbar {
  position: relative;
}
#calendar .fc-header-toolbar .fc-prev-button, #calendar .fc-header-toolbar .fc-next-button {
  padding: 0;
  width: 50px;
  height: 40px;
  margin: 0 0.25em;
  position: relative;
}
#calendar .fc-header-toolbar .fc-prev-button span, #calendar .fc-header-toolbar .fc-next-button span {
  display: block;
}
#calendar .fc-header-toolbar .fc-prev-button span::before, #calendar .fc-header-toolbar .fc-next-button span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-30%, -50%);
  content: "\e5e0";
  color: #ffffff;
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: "liga";
  -moz-osx-font-smoothing: grayscale;
}
#calendar .fc-header-toolbar .fc-prev-button:disabled, #calendar .fc-header-toolbar .fc-next-button:disabled {
  background-color: rgba(236, 150, 35, 0.5);
  border-color: rgba(236, 150, 35, 0.2);
}
@media (hover: hover) {
  #calendar .fc-header-toolbar .fc-prev-button:hover span::before, #calendar .fc-header-toolbar .fc-next-button:hover span::before {
    color: #EC9623;
  }
  #calendar .fc-header-toolbar .fc-prev-button:hover:disabled span::before, #calendar .fc-header-toolbar .fc-next-button:hover:disabled span::before {
    color: #ffffff;
  }
}
#calendar .fc-header-toolbar .fc-next-button span::before {
  content: "\e5e1";
  transform: translate(-50%, -50%);
}
#calendar .fc-header-toolbar .fc-today-button {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
#calendar .fc-header-toolbar h2 {
  font-size: 1.1em;
  margin-left: -11rem;
}
#calendar .fc-header-toolbar h2:first-letter {
  text-transform: uppercase;
}
#calendar .fc-dayGrid-view .fc-body .fc-row {
  min-height: 4rem;
}
#calendar .fc-row .fc-content-skeleton {
  padding: 1em 0;
}
#calendar table th, #calendar table td {
  border-color: transparent;
  text-align: center;
}
#calendar table th span, #calendar table td span {
  float: none;
}
#calendar table th a, #calendar table td a {
  border: none;
}
#calendar table td {
  padding: 0 0.5em;
}
#calendar table td.fc-today .fc-day-number {
  color: #EC9623;
}
#calendar table td.fc-past {
  opacity: 0.3;
}

.shop-order .b-recap {
  padding: 1em 0;
  display: flex;
  flex-direction: row-reverse;
}
.shop-order .b-recap > div {
  min-width: 30%;
}
.shop-order .b-recap .b-total {
  background-color: #ffffff;
}
.shop-order .b-actions {
  padding: 3em 0 1em 0;
}
.shop-order .b-actions .b-submit {
  padding-bottom: 1em;
}
.shop-order .b-actions .b-submit input, .shop-order .b-actions .b-submit button {
  width: auto;
}
.shop-order .b-actions p {
  font-size: 0.8em;
  font-style: italic;
}
.shop-order .b-item {
  padding: 1em 0.5em;
}
.shop-order .b-connect h3 {
  text-transform: uppercase;
}
.shop-order .b-connect .btn {
  margin: 2em 0;
}
.shop-order form h5.title {
  padding: 0 0 0.75em 0;
  text-align: center;
}

.shop-conditions .b-bloc {
  padding-top: 4em;
}
.shop-conditions .b-bloc > p::after {
  color: #ff0000;
  content: "(*)";
  margin-left: 0.25em;
}
.shop-conditions form .ic-mandatory label::after {
  content: none;
}
.shop-conditions form .form-check p {
  padding: 0;
}
.shop-conditions form p.text-left {
  font-size: 0.9em;
  font-weight: 700;
}
.shop-conditions form p a, .shop-conditions form label a {
  text-decoration: underline;
}
.shop-conditions form p a[target=_blank]::after, .shop-conditions form label a[target=_blank]::after {
  content: "\e89e";
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: "liga";
  -moz-osx-font-smoothing: grayscale;
  margin: 0 0.2em 0 0.3em;
  font-size: 0.95em;
}

.shop-paiement .b-bloc {
  text-align: center;
}
.shop-paiement .b-bloc > div {
  width: 100%;
  max-width: 400px;
  margin: 2em auto;
}
.shop-paiement .b-bloc > div #cb, .shop-paiement .b-bloc > div #visa, .shop-paiement .b-bloc > div #master {
  margin: 1em 0.25em 0 0.25em;
}
.shop-paiement .b-bloc > div #mangopay {
  margin: 1em auto;
}
.shop-paiement .b-bloc form > div {
  text-align: left;
}
.shop-paiement .b-bloc form > div.text-right {
  padding: 2em 0 0 0;
  display: flex;
  justify-content: space-between;
}
.shop-paiement .b-bloc form #error {
  font-size: inherit !important;
}
.shop-paiement .b-bloc #div_keepcard {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.shop-paiement .b-bloc #div_keepcard label {
  padding-left: 0.5em;
}

.shop-message {
  padding-top: 5em;
}
.shop-message .center {
  padding: 2em 0;
}

@media only screen and (min-width: 0px) and (max-width: 1023px) {
  .wrapper {
    max-width: 96%;
  }
  .b-listing.grid-four .b-item {
    width: calc(50% - 2rem);
  }
}
@media only screen and (min-width: 0px) and (max-width: 767px) {
  header {
    padding: 0.5em 2%;
  }
  header .wrapper > div {
    max-width: calc(100% - 110px);
  }
  header .wrapper > div .logo img {
    max-width: 60px;
  }
  header .wrapper > div .name-center {
    font-size: 0.8em;
    margin: 0 0.75em;
  }
  header .wrapper nav ul li {
    padding: 0;
  }
  header .wrapper nav ul li .material-icons {
    font-size: 1.8em;
    margin: -3px 0 0 0.15em;
  }
  header .wrapper nav ul li .text {
    font-size: 0;
  }
  header .wrapper nav ul li:nth-of-type(1) .material-icons {
    margin-left: 0;
  }
  a.leave {
    display: none;
  }
  .b-steps {
    font-size: 0.8em;
  }
  .b-steps ul li {
    padding: 0 0.5em;
  }
  .shop-main {
    padding-top: 1.5em;
  }
  .b-grey {
    padding: 0.5em 1em;
  }
  .b-grey .flex.center {
    flex-direction: column;
  }
  .b-grey .flex.center .btn.fill {
    display: block;
    width: 100%;
    margin-bottom: 1em;
  }
  .b-filters ul li {
    padding: 0.5em;
  }
  .b-listing {
    margin: 1em 0;
  }
  .b-listing .b-item {
    width: 100%;
    margin: 1em 0;
  }
  .b-listing.grid-two .b-item, .b-listing.grid-four .b-item {
    width: 100%;
    margin: 1em 0;
  }
  .shop-details .b-top {
    flex-direction: column;
    margin: 0;
  }
  .shop-details .b-top > div, .shop-details .b-top > form {
    width: 100%;
  }
  .shop-details .b-top > form {
    margin: 1em 0;
  }
  .shop-details div.bloc {
    padding: 0.5em 1em;
  }
  .b-bloc {
    padding: 4em 0.75em 1em 0.75em;
  }
  .b-bloc h1 {
    font-size: 0.9em;
  }
  .shop-cart .b-items .col.head, .shop-order .b-items .col.head {
    display: none;
  }
  .shop-cart .b-items .col > div, .shop-order .b-items .col > div {
    width: 100%;
    padding: 0.5em;
  }
  .shop-cart .b-items .col > div:nth-of-type(1), .shop-cart .b-items .col > div:nth-of-type(2), .shop-order .b-items .col > div:nth-of-type(1), .shop-order .b-items .col > div:nth-of-type(2) {
    width: 100%;
  }
  .shop-cart .b-items .b-item, .shop-order .b-items .b-item {
    padding: 0.5em 0;
  }
  .shop-cart .b-items .b-item .col, .shop-order .b-items .b-item .col {
    flex-wrap: wrap;
  }
  .shop-cart .b-items .b-item .col figure, .shop-order .b-items .b-item .col figure {
    margin: 0;
  }
  .shop-cart .b-recap, .shop-order .b-recap {
    flex-direction: column;
  }
  .shop-cart .b-recap .b-promo, .shop-order .b-recap .b-promo {
    min-width: 100%;
  }
  .shop-cart .b-recap .b-promo .flex, .shop-order .b-recap .b-promo .flex {
    flex-direction: column;
  }
  .shop-cart .b-recap .b-promo .flex > *, .shop-order .b-recap .b-promo .flex > * {
    width: 100%;
  }
  .shop-cart .b-recap .b-promo .flex input, .shop-order .b-recap .b-promo .flex input {
    margin: 0;
    width: 100%;
  }
  .shop-cart .b-recap .b-promo .flex #code_promo, .shop-order .b-recap .b-promo .flex #code_promo {
    margin: 0 0 1em 0;
  }
  .shop-cart .b-recap .b-promo .flex .btn, .shop-order .b-recap .b-promo .flex .btn {
    text-align: center;
  }
  .shop-cart .b-recap div:nth-of-type(2), .shop-order .b-recap div:nth-of-type(2) {
    min-width: 100%;
  }
  .shop-cart .b-total, .shop-order .b-total {
    padding: 1em;
    margin-top: 2em;
  }
  .shop-cart .b-actions, .shop-order .b-actions {
    padding: 0;
    flex-direction: column-reverse;
  }
  .shop-cart .b-actions > *, .shop-order .b-actions > * {
    width: 100%;
    margin: 0.25em 0;
    text-align: center;
  }
  .shop-order .b-recap > div {
    min-width: 100%;
  }
  form fieldset {
    padding: 1em;
  }
  form .genre, form .healthquest {
    flex-wrap: wrap;
  }
  form .genre > p, form .healthquest > p {
    width: 100%;
    text-align: left;
  }
  form .autoparent h3 {
    align-self: center;
    margin-left: 0;
  }
  form p.text-help {
    padding-left: 0;
  }
  form .form-group.row {
    flex-direction: column;
  }
  form .form-group.row > label, form .form-group.row > div {
    width: 100% !important;
  }
  form .form-group.row > label {
    text-align: left !important;
  }
  form .check-autoquest {
    flex-direction: row-reverse;
  }
  form .check-autoquest > label, form .check-autoquest > div {
    width: 10% !important;
  }
  form .check-autoquest > label {
    text-align: left !important;
    width: 90% !important;
  }
  form .flex.actions {
    flex-direction: column-reverse;
    padding: 0;
  }
  form .flex.actions > * {
    width: 100%;
    margin: 0.5em 0;
    text-align: center;
  }
  form .flex.actions > * input {
    width: 100%;
    margin: 0;
  }
  .infos-required {
    text-align: center;
  }
  .shop-planning .b-date {
    padding: 1em;
  }
  .shop-planning .b-date .b-pack {
    padding: 0.75em;
  }
  .shop-planning .b-date .b-pack .flex {
    flex-direction: column;
  }
  .shop-planning .b-date .b-pack .flex > * {
    width: 100%;
    padding: 0.25em 0;
    text-align: center;
  }
  .shop-planning .b-locations {
    padding-top: 1em;
  }
  .shop-planning .b-locations.mt {
    padding-top: 3em;
  }
  #calendar .fc-header-toolbar {
    margin-bottom: 0;
  }
  #calendar .fc-header-toolbar h2 {
    margin: 0;
  }
  #calendar .fc-header-toolbar .fc-today-button {
    position: relative;
    right: inherit;
    top: inherit;
    transform: none;
  }
  #calendar .fc-list-view {
    border-color: rgba(151, 151, 151, 0.5);
    border-bottom: none;
  }
  #calendar table .fc-list-heading {
    background-color: rgba(151, 151, 151, 0.2);
  }
  #calendar table .fc-list-heading td {
    padding: 0.5em;
  }
  #calendar table .fc-list-heading td span {
    float: left;
  }
  #calendar table .fc-list-heading td span.fc-list-heading-main::first-letter {
    text-transform: uppercase;
  }
  #calendar table .fc-list-heading td span.fc-list-heading-alt {
    float: right;
  }
  #calendar table .fc-list-item td {
    padding: 0.5em;
    border-top: 1px solid rgba(151, 151, 151, 0.5);
    border-bottom: 1px solid rgba(151, 151, 151, 0.5);
    vertical-align: middle;
    cursor: pointer;
  }
  #calendar table .fc-list-item td.fc-list-item-time {
    display: none;
  }
  #calendar table .fc-list-item td.fc-list-item-title {
    text-align: right;
  }
  .fc-toolbar {
    flex-direction: column;
  }
  .fc-toolbar > div {
    width: 100%;
  }
  .fc-toolbar .fc-left {
    display: flex;
    justify-content: space-between;
  }
  .fc-toolbar .fc-center {
    text-align: center;
  }
  .modal-header {
    padding: 1em 1.5em 1em 1em;
  }
  .modal-body {
    padding: 1em 1em 0 1em;
  }
  .modal-body .b-locations li {
    padding-left: calc(1em + 5px);
  }
  .modal-body .b-locations li::before {
    content: none;
  }
  .modal-body .b-locations li span {
    transform: none;
    top: 5px;
  }
  .modal-body .b-slots {
    flex-direction: column;
  }
  .modal-body .b-slots > .col {
    width: 100%;
  }
  .modal-footer #modalCancel, .modal-footer #modalValid {
    margin: 0;
  }
  .b-messages.error, .b-messages.success, .b-messages.alert {
    padding-left: 1em;
    padding-top: 2em;
  }
  .b-messages.error::before, .b-messages.success::before, .b-messages.alert::before {
    left: 50%;
    top: 2px;
    transform: translateX(-50%);
    font-size: 25px;
  }
}
