/* Chirpy theme */
/** Fonts **/
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: local("Montserrat Regular"), local("Montserrat-Regular"), local("Montserrat"), url("/assets/Montserrat/Montserrat-Regular.ttf") format("truetype"), url("/assets/Montserrat/Montserrat-Regular.woff") format("woff"), url("/assets/Montserrat/Montserrat-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: local("Montserrat Bold"), local("Montserrat-Bold"), url("/assets/Montserrat/Montserrat-Bold.ttf") format("truetype"), url("/assets/Montserrat/Montserrat-Bold.woff") format("woff"), url("/assets/Montserrat/Montserrat-Bold.woff2") format("woff2");
}
/** Ionic CSS Variables **/
:root {
  --ion-color-primary: #ff8300;
  --ion-color-primary-rgb: 255, 131, 0;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 0, 0, 0;
  --ion-color-primary-shade: #e07300;
  --ion-color-primary-tint: #ff8f1a;
  --ion-color-primary-subtle: rgba(255, 131, 0, 0.1);
  --ion-color-secondary: #3852f3;
  --ion-color-secondary-rgb: 56, 82, 243;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #0e4586;
  --ion-color-secondary-tint: #5e8df7;
  --ion-color-tertiary: #ffca00;
  --ion-color-tertiary-rgb: 255, 202, 0;
  --ion-color-tertiary-contrast: #000000;
  --ion-color-tertiary-contrast-rgb: 0, 0, 0;
  --ion-color-tertiary-shade: #e0b200;
  --ion-color-tertiary-tint: #ffcf1a;
  --ion-color-success: #08bd77;
  --ion-color-success-rgb: 8, 189, 119;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb: 255, 255, 255;
  --ion-color-success-shade: #07a669;
  --ion-color-success-tint: #21c485;
  --ion-color-warning: #ffce00;
  --ion-color-warning-rgb: 255, 206, 0;
  --ion-color-warning-contrast: #ffffff;
  --ion-color-warning-contrast-rgb: 255, 255, 255;
  --ion-color-warning-shade: #e0b500;
  --ion-color-warning-tint: #ffd31a;
  --ion-color-danger: #ff3e7a;
  --ion-color-danger-rgb: 255, 62, 122;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #e0376b;
  --ion-color-danger-tint: #ff5187;
  --ion-color-dark: #222428;
  --ion-color-dark-rgb: 34, 34, 34;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-tint: #383a3e;
  --ion-color-medium: #989aa2;
  --ion-color-medium-rgb: 152, 154, 162;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #86888f;
  --ion-color-medium-tint: #a2a4ab;
  --ion-color-light: #f5eeef;
  --ion-color-light-rgb: 245, 238, 239;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d8d1d2;
  --ion-color-light-tint: #f6f0f1;
  --ion-color-page-heading: #3852f3;
  --ion-color-page-heading-rgb: 56, 82, 243;
  --ion-color-page-heading-contrast: #ffffff;
  --ion-color-page-heading-contrast-rgb: 255, 255, 255;
  --ion-color-page-heading-shade: #0e4586;
  --ion-color-page-heading-tint: #5e8df7;
  --ion-color-heading: #ffffff;
  --ion-color-heading-rgb: 255, 255, 255;
  --ion-color-heading-contrast: #000000;
  --ion-color-heading-contrast-rgb: 0, 0, 0;
  --ion-color-heading-shade: #e0e0e0;
  --ion-color-heading-tint: #ffffff;
  --ion-color-message-sender: #ff8300;
  --ion-color-message-sender-rgb: 255, 131, 0;
  --ion-color-message-sender-contrast: #ffffff;
  --ion-color-message-sender-contrast-rgb: 0, 0, 0;
  --ion-color-message-sender-shade: #e07300;
  --ion-color-message-sender-tint: #ff8f1a;
  --ion-color-message: #f6f0f1;
  --ion-color-message-rgb: 227, 222, 227;
  --ion-color-message-contrast: #000;
  --ion-color-message-contrast-rgb: 0, 0, 0;
  --ion-color-message-shade: #c8c3c8;
  --ion-color-message-tint: #e6e1e6;
  --ion-color-romance-page-heading: #ff3e7a;
  --ion-color-romance-page-heading-rgb: 255, 62, 122;
  --ion-color-romance-page-heading-contrast: #ffffff;
  --ion-color-romance-page-heading-contrast-rgb: 255, 255, 255;
  --ion-color-romance-page-heading-shade: #e0376b;
  --ion-color-romance-page-heading-tint: #ff5187;
  --ion-color-romance-listing-myself: rgba(255, 206, 0, 0.36);
  --ion-color-romance-listing-myself-hover: rgba(255, 206, 0, 0.56);
  --ion-color-romance-listing-myself-active: rgba(255, 206, 0, 0.56);
  --ion-color-listing-myself: rgba(255, 206, 0, 0.36);
  --ion-color-listing-myself-hover: rgba(255, 206, 0, 0.56);
  --ion-color-listing-myself-active: rgba(255, 206, 0, 0.56);
  --ion-color-toast: #222428;
  --ion-color-toast-rgb: 34, 34, 34;
  --ion-color-toast-contrast: #ffffff;
  --ion-color-toast-contrast-rgb: 255, 255, 255;
  --ion-color-toast-shade: #1e2023;
  --ion-color-toast-tint: #383a3e;
  --ion-heading-font: "Montserrat", var(--ion-default-font);
  --ion-color-blue: #0030e8;
  --ion-color-blue-rgb: 0, 48, 232;
  --ion-color-blue-contrast: #ffffff;
  --ion-color-blue-contrast-rgb: 255, 255, 255;
  --ion-color-blue-shade: #002acc;
  --ion-color-blue-tint: #1a45ea;
  --ion-color-silver: #878a8f;
  --ion-color-silver-rgb: 135, 136, 175;
  --ion-color-silver-contrast: #ffffff;
  --ion-color-silver-contrast-rgb: 255, 255, 255;
  --ion-color-silver-shade: #77789a;
  --ion-color-silver-tint: #77789a;
  --ion-color-gold: #a67c00;
  --ion-color-gold-rgb: 166, 124, 0;
  --ion-color-gold-contrast: #ffffff;
  --ion-color-gold-contrast-rgb: 255, 255, 255;
  --ion-color-gold-shade: #926d00;
  --ion-color-gold-tint: #af891a;
  --ion-color-platinum: #241f21;
  --ion-color-platinum-rgb: 36, 31, 33;
  --ion-color-platinum-contrast: #ffffff;
  --ion-color-platinum-contrast-rgb: 255, 255, 255;
  --ion-color-platinum-shade: #201b1d;
  --ion-color-platinum-tint: #3a3537;
  --ion-color-founder: #af69ee;
  --ion-color-founder-rgb: 175, 105, 238;
  --ion-color-founder-contrast: #ffffff;
  --ion-color-founder-contrast-rgb: 255, 255, 255;
  --ion-color-founder-shade: #9a5cd1;
  --ion-color-founder-tint: #b778f0;
}
ion-content h1,
ion-content h2,
ion-content h3,
ion-content h4,
ion-content h5,
ion-content h6 {
  font-family: var(--ion-heading-font);
  font-weight: 700;
}
/* Page overrides */
.login__logo,
.reset-password__logo {
  max-width: 122px;
  margin: 5px 0;
}
html.ios {
  --ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif;
}

html.md {
  --ion-default-font: "Roboto", "Helvetica Neue", sans-serif;
}

html {
  --ion-font-family: var(--ion-default-font);
}

body {
  background: var(--ion-background-color);
}

body.backdrop-no-scroll {
  overflow: hidden;
}

.ion-color-primary {
  --ion-color-base: var(--ion-color-primary, #3880ff) !important;
  --ion-color-base-rgb: var(--ion-color-primary-rgb, 56, 128, 255) !important;
  --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-primary-shade, #3171e0) !important;
  --ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important;
}

.ion-color-secondary {
  --ion-color-base: var(--ion-color-secondary, #0cd1e8) !important;
  --ion-color-base-rgb: var(--ion-color-secondary-rgb, 12, 209, 232) !important;
  --ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-secondary-shade, #0bb8cc) !important;
  --ion-color-tint: var(--ion-color-secondary-tint, #24d6ea) !important;
}

.ion-color-tertiary {
  --ion-color-base: var(--ion-color-tertiary, #7044ff) !important;
  --ion-color-base-rgb: var(--ion-color-tertiary-rgb, 112, 68, 255) !important;
  --ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-tertiary-shade, #633ce0) !important;
  --ion-color-tint: var(--ion-color-tertiary-tint, #7e57ff) !important;
}

.ion-color-success {
  --ion-color-base: var(--ion-color-success, #10dc60) !important;
  --ion-color-base-rgb: var(--ion-color-success-rgb, 16, 220, 96) !important;
  --ion-color-contrast: var(--ion-color-success-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-success-shade, #0ec254) !important;
  --ion-color-tint: var(--ion-color-success-tint, #28e070) !important;
}

.ion-color-warning {
  --ion-color-base: var(--ion-color-warning, #ffce00) !important;
  --ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 206, 0) !important;
  --ion-color-contrast: var(--ion-color-warning-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-warning-shade, #e0b500) !important;
  --ion-color-tint: var(--ion-color-warning-tint, #ffd31a) !important;
}

.ion-color-danger {
  --ion-color-base: var(--ion-color-danger, #f04141) !important;
  --ion-color-base-rgb: var(--ion-color-danger-rgb, 240, 65, 65) !important;
  --ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-danger-shade, #d33939) !important;
  --ion-color-tint: var(--ion-color-danger-tint, #f25454) !important;
}

.ion-color-light {
  --ion-color-base: var(--ion-color-light, #f4f5f8) !important;
  --ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;
  --ion-color-contrast: var(--ion-color-light-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;
  --ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important;
}

.ion-color-medium {
  --ion-color-base: var(--ion-color-medium, #989aa2) !important;
  --ion-color-base-rgb: var(--ion-color-medium-rgb, 152, 154, 162) !important;
  --ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-medium-shade, #86888f) !important;
  --ion-color-tint: var(--ion-color-medium-tint, #a2a4ab) !important;
}

.ion-color-dark {
  --ion-color-base: var(--ion-color-dark, #222428) !important;
  --ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;
  --ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;
  --ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important;
}

.ion-page {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  position: absolute;
  flex-direction: column;
  justify-content: space-between;
  contain: layout size style;
  overflow: hidden;
  z-index: 0;
}

ion-route,
ion-route-redirect,
ion-router,
ion-select-option,
ion-nav-controller,
ion-menu-controller,
ion-action-sheet-controller,
ion-alert-controller,
ion-loading-controller,
ion-modal-controller,
ion-picker-controller,
ion-popover-controller,
ion-toast-controller,
.ion-page-hidden,
[hidden] {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

.ion-page-invisible {
  opacity: 0;
}

html.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {
  --ion-statusbar-padding: 20px;
}

@supports (padding-top: 20px) {
  html {
    --ion-safe-area-top: var(--ion-statusbar-padding);
  }
}

@supports (padding-top: constant(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: constant(safe-area-inset-top);
    --ion-safe-area-bottom: constant(safe-area-inset-bottom);
    --ion-safe-area-left: constant(safe-area-inset-left);
    --ion-safe-area-right: constant(safe-area-inset-right);
  }
}

@supports (padding-top: env(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: env(safe-area-inset-top);
    --ion-safe-area-bottom: env(safe-area-inset-bottom);
    --ion-safe-area-left: env(safe-area-inset-left);
    --ion-safe-area-right: env(safe-area-inset-right);
  }
}

.menu-content {
  transform: translate3d(0,  0,  0);
}

.menu-content-open {
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: none;
}

.ios .menu-content-reveal {
  box-shadow: -8px 0 42px rgba(0, 0, 0, 0.08);
}

[dir=rtl].ios .menu-content-reveal {
  box-shadow: 8px 0 42px rgba(0, 0, 0, 0.08);
}

.md .menu-content-reveal {
  box-shadow: 0 2px 22px 0 rgba(0, 0, 0, 0.09), 4px 0 16px 0 rgba(0, 0, 0, 0.18);
}

.md .menu-content-push {
  box-shadow: 0 2px 22px 0 rgba(0, 0, 0, 0.09), 4px 0 16px 0 rgba(0, 0, 0, 0.18);
}

audio,
canvas,
progress,
video {
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

b,
strong {
  font-weight: bold;
}

img {
  max-width: 100%;
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  height: 1px;
  border-width: 0;
  box-sizing: content-box;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

label,
input,
select,
textarea {
  font-family: inherit;
  line-height: normal;
}

textarea {
  overflow: auto;
  height: auto;
  font: inherit;
  color: inherit;
}

textarea::-webkit-input-placeholder {
  padding-left: 2px;
}

textarea::-moz-placeholder {
  padding-left: 2px;
}

textarea:-ms-input-placeholder {
  padding-left: 2px;
}

textarea::-ms-input-placeholder {
  padding-left: 2px;
}

textarea::placeholder {
  padding-left: 2px;
}

form,
input,
optgroup,
select {
  margin: 0;
  font: inherit;
  color: inherit;
}

html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}

a,
a div,
a span,
a ion-icon,
a ion-label,
button,
button div,
button span,
button ion-icon,
button ion-label,
.ion-tappable,
[tappable],
[tappable] div,
[tappable] span,
[tappable] ion-icon,
[tappable] ion-label,
input,
textarea {
  touch-action: manipulation;
}

a ion-label,
button ion-label {
  pointer-events: none;
}

button {
  border: 0;
  border-radius: 0;
  font-family: inherit;
  font-style: inherit;
  font-variant: inherit;
  line-height: 1;
  text-transform: none;
  cursor: pointer;
  -webkit-appearance: button;
}

[tappable] {
  cursor: pointer;
}

a[disabled],
button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
  box-sizing: border-box;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

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

td,
th {
  padding: 0;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

html {
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html:not(.hydrated) body {
  display: none;
}

html.plt-pwa {
  height: 100vh;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  text-rendering: optimizeLegibility;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-user-drag: none;
  -ms-content-zooming: none;
  word-wrap: break-word;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
}

html {
  font-family: var(--ion-font-family);
}

a {
  background-color: transparent;
  color: var(--ion-color-primary, #3880ff);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  margin-top: 20px;
  font-size: 26px;
}

h2 {
  margin-top: 18px;
  font-size: 24px;
}

h3 {
  font-size: 22px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 16px;
}

small {
  font-size: 75%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

.ion-hide {
  display: none !important;
}

.ion-hide-up {
  display: none !important;
}

@media (max-width: 575px) {
  .ion-hide-down {
    display: none !important;
  }
}

@media (min-width: 576px) {
  .ion-hide-sm-up {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .ion-hide-sm-down {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .ion-hide-md-up {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .ion-hide-md-down {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .ion-hide-lg-up {
    display: none !important;
  }
}

@media (max-width: 1199px) {
  .ion-hide-lg-down {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .ion-hide-xl-up {
    display: none !important;
  }
}

.ion-hide-xl-down {
  display: none !important;
}

.ion-no-padding,
[no-padding] {
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.ion-padding,
[padding] {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-left: var(--ion-padding, 16px);
  padding-right: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-padding,
[padding] {
    padding-left: unset;
    padding-right: unset;
    -webkit-padding-start: var(--ion-padding, 16px);
    padding-inline-start: var(--ion-padding, 16px);
    -webkit-padding-end: var(--ion-padding, 16px);
    padding-inline-end: var(--ion-padding, 16px);
  }
}

.ion-padding-top,
[padding-top] {
  --padding-top: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
}

.ion-padding-start,
[padding-start] {
  --padding-start: var(--ion-padding, 16px);
  padding-left: var(--ion-padding, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-padding-start,
[padding-start] {
    padding-left: unset;
    -webkit-padding-start: var(--ion-padding, 16px);
    padding-inline-start: var(--ion-padding, 16px);
  }
}

.ion-padding-end,
[padding-end] {
  --padding-end: var(--ion-padding, 16px);
  padding-right: var(--ion-padding, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-padding-end,
[padding-end] {
    padding-right: unset;
    -webkit-padding-end: var(--ion-padding, 16px);
    padding-inline-end: var(--ion-padding, 16px);
  }
}

.ion-padding-bottom,
[padding-bottom] {
  --padding-bottom: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-vertical,
[padding-vertical] {
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-horizontal,
[padding-horizontal] {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  padding-left: var(--ion-padding, 16px);
  padding-right: var(--ion-padding, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-padding-horizontal,
[padding-horizontal] {
    padding-left: unset;
    padding-right: unset;
    -webkit-padding-start: var(--ion-padding, 16px);
    padding-inline-start: var(--ion-padding, 16px);
    -webkit-padding-end: var(--ion-padding, 16px);
    padding-inline-end: var(--ion-padding, 16px);
  }
}

.ion-no-margin,
[no-margin] {
  --margin-start: 0;
  --margin-end: 0;
  --margin-top: 0;
  --margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.ion-margin,
[margin] {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-left: var(--ion-margin, 16px);
  margin-right: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-margin,
[margin] {
    margin-left: unset;
    margin-right: unset;
    -webkit-margin-start: var(--ion-margin, 16px);
    margin-inline-start: var(--ion-margin, 16px);
    -webkit-margin-end: var(--ion-margin, 16px);
    margin-inline-end: var(--ion-margin, 16px);
  }
}

.ion-margin-top,
[margin-top] {
  --margin-top: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
}

.ion-margin-start,
[margin-start] {
  --margin-start: var(--ion-margin, 16px);
  margin-left: var(--ion-margin, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-margin-start,
[margin-start] {
    margin-left: unset;
    -webkit-margin-start: var(--ion-margin, 16px);
    margin-inline-start: var(--ion-margin, 16px);
  }
}

.ion-margin-end,
[margin-end] {
  --margin-end: var(--ion-margin, 16px);
  margin-right: var(--ion-margin, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-margin-end,
[margin-end] {
    margin-right: unset;
    -webkit-margin-end: var(--ion-margin, 16px);
    margin-inline-end: var(--ion-margin, 16px);
  }
}

.ion-margin-bottom,
[margin-bottom] {
  --margin-bottom: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-vertical,
[margin-vertical] {
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-horizontal,
[margin-horizontal] {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  margin-left: var(--ion-margin, 16px);
  margin-right: var(--ion-margin, 16px);
}

@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
  .ion-margin-horizontal,
[margin-horizontal] {
    margin-left: unset;
    margin-right: unset;
    -webkit-margin-start: var(--ion-margin, 16px);
    margin-inline-start: var(--ion-margin, 16px);
    -webkit-margin-end: var(--ion-margin, 16px);
    margin-inline-end: var(--ion-margin, 16px);
  }
}

.ion-float-left,
[float-left] {
  float: left !important;
}

.ion-float-right,
[float-right] {
  float: right !important;
}

.ion-float-start,
[float-start] {
  float: left !important;
}

[dir=rtl] .ion-float-start, :host-context([dir=rtl]) .ion-float-start, [dir=rtl] [float-start], :host-context([dir=rtl]) [float-start] {
  float: right !important;
}

.ion-float-end,
[float-end] {
  float: right !important;
}

[dir=rtl] .ion-float-end, :host-context([dir=rtl]) .ion-float-end, [dir=rtl] [float-end], :host-context([dir=rtl]) [float-end] {
  float: left !important;
}

@media (min-width: 576px) {
  .ion-float-sm-left,
[float-sm-left] {
    float: left !important;
  }

  .ion-float-sm-right,
[float-sm-right] {
    float: right !important;
  }

  .ion-float-sm-start,
[float-sm-start] {
    float: left !important;
  }
  [dir=rtl] .ion-float-sm-start, :host-context([dir=rtl]) .ion-float-sm-start, [dir=rtl] [float-sm-start], :host-context([dir=rtl]) [float-sm-start] {
    float: right !important;
  }

  .ion-float-sm-end,
[float-sm-end] {
    float: right !important;
  }
  [dir=rtl] .ion-float-sm-end, :host-context([dir=rtl]) .ion-float-sm-end, [dir=rtl] [float-sm-end], :host-context([dir=rtl]) [float-sm-end] {
    float: left !important;
  }
}

@media (min-width: 768px) {
  .ion-float-md-left,
[float-md-left] {
    float: left !important;
  }

  .ion-float-md-right,
[float-md-right] {
    float: right !important;
  }

  .ion-float-md-start,
[float-md-start] {
    float: left !important;
  }
  [dir=rtl] .ion-float-md-start, :host-context([dir=rtl]) .ion-float-md-start, [dir=rtl] [float-md-start], :host-context([dir=rtl]) [float-md-start] {
    float: right !important;
  }

  .ion-float-md-end,
[float-md-end] {
    float: right !important;
  }
  [dir=rtl] .ion-float-md-end, :host-context([dir=rtl]) .ion-float-md-end, [dir=rtl] [float-md-end], :host-context([dir=rtl]) [float-md-end] {
    float: left !important;
  }
}

@media (min-width: 992px) {
  .ion-float-lg-left,
[float-lg-left] {
    float: left !important;
  }

  .ion-float-lg-right,
[float-lg-right] {
    float: right !important;
  }

  .ion-float-lg-start,
[float-lg-start] {
    float: left !important;
  }
  [dir=rtl] .ion-float-lg-start, :host-context([dir=rtl]) .ion-float-lg-start, [dir=rtl] [float-lg-start], :host-context([dir=rtl]) [float-lg-start] {
    float: right !important;
  }

  .ion-float-lg-end,
[float-lg-end] {
    float: right !important;
  }
  [dir=rtl] .ion-float-lg-end, :host-context([dir=rtl]) .ion-float-lg-end, [dir=rtl] [float-lg-end], :host-context([dir=rtl]) [float-lg-end] {
    float: left !important;
  }
}

@media (min-width: 1200px) {
  .ion-float-xl-left,
[float-xl-left] {
    float: left !important;
  }

  .ion-float-xl-right,
[float-xl-right] {
    float: right !important;
  }

  .ion-float-xl-start,
[float-xl-start] {
    float: left !important;
  }
  [dir=rtl] .ion-float-xl-start, :host-context([dir=rtl]) .ion-float-xl-start, [dir=rtl] [float-xl-start], :host-context([dir=rtl]) [float-xl-start] {
    float: right !important;
  }

  .ion-float-xl-end,
[float-xl-end] {
    float: right !important;
  }
  [dir=rtl] .ion-float-xl-end, :host-context([dir=rtl]) .ion-float-xl-end, [dir=rtl] [float-xl-end], :host-context([dir=rtl]) [float-xl-end] {
    float: left !important;
  }
}

.ion-text-center,
[text-center] {
  text-align: center !important;
}

.ion-text-justify,
[text-justify] {
  text-align: justify !important;
}

.ion-text-start,
[text-start] {
  text-align: start !important;
}

.ion-text-end,
[text-end] {
  text-align: end !important;
}

.ion-text-left,
[text-left] {
  text-align: left !important;
}

.ion-text-right,
[text-right] {
  text-align: right !important;
}

.ion-text-nowrap,
[text-nowrap] {
  white-space: nowrap !important;
}

.ion-text-wrap,
[text-wrap] {
  white-space: normal !important;
}

@media (min-width: 576px) {
  .ion-text-sm-center,
[text-sm-center] {
    text-align: center !important;
  }

  .ion-text-sm-justify,
[text-sm-justify] {
    text-align: justify !important;
  }

  .ion-text-sm-start,
[text-sm-start] {
    text-align: start !important;
  }

  .ion-text-sm-end,
[text-sm-end] {
    text-align: end !important;
  }

  .ion-text-sm-left,
[text-sm-left] {
    text-align: left !important;
  }

  .ion-text-sm-right,
[text-sm-right] {
    text-align: right !important;
  }

  .ion-text-sm-nowrap,
[text-sm-nowrap] {
    white-space: nowrap !important;
  }

  .ion-text-sm-wrap,
[text-sm-wrap] {
    white-space: normal !important;
  }
}

@media (min-width: 768px) {
  .ion-text-md-center,
[text-md-center] {
    text-align: center !important;
  }

  .ion-text-md-justify,
[text-md-justify] {
    text-align: justify !important;
  }

  .ion-text-md-start,
[text-md-start] {
    text-align: start !important;
  }

  .ion-text-md-end,
[text-md-end] {
    text-align: end !important;
  }

  .ion-text-md-left,
[text-md-left] {
    text-align: left !important;
  }

  .ion-text-md-right,
[text-md-right] {
    text-align: right !important;
  }

  .ion-text-md-nowrap,
[text-md-nowrap] {
    white-space: nowrap !important;
  }

  .ion-text-md-wrap,
[text-md-wrap] {
    white-space: normal !important;
  }
}

@media (min-width: 992px) {
  .ion-text-lg-center,
[text-lg-center] {
    text-align: center !important;
  }

  .ion-text-lg-justify,
[text-lg-justify] {
    text-align: justify !important;
  }

  .ion-text-lg-start,
[text-lg-start] {
    text-align: start !important;
  }

  .ion-text-lg-end,
[text-lg-end] {
    text-align: end !important;
  }

  .ion-text-lg-left,
[text-lg-left] {
    text-align: left !important;
  }

  .ion-text-lg-right,
[text-lg-right] {
    text-align: right !important;
  }

  .ion-text-lg-nowrap,
[text-lg-nowrap] {
    white-space: nowrap !important;
  }

  .ion-text-lg-wrap,
[text-lg-wrap] {
    white-space: normal !important;
  }
}

@media (min-width: 1200px) {
  .ion-text-xl-center,
[text-xl-center] {
    text-align: center !important;
  }

  .ion-text-xl-justify,
[text-xl-justify] {
    text-align: justify !important;
  }

  .ion-text-xl-start,
[text-xl-start] {
    text-align: start !important;
  }

  .ion-text-xl-end,
[text-xl-end] {
    text-align: end !important;
  }

  .ion-text-xl-left,
[text-xl-left] {
    text-align: left !important;
  }

  .ion-text-xl-right,
[text-xl-right] {
    text-align: right !important;
  }

  .ion-text-xl-nowrap,
[text-xl-nowrap] {
    white-space: nowrap !important;
  }

  .ion-text-xl-wrap,
[text-xl-wrap] {
    white-space: normal !important;
  }
}

.ion-text-uppercase,
[text-uppercase] {
  /* stylelint-disable-next-line declaration-no-important */
  text-transform: uppercase !important;
}

.ion-text-lowercase,
[text-lowercase] {
  /* stylelint-disable-next-line declaration-no-important */
  text-transform: lowercase !important;
}

.ion-text-capitalize,
[text-capitalize] {
  /* stylelint-disable-next-line declaration-no-important */
  text-transform: capitalize !important;
}

@media (min-width: 576px) {
  .ion-text-sm-uppercase,
[text-sm-uppercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-sm-lowercase,
[text-sm-lowercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-sm-capitalize,
[text-sm-capitalize] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}

@media (min-width: 768px) {
  .ion-text-md-uppercase,
[text-md-uppercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-md-lowercase,
[text-md-lowercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-md-capitalize,
[text-md-capitalize] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}

@media (min-width: 992px) {
  .ion-text-lg-uppercase,
[text-lg-uppercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-lg-lowercase,
[text-lg-lowercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-lg-capitalize,
[text-lg-capitalize] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}

@media (min-width: 1200px) {
  .ion-text-xl-uppercase,
[text-xl-uppercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: uppercase !important;
  }

  .ion-text-xl-lowercase,
[text-xl-lowercase] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: lowercase !important;
  }

  .ion-text-xl-capitalize,
[text-xl-capitalize] {
    /* stylelint-disable-next-line declaration-no-important */
    text-transform: capitalize !important;
  }
}

.ion-align-self-start,
[align-self-start] {
  align-self: flex-start !important;
}

.ion-align-self-end,
[align-self-end] {
  align-self: flex-end !important;
}

.ion-align-self-center,
[align-self-center] {
  align-self: center !important;
}

.ion-align-self-stretch,
[align-self-stretch] {
  align-self: stretch !important;
}

.ion-align-self-baseline,
[align-self-baseline] {
  align-self: baseline !important;
}

.ion-align-self-auto,
[align-self-auto] {
  align-self: auto !important;
}

.ion-wrap,
[wrap] {
  flex-wrap: wrap !important;
}

.ion-nowrap,
[nowrap] {
  flex-wrap: nowrap !important;
}

.ion-wrap-reverse,
[wrap-reverse] {
  flex-wrap: wrap-reverse !important;
}

.ion-justify-content-start,
[justify-content-start] {
  justify-content: flex-start !important;
}

.ion-justify-content-center,
[justify-content-center] {
  justify-content: center !important;
}

.ion-justify-content-end,
[justify-content-end] {
  justify-content: flex-end !important;
}

.ion-justify-content-around,
[justify-content-around] {
  justify-content: space-around !important;
}

.ion-justify-content-between,
[justify-content-between] {
  justify-content: space-between !important;
}

.ion-justify-content-evenly,
[justify-content-evenly] {
  justify-content: space-evenly !important;
}

.ion-align-items-start,
[align-items-start] {
  align-items: flex-start !important;
}

.ion-align-items-center,
[align-items-center] {
  align-items: center !important;
}

.ion-align-items-end,
[align-items-end] {
  align-items: flex-end !important;
}

.ion-align-items-stretch,
[align-items-stretch] {
  align-items: stretch !important;
}

.ion-align-items-baseline,
[align-items-baseline] {
  align-items: baseline !important;
}
ion-card {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

@-webkit-keyframes rotate-s-loader {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes rotate-s-loader {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Modal styling. TODO: put them closer to where they're used.  */

.gameOverModal .modal-wrapper {
  height: 80vh;
  width: 80vw;
  position: absolute;
  display: block;
}

.message__label-content a {
  color: inherit !important;
}

.checkbox-label-link {
  position: relative;
  z-index: 10;
}

p,
li {
  line-height: 1.4em;
}

/*
 Used on contacts list and messages list, styling for:
 - a scrollable list of items
 - onboarding message when the list is empty.
*/

.wide-select {
  --min-width: 320px;
}

.wide-select .alert-wrapper {
  max-width: 80vw;
}

.wide-select .alert-message.sc-ion-alert-md,
.wide-select .alert-message.sc-ion-alert-ios {
  flex-shrink: 0;
}

.wide-select .alert-tappable.alert-radio,
.wide-select .alert-tappable.alert-checkbox {
  height: auto;
  contain: content;
}

.wide-select .alert-radio-label.sc-ion-alert-md,
.wide-select .alert-radio-label.sc-ion-alert-ios,
.wide-select .alert-checkbox-label.sc-ion-alert-md,
.wide-select .alert-checkbox-label.sc-ion-alert-ios {
  white-space: normal;
}

.wide-select .alert-radio-group.sc-ion-alert-md,
.wide-select .alert-radio-group.sc-ion-alert-ios,
.wide-select .alert-checkbox-group.sc-ion-alert-md,
.wide-select .alert-checkbox-group.sc-ion-alert-ios {
  max-height: 90vh;
}

.wide-select .instructions {
  margin: 0;
  padding-left: 1em;
}

.wide-select .instructions li + li {
  margin-top: 0.7em;
  /* half line height */
}

@media (max-width: 320px) {
  .wide-select {
    --min-width: 250px;
  }
}

.action-sheet-group::-webkit-scrollbar,
.alert-radio-group::-webkit-scrollbar,
.alert-checkbox-group::-webkit-scrollbar {
  width: 1em;
  display: block !important;
}

.action-sheet-group::-webkit-scrollbar-track,
.alert-radio-group::-webkit-scrollbar-track,
.alert-checkbox-group::-webkit-scrollbar-track {
  background: #f5f5f5;
}

.action-sheet-group::-webkit-scrollbar-thumb,
.alert-radio-group::-webkit-scrollbar-thumb,
.alert-checkbox-group::-webkit-scrollbar-thumb {
  background-color: darkgrey;
}

.marketplace-detail__disclaimer > ul,
.marketplace-intro__disclaimer ul {
  padding-left: 1em;
}

.chirpy-spaced-list {
  padding-left: 1em;
}

.chirpy-spaced-list li {
  padding-bottom: 1em;
}

.chirpy-popover-list__item {
  cursor: pointer;
}

.chirpy-signup-column {
  margin-left: auto;
  margin-right: auto;
  max-width: 355px;
}

.ion-color-heading {
  --ion-color-base: var(--ion-color-heading);
  --ion-color-base-rgb: var(--ion-color-heading-rgb);
  --ion-color-contrast: var(--ion-color-heading-contrast);
  --ion-color-contrast-rgb: var(--ion-color-heading-contrast-rgb);
  --ion-color-shade: var(--ion-color-heading-shade);
  --ion-color-tint: var(--ion-color-heading-tint);
}

.ion-color-page-heading {
  --ion-color-base: var(--ion-color-page-heading);
  --ion-color-base-rgb: var(--ion-color-page-heading-rgb);
  --ion-color-contrast: var(--ion-color-page-heading-contrast);
  --ion-color-contrast-rgb: var(--ion-color-page-heading-contrast-rgb);
  --ion-color-shade: var(--ion-color-page-heading-shade);
  --ion-color-tint: var(--ion-color-page-heading-tint);
}

.ion-color-romance-page-heading {
  --ion-color-base: var(--ion-color-romance-page-heading);
  --ion-color-base-rgb: var(--ion-color-romance-page-heading-rgb);
  --ion-color-contrast: var(--ion-color-romance-page-heading-contrast);
  --ion-color-contrast-rgb: var(--ion-color-romance-page-heading-contrast-rgb);
  --ion-color-shade: var(--ion-color-romance-page-heading-shade);
  --ion-color-tint: var(--ion-color-romance-page-heading-tint);
}

.ion-color-tertiary-contrast {
  --ion-color-base: var(--ion-color-tertiary-contrast);
  --ion-color-base-rgb: var(--ion-color-tertiary-contrast-rgb);
  --ion-color-contrast: var(--ion-color-tertiary);
  --ion-color-contrast-rgb: var(--ion-color-tertiary-rgb);
  --ion-color-shade: var(--ion-color-tertiary-tint);
  --ion-color-tint: var(--ion-color-tertiary-shade);
}

.ion-color-toast {
  --ion-color-base: var(--ion-color-toast);
  --ion-color-base-rgb: var(--ion-color-toast-rgb);
  --ion-color-contrast: var(--ion-color-toast-contrast);
  --ion-color-contrast-rgb: var(--ion-color-toast-contrast-rgb);
  --ion-color-shade: var(--ion-color-toast-shade);
  --ion-color-tint: var(--ion-color-toast-tint);
}

.ion-color-blue {
  --ion-color-base: var(--ion-color-blue);
  --ion-color-base-rgb: var(--ion-color-blue-rgb);
  --ion-color-contrast: var(--ion-color-blue-contrast);
  --ion-color-contrast-rgb: var(--ion-color-blue-contrast-rgb);
  --ion-color-shade: var(--ion-color-blue-shade);
  --ion-color-tint: var(--ion-color-blue-tint);
}

.ion-color-silver {
  --ion-color-base: var(--ion-color-silver);
  --ion-color-base-rgb: var(--ion-color-silver-rgb);
  --ion-color-contrast: var(--ion-color-silver-contrast);
  --ion-color-contrast-rgb: var(--ion-color-silver-contrast-rgb);
  --ion-color-shade: var(--ion-color-silver-shade);
  --ion-color-tint: var(--ion-color-silver-tint);
}

.ion-color-gold {
  --ion-color-base: var(--ion-color-gold);
  --ion-color-base-rgb: var(--ion-color-gold-rgb);
  --ion-color-contrast: var(--ion-color-gold-contrast);
  --ion-color-contrast-rgb: var(--ion-color-gold-contrast-rgb);
  --ion-color-shade: var(--ion-color-gold-shade);
  --ion-color-tint: var(--ion-color-gold-tint);
}

.ion-color-platinum {
  --ion-color-base: var(--ion-color-platinum);
  --ion-color-base-rgb: var(--ion-color-platinum-rgb);
  --ion-color-contrast: var(--ion-color-platinum-contrast);
  --ion-color-contrast-rgb: var(--ion-color-platinum-contrast-rgb);
  --ion-color-shade: var(--ion-color-platinum-shade);
  --ion-color-tint: var(--ion-color-platinum-tint);
}

.ion-color-founder {
  --ion-color-base: var(--ion-color-founder);
  --ion-color-base-rgb: var(--ion-color-founder-rgb);
  --ion-color-contrast: var(--ion-color-founder-contrast);
  --ion-color-contrast-rgb: var(--ion-color-founder-contrast-rgb);
  --ion-color-shade: var(--ion-color-founder-shade);
  --ion-color-tint: var(--ion-color-founder-tint);
}

.ion-color-teal {
  --ion-color-base: var(--ion-color-teal);
  --ion-color-base-rgb: var(--ion-color-teal-rgb);
  --ion-color-contrast: var(--ion-color-teal-contrast);
  --ion-color-contrast-rgb: var(--ion-color-teal-contrast-rgb);
  --ion-color-shade: var(--ion-color-teal-shade);
  --ion-color-tint: var(--ion-color-teal-tint);
}

.primary-text {
  color: var(--ion-color-primary);
}

hr {
  background: var(--ion-color-light);
}

.stripe {
  --background: var(--ion-color-light, #efefef);
}

.alert-button-group.alert-button-group-vertical {
  flex-direction: row;
}

@media only screen and (max-width: 767px) {
  #beacon-container .BeaconFabButtonFrame {
    bottom: 65px;
    right: 20px;
  }
}

.codex-editor {
  margin: 0 auto;
  max-width: 650px;
}

.ce-block--align-left {
  float: left;
  margin-right: 2%;
  width: 48%;
}

.ce-block--align-right {
  float: right;
  margin-left: 2%;
  width: 48%;
}

.ce-block:not([class*=align]) {
  clear: both;
}
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}

.leaflet-container {
	overflow: hidden;
	}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        -ms-user-select: none;
	    user-select: none;
	  -webkit-user-drag: none;
	}

/* Prevents IE11 from highlighting tiles in blue */

.leaflet-tile::-moz-selection {
	background: transparent;
}

.leaflet-tile::selection {
	background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */

.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}

/* hack that prevents hw layers "stretching" when loading new tiles */

.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}

.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */

/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */

.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}

.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}

.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
	-webkit-filter: inherit;
	        filter: inherit;
	visibility: hidden;
	}

.leaflet-tile-loaded {
	visibility: inherit;
	}

.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */

.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }

.leaflet-overlay-pane { z-index: 400; }

.leaflet-shadow-pane  { z-index: 500; }

.leaflet-marker-pane  { z-index: 600; }

.leaflet-tooltip-pane   { z-index: 650; }

.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }

.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}

.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}

/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}

.leaflet-top {
	top: 0;
	}

.leaflet-right {
	right: 0;
	}

.leaflet-bottom {
	bottom: 0;
	}

.leaflet-left {
	left: 0;
	}

.leaflet-control {
	float: left;
	clear: both;
	}

.leaflet-right .leaflet-control {
	float: right;
	}

.leaflet-top .leaflet-control {
	margin-top: 10px;
	}

.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}

.leaflet-left .leaflet-control {
	margin-left: 10px;
	}

.leaflet-right .leaflet-control {
	margin-right: 10px;
	}

/* zoom and fade animations */

.leaflet-fade-anim .leaflet-tile {
	will-change: opacity;
	}

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}

.leaflet-zoom-animated {
	transform-origin: 0 0;
	}

.leaflet-zoom-anim .leaflet-zoom-animated {
	will-change: transform;
	}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}

/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}

.leaflet-grab {
	cursor: -webkit-grab;
	cursor:         grab;
	}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}

.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */

.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline: 0;
	}

.leaflet-container a {
	color: #0078A8;
	}

.leaflet-container a.leaflet-active {
	outline: 2px solid orange;
	}

.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}

/* general typography */

.leaflet-container {
	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	}

/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}

.leaflet-bar a,
.leaflet-bar a:hover {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}

.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}

.leaflet-bar a:hover {
	background-color: #f4f4f4;
	}

.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}

.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}

.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}

.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}

.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}

/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}

.leaflet-control-layers-toggle {
	background-image: url('layers.a6137456ed160d760698.png');
	width: 36px;
	height: 36px;
	}

.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url('layers-2x.4f0283c6ce28e888000e.png');
	background-size: 26px 26px;
	}

.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}

.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}

.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}

.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}

.leaflet-control-layers label {
	display: block;
	}

.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */

.leaflet-default-icon-path {
	background-image: url('marker-icon.2273e3d8ad9264b7daa5.png');
	}

/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.7);
	margin: 0;
	}

.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	}

.leaflet-control-attribution a {
	text-decoration: none;
	}

.leaflet-control-attribution a:hover {
	text-decoration: underline;
	}

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
	font-size: 11px;
	}

.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}

.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}

.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	box-sizing: border-box;

	background: #fff;
	background: rgba(255, 255, 255, 0.5);
	}

.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}

/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}

.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}

.leaflet-popup-content {
	margin: 13px 19px;
	line-height: 1.4;
	}

.leaflet-popup-content p {
	margin: 18px 0;
	}

.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}

.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	transform: rotate(45deg);
	}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}

.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	padding: 4px 4px 0 0;
	border: none;
	text-align: center;
	width: 18px;
	height: 14px;
	font: 16px/14px Tahoma, Verdana, sans-serif;
	color: #c3c3c3;
	text-decoration: none;
	font-weight: bold;
	background: transparent;
	}

.leaflet-container a.leaflet-popup-close-button:hover {
	color: #999;
	}

.leaflet-popup-scrolled {
	overflow: auto;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	zoom: 1;
	}

.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-popup-tip-container {
	margin-top: -1px;
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}

/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}

/* Tooltip */

/* Base styles for the element that has a tooltip */

.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}

.leaflet-tooltip.leaflet-clickable {
	cursor: pointer;
	pointer-events: auto;
	}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}

.leaflet-tooltip-top {
	margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}

.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}

.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}

.leaflet-tooltip-left {
	margin-left: -6px;
}

.leaflet-tooltip-right {
	margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}

.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}

.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

