.slots-booking-wrap {
  position: relative;
  padding: 0 270px;
}
.slots-booking-wrap .page-center {
  max-width: 1180px;
  padding-left: 15px;
  padding-right: 15px;
}
.booking-floating-btn{
  will-change: min-height;
  position: absolute !important;
  top: 0;
  right: 0;
  height: auto !important;
}
.booking-floating-btn .hs-button{
  position: relative;
  transform: translate(0, 0);
  transform: translate3d(0, 0, 0);
  will-change: position, transform;
  width: 250px !important;
  left: unset !important;
  right: 15px;
  border: 2px solid #ff8300;
  opacity: 1!important;
}
.booking-floating-btn .hs-button:hover {
  background-color: #fff;
  color: #ff8300;
  border-color: #ff8300;
}


@media only screen and (max-width: 1200px) {
  .slots-booking-wrap {padding-left: 0;}
}
@media only screen and (max-width: 840px) {
  .slots-booking-wrap {padding-right: 0;}
  .booking-floating-btn {
    position: relative !important;
    text-align: center;
    margin-top: 30px;
  }
  .booking-floating-btn .hs-button {
    position: relative !important;
    top: 0 !important;
    right: 0 !important;
    width: auto !important;
    transform: none !important;
  }
}

<style>
        .slots-booking *,
        .slots-booking *::before,
        .slots-booking *::after {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        /* body {
            --color: rgba(30, 30, 30);
            --bgColor: rgba(245, 245, 245);
            min-height: 100vh;
            display: grid;
            align-content: center;
            gap: 2rem;
            padding: 2rem;
            font-family: "Poppins", sans-serif;
            color: var(--color);
            background: var(--bgColor);
        } */

        /* .slots-booking .booked-slots {
            color: #6E7275;
        } */

        .slots-booking ul li .title.available-slots {
            width: fit-content;
            margin: 10px;
            padding: 5px 15px;
            background: #198754;
            color: #fff;
            border-radius: 100px;
        }

        .slots-booking h2 {
            text-align: center;
            margin: 0 0 10px 0;
        }

        .slots-booking ul {
            --col-gap: 2rem;
            --row-gap: 12rem !important;
            --line-w: 0.25rem;
            display: grid;
            grid-template-columns: var(--line-w) 1fr;
            grid-auto-columns: max-content;
            column-gap: var(--col-gap);
            list-style: none;
            width: min(60rem, 90%);
            margin-inline: auto;
        }

        /* line */
        .slots-booking ul::before {
            content: "";
            grid-column: 1;
            grid-row: 1 / span 20;
            background: rgb(225, 225, 225);
            border-radius: calc(var(--line-w) / 2);
        }

        /* columns*/

        /* row gaps */
        .slots-booking ul li:not(:last-child) {
            margin-bottom: var(--row-gap);
        }

        /* card */
        .slots-booking ul li {
            grid-column: 2;
            --inlineP: 1.5rem;
            margin-inline: var(--inlineP);
            grid-row: span 2;
            display: grid;
            grid-template-rows: min-content min-content min-content;
        }

        /* month */
        .slots-booking ul li.slots-booked .month {
            background: #E7F1FE !important;
            --monthH: 3rem;
            height: var(--monthH);
            margin-inline: calc(var(--inlineP) * -1);
            text-align: center;
            background-color: var(--accent-color);
            color: #000;
            font-size: 1.25rem;
            font-weight: 700;
            display: grid;
            place-content: center;
            position: relative;
            border-radius: calc(var(--monthH) / 2) 0 0 calc(var(--monthH) / 2);
        }

        /* month flap */
        .slots-booking ul li.slots-booked .month::before {
            content: "";
            width: var(--inlineP);
            aspect-ratio: 1;
            background: #E7F1FE !important;
            background-image: linear-gradient(rgba(0, 0, 0, 0.2) 100%, transparent);
            position: absolute;
            top: 100%;

            clip-path: polygon(0 0, 100% 0, 0 100%);
            right: 0;
        }

        /* circle */
        .slots-booking ul li.slots-booked .month::after {
            content: "";
            position: absolute;
            width: 2rem;
            aspect-ratio: 1;
            background: var(--bgColor);
            border: 0.3rem solid #E7F1FE !important;
            border-radius: 50%;
            top: 50%;
            transform: translate(50%, -50%);
            right: calc(100% + var(--col-gap) + var(--line-w) / 2);
        }

        /* month */
        .slots-booking ul li.slots-available .month {
            background: #8CAEF5 !important;
            --monthH: 3rem;
            height: var(--monthH);
            margin-inline: calc(var(--inlineP) * -1);
            text-align: center;
            background-color: var(--accent-color);
            color: #000;
            font-size: 1.25rem;
            font-weight: 700;
            display: grid;
            place-content: center;
            position: relative;
            border-radius: calc(var(--monthH) / 2) 0 0 calc(var(--monthH) / 2);
        }

        /* month flap */
        .slots-booking ul li.slots-available .month::before {
            content: "";
            width: var(--inlineP);
            aspect-ratio: 1;
            background: #8CAEF5 !important;
            background-image: linear-gradient(rgba(0, 0, 0, 0.2) 100%, transparent);
            position: absolute;
            top: 100%;

            clip-path: polygon(0 0, 100% 0, 0 100%);
            right: 0;
        }

        /* circle */
        .slots-booking ul li.slots-available .month::after {
            content: "";
            position: absolute;
            width: 2rem;
            aspect-ratio: 1;
            background: var(--bgColor);
            border: 0.3rem solid #8CAEF5 !important;
            border-radius: 50%;
            top: 50%;
            transform: translate(50%, -50%);
            right: calc(100% + var(--col-gap) + var(--line-w) / 2);
        }

        /* title descr */
        .slots-booking ul li .title {
            background: var(--bgColor);
            position: relative;
            padding-inline: 1.5rem;
        }

        .slots-booking ul li .title {
            overflow: hidden;
            padding-block-start: 1.5rem;
            padding-block-end: 1rem;
            font-weight: 700;
            font-size: 16px;
        }

        .slots-booking ul li .title.booked-slots {
            width: fit-content;
            margin: 10px;
            padding: 5px 15px;
            background: #ff911d;
            color: #fff;
            border-radius: 100px;
        }

        .slots-booking ul li .booked-slots-client-name h6 {
            font-size: 20px;
        }
        .slots-booking ul li .booked-slots-client-name h6 span div{
            margin: 5px 0 15px;
        }
        

        @media (min-width: 40rem) {
            .slots-booking ul {
                grid-template-columns: 1fr var(--line-w) 1fr;
            }

            .slots-booking ul::before {
                grid-column: 2;
            }

            .slots-booking ul li:nth-child(odd) {
                grid-column: 1;
            }

            .slots-booking ul li:nth-child(even) {
                grid-column: 3;
            }

            /* start second card */
            .slots-booking ul li:nth-child(2) {
                grid-row: 2/4;
            }

            .slots-booking ul li:nth-child(odd) .month::before {
                clip-path: polygon(0 0, 100% 0, 100% 100%);
                left: 0;
            }

            .slots-booking ul li:nth-child(odd) .month::after {
                transform: translate(-50%, -50%);
                left: calc(100% + var(--col-gap) + var(--line-w) / 2);
            }

            .slots-booking ul li:nth-child(odd) .month {
                border-radius: 0 calc(var(--monthH) / 2) calc(var(--monthH) / 2) 0;
            }
        }

        @media (max-width: 40rem) {
            .slots-booking ul {
                --row-gap: 2rem !important;
            }
            .slots-booking ul li .title {
                padding-inline: 0rem !important;
            }
        }
    </style>