:root {
  --baseBlueColor: hsl(210, 79%, 46%);
  --baseLightBlueColor: hsl(210, 79%, 66%);
  --baseGreenColor: hsl(113, 64%, 38%);
  --baseOrangeColor: hsl(33, 100%, 46%);
  --baseLightOrangeColor: hsl(33, 100%, 66%);
  --baseFontColor: #333;
  --scrollBarWidth: 3px;
  --scrollBarRight: 3px;
  --colorRed: #863129;
  --colorLightRed: #893a32;
  --colorDarkRed: #5f1008;
  --colorDark: #212121;
  --colorGold: #E6CE82;
  --colorGrey: #F0F0F0;
  --textFont: "Montserrat", sans-serif;
  --formOpacity: 0.05;
  --formFldOpacity: 0.2;
  --formLabelOpacity: 0.8;
  --formFontSizeTextInput: 1rem;
  --formFontSizeDateInput: 1.05rem;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  line-height: 1.3;
  font-size: 1rem;
  color: var(--baseFontColor);
  -webkit-text-size-adjust: 100%;
  font-family: var(--textFont);
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  margin: 0;
}
main {
  display: block;
}
.is-hidden {
  display: none !important;
}
.filtersForm .filterGroup {
  display: flex;
  flex-direction: column;
}
.filtersForm .filterGroup h4 {
  margin: 0;
  padding: 0;
  margin-block: 20px 10px;
  font-family: var(--textFont);
  font-size: 1.1rem;
  font-weight: 500;
}
.filtersForm .filterGroup .filtersBody {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
}
.filtersForm .filterGroup .filtersBody label {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  cursor: pointer;
  font-weight: 300;
}
.filtersForm .filterGroup .filtersBody label input[type="checkbox"] {
  cursor: pointer;
  scale: 1.2;
}
.filtersForm .filterGroup .filtersBody label.muted {
  opacity: 0.5;
}
.filtersForm .filterGroup .filtersBody input[type="checkbox"]:disabled + * {
  cursor: not-allowed;
}
.custom-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 8px;
  /* tick shape */
}
.custom-checkbox input[type="checkbox"] {
  display: none;
}
.custom-checkbox .box {
  width: 23px;
  height: 23px;
  border: 1px solid #ccc;
  border-radius: 3px;
  transition: all 0.2s ease-in-out;
  position: relative;
}
.custom-checkbox input[type="checkbox"]:checked + .box {
  background-color: var(--baseBlueColor);
  border-color: var(--baseBlueColor);
}
.custom-checkbox input[type="checkbox"]:checked + .box::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 3px;
  width: 6px;
  height: 12px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.opt-count {
  opacity: 0.7;
  font-size: 0.9em;
  margin-left: 0.25em;
}
[clearFilters] {
  display: none !important;
  cursor: pointer;
}
.has-filters [clearFilters] {
  display: inline-flex !important;
}
[results] {
  padding-block: 30px;
}
[results] .searchInfo {
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
[results] .filtersTrigger {
  width: 70px;
  height: 70px;
  position: relative;
  cursor: pointer;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
[results] .filtersTrigger:after {
  position: absolute;
  content: "";
  opacity: 0.8;
  background: var(--baseOrangeColor);
  z-index: -1;
  inset: 0;
  border-radius: 0 30% 30% 0;
}
[results] .filtersTrigger svg {
  color: #fff;
  width: 30px;
  height: 30px;
}
/****/
.filterGroup {
  display: flex;
  flex-direction: column;
}
/****/
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
input:-webkit-autofill {
  background-color: #e0f5ff !important;
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}
button,
input {
  overflow: visible;
}
button,
select {
  /* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
/*
html,
body {
  height: 100%;
  overflow: hidden;
  margin: 0;
}

.body-scroll-content {
  height: 100%;
  overflow-y: scroll;
  padding-right: 0px;
  box-sizing: content-box;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.body-scroll-content::-webkit-scrollbar {
  display: none;
}

.scrollbar-track {
  position: fixed;
  top: 0;
  right: var(--scrollBarRight);
  width: var(--scrollBarWidth);
  height: 100%;
  background: rgba(0, 0, 0, 0);
  border-radius: 4px;
  z-index: 999;
}

.scrollbar-thumb {
  position: fixed;
  top: 0;
  right: var(--scrollBarRight);
  width: var(--scrollBarWidth);
  background: #ffa726;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
  z-index: 999;
}

.scrollbar-thumb:hover {
  background: #ef6c00;
}

.scrollbar-track,
.scrollbar-thumb {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.scrollbar-hidden .scrollbar-track,
.scrollbar-hidden .scrollbar-thumb {
  opacity: 0;
  pointer-events: none;
}
*/
.cd-panel {
  position: fixed;
  width: 100%;
  visibility: hidden;
  transition: visibility 0s 0.6s;
  z-index: 999;
  inset: 0;
}
@media (min-width: 500px) {
  .cd-panel {
    transition: visibility 0s 0.6s;
  }
}
.cd-panel[mobMenu] .cd-panel__container {
  max-width: 400px !important;
}
.cd-panel:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  cursor: pointer;
  transition: background 0.5s 0s;
}
.cd-panel.is-visible {
  visibility: visible;
  transition: visibility 0s 0s;
}
.cd-panel.is-visible:after {
  background: rgba(0, 0, 0, 0.6);
  transition: background 0.5s 0s;
}
.cd-panel[agentLogin] .cd-panel__container {
  background: var(--baseBlueColor);
}
.cd-panel .cd-panel__container {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  background: #fff;
  z-index: 1;
  transition: transform 0.3s 0s;
  display: flex;
}
.cd-panel .cd-panel__container .wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
}
.cd-panel .cd-panel__container .wrap.scroll {
  overflow: auto !important;
}
.cd-panel .cd-panel__container .wrap .holder {
  display: flex;
  flex-direction: column;
  padding: 0px;
  height: 100dvh;
  -webkit-overflow-scrolling: touch;
  border: 0 !important;
}
.cd-panel .cd-panel__container .wrap:has(.isScroll) {
  overflow: auto;
}
@media (max-width: 450px) {
  .cd-panel .cd-panel__container {
    width: calc(100% - 50px);
    max-width: 500px;
  }
}
@media (min-width: 700px) {
  .cd-panel .cd-panel__container {
    width: 650px;
  }
  .cd-panel .cd-panel__container.wide {
    width: 1000px;
  }
}
.cd-panel .cd-panel__container .cd-panel__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.cd-panel.fromLeft .cd-panel__container {
  left: 0;
  transform: translate3d(-100%, 0, 0);
}
.cd-panel.fromRight .cd-panel__container {
  right: 0;
  left: auto;
  /* Optional: explicitly unset left if inherited */
  transform: translate3d(100%, 0, 0);
}
.cd-panel.is-visible .cd-panel__container {
  transform: translate3d(0, 0, 0);
  transition-delay: 0s;
}
.cd-panel.small .cd-panel__container {
  width: calc(100% - 50px);
  max-width: 500px;
}
.container.lightBrawn {
  background: #faf9fa;
}
.container.lightGray {
  background: #fafafa;
}
.container.lightBlue {
  background: #f5fafe;
}
.container.admin {
  min-height: 700px;
  display: flex;
  padding: 0;
}
.container.admin .sideBar {
  width: 300px;
  background: #FAFAFA;
  padding-block: 50px;
}
@media (max-width: 899px) {
  .container.admin .sideBar {
    display: none;
  }
}
.container.admin .bodyContent {
  flex: 1;
  padding: 50px 30px;
}
@media (max-width: 767px) {
  .container.admin .bodyContent {
    padding: 40px 20px;
  }
}
.sideBar {
  width: 100%;
  background: transparent;
  padding-block: 0px;
}
.sideBar ul {
  list-style: none;
  margin: 0;
  padding: 20px 30px;
}
.sideBar ul:first-child {
  padding: 0 30px 20px;
}
.sideBar ul [header] {
  color: #607D8B;
  text-transform: uppercase;
  font-size: 0.6rem;
  font-weight: 600;
  margin-block: 0 10px;
  text-shadow: 1px 1px #fff;
  width: -moz-fit-content;
  width: fit-content;
  background: #F5F5F5;
  padding: 5px 10px;
  border-radius: 10px;
  left: -10px;
  position: relative;
}
.sideBar ul li {
  padding: 0px 0px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  position: relative;
  height: 40px;
  display: flex;
  align-items: center;
}
.sideBar ul li a {
  text-decoration: none;
  color: rgba(29, 53, 64, 0.825);
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.sideBar ul li:hover:not(.selected) a {
  color: #000;
}
.sideBar ul li.selected {
  font-weight: 500;
  z-index: 0;
  color: #000;
}
.sideBar ul li.selected a {
  color: #1565c0 !important;
}
.sideBar ul li.selected:after {
  content: "";
  position: absolute;
  background: #ECEFF1 !important;
  inset: 0;
  z-index: -1;
  height: 110%;
  top: -5%;
  width: calc(100% + 40px);
  left: -20px;
  border-radius: 30px;
}
.textWhite {
  color: #fff !important;
}
.fullHeight {
  height: -webkit-fill-available;
}
.fullWidth {
  width: -webkit-fill-available;
}
textarea {
  resize: vertical;
  min-height: 100px;
  max-height: 150px;
}
textarea,
input[type="text"],
input[type="email"],
input[type="password"] {
  width: 100%;
  font-family: var(--textFont);
  font-size: 1rem;
  font-weight: 500;
  padding: 15px 12px;
  outline: none;
  border-radius: 3px;
  border: 2px solid transparent;
  transition: border-color 0.3s 0s;
}
textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
  border-color: var(--baseLightOrangeColor);
}
select {
  font-size: 0.9rem;
  font-family: var(--textFont);
  font-weight: 400;
  padding: 15px 12px;
}
form {
  display: flex;
  flex-direction: column;
  height: auto;
  row-gap: 10px;
}
form.max500 {
  max-width: 500px;
}
form .header {
  font-size: 1.7rem;
  font-weight: 300;
  margin-block: 10px 30px;
}
form.padBlock30 {
  padding-block: 30px;
}
form.paddings {
  padding: 30px;
}
form.padding-sides {
  padding-inline: 30px;
}
form.brawn {
  background: #f7f5f4;
  border-left: 5px solid #EFEBE9;
}
form.dark .btn.text,
form.dark .header,
form.dark label {
  color: #fff !important;
}
form.light .inpImi {
  background: #FAFAFA;
}
form.light input,
form.light textarea,
form.light select {
  background: transparent;
  font-size: 1rem;
  font-weight: 500;
}
form .colWrap {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
form .formLine {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 3px;
}
form .formLine.unflex {
  flex: unset;
  width: -moz-fit-content;
  width: fit-content;
}
form .formLine.row {
  flex-direction: row;
  align-items: center;
}
form .formLine label {
  font-size: 0.8rem;
  font-weight: 400;
}
form .inpImi {
  background: #fff;
  height: 55px;
}
form .inpImi input:not([type="checkbox"]),
form .inpImi textarea,
form .inpImi select {
  height: 100%;
}
form .inpImi.select {
  width: 100px !important;
  padding-inline: 7px;
  border: 2px solid transparent;
}
form .inpImi.select select {
  background: transparent;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  outline: none;
  color: #000;
  font-weight: 500;
  font-size: 1rem;
}
form .inpImi.textarea {
  height: unset;
  display: flex;
}
form.filtersForm .bar {
  align-items: center;
  justify-content: space-between;
}
form.filtersForm .bar .header {
  font-size: 1.6rem;
  font-weight: 500;
  width: auto;
  margin: 0;
}
form .bar {
  display: flex;
  flex-direction: row !important;
  margin-block: 20px 0;
  -moz-column-gap: 20px;
       column-gap: 20px;
  height: 50px;
}
form .bar .toStart {
  justify-content: flex-start;
}
form .bar .toEnd {
  justify-content: flex-end;
}
form .bar.border-top {
  border-top: 1px solid #ECEFF1;
  margin-block: 40px 0px;
  position: relative;
}
form .bar.border-top:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--baseOrangeColor);
  top: -25px;
}
form .bar.padding-sides {
  padding-inline: 20px;
}
form .bar .btn {
  height: 100%;
}
form .col {
  display: flex;
  row-gap: 20px;
  flex-direction: column;
}
form .row {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.numberStepper {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.numberStepper .nsWrap {
  display: inline-flex;
  align-items: center;
  border: 1px solid #ccc;
  overflow: hidden;
  height: 50px;
  background: #fff;
}
.numberStepper .nsWrap input[type="number"] {
  font-family: var(--textFont);
  width: 50px;
  height: 100%;
  text-align: center;
  border: none;
  outline: none;
  font-size: 1rem;
  -moz-appearance: textfield;
}
.numberStepper .nsWrap input::-webkit-outer-spin-button,
.numberStepper .nsWrap input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.numberStepper .nsWrap .btn {
  background: #F5F5F5;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  height: 100%;
}
.numberStepper .nsWrap .btn:hover {
  background: #EEEEEE;
}
.numberStepper .nsWrap .btn.svg svg {
  width: 15px;
  height: 15px;
}
.numberStepper .note {
  font-size: 0.7rem;
}
/*
form {
  container-type: inline-size;
  container-name: sideForm;

  &.padding-sides {
    padding-inline: 30px;
  }

  h2 {
    color: #fff;
    font-weight: 300;
    margin-block: 10px 40px;
  }

  .body {
    &.inline {
      display: flex;
      column-gap: 30px;

    }

    .inpImi {
      flex: 1;
      display: flex;
      column-gap: 5px;

      .isFlex {
        flex: 1;
      }


      .formLine {
        display: flex;
        align-items: center;
        -moz-column-gap: 10px;
        column-gap: 10px;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        min-height: 50px;

        .formElem {
          display: flex;
          align-items: center;

          label {
            margin-inline: 0 20px;
            min-width: 100px;
          }
        }
      }
    }
  }

  .bar {
    display: flex;
    flex-direction: row !important;
    margin-block: 20px 0;
    column-gap: 20px;

    .toStart {
      justify-content: flex-start;
    }

    .toEnd {
      justify-content: flex-end;
    }

    &.border-top {
      border-top: 1px solid #ECEFF1;
      padding-block: 20px 0px;
    }

    &.padding-sides {
      padding-inline: 20px;
    }
  }

  &.atSidePanel {
    display: flex;
    flex-direction: column;
    row-gap: 5px;

    &.top {
      padding: 30px;
    }

    &.blue {
      background: var(--baseBlueColor);

      label {
        color: #fff;
      }
    }


    .formLine {
      display: flex;
      flex-direction: row;
      align-items: center;

      label {
        font-size: .9rem;
        min-width: 125px;

        &:after {
          content: ":";
        }
      }

      textarea {
        resize: vertical;
        min-height: 100px;
        max-height: 150px;
        padding: 12px !important;
      }

      textarea,
      input[type="text"],
      input[type="email"],
      input[type="password"] {
        flex: 1;
        border: 2px solid transparent;
        outline: none;
        padding: 0 12px;
        height: 50px;
        border-radius: 3px;
        font-size: 1rem;
        font-family: var(--textFont);
        font-weight: 500;
        transition: border-color 0.5s 0s;

        &:focus {
          border-color: var(--baseLightOrangeColor);
        }
      }

      select {
        font-size: .9rem;
        font-family: var(--textFont);
        font-weight: 400;
        padding: 16px 12px;
      }

      &.bar {
        display: flex;
        flex-direction: row !important;
        justify-content: flex-end;
        margin-block: 20px 0;
        padding-block: 0 30px;
        column-gap: 20px;

        .btn {
          height: 50px;

          &[type="submit"] {
            background: var(--baseOrangeColor);
            color: #fff;
          }

          &.nobg {
            color: #fff;
            //border: 1px solid #fff;
            //padding-inline: 20px !important;
          }
        }
      }
    }

  }
 



&.blue {
  .numberStepper {
    border: 1px solid #73aee9;

    .btn {
      background: #BBDEFB;

      &:hover {
        background: #90CAF9;
      }

      &.svg {
        svg {
          width: 15px;
          height: 15px;
        }
      }
    }
  }
}
}

@container sideForm (max-width: 400px) {

  row-gap: 15px !important;

  .formLine {
    flex-direction: column !important;
    margin-block: 0 10px;

    &:last-child {
      margin-block: 0 0px;
    }

    label {
      width: 100%;
    }

    textarea,
    input[type="text"],
    input[type="email"],
    input[type="password"] {
      width: 100%;
    }

    &.bar {
      justify-content: space-between !important;
    }
  }
}

*/
.formGroupe {
  width: 100%;
  height: 100%;
  overflow: auto;
}
.formGroupe form {
  display: none;
  padding-block: 30px;
}
.formGroupe[view="loginForm"] #agentLoginForm {
  display: flex !important;
}
.formGroupe[view="registrationForm"] #agentRegisterForm {
  display: flex !important;
}
/*

.form {
  display: flex;
  flex-direction: column;
  row-gap: 10px;

  .formLine {
    display: flex;
    align-items: center;
    column-gap: 10px;
    user-select: none;

    label {
      min-width: 75px;
    }

    .note {
      font-size: .7rem;
    }

    &.bar {
      display: flex;
      flex-direction: row !important;
      margin-block: 20px 0;
      column-gap: 20px;

      .toStart {
        justify-content: flex-start;
      }

      .toEnd {
        justify-content: flex-end;
      }

      &.border-top {
        border-top: 1px solid #ECEFF1;
        padding-block: 20px 0px;
      }

      &.padding-sides {
        padding-inline: 20px;
      }
    }
  }
}

/*
.steps {
  padding: 30px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;

  .isBlock {
    padding: 0;

    .header {
      cursor: pointer;
    }

    .body {
      padding: 10px 0px 30px;
    }
  }

  .col {

    .colWrap {
      display: flex;
      flex-direction: row;
      column-gap: 10px;
    }

    &.flex {
      .formLine {
        flex: 1;
      }

      input[type="text"] {
        flex: 1;
        width: 100%;
      }
    }
  }


  .formLine {
    display: flex;

    &.labelIn {
      position: relative;

      label {
        position: absolute;
        font-size: .7rem;
        top: 3px;
        left: 12px;
        font-weight: 400;
      }

      textarea,
      input[type="text"],
      input[type="email"],
      input[type="password"] {
        font-size: 1.1rem;
        padding: 20px 12px 12px !important;
        font-weight: 500;
      }

    }
  }

  textarea {
    resize: vertical;
    min-height: 100px;
    max-height: 150px;
  }

  textarea,
  input[type="text"],
  input[type="email"],
  input[type="password"] {
    flex: 1;
    border: 2px solid transparent;
    outline: none;
    padding: 16px 12px;
    border-radius: 3px;
    font-size: .9rem;
    font-family: var(--textFont);
    font-weight: 400;
    transition: border-color 0.5s 0s;
    background: #f5f5f5;

    &:focus {
      border-color: var(--baseLightOrangeColor);
    }
  }

}

.inpImi {

  height: 50px;
  background: #f5f5f5;
  min-width: 100px;

  select,
  input,
  textarea {
    font-family: var(--textFont);
  }

  &.select {
    position: relative;
    padding-inline: 10px;

    select {
      outline: none;
      font-size: 0.9rem;
      font-family: var(--textFont);
      font-weight: 400;
      width: 100%;
      height: 100%;
      border: 0;
      background: transparent;
    }
  }

  &.text {
    position: relative;

    [type="date"] {
      outline: none;
      flex: 1;
      border: 2px solid transparent;
      outline: none;
      padding: 16px 12px;
      border-radius: 3px;
      font-size: .9rem;
      font-family: var(--textFont);
      font-weight: 400;
      transition: border-color 0.5s 0s;
      background: #f5f5f5;
    }
  }
}
*/
.bold {
  font-weight: 400;
}
.uppercase {
  text-transform: uppercase;
}
body.no-scroll {
  overflow: hidden;
}
.header {
  container-type: inline-size;
  container-name: textHeader;
  display: block;
  text-align: left;
  width: -webkit-fill-available;
}
.header.capital * {
  text-transform: capitalize !important;
}
.header.bold h1,
.header.bold h2,
.header.bold h3,
.header.bold h4 {
  font-weight: 400;
}
.header:has(h1) {
  margin-block: 0px 40px;
}
.header:has(h2) {
  margin-block: 0px 30px;
}
.header:has(h3) {
  margin-block: 0px 20px;
}
.header:has(h4) {
  margin-block: 0px 10px;
}
.header h1 {
  flex: 1;
  font-size: 1.6rem;
  line-height: 1.6rem;
  text-wrap-style: balance;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: -0.3px;
  margin: 0;
}
.header h1 .subHeader {
  margin-block: 10px 0;
  font-size: 1.1rem;
  line-height: 1.1rem;
  font-weight: 200;
}
@container textHeader (min-width: 500px) {
  .header h1 {
    font-size: 1.8rem;
    line-height: 1.8rem;
  }
  .header h1 .subHeader {
    margin-block: 10px 0;
    font-size: 1.3rem;
    line-height: 1.3rem;
  }
}
@container textHeader (min-width: 800px) {
  .header h1 {
    font-size: 2rem;
    line-height: 2rem;
  }
  .header h1 .subHeader {
    margin-block: 10px 0;
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
@container textHeader (min-width: 1000px) {
  .header h1 {
    font-size: 2rem;
    line-height: 2rem;
  }
  .header h1 .subHeader {
    margin-block: 10px 0;
    font-size: 1.7rem;
    line-height: 1.7rem;
  }
}
.header h2 {
  flex: 1;
  font-size: 1.5rem;
  line-height: 1.5rem;
  text-wrap-style: balance;
  text-transform: uppercase;
  font-weight: 200;
  letter-spacing: -0.3px;
  margin: 0;
}
@container textHeader (min-width: 500px) {
  .header h2 {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
@container textHeader (min-width: 800px) {
  .header h2 {
    font-size: 1.7rem;
    line-height: 1.7rem;
  }
}
@container textHeader (min-width: 1000px) {
  .header h2 {
    font-size: 1.7rem;
    line-height: 1.7rem;
  }
}
.header h3 {
  text-transform: uppercase;
  font-size: 1.3rem;
  line-height: 1.3rem;
  letter-spacing: -0.3px;
  font-weight: 400;
  color: #000;
  margin: 0;
}
.header h4 {
  text-transform: uppercase;
  font-size: 1.15rem;
  line-height: 1.15rem;
  letter-spacing: -0.3px;
  font-weight: 400;
  color: #000;
  margin: 0;
}
.header .center {
  text-align: center;
}
@container textHeader (max-width: 500px) {
  .header .center {
    text-align: left;
  }
}
.header .bold {
  font-weight: 400;
}
.pageWrap {
  --maxPageWidth: 1300px;
  position: relative;
  max-width: var(--maxPageWidth);
  padding: 0;
  z-index: 1;
  display: block;
  margin: 0 auto;
  background: #fff;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
header {
  height: 90px;
  background: transparent;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  z-index: 9999;
  /*******************************************/
  /*******************************************/
}
header .container {
  width: 100%;
  z-index: 9;
  display: flex;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
  flex-direction: column;
  padding: 0 20px;
}
@media (min-width: 768px) {
  header .container {
    padding: 0 30px;
  }
}
header.fixed {
  background: var(--baseBlueColor);
  position: sticky;
  width: 100%;
  top: 0;
  box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px !important;
}
header.fixed .navBtnBar:has(.blue) .btn.blue:after {
  background: var(--baseOrangeColor) !important;
}
header.plain {
  height: 90px;
  background: transparent;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  z-index: 9;
  top: 0;
}
header.blue {
  background: var(--baseBlueColor) !important;
}
header nav {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  position: absolute;
  top: 0;
  left: 20px;
  width: calc(100% - 40px);
  height: 90px;
  align-items: center;
}
@media (min-width: 768px) {
  header nav {
    width: calc(100% - 60px);
    left: 30px;
  }
}
header nav a.logo {
  opacity: 1;
}
header nav a.logo svg {
  height: 40px;
  fill: #fff !important;
  clip-path: unset;
}
header nav a.logo svg * {
  fill: #fff !important;
}
header nav .navBar {
  display: none;
  flex: 1;
  -moz-column-gap: 20px;
       column-gap: 20px;
  justify-content: flex-end;
  height: 50px;
}
@media (min-width: 900px) {
  header nav .navBar {
    display: flex;
    flex: 1;
  }
}
header nav .navBar ul {
  display: flex;
  margin: 0;
  padding: 0;
}
header nav .navBar ul.navTextBar {
  -moz-column-gap: 20px;
       column-gap: 20px;
}
header nav .navBar ul.navBtnBar {
  -moz-column-gap: 5px;
       column-gap: 5px;
}
header nav .navBar ul.navBtnBar .btn {
  background: transparent;
  position: relative;
  z-index: 0;
  color: #fff;
  height: 100%;
}
header nav .navBar ul.navBtnBar .btn:after {
  position: absolute;
  content: "";
  inset: 0;
  background: var(--baseFontColor);
  opacity: 0.3;
  z-index: -1;
  border-radius: 3px;
}
header nav .navBar ul.navBtnBar .btn.red:after {
  background: var(--baseOrangeColor);
  opacity: 0.8;
}
header nav .navBar ul.navBtnBar .btn.blue:after {
  background: var(--baseBlueColor);
  opacity: 0.8;
}
header nav .navBar ul.navBtnBar .btn.green:after {
  background: var(--baseGreenColor);
  opacity: 0.8;
}
header nav .navBar ul.navBtnBar .btn.optyNone:after {
  opacity: 1 !important;
}
header nav .navBar ul.navBtnBar .btn a:has(.icon) {
  display: flex;
  align-items: center;
  -moz-column-gap: 7px;
       column-gap: 7px;
}
header nav .navBar ul.navBtnBar .btn a:has(.icon) .icon {
  width: 20px;
  height: 20px;
}
header nav .navBar a {
  color: #fff;
  text-shadow: 1px 1px 0 #393a3d;
}
header .mobMenu {
  display: flex;
  -moz-column-gap: 7px;
       column-gap: 7px;
}
@media (min-width: 900px) {
  header .mobMenu {
    display: none;
  }
}
header .mobMenu .btn {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
}
header .mobMenu .btn:after {
  position: absolute;
  content: "";
  inset: 0;
  background: var(--baseFontColor);
  opacity: 0.3;
  z-index: -1;
  border-radius: 3px;
}
header .mobMenu .btn svg {
  width: 20px;
  height: 20px;
  color: #fff;
}
header [mobMenu] .topActs {
  background: var(--baseBlueColor);
  display: flex;
  justify-content: center;
  padding: 30px;
  flex-direction: column;
}
header [mobMenu] .topActs .btn {
  background: var(--baseOrangeColor);
  border-radius: 50px;
  color: #fff;
  border: 2px solid #fff;
  width: 100%;
  height: 60px;
}
header [mobMenu] .topActs .sysLangs {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-block: 30px 0px;
  background: var(--baseBlueColor);
  align-items: center;
}
header [mobMenu] .topActs .sysLangs span {
  display: flex;
}
header [mobMenu] .topActs .sysLangs span:first-child {
  width: 50px;
}
header [mobMenu] .topActs .sysLangs span:last-child {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
header [mobMenu] .topActs .sysLangs li {
  width: 33px;
  height: 33px;
  background: transparent;
  display: flex;
  border-radius: 50%;
  color: #fff;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  font-size: 0.8rem;
}
header [mobMenu] .topActs .sysLangs li.active {
  font-weight: 500;
  position: relative;
  z-index: 0;
  flex: 1;
}
header [mobMenu] .topActs .sysLangs li.active:after {
  content: "";
  position: absolute;
  inset: 1;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--baseLightBlueColor);
  z-index: -1;
}
header [mobMenu] .menuBody {
  display: flex;
  padding: 30px;
  flex: 1;
  overflow: auto;
}
header [mobMenu] .menuBody .menuItems {
  display: flex;
  flex-direction: column;
  list-style: none;
  flex: 1;
  padding-left: 30px;
}
header [mobMenu] .menuBody .menuItems li {
  height: 50px;
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  position: relative;
  text-transform: uppercase;
}
header [mobMenu] .menuBody .menuItems li:before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--baseBlueColor);
  border-radius: 50%;
  left: -15px;
  position: relative;
}
header [mobMenu] .menuBody .menuItems li a {
  text-decoration: none;
  color: var(--baseFontColor);
}
header.hero {
  height: calc(100vh - 80px);
  min-height: 600px;
  background: var(--baseBlueColor);
  position: relative;
}
header.hero.fullHeight {
  height: 100vh !important;
}
@media (min-width: 500px) {
  header.hero {
    height: 550px;
  }
}
@media (min-width: 768px) {
  header.hero {
    height: 600px;
  }
}
@media (min-width: 1000px) {
  header.hero {
    height: 600px;
  }
}
header.hero .gal[autoplay] {
  inset: 0;
  background-color: #fff;
  position: absolute;
  list-style: none;
  overflow: hidden;
  z-index: 0;
  padding: 0;
  margin: 0;
}
header.hero .gal[autoplay]:after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 20%), radial-gradient(at left bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
}
@media (min-width: 500px) {
  header.hero .gal[autoplay]:after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 20%), radial-gradient(at left bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
  }
}
@media (min-width: 768px) {
  header.hero .gal[autoplay]:after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 20%), radial-gradient(at left bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 80%);
  }
}
@media (min-width: 1000px) {
  header.hero .gal[autoplay]:after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 20%), radial-gradient(at left bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 50%);
  }
}
header.hero .gal[autoplay] .galElem {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  aspect-ratio: 16/9;
  position: absolute;
  height: -webkit-fill-available;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}
header.hero .gal[autoplay] .galElem.active {
  opacity: 1;
  z-index: q;
}
header.hero .heroHeader {
  width: 100%;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  height: -webkit-fill-available;
  margin-block: 0 60px;
}
header.hero .heroHeader:has(.promoBlock) {
  max-width: 998px;
  --opacity: 0.75;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  left: -20px;
  max-width: 400px;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock > * {
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 20px;
  position: relative;
  z-index: 0;
  color: #fff;
  text-shadow: 1px 1px rgba(29, 53, 64, 0.825);
}
header.hero .heroHeader:has(.promoBlock) .promoBlock > *:after {
  content: '';
  position: absolute;
  background: #000;
  opacity: 0.2;
  z-index: -1;
  inset: 0;
  filter: blur(14px);
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .partnerLogo {
  width: 160px;
  padding-block: 0 10px;
  display: flex;
  justify-content: center;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .partnerLogo svg {
  max-width: 160px;
  max-height: 70px;
  fill: #fff !important;
  opacity: 0.8;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .partnerLogo svg * {
  fill: #fff !important;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .subHeader {
  font-size: 0.8rem;
  font-weight: 500;
  padding-block: 10px 0;
  opacity: var(--opacity);
}
header.hero .heroHeader:has(.promoBlock) .promoBlock h2 {
  padding-block: 5px 0;
  margin-block: 0;
  font-size: 2rem;
  line-height: 2.2rem;
  opacity: var(--opacity);
  text-shadow: 2px 2px rgba(29, 53, 64, 0.825);
  letter-spacing: 0.01rem;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .promoText {
  font-size: 1.1rem;
  font-weight: 400;
  margin: 0;
  opacity: var(--opacity);
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .promoText p {
  margin: 0;
  line-height: 1.3rem;
  padding-block: 10px;
  text-shadow: 1px 1px rgba(29, 53, 64, 0.825);
}
header.hero .heroHeader:has(.promoBlock) .promoBlock .bar {
  display: flex;
  flex-direction: row;
  width: -webkit-fill-available;
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-block: 10px 0;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock a {
  background: transparent;
  height: 40px;
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 40px;
  font-weight: 500;
  opacity: 0.8;
  cursor: pointer;
  padding-inline: 20px;
  color: #fff;
  text-transform: none;
  text-decoration: none;
}
header.hero .heroHeader:has(.promoBlock) .promoBlock a.bordered {
  border: 1px solid #fff;
}
header.hero .heroHeader:has(.cruiseDetails) {
  margin-block: 0 20px;
}
header.hero .heroHeader .heroLogoHeader {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  padding: 30px;
}
header.hero .heroHeader .heroLogoHeader:before {
  content: '';
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.3;
  border-radius: 10px;
}
header.hero .heroHeader .heroLogo {
  width: 100%;
  max-width: 250px;
  padding-block: 0 50px;
  display: flex;
  justify-content: center;
}
header.hero .heroHeader .heroLogo svg {
  max-width: 250px;
  max-height: 70px;
  fill: #fff !important;
  opacity: 0.8;
}
header.hero .heroHeader .heroLogo svg * {
  fill: #fff !important;
}
header.hero .heroHeader h1 {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  opacity: 0.9;
  font-size: 1.7rem;
  line-height: 2rem;
  text-align: center;
  font-weight: 300;
  text-shadow: 1px 1px 1px #000;
  word-spacing: 0.2rem;
}
@media (min-width: 768px) {
  header.hero .heroHeader h1 {
    font-size: 2rem;
  }
}
@media (min-width: 1100px) {
  header.hero .heroHeader h1 {
    font-size: 2.2rem;
    line-height: 2.2rem;
  }
}
.root-container {
  margin: 0;
  padding: 0;
  width: -webkit-fill-available;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.root-container.row {
  flex-direction: column;
  align-items: flex-start;
}
.root-container.row.reverse {
  flex-direction: column-reverse;
}
@media (min-width: 300px) {
  .root-container.row {
    flex-direction: row !important;
    -moz-column-gap: 20px;
         column-gap: 20px;
    flex-direction: column !important;
  }
  .root-container.row.isRouteMap {
    height: 700px;
  }
}
@media (min-width: 768px) {
  .root-container.row {
    flex-direction: row !important;
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
  .root-container.row.isRouteMap {
    height: 500px;
  }
}
@media (min-width: 800px) {
  .root-container.row {
    flex-direction: row !important;
  }
  .root-container.row.isRouteMap {
    height: 500px;
  }
}
@media (min-width: 900px) {
  .root-container.row {
    flex-direction: row !important;
  }
  .root-container.row.isRouteMap {
    height: 500px;
  }
}
@media (min-width: 1000px) {
  .root-container.row {
    flex-direction: row !important;
  }
  .root-container.row.isRouteMap {
    height: 500px;
  }
}
@media (min-width: 1100px) {
  .root-container.row {
    flex-direction: row !important;
  }
}
.root-container.col {
  flex-direction: column;
}
.root-container.isHero {
  max-width: 1000px;
}
.root-container.noGap {
  gap: 0 !important;
}
.cruiseDetails {
  width: calc(100% + 40px);
  padding: 20px;
  background: transparent;
  display: flex;
  align-items: flex-start;
  position: relative;
  flex-direction: column;
  left: -20px;
  bottom: -15px;
  /*&:before{
    position: absolute;
    inset:0;
    content: '';
    background: #000;
    opacity: .1;
    z-index: -1;
    border-radius: 3px;
  }*/
}
@media (min-width: 768px) {
  .cruiseDetails {
    width: 100%;
    bottom: unset;
    left: unset;
    padding: 20px 0;
  }
}
.cruiseDetails.blur:before {
  -webkit-backdrop-filter: blur(1.5px);
          backdrop-filter: blur(1.5px);
}
.cruiseDetails .partnerLogo {
  width: 130px;
  margin-block: 0 30px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  /*@media (min-width: 768px) {
      width: 200px;
      max-width: 200px;
      margin-block: 0 30px;
      display: flex;
      justify-content: flex-start;

      svg {
        max-width: 200px;
        max-height: 65px;
      }
    }*/
}
.cruiseDetails .partnerLogo svg {
  fill: #fff;
  max-width: 130px;
  max-height: 60px;
  opacity: 0.8;
}
.cruiseDetails .partnerLogo svg > path {
  fill: #fff !important;
}
.cruiseDetails .cruiseData {
  display: flex;
  flex: 1;
  text-shadow: 0px 0px 2px #000;
  color: #fff;
  font-weight: 300;
}
a.outsideLink {
  color: var(--baseLightOrangeColor);
  text-shadow: 0px 0px 2px var(--baseOrangeColor);
  text-decoration: none;
  font-weight: 200;
  position: relative;
}
a.outsideLink:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 1px dashed var(--baseOrangeColor);
  left: 0;
  bottom: -3px;
}
a.outsideLink span.icon {
  width: 12px;
  height: 12px;
  position: absolute;
}
a.outsideLink span.icon svg {
  width: 12px;
  height: 12px;
  color: #fff;
  position: absolute;
  inset: 0;
  transform: rotate(45deg);
}
a.outsideLink.dark span.icon svg {
  color: #000;
}
footer {
  padding-block: 50px !important;
}
@media (min-width: 768px) {
  footer {
    padding-block: 50px !important;
  }
}
main,
footer {
  container-type: inline-size;
  container-name: coreBlock;
  width: 100%;
  position: relative;
  padding-block: 0px;
}
main > .container,
footer > .container {
  padding-inline: 20px;
}
@container coreBlock (min-width: 768px) {
  main > .container,
  footer > .container {
    padding-inline: 30px;
  }
}
main > .container[row],
footer > .container[row] {
  display: flex;
  flex-direction: row;
}
.isCols {
  container-type: inline-size;
  container-name: colsWrapper;
}
.isCols .cols4 {
  -moz-columns: 1;
       columns: 1;
}
.isCols .cols4 .isCol {
  margin-block: 0 40px;
}
.isCols .cols4 .isCol ul {
  -moz-columns: 1;
       columns: 1;
}
.isCols .cols4 .isCol ul a {
  color: #000;
  text-decoration: none;
}
.isCols .cols4 .isCol ul a:hover {
  color: var(--baseBlueColor);
}
@container colsWrapper (min-width: 380px) {
  .isCols .cols4 {
    -moz-columns: 1;
         columns: 1;
  }
  .isCols .cols4 .isCol {
    margin-block: 0 40px;
  }
  .isCols .cols4 .isCol ul {
    -moz-columns: 2;
         columns: 2;
  }
}
@container colsWrapper (min-width: 600px) {
  .isCols .cols4 {
    -moz-columns: 1;
         columns: 1;
  }
  .isCols .cols4 .isCol {
    margin-block: 0 40px;
  }
  .isCols .cols4 .isCol ul {
    -moz-columns: 3;
         columns: 3;
  }
}
@container colsWrapper (min-width: 768px) {
  .isCols .cols4 {
    -moz-columns: 3;
         columns: 3;
  }
  .isCols .cols4 .isCol {
    margin-block: 0 40px;
  }
  .isCols .cols4 .isCol ul {
    -moz-columns: 1;
         columns: 1;
  }
}
@container colsWrapper (min-width: 950px) {
  .isCols .cols4 {
    -moz-columns: 4;
         columns: 4;
  }
  .isCols .cols4 .isCol {
    margin-block: 0 40px;
  }
  .isCols .cols4 .isCol h3 {
    margin-block: 0 15px;
    font-weight: 500;
  }
  .isCols .cols4 .isCol ul {
    -moz-columns: 1;
         columns: 1;
  }
}
.map {
  width: 100%;
  height: 100%;
  background: transparent;
}
.opts {
  container-type: inline-size;
  container-name: colsWrapper;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  width: -webkit-fill-available;
  gap: 15px;
  margin-block: 0;
}
.bar {
  display: grid;
  grid-auto-flow: column;
  gap: 5px;
}
.bar.bordered {
  border: 10px solid transparent;
}
.bar.toEnd {
  justify-content: flex-end;
}
.bar.toStart {
  justify-content: flex-start;
}
.bar.toCenter {
  justify-content: center;
}
.bar.followUp {
  margin-block: 40px 0;
}
.bar.followUp .btn {
  background: var(--baseOrangeColor);
  height: 50px;
  border-radius: 30px;
  color: #fff;
  padding: 0 30px;
}
.bar.cardRate {
  background: #fdfcfc;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 20px;
}
.bar.cardRate label {
  font-size: 1rem;
  width: 100%;
}
.bar.cardRate label small.agentRateInfo {
  display: flex;
  flex-direction: column;
  margin-block: 7px 0;
}
.bar.cardRate label small.agentRateInfo span {
  font-size: 0.8rem;
}
.bar.cardRate .btn {
  background: #f5f3f2;
  transition: background-color 0.5s, color 0.5s;
  align-self: end;
  border-radius: 45px;
  height: 45px;
  width: 100%;
}
footer .info,
footer .corpData {
  margin-block: 0 15px;
}
footer a {
  text-decoration: none;
  color: #1565C0;
}
footer:after {
  content: "";
  position: absolute;
  inset: 0;
  background: #ECEFF1;
  z-index: -1;
}
.spacer {
  padding: 10px 0;
}
.xblock.boldLabel .label {
  font-weight: 400;
}
.bookGrid {
  container-type: inline-size;
  container-name: bookGrid;
}
.bookGrid .container {
  padding: 50px 30px;
}
.bookGrid .container.small {
  padding: 30px;
}
.bookGrid .wrap {
  display: flex;
  flex-direction: row;
  min-height: 700px;
}
.bookGrid .wrap .iBlock {
  width: 400px;
  background: #fbfbfc;
}
.bookGrid .wrap .cBlock {
  flex: 1;
}
@container bookGrid (max-width: 767px) {
  .container {
    padding: 40px 20px !important;
  }
  .wrap {
    flex-direction: column !important;
  }
  .wrap .iBlock {
    width: 100% !important;
  }
  .wrap .cBlock {
    flex: unset !important;
  }
}
.grid {
  display: grid;
  grid-gap: 15px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  background-color: transparent;
  color: #000;
  list-style: none;
}
.grid.inline {
  display: inline-flex;
  overflow: hidden;
  width: -webkit-fill-available;
  font-variant: revert;
}
.grid.inline .gridElem {
  position: relative;
}
.grid.gap10 {
  grid-gap: 10px;
}
.grid.min250 {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.grid .gridElem {
  position: relative;
}
.grid.by2cols {
  grid-template-columns: repeat(2, 1fr);
}
.shade {
  box-shadow: rgba(50, 50, 93, 0.1) 0px 50px 100px -20px, rgba(0, 0, 0, 0.1) 0px 30px 60px -30px;
}
.bordered {
  border: 1px solid #ECEFF1;
  transition: border-color 0.5s ease;
}
.colWidth300 {
  -moz-column-width: 300px;
       column-width: 300px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.colWidth400 {
  -moz-column-width: 400px;
       column-width: 400px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.bulList {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bulList li {
  position: relative;
  display: inline-block;
  align-items: center;
  padding-inline: 12px 0;
  width: 100%;
  line-height: 1.4rem;
}
.bulList li.orange:before {
  background: var(--baseOrangeColor) !important;
}
.bulList li:before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  background: #c9ced1;
  left: 0;
  border-radius: 50%;
  top: 8px;
}
.bulList li.noDot:before {
  background: transparent;
}
.bulList li.embark:before {
  background: #4CAF50;
  width: 10px;
}
.bulList li.arrive:before {
  background: #2196F3;
}
.bulList li.depart:before {
  background: #FF9800;
}
.bulList li.disembark:before {
  width: 10px;
  background: #f66464;
}
.bulList.blue > *:before {
  background: var(--baseBlueColor);
}
.isBlock {
  padding-block: 60px;
  display: block;
}
.isBlock_30 {
  padding-block: 30px;
}
.isText {
  margin-block: 30px 0;
}
.isText.isPar {
  margin-block: 30px !important;
}
.isLink {
  color: var(--baseBlueColor);
  cursor: pointer;
}
.upper {
  text-transform: uppercase;
}
.capital {
  text-transform: capitalize;
}
.underline {
  border-bottom: 1px solid;
}
/*
.small {
  font-size: .85rem;
} */
.btn {
  width: 45px;
  height: 45px;
  background: #eceff1;
  justify-content: center;
  cursor: pointer;
  flex: unset !important;
  border-radius: 3px;
  border: 1px solid transparent;
  transition: border-color 0.5s ease;
}
.btn.text {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 500 !important;
  font-size: 0.85rem;
  text-decoration: none !important;
  padding-inline: 20px;
}
.btn.text:has(a) {
  width: unset;
  height: unset;
  padding: unset;
  padding-inline: 0;
}
.btn.text:has(a):hover a:after {
  position: absolute;
  content: "";
  width: calc(100% - 40px);
  bottom: 5px;
  height: 0px;
  background: #fff;
  left: 20px;
  opacity: 0.7;
}
.btn.text a {
  text-decoration: none;
  padding-inline: 20px;
  height: 45px;
  display: flex;
  align-items: center;
}
.btn.text a.noPad {
  padding: 0 !important;
}
.btn.nobg {
  background: transparent !important;
  padding: 0px 0 !important;
  position: relative;
}
.btn.nobg a {
  text-decoration: none;
}
.btn.nobg:hover :after {
  position: absolute;
  content: "";
  width: 100%;
  bottom: 5px;
  height: 1.5px;
  background: #fff;
  left: 0px;
  opacity: 0.7;
}
.btn.iconed {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: border-color 0.5s ease;
}
.btn.iconed svg {
  width: 23px;
  height: 23px;
  color: #CFD8DC;
  transition: color 0.5s ease;
}
.btn.iconed.selected {
  border: 1px solid var(--baseLightOrangeColor);
}
.btn.iconed.selected svg {
  color: var(--baseLightOrangeColor);
}
.btn.orange {
  text-decoration: none;
  background: var(--baseOrangeColor);
  color: #fff !important;
}
.btn.blue {
  text-decoration: none;
  background: var(--baseBlueColor);
  color: #fff !important;
}
.btn.lightBlue {
  text-decoration: none;
  background: var(--baseLightBlueColor);
  color: #fff !important;
}
.btn.h50 {
  height: 50px;
}
.btn a {
  text-decoration: none !important;
}
[langSwitch] {
  position: relative;
  anchor-name: --langSwitch;
}
[langSwitch] .combo {
  display: none;
  position: absolute;
  position-anchor: --langSwitch;
  position-area: right bottom;
  top: 100%;
  right: 0;
  z-index: 1;
  padding-block: 10px;
  border-top: 5px solid transparent;
}
[langSwitch] .combo:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--baseFontColor);
  opacity: 1;
  z-index: -1;
  border-radius: 3px;
  opacity: 0.3;
}
[langSwitch] .combo div {
  display: flex;
  align-items: center;
  padding: 10px 25px;
  font-size: 0.75rem;
  font-weight: 400;
  color: #fff;
  position: relative;
  z-index: 1;
}
[langSwitch] .combo div:hover:after {
  content: "";
  width: 90%;
  position: absolute;
  background: #fff;
  z-index: -1;
  opacity: 0.15;
  border-radius: 3px;
  inset: 0 5%;
}
[langSwitch].active .combo {
  display: block;
}
.mt10 {
  margin-block: 10px 0;
}
.mt20 {
  margin-block: 20px 0;
}
.mt30 {
  margin-block: 30px 0;
}
.mb10 {
  margin-block: 0 10px;
}
.mb20 {
  margin-block: 0 20px;
}
.mb30 {
  margin-block: 0 30px;
}
.mb50 {
  margin-block: 50px;
}
.pdblk--0 {
  padding-block: 0px !important;
}
.mblk--0 {
  margin-block: 0px !important;
}
.mblk-end--20 {
  margin-block-end: -20px;
}
.mblk-end--30 {
  margin-block-end: -30px;
}
.mblk-end--40 {
  margin-block-end: -40px;
}
.mblk-end--50 {
  margin-block-end: -50px;
}
.mblk-end--60 {
  margin-block-end: -60px;
}
.alert {
  --bdGrayColor: #CFD8DC;
  --bgGrayColor: #f4f5f7;
  position: relative;
  padding: 27px;
  font-size: 1rem;
}
.alert.gray {
  border-left: 5px solid var(--bdGrayColor);
  background: var(--bgGrayColor);
}
.alert.info {
  border-left: 5px solid #1E88E5;
  background: #E3F2FD;
}
.alert .warning {
  border-left: 5px solid #E53935;
  background: #FFEBEE;
}
.alert .header {
  margin-block: 10px 30px;
}
.tableWrap {
  container-type: inline-size;
  container-name: coreTable;
}
@container coreTable (max-width: 550px) {
  .tableWrap th.day,
  .tableWrap th.arrive,
  .tableWrap th.depart,
  .tableWrap td.day,
  .tableWrap td.arrive,
  .tableWrap td.depart {
    display: none;
  }
  .tableWrap th.location div {
    border-right: 0px solid #ddd;
  }
}
@container coreTable (max-width: 750px) {
  .tableWrap th.location div {
    border-right: 0px solid #ddd;
  }
  .tableWrap th.arrive,
  .tableWrap th.depart,
  .tableWrap td.arrive,
  .tableWrap td.depart {
    display: none;
  }
}
.nice-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--textFont);
  font-size: 1rem;
  border: 1px solid #ddd;
}
/* Header */
.nice-table thead {
  background: #f4f4f4;
}
.nice-table th {
  padding: 20px 0px;
  border: 0px solid #ddd;
  font-weight: 500;
  text-align: left;
}
.nice-table th.day {
  width: 100px;
}
.nice-table th.date {
  width: 150px;
}
.nice-table th.arrive,
.nice-table th.depart {
  width: 110px;
}
.nice-table th div {
  border-right: 1px solid #aaa;
  width: 100%;
  padding: 0 15px;
}
.nice-table th:last-child div {
  border-right: 0px solid #ddd;
}
/* Body */
.nice-table td {
  padding: 0px 0;
  border: 0px solid #ddd;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  /*&:last-child {
    div {
      border-right: 0px solid #ddd;
    }
  }*/
}
.nice-table td.day {
  width: 100px;
}
.nice-table td.day div {
  font-weight: 500;
}
.nice-table td.date {
  width: 150px;
}
.nice-table td.arrive,
.nice-table td.depart {
  width: 110px;
}
.nice-table td div {
  width: 100%;
  padding: 15px;
}
.nice-table tbody tr:nth-child(even) {
  background: #fafafa;
}
.nice-table tbody tr:hover {
  background: #f1f1f1;
}
/* key part: scrollable tbody */
.scroll-table thead,
.scroll-table tfoot {
  background: #f4f4f4;
}
.scroll-table tbody {
  display: block;
  max-height: 500px;
  overflow-y: auto;
  width: 100%;
}
.scroll-table thead,
.scroll-table tfoot,
.scroll-table tbody tr {
  display: table;
  width: 100%;
  table-layout: fixed;
  /* ensures columns align */
}
.routeCards {
  min-width: 350px;
  max-width: -webkit-fill-available !important;
  border: 0px solid transparent !important;
}
.routeCards ul[type="gallery"] {
  height: 100%;
  position: relative;
  border-left: 0px solid #ECEFF1;
}
.routeCards ul[type="gallery"] li {
  display: none;
  position: absolute;
  inset: 0;
  flex-direction: column;
}
.routeCards ul[type="gallery"] li.active {
  display: flex;
}
.routeCards ul[type="gallery"] li.routeCard {
  padding: 30px 20px;
  background: #fbfbfa;
}
.routeCards ul[type="gallery"] li.routeCard .dayNum {
  background: #ECEFF1;
  position: absolute;
  top: 1px;
  left: 1px;
  padding: 5px 10px;
  font-size: 0.7rem;
  border-radius: 0;
  font-weight: 400;
  color: #000;
  transition: background-color 0.5s ease, color 0.5s ease;
}
.routeCards ul[type="gallery"] li.routeCard .calDate {
  font-size: 1rem;
  font-weight: 400;
  margin-block: 30px 0;
}
.routeCards ul[type="gallery"] li.routeCard .location {
  font-size: 1.2rem;
  font-weight: 400;
  margin-block: 0 30px;
  position: relative;
}
.routeCards ul[type="gallery"] li.routeCard .location:after {
  content: '';
  position: absolute;
  height: 1px;
  background: #ECEFF1;
  bottom: -20px;
  width: 100%;
  left: 0;
}
.routeCards ul[type="gallery"] .galNavBar div:after {
  content: "";
  position: absolute;
  inset: 0;
  background: #CFD8DC;
  opacity: 0.5;
  border-radius: 5px;
}
.card {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  grid-auto-flow: row;
  border: 1px solid #efebe9;
  transition: border-color 0.5s ease;
  height: 100%;
}
.card.isOpt {
  border: 1px solid #dee;
}
.card:has(.btn.selected) {
  border: 1px solid var(--baseLightOrangeColor);
}
.card:has(.btn.selected) .gal {
  border: 1px solid #fff;
}
.card .gal {
  width: 100%;
  aspect-ratio: 4/3;
  background-color: #fff;
  position: relative;
  list-style: none;
  overflow: hidden;
  margin: unset;
  padding: unset;
  border: 1px solid #fff;
}
.card .gal.min {
  max-height: 250px;
}
.card .gal .galElem {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  aspect-ratio: 4 / 3;
  opacity: 0;
  z-index: 0;
  display: none;
}
.card .gal .galElem.active {
  opacity: 1;
  z-index: 1;
  display: block !important;
}
.card .gal .galNavBar {
  position: absolute;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: flex-end;
  -moz-column-gap: 5px;
       column-gap: 5px;
  padding: 5px;
}
.card .gal .galNavBar div {
  width: 50px;
  height: 50px;
  position: relative;
  cursor: pointer;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.card .gal .galNavBar div svg {
  z-index: 9;
  color: #000;
  width: 20px;
  height: 20px;
}
.card .gal .galNavBar div:after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  opacity: 0.5;
  border-radius: 5px;
}
.card .cardBody {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card .cardBody .cardHeader {
  display: flex;
  z-index: 9;
  position: relative;
  align-items: flex-start;
  flex: 1;
  flex-direction: column;
}
.card .cardBody .cardHeader h3 {
  flex: 1;
  font-family: var(--fontHeader);
  text-transform: uppercase;
  margin-block: 0px 20px;
  font-size: 1.1rem;
  line-height: 1.3rem;
  letter-spacing: -0.3px;
  font-weight: 400;
  color: #000;
}
.card .btn[details] {
  transition: background-color 0.5s ease;
}
.card:hover .cardRate .btn {
  background: var(--baseLightOrangeColor);
  color: #fff;
}
.card:hover .btn[details] {
  background: var(--baseBlueColor);
}
.card a {
  color: var(--baseBlueColor);
  text-decoration: none;
  cursor: pointer;
}
.card a.supHeader {
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
}
.promoList {
  container-type: inline-size;
  container-name: promoList;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  width: -webkit-fill-available;
  gap: 5px;
  margin-block: 0;
}
.promoCard {
  text-decoration: none;
  height: 100%;
  min-height: 550px;
  width: 100%;
  aspect-ratio: 3 / 4;
  position: relative;
  z-index: 1;
}
.promoCard:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 20%), radial-gradient(at left bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 50%);
}
.promoCard .promoWrap {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}
.promoCard .logo {
  margin-block: 30px;
  display: flex;
  justify-content: center;
  z-index: 1;
  width: 100%;
}
.promoCard .logo svg {
  max-width: 160px;
  max-height: 35px;
  fill: #fff !important;
  opacity: 0.9;
}
.promoCard .logo svg * {
  fill: #fff !important;
}
.promoCard .cardBody {
  display: flex;
  flex-direction: column;
  grid-auto-flow: row;
  width: 100%;
  justify-content: flex-end;
  align-items: flex-start;
  z-index: 1;
  padding: 20px;
  position: relative;
}
.promoCard .cardBody .header {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  text-shadow: 2px 2px 0px #37474F;
  line-height: 1.5rem;
  margin-block: 0 20px;
  padding: 0;
  opacity: 0.9;
  z-index: 1;
}
.promoCard .cardBody .content {
  color: #fff;
  z-index: 1;
}
.promoCard .cardBody .content p {
  padding: 0;
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2rem;
  text-shadow: 1px 1px 0px #37474F;
}
.promoCard .cardBody .promoEnds {
  color: #fff;
  margin-block: 10px 0;
  font-size: 0.7rem;
  font-weight: 300;
}
.coreSearcher {
  container-name: searcher;
  container-type: inline-size;
  anchor-name: --searcherRoot;
  --bgColor: #1976D2;
  width: -webkit-fill-available;
  max-width: 998px;
  display: block;
  position: relative;
}
.coreSearcher .wrap .formElem {
  display: flex;
  flex: 1;
  flex-direction: row;
  height: calc(var(--height) * 1px);
  cursor: pointer;
}
.coreSearcher .wrap .formElem .icon {
  display: flex;
  align-items: center;
  padding: 0;
  width: 40px;
  justify-content: center;
  position: relative;
  height: 40px;
  margin: calc((var(--height) * 1px - 40px) / 2);
}
.coreSearcher .wrap .formElem .icon svg {
  width: 20px;
  height: 20px;
  color: #000;
  stroke-width: 1;
  position: absolute;
}
.coreSearcher .wrap .formElem .icon:before {
  content: "";
  position: absolute;
  background: #597684;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  opacity: 0.1;
}
.coreSearcher .wrap .formElem .title {
  display: flex;
  flex: 1;
  height: calc(var(--height)*1px);
  align-content: center;
  flex-wrap: wrap;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  overflow: hidden;
  text-shadow: 1px 1px 1px #fff;
  align-items: center;
}
.coreSearcher .wrap .formElem .title span {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 10px;
  font-size: 0.7rem;
  font-weight: 300;
  position: relative;
  z-index: 1;
}
.coreSearcher .wrap .formElem .title span:before {
  position: absolute;
  inset: 0;
  content: "";
  z-index: -1;
  background: #fff;
  opacity: 0.3;
}
.coreSearcher .wrap .btn {
  width: calc(var(--height) * 1px);
  height: calc(var(--height) * 1px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  background: unset;
  border: 0;
}
.coreSearcher .wrap .btn:after {
  position: absolute;
  content: '';
  background: var(--baseOrangeColor);
  opacity: 0.8;
  z-index: -1;
  inset: 1;
  width: 100%;
  height: 100%;
}
.coreSearcher .wrap .btn svg {
  width: 25px;
  height: 25px;
  color: #fff;
  stroke-width: 2;
}
.coreSearcher .selectorArea {
  z-index: -1;
  position: absolute;
  top: 75px;
}
.coreSearcher .selectorArea:has(.active) {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px;
}
.coreSearcher .selectorArea .areaElem {
  display: none;
  padding: 25px 20px;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 15px;
  overflow: scroll;
  position: relative;
  background: #fffffffa;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.coreSearcher .selectorArea .areaElem.active {
  display: flex;
}
.coreSearcher .selectorArea .areaElem .listElem {
  padding: 15px 20px;
  background: transparent;
  display: flex;
  align-items: center;
  font-size: 0.85rem;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 40px;
  cursor: pointer;
  position: relative;
  z-index: 0;
  border: 1px solid #EFEBE9;
  will-change: background-color, border-color;
  transition: background-color 0.5s ease, border-color 0.5s ease;
  /*&:focus{
          background: #EFEBE9;
          border: 1px solid #D7CCC8;
        }*/
}
.coreSearcher .selectorArea .areaElem .listElem.selected {
  border: 1px solid #D7CCC8;
  background: #EFEBE9;
}
.coreSearcher .selectorArea .areaElem .calendars {
  display: flex;
  gap: 20px;
}
.coreSearcher .selectorArea .areaElem .calendars .calendar {
  display: flex;
  flex-direction: column;
}
.coreSearcher .selectorArea .areaElem .calendars .calendar .header {
  font-size: 1rem;
  font-weight: 500;
  padding: 10px;
  line-height: 1;
  margin-block: unset;
}
.coreSearcher .selectorArea .areaElem .calendars .calendar .body {
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(4, 1fr);
}
.coreSearcher .selectorArea .areaElem .calendars .calendar .body .month {
  width: 70px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid #EFEBE9;
  font-size: 0.9rem;
  transition: background-color 0.5s ease, border-color 0.5s ease;
  /*&:hover{
                background: #EFEBE9;
                border: 1px solid #D7CCC8;
              }*/
}
.coreSearcher .selectorArea .areaElem .calendars .calendar .body .month.off {
  border: 1px solid #f5f5f5 !important;
  cursor: not-allowed !important;
  color: #ccc;
  text-decoration: line-through;
}
.coreSearcher .selectorArea .areaElem .calendars .calendar .body .month.selected {
  background: #EFEBE9;
  border: 1px solid #D7CCC8;
}
@container searcher (width <= 600px) {
  .coreSearcher .wrap {
    --height: 60;
    --gap: 5px;
    position: relative;
    margin-block: 0 20px;
  }
  .coreSearcher .wrap .formElemWrap {
    background: transparent;
    display: flex;
    z-index: 9;
    flex-direction: column;
    row-gap: var(--gap);
    flex: 1;
  }
  .coreSearcher .wrap .formElemWrap .formElem {
    z-index: 1;
    position: relative;
    padding-inline: 0 60px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .coreSearcher .wrap .formElemWrap .formElem:after {
    content: "";
    position: absolute;
    background: #fff;
    opacity: 0.7;
    z-index: -1;
    inset: 0;
  }
  .coreSearcher .wrap .formElemWrap .formElem[type="locations"]:after {
    border-radius: 5px 5px 0 0;
  }
  .coreSearcher .wrap .formElemWrap .formElem[type="periods"]:after {
    border-radius: 0 0 5px 5px;
  }
  .coreSearcher .wrap .btn {
    z-index: 9;
    position: absolute;
    bottom: calc((var(--height) * 1px + var(--gap)) / 2);
    right: 0px;
  }
  .coreSearcher .wrap .btn:after {
    opacity: 1 !important;
    border-radius: 10px 0 0px 10px;
  }
  .coreSearcher .selectorArea {
    width: calc(100% + 40px);
    z-index: -1;
    position: absolute;
    left: -20px;
    top: unset;
  }
}
@container searcher (width > 600px) {
  .coreSearcher .wrap {
    --height: 70;
    --gap: 5px;
    position: relative;
    margin: 0 auto 30px;
    display: flex;
    flex-direction: row;
  }
  .coreSearcher .wrap .formElemWrap {
    background: transparent;
    display: flex;
    z-index: 9;
    flex-direction: row;
    row-gap: var(--gap);
    flex: 1;
  }
  .coreSearcher .wrap .formElemWrap .formElem {
    z-index: 1;
    position: relative;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .coreSearcher .wrap .formElemWrap .formElem:after {
    content: "";
    position: absolute;
    background: #fff;
    opacity: 0.7;
    z-index: -1;
    inset: 0;
  }
  .coreSearcher .wrap .formElemWrap .formElem[type="locations"]:after {
    border-radius: 5px 0 0 5px;
  }
  .coreSearcher .wrap .btn {
    z-index: 9;
  }
  .coreSearcher .wrap .btn:after {
    border-radius: 0 5px 5px 0 !important;
  }
  .coreSearcher .selectorArea {
    position-anchor: --searcherRoot;
    position-area: center bottom;
    width: -webkit-fill-available;
    z-index: -1;
    position: absolute;
  }
}
[data-tooltip] {
  --arrow-size: 5px;
  position: relative;
  z-index: 10;
  /* Positioning and visibility settings of the tooltip */
  /* The actual tooltip with a dynamic width */
  /* Tooltip arrow */
  /* Tooltip becomes visible at hover */
  /* Scales from 0.5 to 1 -> grow effect */
  /*
    Arrow slide down effect only on mouseenter (NOT on mouseleave)
  */
}
[data-tooltip]:before,
[data-tooltip]:after {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  left: 50%;
  bottom: calc(100% + var(--arrow-size));
  pointer-events: none;
  transition: 0.2s;
  will-change: transform;
}
[data-tooltip]:before {
  content: attr(data-tooltip);
  padding: 10px 18px;
  min-width: 50px;
  max-width: 300px;
  width: max-content;
  width: -moz-max-content;
  border-radius: 3px;
  font-size: 0.7rem;
  text-shadow: none;
  font-weight: 400;
  background-color: rgba(59, 72, 80, 0.9);
  background-image: linear-gradient(30deg, rgba(59, 72, 80, 0.44), rgba(59, 68, 75, 0.44), rgba(60, 82, 88, 0.44));
  box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-transform: none !important;
  text-align: center;
  white-space: pre-wrap;
  transform: translate(-50%, calc(0px - var(--arrow-size))) scale(0.5);
}
[data-tooltip]:after {
  content: '';
  border-style: solid;
  border-width: var(--arrow-size) var(--arrow-size) 0px var(--arrow-size);
  /* CSS triangle */
  border-color: rgba(55, 64, 70, 0.9) transparent transparent transparent;
  transition-duration: 0s;
  /* If the mouse leaves the element, the transition effects for the tooltip arrow are "turned off" */
  transform-origin: top;
  /* Orientation setting for the slide-down effect */
  transform: translateX(-50%) scaleY(0);
}
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
  visibility: visible;
  opacity: 1;
}
[data-tooltip]:hover:before {
  transition-delay: 0.3s;
  transform: translate(-50%, calc(0px - var(--arrow-size))) scale(1);
}
[data-tooltip]:hover:after {
  transition-delay: 0.5s;
  /* Starting after the grow effect */
  transition-duration: 0.2s;
  transform: translateX(-50%) scaleY(1);
}
/* LEFT */
/* Tooltip + arrow */
[data-tooltip-location="left"] {
  /* Tooltip */
  /* Arrow */
}
[data-tooltip-location="left"]:before,
[data-tooltip-location="left"]:after {
  left: auto;
  right: calc(100% + var(--arrow-size));
  bottom: 50%;
}
[data-tooltip-location="left"]:before {
  transform: translate(calc(0px - var(--arrow-size)), 50%) scale(0.5);
}
[data-tooltip-location="left"]:hover:before {
  transform: translate(calc(0px - var(--arrow-size)), 50%) scale(1);
}
[data-tooltip-location="left"]:after {
  border-width: var(--arrow-size) 0px var(--arrow-size) var(--arrow-size);
  border-color: transparent transparent transparent rgba(55, 64, 70, 0.9);
  transform-origin: left;
  transform: translateY(50%) scaleX(0);
}
[data-tooltip-location="left"]:hover:after {
  transform: translateY(50%) scaleX(1);
}
/* RIGHT */
[data-tooltip-location="right"]:before,
[data-tooltip-location="right"]:after {
  left: calc(100% + var(--arrow-size)+5px);
  bottom: 50%;
}
[data-tooltip-location="right"]:before {
  transform: translate(var(--arrow-size), 50%) scale(0.5);
}
[data-tooltip-location="right"]:hover:before {
  transform: translate(var(--arrow-size), 50%) scale(1);
}
[data-tooltip-location="right"]:after {
  border-width: var(--arrow-size) var(--arrow-size) var(--arrow-size) 0px;
  border-color: transparent rgba(55, 64, 70, 0.9) transparent transparent;
  transform-origin: right;
  transform: translateY(50%) scaleX(0);
}
[data-tooltip-location="right"]:hover:after {
  transform: translateY(50%) scaleX(1);
}
/* BOTTOM */
[data-tooltip-location="bottom"]:before,
[data-tooltip-location="bottom"]:after {
  top: calc(100% + var(--arrow-size));
  bottom: auto;
}
[data-tooltip-location="bottom"]:before {
  transform: translate(-50%, var(--arrow-size)) scale(0.5);
}
[data-tooltip-location="bottom"]:hover:before {
  transform: translate(-50%, var(--arrow-size)) scale(1);
}
[data-tooltip-location="bottom"]:after {
  border-width: 0px var(--arrow-size) var(--arrow-size) var(--arrow-size);
  border-color: transparent transparent rgba(55, 64, 70, 0.9) transparent;
  transform-origin: bottom;
}

