etiquette/static/common.css

255 lines
4.4 KiB
CSS

/*
Organization:
{
display and alignment
bounding box (width, margin, overflow, ...)
borders and shadows
backgrounds
foregrounds
misc
}
*/
body
{
display: flex;
flex-direction: column;
margin: 8px;
background-color:#00d8f4;
}
li
{
position:relative;
}
#header
{
display: flex;
flex-direction: row;
justify-content: center;
align-content: center;
margin-bottom: 4px;
}
.header_element
{
display: flex;
flex: 1;
justify-content: center;
background-color: rgba(0, 0, 0, 0.1);
}
.header_element:hover
{
background-color: #ffffd4;
}
#content_body
{
display: flex;
flex: 0 0 auto;
flex-direction: row;
}
.add_tag_button, #search_go_button
{
border-top: 2px solid #c2ffc3;
border-left: 2px solid #c2ffc3;
border-right: 2px solid #259427;
border-bottom: 2px solid #259427;
background-color: #6df16f;
}
.add_tag_button:active, #search_go_button:active
{
border-top: 2px solid #259427;
border-left: 2px solid #259427;
border-right: 2px solid #c2ffc3;
border-bottom: 2px solid #c2ffc3;
}
.remove_tag_button,
.remove_tag_button_perm
{
/*position: absolute;*/
top: 3px;
vertical-align: middle;
width: 18px;
height: 14px;
padding: 0;
border-top: 2px solid #ffacac;
border-left: 2px solid #ffacac;
border-right: 2px solid #bd1b1b;
border-bottom: 2px solid #bd1b1b;
background-color: #ff4949;
}
.remove_tag_button
{
display: none;
}
.tag_object:hover + .remove_tag_button,
.remove_tag_button:hover,
.remove_tag_button_perm:hover
{
display:inline;
}
.remove_tag_button:active,
.remove_tag_button_perm:active
{
border-top: 2px solid #bd1b1b;
border-left: 2px solid #bd1b1b;
border-right: 2px solid #ffacac;
border-bottom: 2px solid #ffacac;
}
.photo_card_list
{
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 8px;
padding: 4px;
background-color: #ffffd4;
}
.photo_card_grid
{
display: inline-flex;
flex-direction: column;
vertical-align: middle;
min-width: 150px;
max-width: 300px;
height: 200px;
padding: 8px;
margin: 8px;
border-radius: 8px;
box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.25);
background-color: #ffffd4;
}
.photo_card_grid_thumb
{
display:flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: 150px;
}
.photo_card_grid_thumb a
{
display:flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
.photo_card_grid_thumb img
{
max-width: 100%;
max-height: 100%;
height: auto;
}
.photo_card_grid_info
{
display: flex;
flex: 1;
flex-direction: column;
justify-content: space-between;
background-color: inherit;
font-size: 12.8px;
}
.photo_card_grid_filename
{
align-self: flex-start;
/*
The width of photo cards should be based on the aspect ratio of the
thumbnail image. Previously, I had problems where the card would be wider
than necessary because the file had a long name.
These min-width:100% + width:0 prevent the info div from controlling
card size, so we can prioritize the thumbnail instead.
*/
min-width: 100%;
width: 0;
overflow: hidden;
z-index: 1;
max-height: 30px;
background-color: inherit;
word-break:break-word;
}
.photo_card_grid_filename a
{
background-color: inherit;
}
.photo_card_grid_filename:hover
{
overflow: visible;
}
.photo_card_grid_file_metadata
{
display: flex;
z-index: 0;
justify-content: space-between;
font-family: monospace;
font-size: 11px;
}
.photo_card_grid_tags
{
align-self: flex-start;
/*
When the metadata is long it tends to squish against the T, so give it
some breathing room.
*/
margin-right: 8px;
}
.tag_object
{
border-radius: 2px;
background-color: #fff;
font-size: 0.9em;
text-decoration: none;
font-family: monospace;
line-height: 1.3;
}
#message_area
{
display: flex;
flex: 2;
flex-direction: column;
align-items: center;
max-height: 300px;
width: 100%;
height: 100%;
overflow-y: auto;
background-color: rgba(0, 0, 0, 0.1);
}
.message_bubble
{
width: 80%;
margin: 4px;
word-wrap: break-word;
}
.message_positive
{
background-color: #afa;
}
.message_negative
{
background-color: #faa;
}