/* Styles for address validation */
input.xpn-address {
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
}

input.xpn-address-verified {
    border-color: green;    
    border-left-width: 8px;    
}

input.xpn-address-unverified {
    border-color: red;
}

input.xpn-address-exception {
    border-color: red;
}

.xpn-address-errormsg {
    position: relative;
    box-sizing: border-box;
    border: 1px solid red;
    border-left-width: 8px;
    background-color: #FFDADA;
    color: red;
    font-size: 14px;
    padding: 4px 10px 4px 10px;
    display: none;
}

.xpn-address-picklist-container {
    position: relative;
    display: none;
    box-sizing: border-box;
}

.xpn-address-picklist {
    position: relative;
    background-color: whitesmoke;
    border: 1px solid darkgrey;    
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-sizing: border-box;
    max-height: 206px;
    overflow: auto;
    overflow-x: hidden;
    padding: 0;        
}

.xpn-address-picklist-item-info {
    font-family: 'Work Sans', sans-serif;
    color: darkslategrey;
    line-height: 1.4;
    font-size: 14px;
    padding: 5px 11px;    
}

.xpn-address-picklist-item,
.xpn-address-picklist-item-override {
    font-family: 'Work Sans', sans-serif;
    color: darkslategrey;
    font-size: 14px;
    line-height: 1.4;
    padding: 5px 11px;
    margin-top: 0em;
    box-sizing: border-box;
}

.xpn-address-picklist-item:hover,
.xpn-address-picklist .selected {
    cursor: pointer;
    background: #84D2F6;
    border-bottom: 1px solid #BBB;
    border-top: 1px solid #BBB;
    padding: 4px 11px;
}

.xpn-address-picklist-item-override {
    background-color: whitesmoke;
    border: 1px solid #BBB;        
    padding: 4px 11px;
}

.xpn-address-picklist-item-override:hover {
    background: #FFAFAF;
    cursor: pointer;  
    padding: 4px 11px;  
}

.xpn-address-picklist .xpn-address-picklist-item-info,
.xpn-address-picklist .xpn-address-picklist-item-info:hover {
    background: #C7C7C7;
    font-style: italic;
    cursor: default;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Spinners and loaders */
.xpn-address-loader {    
    height: 4px;    
    top: -5px;
    margin-bottom: -4px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    background-color: #DDD;
    border: 1px solid rgba(255, 0, 0, 0);    
}

.xpn-address-loader:before {
    display: block;    
    box-sizing: border-box;
    position: relative;
    content: "";
    left: -100px;
    width: 200px;
    height: 4px;
    background-color: #2980b9;
    animation: loading .8s linear infinite;
}

@keyframes loading {
    from {
        left: -100px;
        width: 30%;
    }
    50% {
        width: 30%;
    }
    70% {
        width: 70%;
    }
    80% {
        left: 50%;
    }
    95% {
        left: 120%;
    }
    to {
        left: 100%;
    }
}