@import url(https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap);

.dot-circle.bottom-left,
.dot-circle.bottom-right {
    bottom: -5px;
    top: auto;
}

@font-face {
    font-family: SFProDisplay;
    src: url("/assets/app/fonts/SF-Pro-Display-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: SFProDisplay;
    src: url("/assets/app/fonts/SF-Pro-Display-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: SFProDisplay;
    src: url("/assets/app/fonts/SF-Pro-Display-Semibold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: SFProDisplay;
    src: url("/assets/app/fonts/SF-Pro-Display-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

:root {
    --color-body: #fff;
    --outer-border-color: #e4e4e4;
    --gradient-color: linear-gradient(90deg, #fff 0%, #d7d7d7 100%);
    --outer-border-space-xl: 80px;
    --outer-border-space-max-xl: 16px;
    --outer-border-height: 1.5px;
}

body,
html {
    overflow-x: hidden;
}

body {
    font-family: SFProDisplay, sans-serif;
}

a,
button {
    cursor: pointer;
}

@layer utilities {
    .font-inter {
        font-family: "Inter Tight", sans-serif;
    }

    .font-sfPro {
        font-family: SFProDisplay, sans-serif;
    }

    .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 40;
        background: rgba(0, 0, 0, 0.2);
    }
}

@layer components {
    .container {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1rem;
        padding-right: 1rem;
    }

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

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

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

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

.animate-pulse-smooth {
    animation: 1.5s ease-in-out infinite pulseSmooth;
}

@keyframes pulseSmooth {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.8;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.header-fixed .vertical-line-left::before,
.header-fixed .vertical-line-right::after {
    height: calc(100% - 22px) !important;
}

.header-fixed .dot-circle {
    top: calc(50% - 10px) !important;
}

.header_wrapper .vertical-line-left::before,
.header_wrapper .vertical-line-right::after {
    top: -26px;
    height: calc(100% - 10px);
}

.header_wrapper .dot-circle {
    top: calc(50% + 1px);
    transform: translateY(-50%);
}

.vertical-line-left {
    position: relative;
    z-index: 10;
}

.vertical-line-left.container,
.vertical-line-right.container {
    position: static;
}

.vertical-line-left::before,
.vertical-line-right::after {
    position: absolute;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: var(--outer-border-color);
    content: "";
    transition: 0.5s ease-in-out;
}

.vertical-line-left::before {
    left: var(--outer-border-space-max-xl);
}

.vertical-line-right::after {
    right: var(--outer-border-space-max-xl);
}

.dot-circle.center,
.horizontal-line::before {
    top: 50%;
    transform: translateY(-50%);
}

.horizontal-line {
    position: relative;
    padding: 0 16px;
}

.horizontal-line::before {
    content: "";
    position: absolute;
    left: -100dvw;
    z-index: 10;
    width: 200dvw;
    height: 1px;
    background: var(--outer-border-color);
}

.dot-circle.bottom-right,
.dot-circle.right {
    left: auto;
    right: calc(var(--outer-border-space-max-xl) - 4.5px);
}

.dot-circle {
    position: absolute;
    top: -5px;
    left: calc(var(--outer-border-space-max-xl) - 4px);
    z-index: 40;
    width: 10px;
    height: 10px;
    border: 1.5px solid #ebebeb;
    border-radius: 50%;
    transition: 0.5s ease-in-out;
    background-color: #fff;
}

@media (max-width: 1050px) {

    .container,
    .custom-container {
        max-width: calc(100% - 24px);
    }
}

@media (max-width: 767px) {

    .header_wrapper .vertical-line-left::before,
    .header_wrapper .vertical-line-right::after {
        top: -16px;
    }
}

@media (min-width: 1024px) {
    .vertical-line-left::before {
        width: 1.5px;
    }

    .horizontal-line::before {
        height: 1.5px;
    }

    .dot-circle {
        border-width: 1px;
    }
}

@media (min-width: 1750px) {
    .vertical-line-left::before {
        left: var(--outer-border-space-xl);
    }

    .vertical-line-right::after {
        right: var(--outer-border-space-xl);
    }

    .dot-circle,
    .dot-circle.bottom-left {
        left: calc(var(--outer-border-space-xl) - 4px);
    }

    .dot-circle.bottom-right,
    .dot-circle.right {
        right: calc(var(--outer-border-space-xl) - 5px);
    }
}

.select2-container,
.select2-container .selection,
.select2-selection {
    text-align: start;
    width: 100% !important;
}

.select2-container .select2-selection {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: black;
    height: 40px;
    border: none;
    padding: 0 4px;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px 0 rgba(11, 18, 52, 0.15),
        0 0 0 1px rgba(11, 18, 52, 0.1);
    background: #fff;
}

.select2-container .select2-selection__arrow {
    top: 9px !important;
    right: 2px !important;
}

.select2-container .select2-selection__rendered {
    color: #0b1234;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
}

.select2-container .select2-dropdown {
    border-radius: 8px;
    padding: 8px;
    border: 1px solid #eaeaee;
    background: #fff;
    box-shadow: 0 5px 31px -2px rgba(6, 8, 16, 0.17);
}

.select2-container .select2-results__options .select2-results__option {
    color: #0b1234;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    padding: 8px 12px;
    border-radius: 8px;
    margin-top: 2px;
}

.select2-container .select2-results__options .select2-results__option.select2-results__option--highlighted {
    background-color: #f5f6f8 !important;
}

@media (max-width: 1024px) {

    .select2-container .select2-selection,
    .select2-container .select2-dropdown {
        border-radius: 6px !important;
    }
}
