fritz-xml-2vcard
Version:
Convert FRITZ!Box address book XML format to vcards.
145 lines (125 loc) • 2.67 kB
CSS
#fork-me {
position: fixed;
top: 0;
right: 0;
}
.header {
margin-top: 4vh;
}
.coversion {
margin-top: 2vh;
}
.footer {
margin-top: 3vh;
border-top: 1px solid #E1E1E1;
background: #f0f2f5;
padding: 2em 10%;
}
#fritzxml-text {
height: 35vh;
box-shadow: 0 0 .8em gray inset;
}
#vcard-container {
overflow-y: scroll;
height: calc(70vh - 10em);
min-height: 8em;
padding: 1em;
border: 1px solid #E1E1E1;
border-radius: 4px;
box-shadow: 0 0 .8em gray inset;
resize: both;
}
.space {
display: inline-block;
width: .5em;
}
#vcards li {
list-style: none;
padding: 4px 4px 4px 8px;
border-radius: 4px;
border: 1px solid #E1E1E1;
box-shadow: 0 0 .8em gray;
}
.vcf-name {
font-size: 50%;
white-space: nowrap;
text-overflow: ellipsis;
max-width: calc(95% - 70px);
display: inline-block;
overflow: hidden;
}
.vcf-filename {
font-size: 80%;
color: #BBB;
word-wrap: break-word;
}
.vcard-technical {
text-align: right;
}
#output {
display: none;
}
#get-all-container {
text-align: center;
padding: 1em 0;
background: #f0f2f5;
line-height: 1.9;
border: 1px solid #D1D1D1;
margin-top: -2px;
border-top: 0;
}
.nowrap {
white-space: nowrap;
}
#drop-zone {
position: fixed;
z-index: 1;
top: 0;
left: 0;
height: 100%;
width: 100%;
border: 5vh solid rgba(255, 255, 255, .5);
box-sizing: border-box;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#a90329+0,8f0222+44,6d0019+100;Brown+Red+3D */
background: rgb(169,3,41); /* Old browsers */
background: -moz-linear-gradient(top, rgba(169,3,41,1) 0%, rgba(143,2,34,1) 44%, rgba(109,0,25,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a90329', endColorstr='#6d0019',GradientType=0 ); /* IE6-9 */
color: white;
display: table;
visibility: hidden;
opacity: 0;
transition: opacity 2s, visibility 2s;
}
#drop-zone div {
display: table-cell;
width: 100%;
height: 100%;
text-align: center;
vertical-align: middle;
}
#loader {
position: fixed;
z-index: 1;
top: 2%;
left: 2%;
height: 96%;
width: 96%;
opacity: .9;
background: #fff;
display: table;
box-sizing: border-box;
border: 1px solid #33C3F0;
}
#loader div {
display: table-cell;
width: 100%;
height: 100%;
text-align: center;
vertical-align: middle;
font-size: 400%;
}
input:invalid {
border: solid 1px red;
}