.iti {
    display: block;
}

.custom-tel-input-wrapper .form-control {
    height: 3.5rem;
    padding-top: 1.5rem;
}

.custom-tel-input-wrapper .input-group .iti {
    width: 100%;
}

.custom-tel-input-wrapper .intl-tel-input {
    width: 100%;
    height: 3.5rem;
    display: flex;
    align-items: stretch;
}

.custom-tel-input-wrapper .intl-tel-input .form-control {
    height: 100%;
    padding-top: 1rem;
    padding-bottom: 0.25rem;
}

.custom-tel-input-wrapper .iti__flag-container {
    height: 100%;
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
}

.custom-tel-input-wrapper {
    position: relative;
}

.custom-tel-input-wrapper .custom-label {
    position: absolute;
    top: -0.7rem;
    left: 5.4rem;
    height: 100%;
    padding: 1rem .75rem;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
    color: var(--bs-secondary);
    z-index: 2;
    font-size: .9em;
}

.custom-tel-input-wrapper input:not(:placeholder-shown) ~ .custom-label,
.custom-tel-input-wrapper input:focus ~ .custom-label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(-4rem);
    background-color: var(--bs-body-bg);
    padding: .5rem .75rem;
}