main {
    padding: 0 !important;
}

.heroic-section {
    max-width: unset !important;
    position: relative;
    background: linear-gradient(135deg, #1E3A8A 0%, #2B3A55 35.36%, #312E81 70.71%);
    padding: 84px 0;

    color: white;

    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;

        h1 {
            font-weight: 600;
            font-size: var(--text-heading1);
            text-align: center;

            span {
                color: var(--color-secondary);
                font-weight: 600;
                font-size: var(--text-heading1);
            }
        }

        p {
            display: flex;
            align-items: center;
            text-align: center;
            gap: 4px;
        }

        .description-list {
            display: flex;
            gap: 16px;
        }
    }
}

.calculator-section {
    padding: var(--padding-main);

    .content {
        box-shadow: var(--shadow-card);
        border-radius: var(--card-radius);

        .header {
            background: linear-gradient(90deg, #2B3A55 0%, #1E3A8A 100%);
            padding: var(--padding-main);
            border-radius: 8px 8px 0 0;
            box-shadow: var(--shadow-card);

            color: white;

            div {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 8px;
            }

            h2 {
                font-weight: 600;
                font-size: var(--text-heading2);
            }
        }

        form {
            background-color: white;
            border-radius: 0 0 8px 8px;

            padding: var(--padding-main);
            width: 100%;
            background-color: var(--color-forground);
            border: 1px solid #0001;

            display: flex;
            flex-direction: column;
            align-items: center;
            gap: var(--padding-main);

            .needed-content {
                width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 16px;
            }

            .optional-content {
                width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 16px;

                background: linear-gradient(135deg, #EFF6FF 0%, #EEF2FF 70.71%);
                border-radius: var(--card-radius);
                padding: var(--padding-main);
                box-shadow: var(--shadow-card);

                .optional-header {
                    width: 100%;

                    display: flex;
                    flex-direction: row;
                    justify-content: space-between;
                    align-items: center;
                    cursor: pointer;

                    .left-side {
                        display: flex;
                        flex-direction: row;
                        align-items: end;
                        gap: 8px;

                        svg {
                            fill: var(--color-primary);
                            width: 36px;
                            height: 36px;
                        }

                        div {
                            display: flex;
                            flex-direction: row;
                            align-items: end;
                            gap: 8px;

                            h2 {
                                font-size: var(--text-heading2);
                                font-weight: 600;
                                color: var(--color-primary);
                            }

                            p {
                                margin-bottom: 4px;
                                text-align: left;
                            }
                        }
                    }


                }


                .is-SME-wrapper {
                    width: 100%;
                    padding: var(--padding-card);

                    box-shadow: var(--shadow-card);
                    border-radius: var(--box-radius);
                    border-left: 5px solid var(--color-primary);
                    background-color: white;

                    .is-SME {
                        width: 100%;
                        display: flex;
                        align-items: start;

                        input {
                            margin: 4px 16px 0 0;
                            cursor: pointer;
                        }

                        div {
                            display: flex;
                            flex-direction: column;
                            gap: 4px;

                            b {
                                font-weight: 600;
                            }

                            p {
                                text-align: left;
                            }
                        }
                    }
                }

                .optional-wrapper {
                    width: 100%;
                    display: grid;
                    grid-template-columns: repeat(2, 1fr);
                    gap: 16px;
                }

            }

            .form-group {
                width: 100%;
                display: flex;
                align-items: start;
                flex-direction: column;
                gap: 8px;

                label {
                    font-weight: bold;
                    font-size: var(--text-paragraph);
                }

                span {
                    color: red;
                    font-size: 14px;
                }

                p {
                    font-size: 14px;
                    text-align: left;
                }

                input,
                select,
                textarea {
                    width: 100%;
                    padding: var(--padding-button);
                    font-size: 14px;
                    border-radius: var(--box-radius);
                    border: 1px solid #0002;
                    outline: none;
                    background-color: #fff;
                    resize: vertical;

                    cursor: pointer;

                    &:focus {
                        box-shadow: var(--shadow-inset);
                    }
                }
            }

            p {
                color: var(--color-text);
                text-align: center;
                font-weight: 300;
            }

            button {
                width: 100%;
                border: none;
                border-radius: var(--box-radius);
                padding: var(--padding-button);
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;

                background: linear-gradient(90deg, #2B3A55 0%, #1E40AF 100%);

                color: #fff;
                font-weight: 600;

                cursor: pointer;
            }

            button:disabled {
                box-shadow: var(--shadow-inset);
                background: var(--color-text-white);
                color: white;
                cursor: not-allowed;
            }
        }
    }
}

.loader-section {
    padding: var(--padding-main);

    .content {
        box-shadow: var(--shadow-card);
        border-radius: var(--card-radius);

        padding: 96px 24px;
        background-color: white;

        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;

        .loader {
            border: 4px solid #fdae2640;
            border-top: 4px solid var(--color-secondary);
            width: 84px;
            height: 84px;
        }

        b {
            font-weight: 600;
            font-size: var(--text-heading3);
        }

        p {
            color: var(--color-text);
            text-align: center;
        }
    }
}

.result-section {
    padding: var(--padding-main);

    .content {
        box-shadow: var(--shadow-card);
        border-radius: var(--card-radius);

        padding: var(--padding-main);
        background-color: white;

        display: flex;
        flex-direction: column;
        gap: var(--padding-main);

        .header {
            display: flex;
            justify-content: space-between;

            button {
                height: min-content;
            }
        }

        .value-range {
            width: 100%;

            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 8px;

            background: linear-gradient(90deg, #2B3A55 0%, #1E3A8A 100%);
            border-radius: var(--box-radius);
            padding: var(--padding-main);

            color: white;

            h2 {
                font-size: 48px;
                text-align: center;
            }

            div {
                display: flex;
                flex-direction: row;
                gap: 8px;
                align-items: center;
                font-weight: 600;
            }
        }

        .visualization {
            .range-container {
                margin-top: 16px;
                width: 100%;
                padding: 48px 0;

                display: flex;
                flex-direction: column;
                align-items: center;

                background-color: #0001;
                border-radius: var(--card-radius);

                .color-range {
                    margin-top: 33px;
                    width: 80%;

                    .color {
                        width: 100%;
                        height: 48px;
                        background: linear-gradient(90deg, #cc71b4 0%, #ff8418 25%, #ffaa18 50%, #32a2b9 75%, #1E3A8A 100%);
                        border-radius: var(--card-radius);
                        box-shadow: var(--shadow-card);

                        .point {
                            background-color: black;
                            width: 3px;
                            height: 100%;

                            margin-left: 50%;

                            position: relative;

                            p {
                                position: absolute;
                                z-index: 2;

                                bottom: 52px;
                                transform: translateX(-50%);


                                background-color: var(--color-secondary);
                                font-weight: 600;
                                border-radius: var(--box-radius);
                                padding: 4px 8px;
                            }
                        }
                    }


                }

                .labels {
                    margin-top: 4px;
                    width: 90%;

                    display: flex;
                    flex-direction: row;
                    justify-content: space-between;

                    color: var(--color-text);
                }

                .meanings {
                    margin-top: 24px;
                    width: 100%;

                    display: flex;
                    justify-content: center;
                    flex-direction: row;
                    gap: 32px;

                    .meaning {
                        margin-top: 8px;
                        display: flex;
                        align-items: start;
                        gap: 8px;

                        white-space: nowrap;

                        div {
                            width: 18px;
                            height: 18px;
                            border-radius: 4px;
                        }
                    }
                }
            }


        }

        .benchmark-comparison {
            .values {
                margin-top: 16px;

                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 16px;

                div {
                    border: 1px solid #0002;
                    border-radius: var(--card-radius);
                    padding: var(--padding-card);

                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: var(--padding-card);

                    b,
                    p {
                        color: #0008;
                    }
                }
            }
        }

        .disclaimer {
            border-radius: var(--card-radius);
            padding: var(--padding-main);
            background-color: #0001;

            p {
                margin-top: 16px;
                color: var(--color-text)
            }
        }

        .btn-container {
            width: 100%;

            display: flex;
            flex-direction: row;
            gap: 16px;

            white-space: nowrap;

            button {
                display: flex;
                justify-content: center;
            }

            button:nth-child(1) {
                width: 100%;
            }

            button:nth-child(2) {
                background-color: #fff;
                border: 1px solid #0002;
                border-radius: var(--box-radius);
                box-shadow: initial;

                &:hover {
                    box-shadow: var(--shadow-inset);
                }
            }
        }

        .need-detailed-valuation {
            background: linear-gradient(90deg, #2B3A55 0%, #1E3A8A 100%);

            padding: var(--padding-main);
            border-radius: var(--card-radius);

            display: flex;
            flex-direction: column;
            align-items: center;
            gap: var(--padding-card);

            h3 {
                color: white;
            }

            p {
                color: white;
            }
        }

        hr {
            border-color: #0002;
        }

        h2 {
            font-weight: 600;
            font-size: var(--text-heading2);
        }

        h3 {
            font-weight: 600;
            font-size: var(--text-heading3);

            display: flex;
            flex-direction: row;
            gap: 4px;

            svg {
                fill: var(--color-secondary);
            }
        }

        b {
            font-weight: 600;
        }

        button {
            background-color: var(--color-secondary);
            border: none;
            border-radius: var(--box-radius);

            padding: var(--padding-button);
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 8px;

            font-weight: 600;

            box-shadow: var(--shadow-card);
            transition: all 0.3s ease;

            cursor: pointer;

            svg {
                fill: black;
            }

            &:hover {
                box-shadow: var(--shadow-inset);
            }
        }

        ul {
            margin: 0;
            padding: 20px 24px 0 24px;

            display: flex;
            flex-direction: column;

            gap: var(--padding-card);

            li {
                margin-left: var(--padding-main);

                &&::marker {
                    color: var(--color-secondary);
                }
            }


        }
    }
}

.why-trust-section {
    max-width: unset !important;

    background-color: white;

    .content {
        padding: 60px var(--padding-main);

        display: flex;
        flex-direction: column;
        align-items: center;

        gap: 16px;

        h2 {
            font-weight: 600;
            font-size: var(--text-heading2);

            display: flex;
            align-items: center;
            gap: 4px;

            svg {
                width: var(--text-heading2);
                height: var(--text-heading2);
            }
        }

        p {
            text-align: center;
        }

        .description-list {
            margin-top: 16px;
            padding: 0 var(--padding-main);

            display: grid;
            grid-template-columns: repeat(3, 300px);
            gap: 20px;


            div {
                display: flex;
                flex-direction: column;
                gap: 8px;
                padding: var(--padding-main);
                border-radius: var(--card-radius);
                box-shadow: var(--shadow-card);

                svg {
                    width: 48px;
                    height: 48px;
                    padding: 8px;
                    border-radius: var(--box-radius);
                }

                h2 {
                    font-size: var(--text-heading3);
                    font-weight: 600;
                }

                p {
                    color: var(--color-text);
                    font-weight: 300;
                    text-align: left;
                }
            }
        }
    }
}

@media only screen and (max-width:1200px) {
    .heroic-section .description-list p {
        flex-direction: column;
    }

    .calculator-section .content form .optional-content .optional-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }

    .why-trust-section .content .description-list {
        grid-template-columns: repeat(2, 300px);
    }
}

@media only screen and (max-width:800px) {
    .heroic-section .description-list p {
        flex-direction: column;
    }

    .calculator-section .content form .optional-content {
        .optional-header .left-side {
            align-items: start;

            div {
                flex-direction: column;
                align-items: start;

                p {
                    margin-top: -4px;
                }
            }
        }

        .optional-wrapper {
            grid-template-columns: repeat(1, 1fr);
        }
    }


    .result-section {
        .content {
            .header {
                display: flex;
                justify-content: space-between;
            }

            .value-range {
                width: 100%;

                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 8px;

                background: linear-gradient(90deg, #2B3A55 0%, #1E3A8A 100%);
                border-radius: var(--box-radius);
                padding: var(--padding-main);

                color: white;

                h2 {
                    font-size: 48px;
                }

                div {
                    display: flex;
                    flex-direction: row;
                    gap: 8px;
                    align-items: center;
                    font-weight: 600;
                }
            }

            .visualization {
                .range-container {
                    .meanings {
                        width: 100%;

                        display: flex;
                        justify-content: center;
                        flex-direction: row;
                        gap: 4px;

                        .meaning {
                            width: 32%;
                            margin-top: 8px;
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            gap: 4px;

                            white-space: nowrap;

                            div {
                                width: 18px;
                                height: 18px;
                                border-radius: 4px;
                            }
                        }
                    }
                }
            }

            .benchmark-comparison .values {
                margin-top: 16px;

                display: grid;
                grid-template-columns: repeat(1, 1fr);
                gap: 16px;
            }


            .disclaimer {
                border-radius: var(--card-radius);
                padding: var(--padding-main);
                background-color: #0001;

                p {
                    margin-top: 16px;
                    color: var(--color-text)
                }
            }

            .btn-container {
                flex-direction: column;
            }

            hr {
                border-color: #0002;
            }

            h2 {
                font-weight: 600;
                font-size: var(--text-heading2);
            }

            h3 {
                font-weight: 600;
                font-size: var(--text-heading3);

                display: flex;
                flex-direction: row;
                gap: 4px;

                svg {
                    fill: var(--color-secondary);
                }
            }

            b {
                font-weight: 600;
            }

            button {
                background-color: var(--color-secondary);
                border: none;
                border-radius: var(--box-radius);

                padding: var(--padding-button);
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: 8px;

                font-weight: 600;

                box-shadow: var(--shadow-card);
                transition: all 0.3s ease;

                cursor: pointer;

                svg {
                    fill: black;
                }

                &:hover {
                    box-shadow: var(--shadow-inset);
                }
            }

            ul {
                margin: 0;
                padding: 20px 24px 0 24px;

                display: flex;
                flex-direction: column;

                gap: var(--padding-card);

                li {
                    margin-left: var(--padding-main);

                    &&::marker {
                        color: var(--color-secondary);
                    }
                }


            }
        }
    }

    .why-trust-section .content .description-list {
        grid-template-columns: repeat(1, 1fr);
    }
}