/* Generated: the handwriting (letterforms: Allura, SIL Open Font License).
   A pen moves along the centre of each stroke and reveals the letters as it goes;
   it slows in tight curves and eases in and out. Delay = start, duration = length. */

.signature .ink path {
  fill: none;
  stroke: #fff;
  stroke-width: 100px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1 2;
  stroke-dashoffset: 1.05;
}

/* Once the pen is done, the letters are shown whole (covers any tiny gap the pen missed) */
.signature .ink-final {
  fill: #fff;
  opacity: 0;
  animation: ink-settle 0.6s ease 5.04s forwards;
}

@keyframes ink-settle { to { opacity: 1; } }

.s1 { animation: w1 0.302s linear 0.500s forwards; }
.s2 { animation: w2 0.060s linear 0.872s forwards; }
.s3 { animation: w3 0.306s linear 0.932s forwards; }
.s4 { animation: w4 0.226s linear 1.458s forwards; }
.s5 { animation: w5 0.117s linear 1.754s forwards; }
.s6 { animation: w6 0.060s linear 1.872s forwards; }
.s7 { animation: w7 0.199s linear 1.932s forwards; }
.s8 { animation: w8 0.101s linear 2.131s forwards; }
.s9 { animation: w9 0.171s linear 2.302s forwards; }
.s10 { animation: w10 0.060s linear 2.543s forwards; }
.s11 { animation: w11 0.361s linear 2.823s forwards; }
.s12 { animation: w12 0.060s linear 3.253s forwards; }
.s13 { animation: w13 0.137s linear 3.313s forwards; }
.s14 { animation: w14 0.199s linear 3.450s forwards; }
.s15 { animation: w15 0.199s linear 3.649s forwards; }
.s16 { animation: w16 0.101s linear 3.848s forwards; }
.s17 { animation: w17 0.171s linear 4.019s forwards; }
.s18 { animation: w18 0.311s linear 4.260s forwards; }
.s19 { animation: w19 0.137s linear 4.570s forwards; }
.s20 { animation: w20 0.153s linear 4.707s forwards; }
.s21 { animation: w21 0.060s linear 4.930s forwards; }
.s22 { animation: w22 0.120s linear 0.706s forwards; }
.s23 { animation: w23 0.120s linear 1.022s forwards; }
.s24 { animation: w24 0.120s linear 2.073s forwards; }
.s25 { animation: w25 0.120s linear 2.373s forwards; }
.s26 { animation: w26 0.120s linear 4.090s forwards; }
.s27 { animation: w27 0.120s linear 4.356s forwards; }

@keyframes w1 { 0.0%{stroke-dashoffset:1.0000} 10.0%{stroke-dashoffset:0.9694} 20.0%{stroke-dashoffset:0.8938} 30.0%{stroke-dashoffset:0.7644} 40.0%{stroke-dashoffset:0.6771} 50.0%{stroke-dashoffset:0.5330} 60.0%{stroke-dashoffset:0.4063} 70.0%{stroke-dashoffset:0.3046} 80.0%{stroke-dashoffset:0.2055} 90.0%{stroke-dashoffset:0.0828} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w2 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.8409} 50.0%{stroke-dashoffset:0.5164} 75.0%{stroke-dashoffset:0.1856} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w3 { 0.0%{stroke-dashoffset:1.0000} 10.0%{stroke-dashoffset:0.9607} 20.0%{stroke-dashoffset:0.8741} 30.0%{stroke-dashoffset:0.7641} 40.0%{stroke-dashoffset:0.6790} 50.0%{stroke-dashoffset:0.5427} 60.0%{stroke-dashoffset:0.3908} 70.0%{stroke-dashoffset:0.3100} 80.0%{stroke-dashoffset:0.1878} 90.0%{stroke-dashoffset:0.0857} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w4 { 0.0%{stroke-dashoffset:1.0000} 12.5%{stroke-dashoffset:0.9350} 25.0%{stroke-dashoffset:0.8017} 37.5%{stroke-dashoffset:0.7033} 50.0%{stroke-dashoffset:0.5395} 62.5%{stroke-dashoffset:0.3715} 75.0%{stroke-dashoffset:0.2580} 87.5%{stroke-dashoffset:0.0993} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w5 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.8621} 50.0%{stroke-dashoffset:0.5119} 75.0%{stroke-dashoffset:0.2484} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w6 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.7982} 50.0%{stroke-dashoffset:0.5767} 75.0%{stroke-dashoffset:0.3478} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w7 { 0.0%{stroke-dashoffset:1.0000} 14.3%{stroke-dashoffset:0.9307} 28.6%{stroke-dashoffset:0.7748} 42.9%{stroke-dashoffset:0.6121} 57.1%{stroke-dashoffset:0.4629} 71.4%{stroke-dashoffset:0.2487} 85.7%{stroke-dashoffset:0.1292} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w8 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.8408} 50.0%{stroke-dashoffset:0.5156} 75.0%{stroke-dashoffset:0.2955} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w9 { 0.0%{stroke-dashoffset:1.0000} 16.7%{stroke-dashoffset:0.8879} 33.3%{stroke-dashoffset:0.7005} 50.0%{stroke-dashoffset:0.5251} 66.7%{stroke-dashoffset:0.3349} 83.3%{stroke-dashoffset:0.1768} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w10 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.7959} 50.0%{stroke-dashoffset:0.5164} 75.0%{stroke-dashoffset:0.2373} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w11 { 0.0%{stroke-dashoffset:1.0000} 8.3%{stroke-dashoffset:0.9684} 16.7%{stroke-dashoffset:0.9026} 25.0%{stroke-dashoffset:0.7697} 33.3%{stroke-dashoffset:0.6715} 41.7%{stroke-dashoffset:0.5833} 50.0%{stroke-dashoffset:0.5052} 58.3%{stroke-dashoffset:0.4057} 66.7%{stroke-dashoffset:0.3136} 75.0%{stroke-dashoffset:0.2409} 83.3%{stroke-dashoffset:0.1592} 91.7%{stroke-dashoffset:0.0409} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w12 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.8638} 50.0%{stroke-dashoffset:0.5863} 75.0%{stroke-dashoffset:0.2200} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w13 { 0.0%{stroke-dashoffset:1.0000} 20.0%{stroke-dashoffset:0.8298} 40.0%{stroke-dashoffset:0.6650} 60.0%{stroke-dashoffset:0.4095} 80.0%{stroke-dashoffset:0.2276} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w14 { 0.0%{stroke-dashoffset:1.0000} 14.3%{stroke-dashoffset:0.9307} 28.6%{stroke-dashoffset:0.7748} 42.9%{stroke-dashoffset:0.6121} 57.1%{stroke-dashoffset:0.4629} 71.4%{stroke-dashoffset:0.2487} 85.7%{stroke-dashoffset:0.1292} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w15 { 0.0%{stroke-dashoffset:1.0000} 14.3%{stroke-dashoffset:0.9307} 28.6%{stroke-dashoffset:0.7748} 42.9%{stroke-dashoffset:0.6121} 57.1%{stroke-dashoffset:0.4629} 71.4%{stroke-dashoffset:0.2487} 85.7%{stroke-dashoffset:0.1292} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w16 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.8408} 50.0%{stroke-dashoffset:0.5156} 75.0%{stroke-dashoffset:0.2955} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w17 { 0.0%{stroke-dashoffset:1.0000} 16.7%{stroke-dashoffset:0.8879} 33.3%{stroke-dashoffset:0.7005} 50.0%{stroke-dashoffset:0.5251} 66.7%{stroke-dashoffset:0.3349} 83.3%{stroke-dashoffset:0.1768} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w18 { 0.0%{stroke-dashoffset:1.0000} 10.0%{stroke-dashoffset:0.9584} 20.0%{stroke-dashoffset:0.8451} 30.0%{stroke-dashoffset:0.7653} 40.0%{stroke-dashoffset:0.6602} 50.0%{stroke-dashoffset:0.5418} 60.0%{stroke-dashoffset:0.3954} 70.0%{stroke-dashoffset:0.3125} 80.0%{stroke-dashoffset:0.1922} 90.0%{stroke-dashoffset:0.0914} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w19 { 0.0%{stroke-dashoffset:1.0000} 20.0%{stroke-dashoffset:0.8298} 40.0%{stroke-dashoffset:0.6650} 60.0%{stroke-dashoffset:0.4095} 80.0%{stroke-dashoffset:0.2276} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w20 { 0.0%{stroke-dashoffset:1.0000} 20.0%{stroke-dashoffset:0.8172} 40.0%{stroke-dashoffset:0.6107} 60.0%{stroke-dashoffset:0.4236} 80.0%{stroke-dashoffset:0.2092} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w21 { 0.0%{stroke-dashoffset:1.0000} 25.0%{stroke-dashoffset:0.7959} 50.0%{stroke-dashoffset:0.5164} 75.0%{stroke-dashoffset:0.2373} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w22 { 0.0%{stroke-dashoffset:1.0000} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w23 { 0.0%{stroke-dashoffset:1.0000} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w24 { 0.0%{stroke-dashoffset:1.0000} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w25 { 0.0%{stroke-dashoffset:1.0000} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w26 { 0.0%{stroke-dashoffset:1.0000} 100.0%{stroke-dashoffset:0.0000} }
@keyframes w27 { 0.0%{stroke-dashoffset:1.0000} 100.0%{stroke-dashoffset:0.0000} }

@media (prefers-reduced-motion: reduce) {
  .signature .ink path { animation: none; stroke-dashoffset: 0; }
  .signature .ink-final { animation: none; opacity: 1; }
}
