sms/css/styles.css
:root { font-size: 1.125rem; }
@media (min-width: 600px) { :root { font-size: 1.5rem; } }
@media (min-width: 900px) { :root { font-size: 1.75rem; } }
@media (min-width: 1200px) { :root { font-size: 2rem; } }
*, *:before, *:after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
display: flex;
flex-direction: column;
align-items: center;
min-width: 100vw;
min-height: 100vh;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
background: #FFF;
}
.messages {
overflow: auto;
width: 100vw;
max-height: 100vh;
padding: 1rem .9rem;
}
.bubble {
overflow: hidden;
display: inline-block;
margin: 0 0 .125rem 0;
padding: .5rem .85rem;
line-height: 1.25rem;
border-radius: 1.25rem;
transform-origin: 0 100%;
vertical-align: middle;
transition: border-radius .25s ease-out .075s;
}
.bubble.left.cornered {
border-bottom-left-radius: 0;
}
.bubble.left {
background: rgba(206,206,206,0.50);
}
.bubble:after {
content: "";
position: absolute;
bottom: 0;
left: -.5rem;
width: .5rem;
height: .5rem;
background-image: url(../img/corner.svg);
background-size: .5rem .5rem;
background-position: .5rem 0;
background-repeat: no-repeat;
transition: background-position .15s ease-in;
}
.bubble.cornered:after {
background-position: 0 0;
}
.bubble span {
display: block;
}
.bubble span.message {
opacity: 0;
}
.bubble a {
color: #0076FF;
}
.bubble .loading {
position: absolute;
width: 2.25rem;
font-size: 2rem;
line-height: 1rem;
}
.bubble .loading b {
display: inline-block;
color: rgba(0,0,0,.5);
}