/*--***=====* Theme Variables CSS Start Here *=====***--*/
:root {
    /* Theme Color CSS */
    --primary: #E31837;
    --black: #000000;
    --white: #ffffff;
    --dark-gray: #333333;
    --medium-gray: #767676;
    --stone-gray: #707070;
    --gray-shade: #7C7C7C;
    --light-gray: #DBDBDB;
    --soft-grey: #C3C3C3;
    --light-silver: #C6C6C6;
    --cloud-gray: #DDDDDD;
    --gray-b2: #B2B2B2;
    /* Theme Font Family */
    --font-gotham: 'Gotham';

    /* Theme Font Size */
    --fs-62: 62px;
    --fs-52: 52px;
    --fs-34: 34px;
    --fs-32: 32px;
    --fs-26: clamp(18px, 4vw, 26px);
    --fs-24: 24px;
    --fs-20: 20px;
    --fs-18: 18px;
    --fs-17: 17px;
    --fs-16: 16px;
    --fs-15: 15px;
    --fs-14: 14px;
    --fs-13: 13px;

    /* Theme Spacing */
    --space-110: 110px;
    --space-100: 100px;
    --space-80: 80px;
    --space-75: 75px;
    --space-60: 60px;
    --space-50: 50px;
    --space-40: 40px;
    --space-32: 32px;
    --space-30: 30px;
    --space-20: 20px;
    --space-18: 18px;
    --space-15: 15px;
    --space-12: 12px;
}

/*--***=====* Theme Variables CSS End Here *=====***--*/
/*--***=====* Global CSS Start Here *=====***--*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-gotham);
    color: var(--black);
    font-size: var(--fs-17);
    line-height: 1.4;
    font-weight: 400;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
}

p a,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
li a {
    color: var(--primary);
    transition: all .5s ease-in-out;
}

p a:hover,
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
li a:hover {
    text-decoration: underline;
}

img,
video {
    max-width: 100%;
    height: auto;
}

input:not(input[type="submit"], input[type="reset"]),
textarea,
select,
button {
    outline: none;
    border-color: var(--light-gray);
    font-family: var(--font-gotham);
    font-weight: 400;
}

input[type="submit"],
input[type="reset"] {
    outline: none;
    font-family: var(--font-gotham);
    font-weight: 400;
}

/*--***=====* Global CSS End Here *=====***--*/

/*--***=====* Container CSS Start Here *=====***--*/
.container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

@media (min-width:576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width:768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width:992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width:1200px) {
    .container {
        max-width: 1140px;
    }
}

@media (min-width:1400px) {
    .container {
        max-width: 1320px;
    }
}

@media (min-width:1650px) {
    .container {
        max-width: 1630px;
    }
}

/*--***=====* Container CSS End Here *=====***--*/
/*--***=====* Theme Common Classes CSS Start Here *=====***--*/
/* Background color utility classes */
.bg-primary {
    background-color: var(--primary);
}

.bg-black {
    background-color: var(--black);
}

.bg-white {
    background-color: var(--white);
}

.bg-dark-gray {
    background-color: var(--dark-gray);
}

.bg-medium-gray {
    background-color: var(--medium-gray);
}

.bg-stone-gray {
    background-color: var(--stone-gray);
}

.bg-gray-shade {
    background-color: var(--gray-shade);
}

.bg-light-gray {
    background-color: var(--light-gray);
}

.bg-soft-grey {
    background-color: var(--soft-grey);
}

.bg-light-silver {
    background-color: var(--light-silver);
}

.bg-cloud-gray {
    background-color: var(--cloud-gray);
}

.bg-gray-b2 {
    background-color: var(--gray-b2);
}

/* Text color utility classes */
.text-primary {
    color: var(--primary);
}

.text-black {
    color: var(--black);
}

.text-white {
    color: var(--white);
}

.text-dark-gray {
    color: var(--dark-gray);
}

.text-medium-gray {
    color: var(--medium-gray);
}

.text-stone-gray {
    color: var(--stone-gray);
}

.text-gray-shade {
    color: var(--gray-shade);
}

.text-light-gray {
    color: var(--light-gray);
}

.text-soft-grey {
    color: var(--soft-grey);
}

.text-light-silver {
    color: var(--light-silver);
}

.text-cloud-gray {
    color: var(--cloud-gray);
}

.text-gray-b2 {
    color: var(--gray-b2);
}

/* Font Family Utility */
.font-gotham {
    font-family: var(--font-gotham), sans-serif;
}

/* Font Size Utility Classes */
.fs-62 {
    font-size: clamp(32px, 5vw, var(--fs-62));
}

.fs-52 {
    font-size: clamp(28px, 3.75vw, var(--fs-52));
}

.fs-34 {
    font-size: clamp(26px, 4vw, var(--fs-34));
}

.fs-32 {
    font-size: var(--fs-32);
}

.fs-26 {
    font-size: clamp(20px, 2.75vw, var(--fs-26));
}

.fs-24 {
    font-size: var(--fs-24);
}

.fs-20 {
    font-size: clamp(18px, 3vw, var(--fs-20));
}

.fs-18 {
    font-size: clamp(16px, 1.75vw, var(--fs-18));
}

.fs-17 {
    font-size: var(--fs-17);
}

.fs-16 {
    font-size: var(--fs-16);
}

.fs-15 {
    font-size: var(--fs-15);
}

.fs-14 {
    font-size: var(--fs-14);
}

.fs-13 {
    font-size: var(--fs-13);
}

/* Margin Utility Classes */
.m-auto {
    margin: 0 auto;
}

.mx-auto {
    margin-inline: auto;
}

.ml-auto {
    margin-left: auto;
}

.mr-auto {
    margin-right: auto;
}

.mt-auto {
    margin-top: auto;
}

/* Margin Y */
.my-110 {
    margin-top: clamp(60px, 6vw, var(--space-110));
    margin-bottom: clamp(60px, 6vw, var(--space-110));
}

.my-100 {
    margin-top: clamp(50px, 6vw, var(--space-100));
    margin-bottom: clamp(50px, 6vw, var(--space-100));
}

.my-80 {
    margin-top: clamp(45px, 6vw, var(--space-80));
    margin-bottom: clamp(45px, 6vw, var(--space-80));
}

.my-75 {
    margin-top: clamp(40px, 6vw, var(--space-75));
    margin-bottom: clamp(40px, 6vw, var(--space-75));
}

.my-60 {
    margin-top: clamp(40px, 4.5vw, var(--space-60));
    margin-bottom: clamp(40px, 4.5vw, var(--space-60));
}

.my-50 {
    margin-top: clamp(30px, 5vw, var(--space-50));
    margin-bottom: clamp(30px, 5vw, var(--space-50));
}

.my-40 {
    margin-top: clamp(20px, 5vw, var(--space-40));
    margin-bottom: clamp(20px, 5vw, var(--space-40));
}

.my-32 {
    margin-top: var(--space-32);
    margin-bottom: var(--space-32);
}

.my-30 {
    margin-top: var(--space-30);
    margin-bottom: var(--space-30);
}

.my-20 {
    margin-top: var(--space-20);
    margin-bottom: var(--space-20);
}

.my-18 {
    margin-top: var(--space-18);
    margin-bottom: var(--space-18);
}

.my-15 {
    margin-top: var(--space-15);
    margin-bottom: var(--space-15);
}

.my-12 {
    margin-top: var(--space-12);
    margin-bottom: var(--space-12);
}

/* Margin Top */
.mt-110 {
    margin-top: clamp(60px, 6vw, var(--space-110));
}

.mt-100 {
    margin-top: clamp(50px, 6vw, var(--space-100));
}

.mt-80 {
    margin-top: clamp(45px, 6vw, var(--space-80));
}

.mt-75 {
    margin-top: clamp(40px, 6vw, var(--space-75));
}

.mt-60 {
    margin-top: clamp(30px, 4.5vw, var(--space-60));
}

.mt-50 {
    margin-top: clamp(30px, 5vw, var(--space-50));
}

.mt-40 {
    margin-top: clamp(20px, 5vw, var(--space-40));
}

.mt-32 {
    margin-top: clamp(20px, 2.5vw, var(--space-32));
}

.mt-30 {
    margin-top: var(--space-30);
}

.mt-20 {
    margin-top: var(--space-20);
}

.mt-18 {
    margin-top: var(--space-18);
}

.mt-15 {
    margin-top: var(--space-15);
}

.mt-12 {
    margin-top: var(--space-12);
}

/* Margin Bottom */
.mb-110 {
    margin-bottom: clamp(60px, 6vw, var(--space-110));
}

.mb-100 {
    margin-bottom: clamp(50px, 6vw, var(--space-100));
}

.mb-80 {
    margin-bottom: clamp(45px, 6vw, var(--space-80));
}

.mb-75 {
    margin-bottom: clamp(40px, 6vw, var(--space-75));
}

.mb-60 {
    margin-bottom: clamp(30px, 4.5vw, var(--space-60));
}

.mb-50 {
    margin-bottom: clamp(30px, 5vw, var(--space-50));
}

.mb-40 {
    margin-bottom: clamp(20px, 5vw, var(--space-40));
}

.mb-32 {
    margin-bottom: clamp(20px, 2.5vw, var(--space-32));
}

.mb-30 {
    margin-bottom: var(--space-30);
}

.mb-20 {
    margin-bottom: var(--space-20);
}

.mb-18 {
    margin-bottom: var(--space-18);
}

.mb-15 {
    margin-bottom: var(--space-15);
}

.mb-12 {
    margin-bottom: var(--space-12);
}

/* === PADDING === */

/* Padding All Sides */
.p-60 {
    padding: clamp(40px, 4.5vw, var(--space-60));
}

.p-50 {
    padding: clamp(30px, 5vw, var(--space-50));
}

.p-40 {
    padding: clamp(20px, 5vw, var(--space-40));
}

.p-32 {
    padding: clamp(20px, 2.5vw, var(--space-32));
}

.p-30 {
    padding: var(--space-30);
}

.p-20 {
    padding: var(--space-20);
}

.p-18 {
    padding: var(--space-18);
}

.p-15 {
    padding: var(--space-15);
}

/* Padding Y (Top + Bottom) */
.py-100 {
    padding-top: var(--space-100);
    padding-bottom: var(--space-100);
}

.py-80 {
    padding-top: clamp(45px, 6vw, var(--space-80));
    padding-bottom: clamp(45px, 6vw, var(--space-80));
}

.py-75 {
    padding-top: clamp(40px, 6vw, var(--space-75));
    padding-bottom: clamp(40px, 6vw, var(--space-75));
}

.py-60 {
    padding-top: clamp(40px, 4.5vw, var(--space-60));
    padding-bottom: clamp(40px, 4.5vw, var(--space-60));
}

.py-50 {
    padding-top: clamp(30px, 5vw, var(--space-50));
    padding-bottom: clamp(30px, 5vw, var(--space-50));
}

.py-40 {
    padding-top: clamp(20px, 5vw, var(--space-40));
    padding-bottom: clamp(20px, 5vw, var(--space-40));
}

.py-32 {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
}

.py-30 {
    padding-top: var(--space-30);
    padding-bottom: var(--space-30);
}

.py-20 {
    padding-top: var(--space-20);
    padding-bottom: var(--space-20);
}

.py-18 {
    padding-top: var(--space-18);
    padding-bottom: var(--space-18);
}

.py-15 {
    padding-top: var(--space-15);
    padding-bottom: var(--space-15);
}

/* Padding Top */
.pt-100 {
    padding-top: var(--space-100);
}

.pt-80 {
    padding-top: clamp(45px, 6vw, var(--space-80));
}

.pt-75 {
    padding-top: clamp(40px, 6vw, var(--space-75));
}

.pt-60 {
    padding-top: clamp(40px, 4.5vw, var(--space-60));
}

.pt-50 {
    padding-top: clamp(30px, 5vw, var(--space-50));
}

.pt-40 {
    padding-top: clamp(20px, 5vw, var(--space-40));
}

.pt-32 {
    padding-top: clamp(20px, 2.5vw, var(--space-32));
}

.pt-30 {
    padding-top: var(--space-30);
}

.pt-20 {
    padding-top: var(--space-20);
}

.pt-18 {
    padding-top: var(--space-18);
}

.pt-15 {
    padding-top: var(--space-15);
}

/* Padding Bottom */
.pb-100 {
    padding-bottom: var(--space-100);
}

.pb-80 {
    padding-bottom: clamp(45px, 6vw, var(--space-80));
}

.pb-75 {
    padding-bottom: clamp(40px, 6vw, var(--space-75));
}

.pb-60 {
    padding-bottom: clamp(40px, 4.5vw, var(--space-60));
}

.pb-50 {
    padding-bottom: clamp(30px, 5vw, var(--space-50));
}

.pb-40 {
    padding-bottom: clamp(20px, 5vw, var(--space-40));
}

.pb-32 {
    padding-bottom: clamp(20px, 2.5vw, var(--space-32));
}

.pb-30 {
    padding-bottom: var(--space-30);
}

.pb-20 {
    padding-bottom: var(--space-20);
}

.pb-18 {
    padding-bottom: var(--space-18);
}

.pb-15 {
    padding-bottom: var(--space-15);
}

/* Padding Left */
.pl-50 {
    padding-left: clamp(30px, 5vw, var(--space-50));
}

.pl-40 {
    padding-left: clamp(20px, 5vw, var(--space-40));
}

.pl-32 {
    padding-left: var(--space-32);
}

.pl-30 {
    padding-left: var(--space-30);
}

.pl-20 {
    padding-left: var(--space-20);
}

.pl-18 {
    padding-left: var(--space-18);
}

.pl-15 {
    padding-left: var(--space-15);
}

/* Padding Right */
.pr-50 {
    padding-right: clamp(30px, 5vw, var(--space-50));
}

.pr-40 {
    padding-right: clamp(20px, 5vw, var(--space-40));
}

.pr-32 {
    padding-right: var(--space-32);
}

.pr-30 {
    padding-right: var(--space-30);
}

.pr-20 {
    padding-right: var(--space-20);
}

.pr-18 {
    padding-right: var(--space-18);
}

.pr-15 {
    padding-right: var(--space-15);
}

/* Padding X (Left + Right) */
.px-50 {
    padding-left: clamp(30px, 5vw, var(--space-50));
    padding-right: clamp(30px, 5vw, var(--space-50));
}

.px-40 {
    padding-left: clamp(20px, 5vw, var(--space-40));
    padding-right: clamp(20px, 5vw, var(--space-40));
}

.px-32 {
    padding-left: var(--space-32);
    padding-right: var(--space-32);
}

.px-30 {
    padding-left: var(--space-30);
    padding-right: var(--space-30);
}

.px-20 {
    padding-left: var(--space-20);
    padding-right: var(--space-20);
}

.px-18 {
    padding-left: var(--space-18);
    padding-right: var(--space-18);
}

.px-15 {
    padding-left: var(--space-15);
    padding-right: var(--space-15);
}

/* Text Alignment Classes Utility */
.text-start {
    text-align: left;
}

.text-end {
    text-align: right;
}

.text-center {
    text-align: center;
}

/* Font Weight Classes Utility */

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-bold {
    font-weight: 700;
}

.font-w-black {
    font-weight: 900;
}

/* Display Classes Utility */
.d-none {
    display: none;
}

.d-block {
    display: block;
}

.inline-block {
    display: inline-block;
}

/* Flex Classes Utility */
.flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

/* Justify Classes */
.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

/* Align Items Classes */
.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.items-center {
    align-items: center;
}

/* Width Height Classes */
.w-fit {
    width: fit-content;
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.h-screen {
    height: 100vh;
}

/* Border Radius Classes  */
.rounded-full {
    border-radius: 100%;
}

/* Position Classes  */
.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.left-0 {
    left: 0;
}

.right-0 {
    right: 0;
}

.top-0 {
    top: 0;
}

.bottom-0 {
    bottom: 0;
}

.top-middle {
    top: 50%;
    transform: translateY(-50%);
}

/* Custom Button  */
.btn,
.get-in-touch>a {
    padding: 12px 25px 10px;
    border-radius: 28px;
    min-width: 140px;
    width: fit-content;
    height: 53px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .5s ease-in-out;
    line-height: 1;
    font-size: var(--fs-17);
    font-weight: 1;
    font-weight: 400;
    cursor: pointer;
    word-wrap: break-word;
    white-space: normal;
}

.btn-primary,
.get-in-touch>a {
    background-color: var(--primary);
    color: var(--white);
    border: 1px solid var(--primary);
    box-shadow: 0px 0px 6px #0000001A;
}

.btn-primary:hover,
.get-in-touch>a:hover {
    background-color: var(--white);
    color: var(--primary);
    text-decoration: none;
}

.btn-primary-border {
    border: 1px solid var(--white);
    background-color: transparent;
    color: var(--white);

}

.btn-primary-border:hover {
    background-color: var(--white);
    color: var(--primary);
}

/* Heading Left Border */
.primary-title-border {
    border-left: 8px solid var(--primary);
    padding-left: 8px;
}

@media (max-width:767px) {
    .primary-title-border {
        border-left: 5px solid var(--primary);
        padding-left: 5px;
    }
}

/* Header Below Space */
.header-below-space {
    padding-top: 109px;
}

@media (max-width:991px) {
    .header-below-space {
        padding-top: 99px;
    }
}

/* Form Validation and Success Messages CSS  */
.alert-message {
    position: fixed;
    right: 0;
    top: 100px;
    max-width: 400px;
    width: calc(100% - 15px);
    padding: clamp(6px, 2.5vw, 10px);
    box-shadow: 0px 0px 9px #00000014;
    transition: all .5s ease-in-out;
    z-index: 99;
    visibility: hidden;
    transform: translateX(100%);
    display: flex;
    align-items: flex-start;
    grid-gap: clamp(5px, 2vw, 10px);
}
#logout-message.alert-message {
    z-index: 9999;
}
.alert-message.error-message {
    visibility: visible;
    transform: translateX(0);
    background-color: var(--primary);
}

.alert-message.success-message {
    visibility: visible;
    transform: translateX(0);
    background-color: #46b450;
}

.alert-message::before {
    content: '';
    display: inline-block;
    width: 30px;
    min-width: 30px;
    height: 30px;
    background-color: var(--white);
    border-radius: 5px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
}

.alert-message.error-message::before {
    background-image: url(../images/alert-validation.svg);
}

.alert-message.success-message::before {
    background-image: url(../images/alert-success.svg);
}

.alert-message .message-data {
    font-size: clamp(12px, 3.5vw, var(--fs-13));
    font-weight: 500;
    line-height: 1.4;
    color: var(--white);
    align-self: center;
}

/* Loader CSS Start Here */
.custom-loader {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background-color: rgb(0 0 0 / 50%);
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    transform: translateY(-100%);
    transition: all .5s ease-in-out;
}

.custom-loader.show-loader {
    visibility: visible;
    transform: translateY(0);
}

.custom-loader::before {
    content: '';
    display: block;
    width: 55px;
    height: 55px;
    border: 6px solid var(--white);
    border-radius: 100%;
    border-right-color: transparent;
    animation: rotateLoader 3s linear infinite;
    border-left-color: transparent;
}

@keyframes rotateLoader {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Form Loader */
.form-loader {
    width: 30px;
    height: 30px;
    border: 4px solid var(--primary);
    border-radius: 100%;
    border-right-color: transparent;
    border-left-color: transparent;
    animation: rotateFormLoader 3s linear infinite;
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    visibility: hidden;
    opacity: 0;
    transition: all .5s ease-in-out;
}

.form-loader.show-loader{
    visibility: visible;
    opacity: 1;
}

@keyframes rotateFormLoader {
    0% {
        transform:translateY(-50%) rotate(0deg);
    }

    100% {
        transform:translateY(-50%) rotate(360deg);

    }
}

/* 23/5/2025 */
.passwordWrap {
    position: relative;
}
.passwordWrap .toggle-password {
    background-image: url(../images/eye-solid.svg);
    position: absolute;
    top: 14px;
    right: 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 17px;
    height: 17px;
    cursor: pointer;
    transition: 0.2s cubic-bezier(0.4, 0, 1, 1);
}
.toggle-password.eye-slash{
    background-image: url(../images/eye-slash-solid.svg);
}
/* 23/5/2025 */

/*--***=====* Theme Common Classes CSS End Here *=====***--*/
/* 27-5-2025 */
.pt-4 {
    padding-top: 4px;
}
.no-cursor-pointer{
    cursor: none !important;
}

/* 18-6-2025 */
.site-header nav{
    line-height: 0;
}