// Contact form 7
.wpcf7 {
    .wpcf7-form {
        display: flex;
        flex-wrap: wrap;
        @include grid-support {
            display: grid;
            grid-gap: 10px;
        }
        .wpcf7-form-control-wrap {
            flex: 1 1 auto;
            padding: 10px;
            position: relative;
            @include grid-support {
                padding: 0;
            }
            .wpcf7-not-valid-tip {
                position: absolute;
                font-size: 12px;
                top: 50%;
                right: 15px;
                transform: translateY(-50%);
            }
            &.your-message {
                flex: 1 1 100%;
            }
            &.acceptance {
                .wpcf7-acceptance {
                    padding: 0;
                    border: 0;
                    position: relative;
                    label {
                        input[type="checkbox"] {
                            visibility: hidden;
                            position: absolute;
                            height: 0;
                            width: 0;
                        }
                        .wpcf7-list-item-label {
                            position: relative;
                            padding-left: 24px;
                            cursor: pointer;
                            &:before {
                                display: inline-block;
                                content: '';
                                border: solid 1px #000;
                                width: 20px;
                                height: 20px;
                                position: absolute;
                                left: 0;
                                top: 0;
                            }
                            &:after {
                                display: inline-block;
                                content: '\2714';
                                position: absolute;
                                left: 3px;
                                top: 0;
                                opacity: 0;
                            }
                        }
                        input[type="checkbox"]:checked~.wpcf7-list-item-label:after {
                            opacity: 1;
                        }
                    }
                }
                .wpcf7-not-valid-tip {
                    position: relative;
                    font-size: 14px;
                    top: auto;
                    right: auto;
                    margin-left: 40px;
                    margin-top: 5px;
                }
            }
            
        }
        
        // Inputs
        .wpcf7-form-control {
            width: 100%;
            padding: 10px;
            border: 1px solid;
            outline: 0;
        }
        
        // Submit button 
        .wpcf7-submit {
            outline: 0;
            opacity: 1;
            transition: opacity 0.3s ease-in-out;
            cursor: pointer;
            &:hover {
                opacity: 0.7;
                transition: opacity 0.3s ease-in-out;
            }
            @media(max-width: $tablet) {
                margin: 0 10px;
                max-width: none;
            }
        }
    }
    
    // Ajax loader
    span.ajax-loader {
        background-image: none;
        display: block;
        position: relative;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        border: 3px solid #e2e2e2;
        border-top-color: #3d3d3d;
        z-index: 1001;
        -webkit-animation: spin 2s linear infinite; 
        animation: spin 2s linear infinite; 
    }

    // Output message
    .wpcf7-response-output {
        border: 0;
        margin: 0;
    }
}