/* Body */
/* Divider */
/* Status */
/* App: Toolbar */
/* App: Header */
/* Card */
/* Message */
/* Background */
/* Form */
/* Buttons */
/* Link */
/* Member Company/ Personal */
/* Admin Console */
/* Admin Form */
/* Datatable */
/* Views */
/* On and Off */
/* Status */
/* Members */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjNPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4ejMPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4TbMPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjMPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4VrMPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4bbLPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4Y_LPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4ejLPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4cHLPrQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvao4CP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVtaooCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVuEooCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaooCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvoooCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpYCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pYCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVtapYCP.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v37/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVtzpYCP.ttf) format('truetype');
}
/* MIXIN */
/* Background */
/* Spacing */
/* Display */
/* Position */
/* Images */
/* Borders and Shadow */
/* Division */
/* Font */
/* Columns and Sub-division */
/* Generate Classes */
html body {
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
  /* Height (REM)) */
}
html body .row-space-r0 {
  width: 100%;
  height: 0rem;
}
html body .row-space-r1 {
  width: 100%;
  height: 1rem;
}
html body .row-space-r2 {
  width: 100%;
  height: 2rem;
}
html body .row-space-r4 {
  width: 100%;
  height: 4rem;
}
html body .row-space-r8 {
  width: 100%;
  height: 8rem;
}
html body .row-space-r12 {
  width: 100%;
  height: 12rem;
}
html body .row-space-r15 {
  width: 100%;
  height: 15rem;
}
html body .row-space-r16 {
  width: 100%;
  height: 16rem;
}
html body .row-space-r18 {
  width: 100%;
  height: 18rem;
}
html body .row-space-r20 {
  width: 100%;
  height: 20rem;
}
html body .row-space-r24 {
  width: 100%;
  height: 24rem;
}
html body .row-space-r30 {
  width: 100%;
  height: 30rem;
}
html body .row-space-r36 {
  width: 100%;
  height: 36rem;
}
html body .row-space-r40 {
  width: 100%;
  height: 40rem;
}
html body .row-space-r48 {
  width: 100%;
  height: 48rem;
}
html body .row-space-r50 {
  width: 100%;
  height: 50rem;
}
html body .row-space-r64 {
  width: 100%;
  height: 64rem;
}
/* Reset */
html {
  font-size: 10px;
  font-weight: 300;
  line-height: 12.5px;
  scroll-behavior: smooth;
}
html * {
  padding: 0;
  margin: 0;
  overflow: hidden;
  max-width: 100svw;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
  outline: none;
}
html *::-webkit-scrollbar {
  display: none;
}
html body {
  padding: 0;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2rem;
  width: 100svw;
  font-family: "Raleway", serif;
  font-optical-sizing: none;
  background-color: #F7F9FA;
  color: #333333;
  min-width: 100svw;
  max-width: 100svw;
  overflow: hidden;
}
html body img {
  max-width: 100%;
}
html body div.message {
  width: 100%;
  padding: 1rem;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2rem;
}
/* Common Classes: Text Alignment */
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
/* Common Class: Column Container */
.col2 {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
.col2 > *:not(.fullwidth) {
  width: calc(100%/2) !important;
}
.col3 {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
.col3 > *:not(.fullwidth) {
  width: calc(100%/3) !important;
}
.col4 {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
.col4 > *:not(.fullwidth) {
  width: calc(100%/4) !important;
}
.col5 {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
.col5 > *:not(.fullwidth) {
  width: calc(100%/5) !important;
}
/* Common Classes: Visibility */
.hidden {
  display: none !important;
}
.sticky {
  position: sticky;
  top: 0;
}
.sticky-top {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 0;
}
/* Common Classes: Divider */
.text-divider {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 1rem 0 1rem 0;
}
.text-divider.small {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1rem;
  padding: 5px 0 5px 0;
}
.text-divider::before,
.text-divider::after {
  margin: 0;
  padding: 0;
  height: 1px;
  flex-grow: 1;
  background-color: #77CA7A;
  color: inherit;
  content: '';
}
/* Colour Codes */
.bg-new {
  background-color: #28A745;
  color: #FFFFFF;
}
.bg-pending {
  background-color: #FFC107;
  color: #FFFFFF;
}
.bg-confirmed {
  background-color: #17A2B8;
  color: #FFFFFF;
}
.bg-completed {
  background-color: #00674F;
  color: #FFFFFF;
}
.bg-expired {
  background-color: #6C757D;
  color: #FFFFFF;
}
.bg-cancelled {
  background-color: #DC3545;
  color: #FFFFFF;
}
.bg-blocked {
  background-color: #343A40;
  color: #FFFFFF;
}
.bg-valid {
  background-color: #17A2B8;
  color: #FFFFFF;
}
.bg-used {
  background-color: #00674F;
  color: #FFFFFF;
}
.text-new {
  background-color: inherit;
  color: #28A745;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
.text-pending {
  background-color: inherit;
  color: #FFC107;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
.text-confirmed,
.text-valid {
  background-color: inherit;
  color: #17A2B8;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
.text-completed {
  background-color: inherit;
  color: #00674F;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
.text-expired {
  background-color: inherit;
  color: #6C757D;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
.text-cancelled {
  background-color: inherit;
  color: #DC3545;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
.text-blocked {
  background-color: inherit;
  color: #343A40;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
/* Icons */
.icon {
  flex-shrink: 0;
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-size: 2rem;
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0;
}
.icon.clickable {
  cursor: pointer;
}
.icon.huge {
  font-size: 6rem;
  line-height: 6rem;
}
.icon.large {
  font-size: 4rem;
  line-height: 4rem;
}
.icon.medium {
  font-size: 3rem;
  line-height: 3rem;
}
.icon.small {
  font-size: 2rem;
  line-height: 2rem;
}
.icon.personal {
  color: #DCDCDC;
  font-weight: 700;
}
.icon.company {
  color: #007BFF;
  font-weight: 700;
}
.icon.round {
  border-radius: 1000px;
  overflow: hidden;
  padding: 1rem;
}
.number {
  font-family: "Noto Sans Mono", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}
/* Image Icons */
html body .image-icon {
  width: 4rem;
  height: 4rem;
}
html body .image-icon.whatsapp {
  background-image: url("/img/image-icons/imageIconWhatsapp.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
html body .image-icon.facebook {
  background-image: url("/img/image-icons/imageIconFacebook.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
html body .image-icon.instagram {
  background-image: url("/img/image-icons/imageIconInstagram.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
html body .image-icon.tiktok {
  background-image: url("/img/image-icons/imageIconTikTok.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
/* Links */
html body {
  /* Links */
}
html body a,
html body a:active,
html body a:visited {
  color: #1F8E5F;
  text-decoration: none;
  cursor: pointer;
}
html body a:not(.action):hover,
html body a:active:not(.action):hover,
html body a:visited:not(.action):hover {
  color: #166443;
}
html body a[target]:not(:has(.image-icon)):after {
  flex-shrink: 0;
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-size: 2rem;
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: inherit;
  padding: 0 0 0 1rem;
  content: 'display_external_input';
}
html body a[target]:not(:has(.image-icon)):after.clickable {
  cursor: pointer;
}
html body a[target]:not(:has(.image-icon)):after.huge {
  font-size: 6rem;
  line-height: 6rem;
}
html body a[target]:not(:has(.image-icon)):after.large {
  font-size: 4rem;
  line-height: 4rem;
}
html body a[target]:not(:has(.image-icon)):after.medium {
  font-size: 3rem;
  line-height: 3rem;
}
html body a[target]:not(:has(.image-icon)):after.small {
  font-size: 2rem;
  line-height: 2rem;
}
html body a[target]:not(:has(.image-icon)):after.personal {
  color: #DCDCDC;
  font-weight: 700;
}
html body a[target]:not(:has(.image-icon)):after.company {
  color: #007BFF;
  font-weight: 700;
}
html body a[target]:not(:has(.image-icon)):after.round {
  border-radius: 1000px;
  overflow: hidden;
  padding: 1rem;
}
/* Form */
html body form {
  width: 100%;
  padding: 0;
  margin: 0;
}
html body form fieldset {
  width: 100%;
  border: solid 0 transparent;
  padding: 0;
  margin: 0;
}
html body form fieldset > .section-title {
  font-size: 2rem;
  font-weight: 200;
  line-height: 3rem;
  background-color: transparent;
  color: #333333;
  border-bottom: solid 1px #1F8E5F;
}
html body form fieldset .field-row {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: start;
  align-items: end;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
}
html body form fieldset div.input {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: start;
  align-items: start;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 1rem;
  margin-bottom: 1rem;
}
html body form fieldset div.input:has(.withicon) {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: solid 1px #A5D4B0;
}
html body form fieldset div.input:has(.withicon) label {
  display: none;
}
html body form fieldset div.input:has(.withicon) input {
  border: none;
  width: calc(100% - 4rem);
}
html body form fieldset div.input:has(.withicon) input:focus,
html body form fieldset div.input:has(.withicon) input.hover {
  border: none;
}
html body form fieldset div.input:has(.withicon):has(.error-message) {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
html body form fieldset div.input:has(.withicon):has(.error-message) .error-message {
  width: 100%;
  position: relative;
  left: 0;
  top: 0;
  right: auto;
  bottom: auto;
  background-color: transparent;
  color: #cc0000;
  flex-basis: 100%;
  padding-left: 4rem;
}
html body form fieldset div.input:has(.withicon):before {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 4rem;
  flex-shrink: 0;
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-size: 2rem;
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0;
  width: 4rem;
  height: 4rem;
  text-align: center;
  background: transparent;
}
html body form fieldset div.input:has(.withicon):before.clickable {
  cursor: pointer;
}
html body form fieldset div.input:has(.withicon):before.huge {
  font-size: 6rem;
  line-height: 6rem;
}
html body form fieldset div.input:has(.withicon):before.large {
  font-size: 4rem;
  line-height: 4rem;
}
html body form fieldset div.input:has(.withicon):before.medium {
  font-size: 3rem;
  line-height: 3rem;
}
html body form fieldset div.input:has(.withicon):before.small {
  font-size: 2rem;
  line-height: 2rem;
}
html body form fieldset div.input:has(.withicon):before.personal {
  color: #DCDCDC;
  font-weight: 700;
}
html body form fieldset div.input:has(.withicon):before.company {
  color: #007BFF;
  font-weight: 700;
}
html body form fieldset div.input:has(.withicon):before.round {
  border-radius: 1000px;
  overflow: hidden;
  padding: 1rem;
}
html body form fieldset div.input:has(.withicon):has(.username):before {
  content: 'person';
}
html body form fieldset div.input:has(.withicon):has(.mobile):before {
  content: 'smartphone';
}
html body form fieldset div.input:has(.withicon):has(.password):before {
  content: 'lock';
}
html body form fieldset div.input:has(.withicon):has(.email):before {
  content: 'mail';
}
html body form fieldset div.input input,
html body form fieldset div.input select,
html body form fieldset div.input textarea {
  background-color: transparent;
  color: #444444;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 4rem;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: rgba(99, 99, 99, 0) 0 2px 8px 0;
  width: 100%;
  height: 4rem;
  border: solid 1px #A5D4B0;
  padding: 0 1rem 0 1rem;
  outline: none;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
html body form fieldset div.input input:hover,
html body form fieldset div.input select:hover,
html body form fieldset div.input textarea:hover,
html body form fieldset div.input input:focus,
html body form fieldset div.input select:focus,
html body form fieldset div.input textarea:focus {
  border-color: #82c492;
}
html body form fieldset div.input textarea {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2rem;
  height: 10rem;
  padding: 1rem;
  overflow: scroll;
}
html body form fieldset div.input .trumbowyg-editor,
html body form fieldset div.input .trumbowyg-editor * {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
html body form fieldset div.buttons {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 1rem;
}
html body form fieldset div.buttons.center {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
}
html body form fieldset div.buttons > button {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 4rem;
  border-radius: 5px;
  overflow: hidden;
  padding: 0 2rem;
  border: none;
  cursor: pointer;
}
html body form fieldset div.buttons > button.primary,
html body form fieldset div.buttons > button[type=submit].primary {
  background-color: #1F8E5F;
  color: #FFFFFF;
}
html body form fieldset div.buttons > button.primary:hover,
html body form fieldset div.buttons > button[type=submit].primary:hover {
  background-color: #166443;
}
html body form fieldset div.buttons > button.secondary,
html body form fieldset div.buttons > button[type=submit].secondary {
  background-color: #A5D4B0;
  color: #FFFFFF;
}
html body form fieldset div.buttons > button.secondary:hover,
html body form fieldset div.buttons > button[type=submit].secondary:hover {
  background-color: #82c492;
}
html body form fieldset div.buttons > button[type=submit] {
  background-color: #1F8E5F;
  color: #FFFFFF;
}
html body form fieldset div.buttons > button[type=submit]:hover {
  background-color: #166443;
}
/* Cards */
html body .cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: start;
  align-items: start;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
}
html body .cards.full {
  width: 100%;
  padding: 0 !important;
}
html body .cards:has(.card.full) {
  padding: 0;
}
html body .cards:has(.card.flat),
html body .cards:has(.card.stretch) {
  overflow: scroll;
}
/* Company Info Box */
html body .company-info-box,
html body .promotion-info-box,
html body .booking-info-box,
html body .redemption-info-box,
html body .profile-info-box {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: start;
  align-items: start;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
}
html body .company-info-box .banner-image,
html body .promotion-info-box .banner-image,
html body .booking-info-box .banner-image,
html body .redemption-info-box .banner-image,
html body .profile-info-box .banner-image {
  padding: 0;
  width: 100%;
}
html body .company-info-box .banner-image > img,
html body .promotion-info-box .banner-image > img,
html body .booking-info-box .banner-image > img,
html body .redemption-info-box .banner-image > img,
html body .profile-info-box .banner-image > img {
  width: 100%;
}
html body .company-info-box .banner-image > .action,
html body .promotion-info-box .banner-image > .action,
html body .booking-info-box .banner-image > .action,
html body .redemption-info-box .banner-image > .action,
html body .profile-info-box .banner-image > .action {
  border-radius: 1000px;
  overflow: hidden;
  box-shadow: rgba(99, 99, 99, 0.5) 0 2px 8px 0;
  position: absolute;
  left: 1rem;
  top: 7rem;
  right: auto;
  bottom: auto;
  width: 4rem;
  height: 4rem;
  background-color: rgba(255, 255, 255, 0.5);
  color: inherit;
}
html body .company-info-box .banner-image > .action > a,
html body .promotion-info-box .banner-image > .action > a,
html body .booking-info-box .banner-image > .action > a,
html body .redemption-info-box .banner-image > .action > a,
html body .profile-info-box .banner-image > .action > a {
  font-size: 2rem;
  font-weight: 900;
  line-height: 4rem;
  text-align: center;
  width: 4rem;
}
html body .company-info-box .sticky,
html body .promotion-info-box .sticky,
html body .booking-info-box .sticky,
html body .redemption-info-box .sticky,
html body .profile-info-box .sticky {
  background-color: #FFFFFF;
  color: inharit;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: rgba(99, 99, 99, 0.5) 0 2px 8px 0;
}
html body .company-info-box .offset-top,
html body .promotion-info-box .offset-top,
html body .booking-info-box .offset-top,
html body .redemption-info-box .offset-top,
html body .profile-info-box .offset-top {
  margin-top: -2rem;
}
html body .company-info-box .info-row,
html body .promotion-info-box .info-row,
html body .booking-info-box .info-row,
html body .redemption-info-box .info-row,
html body .profile-info-box .info-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 2rem;
}
html body .company-info-box .info-row.full,
html body .promotion-info-box .info-row.full,
html body .booking-info-box .info-row.full,
html body .redemption-info-box .info-row.full,
html body .profile-info-box .info-row.full {
  padding: 0.5rem 0 0.5rem 0;
}
html body .company-info-box .info-row img,
html body .promotion-info-box .info-row img,
html body .booking-info-box .info-row img,
html body .redemption-info-box .info-row img,
html body .profile-info-box .info-row img {
  max-width: 50%;
}
html body .company-info-box .info-row .actions-box,
html body .promotion-info-box .info-row .actions-box,
html body .booking-info-box .info-row .actions-box,
html body .redemption-info-box .info-row .actions-box,
html body .profile-info-box .info-row .actions-box {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  padding: 0;
}
html body .company-info-box .info-row .actions-box .action,
html body .promotion-info-box .info-row .actions-box .action,
html body .booking-info-box .info-row .actions-box .action,
html body .redemption-info-box .info-row .actions-box .action,
html body .profile-info-box .info-row .actions-box .action {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 2rem;
  border-radius: 1000px;
  border: solid 1px #1F8E5F;
  background-color: transparent;
  color: #1F8E5F;
  width: 10rem;
  text-align: center;
  overflow: hidden;
}
html body .company-info-box .info-column,
html body .promotion-info-box .info-column,
html body .booking-info-box .info-column,
html body .redemption-info-box .info-column,
html body .profile-info-box .info-column {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: start;
  align-items: start;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 2rem;
}
html body .company-info-box .info-column > *,
html body .promotion-info-box .info-column > *,
html body .booking-info-box .info-column > *,
html body .redemption-info-box .info-column > *,
html body .profile-info-box .info-column > * {
  width: 100%;
}
html body .company-info-box .info-row-item,
html body .promotion-info-box .info-row-item,
html body .booking-info-box .info-row-item,
html body .redemption-info-box .info-row-item,
html body .profile-info-box .info-row-item {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 0;
}
html body .company-info-box .info-row-item:has(.image-icon),
html body .promotion-info-box .info-row-item:has(.image-icon),
html body .booking-info-box .info-row-item:has(.image-icon),
html body .redemption-info-box .info-row-item:has(.image-icon),
html body .profile-info-box .info-row-item:has(.image-icon) {
  flex-grow: 0;
  flex-shrink: 0;
  width: 6rem;
}
html body .company-info-box .photos-list,
html body .promotion-info-box .photos-list,
html body .booking-info-box .photos-list,
html body .redemption-info-box .photos-list,
html body .profile-info-box .photos-list {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 0 2rem 0 2rem;
}
html body .company-info-box .photos-list .photo,
html body .promotion-info-box .photos-list .photo,
html body .booking-info-box .photos-list .photo,
html body .redemption-info-box .photos-list .photo,
html body .profile-info-box .photos-list .photo {
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 16rem;
  height: 8.96rem;
  box-shadow: rgba(99, 99, 99, 0.5) 0 2px 8px 0;
}
html body .company-info-box .logo,
html body .promotion-info-box .logo,
html body .booking-info-box .logo,
html body .redemption-info-box .logo,
html body .profile-info-box .logo {
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 12rem;
  height: 6.72rem;
}
html body .company-info-box .company-name,
html body .promotion-info-box .company-name,
html body .booking-info-box .company-name,
html body .redemption-info-box .company-name,
html body .profile-info-box .company-name {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.2rem;
}
html body .company-info-box .company-tagline,
html body .promotion-info-box .company-tagline,
html body .booking-info-box .company-tagline,
html body .redemption-info-box .company-tagline,
html body .profile-info-box .company-tagline {
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.6rem;
}
html body .company-info-box .company-description *,
html body .promotion-info-box .company-description *,
html body .booking-info-box .company-description *,
html body .redemption-info-box .company-description *,
html body .profile-info-box .company-description * {
  font-size: 1.4rem;
  font-weight: auto;
  line-height: 2rem;
}
html body .company-info-box .company-map > iframe,
html body .promotion-info-box .company-map > iframe,
html body .booking-info-box .company-map > iframe,
html body .redemption-info-box .company-map > iframe,
html body .profile-info-box .company-map > iframe {
  height: 56svw;
  max-height: 40svh;
}
html body .company-info-box .instruction,
html body .promotion-info-box .instruction,
html body .booking-info-box .instruction,
html body .redemption-info-box .instruction,
html body .profile-info-box .instruction {
  background-color: transparent;
  color: #1F8E5F;
}
html body .company-info-box table,
html body .promotion-info-box table,
html body .booking-info-box table,
html body .redemption-info-box table,
html body .profile-info-box table {
  width: 100%;
}
html body .company-info-box table tbody tr td.label,
html body .promotion-info-box table tbody tr td.label,
html body .booking-info-box table tbody tr td.label,
html body .redemption-info-box table tbody tr td.label,
html body .profile-info-box table tbody tr td.label {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 2rem;
  width: 50%;
  text-align: right;
}
html body .company-info-box table tbody tr td,
html body .promotion-info-box table tbody tr td,
html body .booking-info-box table tbody tr td,
html body .redemption-info-box table tbody tr td,
html body .profile-info-box table tbody tr td {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2rem;
  width: 50%;
  padding: 0 1rem;
  vertical-align: top;
}
/* Company Info Box: Admin */
html body.admin .company-info-box .banner-image > .action,
html body.admin .promotion-info-box .banner-image > .action,
html body.admin .booking-info-box .banner-image > .action,
html body.admin .redemption-info-box .banner-image > .action,
html body.admin .profile-info-box .banner-image > .action {
  display: none;
}
/* Lightbox */
html body .featherlight {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.75);
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  padding: 2rem;
}
html body .featherlight .featherlight-close-icon {
  position: absolute;
  left: auto;
  top: 2rem;
  right: 2rem;
  bottom: auto;
  background-color: #00674f;
  color: #FFFFFF;
  width: 4rem;
  height: 4rem;
  font-size: 2rem;
  font-weight: 300;
  line-height: 4rem;
  border-radius: 1000px;
  overflow: hidden;
  text-align: center;
  border: none;
  cursor: pointer;
}
/* Default Header */
html body > #header {
  display: none;
}
/* Default Content */
html body > #content {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  height: 100svh;
}
/* Default Toolbar */
html body > #toolbar {
  display: none;
}
/* Card */
html body > #content {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
html body > #content > .cards {
  width: 100%;
  padding: 0 2rem;
}
html body > #content > .cards > .card {
  border-radius: 1rem;
  box-shadow: rgba(99, 99, 99, 0.5) 0 2px 8px 0;
  width: 100%;
  background-color: #FFFFFF;
  color: #333333;
  overflow: hidden;
  margin: 1rem 0;
}
html body > #content > .cards > .card .card-header {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  justify-content: start;
  align-items: center;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  padding: 2rem;
  background-color: #00674f;
  color: #FFFFFF;
}
html body > #content > .cards > .card .card-header .logo {
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 6rem;
  height: 6rem;
  flex-shrink: 0;
  background-image: url("/img/logos/logo-white.png");
}
html body > #content > .cards > .card .card-header .text {
  width: 100%;
}
html body > #content > .cards > .card .card-content {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: start;
  align-items: start;
  flex-wrap: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
  padding: 2rem;
}
html body > #content > .cards > .card .card-content form {
  width: 100%;
}
/* Login */
html body.login > #content {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
html body.login > #content > .cards {
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
}
html body.login > #content > .cards > .card {
  max-width: 36rem;
}
/*# sourceMappingURL=admin_public.css.map */