Is it possible to animate stroke gradient? - css

Is it possible to animate gradient for rectangular/circle/closed paths?
This example only hard switches between two gradients
Codepen
SVG - circle and path with two defined gradients
<svg width="900" height="500" viewBox="0 0 300 300">
<defs>
<linearGradient id="gradient1" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#00bc9b" />
<stop offset="100%" stop-color="#5eaefd" />
</linearGradient>
<linearGradient id="gradient2" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#333" />
<stop offset="100%" stop-color="#fff" />
</linearGradient>
</defs>
<path transform="translate(-200,-200)" d="M 100 300 Q 150 50 200 250 Q 250 550 350 350 Q 350 50 400 250 C 450 550 450 50 500 300 C 550 50 550 550 600 300 A 50 50 0 1 1 100 300 " />
<circle cx="200" cy="200" r="200" />
</svg>
CSS
circle, path {
stroke: red;
stroke-width: 20px;
fill: transparent;
animation-name: stroke;
animation-duration: 1s;
animation-direction: alternate;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
}
#keyframes stroke {
from {
stroke: url(#gradient1);
}
to {
stroke: url(#gradient2);
}
}

You can use SMIL animations although SMIL animations are not supported in IE & Edge.
svg{width:90vh}
rect {
stroke: url(#gradient1);
}
<svg viewBox="0 0 500 300">
<defs>
<linearGradient id="gradient1" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#00bc9b">
<animate attributeName="stop-color" attributeType="CSS" values="#00bc9b;#333;#00bc9b;" dur="5s" repeatCount="indefinite"></animate>
</stop>
<stop offset="100%" stop-color="#5eaefd">
<animate attributeName="stop-color" attributeType="CSS" values="#5eaefd;#f00;#5eaefd;" dur="5s" repeatCount="indefinite"></animate>
</stop>
</linearGradient>
</defs>
<rect width="400" height="200" x="10" y="20"
stroke-width="20"
fill="transparent"
>
</rect>
</svg>

Related

I have an SVG with a linear gradient applied to the fill and it isn't applying the second stop color and I can't figure out why

I have an SVG with a linear gradient defined that I am applying the colors to using CSS. In practice though, it's only displaying the first color. In the CSS, I can see that the second stop-color is getting the orange rule, but it's not showing up in the SVG and I can't figure out why.
In the code below, the image shows up as solid blue.
linearGradient:nth-child(2n+1) stop:first-child {
stop-color: blue;
}
linearGradient:nth-child(2n+1) stop:nth-child(2) {
stop-color: orange;
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 265 255" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<defs>
<linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.68,-154.08,154.08,-1.68,61.68,180)">
<stop offset="0" style="stop-opacity:1"/>
<stop offset="1" style="stop-opacity:1"/>
</linearGradient>
</defs>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M2918.29,629.251L2934.79,629.251L2934.79,631.958C2934.79,635.75 2937.87,638.837 2941.67,638.837C2945.36,638.837 2948.47,635.685 2948.47,631.958L2948.47,629.251L2990.32,629.251L2990.32,631.958C2990.32,635.75 2993.41,638.837 2997.2,638.837C3000.95,638.837 3004,635.75 3004,631.958L3004,629.251L3045.92,629.251L3045.92,631.958C3045.92,635.75 3048.97,638.837 3052.73,638.837C3056.52,638.837 3059.6,635.75 3059.6,631.958L3059.6,629.251L3101.45,629.251L3101.45,631.958C3101.45,635.75 3104.54,638.837 3108.33,638.837C3112.08,638.837 3115.14,635.75 3115.14,631.958L3115.14,629.251L3131.63,629.251C3134.25,629.251 3136.37,631.377 3136.37,633.983L3136.37,654.855L2913.55,654.855L2913.55,633.983C2913.55,631.377 2915.67,629.251 2918.29,629.251ZM2940.3,620.944C2940.3,620.248 2940.93,619.659 2941.67,619.659C2942.35,619.659 2942.96,620.262 2942.96,620.944L2942.96,631.958C2942.95,633.43 2940.3,633.358 2940.3,631.958L2940.3,620.944ZM2995.83,620.944C2995.83,620.248 2996.46,619.659 2997.2,619.659C2997.92,619.659 2998.49,620.226 2998.49,620.944L2998.49,631.958C2998.49,633.48 2995.83,633.395 2995.83,631.958L2995.83,620.944ZM3051.43,620.944C3051.43,620.226 3052,619.659 3052.73,619.659C3053.47,619.659 3054.09,620.248 3054.09,620.944L3054.09,631.958C3054.09,633.395 3051.43,633.48 3051.43,631.958L3051.43,620.944ZM3106.96,620.944C3106.96,620.248 3107.59,619.659 3108.33,619.659C3109.05,619.659 3109.62,620.226 3109.62,620.944L3109.62,631.958C3109.62,633.48 3106.96,633.395 3106.96,631.958L3106.96,620.944ZM2908.03,633.983L2908.03,804.918C2908.03,810.569 2912.64,815.171 2918.29,815.171L3079.48,815.171C3081,815.171 3082.24,813.937 3082.24,812.414C3082.24,810.892 3081,809.657 3079.48,809.657L2918.29,809.657C2915.67,809.657 2913.55,807.532 2913.55,804.918L2913.55,660.37L3136.37,660.37L3136.37,756.432C3136.37,757.954 3137.61,759.188 3139.13,759.188C3140.65,759.188 3141.89,757.954 3141.89,756.432L3141.89,657.684C3141.89,657.659 3141.9,657.638 3141.9,657.613C3141.9,657.587 3141.89,657.567 3141.89,657.542L3141.89,633.983C3141.89,628.333 3137.29,623.737 3131.63,623.737L3115.14,623.737L3115.14,620.944C3115.14,617.196 3112.08,614.145 3108.33,614.145C3104.54,614.145 3101.45,617.196 3101.45,620.944L3101.45,623.737L3059.6,623.737L3059.6,620.944C3059.6,617.196 3056.52,614.145 3052.73,614.145C3048.97,614.145 3045.92,617.196 3045.92,620.944L3045.92,623.737L3004,623.737L3004,620.944C3004,617.196 3000.95,614.145 2997.2,614.145C2993.41,614.145 2990.32,617.196 2990.32,620.944L2990.32,623.737L2948.47,623.737L2948.47,620.944C2948.47,617.196 2945.42,614.145 2941.67,614.145C2937.87,614.145 2934.79,617.196 2934.79,620.944L2934.79,623.737L2918.29,623.737C2912.64,623.737 2908.03,628.333 2908.03,633.983Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3109.62,747.995L3056.86,747.995L3056.86,720.237L3109.62,720.237L3109.62,747.995ZM3051.35,781.267L2998.58,781.267L2998.58,753.509L3051.35,753.509L3051.35,781.267ZM2940.3,753.509L2993.07,753.509L2993.07,781.267L2940.3,781.267L2940.3,753.509ZM2940.3,720.237L2993.07,720.237L2993.07,747.995L2940.3,747.995L2940.3,720.237ZM2998.58,686.965L3051.35,686.965L3051.35,714.723L2998.58,714.723L2998.58,686.965ZM2998.58,747.995L2998.58,720.237L3051.35,720.237L3051.35,747.995L2998.58,747.995ZM3109.62,714.723L3056.86,714.723L3056.86,686.965L3109.62,686.965L3109.62,714.723ZM3115.14,750.752L3115.14,684.208C3115.14,682.686 3113.9,681.45 3112.38,681.45L2995.82,681.45C2994.3,681.45 2993.07,682.686 2993.07,684.208L2993.07,714.723L2937.54,714.723C2936.02,714.723 2934.79,715.958 2934.79,717.48L2934.79,784.024C2934.79,785.546 2936.02,786.782 2937.54,786.782L3054.11,786.782C3055.63,786.782 3056.86,785.546 3056.86,784.024L3056.86,753.509L3112.38,753.509C3113.9,753.509 3115.14,752.274 3115.14,750.752Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3085.29,798.679C3085.53,798.75 3085.78,798.779 3086.02,798.779C3087.23,798.779 3088.34,797.982 3088.68,796.755L3089.51,793.753C3091.82,785.389 3095.38,778.654 3100.08,773.75C3101.13,772.644 3101.1,770.899 3100,769.851C3098.89,768.789 3097.14,768.839 3096.1,769.93C3090.76,775.509 3086.75,783.026 3084.2,792.274L3083.36,795.29C3082.95,796.755 3083.82,798.277 3085.29,798.679Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3159.47,796.755C3159.81,797.982 3160.92,798.779 3162.13,798.779C3162.37,798.779 3162.62,798.75 3162.86,798.679C3164.33,798.277 3165.19,796.755 3164.79,795.29L3163.95,792.289C3161.4,783.026 3157.39,775.509 3152.05,769.93C3150.99,768.839 3149.25,768.789 3148.15,769.851C3147.05,770.899 3147.01,772.644 3148.07,773.75C3152.77,778.654 3156.33,785.389 3158.64,793.768L3159.47,796.755Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3107.96,856.809L3141.33,856.809C3139.18,860.384 3133.01,863.493 3124.65,863.493C3116.28,863.493 3110.11,860.384 3107.96,856.809ZM3082.21,848.53C3082.3,847.855 3084.23,846.024 3085.5,844.818C3088.94,841.558 3093.63,837.106 3095.76,829.783C3098.23,821.224 3101.71,808.717 3104.68,797.954C3109.7,779.853 3119.25,779.989 3124.91,779.875C3129.95,779.91 3139.6,779.853 3144.61,797.954C3147.58,808.717 3151.06,821.217 3153.53,829.783C3155.66,837.106 3160.36,841.558 3163.79,844.818C3165.07,846.031 3167,847.862 3167.09,848.487C3167.09,848.487 3166.95,848.946 3166.06,849.65C3163.53,850.611 3148.55,851.154 3132.01,851.294L3115.28,851.294C3099.62,851.17 3085.84,850.686 3083.56,849.844C3082.39,848.989 3082.22,848.53 3082.21,848.53ZM3147.31,856.452C3158.82,856.057 3167.58,855.332 3169.01,854.281C3171.3,852.594 3172.47,850.82 3172.59,848.853C3172.78,845.744 3170.37,843.461 3167.59,840.812C3164.45,837.839 3160.54,834.134 3158.83,828.246C3156.36,819.709 3152.9,807.223 3149.92,796.489C3144.66,777.496 3134.12,774.771 3127.41,774.413L3127.41,766.563C3127.41,765.041 3126.17,763.806 3124.65,763.806C3123.13,763.806 3121.89,765.041 3121.89,766.563L3121.89,774.38C3115.39,774.642 3104.73,777.113 3099.37,796.489C3096.4,807.223 3092.93,819.702 3090.46,828.246C3088.76,834.134 3084.85,837.839 3081.71,840.818C3078.92,843.461 3076.51,845.744 3076.7,848.853C3076.82,850.813 3077.99,852.594 3080.28,854.281C3081.71,855.332 3090.47,856.057 3101.98,856.452C3103.71,863.65 3113,869.007 3124.65,869.007C3136.29,869.007 3145.58,863.65 3147.31,856.452Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
</svg>
linearGradient stop:first-child {
stop-color: blue;
}
linearGradient stop:last-child {
stop-color: orange;
}
Removing the gradientUnit and gradientTransform properties gave me the result I wanted!
linearGradient:nth-child(2n+1) stop:first-child {
stop-color: blue;
}
linearGradient:nth-child(2n+1) stop:nth-child(2) {
stop-color: orange;
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 265 255" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<defs>
<linearGradient id="_Linear1" x1="0" y1="1" x2="0" y2="0" >
<stop offset="0" style="stop-opacity:1"/>
<stop offset="1" style="stop-opacity:1"/>
</linearGradient>
</defs>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M2918.29,629.251L2934.79,629.251L2934.79,631.958C2934.79,635.75 2937.87,638.837 2941.67,638.837C2945.36,638.837 2948.47,635.685 2948.47,631.958L2948.47,629.251L2990.32,629.251L2990.32,631.958C2990.32,635.75 2993.41,638.837 2997.2,638.837C3000.95,638.837 3004,635.75 3004,631.958L3004,629.251L3045.92,629.251L3045.92,631.958C3045.92,635.75 3048.97,638.837 3052.73,638.837C3056.52,638.837 3059.6,635.75 3059.6,631.958L3059.6,629.251L3101.45,629.251L3101.45,631.958C3101.45,635.75 3104.54,638.837 3108.33,638.837C3112.08,638.837 3115.14,635.75 3115.14,631.958L3115.14,629.251L3131.63,629.251C3134.25,629.251 3136.37,631.377 3136.37,633.983L3136.37,654.855L2913.55,654.855L2913.55,633.983C2913.55,631.377 2915.67,629.251 2918.29,629.251ZM2940.3,620.944C2940.3,620.248 2940.93,619.659 2941.67,619.659C2942.35,619.659 2942.96,620.262 2942.96,620.944L2942.96,631.958C2942.95,633.43 2940.3,633.358 2940.3,631.958L2940.3,620.944ZM2995.83,620.944C2995.83,620.248 2996.46,619.659 2997.2,619.659C2997.92,619.659 2998.49,620.226 2998.49,620.944L2998.49,631.958C2998.49,633.48 2995.83,633.395 2995.83,631.958L2995.83,620.944ZM3051.43,620.944C3051.43,620.226 3052,619.659 3052.73,619.659C3053.47,619.659 3054.09,620.248 3054.09,620.944L3054.09,631.958C3054.09,633.395 3051.43,633.48 3051.43,631.958L3051.43,620.944ZM3106.96,620.944C3106.96,620.248 3107.59,619.659 3108.33,619.659C3109.05,619.659 3109.62,620.226 3109.62,620.944L3109.62,631.958C3109.62,633.48 3106.96,633.395 3106.96,631.958L3106.96,620.944ZM2908.03,633.983L2908.03,804.918C2908.03,810.569 2912.64,815.171 2918.29,815.171L3079.48,815.171C3081,815.171 3082.24,813.937 3082.24,812.414C3082.24,810.892 3081,809.657 3079.48,809.657L2918.29,809.657C2915.67,809.657 2913.55,807.532 2913.55,804.918L2913.55,660.37L3136.37,660.37L3136.37,756.432C3136.37,757.954 3137.61,759.188 3139.13,759.188C3140.65,759.188 3141.89,757.954 3141.89,756.432L3141.89,657.684C3141.89,657.659 3141.9,657.638 3141.9,657.613C3141.9,657.587 3141.89,657.567 3141.89,657.542L3141.89,633.983C3141.89,628.333 3137.29,623.737 3131.63,623.737L3115.14,623.737L3115.14,620.944C3115.14,617.196 3112.08,614.145 3108.33,614.145C3104.54,614.145 3101.45,617.196 3101.45,620.944L3101.45,623.737L3059.6,623.737L3059.6,620.944C3059.6,617.196 3056.52,614.145 3052.73,614.145C3048.97,614.145 3045.92,617.196 3045.92,620.944L3045.92,623.737L3004,623.737L3004,620.944C3004,617.196 3000.95,614.145 2997.2,614.145C2993.41,614.145 2990.32,617.196 2990.32,620.944L2990.32,623.737L2948.47,623.737L2948.47,620.944C2948.47,617.196 2945.42,614.145 2941.67,614.145C2937.87,614.145 2934.79,617.196 2934.79,620.944L2934.79,623.737L2918.29,623.737C2912.64,623.737 2908.03,628.333 2908.03,633.983Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3109.62,747.995L3056.86,747.995L3056.86,720.237L3109.62,720.237L3109.62,747.995ZM3051.35,781.267L2998.58,781.267L2998.58,753.509L3051.35,753.509L3051.35,781.267ZM2940.3,753.509L2993.07,753.509L2993.07,781.267L2940.3,781.267L2940.3,753.509ZM2940.3,720.237L2993.07,720.237L2993.07,747.995L2940.3,747.995L2940.3,720.237ZM2998.58,686.965L3051.35,686.965L3051.35,714.723L2998.58,714.723L2998.58,686.965ZM2998.58,747.995L2998.58,720.237L3051.35,720.237L3051.35,747.995L2998.58,747.995ZM3109.62,714.723L3056.86,714.723L3056.86,686.965L3109.62,686.965L3109.62,714.723ZM3115.14,750.752L3115.14,684.208C3115.14,682.686 3113.9,681.45 3112.38,681.45L2995.82,681.45C2994.3,681.45 2993.07,682.686 2993.07,684.208L2993.07,714.723L2937.54,714.723C2936.02,714.723 2934.79,715.958 2934.79,717.48L2934.79,784.024C2934.79,785.546 2936.02,786.782 2937.54,786.782L3054.11,786.782C3055.63,786.782 3056.86,785.546 3056.86,784.024L3056.86,753.509L3112.38,753.509C3113.9,753.509 3115.14,752.274 3115.14,750.752Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3085.29,798.679C3085.53,798.75 3085.78,798.779 3086.02,798.779C3087.23,798.779 3088.34,797.982 3088.68,796.755L3089.51,793.753C3091.82,785.389 3095.38,778.654 3100.08,773.75C3101.13,772.644 3101.1,770.899 3100,769.851C3098.89,768.789 3097.14,768.839 3096.1,769.93C3090.76,775.509 3086.75,783.026 3084.2,792.274L3083.36,795.29C3082.95,796.755 3083.82,798.277 3085.29,798.679Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3159.47,796.755C3159.81,797.982 3160.92,798.779 3162.13,798.779C3162.37,798.779 3162.62,798.75 3162.86,798.679C3164.33,798.277 3165.19,796.755 3164.79,795.29L3163.95,792.289C3161.4,783.026 3157.39,775.509 3152.05,769.93C3150.99,768.839 3149.25,768.789 3148.15,769.851C3147.05,770.899 3147.01,772.644 3148.07,773.75C3152.77,778.654 3156.33,785.389 3158.64,793.768L3159.47,796.755Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
<g transform="matrix(1,0,0,1,-2908.03,-614.145)">
<path d="M3107.96,856.809L3141.33,856.809C3139.18,860.384 3133.01,863.493 3124.65,863.493C3116.28,863.493 3110.11,860.384 3107.96,856.809ZM3082.21,848.53C3082.3,847.855 3084.23,846.024 3085.5,844.818C3088.94,841.558 3093.63,837.106 3095.76,829.783C3098.23,821.224 3101.71,808.717 3104.68,797.954C3109.7,779.853 3119.25,779.989 3124.91,779.875C3129.95,779.91 3139.6,779.853 3144.61,797.954C3147.58,808.717 3151.06,821.217 3153.53,829.783C3155.66,837.106 3160.36,841.558 3163.79,844.818C3165.07,846.031 3167,847.862 3167.09,848.487C3167.09,848.487 3166.95,848.946 3166.06,849.65C3163.53,850.611 3148.55,851.154 3132.01,851.294L3115.28,851.294C3099.62,851.17 3085.84,850.686 3083.56,849.844C3082.39,848.989 3082.22,848.53 3082.21,848.53ZM3147.31,856.452C3158.82,856.057 3167.58,855.332 3169.01,854.281C3171.3,852.594 3172.47,850.82 3172.59,848.853C3172.78,845.744 3170.37,843.461 3167.59,840.812C3164.45,837.839 3160.54,834.134 3158.83,828.246C3156.36,819.709 3152.9,807.223 3149.92,796.489C3144.66,777.496 3134.12,774.771 3127.41,774.413L3127.41,766.563C3127.41,765.041 3126.17,763.806 3124.65,763.806C3123.13,763.806 3121.89,765.041 3121.89,766.563L3121.89,774.38C3115.39,774.642 3104.73,777.113 3099.37,796.489C3096.4,807.223 3092.93,819.702 3090.46,828.246C3088.76,834.134 3084.85,837.839 3081.71,840.818C3078.92,843.461 3076.51,845.744 3076.7,848.853C3076.82,850.813 3077.99,852.594 3080.28,854.281C3081.71,855.332 3090.47,856.057 3101.98,856.452C3103.71,863.65 3113,869.007 3124.65,869.007C3136.29,869.007 3145.58,863.65 3147.31,856.452Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
</g>
</svg>

Why my SVG do not take the expected color?

I have created an animated text, it works with SVG PATH and MASK.
The thing is that I do not understand why I can not fill it up in white :/
I tried to use fill attribut or stroke ... After all I did it has nothing to do. It's very weird, do you know why it does not take the color has expected ?
Someone has a solution or an idea on how to make it white ?
body {
background-color: red;
}
mask path {
fill: none;
stroke: white;
stroke-width: 20;
}
#maskH path,
#maskH2 path {
stroke-dasharray: 500;
stroke-dashoffset: 500;
animation: brush 2s linear 1 forwards;
stroke-width: 19.5;
}
#maskI path,
#maskT path,
#maskT2 path,
#maskF path,
#maskU path,
#maskU2 path,
#maskE path,
#maskE2 path,
#maskG path,
#maskR path,
#maskS path,
#maskT2 path,
#maskA path,
#maskN path,
#maskP path,
#maskT path {
stroke-dasharray: 500;
stroke-dashoffset: 500;
animation: brush 3s linear 1 forwards;
stroke-width: 19.5;
}
#maskT path {
stroke-width: 9.6;
}
#maskT2 path {
stroke-width: 9.8;
}
#maskA path {
stroke-width: 18;
}
#maskP path {
stroke-width: 19.4;
}
#maskN path {
stroke-width: 20;
}
#keyframes brush {
0% {
stroke-dashoffset: 500;
}
20% {
stroke-dashoffset: 500;
}
80% {
stroke-dashoffset: 0;
}
100% {
stroke-dashoffset: 0;
}
}
<svg height="300px" width="900px" id="FlorianCargouet" data-name="byflo-io" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1107.2 69.56">
<mask id="maskS">
<path d="M73.9,30.26c-16.7-8.75-32.61-7.37-38.23,0.48c-3.28,4.58-4.06,12.76-0.44,17.78c1.5,2.07,3.31,3.01,13.03,6.19
c16.47,5.39,20.71,5.81,23.08,10.01c2.02,3.6,1.68,8.22,0.18,11.47c-1.89,4.08-5.57,5.92-7.45,6.85
c-12.88,6.41-34.08-3.11-36.75-4.34" />
</mask>
<mask id="maskH">
<path d="M92.2,22.2 92.2,89.5 92.2,16.5 150.2,16.5 150.2,89.5 90.6,81.4 90.6,54.8 153.2,54.8 " />
</mask>
<mask id="maskA">
<path d="M160.4,89.6 189.9,23.8 200.8,23.8 231.2,89.6 226.1,67.1 172.7,67.4 " />
</mask>
<mask id="maskP">
<path
d="M241.4,21.9 241.4,89.5 228.7,22.1 275.5,22.6 281.6,24 286.2,26.4 290.6,30.2 293.3,34 295.5,39.9
296.1,45.3 296,48.4 295.3,51.9 294,55.6 292.1,59 289.6,61.8 286.2,64.5 281.9,66.8 277.5,68 272,68.8 251.1,69.1 " />
</mask>
<mask id="maskI">
<path d="M315,22.1 315,55.8 315,89.5 " />
</mask>
<mask id="maskN">
<path d="M340.2,89.4 340.2,21.9 350,39.5 389.5,88.5 391.1,89.6 398.3,89.6 398.3,22.1 388.4,22.1 347.3,22 " />
</mask>
<mask id="maskT">
<path d="M537.5,22.1 537.5,89.5 497.3,26.5 565.4,26.5 " />
</mask>
<mask id="maskT2">
<path d="M900.3,22.1 900.3,90.2 863.5,26.3 929.1,26.3 " />
</mask>
<mask id="maskH2">
<!-- <path d="M576.1,22.1 576.1,89.5 563.7,55.8 622.1,54.7 605.2,53.1 605.2,14.3 629.6,14.3 629.6,89.5 " /> -->
<path d="M576.1,22.1c0,22.5,0,44.9,0,67.4V12.2h58.1v77.3l-61.9-8.4V54.8h64.5" />
</mask>
<mask id="maskF">
<path d="M794.4,22.1 745.4,22.1 745.4,89.5 741.7,53.8 788.7,53.8 " />
</mask>
<mask id="maskU">
<path d="M806,22c0.2,21.2,0.4,36.3,0.4,40.4c0,0.4,0,1.8,0.2,3.7c0.2,1.9,0.4,4.4,1.5,7.4c0.8,2.2,1.7,3.8,2,4.3
c0.9,1.6,1.8,2.7,2.4,3.4c0.6,0.8,1.9,2.2,3.8,3.6c0.5,0.4,2.2,1.6,4.7,2.8c3.1,1.4,5.8,1.9,7.6,2.2c1.5,0.3,5,0.8,9.4,0.4
c3.6-0.3,6.1-1,6.7-1.2c1.7-0.5,4.1-1.2,6.8-2.8c2.3-1.4,3.7-2.8,4.2-3.2c0.6-0.5,2.3-2.4,3.9-5.3c0.3-0.5,1.4-2.6,2.4-6.4
c0.8-3.2,1.2-6,1.4-9.7c0.4-6.6,0.2-11.5,0.2-11.5c-0.3-5.4-0.4-14-0.2-28.2" />
</mask>
<mask id="maskU2">
<path d="M936.5,21.8c0.2,21.2,0.4,36.3,0.4,40.4c0,0.4,0,1.8,0.2,3.7c0.2,1.9,0.4,4.4,1.5,7.4c0.8,2.2,1.7,3.8,2,4.3
c0.9,1.6,1.8,2.7,2.4,3.4c0.6,0.8,1.9,2.2,3.8,3.6c0.5,0.4,2.2,1.6,4.7,2.8c3.1,1.4,5.8,1.9,7.6,2.2c1.5,0.3,5,0.8,9.4,0.4
c3.6-0.3,6.1-1,6.7-1.2c1.7-0.5,4.1-1.2,6.8-2.8c2.3-1.4,3.7-2.8,4.2-3.2c0.6-0.5,2.3-2.4,3.9-5.3c0.3-0.5,1.4-2.6,2.4-6.4
c0.8-3.2,1.2-6,1.4-9.7c0.4-6.6,0.2-11.5,0.2-11.5c-0.3-5.4-0.4-14-0.2-28.2" />
</mask>
<mask id="maskE">
<path d="M702.2,22.1 654.6,22.1 654.6,89.5 703.6,89.5 650,89.5 664.4,59.4 698,59.4 " />
</mask>
<mask id="maskE2">
<path d="M1131.9,22.1 1084.3,22.1 1084.3,89.5 1133.3,89.5 1079.7,89.5 1094.1,59.4 1127.7,59.4 " />
</mask>
<mask id="maskG">
<path d="M475.4,31.4c-1.1-1.1-2.6-2.5-4.7-4c-6.6-4.7-13.2-5.7-15.9-6.1c-2.5-0.4-8.8-1-16.4,1.2
c-3.1,0.9-9.3,2.8-15.1,8.3c-1.5,1.4-4.6,4.6-7.1,9.7c-0.7,1.4-2.2,4.9-3,9.7c-1.2,7.6,0.4,13.7,1.1,15.9c1.7,5.5,4.4,9.2,5.8,11.1
c2,2.5,5.4,6.2,10.8,9.1c6.6,3.5,12.6,3.9,16.2,4.1c8.1,0.4,14.2-1.6,16.1-2.3c7-2.5,9.2-3.6,10.3-5.5c0.9-1.6,1.1-3.1,1.2-5.3
c0.3-4.7,0.3-7.9,0-15.6c-0.2-3.8-0.2-4.2-0.2-6.2c0-2.6,0.1-4.7,0.2-6.1" />
</mask>
<mask id="maskR">
<path d="M1014.1,21.4l0,68l-1-59.2c11.7,0.4,19.8,0.6,24.6,0.4c0,0,3.9-0.2,9.9,0.8c0.9,0.1,2.2,0.4,3.7,1.1
c0.8,0.4,2.7,1.4,4.3,3.4c2.3,2.8,2.8,5.8,3,7.4c0.6,4.3-0.6,7.8-1.4,9.4l-1.2,2l-2.6,2.6l-12.4,3.3l-17.2,0.1l20.5,8.5l0.6,0.4
l0.8,0.9l12.2,17.3l1.2,1.3l1.6,0.4l2.8,0l6.3,0" />
</mask>
<path mask="url(#maskN)"
d="M340.18,21.91c2.5,0,4.84-.15,7.13.08.8.08,1.64,1,2.23,1.71q18.6,23,37.15,46.13c.41.51.87,1,1.73,2V22.1h9.85V89.63c-2.4,0-4.8.15-7.15-.08-.8-.08-1.64-1-2.23-1.73q-18.28-22.65-36.51-45.36l-2.41-3V89.43h-9.78C340.18,67.07,340.18,44.71,340.18,21.91Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskR)"
d="M1014.06,21.39c12.23.53,24.39-.18,36.08,1.83,20.18,3.47,22,24.38,14.8,35.43-2.6,4-6.38,6.48-11.1,8.3l7.92,11.25,8,11.44c-3.64,0-6.75.08-9.86-.07-.63,0-1.37-.81-1.81-1.42-4.16-5.83-8.24-11.71-12.4-17.53-.48-.67-1.32-1.52-2-1.54-6.56-.12-13.12-.07-20-.07V89.52h-9.68C1014.06,67.05,1014.06,44.63,1014.06,21.39Zm9.84,8.78V60.7c4.79,0,9.36.08,13.92,0A59.93,59.93,0,0,0,1047,60c7.5-1.37,11.87-6.83,11.85-14.43s-4.28-13.37-11.89-14.29S1031.75,30.49,1023.9,30.17Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskH)" d="M150.16,89.53h-9.67V59.69H102V89.44H92.1V22.11h9.68V50.85h38.54V22.1h9.84Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskH2)" d="M634.23,89.53h-9.68V59.69h-38.7V89.51h-9.7V22.06h9.62V50.79H624.4V22.08h9.83Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskE)" d="M702.29,22.12V30.4H664.46V50.93H698v8.49H664.46V81h39.08v8.54H654.6V22.11Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskE2)" d="M1084.35,89.46V22.07h47.55v8.27h-37.76V51h33.62v8.36h-33.59V81h39.15v8.42Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskG)"
d="M465.42,55.44h9.21a8,8,0,0,1,.28,1.48c0,7.75.09,15.49-.07,23.24A4.61,4.61,0,0,1,473,83.28a40.36,40.36,0,0,1-22.76,7.15c-12,.16-22.33-3.62-29.91-13.24C405.43,58.32,413.55,27.36,440.8,22c10.94-2.15,21.4-.92,30.67,5.93,1.38,1,2.6,2.27,4,3.49l-6.23,5.92a28.06,28.06,0,0,0-14.08-7c-15.81-2.43-28.82,5.55-31.8,20.19C419.92,67.37,432.5,82,450.13,81.63a32.28,32.28,0,0,0,13.05-2.9,3.35,3.35,0,0,0,2.29-3.58C465.35,68.68,465.42,62.2,465.42,55.44Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskP)"
d="M241.44,21.9c3.73,0,7.3-.06,10.86,0,7.74.16,15.54-.16,23.2.72,10.68,1.23,18,8,19.95,17.26,3.12,14.61-5.19,26.62-20.36,28.58-6.57.85-13.3.49-19.95.67-1.24,0-2.48,0-4.06,0V89.49h-9.64Zm9.76,8.28V60.45c6.85,0,13.51.18,20.16-.07a16,16,0,0,0,10.12-3.76c4.9-4.31,5.55-9.85,4.06-15.77s-5.88-9-11.5-9.64C266.54,30.4,259,30.49,251.2,30.18Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskA)"
d="M231.22,89.64c-3.31,0-6.14.12-8.95-.08a3.11,3.11,0,0,1-2-1.71c-2-4.37-4-8.78-5.84-13.24a2.73,2.73,0,0,0-3-1.93c-10.5.07-21,.1-31.49,0-1.85,0-2.62.71-3.27,2.28-1.78,4.3-3.79,8.51-5.55,12.82a2.62,2.62,0,0,1-3,1.89c-2.49-.13-5,0-7.75,0,.26-.81.4-1.42.65-2Q175.52,55.71,190,23.77c.65-1.43,1.55-1.69,3-1.95,5.88-1,8.57,1.55,10.89,6.93,8.38,19.48,17.39,38.69,26.16,58C230.37,87.57,230.7,88.4,231.22,89.64Zm-21.1-24.8L195.65,32,181.21,64.84Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskU)"
d="M806,22h9.9v3.27c0,11.58-.08,23.15,0,34.73a42.2,42.2,0,0,0,1.13,9.37c1.21,5,4.14,8.92,9.15,10.77a23.2,23.2,0,0,0,17.3-.1c8.29-3.42,10.18-10.7,10.3-18.62.19-12.16,0-24.32.06-36.48V22.07h9.43c0,.9.12,1.71.12,2.52,0,12.41.18,24.82-.1,37.22a41.8,41.8,0,0,1-2.22,12.44c-2.64,7.64-8.24,12.58-16,14.8a37.77,37.77,0,0,1-19.74.25c-11-2.76-18.3-11.41-18.88-23.58-.63-13.13-.34-26.3-.45-39.46C806,25,806,23.64,806,22Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskU2)"
d="M936.85,22h9.74v2.8c0,11.91-.06,23.83,0,35.74,0,5.2.68,10.38,4,14.67A13.86,13.86,0,0,0,955,79.16c7.25,3.64,14.65,3.67,21.72-.37,5.24-3,7.23-8.26,7.54-13.92.43-7.81.33-15.65.39-23.48,0-5.66,0-11.33,0-17,0-.73.08-1.46.14-2.34h9.06a4.71,4.71,0,0,1,.24,1c0,13.91.3,27.84-.27,41.73-.62,15.18-10.06,24.51-25.16,25.35a43,43,0,0,1-14.27-1.4c-10.11-3-15.37-10.57-17-20.76a45.71,45.71,0,0,1-.56-7.21c-.05-12.16,0-24.33,0-36.49C936.85,23.61,936.85,23,936.85,22Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskS)"
d="M71.77,34.74c-6.56-3.74-13.5-5.86-21-5.1a28.51,28.51,0,0,0-8.16,2A8.81,8.81,0,0,0,37,40.08a7.85,7.85,0,0,0,5.36,7.71c4.31,1.7,8.84,2.84,13.29,4.19,3.18,1,6.42,1.75,9.55,2.86C73.87,57.91,78,63.15,78,71c0,8-4.61,14.68-12.93,17.35-12.91,4.16-25.29,2.42-37-4.46-1.85-1.09-2.65-2.26-1.27-4.35A36.43,36.43,0,0,0,29,75.05c.07-.13.24-.22.5-.45A36.06,36.06,0,0,0,44,81.23c5.87,1.15,11.74,1.4,17.49-.62,3.93-1.38,6.51-4,6.85-8.32s-2.18-7.17-5.92-8.58c-4.42-1.66-9-2.75-13.58-4.09-2.79-.83-5.61-1.56-8.36-2.51C31.62,54,27.42,48.69,27.39,40.65s4.74-14.82,13.1-17.52c11.2-3.62,22.16-2.49,32.73,2.67,1.54.75,2.12,1.6,1.24,3.29S73,32.45,72.31,34.14A5.75,5.75,0,0,1,71.77,34.74Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskF)"
d="M793.13,22.06c0,2.42,0,4.73,0,7,0,1.77-1.37,1.35-2.36,1.35q-16.24,0-32.48,0h-3.11V53.8h33.61v8.48H755.05V89.47h-9.56V22.06Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskT2)" d="M895.3,30.5c-7.9,0-15.4,0-23.1,0c0-2.9,0-5.6,0-8.4c18.6,0,37.1,0,55.8,0c0,2.8,0,5.4,0,8.4
c-7.6,0-15.1,0-23,0c0,19.8,0,39.4,0,59.1c-3.3,0-6.4,0-9.7,0C895.3,70,895.3,50.4,895.3,30.5z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskT)"
d="M532.76,30.45H509.64V22h55.77v8.35H542.46V89.47h-9.71C532.76,69.9,532.76,50.37,532.76,30.45Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskI)" d="M319.76,89.53H310.2V22.1h9.56Z" transform="translate(-26.12 -21.02)" />
</svg>
To your code I'm adding [mask]{fill:white} meaning that I'm filling with white the paths with a mask attribute.
[mask]{fill:white}
body {
background-color: red;
}
mask path {
fill: none;
stroke: white;
stroke-width: 20;
}
#maskH path,
#maskH2 path {
stroke-dasharray: 500;
stroke-dashoffset: 500;
animation: brush 2s linear 1 forwards;
stroke-width: 19.5;
}
#maskI path,
#maskT path,
#maskT2 path,
#maskF path,
#maskU path,
#maskU2 path,
#maskE path,
#maskE2 path,
#maskG path,
#maskR path,
#maskS path,
#maskT2 path,
#maskA path,
#maskN path,
#maskP path,
#maskT path {
stroke-dasharray: 500;
stroke-dashoffset: 500;
animation: brush 3s linear 1 forwards;
stroke-width: 19.5;
}
#maskT path {
stroke-width: 9.6;
}
#maskT2 path {
stroke-width: 9.8;
}
#maskA path {
stroke-width: 18;
}
#maskP path {
stroke-width: 19.4;
}
#maskN path {
stroke-width: 20;
}
#keyframes brush {
0% {
stroke-dashoffset: 500;
}
20% {
stroke-dashoffset: 500;
}
80% {
stroke-dashoffset: 0;
}
100% {
stroke-dashoffset: 0;
}
}
<svg height="300px" width="900px" id="FlorianCargouet" data-name="byflo-io" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1107.2 69.56">
<mask id="maskS">
<path d="M73.9,30.26c-16.7-8.75-32.61-7.37-38.23,0.48c-3.28,4.58-4.06,12.76-0.44,17.78c1.5,2.07,3.31,3.01,13.03,6.19
c16.47,5.39,20.71,5.81,23.08,10.01c2.02,3.6,1.68,8.22,0.18,11.47c-1.89,4.08-5.57,5.92-7.45,6.85
c-12.88,6.41-34.08-3.11-36.75-4.34" />
</mask>
<mask id="maskH">
<path d="M92.2,22.2 92.2,89.5 92.2,16.5 150.2,16.5 150.2,89.5 90.6,81.4 90.6,54.8 153.2,54.8 " />
</mask>
<mask id="maskA">
<path d="M160.4,89.6 189.9,23.8 200.8,23.8 231.2,89.6 226.1,67.1 172.7,67.4 " />
</mask>
<mask id="maskP">
<path
d="M241.4,21.9 241.4,89.5 228.7,22.1 275.5,22.6 281.6,24 286.2,26.4 290.6,30.2 293.3,34 295.5,39.9
296.1,45.3 296,48.4 295.3,51.9 294,55.6 292.1,59 289.6,61.8 286.2,64.5 281.9,66.8 277.5,68 272,68.8 251.1,69.1 " />
</mask>
<mask id="maskI">
<path d="M315,22.1 315,55.8 315,89.5 " />
</mask>
<mask id="maskN">
<path d="M340.2,89.4 340.2,21.9 350,39.5 389.5,88.5 391.1,89.6 398.3,89.6 398.3,22.1 388.4,22.1 347.3,22 " />
</mask>
<mask id="maskT">
<path d="M537.5,22.1 537.5,89.5 497.3,26.5 565.4,26.5 " />
</mask>
<mask id="maskT2">
<path d="M900.3,22.1 900.3,90.2 863.5,26.3 929.1,26.3 " />
</mask>
<mask id="maskH2">
<!-- <path d="M576.1,22.1 576.1,89.5 563.7,55.8 622.1,54.7 605.2,53.1 605.2,14.3 629.6,14.3 629.6,89.5 " /> -->
<path d="M576.1,22.1c0,22.5,0,44.9,0,67.4V12.2h58.1v77.3l-61.9-8.4V54.8h64.5" />
</mask>
<mask id="maskF">
<path d="M794.4,22.1 745.4,22.1 745.4,89.5 741.7,53.8 788.7,53.8 " />
</mask>
<mask id="maskU">
<path d="M806,22c0.2,21.2,0.4,36.3,0.4,40.4c0,0.4,0,1.8,0.2,3.7c0.2,1.9,0.4,4.4,1.5,7.4c0.8,2.2,1.7,3.8,2,4.3
c0.9,1.6,1.8,2.7,2.4,3.4c0.6,0.8,1.9,2.2,3.8,3.6c0.5,0.4,2.2,1.6,4.7,2.8c3.1,1.4,5.8,1.9,7.6,2.2c1.5,0.3,5,0.8,9.4,0.4
c3.6-0.3,6.1-1,6.7-1.2c1.7-0.5,4.1-1.2,6.8-2.8c2.3-1.4,3.7-2.8,4.2-3.2c0.6-0.5,2.3-2.4,3.9-5.3c0.3-0.5,1.4-2.6,2.4-6.4
c0.8-3.2,1.2-6,1.4-9.7c0.4-6.6,0.2-11.5,0.2-11.5c-0.3-5.4-0.4-14-0.2-28.2" />
</mask>
<mask id="maskU2">
<path d="M936.5,21.8c0.2,21.2,0.4,36.3,0.4,40.4c0,0.4,0,1.8,0.2,3.7c0.2,1.9,0.4,4.4,1.5,7.4c0.8,2.2,1.7,3.8,2,4.3
c0.9,1.6,1.8,2.7,2.4,3.4c0.6,0.8,1.9,2.2,3.8,3.6c0.5,0.4,2.2,1.6,4.7,2.8c3.1,1.4,5.8,1.9,7.6,2.2c1.5,0.3,5,0.8,9.4,0.4
c3.6-0.3,6.1-1,6.7-1.2c1.7-0.5,4.1-1.2,6.8-2.8c2.3-1.4,3.7-2.8,4.2-3.2c0.6-0.5,2.3-2.4,3.9-5.3c0.3-0.5,1.4-2.6,2.4-6.4
c0.8-3.2,1.2-6,1.4-9.7c0.4-6.6,0.2-11.5,0.2-11.5c-0.3-5.4-0.4-14-0.2-28.2" />
</mask>
<mask id="maskE">
<path d="M702.2,22.1 654.6,22.1 654.6,89.5 703.6,89.5 650,89.5 664.4,59.4 698,59.4 " />
</mask>
<mask id="maskE2">
<path d="M1131.9,22.1 1084.3,22.1 1084.3,89.5 1133.3,89.5 1079.7,89.5 1094.1,59.4 1127.7,59.4 " />
</mask>
<mask id="maskG">
<path d="M475.4,31.4c-1.1-1.1-2.6-2.5-4.7-4c-6.6-4.7-13.2-5.7-15.9-6.1c-2.5-0.4-8.8-1-16.4,1.2
c-3.1,0.9-9.3,2.8-15.1,8.3c-1.5,1.4-4.6,4.6-7.1,9.7c-0.7,1.4-2.2,4.9-3,9.7c-1.2,7.6,0.4,13.7,1.1,15.9c1.7,5.5,4.4,9.2,5.8,11.1
c2,2.5,5.4,6.2,10.8,9.1c6.6,3.5,12.6,3.9,16.2,4.1c8.1,0.4,14.2-1.6,16.1-2.3c7-2.5,9.2-3.6,10.3-5.5c0.9-1.6,1.1-3.1,1.2-5.3
c0.3-4.7,0.3-7.9,0-15.6c-0.2-3.8-0.2-4.2-0.2-6.2c0-2.6,0.1-4.7,0.2-6.1" />
</mask>
<mask id="maskR">
<path d="M1014.1,21.4l0,68l-1-59.2c11.7,0.4,19.8,0.6,24.6,0.4c0,0,3.9-0.2,9.9,0.8c0.9,0.1,2.2,0.4,3.7,1.1
c0.8,0.4,2.7,1.4,4.3,3.4c2.3,2.8,2.8,5.8,3,7.4c0.6,4.3-0.6,7.8-1.4,9.4l-1.2,2l-2.6,2.6l-12.4,3.3l-17.2,0.1l20.5,8.5l0.6,0.4
l0.8,0.9l12.2,17.3l1.2,1.3l1.6,0.4l2.8,0l6.3,0" />
</mask>
<path mask="url(#maskN)"
d="M340.18,21.91c2.5,0,4.84-.15,7.13.08.8.08,1.64,1,2.23,1.71q18.6,23,37.15,46.13c.41.51.87,1,1.73,2V22.1h9.85V89.63c-2.4,0-4.8.15-7.15-.08-.8-.08-1.64-1-2.23-1.73q-18.28-22.65-36.51-45.36l-2.41-3V89.43h-9.78C340.18,67.07,340.18,44.71,340.18,21.91Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskR)"
d="M1014.06,21.39c12.23.53,24.39-.18,36.08,1.83,20.18,3.47,22,24.38,14.8,35.43-2.6,4-6.38,6.48-11.1,8.3l7.92,11.25,8,11.44c-3.64,0-6.75.08-9.86-.07-.63,0-1.37-.81-1.81-1.42-4.16-5.83-8.24-11.71-12.4-17.53-.48-.67-1.32-1.52-2-1.54-6.56-.12-13.12-.07-20-.07V89.52h-9.68C1014.06,67.05,1014.06,44.63,1014.06,21.39Zm9.84,8.78V60.7c4.79,0,9.36.08,13.92,0A59.93,59.93,0,0,0,1047,60c7.5-1.37,11.87-6.83,11.85-14.43s-4.28-13.37-11.89-14.29S1031.75,30.49,1023.9,30.17Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskH)" d="M150.16,89.53h-9.67V59.69H102V89.44H92.1V22.11h9.68V50.85h38.54V22.1h9.84Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskH2)" d="M634.23,89.53h-9.68V59.69h-38.7V89.51h-9.7V22.06h9.62V50.79H624.4V22.08h9.83Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskE)" d="M702.29,22.12V30.4H664.46V50.93H698v8.49H664.46V81h39.08v8.54H654.6V22.11Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskE2)" d="M1084.35,89.46V22.07h47.55v8.27h-37.76V51h33.62v8.36h-33.59V81h39.15v8.42Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskG)"
d="M465.42,55.44h9.21a8,8,0,0,1,.28,1.48c0,7.75.09,15.49-.07,23.24A4.61,4.61,0,0,1,473,83.28a40.36,40.36,0,0,1-22.76,7.15c-12,.16-22.33-3.62-29.91-13.24C405.43,58.32,413.55,27.36,440.8,22c10.94-2.15,21.4-.92,30.67,5.93,1.38,1,2.6,2.27,4,3.49l-6.23,5.92a28.06,28.06,0,0,0-14.08-7c-15.81-2.43-28.82,5.55-31.8,20.19C419.92,67.37,432.5,82,450.13,81.63a32.28,32.28,0,0,0,13.05-2.9,3.35,3.35,0,0,0,2.29-3.58C465.35,68.68,465.42,62.2,465.42,55.44Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskP)"
d="M241.44,21.9c3.73,0,7.3-.06,10.86,0,7.74.16,15.54-.16,23.2.72,10.68,1.23,18,8,19.95,17.26,3.12,14.61-5.19,26.62-20.36,28.58-6.57.85-13.3.49-19.95.67-1.24,0-2.48,0-4.06,0V89.49h-9.64Zm9.76,8.28V60.45c6.85,0,13.51.18,20.16-.07a16,16,0,0,0,10.12-3.76c4.9-4.31,5.55-9.85,4.06-15.77s-5.88-9-11.5-9.64C266.54,30.4,259,30.49,251.2,30.18Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskA)"
d="M231.22,89.64c-3.31,0-6.14.12-8.95-.08a3.11,3.11,0,0,1-2-1.71c-2-4.37-4-8.78-5.84-13.24a2.73,2.73,0,0,0-3-1.93c-10.5.07-21,.1-31.49,0-1.85,0-2.62.71-3.27,2.28-1.78,4.3-3.79,8.51-5.55,12.82a2.62,2.62,0,0,1-3,1.89c-2.49-.13-5,0-7.75,0,.26-.81.4-1.42.65-2Q175.52,55.71,190,23.77c.65-1.43,1.55-1.69,3-1.95,5.88-1,8.57,1.55,10.89,6.93,8.38,19.48,17.39,38.69,26.16,58C230.37,87.57,230.7,88.4,231.22,89.64Zm-21.1-24.8L195.65,32,181.21,64.84Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskU)"
d="M806,22h9.9v3.27c0,11.58-.08,23.15,0,34.73a42.2,42.2,0,0,0,1.13,9.37c1.21,5,4.14,8.92,9.15,10.77a23.2,23.2,0,0,0,17.3-.1c8.29-3.42,10.18-10.7,10.3-18.62.19-12.16,0-24.32.06-36.48V22.07h9.43c0,.9.12,1.71.12,2.52,0,12.41.18,24.82-.1,37.22a41.8,41.8,0,0,1-2.22,12.44c-2.64,7.64-8.24,12.58-16,14.8a37.77,37.77,0,0,1-19.74.25c-11-2.76-18.3-11.41-18.88-23.58-.63-13.13-.34-26.3-.45-39.46C806,25,806,23.64,806,22Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskU2)"
d="M936.85,22h9.74v2.8c0,11.91-.06,23.83,0,35.74,0,5.2.68,10.38,4,14.67A13.86,13.86,0,0,0,955,79.16c7.25,3.64,14.65,3.67,21.72-.37,5.24-3,7.23-8.26,7.54-13.92.43-7.81.33-15.65.39-23.48,0-5.66,0-11.33,0-17,0-.73.08-1.46.14-2.34h9.06a4.71,4.71,0,0,1,.24,1c0,13.91.3,27.84-.27,41.73-.62,15.18-10.06,24.51-25.16,25.35a43,43,0,0,1-14.27-1.4c-10.11-3-15.37-10.57-17-20.76a45.71,45.71,0,0,1-.56-7.21c-.05-12.16,0-24.33,0-36.49C936.85,23.61,936.85,23,936.85,22Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskS)"
d="M71.77,34.74c-6.56-3.74-13.5-5.86-21-5.1a28.51,28.51,0,0,0-8.16,2A8.81,8.81,0,0,0,37,40.08a7.85,7.85,0,0,0,5.36,7.71c4.31,1.7,8.84,2.84,13.29,4.19,3.18,1,6.42,1.75,9.55,2.86C73.87,57.91,78,63.15,78,71c0,8-4.61,14.68-12.93,17.35-12.91,4.16-25.29,2.42-37-4.46-1.85-1.09-2.65-2.26-1.27-4.35A36.43,36.43,0,0,0,29,75.05c.07-.13.24-.22.5-.45A36.06,36.06,0,0,0,44,81.23c5.87,1.15,11.74,1.4,17.49-.62,3.93-1.38,6.51-4,6.85-8.32s-2.18-7.17-5.92-8.58c-4.42-1.66-9-2.75-13.58-4.09-2.79-.83-5.61-1.56-8.36-2.51C31.62,54,27.42,48.69,27.39,40.65s4.74-14.82,13.1-17.52c11.2-3.62,22.16-2.49,32.73,2.67,1.54.75,2.12,1.6,1.24,3.29S73,32.45,72.31,34.14A5.75,5.75,0,0,1,71.77,34.74Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskF)"
d="M793.13,22.06c0,2.42,0,4.73,0,7,0,1.77-1.37,1.35-2.36,1.35q-16.24,0-32.48,0h-3.11V53.8h33.61v8.48H755.05V89.47h-9.56V22.06Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskT2)" d="M895.3,30.5c-7.9,0-15.4,0-23.1,0c0-2.9,0-5.6,0-8.4c18.6,0,37.1,0,55.8,0c0,2.8,0,5.4,0,8.4
c-7.6,0-15.1,0-23,0c0,19.8,0,39.4,0,59.1c-3.3,0-6.4,0-9.7,0C895.3,70,895.3,50.4,895.3,30.5z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskT)"
d="M532.76,30.45H509.64V22h55.77v8.35H542.46V89.47h-9.71C532.76,69.9,532.76,50.37,532.76,30.45Z"
transform="translate(-26.12 -21.02)" />
<path mask="url(#maskI)" d="M319.76,89.53H310.2V22.1h9.56Z" transform="translate(-26.12 -21.02)" />
</svg>

Adding different colors to dashes of an SVG stroke

I'm new to SVG and stuff and I'm trying to add different colors for the different dashes of a single stroke.
<style>
.c-dashed-line__path {
animation: c-dashed-line-path 5s forwards;
fill: none;
stroke: rgb(255, 32, 32);
stroke-dasharray: 1475;
stroke-dashoffset: 1475;
stroke-width: 60;
}
.c-dashed-line__dash {
fill: none;
stroke: #FFFFFF;
stroke-dasharray: 40 200 40 480;
stroke-dashoffset: 40;
stroke-width: 70;
}
#keyframes c-dashed-line-path {
from {
stroke-dashoffset: 1474;
}
to {
stroke-dashoffset: 0;
}
}
</style>
<svg id="svg11"
viewBox="0 0 2133.3333 1200"
height="1200"
width="2133.3333"
version="1.1">
<metadata
id="metadata16">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<g
id="layer2">
<path
id="c-dashed-line" class="path2"
d="m 548.50746,29.104478 c 0,0 136.56717,279.850742 228.35821,293.283582 91.79105,13.43284 91.79105,13.43284 91.79105,13.43284 0,0 154.47758,22.38806 214.92538,134.32835 60.4478,111.9403 40.2985,203.73135 147.7612,295.52239 107.4627,91.79105 208.2089,-6.71642 380.597,114.17911"
style="fill:none;" />
</g>
</defs>
<use class="c-dashed-line__path" xlink:href="#c-dashed-line"/>
<!-- A dashed white line that sits on top of the solid green line -->
<use class="c-dashed-line__dash" xlink:href="#c-dashed-line"/>
</svg>
Please see what i have done so far here.
https://codepen.io/geekudu/pen/QWWvqRp
I intend to use different colors for each dash.
any help is appreciated. thanks in advance
You can construct a linear gradient for many lines that can give you different color dashes - but its quite difficult because you have to arrange it so that that gradient transitions all occur in the gaps between stroke dashes. If the dash gaps are too narrow or the line is too squiggly - then you have to go through severe contortions to make it work. It's easier to just use different overlaid paths with customized stroke-dash arrays.
But it IS often possible - here is an example that works with your specific line.
.c-dashed-line__path {
stroke: url(#special-gradient);
stroke-dasharray: 200 40 200 40 480 40;
/* this is the entire length of the line */
stroke-dashoffset: 0;
/* this is the entire length of the line */
stroke-width: 60;
}
.c-dashed-line__overlay {
animation: c-dashed-line-path 5s forwards;
fill: none;
stroke: white;
/* this must match the background color */
stroke-dashoffset: -1475;
stroke-dasharray: 1475;
/* draws a 10px dash line with a 16px gap between */
stroke-width: 70;
/* make the dashed line slightly bigger than the one it's covering */
}
#keyframes c-dashed-line-path {
from {
stroke-dashoffset: 0;
}
to {
stroke-dashoffset: -1475;
}
}
svg{
width:100%;
height:100%;
position: absolute;
}
<svg id="svg11"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 2133.3333 1200"
height="1200"
width="2133.3333"
version="1.1">
<defs>
<linearGradient id="special-gradient" y1="0%" y2="130%" x1="0%" x2="200%">
<stop offset="0%" stop-color="gold" />
<stop offset="9%" stop-color="gold" />
<stop offset="9%" stop-color="red" />
<stop offset="18.4%" stop-color="red" />
<stop offset="18.4%" stop-color="green" />
<stop offset="39%" stop-color="green" />
<stop offset="39%" stop-color="blue" />
<stop offset="48%" stop-color="blue" />
<stop offset="48%" stop-color="gray" />
<stop offset="100%" stop-color="grey" />
</linearGradient>
<path
id="c-dashed-line" class="path2"
d="m 548.50746,29.104478 c 0,0 136.56717,279.850742 228.35821,293.283582 91.79105,13.43284 91.79105,13.43284 91.79105,13.43284 0,0 154.47758,22.38806 214.92538,134.32835 60.4478,111.9403 40.2985,203.73135 147.7612,295.52239 107.4627,91.79105 208.2089,-6.71642 380.597,114.17911"
style="fill:none;" />
</defs>
<use class="c-dashed-line__path" xlink:href="#c-dashed-line"/>
<!--overlay -->
<use class="c-dashed-line__overlay" xlink:href="#c-dashed-line"/>
<rect x="80%" y="0%" width="20%" height="20%" fill="url(#special-gradient)"/>
</svg>

SVG Filled path animation

I have a path with an arrow-head, and I want to make a color transition animation, from left to right.
I've done this for the line and arrow, but it does not appear to be in sync.
I want the line and arrow to both transition colors seamlessly.
Here's the fiddle: https://jsfiddle.net/afonsolfm/6ojwrksd/ .
HTML
<svg>
<defs>
<linearGradient id="left-to-right">
<stop offset="0" stop-color="green">
<animate dur="2s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
<stop offset="0" stop-color="blue">
<animate dur="0s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
</linearGradient>
<linearGradient id="left-to-right-arrow">
<stop offset="0" stop-color="green">
<animate begin="2s" dur="1s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
<stop offset="0" stop-color="blue">
<animate dur="2s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
</linearGradient>
<marker id="arrow-head" viewBox="-5 -5 10 10" refX="0" refY="0" orient="auto" markerWidth="10" markerHeight="10">
<path d="M -5 5, 0 0.3, -5 -5"></path>
</marker>
</defs>
<path class="line" d="M 10 100 A 500 500 0 0 1 500 100"></path>
</svg>
CSS
svg {
width: 600px;
height: 300px;
border: 1px solid green;
}
path {
fill: transparent;
}
.line {
marker-end: url(#arrow-head);
stroke: url(#left-to-right);
stroke-width: 10px;
}
#arrow-head {
stroke: url(#left-to-right-arrow);
}
Another approach is to put the gradient animation on a rectangle, then use your arrow as a mask.
svg {
width: 600px;
height: 300px;
border: 1px solid green;
}
path {
fill: transparent;
}
.line {
marker-end: url(#arrow-head);
stroke: white;
stroke-width: 10px;
}
#arrow-head {
stroke: white;
}
#masked-rect {
fill: url(#left-to-right);
mask: url(#arrow-mask);
}
<svg>
<defs>
<linearGradient id="left-to-right">
<stop offset="0" stop-color="green">
<animate dur="2s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
<stop offset="0" stop-color="blue">
<animate dur="0s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
</linearGradient>
<marker id="arrow-head" viewBox="-5 -5 10 10" refX="0" refY="0" orient="auto" markerWidth="10" markerHeight="10">
<path d="M -5 5, 0 0.3, -5 -5"></path>
</marker>
<mask id="arrow-mask">
<path class="line" d="M 10 100 A 500 500 0 0 1 500 100"></path>
</mask>
</defs>
<rect id="masked-rect" width="100%" height="100%"/>
</svg>
This seems better, you can experiment further with the numbers I guess. Basically I've tied the animations together and speeded up the marker one once it starts.
svg {
width: 600px;
height: 300px;
border: 1px solid green;
}
path {
fill: none;
}
.line {
marker-end: url(#arrow-head);
stroke: url(#left-to-right);
stroke-width: 10px;
}
#arrow-head {
stroke: url(#left-to-right-arrow);
}
<svg>
<defs>
<linearGradient id="left-to-right">
<stop offset="0" stop-color="green">
<animate id="a" dur="2s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
<stop offset="0" stop-color="blue">
<animate dur="0s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
</linearGradient>
<linearGradient id="left-to-right-arrow">
<stop offset="0" stop-color="green">
<animate begin="a.end-0.2s" dur="0.2s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
<stop offset="0" stop-color="blue">
<animate begin="a.end-0.2s" dur="0.2s" attributeName="offset" fill="freeze" from="0" to="1" />
</stop>
</linearGradient>
<marker id="arrow-head" viewBox="-5 -5 10 10" refX="0" refY="0" orient="auto" markerWidth="10" markerHeight="10">
<path d="M -5 5, 0 0.3, -5 -5"></path>
</marker>
</defs>
<path class="line" d="M 10 100 A 500 500 0 0 1 500 100"></path>
</svg>

How to (properly) reuse a SVG with linearGradient multiple times on a single page

I'm using the following SVG of a Google Play download button. There are 4 <linearGradient> inside <defs>.
<linearGradient> requires an ID for CSS to reference as a fill. I'd rather not use IDs since I'm going to have two of these icons on a single page, causing the page to have duplicate IDs. Any ideas of an alternative way to achieve this?
SVG Code:
<svg viewBox='0 0 135 40'>
<path d='M130,40H5c-2.8,0-5-2.2-5-5V5c0-2.7,2.2-5,5-5h125c2.8,0,5,2.2,5,5v30C135,37.7,132.8,40,130,40z'/>
<path className='st0' d='M130,0.8c2.3,0,4.2,1.9,4.2,4.2v30c0,2.3-1.9,4.2-4.2,4.2H5c-2.3,0-4.2-1.9-4.2-4.2V5c0-2.3,1.9-4.2,4.2-4.2 H130 M130,0H5C2.3,0,0,2.3,0,5v30c0,2.8,2.2,5,5,5h125c2.8,0,5-2.2,5-5V5C135,2.3,132.8,0,130,0L130,0z'/>
<path className='st1' d='M47.4,10.2c0,0.8-0.2,1.5-0.7,2c-0.6,0.6-1.3,0.9-2.2,0.9c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.3-0.9-2.2 c0-0.9,0.3-1.6,0.9-2.2c0.6-0.6,1.3-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.3c0.4,0.2,0.7,0.4,0.9,0.7l-0.5,0.5 c-0.4-0.5-0.9-0.7-1.6-0.7c-0.6,0-1.2,0.2-1.6,0.7c-0.5,0.4-0.7,1-0.7,1.7s0.2,1.3,0.7,1.7c0.5,0.4,1,0.7,1.6,0.7 c0.7,0,1.2-0.2,1.7-0.7c0.3-0.3,0.5-0.7,0.5-1.2h-2.2V9.8h2.9C47.4,9.9,47.4,10.1,47.4,10.2z'/>
<path className='st1' d='M52,7.7h-2.7v1.9h2.5v0.7h-2.5v1.9H52V13h-3.5V7H52V7.7z'/>
<path className='st1' d='M55.3,13h-0.8V7.7h-1.7V7H57v0.7h-1.7V13z' />
<path className='st1' d='M59.9,13V7h0.8v6H59.9z' />
<path className='st1' d='M64.1,13h-0.8V7.7h-1.7V7h4.1v0.7h-1.7V13z' />
<path className='st1' d='M73.6,12.2c-0.6,0.6-1.3,0.9-2.2,0.9c-0.9,0-1.6-0.3-2.2-0.9c-0.6-0.6-0.9-1.3-0.9-2.2s0.3-1.6,0.9-2.2 c0.6-0.6,1.3-0.9,2.2-0.9c0.9,0,1.6,0.3,2.2,0.9c0.6,0.6,0.9,1.3,0.9,2.2C74.5,10.9,74.2,11.6,73.6,12.2z M69.8,11.7 c0.4,0.4,1,0.7,1.6,0.7s1.2-0.2,1.6-0.7c0.4-0.4,0.7-1,0.7-1.7S73.5,8.7,73,8.3c-0.4-0.4-1-0.7-1.6-0.7s-1.2,0.2-1.6,0.7 c-0.4,0.4-0.7,1-0.7,1.7S69.3,11.3,69.8,11.7z'/>
<path className='st1' d='M75.6,13V7h0.9l2.9,4.7h0l0-1.2V7h0.8v6h-0.8l-3.1-4.9h0l0,1.2V13H75.6z'/>
<path className='st2' d='M68.1,21.8c-2.4,0-4.3,1.8-4.3,4.3c0,2.4,1.9,4.3,4.3,4.3c2.4,0,4.3-1.8,4.3-4.3 C72.4,23.5,70.5,21.8,68.1,21.8z M68.1,28.6c-1.3,0-2.4-1.1-2.4-2.6c0-1.5,1.1-2.6,2.4-2.6c1.3,0,2.4,1,2.4,2.6 C70.5,27.5,69.4,28.6,68.1,28.6z M58.8,21.8c-2.4,0-4.3,1.8-4.3,4.3c0,2.4,1.9,4.3,4.3,4.3c2.4,0,4.3-1.8,4.3-4.3 C63.1,23.5,61.2,21.8,58.8,21.8z M58.8,28.6c-1.3,0-2.4-1.1-2.4-2.6c0-1.5,1.1-2.6,2.4-2.6c1.3,0,2.4,1,2.4,2.6 C61.2,27.5,60.1,28.6,58.8,28.6z M47.7,23.1v1.8h4.3c-0.1,1-0.5,1.8-1,2.3c-0.6,0.6-1.6,1.3-3.3,1.3c-2.7,0-4.7-2.1-4.7-4.8 s2.1-4.8,4.7-4.8c1.4,0,2.5,0.6,3.3,1.3l1.3-1.3c-1.1-1-2.5-1.8-4.5-1.8c-3.6,0-6.7,3-6.7,6.6c0,3.6,3.1,6.6,6.7,6.6 c2,0,3.4-0.6,4.6-1.9c1.2-1.2,1.6-2.9,1.6-4.2c0-0.4,0-0.8-0.1-1.1H47.7z M93.1,24.5c-0.4-1-1.4-2.7-3.6-2.7c-2.2,0-4,1.7-4,4.3 c0,2.4,1.8,4.3,4.2,4.3c1.9,0,3.1-1.2,3.5-1.9l-1.4-1c-0.5,0.7-1.1,1.2-2.1,1.2c-1,0-1.6-0.4-2.1-1.3l5.7-2.4L93.1,24.5z M87.3,25.9c0-1.6,1.3-2.5,2.2-2.5c0.7,0,1.4,0.4,1.6,0.9L87.3,25.9z M82.6,30h1.9V17.5h-1.9V30z M79.6,22.7L79.6,22.7 c-0.5-0.5-1.3-1-2.3-1c-2.1,0-4.1,1.9-4.1,4.3c0,2.4,1.9,4.2,4.1,4.2c1,0,1.8-0.5,2.2-1h0.1v0.6c0,1.6-0.9,2.5-2.3,2.5 c-1.1,0-1.9-0.8-2.1-1.5l-1.6,0.7c0.5,1.1,1.7,2.5,3.8,2.5c2.2,0,4-1.3,4-4.4V22h-1.8V22.7z M77.4,28.6c-1.3,0-2.4-1.1-2.4-2.6 c0-1.5,1.1-2.6,2.4-2.6c1.3,0,2.3,1.1,2.3,2.6C79.7,27.5,78.7,28.6,77.4,28.6z M101.8,17.5h-4.5V30h1.9v-4.7h2.6 c2.1,0,4.1-1.5,4.1-3.9S103.9,17.5,101.8,17.5z M101.9,23.5h-2.7v-4.3h2.7c1.4,0,2.2,1.2,2.2,2.1C104,22.4,103.2,23.5,101.9,23.5z M113.4,21.7c-1.4,0-2.8,0.6-3.3,1.9l1.7,0.7c0.4-0.7,1-0.9,1.7-0.9c1,0,1.9,0.6,2,1.6v0.1c-0.3-0.2-1.1-0.5-1.9-0.5 c-1.8,0-3.6,1-3.6,2.8c0,1.7,1.5,2.8,3.1,2.8c1.3,0,1.9-0.6,2.4-1.2h0.1v1h1.8v-4.8C117.2,23,115.5,21.7,113.4,21.7z M113.2,28.6 c-0.6,0-1.5-0.3-1.5-1.1c0-1,1.1-1.3,2-1.3c0.8,0,1.2,0.2,1.7,0.4C115.2,27.8,114.2,28.6,113.2,28.6z M123.7,22l-2.1,5.4h-0.1 l-2.2-5.4h-2l3.3,7.6l-1.9,4.2h1.9l5.1-11.8H123.7z M106.9,30h1.9V17.5h-1.9V30z'/>
<path className='st3' d='M10.4,7.5C10.1,7.8,10,8.3,10,8.9v22.1c0,0.6,0.2,1.1,0.5,1.4l0.1,0.1l12.4-12.4V20v-0.1L10.4,7.5L10.4,7.5z' />
<path className='st4' d='M27,24.3l-4.1-4.1V20v-0.1l4.1-4.1l0.1,0.1l4.9,2.8c1.4,0.8,1.4,2.1,0,2.9L27,24.3L27,24.3z' />
<path className='st5' d='M27.1,24.2L22.9,20L10.4,32.5c0.5,0.5,1.2,0.5,2.1,0.1L27.1,24.2' />
<path className='st6' d='M27.1,15.8L12.5,7.5c-0.9-0.5-1.6-0.4-2.1,0.1L22.9,20L27.1,15.8z' />
<path className='st7' d='M27,24.1l-14.5,8.2c-0.8,0.5-1.5,0.4-2,0l0,0l-0.1,0.1l0,0l0.1,0.1l0,0c0.5,0.4,1.2,0.5,2,0L27,24.1L27,24.1 z' />
<path className='st8' d='M10.4,32.3C10.1,32,10,31.5,10,30.9v0.1c0,0.6,0.2,1.1,0.5,1.4V32.3L10.4,32.3z' />
<path className='st8' d='M32,21.3l-5,2.8l0.1,0.1l4.9-2.8c0.7-0.4,1-0.9,1-1.4l0,0C33,20.5,32.6,20.9,32,21.3z' />
<path className='st9' d='M12.5,7.6L32,18.7c0.6,0.4,1,0.8,1,1.3l0,0c0-0.5-0.3-1-1-1.4L12.5,7.5C11.1,6.7,10,7.3,10,8.9v0.1 C10,7.5,11.1,6.8,12.5,7.6z' />
<defs>
<linearGradient id='SVGID_1_' gradientUnits='userSpaceOnUse' x1='21.8'
y1='33.29' x2='5.017' y2='16.508' gradientTransform='matrix(1 0 0 -1 0 42)'>
<stop offset='0' stopColor='#00a0ff' />
<stop offset='0.007' stopColor='#00a1ff' />
<stop offset='0.26' stopColor='#00beff' />
<stop offset='0.512' stopColor='#00d2ff' />
<stop offset='0.76' stopColor='#00dfff' />
<stop offset='1' stopColor='#00e3ff' />
</linearGradient>
<linearGradient id='SVGID_2_' gradientUnits='userSpaceOnUse' x1='33.834'
y1='21.999' x2='9.637' y2='21.999' gradientTransform='matrix(1 0 0 -1 0 42)'>
<stop offset='0' stopColor='#ffe000' />
<stop offset='0.409' stopColor='#ffbd00' />
<stop offset='0.775' stopColor='orange' />
<stop offset='1' stopColor='#ff9c00' />
</linearGradient>
<linearGradient id='SVGID_3_' gradientUnits='userSpaceOnUse' x1='24.827'
y1='19.704' x2='2.069' y2='-3.054' gradientTransform='matrix(1 0 0 -1 0 42)'>
<stop offset='0' stopColor='#ff3a44' />
<stop offset='1' stopColor='#c31162' />
</linearGradient>
<linearGradient id='SVGID_4_' gradientUnits='userSpaceOnUse' x1='7.297'
y1='41.824' x2='17.46' y2='31.661' gradientTransform='matrix(1 0 0 -1 0 42)'>
<stop offset='0' stopColor='#32a071' />
<stop offset='0.069' stopColor='#2da771' />
<stop offset='0.476' stopColor='#15cf74' />
<stop offset='0.801' stopColor='#06e775' />
<stop offset='1' stopColor='#00f076' />
</linearGradient>
</defs>
</svg>
CSS:
.st0{
fill:#A6A6A6;
}
.st1{
fill: #FFFFFF;
stroke: #FFFFFF;
stroke-width: 0.2;
stroke-miterlimit: 10;
}
.st2{
fill: #FFFFFF;
}
.st3{
fill: url(#SVGID_1_);
}
.st4{
fill: url(#SVGID_2_);
}
.st5{
fill: url(#SVGID_3_);
}
.st6{
fill: url(#SVGID_4_);
}
.st7{
opacity: 0.2;
enable-background: new;
}
.st8{
opacity: 0.12;
enable-background: new;
}
.st9{
opacity: 0.25;
fill: #FFFFFF;
enable-background:new;
}

Resources