.address,
.phone {
    position: relative;
    white-space: nowrap;
}

.address:after,
.phone:after {
    content: '';
    display: block;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    left: 0;
    top: 0;
    transform: translateY(27%);
    /* top: 50%;
    transform: translateY(-50%); */
}

.address:before,
.phone:before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(16.5%);
    /* top: 50%;
    transform: translateY(-50%); */
    width: 1px;
    background-color: black;
}

table td {
    vertical-align: top;
    border-bottom: 1px solid rgba(0, 0, 0, .5);
    
}

@media(orientation: portrait) {

    .address,
    .phone {
        padding-left: 6vw;
        padding-right: 2vw;
    }

    .address:after,
    .phone:after {
        content: '';
        width: 3.5vw;
        height: 3.5vw;
    }

    .address:before,
    .phone:before {
        content: '';
        height: 4.2vw;
    }

    table td {
        padding: 3.1vw 2.5vw 4vw;
    }

    @media(max-width: 640px) {
        table td:first-child {
            padding-left: 0;
        }

        table td:last-child {
            padding-right: 0;
        }

    }



    @media(min-width: 640px) {

        .address,
        .phone {
            padding-left: 3vw;
            padding-right: 1vw;
        }

        .address:after,
        .phone:after {
            content: '';
            width: 1.7vw;
            height: 1.7vw;
        }

        .address:before,
        .phone:before {
            content: '';
            height: 2vw;
        }

        table td {
            padding: 1.8vw 1.8vw 2.3vw;
            border-bottom: .5px solid rgb(0, 0, 0);
        }
    }
}

@media(orientation: landscape) {

    .address,
    .phone {
        padding-left: 3vw;
        padding-right: 1vw;
    }

    .address:after,
    .phone:after {
        content: '';
        width: 1.7vw;
        height: 1.7vw;
    }

    .address:before,
    .phone:before {
        content: '';
        height: 2vw;
    }

    table td {
        padding: 1.8vw 1.8vw 2.3vw;
    }

    @media(min-width: 768px) {

        .address,
        .phone {
            padding-left: 2.25vw;
            padding-right: .75vw;
        }

        .address:after,
        .phone:after {
            content: '';
            width: 1.275vw;
            height: 1.275vw;
        }

        .address:before,
        .phone:before {
            content: '';
            height: 1.5vw;
        }

        table td {
            padding: 1.35vw 1.35vw 1.725vw;
            border-bottom: .5px solid rgb(0, 0, 0);
        }
    }

    @media(min-width: 1536px) {

        .address,
        .phone {
            padding-left: 1.5vw;
            padding-right: .5vw;
        }

        .address:after,
        .phone:after {
            content: '';
            width: .85vw;
            height: .85vw;
        }

        .address:before,
        .phone:before {
            content: '';
            height: 1vw;
        }

        table td {
            padding: .9vw .9vw 1.15vw;
        }
    }
}