/* Generated by MaxPlace */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  width: 100%;
  min-height: 100%;
  /* font-size controlled by inline scaler script */
}

body {
  width: 100%;
  background: transparent;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.page {
  position: relative;
  width: 600rem;   /* = 600px at full scale; scales with viewport below 600px */
  margin: 0 auto;  /* center on screens wider than 600px */
  min-height: 100vh;
  overflow: visible;
}

img { max-width: none; display: block; }
a { text-decoration: none; color: inherit; }
.has-link { cursor: pointer; }
.has-link > * { transition: opacity 0.18s ease, transform 0.18s ease; transform-origin: center center; }
.has-link:hover > * { opacity: 0.78; transform: scale(1.04); }
.has-link:active > * { opacity: 0.6; transform: scale(0.97); }

/* Animations */
@keyframes kpb-fade-in { from { opacity: 0; } to { opacity: var(--op, 1); } }
@keyframes kpb-pop-in  { from { transform: scale(0.5); opacity: 0; } to { transform: scale(1); opacity: var(--op, 1); } }
@keyframes kpb-slide-up { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: var(--op, 1); } }
@keyframes kpb-bounce-in {
  0% { transform: scale(0.3); opacity: 0; }
  50% { transform: scale(1.05); opacity: 1; }
  70% { transform: scale(0.9); }
  100% { transform: scale(1); opacity: var(--op, 1); }
}
.anim-entrance-fade-in { animation: kpb-fade-in 0.6s ease-out forwards; }
.anim-entrance-pop-in  { animation: kpb-pop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.anim-entrance-slide-up { animation: kpb-slide-up 0.6s ease-out forwards; }
.anim-entrance-bounce-in { animation: kpb-bounce-in 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }

@keyframes kpb-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(1deg); } }
@keyframes kpb-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes kpb-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.anim-hover-shake:hover { animation: kpb-shake 0.2s infinite; z-index: 1000 !important; }
.anim-hover-float:hover { animation: kpb-float 1.5s ease-in-out infinite; z-index: 1000 !important; }
.anim-hover-pulse:hover { animation: kpb-pulse 1s ease-in-out infinite; z-index: 1000 !important; }
.anim-hover-tilt:hover  { transform: scale(1.05) rotate(3deg) !important; z-index: 1000 !important; transition: transform 0.2s; }
.anim-hover-glow:hover  { box-shadow: 0 0 15px #6c63ff; z-index: 1000 !important; transition: box-shadow 0.2s; }

/* Background Patterns */
.bg-swatch-checker {
  background-image:
    linear-gradient(45deg, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),
    linear-gradient(45deg, #ddd 25%, #fff 25%, #fff 75%, #ddd 75%);
  background-size: 8px 8px;
  background-position: 0 0, 4px 4px;
}
.bg-swatch-dots {
  background-color: #fff;
  background-image: radial-gradient(#ddd 1.5px, transparent 0);
  background-size: 8px 8px;
}
.bg-swatch-stripes {
  background-color: #fff;
  background-image: linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 50%, #f0f0f0 50%, #f0f0f0 75%, transparent 75%, transparent);
  background-size: 10px 10px;
}
