@charset "UTF-8";
@keyframes errorglow {
  0%, 100% {
    box-shadow: inset 0 0 0.25rem #bb4a92, inset 0px 0px 1rem #1d1d1d;
  }
  50% {
    box-shadow: inset 0 0 0.5rem #bb4a92, inset 0px 0px 2rem #1d1d1d;
  }
}
.alert {
  font-size: 14px;
  letter-spacing: 0.5px;
  border-radius: 0;
}
.alert.alert-danger {
  background-color: #ffebf7;
  border-color: #ffebf7;
  color: #000;
  border-radius: 8px;
}
.alert.alert-danger.text-highlight {
  color: #bb4a92;
}
.alert.alert-primary {
  background-color: #fff;
  border-color: #2e98d3;
  color: #2e98d3;
}

.bg-light {
  background-color: #faf8f7 !important;
}

.bg-primary {
  background-color: #000 !important;
  color: #fff;
}

.bg-gray {
  background-color: #ddd !important;
}

.bg-dark {
  background-color: #414145 !important;
}

.bg-darkgray {
  background-color: #2a2a2a !important;
}

.btn {
  border: 1px solid;
  line-height: 1.5;
  letter-spacing: 0.5px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  padding: 10px 25px;
  border-radius: 40px;
}
.btn.btn-primary:not(.btn-link) {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.btn.btn-primary:not(.btn-link):hover {
  color: #929292;
}
.btn.btn-primary:not(.btn-link):active {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.btn.btn-primary:not(.btn-link):active:focus {
  box-shadow: none;
}
.btn.btn-gray:not(.btn-link) {
  background-color: #ddd;
  border-color: #ddd;
}
.btn.btn-gray:not(.btn-link):hover {
  color: #ddd;
}
.btn.btn-gray:not(.btn-link):active {
  background-color: #ddd;
  border-color: #ddd;
}
.btn.btn-gray:not(.btn-link):active:focus {
  box-shadow: none;
}
.btn.btn-light:not(.btn-link) {
  background-color: #faf8f7;
  border-color: #faf8f7;
  color: #000;
}
.btn.btn-o {
  background-color: #fff;
  color: #000;
  border-color: #000;
  font-weight: 600;
}
.btn.btn-o:hover, .btn.btn-o:active, .btn.btn-o:focus {
  color: white;
  background: #000;
}
.btn.btn-t {
  background-color: transparent;
  color: inherit;
  border-color: white;
  font-weight: 600;
}
.btn.btn-t:hover, .btn.btn-t:active, .btn.btn-t:focus {
  color: #000;
  background: white;
}
.btn.btn-alt {
  background: #bb4a92;
  border-color: #bb4a92;
  color: #fff;
}
.btn.btn-alt:hover {
  opacity: 0.9;
}
.btn.btn-alt:active {
  background-color: #fff;
  border-color: #bb4a92;
  color: #bb4a92;
}
.btn.btn-muted {
  color: #e2e0e0 !important;
  background-color: #fff !important;
  border-color: #e2e0e0 !important;
}
.btn.btn-blue {
  background-color: #2e98d3;
  border-color: #2e98d3;
  color: #fff;
}
.btn.disabled {
  background-color: #fff;
  border-color: #e2e0e0;
  color: #e2e0e0;
}
.btn.btn-link {
  color: #222;
  background-color: initial;
  border: none;
  border-color: initial;
  padding: 0;
  white-space: normal;
  text-align: inherit;
  text-decoration: underline;
}
.btn.btn-pink {
  color: white;
  border-color: #bb4a92;
  background: #bb4a92;
}
.btn.btn-pink:hover, .btn.btn-pink:active, .btn.btn-pink:focus {
  opacity: 0.9;
}
.btn.btn-outline-pink {
  color: #000;
  background-color: transparent;
  background-image: none;
  border-color: #bb4a92;
}
.btn.btn-outline-pink:hover, .btn.btn-outline-pink:active, .btn.btn-outline-pink:focus {
  color: #fff;
  background-color: #bb4a92;
  border-color: #bb4a92;
  opacity: 1;
}
.btn.btn-dark {
  color: white;
  border-color: #414145;
  background: #414145;
}
.btn.btn-dark:hover, .btn.btn-dark:active, .btn.btn-dark:focus {
  opacity: 0.9;
}
.btn.btn-sm, .btn.btn-small {
  padding: 5px 15px;
  font-size: 14px;
}
.btn.btn-lg {
  padding: 10px 3.5rem;
}
@media (min-width: 768px) {
  .btn.btn-lg {
    padding: 10px 4rem;
  }
}
@media (min-width: 992px) {
  .btn.btn-lg-normal {
    padding: 10px 25px;
  }
}

.dark-mode .btn.btn-o {
  background-color: #111;
  color: white;
  border-color: #111;
  font-weight: 600;
}
.dark-mode .btn.btn-o:hover, .dark-mode .btn.btn-o:active, .dark-mode .btn.btn-o:focus {
  color: white;
  background-color: #1d1d1d;
  border-color: #1d1d1d;
}
.dark-mode .btn.btn-t {
  border-color: #000;
}
.dark-mode .btn.btn-link {
  color: #fff;
}
.dark-mode .btn:disabled {
  background-color: #414145 !important;
  border-color: #414145 !important;
}

.btn-rounded {
  border-radius: 40px;
}

.card-body {
  font-size: 1rem;
}
.card-body .card-body--padding-override {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  padding: 1.25rem;
  margin-top: -1.25rem;
}

.figure-caption {
  color: #929292;
}

@media (min-width: 768px) {
  .figure-img {
    margin-bottom: 1.5rem;
  }
}
.form-group {
  margin-top: 0;
  margin-bottom: 1rem;
}
.form-group label {
  color: #929292;
  font-size: 0.75rem;
  margin-left: 0.5rem;
  margin-bottom: 0.25rem;
}

.nav-pills {
  background-color: white;
  border: 1px solid #ddd;
}
.nav-pills .nav-item {
  height: unset;
  padding: 0;
}
.nav-pills .nav-link {
  border-radius: 0;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  padding: 0.5rem 2rem;
  text-decoration: none;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #000;
}

.text-primary {
  color: #2e98d3 !important;
}

.text-secondary {
  color: #929292 !important;
}

.text-danger {
  color: #ae0707 !important;
}

.text-muted {
  color: #929292 !important;
}

.text-highlight {
  color: #bb4a92;
}

.border {
  border: 1px solid #ddd !important;
}

.border-top {
  border-top: 1px solid #ddd !important;
}

.border-right {
  border-right: 1px solid #ddd !important;
}

.border-bottom {
  border-bottom: 1px solid #ddd !important;
}

.border-bottom-dark {
  border-bottom: 1px solid #000 !important;
}

.border-left {
  border-left: 1 solid #ddd !important;
}

.border-highlight {
  border-color: #bb4a92;
}

.w-20 {
  width: 20%;
}

.table .thead-dark th {
  background-color: #000;
}

table.table-vertical-bordered {
  border: 0;
}
table.table-vertical-bordered td,
table.table-vertical-bordered th {
  vertical-align: middle;
  border: 0;
  border-right: solid 1px #ddd;
}
table.table-vertical-bordered td:first-child,
table.table-vertical-bordered th:first-child {
  border-left: solid 1px #ddd;
}
table.table-vertical-bordered tbody tr:last-child td {
  border-bottom: solid 1px #ddd;
}

.modal .modal-dialog {
  max-height: 90vh;
}

.row.small-gutters {
  margin-right: -0.25rem;
  margin-left: -0.25rem;
}
.row.small-gutters > .col,
.row.small-gutters > [class*=col-] {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}
.row.tiny-gutters {
  margin-right: -0.125rem;
  margin-left: -0.125rem;
}
.row.tiny-gutters > .col,
.row.tiny-gutters > [class*=col-] {
  padding-right: 0.125rem;
  padding-left: 0.125rem;
}
.row.columns-2 > .col,
.row.columns-2 > .col-auto {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}
.row.columns-3 > .col,
.row.columns-3 > .col-auto {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.row.columns-4 > .col,
.row.columns-4 > .col-auto {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}
.row.columns-5 > .col,
.row.columns-5 > .col-auto {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%;
}

.w-33 {
  width: 33.3333%;
}

.py-6 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.popover-header {
  background: none;
  font-size: 1rem;
  line-height: 1;
  border: 0;
  background-image: url(/CadyStudios/media/SessionScheduling/Icons/info.svg);
  background-repeat: no-repeat;
  background-position: 0.5rem;
  background-size: 16px;
  padding-left: 28px;
}

button.collapsed .fa-chevron-up {
  transform: rotate(-180deg);
}

@media (min-width: 576px) {
  .row.no-sm-gutters {
    margin: 0;
  }
  .row.no-sm-gutters > .col,
.row.no-sm-gutters > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
  }

  .py-sm-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
}
@media (min-width: 768px) {
  .row.no-md-gutters {
    margin: 0;
  }
  .row.no-md-gutters > .col,
.row.no-md-gutters > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
  }
  .row.small-gutters-md {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .row.small-gutters-md > .col,
.row.small-gutters-md > [class*=col-] {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .row.normal-gutters-md {
    margin-right: -15px;
    margin-left: -15px;
  }
  .row.normal-gutters-md > .col,
.row.normal-gutters-md > [class*=col-] {
    padding-right: 15px;
    padding-left: 15px;
  }

  .grid-md-absolute {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
  }

  .py-md-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
}
@media (min-width: 992px) {
  .row.no-lg-gutters {
    margin: 0;
  }
  .row.no-lg-gutters > .col,
.row.no-lg-gutters > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
  }
  .row.small-gutters-lg {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .row.small-gutters-lg > .col,
.row.small-gutters-lg > [class*=col-] {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .grid-lg-absolute {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
  }

  .py-lg-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
}
@media (min-width: 1200px) {
  .row.no-xl-gutters {
    margin: 0;
  }
  .row.no-xl-gutters > .col,
.row.no-xl-gutters > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
  }
  .row.small-gutters-xl {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .row.small-gutters-xl > .col,
.row.small-gutters-xl > [class*=col-] {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .grid-xl-absolute {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
  }

  .py-xl-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
}
.tns-outer {
  padding: 0 !important;
}

.tns-outer [hidden] {
  display: none !important;
}

.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}

.tns-slider {
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  transition: all 0s;
}

.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}

.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}

.tns-horizontal.tns-no-subpixel:after {
  content: "";
  display: table;
  clear: both;
}

.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}

.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}

.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -moz-transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s;
}

.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}

.tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}

.tns-autowidth {
  display: inline-block;
}

.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}

.tns-lazy-img.tns-complete {
  opacity: 1;
}

.tns-ah {
  -webkit-transition: height 0s;
  -moz-transition: height 0s;
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}

.tns-vpfix {
  white-space: nowrap;
}

.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}

.tns-t-ct {
  width: 2333.3333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: 2333.3333333333%;
  position: absolute;
  right: 0;
}

.tns-t-ct:after {
  content: "";
  display: table;
  clear: both;
}

.tns-t-ct > div {
  width: 1.4285714%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: 1.4285714286%;
  height: 10px;
  float: left;
}

.typeahead__container {
  /**
     * Restore the font weight unset by the previous rule.
     */
  /**
     * Show the overflow in IE.
     * 1. Show the overflow in Edge.
     */
  /**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
  /**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
  /**
     * Remove the inner border and padding in Firefox.
     */
  /**
     * Restore the focus styles unset by the previous rule.
     */
  /**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
  /**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
  /**
     * Remove the default vertical scrollbar in IE.
     */
  /**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
  /**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
  /**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
  /**
     * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
     */
  /**
     * Correct the text style of placeholders in Chrome, Edge, and Safari.
     */
  /**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
}

.typeahead__container button,
.typeahead__container input,
.typeahead__container optgroup,
.typeahead__container select,
.typeahead__container textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

.typeahead__container optgroup {
  font-weight: bold;
}

.typeahead__container button,
.typeahead__container input {
  /* 1 */
  overflow: visible;
}

.typeahead__container button,
.typeahead__container select {
  /* 1 */
  text-transform: none;
}

.typeahead__container button,
.typeahead__container html [type=button],
.typeahead__container [type=reset],
.typeahead__container [type=submit] {
  -webkit-appearance: button;
  /* 2 */
}

.typeahead__container button::-moz-focus-inner,
.typeahead__container [type=button]::-moz-focus-inner,
.typeahead__container [type=reset]::-moz-focus-inner,
.typeahead__container [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

.typeahead__container button:-moz-focusring,
.typeahead__container [type=button]:-moz-focusring,
.typeahead__container [type=reset]:-moz-focusring,
.typeahead__container [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

.typeahead__container fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

.typeahead__container legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

.typeahead__container textarea {
  overflow: auto;
}

.typeahead__container [type=checkbox],
.typeahead__container [type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

.typeahead__container [type=number]::-webkit-inner-spin-button,
.typeahead__container [type=number]::-webkit-outer-spin-button {
  height: auto;
}

.typeahead__container [type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

.typeahead__container [type=search]::-webkit-search-cancel-button,
.typeahead__container [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

.typeahead__container ::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

.typeahead__container ::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

.typeahead__container {
  position: relative;
  font-size: 1rem;
}

.typeahead__container * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: 0;
}

.typeahead__query {
  position: relative;
  z-index: 2;
  width: 100%;
}

.typeahead__filter {
  position: relative;
}

.typeahead__filter button {
  min-width: 100%;
  white-space: nowrap;
}

.typeahead__filter button:after {
  display: inline-block;
  margin-left: 4px;
  width: 0;
  height: 0;
  vertical-align: -2px;
  content: "";
  border: 4px solid;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}

.typeahead__field {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
}

.typeahead__button button {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}

.typeahead__field {
  color: #555;
}

.typeahead__field input,
.typeahead__field textarea,
.typeahead__field [contenteditable],
.typeahead__field .typeahead__hint {
  display: block;
  width: 100%;
  line-height: 1.25;
  min-height: calc(2.25rem + 2px);
  padding: 0.5rem 0.75rem;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px 0 0 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.typeahead__field input:focus,
.typeahead__field input:active,
.typeahead__field textarea:focus,
.typeahead__field textarea:active,
.typeahead__field [contenteditable]:focus,
.typeahead__field [contenteditable]:active,
.typeahead__field .typeahead__hint:focus,
.typeahead__field .typeahead__hint:active {
  border-color: #66afe9;
}

.typeahead__field input[type=search],
.typeahead__field input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

.typeahead__field input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

.typeahead__container.hint .typeahead__field input,
.typeahead__container.hint .typeahead__field textarea,
.typeahead__container.hint .typeahead__field [contenteditable] {
  background: transparent;
}

.typeahead__container.hint .typeahead__query > :last-child,
.typeahead__hint {
  background: #fff;
}

.typeahead__container button {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #ccc;
  line-height: 1.25;
  padding: 0.5rem 0.75rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #555;
}

.typeahead__container button:hover,
.typeahead__container button:focus {
  color: #3c3c3c;
  background-color: #f5f5f5;
  border-color: #b3b3b3;
}

.typeahead__container button:active,
.typeahead__container button.active {
  background-image: none;
}

.typeahead__container button:focus,
.typeahead__container button:active {
  border-color: #66afe9;
}

.typeahead__container input.disabled,
.typeahead__container input[disabled],
.typeahead__container button.disabled,
.typeahead__container button[disabled] {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: #fff;
  border-color: #ccc;
}

.typeahead__container .typeahead__field input,
.typeahead__container .typeahead__field textarea,
.typeahead__container .typeahead__field [contenteditable],
.typeahead__container .typeahead__field .typeahead__hint,
.typeahead__container .typeahead__field .typeahead__label-container {
  padding-right: 32px;
}

.typeahead__filter,
.typeahead__button {
  z-index: 1;
}

.typeahead__filter button,
.typeahead__button button {
  margin-left: -1px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.typeahead__filter:hover,
.typeahead__filter:active,
.typeahead__filter:focus,
.typeahead__button:hover,
.typeahead__button:active,
.typeahead__button:focus {
  z-index: 1001;
}

.typeahead__filter:hover button:focus,
.typeahead__filter:hover button:active,
.typeahead__filter:active button:focus,
.typeahead__filter:active button:active,
.typeahead__filter:focus button:focus,
.typeahead__filter:focus button:active,
.typeahead__button:hover button:focus,
.typeahead__button:hover button:active,
.typeahead__button:active button:focus,
.typeahead__button:active button:active,
.typeahead__button:focus button:focus,
.typeahead__button:focus button:active {
  z-index: 1001;
}

.typeahead__filter + .typeahead__button button {
  margin-left: -2px;
}

.typeahead__container.filter .typeahead__filter {
  z-index: 1001;
}

.typeahead__list,
.typeahead__dropdown {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100%;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  background-clip: padding-box;
}

.typeahead__result.detached .typeahead__list {
  position: relative;
  z-index: 1041;
  top: initial;
  left: initial;
}

.typeahead__dropdown {
  right: 0;
  left: initial;
  z-index: 1001;
}

.typeahead__list > li {
  position: relative;
  border-top: solid 1px #ccc;
}

.typeahead__list > li:first-child {
  border-top: none;
}

.typeahead__list > li[disabled] > a,
.typeahead__dropdown > li[disabled] > a {
  cursor: not-allowed;
  color: #bababa;
  background-color: #fafafa;
}

.typeahead__list > li > a,
.typeahead__dropdown > li > a {
  display: block;
  padding: 0.5rem 0.75rem;
  clear: both;
  color: #333;
  text-decoration: none;
}

.typeahead__list > li:not([disabled]) > a:hover,
.typeahead__list > li:not([disabled]) > a:focus,
.typeahead__list > li:not([disabled]).active > a,
.typeahead__dropdown > li:not([disabled]) > a:hover,
.typeahead__dropdown > li:not([disabled]) > a:focus,
.typeahead__dropdown > li:not([disabled]).active > a {
  background-color: #f5f5f5;
  color: #3c3c3c;
}

.typeahead__list.empty > li {
  padding: 0.5rem 0.75rem;
  color: #333;
}

.typeahead__list > li.typeahead__group {
  border-color: #bfdef6;
  font-weight: bold;
}

.typeahead__list > li.typeahead__group:first-child {
  border-top: solid 1px #bfdef6;
}

.typeahead__list > li.typeahead__group > a,
.typeahead__list > li.typeahead__group > a:hover,
.typeahead__list > li.typeahead__group > a:focus,
.typeahead__list > li.typeahead__group.active > a {
  cursor: default;
  color: #17639f;
  background: #ecf5fc;
}

.typeahead__list > li.typeahead__group + li.typeahead__item {
  border-color: #bfdef6;
}

.typeahead__container.result .typeahead__list,
.typeahead__container.filter .typeahead__dropdown,
.typeahead__container.hint .typeahead__hint,
.typeahead__container.backdrop + .typeahead__backdrop {
  display: block !important;
}

.typeahead__container .typeahead__list,
.typeahead__container .typeahead__dropdown,
.typeahead__container .typeahead__hint,
.typeahead__container + .typeahead__backdrop {
  display: none !important;
}

.typeahead__dropdown li:last-child {
  margin-top: 5px;
  padding-top: 5px;
  border-top: solid 1px #ccc;
}

.typeahead__cancel-button {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: absolute;
  right: 0;
  cursor: pointer;
  line-height: 1.25;
  padding: 0.5rem 0.75rem;
  visibility: hidden;
}

.typeahead__label .typeahead__cancel-button {
  visibility: visible;
  right: 4px;
}

.typeahead__container.cancel:not(.loading) .typeahead__cancel-button,
.typeahead__label .typeahead__cancel-button {
  visibility: visible;
}

.typeahead__container.cancel:not(.loading) .typeahead__cancel-button:hover,
.typeahead__label .typeahead__cancel-button:hover {
  color: #d0021b;
}

.typeahead__search-icon {
  padding: 0 1.25rem;
  width: 16px;
  height: 16px;
  background: url(data:image/svg+xml;charset=utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDI1MC4zMTMgMjUwLjMxMyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjUwLjMxMyAyNTAuMzEzOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnIGlkPSJTZWFyY2giPgoJPHBhdGggc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkOyIgZD0iTTI0NC4xODYsMjE0LjYwNGwtNTQuMzc5LTU0LjM3OGMtMC4yODktMC4yODktMC42MjgtMC40OTEtMC45My0wLjc2ICAgYzEwLjctMTYuMjMxLDE2Ljk0NS0zNS42NiwxNi45NDUtNTYuNTU0QzIwNS44MjIsNDYuMDc1LDE1OS43NDcsMCwxMDIuOTExLDBTMCw0Ni4wNzUsMCwxMDIuOTExICAgYzAsNTYuODM1LDQ2LjA3NCwxMDIuOTExLDEwMi45MSwxMDIuOTExYzIwLjg5NSwwLDQwLjMyMy02LjI0NSw1Ni41NTQtMTYuOTQ1YzAuMjY5LDAuMzAxLDAuNDcsMC42NCwwLjc1OSwwLjkyOWw1NC4zOCw1NC4zOCAgIGM4LjE2OSw4LjE2OCwyMS40MTMsOC4xNjgsMjkuNTgzLDBDMjUyLjM1NCwyMzYuMDE3LDI1Mi4zNTQsMjIyLjc3MywyNDQuMTg2LDIxNC42MDR6IE0xMDIuOTExLDE3MC4xNDYgICBjLTM3LjEzNCwwLTY3LjIzNi0zMC4xMDItNjcuMjM2LTY3LjIzNWMwLTM3LjEzNCwzMC4xMDMtNjcuMjM2LDY3LjIzNi02Ny4yMzZjMzcuMTMyLDAsNjcuMjM1LDMwLjEwMyw2Ny4yMzUsNjcuMjM2ICAgQzE3MC4xNDYsMTQwLjA0NCwxNDAuMDQzLDE3MC4xNDYsMTAyLjkxMSwxNzAuMTQ2eiIgZmlsbD0iIzU1NTU1NSIvPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=) no-repeat scroll center center transparent;
}

.typeahead__container.loading .typeahead__query:before,
.typeahead__container.loading .typeahead__query:after {
  -webkit-transition: all 0s linear, opacity 0.2s ease;
  -o-transition: all 0s linear, opacity 0.2s ease;
  transition: all 0s linear, opacity 0.2s ease;
  position: absolute;
  z-index: 3;
  content: "";
  top: 50%;
  right: 0.55em;
  margin-top: -0.675rem;
  width: 1.35rem;
  height: 1.35rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 500rem;
  border-style: solid;
  border-width: 0.1em;
}

.typeahead__container.loading .typeahead__query:before {
  border-color: rgba(0, 0, 0, 0.35);
}

.typeahead__container.loading .typeahead__query:after {
  -webkit-animation: button-spin 0.6s linear;
  animation: button-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-color: #fff transparent transparent;
  -webkit-box-shadow: 0 0 0 1px transparent;
  box-shadow: 0 0 0 1px transparent;
}

@-webkit-keyframes button-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes button-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.typeahead__label-container {
  list-style: none;
  position: absolute;
  padding-top: 0.375rem;
  padding-left: 6px;
  width: 100%;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.typeahead__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
  position: relative;
  background: #ecf5fc;
  border: solid 1px #c2e0ff;
  padding-left: 4px;
  border-radius: 2px;
  margin-right: 4px;
  margin-bottom: 0.375rem;
}

.typeahead__label > * {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.typeahead__label .typeahead__cancel-button {
  line-height: normal;
  height: auto;
  position: static;
  padding-top: calc(0.25rem - 1px);
  padding-bottom: calc(0.25rem + 1px);
  padding-left: 6px;
  padding-right: 6px;
  margin-left: 4px;
  font-size: 0.875rem;
  border-left: solid 1px #c2e0ff;
}

.typeahead__label .typeahead__cancel-button:hover {
  background-color: #d5e9f9;
}

body {
  background: #fff;
  font-family: "Roboto", "Helvetica Neue", Arial, Verdana, sans-serif;
  padding: 0;
  margin: 0;
  color: #2a2a2a;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
  -webkit-overflow-scrolling: touch;
}

a {
  color: inherit;
  text-decoration: underline;
  transition: color 0.2s linear, background 0.1s linear;
}
a:hover, a:active {
  color: inherit;
  opacity: 0.8;
}
a.btn {
  text-decoration: none;
}

a.link {
  color: #bb4a92;
  text-decoration: underline;
}

hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #ebebeb;
  background: transparent;
  margin: auto;
  width: 100%;
  clear: both;
}

hr.double {
  height: 1px;
  border: 0;
  border-top: 4px double #ebebeb;
  background: transparent;
  margin: auto;
  width: 100%;
  clear: both;
}

hr.title_break {
  width: 40px;
  display: block;
  margin: auto;
  margin-top: 20px;
  border-color: #222;
  border-top: 1px solid #222;
}

hr.title_break.bold {
  display: block;
  margin: auto;
  border-color: #222;
  border-top: 2px solid #222;
  width: 50px;
  margin-top: 20px;
  margin-bottom: 20px;
}

hr.title_break.left {
  margin: 20px 0 20px 0;
}

hr.small {
  width: 70%;
}

hr.thick {
  border-top: 3px solid #ebebeb;
}

hr.dotted {
  border-top: 2px dotted #ebebeb;
}

hr.dashed {
  border-top: 2px dashed #ebebeb;
}

hr.faded {
  border: 0;
  height: 1px;
}

hr.faded:before {
  top: -0.5em;
  height: 1em;
}

hr.faded:after {
  content: "";
  height: 0.5em;
  top: 1px;
}

hr.faded,
hr.faded:before {
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%);
}

.hr_totop {
  position: relative;
  top: -15px;
  right: 0;
  float: right;
  display: block;
  background: #fff;
  z-index: 2;
  padding: 0 0 0 7px;
  font-size: 13px;
  color: #000;
  font-weight: 900;
}

.small_line {
  height: 1px;
  border: 0;
  border-top: 1px solid #666;
  background: transparent;
  margin: auto;
  width: 30px;
  display: block;
  margin-top: 30px;
}

h1 {
  font-size: 42px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 30px;
  line-height: 25px;
}

h4 {
  font-size: 16px;
  line-height: 25px;
}

h5 {
  font-size: 14px;
}

h6 {
  font-size: 14px;
}

h7 {
  font-size: 14px;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7 {
  font-family: "Roboto Bold", "Roboto", "Helvetica Neue", Arial, Verdana, sans-serif;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.25;
}

p {
  font-family: "Roboto";
}

pre,
code,
tt {
  font: 12px "andale mono", "lucida console", monospace;
  line-height: 1.5;
  padding: 15px 10px 15px 10px;
  display: block;
  overflow: auto;
  margin-top: 20px;
  margin: 20px 0 20px 0;
  width: 92%;
  border: 0;
  color: #000;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.img-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.check {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 22px;
  border: solid #000;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.check.blue {
  border-color: #2e98d3;
}

input,
select,
textarea,
input[type=text].form-control,
input[type=text].form-control:focus,
input[type=email].form-control,
input[type=email].form-control:focus,
input[type=tel].form-control,
input[type=tel].form-control:focus,
input[type=password].form-control,
input[type=password].form-control:focus,
select.form-control,
select.form-control:focus,
textarea.form-control,
textarea.form-control:focus {
  display: block;
  background: white;
  border: 1px solid #e2e0e0;
  font-family: "Roboto";
  font-size: 1rem;
  color: #000;
  letter-spacing: 0.25px;
  line-height: 25px;
  padding: 0.5rem;
}
input:disabled,
select:disabled,
textarea:disabled,
input[type=text].form-control:disabled,
input[type=text].form-control:focus:disabled,
input[type=email].form-control:disabled,
input[type=email].form-control:focus:disabled,
input[type=tel].form-control:disabled,
input[type=tel].form-control:focus:disabled,
input[type=password].form-control:disabled,
input[type=password].form-control:focus:disabled,
select.form-control:disabled,
select.form-control:focus:disabled,
textarea.form-control:disabled,
textarea.form-control:focus:disabled {
  background: #faf8f7;
  color: #929292;
}

select.is-invalid,
textarea.is-invalid,
input.form-control.is-invalid {
  border: 1px solid #bb4a92;
}

.form-group select {
  margin-top: 0;
  line-height: 25px;
  height: 43px;
  width: 100%;
}

.form-group label.error,
.form-group label.is-invalid,
.form-group .EditingFormErrorLabel,
.data-form .ErrorLabel {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #bb4a92;
}

.form-group input.error ~ label.error,
.form-group .EditingFormErrorLabel,
.data-form .ErrorLabel {
  display: block;
}

.select-box .checkmark,
.form-check-label .checkmark {
  position: relative;
  display: block;
  height: 25px;
  width: 25px;
  margin: 0 2px 5px 2px;
  border: 2px solid #000;
  border-radius: 3px;
}
.select-box .checkmark:after,
.form-check-label .checkmark:after {
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  display: none;
}
.select-box.d-flex .checkmark,
.form-check-label.d-flex .checkmark {
  flex: 0 0 25px;
}
.select-box input:checked ~ .checkmark,
.form-check-label input:checked ~ .checkmark {
  background-color: #000;
}
.select-box input:checked ~ .checkmark:after,
.form-check-label input:checked ~ .checkmark:after {
  display: block;
}

.form-check-label .checkmark {
  margin-right: 1rem;
  margin-bottom: 0;
}

.form-check.form-switch {
  padding-left: 3.5em;
}
.form-check.form-switch .form-check-input {
  width: 3em;
  height: 1.5em;
  margin-top: 0;
  vertical-align: top;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-4%20-4%208%208'%3e%3ccircle%20r='3'%20fill='%23414145'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: left center;
  border: 1px solid rgba(0, 0, 0, 0.25);
  appearance: none;
  margin-left: -3.5em;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
  cursor: pointer;
}
.form-check.form-switch .form-check-input:checked {
  background-color: #bb4a92;
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-4%20-4%208%208'%3e%3ccircle%20r='3'%20fill='%23fff'/%3e%3c/svg%3e");
}

.form-check.form-light-switch {
  padding-left: 3.5em;
  white-space: nowrap;
}
.form-check.form-light-switch .form-check-input {
  width: 3em;
  height: 1.5em;
  margin-top: 0;
  vertical-align: top;
  border: unset;
  background-color: unset;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20352%20512'%3E%3Cpath%20fill='%237f7f7f'%20d='M176%200C73.05%200-.12%2083.54%200%20176.24c.06%2044.28%2016.5%2084.67%2043.56%20115.54C69.21%20321.03%2093.85%20368.68%2096%20384l.06%2075.18c0%203.15.94%206.22%202.68%208.84l24.51%2036.84c2.97%204.46%207.97%207.14%2013.32%207.14h78.85c5.36%200%2010.36-2.68%2013.32-7.14l24.51-36.84c1.74-2.62%202.67-5.7%202.68-8.84L256%20384c2.26-15.72%2026.99-63.19%2052.44-92.22C335.55%20260.85%20352%20220.37%20352%20176%20352%2078.8%20273.2%200%20176%200zm47.94%20454.31L206.85%20480h-61.71l-17.09-25.69-.01-6.31h95.9v6.31zm.04-38.31h-95.97l-.07-32h96.08l-.04%2032zm60.4-145.32c-13.99%2015.96-36.33%2048.1-50.58%2081.31H118.21c-14.26-33.22-36.59-65.35-50.58-81.31C44.5%20244.3%2032.13%20210.85%2032.05%20176%2031.87%2099.01%2092.43%2032%20176%2032c79.4%200%20144%2064.6%20144%20144%200%2034.85-12.65%2068.48-35.62%2094.68zM176%2064c-61.75%200-112%2050.25-112%20112%200%208.84%207.16%2016%2016%2016s16-7.16%2016-16c0-44.11%2035.88-80%2080-80%208.84%200%2016-7.16%2016-16s-7.16-16-16-16z'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 14px 20px;
  background-position: center;
  appearance: none;
  margin-left: -3.5em;
  cursor: pointer;
}
.form-check.form-light-switch .form-check-input:checked {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20512'%3E%3Cpath%20fill='%23414545'%20d='M320,64A112.14,112.14,0,0,0,208,176a16,16,0,0,0,32,0,80.09,80.09,0,0,1,80-80,16,16,0,0,0,0-32Zm0-64C217.06,0,143.88,83.55,144,176.23a175,175,0,0,0,43.56,115.55C213.22,321,237.84,368.69,240,384l.06,75.19a15.88,15.88,0,0,0,2.69,8.83l24.5,36.84A16,16,0,0,0,280.56,512h78.85a16,16,0,0,0,13.34-7.14L397.25,468a16.17,16.17,0,0,0,2.69-8.83L400,384c2.25-15.72,27-63.19,52.44-92.22A175.9,175.9,0,0,0,320,0Zm47.94,454.31L350.84,480H289.12l-17.06-25.69,0-6.31h95.91ZM368,416H272l-.06-32H368Zm60.41-145.31c-14,15.95-36.32,48.09-50.57,81.29H262.22c-14.28-33.21-36.6-65.34-50.6-81.29A143.47,143.47,0,0,1,176.06,176C175.88,99,236.44,32,320,32c79.41,0,144,64.59,144,144A143.69,143.69,0,0,1,428.38,270.69ZM96,176a16,16,0,0,0-16-16H16a16,16,0,0,0,0,32H80A16,16,0,0,0,96,176ZM528,64a16.17,16.17,0,0,0,7.16-1.69l64-32A16,16,0,0,0,584.84,1.69l-64,32A16,16,0,0,0,528,64Zm96,96H560a16,16,0,0,0,0,32h64a16,16,0,0,0,0-32ZM119.16,33.69l-64-32A16,16,0,0,0,40.84,30.31l64,32A16.17,16.17,0,0,0,112,64a16,16,0,0,0,7.16-30.31Zm480,288-64-32a16,16,0,0,0-14.32,28.63l64,32a16,16,0,0,0,14.32-28.63ZM112,288a16.17,16.17,0,0,0-7.16,1.69l-64,32a16,16,0,0,0,14.32,28.63l64-32A16,16,0,0,0,112,288Z'%3E%3C/path%3E%3C/svg%3E");
  background-size: 25px 20px;
}

.form-radio-pill {
  display: inline-block;
}
.form-radio-pill input[type=radio],
.form-radio-pill input[type=checkbox] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.form-radio-pill label {
  border: 1px solid #ddd;
  background-color: transparent;
  color: #2a2a2a;
  line-height: 1.5;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  padding: 8px 16px;
  border-radius: 40px;
  margin: 0 8px 8px 0;
}
.form-radio-pill input:checked + label {
  background-color: #000;
  border-color: #2a2a2a;
  color: #fff;
}

.form-radio {
  position: relative;
}
.form-radio input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.form-radio label {
  padding-left: 2rem;
  margin-bottom: 0.5rem;
}
.form-radio label::before {
  position: absolute;
  top: 50%;
  left: 0.25rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  border-radius: 50%;
  content: "";
  border: solid 2px #000;
  transform: translateY(-50%);
}
.form-radio label::after {
  position: absolute;
  top: 50%;
  left: 0.25rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60% 60%;
  transform: translateY(-50%);
}
.form-radio input:checked ~ label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-4%20-4%208%208'%3E%3Ccircle%20r='3'%20fill='%23000'/%3E%3C/svg%3E");
}

.star-rating {
  font-size: 0;
  white-space: nowrap;
  display: inline-block;
  margin-top: 0.5rem;
}
.star-rating label {
  display: inline;
  float: right;
  flex-direction: column;
  margin: 0;
  padding-right: 5px;
  text-align: center;
}
.star-rating label:first-child {
  padding-right: 0;
}
.star-rating label::before {
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjREREREREIiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");
  background-size: contain;
  background-repeat: no-repeat;
  height: 25px;
  width: 28px;
}
.star-rating input {
  -moz-appearance: none;
  -webkit-appearance: none;
  opacity: 0;
  display: none;
}
.star-rating input:hover ~ label::before, .star-rating input:checked ~ label::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjRkZERjg4IiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");
}

.dark-mode input,
.dark-mode select,
.dark-mode textarea,
.dark-mode input[type=text].form-control,
.dark-mode input[type=text].form-control:focus,
.dark-mode input[type=email].form-control,
.dark-mode input[type=email].form-control:focus,
.dark-mode input[type=tel].form-control,
.dark-mode input[type=tel].form-control:focus,
.dark-mode input[type=password].form-control,
.dark-mode input[type=password].form-control:focus,
.dark-mode select.form-control,
.dark-mode select.form-control:focus,
.dark-mode textarea.form-control,
.dark-mode textarea.form-control:focus {
  background-color: #414145;
  border: 1px solid #414145;
  color: #fff;
  border-radius: 4px;
}
.dark-mode .form-group label {
  margin-left: 0;
  color: #fff;
}
.dark-mode .select-box .checkmark,
.dark-mode .form-check-label .checkmark {
  background-color: #414145;
  border-color: #414145;
}
.dark-mode .select-box input:checked ~ .checkmark,
.dark-mode .form-check-label input:checked ~ .checkmark {
  background-color: #111;
  border-color: #111;
}
.dark-mode .form-check.form-switch .form-check-input {
  background-color: #000;
}
.dark-mode .form-check.form-switch .form-check-input:checked {
  background-color: #bb4a92;
}
.dark-mode .form-radio-pill label {
  color: #fff;
}
.dark-mode .form-radio label::before {
  border-color: #fff;
}
.dark-mode .form-radio input:checked ~ label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-4%20-4%208%208'%3E%3Ccircle%20r='3'%20fill='%23fff'/%3E%3C/svg%3E");
}

.text-normal {
  font-size: 1rem;
}

.text-small {
  font-size: 0.875rem;
}

.text-smaller {
  font-size: 0.75rem;
}

@media (min-width: 768px) {
  .text-md-normal {
    font-size: 1rem;
  }

  .text-md-small {
    font-size: 0.875rem;
  }

  .text-md-smaller {
    font-size: 0.75rem;
  }
}
@media (min-width: 992px) {
  .w-lg-50 {
    width: 50%;
  }

  .w-lg-75 {
    width: 75%;
  }
}
.text-pink {
  color: #bb4a92;
}

.caption-text {
  color: #929292;
}

.select-box {
  display: block;
  position: relative;
  padding-right: 15px;
  text-align: center;
  cursor: pointer;
  line-height: 1;
  margin: 0;
  flex: 0 0 auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.select-box small {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: #929292;
}

.logon-remember-me-checkbox.checkbox label {
  font-size: 14px;
  font-weight: 400;
}

.logon-panel-password-retrieval .btn {
  text-transform: capitalize;
}

.form-result-label {
  display: block;
  margin-bottom: 1rem;
}

.form-control-error,
.error-label {
  display: block;
  margin-bottom: 1rem;
  color: #ae0707;
  font-size: 14px;
}

.empty-container {
  min-height: 60vh;
}

.image-thumbnail {
  width: 50px;
  height: 70px;
}

.vignette {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background-size: cover;
  background: linear-gradient(to bottom, transparent 75%, black);
}

.bg-midlightgray {
  background-color: #d6d7d9;
}

.bg-lightgray {
  background-color: #eeeeee;
}

.text-footnote {
  color: #555555;
  font-size: 14px;
}

.box-highlight {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
}

.box-rounded {
  border-radius: 8px;
}

.extend-container {
  margin-left: -15px;
  margin-right: -15px;
}

.dark-mode .card {
  background-color: #2a2a2a;
  border-radius: 8px;
}

/*
 * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance,
 * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use,
 * make sure you copy the url from the website since the url may change between versions.
 * */
.toast-title {
  font-weight: bold;
}

.toast-message {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

.toast-message a,
.toast-message label {
  color: #ffffff;
}

.toast-message a:hover {
  color: #cccccc;
  text-decoration: none;
}

.toast-close-button {
  position: relative;
  right: -0.3em;
  top: -0.3em;
  float: right;
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
  -webkit-text-shadow: 0 1px 0 #ffffff;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.8;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  filter: alpha(opacity=80);
  line-height: 1;
}

.toast-close-button:hover,
.toast-close-button:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.4;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  filter: alpha(opacity=40);
}

.rtl .toast-close-button {
  left: -0.3em;
  float: left;
  right: 0.3em;
}

/*Additional properties for button version
   iOS requires the button element instead of an anchor tag.
   If you want the anchor version, it requires `href="#"`.*/
button.toast-close-button {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.toast-top-center {
  top: 0;
  right: 0;
  width: 100%;
}

.toast-bottom-center {
  bottom: 0;
  right: 0;
  width: 100%;
}

.toast-top-full-width {
  top: 0;
  right: 0;
  width: 100%;
}

.toast-bottom-full-width {
  bottom: 0;
  right: 0;
  width: 100%;
}

.toast-top-left {
  top: 12px;
  left: 12px;
}

.toast-top-right {
  top: 12px;
  right: 12px;
}

.toast-bottom-right {
  right: 12px;
  bottom: 12px;
}

.toast-bottom-left {
  bottom: 12px;
  left: 12px;
}

#toast-container {
  position: fixed;
  z-index: 999999;
  pointer-events: none;
  /*overrides*/
}

#toast-container * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#toast-container > div {
  position: relative;
  pointer-events: auto;
  overflow: hidden;
  margin: 0 0 6px;
  padding: 15px 15px 15px 50px;
  width: 300px;
  -moz-border-radius: 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px;
  border-radius: 3px 3px 3px 3px;
  background-position: 15px center;
  background-repeat: no-repeat;
  -moz-box-shadow: 0 0 12px #999999;
  -webkit-box-shadow: 0 0 12px #999999;
  box-shadow: 0 0 12px #999999;
  color: #ffffff;
  opacity: 0.8;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  filter: alpha(opacity=80);
}

#toast-container > div.rtl {
  direction: rtl;
  padding: 15px 50px 15px 15px;
  background-position: right 15px center;
}

#toast-container > div:hover {
  -moz-box-shadow: 0 0 12px #000000;
  -webkit-box-shadow: 0 0 12px #000000;
  box-shadow: 0 0 12px #000000;
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
  cursor: pointer;
}

#toast-container > .toast-info {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
}

#toast-container > .toast-error {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
}

#toast-container > .toast-success {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
}

#toast-container > .toast-warning {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
}

#toast-container.toast-top-center > div,
#toast-container.toast-bottom-center > div {
  width: 300px;
  margin-left: auto;
  margin-right: auto;
}

#toast-container.toast-top-full-width > div,
#toast-container.toast-bottom-full-width > div {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}

.toast {
  background-color: #030303;
}

.toast-success {
  background-color: #51a351;
}

.toast-error {
  background-color: #ae0707;
}

.toast-info {
  background-color: #2f96b4;
}

.toast-warning {
  background-color: #f89406;
}

.toast-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  background-color: #000000;
  opacity: 0.4;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  filter: alpha(opacity=40);
}

/*Responsive Design*/
@media all and (max-width: 240px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 11em;
  }

  #toast-container > div.rtl {
    padding: 8px 50px 8px 8px;
  }

  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }

  #toast-container .rtl .toast-close-button {
    left: -0.2em;
    right: 0.2em;
  }
}
@media all and (min-width: 241px) and (max-width: 480px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 18em;
  }

  #toast-container > div.rtl {
    padding: 8px 50px 8px 8px;
  }

  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }

  #toast-container .rtl .toast-close-button {
    left: -0.2em;
    right: 0.2em;
  }
}
@media all and (min-width: 481px) and (max-width: 768px) {
  #toast-container > div {
    padding: 15px 15px 15px 50px;
    width: 25em;
  }

  #toast-container > div.rtl {
    padding: 15px 50px 15px 15px;
  }
}
.badges .badges--badge {
  margin-bottom: 1.5rem;
}
.badges .badges--badge .badge--icon {
  position: relative;
  border-radius: 50%;
  width: 70px;
  height: 70px;
  margin: auto;
  background-color: #ddd;
}
.badges .badges--badge .badge--icon svg,
.badges .badges--badge .badge--icon i,
.badges .badges--badge .badge--icon img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
}
.badges .badges--badge .badge--caption {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 0.5rem;
  line-height: 1.5;
}
.badges.small .badge--icon {
  width: 50px;
  height: 50px;
}

.bullet {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  width: 70px;
}
.bullet.bullet-small {
  width: 36px;
}
.bullet .bullet--circle {
  background-color: #000;
  border-radius: 50%;
  color: white;
  font-size: 2.75rem;
  font-weight: bold;
  width: 70px;
  height: 70px;
  line-height: 0.9;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bullet.bullet-small .bullet--circle {
  width: 36px;
  height: 36px;
  font-size: 1rem;
  line-height: 1;
}
.bullet.bullet-small-text .bullet--circle {
  font-size: 14px;
  line-height: 15px;
}
.bullet.bullet-gray .bullet--circle {
  background-color: #e2e0e0;
  color: #000;
}
.bullet.bullet-disabled .bullet--circle {
  color: #e2e0e0;
  border: 1px solid #e2e0e0;
  background-color: white;
}
.bullet.blue .bullet--circle {
  background-color: #2e98d3;
}
.bullet svg + .bullet--circle {
  margin-top: -7px;
}
.bullet .top-text {
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
.bullet .top-text + span {
  font-size: 2rem;
}
.bullet.bullet-dashed {
  width: 36px;
  margin-right: 1rem;
}
.bullet.bullet-dashed .bullet--circle {
  z-index: 1;
  width: 36px;
  height: 36px;
  font-size: 1rem;
  margin-top: 0;
}
.bullet.bullet-dashed svg {
  height: 15px;
  width: 2px;
}
.bullet.bullet-dashed svg .horizontal {
  display: none;
}
.bullet.bullet-dashed svg.dash-first {
  position: absolute;
  bottom: 0;
}
@media (min-width: 768px) {
  .bullet.bullet-dashed {
    width: 100%;
    flex-direction: unset;
    justify-content: center;
  }
  .bullet.bullet-dashed .bullet--circle {
    width: 48px;
    height: 48px;
    font-size: 1.5rem;
    margin-right: 0;
    margin-top: 0;
  }
  .bullet.bullet-dashed svg {
    position: absolute;
    top: 24px;
    width: 100%;
    left: 0;
    height: 2px;
    z-index: 0;
  }
  .bullet.bullet-dashed svg .horizontal {
    display: block;
  }
  .bullet.bullet-dashed svg .vertical {
    display: none;
  }
  .bullet.bullet-dashed svg.dash-first {
    width: 51%;
    left: 50%;
  }
  .bullet.bullet-dashed svg.dash-last {
    width: 50%;
  }
}

.date-panel .month-back svg,
.date-panel .month-forward svg {
  display: block;
  position: relative;
  font-size: 0.75rem;
  right: 20px;
  top: 5px;
}
.date-panel .month-back svg {
  left: 20px;
}
.date-panel .month-name {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.02rem;
}
.date-panel .days-of-week {
  padding: 0.5rem 0;
}
.date-panel .days-of-week .day-name,
.date-panel .days-of-week .day-number {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #929292;
  text-align: center;
  line-height: 30px;
  font-size: 15px;
}
.date-panel .days-of-week .day-name {
  color: #929292;
}
.date-panel .days-of-week .day-number {
  color: #000;
  font-weight: 500;
}
.date-panel .days-of-week .day-number:hover {
  cursor: pointer;
  background-color: #f0eeed;
}
.date-panel .days-of-week .day-number.disabled {
  cursor: not-allowed;
  color: #e2e0e0;
  font-weight: 400;
}
.date-panel .days-of-week .day-number.selected {
  color: #000;
  background-color: #e2e0e0;
}
.date-panel .days-of-week .day-number.selected:hover {
  background-color: #f0eeed;
}

.month-row .month-name {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.03rem;
  margin-bottom: 0;
}
.month-row .week .days {
  margin-top: 25px;
  max-width: 700px;
  margin-right: auto;
  margin-left: auto;
}
.month-row .week .days .day-column {
  padding-right: 2px;
  padding-left: 2px;
}
.month-row .week .days .day-column .card .schedule-day-wrapper {
  padding: 0.5rem;
}
.month-row .week .days .day-column .card .schedule-day-wrapper .day {
  font-weight: 400;
  font-size: 2.6125rem;
}
.month-row .week .days .day-column .card .schedule-day-wrapper .day-name {
  font-weight: 400;
  font-size: 0.8rem;
}
.month-row .week .days .day-column .card .schedule-day-wrapper .schedule-day {
  border-color: #000;
  cursor: pointer;
}
.month-row .week .days .day-column .card .schedule-day-wrapper .unavailable-day {
  border-color: #000;
  cursor: not-allowed;
  background-image: url(/CadyStudios/media/SessionScheduling/Strikethrough.png);
  background-size: 100% 100%;
}

.nav-pills.retouching-pills, .nav-pills.location-pills {
  border: none;
  margin-bottom: 16px;
}
.nav-pills.retouching-pills .nav-link, .nav-pills.location-pills .nav-link {
  font-size: 16px;
  color: #929292;
  min-height: 1rem;
  padding: 0 0 8px 0;
}
.nav-pills.retouching-pills .nav-link.active, .nav-pills.location-pills .nav-link.active {
  color: #000;
  font-weight: bold;
  border-bottom: 2px solid #000;
}
.nav-pills.retouching-pills .nav-link.active,
.nav-pills.retouching-pills .show > .nav-link, .nav-pills.location-pills .nav-link.active,
.nav-pills.location-pills .show > .nav-link {
  background-color: white;
}
.nav-pills.retouching-pills .nav-item {
  margin: auto 30px;
}
.nav-pills.retouching-pills .nav-link.active {
  border-bottom-width: 4px;
}
.nav-pills.home-pills {
  margin-bottom: 2rem;
}
.nav-pills.home-pills .nav-link {
  min-height: 4rem;
  font-size: 1.125rem;
}
.nav-pills.retouching-samples-pills {
  border: none;
  margin-bottom: 1rem;
}
.nav-pills.retouching-samples-pills .nav-item {
  margin-left: 5px;
  margin-right: 5px;
}
.nav-pills.retouching-samples-pills .nav-item:first-child {
  margin-left: 0;
}
.nav-pills.retouching-samples-pills .nav-item:last-child {
  margin-right: 0;
}
.nav-pills.retouching-samples-pills .nav-item .nav-link {
  padding: 0.25em 1.5em;
  border: solid 1px #000;
}
.nav-pills.retouching-samples-pills .nav-item .nav-link.active {
  background-color: #bb4a92;
  border-color: #bb4a92;
}
.nav-pills.slider-pills, .nav-pills.rounded-pills {
  border-radius: 40px;
  padding: 4px;
  border: 0;
}
.nav-pills.slider-pills .nav-item, .nav-pills.rounded-pills .nav-item {
  border: 0;
}
.nav-pills.slider-pills .nav-link, .nav-pills.rounded-pills .nav-link {
  border-radius: 40px;
  color: #fff;
  padding: 4px 16px;
  font-size: 14px;
}
.nav-pills.slider-pills .nav-link.active, .nav-pills.rounded-pills .nav-link.active {
  background-color: #fff;
  color: #000;
}
.nav-pills.slider-pills.highlighted .nav-link.active, .nav-pills.rounded-pills.highlighted .nav-link.active {
  color: #fff;
  background-color: #bb4a92;
}
.nav-pills.slider-pills.primary .nav-link.active, .nav-pills.rounded-pills.primary .nav-link.active {
  color: #fff;
  background-color: #000;
}
.nav-pills.slider-pills {
  background-color: rgba(0, 0, 0, 0.3);
}
.nav-pills.rounded-pills {
  background-color: #eee;
}
.nav-pills.rounded-pills .nav-link {
  color: #000;
}
.nav-pills.rounded-pills.pills-lg .nav-link {
  padding: 8px 16px;
  font-size: 16px;
}

.dark-mode .nav-pills.slider-pills, .dark-mode .nav-pills.rounded-pills {
  background-color: transparent;
  border: 1px solid #2a2a2a;
}
.dark-mode .nav-pills.slider-pills .nav-link, .dark-mode .nav-pills.rounded-pills .nav-link {
  color: #fff;
}
.dark-mode .nav-pills.slider-pills .nav-link.active, .dark-mode .nav-pills.rounded-pills .nav-link.active {
  background-color: #2a2a2a;
}
.dark-mode .nav-pills.slider-pills.primary, .dark-mode .nav-pills.rounded-pills.primary {
  border: 1px solid #000;
}
.dark-mode .nav-pills.slider-pills.primary .nav-link.active, .dark-mode .nav-pills.rounded-pills.primary .nav-link.active {
  background-color: #000;
}

.table-booking,
.table.spaced {
  border-collapse: separate;
  border-spacing: 2px;
}
.table-booking thead th,
.table-booking td,
.table.spaced thead th,
.table.spaced td {
  border: solid 1px transparent;
  vertical-align: middle;
}

.table-booking thead th {
  background-color: #eeeeee;
}
.table-booking thead th span {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  height: 28px;
  width: 28px;
  line-height: 28px;
  z-index: 1;
}
.table-booking td {
  background-color: #faf8f7;
  font-size: 14px;
  position: relative;
}
.table-booking td.muted {
  color: #555555;
}
.table-booking td.unavailable {
  color: #929292;
}
.table-booking.with-icon td {
  padding-left: 36px;
  text-align: left;
  vertical-align: middle;
}
.table-booking.with-icon td img.icon {
  position: absolute;
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
}

.product-comparison {
  background-color: #faf8f7;
  table-layout: fixed;
}
.product-comparison th,
.product-comparison td,
.product-comparison thead th {
  border-color: #f0eeed;
}
.product-comparison.table-bordered {
  border: 0;
}
.product-comparison td {
  padding-top: 24px;
  padding-bottom: 24px;
}
.product-comparison td:first-child {
  padding-left: 24px;
}
.product-comparison th {
  font-weight: 400;
  padding: 24px;
}
.product-comparison th .elite {
  font-size: 24px;
}
.product-comparison th .package-name {
  padding-bottom: 1rem;
  border-bottom: 1px solid #e2e0e0;
  margin-bottom: 1rem;
}
.product-comparison thead th {
  vertical-align: top;
  padding: 24px;
}
.product-comparison tbody th,
.product-comparison td {
  vertical-align: middle;
}
.product-comparison tbody th {
  height: 100px;
  line-height: 1.25;
}
.product-comparison td {
  text-align: center;
}
.product-comparison td img {
  height: 20px;
  margin-bottom: 0.5rem;
}
.product-comparison td svg {
  vertical-align: inherit;
}
.product-comparison td:first-child {
  text-align: left;
}
.product-comparison h4 {
  font-size: 24px;
  margin-bottom: 0;
}
.product-comparison h4 small {
  font-size: 16px;
  font-weight: 400;
}
.product-comparison p {
  margin-bottom: 0;
}
.product-comparison.large-padding th {
  padding: 20px 40px;
}
.product-comparison.large-padding td {
  padding: 20px;
}
.product-comparison.large-padding td:first-child {
  padding-left: 40px;
}
.product-comparison.large-padding thead th {
  padding: 40px;
}

.table-rounded {
  border-radius: 8px;
}

.dark-mode .product-comparison {
  background-color: #111;
}
.dark-mode .product-comparison th,
.dark-mode .product-comparison td,
.dark-mode .product-comparison thead th {
  border-color: #000;
}
.dark-mode .product-comparison th .package-name {
  border-color: #fff;
}

.table-stripe-rows > tr:nth-child(even) {
  background-color: #faf8f7;
}

.table-features td {
  padding: 0.25rem;
  font-size: 14px;
  position: relative;
}
.table-features td.muted {
  color: #555555;
}
.table-features td.unavailable {
  color: #929292;
}
.table-features.with-icon td {
  padding-left: 27px;
  text-align: left;
  vertical-align: middle;
}
.table-features.with-icon td img.icon {
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
}

.progress {
  height: 0.5rem;
}
.progress.dark {
  background-color: #000;
}
.progress.dark .progress-bar {
  background-color: #bb4a92;
}

.progress-text {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  line-height: 18px;
  font-weight: 500;
  margin-bottom: 0.25rem;
}

.rewards .rewards-text {
  max-height: 2.4em;
  line-height: 1.2;
  overflow: hidden;
}
.rewards a.more {
  text-decoration: underline;
}
.rewards .progress {
  position: relative;
  flex: 1 0 auto;
  height: 18px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 18px;
}
.rewards .progress .progress-bar {
  position: relative;
  border-radius: 0 8px 8px 0;
  background-color: #bb4a92;
  z-index: 1;
  text-align: right;
  min-width: 25px;
  padding-right: 0.4rem;
  white-space: nowrap;
}
.rewards .progress .progress-bar[aria-valuenow="0"] {
  padding-right: 0;
  min-width: 0;
}
.rewards .progress .nextLevel {
  position: absolute;
  right: 0;
  padding-right: 0.4rem;
  color: gray;
}

.range-slider[type=range] {
  margin: 0;
  padding: 0;
  border: 0;
  width: 8rem;
  height: 0.25em;
  background-color: #414145;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bb4a92), color-stop(100%, #bb4a92));
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.range-slider[type=range], .range-slider[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
}
.range-slider[type=range]::-webkit-slider-runnable-track {
  box-sizing: border-box;
  border: none;
  height: 0.25em;
}
.range-slider[type=range]::-moz-range-track {
  box-sizing: border-box;
  border: none;
  height: 0.25em;
}
.range-slider[type=range]::-ms-track {
  box-sizing: border-box;
  border: none;
  height: 0.25em;
}
.range-slider[type=range]::-moz-range-progress {
  height: 0.25em;
  background: #bb4a92;
}
.range-slider[type=range]::-ms-fill-lower {
  height: 0.25em;
  background: #bb4a92;
}
.range-slider[type=range]::-webkit-slider-thumb {
  margin-top: -0.375em;
  box-sizing: border-box;
  border: none;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #2a2a2a;
}
.range-slider[type=range]::-moz-range-thumb {
  box-sizing: border-box;
  border: none;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #2a2a2a;
}
.range-slider[type=range]::-ms-thumb {
  margin-top: 0;
  box-sizing: border-box;
  border: none;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #2a2a2a;
}
.range-slider[type=range]::-ms-tooltip {
  display: none;
}
.range-slider[type=range].inverse {
  transform: rotate(180deg);
  background-color: #bb4a92;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #414145), color-stop(100%, #414145));
  background-size: 100% 100%;
}
.range-slider[type=range].inverse::-moz-range-progress {
  height: 0.25em;
  background: #bb4a92;
  background: #414145;
}
.range-slider[type=range].inverse::-ms-fill-lower {
  height: 0.25em;
  background: #bb4a92;
  background: #414145;
}

.ribbon {
  position: absolute;
  top: 40px;
  left: -35px;
  background: #bb4a92;
  color: white;
  transform: rotate(-45deg);
  font-weight: bold;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  text-transform: uppercase;
  z-index: 0;
  width: 175px;
}

ul.checklist {
  list-style: none;
  padding: 0;
}
ul.checklist li:before {
  content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxOCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4IDEuOTk5OTdMNiAxNEwwLjUgOC40OTk5NkwxLjkxIDcuMDg5OTZMNiAxMS4xN0wxNi41OSAwLjU4OTk2NkwxOCAxLjk5OTk3WiIgZmlsbD0iI0Q2MjU5OCIvPgo8L3N2Zz4K");
  padding: 2px;
  margin-right: 0.5rem;
}

.modal.form-modal.dark {
  background-color: rgba(0, 0, 0, 0.7);
}
.modal.form-modal .modal-content {
  border: none;
  border-radius: 0;
}
.modal.form-modal .modal-header {
  border: none;
  border-radius: 0;
  padding: 1.5rem 0.5rem 0;
  justify-content: center;
  font-weight: 700;
  font-size: 30px;
}
.modal.form-modal .modal-header .close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
}
.modal.form-modal .modal-header .close:before, .modal.form-modal .modal-header .close:after {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  background-color: #000;
  height: 2px;
}
.modal.form-modal .modal-header .close:before {
  transform: rotate(135deg);
}
.modal.form-modal .modal-header .close:after {
  transform: rotate(-135deg);
}
.modal.form-modal .modal-header .back-button {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 1rem;
}
.modal.form-modal .modal-header.dashboard {
  padding: 2rem 1rem 0;
}
.modal.form-modal .modal-header.dashboard .close {
  top: 1rem;
  right: 1rem;
}
.modal.form-modal .modal-body > :last-child {
  margin-bottom: 0;
}
.modal.form-modal .modal-footer {
  padding-top: 0;
}
.modal.form-modal .modal-footer > * {
  margin-left: 0;
  margin-right: 0;
}
.modal.modal-session-detail .session-title {
  font-size: 1.5rem;
}
.modal.modal-session-detail .session-price {
  font-size: 2rem;
}
.modal.modal-session-detail .modal-content {
  border: none;
  border-radius: 0;
  max-height: 90vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #f0eeed #929292;
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.modal.modal-session-detail .modal-content::-webkit-scrollbar {
  width: 8px;
}
.modal.modal-session-detail .modal-content::-webkit-scrollbar-track {
  background-color: #f0eeed;
}
.modal.modal-session-detail .modal-content::-webkit-scrollbar-thumb {
  background: #7f7f7f;
  border: solid 3px #f0eeed;
  border-radius: 8px;
}
.modal.modal-session-detail .modal-content::-webkit-scrollbar-thumb:hover {
  background: #929292;
}
.modal.modal-session-detail .modal-header,
.modal.modal-session-detail .modal-footer {
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.35);
}
.modal.modal-session-detail .modal-header {
  border: none;
  border-radius: 0;
  padding: 2rem 0.5rem 0;
  justify-content: center;
  font-weight: 700;
  font-size: 30px;
  position: relative;
}
.modal.modal-session-detail .modal-header .close {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  transform: translateY(-70%);
}
.modal.modal-session-detail .modal-header .close:before, .modal.modal-session-detail .modal-header .close:after {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  background-color: #000;
  height: 2px;
}
.modal.modal-session-detail .modal-header .close:before {
  transform: rotate(135deg);
}
.modal.modal-session-detail .modal-header .close:after {
  transform: rotate(-135deg);
}
.modal.modal-session-detail .modal-footer {
  position: sticky;
  bottom: 0;
  background-color: #fff;
}
.modal.pricedetail-modal .table td {
  padding: 0.75rem 0;
}
.modal.pricedetail-modal .table tr:first-child td,
.modal.pricedetail-modal .table tr:last-child td {
  border: 0;
}

.modal-backdrop {
  background-color: #000;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.dark-mode .modal-content {
  background-color: #2a2a2a;
}

#addressVerifyPopup #suggestedAddresses {
  max-height: 300px;
  overflow-y: auto;
}

#date-checker-tool .steps.disabled {
  pointer-events: none;
  color: #929292;
}
@media (min-width: 768px) {
  #date-checker-tool #slots > div:first-child {
    border-right: 1px solid #ddd;
  }
}
#date-checker-tool #dct-locationstep {
  border: solid 1px #faf8f7;
  border-radius: 28px;
}
#date-checker-tool #dct-locationstep > .row {
  border: 0;
  border-radius: 28px;
  background-color: #faf8f7;
  cursor: pointer;
}
#date-checker-tool #dct-locationstep > .row .selected-location span {
  margin-left: 5px;
}
#date-checker-tool #dct-locationstep .list-group-item.location-info .location-name {
  font-weight: 400;
}

.session-cta-modal .modal-content {
  padding: 250px 10px 20px;
  border: none;
  border-radius: 0;
  position: relative;
  color: #fff;
}
.session-cta-modal .modal-content .modal-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.session-cta-modal .modal-content .modal-background img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.session-cta-modal .modal-content .modal-background .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-image: linear-gradient(transparent, transparent 100px, #000 250px, #000);
}
.session-cta-modal .modal-content .modal-header {
  position: relative;
  border-radius: 0;
  border: 0;
  padding: 0 1rem;
  text-align: center;
}
.session-cta-modal .modal-content .modal-header .cta-header {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.75px;
  padding-bottom: 16px;
  margin: auto;
  width: 100%;
}
.session-cta-modal .modal-content .modal-header .cta-header .elite {
  font-size: 48px;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
}
.session-cta-modal .modal-content .modal-header .cta-header .access {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 2px;
}
.session-cta-modal .modal-content .modal-body > :last-child {
  margin-bottom: 0;
}
.session-cta-modal .modal-content .modal-footer {
  padding-top: 0;
  padding-bottom: 0;
  border-top: 0;
  position: relative;
}
.session-cta-modal .modal-content .modal-footer > * {
  margin-left: 0;
  margin-right: 0;
}
.session-cta-modal .modal-content .disclaimer {
  font-size: 12px;
  display: block;
  color: #929292;
}
.session-cta-modal .modal-content .btn {
  padding-top: 10px;
  padding-bottom: 10px;
}
.session-cta-modal .modal-content .btn.btn-link {
  color: #fff;
  font-weight: normal;
  text-decoration: underline;
}
.session-cta-modal .modal-dialog.modal-sm {
  max-width: 350px;
  margin: auto;
}
.session-cta-modal .modal-dialog.modal-lg, .session-cta-modal .modal-dialog.modal-xl {
  max-height: 95vh;
}
@media (min-width: 768px) {
  .session-cta-modal .modal-dialog.modal-lg .cta-header, .session-cta-modal .modal-dialog.modal-xl .cta-header {
    display: inline-block;
    padding: 0 16px 16px;
    width: unset;
  }
}
@media (min-width: 768px) {
  .session-cta-modal .modal-dialog.modal-lg {
    max-width: 600px;
  }
}
.session-cta-modal .modal-dialog.modal-lg .modal-content {
  padding-top: 250px;
}
@media (min-width: 768px) {
  .session-cta-modal .modal-dialog.modal-lg .modal-content {
    padding: 350px 5rem 20px;
  }
}
.session-cta-modal .modal-dialog.modal-lg .modal-content .modal-background img {
  min-height: 250px;
}
.session-cta-modal .modal-dialog.modal-lg .modal-content .modal-background .overlay {
  background-image: linear-gradient(transparent 200px, #000 300px, #000);
}
@media (min-width: 768px) {
  .session-cta-modal .modal-dialog.modal-lg .modal-content .modal-background .overlay {
    background-image: linear-gradient(transparent 250px, #000 400px, #000);
  }
}
.session-cta-modal .modal-dialog.modal-xl {
  max-width: 750px;
}
@media (min-width: 768px) {
  .session-cta-modal .modal-dialog.modal-xl .modal-content {
    padding: 100px 0 100px 50%;
  }
  .session-cta-modal .modal-dialog.modal-xl .modal-content .modal-body, .session-cta-modal .modal-dialog.modal-xl .modal-content .modal-header, .session-cta-modal .modal-dialog.modal-xl .modal-content .modal-footer {
    padding: 1rem;
  }
}
.session-cta-modal .modal-dialog.modal-xl .modal-content .modal-background img {
  object-position: top;
}
.session-cta-modal .modal-dialog.modal-xl .modal-content .modal-background .overlay {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 25.42%, #000000 51.98%);
}
@media (min-width: 768px) {
  .session-cta-modal .modal-dialog.modal-xl .modal-content .modal-background img {
    width: auto;
    object-position: center;
  }
  .session-cta-modal .modal-dialog.modal-xl .modal-content .modal-background .overlay {
    background-image: linear-gradient(270deg, #000000 29.17%, rgba(0, 0, 0, 0) 51.98%);
  }
}
.session-cta-modal.light .modal-dialog.modal-xl .modal-content {
  color: #000;
}
.session-cta-modal.light .modal-dialog.modal-xl .modal-content .modal-background .overlay {
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.95) 39.94%, rgba(255, 255, 255, 0) 71%);
}
@media (min-width: 768px) {
  .session-cta-modal.light .modal-dialog.modal-xl .modal-content .modal-background .overlay {
    background-image: linear-gradient(270deg, white 31.89%, rgba(255, 255, 255, 0) 51.02%);
  }
}
.session-cta-modal.light .modal-dialog.modal-xl .modal-content .btn.btn-link {
  color: #000;
}
.session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl {
  max-width: 850px;
}
.session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .modal-content {
  padding: 250px 10px 20px;
}
@media (min-width: 768px) {
  .session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .modal-content {
    padding: 20px 0 20px 55%;
  }
}
.session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .modal-content .modal-background img {
  object-fit: contain;
  height: auto;
}
@media (min-width: 768px) {
  .session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .modal-content .modal-background img {
    object-fit: cover;
    height: 100%;
  }
}
.session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .modal-content .modal-background .overlay {
  background-image: linear-gradient(rgba(255, 255, 255, 0) 25.42%, white 51.98%);
}
@media (min-width: 768px) {
  .session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .modal-content .modal-background .overlay {
    background-image: linear-gradient(270deg, white 39.94%, rgba(255, 255, 255, 0) 90%);
  }
}
.session-cta-modal#portfolio-confirmation-modal .modal-dialog.modal-xl .cta-header {
  padding-bottom: 0;
}

.cta-style2-modal {
  background: #000000cc;
}
.cta-style2-modal .modal-content {
  border: 0;
  border-radius: 0;
  position: relative;
}
.cta-style2-modal .modal-content .left-side {
  min-height: 200px;
}
.cta-style2-modal .modal-content .left-side img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-position: top;
}
.cta-style2-modal .modal-content .right-side {
  padding: 15px;
}
.cta-style2-modal .modal-content .right-side .cta-header {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.75px;
  padding-bottom: 1rem;
}
.cta-style2-modal .modal-content .right-side ul {
  list-style: none;
  text-align: left;
  position: relative;
}
.cta-style2-modal .modal-content .right-side ul li {
  margin-bottom: 10px;
}
.cta-style2-modal .modal-content .right-side ul li:before {
  content: "✓";
  position: absolute;
  left: 10px;
  font-size: 1.2em;
  color: #d42b69;
}
.cta-style2-modal .modal-content .right-side ul h4 {
  margin-bottom: 0;
}
.cta-style2-modal .modal-content .right-side .disclaimer {
  font-size: 12px;
  display: block;
  color: #929292;
}
.cta-style2-modal .modal-content .btn {
  padding-top: 10px;
  padding-bottom: 10px;
}
.cta-style2-modal .modal-content .btn.btn-link {
  font-weight: normal;
  text-decoration: underline;
}
.cta-style2-modal .modal-dialog.modal-xl {
  max-width: 850px;
}
.cta-style2-modal.table-modal .right-side {
  background-color: #faf8f7;
}
@media (min-width: 992px) {
  .cta-style2-modal.table-modal .right-side {
    padding: 2rem 3rem;
  }
}
.cta-style2-modal#upgradeSessionModal .btn {
  padding: 0.5rem 1rem;
}

.upsell-modal {
  min-height: 600px;
}
.upsell-modal .modal-content {
  color: white;
  background: #000;
  border: none;
  border-radius: 0;
}
@media (min-width: 576px) {
  .upsell-modal:not(.fifty-fifty-modal) .modal-dialog {
    max-width: 345px;
  }
}
.upsell-modal .price-ribbon {
  position: absolute;
  font-family: "Roboto";
  font-weight: normal;
  line-height: 36px;
  top: 1.5rem;
  left: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  width: 23%;
  font-size: 24px;
  color: white;
  background-color: #000;
  text-align: center;
}
.upsell-modal .image-wrapper {
  position: relative;
}
.upsell-modal .image-wrapper img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  object-fit: cover;
}
.upsell-modal .image-wrapper .img-background {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background-size: cover;
  z-index: -1;
}
.upsell-modal .carousel--slide .img-fluid {
  height: 300px;
  object-fit: cover;
}
.upsell-modal .tns-nav button {
  background: #7f7f7f;
}
.upsell-modal .tns-nav button.tns-nav-active {
  background: white;
}
.upsell-modal .detail {
  padding: 23px;
  padding-top: 0;
}
.upsell-modal .detail .heading {
  font-family: "Roboto";
  font-weight: normal;
  font-size: 24px;
  line-height: 36px;
  text-align: center;
  letter-spacing: 0.75px;
}
.upsell-modal .detail .body {
  font-family: "Roboto";
  font-weight: normal;
  font-size: 14px;
  line-height: 21px;
  text-align: left;
}
.upsell-modal .detail input,
.upsell-modal .detail input:focus {
  border-color: #555555;
  background: #000;
  color: white;
}
.upsell-modal .detail label {
  color: white;
  font-weight: normal;
}
.upsell-modal .btn-link {
  font-family: "Roboto";
  font-weight: normal;
  font-size: 16px;
  line-height: 24px;
}
.upsell-modal.upsell-background .image-wrapper {
  height: 332px;
}
.upsell-modal.upsell-background .image-wrapper .img-fluid {
  height: 100%;
}
.upsell-modal.upsell-background .selected-banner {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.25rem;
  color: white;
  text-align: center;
}
.upsell-modal.upsell-background .last-chance-ribbon {
  display: none;
  font-family: "Roboto";
  font-weight: bold;
  position: absolute;
  line-height: 18px;
  top: 1.5rem;
  left: 0;
  padding-top: 3px;
  padding-bottom: 3px;
  width: 40%;
  font-size: 12px;
  color: white;
  background-color: #bb4a92;
  text-align: center;
}
.upsell-modal.upsell-background.last-chance .last-chance-ribbon {
  display: initial;
}
.upsell-modal.upsell-background.last-chance .price-ribbon {
  left: unset;
  right: 0;
}

.dark-mode .upsell-modal .modal-content {
  background-color: #2a2a2a;
  border-radius: 8px;
}

.dashboard-modal,
.fifty-fifty-modal {
  background-color: #000000c0;
}
.dashboard-modal .modal-content,
.dashboard-modal .modal-header,
.fifty-fifty-modal .modal-content,
.fifty-fifty-modal .modal-header {
  border-radius: 0;
  border: 0;
}
.dashboard-modal .modal-body,
.fifty-fifty-modal .modal-body {
  border-radius: 0;
}
.dashboard-modal .modal-footer,
.fifty-fifty-modal .modal-footer {
  border: 0;
}
.dashboard-modal .modal-header .modal-title,
.fifty-fifty-modal .modal-header .modal-title {
  font-weight: 500;
}
.dashboard-modal.rounded .modal-content,
.fifty-fifty-modal.rounded .modal-content {
  border-radius: 0.3rem;
}

.fifty-fifty-modal .modal-content {
  color: #000;
}
.fifty-fifty-modal .modal-content .offer-note {
  font-size: 11px;
}
@media (min-width: 576px) {
  .fifty-fifty-modal .modal-content .modal-images img.desktop-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.fifty-fifty-modal .modal-content .modal-images img.mobile-image {
  width: 100%;
}
@media (min-width: 992px) {
  .fifty-fifty-modal .modal-content .modal-images.squared-lg {
    padding-top: 50%;
  }
}
.fifty-fifty-modal .modal-body {
  border: 1px solid white;
}
.fifty-fifty-modal .carousel--slide .img-fluid {
  height: auto;
}

#portfolioModal .modal-dialog {
  max-width: 725px;
  margin: 1rem 0.5rem;
}
@media (min-width: 576px) {
  #portfolioModal .modal-dialog {
    margin: 1.75rem auto;
  }
}
#portfolioModal .btn-close {
  padding: 0;
  text-decoration: underline;
}
#portfolioModal .btn-pink {
  font-size: 0.85rem;
  background: #bb4a92;
  color: #fff;
  text-decoration: none;
}
#portfolioModal .btn-pink.btn-md {
  padding: 0.5rem 4rem;
  font-size: 1rem;
}
#portfolioModal .btn-pink.btn-lg {
  padding: 0.75rem 4rem;
  font-size: 1.25rem;
}
#portfolioModal .portfolio-block-l {
  background: #e6e1e0 url(/CadyStudios/media/CadyImages/Banners/p1_bundleandsave.jpg) no-repeat top left;
  background-size: cover;
  border-bottom: solid 3px #fff;
}
#portfolioModal .portfolio-block-r {
  border-top: solid 3px #fff;
}
#portfolioModal .portfolio-block-tl {
  padding: 1rem 5rem 12rem 1rem;
}
#portfolioModal .portfolio-block-tl p {
  font-size: 18px;
}
#portfolioModal .portfolio-block-bl {
  padding: 1rem;
}
#portfolioModal .portfolio-block-tr {
  padding: 8rem 1rem 1rem;
  background: #e6e1e0 url(/CadyStudios/media/CadyImages/Banners/p2_portfolioonly.jpg) no-repeat top left;
  border-bottom: solid 3px #fff;
}
#portfolioModal .portfolio-block-br {
  padding: 6rem 1rem 1rem;
  background: #e6e1e0 url(/CadyStudios/media/CadyImages/Banners/p3_return.jpg) no-repeat top left;
  border-top: solid 3px #fff;
}
@media (min-width: 576px) {
  #portfolioModal .portfolio-block-l {
    border-bottom: 0;
    border-right: solid 3px #fff;
  }
  #portfolioModal .portfolio-block-r {
    border-top: 0;
    border-left: solid 3px #fff;
  }
  #portfolioModal .portfolio-block-tl {
    padding-right: 1rem;
  }
}

#yearbookModal .modal-header .fa-exclamation-circle {
  position: absolute;
  font-size: 1.5rem;
  left: 1rem;
}
#yearbookModal .nav-link {
  color: #9b9b9b;
  text-transform: uppercase;
  padding-left: 2rem;
  position: relative;
  text-decoration: none;
}
#yearbookModal .nav-link.active {
  color: #000;
  font-weight: bold;
  border-bottom: solid 2px #000;
}
#yearbookModal .nav-link .fa-circle,
#yearbookModal .nav-link .fa-check-circle {
  position: absolute;
  left: 0.5rem;
  top: 50%;
  margin-top: -8px;
}
#yearbookModal .nav-link .fa-circle {
  color: #dc3545;
}
#yearbookModal .nav-link .fa-check-circle {
  display: none;
}
#yearbookModal .nav-link.selected .fa-circle {
  display: none;
}
#yearbookModal .nav-link.selected .fa-check-circle {
  display: block;
}
#yearbookModal .nav-link.selected.active .fa-check-circle {
  color: #28a745;
}
#yearbookModal .yearbookImages {
  max-height: 50vh;
  overflow-y: auto;
  padding: 0 15px;
}
@media (min-width: 992px) {
  #yearbookModal .yearbookImages {
    max-height: 80vh;
  }
}
#yearbookModal .image-container {
  border: solid 2px #fff;
  padding: 1px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
#yearbookModal .image-container.selected {
  border-color: #0180c5;
}
#yearbookModal .cg-image {
  max-width: 100%;
  max-height: 100%;
}

.dark-mode .fifty-fifty-modal .modal-content {
  color: #fff;
  border-radius: 8px;
}

.full-page-modal {
  background-color: #fff;
}
.full-page-modal .modal-dialog {
  width: 100%;
  height: 100%;
  max-width: unset;
  max-height: unset;
  margin: 0;
}
.full-page-modal .modal-dialog .modal-content {
  border: 0;
  border-radius: 0;
}
.full-page-modal .modal-dialog .modal-header {
  padding: 15px 0;
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: #fff;
}
.full-page-modal .modal-dialog .modal-header .title-left {
  align-self: center;
  font-size: 20px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .full-page-modal .modal-dialog .modal-header .title-left {
    padding-right: 15px;
    border-right: 1px solid #ddd;
    font-size: 24px;
  }
}
@media (min-width: 768px) {
  .full-page-modal .modal-dialog .modal-header .config-text {
    padding-left: 15px;
    align-self: center;
  }
}
.full-page-modal .modal-dialog .modal-header .config-text .sheet-info {
  font-size: 12px;
}
.full-page-modal .modal-dialog .modal-body {
  padding: 15px 0;
}
.full-page-modal .modal-dialog .modal-body .container {
  height: 100%;
}
.full-page-modal.canvas .modal-body .container {
  min-height: calc(100vh - 100px);
}
.full-page-modal.canvas .canvas-editor {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.full-page-modal#yearbookModal .yearbookImages {
  max-height: unset;
}
.full-page-modal.pose-selector-modal.complete .gallery-image:not(.selected) .pose-counter {
  display: none;
}
.full-page-modal.gallery-modal {
  background-color: #000;
}
.full-page-modal.gallery-modal .modal-content {
  background-color: #000;
}
.full-page-modal.gallery-modal .modal-content .modal-header {
  background-color: transparent;
}
.full-page-modal.gallery-modal .modal-content .modal-header .close {
  text-shadow: none;
  opacity: 1;
  color: #fff;
  font-weight: normal;
  font-size: 14px;
  line-height: 1;
  margin-right: 0;
}
.full-page-modal.gallery-modal .modal-content .gallery-image {
  height: 100%;
}
.full-page-modal.gallery-modal .modal-content .gallery-image .image {
  max-height: 80vh;
}
.full-page-modal.gallery-modal .modal-content .gallery-image .pose-title {
  background: none;
  color: #fff;
}

.modal.fullscreen-modal {
  background-color: rgba(0, 0, 0, 0.6);
}
.modal.fullscreen-modal.dark {
  background-color: rgba(0, 0, 0, 0.95);
}
.modal.fullscreen-modal .modal-content {
  background: transparent;
  box-shadow: none;
}
.modal.fullscreen-modal .modal-content,
.modal.fullscreen-modal .modal-header,
.modal.fullscreen-modal .modal-body {
  border-radius: 0;
  border: 0;
}
.modal.fullscreen-modal .modal-header .close::before, .modal.fullscreen-modal .modal-header .close::after {
  background-color: #fff;
}

.dark-mode .full-page-modal {
  background-color: #2a2a2a;
}
.dark-mode .full-page-modal .modal-dialog .modal-content {
  background-color: #2a2a2a;
}
.dark-mode .full-page-modal .modal-dialog .modal-header {
  border-bottom: 1px solid #000;
  background-color: #2a2a2a;
}
.dark-mode .full-page-modal .modal-dialog .modal-header .title-left {
  border-right: 1px solid #000;
}
.dark-mode .full-page-modal .modal-dialog .modal-header .close {
  text-shadow: none;
  color: #fff;
}

.retouching-modal {
  padding: 0 !important;
}
.retouching-modal .modal-dialog {
  margin: 0 !important;
}
.retouching-modal .modal-header {
  border: none;
  border-radius: 0;
  padding: 1.5rem 0.5rem;
  justify-content: center;
  font-weight: 700;
  font-size: 30px;
  position: relative;
}
.retouching-modal .selected-option {
  position: relative;
}
.retouching-modal .selected-option .selected-option-text {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.5rem 1rem;
  color: white;
  background-color: #bb4a92;
  font-weight: bold;
}
.retouching-modal .retouching-header {
  text-align: center;
  margin: 0 auto;
  max-width: 75%;
}
.retouching-modal .retouching-header p {
  font-size: 16px;
}
@media (min-width: 768px) {
  .retouching-modal .retouching-header {
    max-width: 50%;
  }
}
.retouching-modal .retouch-option {
  text-align: center;
  word-wrap: normal;
}
.retouching-modal .retouch-option strong {
  font-size: 14px;
}
.retouching-modal .retouch-option.selected {
  color: #bb4a92;
}
.retouching-modal .retouch-option.selected img {
  outline: 2px solid #bb4a92;
}
@media (min-width: 992px) {
  .retouching-modal .retouch-option strong {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  .portfolio-cart-modal .modal-container {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .portfolio-cart-modal .modal-container {
    width: 960px;
  }
}
@media (min-width: 1200px) {
  .portfolio-cart-modal .modal-container {
    width: 1140px;
  }
}
.portfolio-cart-modal.show {
  align-items: start !important;
}
.portfolio-cart-modal .modal-dialog {
  margin: 0;
  max-width: 800px;
}
@media (min-width: 768px) {
  .portfolio-cart-modal .modal-dialog {
    margin: 5rem;
    margin-left: auto;
    margin-right: 0;
  }
}
.portfolio-cart-modal .modal-content {
  border-top-right-radius: 0;
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.1));
}
.portfolio-cart-modal .modal-content::before {
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  right: 0;
  top: -25px;
  border-width: 0 15px 25px;
  border-color: transparent transparent white;
  border-style: solid;
}
.portfolio-cart-modal .modal-header .close {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0.25rem;
  font-size: 0.875rem;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='%23000'%3e%3cpath%20d='M.293.293a1%201%200%200%201%201.414%200L8%206.586%2014.293.293a1%201%200%201%201%201.414%201.414L9.414%208l6.293%206.293a1%201%200%200%201-1.414%201.414L8%209.414l-6.293%206.293a1%201%200%200%201-1.414-1.414L6.586%208%20.293%201.707a1%201%200%200%201%200-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  opacity: 1;
  z-index: 1;
}
.portfolio-cart-modal ol {
  list-style: none;
  counter-reset: item;
}
.portfolio-cart-modal ol li {
  counter-increment: item;
  position: relative;
  margin-block-end: 0.5rem;
}
.portfolio-cart-modal ol li::before {
  position: absolute;
  content: counter(item);
  width: 1.75rem;
  height: 1.75rem;
  font-size: 1.2rem;
  border-radius: 100%;
  color: white;
  background: linear-gradient(90deg, #514c9a 0%, #ad4091 100%);
  font-weight: bold;
  text-align: center;
  left: -2.35rem;
  top: -0.2rem;
}

.portfolio-cart-modal .status-messages,
.portfolio-status .status-messages {
  display: none;
}
.portfolio-cart-modal[data-status="0"] .status-message-0,
.portfolio-status[data-status="0"] .status-message-0 {
  display: block;
}
.portfolio-cart-modal[data-status="1"] .status-message-1,
.portfolio-status[data-status="1"] .status-message-1 {
  display: block;
}
.portfolio-cart-modal[data-status="2"] .status-message-2,
.portfolio-status[data-status="2"] .status-message-2 {
  display: block;
}
.portfolio-cart-modal[data-status="3"] .status-message-3,
.portfolio-status[data-status="3"] .status-message-3 {
  display: block;
}
.portfolio-cart-modal[data-status="4"] .status-message-4,
.portfolio-status[data-status="4"] .status-message-4 {
  display: block;
}

.session-navigation {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 9;
  background: #fff;
}
.session-navigation.sticky {
  position: fixed;
  width: 100%;
  left: 0;
}
.session-navigation .title {
  background: #000;
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  padding: 0.5em 0;
  text-align: center;
}
@media (min-width: 768px) {
  .session-navigation .title {
    text-align: left;
  }
}
.session-navigation h3 {
  font-size: 1.5em;
  font-weight: 600;
  margin-top: 0.25em;
}
.session-navigation .navigation {
  border-bottom: 1px solid #ddd;
  cursor: pointer;
}
.session-navigation .navigation .current-step.collapsed .fa-chevron-up {
  transform: rotate(-180deg);
}
.session-navigation .navigation .booking-nav {
  position: absolute;
  background-color: #fff;
  border: 1px solid #ddd;
  width: 100%;
  margin-top: 1px;
  left: 0;
  z-index: 1;
}
.session-navigation .navigation .booking-nav .booking-step {
  position: relative;
  display: flex;
  align-items: center;
  color: #929292;
  padding: 1rem;
  font-weight: bold;
  text-decoration: none;
}
.session-navigation .navigation .booking-nav .booking-step .f-2x {
  font-size: 1.5rem;
}
.session-navigation .navigation .booking-nav .booking-step svg.dash {
  position: absolute;
  left: 27px;
  bottom: 38px;
}
.session-navigation .navigation .booking-nav .booking-step svg.dash line {
  stroke: #929292;
  stroke-width: 3;
}
.session-navigation .navigation .booking-nav .booking-step span {
  text-transform: uppercase;
}
.session-navigation .navigation .booking-nav .booking-step.current, .session-navigation .navigation .booking-nav .booking-step.completed {
  color: #000;
}
.session-navigation .navigation .booking-nav .booking-step.current svg.dash line, .session-navigation .navigation .booking-nav .booking-step.completed svg.dash line {
  stroke: #000;
}
.session-navigation .navigation .booking-nav .booking-step.current:hover span, .session-navigation .navigation .booking-nav .booking-step.current:focus span, .session-navigation .navigation .booking-nav .booking-step.current:active span, .session-navigation .navigation .booking-nav .booking-step.completed:hover span, .session-navigation .navigation .booking-nav .booking-step.completed:focus span, .session-navigation .navigation .booking-nav .booking-step.completed:active span {
  text-decoration: underline;
}
.session-navigation .navigation .booking-nav .booking-step.completed .fa-circle {
  display: none;
}
.session-navigation .navigation .booking-nav .booking-step.completed .fa-check-circle {
  display: block;
}
.session-navigation .navigation .booking-nav .booking-step.inactive {
  pointer-events: none;
}
.session-navigation .navigation .booking-nav .booking-step.current .fa-circle, .session-navigation .navigation .booking-nav .booking-step.inactive .fa-circle {
  display: block;
}
.session-navigation .navigation .booking-nav .booking-step.current .fa-check-circle, .session-navigation .navigation .booking-nav .booking-step.inactive .fa-check-circle {
  display: none;
}
.session-navigation .navigation .booking-nav .booking-step:first-child svg.dash {
  display: none;
}

#top-nav .navbar-brand {
  margin: auto;
}
#top-nav .navbar-brand img {
  height: 36px;
  max-width: 100%;
}

.navbar {
  margin: 0 auto;
}
.navbar .navbar-image {
  max-height: 50px;
  width: auto;
}

nav.navbar a {
  text-decoration: none;
}

@media (min-width: 992px) {
  #top-nav .navbar-brand {
    margin: unset;
  }

  .navbar {
    max-width: 1140px;
  }
}
.schedule-header h3,
.schedule-header p {
  margin-bottom: 0;
}
.schedule-header p {
  font-weight: 500;
  line-height: 1.6;
}
.schedule-header h3 {
  line-height: 1.2;
  margin-top: 0rem;
}
@media (min-width: 768px) {
  .schedule-header h3 {
    margin-top: 0;
  }
}
.schedule-header p {
  clear: both;
  font-weight: 400;
}
.schedule-header p .recommendation {
  color: #bb4a92;
}
@media (min-width: 768px) {
  .schedule-header p {
    clear: none;
  }
}

.schedule-bottom-bar {
  padding: 1rem;
}
.schedule-bottom-bar .figure {
  position: relative;
  margin: 0;
  text-align: center;
}
.schedule-bottom-bar .figure img {
  padding: 0 5px;
  margin-bottom: 4px;
}
.schedule-bottom-bar .figure .icon-link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-decoration: none;
}
.schedule-bottom-bar .figure .figure-caption {
  color: #000;
  text-align: center;
}
.schedule-bottom-bar.shadowed {
  box-shadow: 0px -5px 12px -5px rgba(0, 0, 0, 0.18);
  padding: 1rem 0 0.5rem;
}

.chat-bottom-bar {
  padding: 1rem;
}
.chat-bottom-bar .btn {
  padding: 15px 50px;
  border-radius: 25px;
}

.cart.icon {
  position: relative;
}
.cart.icon .cart-items {
  position: absolute;
  top: -2px;
  right: -8px;
  font-size: 8px;
  color: white;
  background: #bb4a92;
  border-radius: 50%;
  padding: 1px 0;
  letter-spacing: -0.2px;
  width: 14px;
  height: 14px;
  text-align: center;
}
@media (min-width: 992px) {
  .cart.icon {
    padding-top: 0.4rem;
  }
  .cart.icon .cart-items {
    top: 2px;
  }
}
.cart .dropdown-toggle {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  cursor: pointer;
}
.cart .dropdown-toggle:after {
  display: none;
}
.cart.dropdown-menu {
  position: fixed;
  height: 100vh;
  width: 300px;
  top: 0;
  right: 0;
  left: auto;
  border-radius: 0;
  padding: 0;
}
.cart.dropdown-menu > .col-12 {
  height: 100%;
  position: absolute;
  padding: 50px 15px 60px 15px;
}
.cart.dropdown-menu .fa-times {
  cursor: pointer;
  font-size: 14px;
}
.cart .cart-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 10px 0 15px 0;
  margin: 0 15px;
}
.cart div#cartItems {
  height: 100%;
  overflow-y: auto;
  padding: 15px 15px 15px 0;
  scrollbar-width: thin;
}
.cart div#cartItems > div:last-child {
  border-bottom: none !important;
}
.cart div#cartItems img {
  width: 50px;
}
.cart .progress {
  width: 100%;
}
.cart .progress #total-value {
  padding-right: 1.4rem !important;
}
.cart .cart-subtotal {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 15px;
}

.carousel {
  display: none;
}
.carousel.tns-carousel .carousel--slide {
  position: relative;
}
.carousel .carousel--slide {
  text-align: center;
}
.carousel .carousel--slide .slide--caption {
  color: #222;
  padding: 0.25rem 1rem;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.75);
  left: 1rem;
  top: 1rem;
  font-weight: bold;
  font-size: 1rem;
  text-transform: uppercase;
}
.carousel .carousel--slide .zoom {
  position: absolute;
  right: 8px;
  top: 8px;
}

.tns-nav {
  text-align: center;
  margin: 10px 0;
}
.tns-nav [aria-controls] {
  width: 6px;
  height: 6px;
  padding: 0;
  margin: 0 4px;
  border-radius: 50%;
  background: #ddd;
  border: 0;
}
.tns-nav [aria-controls].tns-nav-active {
  background: #333;
}

.absolute-pagination .tns-nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

.dark-mode .tns-nav [aria-controls] {
  background: #929292;
}
.dark-mode .tns-nav [aria-controls].tns-nav-active {
  background: #fff;
}

.tns-outer {
  position: relative;
}
.tns-outer [data-action] {
  display: none;
}
.tns-outer [data-controls] {
  color: rgba(0, 0, 0, 0.3);
  border: 0;
  padding: 0;
  font-size: 30px;
  line-height: 1;
  position: absolute;
  bottom: 5em;
  margin-top: -18px;
  z-index: 1;
  background: transparent;
  stroke: black;
}
.tns-outer [data-controls=prev] {
  left: 40%;
}
.tns-outer [data-controls=next] {
  right: 40%;
}
.tns-outer .carousel {
  display: block;
}

.tns-controls {
  outline: 0;
}

.center-controls .tns-outer [data-controls] {
  top: 50%;
  margin-top: -30px;
  bottom: unset;
}
.center-controls .tns-outer [data-controls=prev] {
  left: 0;
}
.center-controls .tns-outer [data-controls=next] {
  right: 0;
}

.no-js .carousel {
  display: block;
  overflow-x: auto;
}
.no-js .carousel > div {
  float: none;
}

.slider-container .carousel--slide .slide--caption {
  top: 2rem;
}
.slider-container .slider-nav {
  position: absolute;
  bottom: 20px;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
}
.slider-container .slider-nav .nav-link {
  font-weight: 500;
}
.slider-container .slider-nav .nav-link span {
  display: none;
  font-weight: 400;
  padding-left: 5px;
}
.slider-container .slider-nav .nav-link.active span {
  display: inline;
}

.gallery-slider .tns-outer, .gallery-slider .tns-ovh, .gallery-slider .tns-inner, .gallery-slider .tns-slider, .gallery-slider .tns-item {
  height: 100%;
}
.gallery-slider .tns-normal, .gallery-slider .tns-fadeOut {
  z-index: 0;
}

@media (min-width: 768px) {
  .center-controls .tns-outer [data-controls=prev] {
    left: 0.4em;
  }
  .center-controls .tns-outer [data-controls=next] {
    right: 0.4em;
  }

  .slider-container {
    height: 100%;
  }
  .slider-container .carousel .carousel--slide .slide--caption {
    left: 1.5rem;
  }

  .gallery-slider .tns-slider .tns-item img {
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
  }
}
.gray-segment {
  background-color: #000;
  color: white;
  text-align: center;
  padding: 3rem 0;
}
.gray-segment .gray-segment--header {
  margin-bottom: 1rem;
  color: white;
  font-size: 32px;
  font-family: "Montserrat", "Roboto", Arial, Verdana, sans-serif;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 992px) {
  .gray-segment .gray-segment--header {
    font-size: 48px;
  }
}
.gray-segment .gray-segment--body {
  font-size: 1rem;
}

.hero {
  margin: 0;
  position: relative;
  background: none;
  padding: 5rem 0;
}
.hero.jumbotron {
  border-radius: unset;
}
.hero .hero--background {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.hero .hero--background.mobile-image {
  object-fit: contain;
}
.hero .hero--content {
  position: relative;
}
.hero .hero--content .offer-note {
  font-size: 11px;
}
.hero .hero--content .hero-title h1 {
  font-size: 48px;
  line-height: 1;
  margin-bottom: 0;
  color: #bb4a92;
}
.hero .hero--content h2 {
  line-height: 1.2;
}
.hero .hero--content h3 {
  line-height: 1.33;
}
.hero .hero--content h5 {
  color: #bb4a92;
}
.hero .hero--header {
  word-spacing: 100vw;
  text-align: left;
  margin-bottom: 2rem;
  line-height: 1.2;
}
.hero .hero--title {
  padding-top: 75vw;
}
.hero .hero--title h1 {
  font-family: "Montserrat", "Roboto", Arial, Verdana, sans-serif;
  font-size: 36px;
  line-height: 1;
}
.hero .hero--panel {
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.5;
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.5);
}
.hero .hero--panel label {
  color: #2a2a2a;
  font-size: 14px;
  font-weight: bold;
}
.hero .hero--panel a:not(.nav-link) {
  display: inline-block;
  text-decoration: underline;
}
.hero .hero--panel button {
  font-size: 1.125rem;
}
.hero .hero--panel button.btn-link {
  vertical-align: baseline;
  text-decoration: underline;
}
.hero .hero--panel *:not(:last-child) {
  margin-bottom: 1rem;
}
.hero .search-title {
  font-weight: bold;
  font-size: 2em;
  text-transform: uppercase;
  background: rgba(22, 22, 22, 0.75);
  padding: 20px;
  color: white;
  text-align: center;
}
.hero.hero-two-column {
  padding: 0;
}
.hero.hero-two-column .hero--left {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
  padding: 2rem 4rem;
}
.hero.hero-two-column .hero--left .hero--background {
  z-index: 0;
}
.hero.hero-two-column .hero--left .hero--background.rounded {
  border-radius: 1rem;
}
.hero.hero-two-column .hero--left .hero--content h2 {
  font-size: 32px;
}
.hero.hero-two-column .hero--right {
  background-color: #faf8f7;
  border-radius: 1rem;
  padding: 1.5rem;
}
.hero.hero-two-column .hero--right h3 {
  font-size: 24px;
}
.hero.hero-two-column .hero--right .steps .step {
  padding-left: 20px;
  position: relative;
  padding-bottom: 1.5rem;
}
.hero.hero-two-column .hero--right .steps .step::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
}
.hero.hero-two-column .hero--right .steps .step::after {
  content: "";
  position: absolute;
  top: 28px;
  left: 3px;
  border-left: 3px dotted #929292;
  height: 14px;
}
.hero.hero-two-column .hero--right .steps .step:last-child::after {
  content: none;
}

@media (min-width: 768px) {
  .hero.jumbotron {
    padding: 8rem 2rem;
  }
  .hero .hero--header {
    word-spacing: unset;
  }
  .hero .hero--panel {
    padding: 2rem 1.5rem;
    background-color: rgba(255, 255, 255, 0.5);
  }
  .hero .hero--panel button.btn-link {
    vertical-align: baseline;
    text-decoration: underline;
  }
  .hero .hero--panel *:not(:last-child) {
    margin-bottom: 1rem;
  }
  .hero .hero--title {
    padding-top: 20vw;
  }
  .hero .hero--title h1 {
    font-size: 72px;
    font-weight: 900;
  }
  .hero.hero-two-column .hero--left {
    padding: 5rem;
    height: 100%;
  }
  .hero.hero-two-column .hero--right {
    background-color: #faf8f7;
    padding: 2rem;
    height: 100%;
  }
}
#quick-faq div[data-toggle=collapse] {
  font-size: 1.125rem;
  margin: 1rem 0;
  align-items: center;
  cursor: pointer;
}
#quick-faq div[data-toggle=collapse] .fa-minus-circle {
  display: block;
}
#quick-faq div[data-toggle=collapse] .fa-plus-circle {
  display: none;
}
#quick-faq div[data-toggle=collapse].collapsed .fa-minus-circle {
  display: none;
}
#quick-faq div[data-toggle=collapse].collapsed .fa-plus-circle {
  display: block;
}

.scene-type .scenetype-group {
  font-size: 18px;
  line-height: 1.5;
  position: sticky;
  top: 5rem;
  background-color: #fff;
  z-index: 1;
  white-space: nowrap;
}
.scene-type .scenetype-group h3 {
  font-size: 24px;
  line-height: 1.25;
  margin: 0;
  font-weight: 700;
}
.scene-type .scenetype-group .incomplete-message {
  display: none;
}
.scene-type .scenetype-group .incomplete-message span {
  color: #bb4a92;
  font-weight: 700;
}
.scene-type .scenetype-group .complete-message {
  display: none;
  color: #bb4a92;
  position: relative;
  padding-left: 20px;
}
.scene-type .scenetype-group .complete-message::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 6px;
  border-color: #bb4a92;
}
.scene-type .scenetype-subgroup h4 {
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  font-weight: 700;
}
.scene-type.incomplete .incomplete-message {
  display: block;
}
.scene-type.complete .complete-message {
  display: block;
}

.select-scenes-container .scene {
  width: 100%;
}
.select-scenes-container .scene.card {
  border: none;
  margin-bottom: 1rem;
  min-height: 200px;
}
.select-scenes-container .scene.card .learnMore {
  text-decoration: underline;
  font-size: 14px;
}
.select-scenes-container .scene.card .ribbon {
  font-size: 0.75rem;
  background-color: #000;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  display: none;
  padding: 0.25rem 0.75rem;
}
.select-scenes-container .scene.card.studio .ribbon {
  display: block;
}
.select-scenes-container .scene.card .card-title {
  font-size: 1.125em;
  font-weight: bold;
  text-transform: inherit;
  margin-bottom: 0;
}
.select-scenes-container .scene.card .card-subtitle {
  margin: 0;
}
.select-scenes-container .scene.card .card-text-right {
  font-size: 12px;
  text-align: right;
  max-width: 25%;
}
.select-scenes-container .scene.card .learnMore {
  text-decoration: none;
}
.select-scenes-container .scene.card .learnMore span {
  font-weight: normal;
  text-decoration: underline;
}
.select-scenes-container .scene.card .scene-thumbnail {
  position: relative;
}
.select-scenes-container .scene.card .image-box {
  position: relative;
  margin: 0;
}
.select-scenes-container .scene.card .image-box img {
  width: 100%;
}
.select-scenes-container .scene.card .card-block {
  background-color: white;
  padding: 1.25rem;
  position: relative;
}
.select-scenes-container .scene.card .overlay {
  color: #929292;
  cursor: pointer;
}
.select-scenes-container .scene.card .scene-select {
  display: block;
}
.select-scenes-container .scene.card .scene-selected {
  display: none;
}
.select-scenes-container .scene.card.selected .overlay {
  color: #000;
}
.select-scenes-container .scene.card.selected .scene-select {
  display: none;
}
.select-scenes-container .scene.card.selected .scene-selected {
  display: block;
}
.select-scenes-container .scene.card.required .overlay {
  cursor: not-allowed;
}
.select-scenes-container .scene.card.required .scene-select {
  display: none;
}
.select-scenes-container .scene.card.required .scene-selected {
  display: block;
}
.select-scenes-container .scene.card .card-block {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  background-color: white;
  padding: 0;
  border-radius: 40px;
  background-color: #FAF8F7;
}
.select-scenes-container .scene.card .card-block [data-toggle=collapse] {
  cursor: pointer;
}
.select-scenes-container .scene.card .card-block [data-toggle=collapse] [data-action=collapse] {
  display: block;
}
.select-scenes-container .scene.card .card-block [data-toggle=collapse] [data-action=expand] {
  display: none;
}
.select-scenes-container .scene.card .card-block [data-toggle=collapse].collapsed [data-action=collapse] {
  display: none;
}
.select-scenes-container .scene.card .card-block [data-toggle=collapse].collapsed [data-action=expand] {
  display: block;
}
.select-scenes-container .scene.card .card-block .card-head {
  padding: 0.5rem 1rem;
  background: #fff;
  border-radius: 40px;
}
.select-scenes-container .scene.card .card-block .card-detail {
  padding: 1rem;
}
.select-scenes-container .scene.card .tns-outer [data-controls] {
  margin-top: -60px;
}
.select-scenes-container .scene.card .tns-nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6.5rem;
}
.select-scenes-container .scene.card .tns-nav [aria-controls] {
  width: 6px;
  height: 6px;
  background-color: #929292;
}
.select-scenes-container .scene.card .tns-nav > .tns-nav-active {
  background-color: #fff;
}
.select-scenes-container .scene.card .carousel img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .scene.card {
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 575.9px) {
  .scene-thumbnail {
    margin-left: -15px;
    margin-right: -15px;
  }
}
#shootType {
  display: none;
}

#search-results #studentRecords {
  max-height: 300px;
  min-height: 150px;
  overflow-y: auto;
  border: 1px solid #ddd;
  padding: 1rem;
}
#search-results .result {
  padding-bottom: 1rem;
}
#search-results .result .student-school {
  font-size: 12px;
}
#search-results .result .select-button {
  padding: 5px 10px;
}
#search-results .result:last-child {
  padding-bottom: 0;
}

.filter-select {
  padding-right: 15px;
  flex-grow: 1;
}
.filter-select:last-child {
  padding-right: 0px;
}
.filter-select + .filter-select {
  padding-left: 15px;
}
@media (min-width: 992px) {
  .filter-select {
    flex-grow: unset;
  }
}
.filter-select .btn {
  width: 100%;
  border: 1px solid #ddd;
}
@media (min-width: 992px) {
  .filter-select .btn {
    min-width: 150px;
    max-width: 175px;
  }
}
.filter-select .btn.collapsed .fa-chevron-up {
  transform: rotate(-180deg);
}
.filter-select .btn:active, .filter-select .btn:hover, .filter-select .btn:focus {
  background-color: white;
  color: #000;
}
.filter-select .filter-list {
  position: absolute;
  background-color: #fff;
  border: 1px solid #ddd;
  width: 275px;
  z-index: 2;
  padding: 15px 15px 5px 15px;
}
.filter-select .filter-list .filter-item {
  text-decoration: none;
}
.filter-select .filter-list .filter-buttons .btn {
  max-width: 100%;
  padding: 10px 0;
}
.filter-select .filter-list .filter-buttons .btn.btn-primary:hover {
  background: #000;
  color: #e2e0e0;
}
.filter-select .filter-list .filter-buttons .btn.btn-o {
  border: none;
}
.filter-select .filter-list .filter-buttons .btn.btn-o:hover {
  color: #929292;
}
.filter-select + .filter-select .filter-list {
  right: 0;
}
@media (min-width: 992px) {
  .filter-select + .filter-select .filter-list {
    right: unset;
  }
}

.product.card {
  position: relative;
  overflow: hidden;
  line-height: 1.5;
  height: 100%;
}
.product.card .product-images {
  position: relative;
  overflow: hidden;
}
.product.card .product-images .carousel {
  height: 100%;
}
.product.card .flex-grow-1 {
  flex-grow: 1;
}
.product.card .product-pills {
  border: 0;
}
.product.card .product-pills .nav-link {
  border-bottom: 1px solid #ddd;
  color: #929292;
  padding: 0.5rem 1rem;
  font-size: 14px;
  font-weight: 700;
}
.product.card .product-pills .nav-link.active {
  border-bottom: 2px solid #000;
  background-color: #fff;
  color: #000;
}
.product.card .card-block {
  height: 100%;
  padding: 10px 25px 10px 25px;
}
.product.card .card-block .card-title {
  display: flex;
  justify-content: space-between;
}
.product.card .card-block .card-title .product-price span:not(.text-pink) {
  color: #929292;
  font-size: 0.75rem;
  font-weight: normal;
}
.product.card .card-block .card-title .product-price span:not(.text-pink).retail-price {
  text-decoration: line-through;
}
.product.card .card-block .card-title .package-level {
  margin-right: -25px;
  text-transform: capitalize;
  color: white;
  font-size: 12px;
  width: 125px;
  height: 24px;
  padding: 3px 0;
  background: #696b6f;
}
.product.card .card-block .card-text .description {
  font-size: 12px;
  color: #555555;
}
.product.card .card-block .card-text .tab-pane .features-header {
  display: none;
}
.product.card .tns-item .img-fluid {
  width: 100%;
}
.product.card.featured .card-block {
  height: auto;
}
@media (min-width: 992px) {
  .product.card.featured .card-block {
    padding-left: 50px;
    padding-right: 50px;
  }
  .product.card.featured .card-block .card-title {
    flex-direction: column-reverse;
    margin-left: -50px;
    margin-right: -50px;
    border: none;
  }
  .product.card.featured .card-block .card-title .title-left {
    padding: 30px 50px 0;
  }
  .product.card.featured .card-block .card-title .title-left .product-name {
    font-size: 24px;
  }
  .product.card.featured .card-block .card-title .title-left .product-price {
    font-size: 20px;
  }
  .product.card.featured .card-block .card-title .package-level {
    width: 100%;
    margin-top: -10px;
    height: 32px;
    padding: 8px 0;
  }
  .product.card.featured .card-block .product-pills {
    display: none;
  }
  .product.card.featured .card-block .tab-content > .tab-pane {
    display: block;
  }
  .product.card.featured .card-block .card-text .tab-pane .features-header {
    display: block;
  }
}
.product.card.featured .card-block.custom-package {
  padding-bottom: 25px;
}
@media (min-width: 992px) {
  .product.card.featured .card-block.custom-package {
    padding-left: 25px;
    padding-right: 25px;
  }
  .product.card.featured .card-block.custom-package .card-title {
    margin-left: 0;
    margin-right: 0;
  }
  .product.card.featured .card-block.custom-package .card-title .title-left {
    padding: 0;
  }
}
@media (min-width: 992px) {
  .product.card.featured .tns-outer,
.product.card.featured .tns-ovh,
.product.card.featured .tns-inner,
.product.card.featured .tns-slider,
.product.card.featured .tns-item {
    height: 100%;
  }
  .product.card.featured .tns-item {
    vertical-align: middle;
  }
  .product.card.featured .tns-nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
.product.card.banner {
  min-height: 600px;
  height: calc(100vh - 160px);
  padding: 80px;
  text-align: left;
  justify-content: flex-end;
  border: 0;
  border-radius: 0;
}
.product.card.banner .card-block {
  height: unset;
}
.product.card.banner .card-background {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.product.card.banner .card-background img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.product.card.banner .card-title .product-name {
  font-size: 40px;
  font-weight: 500;
}
.product.card.banner .card-btn {
  text-align: left;
}
.product.card .card-btn {
  padding: 0 25px 25px 25px;
}
.product.card .add-product-to-cart .select-product {
  display: block;
}
.product.card .add-product-to-cart .selected-product {
  display: none;
}
.product.card .add-product-to-cart .product-price {
  font-weight: normal;
}
.product.card .remove-product-from-cart,
.product.card .remove-all-qty {
  padding: 10px 15px;
  border: 0;
}
.product.card .cart-action {
  display: none;
}
.product.card .cart-action .cart-units {
  border: 1px solid #000;
  border-radius: 40px;
}
.product.card .cart-action .btn-link {
  padding: 10px 15px;
  text-decoration: none;
}
.product.card .cart-action span {
  padding: 10px 15px;
}
.product.card .cart-action input {
  background-color: transparent;
  border: none;
  color: #000;
  text-align: center;
}
.product.card.added .add-product-to-cart.btn-block, .product.card.selected .add-product-to-cart.btn-block {
  color: white;
  border-color: #bb4a92;
  background: #bb4a92;
}
.product.card.added .add-product-to-cart:hover, .product.card.added .add-product-to-cart:active, .product.card.added .add-product-to-cart:focus, .product.card.selected .add-product-to-cart:hover, .product.card.selected .add-product-to-cart:active, .product.card.selected .add-product-to-cart:focus {
  color: #e2e0e0;
}
.product.card.added .add-product-to-cart .select-product, .product.card.selected .add-product-to-cart .select-product {
  display: none;
}
.product.card.added .add-product-to-cart .selected-product, .product.card.selected .add-product-to-cart .selected-product {
  display: block;
}
.product.card.selected .cart-action {
  display: flex;
}
.product.card.selected .cart-units {
  border: 1px solid #bb4a92;
}
.product.card.selected .cart-action + .add-product-to-cart {
  display: none;
}

.product.card .card-text .features-list .features-header,
.gallery-image .features-list .features-header {
  font-size: 14px;
}
.product.card .card-text .features-list .features-item,
.gallery-image .features-list .features-item {
  font-size: 12px;
  padding-top: 4px;
  padding-bottom: 4px;
  color: #555555;
}
.product.card .card-text .features-list .features-item > div,
.gallery-image .features-list .features-item > div {
  overflow: hidden;
}
.product.card .card-text .features-list .features-item.unavailable,
.gallery-image .features-list .features-item.unavailable {
  color: #929292;
  text-decoration: line-through;
}
.product.card .card-text .features-list .features-item img,
.gallery-image .features-list .features-item img {
  padding-right: 10px;
}

.gallery-image .features-list {
  min-width: 100px;
}

.senior-products .product.card .features-item,
.gallery-image .features-item {
  padding-left: 24px;
  position: relative;
}
.senior-products .product.card .features-item img,
.gallery-image .features-item img {
  position: absolute;
  top: 12px;
  left: 0;
  max-height: 16px;
  max-height: 16px;
  transform: translateY(-50%);
}

.senior-products .product.card .card-title {
  border-bottom: 0;
}
.senior-products.modal-body {
  padding: 0;
  border: 0;
}
.senior-products.modal-body .product.card {
  border: 0;
}
.senior-products.modal-body .product.card .card-block {
  padding: 1em;
}
@media (min-width: 992px) {
  .senior-products.modal-body .product.card .card-block {
    padding: 2em 1.5em;
  }
}
.senior-products.modal-body .product.card .card-block .card-title .product-name {
  color: #bb4a92;
  text-transform: uppercase;
}
.senior-products.modal-body .product.card .card-block .card-title .product-price {
  font-size: 30px;
}
.senior-products.modal-body .product.card .card-block .features-item {
  font-size: 16px;
  font-weight: bold;
}
.senior-products.modal-body .product.card .card-block .features-item img {
  top: 16px;
}
.senior-products.modal-body .product.card .btn-link {
  text-decoration: none;
}
@media (min-width: 992px) {
  .senior-products.modal-body .product.card .tns-outer,
.senior-products.modal-body .product.card .tns-ovh,
.senior-products.modal-body .product.card .tns-inner,
.senior-products.modal-body .product.card .tns-slider,
.senior-products.modal-body .product.card .tns-item {
    height: 100%;
  }
  .senior-products.modal-body .product.card .tns-nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .senior-products.modal-body .product.card .carousel img.img-fluid {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}

.elite-container .senior-products .product.card {
  border-radius: 8px;
}
.elite-container .senior-products .product.card.featured {
  border-radius: 0;
}
.elite-container .senior-products .product.card.selected .cart-units {
  background-color: #bb4a92;
}
.elite-container .senior-products .product.card.selected .cart-units .btn-link,
.elite-container .senior-products .product.card.selected .cart-units span {
  color: #fff;
}
.elite-container .senior-products .product.card.banner {
  min-height: 600px;
  height: calc(100vh - 160px);
  padding: 80px;
  text-align: left;
  justify-content: flex-end;
  border: 0;
  border-radius: 0;
  color: #fff;
}
.elite-container .senior-products .product.card.banner .card-block {
  height: unset;
}
.elite-container .senior-products .product.card.banner .card-background {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.elite-container .senior-products .product.card.banner .card-background img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.elite-container .senior-products .product.card.banner .card-title .product-name {
  font-size: 40px;
  font-weight: 500;
}
.elite-container .senior-products .product.card.banner .card-btn {
  text-align: left;
}
.elite-container .product.card .card-text .features-list .features-item.unavailable,
.elite-container .gallery-image .features-list .features-item.unavailable {
  color: #7f7f7f;
}
.elite-container .product.card.retouching-options {
  background: none;
}
.elite-container .config-sheets .product.card {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #000;
}
.elite-container .config-sheets .product.card .card-block {
  padding: 16px;
}
.elite-container .config-sheets .product.card .product-name {
  font-size: 18px;
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.elite-container .config-sheets .product.card .product-quantity {
  font-weight: 500;
  color: #929292;
}
.elite-container .config-sheets .product.card .btn-filter-photos {
  pointer-events: none;
}
.elite-container .config-sheets .product.card .btn-filter-photos .select-product {
  display: block;
}
.elite-container .config-sheets .product.card .btn-filter-photos .selected-product {
  display: none;
}
.elite-container .config-sheets .product.card.selected .btn-filter-photos {
  pointer-events: unset;
}
.elite-container .config-sheets .product.card.selected .btn-filter-photos .select-product {
  display: none;
}
.elite-container .config-sheets .product.card.selected .btn-filter-photos .selected-product {
  display: block;
}
.elite-container .products-list-view {
  border-radius: 0 0 8px 8px;
  padding: 12px 16px;
  background-color: #f0eeed;
}
.elite-container .product.card.list-view {
  border: 0;
  background-color: #f0eeed;
}
.elite-container .product.card.list-view .card-block {
  padding: 4px 16px;
}
.elite-container .product.card.list-view .product-name {
  font-weight: 500;
}
.elite-container .product.card.list-view .cart-action .cart-units {
  border: 0;
  background-color: #e2e0e0;
}
.elite-container .product.card.list-view .cart-action input[type=text].form-control,
.elite-container .product.card.list-view .cart-action .btn-link {
  line-height: 1.5;
  padding: 4px 10px;
}
.elite-container .product.card.list-view.selected .cart-action .cart-units {
  background-color: #bb4a92;
}
.elite-container.dark-mode .senior-products .product.card {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .senior-products .product.card .features-item {
  color: #fff;
}
.elite-container.dark-mode .senior-products .product.card .product-pills {
  background-color: #000;
  border-radius: 20px;
  line-height: 1.25;
}
.elite-container.dark-mode .senior-products .product.card .product-pills .nav-item {
  padding: 4px;
}
.elite-container.dark-mode .senior-products .product.card .product-pills .nav-link {
  border-bottom: 0;
  color: #fff;
  border-radius: 20px;
  padding: 0.25rem 1rem;
}
.elite-container.dark-mode .senior-products .product.card .product-pills .nav-link.active {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .config-sheets .product.card {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .config-sheets .product.card .btn-filter-photos {
  background-color: #414145;
  border-color: #414145;
  color: #7f7f7f;
}
.elite-container.dark-mode .config-sheets .product.card.selected .product-quantity {
  color: #fff;
}
.elite-container.dark-mode .config-sheets .product.card.selected .btn-filter-photos {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.elite-container.dark-mode .products-list-view {
  background-color: #1d1d1d;
}
.elite-container.dark-mode .product.card.list-view {
  background-color: #1d1d1d;
  color: #fff;
}
.elite-container.dark-mode .product.card.list-view .cart-action .cart-units {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .product.card.list-view .cart-action .cart-units input[type=text].form-control,
.elite-container.dark-mode .product.card.list-view .cart-action .cart-units .btn-link {
  color: #fff;
}

.main-bundle-container .product.card .product-price {
  display: none;
}
.main-bundle-container.custom-package.complete .product.card .product-price {
  display: block;
}

.selectable-cards--card {
  position: relative;
  width: 100%;
  height: 250px;
  cursor: pointer;
}
.selectable-cards--card .selected-banner {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.25rem;
  color: white;
  background: #2A2A2A;
  text-align: center;
  display: none;
}
.selectable-cards--card.active {
  box-shadow: 0 0 0 2px #2A2A2A inset;
}
.selectable-cards--card.active .selected-banner {
  display: block;
}
.selectable-cards--card.image-wrapper {
  position: relative;
}
.selectable-cards--card.image-wrapper img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  object-fit: cover;
}
.selectable-cards--card.image-wrapper .img-background {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background-size: cover;
  z-index: -1;
}

.scene-upgrade-table {
  margin-bottom: 0;
}
.scene-upgrade-table td,
.scene-upgrade-table th {
  border-top: none;
  border-bottom: 5px solid #faf8f7;
  background-color: #fff;
}
.scene-upgrade-table tbody tr td {
  vertical-align: middle;
  padding: 0.75rem;
}
@media (min-width: 786px) {
  .scene-upgrade-table tbody tr td {
    padding: 1rem;
  }
}
.scene-upgrade-table tbody tr td label {
  display: block;
  cursor: pointer;
  margin-bottom: 0;
}
.scene-upgrade-table tbody tr td small {
  font-size: 12px;
}
.scene-upgrade-table tbody tr td.packagename {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
}
.scene-upgrade-table tbody tr td.packagename p {
  margin: 0;
}
.scene-upgrade-table tbody tr td.packagename .elite {
  font-size: 32px;
}
.scene-upgrade-table tbody tr td.packagename small {
  letter-spacing: 0.5px;
}
.scene-upgrade-table tbody tr td.packagename p {
  font-weight: bold;
}
.scene-upgrade-table tbody tr td.packagename small {
  display: block;
}
.scene-upgrade-table tbody tr td.packagename small:last-child {
  margin-top: 10px;
  color: #bb4a92;
}
.scene-upgrade-table tbody tr td.packagename .elite + small {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
}
.scene-upgrade-table tbody tr td.price {
  font-size: 18px;
  line-height: 1.5;
  text-align: right;
  font-weight: bold;
}
.scene-upgrade-table tbody tr td.price small {
  display: block;
  color: #555555;
}
.scene-upgrade-table tbody tr td .select-box {
  padding-right: 0;
}
.scene-upgrade-table tbody tr td .select-box .checkmark {
  border: 2px solid #bb4a92;
  border-radius: 0;
  background: #fff;
  border-radius: 50%;
}
.scene-upgrade-table tbody tr td .select-box input[type=radio]:checked ~ .checkmark {
  background-color: #bb4a92;
}
.scene-upgrade-table tbody tr td .select-box small {
  display: block;
  color: white;
  font-size: 10px;
  font-weight: normal;
}
.scene-upgrade-table tbody tr td .current {
  font-size: 14px;
  background-color: #929292;
  color: white;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  padding: 5px 10px;
}
.scene-upgrade-table tbody tr.selection {
  display: none;
  width: 100%;
}
.scene-upgrade-table tbody tr.selection td {
  border-bottom: 0;
  padding: 0;
}
.scene-upgrade-table tbody tr.selection.current {
  display: table-row;
}
.scene-upgrade-table tbody tr.current td .checkmark {
  border-color: #555555;
}
.scene-upgrade-table tbody tr.current td input[type=radio]:checked ~ .checkmark {
  background-color: #555555;
}
.scene-upgrade-table tbody tr.current td.packagename small:last-child {
  color: #555555;
}
.scene-upgrade-table tbody tr:last-child td {
  border-bottom: none;
}

.buttons-table tbody, .buttons-table td {
  border: 0;
}

.session-upgrade-table {
  border: 0;
}
.session-upgrade-table:first-child {
  margin-bottom: 0;
}
.session-upgrade-table td,
.session-upgrade-table th {
  border: solid 2px #faf8f7;
  width: 50%;
  padding: 0.5rem;
  background-color: #fff;
}
.session-upgrade-table td:first-child,
.session-upgrade-table th:first-child {
  border-right-width: 5px;
}
.session-upgrade-table thead th {
  border-bottom-width: 0;
  border-left-width: 0;
  border-top-width: 0;
  background-color: #000;
  color: #fff;
}
.session-upgrade-table thead th.packagename {
  padding: 0.5rem;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
}
.session-upgrade-table thead th.packagename p {
  margin: 0;
}
.session-upgrade-table thead th.packagename .elite {
  font-size: 32px;
}
.session-upgrade-table thead th.packagename small {
  letter-spacing: 0.5px;
}
.session-upgrade-table thead th.packagename p.traditional {
  word-spacing: 100vw;
}
.session-upgrade-table thead th.packagename .elite + small {
  display: block;
}
.session-upgrade-table thead th.packagename p {
  font-weight: bold;
}
.session-upgrade-table thead th.packagename small {
  font-size: 16px;
  font-weight: 500;
}
.session-upgrade-table thead th.packagename small:last-child {
  font-weight: 700;
}
.session-upgrade-table thead th.current {
  padding: 0.25rem;
  background-color: #929292;
  font-size: 12px;
  text-transform: uppercase;
}
.session-upgrade-table thead th.upgrade {
  padding: 0.25rem;
  background-color: #bb4a92;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
}
.session-upgrade-table tr th.price {
  border-top: solid 1px #929292;
  border-bottom: solid 1px #929292;
  font-size: 24px;
  vertical-align: middle;
}
.session-upgrade-table tr th.price small {
  font-size: 12px;
  color: #929292;
  display: block;
}
.session-upgrade-table tr td dl {
  margin: 0;
}
.session-upgrade-table tr td dt {
  color: #929292;
  font-size: 12px;
  font-weight: normal;
}
.session-upgrade-table tr td dd {
  font-size: 18px;
  font-weight: 300;
  margin: 4px 0 0;
  font-weight: bold;
}
.session-upgrade-table tfoot tr td .btn {
  padding: 10px 25px;
}

.upgrade-section {
  position: relative;
  padding: 10rem 0 2rem;
}
@media (min-width: 768px) {
  .upgrade-section {
    padding: 12rem 0 5rem;
  }
}
.upgrade-section .section-background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: top;
}
@media (min-width: 768px) {
  .upgrade-section .section-background img {
    min-height: 500px;
  }
}
.upgrade-section .section-background .bg-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(transparent 50px, #000 300px, #000);
}
@media (min-width: 768px) {
  .upgrade-section .section-background .bg-gradient {
    background-image: linear-gradient(transparent 100px, #000 500px, #000);
  }
}
.upgrade-section h3 {
  line-height: 1.45;
  margin-bottom: 0;
}
.upgrade-section .ribbon {
  font-size: 14px;
  font-weight: bold;
  background-color: #fff;
  padding: 0.5rem 0.75rem;
  color: #000;
  text-transform: uppercase;
}

.gallery-image .image-wrapper,
.config-image .image-wrapper,
.carousel-image .image-wrapper,
.yearbook-image .image-wrapper {
  position: relative;
  cursor: pointer;
  user-select: none;
}
.gallery-image .image-wrapper .image-box,
.config-image .image-wrapper .image-box,
.carousel-image .image-wrapper .image-box,
.yearbook-image .image-wrapper .image-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  background: #f6f6f6;
  align-items: center;
  justify-content: center;
}
.gallery-image .image-wrapper .image-box img,
.config-image .image-wrapper .image-box img,
.carousel-image .image-wrapper .image-box img,
.yearbook-image .image-wrapper .image-box img {
  max-width: 100%;
  max-height: 100%;
}
.gallery-image .image-wrapper:before,
.config-image .image-wrapper:before,
.carousel-image .image-wrapper:before,
.yearbook-image .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.gallery-image .image-container,
.config-image .image-container,
.carousel-image .image-container,
.yearbook-image .image-container {
  position: relative;
  cursor: pointer;
}
.gallery-image .retouching,
.gallery-image .pose-info,
.config-image .retouching,
.config-image .pose-info,
.carousel-image .retouching,
.carousel-image .pose-info,
.yearbook-image .retouching,
.yearbook-image .pose-info {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  padding: 5px;
  font-size: 14px;
  line-height: 1;
  background-color: #bb4a92;
  border-radius: 5px 0 0;
}
.gallery-image .retouching img,
.gallery-image .pose-info img,
.config-image .retouching img,
.config-image .pose-info img,
.carousel-image .retouching img,
.carousel-image .pose-info img,
.yearbook-image .retouching img,
.yearbook-image .pose-info img {
  width: 14px;
  max-width: 100%;
  max-height: 100%;
}
.gallery-image .pose-counter,
.config-image .pose-counter,
.carousel-image .pose-counter,
.yearbook-image .pose-counter {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 14px;
  color: #000;
}
.gallery-image .pose-counter .btn,
.config-image .pose-counter .btn,
.carousel-image .pose-counter .btn,
.yearbook-image .pose-counter .btn {
  text-decoration: none;
  padding: 2px 10px;
  cursor: pointer;
}
.gallery-image .pose-counter .btn svg,
.config-image .pose-counter .btn svg,
.carousel-image .pose-counter .btn svg,
.yearbook-image .pose-counter .btn svg {
  height: 14px;
}
.gallery-image .pose-counter span,
.config-image .pose-counter span,
.carousel-image .pose-counter span,
.yearbook-image .pose-counter span {
  padding: 2px 10px;
}
.gallery-image .pose-counter input,
.gallery-image .pose-counter input:focus,
.config-image .pose-counter input,
.config-image .pose-counter input:focus,
.carousel-image .pose-counter input,
.carousel-image .pose-counter input:focus,
.yearbook-image .pose-counter input,
.yearbook-image .pose-counter input:focus {
  padding: 2px 5px;
  border: 0;
  background: #fff;
  color: #000;
  line-height: 1.5;
  text-align: center;
  pointer-events: none;
  width: 32px;
}
.gallery-image .pose-counter .btn.decrease-count,
.gallery-image .pose-counter input,
.config-image .pose-counter .btn.decrease-count,
.config-image .pose-counter input,
.carousel-image .pose-counter .btn.decrease-count,
.carousel-image .pose-counter input,
.yearbook-image .pose-counter .btn.decrease-count,
.yearbook-image .pose-counter input {
  display: none;
}
.gallery-image .pose-title,
.config-image .pose-title,
.carousel-image .pose-title,
.yearbook-image .pose-title {
  background: #f6f6f6;
  text-align: center;
}
.gallery-image .overlay,
.config-image .overlay,
.carousel-image .overlay,
.yearbook-image .overlay {
  top: 0;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
.gallery-image .overlay.selected-overlay,
.config-image .overlay.selected-overlay,
.carousel-image .overlay.selected-overlay,
.yearbook-image .overlay.selected-overlay {
  right: 0;
  color: white;
}
.gallery-image .overlay.selected-overlay svg,
.gallery-image .overlay.selected-overlay img.svg,
.config-image .overlay.selected-overlay svg,
.config-image .overlay.selected-overlay img.svg,
.carousel-image .overlay.selected-overlay svg,
.carousel-image .overlay.selected-overlay img.svg,
.yearbook-image .overlay.selected-overlay svg,
.yearbook-image .overlay.selected-overlay img.svg {
  height: 24px;
  width: auto;
  vertical-align: -0.125em;
}
.gallery-image .overlay.selected-overlay .select-pose,
.config-image .overlay.selected-overlay .select-pose,
.carousel-image .overlay.selected-overlay .select-pose,
.yearbook-image .overlay.selected-overlay .select-pose {
  position: absolute;
  top: 5px;
  left: 5px;
  cursor: pointer;
}
.gallery-image .overlay.selected-overlay .select-pose .fa-check-square,
.gallery-image .overlay.selected-overlay .select-pose .fa-check-circle,
.config-image .overlay.selected-overlay .select-pose .fa-check-square,
.config-image .overlay.selected-overlay .select-pose .fa-check-circle,
.carousel-image .overlay.selected-overlay .select-pose .fa-check-square,
.carousel-image .overlay.selected-overlay .select-pose .fa-check-circle,
.yearbook-image .overlay.selected-overlay .select-pose .fa-check-square,
.yearbook-image .overlay.selected-overlay .select-pose .fa-check-circle {
  display: none;
}
.gallery-image .overlay.selected-overlay .retouching,
.gallery-image .overlay.selected-overlay .pose-info,
.config-image .overlay.selected-overlay .retouching,
.config-image .overlay.selected-overlay .pose-info,
.carousel-image .overlay.selected-overlay .retouching,
.carousel-image .overlay.selected-overlay .pose-info,
.yearbook-image .overlay.selected-overlay .retouching,
.yearbook-image .overlay.selected-overlay .pose-info {
  position: absolute;
  top: 5px;
  left: 5px;
  border-radius: 12px;
}
.gallery-image .overlay.selected-overlay .gallery-view,
.config-image .overlay.selected-overlay .gallery-view,
.carousel-image .overlay.selected-overlay .gallery-view,
.yearbook-image .overlay.selected-overlay .gallery-view {
  position: absolute;
  top: 5px;
  right: 5px;
}
.gallery-image .overlay.select-overlay,
.config-image .overlay.select-overlay,
.carousel-image .overlay.select-overlay,
.yearbook-image .overlay.select-overlay {
  padding: 8px;
  color: #000;
  background: rgba(77, 77, 79, 0.35);
  display: none;
}
.gallery-image .overlay.select-overlay .gallery-select,
.config-image .overlay.select-overlay .gallery-select,
.carousel-image .overlay.select-overlay .gallery-select,
.yearbook-image .overlay.select-overlay .gallery-select {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.gallery-image .overlay.select-overlay .gallery-select span,
.config-image .overlay.select-overlay .gallery-select span,
.carousel-image .overlay.select-overlay .gallery-select span,
.yearbook-image .overlay.select-overlay .gallery-select span {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.gallery-image .overlay.proof-overlay,
.config-image .overlay.proof-overlay,
.carousel-image .overlay.proof-overlay,
.yearbook-image .overlay.proof-overlay {
  background-image: url(/CadyStudios/media/CadyImages/Logo/proof-overlay.png);
  background-repeat: repeat;
  background-size: cover;
  opacity: 0.5;
  display: none;
}
.gallery-image .overlay .like-container,
.config-image .overlay .like-container,
.carousel-image .overlay .like-container,
.yearbook-image .overlay .like-container {
  display: inline-block;
  position: absolute;
  margin: 8px;
  top: 0;
  right: 0;
  float: none !important;
  text-align: center;
  cursor: pointer;
}
.gallery-image .overlay .like-container .like-selected-icon svg,
.config-image .overlay .like-container .like-selected-icon svg,
.carousel-image .overlay .like-container .like-selected-icon svg,
.yearbook-image .overlay .like-container .like-selected-icon svg {
  color: #bb4a92;
}
.gallery-image .overlay .like-container .like-text,
.config-image .overlay .like-container .like-text,
.carousel-image .overlay .like-container .like-text,
.yearbook-image .overlay .like-container .like-text {
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
}
.gallery-image .overlay .like-container svg,
.config-image .overlay .like-container svg,
.carousel-image .overlay .like-container svg,
.yearbook-image .overlay .like-container svg {
  height: 24px;
  width: auto;
}
.gallery-image .overlay .empty-text,
.config-image .overlay .empty-text,
.carousel-image .overlay .empty-text,
.yearbook-image .overlay .empty-text {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  text-align: center;
}
.gallery-image:hover .select-overlay,
.config-image:hover .select-overlay,
.carousel-image:hover .select-overlay,
.yearbook-image:hover .select-overlay {
  display: block;
}
.gallery-image.liked .selected-overlay .favorite,
.config-image.liked .selected-overlay .favorite,
.carousel-image.liked .selected-overlay .favorite,
.yearbook-image.liked .selected-overlay .favorite {
  display: block;
}
.gallery-image.retouched .retouching,
.config-image.retouched .retouching,
.carousel-image.retouched .retouching,
.yearbook-image.retouched .retouching {
  display: block;
}

.gallery-image.selected .image-wrapper,
.yearbook-image.selected .image-wrapper {
  border: solid 1px #bb4a92;
}
.gallery-image.selected .image-wrapper + .pose-title,
.yearbook-image.selected .image-wrapper + .pose-title {
  position: relative;
  border: solid 1px #bb4a92;
  border-top: 0;
  margin-top: -1px;
}
.gallery-image.selected .overlay.selected-overlay .fa-circle,
.gallery-image.selected .overlay.selected-overlay .fa-square,
.yearbook-image.selected .overlay.selected-overlay .fa-circle,
.yearbook-image.selected .overlay.selected-overlay .fa-square {
  display: none;
}
.gallery-image.selected .overlay.selected-overlay .fa-check-square,
.gallery-image.selected .overlay.selected-overlay .fa-check-circle,
.yearbook-image.selected .overlay.selected-overlay .fa-check-square,
.yearbook-image.selected .overlay.selected-overlay .fa-check-circle {
  display: inline-block;
}
.gallery-image.selected .pose-counter .btn,
.yearbook-image.selected .pose-counter .btn {
  padding: 2px 15px;
}
.gallery-image.selected .pose-counter .btn.decrease-count,
.gallery-image.selected .pose-counter input,
.yearbook-image.selected .pose-counter .btn.decrease-count,
.yearbook-image.selected .pose-counter input {
  display: block;
}

.gallery-image.used .overlay.selected-overlay .pose-info {
  display: block;
}

.yearbook-image .overlay.empty-text {
  background-color: #fff;
}
.yearbook-image .selectable-cards--card {
  border: dashed 1px #ddd;
}
.yearbook-image.selected .overlay.empty-text {
  display: none;
}
.yearbook-image.selected .selectable-cards--card {
  border: solid 1px #bb4a92;
}
.yearbook-image.selected .selected-banner {
  font-size: 14px;
  background: #bb4a92;
  display: block;
}

.elite-container .gallery-image .image-wrapper,
.elite-container .config-image .image-wrapper,
.elite-container .carousel-image .image-wrapper,
.elite-container .yearbook-image .image-wrapper {
  border-radius: 8px;
  border: 0;
  background: #faf8f7;
}
.elite-container .gallery-image .image-wrapper .image-box,
.elite-container .config-image .image-wrapper .image-box,
.elite-container .carousel-image .image-wrapper .image-box,
.elite-container .yearbook-image .image-wrapper .image-box {
  background: #faf8f7;
  border-radius: 8px;
}
.elite-container .gallery-image.col-8,
.elite-container .config-image.col-8,
.elite-container .carousel-image.col-8,
.elite-container .yearbook-image.col-8 {
  max-width: calc(90vh - 2rem);
}
.elite-container .gallery-image .overlay.selected-overlay .liked-overlay svg,
.elite-container .gallery-image .overlay.selected-overlay .disliked-overlay svg,
.elite-container .config-image .overlay.selected-overlay .liked-overlay svg,
.elite-container .config-image .overlay.selected-overlay .disliked-overlay svg,
.elite-container .carousel-image .overlay.selected-overlay .liked-overlay svg,
.elite-container .carousel-image .overlay.selected-overlay .disliked-overlay svg,
.elite-container .yearbook-image .overlay.selected-overlay .liked-overlay svg,
.elite-container .yearbook-image .overlay.selected-overlay .disliked-overlay svg {
  height: 20px;
  width: auto;
}
.elite-container .gallery-image .overlay.selected-overlay .gallery-select,
.elite-container .config-image .overlay.selected-overlay .gallery-select,
.elite-container .carousel-image .overlay.selected-overlay .gallery-select,
.elite-container .yearbook-image .overlay.selected-overlay .gallery-select {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  width: unset;
  height: unset;
}
.elite-container .gallery-image .overlay.selected-overlay .gallery-select svg,
.elite-container .config-image .overlay.selected-overlay .gallery-select svg,
.elite-container .carousel-image .overlay.selected-overlay .gallery-select svg,
.elite-container .yearbook-image .overlay.selected-overlay .gallery-select svg {
  height: 20px;
  width: auto;
  opacity: 0.5;
}
.elite-container .gallery-image .overlay.selected-overlay .liked-overlay,
.elite-container .config-image .overlay.selected-overlay .liked-overlay,
.elite-container .carousel-image .overlay.selected-overlay .liked-overlay,
.elite-container .yearbook-image .overlay.selected-overlay .liked-overlay {
  display: none;
}
.elite-container .gallery-image .overlay.selected-overlay .disliked-overlay,
.elite-container .config-image .overlay.selected-overlay .disliked-overlay,
.elite-container .carousel-image .overlay.selected-overlay .disliked-overlay,
.elite-container .yearbook-image .overlay.selected-overlay .disliked-overlay {
  display: none;
}
.elite-container .gallery-image.liked .overlay.selected-overlay .liked-overlay,
.elite-container .config-image.liked .overlay.selected-overlay .liked-overlay,
.elite-container .carousel-image.liked .overlay.selected-overlay .liked-overlay,
.elite-container .yearbook-image.liked .overlay.selected-overlay .liked-overlay {
  display: block;
}
.elite-container .gallery-image.disliked .overlay.selected-overlay .disliked-overlay,
.elite-container .config-image.disliked .overlay.selected-overlay .disliked-overlay,
.elite-container .carousel-image.disliked .overlay.selected-overlay .disliked-overlay,
.elite-container .yearbook-image.disliked .overlay.selected-overlay .disliked-overlay {
  display: block;
}
.elite-container .gallery-image.preview-image,
.elite-container .config-image.preview-image,
.elite-container .carousel-image.preview-image,
.elite-container .yearbook-image.preview-image {
  color: #7f7f7f;
  margin-bottom: 2rem;
}
.elite-container .gallery-image.preview-image .image-title h5,
.elite-container .config-image.preview-image .image-title h5,
.elite-container .carousel-image.preview-image .image-title h5,
.elite-container .yearbook-image.preview-image .image-title h5 {
  font-weight: 400;
}
.elite-container .gallery-image.preview-image .overlay.select-overlay,
.elite-container .config-image.preview-image .overlay.select-overlay,
.elite-container .carousel-image.preview-image .overlay.select-overlay,
.elite-container .yearbook-image.preview-image .overlay.select-overlay {
  background: none;
  border-radius: 8px;
  text-align: right;
}
.elite-container .gallery-image.preview-image .overlay.select-overlay .liked-overlay svg,
.elite-container .gallery-image.preview-image .overlay.select-overlay .disliked-overlay svg,
.elite-container .config-image.preview-image .overlay.select-overlay .liked-overlay svg,
.elite-container .config-image.preview-image .overlay.select-overlay .disliked-overlay svg,
.elite-container .carousel-image.preview-image .overlay.select-overlay .liked-overlay svg,
.elite-container .carousel-image.preview-image .overlay.select-overlay .disliked-overlay svg,
.elite-container .yearbook-image.preview-image .overlay.select-overlay .liked-overlay svg,
.elite-container .yearbook-image.preview-image .overlay.select-overlay .disliked-overlay svg {
  opacity: 0.5;
  height: 24px;
  width: auto;
}
.elite-container .gallery-image.preview-image .overlay.select-overlay .liked-overlay svg.liked,
.elite-container .config-image.preview-image .overlay.select-overlay .liked-overlay svg.liked,
.elite-container .carousel-image.preview-image .overlay.select-overlay .liked-overlay svg.liked,
.elite-container .yearbook-image.preview-image .overlay.select-overlay .liked-overlay svg.liked {
  display: none;
}
.elite-container .gallery-image.preview-image .overlay.select-overlay .gallery-select,
.elite-container .config-image.preview-image .overlay.select-overlay .gallery-select,
.elite-container .carousel-image.preview-image .overlay.select-overlay .gallery-select,
.elite-container .yearbook-image.preview-image .overlay.select-overlay .gallery-select {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  width: unset;
  height: unset;
}
.elite-container .gallery-image.preview-image .overlay.select-overlay .gallery-select svg,
.elite-container .config-image.preview-image .overlay.select-overlay .gallery-select svg,
.elite-container .carousel-image.preview-image .overlay.select-overlay .gallery-select svg,
.elite-container .yearbook-image.preview-image .overlay.select-overlay .gallery-select svg {
  height: 20px;
  width: auto;
  opacity: 0.5;
}
.elite-container .gallery-image.preview-image.liked .overlay.select-overlay .liked-overlay svg,
.elite-container .config-image.preview-image.liked .overlay.select-overlay .liked-overlay svg,
.elite-container .carousel-image.preview-image.liked .overlay.select-overlay .liked-overlay svg,
.elite-container .yearbook-image.preview-image.liked .overlay.select-overlay .liked-overlay svg {
  opacity: 1;
  color: #bb4a92;
}
.elite-container .gallery-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.liked,
.elite-container .config-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.liked,
.elite-container .carousel-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.liked,
.elite-container .yearbook-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.liked {
  display: unset;
}
.elite-container .gallery-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.like,
.elite-container .config-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.like,
.elite-container .carousel-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.like,
.elite-container .yearbook-image.preview-image.liked .overlay.select-overlay .liked-overlay svg.like {
  display: none;
}
.elite-container .gallery-image.preview-image.disliked .overlay.select-overlay .disliked-overlay svg,
.elite-container .config-image.preview-image.disliked .overlay.select-overlay .disliked-overlay svg,
.elite-container .carousel-image.preview-image.disliked .overlay.select-overlay .disliked-overlay svg,
.elite-container .yearbook-image.preview-image.disliked .overlay.select-overlay .disliked-overlay svg {
  opacity: 1;
}
.elite-container .gallery-image.small-image {
  margin-bottom: 4px;
  margin-top: 4px;
  padding: 0 2px;
  user-select: none;
}
.elite-container .gallery-image.small-image .overlay.selected-overlay .liked-overlay {
  right: 0;
}
.elite-container .gallery-image.small-image .overlay.selected-overlay .liked-overlay svg {
  height: 12px;
}
.elite-container .gallery-image.small-image .overlay.selected-overlay .disliked-overlay {
  right: 0;
}
.elite-container .gallery-image.small-image .overlay.selected-overlay .disliked-overlay svg {
  height: 12px;
}
.elite-container .gallery-image.small-image.selected .image-box {
  border: 2px solid #bb4a92;
}
.elite-container .gallery-image.preview-image .image-wrapper .image-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.elite-container .gallery-image.preview-image .overlay.select-overlay {
  display: block;
}
.elite-container .yearbook-image.formal-image, .elite-container .yearbook-image.casual-image, .elite-container .yearbook-image.capgown-image {
  border-bottom: 1px solid #000;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.elite-container .yearbook-image.formal-image .btn-save-pose, .elite-container .yearbook-image.casual-image .btn-save-pose, .elite-container .yearbook-image.capgown-image .btn-save-pose {
  display: none;
}
.elite-container .yearbook-image.formal-image.selection .btn-select-pose, .elite-container .yearbook-image.casual-image.selection .btn-select-pose, .elite-container .yearbook-image.capgown-image.selection .btn-select-pose {
  display: none;
}
.elite-container .yearbook-image.formal-image.selection .btn-save-pose, .elite-container .yearbook-image.casual-image.selection .btn-save-pose, .elite-container .yearbook-image.capgown-image.selection .btn-save-pose {
  display: inline-block;
}
.elite-container .yearbook-image.preview-image .select-overlay .select-pose {
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
}
.elite-container .config-image {
  border-radius: 8px;
  margin-bottom: 2rem;
}
.elite-container .config-image.preview-image .image-wrapper {
  border-radius: 8px 8px 0 0;
}
.elite-container .config-image .cropper-preview {
  border-radius: 8px;
}
.elite-container.dark-mode .gallery-image .image-wrapper,
.elite-container.dark-mode .config-image .image-wrapper,
.elite-container.dark-mode .carousel-image .image-wrapper,
.elite-container.dark-mode .yearbook-image .image-wrapper {
  background: #111;
}
.elite-container.dark-mode .gallery-image .image-wrapper .image-box,
.elite-container.dark-mode .config-image .image-wrapper .image-box,
.elite-container.dark-mode .carousel-image .image-wrapper .image-box,
.elite-container.dark-mode .yearbook-image .image-wrapper .image-box {
  background: #111;
}
.elite-container.dark-mode .gallery-image .pose-counter,
.elite-container.dark-mode .config-image .pose-counter,
.elite-container.dark-mode .carousel-image .pose-counter,
.elite-container.dark-mode .yearbook-image .pose-counter {
  background-color: #414145;
}
.elite-container.dark-mode .gallery-image .pose-counter .btn,
.elite-container.dark-mode .config-image .pose-counter .btn,
.elite-container.dark-mode .carousel-image .pose-counter .btn,
.elite-container.dark-mode .yearbook-image .pose-counter .btn {
  color: #fff;
}

.show-proof .gallery-image .overlay.proof-overlay,
.show-proof .config-image .overlay.proof-overlay,
.show-proof .carousel-image .overlay.proof-overlay,
.show-proof .yearbook-image .overlay.proof-overlay {
  display: unset;
}
.show-proof .config-image .cropper-container .cropper-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(/CadyStudios/media/CadyImages/Logo/proof-overlay.png);
  background-size: cover;
  opacity: 0.5;
}
.show-proof .config-image .cropper-container + .overlay.proof-overlay {
  display: none;
}
.show-proof .config-image .cropper-container .cropper-edit {
  opacity: 0.8;
  z-index: 1;
}

.config.card {
  position: relative;
  overflow: hidden;
  line-height: 1.5;
  height: 100%;
}
.config.card .card-block {
  height: 100%;
  padding: 10px 25px 0 25px;
}
.config.card .card-block .card-title .product-name {
  font-size: 24px;
}
.config.card .card-block .card-title .sheet-info {
  font-size: 12px;
}
.config.card .card-block .card-title.d-flex .title-left {
  padding-right: 15px;
  align-self: center;
}
.config.card .card-block .card-title.d-flex .config-text {
  padding-left: 15px;
  flex-grow: 1;
  border-left: 1px solid #ddd;
}
.config.card .card-block .card-title .pose-count svg {
  display: none;
}
.config.card .card-btn {
  padding: 0 25px 25px 25px;
}
.config.card .cart-action .btn {
  padding: 10px 5px;
}
.config.card .cart-action .cart-units {
  border: 1px solid #ddd;
}
.config.card .cart-action .btn-link {
  padding: 10px 15px;
  text-decoration: none;
}
.config.card .cart-action .cart-units span {
  padding: 10px 15px;
}
.config.card .btn-select-poses .select-poses {
  display: block;
}
.config.card .btn-select-poses .select-more-poses, .config.card .btn-select-poses .selected-poses {
  display: none;
}
.config.card.selected .card-block .card-title .pose-count {
  color: #bb4a92;
}
.config.card.selected .card-block .card-title .pose-count svg {
  display: inline;
}
.config.card.selected .btn-select-poses .select-poses, .config.card.selected .btn-select-poses .select-more-poses {
  display: none;
}
.config.card.selected .btn-select-poses .selected-poses {
  display: block;
}
.config.card.incomplete, .config.card.empty {
  box-shadow: inset 0 0 0.25rem #bb4a92;
}
.config.card.incomplete .btn-select-poses .select-poses, .config.card.incomplete .btn-select-poses .selected-poses {
  display: none;
}
.config.card.incomplete .btn-select-poses .select-more-poses {
  display: block;
}
.config.card .config-image {
  display: none;
}
.config.card .config-image.selected {
  display: block;
}
.config.card .config-image .image-box {
  border-radius: 5px;
  overflow: hidden;
}
.config.card .config-image .image-box.cropper {
  border-radius: 0;
}

.elite-container .left-content .bundle-container .package-header, .elite-container .left-content .main-bundle-container .package-header {
  padding: 0.25rem;
  text-align: center;
  background: #faf8f7;
  --val: 0;
}
.elite-container .left-content .bundle-container .package-header .package-name, .elite-container .left-content .main-bundle-container .package-header .package-name {
  font-size: 20px;
  font-weight: 300;
}
.elite-container .left-content .bundle-container .remove-from-cart, .elite-container .left-content .main-bundle-container .remove-from-cart {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  color: #555555;
  font-size: 14px;
}
.elite-container .left-content .main-bundle-container .package-header::before, .elite-container .left-content .main-bundle-container .package-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
}
.elite-container .left-content .main-bundle-container .package-header::before {
  border-bottom: 1px solid #e2e0e0;
  width: 100%;
}
.elite-container .left-content .main-bundle-container .package-header::after {
  border-bottom: 1px solid #414145;
  width: var(--val);
}
.elite-container .left-content .main-bundle-container.poses-over-limit .package-header::after {
  border-color: #bb4a92;
}
.elite-container .left-content .config.card.empty, .elite-container .left-content .config.card.incomplete {
  animation: errorglow 2s infinite;
}
.elite-container .config.card {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #000;
}
.elite-container .config.card .card-block {
  padding: 16px 24px 0;
}
.elite-container .config.card .card-block .card-title .product-name {
  font-size: 16px;
}
.elite-container .config.card .card-btn {
  padding: 0 16px 16px;
}
.elite-container .config.card .btn-save-poses {
  display: none;
}
.elite-container .config.card .remove-from-cart {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  color: #555555;
  font-size: 14px;
}
.elite-container .config.card.selection .btn-select-poses {
  display: none;
}
.elite-container .config.card.selection .btn-save-poses {
  display: inline-block;
}
.elite-container .config-link.card {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #000;
  cursor: pointer;
}
.elite-container .config-link.card .card-block {
  padding: 1rem;
  text-decoration: none;
}
.elite-container .config-link.card .card-block .card-title {
  margin-bottom: 0;
}
.elite-container .config-link.card .card-block .card-title .product-name {
  font-size: 16px;
  font-weight: 500;
}
.elite-container .config-link.card .card-block .card-title .product-description {
  font-size: 14px;
}
.elite-container main .config.card {
  background: none;
}
.elite-container main .config.card .card-block {
  padding: 0;
}
.elite-container main .config.card .config-image {
  display: block;
}
.elite-container main .config.card .card-options {
  padding: 16px 24px;
  height: 100%;
  background-color: #faf8f7;
}
.elite-container main .retouching-options .config.card .config-image {
  display: none;
}
.elite-container main .retouching-options .config.card .config-image.selected {
  display: block;
}
.elite-container.dark-mode .left-content .bundle-container .package-header, .elite-container.dark-mode .left-content .main-bundle-container .package-header {
  background-color: #111;
  position: relative;
}
.elite-container.dark-mode .left-content .bundle-container .package-header::before, .elite-container.dark-mode .left-content .main-bundle-container .package-header::before {
  border-color: #7f7f7f;
}
.elite-container.dark-mode .left-content .main-bundle-container.poses-over-limit .package-header::after {
  border-color: #bb4a92;
}
.elite-container.dark-mode .left-content .config.card {
  background-color: #2a2a2a;
}
.elite-container.dark-mode main .config.card .card-options {
  background-color: #111;
}

.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after, .twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after {
  content: " ";
  display: block;
  background: white;
  position: absolute;
  z-index: 30;
  -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after {
  width: 4px;
  height: 9999px;
  left: 50%;
  margin-left: -2px;
}

.twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after {
  width: 9999px;
  height: 4px;
  top: 50%;
  margin-top: -2px;
}

.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay {
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.twentytwenty-before-label, .twentytwenty-after-label {
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity;
}

.twentytwenty-before-label:before, .twentytwenty-after-label:before {
  color: white;
  font-size: 13px;
  letter-spacing: 0.1em;
}

.twentytwenty-before-label:before, .twentytwenty-after-label:before {
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  line-height: 38px;
  padding: 0 20px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

.twentytwenty-horizontal .twentytwenty-before-label:before, .twentytwenty-horizontal .twentytwenty-after-label:before {
  top: 50%;
  margin-top: -19px;
}

.twentytwenty-vertical .twentytwenty-before-label:before, .twentytwenty-vertical .twentytwenty-after-label:before {
  left: 50%;
  margin-left: -45px;
  text-align: center;
  width: 90px;
}

.twentytwenty-left-arrow, .twentytwenty-right-arrow, .twentytwenty-up-arrow, .twentytwenty-down-arrow {
  width: 0;
  height: 0;
  border: 4px inset transparent;
  position: absolute;
}

.twentytwenty-left-arrow, .twentytwenty-right-arrow {
  top: 50%;
  margin-top: -4px;
}

.twentytwenty-up-arrow, .twentytwenty-down-arrow {
  left: 50%;
  margin-left: -4px;
}

.twentytwenty-container {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  z-index: 0;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.twentytwenty-container img {
  max-width: 100%;
  position: absolute;
  top: 0;
  display: block;
}

.twentytwenty-container.active .twentytwenty-overlay, .twentytwenty-container.active :hover.twentytwenty-overlay {
  background: rgba(0, 0, 0, 0);
}

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label, .twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label {
  opacity: 0;
}

.twentytwenty-container * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.twentytwenty-before-label {
  opacity: 0;
}

.twentytwenty-before-label:before {
  content: attr(data-content);
}

.twentytwenty-after-label {
  opacity: 0;
}

.twentytwenty-after-label:before {
  content: attr(data-content);
}

.twentytwenty-horizontal .twentytwenty-before-label:before {
  left: 10px;
}

.twentytwenty-horizontal .twentytwenty-after-label:before {
  right: 10px;
}

.twentytwenty-vertical .twentytwenty-before-label:before {
  top: 10px;
}

.twentytwenty-vertical .twentytwenty-after-label:before {
  bottom: 10px;
}

.twentytwenty-overlay {
  -webkit-transition-property: background;
  -moz-transition-property: background;
  transition-property: background;
  background: rgba(0, 0, 0, 0);
  z-index: 25;
}

.twentytwenty-overlay:hover {
  background: rgba(0, 0, 0, 0.5);
}

.twentytwenty-overlay:hover .twentytwenty-after-label {
  opacity: 1;
}

.twentytwenty-overlay:hover .twentytwenty-before-label {
  opacity: 1;
}

.twentytwenty-before {
  z-index: 20;
}

.twentytwenty-after {
  z-index: 10;
}

.twentytwenty-handle {
  height: 24px;
  width: 24px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -22px;
  margin-top: -22px;
  background-color: #fff;
  border: 3px solid #fff;
  -webkit-border-radius: 1000px;
  -moz-border-radius: 1000px;
  border-radius: 1000px;
  -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  z-index: 40;
  cursor: pointer;
}

.twentytwenty-horizontal .twentytwenty-handle:before {
  bottom: 50%;
  margin-bottom: 17px;
  -webkit-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-horizontal .twentytwenty-handle:after {
  top: 50%;
  margin-top: 17px;
  -webkit-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-vertical .twentytwenty-handle:before {
  left: 50%;
  margin-left: 17px;
  -webkit-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-vertical .twentytwenty-handle:after {
  right: 50%;
  margin-right: 17px;
  -webkit-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-left-arrow {
  border-right: 4px solid #000;
  left: 50%;
  margin-left: -13px;
}

.twentytwenty-right-arrow {
  border-left: 4px solid #000;
  right: 50%;
  margin-right: -13px;
}

.twentytwenty-up-arrow {
  border-bottom: 4px solid #000;
  top: 50%;
  margin-top: -13px;
}

.twentytwenty-down-arrow {
  border-top: 4px solid #000;
  bottom: 50%;
  margin-bottom: -13px;
}

/*!
 * Cropper.js v1.4.3
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2018-10-24T13:07:11.429Z
 */
.cropper-container {
  direction: ltr;
  font-size: 0;
  line-height: 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.cropper-container img {
  display: block;
  height: 100%;
  image-orientation: 0deg;
  max-height: none !important;
  max-width: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  width: 100%;
}

.cropper-wrap-box,
.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.cropper-wrap-box,
.cropper-canvas {
  overflow: hidden;
}

.cropper-drag-box {
  background-color: #fff;
  opacity: 0;
}

.cropper-modal {
  background-color: #fff;
  opacity: 0.8;
}

.cropper-view-box {
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.cropper-dashed {
  border: 0 dashed #eee;
  display: block;
  opacity: 0.5;
  position: absolute;
}

.cropper-dashed.dashed-h {
  border-bottom-width: 1px;
  border-top-width: 1px;
  height: 33.3333333333%;
  left: 0;
  top: 33.3333333333%;
  width: 100%;
}

.cropper-dashed.dashed-v {
  border-left-width: 1px;
  border-right-width: 1px;
  height: 100%;
  left: 33.3333333333%;
  top: 0;
  width: 33.3333333333%;
}

.cropper-center {
  display: block;
  height: 0;
  left: 50%;
  opacity: 0.75;
  position: absolute;
  top: 50%;
  width: 0;
}

.cropper-center:before,
.cropper-center:after {
  background-color: #eee;
  content: " ";
  display: block;
  position: absolute;
}

.cropper-center:before {
  height: 1px;
  left: -3px;
  top: 0;
  width: 7px;
}

.cropper-center:after {
  height: 7px;
  left: 0;
  top: -3px;
  width: 1px;
}

.cropper-face,
.cropper-line,
.cropper-point {
  display: block;
  height: 100%;
  opacity: 0.1;
  position: absolute;
  width: 100%;
}

.cropper-face {
  background-color: #fff;
  left: 0;
  top: 0;
}

.cropper-line {
  background-color: #39f;
}

.cropper-line.line-e {
  cursor: ew-resize;
  right: -3px;
  top: 0;
  width: 5px;
}

.cropper-line.line-n {
  cursor: ns-resize;
  height: 5px;
  left: 0;
  top: -3px;
}

.cropper-line.line-w {
  cursor: ew-resize;
  left: -3px;
  top: 0;
  width: 5px;
}

.cropper-line.line-s {
  bottom: -3px;
  cursor: ns-resize;
  height: 5px;
  left: 0;
}

.cropper-point {
  background-color: #39f;
  height: 5px;
  opacity: 0.75;
  width: 5px;
}

.cropper-point.point-e {
  cursor: ew-resize;
  margin-top: -3px;
  right: -3px;
  top: 50%;
}

.cropper-point.point-n {
  cursor: ns-resize;
  left: 50%;
  margin-left: -3px;
  top: -3px;
}

.cropper-point.point-w {
  cursor: ew-resize;
  left: -3px;
  margin-top: -3px;
  top: 50%;
}

.cropper-point.point-s {
  bottom: -3px;
  cursor: s-resize;
  left: 50%;
  margin-left: -3px;
}

.cropper-point.point-ne {
  cursor: nesw-resize;
  right: -3px;
  top: -3px;
}

.cropper-point.point-nw {
  cursor: nwse-resize;
  left: -3px;
  top: -3px;
}

.cropper-point.point-sw {
  bottom: -3px;
  cursor: nesw-resize;
  left: -3px;
}

.cropper-point.point-se {
  bottom: -3px;
  cursor: nwse-resize;
  height: 20px;
  opacity: 1;
  right: -3px;
  width: 20px;
}

@media (min-width: 768px) {
  .cropper-point.point-se {
    height: 15px;
    width: 15px;
  }
}
@media (min-width: 992px) {
  .cropper-point.point-se {
    height: 10px;
    width: 10px;
  }
}
@media (min-width: 1200px) {
  .cropper-point.point-se {
    height: 5px;
    opacity: 0.75;
    width: 5px;
  }
}
.cropper-point.point-se:before {
  background-color: #39f;
  bottom: -50%;
  content: " ";
  display: block;
  height: 200%;
  opacity: 0;
  position: absolute;
  right: -50%;
  width: 200%;
}

.cropper-invisible {
  opacity: 0;
}

.cropper-bg {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");
}

.cropper-hide {
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}

.cropper-hidden {
  display: none !important;
}

.cropper-move {
  cursor: move;
}

.cropper-crop {
  cursor: crosshair;
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
  cursor: not-allowed;
}

/*Custom Additions */
.cropper-container {
  /*width: 100% !important;
  height: auto !important;
  padding-bottom: 66.66% !important;*/
}

.cropper-crop-box {
  /*top: 0 !important;*/
}

.cropper-view-box.initial {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cropper-overlay {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*color: #0180c5;*/
  color: #cecece;
}

.cropper-overlay .fa-2x {
  opacity: 1;
}

.cropper-overlay:hover {
  background-color: transparent;
  background-color: #00000033;
}

.cropper-overlay:hover .fa-2x {
  opacity: 1;
}

.cropper-preview {
  position: relative;
  max-height: 100%;
  max-width: 100%;
  overflow: hidden;
}

.cropper-edit {
  color: #bb4a92;
  font-size: 20px;
  padding: 4px;
  cursor: move;
}

#cropperModal .cropping-container {
  max-height: 70vh;
}

.elite-navigation {
  position: fixed;
  background-color: #fff;
  display: block;
  left: 0;
  height: 100%;
  width: 60px;
  border-right: 1px solid #000;
  overflow: hidden;
  z-index: 1;
  transition: width 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.elite-navigation + .content {
  margin-left: 60px;
}
.elite-navigation .navbar {
  flex-wrap: nowrap;
  position: absolute;
  padding: 1.25rem 1rem;
}
.elite-navigation .navbar .menu-toggle {
  position: relative;
  width: 28px;
  padding: 5px;
  cursor: pointer;
}
.elite-navigation .navbar .menu-toggle span {
  border-bottom: solid 2px #000;
  display: block;
  margin-bottom: 3px;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), border 0.55s ease;
  transform-origin: top left;
}
.elite-navigation .navbar .menu-toggle span:last-child {
  margin-bottom: 0;
}
.elite-navigation .navbar .navbar-brand {
  padding: 0 16px 0 31px;
}
.elite-navigation .bottom {
  flex-wrap: nowrap;
  position: absolute;
  bottom: 0;
  padding: 1.25rem 0.25rem;
}
.elite-navigation .booking-nav {
  counter-reset: step-counter;
  padding: 80px 0 64px;
}
.elite-navigation .booking-nav a {
  position: relative;
  counter-increment: step-counter;
  padding: 12px 0 12px 60px;
  white-space: nowrap;
  text-decoration: none;
}
.elite-navigation .booking-nav a::before {
  content: counter(step-counter);
  background-color: #e2e0e0;
  border-radius: 24px;
  font-size: 16px;
  line-height: 1.5;
  padding: 4px;
  width: 32px;
  text-align: center;
  position: absolute;
  left: 16px;
  top: 8px;
}
.elite-navigation .booking-nav a.current::before {
  background-color: #f0eeed;
  color: #bb4a92;
}
.elite-navigation .booking-nav a.inactive {
  pointer-events: none;
}
.elite-navigation .booking-nav a.completed::before {
  content: "";
  padding: 16px;
  background-color: #bb4a92;
  background-image: url("data:image/svg+xml,%3Csvg%20width='18'%20height='14'%20viewBox='0%200%2018%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M18%201.99984L6%2013.9998L0.5%208.49984L1.91%207.08984L6%2011.1698L16.59%200.589844L18%201.99984Z'%20fill='white'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-size: 18px 14px;
  background-repeat: no-repeat;
}
.elite-navigation.expanded {
  width: 280px;
}
.elite-navigation.expanded .navbar .menu-toggle span:nth-child(1) {
  transform: rotate(45deg) translate(0, 0);
}
.elite-navigation.expanded .navbar .menu-toggle span:nth-child(2) {
  border-color: transparent;
}
.elite-navigation.expanded .navbar .menu-toggle span:nth-child(3) {
  transform: rotate(-45deg) translate(-3px, 0px);
}
.elite-navigation.expanded .booking-nav a {
  padding: 12px 60px;
}
.elite-navigation.expanded .booking-nav a.current {
  background-color: #bb4a92;
  color: #fff;
}

.dark-mode .elite-navigation .booking-nav a::before {
  background-color: #414145;
  color: #fff;
}
.dark-mode .elite-navigation .booking-nav a.current::before {
  background-color: white;
  color: #bb4a92;
}
.dark-mode .elite-navigation .booking-nav a.completed::before {
  background-color: #bb4a92;
}

section.countdown .countdown--border {
  padding: 1.5rem;
  border: 1px solid #bb4a92;
  border-radius: 1rem;
}

.countdown-timer h1 {
  font-size: 48px;
  line-height: 1;
  margin-bottom: 0;
}
.countdown-timer .row {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.countdown-timer .row > [class*=col] {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.countdown-timer .row.bordered > [class*=col] {
  border-right: 1px solid #ddd;
}
.countdown-timer .row.bordered > [class*=col]:last-child {
  border-right: 0;
}
.countdown-timer .row.bordered > [class*=col] span {
  font-weight: 700;
}
.countdown-timer .row.bordered > [class*=col] span + span {
  font-size: 1em;
  font-weight: 400;
  padding-left: 2px;
}
.countdown-timer .row.larger > [class*=col] {
  font-size: 24px;
  line-height: 1;
  text-transform: uppercase;
  vertical-align: middle;
}
.countdown-timer .row.larger > [class*=col] span {
  font-weight: 700;
  vertical-align: middle;
}
.countdown-timer .row.larger > [class*=col] span + span {
  font-size: 0.5em;
  vertical-align: middle;
  padding-left: 2px;
  font-weight: 300;
}
@media (min-width: 992px) {
  .countdown-timer .row.larger > [class*=col] {
    font-size: 48px;
  }
}

.timer-countdown {
  width: 56px;
  height: 56px;
  position: relative;
}
.timer-countdown .timer__svg {
  transform: scaleX(-1);
}
.timer-countdown .timer__svg .timer__circle {
  fill: none;
  stroke: none;
}
.timer-countdown .timer__svg .timer__path-elapsed {
  stroke-width: 8px;
  stroke: #eee;
}
.timer-countdown .timer__svg .timer__path-remaining {
  stroke-width: 8px;
  stroke-linecap: round;
  stroke-dashoffset: -566;
  transform: rotate(-90deg);
  transform-origin: center;
  transition: 1s linear all;
  fill-rule: nonzero;
  stroke: #bb4a92;
}
.timer-countdown .timer__label {
  position: absolute;
  width: 56px;
  height: 56px;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.accordion.dark .accordion-item {
  padding: 1rem;
  background-color: #2a2a2a;
  margin-bottom: 1rem;
}
.accordion.dark .accordion-item .accordion-title {
  position: relative;
  padding-right: 3rem;
  margin-bottom: 1rem;
}
.accordion.dark .accordion-item .accordion-title::before, .accordion.dark .accordion-item .accordion-title::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.5s linear;
}
.accordion.dark .accordion-item .accordion-title::before {
  border-top: solid 1px #bbb;
  right: 1rem;
  width: 1rem;
}
.accordion.dark .accordion-item .accordion-title::after {
  border-left: solid 1px #bbb;
  right: 1.5rem;
}
.accordion.dark .accordion-item.collapsed {
  background-color: #151515;
}
.accordion.dark .accordion-item.collapsed .accordion-title {
  margin-bottom: 0;
}
.accordion.dark .accordion-item.collapsed .accordion-title::after {
  height: 1rem;
}

.checkout-container.underclass .nav-pills {
  margin-bottom: 1rem;
}
.checkout-container.underclass .nav-pills .nav-link {
  font-size: 16px;
  padding: 1rem 0.5rem;
}
.checkout-container.underclass .checkout-panel.collapsed .fa-chevron-up {
  transform: rotate(-180deg);
}
.checkout-container.underclass .card .card-header {
  background-color: #000;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
.checkout-container.underclass .card .card-header .student-header .incomplete {
  display: none;
}
.checkout-container.underclass .card .card-header .btn-link {
  color: #929292;
}
.checkout-container.underclass .card.is-incomplete .card-header {
  background-color: #bb4a92;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.checkout-container.underclass .card.is-incomplete .card-header .btn-link {
  color: white;
}
.checkout-container.underclass .card.is-incomplete .card-header .student-header .incomplete {
  display: inline;
}
.checkout-container.underclass .line-item {
  display: flex;
  overflow-x: hidden;
  background-size: cover;
}
.checkout-container.underclass .line-item-type {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  background-size: cover;
}
.checkout-container.underclass .edit-personalized-text {
  cursor: pointer;
  text-decoration: underline;
}
.checkout-container .btn-toggle-details .collapse {
  display: inline;
}
.checkout-container .btn-toggle-details .expand {
  display: none;
}
.checkout-container .btn-toggle-details.collapsed .expand {
  display: inline;
}
.checkout-container .btn-toggle-details.collapsed .collapse {
  display: none;
}

.confirm-scenes-container .scene-validation.sticky {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 7;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}
.confirm-scenes-container .scene-types {
  color: #929292;
  text-align: center;
  border-right: 1px solid #ddd;
}
.confirm-scenes-container .scene-types:last-child {
  border-right: 0;
}
.confirm-scenes-container .scene-types .bullet {
  cursor: pointer;
  text-decoration: none;
}
.confirm-scenes-container .scene-types:not(.available) .bullet.bullet-gray .bullet--circle {
  background-color: #fff;
  border: 1px solid #e2e0e0;
  color: #e2e0e0;
}
.confirm-scenes-container .scene-types.available {
  color: #000;
}
.confirm-scenes-container .scene-types.error {
  color: #ae0707;
}
.confirm-scenes-container .scene {
  width: 100%;
  margin-bottom: 16px;
}
.confirm-scenes-container .scene.scene-thumbnail {
  margin-left: 0;
  margin-right: 0;
}
.confirm-scenes-container .scene.card {
  border: none;
  border: 1px solid #ddd;
  border: 0;
}
.confirm-scenes-container .scene.card .learnMore {
  text-decoration: underline;
  font-size: 14px;
}
.confirm-scenes-container .scene.card .ribbon {
  font-size: 0.75rem;
  background-color: #000;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  display: none;
  padding: 0.25rem 0.75rem;
}
.confirm-scenes-container .scene.card.studio .ribbon {
  display: block;
}
.confirm-scenes-container .scene.card .card-title {
  font-size: 1.125em;
  font-weight: bold;
  text-transform: inherit;
  margin-bottom: 0;
}
.confirm-scenes-container .scene.card .card-subtitle {
  margin: 0;
}
.confirm-scenes-container .scene.card .card-text-right {
  font-size: 12px;
  text-align: right;
  max-width: 25%;
}
.confirm-scenes-container .scene.card .learnMore {
  text-decoration: none;
}
.confirm-scenes-container .scene.card .learnMore span {
  font-weight: normal;
  text-decoration: underline;
}
.confirm-scenes-container .scene.card .scene-thumbnail {
  position: relative;
}
.confirm-scenes-container .scene.card .image-box {
  position: relative;
  margin: 0;
}
.confirm-scenes-container .scene.card .image-box img {
  width: 100%;
}
.confirm-scenes-container .scene.card .card-block {
  background-color: white;
  padding: 1.25rem;
  position: relative;
}
.confirm-scenes-container .scene.card .overlay {
  color: #929292;
  cursor: pointer;
}
.confirm-scenes-container .scene.card .scene-select {
  display: block;
}
.confirm-scenes-container .scene.card .scene-selected {
  display: none;
}
.confirm-scenes-container .scene.card.selected .overlay {
  color: #000;
}
.confirm-scenes-container .scene.card.selected .scene-select {
  display: none;
}
.confirm-scenes-container .scene.card.selected .scene-selected {
  display: block;
}
.confirm-scenes-container .scene.card.required .overlay {
  cursor: not-allowed;
}
.confirm-scenes-container .scene.card.required .scene-select {
  display: none;
}
.confirm-scenes-container .scene.card.required .scene-selected {
  display: block;
}
.confirm-scenes-container .scene.card .card-block .card-title {
  font-size: 1rem;
}
.confirm-scenes-container .scene.card .checkmark {
  border-color: #fff;
  border-radius: 50%;
}
.confirm-scenes-container .scene.card.selected .checkmark {
  background-color: #bb4a92;
  border-color: #bb4a92;
}
.confirm-scenes-container .scene.card.selected .checkmark:after {
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  display: block;
}
.confirm-scenes-container .scene.card .favorite-icon {
  display: none;
}
.confirm-scenes-container .scene.card .favorite-icon img {
  width: 10px;
  opacity: 0.4;
}
.confirm-scenes-container .scene.card .card-block {
  padding: 0.5rem;
}
.confirm-scenes-container .scene.card .card-title {
  line-height: 1.5;
}
.confirm-scenes-container .scene.card .card-subtitle {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 500;
  color: #555555;
  margin: 0;
}
.confirm-scenes-container .scene.card .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0.5rem;
}
.confirm-scenes-container .scene.card .overlay .included {
  display: none;
  color: #fff;
  background-color: #bb4a92;
  border-radius: 40px;
  padding: 0.25rem 0.5rem;
}
.confirm-scenes-container .scene.card.required .overlay, .confirm-scenes-container .scene.card.auto-select .overlay {
  cursor: not-allowed;
}
.confirm-scenes-container .scene.card.required .overlay .select-box, .confirm-scenes-container .scene.card.auto-select .overlay .select-box {
  display: none;
}
.confirm-scenes-container .scene.card.required .overlay .included, .confirm-scenes-container .scene.card.auto-select .overlay .included {
  display: unset;
}
.confirm-scenes-container .scene.card.favorite .favorite-icon {
  display: unset;
}
.confirm-scenes-container .scene-confirmation .card-header {
  color: #fff;
  background: #000;
  border-radius: 0;
}
.confirm-scenes-container .scene-confirmation .card-header .session-description b,
.confirm-scenes-container .scene-confirmation .card-header .session-description strong {
  font-weight: 500;
}
.confirm-scenes-container .scene-confirmation .card-header .session-description .price {
  font-weight: 300;
}
.confirm-scenes-container .scene-confirmation .card-body {
  padding: 0;
}
.confirm-scenes-container .scene-confirmation .card-body .select-scenes-message {
  padding: 0.75rem;
  margin-bottom: 0;
  background-color: #f0eeed;
  font-size: 16px;
}
.confirm-scenes-container .scene-confirmation .card-body .select-scenes-message .svg-inline--fa {
  color: #ae0707;
}

.section-content {
  text-align: center;
}
.section-content .section-content--header {
  margin-bottom: 2rem;
}
.section-content .section-content--subhead {
  margin-bottom: 2rem;
}
.section-content .section-content--footnote {
  color: #929292;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .section-content {
    text-align: left;
  }
  .section-content .section-content--header {
    margin-bottom: 1rem;
  }
  .section-content .section-content--subhead {
    margin-bottom: 2rem;
  }
}
.summary-container .nav-pills {
  margin-bottom: 1rem;
}
.summary-container .nav-pills .nav-link {
  font-size: 16px;
  padding: 1rem 0.5rem;
}

.addons-container .scene.card {
  border: none;
  border: 1px solid #ddd;
}
.addons-container .scene.card .learnMore {
  text-decoration: underline;
  font-size: 14px;
}
.addons-container .scene.card .ribbon {
  font-size: 0.75rem;
  background-color: #000;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  display: none;
  padding: 0.25rem 0.75rem;
}
.addons-container .scene.card.studio .ribbon {
  display: block;
}
.addons-container .scene.card .card-title {
  font-size: 1.125em;
  font-weight: bold;
  text-transform: inherit;
  margin-bottom: 0;
}
.addons-container .scene.card .card-subtitle {
  margin: 0;
}
.addons-container .scene.card .card-text-right {
  font-size: 12px;
  text-align: right;
  max-width: 25%;
}
.addons-container .scene.card .learnMore {
  text-decoration: none;
}
.addons-container .scene.card .learnMore span {
  font-weight: normal;
  text-decoration: underline;
}
.addons-container .scene.card .scene-thumbnail {
  position: relative;
}
.addons-container .scene.card .image-box {
  position: relative;
  margin: 0;
}
.addons-container .scene.card .image-box img {
  width: 100%;
}
.addons-container .scene.card .card-block {
  background-color: white;
  padding: 1.25rem;
  position: relative;
}
.addons-container .scene.card .overlay {
  color: #929292;
  cursor: pointer;
}
.addons-container .scene.card .scene-select {
  display: block;
}
.addons-container .scene.card .scene-selected {
  display: none;
}
.addons-container .scene.card.selected .overlay {
  color: #000;
}
.addons-container .scene.card.selected .scene-select {
  display: none;
}
.addons-container .scene.card.selected .scene-selected {
  display: block;
}
.addons-container .scene.card.required .overlay {
  cursor: not-allowed;
}
.addons-container .scene.card.required .scene-select {
  display: none;
}
.addons-container .scene.card.required .scene-selected {
  display: block;
}
.addons-container .scene.card .card-block .card-title {
  font-size: 1rem;
}
.addons-container .scene.card .checkmark {
  border-color: #fff;
  border-radius: 50%;
}
.addons-container .scene.card.selected .checkmark {
  background-color: #bb4a92;
  border-color: #bb4a92;
}
.addons-container .scene.card.selected .checkmark:after {
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  display: block;
}
.addons-container .scene.card .card-block .card-title {
  font-size: 24px;
  font-weight: 700;
}
.addons-container .scene.card .card-price {
  font-size: 18px;
  font-weight: 700;
}
.addons-container .scene.card .fine-print {
  font-size: 12px;
}
.addons-container .scene.card .tns-nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.addons-container .scene.card .tns-nav [aria-controls] {
  width: 6px;
  height: 6px;
  background-color: #929292;
}
.addons-container .scene.card .tns-nav > .tns-nav-active {
  background-color: #fff;
}
.addons-container .scene.card .carousel img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 992px) {
  .addons-container .scene.card .left-image {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
  }
}
.addons-container .scene.card .overlay .btn:not(.btn-sm) {
  padding: 4px 20px;
}
@media (min-width: 768px) {
  .addons-container .scene.card .overlay .btn:not(.btn-sm) {
    padding: 10px 25px;
  }
}
.addons-container .scene.card .overlay .selected-btn {
  display: none;
}
.addons-container .scene.card.selected .overlay .selected-btn {
  display: inline-block;
}
.addons-container .scene.card.selected .overlay .select-btn {
  display: none;
}
.addons-container .scene.card .overlay .btn.selected-btn {
  position: relative;
  padding-left: 35px;
}
.addons-container .scene.card .overlay .btn.selected-btn::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  left: 15px;
  top: 8px;
  border-color: #fff;
}
@media (min-width: 768px) {
  .addons-container .scene.card .overlay .btn.selected-btn:not(.btn-sm)::before {
    top: 15px;
  }
}

.scheduling-container h4 {
  font-size: 24px;
}
.scheduling-container .info-box {
  padding: 0.5rem 1rem;
}
.scheduling-container .info-box .title {
  font-size: 1.125rem;
  line-height: 1.25;
  margin-bottom: 0.5rem;
}
.scheduling-container .info-box .subtext {
  font-size: 12px;
  color: #929292;
}
.scheduling-container .list-group-item {
  border-color: #ddd;
  border-radius: 0;
  border-width: 0 0 1px;
  margin: 0;
  padding: 0.75rem 0;
}
.scheduling-container .list-group-item label {
  margin: 0;
  font-weight: normal;
}
.scheduling-container .list-group-item.selected label {
  font-weight: bold;
}
.scheduling-container .list-group-item .fa-check {
  display: none;
}
.scheduling-container .list-group-item input:checked ~ .fa-check {
  display: block;
}
.scheduling-container .list-group-item .location-info .location-name {
  font-weight: bold;
}
.scheduling-container .list-group-item .location-info .location-address {
  font-weight: normal;
  font-size: 14px;
}
.scheduling-container .list-group-item .location-info .btn {
  padding: 0.25rem 0.75rem;
}
.scheduling-container .list-group-item .location-info .btn.btn-selected {
  display: none;
}
.scheduling-container .list-group-item .location-info.selected .fa-check {
  display: unset;
}
.scheduling-container .list-group-item .location-info.selected .btn.btn-select {
  display: none;
}
.scheduling-container .list-group-item .location-info.selected .btn.btn-selected {
  display: unset;
}
.scheduling-container #location-map {
  padding-top: 56.25%;
  background: #faf8f7;
}
.scheduling-container #date-panel,
.scheduling-container #time-panel {
  cursor: pointer;
  background: #fff;
}
.scheduling-container #date-panel.card,
.scheduling-container #time-panel.card {
  border: solid 1px #faf8f7;
  border-radius: 28px;
}
.scheduling-container #date-panel > .row,
.scheduling-container #time-panel > .row {
  border: 0;
  border-radius: 28px;
  background-color: #faf8f7;
}
.scheduling-container #date-panel > .row.collapsed .fa-chevron-up,
.scheduling-container #time-panel > .row.collapsed .fa-chevron-up {
  transform: rotate(-180deg);
}
.scheduling-container #date-panel .selected-date span, .scheduling-container #time-panel .selected-time span {
  margin-left: 0.25rem;
}
.scheduling-container .time-panel {
  padding: 0 1rem 1rem;
}
@media (min-width: 992px) {
  .scheduling-container .time-panel {
    max-height: 300px;
    overflow-y: auto;
  }
}

.session-content .recommendation {
  display: none;
  background-color: #bb4a92;
  font-size: 14px;
  color: #fff;
  padding: 5px 15px;
}
.session-content .recommended .recommendation {
  display: block;
}
.session-content .modal-dialog .recommended .recommendation {
  display: inline-block;
}
.session-content .card.session-type:not(.session-card) {
  display: unset !important;
  padding: 15rem 0 2rem;
  overflow: hidden;
  border: none;
}
@media (min-width: 768px) {
  .session-content .card.session-type:not(.session-card) {
    padding: 5rem 0;
  }
}
.session-content .card.session-type:not(.session-card) .recommendation {
  box-shadow: 0 8px 40px -8px rgba(236, 0, 140, 0.9);
}
.session-content .card.session-type:not(.session-card) .recommendation.no-shadow {
  box-shadow: none;
}
.session-content .card.session-type:not(.session-card).recommended .btn-primary,
.session-content .card.session-type:not(.session-card).recommended .btn-light {
  color: #fff;
  background-color: #bb4a92;
  border-color: #bb4a92;
}
.session-content .card.session-type:not(.session-card).recommended .btn-primary:hover, .session-content .card.session-type:not(.session-card).recommended .btn-primary:focus, .session-content .card.session-type:not(.session-card).recommended .btn-primary:active,
.session-content .card.session-type:not(.session-card).recommended .btn-light:hover,
.session-content .card.session-type:not(.session-card).recommended .btn-light:focus,
.session-content .card.session-type:not(.session-card).recommended .btn-light:active {
  opacity: 0.9;
}
.session-content .card.session-type:not(.session-card) .ribbon {
  font-size: 0.75rem;
  background-color: #000;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  display: none;
  padding: 0.25rem 2.5rem;
  margin: 0 auto;
}
.session-content .card.session-type:not(.session-card).studio .card .card-body {
  padding-top: 0.5rem;
}
.session-content .card.session-type:not(.session-card).studio .ribbon {
  display: inline-block;
}
.session-content .card.session-type:not(.session-card) .desktop-image,
.session-content .card.session-type:not(.session-card) .mobile-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.session-content .card.session-type:not(.session-card) .mobile-image {
  object-fit: contain;
}
.session-content .card.session-type:not(.session-card) .bg-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 10.94%, rgba(0, 0, 0, 0.3) 30.99%, #000000 50%);
}
@media (min-width: 768px) {
  .session-content .card.session-type:not(.session-card) .bg-gradient {
    display: none;
  }
}
.session-content .card.session-type:not(.session-card) .card-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.session-content .card.session-type:not(.session-card) .tns-outer [data-controls] {
  top: 20%;
}
@media (min-width: 768px) {
  .session-content .card.session-type:not(.session-card) .tns-outer [data-controls] {
    top: 50%;
  }
}
.session-content .card.session-type:not(.session-card) .tns-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 12rem;
}
@media (min-width: 768px) {
  .session-content .card.session-type:not(.session-card) .tns-nav {
    top: unset;
    bottom: 1.5rem;
  }
}
.session-content .card.session-type:not(.session-card) .tns-nav [aria-controls] {
  width: 6px;
  height: 6px;
  background-color: #929292;
}
.session-content .card.session-type:not(.session-card) .tns-nav > .tns-nav-active {
  background-color: #fff;
}
.session-content .card.session-type:not(.session-card) .carousel img {
  width: 100%;
  object-fit: contain;
}
@media (min-width: 768px) {
  .session-content .card.session-type:not(.session-card) .carousel img {
    object-fit: cover;
    height: 100%;
  }
}
.session-content .card.session-type:not(.session-card) .card {
  background: transparent;
  border: none;
  width: 300px;
}
.session-content .card.session-type:not(.session-card) .card .card-header {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.8) 41.67%, rgba(0, 0, 0, 0.9) 100%);
  box-shadow: inset 0.5px 0.5px 0px rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 1.25rem;
}
@media (min-width: 992px) {
  .session-content .card.session-type:not(.session-card) .card .card-header {
    backdrop-filter: blur(16px);
  }
}
.session-content .card.session-type:not(.session-card) .card .card-header .session-title {
  text-align: left;
}
.session-content .card.session-type:not(.session-card) .card .card-header .session-title .elite {
  line-height: 1;
  font-size: 40px;
  text-transform: uppercase;
}
.session-content .card.session-type:not(.session-card) .card .card-header .session-title .elite + .unlimited {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
}
.session-content .card.session-type:not(.session-card) .card .card-header .session-price {
  font-size: 1.875rem;
  line-height: 1.25;
  font-weight: 300;
  text-align: right;
}
.session-content .card.session-type:not(.session-card) .card .card-header .session-price i {
  display: block;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.5;
}
.session-content .card.session-type:not(.session-card) .card .card-header .most-popular,
.session-content .card.session-type:not(.session-card) .card .card-header .traditional {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
}
.session-content .card.session-type:not(.session-card) .card .card-body {
  background: #fff;
  padding: 1rem 1.25rem;
  text-align: center;
}
.session-content .card.session-type:not(.session-card) .card .card-body .session-features {
  color: #000;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList {
  margin: 0;
  padding: 0;
  list-style: none;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
  font-size: 14px;
  padding: 0.7rem 0;
  text-align: left;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList li span:first-child {
  font-weight: 500;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList li:last-child:not(:first-child) {
  border-bottom: 0;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList li.excluded {
  color: #929292;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList li.highlighted {
  color: #bb4a92;
}
.session-content .card.session-type:not(.session-card) .card .card-body .sessionDetailsList li.highlighted img {
  vertical-align: text-bottom;
  margin-left: 0.5em;
}
.session-content .card.session-type:not(.session-card).session-three-col {
  padding: 0;
}
.session-content .card.session-type:not(.session-card).session-three-col .desktop-image {
  height: auto;
}
.session-content .card.session-type:not(.session-card).session-three-col .mobile-image {
  object-fit: cover;
}
.session-content .card.session-type:not(.session-card).session-three-col .nav-pills {
  display: none;
}
.session-content .card.session-type:not(.session-card).session-three-col .bg-gradient {
  display: none;
}
@media (min-width: 992px) {
  .session-content .card.session-type:not(.session-card).session-three-col {
    padding: 15rem 0 2rem;
  }
  .session-content .card.session-type:not(.session-card).session-three-col .bg-gradient {
    background-image: linear-gradient(180deg, rgba(221, 221, 221, 0) 30%, #dddddd 45%);
    display: block;
  }
  .session-content .card.session-type:not(.session-card).session-three-col .recommendation {
    position: absolute;
    width: 100%;
    transform: translateY(-100%);
    top: 1px;
  }
  .session-content .card.session-type:not(.session-card).session-three-col .nav-pills {
    display: flex;
  }
}
.session-content .card.session-type:not(.session-card).session-three-col .card {
  width: 100%;
}
.session-content .card.session-type:not(.session-card).session-three-col .card .card-header {
  padding: 0.5rem 1rem;
  background: rgba(65, 65, 69, 0.8);
  backdrop-filter: none;
}
.session-content .card.session-type:not(.session-card).session-three-col .card .card-header .traditional {
  font-size: 16px;
  line-height: 1.5;
}
.session-content .card.session-type:not(.session-card).session-three-col .card .card-header .session-price {
  font-size: 16px;
  line-height: 1.5;
}
@media (min-width: 992px) {
  .session-content .card.session-type:not(.session-card).session-three-col .card .card-header {
    padding: 1.25rem;
  }
  .session-content .card.session-type:not(.session-card).session-three-col .card .card-header .traditional {
    font-size: 20px;
    line-height: 1.25;
    width: min-content;
  }
  .session-content .card.session-type:not(.session-card).session-three-col .card .card-header .session-price {
    font-size: 1.875rem;
    line-height: 1.25;
  }
}
.session-content .card.session-type:not(.session-card).session-three-col .card .sessionDetailsList li.excluded {
  display: none;
}
@media (min-width: 992px) {
  .session-content .card.session-type:not(.session-card).session-three-col .card .sessionDetailsList li.excluded {
    display: flex;
  }
}
.session-content .card.session-type:not(.session-card).session-small {
  padding: 0;
}
.session-content .card.session-type:not(.session-card).session-small .session-title,
.session-content .card.session-type:not(.session-card).session-small .session-price {
  font-size: 16px;
  line-height: 1.5;
}
.session-content .card.session-type:not(.session-card).session-small .session-price {
  font-weight: 500;
}
.session-content .card.session-type:not(.session-card).session-small .left-image {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.session-content .card.session-card {
  border: none;
  width: 240px;
  margin-right: 1rem;
  margin-top: 1.5rem;
  overflow: visible;
}
.session-content .card.session-card:last-child {
  margin-right: 0;
}
.session-content .card.session-card .recommendation {
  font-size: 11px;
  font-weight: 900;
  padding: 3px 15px;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  width: 100%;
  transform: translateY(-100%);
}
.session-content .card.session-card.recommended .btn-primary,
.session-content .card.session-card.recommended .btn-light {
  color: #fff;
  background-color: #bb4a92;
  border-color: #bb4a92;
}
.session-content .card.session-card.recommended .btn-primary:hover, .session-content .card.session-card.recommended .btn-primary:focus, .session-content .card.session-card.recommended .btn-primary:active,
.session-content .card.session-card.recommended .btn-light:hover,
.session-content .card.session-card.recommended .btn-light:focus,
.session-content .card.session-card.recommended .btn-light:active {
  opacity: 0.9;
}
.session-content .card.session-card .card-background {
  display: none;
}
.session-content .card.session-card .card-header {
  padding: 1.5rem 1rem 1rem;
  padding-bottom: 0;
  background: none;
  border: none;
  position: relative;
  overflow: hidden;
}
.session-content .card.session-card .card-header .session-title {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  text-transform: uppercase;
}
.session-content .card.session-card .card-header .session-title strong {
  font-weight: 900;
  font-family: "Roboto Bold", "Roboto", "Helvetica Neue", Arial, Verdana, sans-serif;
}
.session-content .card.session-card .card-header .session-price {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 600;
}
.session-content .card.session-card .card-header .session-price small {
  font-size: 14px;
  line-height: 1.5rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .session-content .card.session-card .card-header .session-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .session-content .card.session-card .card-header .session-price {
    font-size: 2rem;
  }
  .session-content .card.session-card .card-header .session-price small {
    font-size: 1rem;
    line-height: 2;
    font-weight: 600;
  }
}
.session-content .card.session-card .card-body {
  padding: 1rem;
  padding-bottom: 0;
}
.session-content .card.session-card .card-footer {
  padding: 1rem;
  padding-top: 0;
  background: transparent;
  border: none;
  display: flex;
  justify-content: space-around;
}
.session-content .card.session-card .card-footer button.btn {
  flex-grow: 1;
  margin: 0 0.5rem;
}
.session-content .card.session-card .card-note {
  opacity: 0.5;
  font-size: 12px;
  line-height: 2;
}
.session-content .card.session-card .ribbon {
  width: 160px;
  top: 28px;
  right: -42px;
  left: unset;
  transform: rotate(45deg);
}
.session-content .card.session-card.category-1 {
  background-color: #000;
  color: #fff;
}
.session-content .card.session-card.category-1 .ribbon {
  background-color: #fff;
  color: #000;
}
.session-content .card.session-card.category-2 {
  flex-grow: 1;
  box-shadow: 0px 12px 36px rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
  .session-content .card.session-card.category-2 {
    width: unset;
    flex-grow: unset;
    flex: 0 0 40%;
  }
}
@media (min-width: 992px) {
  .session-content .card.session-card.category-2 {
    width: unset;
    flex-grow: unset;
    flex: 0 0 30%;
  }
}
.session-content .card.session-card.category-2:only-child {
  width: unset;
}
.session-content .card.session-card.category-3, .session-content .card.session-card.category-4 {
  background-color: #eee;
  flex-grow: 1;
}
.session-content .card.session-card.category-3 .card-background, .session-content .card.session-card.category-4 .card-background {
  display: unset;
}
.session-content .card.session-card.category-3 .card-header .session-price, .session-content .card.session-card.category-4 .card-header .session-price {
  font-size: 1rem;
  line-height: 1.25;
}
.session-content .card.session-card.category-3 .card-header .session-price small, .session-content .card.session-card.category-4 .card-header .session-price small {
  font-size: 12px;
  line-height: inherit;
  font-weight: 600;
}
@media (min-width: 992px) {
  .session-content .card.session-card.category-3 .card-header .session-title,
.session-content .card.session-card.category-3 .card-header .session-price, .session-content .card.session-card.category-4 .card-header .session-title,
.session-content .card.session-card.category-4 .card-header .session-price {
    font-size: 1.25rem;
    line-height: 1.2;
  }
}
.session-content .card.session-card.category-3 .ribbon, .session-content .card.session-card.category-4 .ribbon {
  background-color: #333;
}
@media (min-width: 768px) {
  .session-content .card.session-card.category-3, .session-content .card.session-card.category-4 {
    width: unset;
    flex-basis: 0;
  }
}
@media (min-width: 768px) {
  .session-content .card.session-card {
    width: 280px;
  }
}
.session-content .card-section {
  position: relative;
}
.session-content .card-section.with-background {
  padding-top: 6rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .session-content .card-section.with-background {
    padding-top: 10rem;
  }
}
@media (min-width: 992px) {
  .session-content .card-section.with-background {
    padding-bottom: 4rem;
    padding-top: 3rem;
  }
}
.session-content .card-section .section-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 992px) {
  .session-content .card-section .section-background {
    height: 100%;
  }
}
.session-content .card-section .card-slides {
  padding-top: 1rem;
  padding-bottom: 1rem;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.session-content .card-section .card-slides::-webkit-scrollbar {
  display: none;
}
.session-content .modal-session-detail {
  color: #000;
}
.session-content .modal-session-detail .gallery img {
  height: 160px;
  width: 100%;
  object-fit: cover;
  cursor: pointer;
}
.session-content #why-elite .content {
  margin-bottom: 1rem;
}
.session-content #why-elite .content .image-container {
  position: relative;
}
.session-content #why-elite .content .image-container img.background {
  width: 100%;
  height: 144px;
  object-fit: cover;
}
.session-content #why-elite .content .image-container .overlay {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.session-content #why-elite button[data-toggle=collapse] .expanded {
  display: unset;
}
.session-content #why-elite button[data-toggle=collapse] .collapsed {
  display: none;
}
.session-content #why-elite button[data-toggle=collapse].collapsed .collapsed {
  display: unset;
}
.session-content #why-elite button[data-toggle=collapse].collapsed .expanded {
  display: none;
}
@media (min-width: 992px) {
  .session-content #why-elite .content {
    display: block;
  }
}

.student-info.underclass.empty-container {
  min-height: 75vh;
}
.student-info.underclass label {
  font-weight: normal;
  margin-bottom: 5px;
}
.student-info.underclass input.d-none ~ .fa-circle[data-fa-i2svg],
.student-info.underclass input.d-none ~ .fa-dot-circle[data-fa-i2svg] {
  margin-right: 1rem;
  font-size: 24px;
}
.student-info.underclass input.d-none ~ .fa-circle[data-fa-i2svg] {
  display: inline-block;
}
.student-info.underclass input:checked.d-none ~ .fa-circle[data-fa-i2svg] {
  display: none;
}
.student-info.underclass input.d-none ~ .fa-dot-circle[data-fa-i2svg] {
  display: none;
}
.student-info.underclass input:checked.d-none ~ .fa-dot-circle[data-fa-i2svg] {
  display: inline-block;
}
.student-info.underclass .search-title {
  padding-top: 120px;
  font-weight: bold;
  font-size: 30px;
  line-height: 40px;
}
.student-info.underclass .student-info-form {
  color: #929292;
}
.student-info.underclass .student-info-form .form-group {
  width: 100%;
}
.student-info.underclass .student-info-form .form-group input {
  width: inherit;
}
.student-info.underclass .student-info-form .new-student {
  display: none;
}
.student-info.underclass .add-student.selected ~ .student-info-form .new-student {
  display: flex;
}

.underclass-container {
  padding-bottom: 5rem;
}
.underclass-container .empty-container {
  min-height: 50vh;
}

.image-wrapper {
  position: relative;
}

.underclass-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  margin: 0;
  width: 100%;
  z-index: 1;
}
.underclass-bottom a {
  text-decoration: none;
}

.yearbook-step .fa-check-circle {
  display: none;
}
.yearbook-step.completed .bullet--circle {
  background-color: #bb4a92;
}
.yearbook-step.completed .fa-check-circle {
  display: unset;
}

.package-explainer .premium {
  font-weight: 500;
  line-height: 1.2;
}
.package-explainer .premium img.gift-image {
  max-height: 90px;
}
@media (min-width: 992px) {
  .package-explainer .premium img.gift-image {
    max-height: unset;
  }
}
.package-explainer .basic img.gift-image {
  max-height: 64px;
}
@media (min-width: 992px) {
  .package-explainer .basic img.gift-image {
    margin-bottom: 15px;
  }
}

.action-items .icon .fa-stack {
  width: 1rem;
  height: 1rem;
  line-height: 1rem;
  font-size: 12px;
  text-align: center;
  background: #3bbe48;
  color: #fff;
  border-radius: 50%;
  font-weight: bold;
}

.package-header {
  background-color: #e2e0e0;
  padding: 10px 15px;
}
.package-header .package-name {
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}
.package-header p {
  font-size: 14px;
  color: #7f7f7f;
}

.payment-note {
  background-color: #bb4a92;
  font-size: 12px;
  color: #fff;
  padding: 5px 15px;
}

.payment-option.form-check {
  border: 1px solid #e3e3e3;
  padding: 15px;
  padding-bottom: 0px;
}
.payment-option.form-check input:checked ~ span, .payment-option.form-check input:checked ~ .fa-check-circle, .payment-option.form-check input:checked ~ .fa-check-square {
  color: #bb4a92;
}
.payment-option.form-check .payment-amount .convenience {
  font-size: 12px;
  color: #929292;
}
.payment-option.form-check .payment-terms {
  color: #929292;
  font-size: 12px;
  margin-top: 15px;
  margin-bottom: 0;
}
.payment-option.form-check .payment-note {
  display: none;
  margin: 15px -15px 0;
  vertical-align: middle;
}
.payment-option.form-check .payment-note img {
  margin-right: 5px;
}
.payment-option.form-check.selected {
  border-color: #bb4a92;
}
.payment-option.form-check.selected .payment-note {
  display: block;
}

.easypay-details-payments-row {
  background-color: #faf8f7;
  padding: 0.5rem;
  text-align: center;
}
.easypay-details-payments-row .easypay-details-payments-dates {
  color: #929292;
  font-size: 12px;
}
.easypay-details-payments-row .easypay-details-payments-amt {
  font-size: 12px;
}

.elite-container .navbar::after {
  content: none;
}
.elite-container .navbar .elite {
  border-left: 1px solid #414145;
  font-size: 32px;
  line-height: 1;
  padding-left: 15px;
}
.elite-container .scrollable {
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #f0eeed #929292;
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.elite-container .scrollable::-webkit-scrollbar {
  width: 12px;
}
.elite-container .scrollable::-webkit-scrollbar-track {
  background-color: #f0eeed;
}
.elite-container .scrollable::-webkit-scrollbar-thumb {
  background: #7f7f7f;
  border: solid 3px #f0eeed;
  border-radius: 8px;
}
.elite-container .scrollable::-webkit-scrollbar-thumb:hover {
  background: #929292;
}
.elite-container .dropdown.filter .btn {
  padding: 8px 12px 8px 18px;
  text-align: left;
  min-width: 140px;
}
.elite-container .dropdown.filter .btn div {
  margin-right: 1rem;
}
.elite-container .dropdown.filter .btn svg {
  transition: transform 0.2s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.elite-container .dropdown.filter.show .btn {
  background-color: #faf8f7;
}
.elite-container .dropdown.filter.show .btn svg {
  transform: rotate(180deg);
}
.elite-container .dropdown.filter .dropdown-menu {
  border: solid 1px #000;
  border-radius: 8px;
  min-width: 13rem;
}
.elite-container .dropdown.filter .dropdown-menu .dropdown-item {
  text-decoration: none;
  border-bottom: 1px solid #414145;
  padding: 0.5rem 1rem;
  line-height: 1.5;
}
.elite-container .dropdown.filter .dropdown-menu .dropdown-item:last-child {
  border-bottom: 0;
}
.elite-container .dropdown.filter .dropdown-menu .dropdown-item:hover, .elite-container .dropdown.filter .dropdown-menu .dropdown-item:focus,
.elite-container .dropdown.filter .dropdown-menu .dropdown-item .selected {
  background-color: unset;
  color: #bb4a92;
}
.elite-container .dropdown.filter .dropdown-menu .dropdown-item.active {
  background-color: #414145;
}
.elite-container .cart.icon {
  padding: 0;
}
.elite-container .cart.icon .cart-items {
  position: static;
  font-size: inherit;
  padding: 0;
  width: unset;
  height: unset;
  background: unset;
  border: unset;
  letter-spacing: unset;
  color: currentColor;
}
.elite-container .cart.icon .btn#cartDropdownToggle {
  background-color: unset;
  border-radius: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 25px;
  height: 100%;
}
.elite-container .cart.icon .dropdown-menu {
  left: unset;
  right: 0;
  padding: 0;
  min-width: 17rem;
  border-radius: 20px;
}
.elite-container .cart.icon .dropdown-menu .card {
  border: 1px solid #000;
  border-radius: 20px;
}
.elite-container .cart.icon.show .btn#cartDropdownToggle {
  background-color: #bb4a92;
}
.elite-container .cart.icon #cartItems {
  padding: 0 15px 0 0;
  max-height: calc(100vh - 350px);
  margin-right: -15px;
}
.elite-container .cart.icon #cartItems > div {
  padding: 0.5rem 0;
  border-bottom: 1px solid #414145;
}
.elite-container .cart.icon #cartItems > div:last-child {
  border: 0;
}
.elite-container .card.cart-summary {
  border: 0;
}
.elite-container .card.cart-summary .card-header {
  border-radius: 20px 20px 0 0;
  background-color: #faf8f7;
}
.elite-container .card.cart-summary .card-body hr {
  border-top: 1px solid #414145;
}
.elite-container .card.cart-summary .card-body p {
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.elite-container .card.cart-summary .card-body .cart-item p {
  font-weight: 400;
}
.elite-container .card.cart-summary .card-body .cart-item .product-name {
  font-weight: 700;
}
.elite-container .card.cart-summary .card-body .cart-item .product-price {
  font-weight: 500;
}
.elite-container .card.cart-summary .card-body .cart-item .product-description {
  font-size: 12px;
}
.elite-container .card.cart-summary .card-body .cart-item .product-description ul {
  padding-left: 1.5rem;
  margin-bottom: 0.25rem;
}
.elite-container .card.cart-summary .card-body h4 {
  font-size: 0.875rem;
}
.elite-container .card.cart-summary .card-body .remove-cart-item {
  font-size: 14px;
  color: #929292;
  margin-left: 0.25rem;
}
.elite-container .left-content {
  width: 220px;
  height: 100vh;
  border-right: solid 1px #000;
  position: sticky;
  top: 0;
}
.elite-container .left-content .navbar {
  padding: 1.25rem 0;
  justify-content: start;
}
.elite-container .left-content .navbar .navbar-brand {
  padding: 0 0 0 5px;
}
.elite-container .left-content h4 {
  font-weight: 500;
}
.elite-container .left-content .step-action {
  border-top: 1px solid #000;
}
.elite-container .left-content .scrollable {
  border-top: 1px solid #000;
}
.elite-container .left-content .card.cart-summary .card-body {
  padding: 16px 0;
}
.elite-container .main-content > .header {
  position: sticky;
  top: 0;
  z-index: 2;
}
.elite-container .main-content > .header > .row {
  border-bottom: 1px solid #000;
  background-color: #fff;
}
.elite-container .main-content .page-title h3,
.elite-container .main-content .section-title h3 {
  font-weight: 300;
}
.elite-container .main-content .page-title h3 small a,
.elite-container .main-content .section-title h3 small a {
  font-size: 14px;
  color: #555555;
  text-decoration: underline;
}
.elite-container .main-content .page-title h4,
.elite-container .main-content .section-title h4 {
  font-weight: 300;
  font-size: 24px;
}
.elite-container .main-content .above-fold {
  min-height: calc(100vh - 160px);
}
.elite-container .checkout-section {
  background-color: #faf8f7;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 2rem;
}
.elite-container .checkout-section h4 {
  font-size: 24px;
  font-weight: 300;
}
.elite-container .payment-option,
.elite-container .payment-profile.card {
  height: 100%;
  border-radius: 8px;
  background-color: #faf8f7;
}
.elite-container .payment-option label,
.elite-container .payment-profile.card label {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}
.elite-container .payment-option label h4,
.elite-container .payment-profile.card label h4 {
  font-size: 20px;
  font-weight: 400;
  margin: 0.5rem 0;
}
.elite-container .payment-option label p,
.elite-container .payment-profile.card label p {
  font-size: 0.875rem;
}
.elite-container .payment-option label svg,
.elite-container .payment-profile.card label svg {
  font-size: 20px;
  height: 20px;
}
.elite-container .payment-option label .btn-select-option,
.elite-container .payment-profile.card label .btn-select-option {
  background-color: #f0eeed;
  border: 0;
  border-radius: 24px;
  padding: 4px 16px;
  font-size: 16px;
  line-height: 1.5;
  align-self: center;
}
.elite-container .payment-option label .btn-select-option .selected,
.elite-container .payment-profile.card label .btn-select-option .selected {
  display: none;
}
.elite-container .payment-option label input:checked ~ .btn-select-option,
.elite-container .payment-profile.card label input:checked ~ .btn-select-option {
  background-color: #bb4a92;
  padding-left: 32px;
  position: relative;
}
.elite-container .payment-option label input:checked ~ .btn-select-option::before,
.elite-container .payment-profile.card label input:checked ~ .btn-select-option::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 8px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.elite-container .payment-option label input:checked ~ .btn-select-option .select,
.elite-container .payment-profile.card label input:checked ~ .btn-select-option .select {
  display: none;
}
.elite-container .payment-option label input:checked ~ .btn-select-option .selected,
.elite-container .payment-profile.card label input:checked ~ .btn-select-option .selected {
  display: unset;
  color: #fff;
}
.elite-container .payment-option .card-footer,
.elite-container .payment-profile.card .card-footer {
  border: 0;
  padding: 0 1.25rem 0.75rem;
  background-color: transparent;
}
.elite-container .payment-option .payment-terms,
.elite-container .payment-profile.card .payment-terms {
  text-align: center;
  margin: 0;
}
.elite-container .payment-option.selected,
.elite-container .payment-profile.card.selected {
  background-color: #fff;
  border-color: #000;
}
.elite-container .easypay-details-payments-row {
  padding: 0;
  border-radius: 8px;
}
.elite-container .easypay-details-payments-row h4 {
  font-size: 18px;
  font-weight: 500;
}
.elite-container .easypay-details-payments-row .easypay-details-payments-dates {
  font-size: 16px;
}
.elite-container .easypay-details-payments-row .easypay-details-payments-amt {
  font-size: 16px;
  font-weight: 500;
}
.elite-container .payment-profile.card {
  min-height: 150px;
}
.elite-container .payment-profile.card label {
  font-weight: 400;
}
.elite-container .payment-profile.card label h4 {
  font-size: 18px;
  font-weight: 500;
}
.elite-container .payment-profile.card label p {
  margin-bottom: 0.75rem;
}
.elite-container .payment-profile.card label .cardNumber,
.elite-container .payment-profile.card label .expiry {
  font-weight: 500;
}
.elite-container .payment-profile.card label .btn-select-option {
  background-color: #f0eeed;
  border: 0;
  border-radius: 24px;
  padding: 4px 16px;
  font-size: 16px;
  line-height: 1.5;
  align-self: center;
}
.elite-container .payment-profile.card label .btn-select-option .selected {
  display: none;
}
.elite-container .payment-profile.card label input:checked ~ .btn-select-option {
  background-color: #bb4a92;
  padding-left: 32px;
  position: relative;
}
.elite-container .payment-profile.card label input:checked ~ .btn-select-option::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 8px;
  width: 5px;
  height: 11px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.elite-container .payment-profile.card label input:checked ~ .btn-select-option .select {
  display: none;
}
.elite-container .payment-profile.card label input:checked ~ .btn-select-option .selected {
  display: unset;
  color: #fff;
}
.elite-container #aurigma-editor-root {
  color: #000;
}
.elite-container #aurigma-editor-root .toggle-title,
.elite-container #aurigma-editor-root .item-description .item-title {
  color: #000;
}
.elite-container.dark-mode {
  background-color: #000;
  color: #fff;
}
.elite-container.dark-mode .navbar {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .navbar .navbar .menu-toggle span {
  border-bottom: solid 2px #fff;
}
.elite-container.dark-mode .elite-navigation {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .dropdown.filter .btn {
  color: #fff;
  background-color: #414145;
  border: 1px solid #2a2a2a;
}
.elite-container.dark-mode .dropdown.filter.show .btn {
  background-color: #000;
}
.elite-container.dark-mode .dropdown.filter .dropdown-menu {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .dropdown.filter .dropdown-menu .dropdown-item {
  color: #fff;
}
.elite-container.dark-mode .scrollable {
  scrollbar-color: #111 #929292;
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.elite-container.dark-mode .scrollable::-webkit-scrollbar {
  width: 12px;
}
.elite-container.dark-mode .scrollable::-webkit-scrollbar-track {
  background-color: #111;
}
.elite-container.dark-mode .scrollable::-webkit-scrollbar-thumb {
  background: #7f7f7f;
  border: solid 3px #111;
  border-radius: 8px;
}
.elite-container.dark-mode .scrollable::-webkit-scrollbar-thumb:hover {
  background: #929292;
}
.elite-container.dark-mode .cart.icon .btn#cartDropdownToggle {
  color: #fff;
}
.elite-container.dark-mode .cart.icon .dropdown-menu {
  color: #fff;
  background-color: #2a2a2a;
}
.elite-container.dark-mode .card.cart-summary {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .card.cart-summary .card-header {
  background-color: #414145;
}
.elite-container.dark-mode .left-content {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .main-content > .header > .row {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .checkout-section {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .payment-option,
.elite-container.dark-mode .payment-profile.card {
  background-color: #2a2a2a;
}
.elite-container.dark-mode .payment-option label .btn-select-option,
.elite-container.dark-mode .payment-profile.card label .btn-select-option {
  background-color: #111;
  color: #fff;
}
.elite-container.dark-mode .payment-option.selected,
.elite-container.dark-mode .payment-profile.card.selected {
  border-color: #bb4a92;
}
.elite-container.dark-mode .retouching-samples-pills {
  background-color: unset;
}
.elite-container.dark-mode .retouching-samples-pills .nav-link {
  background: #111;
}
.elite-container.dark-mode .retouching-samples-pills .nav-link.active {
  background: #bb4a92;
}

.fullscreen-section .banner.black-banner {
  background-color: #000;
  color: #fff;
}
.fullscreen-section .banner.gray-banner {
  background-color: #faf8f7;
}
.fullscreen-section .banner h1 {
  font-size: 36px;
  font-family: "Montserrat", "Roboto", Arial, Verdana, sans-serif;
  font-weight: 900;
  line-height: 1.1;
}
@media (min-width: 992px) {
  .fullscreen-section .banner {
    min-height: calc(100vh - 76px);
  }
  .fullscreen-section .banner h1 {
    font-size: 60px;
    line-height: 1;
  }
}
.fullscreen-section .banner .banner-image {
  margin: 0 -15px;
  padding: 0 15px;
  text-align: center;
  position: relative;
}
.fullscreen-section .banner .banner-image::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 50%;
  width: 100%;
  background-color: #faf8f7;
  z-index: 0;
}
.fullscreen-section .banner .banner-image::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  height: 50%;
  width: 100%;
  background-color: #fff;
  z-index: 0;
}
.fullscreen-section .banner .banner-image img.img-fluid {
  position: relative;
  z-index: 1;
  padding: 0 3rem;
}
@media (min-width: 768px) {
  .fullscreen-section .banner .banner-image img.img-fluid {
    padding: 0;
  }
}
@media (min-width: 768px) {
  .fullscreen-section .banner .banner-image::before, .fullscreen-section .banner .banner-image::after {
    content: none;
  }
}
.fullscreen-section .banner .banner-image a {
  opacity: 1;
  outline: none;
}

.data-form .form-step {
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  color: #bb4a92;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.data-form h3 {
  line-height: 1.2;
}
.data-form .form-group label:not(.is-invalid),
.data-form .form-group .EditingFormLabel {
  display: flex;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  color: #2a2a2a;
  margin-left: 0;
}
.data-form .form-group label:not(.is-invalid) span,
.data-form .form-group .EditingFormLabel span {
  margin-right: 0.25em;
}
.data-form input[type=text].form-control,
.data-form input[type=email].form-control,
.data-form textarea.form-control,
.data-form select.form-control {
  border-radius: 12px;
  border: solid 1px #ddd;
}
.data-form input[type=text].form-control.is-invalid, .data-form input[type=text].form-control:focus,
.data-form input[type=email].form-control.is-invalid,
.data-form input[type=email].form-control:focus,
.data-form textarea.form-control.is-invalid,
.data-form textarea.form-control:focus,
.data-form select.form-control.is-invalid,
.data-form select.form-control:focus {
  border: 1px solid #bb4a92;
}
.data-form .Error > select.form-control {
  border: 1px solid #bb4a92;
}
.data-form .typeahead__cancel-button {
  line-height: 1.6;
}

.landing-page {
  background-color: #faf8f7;
}
.landing-page,
.landing-page h1,
.landing-page .h1,
.landing-page h2,
.landing-page .h2,
.landing-page h3,
.landing-page .h3,
.landing-page h4,
.landing-page .h4,
.landing-page h5,
.landing-page .h5,
.landing-page h6,
.landing-page .h6,
.landing-page p {
  font-family: "Montserrat", "Roboto", Arial, Verdana, sans-serif;
}
.landing-page .navbar::after {
  content: none;
}
.landing-page .card.presentation-status h6 {
  font-weight: 500;
}
.landing-page .footer hr {
  border-top: 1px solid #2a2a2a;
  margin: 2rem 0;
}

.line-items > div {
  display: flex;
  justify-content: space-between;
}

.buttons-table tr td {
  text-align: center;
  border-top: none;
  border-bottom: none;
  background: transparent;
  color: #fff;
}
.buttons-table tr td .btn {
  border: none;
}

.cursor-pointer {
  cursor: pointer;
}

.milestones {
  display: flex;
  justify-content: space-between;
  isolation: isolate;
  padding-top: 0.5rem;
  overflow: hidden;
}
.milestones .milestone {
  --dot-size: 8px;
  --dot-color: #bb4a92;
  --active-dot-size: 8px;
  --active-dot-color: #fff;
  --active-dot-border: #bb4a92;
  --line-size: 2px;
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  position: relative;
  padding-top: 0.5rem;
}
.milestones .milestone .point {
  position: absolute;
  top: 0;
  left: 50%;
  border-radius: 50%;
  width: var(--dot-size);
  height: var(--dot-size);
  background: var(--dot-color);
  transform: translate(-50%, -50%);
}
.milestones .milestone::before {
  content: "";
  position: absolute;
  top: calc(var(--line-size) * -0.25);
  right: calc(50% + var(--dot-size) / 2);
  width: 100%;
  border-top: solid var(--line-size) #bb4a92;
  z-index: -1;
}
.milestones .milestone:first-child {
  text-align: left;
}
.milestones .milestone:first-child::before {
  content: unset;
}
.milestones .milestone:first-child .point {
  left: 0;
  transform: translateY(-50%);
}
.milestones .milestone:first-child + .milestone::before {
  width: 150%;
}
.milestones .milestone:last-child {
  text-align: right;
}
.milestones .milestone:last-child .point {
  left: unset;
  right: 0;
  transform: translateY(-50%);
}
.milestones .milestone:last-child::before {
  width: 175%;
  right: 0;
}
.milestones .milestone:not(:first-child):not(:last-child) {
  flex-basis: 10%;
}
.milestones .milestone:not(:first-child):not(:last-child) .label {
  padding-inline: 0.75rem;
}
.milestones .milestone.active {
  --dot-size: calc(var(--active-dot-size) + var(--line-size) * 2);
}
.milestones .milestone.active .point {
  border: solid var(--line-size) var(--active-dot-border);
  background: var(--active-dot-color);
}
.milestones .milestone.active .label {
  font-weight: bold;
}
.milestones .milestone.disabled::before {
  border-color: #ddd;
  z-index: -2;
}
.milestones .milestone.disabled .point {
  background: #ddd;
}