first
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,56 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<filter id="shadow3d-favicon">
|
||||
<feOffset dx="4" dy="4" in="SourceGraphic" result="offset1"/>
|
||||
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
|
||||
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
|
||||
|
||||
<feOffset dx="8" dy="8" in="SourceGraphic" result="offset2"/>
|
||||
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
|
||||
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
|
||||
|
||||
<feMerge>
|
||||
<feMergeNode in="shadow2"/>
|
||||
<feMergeNode in="shadow1"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
|
||||
<pattern id="gridPatternFavicon" patternUnits="userSpaceOnUse" width="12" height="12">
|
||||
<rect width="12" height="12" fill="transparent"/>
|
||||
<line x1="0" y1="0" x2="12" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
|
||||
<line x1="0" y1="6" x2="12" y2="6" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
|
||||
<line x1="0" y1="0" x2="0" y2="12" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
|
||||
<line x1="6" y1="0" x2="6" y2="12" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
|
||||
</pattern>
|
||||
|
||||
<mask id="textMaskFavicon">
|
||||
<g transform="skewY(-2)">
|
||||
<text x="256" y="310" text-anchor="middle" class="favicon-text" fill="white">O</text>
|
||||
</g>
|
||||
</mask>
|
||||
|
||||
<style>
|
||||
.favicon-text {
|
||||
font-family: system-ui, -apple-system, sans-serif;
|
||||
font-size: 320px;
|
||||
font-weight: 900;
|
||||
fill: #F4C430;
|
||||
stroke: #14532D;
|
||||
stroke-width: 3;
|
||||
paint-order: stroke fill;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<!-- Background with rounded corners -->
|
||||
<rect width="512" height="512" rx="64" fill="#E7D4B5"/>
|
||||
|
||||
<!-- Text content -->
|
||||
<g transform="skewY(-2)">
|
||||
<text x="256" y="310" text-anchor="middle" class="favicon-text" filter="url(#shadow3d-favicon)">O</text>
|
||||
</g>
|
||||
|
||||
<!-- Grid pattern overlay on text -->
|
||||
<rect x="0" y="0" width="512" height="512" fill="url(#gridPatternFavicon)" mask="url(#textMaskFavicon)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
@@ -0,0 +1,49 @@
|
||||
<svg width="500" height="540" viewBox="0 0 500 540" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<filter id="shadow3d-officer-square">
|
||||
<feOffset dx="6" dy="6" in="SourceGraphic" result="offset1"/>
|
||||
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
|
||||
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
|
||||
|
||||
<feOffset dx="12" dy="12" in="SourceGraphic" result="offset2"/>
|
||||
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
|
||||
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
|
||||
|
||||
<feMerge>
|
||||
<feMergeNode in="shadow2"/>
|
||||
<feMergeNode in="shadow1"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
|
||||
<pattern id="gridPatternOfficerSquare" patternUnits="userSpaceOnUse" width="20" height="20">
|
||||
<rect width="20" height="20" fill="transparent"/>
|
||||
<line x1="0" y1="0" x2="20" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="0" y1="10" x2="20" y2="10" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="0" y1="0" x2="0" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="10" y1="0" x2="10" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
</pattern>
|
||||
|
||||
<mask id="textMaskOfficerSquare">
|
||||
<text x="250" y="320" text-anchor="middle" class="officer-text-square" fill="white">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
|
||||
</mask>
|
||||
|
||||
<style>
|
||||
.officer-text-square {
|
||||
font-family: system-ui, -apple-system, sans-serif;
|
||||
font-size: 140px;
|
||||
font-weight: 900;
|
||||
fill: #F4C430;
|
||||
stroke: #14532D;
|
||||
stroke-width: 3;
|
||||
paint-order: stroke fill;
|
||||
letter-spacing: -2px;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<text x="250" y="320" text-anchor="middle" class="officer-text-square" filter="url(#shadow3d-officer-square)">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
|
||||
|
||||
<rect x="0" y="0" width="500" height="540" fill="url(#gridPatternOfficerSquare)" mask="url(#textMaskOfficerSquare)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,49 @@
|
||||
<svg width="600" height="440" viewBox="-50 -20 600 440" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<filter id="shadow3d-main-sq-officer">
|
||||
<feOffset dx="6" dy="6" in="SourceGraphic" result="offset1"/>
|
||||
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
|
||||
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
|
||||
|
||||
<feOffset dx="12" dy="12" in="SourceGraphic" result="offset2"/>
|
||||
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
|
||||
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
|
||||
|
||||
<feMerge>
|
||||
<feMergeNode in="shadow2"/>
|
||||
<feMergeNode in="shadow1"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
|
||||
<pattern id="gridPatternSqOfficer" patternUnits="userSpaceOnUse" width="20" height="20">
|
||||
<rect width="20" height="20" fill="transparent"/>
|
||||
<line x1="0" y1="0" x2="20" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="0" y1="10" x2="20" y2="10" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="0" y1="0" x2="0" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="10" y1="0" x2="10" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
</pattern>
|
||||
|
||||
<mask id="textMaskSqOfficer">
|
||||
<text x="300" y="250" text-anchor="middle" class="officer-text-main-sq" fill="white">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
|
||||
</mask>
|
||||
|
||||
<style>
|
||||
.officer-text-main-sq {
|
||||
font-family: system-ui, -apple-system, sans-serif;
|
||||
font-size: 140px;
|
||||
font-weight: 900;
|
||||
fill: #F4C430;
|
||||
stroke: #14532D;
|
||||
stroke-width: 3;
|
||||
paint-order: stroke fill;
|
||||
letter-spacing: -2px;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<text x="300" y="250" text-anchor="middle" class="officer-text-main-sq" filter="url(#shadow3d-main-sq-officer)">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
|
||||
|
||||
<rect x="0" y="0" width="500" height="420" fill="url(#gridPatternSqOfficer)" mask="url(#textMaskSqOfficer)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,49 @@
|
||||
<svg width="1200" height="240" viewBox="-20 40 1200 260" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<filter id="shadow3d-main-officer">
|
||||
<feOffset dx="6" dy="6" in="SourceGraphic" result="offset1"/>
|
||||
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
|
||||
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
|
||||
|
||||
<feOffset dx="12" dy="12" in="SourceGraphic" result="offset2"/>
|
||||
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
|
||||
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
|
||||
|
||||
<feMerge>
|
||||
<feMergeNode in="shadow2"/>
|
||||
<feMergeNode in="shadow1"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
|
||||
<pattern id="gridPatternOfficer" patternUnits="userSpaceOnUse" width="20" height="20">
|
||||
<rect width="20" height="20" fill="transparent"/>
|
||||
<line x1="0" y1="0" x2="20" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="0" y1="10" x2="20" y2="10" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="0" y1="0" x2="0" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
<line x1="10" y1="0" x2="10" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
|
||||
</pattern>
|
||||
|
||||
<mask id="textMaskOfficer">
|
||||
<text x="580" y="220" text-anchor="middle" class="officer-text-main" fill="white">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer.dev</tspan></text>
|
||||
</mask>
|
||||
|
||||
<style>
|
||||
.officer-text-main {
|
||||
font-family: system-ui, -apple-system, sans-serif;
|
||||
font-size: 140px;
|
||||
font-weight: 900;
|
||||
fill: #F4C430;
|
||||
stroke: #14532D;
|
||||
stroke-width: 3;
|
||||
paint-order: stroke fill;
|
||||
letter-spacing: -2px;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<text x="580" y="220" text-anchor="middle" class="officer-text-main" filter="url(#shadow3d-main-officer)">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer.dev</tspan></text>
|
||||
|
||||
<rect x="0" y="0" width="1160" height="300" fill="url(#gridPatternOfficer)" mask="url(#textMaskOfficer)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 304 KiB |
@@ -0,0 +1 @@
|
||||
{"name":"Rubber Duck Software","short_name":"pastilhas","icons":[{"src":"/static/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/static/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
||||