html {
--color1: lightyellow;
--color2: lightgreen;
--color1h: #ebebbb;
--color2h: #6bd76b;
--colorFade: rgba(0,0,0,0.6);
--color1f: #666658;
--color2f: #395f39;
}
.bubble-container {
display:flex;
}
.bubble-container.left {
justify-content: flex-start;
}
.bubble-container.right {
justify-content: flex-end;
}
/* CSS talk bubble */
.talk-bubble {
margin: 10px 35px;
display: inline-block;
position: relative;
height: auto;
color: #222;
}
.talk-bubble.left {
margin-right: 60px;
background-color: var(--color1);
}
.talk-bubble.left a {
color: inherit;
background-color: var(--color1h);
}
.talk-bubble.right {
margin-left: 60px;
background-color: var(--color2);
}
.talk-bubble.right a {
color: inherit;
background-color: var(--color2h);
}
.border{
border: 8px solid var(--colorFade);
}
.round{
border-radius: 30px;
-webkit-border-radius: 30px;
-moz-border-radius: 30px;
}
/* Right triangle placed top left flush. */
.tri-right.border.left-top:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: -40px;
right: auto;
top: -8px;
bottom: auto;
border: 32px solid;
border-color: var(--colorFade) transparent transparent transparent;
}
.tri-right.left-top:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: -20px;
right: auto;
top: 0px;
bottom: auto;
border: 22px solid;
border-color: var(--color1) transparent transparent transparent;
}
/* Right triangle, left side slightly down */
.tri-right.border.left-in:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: -40px;
right: auto;
top: 12px;
bottom: auto;
border: 20px solid;
border-color: var(--colorFade) var(--colorFade) transparent transparent;
}
.tri-right.left-in:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: -20px;
right: auto;
top: 20px;
bottom: auto;
border: 12px solid;
}
.left.tri-right.left-in:after {
border-color: var(--color1) var(--color1) transparent transparent;
}
.left.tri-right.border.left-in:before {
border-color: var(--color1f) var(--color1f) transparent transparent;
}
.right.tri-right.left-in:after {
border-color: var(--color2) var(--color2) transparent transparent;
}
.right.tri-right.border.left-in:before {
border-color: var(--color2f) var(--color2f) transparent transparent;
}
/*Right triangle, placed bottom left side slightly in*/
.tri-right.border.btm-left:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: -8px;
right: auto;
top: auto;
bottom: -40px;
border: 32px solid;
border-color: transparent transparent transparent var(--colorFade);
}
.tri-right.btm-left:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: 0px;
right: auto;
top: auto;
bottom: -20px;
border: 22px solid;
border-color: transparent transparent transparent var(--color1);
}
/*Right triangle, placed bottom left side slightly in*/
.tri-right.border.btm-left-in:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: 30px;
right: auto;
top: auto;
bottom: -40px;
border: 20px solid;
border-color: var(--colorFade) transparent transparent var(--colorFade);
}
.tri-right.btm-left-in:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: 38px;
right: auto;
top: auto;
bottom: -20px;
border: 12px solid;
border-color: var(--color1) transparent transparent var(--color1);
}
/*Right triangle, placed bottom right side slightly in*/
.tri-right.border.btm-right-in:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: 30px;
bottom: -40px;
border: 20px solid;
border-color: var(--colorFade) var(--colorFade) transparent transparent;
}
.tri-right.btm-right-in:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: 38px;
bottom: -20px;
border: 12px solid;
border-color: var(--color1) var(--color1) transparent transparent;
}
.tri-right.border.btm-right:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: -8px;
bottom: -40px;
border: 20px solid;
border-color: var(--colorFade) var(--colorFade) transparent transparent;
}
.tri-right.btm-right:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: 0px;
bottom: -20px;
border: 12px solid;
border-color: var(--color1) var(--color1) transparent transparent;
}
/* Right triangle, right side slightly down*/
.tri-right.border.right-in:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: -40px;
top: 12px;
bottom: auto;
border: 20px solid;
}
.tri-right.right-in:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: -20px;
top: 20px;
bottom: auto;
border: 12px solid;
border-color: var(--color1) transparent transparent var(--color1);
}
.left.tri-right.right-in:after {
border-color: var(--color1) transparent transparent var(--color1);
}
.left.tri-right.border.right-in:before {
border-color: var(--color1f) transparent transparent var(--color1f);
}
.right.tri-right.right-in:after {
border-color: var(--color2) transparent transparent var(--color2);
}
.right.tri-right.border.right-in:before {
border-color: var(--color2f) transparent transparent var(--color2f);
}
/* Right triangle placed top right flush. */
.tri-right.border.right-top:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: -40px;
top: -8px;
bottom: auto;
border: 32px solid;
border-color: var(--colorFade) transparent transparent transparent;
}
.tri-right.right-top:after{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: auto;
right: -20px;
top: 0px;
bottom: auto;
border: 20px solid;
border-color: var(--color1) transparent transparent transparent;
}
.talktext{
padding: 1em;
text-align: left;
font-size: calc(20px + (30 - 10) * ((100vw - 500px) / (1600 - 300)));
line-height: calc(30px + (12 - 0) * ((100vw - 500px) / (600 - 10)));
font-family: var(--font-tertiary);
}
.talktext .index {
position: absolute;
top: -14px;
display: flex;
width: 30px;
font-size: 20px;
line-height: 29px;
}
.left .talktext .index {
color: var(--color1);
left: -40px;
justify-content: flex-end;
}
.right .talktext .index {
color: var(--color2);
right: -40px;
justify-content: flex-begin;
}
u {
text-decoration-thickness: from-font;
}
.left u {
text-decoration-color: var(--color1f);
}
.right u {
text-decoration-color: var(--color2f);
}