.form-group{
    position: relative;
    margin-bottom: 32px;
    label:has( ~ .form-control), label:has( ~ .input-group .form-control), label:has(~ .between){
        padding: 0 20px;
        position: absolute;
        transition: all .2s ease-in-out;
        top: 17px;
        left: 2px;
        color: #000;
        background: #fff;
        font-size: 14px;
        line-height: 27px;
        pointer-events: none;
        @media (min-width: 768px){
            font-size: 16px;
        }
        sup{
            line-height: 1;
        }
    }
    .form-control{
        padding: 17px 12px 16px 16px;
        font-size: 14px;
        display: block;
        outline: 0;
        appearance: none;
        line-height: 27px;
        height: 60px;
        color: #000;
        width: 100%;
        border: 2px solid #676767;
        border-radius: 0;
        float: none;
        @media (min-width: 1024px){
            font-size: 16px;
        }
        &::placeholder{
            /*font-size: 0;*/
        }
    }
    textarea{
        height: auto !important;
    }
    select{
        &:has( ~ .nice-select){
            border: 0;
        }
    }
    .label-checkbox{
        display: flex;
        align-items: flex-start;
        cursor: pointer;
        gap: 10px;
        width: 100%;
        span{
            display: inline-block;
            vertical-align: middle;
            transition: all 0.3s ease-in-out;
            box-shadow: inset 0 0 0 #003c78;
            &:before{
                content: "";
                display: flex;
                align-items: center;
                justify-content: center;
                width: 32px;
                height: 32px;
                border: 2px solid rgba(0, 0, 0, 0.1);
                margin-top: -1px;
                text-align: center;
            }
        }
        strong{
            font-weight: 500;
            transition: all 0.3s ease-in-out;
            color: #1c1b1b;
            margin-top: 7px;
            text-align: left;
        }
        input[type="checkbox"]{
            display: none;
            &:checked{
                & ~ span{
                    border-color: #00AAD2;
                    box-shadow: inset 5rem 0 0 #00AAD2;
                    &:before{
                        content: "\f105";
                        font-weight: 400;
                        color: #fff;
                        font-family: "IconFont";
                    }
                }
                & ~ strong{
                    color: #00aad2;
                    i{
                        color: #1c1b1b;
                    }
                }
            }
        }
        &.color{
            position: relative;
            width: 55px;
            height: 55px;
            span{
                width: 55px;
                height: 55px;
                border: 3px solid transparent;
                &:before{
                    display: none;
                }
            }
            input[type="checkbox"]{
                &:checked{
                    & ~ span{
                        border-color: #00AAD2;
                        box-shadow: none;
                    }
                }
            }
            strong{
                display: block;
                position: absolute;
                top: calc(100% + 7px);
                left: 50%;
                transform: translateX(-50%);
                white-space: wrap;
                width: auto;
                margin-right: 0;
                background-color: #fff;
                border: 2px solid #002c5f;
                padding: 5px;
                color: #002c5f !important;
                font-size: 16px;
                font-weight: 500;
                opacity: 0;
                visibility: hidden;
                min-width: 100px;
                z-index: 2;
                &:after{
                    content: "";
                    display: block;
                    width: 0;
                    height: 0;
                    border-left: 7px solid transparent;
                    border-right: 7px solid transparent;
                    border-bottom: 7px solid #002c5f;
                    position: absolute;
                    top: -7px;
                    left: 50%;
                    transform: translateX(-50%);
                    z-index: 10;
                }
            }
            &:hover, &:active{
                strong{
                    opacity: 1;
                    visibility: visible;
                }
            }
        }
    }
    &:has(.form-control:focus), &:has(option[selected]), &:has(.form-control:not(:placeholder-shown)){
        label{
            transform-style: preserve-3d;
            font-size: 12px !important;
            transform: translateY(-12px);
            top: 0;
            z-index: 1;
        }
    }
    &:has(.between){
        label{
            font-size: 12px !important;
            transform: translateY(-12px) !important;
            top: 0 !important;
        }
        .form-control{
            &::placeholder{
                font-size: inherit;
            }
        }
    }
    .between{
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 10px;
        @media (min-width: 768px){
            flex-direction: row;
            align-items: center;
        }
        > div{
            flex: 1;
        }
    }
    &.has-error{
        .form-control{
            border-color: rgb(184, 17, 17) !important;
        }
    }
}
#modalContact .modal-title{
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 0;
    line-height: 1.25;
    color: #000;
    text-align: left;
}
.validate-has-error{
    margin-top: 4px;
}