@font-face {
    font-family: "Inter";
    src: url("https://fonts.gstatic.com/s/inter/v19/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2");
}
@font-face {
    font-family: "Open Sans";
    src: url("https://fonts.gstatic.com/s/opensans/v43/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2");
}
:root {
    --foreground-rgb: 0,0,0;
    --background-start-rgb: 255,255,255;
    --background-end-rgb: 255,255,255;
    --primary-color: 23,49,138;
    --secondary-color: 245,245,245;
    --border-radius: 5px;
    --content-spacing: 2rem;
    --container-max-width: 1600px;
    --grid-columns: 12;
    --font-open-sans:"open sans"
}
audio, canvas, embed, iframe, img, object, svg, video {
    display: block;
    vertical-align: middle;
}
img, video {
    max-width: 100%;
    height: auto;
}
.scale-100 {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.object-cover {
    object-fit: cover;
}
.object-center {
    object-position: center;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.duration-1000 {
    transition-duration: 1000ms;
}
.group:hover .group-hover\:scale-105 {
    transform: scale(1.05);
}
section {
    padding: 5rem 0;
}
.container-custom {
    max-width: var(--container-max-width);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.font-light {
    font-weight: 300;
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
}
blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
    margin: 0;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans',Arial,sans-serif;
    letter-spacing: -.02em;
    margin-bottom: var(--content-spacing);
    font-weight: 400;
}
.border-b {
    border-bottom-width: 1px;
}
.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.pt-0 {
    padding-top: 0px;
}
.pb-32 {
    padding-bottom: 8rem;
}
.py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.font-heading {
    font-family: var(--font-open-sans), Arial, sans-serif;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.font-medium {
    font-weight: 500;
}
.tracking-tight {
    letter-spacing: -0.025em;
}
menu, ol, ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.font-normal {
    font-weight: 400;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.btn-primary {
    display: inline-block;
    border-radius: 5px;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(23 49 138 / var(--tw-border-opacity, 1));
    background-color: transparent;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-weight: 300;
    --tw-text-opacity: 1;
    color: rgb(23 49 138 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.leading-relaxed {
    line-height: 1.625;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
:root {
    --font-inter: 'Inter';
}
body {
    line-height: inherit;
}
body {
    color: rgb(var(--foreground-rgb));
    font-weight: 300;
    line-height: 1.7;
}
p {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.text-left {
    text-align: left;
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.font-bold {
    font-weight: 700;
}
.mb-12 {
    margin-bottom: 3rem;
}
.text-left {
    text-align: left;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.font-normal {
    font-weight: 400;
}
.text-primary {
    --tw-text-opacity: 1;
    color: rgb(23 49 138 / var(--tw-text-opacity, 1));
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-black\/20 {
    --tw-gradient-from: rgb(0 0 0 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-black\/10 {
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-black\/5 {
    --tw-gradient-to: rgb(0 0 0 / 0.05) var(--tw-gradient-to-position);
}
.font-sans {
    font-family: var(--font-inter);
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.p-4 {
    padding: 1rem;
}
.bg-primary\/10 {
    background-color: rgb(23 49 138 / 0.1);
}
.rounded-full {
    border-radius: 9999px;
}
.mr-6 {
    margin-right: 1.5rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}.mx-auto {
     margin-left: auto;
     margin-right: auto;
 }
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.mb-16 {
    margin-bottom: 4rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.scroll-to-top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    padding: 12px;
    border-radius: 50%;
    background-color: rgb(23 49 138); /* primary color */

    color: white;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 50;
    display: none;
}

.scroll-to-top:hover {
    background-color: #1e40af; /* hover color */
}

.scroll-to-top:focus {
    outline: none;
    box-shadow: 0 0 0 2px #3b82f6;
}

.chevron-up {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}
.pl-6 {
    padding-left: 1.5rem;
}
.list-disc {
    list-style-type: disc;
}
@media (min-width: 640px) {
    .container-custom {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
@media (min-width: 768px) {
    section {
        padding: 7rem 0;
    }
    .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .md\:text-right {
        text-align: right;
    }
    .md\:text-6xl {
        font-size: 3.75rem;
        line-height: 1;
    }
    .md\:text-5xl {
        font-size: 3rem;
        line-height: 1;
    }
    .md\:py-32 {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
    .md\:py-24 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}
@media (min-width: 1024px) {
    .container-custom {
        padding-left: 4rem;
        padding-right: 4rem;
    }
    section {
        padding: 9rem 0;
    }
}
@media (min-width: 1280px){
    .container-custom {
        padding-left: 6rem;
        padding-right: 6rem;
    }
}