.aj112Container{
    --primaryBGColor: #c03a5f;
    --secondaryBGColor:#d1d1d1;
    --whiteBGColor:#fafafa;
    color: #333;
}
.ajReceipt{
  color: #333;
}

input[type=date], input[type=email], input[type=number], input[type=text], select, textarea{
  border: 1px solid #C2C2C2 !important;
}
.ui-widget {
  font-family: 'Poppins';
  display: none;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
  border: 1px solid #fff;
  background: #fff;
  border-radius: 50px;
}
.ui-datepicker td span, .ui-datepicker td a {
  padding: 7px 9px;
  text-align: center;
}
.ui-widget-header{
  border: none;
  background: transparent;
}
.ui-datepicker table tbody>tr:nth-child(odd)>td, .ui-datepicker table tbody>tr:nth-child(odd)>th, .ui-datepicker table tbody tr:hover>td, .ui-datepicker table tbody tr:hover>th {
  background-color: transparent;
}
.ui-datepicker a.ui-state-default:hover, .ui-datepicker .ui-state-default.ui-state-active {
  background: #a85f5f;
  color: #fff;
}
.ajBookingFormWrap {
  font-family: 'Poppins';
}
.ajBookingItem {
    margin-bottom: 15px;
    position: relative;
    /*display: none;*/
}
.ajBookingItem.active .ajBookingItemContent {
  display: block;
}
.ajBookingItem.ajCompleted .ajBookingItemHeader {
    background: var(--primaryBGColor);
    color: #fff;
}
.ajBookingPrevStep svg{
  vertical-align: middle;
}
.ajBookingItem-OLD::before {
    content: attr(data-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: var(--primaryBGColor);
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ajBookingItem-OLD::after {
    content: "";
    position: absolute;
    left: 17px;
    top: 35px;
    width: 1px;
    height: calc(100% - 5px);
    background: #b0bec5;
}
.ajBookingItem:last-child::after,.ajHide {
  display: none;
}
.ajTimeSlotLabel.ajHide,.ajCourtTimeSlot.ajHide,.ajDiscountItem.ajHide {
    display: none !important;
}
.ajError input, .ajError select, .ajError textarea,.ajErrorInput {
  border: 1px solid #f91010 !important;
}
#ajOtpError,.ajErrorFormMsg{
  display: none;
  margin-bottom: 10px;
}
span#ajOtpcountdown {
    color: #c03a5f;
}
.ajErrorMsg,#ajOtpError,.ajErrorFormMsg {
  font-size: 15px;
  color: #f91010;
  font-style: italic;
  padding: 4px 4px;
  font-weight: 500;
}
.ajBookingItem .ajBookingItemHeader {
  padding: 12px 15px;
  cursor: pointer;
  background: var(--secondaryBGColor);
  font-weight: bold;
  border-radius: 12px 12px 0px 0px;
}
.ajBookingItem .ajBookingItemMainHead{
  padding: 5px 0px 12px 0px;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 20px;
}
.ajBookingItem .ajBookingItemContent {
  padding: 15px;
  background: var(--whiteBGColor);
  border-left: 3px solid var(--primaryBGColor);
  border-radius: 0px 0px 12px 12px;
  box-shadow: 5px 10px 10px 2px #023c5891;
  display: none;
}
.ajBookingItem.active .ajBookingItemHeader {
  background: var(--primaryBGColor);
  color: #fff;
}
.ajBookingItem.active .ajBookingItemContent{
  display: block;
}
.ajItemArrow{
      width: 24px;
    height: 24px;
    display: inline-flex;
    float: right;
    transition: transform 0.2s ease;
    position: relative;
    align-items: center;
}
.ajItemArrow::before {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2.5px solid #ffffff;
    border-bottom: 2.5px solid #ffffff;
    transform: rotate(-45deg);
    margin-left: -2px;
}
.ajBookingItem.active .ajItemArrow::before {
    transform: rotate(45deg);
    margin-left: 0;
    margin-top: -2px;
}
.ajMoonIcon::before {
  content: "";
  display: inline-block;
  -webkit-mask: url("../Images/Moon.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask: url("../Images/Moon.svg") no-repeat center;
  mask-size: contain;
  background-color: #565656;
  width: 20px;
  height: 20px;
}
.ajSunIcon::before {
  content: "";
  display: inline-block;
  -webkit-mask: url("../Images/Sun.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask: url("../Images/Sun.svg") no-repeat center;
  mask-size: contain;
  background-color: #ff9800;
  width: 20px;
  height: 20px;
}
i.ajIcon{
  margin: 6px 6px 0px 0px;
}
.ajFormGroup{
  margin-bottom: 18px;
}
.ajFormGroup input {
  max-width: 500px;
  display: block;
}
.ajFormGroup label {
  font-weight: 500;
  display: block;
  margin-bottom: 8px;
}
.ajBookingBtn {
  padding: 0.5rem 3rem;
  border: 2px solid #c03a5f;
  border-radius: 30px;
  font-weight: 500;
  letter-spacing: 2px;
}
.ajBookingBtn:hover {
  background: #c03a5f;
}
#ajOtpInputs {
  display: flex !important;
  flex-direction: row !important;
  margin: 5px 0px;
}
.ajOtpInput {
    height: 50px;
    width: 50px !important;
    border-radius: 9px !important;
    text-align: center !important;
    margin: .5rem !important;
}
div#ajOtpError {
    display: none;
}
.ajOtpResend {
    margin: 15px 0px;
}
a#ajResendOtpBtn {
    display: none;
}
a#ajResendOtpBtn, a#ajResendOtpBtn:hover {
    color: #c03a5f;
}
.ajBookingCalendar .ajActionHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.ajBookingCalendar .ajActionHeader .ajLeft,.ajBookingCalendar .ajActionHeader .ajRight {
  padding: 6px 14px;
  background: #fff;
  border: 2px solid #023c58;
  margin-left: 20px;
  margin-right: 20px;
  border-radius: 30px;
  cursor: pointer;
}
.ajBookingCalendar .ajActionHeader .ajLeft:hover,.ajBookingCalendar .ajActionHeader .ajRight:hover {
  background: #a85f5f;
}
.ajActionHeader .ajLeft:hover svg path, .ajActionHeader .ajRight:hover svg path {
  fill: #fff !important;
}
.ajActionHeader svg{
  vertical-align: middle;
  color: var(--primaryBGColor);
}
.ajDatepickerWrap{
  position: relative;
}
.ajDatepickerWrap .ajCalendarIcon {
  position: absolute;
  top: 8px;
  right: 5px;
  width: 25px;
  height: 25px;
  background: #fff;
  pointer-events: none;
}
#ajBookingSlotDate{
  cursor: pointer;
}
.ajBookingCalendar .ajSlotTime{
  text-align: center;
}
.ajBookingCalendar .ajSlotTime span {
  display: block;
  font-weight: 700;
}
.ajBookingCalendar .ajSlotTime img {
    min-width: 30px;
    margin-bottom: 8px;
}
.ajBookingTable{
  display: flex!important;
  width: 100%;
}
.ajBookingTable .ajTimeSlotList{
  display: flex;
  flex-direction: column;
  padding-block: 5px;
  text-transform: capitalize;
  min-width: 160px;
  width: 160px;
  border-radius: 9px 0 0 9px;
  color: #C03A5F;
  font-weight: 600;
  font-size: 17px;
}
.ajBookingTable .ajTimeSlotList .ajTimeSlotLabel {
  padding: 5px 10px;
  margin: 6px;
  margin-left: 0;
  min-height: 85px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9px;
  background-color: #f5f5f5ba;
  border: 1px solid #E8EDF6;
  white-space: nowrap;
}
.ajBookingTable .ajCourtsTimeSlotList {
  width: 100%;
  padding-inline: 5px;
  border-radius: 9px;
  display: flex;
  overflow-x: auto;
}
.ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-block: 5px;
  width: 130px;
  color: #000000;
  font-size: 16px;
}
.ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader{
  background-color: #c03a5f !important;
  color: #FFFFFF;
  font-weight: 600;
  font-size: 18px;
}
.ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader, .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot{
  padding: 5px 10px;
  min-width: 94%;
  height: 85px;
  align-items: center;
  border: 1px solid #E8EDF6;
  border-radius: 9px;
  margin: 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all .5s;
}
.ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot{
  background-color: #FFFFFF;
}
.ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot .ajPrice {
  font-size: 18px;
  font-weight: bold;
}
.ajCourtTimeSlot.ajAvailable {
  cursor: pointer;
}
.ajCourtTimeSlot.ajSelected, .ajCourtTimeSlot.ajSelected .ajPrice, .ajCourtTimeSlot.ajSelected .ajInfo {
  background-color: #02581f !important;
  color: #FFFFFF !important;
}
.ajCourtTimeSlot.ajNotReady {
  background-color: #f7f7f7 !important;
  color: #959494 !important;
  font-weight: 600;
}
/*
.ajCourtTimeSlot.ajAvailable:hover {
  background: green;
  background-color: #02581f !important;
  color: #FFFFFF !important;
} */
.ajCartSticky{
  position: fixed;
  bottom: 0;
  max-width: unset !important;
  background-color: #FFFFFF;
  width: 100%;
  height: 70px;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  left: 0;
  padding-inline: 60px;
  margin-inline: auto;
  box-shadow: 0 -4px 15px rgb(0 0 0 / 10%), 0 -2px 5px rgb(0 0 0 / 20%);
  z-index: 99;
}
.ajCartSlotInfo{
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: center;
  color: #000;
}
.ajCartSelectedSlots{
  padding-right: 30px;
  border-right: 2px solid #bcb8b8;
  display: flex;
  gap: 8px;
}
.ajTotalCharges span{
  font-weight:400;
}
.ajCartSlotsCharges{
  display: flex;
  gap: 8px;
}
.ajSlotQty,.ajTotalCharges{
  font-weight: bold;
}
.ajCartSlotProcessWrap{
  display: flex;
  gap: 7px;
  flex-direction: row;
}
.ajTotalCharges:before, .ajPrice:before {
  content: "₹";
}
.ajCartSticky{
  display: none;
}
.ajFlex{
  display: flex !important;
}
.ajFormGroup.ajTermsWrap.ajError, .ajFormGroup.ajTermsWrap.ajError a {
    color: red !important;
}
.ajSummaryInfo{
  padding: 15px 20px;
  margin: 6px;
  display: flex;
  border-radius: 9px;
  background-color: #f5f5f5ba;
  border: 1px solid #E8EDF6;
  flex-direction: column;
  gap: 12px;
}
.ajSummaryItem {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #dfdfdf;
  padding-bottom: 8px;
}
.ajSummaryItem:last-child {
  border-bottom: none;
}
.ajSummaryItemValue {
  color: #000;
  font-weight: 600;
}
.ajPayBtnWrap {
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.ajSummaryItemValues {
  display: flex;
  gap: 15px;
}
.ajSummaryItemValues .ajSummarySlot {
  padding: 3px 12px;
  border: 1px solid #181818;
  border-radius: 10px;
  background: #f9f9f9;
  box-shadow: 3px 3px 7px -1px #c03a5f;
}
.ajSummaryInneritemLabel {
  display: flex;
  justify-content: space-between;
}
.ajSummarySlotsItem{
  display: flex;
  flex-direction: column;
}
.ajSummaryInneritem{
  display: block;
}
.ajSummaryItemDate {
  grid-column-gap: 8px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  padding-top: 5px;
  padding-bottom: 10px;
  grid-row-gap: 4px;
}
.ajSummaryItemValueSloting {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  min-width: 550px;
}
.ajSummaryItemValueSloting div {
  border: 1px solid #c03a5fbf;
  padding: 3px 8px;
  border-radius: 5px;
  font-weight: 500;
}
.itemCourtName{text-align: right;    max-width: 100px;}
.ajFormGroup.ajTermsWrap input {
  display: inline-block;
}
.ajFormGroup.ajTermsWrap {
  display: block;
  padding: 10px 0px 0px 20px;
}
.ajFormGroup.ajTermsWrap a:hover {
  color: inherit;
}
.ajLoaderWrap{
  display: none;
}
.ajLoader{
    width: 70px;
    height: 40px;
    outline: 2px solid #fff;
    background:
      radial-gradient(farthest-side,red 90%,#0000) 0 0/8px 8px no-repeat,
      radial-gradient(farthest-side,#000 90%,#0000) 0 0/8px 8px no-repeat,
      linear-gradient(#fff 0 0) 50%/10px 100% no-repeat,
      conic-gradient(from  90deg at 10px 10px,#0000 90deg,#fff 0),
      conic-gradient(from -90deg at 60px 30px,#0000 90deg,#fff 0);
    animation: l9 2s infinite;
    z-index: 1000;
    position: fixed;
    top: 45%;
    left: 48%;
}
@keyframes l9 {
  0%    {background-position:50%  100%,0    0   ,50%}
  12.5% {background-position:0    100%,50%  0   ,50%}
  25%   {background-position:0    0   ,50%  100%,50%}
  37.5% {background-position:50%  0   ,100% 100%,50%}
  50%   {background-position:50%  100%,100% 0   ,50%}
  62.5% {background-position:100% 100%,50%  0   ,50%}
  75%   {background-position:100% 0   ,50%  100%,50%}
  82.5% {background-position:50%  0   ,0    100%,50%}
  100%  {background-position:50%  100%,0    0   ,50%}
}
.ajOverly {
  background: #c03a5f73;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: .80;
  z-index: 999;
}
.ajReceiptMsg{
  font-family: "Poppins", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  font-style: normal;
  text-decoration: none;
  line-height: 1.9em;
  letter-spacing: 0px;
  word-spacing: 0px;
  color: #333333;
  max-width: 700px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 18px;
}
.ajReceipt{
  padding: 30px;
  max-width: 700px;
  margin: auto;
  border: 1px solid #ddd;
  box-shadow: 0 2px 8px rgb(0 0 0 / 5%);
  font-family: 'Poppins';
  border-radius: 15px;
}
.ajReceiptHeader{
  display: flex;
  align-items: center;
  border-bottom: 2px solid #874545;
  padding-bottom: 10px;
  margin-bottom: 20px;
  flex-direction: column;
}
.ajReceiptHeaderCenter h1{
margin-bottom: 30px;
color: #c03a5f;
font-family: "Slackside One", Sans-serif;
font-size: 3em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: -0.02em;
margin-top: 0;
}
.ajReceiptHeaderItem {
  font-size: 14px;
}
.ajReceiptHeaderItem strong {
  margin-right: 5px;
}
.ajReceiptSection {
margin-bottom: 25px;
}
.ajReceiptSection h2 {
font-size: 16px;
  margin-bottom: 8px;
  color: #c03a5f;
  border-bottom: 1px solid #ddd;
  padding-bottom: 4px;
}
.ajReceiptHeaderMiddle {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.ajReceiptBookings {
  display: flex;
  flex-direction: column;
}
.ajReceiptInnerItemLabel {
  display: flex;
  justify-content: space-between;
}
.ajReceiptInnerItem {
display: block;
color: #000;
font-weight: 500;
font-size: 14px;
}
.ajReceiptItemDate {
  grid-column-gap: 8px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  padding-top: 5px;
  padding-bottom: 10px;
  grid-row-gap: 4px;
}
.ajReceiptItemValueSloting {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  min-width: 350px;
}
.ajReceiptItemSlotTime {
  border: 1px solid #dddddd;
  padding: 3px 5px;
  border-radius: 5px;
}
.ajReceipt table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
}
.ajReceipt table tr td {
padding: 4px 0px;
border: 1px solid transparent;
}
.ajReceipt table tr td:first-child {
width: 200px;
font-weight: bold;
color: #444;
}
.ajReceipt table tbody>tr:nth-child(odd)>td, .ajReceipt table tbody>tr:nth-child(odd)>th{
background-color: transparent !important;
}
.ajReceiptFooter {
font-size: 13px;
color: #666;
margin-top: 40px;
text-align: center;
}
@media only screen and (max-width: 768px) {
  .ajBookingBtn {
    padding: 0.3rem 2rem;
    font-size: 12px;
  }
  .ajBookingItem .ajBookingItemHeader {
    padding: 10px 12px;
  }
  .ajBookingItem .ajBookingItemMainHead{
    font-size: 15px;
    padding: 5px 0px 8px 0px;
  }
  .ajBookingTable .ajTimeSlotList .ajTimeSlotLabel{
    min-height: 40px;
    max-height: 40px;
    padding: 4px 5px;
  }
  .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader, 
  .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot{
    min-height: 40px;
    max-height: 40px;
  }
  .ajBookingTable .ajTimeSlotList,.ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn,
  .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot .ajPrice,
  .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader{
    font-size: 12px;
  }
  .ajCartSticky{
    height: 50px;
    padding-inline: 15px;
    gap: 8px;
    font-size: 12px;
  }
  .ajCartSlotInfo{
    gap: 20px;
  }
  .ajSummaryItem,.ajSummarySlotsItem{
    padding-bottom: 5px;
    font-size: 12px;
  }
  .ajSummaryItemValueSloting{
    min-width: 270px !important;
    gap: 8px;
  }
  .ajFormGroup label{
    font-size: 14px;
  }
  .ajTermsWrap.ajFormGroup label{
    font-size: 12px;
  }
  .ajBookingCalendar .ajActionHeader .ajLeft, .ajBookingCalendar .ajActionHeader .ajRight{
    padding: 2px 10px;
    margin-left: 2px;
    margin-right: 2px;
  }
  input[type=date], input[type=email], input[type=number], input[type=text], select, textarea {
    font-size: 14px;
  }
  .ajReceiptHeaderCenter h1{
    font-size: 2em;
    margin-bottom: 20px;
  }
  .ajReceiptHeaderItem,.ajReceipt table {
    font-size: 12px;
  }
  .ajReceipt {
    padding: 15px;
  }
  .ajReceiptSection h2 {
    font-size: 14px;
    margin-bottom: 5px;
  }
  .ajReceipt table tr td {
    padding: 1px 0px;
  }
  .ajReceiptSection {
    margin-bottom: 10px;
  }
  .ajReceiptItemHeading {
    font-size: 14px;
  }
  .ajReceiptInnerItem{
    font-size: 12px;
  }
}
@media only screen and (max-width: 415px) {
  .ajReceiptMsg{
    font-size: 12px;
    line-height: 1.2em;
    margin-bottom: 12px;
  }
  .ajReceiptHeaderItem strong {
    margin-right: 2px;
  }
  .ajReceiptItemHeading {
      font-size: 11px;
  }
  .ajReceiptInnerItem {
      font-size: 10px;
  }
  .ajReceiptItemDate {
    grid-column-gap: 5px;
    padding-top: 2px;
    padding-bottom: 4px;
    grid-row-gap: 2px;
  }
  .ajReceiptItemValueSloting{
    display: flex;
    gap: 3px;
    justify-content: flex-end;
    min-width: 100px;
    flex-wrap: wrap;
  }
  .ajReceiptFooter {
    font-size: 10px;
    margin-top: 30px;
  }
  .ajReceipt {
    padding: 12px;
  }
  .ajReceiptSection h2 {
    font-size: 12px;
  }
  .ajReceiptHeaderItem, .ajReceipt table {
    font-size: 10px;
  }
  .ajBookingItem .ajBookingItemMainHead{
    margin-bottom: 10px;
  }
  #ajBookingSlotDate {
    max-width: 150px;
    font-size: 12px;
  }
  .ajBookingBtn {
      padding: 0.3rem 1.5rem;
      font-size: 11px;
  }
  .ajBookingTable .ajTimeSlotList{
    min-width: 70px;
    width:85px;
  }
  .ajSunIcon::before,.ajMoonIcon::before{
    width: 13px;
    height: 13px;
  }
  .ajBookingTable .ajTimeSlotList .ajTimeSlotLabel {
    min-height: 30px;
    max-height: 30px;
    padding: 3px 3px;
  }
  .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader, .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot{
    min-height: 30px;
    max-height: 30px;
  }
  .ajBookingTable .ajCourtsTimeSlotList{
    padding-inline: 0px;
  }
  .ajBookingTable .ajTimeSlotList, .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn, .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot .ajPrice, .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader{
    font-size: 8px;
  }
  .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtHeader, .ajBookingTable .ajCourtsTimeSlotList .ajCourtColumn .ajCourtTimeSlot{
    padding: 3px 5px;
  }
  .ajCartSticky {
    height: 40px;
    padding-inline: 8px;
    gap: 5px;
    font-size: 10px;
  }
  .ajCartSticky .ajBookingBtn{
    letter-spacing: 1px;
    padding: 0.2rem 0.8rem;
    font-size: 10px;
  }
  .ajCartSelectedSlots{
    padding-right: 10px;
    gap: 2px;
  }
  .ajCartSlotInfo {
    gap: 8px;
  }
  .ajPayBtnWrap {
    gap: 8px;
  }
  .ajSummaryItemValueSloting {
    min-width: 110px !important;
    gap: 5px;
  }
  .ajSummaryInfo{
    padding: 12px 10px;
    gap: 10px;
  }
  .ajSummaryItemValueSloting div{
    padding: 1px 5px;
  }
  .ajBookingItem .ajBookingItemContent{
    padding: 10px;
  }
}
@media only screen and (max-width: 370px) {

}