html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
}
@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  html {
    font-size: 8px;
  }
}
@media only screen and (min-width: 1440px) and (max-width: 1699px) {
  html {
    font-size: 10px;
  }
}
@media only screen and (min-width: 1700px) and (max-width: 2047px) {
  html {
    font-size: 11px;
  }
}
@media only screen and (min-width: 2048px) {
  html {
    font-size: 12px;
  }
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  background-color: #fff;
  color: #101010;
  direction: ltr;
  overflow-x: hidden;
}
@media (max-width: 1023px) {
  body {
    font-size: 1.8rem;
  }
}

main {
  margin: 0;
}

.container {
  max-width: 124rem;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 1023px) {
  .container {
    max-width: 100%;
    margin: 0;
  }
}
@media only screen and (min-width: 1700px) {
  .container {
    max-width: 130rem;
  }
}
.container.narrow {
  max-width: 84rem;
}
.container.full {
  max-width: 100%;
}

.panel {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 3rem;
}
@media (max-width: 1023px) {
  .panel {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.panel-single {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0 12.5%;
  gap: 3rem;
}
@media (max-width: 1023px) {
  .panel-single {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 0;
  }
}

.reverse-panel {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 3rem;
}
@media (max-width: 1023px) {
  .reverse-panel {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}

.box {
  background-color: #fff;
  padding: 3.2rem 3.2rem 4rem 3.2rem;
  border: 1px solid #CECECE;
  border-radius: 2.4rem;
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4 {
  color: #101010;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
}

h1,
.h1 {
  font-size: 6.4rem;
}

h2,
.h2 {
  font-size: 3.6rem;
}

h3,
.h3 {
  font-size: 2.4rem;
}

h4,
.h4 {
  font-size: 1.8rem;
}

section {
  position: relative;
}

a {
  color: #101010;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: underline;
}
a:hover, a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.image-wrapper {
  display: flex;
}

.decorative-image {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.hidden-content {
  display: none;
}

@media (max-width: 1023px) {
  .desktop {
    display: none !important;
  }
}

.mobile {
  display: none;
}
@media (max-width: 1023px) {
  .mobile {
    display: initial;
  }
}

.navigation-line a {
  vertical-align: middle;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.navigation-line a span {
  font-size: 2.4rem;
  font-weight: 300;
}

.inner-shadow-hover:hover {
  box-shadow: inset 0 0 3px rgba(27, 27, 27, 0.1254901961);
}

.inner-shadow-hover:active {
  filter: brightness(0.97);
}

.checkboxes-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.7rem;
}
.checkboxes-wrapper.tabbed {
  padding-top: 1.2rem;
  padding-left: 3.2rem;
}
@media (max-width: 1023px) {
  .checkboxes-wrapper.tabbed {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.checkboxes-wrapper label {
  display: block;
  position: relative;
  padding-left: 3rem;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.5rem;
}
@media (max-width: 1023px) {
  .checkboxes-wrapper label {
    font-size: 1.5rem;
  }
}
.checkboxes-wrapper label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkboxes-wrapper .checkmark {
  position: absolute;
  top: 0.15rem;
  left: 0;
  height: 2.1rem;
  width: 2.1rem;
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  border-radius: 0.5rem;
  transition: 0.2s ease;
}
.checkboxes-wrapper label:hover input ~ .checkmark {
  background-color: #FFF;
}
.checkboxes-wrapper label input:checked ~ .checkmark {
  background-color: var(--primary);
}
.checkboxes-wrapper .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.checkboxes-wrapper label input:checked ~ .checkmark:after {
  display: block;
}
.checkboxes-wrapper label .checkmark:after {
  left: 0.7rem;
  top: 0.25rem;
  width: 0.4rem;
  height: 0.9rem;
  border: solid white;
  border-width: 0 0.3rem 0.3rem 0;
  transform: rotate(45deg);
}

.radio-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.3rem;
}
.radio-wrapper.tabbed {
  padding-top: 1.2rem;
  padding-left: 3.2rem;
}
.radio-wrapper .head {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: stretch;
  gap: 2.4rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.5rem;
}
@media (max-width: 1023px) {
  .radio-wrapper .head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.4rem;
  }
}
.radio-wrapper .head .images {
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 2.4rem;
}
.radio-wrapper label {
  display: flex;
  position: relative;
  padding-left: 3rem;
  cursor: pointer;
  align-items: center;
}
.radio-wrapper label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.radio-wrapper .radioCheck {
  position: absolute;
  top: 0;
  left: 0;
  height: 24px;
  width: 24px;
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  border-radius: 50%;
  transition: 0.2s ease;
}
.radio-wrapper label:hover input ~ .radioCheck {
  background-color: #FFF;
}
.radio-wrapper label input:checked ~ .radioCheck {
  background-color: #FFF;
}
.radio-wrapper .radioCheck:after {
  position: absolute;
  display: none;
  transition: 0.2s ease;
}
.radio-wrapper label input:checked ~ .radioCheck:after {
  display: block;
}
.radio-wrapper label .radioCheck:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 50%;
  border-radius: 50%;
  background: var(--primary);
  border: solid var(--primary);
  transform: translate(-50%, -50%);
  transition: 0.2s ease;
}

input[type=date],
input[type=time] {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.02rem;
}

input[type=text] {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.07rem;
}

input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-inner-spin-button,
input[type=time]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

h2.section-title {
  font-size: 4rem;
  font-weight: 800;
  line-height: 3.4rem;
  color: var(--global-black);
  display: flex;
  justify-content: center;
}
@media (max-width: 1023px) {
  h2.section-title {
    font-size: 2.5rem;
    word-spacing: 0.2rem;
    font-weight: 800;
    line-height: 3.4rem;
    text-align: center;
  }
}

.error-msg {
  padding-left: 3rem;
  color: var(--state-error);
  font-size: 1.8rem;
}

.swal2-popup {
  scale: 1.5;
}
@media (max-width: 1023px) {
  .swal2-popup {
    scale: 1;
  }
}

.swal2-x-mark {
  transform-origin: center;
}

.swal2-confirm {
  background-color: var(--primary);
  color: #FFF;
}

.swal2-confirm {
  background-color: var(--primary);
  color: #FFF;
  font-size: 1.8rem;
}

.swal2-confirm:focus {
  box-shadow: none;
}

.flatpickr-day.selected {
  background-color: var(--primary);
  background: var(--primary);
  transition: 0.2s ease;
  border: none;
}

.flatpickr-day.selected:hover {
  filter: saturate(0.8);
  border: none;
}

.flatpickr-calendar.hasTime.noCalendar.animate.open.arrowTop.arrowLeft {
  max-width: 21.7rem;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 25px;
  padding: 0 18px 0 10px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  box-sizing: border-box;
}

.hoverscale {
  transition: 0.2s ease;
}

.hoverscale:hover {
  scale: 1.05;
}

.hoverscale:active {
  scale: 0.95;
}

.hoverscale-hard {
  transition: 0.2s ease;
}

.hoverscale-hard:hover {
  scale: 1.15;
}

.hoverscale-hard:active {
  scale: 0.92;
}

.flatpickr-hour::-moz-selection {
  background-color: transparent;
  color: var(--global-black);
}

.flatpickr-hour::selection {
  background-color: transparent;
  color: var(--global-black);
}

.rotate-45deg {
  pointer-events: none;
  transition: 0.2s ease;
  display: inline-block;
}
.rotate-45deg.on {
  rotate: 45deg;
}

@keyframes prepare {
  0% {
    display: none;
  }
  100% {
    display: flex;
  }
}
.slide-anim {
  animation: prepare 2s forwards;
  transition: 0.15s ease;
  height: 0;
  scale: 0;
  opacity: 0;
  margin-top: var(--slide-anim-container-gap);
  font-size: 0;
  transform-origin: top left;
}
.slide-anim_hide {
  scale: 1;
  margin-top: auto;
  height: var(--slide-anim-height);
  opacity: 0;
  font-size: 0;
  transform-origin: top left;
}
.slide-anim_shown {
  opacity: 1;
  scale: 1;
  margin-top: auto;
  height: var(--slide-anim-height);
  font-size: 100%;
  transform-origin: top left;
}

.general-input {
  padding: 1rem 0.8rem;
  border: 1px solid var(--global-stroke);
  border-radius: 0.8rem;
  font-size: 1.8rem;
}
.general-input.error {
  border: 1px solid var(--state-error);
}
.general-input[type=number]::-webkit-outer-spin-button, .general-input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.general-input[type=number] {
  -moz-appearance: textfield;
}

.general-input:hover:not(.error) {
  border: 1px solid var(--global-black);
}

.error-info {
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--state-error);
}

.w-3q {
  width: 75%;
}

.w-q {
  width: 25%;
}

.w-70 {
  width: 70%;
}

.w-30 {
  width: 30%;
}

.w-half {
  width: 50%;
}

.w-100 {
  width: 100%;
}

.iti--allow-dropdown {
  width: 100%;
}
.iti--allow-dropdown input {
  padding: 1.14rem;
}

.field-wrapper-row {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
}

.field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.close-button-wrapper {
  display: flex;
  justify-content: flex-end;
}

.hoverscale-text {
  transition: 0.2s ease;
}

.hoverscale-text:hover {
  font-size: 103%;
}

.hoverscale-text:active {
  font-size: 97%;
}

.seperator {
  height: 1px;
  width: 100%;
  background-color: var(--global-stroke);
}

.category-headline {
  font-weight: 400;
  font-size: 2.4rem;
  color: var(--global-black);
}
@media (max-width: 1023px) {
  .category-headline {
    font-size: 2rem;
  }
}

.hidden-date-inputs {
  display: none;
}

.glow-checkbox-label {
  color: var(--primary);
  font-weight: 600 !important;
}

.intl-tel-details {
  width: 100%;
}

.default-tag {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.default-tag img {
  height: 1.3rem;
}

input.invalid {
  border: 1px solid var(--state-warning);
  outline: 1px solid var(--state-warning);
}

input.valid:focus {
  outline: 1px solid var(--state-success);
}

.tooltip-coming-soon {
  position: relative;
}

.tooltip-coming-soon::after {
  transition: 0.2s ease;
}

.tooltip-coming-soon:hover::after {
  content: "Coming Soon!";
  font-size: 1.3rem;
  color: white;
  background-color: rgba(var(--rgb-global-black), 0.85);
  position: absolute;
  padding: 1rem 2rem;
  border-radius: 2rem 2rem 2rem 0.8rem;
  border: 1px solid var(--primary);
  z-index: 999;
  top: -2.3rem;
  right: -13rem;
}

.swiper.images-slider {
  width: 100%;
  height: 100%;
  border-radius: 2.4rem;
}
.swiper.images-slider .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.swiper.images-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.swiper.images-slider .swiper-pagination {
  padding-bottom: 0.7rem;
}
@media (max-width: 1023px) {
  .swiper.images-slider .swiper-pagination {
    padding-bottom: 0.1rem;
    margin-top: -0.3rem;
  }
}
.swiper.images-slider .swiper-pagination-bullet {
  transition: 0.4s ease;
  transform-origin: center;
  border-radius: 999px;
  height: 1.1rem;
  width: 1.1rem;
  background-color: var(--global-stroke);
  filter: brightness(12.2);
  opacity: 0.5;
}
.swiper.images-slider .swiper-pagination-bullet-active {
  width: 4.9rem;
  background-color: #FFF;
  opacity: 1;
}

.background-image {
  background-size: contain;
}

body:has(.popup-initial-anchored-datetimepicker:not(.closed)) {
  overflow: hidden;
}
body:has(.popup-initial-anchored-datetimepicker:not(.closed)) .flatpickr-calendar {
  z-index: 9999999999;
}

.stick-to-bottom {
  margin-top: auto;
}

body:has(.hide-header-footer-indicator) header, body:has(.hide-header-footer-indicator) footer {
  display: none;
}

.site-header {
  border: 1px solid var(--global-stroke);
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 999;
}
.site-header.bg-style {
  border: 1px solid #00467F;
  background-color: #00467F;
}
.site-header.bg-style a {
  color: #fff;
}
.site-header.bg-style a svg path {
  fill: #fff;
}
.site-header--wrapper {
  height: 7.2rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.8rem;
  padding: 0;
}
@media (max-width: 1023px) {
  .site-header--wrapper {
    justify-content: space-between;
  }
}
@media (max-width: 1023px) {
  .site-header--logo {
    position: absolute;
    width: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translate(125%, 0%);
  }
}
.site-header--logo img {
  max-height: 6.3rem;
  width: auto;
}
.site-header--menu-mobile {
  height: 3.6rem;
  width: 4rem;
  background-color: #FFF;
  box-shadow: 0px 4px 50px -10px rgba(15, 25, 85, 0.4901960784);
  border-radius: 4px;
  padding: 1.4rem 1rem 0rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.43rem;
}
.site-header--menu-mobile .menu-line-1 {
  display: block;
  background-color: var(--primary);
  height: 0.17rem;
  border-radius: 1px;
  width: 2rem;
}
.site-header--menu-mobile .menu-line-2 {
  display: block;
  background-color: var(--primary);
  height: 0.17rem;
  border-radius: 1px;
  width: 1.4rem;
}
.site-header--menu-mobile.mobile-menu-popup-opened {
  padding: 1.7rem 0rem 0rem 1.35rem;
}
.site-header--menu-mobile.mobile-menu-popup-opened .menu-line-1 {
  display: block;
  background-color: var(--primary);
  height: 0.17rem;
  border-radius: 1px;
  width: 1.4rem;
  animation: line1 0.3s forwards;
}
.site-header--menu-mobile.mobile-menu-popup-opened .menu-line-2 {
  display: block;
  background-color: var(--primary);
  height: 0.17rem;
  border-radius: 1px;
  width: 1.4rem;
  animation: line2 0.3s forwards;
}
@keyframes line1 {
  0% {
    rotate: 0deg;
    margin-top: 0rem;
  }
  100% {
    rotate: 45deg;
    margin-top: 0rem;
  }
}
@keyframes line2 {
  0% {
    rotate: 0deg;
    margin-top: 0rem;
  }
  100% {
    rotate: -45deg;
    margin-top: -0.63rem;
  }
}
.site-header--menu-mobile + ul.header-menu-mobile {
  display: none;
}
@media (max-width: 1023px) {
  .site-header--menu {
    display: none;
  }
}
.site-header--menu ul.header-menu {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-header--menu ul.header-menu li a {
  text-decoration: none;
  color: #101010;
  font-weight: 400;
  font-size: 1.6rem;
  padding: 0 1rem;
}
.site-header--menu ul.header-menu li a:hover {
  color: var(--primary);
}
.site-header--user-login {
  margin-inline-start: auto;
}
@media (max-width: 1023px) {
  .site-header--user-login {
    margin-inline-start: 0;
  }
}
.site-header--user-login > a {
  display: flex;
  gap: 0.8rem;
  text-decoration: none;
  align-items: center;
}
.site-header--user-login > a img {
  height: 1.8rem;
  width: auto;
}
.site-header--user-login--user-logged img {
  height: 1.8rem;
  width: auto;
}

.site-footer {
  margin-top: auto;
  background-color: #F1F1F1;
  border-top: 1px solid #CECECE;
  bottom: 0;
  width: 100%;
}
.site-footer .container {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 3.7rem 2rem 2.4rem 2rem;
}
.site-footer--wrapper {
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 3.5rem;
  padding: 0;
}
@media (max-width: 1023px) {
  .site-footer--wrapper {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 3.2;
    padding: 2.4rem 0 3.2rem 0;
  }
}
.site-footer--logo {
  display: flex;
  flex-direction: column;
  gap: 1.7rem;
  font-size: 1.3rem;
  margin-top: -2rem;
}
.site-footer--logo img {
  max-height: 7.5rem;
  width: auto;
}
.site-footer--menu {
  display: flex;
  align-items: center;
  gap: 1.7rem;
  font-size: 1.3rem;
}
.site-footer--menu ul.footer-menu {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1023px) {
  .site-footer--menu ul.footer-menu {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.site-footer--menu ul.footer-menu li a {
  text-decoration: none;
  text-transform: uppercase;
  color: #9C9C9C;
  padding: 0 1rem;
  font-size: 1.6rem;
}
.site-footer--legals {
  margin-inline-end: auto;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  font-size: 1.6rem;
}
@media (max-width: 1023px) {
  .site-footer--legals {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    margin: 0;
  }
}
.site-footer--socials {
  display: flex;
  margin-inline-start: auto;
  align-items: center;
  gap: 0.7rem;
}
.site-footer--socials .social-link {
  width: 3.2rem;
}
.site-footer--socials .social-link svg circle, .site-footer--socials .social-link svg #yt-play-btn {
  fill: var(--primary);
}
@media (max-width: 1023px) {
  .site-footer--socials {
    margin-inline-end: auto;
  }
}

.btn {
  height: 4.8rem;
  outline: none;
  border: none;
  border-radius: 0.8rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.2s ease;
}
.btn::-moz-selection {
  background-color: transparent;
}
.btn::selection {
  background-color: transparent;
}
.btn:disabled {
  background-color: var(--global-stroke);
  cursor: auto;
}
.btn:disabled:hover {
  background-color: var(--global-stroke);
}
.btn-primary {
  background-color: var(--primary);
  color: var(--global-white);
}
.btn-primary:hover {
  filter: saturate(0.8);
}
.btn-secondary {
  height: 4.8rem;
  background-color: var(--primary);
  color: var(--global-white);
}
.btn-secondary:hover {
  filter: saturate(0.8);
}
.btn-secondary-black {
  height: 4.8rem;
  background-color: var(--global-black);
  color: var(--global-white);
}
.btn-secondary-black:hover {
  filter: saturate(0.8);
}
.btn-text {
  height: auto;
  background-color: transparent;
  border: none;
  outline: none;
  display: flex;
  justify-content: flex-start;
  transition: 0.2s ease;
  transform-origin: left;
}
.btn-text:active {
  scale: 0.98;
}
.btn-link {
  color: var(--global-gray);
  text-decoration: none;
  width: 100%;
  text-align: center;
  height: auto;
  margin-bottom: -0.6rem;
}
.btn-link:hover {
  text-decoration: underline;
  color: var(--primary);
}
.btn-white-border {
  font-size: 1.6rem;
  font-weight: 400;
  height: 4.3rem;
  border-radius: 1.6rem;
  padding: 0 3.1rem;
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
}
.btn-white-border:hover, .btn-login:hover {
  box-shadow: inset 0 0 3px rgba(27, 27, 27, 0.1254901961);
}
.btn-white-border:active, .btn-login:active {
  filter: brightness(0.97);
}
.btn-login {
  font-size: 1.6rem;
  font-weight: 400;
  height: 3.6rem;
  border-radius: 0.8rem;
  padding: 0 2.1rem;
  background-color: #FFF;
  border: 1px solid var(--primary);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
}
.btn-login img {
  width: 1.55rem;
}
.btn-login:hover {
  background-color: var(--primary);
  color: #FFF;
  border: 1px solid transparent;
  outline: none;
}
.btn-login:hover svg {
  filter: brightness(99);
}
.btn-dropdown {
  background-color: transparent;
}
.btn-close {
  height: auto;
  font-size: 1.4rem;
}
.btn-promo {
  background-color: var(--primary);
  padding: 0 2.2rem;
}
.btn-invert {
  border: 1px solid var(--primary);
  color: var(--primary);
  background-color: #FFF;
  display: flex;
  align-items: center;
  padding: 0 3.2rem;
}
.btn-invert-wide {
  padding: 0 8.7rem;
  border: 1px solid var(--primary);
  color: var(--primary);
  background-color: #FFF;
}
.btn-invert-wide:hover {
  background-color: var(--primary);
  color: #FFF;
}
.btn-invert:hover {
  background-color: var(--primary);
  color: #FFF;
}
.btn-balance {
  background-color: #FFF;
  padding: 0 3.6rem;
  color: var(--state-success);
  font-size: 1.6rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.btn-balance:hover {
  border: 1px solid #FFF;
  color: #FFF;
  background-color: var(--state-success);
}
.btn-balance:active {
  scale: 0.98;
}
.btn-delete {
  padding: 0 2.3rem;
  background-color: var(--state-error);
  font-size: 1.6rem;
  font-weight: 600;
  color: #FFF;
}
.btn-delete:hover {
  filter: saturate(0.8);
}
.btn-delete:active {
  filter: saturate(0.8);
}

.update-toll-tag-btn {
  border: 1px solid var(--state-success);
}

body.page-checkout, body.page-pay-and-go {
  background-color: var(--global-gray-background);
}

.checkout {
  padding: 3.2rem 0 6.4rem 0;
}
.checkout--wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .checkout--wrapper {
    gap: 1.4rem;
  }
}
.checkout--wrapper .offer-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.checkout--wrapper .offer-wrapper:has(.offer--header-pay-and-go) {
  gap: 0;
}
@media (max-width: 1023px) {
  .checkout--wrapper .offer-wrapper:has(.offer--header-pay-and-go) {
    gap: 2.4rem;
  }
}
.checkout--wrapper .offer-wrapper .extra-services-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: 1.4rem;
}
@media (max-width: 1023px) {
  .checkout--wrapper .offer-wrapper .extra-services-title {
    margin-top: 1rem;
    font-size: 2rem;
    padding-left: 0.9rem;
  }
}
.checkout--wrapper .offer-wrapper .extra-services {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .checkout--wrapper .offer-wrapper .booking-summary--form {
    margin-top: -2.4rem;
  }
}

body.page-details {
  background-color: var(--global-gray-background);
}

.details {
  padding: 3.2rem 0 6.4rem 0;
}
.details-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.details-wrapper .panel form, .details-wrapper .panel-single form {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.details--cof-btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.details--cof-btn-wrapper .btn {
  padding: 0 4.8rem;
}
@media (max-width: 1023px) {
  .details--cof-btn-wrapper {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
  }
  .details--cof-btn-wrapper button {
    width: 100%;
  }
}

body.page-homepage {
  background-color: var(--global-gray-background);
}

.homepage-hero {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.homepage-hero--content {
  padding: 6rem 0 10.3rem 0;
  font-size: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1023px) {
  .homepage-hero--content {
    padding: 6rem 0 7rem 0;
  }
}
.homepage-hero--content--highlight {
  font-weight: 800;
  color: var(--global-glow);
}
.homepage-hero--content h1 {
  color: #FFF;
  font-weight: 500;
  text-align: center;
  line-height: 7.1rem;
  min-height: 14.5rem;
}
@media (max-width: 1023px) {
  .homepage-hero--content h1 {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.34;
    max-width: 90%;
  }
}
@media (max-width: 1023px) {
  .homepage-hero {
    padding-bottom: 2.4rem;
  }
}
.homepage-hero--overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: radial-gradient(79.27% 79.27% at 50% 50%, rgba(0, 0, 0, 0.8) 33%, rgba(0, 0, 0, 0) 100%);
}
.homepage-hero--wrapper {
  position: relative;
}
@media (max-width: 1023px) {
  .homepage-hero--wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.homepage-hero--block {
  padding: 4.4rem 4.8rem 4.8rem 4.8rem;
  border-radius: 2.4rem;
}
@media (max-width: 1023px) {
  .homepage-hero--block {
    padding: 2rem 2rem 2rem 2.4rem;
  }
}
.homepage-hero--block.content-block {
  background-color: rgba(var(--rgb-primary), 0.9);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.homepage-hero--block.content-block h1 {
  color: var(--global-white);
  line-height: 7.2rem;
  font-weight: 400;
  margin: 0;
}
.homepage-hero--block.content-block h1 span {
  font-weight: 800;
  line-height: 8rem;
}
@media (max-width: 1023px) {
  .homepage-hero--block.content-block h1 {
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 3.6rem;
  }
  .homepage-hero--block.content-block h1 span {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 3.6rem;
  }
}
.homepage-hero--block.content-block .excerpt-wrapper,
.homepage-hero--block.content-block .excerpt-wrapper h3 {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  color: var(--global-white);
}
.homepage-hero--block.content-block .excerpt-wrapper .dash,
.homepage-hero--block.content-block .excerpt-wrapper h3 .dash {
  width: 8.5rem;
  height: 0.6rem;
  background-color: var(--global-white);
}
.homepage-hero--block.content-block .excerpt-wrapper h3,
.homepage-hero--block.content-block .excerpt-wrapper h3 h3 {
  margin: 0;
  padding-top: 1rem;
  line-height: 0;
}
.homepage-hero--block.content-block .excerpt-wrapper p,
.homepage-hero--block.content-block .excerpt-wrapper h3 p {
  margin: 0;
  max-width: 80%;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
@media (max-width: 1023px) {
  .homepage-hero--block.content-block .excerpt-wrapper,
  .homepage-hero--block.content-block .excerpt-wrapper h3 {
    display: none;
  }
}
.homepage-hero--block.form-block {
  background-color: var(--global-white);
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1023px) {
  .homepage-hero--block.form-block {
    padding: 3.2rem 2rem;
    gap: 2.4rem;
  }
}
.homepage-hero--block.form-block h2 {
  font-size: 2.4rem;
  font-weight: 800;
}
@media (max-width: 1023px) {
  .homepage-hero--block.form-block h2 {
    text-align: center;
  }
}
.homepage-hero--form {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.homepage-hero--form form {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media (max-width: 1023px) {
  .homepage-hero--form form {
    gap: 2.4rem;
  }
}
.homepage-hero--form form .date-and-time-wrapper label {
  display: flex;
  gap: 0.8rem;
  padding-bottom: 0.8rem;
}
.homepage-hero--form form .date-and-time-wrapper label img {
  width: 2.1rem;
}
.homepage-hero--form form .date-and-time-wrapper--input-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
}
@media (max-width: 1023px) {
  .homepage-hero--form form .date-and-time-wrapper--input-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.homepage-hero--form form .date-and-time-wrapper--input-wrapper input {
  min-width: 10rem;
  padding: 1.2rem 0.8rem;
  border-radius: 0.8rem;
  border: 1px solid var(--global-stroke);
}
.homepage-hero--form form .date-and-time-wrapper--input-wrapper input:focus {
  outline: none;
  padding: 1rem 0.8rem;
}
.homepage-hero--form form .date-and-time-wrapper--input-wrapper input:hover {
  outline: none;
  border: 1px solid var(--global-black);
}
.homepage-hero--form .form-notice {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2rem;
  color: var(--global-gray);
  text-align: center;
  max-width: 87%;
  margin-right: auto;
  margin-left: auto;
}
.homepage-hero .mobile-excerpt-wrapper {
  display: none;
}
@media (max-width: 1023px) {
  .homepage-hero .mobile-excerpt-wrapper {
    display: flex;
    background-color: rgba(var(--rgb-primary), 0.9);
    border-radius: 2.4rem;
    padding: 2.4rem;
    flex-direction: column;
    gap: 1.6rem;
    color: var(--global-white);
  }
  .homepage-hero .mobile-excerpt-wrapper .dash {
    width: 8.5rem;
    height: 0.6rem;
    background-color: var(--global-white);
  }
  .homepage-hero .mobile-excerpt-wrapper h3 {
    margin: 0;
    padding-top: 1rem;
    line-height: 2.3rem;
    margin-top: -1rem;
    margin-bottom: -0.6rem;
    font-size: 1.7rem;
    font-weight: 800;
    color: #FFF;
  }
  .homepage-hero .mobile-excerpt-wrapper p {
    margin: 0;
    max-width: 80%;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.2rem;
  }
}

.homepage-service-offers {
  margin-top: -4.6rem;
}
@media (max-width: 1023px) {
  .homepage-service-offers {
    margin-top: -6.7rem;
  }
}
.homepage-service-offers--wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}
.homepage-service-offers--wrapper.centered {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 66.667%;
  margin-right: auto;
  margin-left: auto;
  gap: 1.6rem;
}
.homepage-service-offers--wrapper.centered-single {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  max-width: 40.333%;
  margin-right: auto;
  margin-left: auto;
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .homepage-service-offers--wrapper.centered-single {
    max-width: 80rem;
  }
}
@media (max-width: 1023px) {
  .homepage-service-offers--wrapper {
    padding: 2.4rem 0;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  .homepage-service-offers--wrapper.centered {
    padding: 2.4rem 0;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    max-width: 100%;
  }
}

.homepage-parking-spots {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4rem;
  padding: 2.2rem 0;
}
@media (max-width: 1023px) {
  .homepage-parking-spots {
    padding-bottom: 0rem;
  }
}
.homepage-parking-spots .container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
}
@media (max-width: 1023px) {
  .homepage-parking-spots .container {
    gap: 3.2rem;
  }
}
.homepage-parking-spots--wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8rem;
  width: 100%;
}
@media (max-width: 1023px) {
  .homepage-parking-spots--wrapper {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}

.promotion {
  padding: 4.8rem 0;
}
.promotion--wrapper {
  background-color: var(--primary);
  border-radius: 2.4rem;
  padding: 8.1rem 7.1rem;
  display: flex;
  flex-direction: column;
  gap: 5.6rem;
  align-items: center;
  color: #FFF;
}
@media (max-width: 1023px) {
  .promotion--wrapper {
    padding: 5.5rem 6.2rem;
    gap: 2rem;
  }
}
.promotion--wrapper--header {
  font-size: 4rem;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .promotion--wrapper--header {
    font-size: 2.4rem;
    text-align: center;
    line-height: 3.6rem;
  }
}
.promotion--wrapper--topics {
  display: flex;
  gap: 5.6rem;
}
@media (max-width: 1023px) {
  .promotion--wrapper--topics {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
  }
}
.promotion--wrapper--topics .topic-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.1rem;
}
.promotion--wrapper--topics .topic-wrapper--header {
  font-size: 3.4rem;
  font-weight: 800;
  text-align: center;
  color: #FFF;
}
@media (max-width: 1023px) {
  .promotion--wrapper--topics .topic-wrapper--header {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 2rem;
  }
}
.promotion--wrapper--topics .topic-wrapper--content {
  font-size: 2.4rem;
  font-weight: 400;
  text-align: center;
}
@media (max-width: 1023px) {
  .promotion--wrapper--topics .topic-wrapper--content {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.7rem;
  }
}

.faq {
  padding: 0 0 8.6rem 0;
}
.faq--wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .faq--wrapper {
    gap: 2.4rem;
  }
}
.faq--header {
  color: var(--global-black);
  font-size: 4rem;
  font-weight: 800;
  text-align: center;
}
@media (max-width: 1023px) {
  .faq--header {
    font-size: 2.4rem;
  }
}
.faq--list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .faq--list {
    gap: 1.6rem;
    width: 100%;
  }
}
.faq--list--item {
  display: flex;
  flex-direction: column;
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  border-radius: 1.6rem;
  width: 82.4rem;
  transition: 0.3s ease;
}
@media (max-width: 1023px) {
  .faq--list--item {
    width: 100%;
  }
}
.faq--list--item .question-block {
  justify-content: space-between;
  padding: 3.3rem 2.4rem;
  display: flex;
  align-items: center;
}
@media (max-width: 1023px) {
  .faq--list--item .question-block {
    padding: 2rem 1.6rem 1.6rem 1.2rem;
    width: 100%;
  }
}
.faq--list--item .question-block .question {
  font-size: 2.4rem;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .faq--list--item .question-block .question {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
}
.faq--list--item:has(.answer-block.slide-anim_shown) .question-block {
  color: var(--primary);
}
.faq--list--item:hover {
  border-color: var(--global-black);
}
.faq--list--item .answer-block {
  transition: 0.15s ease;
  height: 0;
  opacity: 0;
  padding: 0rem 2.4rem;
  font-size: 0rem;
  font-weight: 400;
  color: var(--global-gray);
  display: flex;
  flex-direction: column;
  gap: 2.3rem;
}
@media (max-width: 1023px) {
  .faq--list--item .answer-block {
    gap: 1.6rem;
  }
}
.faq--list--item .answer-block .seperator {
  border-top: 1px solid var(--global-stroke);
}
.faq--list--item .answer-block.slide-anim_shown {
  opacity: 1;
  height: auto;
  font-size: 2.4rem;
  padding: 0 2.4rem 3.3rem;
  transition: 0.3s ease;
  transform-origin: top;
  line-height: 3.4rem;
}
@media (max-width: 1023px) {
  .faq--list--item .answer-block.slide-anim_shown {
    padding: 0 1.6rem 2rem;
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
}
.faq--list--item .answer-block.slide-anim_hide {
  opacity: 0;
  height: auto;
  font-size: 0rem;
  padding: 0 2.4rem 3.3rem;
  transition: 0.3s ease;
  transform-origin: top;
}
.faq--list--item .dropdown-button {
  height: auto;
  transition: 0.2s ease;
}
.faq--list--item .dropdown-button img {
  transition: 0.2s ease;
}
.faq--list--item .dropdown-button img.slide-anim_open {
  rotate: 180deg;
}
@media (max-width: 1023px) {
  .faq--list--item .dropdown-button {
    padding: 0;
  }
}
.faq--list--item .dropdown-button.slide-anim_open img {
  transition: 0.2s ease;
  rotate: 180deg;
}

@media (max-width: 1023px) {
  input {
    width: 100%;
  }
}
.login-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.6rem;
}
@media (max-width: 1023px) {
  .login-wrapper {
    gap: 2.4rem;
    padding-bottom: 4rem;
  }
}
.login-wrapper--header {
  padding: 2.7rem 3rem 0 3rem;
}
@media (max-width: 1023px) {
  .login-wrapper--header {
    padding: 2.4rem 0 0 0;
  }
}
.login-wrapper--header--main {
  padding: 1.5rem 0 0rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1023px) {
  .login-wrapper--header--main {
    padding-top: 0rem;
  }
}
.login-wrapper--header--main .headline {
  color: var(--primary);
  font-size: 4rem;
  font-weight: 400;
  line-height: 6rem;
  text-align: center;
}
.login-wrapper--header--main .headline strong {
  font-weight: 800;
}
@media (max-width: 1023px) {
  .login-wrapper--header--main .headline {
    font-size: 2.4rem;
    line-height: 3.6rem;
    width: 102%;
  }
}
.login-wrapper--header--main .tagline {
  font-size: 2.4rem;
  font-weight: 400;
  text-align: center;
}
@media (max-width: 1023px) {
  .login-wrapper--header--main .tagline {
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 2.4rem;
    max-width: 22.3rem;
  }
}
.login-wrapper--login-box {
  width: 61.4rem;
  border-radius: 2.4rem;
  box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.062745098);
}
@media (max-width: 1023px) {
  .login-wrapper--login-box {
    width: auto;
    min-width: 100%;
    display: flex;
    max-width: 100%;
    justify-content: center;
  }
}

body.page-search-results {
  background-color: var(--global-gray-background);
}

.search-results-offers {
  margin-top: 4rem;
}
@media (max-width: 1023px) {
  .search-results-offers {
    margin-top: 3rem;
  }
}
.search-results-offers--options-count {
  font-weight: 400;
  font-size: 2.4rem;
}
.search-results-offers--options-count span {
  font-size: 4rem;
  font-weight: 800;
}
@media (max-width: 1023px) {
  .search-results-offers--options-count {
    font-size: 1.8rem;
    text-align: center;
  }
  .search-results-offers--options-count span {
    font-size: 2.4rem;
  }
}
.search-results-offers--wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8rem;
  padding: 3.4rem 0;
  align-items: flex-end;
}
@media (max-width: 1023px) {
  .search-results-offers--wrapper {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 1.6rem;
    width: 100%;
    gap: 3.2rem;
  }
  .search-results-offers--wrapper .offer-outer-wrapper {
    width: 100%;
  }
}

.payment-confirmation {
  padding: 12rem 9.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
@media (max-width: 1023px) {
  .payment-confirmation {
    padding: 4.3rem 0rem 8.1rem 0rem;
  }
}
.payment-confirmation--success-message {
  padding: 3rem 4.8rem 4.8rem 4.8rem;
  border-radius: 2.4rem;
  background-color: rgba(var(--rgb-primary), 0.9);
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
  color: #FFF;
}
@media (max-width: 1023px) {
  .payment-confirmation--success-message {
    padding: 3.9rem 4.7rem;
    width: 100%;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
  }
}
.payment-confirmation--success-message h1 {
  color: #FFF;
  text-align: center;
}
@media (max-width: 1023px) {
  .payment-confirmation--success-message h1 {
    font-size: 2.4rem;
    line-height: 3.3rem;
  }
}
@media (max-width: 1023px) {
  .payment-confirmation--success-message div {
    font-size: 1.8rem;
    line-height: 2.5rem;
  }
}

.payment-summary {
  margin-top: -7.8rem;
  padding-bottom: 6.5rem;
}
@media (max-width: 1023px) {
  .payment-summary {
    margin-top: -5.7rem;
    padding-bottom: 2rem;
  }
}
.payment-summary--wrapper {
  display: flex;
  justify-content: center;
}
.payment-summary--wrapper .booking-summary {
  width: 76rem;
}

body.page-personal-area {
  background-color: var(--global-gray) -background;
}

.personal-area-wrapper--header {
  padding: 5.2rem 0rem 3rem 0rem;
}
.personal-area-wrapper--header .heading {
  font-weight: 800;
  font-size: 4rem;
}
.personal-area-wrapper--main-content .category-headline {
  font-weight: 400;
  font-size: 2.4rem;
  color: var(--global-black);
}
@media (max-width: 1023px) {
  .personal-area-wrapper--main-content .category-headline {
    font-size: 2rem;
  }
}

.parking-bookings {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  padding: 1.6rem 0 6.4rem 0;
}
@media (max-width: 1023px) {
  .parking-bookings {
    padding-bottom: 4rem;
  }
}
.parking-bookings--future-bookings {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: flex-start;
}
.parking-bookings--future-bookings--bookings-wrapper {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .parking-bookings--future-bookings--bookings-wrapper {
    gap: 2.4rem;
  }
}
.parking-bookings--booking-history {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  .parking-bookings--booking-history .category-headline {
    padding-left: 2rem;
  }
}

.account-settings {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  padding: 1.6rem 0 4.8rem 0;
}
.account-settings--personal-info {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.account-settings--personal-info--list {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1023px) {
  .account-settings--personal-info--list {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.account-settings--personal-info--list .personal-info-item {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  font-size: 2rem;
  font-weight: 400;
}
.account-settings--personal-info--list .personal-info-item .label {
  color: var(--global-black);
}
.account-settings--personal-info--list .personal-info-item .value {
  color: var(--global-gray);
}
.account-settings--preferences {
  padding-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.account-settings--preferences--sms, .account-settings--preferences--email {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.account-settings--preferences--sms .title, .account-settings--preferences--email .title {
  font-size: 2rem;
  font-weight: 700;
}
.account-settings--preferences--sms .settings-list, .account-settings--preferences--email .settings-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .account-settings--preferences--sms .settings-list .toggle-switch-text, .account-settings--preferences--email .settings-list .toggle-switch-text {
    line-height: 1.4;
    margin-top: -0.7rem;
  }
}
.account-settings--plans {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.account-settings--plans--current-plan {
  padding: 3.2rem 4rem;
  border-radius: 2.4rem;
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1023px) {
  .account-settings--plans--current-plan {
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 4.2rem;
    align-items: flex-start;
  }
}
.account-settings--plans--current-plan .plan-main-info {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.account-settings--plans--current-plan .plan-main-info .plan-name-wrapper .label {
  color: var(--global-black);
  font-size: 1.6rem;
  font-weight: 400;
}
.account-settings--plans--current-plan .plan-main-info .plan-name-wrapper .name {
  color: var(--state-success);
  font-size: 2.4rem;
  font-weight: 700;
}
.account-settings--plans--current-plan .plan-start {
  color: var(--global-gray);
  font-size: 1.6rem;
  font-weight: 400;
}
.account-settings--plans--other-plans {
  padding-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.account-settings--plans--other-plans > .description {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--global-black);
}
.account-settings--plans--other-plans .plans-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.account-settings--account-deletion {
  display: flex;
  flex-direction: column;
  gap: 2.7rem;
}
.account-settings--account-deletion .title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--global-black);
}
.account-settings--account-deletion .terms-list {
  display: flex;
  flex-direction: column;
  gap: 2.1rem;
}

.invoices {
  padding: 1.6rem 0 7.2rem 0;
}
.invoices-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.invoices-wrapper .success-text {
  color: var(--state-success);
}
.invoices-wrapper .blue-link {
  color: var(--state-link);
}

.parking-bookings {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  padding: 1.6rem 0 6.4rem 0;
}
@media (max-width: 1023px) {
  .parking-bookings {
    padding-bottom: 4rem;
  }
}
.parking-bookings--future-bookings {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: flex-start;
}
.parking-bookings--future-bookings--bookings-wrapper {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .parking-bookings--future-bookings--bookings-wrapper {
    gap: 2.4rem;
  }
}
.parking-bookings--booking-history {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  .parking-bookings--booking-history .category-headline {
    padding-left: 2rem;
  }
}

.payment-details {
  padding: 0 0 5.6rem 0;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1023px) {
  .payment-details {
    gap: 3rem;
  }
}
.payment-details--head {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.payment-details--payment-methods {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.payment-details--payment-methods--head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.payment-details--payment-methods--head .btn {
  padding: 0 4rem;
}
@media (max-width: 1023px) {
  .payment-details--payment-methods--head .btn {
    padding: 0 1.8rem;
  }
}
.payment-details--payment-methods--list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.vehicles {
  padding: 0.3rem 0 7.2rem 0;
}
.vehicles-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.vehicles-wrapper--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.vehicles-wrapper--header .btn {
  padding: 0 4rem;
}
.vehicles-wrapper .vehicle-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.credentials {
  padding: 0.3rem 0 7.2rem 0;
}
.credentials-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.credentials-wrapper--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.credentials-wrapper--header .btn {
  padding: 0 4rem;
}
.credentials-wrapper .cards-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

body.page-admin--parking-bookings .container, body.page-admin--customers .container, body.page-admin--invoice-html .container {
  max-width: calc(100% - 3rem);
  padding: 0;
}

.admin-parking-bookings {
  padding: 1rem 0 1rem 0;
}
.admin-parking-bookings-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.admin-parking-bookings-wrapper .category-headline {
  margin-bottom: -0.7rem;
  margin-top: 0.3rem;
}
.admin-parking-bookings-wrapper .customers-table .success-text {
  color: var(--state-success);
}
.admin-parking-bookings-wrapper .customers-table .error-text {
  color: var(--state-error);
}
.admin-parking-bookings-wrapper .customers-table .last-activity {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  align-items: center;
}
.admin-parking-bookings-wrapper .customers-table .last-activity .date-and-time {
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
  font-weight: 400;
}
.admin-parking-bookings-wrapper .customers-table .last-activity .date-and-time .date {
  color: var(--global-black);
}
.admin-parking-bookings-wrapper .customers-table .last-activity .date-and-time .time {
  color: var(--global-gray);
}

.user-dropdown {
  display: flex;
  gap: 0.8rem;
  text-decoration: none;
  align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 0;
  margin: 0;
  outline: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
  margin: -3rem;
  padding: 3rem;
}
.user-dropdown:has(.on-mobile) {
  margin: 0;
  padding: 0;
}
.user-dropdown > * {
  pointer-events: none;
}
.user-dropdown svg.arrow {
  transition: 0.2s ease;
  rotate: 180deg;
  filter: grayscale(1);
}
.user-dropdown:hover:not(:has(.on-mobile)) svg.arrow {
  filter: grayscale(0);
}
.user-dropdown:hover:not(:has(.on-mobile)) span {
  color: var(--primary);
  cursor: pointer;
}
.user-dropdown:hover:not(:has(.on-mobile)) span:hover {
  color: var(--primary);
}
.user-dropdown--name.on-mobile {
  width: 5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-dropdown.open svg.arrow {
  rotate: 0deg;
  filter: grayscale(0);
}
.user-dropdown.open span {
  color: var(--primary);
  cursor: pointer;
}
.user-dropdown.open span:hover {
  color: var(--primary);
}
.user-dropdown.open + .user-dropdown-menu {
  display: flex;
}

.user-dropdown-menu {
  position: relative;
  display: none;
}
.user-dropdown-menu .account-menu-links {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 2.4rem;
  gap: 2.4rem;
  padding: 3rem 2.4rem 3.2rem 2.4rem;
  background-color: #FFF;
  min-width: 22rem;
  width: -moz-max-content;
  width: max-content;
  border-radius: 2.4rem;
  right: 0;
  top: 3.3rem;
  box-shadow: 0px 0px 22px 0px rgba(0, 0, 0, 0.0666666667);
}
@media (max-width: 1023px) {
  .user-dropdown-menu .account-menu-links {
    flex-direction: column;
    padding-right: 2rem;
    width: 100%;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    left: 0;
    right: initial;
  }
  .user-dropdown-menu .account-menu-links::-webkit-scrollbar {
    display: none;
  }
}
.user-dropdown-menu .account-menu-links li {
  list-style: none;
}
@media (max-width: 1023px) {
  .user-dropdown-menu .account-menu-links li {
    padding-bottom: 1.4rem;
  }
}
.user-dropdown-menu .account-menu-links .menu-link {
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: none;
}
.user-dropdown-menu .account-menu-links .menu-link:hover {
  color: var(--primary);
}
@media (max-width: 1023px) {
  .user-dropdown-menu .account-menu-links .menu-link {
    white-space: nowrap;
  }
}
.user-dropdown-menu .account-menu-links .menu-link-logout {
  color: var(--global-red);
  text-decoration: none;
}
.user-dropdown-menu .account-menu-links .menu-link-logout:hover {
  filter: saturate(0.8);
  font-weight: 600;
}
.user-dropdown-menu .account-menu-links .menu-link-selected {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--primary);
}

.drop-certificate {
  border: 2px dashed var(--primary);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
  padding: 3.6rem 3.2rem 3.7rem 3.2rem;
  border-radius: 2.4rem;
  background-color: #FFF;
  line-height: 1;
  color: #777777;
  font-weight: 400;
  font-size: 1.8rem;
}

.mobile-menu-popup {
  background-color: #FFF;
  width: 100vw;
  height: 100vh;
  overflow: scroll;
}
.mobile-menu-popup .service-offer--image-wrapper img {
  width: 100%;
}
.mobile-menu-popup .service-offer--content {
  padding: 2rem;
}
.mobile-menu-popup--inner-wrapper {
  padding: 3rem 2.4rem 3.2rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.mobile-menu-popup--inner-wrapper ul.header-menu-mobile {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  font-weight: 400;
  font-size: 2.8rem;
  align-items: center;
}
.mobile-menu-popup--inner-wrapper ul.header-menu-mobile a {
  text-decoration: none;
  line-height: 3.9rem;
}
.mobile-menu-popup--plans-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.mobile-menu-popup--tos {
  display: flex;
  justify-content: center;
  align-items: center;
}
.mobile-menu-popup--tos a {
  text-align: center;
  text-decoration: underline;
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 400;
}

.add-car-popup {
  border-radius: 2.4rem;
  background-color: #FFF;
  padding: 2.4rem 2.4rem 3rem 3rem;
  min-width: 49.3rem;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media (max-width: 1023px) {
  .add-car-popup {
    min-width: 0;
  }
}
.add-car-popup--header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.add-car-popup--header--headline {
  font-weight: 800;
  font-size: 2.4rem;
  color: var(--global-black);
}
.add-car-popup--main {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  padding-right: 1rem;
}
.add-car-popup--main--car-number-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.add-car-popup--main--car-number-wrapper label {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--global-black);
}
.add-car-popup--main--actions-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.add-car-popup--main--actions-wrapper .btn {
  padding: 0 4.4rem;
}

.add-card-popup {
  border-radius: 2.4rem;
  background-color: #FFF;
  padding: 2.4rem 2.4rem 3rem 3rem;
  min-width: 49.3rem;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media (max-width: 1023px) {
  .add-card-popup {
    min-width: 0;
  }
}
.add-card-popup--header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.add-card-popup--header--headline {
  font-weight: 800;
  font-size: 2.4rem;
  color: var(--global-black);
}
.add-card-popup--main {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  padding-right: 1rem;
}
.add-card-popup--main--card-number-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.add-card-popup--main--card-number-wrapper label {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--global-black);
}
.add-card-popup--main--actions-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.add-card-popup--main--actions-wrapper .btn {
  padding: 0 4.4rem;
}

.cancel-bookings-popup {
  background-color: #FFF;
  padding: 2.4rem 2.4rem 3rem 3rem;
  border-radius: 3.2rem;
  max-width: 55.7rem;
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}
@media (max-width: 1023px) {
  .cancel-bookings-popup {
    padding: 2rem 2rem 2.4rem 2.4rem;
  }
}
.cancel-bookings-popup--header {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.cancel-bookings-popup--header--headline {
  font-weight: 800;
  font-size: 2.4rem;
}
@media (max-width: 1023px) {
  .cancel-bookings-popup--header--headline {
    font-size: 2rem;
  }
}
.cancel-bookings-popup--main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: -1rem;
}
.cancel-bookings-popup--main--description {
  color: var(--global-gray);
  font-weight: 400;
  font-size: 2rem;
  line-height: 3.1rem;
}
@media (max-width: 1023px) {
  .cancel-bookings-popup--main--description {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
}
.cancel-bookings-popup--main .checkboxes-wrapper {
  font-weight: 400;
  font-size: 1.6rem;
  color: var(--global-black);
}
.cancel-bookings-popup--footer--buttons-wrapper {
  display: flex;
  justify-content: space-between;
}

.search-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 1023px) {
  .search-box {
    grid-template-columns: 1fr;
  }
}
.search-box .input-container {
  width: 100%;
  position: relative;
}
.search-box .input-container input {
  width: 100%;
  padding-right: 4.3rem;
  padding-left: 1.6rem;
}
.search-box .input-container input:focus {
  border-right-color: var(--primary);
  outline: 1px solid var(--primary);
}
.search-box .input-container input::-moz-placeholder {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-gray);
}
.search-box .input-container input::placeholder {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-gray);
}
.search-box .input-container img.glass {
  position: absolute;
  right: 1rem;
  top: 1rem;
}
.search-box .input-container img.close {
  position: absolute;
  right: 4.4rem;
  top: 1.6rem;
}

.subscription-plan {
  display: grid;
  grid-template-columns: 1fr 1.56fr;
}
.subscription-plan--notice {
  display: flex;
  justify-content: center;
  position: relative;
}
.subscription-plan--notice p {
  position: absolute;
  padding: 1.2rem;
  background-color: #FFF;
  border-radius: 99px;
  top: -7.6rem;
  font-size: 2rem;
  font-weight: 600;
}
.subscription-plan--info {
  padding: 3.2rem 8rem 3.2rem 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  background-color: #FFF;
  border: 2px solid var(--primary);
  border-left: none;
  border-radius: 0 2.4rem 2.4rem 0;
}
.subscription-plan--info .title {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--global-black);
}
.subscription-plan--info .description {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-gray);
  line-height: 2.9rem;
  letter-spacing: 0.07rem;
}
.subscription-plan--info .upgrade-button {
  display: flex;
  justify-content: flex-start;
}
.subscription-plan--info .upgrade-button .btn {
  display: flex;
  align-items: center;
  padding: 0 4.55rem;
}

.toggle-switch {
  position: relative;
  display: inline-block;
  width: 3.4rem;
  height: 1.4rem;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-switch-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 3.4rem;
}

.toggle-switch-slider:before {
  position: absolute;
  content: "";
  height: 2rem;
  width: 2rem;
  left: -0.3rem;
  bottom: -0.3rem;
  background-color: var(--global-gray);
  transition: 0.4s;
  border-radius: 50%;
}

input:checked + .toggle-switch-slider {
  background-color: rgba(var(--rgb-primary), 0.3);
}

input:focus + .toggle-switch-slider {
  box-shadow: 0 0 0.1rem rgba(var(--rgb-primary), 0.3);
}

input:checked + .toggle-switch-slider:before {
  transform: translateX(2rem);
  background-color: var(--primary);
}

.toggle-switch-outer-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 1023px) {
  .toggle-switch-outer-wrapper {
    display: grid;
    gap: 1rem;
    grid-template-columns: 4.4rem 1fr;
    align-items: flex-start;
  }
}
.toggle-switch-outer-wrapper .toggle-switch-text {
  font-size: 1.6rem;
  font-weight: 400;
}
.toggle-switch-outer-wrapper:not(:has(input:checked)) .toggle-switch-text {
  color: var(--global-gray);
  font-size: 1.6rem;
  font-weight: 400;
}

.next-billing {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  background-color: var(--primary);
  border-radius: 2.4rem;
  padding: 3.2rem 4rem;
  color: #FFF;
}
@media (max-width: 1023px) {
  .next-billing {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    padding: 3rem;
  }
}
.next-billing--date {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.next-billing--date .label {
  font-size: 1.6rem;
  font-weight: 400;
}
.next-billing--date .date {
  font-size: 2.4rem;
  font-weight: 700;
}
.next-billing--price {
  font-size: 2.4rem;
  font-weight: 400;
}

.balance {
  background-color: var(--state-success);
  color: #FFF;
  padding: 4rem 3.2rem 3.2rem 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 8.2rem;
  border-radius: 2.4rem;
}
@media (max-width: 1023px) {
  .balance {
    gap: 1.6rem;
  }
}
.balance--header {
  font-size: 2.4rem;
  font-weight: 400;
}
.balance--footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 1023px) {
  .balance--footer {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    align-items: flex-start;
  }
}
.balance--footer--info {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .balance--footer--info {
    gap: 6.6rem;
  }
}
.balance--footer--info .amount {
  font-size: 2.4rem;
  font-weight: 700;
}
.balance--footer--info .notice {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .balance--footer--add-money .btn {
    font-size: 1.8rem;
  }
}

.payment-method {
  background-color: #FFF;
  padding: 3.2rem 4rem 2.4rem 4rem;
  border: 1px solid var(--global-stroke);
  border-radius: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.payment-method.default {
  border: 1px solid var(--primary);
}
.payment-method.default .set-default {
  display: none;
}
.payment-method:not(.default) .default-tag {
  display: none;
}
@media (max-width: 1023px) {
  .payment-method {
    padding: 1.7rem 2rem;
  }
}
.payment-method--header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  .payment-method--header {
    width: 100%;
  }
}
.payment-method--header--card-last-digits {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  .payment-method--header--card-last-digits {
    width: 100%;
  }
}
.payment-method--header--card-last-digits .info {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  .payment-method--header--card-last-digits .info {
    width: 100%;
    gap: 0;
  }
}
.payment-method--header--card-last-digits .info .mobile-label-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.payment-method--header--card-last-digits .info .mobile-label-wrapper .btn {
  padding: 0 1rem;
  font-size: 1.6rem;
}
.payment-method--header--card-last-digits .info .label {
  font-size: 2rem;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .payment-method--header--card-last-digits .info .label {
    font-size: 1.6rem;
  }
}
.payment-method--header--card-last-digits .info .digits {
  font-size: 1.6rem;
  font-weight: 400;
}
.payment-method--header--card-last-digits .info .digits strong {
  font-weight: 700;
}
.payment-method--header--card-last-digits .card-holder-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--global-stroke);
}
.payment-method--header--card-expiry {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: flex-start;
}
.payment-method--header--card-expiry .label {
  font-size: 2rem;
  font-weight: 400;
}
.payment-method--header--card-expiry .expiry {
  font-size: 1.6rem;
  font-weight: 400;
}
.payment-method--header--set-as-default .btn {
  height: 4.1rem;
}
.payment-method--footer {
  display: flex;
  justify-content: space-between;
}
.payment-method--footer--update-btn-wrapper .btn {
  font-size: 1.6rem;
  font-weight: 400;
  transform-origin: center;
}
.payment-method--footer--remove-btn-wrapper .btn {
  color: var(--state-error);
  font-size: 1.6rem;
  font-weight: 400;
  transform-origin: center;
}

.loader {
  width: 100vw;
  height: 100vh;
  background-color: #FFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15.7rem 0 0 0;
  gap: 3.8rem;
}
@media (max-width: 1023px) {
  .loader {
    padding: 9.8rem 0 0 0;
    gap: 1.4rem;
  }
}
.loader--text {
  font-size: 4rem;
  font-weight: 400;
  color: var(--primary);
}
@media (max-width: 1023px) {
  .loader--text {
    font-size: 1.6rem;
    line-height: 3.6re;
    font-weight: 400;
  }
}
.loader--car {
  width: calc(100% + 25.5rem);
  display: grid;
}
@media (max-width: 1023px) {
  .loader--car {
    width: calc(100% + 14.3rem);
  }
}
.loader--car img {
  animation: drive 1.5s linear forwards;
}
.loader--car img.mobile-loader {
  animation: drive 1s linear forwards;
}

@keyframes drive {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100vw);
  }
}
.offer {
  border: 1px solid var(--global-stroke);
  border-radius: 2.4rem;
}
.offer-outer-wrapper {
  height: 100%;
}
.offer--featured-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.offer--featured-wrapper--featured-label {
  background-color: var(--global-yellow);
  padding: 0.8rem 11.2rem 0.8rem 11.2rem;
  border-radius: 1.6rem 1.6rem 0 0;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
}
@media (max-width: 1023px) {
  .offer--featured-wrapper--featured-label {
    font-size: 1.4rem;
    padding: 0.9rem 8.2rem;
  }
}
.offer--header {
  padding: 1.7rem 2.8rem;
  border-radius: 2.4rem 2.4rem 0 0;
  background-color: var(--primary);
  color: var(--global-white);
  display: flex;
  justify-content: space-between;
}
.offer--header .tag {
  margin: 0;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.offer--header-pay-and-go {
  padding: 1rem;
  border-radius: 2.4rem 2.4rem 0 0;
  background-color: var(--primary);
  color: var(--global-white);
  display: flex;
  justify-content: space-between;
}
.offer--content {
  padding: 0 2.8rem 2.8rem 2.8rem;
  background-color: var(--global-white);
  border-radius: 0 0 2.4rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  height: 100%;
}
.offer--content h2 {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 800;
  padding: 2.2rem 0;
  border-bottom: 2px solid var(--global-stroke);
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.offer--content h2 .terminal-floor[data-terminal=A] {
  background-color: var(--global-green);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.offer--content h2 .terminal-floor[data-terminal=B] {
  background-color: var(--global-blue);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.offer--content--location {
  border-bottom: 1px solid var(--global-stroke);
  color: var(--global-gray);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  line-height: 1.44;
  padding: 2.4rem 0;
}
.offer--content--location h3 {
  font-weight: 600;
  font-size: 1.8rem;
  color: var(--global-black);
}
.offer--content--pay-and-go-details {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.offer--content--pay-and-go-details h3 {
  font-size: 1.8rem;
}
.offer--content--pay-and-go-details ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.offer--content--pay-and-go-details ul li {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1.6rem 1fr;
  gap: 0.8rem;
}
.offer--content--pay-and-go-details ul li span {
  display: block;
}
.offer--content--details {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.offer--content--details h3 {
  font-weight: 600;
  font-size: 1.8rem;
}
.offer--content--details--list {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 1.8rem;
  margin: 0;
}
.offer--content--details--list li {
  list-style: none;
  font-size: 1.6rem;
  line-height: 1.44;
  letter-spacing: 0.05rem;
  font-weight: 400;
  color: var(--global-black);
}
.offer--content--details--list li .label {
  color: var(--global-gray);
}
.offer--content--details--restrictions {
  list-style: none;
  font-size: 1.6rem;
  line-height: 1.44;
  margin-top: -1rem;
  letter-spacing: 0.05rem;
  font-weight: 400;
  color: var(--global-black);
}
.offer--content--details--restrictions .label {
  color: var(--global-gray);
}
.offer--content .price {
  margin-top: auto;
}
.offer--content .price--total-price--label {
  margin: 0;
  font-size: 1.8rem;
  color: var(--global-stroke);
  font-weight: 800;
}
.offer--content .price--total-price--sum {
  margin: 0;
  font-size: 4rem;
  font-weight: 800;
  line-height: 4.7rem;
  padding-top: 0.6rem;
  color: var(--global-black);
}
.offer--content .price--price-per-day {
  margin: 0;
  font-size: 1.8rem;
  line-height: 2.7rem;
  color: var(--global-gray);
}
.offer--footer {
  background-color: var(--global-white);
  padding: 2.5rem 0 0 0;
  border-top: 2px solid var(--global-stroke);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
}
.offer--footer form {
  margin: 0;
  display: flex;
  width: 100%;
}
.offer--footer form .btn {
  width: 100%;
}
.offer--footer p {
  margin: 0;
  font-size: 1.3rem;
}
.offer--footer--map-link {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.offer--footer--map-link img {
  width: 2rem;
}
.offer-wide {
  display: flex;
  border: 1px solid var(--global-stroke);
  border-radius: 2.4rem;
  width: 100%;
}
@media (max-width: 1023px) {
  .offer-wide {
    flex-direction: column;
  }
}
.offer-wide:has(.offer--content--subscription) .map-link {
  display: none !important;
}
.offer-wide:has(.offer--content--subscription) .offer--header .price {
  gap: 4.7rem;
}
.offer-wide .offer--header {
  padding: 5.1rem 6.2rem 3.9rem 6.2rem;
  border-radius: 2.4rem 0 0 2.4rem;
  background-color: var(--primary);
  color: var(--global-white);
  display: flex;
  justify-content: space-between;
}
.offer-wide .offer--header-pay-and-go {
  padding: 1rem;
  border-radius: 2.4rem 0 0 2.4rem;
  background-color: var(--primary);
  color: var(--global-white);
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1023px) {
  .offer-wide .offer--header-pay-and-go {
    border-radius: 2.4rem 2.4rem 0 0;
    padding: 1rem;
  }
}
@media (max-width: 1023px) {
  .offer-wide .offer--header {
    border-radius: 2.4rem 2.4rem 0 0;
    padding: 2.4rem 2rem 2rem 2rem;
  }
}
.offer-wide .offer--header .price {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1023px) {
  .offer-wide .offer--header .price {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 0;
    width: 100%;
  }
  .offer-wide .offer--header .price .map-link {
    height: 100%;
  }
}
.offer-wide .offer--header .price--total-price--label {
  margin: 0;
  font-size: 1.8rem;
  color: var(--global-white);
  text-align: center;
  font-weight: 800;
}
@media (max-width: 1023px) {
  .offer-wide .offer--header .price--total-price--label {
    text-align: left;
    line-height: 2rem;
    font-size: 1.4rem;
    width: 50%;
    margin-right: -2rem;
  }
  .offer-wide .offer--header .price--total-price--label + div {
    margin-left: -1rem;
  }
}
.offer-wide .offer--header .price--total-price--sum {
  margin: 0;
  font-size: 4rem;
  font-weight: 800;
  line-height: 4.7rem;
  color: var(--global-white);
  text-align: center;
}
@media (max-width: 1023px) {
  .offer-wide .offer--header .price--total-price--sum {
    font-size: 3.2rem;
    line-height: 3.4rem;
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.offer-wide .offer--header .price--price-per-day {
  margin: 0;
  font-size: 1.8rem;
  line-height: 2.7rem;
  color: var(--global-white);
  text-align: center;
}
@media (max-width: 1023px) {
  .offer-wide .offer--header .price--price-per-day {
    font-size: 1.4rem;
    width: 100%;
  }
}
.offer-wide .offer--header .price .map-link {
  filter: brightness(100);
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: auto;
}
@media (max-width: 1023px) {
  .offer-wide .offer--header .price .map-link {
    width: 100%;
    text-align: right;
    justify-content: flex-end;
    font-size: 1.4rem;
  }
}
.offer-wide .offer--header .price .map-link img {
  width: 2rem;
}
.offer-wide .offer--content--selling-points {
  padding-bottom: 2.4rem;
}
.offer-wide .inner-header {
  display: flex;
  gap: 0.8rem;
}
.offer-wide .inner-header .tag {
  margin: 0;
  border-radius: 999px;
  background-color: var(--global-gray-background);
  color: var(--primary);
  font-size: 1.6rem;
  padding: 0.8rem 2.4rem;
  display: flex;
  align-self: center;
  align-items: center;
  gap: 0.8rem;
}
@media (max-width: 1023px) {
  .offer-wide .inner-header .tag {
    font-size: 1.8rem;
  }
}
.offer-wide .offer--content {
  padding: 4rem 7.2rem 4.9rem 4.6rem;
  border-radius: 0 2.4rem 2.4rem 0;
  width: 100%;
  gap: 2.6rem;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content {
    padding: 2rem 2rem 2rem 2rem;
    gap: 3.2rem;
    border-radius: 0 0 2.4rem 2.4rem;
  }
}
.offer-wide .offer--content h2 {
  padding: 0 0 1.2rem 0;
  margin-top: -1.1rem;
  font-size: 3.2rem;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content h2 {
    font-size: 2rem;
    margin-top: -1.6rem;
    padding: 0 0 2.1rem 0;
  }
}
.offer-wide .offer--content--subscription {
  padding-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.6rem;
  padding-bottom: 8rem;
}
.offer-wide .offer--content--subscription--title {
  padding-bottom: 2.4rem !important;
}
.offer-wide .offer--content--location-and-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: auto;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--global-stroke);
}
.offer-wide .offer--content--location-and-title .offer--content--location,
.offer-wide .offer--content--location-and-title h2 {
  padding: 0;
  border-bottom: 0px solid transparent;
}
.offer-wide .offer--content--location-and-title .offer--content--location {
  position: absolute;
  bottom: 1.8rem;
  right: 0;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--location-and-title .offer--content--location {
    position: static;
  }
}
.offer-wide .offer--content--location-and-title.left {
  flex-direction: column;
  align-items: start;
}
.offer-wide .offer--content--location-and-title.left .offer--content--location {
  position: relative;
}
.offer-wide .offer--content--location-and-title h2 {
  padding-top: 1rem;
  line-height: 1;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--location-and-title {
    flex-direction: column;
    align-items: flex-start;
    margin-top: -1rem;
    gap: 2rem;
  }
  .offer-wide .offer--content--location-and-title h2 {
    padding-top: 1.2rem;
    width: 100%;
    line-height: 1;
  }
  .offer-wide .offer--content--location-and-title h2.pay-and-go-title {
    padding-top: 2.4rem;
  }
  .offer-wide .offer--content--location-and-title h2:not(.pay-and-go-title) {
    border-bottom: 1px solid var(--global-stroke);
    padding-bottom: 2.4rem;
  }
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--detail {
    padding-bottom: 0;
    font-size: 1.6rem;
  }
}
.offer-wide .offer--content--details {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--details {
    margin-top: -1rem;
    padding-bottom: 1rem;
  }
}
.offer-wide .offer--content--details h3 {
  font-weight: 600;
  font-size: 1.8rem;
}
.offer-wide .offer--content--details--list {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 1.8rem;
  margin: 0;
}
.offer-wide .offer--content--details--list li {
  list-style: none;
  font-size: 1.6rem;
  line-height: 1.44;
  letter-spacing: 0.05rem;
  font-weight: 400;
  color: var(--global-black);
}
.offer-wide .offer--content--details--list li .label {
  color: var(--global-gray);
}
.offer-wide .offer--content--details--restrictions {
  list-style: none;
  font-size: 1.6rem;
  line-height: 1.44;
  letter-spacing: 0.05rem;
  font-weight: 400;
  color: var(--global-black);
  padding-top: 3.2rem;
  margin-top: 0;
  border-top: 1px solid var(--global-stroke);
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--details--restrictions {
    display: none;
  }
}
.offer-wide .offer--content--details--restrictions .label {
  color: var(--global-gray);
}
.offer-wide .offer--content--details-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 0.6rem;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--details-wrapper {
    flex-direction: column;
  }
}
.offer-wide .offer--content--secondary-details {
  padding-left: 2rem;
  border-left: 1px solid var(--global-stroke);
  height: 100%;
  max-width: 38rem;
  width: 115%;
}
@media (max-width: 1023px) {
  .offer-wide .offer--content--secondary-details {
    border-top: 1px solid var(--global-stroke);
    padding-top: 2.4rem;
    padding-left: 0;
    margin-top: -1rem;
    border-left: none;
    max-width: 100%;
    width: 100%;
  }
}
.offer-wide .offer--content--secondary-details--list {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 1.8rem;
  margin: 0;
}
.offer-wide .offer--content--secondary-details--list li {
  list-style: none;
  font-size: 1.6rem;
  line-height: 1.44;
  letter-spacing: 0.05rem;
  font-weight: 400;
  display: flex;
  align-items: flex-start;
  padding-right: 2rem;
  gap: 0.8rem;
  color: var(--global-black);
}
.offer-wide .offer--content--secondary-details--list li .label {
  color: var(--global-gray);
  margin-top: -0.3rem;
}
.offer-wide .offer--content--secondary-details--list li .check img {
  max-width: none;
}
.offer-wide .more-info {
  font-weight: 600;
}
.offer-wide .more-info-wrapper--content {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-gray);
  line-height: 2.3rem;
}

.service-offer {
  display: flex;
  position: relative;
  flex-direction: column;
  border: 1.6rem solid #FFF;
  background-color: #FFF;
  border-radius: 2.4rem;
}
.service-offer--image-wrapper {
  padding-top: 53%;
  position: relative;
}
.service-offer--image-wrapper img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.service-offer--notice {
  display: flex;
  justify-content: center;
}
.service-offer--notice p {
  position: absolute;
  padding: 1.2rem 2rem;
  background-color: rgba(var(--rgb-global-black), 0.7);
  color: #FFF;
  border-radius: 0 0 1.6rem 1.6rem;
  top: 0rem;
  font-size: 1.6rem;
  font-weight: 600;
}
.service-offer--content {
  height: 100%;
  border-top: none;
  border-radius: 0 0 2.4rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  padding: 3.2rem 0rem 0rem 0rem;
}
.service-offer--content form {
  margin-top: auto;
  padding-top: 1rem;
  width: 100%;
}
.service-offer--content--title {
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
  color: var(--global-black);
}
.service-offer--content--description {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-gray);
  line-height: 1.5;
}
.service-offer--content .btn {
  padding: 0 2.1rem;
  width: 100%;
}
@media (max-width: 1023px) {
  .service-offer--content {
    padding: 2.1rem 0rem 0rem 0rem;
    gap: 2rem;
    border-color: var(--primary);
  }
  .service-offer--content--title {
    line-height: 2rem;
    font-size: 2.05rem;
    font-weight: 800;
  }
  .service-offer--content--description {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.4rem;
    word-spacing: 0.2rem;
  }
}

.anchored-datetime-picker--block:not(.mobile-anchored-datetime-picker) .seperator-line {
  display: none;
}
.anchored-datetime-picker--block {
  padding: 2rem 7.3rem 2rem 7.3rem;
  border-radius: 0 0 2.4rem 2.4rem;
}
@media only screen and (max-width: 1024px) {
  .anchored-datetime-picker--block {
    padding: 2rem 2rem 2rem 2rem;
  }
}
.anchored-datetime-picker--block.content-block {
  background-color: rgba(var(--rgb-primary), 0.9);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.anchored-datetime-picker--block.content-block h1 {
  color: var(--global-white);
  font-weight: 400;
  margin: 0;
}
.anchored-datetime-picker--block.content-block h1 span {
  font-weight: 800;
}
.anchored-datetime-picker--block.content-block .excerpt-wrapper,
.anchored-datetime-picker--block.content-block .excerpt-wrapper h3 {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  color: var(--global-white);
}
.anchored-datetime-picker--block.content-block .excerpt-wrapper .dash,
.anchored-datetime-picker--block.content-block .excerpt-wrapper h3 .dash {
  width: 8.5rem;
  height: 0.6rem;
  background-color: var(--global-white);
}
.anchored-datetime-picker--block.content-block .excerpt-wrapper h3,
.anchored-datetime-picker--block.content-block .excerpt-wrapper h3 h3 {
  margin: 0;
  padding-top: 1rem;
  line-height: 0;
}
.anchored-datetime-picker--block.content-block .excerpt-wrapper p,
.anchored-datetime-picker--block.content-block .excerpt-wrapper h3 p {
  margin: 0;
  max-width: 80%;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.anchored-datetime-picker--block.form-block {
  background-color: var(--global-white);
}
.anchored-datetime-picker--block.form-block h2 {
  font-size: 2.4rem;
  font-weight: 800;
}
.anchored-datetime-picker--form form {
  display: grid;
  grid-template-columns: 2fr 2fr 1fr;
  align-items: flex-end;
  gap: 3.2rem;
  margin: 0;
}
.anchored-datetime-picker--form form .date-and-time-wrapper label {
  display: flex;
  gap: 0.8rem;
  padding-bottom: 0.8rem;
}
.anchored-datetime-picker--form form .date-and-time-wrapper label img {
  width: 2.1rem;
  height: 2.1rem;
}
.anchored-datetime-picker--form form .date-and-time-wrapper--input-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 5fr 3fr;
  gap: 0.8rem;
}
.anchored-datetime-picker--form form .date-and-time-wrapper--input-wrapper input {
  min-width: 10rem;
  padding: 1.35rem 1.4rem;
  border-radius: 0.8rem;
  border: 1px solid var(--global-stroke);
}
.anchored-datetime-picker--form form .date-and-time-wrapper--input-wrapper input:focus {
  outline: none;
  padding: 1.4rem 1.4rem;
}

.mobile-anchored-datetime-picker {
  transition: 0.5s ease;
}
.mobile-anchored-datetime-picker .date-and-time-wrapper--input-wrapper {
  transition: 0.5s ease;
}

.mobile-anchored-datetime-picker.open {
  padding: 1rem;
}
.mobile-anchored-datetime-picker.open .btn-dropdown-opener {
  display: none;
}
.mobile-anchored-datetime-picker.open .mobile-anchored-datetime-picker--entry-date, .mobile-anchored-datetime-picker.open .mobile-anchored-datetime-picker--exit-date {
  display: none;
}
.mobile-anchored-datetime-picker.open .seperator-line {
  display: none;
}
.mobile-anchored-datetime-picker.open .anchored-datetime-picker--form form {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
}
.mobile-anchored-datetime-picker.open .anchored-datetime-picker--form form .date-and-time-wrapper {
  width: 100%;
}
.mobile-anchored-datetime-picker.open .anchored-datetime-picker--form form .date-and-time-wrapper--input-wrapper {
  opacity: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.mobile-anchored-datetime-picker:not(.open) {
  padding: 1.6rem;
}
.mobile-anchored-datetime-picker:not(.open) .btn-dropdown-opener {
  position: absolute;
  bottom: -5.5rem;
  scale: 1.03;
}
.mobile-anchored-datetime-picker:not(.open) .input-description {
  display: none;
}
.mobile-anchored-datetime-picker:not(.open) .seperator-line {
  position: relative;
  display: flex;
  justify-content: center;
  height: 3rem;
  width: 1px;
  background-color: var(--global-stroke);
  margin-right: 1rem;
}
.mobile-anchored-datetime-picker:not(.open) .anchored-datetime-picker--form form {
  display: flex;
  gap: 1.6rem;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.mobile-anchored-datetime-picker:not(.open) .anchored-datetime-picker--form form .date-and-time-wrapper {
  width: 100%;
  min-width: 10rem;
  font-size: 1.4rem;
  font-weight: 400;
}
.mobile-anchored-datetime-picker:not(.open) .anchored-datetime-picker--form form .date-and-time-wrapper--input-wrapper {
  display: none;
  opacity: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.mobile-anchored-datetime-picker:not(.open) .anchored-datetime-picker--form form .date-and-time-wrapper img {
  width: 2.5rem;
  height: 2.5rem;
}
.mobile-anchored-datetime-picker:not(.open) .anchored-datetime-picker--form form input[type=submit],
.mobile-anchored-datetime-picker:not(.open) .anchored-datetime-picker--form form input {
  display: none;
}

.initial-datepicker-popup .anchored-datetime-picker--block.form-block {
  padding: 2rem;
  width: 100vw;
  background-color: var(--primary);
  border-radius: 0;
}
.initial-datepicker-popup .anchored-datetime-picker--block.form-block .date-and-time-wrapper label {
  color: #FFF;
}
.initial-datepicker-popup .anchored-datetime-picker--block.form-block .date-and-time-wrapper label img {
  filter: brightness(100);
}
.initial-datepicker-popup .container {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  padding: 5.4rem 0 5.2rem 0;
}
.initial-datepicker-popup .container .datepicker-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.initial-datepicker-popup .container .datepicker-title h2 {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  color: #FFF;
}
.initial-datepicker-popup .container .datepicker-title h3 {
  font-size: 1.4rem;
  color: #FFF;
  transform: scaleX(1.2);
  margin-top: 1rem;
  cursor: pointer;
}
.initial-datepicker-popup .container .datepicker-title h3::-moz-selection {
  background-color: transparent;
}
.initial-datepicker-popup .container .datepicker-title h3::selection {
  background-color: transparent;
}

.booking-summary {
  background-color: #FFF;
  border-radius: 2.4rem;
  padding: 2.9rem 2rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
}
.booking-summary.shadow {
  filter: drop-shadow(0 0.5rem 2.2rem rgba(0, 0, 0, 0.0392156863));
}
.booking-summary--wallets {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  padding-bottom: 2rem;
}
.booking-summary--wallets img {
  cursor: pointer;
}
@media (max-width: 1023px) {
  .booking-summary--wallets {
    align-items: center;
    justify-content: center;
    gap: 2.3rem;
    padding-bottom: 0;
  }
  .booking-summary--wallets img[alt=google-wallet], .booking-summary--wallets img[alt=apple-wallet] {
    width: 14rem !important;
  }
}
.booking-summary--subscription-offer-details {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  align-items: center;
  padding: 0 7rem;
  justify-content: center;
}
@media (max-width: 1023px) {
  .booking-summary--subscription-offer-details {
    padding: 0;
  }
}
.booking-summary--subscription-offer-details h3 {
  font-weight: 800;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.25;
}
.booking-summary--subscription-offer-details .subscription-offer-description {
  text-align: center;
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: 0.05rem;
  word-spacing: 0.02rem;
  line-height: 1.39;
  margin-bottom: -1.5rem;
}
.booking-summary--title {
  color: var(--global-stroke);
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0;
}
.booking-summary--datetime-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.booking-summary--datetime-wrapper label {
  margin: 0;
  display: flex;
  gap: 0.8rem;
  font-size: 1.8rem;
}
.booking-summary--datetime-wrapper label svg path {
  width: 3rem;
}
.booking-summary--datetime-wrapper--entry, .booking-summary--datetime-wrapper--exit {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-gray);
}
.booking-summary--price-wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.booking-summary--price-wrapper p,
.booking-summary--price-wrapper h3 {
  margin: 0;
}
.booking-summary--price-wrapper--parking-price-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.booking-summary--price-wrapper--parking-price-wrapper .parking-price {
  border-top: 1px solid var(--global-stroke);
  border-bottom: 1px solid var(--global-stroke);
  padding: 1.6rem 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.6rem;
  justify-content: space-between;
}
.booking-summary--price-wrapper--parking-price-wrapper .parking-price .heading {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-black);
}
.booking-summary--price-wrapper--parking-price-wrapper .parking-price .price {
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--global-gray);
}
.booking-summary--price-wrapper--parking-price-wrapper .add-promo-code {
  font-size: 1.6rem;
  font-weight: 400;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper {
  display: grid;
  grid-template-columns: 3.125fr 1fr;
  align-items: center;
  gap: 0.7rem;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper.slide-anim_shown {
  margin-top: -0.6rem;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper input {
  padding: 1rem 1rem;
  border-radius: 0.8rem;
  border: 1px solid var(--global-stroke);
  font-size: 1.6rem;
  min-width: 1rem;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper input:hover {
  border-color: var(--global-black);
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .confirm-promo {
  background-color: var(--primary);
  border-radius: 0.8rem;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper:has(.existing_promo) {
  border-bottom: 1px solid var(--global-stroke);
  margin-bottom: 0.5rem;
  display: flex;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .existing_promo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: -1.6rem;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .existing_promo.initial {
  padding: 2.5rem 0;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .existing_promo .promo_title {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .existing_promo .promo_title h4 {
  font-size: 1.6rem;
  font-weight: 400;
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .existing_promo .remove_promo {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--state-error);
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .existing_promo .promo_effect {
  font-weight: 300;
  font-size: 1.6rem;
  color: var(--global-gray);
}
.booking-summary--price-wrapper--parking-price-wrapper .promo-code-wrapper .promo_loader {
  height: 0.5rem;
  background-color: var(--primary);
  animation: 1.8s fill forwards;
  margin-top: -1.6rem;
  border-radius: 999px;
}
@keyframes fill {
  0% {
    width: 2%;
    height: 0.5rem;
  }
  90% {
    width: 100%;
    height: 0.5rem;
  }
  100% {
    width: 100%;
    height: 0.15rem;
  }
}
.booking-summary--price-wrapper--total-cost-wrapper {
  display: flex;
  flex-direction: column;
  margin-top: -1rem;
  margin-bottom: -0.4rem;
  gap: 0.8rem;
}
.booking-summary--price-wrapper--total-cost-wrapper .heading {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--primary);
}
.booking-summary--price-wrapper--total-cost-wrapper .total_cost {
  font-size: 3.2rem;
  font-weight: 800;
}
.booking-summary--form {
  margin: 0;
  display: flex;
  width: 100%;
}
.booking-summary--form input[type=submit] {
  display: flex;
  justify-content: center;
  width: 100%;
}
.booking-summary--seperator {
  height: 1px;
  background-color: var(--global-stroke);
  width: 100%;
}
.booking-summary--tags {
  display: flex;
  gap: 0.8rem;
}
.booking-summary--tags .tag {
  margin: 0;
  border-radius: 999px;
  background-color: var(--global-gray-background);
  color: var(--primary);
  font-size: 1.6rem;
  padding: 0.8rem 2.4rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.booking-summary .offer-content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-items: center;
}
.booking-summary--offer-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.booking-summary--offer-title .terminal-floor[data-terminal=A] {
  background-color: var(--global-green);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking-summary--offer-title .terminal-floor[data-terminal=B] {
  background-color: var(--global-blue);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking-summary.on-thank-you {
  align-items: center;
  padding: 4rem 6.5rem;
  gap: 2.8rem;
  width: 80rem;
}
.booking-summary.on-thank-you .booking-summary--title {
  font-size: 2.4rem;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--title {
    text-align: center;
    width: 100%;
    font-size: 1.6rem;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--qr-wrapper {
  padding: 2.2rem 2.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--global-stroke);
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--qr-wrapper img {
  width: 30rem;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--qr-wrapper {
    margin: 0 3.7rem;
    padding: 0.7rem 2.9rem;
  }
}
.booking-summary.on-thank-you .booking-summary--updates-notice {
  font-size: 1.75rem;
  line-height: 2.5rem;
  color: var(--global-black);
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .offer-content {
    width: 100%;
    align-items: flex-start;
  }
  .booking-summary.on-thank-you .offer-content h2 {
    font-size: 2rem;
  }
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you {
    width: 100%;
    padding: 3.5rem 2rem 2rem 2rem;
    box-shadow: 0px 5px 22px 0px rgba(0, 0, 0, 0.0392156863);
    margin-left: auto;
    margin-right: auto;
    align-items: flex-start;
    gap: 2.4rem;
  }
}
.booking-summary.on-thank-you .booking-summary--entry-and-exit-block {
  display: flex;
  gap: 7.3rem;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--entry-and-exit-block {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
}
.booking-summary.on-thank-you .booking-summary--entry-and-exit-block .booking-summary--datetime-wrapper {
  display: flex;
  align-items: flex-start;
}
.booking-summary.on-thank-you .booking-summary--entry-and-exit-block .booking-summary--datetime-wrapper label {
  font-size: 1.6rem;
}
.booking-summary.on-thank-you .booking-summary--entry-and-exit-block .booking-summary--datetime-wrapper h3 {
  font-size: 1.6rem;
  display: flex;
  justify-content: flex-start;
}
.booking-summary.on-thank-you .booking-summary--details-wrapper {
  display: grid;
  grid-template-columns: 1.2fr 0.6fr 0.9fr;
  gap: 3.6rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--list {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--list {
    width: 100%;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--list .key-detail-wrapper {
  display: flex;
  gap: 1.8rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--list .key {
  font-size: 1.6rem;
  font-weight: 800;
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--list .detail {
  font-size: 1.6rem;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--list .detail {
    margin-top: -1.2rem;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--grid {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--grid {
    width: 100%;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--grid .key-detail-grid-item {
  display: grid;
  grid-template-columns: 50% 50%;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--grid {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--grid .key {
  font-size: 1.6rem;
  font-weight: 800;
}
.booking-summary.on-thank-you .booking-summary--details-wrapper--grid .detail {
  font-size: 1.6rem;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--details-wrapper--grid .detail {
    margin-top: -1.2rem;
  }
}
.booking-summary.on-thank-you .booking-summary--button-wrapper {
  width: 27.1rem;
}
@media (max-width: 1023px) {
  .booking-summary.on-thank-you .booking-summary--button-wrapper {
    width: 100%;
  }
}
.booking-summary.on-thank-you .booking-summary--button-wrapper .btn {
  width: 100%;
}

.extra-service {
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  display: flex;
  border-radius: 2.4rem 2.4rem 2.4rem 2.4rem;
}
@media (max-width: 1023px) {
  .extra-service {
    flex-direction: column;
  }
}
.extra-service .side-bump {
  background-color: var(--primary);
  width: 2.1rem;
  border-radius: 2.4rem 0 0 2.4rem;
}
@media (max-width: 1023px) {
  .extra-service .side-bump {
    width: 100%;
    height: 2.1rem;
    border-radius: 2.4rem 2.4rem 0 0;
  }
}
.extra-service .service-content {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 3rem 3.2rem 3rem 1.1rem;
  justify-content: space-between;
}
@media (max-width: 1023px) {
  .extra-service .service-content {
    flex-direction: column;
    padding: 2rem 2rem 1.6rem 2rem;
    gap: 2.5rem;
  }
}
.extra-service .service-content .service-info {
  margin: 0;
  font-weight: 400;
  font-size: 1.8rem;
  color: var(--global-black);
}
@media (max-width: 1023px) {
  .extra-service .service-content .service-info {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }
}
.extra-service .service-content .service-price {
  margin: 0;
  font-weight: 800;
  font-size: 2.4rem;
  color: var(--primary);
}
.extra-service .service-content .service-right-hand-side {
  display: flex;
  gap: 3.6rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .extra-service .service-content .service-right-hand-side {
    gap: 0;
    width: 100%;
    justify-content: space-between;
  }
}
.extra-service .service-content .button-wrapper {
  width: 15rem;
  display: flex;
  justify-content: flex-end;
}
.extra-service .service-content .button-wrapper .add-service-button {
  word-spacing: 0.4rem;
}

.form-field-box {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (max-width: 1023px) {
  .form-field-box {
    padding: 2.7rem 2rem;
    gap: 1.6rem;
  }
}
.form-field-box--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--global-stroke);
}
@media (max-width: 1023px) {
  .form-field-box--header {
    display: flex;
    flex-direction: column;
    gap: 2.2rem;
  }
}
.form-field-box--header--header-title {
  margin: 0;
  font-size: 2.4rem;
}
@media (max-width: 1023px) {
  .form-field-box--header--header-title {
    font-size: 2rem;
  }
}
.form-field-box--header--login-prompt {
  display: flex;
  gap: 1.6rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .form-field-box--header--login-prompt {
    font-size: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.form-field-box--fields-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .form-field-box--fields-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.form-field-box--fields-wrapper--current-card {
  margin-left: 3rem;
  margin-top: -1.5rem;
  margin-bottom: 1rem;
  color: var(--global-gray);
}
.form-field-box--fields-wrapper .form-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.form-field-box--fields-wrapper .form-input-wrapper label {
  font-size: 1.6rem;
  font-weight: 400;
}
.form-field-box--checkboxes-wrapper {
  padding-top: 3rem;
  border-top: 1px solid var(--global-stroke);
}

.popup--fade {
  position: fixed;
  background-color: rgba(var(--rgb-global-black), 0.4);
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.popup.backdrop .popup--fade {
  position: fixed;
  background-color: rgba(var(--rgb-global-black), 0.2);
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px); /* Apply the blur */
}
.popup--nofade {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1023px) {
  .popup--component {
    width: 100%;
    height: 100vh;
  }
  .popup--component:not(.full-width) {
    padding: 0 2rem;
    height: auto;
  }
  .popup--component.stick-to-bottom {
    height: auto;
  }
}
.popup.foreground .popup--fade,
.popup.foreground .popup--nofade {
  z-index: 999999999999999;
}

.popup.closed {
  display: none;
}

body:has(.popup:not(.closed) > popup--component.scroll_overtake) {
  overflow-y: clip;
}

.payment {
  background-color: #FFF;
  padding: 2.6rem 3.8rem 3.8rem 3.8rem;
  border-radius: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  min-width: 53.7rem;
}
@media (max-width: 1023px) {
  .payment {
    padding: 2.4rem 2.4rem 5rem 2.4rem;
    min-width: 0;
    width: 100%;
    align-items: center;
    height: 100%;
    border-radius: 0;
    overflow: scroll;
  }
}
.payment-iframe {
  display: flex;
  justify-content: center;
}
.payment--header {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--global-stroke);
}
@media (max-width: 1023px) {
  .payment--header {
    padding: 1rem 0rem 3.2rem 0rem;
    width: 100%;
  }
}
.payment--header--title {
  font-weight: 800;
  font-size: 2.4rem;
  color: var(--global-black);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.payment--header--title .close-button-wrapper {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 1023px) {
  .payment--header--title {
    font-size: 2rem;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
}
.payment--header--total-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.payment--header--total-price .description {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--global-black);
}
.payment--header--total-price .price {
  font-weight: 800;
  font-size: 3.2rem;
  color: var(--global-black);
}
.payment--current-default-card {
  border: 1px solid var(--primary);
  border-radius: 1.6rem;
  padding: 1.2rem 0 1.1rem 1.5rem;
}
.payment--current-default-card .radioCheck {
  margin-top: 0.2rem;
}
.payment--card-details-header {
  display: flex;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 400;
}
.payment--card-details-form {
  padding: 0 5.3rem;
}
@media (max-width: 1023px) {
  .payment--card-details-form {
    padding: 0;
    width: 100%;
  }
}
.payment--card-details-form.hidden-fields .field-wrapper {
  display: none;
}
.payment--card-details-form form {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.payment--card-details-form form .field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.payment--card-details-form form .btn {
  margin-top: 0.6rem;
}
.payment--card-details-form form .expiry {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.login-popup {
  background-color: #FFF;
  border-radius: 2.4rem;
  display: flex;
  min-width: 55.4rem;
  flex-direction: column;
}
@media (max-width: 1023px) {
  .login-popup {
    min-width: 100%;
    max-width: 10%;
    box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.062745098);
  }
  .login-popup:has(.login-popup--header) {
    height: 100vh;
    border-radius: 0;
  }
}
.login-popup:not(:has(.login-popup--header)) .switcher-btn:nth-of-type(1) {
  border-radius: 2.4rem 0 0 0;
}
.login-popup:not(:has(.login-popup--header)) .switcher-btn:nth-of-type(1) .switcher-inner-wrapper {
  border-radius: 2.4rem 0 0 0;
}
.login-popup:not(:has(.login-popup--header)) .switcher-btn:last-of-type {
  border-radius: 0 2.4rem 0 0;
}
.login-popup:not(:has(.login-popup--header)) .switcher-btn:last-of-type .switcher-inner-wrapper {
  border-radius: 0 2.4rem 0 0;
}
.login-popup .switcher-hidden {
  display: none;
}
.login-popup .switcher {
  display: flex;
}
.login-popup .switcher .switcher-btn {
  display: flex;
  flex-direction: column;
  background-color: #FFF;
  outline: none;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 600;
  outline: none;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  cursor: pointer;
}
.login-popup .switcher .switcher-btn .switcher-inner-wrapper {
  width: 100%;
  background-color: #FFF;
  color: var(--global-gray);
  font-size: 1.6rem;
  font-weight: 600;
  outline: none;
  border: none;
  padding: 1.4rem 1.4rem 1.4rem 1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  gap: 0.8rem;
}
.login-popup .switcher .switcher-btn span {
  width: 100%;
  height: 2px;
  display: block;
  border-radius: 99px;
  pointer-events: none;
  background-color: var(--global-stroke);
}
.login-popup .switcher .switcher-btn svg {
  margin-top: 0.1rem;
  filter: grayscale(1) brightness(1);
}
.login-popup .switcher .switcher-btn:hover {
  filter: brightness(0.98);
}
.login-popup .switcher .switcher-btn.switcher-selected {
  color: var(--primary);
}
.login-popup .switcher .switcher-btn.switcher-selected .switcher-inner-wrapper {
  color: var(--primary);
  padding: 1.4rem 1.4rem 1.3rem 1.4rem;
}
.login-popup .switcher .switcher-btn.switcher-selected span {
  width: 100%;
  height: 3px;
  display: block;
  border-radius: 99px;
  background-color: var(--primary);
}
.login-popup .switcher .switcher-btn.switcher-selected svg {
  filter: grayscale(0) brightness(1);
}
.login-popup .inner-content {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 4rem 10rem 5.8rem 10rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .login-popup .inner-content {
    padding: 0;
    max-width: 100%;
    padding: 2.4rem 2rem 4.2rem 2rem;
  }
}
.login-popup .inner-content a {
  color: var(--primary);
  font-weight: 600;
  font-size: 1.6rem;
}
.login-popup--form-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--global-stroke);
}
.login-popup--form-wrapper form {
  width: 100%;
}
.login-popup--form-wrapper--button-wrapper {
  width: 100%;
}
.login-popup--form-wrapper--button-wrapper .btn {
  width: 100%;
}
.login-popup--header {
  padding: 2.7rem 3rem 0 3rem;
}
@media (max-width: 1023px) {
  .login-popup--header {
    padding: 2rem;
  }
}
.login-popup--header--main {
  padding: 1.5rem 5rem 3.6rem 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1023px) {
  .login-popup--header--main {
    padding: 1.5rem 0 3.6rem 0;
  }
}
.login-popup--header--main .headline {
  color: var(--primary);
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 4.5rem;
  text-align: center;
}
.login-popup--header--main .headline strong {
  font-weight: 800;
}
.login-popup--header--main .tagline {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
}

.otp-postsend-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.map {
  background-color: white;
  padding: 3rem 4.8rem 3.8rem 4.8rem;
  border-radius: 3.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.3rem;
}
@media (max-width: 1023px) {
  .map {
    padding: 2.4rem 2rem 2.4rem 2.4rem;
    gap: 2.8rem;
  }
}
.map .map-header {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .map .map-header {
    gap: 0rem;
  }
}
.map .map-header .map--close-button-wrapper {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 1023px) {
  .map .map-header .map--close-button-wrapper {
    margin-bottom: -1rem;
  }
  .map .map-header .map--close-button-wrapper .close-popup-map {
    padding: 2rem;
    margin: -2rem;
  }
  .map .map-header .map--close-button-wrapper img {
    pointer-events: none;
  }
}
.map .map-header .map--head {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.map .map-header .map--head--tags {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--primary);
  display: flex;
  gap: 2.8rem;
  align-items: center;
}
.map .map-header .map--head--tags div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.map .map-header .map--head--title {
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--global-black);
}
@media (max-width: 1023px) {
  .map .map-header .map--head--title {
    font-size: 1.9rem;
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
}
.map .map-header .map--head--title .terminals {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.map .map-header .map--head--title .terminals .terminal-floor[data-terminal=A] {
  background-color: var(--global-green);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.map .map-header .map--head--title .terminals .terminal-floor[data-terminal=B] {
  background-color: var(--global-blue);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.map .map-header .map--head--title .terminals .terminal-floor[data-terminal=C] {
  background-color: var(--global-blue);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.map .map-header .map--head--title .terminals .terminal-floor[data-terminal=D] {
  background-color: var(--global-red);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.map .map-header .map--head--title .terminals .terminal-floor[data-terminal=E] {
  background-color: var(--global-orange);
  font-size: 2rem;
  font-weight: 400;
  min-width: 2.4rem;
  line-height: 2.4rem;
  text-align: center;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.map--button-wrapper {
  display: flex;
  justify-content: center;
}

@media (max-width: 1023px) {
  .menu-wrapper {
    margin-right: -2rem;
    margin-left: -4rem;
  }
}

.account-menu {
  padding: 2.9rem 2rem 3.3rem 2rem;
  background-color: #FFF;
  border-radius: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.2rem;
}
@media (max-width: 1023px) {
  .account-menu {
    gap: 1.6rem;
    padding-left: 4rem;
    padding-right: 0;
    padding-bottom: 0;
    border-radius: 0;
  }
}
.account-menu .user-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--global-stroke);
}
.account-menu .account-menu-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 2.4rem;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .account-menu .account-menu-links {
    flex-direction: row;
    padding-right: 2rem;
    width: 100%;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .account-menu .account-menu-links::-webkit-scrollbar {
    display: none;
  }
}
.account-menu .account-menu-links li {
  list-style: none;
}
@media (max-width: 1023px) {
  .account-menu .account-menu-links li {
    padding-bottom: 1.4rem;
  }
  .account-menu .account-menu-links li:has(.menu-link-selected) {
    border-bottom: 3px solid var(--primary);
  }
}
.account-menu .account-menu-links .menu-link {
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: none;
}
@media (max-width: 1023px) {
  .account-menu .account-menu-links .menu-link {
    white-space: nowrap;
  }
}
.account-menu .account-menu-links .menu-link-logout {
  color: var(--global-red);
  text-decoration: none;
}
.account-menu .account-menu-links .menu-link-logout:hover {
  filter: saturate(0.8);
  font-weight: 600;
}
.account-menu .account-menu-links .menu-link-selected {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--primary);
}

.booking {
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  border-radius: 2.4rem;
  padding: 3.2rem 4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .booking {
    padding: 2.4rem 2rem;
  }
}
.booking--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1023px) {
  .booking--header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
}
.booking--header .map-link-wrapper {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.booking--header .tags-wrapper {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.booking--header .tags-wrapper .tag {
  padding: 0.7rem 1.7rem;
  background-color: var(--global-gray) -background;
  border-radius: 999px;
  font-size: 1.8rem;
  min-width: 10rem;
  font-weight: 400;
  color: var(--primary);
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}
.booking--main-info {
  display: flex;
  justify-content: space-between;
  align-items: top;
}
@media (max-width: 1023px) {
  .booking--main-info {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
  }
}
.booking--main-info--booking-terminal-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
.booking--main-info--booking-terminal-title h3 {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.booking--main-info--booking-terminal-title h3 .terminal-floor[data-terminal=A] {
  background-color: var(--global-green);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking--main-info--booking-terminal-title h3 .terminal-floor[data-terminal=B] {
  background-color: var(--global-blue);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking--main-info--booking-terminal-title h3 .terminal-floor[data-terminal=C] {
  background-color: var(--global-blue);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking--main-info--booking-terminal-title h3 .terminal-floor[data-terminal=D] {
  background-color: var(--global-red);
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking--main-info--booking-terminal-title h3 .terminal-floor[data-terminal=E] {
  background-color: var(--global-orange);
  font-size: 2rem;
  font-weight: 400;
  min-width: 2.4rem;
  line-height: 2.4rem;
  text-align: center;
  color: var(--global-white);
  padding: 0rem 0.5rem 0rem 0.5rem;
  border-radius: 0.2rem;
}
.booking--main-info--entry-and-exit-block {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
@media (max-width: 1023px) {
  .booking--main-info--entry-and-exit-block {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
  }
}
.booking--main-info--entry-and-exit-block--datetime-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  align-items: flex-start;
}
.booking--footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1023px) {
  .booking--footer {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: center;
  }
}
.booking--footer--car-number-wrapper {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .booking--footer--car-number-wrapper {
    padding: 0 0 1.6rem 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 1.6rem;
    border-bottom: 1px solid var(--global-stroke);
  }
}
.booking--footer--car-number-wrapper .label {
  font-weight: 800;
  font-size: 2rem;
  color: var(--global-black);
}
.booking--footer--car-number-wrapper .number {
  font-weight: 400;
  font-size: 2rem;
}
.booking--footer--cancel-booking .btn-text {
  transform-origin: center;
  color: var(--state-error);
  font-weight: 400;
  font-size: 1.6rem;
}
@media (max-width: 1023px) {
  .booking--footer--cancel-booking .btn-text {
    font-size: 1.8rem;
  }
}

@media (max-width: 1023px) {
  .paginated-table-outer-wrapper {
    margin-right: -2rem;
    margin-left: -2rem;
    max-width: 100vw;
  }
}

.paginated-table {
  background-color: #FFF;
  border-radius: 0.4rem;
  border: 1px solid var(--global-stroke);
  width: 100%;
}
@media (max-width: 1023px) {
  .paginated-table {
    border: none;
    border-radius: 0;
  }
}
.paginated-table-wrapper {
  display: flex;
  width: 100%;
  border-bottom: 1px solid var(--global-stroke);
}
@media (max-width: 1023px) {
  .paginated-table-wrapper {
    overflow: scroll;
    min-width: 102vw;
  }
}
.paginated-table-wrapper table {
  width: 100%;
}
@media (max-width: 1023px) {
  .paginated-table-wrapper table {
    white-space: nowrap;
  }
}
.paginated-table-wrapper table thead th {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--global-table-header);
  padding: 0.6rem 2.2rem;
  text-align: left;
  white-space: nowrap;
}
.paginated-table-wrapper table tbody {
  border-top: 1px solid var(--global-stroke);
}
.paginated-table-wrapper table tbody tr td {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--global-black);
  padding: 0.6rem 2.2rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--global-gray) -background;
}
.paginated-table:not(:has(.paginated-table--pagination)) .paginated-table-wrapper {
  border-bottom: none;
}
.paginated-table--pagination {
  padding: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.paginated-table--pagination .pagination-wrapper,
.paginated-table--pagination .table-pages {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
.paginated-table--pagination .pagination-wrapper .front,
.paginated-table--pagination .table-pages .front {
  rotate: -90deg;
  height: auto;
  transform-origin: center;
}
.paginated-table--pagination .pagination-wrapper .back,
.paginated-table--pagination .table-pages .back {
  rotate: 90deg;
  height: auto;
  transform-origin: center;
}
.paginated-table--pagination .pagination-wrapper .btn-text,
.paginated-table--pagination .table-pages .btn-text {
  transform-origin: center;
  font-size: 2rem;
  font-weight: 300;
}
.paginated-table--pagination .pagination-wrapper .selected,
.paginated-table--pagination .table-pages .selected {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary);
}
.paginated-table--pagination--loader-button {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.paginated-table--pagination--loader-button .btn {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.paginated-table--pagination--loader-button img {
  transition: 0.2s ease;
  display: none;
}
.paginated-table--pagination--loader-button .btn img {
  height: 0;
  scale: 0;
  width: 0;
}
.paginated-table--pagination--loader-button .btn.loading img {
  display: block;
  height: auto;
  scale: 1;
  width: auto;
  opacity: 1;
  animation: loader 1.2s ease-in-out infinite;
}

@keyframes loader {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 1080deg;
  }
}
.vehicle {
  padding: 4.4rem 4rem;
  border: 1px solid var(--global-stroke);
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
  border-radius: 2.4rem;
  align-items: center;
}
.vehicle.default {
  border: 1px solid var(--primary);
}
.vehicle.default .set-default {
  display: none;
}
.vehicle:not(.default) .default-tag {
  display: none;
}
@media (max-width: 1023px) {
  .vehicle {
    padding: 3.2rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2.4rem;
  }
  .vehicle .main-info-wrapper {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 3.1rem;
    border-bottom: 1px solid var(--global-stroke);
  }
  .vehicle .main-info-wrapper .btn-white-border {
    padding: 0 1.8rem;
  }
  .vehicle .remove-button-wrapper .btn {
    transform-origin: center;
    color: var(--state-error);
    font-size: 1.8rem;
    font-weight: 400;
  }
}
.vehicle .car-info {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .vehicle .car-info {
    gap: 1.2rem;
  }
}
.vehicle .car-info .label {
  font-size: 2rem;
  font-weight: 400;
}
.vehicle .car-info .number-wrapper {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.vehicle .car-info .number-wrapper .number {
  font-size: 3.2rem;
  font-weight: 800;
}
.vehicle .car-info .number-wrapper .btn {
  transform-origin: center;
  color: var(--state-error);
  font-size: 1.6rem;
  font-weight: 400;
}

.card {
  padding: 4.4rem 4rem;
  border: 1px solid var(--global-stroke);
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
  border-radius: 2.4rem;
  align-items: center;
}
.card.default {
  border: 1px solid var(--primary);
}
.card.default .set-default-card {
  display: none;
}
.card:not(.default) .default-tag {
  display: none;
}
@media (max-width: 1023px) {
  .card {
    padding: 3.2rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2.4rem;
  }
  .card .main-info-wrapper {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 3.1rem;
    border-bottom: 1px solid var(--global-stroke);
  }
  .card .main-info-wrapper .btn-white-border {
    padding: 0 1.8rem;
  }
  .card .remove-button-wrapper .btn {
    transform-origin: center;
    color: var(--state-error);
    font-size: 1.8rem;
    font-weight: 400;
  }
}
.card .card-info {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .card .card-info {
    gap: 1.2rem;
  }
}
.card .card-info .label {
  font-size: 2rem;
  font-weight: 400;
}
.card .card-info .number-wrapper {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.card .card-info .number-wrapper .number {
  font-size: 3.2rem;
  font-weight: 800;
}
.card .card-info .number-wrapper .btn {
  transform-origin: center;
  color: var(--state-error);
  font-size: 1.6rem;
  font-weight: 400;
}

.toll-tag {
  padding: 4.4rem 4rem;
  border: 1px solid var(--global-stroke);
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
  border-radius: 2.4rem;
  align-items: center;
  margin-top: 4rem;
}
@media (max-width: 1023px) {
  .toll-tag {
    padding: 3.2rem 2rem;
    gap: 2.4rem;
  }
}
.toll-tag--info {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 1023px) {
  .toll-tag--info {
    gap: 1.2rem;
  }
}
.toll-tag--info .label {
  font-size: 2rem;
  font-weight: 400;
}
.toll-tag--info .number-wrapper {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.toll-tag--info .number-wrapper .number {
  font-size: 3.2rem;
  font-weight: 800;
}

.promotional-footer {
  padding: 4.8rem 0 7.2rem 0;
}
@media (max-width: 1023px) {
  .promotional-footer {
    padding-top: 1.6rem;
  }
}
.promotional-footer--wrapper {
  display: grid;
  grid-template-columns: 1.413fr 1fr;
  gap: 1.6rem;
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.promotional-footer--wrapper .benefits {
  background-color: var(--primary);
  padding: 5.4rem 6.4rem;
  color: #FFF;
  border-radius: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper .benefits {
    padding: 4rem 2.4rem 5.2rem 2.4rem;
    gap: 2.6rem;
  }
}
.promotional-footer--wrapper .benefits--header {
  color: #FFF;
  font-weight: 400;
  font-size: 4rem;
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper .benefits--header {
    font-size: 2.4rem;
  }
}
.promotional-footer--wrapper .benefits--bullet-points {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
.promotional-footer--wrapper .benefits--bullet-points .bullet {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.44;
  letter-spacing: 0.08rem;
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper .benefits--bullet-points .bullet {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
  }
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper .swiper.images-slider {
    height: 30rem;
  }
}
.promotional-footer--wrapper .slider {
  display: flex;
  position: relative;
  background-position: center;
  background-size: cover;
  border-radius: 2.4rem;
}
.promotional-footer--wrapper .slider--slides {
  border-radius: 2.4rem;
  background-color: rgba(var(--rgb-global-black), 0);
  width: 100%;
  display: flex;
  padding: 5.4rem 4rem 7.7rem;
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper .slider--slides {
    padding: 3.2rem 2.4rem 12.2rem 2.4rem;
  }
}
.promotional-footer--wrapper .slider--slides .slide {
  color: #FFF;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 3.8rem;
}
@media (max-width: 1023px) {
  .promotional-footer--wrapper .slider--slides .slide {
    font-size: 2.1rem;
    line-height: 3.1rem;
  }
  .promotional-footer--wrapper .slider--slides .slide br {
    display: none;
  }
}
.promotional-footer--wrapper .slider--navigator {
  position: absolute;
  bottom: 2.2rem;
  left: 50%;
  transform: translate(-50%, 50%);
  display: flex;
  gap: 0.8rem;
}
.promotional-footer--wrapper .slider--navigator .dot {
  border-radius: 999px;
  height: 1.4rem;
  width: 1.4rem;
  background-color: var(--global-stroke);
}
.promotional-footer--wrapper .slider--navigator .dot.expanded {
  width: 4.9rem;
  background-color: #FFF;
}

body.page-documents--invoice {
  background-color: rgb(222, 222, 222);
  padding: 4rem;
}
body.page-documents--invoice .site-header,
body.page-documents--invoice .site-footer {
  display: none;
}

.invoice-pdf {
  background-color: white;
  margin-left: auto;
  margin-right: auto;
  width: 64rem;
  min-height: 84.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 3.2rem;
}
.invoice-pdf--header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid var(--global-stroke);
}
.invoice-pdf--header--address-details {
  text-align: right;
  line-height: 1.4rem;
  font-size: 1rem;
  font-weight: 400;
}
.invoice-pdf--parker-info {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5.6rem;
  padding-top: 1rem;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--global-stroke);
}
.invoice-pdf--parker-info .invoice-contact-block {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.invoice-pdf--parker-info .invoice-contact-block .title {
  font-size: 1.2rem;
  font-weight: 700;
}
.invoice-pdf--parker-info .invoice-contact-block .content-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.invoice-pdf--parker-info .invoice-contact-block .content-list div,
.invoice-pdf--parker-info .invoice-contact-block .content-list a {
  font-size: 1rem;
  font-weight: 400;
}
.invoice-pdf--parker-info .invoice-contact-block .content-list a {
  color: #00B4E5;
}
.invoice-pdf--transaction-info {
  padding-top: 0.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.invoice-pdf--transaction-info--invoice-number {
  font-size: 1.2rem;
  font-weight: 400;
}
.invoice-pdf--transaction-info--invoice-number .invoice-highlight {
  font-weight: 700;
  color: #005497;
}
.invoice-pdf--transaction-info--transactions-list-wrapper ul {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.invoice-pdf--transaction-info--transactions-list-wrapper ul li {
  list-style: none;
  padding: 1.6rem;
  font-size: 1.2rem;
  font-weight: 400;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #EFFCFF;
  border-radius: 0.8rem;
}
.invoice-pdf--transaction-info--transactions-list-wrapper ul li:last-of-type {
  font-weight: 700;
  background-color: #DDF8FF;
}
.invoice-pdf--order-info {
  padding-top: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.invoice-pdf--order-info--order-number {
  font-size: 1.2rem;
  font-weight: 700;
}
.invoice-pdf--order-info--general-order-details ul {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.invoice-pdf--order-info--general-order-details ul li {
  list-style: none;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
}
.invoice-pdf--footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.invoice-pdf--footer--signature-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--global-stroke);
}
.invoice-pdf--footer--signature-row div {
  font-size: 1.2rem;
  font-weight: 700;
}
.invoice-pdf--footer--signature-row .invoice-footer-logo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.invoice-pdf--footer--signature-row .invoice-footer-logo div {
  font-size: 1rem;
  font-weight: 400;
}
.invoice-pdf--footer--info-line {
  font-size: 1rem;
  font-weight: 400;
  color: var(--global-gray);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.patrons-account-menu {
  max-width: 50rem;
  width: 100%;
}

body:has(.patrons-account-menu) {
  background-color: var(--global-gray-background);
}

.patrons-registration {
  padding: 2.4rem 0;
}

.patrons-registration--form,
.patrons-registration--form form {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

body:has(.hide-header-footer-indicator) header,
body:has(.hide-header-footer-indicator) footer {
  display: none;
}

.offer-v2 {
  width: 40rem;
  background-color: #FFF;
  border-radius: 1.6rem;
  border-radius: 1.6rem 1.6rem 2.4rem 2.4rem;
}

.offer-v2.singular {
  width: 92.7rem;
  background-color: #FFF;
  border-radius: 1.6rem;
  border-radius: 1.6rem 1.6rem 2.4rem 2.4rem;
}

.offer-v2--color-header {
  background-color: #D7F4FF;
  padding: 2.4rem;
  border-radius: 1.6rem 1.6rem 0 0;
  border: 1px solid var(--global-stroke);
}

.offer-v2--main-content {
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  border-radius: 0 0 2.4rem 2.4rem;
  border-top: none;
  padding: 4.4rem 2.8rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  transition: 0.4s ease;
}

.offer-v2.singular .offer-v2--main-content {
  background-color: #FFF;
  border: 1px solid var(--global-stroke);
  border-radius: 0 0 2.4rem 2.4rem;
  border-top: none;
  padding: 3.2rem 4.4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  transition: 0.4s ease;
}

.offer-v2--main-content form {
  width: 100%;
}

.offer-v2--main-content form .btn {
  width: 100%;
}

.offer-v2--main-content--title {
  font-size: 2.4rem;
  font-weight: 800;
  text-align: center;
  line-height: 1;
}

.offer-v2--main-content--price-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.offer-v2--main-content--price-wrapper,
.price-description {
  text-align: center;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 400;
}

.offer-v2--main-content--price-wrapper,
.price-amount {
  text-align: center;
  line-height: 0.9;
  font-size: 6.4rem;
  font-weight: 800;
}

.offer-v2.singular .offer-v2--main-content--price-wrapper,
.price-amount {
  text-align: center;
  line-height: 0.9;
  font-size: 3.2rem;
  font-weight: 800;
}

.offer-v2--main-content--address-wrapper {
  color: var(--global-gray);
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  line-height: 1;
  justify-content: center;
  align-items: center;
  padding: 2.4rem 0;
  border-top: 1px solid var(--global-stroke);
  border-bottom: 1px solid var(--global-stroke);
}

.offer-v2--main-content--details-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.offer-v2--main-content--details-wrapper .title {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--global-black);
}

.offer-v2--main-content--details-wrapper .details-list {
  max-height: 13rem;
  overflow: hidden;
  position: relative;
  transition: 0.5s ease;
  min-height: 13rem;
}

.offer-v2--main-content--details-wrapper .details-list * {
  transition: 0.4s ease;
}

.offer-v2--main-content--details-wrapper .details-list .veil {
  position: absolute;
  height: 14rem;
  background-color: #FFF;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 80%);
  width: 100%;
  bottom: 0;
  transition: 0.8s ease;
  pointer-events: none;
}

.offer-v2--main-content--details-wrapper .details-list ul {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
}

.offer-v2--main-content--details-wrapper .details-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.btn-spoiler {
  position: absolute;
  bottom: -2rem;
  padding: 0rem;
  background-color: transparent;
  width: 100%;
  text-align: center;
}

.offer-v2--main-content--details-wrapper .details-list.open {
  max-height: none;
}

.offer-v2--main-content--details-wrapper .details-list.open .veil {
  position: absolute;
  background-color: transparent;
  transition: 0.3s ease;
  height: 100%;
  opacity: 0;
  width: 100%;
  top: 0;
}

.offer-v2--main-content--details-wrapper .details-list.open .btn-spoiler {
  position: static;
  padding: 0rem;
  background-color: transparent;
  transition: 0.3s ease;
  width: 100%;
  text-align: center;
  rotate: 180deg;
  margin-bottom: -2rem;
}

.offer-v2.singular .offer-v2--main-content--title {
  font-size: 3.2rem;
  font-weight: 800;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.offer-v2.singular .offer-v2--main-content--title .address {
  font-size: 1.6rem;
  font-weight: 400;
  display: flex;
  flex-direction: row;
}

.offer-v2.singular .singular-header-container {
  display: flex;
  justify-content: space-between;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--global-stroke);
}

.offer-v2.singular .offer-v2--main-content--price-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.offer-v2--main-content--price-wrapper .btn-primary {
  padding: 0 5.85rem;
}

.offer-v2.singular .offer-v2--main-content--details-wrapper .details-list {
  max-height: none;
}

.offer-v2.singular .offer-v2--main-content--details-wrapper .details-list ul {
  display: flex;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  grid-template-columns: repeat(2, 1fr);
}

.search-results-offers--wrapper {
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 1023px) {
  .offer-v2 {
    width: auto;
  }
}
.new-payment-method {
  background-color: #FFF;
  border-radius: 2.4rem;
  padding: 4rem;
  border: 1px solid var(--global-stroke);
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.new-payment-method--card-details {
  padding: 2.4rem;
  border-radius: 1.6rem;
}

.new-payment-method--card-details.clean-header {
  padding: 0rem;
  border-radius: 1.6rem;
}

.error-bg {
  background-color: var(--pastel-error-color);
}

.new-payment-method--card-details .card-header {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 18.6rem 1fr 2fr;
  gap: 14rem;
}

.new-payment-method--card-details .card-header.clean-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.new-payment-method--card-details .card-header .card-header--card-main-info {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.new-payment-method--card-details .card-header .card-header--card-main-info--card-type {
  font-size: 2rem;
  font-weight: 400;
}

.new-payment-method--card-details .card-header .card-header--card-main-info--card-number {
  display: flex;
  gap: 0.4rem;
  font-size: 1.5rem;
  font-weight: 400;
}

.new-payment-method--card-details .card-header .card-header--card-main-info--card-holder-name {
  font-size: 1.6rem;
  font-weight: 500;
}

.new-payment-method--card-details .card-header .card-header--card-expiration {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.new-payment-method--card-details .card-header .card-header--card-expiration .value {
  font-size: 1.5rem;
  font-weight: 400;
}

.new-payment-method--card-details .card-header .card-header--card-expiration .title {
  font-size: 2rem;
  font-weight: 400;
}

.new-payment-method--card-details .card-header .card-header--card-status {
  display: flex;
  flex-direction: column;
  gap: 3.7rem;
  justify-self: end;
}

.new-payment-method--card-details .card-header .card-header--card-status .status {
  color: var(--state-error);
}

.new-payment-method--card-details .card-header .card-header--card-status .btn-primary {
  font-weight: 500;
  padding: 0.8rem;
  font-size: 1.5rem;
  letter-spacing: 1.08;
}

.new-payment-method .product-type-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.new-payment-method .product-type-wrapper > .title {
  font-size: 1.4rem;
  color: var(--gray-text-color);
  font-weight: 400;
}

.new-payment-method .product-type-wrapper > .product-types {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.new-payment-method .product-type-wrapper > .product-types .product-types--type {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 18.6rem 1fr;
  gap: 14rem;
}

.new-payment-method .product-type-wrapper > .product-types .product-types--type .product-types--type--info {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.new-payment-method .product-type-wrapper > .product-types .product-types--type .product-types--type--info .title {
  font-size: 2rem;
  font-weight: 600;
}

.new-payment-method .product-type-wrapper > .product-types .product-types--type .product-types--type--info .subtitle {
  font-size: 1.5rem;
  font-weight: 400;
}

.new-payment-method .product-type-wrapper > .product-types .product-types--type .product-types--type--info {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.new-payment-method .product-type-wrapper > .product-types .product-types--type .product-types--type--renewal {
  display: flex;
  flex-direction: column;
  gap: 1.7rem;
}

.new-payment-method--actions-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.new-payment-method--actions-bar.jcsb {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.new-payment-method--actions-bar .btn-delete {
  padding: 2rem;
  margin: -2rem;
  margin-top: 0;
  display: flex;
  align-items: center;
  background-color: transparent;
  max-height: 2rem;
}

.booking-summary--details-wrapper--grid {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.booking-summary--details-wrapper--grid .key {
  font-size: 1.6rem;
  font-weight: 800;
}

.booking-summary--details-wrapper--grid .detail {
  font-size: 1.6rem;
  font-weight: 400;
}

.btn-text-link {
  height: auto;
  background-color: transparent;
  color: var(--state-link);
  font-weight: 400;
  border: none;
  outline: none;
  display: flex;
  justify-content: flex-start;
  transition: 0.2s ease;
  transform-origin: left;
}

.btn-text-link:active {
  scale: 0.98;
}

.btn::-moz-selection {
  background-color: transparent;
}

.flatpickr-hour::-moz-selection {
  background-color: transparent;
  color: #101010;
}

.gray-text {
  color: var(--gray-text-color);
}

.initial-datepicker-popup .container .datepicker-title h3::-moz-selection {
  background-color: transparent;
}

.key-detail-grid-item {
  display: grid;
  grid-template-columns: 50% 50%;
}

.search-box .input-container input::-moz-placeholder {
  font-size: 1.6rem;
  font-weight: 400;
  color: #676767;
}

.service-offer--image-wrapper img {
  border-radius: 1.6rem 1.6rem 0 0;
}

.success-text {
  color: var(--state-success);
}

.swal2-success {
  transform-origin: center;
  scale: 0.7;
}

.user-dropdown.open + .user-dropdown-menu {
  display: flex;
}

.user-dropdown > * {
  pointer-events: none;
}

body:has(.popup-start-date-picker:not(.closed)) {
  overflow: hidden;
}

body:has(.popup-start-date-picker:not(.closed)) .flatpickr-calendar {
  z-index: 9999999999;
}/*# sourceMappingURL=style.css.map */