@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../fonts/montserrat/montserrat-300.ttf") format("truetype");
}

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/montserrat/montserrat-400.ttf") format("truetype");
}

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/montserrat/montserrat-500.ttf") format("truetype");
}

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/montserrat/montserrat-600.ttf") format("truetype");
}

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/montserrat/montserrat-700.ttf") format("truetype");
}

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/montserrat/montserrat-800.ttf") format("truetype");
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/poppins/poppins-700.ttf") format("truetype");
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/poppins/poppins-800.ttf") format("truetype");
}

:root {
    --site-theme-primary: #e20613;
    --site-theme-primary-rgb: 226, 6, 19;
    --site-theme-primary-dark: #b30410;
    --site-theme-dark: #1a1a1a;
    --site-theme-black: #2a2a2a;
    --site-theme-gray-900: #242424;
    --site-theme-gray-700: #575757;
    --site-theme-gray-400: #c8c8c8;
    --site-theme-gray-100: #f4f4f4;
    --site-theme-white: #ffffff;

    --site-theme-font-sans: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --site-theme-fw-light: 300;
    --site-theme-fw-normal: 400;
    --site-theme-fw-medium: 500;
    --site-theme-fw-semibold: 600;
    --site-theme-fw-bold: 700;

    --site-theme-header-h: 90px;
    --site-theme-container-max: 1200px;
    --meka-container-max: var(--site-theme-container-max);
    --site-theme-radius: 0;
    --site-theme-transition: 0.3s ease;
    --site-theme-edge: clamp(20px, 2.6vw, 48px);

    --bs-primary: #e20613;
    --bs-primary-rgb: 226, 6, 19;
    --bs-link-color: #e20613;
    --bs-link-color-rgb: 226, 6, 19;
    --bs-link-hover-color: #b30410;
    --bs-body-font-family: 'Montserrat', system-ui, sans-serif;
    --bs-body-color: #242424;
    --bs-body-bg: #ffffff;
    --bs-border-radius: 0;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--site-theme-font-sans);
    font-weight: var(--site-theme-fw-normal);
    color: var(--site-theme-gray-900);
    background-color: var(--site-theme-white);
    line-height: 1.6;
    overflow-x: hidden;
    margin: 0;
}

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

a {
    color: var(--site-theme-primary);
    text-decoration: none;
    transition: color var(--site-theme-transition);
}
a:hover {
    color: var(--site-theme-primary-dark);
}

h1, h2, h3, h4, h5, h6 {
    font-weight: var(--site-theme-fw-bold);
    line-height: 1.25;
    color: var(--site-theme-dark);
}

::selection {
    background: var(--site-theme-black);
    color: var(--site-theme-white);
}
::-moz-selection {
    background: var(--site-theme-black);
    color: var(--site-theme-white);
}
.site-header ::selection,
.site-footer ::selection,
.site-theme-hero ::selection,
.inner-hero-stage ::selection,
.fn_cs_project_sticky_full .right_part ::selection,
.projectsec1 .vertical-align ::selection,
.reference-modal-content ::selection,
.reference-category-card ::selection,
.contact-side-panel ::selection,
.contact-map-bar ::selection,
.blog-archive-empty ::selection,
.megamenu-left-rail ::selection,
.megamenu-bottom-bar ::selection,
.bg-site-theme-dark ::selection {
    background: var(--site-theme-white);
    color: var(--site-theme-black);
}
.site-header ::-moz-selection,
.site-footer ::-moz-selection,
.site-theme-hero ::-moz-selection,
.inner-hero-stage ::-moz-selection,
.fn_cs_project_sticky_full .right_part ::-moz-selection,
.projectsec1 .vertical-align ::-moz-selection,
.reference-modal-content ::-moz-selection,
.reference-category-card ::-moz-selection,
.contact-side-panel ::-moz-selection,
.contact-map-bar ::-moz-selection,
.blog-archive-empty ::-moz-selection,
.megamenu-left-rail ::-moz-selection,
.megamenu-bottom-bar ::-moz-selection,
.bg-site-theme-dark ::-moz-selection {
    background: var(--site-theme-white);
    color: var(--site-theme-black);
}
html[data-theme="light"] .site-header ::selection,
html[data-theme="light"] .site-footer ::selection,
html[data-theme="light"] .inner-hero-stage ::selection,
html[data-theme="light"] .fn_cs_project_sticky_full .right_part ::selection,
html[data-theme="light"] .reference-modal-content ::selection,
html[data-theme="light"] .reference-category-card ::selection,
html[data-theme="light"] .contact-side-panel ::selection {
    background: var(--site-theme-black);
    color: var(--site-theme-white);
}
html[data-theme="light"] .site-header ::-moz-selection,
html[data-theme="light"] .site-footer ::-moz-selection,
html[data-theme="light"] .inner-hero-stage ::-moz-selection,
html[data-theme="light"] .fn_cs_project_sticky_full .right_part ::-moz-selection,
html[data-theme="light"] .reference-modal-content ::-moz-selection,
html[data-theme="light"] .reference-category-card ::-moz-selection,
html[data-theme="light"] .contact-side-panel ::-moz-selection {
    background: var(--site-theme-black);
    color: var(--site-theme-white);
}
html[data-theme="light"] .footer-menu-box h3::selection {
    background: var(--site-theme-white);
    color: var(--site-theme-black);
}
html[data-theme="light"] .footer-menu-box h3::-moz-selection {
    background: var(--site-theme-white);
    color: var(--site-theme-black);
}
.dropdown-menu-yapi ::selection {
    background: var(--site-theme-black);
    color: var(--site-theme-white);
}
.dropdown-menu-yapi ::-moz-selection {
    background: var(--site-theme-black);
    color: var(--site-theme-white);
}

.text-theme { color: var(--site-theme-primary) !important; }
.bg-theme { background-color: var(--site-theme-primary) !important; }
.bg-site-theme-dark { background-color: var(--site-theme-dark) !important; }

.btn-theme {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--site-theme-primary);
    --bs-btn-border-color: var(--site-theme-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-theme-primary-dark);
    --bs-btn-hover-border-color: var(--site-theme-primary-dark);
    --bs-btn-active-bg: var(--site-theme-primary-dark);
    --bs-btn-active-border-color: var(--site-theme-primary-dark);
    --bs-btn-padding-x: 28px;
    --bs-btn-padding-y: 10.4px;
    --bs-btn-font-weight: 600;
    --bs-btn-border-radius: var(--site-theme-radius);
    letter-spacing: 0.3px;
}

.btn-site-theme-outline {
    --bs-btn-color: var(--site-theme-primary);
    --bs-btn-border-color: var(--site-theme-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-theme-primary);
    --bs-btn-hover-border-color: var(--site-theme-primary);
    --bs-btn-padding-x: 28px;
    --bs-btn-padding-y: 10.4px;
    --bs-btn-font-weight: 600;
}

.section-py { padding-top: 80px; padding-bottom: 80px; }
.section-pt { padding-top: 80px; }
.section-pb { padding-bottom: 80px; }
@media (max-width: 768px) {
    .section-py { padding-top: 48px; padding-bottom: 48px; }
    .section-pt { padding-top: 48px; }
    .section-pb { padding-bottom: 48px; }
}

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl,
.container-fluid {
    padding-left: var(--site-theme-edge);
    padding-right: var(--site-theme-edge);
}
@media (min-width: 1200px) {
    .container, .container-xl, .container-lg { max-width: var(--site-theme-container-max); }
}

.meka-container {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--meka-container-max);
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

.site-theme-edge {
    padding-left: var(--site-theme-edge);
    padding-right: var(--site-theme-edge);
}
.site-theme-edge-x {
    margin-left: var(--site-theme-edge);
    margin-right: var(--site-theme-edge);
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
}

:focus-visible {
    outline: 2px solid var(--site-theme-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
