html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font: 112.5% / 1.45em georgia, serif, sans-serif;
    box-sizing: border-box;
    overflow-y: scroll;
}

body {
    color: #475163;
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 1280px) {
    body {
        font-size: 15px;
    }
}

@media (max-width: 780px) {
    body {
        font-size: 14px;
    }
}

h1 {
    font-weight: bold;
    font-size: 2.4em;
    margin: 0 0 0.7em 0;
}

h2 {
    font-weight: 600;
    font-size: 1.9em;
    margin: 0 0 0.8em 0;
}

h2 .subheader {
    font-size: 0.75em;
    text-transform: uppercase;
    margin-left: 3px;
}

h3 {
    font-size: 1.3em;
    font-weight: normal;
    margin: 0 0 0.5em 0;
}

h4 {
    font-size: 1.1em;
    font-weight: 600;
    margin: 0 0 0.7em 0;
}

h5 {
    font-size: 0.9em;
    font-weight: 600;
    margin: 0 0 0.8em 0;
}

hr {
    height: 1px;
    background: #dbdbdb;
    border: none;
    margin-bottom: 1.2em;
}

.hidden {
    display: none;
}

.navbar {
    --ease: all 300ms ease;
    background: #222e3f !important;
    opacity: 1;
    padding: 18px 27px;
    transition: var(--ease);
}

a, li, p {
    line-height: 1.6;
    margin: 0;
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    font-weight: 400;
}

@media screen and (min-width: 320px) {
    .btn--3, .f4, a, li, p {
        font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    }
}

.nav-link {
    padding: 7px 20px;
    color: #fff !important;
    transition-duration: .3s;
    font-size: calc(8px + 6 * (100vw - 320px) / 1080);
    font-weight: bold;
    text-transform: uppercase;
    text-wrap: nowrap;
}

.nav-link:hover {
    color: #38af85 !important;
}

.nav-button {
    background: #38af85;
    border-radius: 1em;
    padding: .5em 1.5em !important;
}

.nav-button:hover {
    color: white !important;
    background: #2c8868;
}

.nav-non-scrolled {
    position: absolute;
    left: 0;
    right: 0;
}

.nav-scrolled {
    padding: 9px 27px;
    opacity: 1;
}

.section-dark {
    background: #3f4b62;
    color: #fff;
    padding-right: 27px;
    padding-left: 27px;
}

.marker {
    color: #38af85;
}

.chow-title {
    min-height: 4em;
}

.section-title {
    line-height: 1.3;
    /*font-size: 40px;*/
    font-size: calc(20px + 16 * (100vw - 320px) / 1080);
    font-weight: bold;
    color: #222e3f;
}

.intro-section {
    /*position: absolute;*/
    /*top: 0;*/
    /*left: 0;*/
    /*right: 0;*/
}

.btn {
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
    width: fit-content;
    border-radius: 1em;
    padding: 1.5em 2.5em;
    font-weight: 700;
    text-transform: uppercase;
    transition: .5s;
    display: flex;
    align-items: center;
}

.transparent-button {
    border: 2px solid white !important;
    color: white;
    background: transparent;
}

.transparent-button:hover {
    background: #fff;
    color: #3f4b62;
}

.transparent-dark-button {
    border: 2px solid #3f4b62 !important;
    color: #3f4b62;
    background: transparent;
}

.transparent-dark-button:hover {
    background: #3f4b62;
    color: #fff;
}

.green-button {
    border: 2px solid #38af85 !important;
    color: white !important;
    background: #38af85;
}

.green-button:hover {
    border: 2px solid #2c8868 !important;
    background: #2c8868;
}

.small-font {
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
}

.dark-subtitle {
    font-weight: bold;
    font-size: calc(20px + 6 * (100vw - 320px) / 1080);
    line-height: 1.3;
}

.article-text-short {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.green-subtitle {
    color: #38af85;
    line-height: 1.3;
    font-weight: 700;
    font-size: calc(18px + 2 * (100vw - 320px) / 1080);
}

.how-it-works-text {
    line-height: 1.6;
    font-weight: 400;
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
}

@media screen and (min-width: 1400px) {
    a, li, p {
        font-size: 18px;
    }

    .how-it-works-text {
        font-size: 18px;
    }
}

.green-link {
    color: #38af85;
    font-weight: bold;
    text-transform: uppercase;
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    text-decoration: none;
    transition: .5s;
}

.green-link:hover {
    color: #222e3f;
}

.green-link-button {
    color: #38af85;
    font-weight: bold;
    text-transform: uppercase;
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    text-decoration: none;
    transition: .5s;
    padding: 0;
    border: none;
    background: transparent;
}

.green-link-button:hover {
    color: #222e3f;
}

.how-menu-item {
    min-width: 50%;
    display: flex;
    align-items: center;
    margin: 0 0 20px;
    color: #fff;
    text-align: left;
    width: fit-content;
    font-size: 1.2em;
    background: none;
    border: none;
}

.how-number {
    width: 66px;
    height: 66px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: hsla(0, 0%, 100%, .8);
    color: #3f4b62;
    line-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 15px 0 0;
    font-weight: 400;
}

.how-menu-item.active > .how-number {
    background: #38af85;
    color: #fff;
}

.how-menu-item.active > .how-menu-title {
    color: #7ec0fd;
    font-weight: 700;
    border-bottom: 2px solid #7ec0fd;
}

.for-who-tab-left {
    border-top-left-radius: .3em;
    border-bottom-left-radius: .3em;
}

.for-who-tab-right {
    border-top-right-radius: .3em;
    border-bottom-right-radius: .3em;
}

.for-who-tab {
    padding: 1em;
    line-height: 1.4;
    text-transform: uppercase;
    border: none;
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
    background: #f5f8fb;
    font-weight: bold;
}

.for-who-tab.active {
    background: #3f4b62;
    color: white;
}

.section-light {
    color: #222e3f;
}

.use-case-box {
    background: #f5f8fb;
    margin-bottom: 1em;
    padding: 1em;
}

.article-image {
    border-radius: 2rem;
    height: 180px;
}

.border-radius-img {
    border-radius: 2rem;
}

blockquote {
    background: #f9f9f9;
    border-left: 10px solid #ccc;
    padding: 0.5em 10px;
    quotes: "\201C" "\201D" "\2018" "\2019";
}

blockquote:before {
    color: #ccc;
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
}

.contact-box {
    background: #fff;
    border-radius: 2rem;
    color: #222e3f !important;
}

.contact-green-text {
    color: #38af85;
    text-transform: uppercase;
    font-weight: bold;
    font-size: .85028rem;
}

.contact-dark-text {
    font-weight: bold;
    font-size: calc(18px + 2 * (100vw - 320px) / 1080);
    line-height: 1.6;
}

.chow-hr {
    border-top: 1px solid #8e8e8e;
}

.green-hr {
    border-top: 1px solid #38af85;
}

.contact-person-img {
    border-radius: 50%;
}

.contact-person-role {
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
}

.contact-link {
    text-decoration: none;
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    color: #222e3f;
    transition: .5s;
}

.contact-link:hover {
    color: #38af85;
}

.input-label {
    font-weight: bold;
    text-transform: uppercase;
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
}

.chow-input {
    padding: .8em;
    border-radius: .7rem;
    background: transparent linear-gradient(180deg, #fff, #f4f8fb 100%, #f4f8fb 0) 0 0 no-repeat padding-box;
    border: 1px solid #dbe0ea;
}

.chow-input:focus {
    outline: none;
    border: 1px solid #3f4b62;
    box-shadow: none;
}

textarea.chow-input {
    min-height: 10rem;
    resize: vertical;
}

.red-text {
    color: red;
}

.button-link {
    border: none;
    background: transparent;
    text-align: start;
}

.trusted-us-title {
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    font-weight: bold;
    text-transform: uppercase;
}

.trusted-us-box {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe0ea;
}

.navigation-wrapper {
    position: relative;
}

.arrow {
    background: #38af85;
    padding: 10px;
    width: 24px;
    height: 24px;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    fill: #fff;
    cursor: pointer;
}

.arrow--left {
    left: -40px;
    background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24' %3E%3Cpath d='M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z' %3E%3C/path%3E%3C/svg%3E");
}

.arrow--right {
    left: auto;
    right: -40px;
    background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='white'  viewBox='0 0 24 24' %3E%3Cpath d='M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z'%3E%3C/path%3E%3C/svg%3E");
}

.arrow--disabled.arrow--left {
    background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24' %3E%3Cpath d='M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z' %3E%3C/path%3E%3C/svg%3E");
}

.arrow--disabled.arrow--right {
    background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24' %3E%3Cpath d='M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z'%3E%3C/path%3E%3C/svg%3E");
}

.footer {
    background: #222e3f;
    color: white;
}

.footer-text {
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
    text-transform: uppercase;
}

.footer-link {
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    transition: .0s;
    padding: 0;
    background: transparent;
    border: none;
}

.footer-link:hover {
    color: #38af85;
}

.footer-link.active {
    color: #7ec0fd;
    pointer-events: none;
}

.scroll-item {
    cursor: pointer;
}

.modal-content {
    border-radius: 30px 0 0 30px;
}

.chow-close-btn {
    border: none;
    background: none;
    position: absolute;
    right: 10px;
}

.dark-bg-header {
    background: #3f4b62;
    color: white;
    text-align: center;
    text-transform: uppercase;
    padding: 1em;
    font-weight: bold;
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
}

.green-bg-header {
    background: #38af85;
    color: white;
    text-align: center;
    text-transform: uppercase;
    padding: 1em;
    font-weight: bold;
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
}

.modal-sm-text {
    font-size: .85em;
    line-height: 1.3;
}

.hashtag {
    font-weight: bold;
    color: #222e3f;
    text-transform: uppercase;
    background: #7ec0fd;;
    padding: .4em;
    border-radius: 3px;
    line-height: 1.3;
    font-size: calc(10px + 3 * (100vw - 320px) / 1080);
}

.modal-subtitle {
    text-transform: uppercase;
    color: #38af85;
    font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    line-height: 1.3;
    font-weight: bold;
}

.colored-scrollbar::-webkit-scrollbar, .modal-body::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.colored-scrollbar::-webkit-scrollbar-thumb, .modal-body::-webkit-scrollbar-thumb {
    background: #38af85;
}

.colored-scrollbar::-webkit-scrollbar-track, .modal-body::-webkit-scrollbar-track {
    background: #dfdfdf;
}

.img-border-radius {
    border-radius: 1em;
}

.subpage-title {
    line-height: 1.3;
    font-weight: bold;
    font-size: calc(19px + 6 * (100vw - 320px) / 1080);
}

.additional-text {
    font-size: .9em;
    font-style: italic;
}

.special-fields {
    position: absolute;
    left: -9999px;
    visibility: hidden;
}

.text-justify {
    text-align: justify;
}

.navbar-toggler {
    color: white;
    border: none;
    padding: 0;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-toggler:focus-visible {
    outline: -webkit-focus-ring-color auto 0;
}

.error-input {
    border: 1px solid red;
    width: fit-content;
}

.chow-success {
    background: #38af85;
    color: white;
    border-radius: 1em;
    padding: 1em;
}

.new-menu-item {
    position: absolute;
    top: -10px;
    right: -10px;
    border-radius: 1em;
    background-color: #E40D0D;
    color: white;
    text-align: center;
    font-size: calc(7px + 3 * (100vw - 320px) / 1080);
    width: fit-content;
    padding: 0 7px;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.new-red-info {
    border-radius: 1em;
    background-color: #E40D0D;
    color: white;
    text-align: center;
    font-size: calc(5px + 3 * (100vw - 320px) / 1080);
    width: fit-content;
    padding: 0 7px;
    font-weight: bold;
    letter-spacing: 0.5px;
    vertical-align: middle;
}

.page-new-info {
    padding-top: 1px;
    padding-bottom: 2px;
    font-size: calc(7px + 3 * (100vw - 320px) / 1080);
}

.language-select {
    width: fit-content;
    background-color: transparent;
    border: none;
    color: #fff;
    padding-left: 0.5rem;
    padding-right: 25px;
    border-radius: 4px;
    cursor: pointer;
    font-size: calc(8px + 6 * (100vw - 320px) / 1080);
    font-weight: bold;
    appearance: none; /* Usuń domyślny styl przeglądarki */
    -webkit-appearance: none; /* Dla przeglądarek opartych na WebKit (Chrome, Safari) */
    -moz-appearance: none; /* Dla Firefox */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>'); /* Strzałka w kolorze białym */
    background-repeat: no-repeat;
    background-position: right 8px center;
}

.language-select:focus {
    outline: none;
    box-shadow: none;
}

.language-select option {
    background-color: #222e3f; /* Ciemne tło */
    color: #fff; /* Biała czcionka */
    font-size: calc(8px + 6 * (100vw - 320px) / 1080);
    font-weight: bold;
}

/* Dla lepszej czytelności w niektórych przeglądarkach */
.language-select::-ms-expand {
    display: none; /* Ukryj domyślną strzałkę w IE */
}

.feature-tag {
    position: absolute;
    left: 20px;
    top: 20px;
    border-radius: 1em;
    /*background-color: #38af85;*/
    background-color: #E40D0D;
    color: white;
    text-align: center;
    font-size: calc(8px + 3*(100vw - 320px) / 1080);
    width: fit-content;
    padding: 2px 8px;
    font-weight: bold;
    letter-spacing: 1px;
    vertical-align: middle;
}

@media only screen and (max-width: 1100px) {
    .chow-title {
        min-height: 6em;
    }
}

@media only screen and (max-width: 945px) {

}

@media only screen and (max-width: 766px) {
    .nav-link:first-child {
        margin-top: 1em;
    }

    .chow-title {
        min-height: 4em;
    }

    .new-menu-item {
        position: initial;
    }
}

@media only screen and (max-width: 991px) {
    .nav-link {
        margin-left: 0 !important;
        text-align: center;
        line-height: 1.6;
        width: 100%;

        font-size: calc(13px + 5 * (100vw - 320px) / 1080);
        margin-bottom: 1em;
    }

    .new-button-flex-mobile {
        display: flex;
        justify-content: start;
        align-items: center;
    }

    .language-select, .language-select option {
        font-size: calc(13px + 5 * (100vw - 320px) / 1080);
    }
}

@media only screen and (max-width: 540px) {
    .chow-title {
        min-height: 6em;
    }
}

@media screen and (min-width: 1400px) {
    .nav-link, .language-select, .language-select option {
        font-size: 14px;
    }
}

@media screen and (min-width: 1400px) {
    h1, h2, .section-title {
        font-size: 2rem;
    }
}

@media screen and (min-width: 1400px) {
    .dark-subtitle {
        font-size: 26px;
    }
}

@media screen and (min-width: 1400px) {
    h3, .green-subtitle, .how-menu-title {
        font-size: 20px;
    }
}

@media screen and (min-width: 1400px) {
    .button, h4, label, .for-who-tab, .btn, .input-label, .footer-text, .dark-bg-header, .green-bg-header {
        font-size: 13px;
    }
}

@media screen and (min-width: 1400px) {
    a, li, p, .green-link-button, .green-link, .contact-link, .trusted-us-title, .modal-subtitle {
        font-size: 18px;
    }
}

@media screen and (min-width: 768px) {
    .intro-image-position {
        position: absolute;
        right: 0;
        height: 47%;
        width: auto;
        max-width: 50%;
    }
}

@media screen and (min-width: 970px) {
    .intro-image-position {
        height: 60%;
    }
}

@media screen and (min-width: 1150px) {
    .intro-image-position {
        height: 73%;
    }
}

@media screen and (max-width: 1100px) {
    .nav-link {
        margin-left: 1rem !important;
    }
}

@media screen and (min-width: 1330px) {
    .intro-image-position {
        height: 65%;
    }
}

@media screen and (min-width: 2000px) {
    .intro-image-position {
        position: initial;
        right: 0;
        height: 100%;
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 991.98px) {
    #navBars {
        position: fixed;
        top: 0;
        left: -100%; /* Ukryj menu poza ekranem */
        width: 75%; /* Szerokość menu */
        height: 100vh;
        background-color: #222e3f;
        transition: left 0.5s ease-in-out;
        z-index: 1000;
        overflow-y: auto;
    }

    #navBars.show {
        left: 0; /* Pokaż menu */
    }

    .navbar-collapse {
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem;
    }

    .navbar-toggler {
        z-index: 1001; /* Przycisk toggler na wierzchu */
    }

    .navbar-brand {
        z-index: 1001; /* Logo na wierzchu */
    }

    .nav-link {
        margin-left: 0 !important;
        text-align: start;
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
}
