﻿/* ================================================= */
/* PRIMITIVE COLORS               */
/* ================================================= */
:root {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0.5rem;
    --bs-navbar-color: rgba(0, 0, 0, 0.55);
    --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);
    --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
    --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-brand-padding-y: 0.3125rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-nav-link-padding-x: 0.5rem;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1.25rem;
    --bs-navbar-toggler-icon-bg: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e);
    --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);
    --bs-navbar-toggler-border-radius: 0.375rem;
    --bs-navbar-toggler-focus-width: 0.25rem;
    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
    /* ================= NAVY BLUE ================= */
    --navyblue-50: #e7eaee;
    --navyblue-100: #b5becc;
    --navyblue-200: #919eb3;
    --navyblue-300: #5e7290;
    --navyblue-400: #3f567a;
    --navyblue-500: #0f2c59;
    --navyblue-600: #0e2851;
    --navyblue-700: #0b1f3f;
    --navyblue-800: #081831;
    --navyblue-900: #061225;
    /* ================= OCEAN BLUE ================= */
    --oceanblue-50: #e9eef6;
    --oceanblue-100: #b9cbe2;
    --oceanblue-200: #98b1d3;
    --oceanblue-300: #688ebf;
    --oceanblue-400: #4b78b3;
    --oceanblue-500: #1e56a0;
    --oceanblue-600: #1b4e92;
    --oceanblue-700: #153d72;
    --oceanblue-800: #112f58;
    --oceanblue-900: #0d2443;
    /* ================= CRIMSON RED ================= */
    --crimsonred-50: #fbe6eb;
    --crimsonred-100: #f3b0bf;
    --crimsonred-200: #ed8aa1;
    --crimsonred-300: #e55476;
    --crimsonred-400: #e0335b;
    --crimsonred-500: #d80032;
    --crimsonred-600: #c5002e;
    --crimsonred-700: #990024;
    --crimsonred-800: #77001c;
    --crimsonred-900: #5b0015;
    /* ================= GREY ================= */
    --grey-50: #f1f1f1;
    --grey-100: #d4d4d4;
    --grey-200: #bfbfbf;
    --grey-300: #a1a1a1;
    --grey-400: #8f8f8f;
    --grey-500: #737373;
    --grey-600: #696969;
    --grey-700: #525252;
    --grey-800: #3f3f3f;
    --grey-900: #303030;
    /* ================= DARK ================= */
    --dark-50: #e8e8e8;
    --dark-100: #b8b8b8;
    --dark-200: #969696;
    --dark-300: #666666;
    --dark-400: #484848;
    --dark-500: #1a1a1a;
    --dark-600: #181818;
    --dark-700: #121212;
    --dark-800: #0e0e0e;
    --dark-900: #0b0b0b;
    /* ================= GREEN ================= */
    --green-50: #eaf2eb;
    --green-100: #bed7bf;
    --green-200: #9fc3a1;
    --green-300: #73a876;
    --green-400: #58975b;
    --green-500: #2e7d32;
    --green-600: #2a722e;
    --green-700: #215924;
    --green-800: #19451c;
    --green-900: #133515;
    /* ================= RED ================= */
    --red-50: #fbeaea;
    --red-100: #f1bfbf;
    --red-200: #eb9f9f;
    --red-300: #e27474;
    --red-400: #dc5959;
    --red-500: #d32f2f;
    --red-600: #c02b2b;
    --red-700: #962121;
    --red-800: #741a1a;
    --red-900: #591414;
    /* ================= YELLOW ================= */
    --yellow-50: #fdf7ea;
    --yellow-100: #f8e6bd;
    --yellow-200: #f5d99d;
    --yellow-300: #f1c870;
    --yellow-400: #eebd55;
    --yellow-500: #eaad2a;
    --yellow-600: #d59d26;
    --yellow-700: #a67b1e;
    --yellow-800: #815f17;
    --yellow-900: #624912;
    /* ================================================= */
    /* SEMANTIC TOKENS                 */
    /* ================================================= */
    --surface-default: #ffffff;
    --surface-subdued: var(--grey-50);
    --surface-brand: var(--navyblue-900);
    --surface-brand-light: var(--navyblue-50);
    --text-primary: var(--grey-900);
    --text-secondary: var(--grey-600);
    --text-on-brand: #ffffff;
    --text-brand: var(--navyblue-900);
    --text-accent: var(--red-600);
    --border-default: var(--grey-200);
    --border-subdued: var(--grey-100);
    --border-brand: var(--navyblue-900);
    --action-primary-default: var(--crimsonred-600);
    --action-primary-hover: var(--crimsonred-700);
    --action-secondary-default: var(--oceanblue-500);
    --action-secondary-hover: var(--oceanblue-400);
    --action-disabled: var(--grey-300);
    --status-success-bg: var(--green-100);
    --status-success-text: var(--green-700);
    --status-error-bg: var(--red-100);
    --status-error-text: var(--red-600);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.navbar-toggler {
    height: fit-content;
    /*    padding:12px;*/

    display: flex;
    align-items: center
}

    .navbar-toggler svg {
        width: 20px;
        height: 30px
    }
/* ================= TEXT SIZE & WEIGHT ================= */
.text-xs {
    font-size: .75rem;
}

.text-sm {
    font-size: .875rem;
}

.text-base {
    font-size: 1rem;
}

.text-lg {
    font-size: 1.125rem;
}

.text-xl {
    font-size: 1.25rem;
}

.text-2xl {
    font-size: 1.5rem;
}

.text-3xl {
    font-size: 1.875rem;
}

.text-4xl {
    font-size: 2.25rem;
}

.text-5xl {
    font-size: 3rem;
}

.text-6xl {
    font-size: 3.75rem;
}

.text-7xl {
    font-size: 4.5rem;
}

.text-8xl {
    font-size: 6rem;
}

.text-9xl {
    font-size: 8rem;
}

.font-thin {
    font-weight: 100;
}

.font-extralight {
    font-weight: 200;
}

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-extrabold {
    font-weight: 800;
}

.font-black {
    font-weight: 900;
}

.leading-120 {
    line-height: 120%;
}

.leading-140 {
    line-height: 140%;
}

.leading-150 {
    line-height: 150%;
}

.leading-200 {
    line-height: 200%;
}

.tracking-wide {
    letter-spacing: 0.18px;
}

.tracking-wider {
    letter-spacing: 0.28px;
}

/* ================= TEXT ALIGN & STYLE ================= */
.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}

.underline {
    text-decoration: underline;
}

.line-through {
    text-decoration: line-through;
}

.no-underline {
    text-decoration: none;
}

.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

.list-none {
    list-style: none;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.break-words {
    overflow-wrap: break-word;
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ================= LAYOUT, FLEX & GRID ================= */
.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.flex-row {
    flex-direction: row;
}

.flex-row-reverse {
    flex-direction: row-reverse;
}

.flex-col {
    flex-direction: column;
}

.flex-col-reverse {
    flex-direction: column-reverse;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

.justify-start {
    justify-content: flex-start;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.justify-around {
    justify-content: space-around;
}

.justify-evenly {
    justify-content: space-evenly;
}

.items-start {
    align-items: flex-start;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: flex-end;
}

.items-stretch {
    align-items: stretch;
}

.items-baseline {
    align-items: baseline;
}

.content-start {
    align-content: flex-start;
}

.content-center {
    align-content: center;
}

.content-end {
    align-content: flex-end;
}

.content-between {
    align-content: space-between;
}

.content-around {
    align-content: space-around;
}

.flex-1 {
    flex: 1 1 0%;
}

.flex-auto {
    flex: 1 1 auto;
}

.flex-initial {
    flex: 0 1 auto;
}

.flex-none {
    flex: none;
}

.grow {
    flex-grow: 1;
}

.grow-0 {
    flex-grow: 0;
}

.shrink {
    flex-shrink: 1;
}

.shrink-0 {
    flex-shrink: 0;
}

.grid {
    display: grid;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.relative {
    position: relative;
}

.fixed-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

.z-2 {
    z-index: 2;
}

/* ================= SIZING & SPACING ================= */
.w-100 {
    width: 100%;
}

.w-fit {
    width: fit-content;
}

.max-w-420 {
    max-width: 420px;
}

.h-120 {
    height: 120px;
}

.gap-1 {
    gap: .25rem;
}

.gap-2 {
    gap: .5rem;
}

.gap-3 {
    gap: .75rem;
}

.gap-4 {
    gap: 1rem !important;
}

.gap-5 {
    gap: 1.25rem !important;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-8 {
    gap: 2rem;
}

.gap-10 {
    gap: 2.5rem;
}

.gap-12 {
    gap: 3rem;
}

.gap-6px {
    gap: 6px;
}

.gap-12px {
    gap: 12px;
}

.gap-20 {
    gap: 20px;
}

.gap-50 {
    gap: 50px;
}

.gap-custom-10 {
    gap: 10px
}

.py-10 {
    padding-top: 40px;
    padding-bottom: 40px;
}

.pt-2 {
    padding-top: 8px;
}

.pt-10 {
    padding-top: 40px;
}

.pt-14 {
    padding-top: 56px;
}

.pb-1\.5 {
    padding-bottom: 6px;
}

.pb-4 {
    padding-bottom: 16px !important;
}

.pb-6 {
    padding-bottom: 24px !important;
}

.pb-10 {
    padding-bottom: 40px;
}

.pb-14 {
    padding-bottom: 56px;
}

.pb-23 {
    padding-bottom: 92px;
}

.px-15 {
    padding-left: 15px;
    padding-right: 15px;
}

.p-30 {
    padding: 30px;
}

.mb-4 {
    margin-bottom: 16px;
}

.mb-200px {
    margin-bottom: 200px !important;
}

/* ================= COLORS & MISC UTILITIES ================= */
.bg-white {
    background-color: var(--surface-default, #ffffff);
}

.text-black {
    color: #000000;
}

.clr-crimsonred-500 {
    color: var(--crimsonred-500, #D80032);
}

.clr-oceanblue-500 {
    color: var(--oceanblue-500, #1E56A0);
}

.cursor-pointer {
    cursor: pointer;
}

.border-0 {
    border: 0;
}


/* ================= BASE UI COMPONENTS ================= */
.container {
    width: 100%;
    max-width: 1440px;
    padding-left: 60px;
    padding-right: 60px;
    margin: 0 auto;
}

.btn-red, .btn-outline-grey {
    /*    outline: none;*/
    border: none;
    display: flex;
    padding: 12px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 4px;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.16px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

#activity-section {
    scroll-margin-top: 100px;
}

#contact-form {
    scroll-margin-top: -200px;
}

::marker {
    font-size: 8px
}

.btn-red {
    /*    background: var(--red-500, #D32F2F);*/
    color: var(--background-surface-surface-default, #FFF);
}

.btn-outline-grey {
    border: 1px solid var(--text-icon-text-secondary, #696969);
    color: var(--text-icon-text-secondary, #696969);
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(3.5px);
}
/*.btn-outline-grey:hover {*/
/*        opacity: 0.9;*/
/*color: var(--text-icon-text-secondary, #696969);
    }
.btn-red:hover {*/
/*    opacity: 0.9;*/
/*color: var(--background-surface-surface-default, #FFF);
}*/

.btn-red::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--red-500, #D32F2F);
    z-index: -2;
}

.btn-red::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--red-600, #D32F2F);
    transition: all 0.3s;
    z-index: -1;
}

.btn-red:hover {
    color: #fff;
}

    .btn-red:hover::before {
        width: 100%;
    }

.btn-outline-grey::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*    border: 1px solid var(--text-icon-text-secondary, #696969);*/
    color: var(--text-icon-text-secondary, #696969);
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(3.5px);
    z-index: -2;
}

.btn-outline-grey::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    backdrop-filter: blur(4.5px);
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(0);
    transition: all 0.3s;
    z-index: -1;
}

.btn-outline-grey:hover {
    color: var(--text-icon-text-secondary, #696969);
}

    .btn-outline-grey:hover::before {
        width: 100%;
    }

a {
    text-decoration: none
}

.text-black {
    color: var(--text-icon-text-primary, #303030);
}
