:root {
  --randomBgColor: #CCC;
}

button,
geolocation {
  padding: 4px 12px;
}

button:hover,
button:focus
 {
  outline: none;
  border: 2px outset Crimson;
  background: Crimson;
  color: white;
}

dialog {
  margin: auto;
  padding: 2rem;
}

dialog::backdrop {
  background: rgba(0, 0, 0, 0.7);
}

.resizable { 
  padding: 2vh;
  width: 70%;
  height: 50vh;
  overflow: auto;
  resize: horizontal;
  font-size: 2.4rem;
}

.resizable .codeinfo {
  margin-bottom: 2rem;
  width: 100%;
}

.resizable-pretty .demo_text { 
  text-wrap: pretty;
}

.resizable-hyphens {
  hyphens: auto;
}

.resizable-hyphens {
  hyphens: auto;
  hyphenate-limit-chars: 7 3 4;
}

#randombg_div {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--randomBgColor);
  width: 90%;
  height: 40vh;
  color: contrast-color(var(--randomBgColor));
  text-align: center;
}

#randombg_btn {
  margin-bottom: 4rem;
}

.example-text-wrap .small {
  font-size: 2rem;
}

.example-text-wrap .demo {
  margin-bottom: 6rem;
  border-right: 1px solid grey;
  border-left: 1px solid grey;
  padding: 0 2rem;
  font-size: 4rem;
}

.example-text-wrap .demo-balance {
  margin-bottom: 0rem;
  text-wrap: balance;
}

.example-cap {
  position: relative;
  background: Crimson;
  width: 100%;
  height: 50vh;
  color: #EEE;
}

.example-cap h3 {
  position: absolute;
  bottom: 0;
  font-size: 10rem;
  line-height: 1;
  margin-bottom: 0;
  font-family: 'ChangaOne';
  text-align: right;
  text-transform: uppercase;
}

.example-cap2 h3 {
  line-height: 1cap;
}

.example-cap3 h3 {
  color: blue;
  line-height: 1cap;
}

.example-cap4 h3 {
  color: blue;
  font-size: 8rem;
  line-height: 1cap;
  font-family: "Times New Roman";
}

/* ----- */

.justify {
  background: Crimson;
  width: 100%;
  height: 200px;
  color: white;
}

.justify1 p {
  align-self: end;
}

/* ----- */

.example-buttonlist ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 8rem 0;
  border: 1px solid #DDD;
  background: #DDD;
  padding: 3rem;
  list-style: none;
}

.example-buttonlist li:before {
  display: none;
}

/* -- Examples: Anchor Positioning --- */

.example-anchor { padding: 0; text-align: center; }
.example-anchor button { margin-block: 6rem; }

.anchor-tooltip {
  position: fixed;
  position-area: top;
  background: Crimson;
  padding: 4px 12px;
  color: white;
  font-size: 2rem;
}

.anchor-tooltip::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 10px);
  border-width: 10px 5px 0px 5px;
  border-style: solid;
  border-color: Crimson transparent transparent transparent;
  width: 0;
  height: 0;
  content: '';
}

.anchor-scroll {
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
}

.anchor-scroll-inner {
  padding: 1000px 0 2000px 0;
}

#anchor-demo-2 {
  anchor-name: --anchor-btn2;
}

#anchor-tooltip-2 {
  position-anchor: --anchor-btn2;
}

#anchor-demo-3 {
  anchor-name: --anchor-btn3;
}

#anchor-tooltip-3 {
  position-anchor: --anchor-btn3;
  margin-block-end: 1rem;
}

#anchor-demo-4 {
  anchor-name: --anchor-btn4;
}

#anchor-tooltip-4 {
  position-anchor: --anchor-btn4;
  position-area: top;
  position-try-fallbacks: flip-block;
  margin-block-end: 1rem;
}

#anchor-demo-5 {
  anchor-name: --anchor-btn5;
}

#anchor-tooltip-5 {
  position-anchor: --anchor-btn5;
  position-area: top;
  position-try-fallbacks: flip-block;
  container-type: anchored;
  margin-block-end: 1rem;
}

@container anchored(fallback: flip-block) {
  #anchor-tooltip-5::after {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -10px);
  border-width: 0px 5px 10px 5px;
  border-style: solid;
  border-color: transparent transparent Crimson transparent;
  width: 0;
  height: 0;
  content: '';
}
}

/* ----- */

.example-select select {
  padding: 4px 12px;
}

#cms-select2,
::picker(select) {
  appearance: base-select;
}

#cms-select2::picker-icon {
  position: relative;
  top: 3px;
}

#cms-select2 option,
#cms-select2 selectedcontent {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 4px 12px;
}

#cms-select2 img {
  width: auto;
  height: 20px;
}

#cms-select3,
::picker(select) {
  appearance: base-select;
}

#cms-select3:open::picker(select) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  appearance: base-select;
  padding: 2rem;
}

#cms-select3::picker-icon {
  position: relative;
  top: 3px;
}

#cms-select3 option,
#cms-select3 selectedcontent {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 4px 12px;
}

#cms-select3 selectedcontent img {
  width: auto;
  height: 20px;
}

#cms-select3 option img {
  padding: 10px;
  width: auto;
  height: 80px;
}

#cms-select3 option span {
  display: none;
}

#cms-select3 option::checkmark {
  display: none;
}



#cms-label4 {
  font-size: 2rem; 
}

#cms-select4 {
  anchor-name: --cms4;
  appearance: base-select;
  border: none;
  border-radius: 50%;
  padding: 0;
}

#cms-select4:open {
  z-index: 80;
}

#cms-select4:open::picker(select) {
  display: block;
  position: relative;
  top: anchor(--cms4 center);
  left: anchor(--cms4 center);
  translate: -50% -50%;
  border: none;
  background: transparent;
  width: 1000px;
  height: 1000px;
  min-height: 1000px;
  overflow: show;
}

#cms-select4::picker-icon {
  display: none;
}

#cms-select4 selectedcontent img,
#cms-select4 option img {
  border-radius: 50%;
  padding: 30px;
  width: 100px;
  height: 100px;
}
#cms-select4 selectedcontent span,
#cms-select4 option span {
  display: none;
}

#cms-select4 selectedcontent {
  border-radius: 50%;
  background: white;
  width: 100px;
  height: 100px;
}

#cms-select4 option {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:
    rotate(calc(var(--i) * 60deg))
    translate(300px)
    rotate(calc(var(--i) * -60deg));
  margin: -50px;
  border-radius: 50%;
  background: white;
  padding: 4px;
  width: 100px;
  height: 100px;
}

#cms-select4 option:hover,
#cms-select4 option:focus {
  border: 4px solid Crimson;
  padding: 0;
}

#cms-select4 option::checkmark {
  display: none;
}

.bigpic {
  overflow-y: scroll;
}
.bigpic img { 
  width: 100%;
  height: auto;
  max-height: unset;
}

#ta-demo-1,
#ta-demo-2 {
  padding: 2rem;
  min-width: 50%;
  min-height: 200px;
}

#ta-demo-2 {
  max-height: 600px;
  field-sizing: content;
}


img.crisp {
  image-rendering: crisp-edges;
}