div.stack { 
    width:32em; 
    height:32em; 
    background-color:silver;
    border:outset 3px black;
    border-radius: 3px;
    margin:0 auto; 
    position:relative;
    box-shadow:0px 0px 20px black; 
}

div.stack button img {
    height:2ex;
    vertical-align: middle;
}


div.stack.withOpac *.slice {
    opacity:0;
    filter: alpha(opacity=0); /* For IE8 and earlier */
}

div.stack.withOpac *.slice.dropped {
    opacity:1;
    filter: alpha(opacity=100); /* For IE8 and earlier */
    transition-property:opacity, filter, left, top;
    transition-duration:.2s; 
    transition-timing-function:ease-in; 
}

div.stack *.slice { 
    position:absolute; 
    border: ridge 5px lightgray; 
    box-shadow: 6px 4px 16px black;
    border-collapse:collapse;
    /* background-image:url(paper.gif); */

    display:none; 
}

div.stack *.slice.visible { 
    display:block; 
}

div.stack.withOpac *.slice img, div.stack.withOpac *.slice {
    transition-property:width, height;
    transition-duration:.2s; 
    transition-timing-function:ease-in; 
}

div.stack table.slice {
    /* Different browsers size differently. Make sure images dont overlap
       borders */
    overflow: hidden;
}

div.stack table.slice td {
    padding:0px; 
}

div.stack table.slice th {
    background-color:lightgray;
    padding: 0 .5em;
}

/* Static width (and more) for non-table slices (without images) */
div.stack div.slice {
    width:24em;
    max-height:24em;
    overflow:auto;

    border-bottom-left-radius: 4em;
    border-bottom-right-radius: 4em;
    border-top-right-radius: 4em;
    border-top-left-radius: 4em;
}

div.stack div.slice > div {
    margin:0 auto;
    width:85%;
    font-size:115%;
    line-height:135%;
}

/* Annotations at bottom of stack */
div.stack div.blurb {
    position:absolute; 
    bottom:0px;
    padding:.5ex;
    font-weight:bold;
    background-color:#9e003d;
}
