/* DROPDOWN ALERT
*******************/
details.alert {
& > summary {
margin-inline: calc(var(--bs-alert-padding-x) * -1);
margin-block: calc(var(--bs-alert-padding-y) * -1);
padding-inline: var(--bs-alert-padding-x);
padding-block: var(--bs-alert-padding-y);
position: relative;
z-index: 1;
}
&:last-child {
margin-block-end: 0;
}
}
/* SHOW/HIDE TOGGLE
*********************/
.show-hide {
justify-content: space-between;
padding-block: .1rem;
position: relative;
display: flex;
width: 100%;
& > .dynamic-text {
color: rgb(var(--color-webster-blue));
letter-spacing: 1px;
font-size: 1.25rem;
font-weight: 500;
}
& > .plus-minus {
position: absolute;
cursor: pointer;
height: 100%;
width: 21px;
right: 0;
top: 0;
}
}
details > summary > .show-hide {
& > .dynamic-text::after {
content: attr(data-show-text);
}
& > .plus-minus::before {
background: rgb(var(--color-webster-blue));
transition: transform .15s ease;
transform: rotate(180deg);
position: absolute;
height: 3.2px;
margin: auto;
content: "";
width: 20px;
bottom: 0;
left: 0;
top: 0;
}
& > .plus-minus::after {
background: rgb(var(--color-webster-blue));
transition: transform .15s ease;
transform-origin: center;
transform: rotate(90deg);
position: absolute;
height: 3.2px;
margin: auto;
content: "";
width: 20px;
bottom: 0;
left: 0;
top: 0;
}
}
details[open] > summary > .show-hide {
& > .dynamic-text::after {
content: attr(data-hide-text);
}
& > .plus-minus::before {
content: "";
transform: rotate(0deg);
}
& > .plus-minus::after {
content: "";
transform: rotate(0deg);
}
}
/* DESCRIPTION LISTS
**********************/
dl {
dd {
margin: revert;
}
dt:not(:first-of-type) {
margin-top: 1rem;
}
&.horizontal {
display: grid;
grid-template-columns: max-content;
dt, dd {
margin: 0;
padding-top: .3rem;
padding-bottom: .3rem;
}
dt {
padding-right: .5rem;
&:not(.wrap) {
max-width: 70vw;
}
}
dd {
word-break: break-word;
grid-column-start: 2;
padding-left: 0.5rem;
}
dt.wrap, dd.wrap, div.wrap {
grid-column-start: 1;
grid-column-end: 3;
}
&:not(.inline-small) {
@media screen and (max-width: 768px) {
grid-template-columns: auto;
dt, div, dd {
grid-column-start: 1;
grid-column-end: 3;
padding: 0;
}
dd {
margin-left: revert;
padding-bottom: .5rem;
}
}
}
&.striped {
dt, dd {
margin-left: 0;
padding: .3rem .5rem;
&:nth-of-type(2n+1) {
background-color: rgba(rgba(var(--color-black), 0.25), .3);
}
}
}
}
}
/*
dl {
display: grid;
grid-auto-flow: row;
padding-block-start: 1px;
grid-auto-rows: max-content;
grid-column-gap: $base-padding;
grid-template-columns: max-content;
margin-block-start: $base-padding;
dt,
dd,
dd > p {
margin: 0;
}
dt {
grid-column: 1;
grid-row: span 99;
margin-block-start: -1px;
padding-inline-end: $base-padding * 0.5;
padding-block-start: $base-padding * 0.25;
border-top: 1px dashed currentColor;
&:not(:last-of-type) {
margin-block-end: $base-padding * 0.5;
}
& > strong, & > em {
display: block;
}
}
dd {
grid-column: 2;
overflow-x: auto;
&:empty {
display: none;
}
&:has(+dd) {
padding-block-end: $base-padding * 0.5;
}
&:has(+dd > blockquote) {
padding-block-end: $base-padding * 0.2;
}
&:has(+dt) {
padding-block-end: $base-padding * 0.75;
&:has(blockquote) {
margin-block-end: $base-padding * 0.5;
}
}
& > blockquote:not([class^="markdown-alert-"]) {
margin-inline-start: $base-padding * 0.1;
margin-block-start: $base-padding * 0.5;
p {
margin-block-start: 0;
}
}
& > blockquote[class^="markdown-alert-"] {
margin-block: 0;
}
&:has(dl) {
margin-block-start: -1px;
&:has(+dt) {
margin-block-end: $base-padding * 0.5;
}
}
& > dl {
margin-block-start: 0;
}
& > details.image {
margin-block-start: 0;
}
pre {
margin-block-start: 0;
}
}
dt + dd {
& > ul, & > ol, & > menu {
margin-block-start: 0;
}
&:not(:has(dl)) {
padding-block-start: $base-padding * 0.25;
}
& > blockquote:not([class^="markdown-alert-"]) {
margin-block-start: $base-padding * 0;
}
& > h5 {
margin-block-start: 0;
}
}
dd + dd {
& > ul {
margin-block-start: $base-padding * 0;
}
}
@media (min-width: $small-breakpoint) {
dt {
&:not(.wrap) {
max-width: min(33vw, calc(var(--body-width) * 0.33));
}
}
dd {
&:has(pre) {
padding-block-start: 0 !important;
}
}
}
@media (max-width: (calc($small-breakpoint - 1px))) {
grid-template-columns: auto;
dt,
dd,
div {
grid-column-start: 1;
grid-column-end: 3;
}
dt {
border-top: none;
margin-block: 0 !important;
}
dd {
margin-inline-start: revert;
&:has(+dt) {
padding-block-end: $base-padding * 0.5;
&:has(blockquote) {
margin-block-end: $base-padding * 0.25;
}
}
}
}
dt.wrap~dd,
dd.wrap {
grid-column: 1 / 3;
}
&.striped {
dt,
dd {
margin-left: 0;
padding: .3rem .5rem;
&:nth-of-type(2n+1) {
background-color: rgba(0, 0, 0, .3);
}
}
}
&:has(+h1), &:has(+h2), &:has(+h3), &:has(+h4), &:has(+h5) {
margin-block-end: 0;
}
li {
& + li {
margin-block-start: $base-padding * 0.1;
}
& > dl {
margin-block-start: $base-padding * 0.5;
}
}
}
blockquote + dl:not(+blockquote) {
margin-block-start: $base-padding * 2.5;
}
*/
/* TOOLTIPS
*************/
[data-tooltip2] {
/* Add this attribute to the element that needs a tooltip */
text-decoration-style: dashed;
text-decoration: underline;
position: relative;
cursor: pointer;
z-index: 2;
&:hover {
z-index: 3;
}
}
[data-tooltip2]:before,
[data-tooltip2]:after {
/* Hide the tooltip content by default */
pointer-events: none;
visibility: hidden;
opacity: 0;
}
[data-tooltip2]:before {
/* Position tooltip above the element */
background-color: rgb(var(--color-black));
color: rgb(var(--color-white));
content: attr(data-tooltip2);
position: absolute;
bottom: 100%;
margin-bottom: 5px;
padding: 7px;
min-width: 14ch;
width: auto;
border-radius: 6px;
text-align: center;
white-space: normal;
}
[data-tooltip2].tooltip-down:before {
bottom: unset;
top: 100%;
margin-bottom: unset;
margin-top: 5px
}
[data-tooltip2]:after {
/* Triangle hack to make tooltip look like a speech bubble */
border-top: 5px solid rgb(var(--color-black));
border-right: 5px solid transparent;
border-left: 5px solid transparent;
position: absolute;
bottom: 100%;
left: 50%;
margin-left: -5px;
width: 0;
content: " ";
font-size: 0;
line-height: 0;
}
[data-tooltip2].tooltip-down:after {
border-bottom: 5px solid rgb(var(--color-black));
border-top: unset;
bottom: unset;
top: 100%;
}
[data-tooltip2]:hover:before,
[data-tooltip2]:hover:after {
/* Show tooltip content on hover */
visibility: visible;
opacity: 1;
}
.font-size--unset {
font-size: unset;
}
.white-space--nowrap {
white-space: nowrap;
}
.max-width--unset {
max-width: unset;
}