/*-----------------------------------------------------------------------------------

    Template Name: 
    Template URI: 
    Description: 
    Author: 
    Author:
    Version: 1.1

-----------------------------------------------------------------------------------

    CSS INDEX
    ===================

    1.COMMON CSS
    2.HEADER
    3.SLIDER
    4.DESCOUNT PRODUCT
    5.PRODUCT CARD
    6.SERVICES
    7.SHOWCASE
    8.TEAM
    9.TESTIMONIAL
    10.BLOG
    11.CONTACT
    12.FOOTER
    13.PAGE BANNER
    14.PRODUCT SINGLE PAGE

-----------------------------------------------------------------------------------*/


/*===========================
    1.COMMON css 
===========================*/

body {
    font-family: "Poppins", sans-serif;
    font-weight: normal;
    font-style: normal;
    color: #777; 
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

img {
    max-width: 100%;
    border-radius: 15px;
}

a:focus,
input:focus,
textarea:focus,
button:focus {
    text-decoration: none;
    outline: none;
}

a:focus,
a:hover {
    text-decoration: none;
}

i,
span,
a {
    display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    color: #333;
    margin: 0px;
}

h1 {
    font-size: 92px;
}

h2 {
    font-size: 35px;
}

h3 {
    font-size: 32px;
}

h4 {
    font-size: 24px;
}

h5 {
    font-size: 20px;
}

h6 {
    font-size: 16px;
}

ul, ol {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}

p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #777;
    margin: 0px;
}

.bg_cover {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

hr {
    border: 2px solid #FE7865;
}

.contact-box {
    padding: 20px;
    margin: 0px auto;
    float: inherit;
    overflow: hidden;
    position: inherit;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

/*===== All Button Style =====*/
.main-btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    border: 1px solid #fe7865;
    border-radius: 15px;
    padding: 0 35px;
    font-size: 16px;
    line-height: 48px;
    color: #fff;
    cursor: pointer;
    z-index: 5;
    -webkit-transition: all 0.4s ease-out 0s;
    -moz-transition: all 0.4s ease-out 0s;
    -ms-transition: all 0.4s ease-out 0s;
    -o-transition: all 0.4s ease-out 0s;
    transition: all 0.4s ease-out 0s;
    background-color: #fe7865;
}

    .main-btn.active {
        background-color: #870404;
        color: #fff;
        border-color: #870404;
        box-shadow: 0 0 5px rgba(254, 120, 101, 0.5);
        transform: translateY(-10px);
    }


.help-block {
    color: red;
}


@media (max-width: 767px) {
    .single-info .info-content p {
        font-size: 16px;
    }

}

@media (max-width: 767px) {
    .main-btn {
        font-size: 14px;
        padding: 0 25px;
        line-height: 43px;
    }
}

.main-btn i {
    font-size: 12px;
    margin-left: 5px;
}

.main-btn:hover {
    background-color: #fff;
    color: #fe7865;
    border-color: #fe7865;
}

.main-btn.main-btn-2 {
    background-color: #fff;
    color: #fe7865;
    border-color: #fe7865;
}

    .main-btn.main-btn-2:hover {
        background-color: #fe7865;
        border-color: #fe7865;
        color: #fff;
    }

/* Move from trainers_main.html but found no main-btn-2 in html,weird, let it be global value usage, lastly found main-btn-2 in home.html*/
.main-btn-2 {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    border: 1px solid #fe7865;
    padding: 0 35px;
    font-size: 16px;
    line-height: 48px;
    color: #fff;
    cursor: pointer;
    z-index: 5;
    -webkit-transition: all 0.4s ease-out 0s;
    -moz-transition: all 0.4s ease-out 0s;
    -ms-transition: all 0.4s ease-out 0s;
    -o-transition: all 0.4s ease-out 0s;
    transition: all 0.4s ease-out 0s;
    background-color: #fe7865;
    border-radius: 15px;
}

@media (min-width: 120px) {
    .main-btn-2 {
        font-size: 14px;
        padding: 0 10px;
        line-height: 43px;
        margin: 2px;
    }
}

@media (min-width: 320px) {
    .main-btn-2 {
        font-size: 14px;
        padding: 0 25px;
        line-height: 43px;
        margin: 2px;
    }
}

@media (min-width: 576px) {
    .main-btn-2 {
        font-size: 14px;
        padding: 0 25px;
        line-height: 43px;
        margin: 5px;
    }
}

@media (min-width: 768px) {
    .main-btn-2 {
        font-size: 14px;
        padding: 0 25px;
        line-height: 43px;
        margin: 5px;
    }
}

@media (min-width: 992px) {
    .main-btn-2 {
        font-size: 14px;
        padding: 0 25px;
        line-height: 43px;
        margin: 5px;
    }
}

@media (min-width: 1200px) {
    .main-btn-2 {
        font-size: 14px;
        padding: 0 25px;
        line-height: 43px;
        margin: 5px;
    }
}

.main-btn-2 i {
    font-size: 12px;
    margin-left: 5px;
}

.main-btn-2:hover {
    background-color: #fff;
    color: #fe7865;
    border-color: #fe7865;
}

.main-btn-2.main-btn-2-2 {
    background-color: #fff;
    color: #fe7865;
    border-color: #fe7865;
}

    .main-btn-2.main-btn-2-2:hover {
        background-color: #fe7865;
        border-color: #fe7865;
        color: #fff;
    }

/* For home.html and detail.html whatsapp icon */
.floating-icon {
    position: fixed;
    bottom: 70px; /* Adjust this value to move up/down */
    right: 20px; /* Adjust this value to move left/right */
    z-index: 1000; /* Ensures the icon stays above other elements */
}

    .floating-icon a {
        position: relative;
        display: inline-block;
        text-decoration: none;
    }

    .floating-icon img {
        width: 42px; /* Adjust the size of the icon */
        height: auto;
        cursor: pointer;
        transition: transform 0.2s ease-in-out;
    }

        .floating-icon img:hover {
            transform: scale(1.1); /* Slight zoom effect on hover */
        }

    .floating-icon a:hover .tooltip {
        opacity: 1;
        visibility: visible;
    }

.tooltip {
    position: absolute;
    bottom: 60px; /* Adjust to position above the icon */
    left: 50%;
    transform: translateX(-50%);
    background-color: #333; /* Tooltip background color */
    color: #fff; /* Tooltip text color */
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-in-out;
}
/* From detail.html */
.marker {
    background-color: yellow;
}

/*===== All Section Title Style =====*/
.section-title h5 {
    position: relative;
    font-size: 18px;
    color: #fe7865;
    font-weight: 500;
    padding-left: 110px;
}

    .section-title h5::before {
        position: absolute;
        content: '';
        top: 50%;
        left: 0;
        width: 100px;
        height: 1px;
        background-color: #fe7865;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
    }

.section-title .title {
    font-size: 32px;
}

@media (max-width: 767px) {
    .section-title .title {
        font-size: 26px;
    }
}

/*===== All Preloader Title Style =====*/
.preloader {
    /* Body Overlay */
    position: fixed;
    top: 0;
    left: 0;
    display: table;
    width: 100%;
    height: 100%;
    /* Change Background Color */
    background: #fdfdfd;
    z-index: 9999;
}

    .preloader .spin {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 40px;
        height: 40px;
    }

        .preloader .spin .cube1, .preloader .spin .cube2 {
            background-color: #fe7865;
            width: 15px;
            height: 15px;
            position: absolute;
            top: 0;
            left: 0;
            -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
            -moz-animation: sk-cubemove 1.8s infinite ease-in-out;
            -o-animation: sk-cubemove 1.8s infinite ease-in-out;
            animation: sk-cubemove 1.8s infinite ease-in-out;
        }

        .preloader .spin .cube2 {
            -webkit-animation-delay: -0.9s;
            -moz-animation-delay: -0.9s;
            -o-animation-delay: -0.9s;
            animation-delay: -0.9s;
        }

/* CSS Keyframe Animation */
@-webkit-keyframes sk-cubemove {
    25% {
        -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
        -moz-transform: translateX(42px) rotate(-90deg) scale(0.5);
        -ms-transform: translateX(42px) rotate(-90deg) scale(0.5);
        -o-transform: translateX(42px) rotate(-90deg) scale(0.5);
        transform: translateX(42px) rotate(-90deg) scale(0.5);
    }

    50% {
        -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -moz-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -ms-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -o-transform: translateX(42px) translateY(42px) rotate(-180deg);
        transform: translateX(42px) translateY(42px) rotate(-180deg);
    }

    75% {
        -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -moz-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -ms-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -o-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    }

    100% {
        -webkit-transform: rotate(-360deg);
        -moz-transform: rotate(-360deg);
        -ms-transform: rotate(-360deg);
        -o-transform: rotate(-360deg);
        transform: rotate(-360deg);
    }
}

@keyframes sk-cubemove {
    25% {
        -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
        -moz-transform: translateX(42px) rotate(-90deg) scale(0.5);
        -ms-transform: translateX(42px) rotate(-90deg) scale(0.5);
        -o-transform: translateX(42px) rotate(-90deg) scale(0.5);
        transform: translateX(42px) rotate(-90deg) scale(0.5);
    }

    50% {
        -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -moz-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -ms-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -o-transform: translateX(42px) translateY(42px) rotate(-180deg);
        transform: translateX(42px) translateY(42px) rotate(-180deg);
    }

    50.1% {
        -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -moz-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -ms-transform: translateX(42px) translateY(42px) rotate(-180deg);
        -o-transform: translateX(42px) translateY(42px) rotate(-180deg);
        transform: translateX(42px) translateY(42px) rotate(-180deg);
    }

    75% {
        -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -moz-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -ms-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -o-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    }

    100% {
        -webkit-transform: rotate(-360deg);
        -moz-transform: rotate(-360deg);
        -ms-transform: rotate(-360deg);
        -o-transform: rotate(-360deg);
        transform: rotate(-360deg);
    }
}


/*===========================
    Table listing  
===========================*/
#datatable {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

    #datatable td, #datatable th {
        border: 1px solid #ddd;
        padding: 8px;
    }

    #datatable tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    #datatable tr:hover {
        background-color: #ddd;
    }

    #datatable th {
        padding-top: 12px;
        padding-bottom: 12px;
        text-align: left;
        background-color: #D8ECF7;
        color: #808080;
    }


.blog-image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

/* Jeff Update */
/*===========================
     SERVICES css 
===========================*/
.services-area {
    background-color: #fffaf6;
}

@media (max-width: 767px) {
    .services-area {
        padding-top: 75px;
        padding-bottom: 80px;
    }
}

.services-left {
    position: relative;
}

    .services-left .services img {
        width: 100%;
    }

.single-services {
    border: 1px solid #ddd;
    padding: 25px 15px;
    background: #fff;
}

    .single-services .services-icon i {
        font-size: 50px;
        color: #fe7865;
    }

    .single-services .services-content .title {
        font-size: 20px;
        color: #fe7865;
    }

/*===========================
     MAT-INPUT css 
===========================*/

.mat-input {
    position: relative;
    font-size: 1rem; /* Base font size for scalability */
    padding: 0.5rem; /* Reduced padding for mobile */
    box-sizing: border-box; /* Prevent padding from causing overflow */
    margin-bottom: 0.3rem;
}

    .mat-input input,
    .mat-input textarea {
        border-width: 0 0 1px;
        outline: none;
        border-radius: 4px 4px 0 0;
        padding: 1.5rem 0.75rem 0.5rem; /* Adjusted for better mobile spacing */
        border-color: #8c8c8c;
        border-style: solid;
        font-size: 1rem; /* Consistent font size */
        transition: border-bottom-width 0.1s, padding-bottom 0.1s;
        width: 100%; /* Ensure full width */
        box-sizing: border-box;
    }

    .mat-input textarea {
        height: 55px; /* Smaller height for mobile */
        resize: vertical; /* Allow vertical resizing only */
        scrollbar-width: thin;
    }

        .mat-input input:hover,
        .mat-input textarea:hover,
        .mat-input input:focus,
        .mat-input textarea:focus {
            border-bottom-width: 2px;
            padding-bottom: calc(0.5rem - 1px); /* Adjust for border thickness */
        }

        .mat-input input:hover,
        .mat-input textarea:hover {
            border-color: #121212;
        }

        .mat-input input:focus,
        .mat-input textarea:focus {
            border-color: #2196f3;
        }

    .mat-input label {
        position: absolute;
        top: 1.2rem; /* Slightly lower for mobile */
        left: 1.3rem;
        pointer-events: none;
        transition: all 0.2s ease;
        color: #0009;
        font-size: 1rem;
    }

    .mat-input:has(input:focus) label,
    .mat-input:has(textarea:focus) label {
        color: #2196f3;
    }

    .mat-input:has(input:focus) label,
    .mat-input:not(:has(input:placeholder-shown)) label {
        top: 0.6em;
        font-size: 0.8em;
    }

    .mat-input input::placeholder,
    .mat-input textarea::placeholder {
        opacity: 0;
        transition: opacity 0.2s;
        color: #aaa;
    }

    .mat-input input:focus::placeholder,
    .mat-input textarea:focus::placeholder {
        opacity: 1;
    }

/* Modal Styles fot cart.html*/
.modal-body .mat-input label {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
    color: #333;
}

.mat-input input.form-control {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

    .mat-input input.form-control:focus {
        border-color: #FE7865;
        box-shadow: 0 0 5px rgba(254, 120, 101, 0.3);
        outline: none;
    }

/* Radio Button Styles */
.mat-input .form-check {
    margin-bottom: 1rem; /* Increased spacing between radio buttons */
    display: flex;
    align-items: center;
    min-height: 2rem; /* Ensure consistent height */
}

.mat-input .form-check-input {
    margin-top: 0; /* Align with label baseline */
    margin-right: 0.75rem; /* More space between input and label */
    width: 30px; /* Larger radio button for visibility */
    height: 20px;
    cursor: pointer;
}

.mat-input .form-check-label {
    font-size: 0.9rem;
    color: #333;
    cursor: pointer;
    line-height: 1.5; /* Ensure labels don�t overlap */
    margin: 0; /* Remove any default margins */
    width: auto;
    overflow: visible;
    display: inline-block; /* Prevent flexbox issues */
}

.mat-input .form-check-input:focus {
    box-shadow: 0 0 5px rgba(254, 120, 101, 0.3);
    outline: none;
}

.mat-input .form-check-input:checked {
    background-color: #FE7865; /* Match modal�s theme */
    border-color: #FE7865;
}

/* Prevent conflicts with other stylesheets */
.mat-input .d-flex.flex-column {
    width: 100%;
    padding: 0;
    padding-top: 20px;
}

/* Override potential conflicts from other stylesheets */
.mat-input .form-check,
.mat-input .form-check-input,
.mat-input .form-check-label {
    position: static !important; /* Prevent absolute positioning issues */
    transform: none !important; /* Prevent transform issues */
}

/* Fix black rectangle (override potential conflicts) */
.mat-input::before,
.mat-input::after {
    content: none !important;
}


/*===========================
    Custome CSS form LOCUS-T
=============================*/
#custom-LT h1.title {
    font-size: 40px;
}

#custom-LT h2.title {
    font-size: 25px;
}

#custom-LT h3.title {
    font-size: 20px;
}

#custom-LT p {
    padding-bottom: 25px;
}

/* Jeff End Update */

