@charset "UTF-8";
/**
 * [replace with theme name] | Built with Slate
 */
.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;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-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;
  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;
  -ms-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;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
  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 {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  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 {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  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: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle; }

.fc-button-group > .fc-button {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  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 {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  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; }

.fc-timeGrid-view .fc-day-grid {
  position: relative;
  z-index: 2; }

.fc-timeGrid-view .fc-day-grid .fc-row {
  min-height: 3em; }

.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em; }

.fc .fc-axis {
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap; }

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

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

.fc-time-grid, .fc-time-grid-container {
  position: relative;
  z-index: 1; }

.fc-time-grid {
  min-height: 100%; }

.fc-time-grid table {
  border: 0 hidden transparent; }

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

.fc-time-grid .fc-slats, .fc-time-grid > hr {
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-content-col {
  position: relative; }

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

.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 {
  z-index: 3;
  position: relative; }

.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 {
  position: relative;
  z-index: 6; }

.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0; }

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

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0; }

.fc-ltr .fc-time-grid .fc-event-container {
  margin: 0 2.5% 0 2px; }

.fc-rtl .fc-time-grid .fc-event-container {
  margin: 0 2px 0 2.5%; }

.fc-time-grid .fc-bgevent, .fc-time-grid .fc-event {
  position: absolute;
  z-index: 1; }

.fc-time-grid .fc-bgevent {
  left: 0;
  right: 0; }

.fc-time-grid-event {
  margin-bottom: 1px; }

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

.fc-time-grid-event.fc-not-start {
  border-top-width: 0;
  padding-top: 1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.fc-time-grid-event.fc-not-end {
  border-bottom-width: 0;
  padding-bottom: 1px;
  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: .85em;
  white-space: nowrap; }

.fc-time-grid-event.fc-short .fc-content {
  white-space: nowrap; }

.fc-time-grid-event.fc-short .fc-time, .fc-time-grid-event.fc-short .fc-title {
  display: inline-block;
  vertical-align: top; }

.fc-time-grid-event.fc-short .fc-time span {
  display: none; }

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start); }

.fc-time-grid-event.fc-short .fc-time:after {
  content: " - "; }

.fc-time-grid-event.fc-short .fc-title {
  font-size: .85em;
  padding: 0; }

.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: "="; }

.fc-time-grid-event.fc-selected .fc-resizer {
  border-radius: 5px;
  border-width: 1px;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  left: 50%;
  margin-left: -5px;
  bottom: -5px; }

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

.fc-time-grid .fc-now-indicator-arrow {
  margin-top: -5px; }

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
  left: 0;
  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;
  border-width: 5px 6px 5px 0;
  border-top-color: transparent;
  border-bottom-color: transparent; }

.fc-event-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px; }

.fc-rtl .fc-list-view {
  direction: rtl; }

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

.fc .fc-list-table {
  table-layout: auto; }

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

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

.fc-list-heading {
  border-bottom-width: 1px; }

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

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

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

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

.fc-list-item.fc-has-url {
  cursor: pointer; }

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

.fc-ltr .fc-list-item-marker {
  padding-right: 0; }

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

.fc-list-item-title a {
  text-decoration: none;
  color: inherit; }

.fc-list-item-title a[href]:hover {
  text-decoration: underline; }

.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 {
  background-color: #eee; }

/**
 * Sets a media query for the specified breakpoint
 *
 * Accepts:
 * - $media-query: {String} Breakpoint variable (list found in variables.scss)
 *
 * Usage:
 * .selector {
 *   @include media-query($medium-up) {
 *     color: red;
 *   }
 * }
 */
/**
 * Outputs list of transition properties
 *
 * Accepts:
 * - $transitions: {String} List of transition properties to set
 *
 * Usage:
 * .selector {
 *   @include transition(width, height 0.5s ease-in);
 * }
 */
/**
 * Forces an element to self-clear its children
 *
 * Usage:
 * .selector {
 *   @include clearfix;
 * }
 */
/**
 * Hide element but make it accessible to screen readers
 *
 * Usage:
 * .selector {
 *   @include visually-hidden;
 * }
 */
/**
 * Reverse the properties applied by @mixin visually-hidden
 *
 * Accepts:
 * - $position: {String} Positioning method for element
 *
 * Usage:
 * .selector {
 *   @include visually-shown(relative);
 * }
 */
/**
 * Returns the transition properties in the correct format
 * This function is used by @mixin transition($transitions...)
 */
form {
  margin: 0; }

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

input,
textarea,
select {
  font-size: 1.6rem;
  max-width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 0; }
  input[disabled],
  textarea[disabled],
  select[disabled] {
    border-color: black;
    background-color: black;
    cursor: default; }

button,
input[type="submit"],
label[for] {
  cursor: pointer; }

textarea {
  min-height: 100px;
  width: 100%;
  padding: 12px 20px;
  font-size: 16px;
  color: var(--filled-color);
  line-height: var(--line-height);
  border: 1px solid var(--border-color); }

select::-ms-expand {
  display: none; }

option {
  background-color: var(--color-main-background);
  color: var(--color-body-text); }

.input-error {
  border-color: #ff6d6d;
  background-color: white;
  color: var(--color-body-text); }

.download-button-group {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .download-button-group a {
    margin-right: 10px;
    margin-bottom: 10px; }

.button-group {
  display: flex;
  justify-content: space-between; }
  .button-group button,
  .button-group input {
    width: 48%;
    min-width: auto; }
  .button-group input {
    border: solid 1px #e4e9ea;
    border-radius: 6px; }

.small-button-group button {
  margin-right: 10px; }

.radio-button-group {
  display: flex;
  margin-top: 16px;
  margin-bottom: 60px;
  height: 48px;
  border: 1px solid #e8eced;
  border-radius: 4px; }
  .radio-button-group.has-small-margin {
    margin-bottom: 20px; }
  .radio-button-group .radio-item {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #e8eced;
    color: var(--palette-green); }
    .radio-button-group .radio-item:last-of-type {
      border-right: none; }
    .radio-button-group .radio-item input[type="radio"] {
      position: absolute;
      visibility: hidden; }
      .radio-button-group .radio-item input[type="radio"]:checked ~ label {
        background-color: #e8eced; }
    .radio-button-group .radio-item label {
      height: 100%;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      cursor: pointer;
      transition: var(--transition); }
    .radio-button-group .radio-item img {
      max-width: 14px; }

.input-field-item.qty-item input {
  max-width: 148px; }
.input-field-item input {
  border: solid 1px #e4e9ea;
  border-radius: 6px;
  line-height: 48px;
  text-align: center;
  font-size: 14px;
  font-weight: 600; }

.form-fields {
  margin: 0 -6px; }
  .form-fields .field-item {
    padding: 6px; }
    .form-fields .field-item.is-grouped {
      display: flex;
      justify-content: space-between; }
      .form-fields .field-item.is-grouped > input, .form-fields .field-item.is-grouped > .is-half {
        width: 48%; }
    .form-fields .field-item.select {
      position: relative; }
      .form-fields .field-item.select:before {
        content: "";
        position: absolute;
        width: 12px;
        height: 12px;
        /* background: red; */
        border-right: 2px solid #007674;
        border-bottom: 2px solid #007674;
        right: 20px;
        top: 20px;
        transform: rotate(45deg); }
      .form-fields .field-item.select select {
        appearance: none; }

.select-component {
  position: relative;
  width: 100%; }
  .select-component.is-multiselect > label {
    text-align: left;
    padding-left: 30px;
    padding-right: 48px;
    color: var(--palette-black);
    padding-bottom: 0; }
    .select-component.is-multiselect > label img {
      max-width: 15px;
      margin-top: -5px;
      vertical-align: middle; }
    .select-component.is-multiselect > label .arrow-icon {
      margin-top: 0;
      margin-left: 8px; }
  .select-component.is-multiselect > .select {
    height: auto;
    max-height: 70vh;
    top: 45px;
    border-top-width: 0px;
    padding-bottom: 40px;
    transform-origin: center top; }
    .select-component.is-multiselect > .select label {
      text-align: left;
      padding-left: 48px;
      padding-right: 48px;
      color: var(--palette-black);
      font-weight: 600; }
      .select-component.is-multiselect > .select label.is-title {
        color: var(--palette-grey);
        margin-top: 24px; }
      .select-component.is-multiselect > .select label.active {
        background-color: rgba(0, 118, 116, 0.06); }
  .select-component.is-multiselect.is-inline > .select {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 10px; }
    .select-component.is-multiselect.is-inline > .select label {
      width: 100%;
      display: inline-block;
      line-height: 32px;
      padding: 0 10px;
      margin-right: 10px;
      margin-bottom: 10px;
      font-weight: 400; }
      .select-component.is-multiselect.is-inline > .select label.active {
        font-weight: bold; }
  .select-component > label {
    border-radius: 4px;
    border: solid 1px #e4e9ea;
    display: block;
    line-height: 48px;
    width: 100%;
    padding-bottom: 5px;
    text-align: center;
    font-size: 14px;
    font-weight: 600; }
  .select-component > .select {
    overflow: none;
    position: absolute;
    width: 100%;
    max-height: 300px;
    padding-top: 2px;
    background: #fff;
    border: solid 1px #e4e9ea;
    border-radius: 4px;
    top: 60px;
    overflow: scroll;
    transition: all 300ms;
    z-index: 10; }
    .select-component > .select.hidden {
      transform: scale(0);
      opacity: 0; }
    .select-component > .select .arrow-icon {
      margin-top: 0; }
    .select-component > .select label {
      width: 100%;
      display: block;
      line-height: 48px;
      text-align: center;
      font-size: 14px; }
      .select-component > .select label:hover {
        background: #f7f7f7;
        transition: all ease 300ms; }
      .select-component > .select label.active {
        font-weight: 600;
        background: #f7f7f7; }
      .select-component > .select label input {
        display: none; }
  .select-component option {
    display: inline-block;
    width: 100%;
    height: auto;
    opacity: 0.8;
    background-color: #98473e;
    padding: 0.25em 0.5em;
    margin-bottom: 2px;
    cursor: pointer;
    color: #07090f;
    vertical-align: middle;
    font-size: 16px; }
    .select-component option:hover {
      opacity: 1; }

.shopify-challenge__container {
  padding-top: 60px;
  padding-bottom: 60px; }

.shopify-challenge__button {
  display: block;
  height: 48px;
  min-width: 204px;
  padding: 0 24px;
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  outline: 0;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: var(--transition); }
  .shopify-challenge__button.btn {
    background-color: var(--palette-green);
    color: var(--palette-white); }
    .shopify-challenge__button.btn:hover {
      background-color: var(--palette-green-dark); }
    .shopify-challenge__button.btn:disabled {
      cursor: not-allowed;
      color: var(--palette-translucent-white);
      background-color: var(--palette-green-dark); }

button.primary, button.secondary, button.outline, button.underline, button.arrow, button.category, button.menu, button.primary-light, button.transparent {
  display: block;
  height: 48px;
  min-width: 204px;
  padding: 0 24px;
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  outline: 0;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: var(--transition); }
button.is-full {
  width: 100%; }
button.is-auto {
  min-width: initial;
  width: auto; }
button.is-small {
  height: 30px;
  min-width: auto;
  padding: 0 16px; }
button.primary {
  background-color: var(--palette-green);
  color: var(--palette-white); }
  button.primary:hover {
    background-color: var(--palette-green-dark); }
  button.primary:disabled {
    cursor: not-allowed;
    color: var(--palette-translucent-white);
    background-color: var(--palette-green-dark); }
button.primary-light {
  background-color: var(--palette-translucent-green);
  color: var(--palette-green); }
  button.primary-light:hover {
    background-color: var(--palette-green);
    color: var(--palette-white); }
  button.primary-light:disabled {
    cursor: not-allowed;
    color: var(--palette-translucent-white);
    background-color: var(--palette-green-dark); }
button.secondary {
  background-color: var(--palette-white);
  color: var(--palette-green); }
button.transparent {
  background-color: transparent;
  color: var(--palette-green); }
button.outline {
  border: 1px solid #e8e8e8;
  background-color: var(--palette-white);
  color: var(--palette-green); }
  button.outline:hover {
    background-color: #e8eced; }
  button.outline:disabled {
    cursor: not-allowed;
    color: var(--palette-translucent-green); }
  button.outline.has-icon svg {
    max-width: 14px;
    vertical-align: middle;
    margin-left: 10px; }
button.underline {
  min-width: auto;
  width: fit-content;
  padding: 0px;
  height: auto;
  border-radius: 0px;
  background-color: transparent;
  color: var(--palette-green);
  border-bottom: 2px solid var(--palette-green); }
button.arrow {
  display: flex;
  align-items: center;
  min-width: auto;
  width: fit-content;
  padding: 0px;
  height: auto;
  border-radius: 0px;
  background-color: transparent;
  color: var(--palette-green); }
  button.arrow.left img {
    margin-right: 12px; }
  button.arrow.right img {
    margin-left: 12px; }
button.category {
  padding: 0 24px;
  min-width: auto;
  width: fit-content;
  border-radius: 0px;
  color: var(--palette-green); }
button.menu {
  min-width: auto;
  width: 48px;
  height: 48px;
  border: 1px solid #e8e8e8;
  padding: 0px; }

.form-group-wrapper {
  margin-left: -10px;
  margin-right: -10px; }

.form-field-wrapper {
  display: flex;
  width: 100%; }
  .form-field-wrapper .form-field {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 12px; }
    .form-field-wrapper .form-field .isRequired, .form-field-wrapper .form-field.isRequired {
      border: solid 2px #ffb2b2; }
    .form-field-wrapper .form-field select {
      border-radius: 4px !important;
      border: solid 1px #e4e9ea;
      display: block;
      height: 54px;
      width: 100%;
      font-size: 14px; }
    .form-field-wrapper .form-field.is-radio label {
      border: 1px solid var(--border-color);
      border-radius: var(--border-radius);
      display: block;
      padding: 12px 20px;
      margin-bottom: 12px; }
      .form-field-wrapper .form-field.is-radio label input {
        margin-top: -4px;
        margin-right: 10px; }
      .form-field-wrapper .form-field.is-radio label p {
        margin: 0; }
    .form-field-wrapper .form-field.is-datepicker input[type="text"] {
      font-family: var(--font-primary);
      font-size: 14px;
      font-weight: 600;
      text-align: center; }
      .form-field-wrapper .form-field.is-datepicker input[type="text"]::placeholder {
        color: #667; }

.hbspt-form .hs-form .form-columns-1,
.hbspt-form .hs-form .form-columns-2,
.hbspt-form .hs-form .form-columns-3 {
  width: 100%;
  max-width: 100%; }
  .hbspt-form .hs-form .form-columns-1 select.hs-input,
  .hbspt-form .hs-form .form-columns-2 select.hs-input,
  .hbspt-form .hs-form .form-columns-3 select.hs-input {
    font-size: 16px;
    border: solid 1px var(--border-color);
    padding: 16px; }
  .hbspt-form .hs-form .form-columns-1 .hs-input,
  .hbspt-form .hs-form .form-columns-2 .hs-input,
  .hbspt-form .hs-form .form-columns-3 .hs-input {
    width: 100%; }
.hbspt-form .hs-form .form-columns-3 .hs-form-field {
  width: 33%; }
  .hbspt-form .hs-form .form-columns-3 .hs-form-field:last-child {
    margin-right: 0; }
    .hbspt-form .hs-form .form-columns-3 .hs-form-field:last-child .input {
      margin-right: 0; }
.hbspt-form .hs-form .hs-form-field {
  margin-top: 8px; }
  .hbspt-form .hs-form .hs-form-field label {
    font-size: 14px; }
  .hbspt-form .hs-form .hs-form-field ul {
    list-style: none;
    margin-left: 0; }
    .hbspt-form .hs-form .hs-form-field ul li {
      display: inline-block; }
      .hbspt-form .hs-form .hs-form-field ul li.hs-form-checkbox {
        border: 1px solid var(--border-color);
        border-radius: var(--border-radius);
        padding: 5px 10px;
        margin-right: 10px;
        margin-bottom: 10px; }
        .hbspt-form .hs-form .hs-form-field ul li.hs-form-checkbox label {
          font-size: 12px; }
      .hbspt-form .hs-form .hs-form-field ul li input {
        display: none; }
      .hbspt-form .hs-form .hs-form-field ul li input + span {
        background: #f9fafb;
        border: solid 1px #e8eced;
        padding: 7px 14px;
        border-radius: 4px;
        margin-right: 10px; }
      .hbspt-form .hs-form .hs-form-field ul li input:checked + span {
        border-color: var(--palette-green);
        background-color: #f7f7f7; }
.hbspt-form .hs-form .hs-button {
  background-color: var(--palette-green);
  border-radius: var(--border-radius);
  color: var(--palette-white);
  font-size: 14px;
  padding: 15px 30px; }
.hbspt-form .actions {
  margin-top: 20px; }
  .hbspt-form .actions input {
    width: 100%; }

.footer .hs-form {
  position: relative; }
.footer .hs_submit.hs-submit {
  position: absolute;
  right: 0;
  top: 16px; }
  .footer .hs_submit.hs-submit input {
    color: var(--palette-green);
    background-color: transparent;
    font-family: var(--font-primary);
    font-size: 14px; }

.clearfix {
  *zoom: 1; }
  .clearfix::after {
    content: '';
    display: table;
    clear: both; }

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0); }

.is-hidden {
  display: none !important; }

.js-focus-hidden:focus {
  outline: none; }

.label-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0); }
  .no-placeholder .label-hidden {
    position: inherit !important;
    overflow: auto;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto; }

.visually-shown {
  position: inherit !important;
  overflow: auto;
  width: auto;
  height: auto;
  margin: 0;
  clip: auto; }

.no-js:not(html) {
  display: none; }
  .no-js .no-js:not(html) {
    display: block; }

.no-js .js {
  display: none; }

.supports-no-cookies:not(html) {
  display: none; }
  html.supports-no-cookies .supports-no-cookies:not(html) {
    display: block; }

html.supports-no-cookies .supports-cookies {
  display: none; }

.skip-link:focus {
  position: absolute !important;
  overflow: auto;
  width: auto;
  height: auto;
  margin: 0;
  clip: auto;
  z-index: 10000;
  padding: 15px;
  background-color: var(--color-main-background);
  color: var(--color-body-text);
  transition: none; }

.hide {
  /* stylelint-disable declaration-no-important */
  display: none !important; }

.is-centered {
  margin-left: auto;
  margin-right: auto; }

.is-relative {
  position: relative; }

.card {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center; }
  .card.is-directors {
    position: relative; }
    .card.is-directors:hover .is-hidden-bio {
      opacity: 1;
      z-index: 999; }
    .card.is-directors p {
      max-width: 230px; }
      .card.is-directors p.is-hidden-bio {
        background: #fff;
        box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
        border-radius: 10px;
        padding: 25px;
        margin-left: -30px;
        margin-right: -30px;
        width: calc(100% + 60px);
        max-width: calc(100% + 60px);
        position: absolute;
        margin-top: 70%;
        opacity: 0;
        transition: opacity 300ms ease-in-out;
        z-index: -1; }
        @media (max-width: 768px) {
          .card.is-directors p.is-hidden-bio {
            padding: 15px; } }
    .card.is-directors svg {
      width: 100%;
      max-width: 148px; }
  .card.is-inline {
    flex-direction: row; }
  .card svg {
    width: 100%;
    max-width: 88px; }

.is-marginless-bottom {
  margin-bottom: 0 !important; }

.is-marginless-top {
  margin-top: 0 !important; }

.is-marginless {
  margin: 0 !important; }

.is-paddingless-bottom {
  padding-bottom: 0 !important; }

.is-paddingless-top {
  padding-top: 0 !important; }

.is-paddingless {
  padding: 0 !important; }

.has-margin-6 {
  margin-top: 60px;
  margin-bottom: 60px; }

@media (min-width: 768px) {
  .has-padding-right {
    padding-right: 40px; } }

.has-top-margin {
  margin-top: 60px; }
  @media (max-width: 1100px) {
    .has-top-margin {
      margin-top: 40px; } }

.has-top-margin-small {
  margin-top: 2em; }

.has-top-margin-large {
  margin-top: 120px !important; }
  @media (max-width: 1100px) {
    .has-top-margin-large {
      margin-top: 60px !important; } }

.has-bottom-margin {
  margin-bottom: 60px; }
  @media (max-width: 1100px) {
    .has-bottom-margin {
      margin-bottom: 40px; } }

.has-bottom-margin-small {
  margin-bottom: 2em; }

.has-bottom-margin-large {
  margin-bottom: 120px !important; }
  @media (max-width: 1100px) {
    .has-bottom-margin-large {
      margin-bottom: 60px !important; } }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #e4e9ea;
  margin: 0 auto;
  padding: 0;
  width: 76rem;
  max-width: 100%; }
  hr.full-width {
    width: 100%;
    max-width: 100%; }
  hr.has-spacing {
    margin-top: 40px;
    margin-bottom: 40px; }
  hr.has-spacing-large {
    margin-top: 100px;
    margin-bottom: 100px; }
    @media (max-width: 768px) {
      hr.has-spacing-large {
        margin-top: 40px;
        margin-bottom: 40px; } }

.has-vertical-align-center-children {
  display: flex;
  justify-content: center;
  flex-direction: column; }

.has-horizontal-align-center-children {
  display: flex;
  align-items: center; }

.has-space-between-children {
  display: flex;
  justify-content: space-between; }

.is-float-right {
  float: right; }

.is-nowrap {
  white-space: nowrap; }

.has-texture-border {
  position: relative;
  background-size: cover; }
  .has-texture-border::before {
    content: "";
    position: absolute;
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/border-top.png?v=8350215677616180236");
    left: 0;
    right: 0;
    top: 0;
    height: 18px; }
  .has-texture-border::after {
    content: "";
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/border-bottom.png?v=1647203105313428296");
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 18px; }

.has-light-border {
  border: solid 1px #e4e9ea; }

.has-border-bottom {
  border-bottom: solid 1px #e4e9ea; }

.has-navy-texture-background {
  position: relative;
  background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/txtr-dark@2x.jpg?v=18190643995100508499");
  background-position: center;
  background-size: cover; }

.pagination-wrapper {
  padding: 60px 0; }
  .pagination-wrapper .page {
    color: var(--palette-green);
    padding: 10px; }
    .pagination-wrapper .page:hover {
      border-bottom: solid 2px var(--palette-green); }
    .pagination-wrapper .page.current {
      border-bottom: solid 2px var(--palette-green); }
  .pagination-wrapper .next {
    margin-left: 40px; }
  .pagination-wrapper .prev {
    margin-right: 40px; }
  .pagination-wrapper .disabled {
    opacity: 0.4; }

.chapter-block {
  border-radius: 4px;
  border: solid 1px #e4e9ea;
  margin-bottom: 12px;
  padding-top: 28px;
  padding-bottom: 28px; }
  .chapter-block:first-of-type {
    margin-top: 40px; }
  .chapter-block:last-of-type {
    margin-bottom: 40px; }
  .chapter-block p {
    margin: 0;
    padding-left: 48px;
    padding-right: 48px;
    font-size: 14px; }
    .chapter-block p.chapter-location {
      border-bottom: solid 1px #e4e9ea;
      color: var(--black);
      padding-bottom: 12px;
      padding-left: 0;
      position: relative;
      margin-bottom: 12px;
      margin-left: 48px;
      font-weight: 600; }
      .chapter-block p.chapter-location::before {
        content: "";
        background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/location.svg?v=5121594560260266048");
        background-repeat: no-repeat;
        position: absolute;
        left: -20px;
        top: 3px;
        height: 16px;
        width: 12px; }
    .chapter-block p span {
      color: #667;
      font-weight: 600; }

.learn-more-box {
  align-items: center;
  background-color: var(--palette-translucent-green);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 60px;
  padding: 60px; }
  .learn-more-box h5 {
    margin: 0;
    color: var(--palette-black);
    font-size: 14px;
    font-weight: 600; }
  .learn-more-box a {
    font-size: 14px;
    font-weight: 600;
    color: var(--palette-green); }

.icon-circle-button {
  display: block;
  height: 48px;
  width: 48px;
  border-radius: 48px;
  border: solid 1px #e4e9ea;
  text-align: center;
  padding-top: 8px; }

.is-block {
  display: block; }

.public-notice {
  text-align: center;
  background: #f9f2e7; }
  .public-notice p {
    padding: 8px;
    margin: 0;
    font-size: 14px; }

.alert-message {
  border-radius: 4px;
  background: var(--palette-translucent-green);
  padding: 10px;
  width: 100%;
  text-align: center;
  margin-left: 1em;
  margin-right: 1em; }

body :focus {
  outline: none; }

html {
  background-color: var(--color-main-background);
  box-sizing: border-box; }

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

body,
html {
  height: 100%;
  margin: 0;
  font-family: var(--font-primary); }

header {
  position: relative;
  z-index: 100; }

.search.is-active input {
  width: 100%;
  opacity: 1; }
.search.is-always-active input {
  width: 100%;
  opacity: 1;
  background-color: #eee;
  border-radius: 0;
  border-width: 0; }
.search.is-always-active .search-button {
  background-color: #eee; }
.search input {
  width: 70px;
  opacity: 0; }

.mobile-give-button-wrapper {
  padding: 20px; }

.container {
  overflow: initial !important;
  max-width: calc(100% - 100px) !important; }
  @media (min-width: 1300px) {
    .container {
      max-width: 1200px !important; } }
  @media (max-width: 768px) {
    .container {
      max-width: 100% !important;
      margin-left: 32px;
      margin-right: 32px; } }

.row.is-multiline {
  flex-wrap: wrap; }
.row.is-centered {
  justify-content: center; }
.row.is-collapsed-small {
  margin: 0 -1rem; }
.row.is-collapsed {
  margin: 0 -15px; }

.section-spacing {
  padding-top: 120px;
  padding-bottom: 120px; }
  @media (max-width: 768px) {
    .section-spacing {
      padding-top: 60px;
      padding-bottom: 60px; } }

.section-spacing-large {
  padding-top: 180px;
  padding-bottom: 180px; }
  @media (max-width: 768px) {
    .section-spacing-large {
      padding-top: 80px;
      padding-bottom: 80px; } }

.section-spacing-small {
  padding-top: 40px;
  padding-bottom: 40px; }

.section-spacing-top {
  padding-top: 120px; }
  @media (max-width: 768px) {
    .section-spacing-top {
      padding-top: 60px; } }

.section-spacing-bottom {
  padding-bottom: 120px; }
  @media (max-width: 768px) {
    .section-spacing-bottom {
      padding-bottom: 60px; } }

.responsive-image__wrapper img {
  width: 100%; }

.nav.mobile .links {
  background-color: #fff;
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.08);
  display: block;
  height: 100%;
  overflow-y: scroll;
  position: fixed;
  right: -295px;
  top: 0;
  width: 295px;
  z-index: 100;
  transition: all 400ms; }
  .nav.mobile .links.open {
    right: 0; }
  .nav.mobile .links .close-menu {
    border-bottom: 1px solid #e4e9ea;
    cursor: pointer;
    line-height: 60px;
    padding: 0 32px;
    text-align: right; }
  .nav.mobile .links .nav-menu,
  .nav.mobile .links .child-links,
  .nav.mobile .links .nav-menu-sections,
  .nav.mobile .links .featured-links {
    display: block; }
  .nav.mobile .links .nav-menu {
    overflow: hidden;
    max-height: 0;
    transition: all 600ms; }
    .nav.mobile .links .nav-menu.open {
      position: initial;
      padding-left: initial;
      padding-right: initial;
      background-color: initial;
      box-shadow: initial;
      max-height: 2000px;
      border-bottom: 1px solid #e4e9ea; }
    .nav.mobile .links .nav-menu .see-all {
      position: initial; }
  .nav.mobile .links .nav-menu-sections hr {
    margin-left: 32px;
    margin-right: 32px;
    width: calc(100% - 64px); }
  .nav.mobile .links .links-group-wrapper {
    width: 100%; }
  .nav.mobile .links .child-links.has-grouped-links {
    max-height: initial; }
  .nav.mobile .links a {
    display: block;
    width: 100%; }
  .nav.mobile .links .featured-links,
  .nav.mobile .links .child-links {
    padding-top: 40px;
    padding-right: 32px;
    padding-bottom: 40px;
    padding-left: 32px; }
  .nav.mobile .links .js_parent-nav-link,
  .nav.mobile .links .parent-nav-link {
    line-height: 60px;
    border-bottom: 1px solid #e4e9ea;
    text-align: left;
    display: flex;
    justify-content: space-between;
    padding: 0 32px; }
@media (min-width: 768px) {
  .nav .links .links-group-wrapper {
    width: 50%; } }
.nav .links .links-group-wrapper a {
  display: block; }
.nav .links .child-links.has-grouped-links {
  flex-direction: row;
  flex-flow: column wrap;
  max-height: 520px; }
.nav .links .child-links .is-anchor-with-spacing {
  margin-bottom: 16px; }

.table-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 20px; }
  .table-wrapper.striped-table tr:nth-child(even) {
    background-color: #f7f7f7; }
  .table-wrapper.styled-header tr:first-child {
    border-bottom: solid 2px #d0dade; }
  .table-wrapper tbody {
    width: 100%; }
  .table-wrapper th {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex: 1;
    padding-bottom: 15px; }
  .table-wrapper tr {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    padding: 10px 0; }
    .table-wrapper tr:hover {
      background-color: rgba(0, 118, 116, 0.06);
      border-radius: 4px; }
    .table-wrapper tr.is-table-header {
      border-bottom: solid 1px #e4e9ea;
      margin-bottom: 40px; }
    .table-wrapper tr .flag-image-wrapper {
      text-align: center; }
    .table-wrapper tr td {
      display: flex;
      flex-direction: column;
      flex-basis: 100%;
      flex: 1; }
      .table-wrapper tr td:first-child {
        max-width: 88px; }
      .table-wrapper tr td.is-width-auto {
        max-width: unset; }
      .table-wrapper tr td.has-left-padding {
        padding-left: 30px; }
      .table-wrapper tr td.is-large-row {
        min-width: 400px; }
      .table-wrapper tr td .image-wrapper {
        background-size: cover;
        background-position: center;
        border-radius: 4px;
        height: 32px;
        width: 32px; }
      .table-wrapper tr td img {
        width: 32px;
        vertical-align: middle; }
      .table-wrapper tr td a {
        cursor: pointer; }

.is-card {
  max-width: 1148px;
  background-color: var(--palette-white);
  margin: auto;
  padding: 60px;
  box-shadow: 0 12px 24px 0 rgba(0, 118, 116, 0.12); }
  .is-card.is-width-auto {
    max-width: unset; }
  .is-card .errors {
    background: #f2f2f2;
    padding: 5px 20px;
    border-radius: 8px;
    margin-bottom: 20px; }

.sponsor-image-wrapper {
  margin-top: 20px;
  opacity: 0.7; }
  .sponsor-image-wrapper img {
    max-width: 100px; }

.modal-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: scroll;
  z-index: 100; }
  @media (max-width: 768px) {
    .modal-wrapper {
      align-items: flex-start;
      justify-content: flex-start; } }
  .modal-wrapper .background-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 100; }

.modal-content {
  position: relative;
  width: 470px;
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.08);
  z-index: 200; }
  .modal-content .close-menu {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 1000;
    width: 20px; }
  .modal-content .modal-title {
    padding: 60px 0 40px 0; }
  .modal-content .modal-details {
    padding: 60px; }
    .modal-content .modal-details .arrow-icon {
      color: var(--palette-green);
      display: inline-block;
      font-size: 28px;
      margin-left: 5px;
      margin-right: 5px;
      transform: translate(0, 4px) rotate(45deg); }

figure {
  margin: 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

.is-aspect-image {
  padding-bottom: 120%;
  background-position: center;
  background-size: cover;
  border-radius: 6px; }
  @media (max-width: 787px) {
    .is-aspect-image {
      margin-bottom: 20px; } }
  .is-aspect-image.is-6x9 {
    padding-bottom: 60%; }
  .is-aspect-image.is-16x7 {
    padding-bottom: calc(7 / 16 * 100%); }
  .is-aspect-image.is-9x16 {
    padding-bottom: calc(9 / 16 * 100%); }
  .is-aspect-image.is-3x12 {
    padding-bottom: calc(3 / 12 * 100%); }
  .is-aspect-image.is-2x5 {
    padding-bottom: calc(2 / 5 * 100%); }
  .is-aspect-image.is-1x1 {
    padding-bottom: 100%; }

.is-aspect-video {
  position: relative;
  padding-bottom: calc((9 / 16) * 100%) !important;
  border-radius: 5px;
  overflow: hidden; }
  .is-aspect-video iframe {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 100%;
    bottom: 0;
    right: 0; }

@media only screen and (max-width: 45.85em) {
  .responsive-table {
    width: 100%; }
    .responsive-table thead {
      display: none; }
    .responsive-table tr {
      display: block; }
    .responsive-table tr,
    .responsive-table td {
      float: left;
      clear: both;
      width: 100%; }
    .responsive-table th,
    .responsive-table td {
      display: block;
      margin: 0;
      padding: 15px;
      text-align: right; }
    .responsive-table td::before {
      content: attr(data-label);
      float: left;
      padding-right: 10px;
      text-align: center; }

  .responsive-table-row + .responsive-table-row,
  tfoot > .responsive-table-row:first-child {
    position: relative;
    margin-top: 10px;
    padding-top: 15px; }
    .responsive-table-row + .responsive-table-row::after,
    tfoot > .responsive-table-row:first-child::after {
      content: '';
      position: absolute;
      top: 0;
      right: 15px;
      left: 15px;
      display: block;
      border-bottom: 1px solid var(--color-border); } }
.rte {
  margin: 0; }
  .rte img {
    height: auto; }
  .rte table {
    table-layout: fixed; }
  .rte ul,
  .rte ol {
    margin: 0 0 15px 30px; }
  .rte b,
  .rte strong {
    color: #1d3b45;
    font-weight: 500; }
  .rte iframe {
    border-width: 0;
    max-width: 100%; }

.rte-table {
  overflow: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch; }

.rte__video-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  height: 0;
  height: auto;
  padding-bottom: 56.25%; }
  .rte__video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.rte__table-wrapper {
  overflow: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 200; }

h2,
h3 {
  margin-top: 0px;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal; }

h2 {
  font-size: 24px; }

h3 {
  font-size: 32px; }

h4 {
  font-size: 20px;
  color: #1d3b45; }

body,
input,
textarea,
button,
select {
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%; }

body a {
  color: var(--palette-green); }

ol {
  padding-left: 25px;
  list-style: none;
  counter-reset: my-counter; }
  ol li {
    counter-increment: my-counter;
    position: relative; }
    ol li:before {
      color: var(--black);
      font-size: 14px;
      content: counter(my-counter);
      font-weight: bold;
      position: absolute;
      left: -25px;
      top: -4px; }

a:focus {
  color: inherit; }

.page-title {
  font-family: var(--font-primary);
  max-width: 768px;
  width: 100%;
  padding-left: 32px;
  padding-right: 32px; }
  .page-title .menu {
    display: flex;
    align-items: center; }
  .page-title .menu h3 {
    text-align: left;
    margin: 0px;
    margin-left: 16px; }
  .page-title p {
    font-size: 18px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.78;
    letter-spacing: normal;
    text-align: center;
    color: var(--palette-grey); }
    @media (max-width: 1100px) {
      .page-title p {
        font-size: 14px;
        line-height: 1.78; } }
  @media (max-width: 1100px) {
    .page-title h3 {
      font-size: 18px;
      margin-bottom: 20px;
      line-height: 1.5; } }

.is-text-centered {
  text-align: center !important; }

.is-text-right {
  text-align: right !important; }

h1,
.h1 {
  font-size: 64px;
  line-height: 68px; }

h2,
.h2 {
  font-size: 44px;
  line-height: 60px; }

h3,
.h3 {
  font-size: 32px;
  line-height: 48px; }

h4,
.h4 {
  font-size: 24px;
  line-height: 36px; }

body {
  font-size: 18px;
  line-height: 32px; }

.is-text-small {
  font-size: 14px;
  line-height: 24px; }

.has-text-green {
  color: var(--palette-green); }

.has-text-black {
  color: var(--palette-black); }

.has-text-dark {
  color: #667; }

.has-text-gray {
  color: #6e8388; }

.has-text-white {
  color: var(--palette-white); }

.has-text-light {
  font-weight: 300; }

.has-text-normal {
  font-weight: 400; }

.has-text-semibold {
  font-weight: 600; }

.has-text-bold {
  font-weight: 800; }

.is-aligned-left {
  text-align: left; }

.has-text-capitalize {
  text-transform: capitalize; }

.has-text-uppercase {
  text-transform: uppercase; }

.is-double-spaced {
  line-height: 2.2; }

.is-arrow-button {
  position: relative;
  font-size: 14px;
  font-weight: 600; }
  .is-arrow-button.is-marginless-arrow:before {
    margin-top: 0; }
  .is-arrow-button:after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    z-index: 100;
    background: transparent;
    border: solid 2px var(--palette-green);
    border-radius: 100%;
    color: var(--palette-green);
    text-align: center;
    padding: 0;
    margin-left: 22px;
    margin-top: 2px; }
  .is-arrow-button:before {
    content: "\2197";
    position: absolute;
    transform: rotate(45deg);
    z-index: 100;
    background: transparent;
    right: 0;
    color: var(--palette-green);
    right: -40px;
    font-size: 28px;
    margin-top: -6px; }

.is-simple-arrow-button {
  position: relative;
  display: inline-block; }
  .is-simple-arrow-button:before {
    content: "";
    position: absolute;
    z-index: 100;
    background: transparent;
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/right-arrow.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: 34px;
    width: 28px;
    color: var(--palette-green);
    right: -40px;
    font-size: 28px;
    margin-top: -6px; }
  .is-simple-arrow-button.is-small:before {
    font-size: 24px;
    right: -30px;
    margin-top: -4px;
    width: 24px; }
  .is-simple-arrow-button.has-height-fix:before {
    margin-top: -5px; }
  .is-simple-arrow-button.has-height-fix-2:before {
    margin-top: -3px; }

.is-arrow-button-left {
  position: relative;
  font-size: 14px;
  font-weight: 600;
  margin-left: 60px;
  color: var(--palette-green); }
  .is-arrow-button-left:after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    z-index: 100;
    background: transparent;
    border: solid 2px var(--palette-green);
    border-radius: 100%;
    color: var(--palette-green);
    text-align: center;
    padding: 0;
    margin-left: 22px;
    margin-top: 2px;
    left: -80px; }
  .is-arrow-button-left:before {
    content: "\2197";
    position: absolute;
    transform: rotate(-135deg);
    z-index: 100;
    background: transparent;
    color: var(--palette-green);
    left: -48px;
    font-size: 28px; }

.rte > *:first-child {
  margin-top: 0;
  padding-top: 0; }
.rte > *:first-child {
  margin-top: 0;
  padding-top: 0; }
.rte > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0; }
.rte.has-text-black p {
  color: var(--palette-black); }
.rte h4,
.rte .h4,
.rte h3,
.rte .h3,
.rte h2,
.rte .h2 {
  font-size: 14px;
  line-height: 24px;
  font-weight: 600;
  margin-top: 30px; }
.rte.is-large h4,
.rte.is-large .h4,
.rte.is-large h3,
.rte.is-large .h3,
.rte.is-large h2,
.rte.is-large .h2 {
  font-size: 32px;
  line-height: 1.5;
  font-weight: 400; }
  .rte.is-large h4.has-title-spacing,
  .rte.is-large .h4.has-title-spacing,
  .rte.is-large h3.has-title-spacing,
  .rte.is-large .h3.has-title-spacing,
  .rte.is-large h2.has-title-spacing,
  .rte.is-large .h2.has-title-spacing {
    margin: 60px 0; }
.rte.is-large p {
  font-size: 24px;
  line-height: 2.2; }
.rte blockquote {
  margin: 75px;
  position: relative; }
  @media (max-width: 768px) {
    .rte blockquote {
      margin: 40px 20px; } }
  .rte blockquote > * {
    position: relative;
    z-index: 10; }
  .rte blockquote::before {
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/abstract-circle.svg?v=8437794572616061182");
    content: '"';
    color: var(--palette-green);
    font-size: 30px;
    height: 60px;
    left: -45px;
    padding-top: 20px;
    position: absolute;
    top: -20px;
    text-align: center;
    width: 60px;
    z-index: 1; }
  .rte blockquote p {
    color: var(--palette-green);
    line-height: 1.78; }
    .rte blockquote p:first-child {
      margin-top: 0; }
    .rte blockquote p:last-child {
      color: var(--black);
      font-size: 14px;
      font-weight: 600; }
      .rte blockquote p:last-child span {
        font-weight: 300;
        color: var(--grey); }
.rte a {
  color: var(--palette-green); }
.rte hr {
  margin-top: 120px;
  margin-bottom: 120px;
  width: 100%; }

.benefits-wrapper .page-title {
  margin-bottom: 40px; }
.benefits-wrapper .benefit-items {
  margin-bottom: -60px; }
  .benefits-wrapper .benefit-items ul {
    list-style: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0 1rem; }
    .benefits-wrapper .benefit-items ul li {
      margin-top: 16px;
      text-align: center; }
      .benefits-wrapper .benefit-items ul li p {
        margin-bottom: 0; }
  .benefits-wrapper .benefit-items .card {
    margin-bottom: 60px; }
    @media (min-width: 768) {
      .benefits-wrapper .benefit-items .card {
        width: 33%; } }

/* Start chapters */
.chapters {
  margin-left: auto;
  margin-right: auto;
  font-size: 18px;
  line-height: 1.5;
  color: var(--palette-grey); }
  .chapters .texture-bg {
    padding-top: 100px;
    padding-bottom: 100px; }
  .chapters .page-title {
    font-family: var(--font-primary);
    max-width: 676px;
    margin: auto; }
  .chapters .copy {
    max-width: 676px;
    margin: auto; }
  .chapters .chapter-list-holder {
    max-width: 1148px;
    background-color: var(--palette-white);
    margin: auto;
    padding-top: 80px;
    padding-bottom: 80px; }
    .chapters .chapter-list-holder .chapter-list {
      max-width: 676px;
      margin: auto; }
      .chapters .chapter-list-holder .chapter-list .section-title {
        text-align: center;
        font-size: 24px;
        line-height: 1.5;
        color: var(--palette-black);
        margin: auto; }
      .chapters .chapter-list-holder .chapter-list .item {
        list-style: none;
        padding-top: 28px;
        padding-bottom: 28px;
        border-bottom: 1px solid;
        border-bottom-color: var(--palette-translucent-black); }
        .chapters .chapter-list-holder .chapter-list .item h4 {
          color: var(--palette-green);
          font-size: 14px;
          font-weight: 500;
          line-height: 1.71;
          margin-bottom: 0; }
        .chapters .chapter-list-holder .chapter-list .item .local-chapters {
          color: var(--palette-grey);
          font-size: 14px;
          line-height: 1.71; }

/* End chapters */
/* Programs */
.program .wrapper {
  position: relative; }
.program .background {
  height: 780px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
.program .title-wrapper {
  margin-bottom: 80px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto; }
  .program .title-wrapper h1,
  .program .title-wrapper h2 {
    color: var(--palette-white); }
.program .content {
  position: relative;
  margin-top: -390px;
  max-width: calc(100% - 120px);
  padding-top: 60px; }
  .program .content.is-tabbed-product {
    margin-top: -436px; }
  .program .content .header-background-image {
    position: absolute;
    right: 0;
    top: 0;
    background-color: #007674;
    border-radius: 4px;
    height: 600px;
    width: 100vw;
    z-index: 5; }
  .program .content .title-wrapper {
    position: relative;
    z-index: 30; }
.program h1 {
  font-size: 24px;
  line-height: 1.5;
  font-weight: normal; }
.program h2 {
  margin: 0px;
  font-size: 44px;
  line-height: 1.36;
  font-weight: normal; }
.program .page-details {
  position: relative;
  width: 100%;
  padding-top: 120px;
  margin-left: 120px;
  background-color: var(--palette-white);
  z-index: 50; }
.program .page-detail-wrapper {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto; }
.program .learn-more-box {
  padding: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--palette-translucent-green); }
  .program .learn-more-box h5 {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.71; }
  .program .learn-more-box a {
    font-weight: 600; }

/* End Programs */
.custom-post-slider-wrapper .title,
.default-card .title {
  margin-bottom: 12px;
  margin-top: 0;
  font-size: 24px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: center;
  color: var(--palette-black); }
  @media (max-width: 1100px) {
    .custom-post-slider-wrapper .title,
    .default-card .title {
      padding-left: 32px;
      padding-right: 32px;
      font-size: 20px;
      line-height: 1.4;
      letter-spacing: normal; } }
.custom-post-slider-wrapper .subtitle,
.default-card .subtitle {
  font-size: 14px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: normal;
  text-align: center;
  color: var(--palette-green); }
  @media (max-width: 1100px) {
    .custom-post-slider-wrapper .subtitle,
    .default-card .subtitle {
      padding-left: 32px;
      padding-right: 32px; } }

.custom-post-slider-items-wrapper {
  position: relative; }
  @media (min-width: 1100px) {
    .custom-post-slider-items-wrapper {
      margin-left: 10px; } }
  .custom-post-slider-items-wrapper .prev,
  .custom-post-slider-items-wrapper .next {
    background: transparent;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    width: 48px;
    height: 48px;
    min-width: 48px;
    z-index: 100;
    top: calc(50% - 24px);
    color: var(--palette-green);
    text-align: center;
    padding: 0; }
  .custom-post-slider-items-wrapper .prev {
    left: -50px;
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/fancy-green.svg?v=2141288092555372547"); }
  .custom-post-slider-items-wrapper .next {
    right: -50px;
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/fancy-green.svg?v=2141288092555372547");
    transform: rotate(180deg); }

@media (min-width: 768) {
  .custom-post-slider-items {
    padding: 0 20px; } }

/* Custom Post Slider */
.default-card {
  font-family: var(--font-primary); }
  @media (max-width: 1100px) {
    .default-card {
      width: 100%; } }
  @media (max-width: 768px) {
    .default-card {
      margin: 0; } }
  .default-card .user-name {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.71;
    color: var(--palette-black); }
  .default-card .copy {
    margin-bottom: 60px;
    max-width: 676px;
    margin-left: auto;
    margin-right: auto;
    font-size: 24px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: center;
    color: var(--palette-green); }
    @media (max-width: 1100px) {
      .default-card .copy {
        margin-bottom: 40px;
        padding-left: 32px;
        padding-right: 32px;
        font-size: 20px;
        line-height: 1.4; } }
  .default-card .custom-post-slider-nav-wrapper {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media (max-width: 1100px) {
      .default-card .custom-post-slider-nav-wrapper {
        overflow: scroll; } }
  .default-card .custom-post-slider-nav {
    display: flex; }
  .default-card .slide-selector {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column; }
    .default-card .slide-selector:not(.active) img,
    .default-card .slide-selector:not(.active) svg {
      transform: scale(0.7); }
    .default-card .slide-selector:not(.active) p {
      display: none; }
    .default-card .slide-selector p {
      margin: 0; }
    .default-card .slide-selector img,
    .default-card .slide-selector svg {
      margin: 0px 20px 20px 20px;
      height: 88px; }

/* Custom Post Slider Card */
.slider-card {
  position: relative;
  display: flex;
  align-items: center; }
  @media (max-width: 1100px) {
    .slider-card {
      padding: 0 32px;
      flex-direction: column; } }
  @media (max-width: 768px) {
    .slider-card {
      padding: 0; } }
  @media (max-width: 1100px) {
    .slider-card > a {
      display: block;
      width: 100%; } }
  @media (max-width: 1100px) {
    .slider-card.right {
      flex-direction: column-reverse; } }
  .slider-card.right .content-wrapper {
    padding: 20px 120px 20px 60px; }
    @media (max-width: 1100px) {
      .slider-card.right .content-wrapper {
        width: 100%;
        height: auto;
        min-height: auto;
        padding: 96px 32px 32px; } }
  .slider-card.right .image {
    margin-left: -60px;
    margin-right: 0px; }
    @media (max-width: 1100px) {
      .slider-card.right .image {
        margin-left: 0px;
        margin-bottom: -60px;
        width: 100%;
        border-radius: 4px;
        z-index: 1; } }
    .slider-card.right .image img {
      width: 100%; }
  .slider-card .content-wrapper {
    width: 700px;
    min-height: 421px;
    height: auto;
    padding: 20px 60px 20px 120px;
    border-radius: 4px;
    box-shadow: var(--box-shadow--light);
    background-color: var(--palette-white);
    display: flex;
    align-items: center; }
    @media (max-width: 1100px) {
      .slider-card .content-wrapper {
        width: 100%;
        min-height: auto;
        padding: 96px 32px 32px; } }
  .slider-card .image {
    position: relative;
    margin-right: -60px;
    width: 458px;
    border-radius: 4px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1; }
    @media (max-width: 1100px) {
      .slider-card .image {
        margin-right: 0px;
        margin-left: 0px;
        margin-bottom: -60px;
        width: 100%; } }
    @media (max-width: 700px) {
      .slider-card .image {
        margin-right: 0px;
        margin-bottom: -60px;
        width: 100%;
        border-radius: 4px;
        z-index: 1; } }
    .slider-card .image img {
      width: 100%; }
  @media (max-width: 1100px) {
    .slider-card h2 {
      font-size: 20px;
      font-weight: normal;
      font-stretch: normal;
      font-style: normal;
      line-height: 1.5;
      letter-spacing: normal;
      color: var(--palette-green); } }
  .slider-card p {
    margin-bottom: 40px;
    color: var(--palette-black); }
    @media (max-width: 1100px) {
      .slider-card p {
        margin-bottom: 28px;
        font-size: 16px;
        line-height: 28px; } }
    .slider-card p b {
      font-weight: normal;
      color: var(--palette-grey); }

.split-banner-content .split-banner-image {
  background-size: cover;
  background-position: center;
  padding: 180px 20px; }

.virtual-icon-description {
  display: inline-block;
  background-color: var(--palette-translucent-green);
  padding: 5px 12px 0;
  margin-top: 20px;
  border-radius: 4px; }
  .virtual-icon-description span {
    display: inline-block;
    margin-top: -12px;
    vertical-align: middle;
    padding-left: 8px; }

.product-list-item-wrapper .small-button-group .button {
  display: inline-block; }
.product-list-item-wrapper .product-list-items > .col-md-6 > .product-list-item .product-list-item-title {
  margin-top: 20%; }
.product-list-item-wrapper .product-list-items > .col-md-6.layout-full .is-aspect-image {
  padding-bottom: 138%; }
.product-list-item-wrapper .layout-full .product-list-item {
  border-width: 0; }
.product-list-item-wrapper .layout-full .product-list-item-content {
  padding: 0; }
.product-list-item-wrapper .layout-full .product-list-item-type {
  border-bottom-width: 0; }
.product-list-item-wrapper .layout-inline {
  display: flex; }
  .product-list-item-wrapper .layout-inline .is-aspect-image {
    width: 220px;
    max-width: 100%; }
  .product-list-item-wrapper .layout-inline .product-list-item {
    border-width: 0;
    margin-bottom: 0;
    width: 100%; }
  .product-list-item-wrapper .layout-inline .product-list-item-title {
    color: var(--palette-black); }
  .product-list-item-wrapper .layout-inline .product-list-item-type {
    text-align: left;
    border-bottom-width: 0; }
  .product-list-item-wrapper .layout-inline .product-list-item-content {
    align-items: center;
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%; }
    .product-list-item-wrapper .layout-inline .product-list-item-content:after {
      background-color: #e4e9ea;
      content: '';
      position: absolute;
      right: 0;
      bottom: 28px;
      height: 2px;
      width: calc(100% - 290px); }
  .product-list-item-wrapper .layout-inline .title-wrapper {
    width: calc(50% - 220px);
    padding-left: 40px; }
  .product-list-item-wrapper .layout-inline .date-wrapper {
    width: 35%; }
  .product-list-item-wrapper .layout-inline .link-wrapper {
    width: 15%; }
.product-list-item-wrapper .product-list-item {
  border: solid #e4e9ea 1px;
  margin-bottom: 2em;
  height: calc(100% - 2em); }
.product-list-item-wrapper .product-list-item-type {
  border-bottom: solid #e4e9ea 1px;
  margin: 0;
  padding: 10px 0;
  text-align: center; }
.product-list-item-wrapper .product-list-item-content {
  padding: 30px; }
  .product-list-item-wrapper .product-list-item-content a {
    font-size: 14px;
    line-height: 1.71; }
.product-list-item-wrapper .title-wrapper {
  margin-bottom: 60px; }
.product-list-item-wrapper .title {
  margin-bottom: 0.5em; }
.product-list-item-wrapper .subtitle {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto; }
.product-list-item-wrapper .has-virtual-option {
  background-color: #ffffff;
  display: inline-block;
  position: absolute;
  padding: 5px 5px 0;
  margin-left: 10px;
  margin-top: 10px;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); }
  .product-list-item-wrapper .has-virtual-option span {
    display: none;
    margin-top: -17px;
    vertical-align: middle;
    padding-left: 8px;
    padding-right: 8px; }
.product-list-item-wrapper .product-list-item-content:hover .has-virtual-option {
  z-index: 999; }
  .product-list-item-wrapper .product-list-item-content:hover .has-virtual-option span {
    display: inline-block; }
.product-list-item-wrapper .row .col-md-3 {
  padding-right: 1em;
  padding-left: 1em; }
.product-list-item-wrapper .row .col-md-6 {
  padding-right: 1em;
  padding-left: 1em; }
.product-list-item-wrapper select {
  border: solid #e4e9ea 1px;
  border-radius: 6px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 20px;
  font-size: 18px;
  font-weight: 600;
  width: 100%;
  color: #16353e;
  margin-bottom: 2em; }

.locations-list-wrapper .col-sm-3 {
  padding-right: 1rem;
  padding-left: 1rem; }
.locations-list-wrapper .location-item {
  border: solid 1px #e4e9ea;
  border-radius: 8px;
  padding: 30px 10px;
  margin-bottom: 2rem; }
  .locations-list-wrapper .location-item .location-image {
    width: 34px;
    height: 34px;
    background: #d8d8d8;
    background-size: cover;
    border-radius: 6px;
    margin: 0 auto; }

@media (max-width: 768px) {
  .icons-list-wrapper .icons-list-items.is-vertical img {
    width: 50px;
    margin-right: 10px; }
  .icons-list-wrapper .icons-list-items.is-vertical h4 {
    font-size: 14px;
    text-align: left; } }
.icons-list-wrapper .icons-list-items a:before {
  margin-top: -16px;
  top: 50%; }
.icons-list-wrapper .icons-list-items img {
  width: 88px;
  margin-right: 20px; }
.icons-list-wrapper .icons-list-items .bottom-border {
  margin-left: 108px;
  margin-top: 5px;
  margin-bottom: 5px; }

.fancy-link-list-wrapper {
  position: relative;
  padding: 120px 0; }
  .fancy-link-list-wrapper:before {
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/light-texure-background.png?v=18232017397268022028");
    background-size: cover;
    content: "";
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1; }
  .fancy-link-list-wrapper .fancy-link-list {
    background-color: #fff;
    padding-top: 120px;
    padding-bottom: 120px;
    position: relative;
    z-index: 10; }

.chapter-application-wrapper {
  position: relative;
  padding: 120px 0; }
  .chapter-application-wrapper:before {
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/light-texure-background.png?v=18232017397268022028");
    background-size: cover;
    content: "";
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1; }
  .chapter-application-wrapper .chapter-application {
    background-color: #fff;
    padding-top: 120px;
    padding-bottom: 120px;
    position: relative;
    z-index: 10; }
  .chapter-application-wrapper .section-content {
    max-width: calc(8.333% * 6);
    width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    margin: 0 auto; }

.recent-popular-posts .has-vertical-align-center-children {
  flex-direction: row; }

.product-card {
  display: flex;
  align-items: center;
  font-family: var(--font-primary); }
  .product-card > a {
    z-index: 10; }
  .product-card .image-wrap {
    margin-right: -60px;
    padding: 12px 28px 12px 28px;
    width: 472px;
    min-height: 536px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 4px;
    box-shadow: var(--box-shadow--light);
    background-color: var(--palette-white);
    z-index: 1; }
  .product-card h6 {
    color: var(--palette-green);
    text-align: center;
    margin-bottom: 12px;
    margin-top: 0px; }
  .product-card .image {
    width: 416px;
    height: 416px;
    overflow: hidden;
    margin-bottom: 12px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .product-card .image img {
      width: 100%; }
  .product-card .product-name {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.71;
    letter-spacing: normal;
    text-align: center;
    color: var(--palette-black); }
  .product-card .price {
    font-size: 14px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.71;
    letter-spacing: normal;
    text-align: center;
    color: var(--palette-grey); }
  .product-card .content-wrap {
    padding: 104px 60px 60px 120px;
    width: 736px;
    min-height: 656px;
    padding: 60px 60px 0px 120px;
    border-radius: 4px;
    box-shadow: var(--box-shadow--light);
    background-color: var(--palette-white); }
  .product-card h2 {
    font-size: 24px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--palette-green); }
  .product-card p {
    margin-bottom: 76px;
    font-size: 18px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.78;
    letter-spacing: normal;
    color: var(--palette-black); }
  .product-card .product-thumbs {
    display: flex;
    justify-content: space-between; }
  .product-card .product {
    height: 264px;
    width: 264px;
    max-width: 264px;
    max-height: 264px;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e8eced;
    border-radius: 4px; }
  .product-card .thumbnail {
    height: auto; }

@media (max-width: 1100px) {
  .product-card {
    flex-direction: column;
    padding-left: 32px;
    padding-right: 32px;
    width: 100%; }
    .product-card .image-wrap {
      padding-left: 16px;
      padding-right: 16px;
      margin-right: 0px;
      margin-left: 0px;
      margin-bottom: -60px;
      height: 324px;
      width: calc(100% - 64px);
      border-radius: 4px;
      z-index: 1; }
    .product-card .image {
      width: 100%;
      height: 100%; }
    .product-card .content-wrap {
      padding: 100px 32px 32px 32px;
      width: 100%;
      min-height: auto; }
    .product-card h2 {
      font-size: 20px;
      line-height: 1.4; }
    .product-card p {
      margin-bottom: 0px;
      font-size: 16px;
      font-weight: normal;
      font-stretch: normal;
      font-style: normal;
      line-height: 1.75; }

  .product-thumbs {
    display: none !important; } }
@media (max-width: 1100px) {
  .product-card .image-wrap {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    z-index: 10;
    position: relative;
    height: auto;
    min-height: unset; }
  .product-card .image {
    height: auto; } }
.collage-gallery-wrapper svg {
  width: 100%;
  height: 100%; }

.featured-campaign .page-title {
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px; }
.featured-campaign .sub {
  text-align: center; }
.featured-campaign .hero {
  height: 550px;
  color: var(--palette-white);
  text-align: center; }
  .featured-campaign .hero a {
    margin-left: auto;
    margin-right: auto; }
  .featured-campaign .hero button {
    margin-bottom: 0; }
  .featured-campaign .hero .author {
    font-size: 14px;
    font-weight: 500;
    margin-left: auto;
    margin-right: auto; }
  .featured-campaign .hero h1 {
    font-size: 44px;
    line-height: 1.36;
    margin-left: auto;
    margin-right: auto; }

.virtual-retreat-tabs-wrapper {
  border-bottom: solid 2px rgba(228, 233, 234, 0.12);
  margin-top: -60px;
  margin-bottom: 40px;
  margin-left: calc((100% - 900px) / 2);
  position: relative;
  width: calc(100% - ((100% - 900px) / 2));
  z-index: 10; }
  @media (max-width: 1068px) {
    .virtual-retreat-tabs-wrapper {
      padding-left: 32px;
      padding-right: 32px;
      max-width: 900px;
      margin-left: auto;
      margin-right: auto;
      width: 100%; } }
  .virtual-retreat-tabs-wrapper a {
    padding: 20px 0;
    color: rgba(255, 255, 255, 0.5);
    display: inline-block; }
    .virtual-retreat-tabs-wrapper a.is-active {
      border-bottom: solid 1px #ffffff;
      color: #ffffff; }

.virtual-retreat-reminder-wrapper {
  background-color: var(--palette-translucent-green);
  border-radius: 5px;
  margin-top: -60px;
  padding: 10px;
  text-align: center; }
  @media (max-width: 768px) {
    .virtual-retreat-reminder-wrapper {
      margin-top: -20px; } }

.virtual-product-items,
.audio-list-items {
  padding: 40px 0; }
  .virtual-product-items .virtual-product-item,
  .virtual-product-items .audio-list-item,
  .audio-list-items .virtual-product-item,
  .audio-list-items .audio-list-item {
    align-items: center;
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    cursor: pointer; }
    .virtual-product-items .virtual-product-item:not(:last-child),
    .virtual-product-items .audio-list-item:not(:last-child),
    .audio-list-items .virtual-product-item:not(:last-child),
    .audio-list-items .audio-list-item:not(:last-child) {
      margin-bottom: 20px; }
  .virtual-product-items .is-aspect-image,
  .audio-list-items .is-aspect-image {
    width: 60px;
    max-width: 100%; }
  .virtual-product-items .title-wrapper,
  .audio-list-items .title-wrapper {
    width: calc(85% - 60px);
    padding-left: 30px; }
  .virtual-product-items .link-wrapper,
  .audio-list-items .link-wrapper {
    width: 15%; }

.table-wrapper tr td:last-child {
  text-align: right; }

.seek {
  background: rgba(34, 67, 79, 0.1);
  height: 4px;
  width: 80%;
  max-width: 555px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .seek .seek-click-area {
    height: 4px;
    position: absolute;
    width: 100%;
    z-index: 10; }
  .seek .current-time {
    background: var(--palette-green);
    height: 4px;
    position: absolute; }
  .seek .current-time-formatted,
  .seek .duration-formatted {
    position: absolute;
    top: -23px; }
  .seek .current-time-formatted {
    left: -50px; }
  .seek .duration-formatted {
    right: -50px; }

.audio-player {
  margin-top: 50px; }

.controls {
  text-align: center;
  margin-top: 30px; }
  .controls .player-control {
    height: 40px;
    border: solid 2px #e6eaec;
    border-radius: 40px;
    width: 40px;
    display: inline-block;
    vertical-align: middle;
    line-height: 35px;
    opacity: 0.4;
    cursor: pointer; }
    .controls .player-control.is-active {
      opacity: 1; }
    .controls .player-control.is-large {
      border-radius: 60px;
      width: 60px;
      height: 60px;
      line-height: 64px; }

.post-list-item-vertical {
  width: 100%;
  margin-bottom: 30px; }
  .post-list-item-vertical h4 {
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 0;
    margin-bottom: 5px;
    color: var(--palette-black); }
  .post-list-item-vertical .post-excerpt {
    padding-left: 20px;
    font-size: 14px;
    color: var(--palette-grey);
    line-height: 1.71; }
  .post-list-item-vertical .post-meta {
    padding-left: 20px;
    padding-bottom: 30px;
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--palette-grey);
    font-style: italic;
    border-bottom: var(--palette-translucent-black) 1px solid; }
  .post-list-item-vertical .image {
    height: 132px; }

.article-header-wrapper {
  position: relative;
  padding: 260px 0 40px; }
  .article-header-wrapper .background-image {
    content: "";
    background-size: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 760px;
    width: 100%;
    z-index: 1; }
  .article-header-wrapper .article-header {
    position: relative;
    z-index: 10; }
    .article-header-wrapper .article-header .header-background-image {
      position: absolute;
      right: 0;
      top: 0;
      background-color: #007674;
      border-radius: 4px;
      height: 600px;
      width: 100vw;
      z-index: 5; }
    .article-header-wrapper .article-header .title-wrapper {
      padding-top: 60px;
      position: relative;
      z-index: 8; }
  .article-header-wrapper img {
    position: absolute;
    z-index: 30; }

.article-body-wrapper {
  position: relative;
  z-index: 15; }
  .article-body-wrapper:before {
    content: "";
    background-color: #fff;
    position: absolute;
    right: 0;
    top: 0;
    height: 760px;
    z-index: 20;
    max-width: calc(1360px + ((100vw - 1200px) / 2));
    width: 100%; }
  .article-body-wrapper .article-body {
    padding-top: 140px;
    position: relative;
    z-index: 25;
    margin-bottom: 120px; }
    @media (max-width: 768px) {
      .article-body-wrapper .article-body {
        margin-bottom: 60px;
        padding-top: 80px; } }
    .article-body-wrapper .article-body .social-media-icons-wrapper {
      margin-top: 0; }
      .article-body-wrapper .article-body .social-media-icons-wrapper .social-row {
        flex: 4;
        display: flex;
        align-items: flex-start;
        flex-direction: column; }
  .article-body-wrapper .article-details {
    padding-right: 30%; }
  .article-body-wrapper .article-location {
    padding: 20px 0;
    display: flex;
    align-items: center; }
    .article-body-wrapper .article-location img {
      margin-right: 5px; }

.author-details-list-wrapper {
  position: relative;
  padding: 120px 0; }
  .author-details-list-wrapper:before {
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/light-texure-background.png?v=18232017397268022028");
    background-size: cover;
    content: "";
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1; }

.author-details-list {
  background: #fff;
  position: relative;
  z-index: 10; }

.author-details-list-items {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 40px; }
  .author-details-list-items img,
  .author-details-list-items svg {
    width: 100%;
    max-width: 80px;
    height: 100%; }
    @media (min-width: 768px) {
      .author-details-list-items img,
      .author-details-list-items svg {
        margin-right: 20px; } }
  .author-details-list-items .title-wrapper {
    display: flex;
    flex-direction: column;
    align-self: center;
    justify-content: center; }
  .author-details-list-items .item-title {
    display: flex;
    justify-content: flex-start;
    align-self: center; }
    @media (max-width: 768px) {
      .author-details-list-items .item-title {
        flex-direction: column; } }

.cart-wrapper table {
  border-collapse: collapse;
  width: 100%; }
  .cart-wrapper table tr {
    border-bottom: solid 1px #e4e9ea; }
    .cart-wrapper table tr:first-child td {
      padding-top: 0; }
    .cart-wrapper table tr td {
      padding-top: 40px;
      padding-bottom: 40px; }
.cart-wrapper .image-wrapper {
  border: solid 1px #e4e9ea;
  border-radius: 4px;
  display: block;
  padding: 16px;
  width: 148px; }

.directors-items .director-item-image {
  max-width: 100%;
  width: 150px; }

.donation-page-wrapper .is-vertical-align {
  align-items: center;
  display: flex;
  justify-content: center; }
.donation-page-wrapper button.btn {
  margin-bottom: initial; }
.donation-page-wrapper .donation-hero {
  min-height: 800px;
  height: initial;
  padding: 40px 0; }
  .donation-page-wrapper .donation-hero img {
    margin-top: 15px; }
.donation-page-wrapper .outro-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 540px;
  height: initial;
  padding: 40px 0;
  background-color: #f9f2e8; }
  .donation-page-wrapper .outro-hero.has-background-light-green {
    background-color: var(--palette-translucent-green); }
  .donation-page-wrapper .outro-hero.has-background-green {
    background-color: var(--palette-green); }
  .donation-page-wrapper .outro-hero button.secondary {
    margin-bottom: 0; }
.donation-page-wrapper .errors {
  margin-bottom: 20px; }

#donation-processing-container {
  background: #fff;
  width: 100%;
  border: solid 1px var(--border-color);
  border-radius: var(--border-radius);
  padding: 40px;
  margin-top: 40px;
  margin-bottom: 40px; }
  #donation-processing-container :first-child {
    margin-top: 0; }

#donation-form-container {
  background: #fff;
  width: 100%;
  border: solid 1px var(--border-color);
  border-radius: var(--border-radius);
  padding: 40px;
  margin-top: 40px;
  margin-bottom: 40px; }
  #donation-form-container .is-large-title {
    font-size: 21px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 50px;
    margin-top: 50px; }
  #donation-form-container .is-small-title {
    color: #0f7674;
    padding-left: 5px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 800; }
  #donation-form-container .field.checkbox.recurring {
    display: flex;
    justify-content: space-between; }
    #donation-form-container .field.checkbox.recurring input {
      display: none; }
      #donation-form-container .field.checkbox.recurring input:checked + label {
        background-color: #0f7674;
        color: #fff; }
    #donation-form-container .field.checkbox.recurring label {
      background-color: #fff;
      color: #0f7674;
      border: solid 1px var(--border-color);
      font-weight: bold;
      line-height: 46px;
      text-align: center;
      width: 100%; }
    #donation-form-container .field.checkbox.recurring a {
      display: block;
      width: 100%; }
      #donation-form-container .field.checkbox.recurring a label {
        display: block; }
  #donation-form-container .radio-group {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px; }
    #donation-form-container .radio-group .field {
      width: 100%;
      padding-left: 5px;
      padding-right: 5px; }
      #donation-form-container .radio-group .field input {
        display: none; }
        #donation-form-container .radio-group .field input:checked + label {
          background-color: #0f7674;
          color: #fff; }
      #donation-form-container .radio-group .field label {
        border: solid 1px var(--border-color);
        border-radius: var(--border-radius);
        color: #0f7674;
        display: block;
        padding: 6px;
        text-align: center;
        width: 100%;
        font-weight: bold; }
  #donation-form-container .btn-group {
    padding-left: 5px;
    padding-right: 5px; }
  #donation-form-container .other-option {
    width: 100%;
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 30px; }
    #donation-form-container .other-option input {
      display: none; }
      #donation-form-container .other-option input:checked + label {
        background-color: #0f7674;
        color: #fff;
        padding: 0; }
        #donation-form-container .other-option input:checked + label input {
          color: #fff;
          display: inline-block; }
          #donation-form-container .other-option input:checked + label input::placeholder {
            color: #fff; }
    #donation-form-container .other-option label {
      border: solid 1px var(--border-color);
      border-radius: var(--border-radius);
      color: #0f7674;
      display: block;
      font-weight: bold;
      margin-top: 10px;
      padding: 9.5px;
      text-align: center;
      width: 100%; }
      #donation-form-container .other-option label input {
        background-color: transparent;
        border-width: 0;
        color: #fff;
        display: none;
        width: 100px; }
        #donation-form-container .other-option label input::placeholder {
          color: rgba(0, 0, 0, 0.5); }
  #donation-form-container .form-fields {
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 10px; }
    #donation-form-container .form-fields img {
      width: calc(100% - 10px);
      margin: 10px 5px;
      opacity: 0.6; }
    #donation-form-container .form-fields select {
      border: 1px solid var(--border-color);
      width: 100%;
      font-size: 16px;
      padding: 15px;
      color: var(--filled-color);
      border-radius: var(--border-radius); }
  #donation-form-container .true-impact label {
    border: solid 1px var(--border-color);
    width: 100%;
    display: block;
    padding: 10px 25px;
    border-radius: var(--border-radius);
    font-weight: bold; }
    #donation-form-container .true-impact label input {
      margin-right: 20px; }
  #donation-form-container .captcha-wrapper {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
    display: flex;
    justify-content: center; }

.donation-form label.error,
.donation-form #card-errors {
  color: #900; }

.donation-form label.error {
  display: inline-block;
  padding: 0 10px; }

.donation-form .errors {
  border: 1px solid #900;
  color: #900;
  padding: 10px; }

.donation-form .radio label.error {
  display: inline-block;
  padding-right: 86%;
  float: right; }

.donation-form .hidden {
  display: none; }

.donation-featured-items .donation-featured-item img {
  max-width: 100px; }

.donation-video-wrapper {
  position: relative;
  padding: 120px 0; }
  .donation-video-wrapper .top-background {
    position: absolute;
    width: 100%;
    height: 480px;
    top: 0; }
    .donation-video-wrapper .top-background:before {
      background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/light-texure-background.png?v=18232017397268022028");
      background-size: cover;
      content: "";
      position: absolute;
      height: 100%;
      left: 0;
      right: 0;
      top: 0;
      width: 100%;
      z-index: 1; }
  .donation-video-wrapper .is-aspect-video,
  .donation-video-wrapper .donation-video-image {
    margin-top: 60px;
    margin-bottom: 40px; }
  .donation-video-wrapper .donation-video-image {
    width: 100%;
    border-radius: 8px; }
  .donation-video-wrapper .container {
    position: relative;
    z-index: 10; }
  .donation-video-wrapper .section-content {
    max-width: calc(8.333% * 6);
    width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    margin: 0 auto; }
  .donation-video-wrapper .rte.is-large p {
    color: var(--palette-black); }
  .donation-video-wrapper .rte.is-large strong {
    font-size: 32px;
    line-height: 1.5;
    font-weight: 400;
    margin-top: 60px;
    margin-bottom: 60px;
    display: block; }

.signature-img {
  margin-left: -15px;
  max-width: 100%;
  width: 280px; }

[data-trainer-type] {
  transition: all 600ms ease 600ms, opacity 300ms ease 600ms, width 600ms ease, height 600ms ease, flex-basis 600ms ease, transform 300ms ease-in-out 600ms, padding 600ms ease; }
  [data-trainer-type].is-hiding {
    opacity: 0;
    height: 0px;
    width: 0px;
    flex-basis: 0;
    transform: scale(0);
    padding: 0;
    transition: all 600ms ease, opacity 300ms ease, width 600ms ease 300ms, height 600ms ease 300ms, flex-basis 600ms ease 300ms, transform 300ms ease-in-out, padding 600ms ease 300ms; }

.default-page {
  margin-left: auto;
  margin-right: auto;
  font-size: 18px;
  line-height: 1.5;
  color: var(--palette-grey); }
  .default-page article {
    max-width: 676px;
    margin: auto; }
  .default-page .texture-bg {
    padding-top: 100px;
    padding-bottom: 100px; }
  .default-page .page-title {
    font-family: var(--font-primary);
    max-width: 676px;
    margin: auto; }
  .default-page .copy {
    max-width: 676px;
    margin: auto; }
  .default-page .chapter-list-holder {
    max-width: 1148px;
    background-color: var(--palette-white);
    margin: auto;
    padding-top: 80px;
    padding-bottom: 80px; }
    .default-page .chapter-list-holder .chapter-list {
      max-width: 676px;
      margin: auto; }
      .default-page .chapter-list-holder .chapter-list .section-title {
        text-align: center;
        font-size: 24px;
        line-height: 1.5;
        color: var(--palette-black);
        margin: auto; }
      .default-page .chapter-list-holder .chapter-list .item {
        list-style: none;
        padding-top: 28px;
        padding-bottom: 28px;
        border-bottom: 1px solid;
        border-bottom-color: var(--palette-translucent-black); }
        .default-page .chapter-list-holder .chapter-list .item h4 {
          color: var(--palette-green);
          font-size: 14px;
          font-weight: 500;
          line-height: 1.71;
          margin-bottom: 0; }
        .default-page .chapter-list-holder .chapter-list .item .local-chapters {
          color: var(--palette-grey);
          font-size: 14px;
          line-height: 1.71; }
  .default-page .learn-more-box {
    width: 100%;
    background-color: rgba(0, 118, 116, 0.06);
    margin-top: 60px;
    margin-bottom: 60px;
    padding-top: 60px;
    padding-bottom: 60px;
    color: var(--palette-grey); }
    .default-page .learn-more-box h4 {
      margin: 0;
      color: var(--palette-black);
      font-size: 14px; }
    .default-page .learn-more-box a {
      font-size: 14px;
      font-weight: 500;
      color: var(--palette-green); }
  .default-page .pagination ul {
    margin: auto; }
  .default-page .pagination .nav-item {
    list-style: none;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.71;
    text-align: center;
    color: var(--palette-green); }

/* End Default Page */
.program .background {
  height: 600px; }
@media (max-width: 768px) {
  .program .title-wrapper {
    margin-bottom: 44px; } }
@media (max-width: 1068px) {
  .program .title-wrapper h1 {
    padding: 0 32px;
    font-size: 20px;
    font-weight: 100; } }
@media (max-width: 1068px) {
  .program .title-wrapper h2 {
    font-size: 24px;
    padding: 32px; } }
@media (max-width: 768px) {
  .program .content {
    max-width: calc(100% - 32px); } }
@media (max-width: 768px) {
  .program .page-details {
    margin-left: 0;
    padding-left: 32px;
    padding-top: 60px; } }

.product-details-wrapper .product-price {
  margin-top: 0;
  margin-bottom: 8px; }
.product-details-wrapper .product-title {
  margin-top: 0;
  margin-bottom: 12px; }
.product-details-wrapper .product-subtitle {
  margin-top: 0;
  margin-bottom: 60px; }
.product-details-wrapper #productSelect.is-hidden {
  display: none; }
.product-details-wrapper .product-description iframe {
  width: 100%; }

.variation-gallary {
  list-style: none; }

.product-details-wrapper .single-option-selector {
  border: solid 1px #e4e9ea;
  border-radius: 6px;
  height: 48px;
  width: 100%;
  font-size: 18px;
  padding-left: 10px; }
.product-details-wrapper .selector-wrapper {
  width: 48%;
  display: inline-block;
  margin-bottom: 30px; }
  .product-details-wrapper .selector-wrapper:first-child {
    margin-right: 4%; }

.trainer-header-wrapper {
  position: relative;
  padding: 140px 0; }
  .trainer-header-wrapper:before {
    content: "";
    background-image: url("//cdn.shopify.com/s/files/1/0263/5926/7437/t/14/assets/light-texure-background.png?v=18232017397268022028");
    background-size: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 760px;
    width: 100%;
    z-index: 1; }
  .trainer-header-wrapper .trainer-header {
    position: relative;
    z-index: 30; }
  .trainer-header-wrapper .col-sm-4 {
    position: relative; }
  .trainer-header-wrapper svg {
    position: absolute;
    z-index: 30;
    width: 80% !important; }

.trainer-body-wrapper {
  position: relative;
  z-index: 15; }
  .trainer-body-wrapper:before {
    content: "";
    background-color: #fff;
    position: absolute;
    right: 0;
    top: 0;
    height: 110%;
    z-index: 20;
    max-width: calc(1360px + ((100vw - 1200px) / 2));
    width: 100%; }
  .trainer-body-wrapper .trainer-body {
    padding-top: 140px;
    position: relative;
    z-index: 25;
    margin-bottom: 120px; }
    @media (max-width: 768px) {
      .trainer-body-wrapper .trainer-body {
        margin-bottom: 60px; } }
  .trainer-body-wrapper .trainer-details {
    padding-right: 30%; }
  .trainer-body-wrapper .trainer-location {
    padding: 20px 0;
    display: flex;
    align-items: center; }
    .trainer-body-wrapper .trainer-location img {
      margin-right: 5px;
      border-radius: 4px;
      overflow: hidden;
      max-width: 30px; }

.variations-sticky-wrapper {
  position: fixed;
  right: 0;
  top: 40%;
  background: #fff;
  height: 200px;
  width: 48px;
  z-index: 1000; }
  .variations-sticky-wrapper .category-wrapper {
    transform: rotate(-90deg);
    margin-top: 28px;
    width: 98px;
    height: 80px; }
  .variations-sticky-wrapper .scroll-to-button {
    background-color: #007674;
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 80px; }

.program-summery-wrapper {
  border: solid 1px #e4e9ea;
  border-radius: 4px;
  overflow: hidden; }
  .program-summery-wrapper .image-wrapper {
    padding-bottom: calc(6 / 9 * 100%);
    background-position: center;
    background-size: cover; }
  .program-summery-wrapper .summery-details,
  .program-summery-wrapper .summery-price,
  .program-summery-wrapper .summery-footer {
    padding: 40px; }
    .program-summery-wrapper .summery-details .summery-detail-item,
    .program-summery-wrapper .summery-details .summery-price-item,
    .program-summery-wrapper .summery-details .summery-footer-item,
    .program-summery-wrapper .summery-price .summery-detail-item,
    .program-summery-wrapper .summery-price .summery-price-item,
    .program-summery-wrapper .summery-price .summery-footer-item,
    .program-summery-wrapper .summery-footer .summery-detail-item,
    .program-summery-wrapper .summery-footer .summery-price-item,
    .program-summery-wrapper .summery-footer .summery-footer-item {
      line-height: 24px;
      font-size: 14px; }
      .program-summery-wrapper .summery-details .summery-detail-item:not(:last-child),
      .program-summery-wrapper .summery-details .summery-price-item:not(:last-child),
      .program-summery-wrapper .summery-details .summery-footer-item:not(:last-child),
      .program-summery-wrapper .summery-price .summery-detail-item:not(:last-child),
      .program-summery-wrapper .summery-price .summery-price-item:not(:last-child),
      .program-summery-wrapper .summery-price .summery-footer-item:not(:last-child),
      .program-summery-wrapper .summery-footer .summery-detail-item:not(:last-child),
      .program-summery-wrapper .summery-footer .summery-price-item:not(:last-child),
      .program-summery-wrapper .summery-footer .summery-footer-item:not(:last-child) {
        margin-bottom: 8px; }
      .program-summery-wrapper .summery-details .summery-detail-item .has-spaced-columns,
      .program-summery-wrapper .summery-details .summery-price-item .has-spaced-columns,
      .program-summery-wrapper .summery-details .summery-footer-item .has-spaced-columns,
      .program-summery-wrapper .summery-price .summery-detail-item .has-spaced-columns,
      .program-summery-wrapper .summery-price .summery-price-item .has-spaced-columns,
      .program-summery-wrapper .summery-price .summery-footer-item .has-spaced-columns,
      .program-summery-wrapper .summery-footer .summery-detail-item .has-spaced-columns,
      .program-summery-wrapper .summery-footer .summery-price-item .has-spaced-columns,
      .program-summery-wrapper .summery-footer .summery-footer-item .has-spaced-columns {
        display: flex;
        justify-content: space-between; }
      .program-summery-wrapper .summery-details .summery-detail-item .arrow-icon,
      .program-summery-wrapper .summery-details .summery-price-item .arrow-icon,
      .program-summery-wrapper .summery-details .summery-footer-item .arrow-icon,
      .program-summery-wrapper .summery-price .summery-detail-item .arrow-icon,
      .program-summery-wrapper .summery-price .summery-price-item .arrow-icon,
      .program-summery-wrapper .summery-price .summery-footer-item .arrow-icon,
      .program-summery-wrapper .summery-footer .summery-detail-item .arrow-icon,
      .program-summery-wrapper .summery-footer .summery-price-item .arrow-icon,
      .program-summery-wrapper .summery-footer .summery-footer-item .arrow-icon {
        color: var(--palette-green);
        display: inline-block;
        font-size: 28px;
        margin-left: 5px;
        margin-right: 5px;
        transform: translate(0, 4px) rotate(45deg); }
      .program-summery-wrapper .summery-details .summery-detail-item .icon-wrapper,
      .program-summery-wrapper .summery-details .summery-price-item .icon-wrapper,
      .program-summery-wrapper .summery-details .summery-footer-item .icon-wrapper,
      .program-summery-wrapper .summery-price .summery-detail-item .icon-wrapper,
      .program-summery-wrapper .summery-price .summery-price-item .icon-wrapper,
      .program-summery-wrapper .summery-price .summery-footer-item .icon-wrapper,
      .program-summery-wrapper .summery-footer .summery-detail-item .icon-wrapper,
      .program-summery-wrapper .summery-footer .summery-price-item .icon-wrapper,
      .program-summery-wrapper .summery-footer .summery-footer-item .icon-wrapper {
        display: inline-block;
        width: 24px;
        text-align: center;
        margin-right: 5px; }
  .program-summery-wrapper .summery-footer {
    padding-top: 20px;
    padding-bottom: 20px; }

.main-attendee-wrapper {
  padding-right: 80px; }

.extra-attendee-wrapper {
  margin-top: 40px;
  padding-right: 80px; }

.is-vertical-social .social-row {
  margin-bottom: 40px;
  text-align: center;
  justify-content: center; }
  @media (min-width: 1024px) {
    .is-vertical-social .social-row {
      align-items: flex-start;
      display: flex;
      flex: 4;
      flex-direction: column;
      justify-content: initial;
      margin-bottom: initial;
      text-align: initial; } }

.social-media-icons-wrapper {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .social-media-icons-wrapper .social-row {
    flex: 4;
    display: flex;
    align-items: center; }
  .social-media-icons-wrapper .social-link {
    margin-right: 16px; }

.programs-table {
  width: 100%;
  display: flex;
  flex-flow: row wrap; }
  .programs-table tbody {
    width: 100%; }
  .programs-table th {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex: 1;
    padding-bottom: 15px; }
    @media (max-width: 768px) {
      .programs-table th {
        display: none; } }
    .programs-table th:first-child {
      max-width: 88px; }
  .programs-table tr {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    margin-bottom: 20px; }
    @media (max-width: 768px) {
      .programs-table tr {
        flex-direction: column;
        align-items: flex-start;
        border-bottom: 1px solid #e4e9ea;
        padding-bottom: 20px; } }
    .programs-table tr:hover {
      background-color: rgba(0, 118, 116, 0.06);
      border-radius: 4px; }
    .programs-table tr:first-child {
      border-bottom: solid 1px #e4e9ea;
      margin-bottom: 40px; }
    .programs-table tr .flag-image-wrapper {
      text-align: center;
      display: inline-block; }
      @media (max-width: 768px) {
        .programs-table tr .flag-image-wrapper {
          margin-right: 20px;
          margin-top: 8px; } }
      @media (max-width: 768px) {
        .programs-table tr .flag-image-wrapper.hiden-mobile {
          display: none; } }
      @media (min-width: 769px) {
        .programs-table tr .flag-image-wrapper.hiden-desktop {
          display: none; } }
    .programs-table tr .content-wrapper {
      display: inline-block; }
    .programs-table tr td {
      display: flex;
      flex-direction: column;
      flex-basis: 100%;
      flex: 1; }
      @media (max-width: 768px) {
        .programs-table tr td {
          flex-direction: row; }
          .programs-table tr td p {
            margin: 0; } }
      .programs-table tr td:first-child {
        max-width: 88px; }
      .programs-table tr td.no-results {
        max-width: 100%; }
      .programs-table tr td img {
        width: 32px;
        vertical-align: middle; }
      .programs-table tr td a {
        cursor: pointer; }
      @media (max-width: 768px) {
        .programs-table tr td.is-text-centered {
          padding-left: 54px; } }

.book-program-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: scroll;
  z-index: 100; }
  @media (max-width: 768px) {
    .book-program-wrapper {
      align-items: flex-start;
      justify-content: flex-start; } }
  .book-program-wrapper .background-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 100; }

.book-program {
  position: relative;
  width: 470px;
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.08);
  z-index: 200; }
  .book-program .close-menu {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 1000;
    width: 20px; }
  .book-program .program-title {
    padding: 60px 0 40px 0; }
  .book-program .program-details {
    padding: 60px; }
    .book-program .program-details .arrow-icon {
      color: var(--palette-green);
      display: inline-block;
      font-size: 28px;
      margin-left: 5px;
      margin-right: 5px;
      transform: translate(0, 4px) rotate(45deg); }
    .book-program .program-details .program-detail-item {
      display: flex;
      align-items: center;
      margin-bottom: 40px; }
      .has-no-price .book-program .program-details .program-detail-item {
        margin-bottom: 0; }
      .book-program .program-details .program-detail-item .image-wrapper {
        display: inline-flex; }
        .book-program .program-details .program-detail-item .image-wrapper img {
          width: 32px;
          height: 32px; }
      .book-program .program-details .program-detail-item .content-wrapper {
        margin-left: 20px; }
        .has-no-price .book-program .program-details .program-detail-item .content-wrapper {
          width: 100%;
          margin-left: 0; }
  .book-program .program-footer .price-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 0; }
    .book-program .program-footer .price-wrapper .left {
      width: 100%; }
    .book-program .program-footer .price-wrapper .right * {
      white-space: nowrap; }
  @media (max-width: 768px) {
    .book-program .program-footer > p {
      position: fixed;
      bottom: 0;
      width: calc(100% - 120px); } }
  @media (max-width: 768px) {
    .book-program .program-footer a {
      position: fixed;
      bottom: 40px;
      width: calc(100% - 120px); } }
  .book-program .program-footer button {
    width: 100%; }

.attend-retreat-modal-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  overflow: scroll;
  z-index: 100; }
  .attend-retreat-modal-wrapper.is-open {
    display: flex; }
  @media (max-width: 768px) {
    .attend-retreat-modal-wrapper {
      align-items: flex-start;
      justify-content: flex-start; } }
  .attend-retreat-modal-wrapper .background-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 100; }

.attend-retreat-modal {
  position: relative;
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.08);
  z-index: 200; }
  .attend-retreat-modal .modal-details {
    padding: 60px; }

.calendar-view.fc {
  font-size: 14px; }
.calendar-view .fc-event {
  background-color: #007674;
  border: 1px solid #007674; }

.give-now-popup-wrapper {
  position: fixed;
  right: 40px;
  bottom: -600px;
  width: 360px;
  max-width: 100%;
  background: white;
  box-shadow: var(--box-shadow);
  padding: 20px;
  border-radius: 8px;
  z-index: 101;
  transition: bottom 600ms ease-in-out; }
  .give-now-popup-wrapper.is-active {
    bottom: 40px; }
  .give-now-popup-wrapper .content-title {
    margin-bottom: 0; }
  .give-now-popup-wrapper .button-group .btn,
  .give-now-popup-wrapper .button-group a {
    min-width: auto;
    width: 48%; }
  .give-now-popup-wrapper .button-group a .btn {
    width: 100%; }
