:root {
    --main--color: linear-gradient(0deg, #b00505 0%, #df0000 100%);
    --disabled-main-color: linear-gradient(0deg, #ba4747 0%, #ff4a4a 100%);
    --primary--color: #fff;
    --secondary--color: #ee0d0d;
}

@font-face {
    font-family: "Poppins";
    src: url("assets/fonts/Poppins/Poppins-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Poppins-thin";
    src: url("/assets/fonts/Poppins/Poppins-Thin.ttf");
}

@font-face {
    font-family: "Poppins-light";
    src: url("/assets/fonts/Poppins/Poppins-Light.ttf");
}

@font-face {
    font-family: "Poppins-medium";
    src: url("/assets/fonts/Poppins/Poppins-Medium.ttf");
}

@font-face {
    font-family: "Poppins-semibold";
    src: url("assets/fonts/Poppins/Poppins-SemiBold.ttf") format("truetype");
}

@font-face {
    font-family: "Poppins-bold";
    src: url("/assets/fonts/Poppins/Poppins-Bold.ttf");
}

.fp {
    font-family: Poppins !important;
}

.fp-thin {
    font-family: Poppins-thin !important;
}

.fp-light {
    font-family: Poppins-light !important;
}

.fp-medium {
    font-family: Poppins-medium !important;
}

.fp-semibold {
    font-family: Poppins-semibold !important;
}

.fp-bold {
    font-family: Poppins-bold !important;
}

.f-20 {
    font-size: 20px;
}

.f-18 {
    font-size: 18px;
}

.f-16 {
    font-size: 16px;
}

.f-14 {
    font-size: 14px;
}

.f-12 {
    font-size: 12px;
}
.f-10 {
    font-size: 10px;
}

.f-small {
    font-size: small;
}

.f-medium {
    font-size: medium;
}

.ts-max-line-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
   -webkit-line-clamp: 1; /* number of lines to show */
           line-clamp: 1; 
   -webkit-box-orient: vertical;
}

.icon-24 {
    width: 24px !important;
    height: 24px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-28 {
    width: 28px !important;
    height: 28px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-32 {
    width: 32px !important;
    height: 32px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-36 {
    width: 36px !important;
    height: 36px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-40 {
    width: 40px !important;
    height: 40px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-48 {
    width: 48px !important;
    height: 48px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ts-rounded-circle {
    border-radius: 50%;
}

.text-color-default {
    color: rgb(176, 5, 5) !important;
}

.bg-color-default {
    background-color: rgb(176, 5, 5);
}

.bg-accent {
    background-color: #fffbfb;
}

.bg-accent-dark {
    background-color: #fbe5e4;
}

.bg-placeholder {
    background-color: #d8dadb !important;
}

.border-color-default {
    border-color: rgb(176, 5, 5) !important;
}

.ts-btn {
    background-color: rgb(176, 5, 5);
    cursor: pointer;
    color: white;
    border: 0;
    font-family: Poppins-semibold;
    outline: none;
}

.ts-btn-white {
    background-color: white;
    cursor: pointer;
    color: rgb(176, 5, 5);
    border: 0;
    font-family: Poppins-semibold;
    outline: none;
}


.ts-btn:disabled {
    cursor: not-allowed;
    background-color: rgba(176, 5, 5, 0.5);
}

.ts-btn-white-outline {
    background-color: transparent;
    border: 0.0625rem solid #fff;
    padding: 12px 25px;
    cursor: pointer;
    color: white;
    font-family: Poppins;
    outline: none;
    transition: 0.25s ease;
    user-select: none;
    line-height: 1.5;
}

.ts-btn-white-outline:hover {
  color: #b00505;
  background-color: #fff;
}

.ts-btn-black {
    background-color: black;
    border: 0.0625rem solid black;
    padding: 12px 25px;
    cursor: pointer;
    color: white;
    font-family: Poppins;
    outline: none;
    transition: 0.25s ease;
    user-select: none;
    line-height: 1.5;
}

.ts-btn-black:hover {
    border: 0.0625rem solid rgba(0, 0, 0, 0.9);
    background-color: rgba(0, 0, 0, .9);
}

.ts-btn-black:disabled {
    cursor: not-allowed;
    background-color: rgba(0, 0, 0, 0.5);
    border: 0.0625rem solid rgba(0, 0, 0, 0.5);
    -webkit-background-clip: padding-box; /* for Safari */
    background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */
}

.ts-btn-accent {
    background-color: #fbe5e4;
    cursor: pointer;
    color: #b00505;
    border: 0;
    font-family: Poppins-semibold;
    outline: none;
}

.ts-btn-accent:disabled {
    cursor: not-allowed;
    color: #b0050550;
    background-color: #fbf4f4;
}

.ts-form-label {
    font-size: 14px;
    margin: 0 !important;
    color: #727272;
}

.ts-border-gray {
    border-color: #70707080 !important;
}

.ts-btn-outline-light {
    background-color: transparent !important;
    cursor: pointer !important;
    color: rgb(176, 5, 5) !important;
    border: 1px solid rgb(176, 5, 5) !important;
    font-family: Poppins-medium;
    outline: none;
}

.ts-link:hover {
    color: #b00505 !important;
}

.ts-btn-primary {
    background-color: rgb(176, 5, 5);
    padding: 12px 25px;
    cursor: pointer;
    color: white;
    border: 0.0625rem solid #b00505;
    font-family: Poppins;
    outline: none;
    transition: 0.25s ease;
    user-select: none;
    line-height: 1.5;
}

.ts-btn-primary:hover, .ts-btn-primary:focus {
    background-color: rgb(156, 5, 5);
}

.ts-btn-primary:disabled {

    -webkit-background-clip: padding-box; /* for Safari */
    background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */
    border-color: rgba(176, 5, 5, 0.5);
    cursor: not-allowed;
    background-color: rgba(176, 5, 5, 0.5);
}


/*----------- TopServe New Design Css for Forms and Inputs Starts ------------*/

.ts-input-div {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    outline: none;
}

.ts-input-start-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    min-height: 40px;
    padding: 8px;
}

.ts-input {
    width: 100%;
    min-height: 36px;
    padding-right: 8px;
    background-color: transparent !important;
    border: 0;
    outline: none;
    color: #1d1d1d;
    font-family: Poppins-medium;
    font-size: medium;
}

.ts-input::placeholder{
    color: #1d1d1d95 !important;
}

.ts-input-placeholder {
    color: #1d1d1d95 !important;
}

.input-form-border:focus {
    border-color: #b00505 !important;
    box-shadow: none !important;
}

.ts-input-group {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px;
    background-color: transparent;
    border: 1px solid #1d1d1d50;
    outline: none;
}

/*----------- TopServe New Design Css for Forms and Inputs Ends ------------*/

/*Google reservation page */


  


/* For Input AutoFill Text Background Color*/
input:-webkit-autofill,
input:-webkit-autofill:focus {
    transition: background-color 600000s 0s, color 600000s 0s;
}
input[data-autocompleted] {
    background-color: transparent !important;
}

.ts-form-input {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-right: 6px !important;
    color: black;
    font-size: medium;
    font-family: poppins !important;
    border: 1px solid #70707080;
    border-radius: 6px;
    width: 100% !important;
    background-color: transparent !important;
    outline: none !important;
}

.ts-form-input-disabled {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-right: 6px !important;
    color: black;
    font-size: medium;
    font-family: poppins !important;
    border: 1px solid #70707080;
    border-radius: 6px;
    width: 100% !important;
    background-color: #70707030 !important;
    outline: none !important;
    cursor: not-allowed;
}

.ts-form-input::placeholder{
    color: #707070 !important;
}

.ts-form-input:focus {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-right: 6px !important;
    color: black;
    font-size: medium;
    font-family: poppins !important;
    border: 1px solid rgba(176, 5, 5, 0.5);
    border-radius: 6px;
    width: 100% !important;
    background-color: transparent !important;
    outline: none !important;
}

.ts-form-input-icon {
    padding-left: 40px !important; 
}

.ts-form-icon {
    color: #727272CC;
    font-size: medium;
    margin: 12px;
}

.ts-form-div {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    padding-right: 0px !important;
    color: black;
    font-size: medium;
    font-family: poppins !important;
    border: 1px solid #70707080;
    border-radius: 6px;
    width: 100% !important;
    background-color: transparent !important;
    outline: none !important;
}

.ts-input-border {
    border: 1px solid #70707080;
    outline: none !important;
}

.ts-input-border:focus {
    border: 1px solid rgba(176, 5, 5, 0.5);
    outline: none !important;
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) { 
    .ts-container {
        width: 98% !important;
        margin: 0 auto !important;
    }

    .title-fonts {
        font-size: 2.2rem;
    }

    .sub-title-fonts {
        font-size: 1.8rem;
    }

    .ts-w-sm-100 {
        width: 100% !important;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) { 

    .ts-container {
        width: 95% !important;
        margin: 0 auto !important;
    }

    .title-fonts {
        font-size: 2.5rem;
    }

    .sub-title-fonts {
        font-size: 2.1rem;
    }

    .ts-w-sm-100 {
        width: 100% !important;
    }
    .ts-wi-sm-85 {
        width: 85% !important;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {

    .ts-container {
        width: 95% !important;
        margin: 0 auto !important;
    }

    .title-fonts {
        font-size: 2.8rem;
    }

    .sub-title-fonts {
        font-size: 2.4rem;
    }

    .ts-w-md-85 {
        width: 85%;
    }
 }

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {

    .ts-container {
        width: 90% !important;
        margin: 0 auto !important;
    }

    .title-fonts {
        font-size: 3rem;
    }

    .sub-title-fonts {
        font-size: 2.6rem;
    }

    .ts-w-md-85 {
        width: 85%;
    }
 }

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

    .ts-container {
        width: 90% !important;
        max-width: 2000px !important;
        margin: 0 auto !important;
    }

    .title-fonts {
        font-size: 3.1rem;
    }

    .sub-title-fonts {
        font-size: 2.8rem;
    }

    .ts-w-md-85 {
        width: 85%;
    }
 }

.ts-rounded {
    border-radius: 12px !important;
}

.ts-rounded-24 {
    border-radius: 24px !important;
}

.ts-rounded-top {
    border-top-left-radius: 11px !important;
    border-top-right-radius: 11px !important;
}

.input-icon {
    background: url("assets/img/Ico_Map.svg") no-repeat center;
    background-size: 20px;
    background-position-x: 15px;
    padding-left: 50px; 
    padding-right: 60px;
}

::ng-deep .pac-item {
    color: black;
    font-family: Poppins-medium;
    padding: 6px;
}

::ng-deep .pac-icon {
    background: url('assets/img/Ico_Map.svg') no-repeat center !important;
    background-size: 18px !important;
    margin-top: 4px;
    padding: 0 19px;
}

::ng-deep .pac-container {
    z-index: 1050 !important;
    border-radius: 12px !important;
    margin-top: 6px !important;
}

::ng-deep .gm-style .gm-style-iw {
    font-family: "Poppins";
}

/*-------- TopServe Style For Modals ---------*/

.ts-modal-title {
    white-space: nowrap;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
}

.ts-modal-close {
    min-width: 40px !important;
    min-height: 40px !important;
    background-color: transparent;
    border: 0;
    border-radius: 20px;
    padding: 7px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}

.ts-modal-close:hover {
    background-color: #e9ecef;
}

.ts-progress-modal-bg {
    background-color: #fffbfbeb;
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {

    .ts-modal-item-img {
        margin: 8px auto;
        width: auto;
        height:160px;
        object-fit: cover;
        border: 0;
        border-radius: 24px;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
    .ts-modal-item-img {
        margin: 8px auto;
        width: auto;
        height:160px;
        object-fit: cover;
        border: 0;
        border-radius: 24px;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
    .ts-modal-item-img {
        margin: 8px auto;
        width: auto;
        height:240px;
        object-fit: cover;
        border: 0;
        border-radius: 24px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .ts-modal-item-img {
        margin: 8px auto;
        width: auto;
        height:240px;
        object-fit: cover;
        border: 0;
        border-radius: 24px;
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .ts-modal-item-img {
        margin: 8px auto;
        width: auto;
        height:240px;
        object-fit: cover;
        border: 0;
        border-radius: 24px;
    }
}

/* TopServe Top Bar & Side Bar CSS Starts*/

.ts-topbar {
    padding: 12px 16px;
}

@media (max-width: 575.99px) {
    .ts-topbar {
        padding: 12px 6px;
    }
}

.ts-topbar-icon {
    min-width: 40px !important;
    width: 40px !important;
    height: 40px !important;
    background-color: transparent!important;
    border: 1px solid transparent;
    border-radius: 20px;
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    color: black!important;
}

.ts-topbar-icon:hover {
    background-color: #868e9630!important;
    border: 1px solid #868e9630!important;
}

.ts-topbar-profile {
    height: 40px !important;
    background-color: #868e9630!important;
    border: 1px solid transparent;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    color: black!important;
}

.ts-topbar-profile:hover {
    border: 1px solid #868e9630!important;
}

.ts-topbar-store {
    height: 40px !important;
    background-color: #fffbfb!important;
    border: 1px solid #b00505;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b00505!important;
    overflow: hidden;
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .ts-services-layout {
        display:grid;
        grid-template-areas: "sidebar main";
        grid-template-columns: 0fr 6fr;
        gap: 0;
    }

    .ts-services-layout .ts-sidebar {
        width: 22rem;
        grid-area: sidebar;
        position: sticky;
        position: -webkit-sticky;
        height: calc(100vh - 65px) /*65px total height of top-bar*/;
        overflow-y: auto;
    }

    .ts-services-layout .ts-main {
        grid-area: main;
        height: calc(100vh - 65px) /*65px total height of top-bar*/;
        overflow-y: auto;
    }
}

.ts-sidebar-nav {
    list-style-type: none !important;
    padding: 12px;
    margin: 0px;
}

.ts-sidebar-item {
    padding: 0px;
    margin: 2px;
    color: black;
    cursor: pointer;
}

.ts-sidebar-item > div {
    padding: 12px 16px;
}

.ts-sidebar-item:hover {
    background-color: #fbe5e4;
    border-radius: 12px;
}

.ts-sidebar-item-active {
    background-color: #fbe5e4;
    border-radius: 12px;
}

.ts-sidebar-item-black {
    padding: 0px;
    color: white;
    background-color: black;
    padding: 12px 16px;
    border-radius: 12px;
    cursor: pointer;
}

.ts-sidebar-sub-nav {
    list-style-type: none !important;
    padding: 12px;
    padding-top: 0px !important;
    margin: 0px;
}

.ts-sidebar-sub-item {
    padding: 0px;
    margin: 0px;
    color: black;
    cursor: pointer;
}

.ts-sidebar-sub-item > div {
    padding: 12px 16px;
}

.ts-sidebar-sub-item-active {
    background-color: #b00505;
    border-radius: 12px;
    color: white;
}

.toast-container {
    z-index: 1055 !important;
}

/* Custom QR Code Canvas Styling */
.qr-code canvas {
    border: 0.0625rem solid #b00505;
    border-radius: 12px;
    max-width: 100%;
    width: 100%;
}

.qr-code canvas {
    max-width: 250px;
}


