.place_select {
    position: relative;
}
.place_select_input {
    font-size: 1.25em;
    height: 2.5em;
    box-sizing: border-box;
    border-radius: 0.9em;
    border: 0.1em solid #A5A5A5;
    padding: 0 2em 0 3em;
    max-width: 100%;
    color: #000;
    font-weight: 500;
    width: 100%;
    background-size: auto 1.5em;
    background-repeat: no-repeat;
    background-image: url(img/search-000.svg);
    background-position: 0.75em center;
    transition-property: border-color;
    transition-duration: 0.3s;
}
.place_select_input::placeholder {
    color: rgba(0, 0, 0, 0.5);
}
.place_select_input:focus {
    border-color: #FF6B00;
}
.place_select_clear {
    font-size: inherit;
    position: absolute;
    z-index: 1;
    width: 1.375em;
    height: 1.375em;
    box-sizing: border-box;
    right: 1em;
    border: none;
    top: 50%;
    transform: translateY(-50%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: transparent;
    cursor: pointer;
    background-image: url(img/close-a5a5a5.svg);
}
.place_select_input:placeholder-shown + .place_select_clear {
    opacity: 0;
}
/*
.place_select_input:placeholder-shown ~ .place_select_clear {
    opacity: 0;
}
 */
.place_select_popup {
    position: absolute;
    z-index: 1;
    top: calc(100% + 0.5em);
    left: 0;
    box-sizing: border-box;
    width: 17.5em;
    max-width: 100%;
    background-color: #ffffff;
    border-radius: 1.125em;
    box-shadow: 0 0.25em 1.375em 0 rgba(0, 0, 0, 0.08);
    opacity: 0;
    color: #000000;
    visibility: hidden;
    transform: translateY(1em);
    transition-property: opacity, visibility, transform;
    transition-duration: 0.3s;
}
.place_select.focused .place_select_popup {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.place_select_popup.has_hovered_option_with_info {
    border-radius: 1.125em 0 0 1.125em;
}
.place_select_group_title {
    font-size: 0.875em;
    padding: 1em 1.57em;
    font-weight: 600;
}
.place_select_option {
    display: flex;
    padding: 0.75em 1em 0.75em 1.25em;
    box-sizing: border-box;
    position: relative;
    align-items: center;
    justify-content: space-between;
}
.place_select_option.hovered {
    background-color: #F3F3F3;
}
.place_select_option_icon {
    max-width: 1.25em;
    max-height: 1.25em;
}
.place_select_option_label {
    font-weight: 500;
    width: 100%;
    font-size: 0.875em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.place_select_option_label:not(:first-child) {
    width: calc(100% - 2em);
}
.place_select_item {
    position: absolute;
    left: 100%;
    width: 24.5em;
    box-sizing: border-box;
    top: -2.75em;
    box-shadow: 0 0.25em 1.625em 0 rgba(0, 0, 0, 0.08);
    border-radius: 0 1.125em 1.125em 0;
    background-color: #F3F3F3;
    padding: 1em 1.25em 2.5em;
    transform: translateX(1em);
    opacity: 0;
    visibility: hidden;
    transition-property: transform, opacity, visibility;
    transition-duration: 0.3s;
}
.place_select_option.hovered .place_select_item {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.place_select_item_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.place_select_item_title:not(:last-child) {
    margin-bottom: 0.5em;
}
.place_select_item_icon {
    max-width: 1.5em;
    max-height: 1.5em;
}
.place_select_item_name {
    font-size: 1.25em;
    font-weight: 600;
    width: 100%;
}
.place_select_item_name:not(:first-child) {
    width: calc(100% - 1.8em);
}
.place_select_item_address {
    opacity: 0.5;
    font-size: 0.875em;
    font-weight: 500;
}
.place_select_item_address:not(:last-child) {
    margin-bottom: 1.75em;
}
.place_select_group:last-child .place_select_option:last-child {
    border-radius: 0 0 1.125em 1.125em;
}
.place_select_group:not(:last-child) {
    border-bottom: 1px dashed rgba(0, 0, 0, 0.2);
}
@media(max-width: 782px) {
    .place_select_popup,
    .place_select_popup.has_hovered_option_with_info {
        margin: 0 -1.25em;
        width: calc(100% + 2.5em);
        max-width: calc(100% + 2.5em);
        box-sizing: border-box;
        border-radius: 1em;
    }
    .place_select_groups_container {
        width: 100%;
        max-height: 30em;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    /*
    .place_select_popup.has_hovered_option_with_info .place_select_groups_container {
        width: 50%;
    }
     */
    .place_select_group {
        width: 100%;
    }
    .place_select_option {
        position: static;
    }
    .place_select_item {
        display: none;

        left: 50%;
        top: 0;
        width: 50%;
        height: 100%;
        background-color: #F3F3F3;
        box-shadow: none;
        border-radius: 0 1em 1em 0;
        transform: none;
    }
    .place_select_group_title {
        font-size: 0.75em;
        padding: 1.35em 1.67em;
    }

    .place_select_item_name {
        font-size: 0.875em;
    }
    .place_select_item_address {
        font-size: 0.75em;
    }
}