:root {
    --theme-font-sans-serif: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --theme-font-manrope: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", manrope;

    --theme-font-manrope: "Manrope", sans-serif;
    --theme-font-poppins: "Poppins", sans-serif;
    --theme-body-font-family: var(--theme-font-manrope);
    --theme-font-size: 1rem;
    --theme-body-font-weight: 400;
    --theme-body-line-height: 1.5;
    --theme-body-color: rgba(255, 255, 255, 0.70);
    --theme-black: #000000;
    --theme-dark: #282828;
    --theme-white: #ffffff;
    --theme-red: #CD2327;
    --theme-gray: #5B5B5D;
    --theme-frost-white: rgba(255, 255, 255, 0.70);
    --theme-gradient: linear-gradient(95deg, #CD2327 0.62%, #E6321D 53.11%, #9F1F0F 100.35%);
}

html { font-size: var(--theme-font-size); }

body {
    margin: 0;
    font-family: var(--theme-body-font-family);
    font-size: var(--theme-font-size);
    font-weight: var(--theme-body-font-weight);
    line-height: var(--theme-body-line-height);
    color: var(--theme-body-color);
    background-color: var(--theme-white);
    text-align: left;
    letter-spacing: 0;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 0;
}

p { margin-bottom: 0px; }

img { height: 100%; }

.img-fluid {
    max-width: 100%;
    height: auto;
}

button {
    box-shadow: none;
    outline: none;
    border: none;
    background: none;
}

a, button {
    outline: none;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    color: var(--theme-grey);
}

.d-flex,
.d-sm-flex,
.d-md-flex,
.d-lg-flex,
.d-xl-flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

.d-inline-flex,
.d-sm-inline-flex,
.d-md-inline-flex,
.d-lg-inline-flex,
.d-xl-inline-flex {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
}


ul li, ol li { list-style: none; padding: 0; }
.list-unstyled { padding-left: 0; margin-bottom: 0; }
.list-style-none { list-style: none; }

.font-montserrat {
    font-family: var(--theme-montserrat-font-family);
}

.primary_btn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    column-gap: .625rem;
    align-items: center;
    position: relative;
    overflow: hidden;
    background-color: transparent;
    text-transform: capitalize;
    padding: 12px 24px;
    font-size: min(max(.875rem, 1.042vw), 1.25rem);
    font-weight: 400;
    border: none;
    line-height: 1.35;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.primary_btn:hover {
    /* box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.20);
    -webkit-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.20);
    -moz-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.20);
    -o-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.20);
    -ms-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.20); */
}

.primary_btn_outline {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    column-gap: .625rem;
    align-items: center;
    position: relative;
    overflow: hidden;
    background-color: transparent;
    text-transform: capitalize;
    padding: 10px 36px;
    font-size: min(max(.875rem, 1.0417vw), 1.25rem);
    font-weight: 400;
    border: 1px solid var(--theme-black);
    line-height: 1.35;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.primary_btn .btn_icon,
.primary_btn .btn_text {
    position: relative;
}

.primary_btn .btn_icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    z-index: 1;
    overflow: hidden;
    width: min(1.5625vw, 1.875rem);
    height: min(1.5625vw, 1.875rem);
    background: rgba(255, 255, 255, 0);
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    transition: transform 0.5s ease, background 0.5s ease-in-out;
    -webkit-transition: transform 0.5s ease, background 0.5s ease-in-out;
    -moz-transition: transform 0.5s ease, background 0.5s ease-in-out;
    -ms-transition: transform 0.5s ease, background 0.5s ease-in-out;
    -o-transition: transform 0.5s ease, background 0.5s ease-in-out;
}

.primary_btn .btn_icon svg {
    width: 100%;
    height: 100%;
}

.primary_btn .btn_text {
    line-height: 1;
    z-index: 2;
    white-space: nowrap;
    transition: transform 0.5s ease;
    -webkit-transition: transform 0.5s ease;
    -moz-transition: transform 0.5s ease;
    -ms-transition: transform 0.5s ease;
    -o-transition: transform 0.5s ease;
}

.primary_btn:hover .btn_icon {
    background: rgba(255, 255, 255, 0.25);
}

.primary_text_btn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    color: var(--theme-black);
    text-transform: capitalize;
    font-size: min(max(14px, 1.0417vw), 1.25rem);
    font-weight: 400;
    background: transparent;
    border: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
    -ms-box-shadow: none;
    padding: 0;
}

.text_btn_underline {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.primary_text_btn .btn_icon {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin-right: .75rem;
}

.primary_icon_btn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 5px;
    width: 50px;
    height: 50px;
    border: 1px solid var(--theme-black);
}

.primary_text_btn .btn_icon:only-child {
    margin-right: 0;
}

.secondary-btn {
    width: fit-content;
    color: var(--theme-red);
    font-family: var(--theme-font-manrope);
    font-size: min(max(0.875rem, 0.938vw), 1.125rem);
    font-weight: 600;
    line-height: 1.5;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: start;
    position: relative;
    margin-bottom: 4px;
}

.secondary-btn::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    width: 100%;
    height: 2px;
    background: var(--theme-red);
}

.custom-container {
    padding-left: 5.833vw;
    padding-right: 5.833vw;
}

.small-custom-container {
    padding-left: 216px;
    padding-right: 216px;
}

.section_divider {
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, 0.10);
}

.common_space {
    padding: min(max(3.75rem, 4.167vw), 5rem) 0px;
}

/* Common Heading Start */
.sm-heading-line {
    display: inline-block;
    width: 80px;
    height: 2px;
    background: var(--theme-red);
}

.sm_heading_tag {
    display: flex;
    align-items: center;
    column-gap: 18px;
    margin-bottom: 20px;
    color: var(--theme-gray);
}

.section__header .heading {
    font-family: var(--theme-font-poppins);
    line-height: 1.1;
    letter-spacing: -2.88px;
}
/* Common Heading End */

.fs-98 {
    font-size: 5.104vw;
    font-size: min(max(50px, 5.104vw), 6.125rem);
    font-size: clamp(50px, 5.104vw, 6.125rem);
}
.fs-94 {
    font-size: 4.896vw;
    font-size: min(max(48px, 4.896vw), 5.875rem);
    font-size: clamp(48px, 4.896vw, 5.875rem);
}
.fs-92 {
    font-size: 4.792vw;
    font-size: min(max(46px, 4.7917vw), 5.75rem);
    font-size: clamp(46px, 4.7917vw, 5.75rem);
}
.fs-88 {
    font-size: 4.583vw;
    font-size: min(max(44px, 4.583vw), 5.5rem);
    font-size: clamp(44px, 4.583vw, 5.5rem);
}
.fs-84 {
    font-size: 4.375vw;
    font-size: min(max(42px, 4.375vw), 5.25rem);
    font-size: clamp(42px, 4.375vw, 5.25rem);
}
.fs-80 {
    font-size: 4.167vw;
    font-size: min(max(40px, 4.1667vw), 5rem);
    font-size: clamp(40px, 4.1667vw, 5rem);
}
.fs-76 {
    font-size: 3.958vw;
    font-size: min(max(2.1875rem, 3.9583vw), 4.75rem);
    font-size: clamp(2.1875rem, 3.958vw, 4.75rem);
}
.fs-72 {
    font-size: 3.75vw;
    font-size: min(max(36px, 3.75vw), 4.5rem);
    font-size: clamp(36px, 3.75vw, 4.5rem);
}
.fs-64 {
    font-size: 3.333vw;
    font-size: min(max(32px, 3.333vw), 4rem);
    font-size: clamp(32px, 3.333vw, 4rem);
}
.fs-60 {
    font-size: 3.125vw;
    font-size: min(max(30px, 3.124vw), 3.75rem);
    font-size: clamp(30px, 3.124vw, 3.75rem);
}
.fs-56 {
    font-size: min(max(28px, 2.9167vw), 56px);
    font-size: clamp(28px, 2.9167vw, 56px);
}
.fs-54 {
    font-size: min(max(27px, 2.8125vw), 3.375rem);
    font-size: clamp(27px, 2.8125vw, 3.375rem);
}
.fs-52 {
    font-size: min(max(26px, 2.7083vw), 3.25rem);
    font-size: clamp(26px, 2.7083vw, 3.25rem);
}
.fs-48 {
    font-size: min(max(24px, 2.5vw), 3rem);
    font-size: clamp(24px, 2.5vw, 3rem);
}
.fs-44 {
    font-size: min(max(22px, 2.292vw), 2.75rem);
    font-size: clamp(22px, 2.2917vw, 2.75rem);
}
.fs-42 {
    font-size: min(max(20px, 2.188vw), 2.625rem);
    font-size: clamp(20px, 2.188vw, 2.625rem);
}
.fs-40 {
    font-size: min(max(20px, 2.083vw), 2.5rem);
    font-size: clamp(20px, 2.083vw, 2.5rem);
}
.fs-38 {
    font-size: min(max(24px, 1.9792vw), 2.375rem);
    font-size: clamp(24px, 1.9792vw, 2.375rem);
}
.fs-36 {
    font-size: min(max(22px, 1.875vw), 2.25rem);
    font-size: clamp(22px, 1.875vw, 2.25rem);
}
.fs-34 {
    font-size: min(max(20px, 1.7708vw), 2.125rem);
    font-size: clamp(20px, 1.7708vw, 2.125rem);
}
.fs-32 {
    font-size: min(max(20px, 1.667vw), 2rem);
    font-size: clamp(20px, 1.667vw, 2rem);
}
.fs-28 {
    font-size: min(max(20px, 1.4583vw), 1.75rem);
    font-size: clamp(20px, 1.4583vw, 1.75rem);
}
.fs-26 {
    font-size: min(max(18px, 1.3542vw), 1.625rem);
    font-size: clamp(18px, 1.3542vw, 1.625rem);
}
.fs-24 {
    font-size: min(max(18px, 1.25vw), 1.5rem);
    font-size: clamp(18px, 1.25vw, 1.5rem);
}
.fs-22 {
    font-size: min(max(16px, 1.1458vw), 1.375rem);
    font-size: clamp(16px, 1.1458vw, 1.375rem);
}
.fs-20 {
    font-size: min(max(16px, 1.0417vw), 1.25rem);
    font-size: clamp(16px, 1.0417vw, 1.25rem);
}
.fs-18 {
    font-size: min(max(16px, 0.9375vw), 18px);
    font-size: clamp(16px, 0.9375vw, 18px);
}
.fs-16 {
    font-size: min(max(14px, 0.8333vw), 16px);
    font-size: clamp(14px, 0.8333vw, 16px);
}
.fs-14 {
    font-size: 14px;
}

.fw-100 { font-weight: 100; }
.fw-200 { font-weight: 200; }
.fw-300 { font-weight: 300; }
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.fw-800 { font-weight: 800; }
.fw-900 { font-weight: 900; }

.justify-content-start { justify-content: flex-start; }
.justify-content-end { justify-content: flex-end; }
.justify-content-center { justify-content: center; }
.justify-content-between { justify-content: space-between;} 
.justify-content-around { justify-content: space-around; }
.justify-content-evenly { justify-content: space-evenly; }
.align-items-start { align-items: flex-start; }
.align-items-end { align-items: flex-end; }
.align-items-center { align-items: center; }
.align-items-baseline { align-items: baseline; }
.align-items-stretch { align-items: stretch; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-justify { text-align: justify; }
.text-italic { font-style: italic; }
.text-capitalize { text-transform: capitalize; }
.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }

.opacity-0 { opacity: 0; }
.opacity-01 { opacity: 0.1; }
.opacity-02 { opacity: 0.2; }
.opacity-03 { opacity: 0.3; }
.opacity-04 { opacity: 0.4; }
.opacity-05 { opacity: 0.5; }
.opacity-06 { opacity: 0.6; }
.opacity-07 { opacity: 0.7; }
.opacity-08 { opacity: 0.8; }
.opacity-09 { opacity: 0.9; }
.opacity-1 { opacity: 1; }

.z-index-1 { z-index: 1; }
.z-index-2 { z-index: 2; }
.z-index-3 { z-index: 3; }
.z-index-4 { z-index: 4; }
.z-index-5 { z-index: 5; }
.z-index-6 { z-index: 6; }
.z-index-7 { z-index: 7; }
.z-index-8 { z-index: 8; }
.z-index-9 { z-index: 9; }
.z-index-10 { z-index: 10; }

.text-white { color: var(--theme-white); }
.text-black { color: var(--theme-black); }
.text-dark { color: var(--theme-dark); }
.text-gray { color: var(--theme-gray); }
.text-red { color: var(--theme-red); }
.text-frost-white { color: var(--theme-frost-white); }

.bg-white { background-color: var(--theme-white); }
.bg-black { background-color: var(--theme-black); }
.bg-dark { background-color: var(--theme-dark); }
.bg-gray { background-color: var(--theme-gray); }
.bg-red { background-color: var(--theme-red); }
.bg-gradient { background-color: var(--theme-gradient); }

.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
.d-block { display: block; }
.d-grid { display: grid; }
.d-inline-grid { display: inline-grid; }
.d-flex { display: flex; }
.d-inline-flex { display: inline-flex; }
.d-none { display: none; }

/* Common Padding Margin Start */
.pt-10 { padding-top: min(max(0.625rem, 0.521vw), 0.625rem); }
.pt-15 { padding-top: min(max(0.9375rem, 0.9375rem), 0.9375rem); }
.pt-20 { padding-top: min(max(0.9375rem, 1.042vw), 1.25rem); }
.pt-25 { padding-top: min(max(0.9375rem, 1.302vw), 1.5625rem); }
.pt-30 { padding-top: min(max(0.9375rem, 1.563vw), 1.875rem); }
.pt-35 { padding-top: min(max(1.25rem, 1.823vw), 2.1875rem); }
.pt-40 { padding-top: min(max(1.375rem, 2.083vw), 2.5rem); }
.pt-45 { padding-top: min(max(1.5625rem, 2.344vw), 2.8125rem); }
.pt-50 { padding-top: min(max(1.875rem, 2.604vw), 3.125rem); }
.pt-55 { padding-top: min(max(2.1875rem, 2.865vw), 3.4375rem); }
.pt-60 { padding-top: min(max(2.5rem, 3.125vw), 3.75rem); }
.pt-65 { padding-top: min(max(2.8125rem, 3.385vw), 4.0625rem); }
.pt-70 { padding-top: min(max(2.1875rem, 3.646vw), 4.375rem); }
.pt-75 { padding-top: min(max(2.5rem, 3.906vw), 4.6875rem); }
.pt-80 { padding-top: min(max(2.5rem, 4.167vw), 5rem); }
.pt-85 { padding-top: min(max(2.625rem, 4.427vw), 5.3125rem); }
.pt-90 { padding-top: min(max(2.8125rem, 4.688vw), 5.625rem) }
.pt-95 { padding-top: min(max(3.125rem, 4.948vw), 5.9375rem); }
.pt-100 { padding-top: min(max(3.75rem, 5.208vw), 6.25rem); }

.pb-10 { padding-bottom: min(max(0.625rem, 0.521vw), 0.625rem); }
.pb-15 { padding-bottom: min(max(0.9375rem, 0.9375rem), 0.9375rem); }
.pb-20 { padding-bottom: min(max(0.9375rem, 1.042vw), 1.25rem); }
.pb-25 { padding-bottom: min(max(0.9375rem, 1.302vw), 1.5625rem); }
.pb-30 { padding-bottom: min(max(0.9375rem, 1.563vw), 1.875rem); }
.pb-35 { padding-bottom: min(max(1.25rem, 1.823vw), 2.1875rem); }
.pb-40 { padding-bottom: min(max(1.375rem, 2.083vw), 2.5rem); }
.pb-45 { padding-bottom: min(max(1.5625rem, 2.344vw), 2.8125rem); }
.pb-50 { padding-bottom: min(max(1.875rem, 2.604vw), 3.125rem); }
.pb-55 { padding-bottom: min(max(2.1875rem, 2.865vw), 3.4375rem); }
.pb-60 { padding-bottom: min(max(2.5rem, 3.125vw), 3.75rem); }
.pb-65 { padding-bottom: min(max(2.8125rem, 3.385vw), 4.0625rem); }
.pb-70 { padding-bottom: min(max(2.1875rem, 3.646vw), 4.375rem); }
.pb-75 { padding-bottom: min(max(2.5rem, 3.906vw), 4.6875rem); }
.pb-80 { padding-bottom: min(max(2.5rem, 4.167vw), 5rem); }
.pb-85 { padding-bottom: min(max(2.625rem, 4.427vw), 5.3125rem); }
.pb-90 { padding-bottom: min(max(2.8125rem, 4.688vw), 5.625rem) }
.pb-95 { padding-bottom: min(max(3.125rem, 4.948vw), 5.9375rem); }
.pb-100 { padding-bottom: min(max(3.75rem, 5.208vw), 6.25rem); }

/* Common Margin Start */
.mt-10 { margin-top: min(max(0.625rem, 0.521vw), 0.625rem); }
.mt-15 { margin-top: min(max(0.9375rem, 0.9375rem), 0.9375rem); }
.mt-20 { margin-top: min(max(0.9375rem, 1.042vw), 1.25rem); }
.mt-25 { margin-top: min(max(0.9375rem, 1.302vw), 1.5625rem); }
.mt-30 { margin-top: min(max(0.9375rem, 1.563vw), 1.875rem); }
.mt-35 { margin-top: min(max(1.25rem, 1.823vw), 2.1875rem); }
.mt-40 { margin-top: min(max(1.375rem, 2.083vw), 2.5rem); }
.mt-45 { margin-top: min(max(1.5625rem, 2.344vw), 2.8125rem); }
.mt-50 { margin-top: min(max(1.875rem, 2.604vw), 3.125rem); }
.mt-55 { margin-top: min(max(2.1875rem, 2.865vw), 3.4375rem); }
.mt-60 { margin-top: min(max(2.5rem, 3.125vw), 3.75rem); }
.mt-65 { margin-top: min(max(2.8125rem, 3.385vw), 4.0625rem); }
.mt-70 { margin-top: min(max(2.1875rem, 3.646vw), 4.375rem); }
.mt-75 { margin-top: min(max(2.5rem, 3.906vw), 4.6875rem); }
.mt-80 { margin-top: min(max(2.5rem, 4.167vw), 5rem); }
.mt-85 { margin-top: min(max(2.625rem, 4.427vw), 5.3125rem); }
.mt-90 { margin-top: min(max(2.8125rem, 4.688vw), 5.625rem) }
.mt-95 { margin-top: min(max(3.125rem, 4.948vw), 5.9375rem); }
.mt-100 { margin-top: min(max(3.75rem, 5.208vw), 6.25rem); }

.mb-10 { margin-bottom: min(max(0.625rem, 0.521vw), 0.625rem); }
.mb-15 { margin-bottom: min(max(0.9375rem, 0.9375rem), 0.9375rem); }
.mb-20 { margin-bottom: min(max(0.9375rem, 1.042vw), 1.25rem); }
.mb-25 { margin-bottom: min(max(0.9375rem, 1.302vw), 1.5625rem); }
.mb-30 { margin-bottom: min(max(0.9375rem, 1.563vw), 1.875rem); }
.mb-35 { margin-bottom: min(max(1.25rem, 1.823vw), 2.1875rem); }
.mb-40 { margin-bottom: min(max(1.375rem, 2.083vw), 2.5rem); }
.mb-45 { margin-bottom: min(max(1.5625rem, 2.344vw), 2.8125rem); }
.mb-50 { margin-bottom: min(max(1.875rem, 2.604vw), 3.125rem); }
.mb-55 { margin-bottom: min(max(2.1875rem, 2.865vw), 3.4375rem); }
.mb-60 { margin-bottom: min(max(2.5rem, 3.125vw), 3.75rem); }
.mb-65 { margin-bottom: min(max(2.8125rem, 3.385vw), 4.0625rem); }
.mb-70 { margin-bottom: min(max(2.1875rem, 3.646vw), 4.375rem); }
.mb-75 { margin-bottom: min(max(2.5rem, 3.906vw), 4.6875rem); }
.mb-80 { margin-bottom: min(max(2.5rem, 4.167vw), 5rem); }
.mb-85 { margin-bottom: min(max(2.625rem, 4.427vw), 5.3125rem); }
.mb-90 { margin-bottom: min(max(2.8125rem, 4.688vw), 5.625rem) }
.mb-95 { margin-bottom: min(max(3.125rem, 4.948vw), 5.9375rem); }
.mb-100 { margin-bottom: min(max(3.75rem, 5.208vw), 6.25rem); }
/* Common Padding Margin End */

.pos-relative { position: relative; }
.pos-absolute { position: absolute; }
.pos-fixed { position: fixed; }
.pos-static { position: static; }
.pos-sticky { position: sticky; }

.overflow-auto { overflow: auto; }
.overflow-visible { overflow: visible; }
.overflow-scroll { overflow: scroll; }
.overflow-hidden { overflow: hidden; }

.ratio {
    position: relative;
    width: 100%;
}

.ratio::before {
    display: block;
    padding-top: var(--theme-aspect-ratio);
    content: "";
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ratio-1x1 {
    --theme-aspect-ratio: 100%;
}

.ratio-4x3 {
    --theme-aspect-ratio: 75%;
}

.ratio-16x9 {
    --theme-aspect-ratio: 56.25%;
}

.ratio-21x9 {
    --theme-aspect-ratio: 42.8571428571%;
}

.row {
    --theme-gutter-y: 0;
}


@media all and (min-width: 576px) {
    .d-sm-inline { display: inline; }
    .d-sm-inline-block { display: inline-block; }
    .d-sm-block { display: block; }
    .d-sm-grid { display: grid; }
    .d-sm-inline-grid { display: inline-grid; }
    .d-sm-flex { display: flex; }
    .d-sm-inline-flex { display: inline-flex; }
    .d-sm-none { display: none; }

    .text-sm-left { text-align: left; }
    .text-sm-right { text-align: right; }
    .text-sm-center { text-align: center; }

    .justify-content-sm-start { justify-content: flex-start; }
    .justify-content-sm-end { justify-content: flex-end; }
    .justify-content-sm-center { justify-content: center; }
    .justify-content-sm-between { justify-content: space-between; }
    .justify-content-sm-around { justify-content: space-around; }
    .justify-content-sm-evenly { justify-content: space-evenly; }
}

@media (min-width: 768px) {
    .custom-container {
        padding-left: 1.875rem;
        padding-right: 1.875rem;
    }

    .row { --theme-gutter-x: 1.25rem; }

    .d-md-inline { display: inline; }
    .d-md-inline-block { display: inline-block; }
    .d-md-block { display: block; }
    .d-md-grid { display: grid; }
    .d-md-inline-grid { display: inline-grid; }
    .d-md-flex { display: flex; }
    .d-md-inline-flex { display: inline-flex; }
    .d-md-none { display: none; }

    .text-md-left { text-align: left; }
    .text-md-right { text-align: right; }
    .text-md-center { text-align: center; }

    .offset-md-1 { margin-left: 8.33333333%; }
    .offset-md-2 { margin-left: 16.66666667%; }
    .offset-md-3 { margin-left: 25%; }
    .offset-md-4 { margin-left: 33.33333333%; }
    .offset-md-5 { margin-left: 41.66666667%; }
    .offset-md-6 { margin-left: 50%; }
    .offset-md-7 { margin-left: 58.33333333%; }
    .offset-md-8 { margin-left: 66.66666667%; }
    .offset-md-9 { margin-left: 75%; }
    .offset-md-10 { margin-left: 83.33333333%; }
    .offset-md-11 { margin-left: 91.66666667%; }

    .justify-content-md-start { justify-content: flex-start; }
    .justify-content-md-end { justify-content: flex-end; }
    .justify-content-md-center { justify-content: center; }
    .justify-content-md-between { justify-content: space-between; }
    .justify-content-md-around { justify-content: space-around; }
    .justify-content-md-evenly { justify-content: space-evenly; }
}

@media all and (min-width: 992px) {
    .d-lg-inline { display: inline; }
    .d-lg-inline-block { display: inline-block; }
    .d-lg-block { display: block; }
    .d-lg-grid { display: grid; }
    .d-lg-inline-grid { display: inline-grid; }
    .d-lg-flex { display: flex; }
    .d-lg-inline-flex { display: inline-flex; }
    .d-lg-none { display: none; }

    .text-lg-left { text-align: left; }
    .text-lg-right { text-align: right; }
    .text-lg-center { text-align: center; }

    .offset-lg-1 { margin-left: 8.33333333%; }
    .offset-lg-2 { margin-left: 16.66666667%; }
    .offset-lg-3 { margin-left: 25%; }
    .offset-lg-4 { margin-left: 33.33333333%; }
    .offset-lg-5 { margin-left: 41.66666667%; }
    .offset-lg-6 { margin-left: 50%; }
    .offset-lg-7 { margin-left: 58.33333333%; }
    .offset-lg-8 { margin-left: 66.66666667%; }
    .offset-lg-9 { margin-left: 75%; }
    .offset-lg-10 { margin-left: 83.33333333%; }
    .offset-lg-11 { margin-left: 91.66666667%; }

    .justify-content-lg-start { justify-content: flex-start; }
    .justify-content-lg-end { justify-content: flex-end; }
    .justify-content-lg-center { justify-content: center; }
    .justify-content-lg-between { justify-content: space-between; }
    .justify-content-lg-around { justify-content: space-around; }
    .justify-content-lg-evenly { justify-content: space-evenly; }
}

@media (min-width: 1200px) {
    .custom-container {
        max-width: 100%;
        padding-left: 3.25vw;
        padding-right: 3.25vw;
    }

    .row { /* --theme-gutter-x: 0; */ }

    .d-xl-inline { display: inline; }
    .d-xl-inline-block { display: inline-block; }
    .d-xl-block { display: block; }
    .d-xl-grid { display: grid; }
    .d-xl-inline-grid { display: inline-grid; }
    .d-xl-flex { display: flex; }
    .d-xl-inline-flex { display: inline-flex; }
    .d-xl-none { display: none; }

    .text-xl-left { text-align: left; }
    .text-xl-right { text-align: right; }
    .text-xl-center { text-align: center; }

    .offset-xl-1 { margin-left: 8.33333333%; }
    .offset-xl-2 { margin-left: 16.66666667%; }
    .offset-xl-3 { margin-left: 25%; }
    .offset-xl-4 { margin-left: 33.33333333%; }
    .offset-xl-5 { margin-left: 41.66666667%; }
    .offset-xl-6 { margin-left: 50%; }
    .offset-xl-7 { margin-left: 58.33333333%; }
    .offset-xl-8 { margin-left: 66.66666667%; }
    .offset-xl-9 { margin-left: 75%; }
    .offset-xl-10 { margin-left: 83.33333333%; }
    .offset-xl-11 { margin-left: 91.66666667%; }

    .justify-content-xl-start { justify-content: flex-start; }
    .justify-content-xl-end { justify-content: flex-end; }
    .justify-content-xl-center { justify-content: center; }
    .justify-content-xl-between { justify-content: space-between; }
    .justify-content-xl-around { justify-content: space-around; }
    .justify-content-xl-evenly { justify-content: space-evenly; }
}

@media (min-width: 1600px) {
    .custom-container {
        padding-left: 5.833vw;
        padding-right: 5.833vw;
    }

    .d-xxl-inline { display: inline; }
    .d-xxl-inline-block { display: inline-block; }
    .d-xxl-block { display: block; }
    .d-xxl-grid { display: grid; }
    .d-xxl-inline-grid { display: inline-grid; }
    .d-xxl-flex { display: flex; }
    .d-xxl-inline-flex { display: inline-flex; }
    .d-xxl-none { display: none; }

    .text-xxl-left { text-align: left; }
    .text-xxl-right { text-align: right; }
    .text-xxl-center { text-align: center; }
}

@media (min-width: 1921px) {
    .custom-container {
        max-width: 1664px;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .row { --theme-gutter-x: 1.25rem; }
}

@media (max-width: 1500px) {
    .custom-container {
        max-width: 100%;
        padding-left: 3.25vw;
        padding-right: 3.25vw;
    }
}

@media (max-width: 1199px) {
    .custom-container {
        padding-left: 1.875rem;
        padding-right: 1.875rem;
    }

    .primary_btn .btn_icon {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 767px) {
    .custom-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

[class*="__slider_btn"] {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

[class*="__slider_btn"] li a {
    display: block;
}

[class*="__slider_btn"] li a svg {
    width: 100%;
    height: 100%;
}

[class*="__slider_btn"] li a svg path {
    fill: var(--theme-primary);
}

[class*="__slider_btn"] li a svg rect {
    stroke: var(--theme-primary);
}
[class*="-btn-"] {
    cursor: pointer;
}
.seperator {
    width: 100%;
    height: 1px;
}

.form-field {
    display: block;
    width: 100%;
    padding: 14px 14px;
    font-size: min(0.9375vw, 1.125rem);
    font-weight: 400;
    line-height: 1.3;
    color: var(--theme-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--theme-white);
    background-clip: padding-box;
    border: 1px solid rgba(175, 175, 175, 0.60);
    /* border-radius: 16px;
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    -ms-border-radius: 16px;
    -o-border-radius: 16px;
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.08);
    -webkit-box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.08);
    -moz-box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.08);
    -o-box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.08);
    -ms-box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.08); */
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-transparent {
    background-color: transparent;
}

select.form-field {
    padding-right: 40px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="9" viewBox="0 0 15 9" fill="none"><path d="M0.484032 1.00544C0.0447245 1.44476 0.0447245 2.1571 0.484032 2.59641L5.9878 8.09466C6.86652 8.9726 8.29053 8.97226 9.16892 8.09399L14.6705 2.59236C15.1098 2.15305 15.1098 1.44071 14.6705 1.00138C14.2312 0.56204 13.5189 0.56204 13.0795 1.00138L8.37074 5.71014C7.93143 6.14956 7.21909 6.14956 6.77979 5.71014L2.07499 1.00544C1.63568 0.5661 0.923451 0.5661 0.484032 1.00544Z" fill="%23333332"/></svg>');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 16px;
}

@media (prefers-reduced-motion: reduce) {
    .form-field {
        transition: none;
    }
}

.form-field:focus {
    color: var(--theme-text-color);
    border-color: #000000;
    outline: 0;
    box-shadow: none;
}

.form-field::-moz-placeholder {
    color: var(--theme-body-color);
    opacity: 0.5;
}

.form-field::placeholder {
    color: var(--theme-body-color);
    opacity: 0.5;
}

.form-field::-webkit-input-placeholder {
    color: var(--theme-body-color);
    opacity: 0.5;
}

.form-field:disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}

.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}

.form-check-input {
    --form-check-bg: var(--theme-white);
    --theme-body-color-rgb: 91, 91, 91;
    --border-color: var(--theme-body-color-rgb);
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--form-check-bg);
    background-image: var(--form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(var(--border-color), 0.25);
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
}

.form-check-input[type=checkbox] {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.form-check-input[type=radio] {
    border-radius: 50%;
}

.form-check-input:active {
    filter: brightness(90%);
}

.form-check-input:focus {
    border-color: #85e797;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(133, 231, 151, 0.25);
}

.form-check-input:checked {
    background-color: var(--theme-primary);
    border-color: var(--theme-primary);
}

.form-check-input:checked[type=checkbox] {
    --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type=radio] {
    --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--theme-primary);
    border-color: var(--theme-primary);
    --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: 0.5;
}

.form-check-input[disabled]~.form-check-label,
.form-check-input:disabled~.form-check-label {
    cursor: default;
    opacity: 0.5;
}

.slick-prev:before,
.slick-next:before {
    display: none;
}

.main {
    overflow: hidden;
}

@media only screen and (max-width: 1199px) {
    .primary_btn {
        padding: 10px 14px;
    }

    .primary_btn_outline {
        padding: 10px 14px;
    }

    .form-field {
        font-size: .875rem;
        padding: .625rem;
        border-radius: 6px;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        -ms-border-radius: 6px;
        -o-border-radius: 6px;
    }
}

@media only screen and (max-width: 767px) {
    .primary_btn {
        border-width: 1.5px;
    }

    .primary_btn_outline {
        border-width: 1.5px;
    }
}

@media only screen and (max-width: 360px) {
    [class*="primary_btn"] .btn_text {
        white-space: unset;
        text-align: center;
        line-height: 1.2;
    }
}