.form-main {
    .form-info {
        padding: 0 0 30px;
    }

    textarea {
        height: initial;
        min-height: 100px;
    }

    .checkbox {
        display: block;
        padding-left: 30px;
        cursor: pointer;
        position: relative;

        input[type="checkbox"] {
            position: absolute;
            left: -9999px;
        }

        input + i {
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 20px;
            height: 20px;
            outline: 0;
            background: #FFF;
            border: 1px solid #BDBDBD;
            transition: border-color .3s;

            &:after {
                position: absolute;
                opacity: 0;
                transition: opacity .1s;
                color: #3276B1;
                content: '\f00c';
                top: -1px;
                left: 1px;
                width: 15px;
                height: 15px;
                font: 400 16px/19px FontAwesome;
                text-align: center;
            }
        }

        input:disabled + i {
            background: #fbfbfb;
        }

        input:checked + i {
            border-color: #3276B1;

            &:after {
                opacity: 1;
            }
        }

        input:checked:disabled + i {
            border-color: #BDBDBD;
        }

        a {
            color: inherit;
            text-decoration: underline;
        }
    }

    form {
        .form-group {
            margin-bottom: 25px;

            label:has(+ input[type='text'], + input[type='email'], + textarea) {
                font-weight: bold;

                &:after {
                    content: ':';
                }
            }

            label:has(+[required]) {
                &:before {
                    content: '* ';
                    color: red;
                }
            }
        }
    }

    &.form-main-style-1 {
        form {
            @media (min-width: 767px) {
                .form-group {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 10px;

                    label:has(+ input[type='text'], + input[type='email'], + textarea) {
                        flex: 0 0 33.333%;
                        max-width: 33.33%;
                        text-align: right;
                        padding-top: 16px;
                    }

                    label.checkbox {
                        margin-left: calc(33.33% + 10px);
                    }

                    input[type='text'], input[type='email'], textarea {
                        flex: 1;
                        margin-top: 0;
                    }

                    .text-warning {
                        width: calc(66.66% - 10px);
                        margin-left: auto;
                    }

                    &:has(.custom-btn) > div {
                        width: calc(66.66% - 10px);
                        margin-left: auto;
                    }
                }
            }
        }
    }

    &.form-main-style-2 {
        .container {
            max-width: 640px;
        }
    }
}