.user_photo {
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
    display: inline-block;
    overflow: hidden;
    width: 120px;
}

/* GUI Button */
a.button-blue,
a.button-red,
a.switch-user {
    background-repeat: repeat-x;
    color: white;
    margin-bottom: 10px;
    width: 100px;
}

a.button-red:hover,
a.button-blue:hover,
a.switch-user:hover {
    color: white;
    text-shadow: 1px 1px 5px rgba(0,0,0,.5);
}

a.button-red,
a.switch-user {
    background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
    border-color: #b92c28;
}

a.button-red:hover,
a.switch-user:hover {
    background-image: linear-gradient(to bottom, #c12e2a 0%, #801b19 100%);
    background-color: #c12e2a;
}

a.button-blue {
    background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
    border-color: #2b669a;
}

a.button-blue:hover {
    background-image: linear-gradient(to bottom, #2d6ca2 0%, #13293c 100%);
    background-color: #13293c;
}

.table-header {
    background-color: #f9f9f9;
}

table.contact-list {
    padding: 16px !important;
}

table.contact-list > tbody > tr > td {
    background-color: #f5f5f5;
}

table.contact-list tr.odd td {
    background-color: #fcfcfc !important;
}

table.contact-list tr.even td {
    background-color: #f5f5f5 !important;
}

table.contact-list tr td {
    border: none;
}

table.contact-list tr.contact-row-first td {
    padding-top: 1.25rem;
}

table.contact-list tr.contact-row-last td {
    padding-bottom: 1.5rem;
}

table.contact-list tr.contact-row-first {
    border-top: 1px solid #ddd;
}
table.contact-list tr.contact-row-last {
    border-bottom: 1px solid #ddd;
}

.th,
table.contact-list .contact-name-surname {
    font-weight: bold;
}

table.contact-list .contact-name-surname {
    display: block;
    font-size: 1.5rem;
}

table.contact-list .contact-dep {
    display: block;
    font-size: 1.25rem;
}

table.contact-list .contact-photo {
    vertical-align: middle;
    width: 1%;
}

table.contact-list .contact-photo img {
    display: block;
    margin: 1rem 1rem 1.5rem;
}

table.contact-list .label {
    font-size: 1rem;
}

table.contact-list .contact-info {
    display: flex;
    gap: .5rem;
    margin: .5rem 0;
}

table.contact-list .delegation a,
table.contact-list .vacation a {
    color: white;
}

table.contact-list .delegation,
table.contact-list .vacation {
    color: white;
    border-radius: 2px;
    padding: .25rem .75rem .3rem;
    text-shadow: 0 0 2px rgba(0,0,0,.25);
}

table.contact-list .delegation {
    /*border: 1px solid #4fa8c2;*/
    background: #5bc0de linear-gradient(180deg, #5bc0de 0%, #4fa8c2 100%);
}

table.contact-list .vacation {
    /*border: 1px solid #cc923e;*/
    background: #f0ad4e linear-gradient(180deg, #f0ad4e 0%, #cc923e 100%);
}