.ipi-iti,
.ipi-iti * {
    box-sizing: border-box;
}

.ginput_container_phone {
    position: relative !important;
}

.ipi-iti {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

.ipi-iti .iti__flag-container {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 52px !important;
    height: 100% !important;
    cursor: pointer !important;
    z-index: 10002;
    overflow: visible !important;
}

.ipi-iti .iti__selected-flag {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 80% !important;
}

.ipi-iti .iti__flag {
    display: inline-block !important;
    visibility: visible !important;
    width: 20px !important;
    height: 15px !important;
    background-image: url("../vendor/intl-tel-input/img/flags.png") !important;
    background-repeat: no-repeat !important;
}

.ipi-iti .iti__selected-flag[aria-expanded="true"] + .iti__country-list{
	overflow-x: hidden !important;
}

.ipi-iti .iti__country-list{
	top: 70% !important;
}

.ipi-iti .iti__arrow {
    display: inline-block !important;
    visibility: visible !important;
    margin-left: 6px !important;
}

.ipi-iti .iti__country-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style: none;
    margin: 4px 0 0 0;
    padding: 4px 0;
    background: #ffffff;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    max-height: 280px;
    overflow-y: auto;
    width: 320px;
    z-index: 99999;
    height: 280px;
}

.ipi-iti.iti--show-dropdown .iti__country-list {
    display: block !important;
}

.ipi-iti .iti__selected-flag[aria-expanded="true"] + .iti__country-list {
    display: block !important;
}

.ipi-iti .iti__country {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    line-height: 1.2;
    white-space: nowrap;
}

.ipi-iti .iti__country-name,
.ipi-iti .iti__dial-code {
    display: inline-block;
}

.ipi-iti .iti__country-list .iti__flag-box,
.ipi-iti .iti__country-list .iti__flag {
    flex: 0 0 auto;
}

.ipi-iti .iti__country:hover,
.ipi-iti .iti__country.iti__highlight {
    background: #f0f0f1;
}

.ipi-iti input {
    max-width: 100%;
    padding-left: 56px !important;
    position: relative;
    z-index: 1;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .ipi-iti .iti__flag {
        background-image: url("../vendor/intl-tel-input/img/flags@2x.png") !important;
    }
}
