Agregar línea vertical y alinear icons usando CSS

Estoy tratando de agregar una línea vertical entre los icons naranja y los campos de texto y luego también corrijo la ubicación del texto “O” y alineo los icons correctamente, como se muestra en la imagen a continuación. ¿Qué actualizaciones puedo hacer a mi código para hacer eso?

Lo que me gustaría

enter image description here

Lo que tengo ahora

enter image description here

   body{ width:1000px; font-family:verdana; } input{ position:relative; left:143px; width:70%; height:50px; padding:10px; } textarea{ position:relative; left:68px; width:70%; height:150px; } .label{ display:inline; width:140px; } .icon{ float:left; } .divitem{ padding:10px; padding-left:20px; background-color:#BFD6F6; border-top:1px solid #7C94A0;; border-bottom:1px solid #7C94A0;; } .field{ background-color:#C6DEFF; border:1px solid #7C94A0; } #sub{ width:80px; height:40px; left:0px; border:1px solid #7C94A0; border-radius:5px; } #mail{ left:149px; } #phone{ left:139px; } #name{ width:1024px; height:100px; } #cntct{ width:1024px; } #desc{ width:1024px; border-style:none; } #dlabel{ vertical-align:top; }  E-mail US   

E-mail Us

Name

Description

Email


Or

Phone



 

Name

Description

Email

Or

Phone



CSS

 .divitem { padding:10px; padding-left:20px; background-color:#BFD6F6; border-top:1px solid #7C94A0; border-bottom:1px solid #7C94A0; width:1000px; height:100px; } .label { display:inline; width:200px; float:left; height:100px; text-align:center; } .icon { margin:0px; margin-left:-5px; padding:0px; float:left; border-right:1px solid black; height:100px; } input, textarea { position:relative; left:143px; width:60%; height:50px; padding:10px; background-color:#C6DEFF; border:1px solid #7C94A0; } #or { text-align:center; width:1000px; display:block; font-weight:bold; background-color:#BFD6F6; } #sub { width:80px; height:40px; left:0px; border:1px solid #7C94A0; border-radius:5px; background-color:#E6E6E6; font-weight:bold; } .divitemcntct { padding:10px; padding-left:20px; background-color:#BFD6F6; border-top:1px solid #7C94A0; width:1000px; height:100px; } .divitemPhone { padding:10px; padding-left:20px; background-color:#BFD6F6; border-bottom:1px solid #7C94A0; width:1000px; height:100px; } 

Violín

enter image description here