body {overflow-x:hidden;text-wrap:pretty;}
.footer-links a {color:var(--contrast);}
.footer-links a:hover {color:var(--accent);}

.boxed-title-outline {outline:8px solid #ffffff;}

ol, ul {margin: 0 0 1em 1.5em;}
li {margin-bottom: 0.25em;}
li:last-child {margin-bottom: 0px;}

/* dark mode switcher styling */
.wp-dark-mode-switch-3 ._track {background: #12329a !important;}
/*menu and icons in menu */
.nav-time-for-court:hover span{color:#12329a;}

.nav-court-lottie {transform: rotate(-5deg);}

.nav-icon a:before {
    content: "";
    display: inline-block;
    width: 1.6em;
    height: 1.6em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

.nav-home a:before {
    background-image: url('/wp-content/uploads/2026/06/house.svg');}

.nav-about-court a:before {
    background-image: url('/wp-content/uploads/2026/06/gavel-icon.svg');}

.nav-what-will-happen a:before {
background-image: url('/wp-content/uploads/2026/06/unsure-icon.svg');
}

.nav-meet-everyone a:before {
    background-image: url('/wp-content/uploads/2026/06/see-icon.svg');
}

.nav-am-i-in-trouble a:before {
    background-image: url('/wp-content/uploads/2026/06/hmm-icon.svg');
}

.nav-what-do-i-say a:before {
    background-image: url('/wp-content/uploads/2026/06/question-icon.svg');
}

/* home page animated icons */
.pulse-icon {
  animation: pulse-scale-anim 2s infinite ease-in-out;
}

@keyframes pulse-scale-anim {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

/* meet everyone images effects */
.meeteveryone-img-odd {
  transform: rotate(-5deg);
  animation: pulseLoopRotate 4s infinite ease-in-out;
}

@keyframes pulseLoopRotate {
  0% {
    transform: rotate(-5deg) scale(1);
  }
  50% {
    transform: rotate(-5deg) scale(1.06);
  }
  100% {
    transform: rotate(-5deg) scale(1);
  }
}

.meeteveryone-img-even {
  transform: rotate(5deg);
  animation: pulseLoopRotate2 4s infinite ease-in-out;
}

@keyframes pulseLoopRotate2 {
  0% {
    transform: rotate(5deg) scale(1);
  }
  50% {
    transform: rotate(5deg) scale(1.06);
  }
  100% {
    transform: rotate(5deg) scale(1);
  }
}

/* home page scroll gallery v1 */
.gallery-bounds {
  width: 100%;
  overflow: hidden; 
  display: flex;
  box-sizing: border-box;
}
.column {
  flex: 1;
 height: auto;
  overflow: hidden; 
  position: relative;
}

.track {
  display: flex;
  flex-direction: column;
  height: calc(300px * 6);
}

.track img {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
  display: block;
	height:280px;
	aspect-ratio: 4 / 1;
	margin-top: 10px;
		margin-bottom: 10px;
}

.scroll-up {
  animation: slide-up 40s linear infinite;
}

.scroll-down {
  animation: slide-down 40s linear infinite;
}

.gallery-bounds:hover .track {
  animation-play-state: paused;
}


@keyframes slide-up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(calc(-300px * 3)); 
  }
}

@keyframes slide-down {
  0% {
    transform: translateY(calc(-300px * 3));
  }
  100% {
    transform: translateY(0);
  }
}

/* wobble button on hover*/

.btn-wobble:hover {
  animation: wobble 0.8s;
}

@keyframes wobble {
  0%,
  100% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
}

/* flip cards v3 - mobile*/
.cards-container-3 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10% 0;
    overflow: visible;
}

.flip-card-3 {
    perspective: 1000px;
    cursor: pointer;
    width: 25%; 
    max-width: 455px; 
    aspect-ratio: 455 / 630; 
    margin-left: -13%; 
    position: relative;
    flex-shrink: 0;
    
    --rot-3: 0deg;
    --transY-3: 0px;
    transform: rotate(var(--rot-3)) translateY(var(--transY-3));
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.flip-card-3:first-child {
    margin-left: 0;
}

.card-a-3 { --rot-3: -20deg; --transY-3: 20px; }
.card-b-3 { --rot-3: -12deg; --transY-3: 10px; }
.card-c-3 { --rot-3: -5deg;  --transY-3: 3px; }
.card-d-3 { --rot-3: 0deg;   --transY-3: 0px; }
.card-e-3 { --rot-3: 5deg;   --transY-3: 3px; }
.card-f-3 { --rot-3: 12deg;  --transY-3: 10px; }
.card-g-3 { --rot-3: 20deg;  --transY-3: 20px; }

.flip-card-inner-3 {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
}

.flip-card-3.is-flipped-3 .flip-card-inner-3 {
    transform: rotateY(180deg);
}

.flip-card-front-3,
.flip-card-back-3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    margin: 0 !important;
    background: transparent;
}

.flip-card-back-3 {
    transform: rotateY(0deg);
    z-index: 2;
}

.flip-card-front-3 {
    transform: rotateY(180deg);
    z-index: 1;
}

.flip-card-front-3 figure,
.flip-card-back-3 figure,
.flip-card-front-3 img,
.flip-card-back-3 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    margin: 0 !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: transparent;
}

.card-overlay-3 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    cursor: pointer;
}

.card-overlay-3.is-visible-3 {
    opacity: 1;
    visibility: visible;
}

.card-overlay-img-3 {
    width: 90%;
    max-width: 455px;
    max-height: 90vh;
    object-fit: contain;
    transform: scale(0.8);
    transition: transform 0.3s cubic-bezier(0.4, 0.2, 0.2, 1);
    border-radius: 12px;
}

.card-overlay-3.is-visible-3 .card-overlay-img-3 {
    transform: scale(1);
}

/*container lets talk about court */
.wrapper-with-bg {
    position: relative;
    padding: 40px 0;
    z-index: 1;
}

.wrapper-with-bg::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5vw;
    right: 5vw;
    background-color: #FEE9F1;
	border: 3px solid #df799b;
    border-radius: 40px;
    z-index: -1;
}

@media (min-width: 1600px){
	.cards-container-2 {
	margin-top: 3vw;
		margin-bottom: 3vw;}
}

/*flip cards v2 desktop + tablet*/

.cards-container-2 {
	width: auto;
	margin-top: 5vw;
    margin-bottom: 5vw;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible;
}

.flip-card-2 {
    perspective: 1000px;
    cursor: pointer;
    width: 25%; 
    max-width: 455px; 
    aspect-ratio: 455 / 630; 
    margin-left: -14%; 
    position: relative;
    flex-shrink: 1;
    min-width: 0;
    
    --rot: 0deg;
    --transY: 0px;
    --hoverY: 0px;
    transform: rotate(var(--rot)) translateY(calc(var(--transY) + var(--hoverY)));
    transition: all 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.flip-card-2:first-child {
    margin-left: 0;
}

.card-a { --rot: -15deg; --transY: 25px; }
.card-b { --rot: -10deg; --transY: 12px; }
.card-c { --rot: -5deg;  --transY: 4px; }
.card-d { --rot: 0deg;   --transY: 0px; }
.card-e { --rot: 5deg;   --transY: 4px; }
.card-f { --rot: 10deg;  --transY: 12px; }
.card-g { --rot: 15deg;  --transY: 25px; }

@media (hover: hover) {
    .flip-card-2:not(.is-active-2):hover {
        --hoverY: -45px;
    }
}

.flip-card-2.is-active-2 {
    --rot: 0deg;
    --transY: 0px;
    --hoverY: 0px;
    width: 35%;
    margin-left: 2%;
    margin-right: 2%;
    z-index: 10;
}

.cards-container-2:has(.is-active-2) .flip-card-2:not(.is-active-2) {
    margin-left: -20%;
}

.cards-container-2:has(.is-active-2) .flip-card-2:first-child {
    margin-left: 0;
}

.cards-container-2:has(.is-active-2) .flip-card-2.is-active-2 + .flip-card-2 {
    margin-left: 0;
}

.flip-card-inner-2 {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
}

.flip-card-2.is-active-2 .flip-card-inner-2 {
    transform: rotateY(180deg);
}

.flip-card-front-2,
.flip-card-back-2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    margin: 0 !important;
    background: transparent;
}

.flip-card-back-2 {
    transform: rotateY(0deg);
    z-index: 2;
}

.flip-card-front-2 {
    transform: rotateY(180deg);
    z-index: 1;
}

.flip-card-front-2 figure,
.flip-card-back-2 figure,
.flip-card-front-2 img,
.flip-card-back-2 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    margin: 0 !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: transparent;
}

/* flip cards*/

.flip-card {
    perspective: 1000px;
    cursor: pointer;
    width: 100%;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
    transform: rotateY(180deg);
}

.flip-card.is-flipped .flip-card-inner {
    transform: rotateY(0deg);
}

.flip-card-front {
    position: relative;
    z-index: 2;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flip-card-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotateY(180deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flip-card-front img,
.flip-card-back img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* zipper effect */

.zipper {
  position: fixed; top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 999999;
  pointer-events: none;
}
.zipper-left, .zipper-right {
  position: absolute; top: 0;
  height: 100%; width: 50%; overflow: hidden;
}
.zipper-left  { left: 0; }
.zipper-right { right: 0; }
 
.zip {
  position: absolute; left: 0; width: 100%;
  background:  #481d5e;
  will-change: transform;
}

.zipper-left  .zip::after,
.zipper-right .zip::after {
  content: '';
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 7px; height: 6px; border-radius: 1px; background: #7a7a7a;
}
.zipper-left  .zip::after { right: 0; }
.zipper-right .zip::after { left: 0; }
.zipper-left  .zip:nth-child(odd)::after  { top: 25%; transform: none; }
.zipper-right .zip:nth-child(even)::after { top: 25%; transform: none; }
 

.zipper::after {
  content: '';
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 4px; height: 100%;
}

.zipper-handle {
  position: absolute; left: 50%;
  transform: translate(-50%, 0px);
  width: 40px; height: 52px;
  z-index: 2;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.7));
}
.zipper-handle svg { width: 100%; height: 100%; }
 
/* Notecard */
#zipper-notecard {
  position: fixed; 
	top: 70%; 
	left: 50vw; 
	transform: translateX(-50%);
  z-index: 9999999;
  background: rgba(255,255,255,.12); 
	backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.25); 
	color: #fff;
  padding: 1.5rem; 
	border-radius: 50px; 
	font-size: 24px;
  letter-spacing: .08em; 
	display: flex; 
	align-items: center; 
		flex-direction: row;
	column-gap: 8px;
  transition: opacity .5s ease, transform .5s ease; pointer-events: none;
  font-family: "Gabarito";
	font-weight:600;
	text-align: center;
	justify-content: center;
}

@media (max-width: 900px){
#zipper-notecard {
    width: 70%;
    margin: 0 auto;
}
}
#zipper-notecard .arr { animation: arr-bounce 1s ease-in-out infinite alternate; display: inline-block; }
#zipper-notecard.hide { opacity: 0; transform: translateX(-50%) translateY(12px); }
@keyframes arr-bounce { from { transform: translateY(0); } to { transform: translateY(5px); } }
/*victim statement letter*/
:root {
		--box-shadow-letter: 0 0 0 1px rgba(var(--rgb-black), 0.075), 0 0 0.1em 0.02em rgba(var(--rgb-black), 0.025), 0 0.4em 1.6em -0.8em rgba(var(--rgb-black), 0.1), 0 0.8em 1.2em -1.6em rgba(var(--rgb-black), 0.2), 0 1.2em 1.6em -2.4em rgba(var(--rgb-black), 0.3), 0 1.6em 2.4em -3.2em rgba(var(--rgb-black), 0.4);
	
	    --rgb-black: 11, 18, 21;
}
.letter-interior {
  flex: 0 0 82%;
  max-width: 60%;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  box-sizing: border-box;
  transform: rotate(-0.2deg);
  background: #fff;
  border-radius: 0.025em;
  box-shadow: var(--box-shadow-letter);
  padding: 50px;
  display: block !important;
  position: relative;
  z-index: 1;
}
.letter-interior:before {
  content: "";
  position: absolute;
  inset: 0;
  background: white;
  border-radius: 0.025em;
  box-shadow: var(--box-shadow-letter);
  transform: rotate(-0.5deg) translate(3px, 1px);
  z-index: -10;
  pointer-events: none;
}

@media (max-width: 768px) {.letter-interior {
  max-width: 90%;
	padding:25px;}}
	
	@media (max-width: 9000px) {.letter-interior {
  max-width: 85%;
		padding:30px;}}

/* criminal case timeline*/
.timeline-container {
    position: relative;
}

.timeline-container::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: 100%;
    background-color: var(--accent);
    z-index: 1;
}


@media (max-width: 768px) {
    .timeline-container::before {
        left: 15px; 
    }
}

/* Fixes flex block issue on tooltips */
.gb-text:has(.tooltipsincontent) {
    display: block !important;
}

/* Squishy Button Code */
    .sqbtn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-family: system-ui, sans-serif;
      font-weight: 900;
      font-size: 13px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #fff;
      padding: 0 28px;
      height: 44px;
      border: none;
      border-radius: 10px;
      cursor: pointer;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
      outline: none;

      background: #ff4b3c;
      box-shadow:
        0 1px 0 1.5px #f9a0ae,
        0 6px 0 0 #a01e30,
        0 7px 0 1px #731522,
        0 10px 18px -4px rgba(160, 30, 48, 0.5);

      transition: transform 80ms ease, box-shadow 80ms ease;
    }

    .sqbtn:active,
    .sqbtn.pressed {
      transform: translateY(5px);
      box-shadow:
        0 1px 0 1.5px #f9a0ae,
        0 1px 0 0 #a01e30,
        0 2px 0 1px #731522,
        0 3px 8px -2px rgba(160, 30, 48, 0.4);
    }

    .icon {
      font-family: 'Material Icons';
      font-size: 18px;
      line-height: 1;
    }
h1, h2, h3 {text-wrap: balance;}
p {text-wrap:pretty;}



@media (max-width: 370px) {
    .gb-text-1baaf271 {
font-size: 2.4rem;
    }}
    .gb-menu-item-mi1c16d6:is(.current-menu-item,.current-menu-item:hover,.current-menu-item:focus-within) {
        color: var(--accent) !important;
    }
}

/* inside court carousel captions on hover*/
.caption-hover figure {
    position: relative;
    overflow: hidden;
    display: inline-block; 
    margin: 0;
	border-radius: 20px;
}

.caption-hover figure img {
    display: block; 
    width: 100%;
}

.caption-hover figcaption {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 16px;
    background: rgba(122, 37, 182, 0.75);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.caption-hover figure:hover figcaption {
    opacity: 1;
}

/* Kids Rights Page Chat Bubbles */
 :root {
  /* Left bubble (person) */
  --person-bg: #0a84ff;
  --person-text: #ffffff;

  /* Right bubble (judge) */
  --judge-bg: #e5f0ff;
  --judge-text: #000000;
}

aside.dialogue {
  max-width: 600px;
  margin: 2rem auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}

aside.dialogue blockquote {
  position: relative;
  margin: 0;
  padding: 0.75rem 1rem;
  max-width: 75%;
  font-size: 1rem;
	font-style: normal;
  line-height: 1.4;
  border-radius: 18px;
  box-shadow: none;

  /* start hidden & shifted down for the fadeUp animation */
  opacity: 0;
  transform: translateY(10px);
  animation: fadeUp 0.5s ease-out forwards;
}

/* Stagger each message by 1s, now through the 9th */
aside.dialogue blockquote:nth-child(1) { animation-delay: 0s; }
aside.dialogue blockquote:nth-child(2) { animation-delay: 1s; }
aside.dialogue blockquote:nth-child(3) { animation-delay: 2s; }
aside.dialogue blockquote:nth-child(4) { animation-delay: 3s; }
aside.dialogue blockquote:nth-child(5) { animation-delay: 4s; }
aside.dialogue blockquote:nth-child(6) { animation-delay: 5s; }
aside.dialogue blockquote:nth-child(7) { animation-delay: 6s; }
aside.dialogue blockquote:nth-child(8) { animation-delay: 7s; }
aside.dialogue blockquote:nth-child(9) { animation-delay: 8s; }

aside.dialogue .answer {
  align-self: flex-start;
  background: var(--person-bg);
  color: var(--person-text);
}

aside.dialogue .question {
  align-self: flex-end;
  background: var(--judge-bg);
  color: var(--judge-text);
}

/* Avatars */
aside.dialogue .answer::before,
aside.dialogue .question::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
}

aside.dialogue .answer::before {
  left: -64px;
  background-image: url('/wp-content/uploads/2026/03/person-avatar.png');
}

aside.dialogue .question::before {
  right: -64px;
  background-image: url('/wp-content/uploads/2026/03/judge-avatar.png');
}

/* Tails */
aside.dialogue .answer::after,
aside.dialogue .question::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border: 8px solid transparent;
}

aside.dialogue .answer::after {
  left: -12px;
  border-right-color: var(--person-bg);
}

aside.dialogue .question::after {
  right: -12px;
  border-left-color: var(--judge-bg);
}

/* Animation keyframes */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* —— Mobile tweaks —— */
@media (max-width: 600px) {
  aside.dialogue {
    margin: 1rem;
  }

  aside.dialogue blockquote {
    max-width: 90%;
    padding: 0.5rem 0.75rem;
    font-size: 0.95rem;
  }

  aside.dialogue .answer::before,
  aside.dialogue .question::before {
    width: 40px;
    height: 40px;
  }

  aside.dialogue .answer::before {
    left: -56px;
  }
  aside.dialogue .question::before {
    right: -56px;
  }

  aside.dialogue .answer::after,
  aside.dialogue .question::after {
    border-width: 6px;
  }

  aside.dialogue .answer::after {
    left: -8px;
  }
  aside.dialogue .question::after {
    right: -8px;
  }
}


/* smileys slider */

@keyframes scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-150px * 6))}
}

.slider {
	overflow:hidden;
	position: relative;}

.slide-track {
	animation: scroll 40s linear infinite;
	display: flex;
	width: calc(150px * 16);
	}
	
	.slide {
	height: auto;
	width: 150px;
		margin:2rem;
	}

/* animations for images */
.hoverimg {
  animation: floatUpDown 5s ease-in-out infinite;
  display: inline-block; /* important to allow transform */
}
@keyframes floatUpDown {
  0%, 100% {transform: translateY(0);}
  50% {transform: translateY(-20px); /* adjust the distance here */ }
}

.anxiety-circle-rotation {
  animation: rotate360 60s linear infinite;
  transform-origin: center center;
  display: block;
}
@keyframes rotate360 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


/* gradients for headlines */
.gradient-purple {
    background: linear-gradient(90deg, #8C00FF 0%, #713A8E 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
/* menu fixes and styling */
.gb-menu-toggle--clone {right: calc(50% - 13px) !important;
    top: 50px!important;}
.gb-menu-toggle-369a5492 svg {
    width: auto;
	height: 26px;
}