/* ── grid variables ───────────────────── */
:root {
  --bs-gutter-x: 1.5rem;  
  --bs-gutter-y: 0;        
}

.container {
  width: 100%; max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--bs-gutter-x);
}

.toggle-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Hide default checkbox */
.toggle-wrap input {
  display: none;
}

/* Label layout */
.toggle-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 10px;
  font-size: 0.9rem;
  color: #444;
}

/* Toggle background */
.toggle-slider {
  position: relative;
  width: 42px;
  height: 22px;
  background: #ddd;
  border-radius: 50px;
  transition: all 0.3s ease;
}

/* Toggle knob */
.toggle-slider::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: 2px;
  left: 2px;
  background: #fff;
  border-radius: 50%;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* Checked state */
.toggle-wrap input:checked + .toggle-label .toggle-slider {
  background: #FF6B35; /* orange */
}

.toggle-wrap input:checked + .toggle-label .toggle-slider::before {
  transform: translateX(20px);
}

/* Optional subtle hover */
.toggle-label:hover .toggle-slider {
  box-shadow: 0 0 0 3px rgba(255,107,53,0.15);
}

.container-fluid { width: 100%; padding-inline: var(--bs-gutter-x); }
 
.row {
  display: flex; flex-wrap: wrap;
  margin-inline: calc(var(--bs-gutter-x) * -.5);
  margin-block-start: calc(var(--bs-gutter-y) * -1);
}
.row > * {
  flex-shrink: 0; width: 100%;
  max-width: 100%;
  padding-inline: calc(var(--bs-gutter-x) * .5);
  margin-block-start: var(--bs-gutter-y);
}
.row.tight {
  --bs-gutter-x: 0.5rem;
}
.row.loose {
  --bs-gutter-x: 3rem;
  --bs-gutter-y: 1.5rem; 
}
 
.col    { flex: 1 0 0%; }
.col-auto { flex: 0 0 auto; width: auto; }
.col-1  { flex: 0 0 auto; width: 8.3333%; }
.col-2  { flex: 0 0 auto; width: 16.6667%; }
.col-3  { flex: 0 0 auto; width: 25%; }
.col-4  { flex: 0 0 auto; width: 33.3333%; }
.col-5  { flex: 0 0 auto; width: 41.6667%; }
.col-6  { flex: 0 0 auto; width: 50%; }
.col-8  { flex: 0 0 auto; width: 66.6667%; }
.col-9  { flex: 0 0 auto; width: 75%; }
.col-12 { flex: 0 0 auto; width: 100%; }
 
.d-none         { display: none; }
.d-block        { display: block; }
.d-inline       { display: inline; }
.d-inline-block { display: inline-block; }
.d-flex         { display: flex; }
.d-inline-flex  { display: inline-flex; }
.d-grid         { display: grid; }
.d-inline-grid  { display: inline-grid; }
.d-table        { display: table; }
.d-table-cell   { display: table-cell; }
.d-table-row    { display: table-row; }
 
@media (min-width: 576px) {
  .col-sm-1  { flex: 0 0 auto; width: 8.3333%; }
  .col-sm-2  { flex: 0 0 auto; width: 16.6667%; }
  .col-sm-3  { flex: 0 0 auto; width: 25%; }
  .col-sm-4  { flex: 0 0 auto; width: 33.3333%; }
  .col-sm-5  { flex: 0 0 auto; width: 41.6667%; }
  .col-sm-6  { flex: 0 0 auto; width: 50%; }
  .col-sm-8  { flex: 0 0 auto; width: 66.6667%; }
  .col-sm-12 { flex: 0 0 auto; width: 100%; }
  
  .d-sm-none         { display: none; }
  .d-sm-block        { display: block; }
  .d-sm-inline       { display: inline; }
  .d-sm-inline-block { display: inline-block; }
  .d-sm-flex         { display: flex; }
  .d-sm-inline-flex  { display: inline-flex; }
  .d-sm-grid         { display: grid; }
}
 
@media (min-width: 768px) {
  .col-md-1  { flex: 0 0 auto; width: 8.3333%; }
  .col-md-2  { flex: 0 0 auto; width: 16.6667%; }
  .col-md-3  { flex: 0 0 auto; width: 25%; }
  .col-md-4  { flex: 0 0 auto; width: 33.3333%; }
  .col-md-5  { flex: 0 0 auto; width: 41.6667%; }
  .col-md-6  { flex: 0 0 auto; width: 50%; }
  .col-md-7  { flex: 0 0 auto; width: 58.3333%; }
  .col-md-8  { flex: 0 0 auto; width: 66.6667%; }
  .col-md-9  { flex: 0 0 auto; width: 75%; }
  .col-md-12 { flex: 0 0 auto; width: 100%; }

  .d-md-none         { display: none; }
  .d-md-block        { display: block; }
  .d-md-inline       { display: inline; }
  .d-md-inline-block { display: inline-block; }
  .d-md-flex         { display: flex; }
  .d-md-inline-flex  { display: inline-flex; }
  .d-md-grid         { display: grid; }
}
 
@media (min-width: 992px) {
  .col-lg-2  { flex: 0 0 auto; width: 16.6667%; }
  .col-lg-3  { flex: 0 0 auto; width: 25%; }
  .col-lg-4  { flex: 0 0 auto; width: 33.3333%; }
  .col-lg-5  { flex: 0 0 auto; width: 41.6667%; }
  .col-lg-6  { flex: 0 0 auto; width: 50%; }
  .col-lg-7  { flex: 0 0 auto; width: 58.3333%; }
  .col-lg-8  { flex: 0 0 auto; width: 66.6667%; }
  .col-lg-12 { flex: 0 0 auto; width: 100%; }

  .d-lg-none         { display: none; }
  .d-lg-block        { display: block; }
  .d-lg-inline       { display: inline; }
  .d-lg-inline-block { display: inline-block; }
  .d-lg-flex         { display: flex; }
  .d-lg-inline-flex  { display: inline-flex; }
  .d-lg-grid         { display: grid; }
}
 
   
@media (min-width: 1200px) {
  .col-xl-2  { flex: 0 0 auto; width: 16.6667%; }
  .col-xl-3  { flex: 0 0 auto; width: 25%; }
  .col-xl-4  { flex: 0 0 auto; width: 33.3333%; }
  .col-xl-5  { flex: 0 0 auto; width: 41.6667%; }
  .col-xl-6  { flex: 0 0 auto; width: 50%; }
  .col-xl-7  { flex: 0 0 auto; width: 58.3333%; }
  .col-xl-8  { flex: 0 0 auto; width: 66.6667%; }
  .col-xl-12 { flex: 0 0 auto; width: 100%; }

  .d-xl-none         { display: none; }
  .d-xl-block        { display: block; }
  .d-xl-inline       { display: inline; }
  .d-xl-inline-block { display: inline-block; }
  .d-xl-flex         { display: flex; }
  .d-xl-inline-flex  { display: inline-flex; }
  .d-xl-grid         { display: grid; }
}
 
@media (min-width: 1400px) {
  .col-xxl-2  { flex: 0 0 auto; width: 16.6667%; }
  .col-xxl-3  { flex: 0 0 auto; width: 25%; }
  .col-xxl-4  { flex: 0 0 auto; width: 33.3333%; }
  .col-xxl-5  { flex: 0 0 auto; width: 41.6667%; }
  .col-xxl-6  { flex: 0 0 auto; width: 50%; }
  .col-xxl-7  { flex: 0 0 auto; width: 58.3333%; }
  .col-xxl-8  { flex: 0 0 auto; width: 66.6667%; }
  .col-xxl-12 { flex: 0 0 auto; width: 100%; }

  .d-xxl-none         { display: none; }
  .d-xxl-block        { display: block; }
  .d-xxl-inline       { display: inline; }
  .d-xxl-inline-block { display: inline-block; }
  .d-xxl-flex         { display: flex; }
  .d-xxl-inline-flex  { display: inline-flex; }
  .d-xxl-grid         { display: grid; }
}

@media print {
  .d-print-none  { display: none; }
  .d-print-block { display: block; }
  .d-print-flex  { display: flex; }
}


.rotate-y{
  animation: animeRotateY 6s linear infinite; 
}

@keyframes animeRotateY{
  0%{
    transform: rotateY(0deg);
  }
  100%{
    transform: rotateY(360deg);
  }
}   
  
.font-fancy{ 
  font-family: "Matura MT Script Capitals"; 
  font-weight: 500;
} 

.floating {  
    animation-name: floating;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    margin-left: 30px;
    margin-top: 5px;
}

@keyframes floating {
    from { transform: translate(0,  0px); }
    65%  { transform: translate(0, 15px); }
    to   { transform: translate(0, -0px); }    
}

.shake{
    animation: shake 0.6s;
}


@keyframes shake {
	0% { transform: translate(1px, 1px) rotate(0deg); }
	10% { transform: translate(-1px, -2px) rotate(-1deg); }
	20% { transform: translate(-3px, 0px) rotate(1deg); }
	30% { transform: translate(3px, 2px) rotate(0deg); }
	40% { transform: translate(1px, -1px) rotate(1deg); }
	50% { transform: translate(-1px, 2px) rotate(-1deg); }
	60% { transform: translate(-3px, 1px) rotate(0deg); }
	70% { transform: translate(3px, 1px) rotate(-1deg); }
	80% { transform: translate(-1px, -1px) rotate(1deg); }
	90% { transform: translate(1px, 2px) rotate(0deg); }
	100% { transform: translate(1px, -2px) rotate(-1deg); }
}

.pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}