.hero {
    padding-top: var(--section-padding-y);
}
.hero .ot-section__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-main img {
    height: auto;
    max-width: 100%;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, .15);
    -webkit-box-shadow: 0 0 30px 0 rgba(0, 0, 0, .15);
    -moz-box-shadow: 0 0 30px 0 rgba(0,0,0,.15);
}
img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px;
}
.hero.ot-section .ot-section__media {
    max-width: 400px;
    max-height: 400px;
    border-radius: var(--card-border-radius);
    overflow: hidden;
    display: flex;
    align-items: center;
}
.hero .ot-section__media {
    max-width: 400px;
    max-height: 400px;
    border-radius: var(--card-border-radius);
    overflow: hidden;
    display: flex;
    align-items: center;
}
.hero .ot-section__content .terms-holder {
    text-transform: uppercase;
    order: -1;
}
.hero .ot-section__content h2 {
    font-size: var(--h1-font-size);
    color: inherit;
    line-height: 1.2;
}

@media (min-width: 990px) {
    .hero .ot-section__media {
        margin-left: auto;
        margin-top: initial;
    }
    section.hero .ot-section__content {
        align-items: flex-start;
        text-align: initial;
    }
}@media (min-width: 990px) {
    .hero .ot-section__container {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        gap: var(--section-padding-y);
    }
    .hero .ot-section__content {
        align-items: flex-start;
        text-align: initial;
    }
    .hero .ot-section__media {
        margin-left: auto;
        margin-top: initial;
        max-width: 550px;
        max-height: 550px;
    }
}
@media (min-width: 1200px) {
    .hero .ot-section__container {
        height: auto;
        max-height: 600px;
        justify-content: center;
    }
}
@media (min-width: 1400px) {
    .hero .ot-section__container {
        max-height: 700px;
    }
}





.modal .modal-content:has(.booking-form) {
    max-width: 1000px;
    width: 80%;
}
form:has(.booking-form):before {
    content: 'Loading... please wait.';
    display: block;
    width: 100%;
    text-align: center;
    font-size: 20px;
    padding: 30px;
}
form:has(.booking-form).loaded:before {
    display: none;
}
.booking-form {
    display:none;
    --h3-font-size: 36px;
}
.booking-form .form-heading {
    font-family: hypatia-sans-pro, sans-serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 0.8828rem + 2.1362vw, 2.25rem);
    line-height: 1;
    letter-spacing: 0%;
    text-align: center;
    display: flex;
    justify-content: center;
    position: relative;
    margin: 32px 0;
}
.booking-form .form-heading:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: rgba(0, 52, 90, 0.2);
    position: absolute;
    top: 50%;
}
.form-heading span {
    display: block;
    width: fit-content;
    z-index: 5;
    padding: 0 clamp(1.25rem, 0.6763rem + 3.3378vw, 2.8125rem);
    background-color: rgba(246, 246, 246, 1);
}
.ot-section .wpcf7-form .form-page:first-child .ot-field:nth-child(2) {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    height: 42px;
    margin-bottom: 32px;
}
.ot-section .wpcf7-form .form-page:first-child .ot-field:last-child {
    padding-bottom: 0;
}


.ot-section .wpcf7-form .form-page .ot-field{
    font-family: hypatia-sans-pro, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #00345a;
    margin: 0;
    padding: 32px 0;
}
.form-page .ot-field h3 {
    margin-top: 0;
}
.form-page .ot-field + .ot-field {
    border-top: 1px rgba(0, 52, 90, 0.2) solid;
}
.form-page .ot-field input,
.form-page .ot-field select,
.wpcf7 input.wpcf7-form-control:not([type=submit]), .wpcf7 textarea.wpcf7-form-control {
    border: none;
    padding:0;
}

.form-page .ot-field label {
    display: block;
    border: 1px rgba(0, 52, 90, 1) solid;
    width: 100%;
    padding: 10px 20px;
}
.form-page .ot-field label:has(input[name="number-people"]) {
    max-width: 145px;
}
label.ot-details.itinerary-name, input[name="travel-date-display"] {
    color: rgba(0, 52, 90, 1);
}
/* Number of people: custom − / + stepper; hide native spinners */
.booking-form input[name="number-people"]::-webkit-outer-spin-button,
.booking-form input[name="number-people"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.booking-form input[name="number-people"] {
    -moz-appearance: textfield;
    appearance: textfield;
}
.ot-number-stepper {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    overflow: hidden;
    justify-content: space-between;
    width: 100%;
}
.ot-number-stepper__btn {
    flex: 0 0 auto;
    background-color: transparent;
    min-width: 0;
    padding: 0;
    margin: 0;
    border: none;
    color: rgba(180, 151, 89, 1);
    font-size: 30px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    font-family: inherit;
    position: relative;
    top: -2px;
}

.ot-number-stepper__btn:hover, 
.ot-number-stepper__btn:focus, 
.ot-number-stepper__btn:active {
    background-color:transparent;
    color: rgba(180, 151, 89, 1);
}
.ot-number-stepper__btn:disabled {
    cursor: not-allowed;
}
.ot-number-stepper__btn--minus{
    opacity: 0.35;
}
.ot-number-stepper input[name="number-people"] {
    flex: 1 1 auto;
    min-width: 2rem;
    max-width: 42px;
    text-align: center;
    border: none !important;
    padding: 0;
}
.booking-form h3{
    margin-bottom: 10px;
    margin-top: 15px;
    font-size: clamp(1.125rem, 0.7119rem + 2.4032vw, 2.25rem);
}
.booking-form h4 {
    margin-top: 25px;
    margin-bottom: 15px;
    font-weight: 400;
}
.wpcf7 .booking-form input.wpcf7-form-control, .wpcf7 .booking-form textarea.wpcf7-form-control, .booking-form select.wpcf7-form-control.wpcf7-select {
    border-color: #00345a3b;
}
.wpcf7 .booking-form textarea.wpcf7-form-control{
    height:75px;
}
.booking-form .form-page:first-child .ot-field:nth-child(3) label {
    flex-grow: 0;
    display: inline-block;
}


.booking-pages-wrap {
    position: relative;
    min-height: 12em;
}
.booking-pages-wrap .form-page {
    display: none;
    animation: ot-fadeIn 0.25s ease;
}
.booking-pages-wrap .form-page.active {
    display: block;
}
.booking-nav {
    display: flex;
    gap: 0.75rem;
    margin-top: clamp(1.875rem, 1.1177rem + 4.4059vw, 3.9375rem);
    justify-content: center;
}
.booking-nav .button {
    cursor: pointer;
    text-decoration: none;
}
.booking-nav .button.hidden,
.ot-cta.hidden {
    visibility: hidden;
    pointer-events: none;
    display: none;
}
@keyframes ot-fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}


.wpcf7 input.wpcf7-form-control[name="travel-date-display"] {
    padding: 0;
    height: auto;
    border: none;
    pointer-events: none;
}
input[type="text"],input[type="number"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type=reset],input[type=tel],input[type=date],select {
    height: auto;
}

.wpcf7-form:has(.booking-form) label {
    position: relative;
    font-size: clamp(1rem, 0.7935rem + 1.2016vw, 1.5625rem);
    background-color: #fff;
}

.wpcf7-form:has(.booking-form) label .label-text {
    transition: all 200ms cubic-bezier(0, 0.6, 0.22, 1.01);
}
.wpcf7-form:has(.booking-form) label.has-value .label-text {
    width: initial;
    height: initial;
    z-index: 1;
    clip-path: initial;
    font-weight: 300;
    font-size: 0.7rem;
    margin-top: -20px;
    left: 12px;
    padding: 0 5px;
    background-color: #fff;
}
.wpcf7-form:has(.booking-form) input:not([type="checkbox"]),
.wpcf7-form:has(.booking-form) select {
    font-size: clamp(1rem, 0.7935rem + 1.2016vw, 1.5625rem);
}
.wpcf7-form:has(.booking-form) textarea{
    font-size:16px;
}


.ot-field.ot-field-row{
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    gap: 40px;
    align-items: center;
}
/* h3 keeps fixed column; label flexes — avoids h3 shrinking when label text is long */
.ot-field.ot-field-row h3 {
    margin: 0;
    white-space: normal;
    font-weight: 400;
}
.ot-field.ot-field-row label {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: 547px;
    white-space: normal;
    overflow-wrap: anywhere;
}


.wpcf7-form:has(.booking-form) .traveller-tab-wrapper {
    background-color: #fff;
    padding: 32px clamp(1.25rem, 0.7681rem + 2.8037vw, 2.5625rem) 32px;
    border-radius: 20px;
}
.traveller-tab-wrapper .ot-field.ot-field-row:first-child {
    padding-top: 0;
    padding-bottom: 32px;    
}
.traveller-tab-wrapper .ot-field.ot-field-row label:has(span.info-number-people) {
    max-width: 145px;
}
.traveller-tab-wrapper h4 {
    margin-top: 0;
    margin-bottom: 32px;
}
.traveller-tab-wrapper .ot-field + .ot-field {
    border-top: 0;
}
.traveller-panel{
    border-top: 1px rgba(0, 52, 90, 0.2) solid;
    padding-top:34px;
    --field-gap-y: clamp(1.25rem, 0.6534rem + 3.4713vw, 2.875rem);
    --field-gap-x: clamp(1.25rem, 0.2633rem + 5.741vw, 3.9375rem);
}
.traveller-panel h4 {
    font-size: clamp(1.25rem, 0.8828rem + 2.1362vw, 2.25rem);
    font-weight: 300;
}
form.wpcf7-form .traveller-panel .ot-field-group {
    gap: 20px;
}
.wpcf7-form:has(.booking-form) .traveller-panel input, 
.wpcf7-form:has(.booking-form) .traveller-panel textarea, 
.wpcf7-form:has(.booking-form) .traveller-panel select{
    font-size:16px;
}
.ot-section .wpcf7-form .form-page .traveller-panel .ot-field {
    padding: 0;
}
.traveller-panel .ot-field-group {
    display: flex;
    flex-direction: column;
    row-gap: var(--field-gap-x);
}
form .traveller-panel:last-child .ot-field-group {
    margin-bottom: 0;
}


.booking-form .verify-information h3 {
    margin-top: 15px;
}
.verify-information-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 20px;
    background-color: #fff;
    margin-bottom:17px;
    overflow: hidden;
}
.verify-information-wrapper {
    padding: clamp(1.25rem, 0.6274rem + 3.6226vw, 4.25rem) clamp(1.25rem, -0.2028rem + 8.4528vw, 8.25rem);
    padding-right: clamp(1.25rem, 0.8608rem + 2.2642vw, 3.125rem);
}
.verify-information-container ~ h3 {
    margin-top: 32px;
    margin-bottom: 0;
}
.booking-form .verify-information-item {
    display: grid;
    font-size: 18px;
    column-gap: 10px;
    grid-template-columns: min-content 1fr;
}
.booking-form .verify-information-item > span:first-child:after {
    content: ":";
}
.verify-information-item > span:first-child {
    white-space: nowrap;
}
.booking-form .verify-information-item-label {
    font-weight: 300;
}
.verify-traveller-info-content > h3{
    font-size:18px;
    font-weight: 700;
}
.verify-information-item > span:first-child:before, .verify-traveller-info-content > h3:before {
    content: "•";
    padding-right: 10px;
}
.verify-traveller-info, .verify-traveller-info .verify-information-item {
    padding-left: 25px;
}
.wpcf7-form:has(.booking-form) .wpcf7-acceptance label span.wpcf7-list-item-label {
    margin: 15px 0;
    font-size:16px;
}
.wpcf7-form:has(.booking-form) .wpcf7-acceptance label {
    background-color: transparent;
}
.wpcf7 .booking-form input.btnSubmit {
    display: none;
    font-size:16px;
}
.ot-section div.booking-nav .button.button-primary, 
.ot-section div.booking-nav .button.button-secondary,
.ot-section div.booking-nav .button.button-primary:hover, 
.ot-section div.booking-nav .button.button-secondary:hover {
    background-color: var(--button-background-color, var(--ast-global-color-0));
    border-color: var(--button-background-color, var(--ast-global-color-0));
}

.wpcf7 form.wpcf7-form:has(.booking-form) .wpcf7-response-output {
    max-width: 600px;
    margin: 0 auto;
}
.wpcf7.wpcf7-form:has(.booking-form) form .wpcf7-response-output {
    width: 100%;
}
.wpcf7 form.wpcf7-form:has(.booking-form).submitting .wpcf7-response-output,
.wpcf7 form.wpcf7-form:has(.booking-form).invalid .wpcf7-response-output,
.wpcf7 form.wpcf7-form:has(.booking-form).unaccepted .wpcf7-response-output,
.wpcf7 form.wpcf7-form:has(.booking-form).payment-required .wpcf7-response-output, 
.wpcf7 form.wpcf7-form:has(.booking-form).invalid .wpcf7-not-valid-tip {
    display: block;
}
.wpcf7-response-output:empty {
    display: none;
  }
.wpcf7 form.wpcf7-form:has(.booking-form).invalid .wpcf7-response-output{
    border-color: #f00;
}


.wpcf7 form.wpcf7-form:has(.booking-form) .wpcf7-spinner {
    display: none;
    position: absolute;
    top: -33px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
}
.wpcf7 form.wpcf7-form:has(.booking-form).submitting .wpcf7-spinner {
    display: block;
}


.wpcf7.wpcf7-form:has(.booking-form) form.submitting .wpcf7-not-valid-tip{
    display:none;
}

.amt-wrap {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 600;
}
.amt-wrap .amt-due {
    font-weight: 600;
}

.payment-processing #page, 
iframe[name="fwp.window"] {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    background-color: rgb(255 255 255 / 50%);
}




@media print, screen and (max-width: 639px) {
.verify-information-image img {
    max-height: 310px;
}
.booking-form .verify-information-item {
    display: flex;
    column-gap: 10px;
    line-height: 28px;
    flex-wrap: wrap;
}
.booking-form .verify-information-item + .verify-information-item {
    margin-top: 12px;
}
.booking-form .verify-information-item > span {
    flex-shrink: 1;
}
}
@media print, screen and (max-width: 767px) {
.verify-information-container {
    grid-template-columns: 1fr;
}
}
@media print, screen and (min-width: 480px) and (max-width: 767px) {
    form.wpcf7-form:has(.booking-form) .ot-field-group .ot-field:first-child,
    form.wpcf7-form:has(.booking-form) .ot-field-group .ot-field:nth-child(6) {
        grid-column: span 2;
    }
}
@media print, screen and (min-width: 480px) {
    form.wpcf7-form:has(.booking-form) .ot-field-group {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    form.wpcf7-form:has(.booking-form) .ot-field-group .ot-field {
        width: 100%;
    }
}
@media print, screen and (min-width: 640px) {
.verify-information-image img {
    height: 100%;
    object-fit: cover;
}
}
@media print, screen and (min-width: 768px) {   
    .booking-form .form-heading {
        margin-top: 50px;
        margin-bottom: 32px;
    }
    form.wpcf7-form:has(.booking-form) .ot-field-group {
        grid-template-columns: 1fr 1fr 1fr;
    }
    /*
    form.wpcf7-form:has(.booking-form) .traveller-panel:not(:first-child) .ot-field-group .ot-field:nth-child(6) {
        grid-column: 1;
    }
    */
    .ot-section .wpcf7-form .form-page:first-child .ot-field {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        gap: 40px;
        align-items: center;
        height: 125px;
    }

    /* h3 keeps fixed column; label flexes — avoids h3 shrinking when label text is long */
    .form-page:first-child .ot-field h3 {
        flex: 0 0 330px;
        width: 330px;
        max-width: 330px;
        flex-shrink: 0;
        margin: 0;
        white-space: normal;
    }
    .form-page:first-child .ot-field label {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        max-width: 547px;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
@media print, screen and (min-width: 1024px) {
    .ot-field.ot-field-row h3,
    .form-page:first-child .ot-field h3 {
        flex: 0 0 355px;
        width: 355px;
        max-width: 355px;
    }
    .ot-field.ot-field-row label,
    .form-page:first-child .ot-field label {
        flex: 1 1 auto;
        max-width: 600px;
        min-width: 0;
    }
}




section:has(.form-page-track) {
    overflow: hidden;
    background-color: rgba(246, 246, 246, 1);
}
.ot-section__container:has(#form-page-track) {
    padding-top: 0;
    padding-left:15px;
    padding-right:15px;
}
.form-page-track {
    width: 100%;
    counter-reset: step;
    position: relative;
    margin: 0;
}
.form-page-track:before {
    content: '';
    display: block;
    position: absolute;
    width: 300%;
    height: 100%;
    background-color: rgba(180, 151, 89, 1);
    left: -100%;
}
.form-page-track-inner{
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 34px 0px 28px;
    position: relative;
    width: 100%;
}
.form-page-track-inner:before {
    content: '';
    display: none;
    width: calc(100% - 210px);
    height: 4px;
    background-color: #fff;
    left: calc(50% + 20px);
    position: absolute;
    transform: translateX(-50%);
    top: 50px;
}
.form-page-track-item {
    display: flex;
    z-index: 3;
    position: relative;
    background-color: transparent;
    flex-direction: column;
    gap: 10px;
    font-size: 20px;
    font-family: 'hypatia-sans-pro';
    color: rgba(255, 255, 255, 0.4);
    text-align: center;
    white-space: nowrap;
    padding: 0 10px;
    width: 100%;
}
.form-page-track-item:before {
    background-color: #FFF;
    color: rgba(0, 52, 90, 0.4);
    content: counter(step);
    counter-increment: step;
    flex-shrink: 0;
    width: 37px;
    height: 37px;
    line-height: 100%;
    text-align: center;
    border-radius: 50%;
    font-weight: 600;
    margin-right: 0.5rem;
    display: inline-block;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    padding-top: 8px;
}
.form-page-track-item.active {
    font-weight: 600;
    color: rgba(0, 52, 90, 1);
    display: flex;
}
.form-page-track-item.active::before {
    background-color: #00345a;
    color: #fff;
}
.form-page-track-item:first-child {
    max-width: 74px;
    padding-left: 0;
}
.form-page-track-item:nth-child(2) {
    max-width: 146px;
}
.form-page-track-item:nth-child(3) {
    max-width: 156px;
}
.form-page-track-item:last-child {
    max-width: 133px;
    padding-right: 0;
}
/*
 * Step track: limit how many items show per breakpoint (4 steps).
 * Do NOT use display:none — it removes boxes so counter(step) on ::before skips those items.
 * "Collapsed" keeps display:flex + visibility:hidden + zero width so counter-increment still runs.
 */
@media (max-width: 479px) {
    .form-page-track-inner {
        justify-content: center;
    }
    .form-page-track-inner .form-page-track-item {
        display: flex;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        flex: 0 0 0;
        min-width: 0;
        width: 0;
        max-width: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        min-height: 0;
    }
    .form-page-track-inner .form-page-track-item.active {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
        padding: 0 10px;
        overflow: visible;
    }
}
@media (min-width: 480px) {
.form-page-track-inner:before {
    display:block;
}
.form-page-track-inner:before {
    display: block;
    width: 57%;
    left: 50%;
    transform: translateX(-50%);
}
}
/* 2 visible: steps 1–2 | 2–3 | 3–4 (last two when on payment) */
@media (min-width: 480px) and (max-width: 579px) {
    .form-page-track-inner .form-page-track-item {
        display: flex;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        flex: 0 0 0;
        min-width: 0;
        width: 0;
        max-width: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        min-height: 0;
    }
    .form-page-track-inner:has(.form-page-track-item:nth-child(1).active) .form-page-track-item:nth-child(1),
    .form-page-track-inner:has(.form-page-track-item:nth-child(1).active) .form-page-track-item:nth-child(2),
    .form-page-track-inner:has(.form-page-track-item:nth-child(2).active) .form-page-track-item:nth-child(2),
    .form-page-track-inner:has(.form-page-track-item:nth-child(2).active) .form-page-track-item:nth-child(3),
    .form-page-track-inner:has(.form-page-track-item:nth-child(3).active) .form-page-track-item:nth-child(3),
    .form-page-track-inner:has(.form-page-track-item:nth-child(3).active) .form-page-track-item:nth-child(4),
    .form-page-track-inner:has(.form-page-track-item:nth-child(4).active) .form-page-track-item:nth-child(3),
    .form-page-track-inner:has(.form-page-track-item:nth-child(4).active) .form-page-track-item:nth-child(4) {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        flex: 1 1 0;
        width: auto;
        max-width: none;
        min-width: 0;
        padding: 0 10px;
        overflow: visible;
    }
}

/* 3 visible: first steps show 1–3; last steps show only 2–4 */
@media (min-width: 580px) and (max-width: 639px) {
    .form-page-track-inner:before {
        width: 72%;
    }
    .form-page-track-inner .form-page-track-item {
        display: flex;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        flex: 0 0 0;
        min-width: 0;
        width: 0;
        max-width: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        min-height: 0;
    }
    .form-page-track-inner:has(.form-page-track-item:nth-child(1).active) .form-page-track-item:nth-child(-n+3),
    .form-page-track-inner:has(.form-page-track-item:nth-child(2).active) .form-page-track-item:nth-child(-n+3) {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        flex: 1 1 0;
        width: auto;
        max-width: none;
        min-width: 0;
        padding: 0 10px;
        overflow: visible;
    }
    .form-page-track-inner:has(.form-page-track-item:nth-child(3).active) .form-page-track-item:nth-child(2),
    .form-page-track-inner:has(.form-page-track-item:nth-child(3).active) .form-page-track-item:nth-child(3),
    .form-page-track-inner:has(.form-page-track-item:nth-child(3).active) .form-page-track-item:nth-child(4),
    .form-page-track-inner:has(.form-page-track-item:nth-child(4).active) .form-page-track-item:nth-child(2),
    .form-page-track-inner:has(.form-page-track-item:nth-child(4).active) .form-page-track-item:nth-child(3),
    .form-page-track-inner:has(.form-page-track-item:nth-child(4).active) .form-page-track-item:nth-child(4) {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        flex: 1 1 0;
        width: auto;
        max-width: none;
        min-width: 0;
        padding: 0 10px;
        overflow: visible;
    }
}

@media (min-width: 640px) {
    .form-page-track-inner {
        display: flex;
    }
    .form-page-track-inner:before {
        width: 72%;
    }
    .form-page-track-item {
        display: flex;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        flex: 1 1 0;
        width: 100%;
        max-width: none;
        min-width: 0;
        padding: 0 10px;
        margin: 0;
        overflow: visible;
        min-height: 0;
    }
    .form-page-track-item:first-child {
        max-width: 140px;
    }
    .form-page-track-item:last-child {
        max-width: 74px;
    }

    .form-page-track-inner:before {
        width: 84%;
        left: 52%;
    }
}
@media (min-width: 768px) {
    .form-page-track-item {
        padding: 0 15px;
    }
}
@media (min-width: 1024px) {
    .form-page-track-inner:before {
        width: calc(100% - 180px);
        left: calc(50% + 20px);
    }
}