');background-size: 1536px;background-position: center;background-repeat: repeat;}body:after {background-color: #32FAEE;content: '';display: block;height: 100%;left: 0;opacity: 0;pointer-events: none;position: fixed;top: 0;transform: scale(1);transition: opacity 0.125s ease-in-out 0s, visibility 0.125s 0s;visibility: hidden;width: 100%;z-index: 1;}body.is-loading:after {opacity: 1;visibility: visible;}:root {--background-height: 100vh;--site-language-alignment: left;--site-language-direction: ltr;--site-language-flex-alignment: flex-start;--site-language-indent-left: 1;--site-language-indent-right: 0;--site-language-margin-left: 0;--site-language-margin-right: auto;--viewport-height: 100vh;}html {font-size: 18pt;}u {text-decoration: underline;}strong {color: inherit;font-weight: bolder;}em {font-style: italic;}code {background-color: rgba(144,144,144,0.25);border-radius: 0.25em;font-family: 'Lucida Console', 'Courier New', monospace;font-size: 0.9em;font-weight: normal;letter-spacing: 0;margin: 0 0.25em;padding: 0.25em 0.5em;text-indent: 0;}mark {background-color: rgba(144,144,144,0.25);}spoiler-text {-webkit-text-stroke: 0;background-color: rgba(32,32,32,0.75);text-shadow: none;text-stroke: 0;color: transparent;cursor: pointer;transition: color 0.1s ease-in-out;}spoiler-text.active {color: #FFFFFF;cursor: text;}s {text-decoration: line-through;}sub {font-size: smaller;vertical-align: sub;}sup {font-size: smaller;vertical-align: super;}a {color: inherit;text-decoration: underline;transition: color 0.25s ease;}a[onclick]:not([href]) {cursor: pointer;}unloaded-script {display: none;}#wrapper {-webkit-overflow-scrolling: touch;align-items: center;display: flex;flex-direction: column;justify-content: center;min-height: var(--viewport-height);overflow: hidden;position: relative;z-index: 2;}#main {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;--border-radius-tl: 0;--border-radius-tr: 0;--border-radius-br: 0;--border-radius-bl: 0;align-items: center;display: flex;flex-grow: 0;flex-shrink: 0;justify-content: center;max-width: 100%;position: relative;text-align: var(--alignment);z-index: 1;transition: opacity 0.125s ease-in-out 0s;}#main > .inner {--padding-horizontal: 4rem;--padding-vertical: 5rem;--spacing: 0rem;--width: 60rem;border-radius: var(--border-radius-tl) var(--border-radius-tr) var(--border-radius-br) var(--border-radius-bl);max-width: 100%;position: relative;width: var(--width);z-index: 1;padding: var(--padding-vertical) var(--padding-horizontal);}#main > .inner > * {margin-top: var(--spacing);margin-bottom: var(--spacing);}#main > .inner > :first-child {margin-top: 0 !important;}#main > .inner > :last-child {margin-bottom: 0 !important;}#main > .inner > .full {margin-left: calc(var(--padding-horizontal) * -1);max-width: calc(100% calc(var(--padding-horizontal) * 2) 0.4725px);width: calc(100% calc(var(--padding-horizontal) * 2) 0.4725px);}#main > .inner > .full:first-child {border-top-left-radius: inherit;border-top-right-radius: inherit;margin-top: calc(var(--padding-vertical) * -1) !important;}#main > .inner > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;margin-bottom: calc(var(--padding-vertical) * -1) !important;}#main > .inner > .full.screen {border-radius: 0 !important;max-width: 100vw;position: relative;width: 100vw;left: 50%;margin-left: -50vw;right: auto;}body.is-loading #main {opacity: 0;}body #wrapper:after {background-position: center;background-repeat: no-repeat;background-size: contain;content: '';display: block;height: 10rem;left: calc(50% - 5rem);opacity: 0;pointer-events: none;position: fixed;top: calc(50% - 5rem);transition: opacity 1s ease, visibility 1s;visibility: hidden;width: 10rem;z-index: 100000;}body.is-loading {pointer-events: none;}body.is-loading.with-loader #wrapper:after {background-image: url('data:image/svg xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6ICM0RDNFNUM7fTwvc3R5bGU PGNpcmNsZSBjeD0iMjQiIGN5PSI0OCIgcj0iMyI PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiIHR5cGU9InRyYW5zbGF0ZSIgdmFsdWVzPSIwLDA7MCwtNjswLDA7MCwwOzAsMDswLDA7MCwwOzAsMCIgYmVnaW49IjBzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjM2IiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjJzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjQ4IiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjRzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjYwIiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjZzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjcyIiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjhzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjwvc3ZnPg==');opacity: 1;transform: scale(1.0);visibility: visible;}body.is-playing.with-loader #wrapper:after {opacity: 0;transform: scale(0.5);transition: opacity 0.25s ease, transform 0.75s ease, visibility 0.25s;visibility: hidden;}body.is-instant #main, body.is-instant #main > .inner > *,body.is-instant #main > .inner > section > * {transition: none !important;}body.is-instant:after {display: none !important;transition: none !important;}@keyframes loading-spinner {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}.slideshow-background:after {content: '';display: block;width: 4rem;height: 4rem;position: absolute;top: 50%;left: 50%;margin: -2rem 0 0 -2rem;animation: loading-spinner 1s infinite linear;transition: opacity 0.25s ease;transition-delay: 1s;opacity: 0;pointer-events: none;z-index: -1;background-image: url('data:image/svg xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6IHRyYW5zcGFyZW50OyBzdHJva2U6ICNmZmY7IHN0cm9rZS13aWR0aDogMS41cHg7IH08L3N0eWxlPjxkZWZzPjxjbGlwUGF0aCBpZD0iY29ybmVyIj48cG9seWdvbiBwb2ludHM9IjAsMCA0OCwwIDQ4LDQ4IDk2LDQ4IDk2LDk2IDAsOTYiIC8 PC9jbGlwUGF0aD48L2RlZnM PGcgY2xpcC1wYXRoPSJ1cmwoI2Nvcm5lcikiPjxjaXJjbGUgY3g9IjQ4IiBjeT0iNDgiIHI9IjMyIi8 PC9nPjwvc3ZnPg==');background-position: center;background-repeat: no-repeat;background-size: 3rem;}.slideshow-background.is-loading:after {opacity: 0.35;z-index: 0;}.slideshow-background > div {background-size: cover;position: absolute;top: 0;left: 0;width: 100% !important;height: 100% !important;opacity: 0;z-index: -2;animation-timing-function: linear;animation-iteration-count: infinite;animation-direction: alternate;}.slideshow-background > .initial {transition: none;}.slideshow-background > .visible {opacity: 1;}.slideshow-background > .top {z-index: -1;}.slideshow-background.instant > div {visibility: hidden;}.slideshow-background.instant > .visible {visibility: visible;}.slideshow-background.crossfade > div {transition: opacity 2s ease-in-out;visibility: hidden;}.slideshow-background.crossfade > .visible {visibility: visible;}.slideshow-background.fade > div {transition: opacity 2s ease-in-out;visibility: visible;}.slideshow-background.fade > .visible {visibility: visible;}.slideshow-background > .left, .slideshow-background > .right {width: 150% !important;}.slideshow-background > .up, .slideshow-background > .down {height: 150% !important;}.slideshow-background > .in, .slideshow-background > .out {transform-origin: 50% 50%;}.slideshow-background > .left.is-playing {animation-name: slideshow-background-left;}.slideshow-background > .right.is-playing {animation-name: slideshow-background-right;}.slideshow-background > .up.is-playing {animation-name: slideshow-background-up;}.slideshow-background > .down.is-playing {animation-name: slideshow-background-down;}.slideshow-background > .in.is-playing {animation-name: slideshow-background-in;}.slideshow-background > .out.is-playing {animation-name: slideshow-background-out;}.slideshow-background > .slow {animation-duration: 60s;}.slideshow-background > .normal {animation-duration: 45s;}.slideshow-background > .fast {animation-duration: 30s;}@keyframes slideshow-background-left {from {transform: translateX(0);}to {transform: translateX(-25%);}}@keyframes slideshow-background-right {from {transform: translateX(-25%);}to {transform: translateX(0);}}@keyframes slideshow-background-up {from {transform: translateY(0);}to {transform: translateY(-25%);}}@keyframes slideshow-background-down {from {transform: translateY(-25%);}to {transform: translateY(0);}}@keyframes slideshow-background-in {from {transform: scale(1);}to {transform: scale(2);}}@keyframes slideshow-background-out {from {transform: scale(2);}to {transform: scale(1);}}h1, h2, h3, p {direction: var(--site-language-direction);position: relative;}h1 span.p, h2 span.p, h3 span.p, p span.p {display: block;position: relative;}h1 span[style], h2 span[style], h3 span[style], p span[style], h1 strong, h2 strong, h3 strong, p strong, h1 a, h2 a, h3 a, p a, h1 code, h2 code, h3 code, p code, h1 mark, h2 mark, h3 mark, p mark, h1 spoiler-text, h2 spoiler-text, h3 spoiler-text, p spoiler-text {-webkit-text-fill-color: currentcolor;}h1.style1, h2.style1, h3.style1, p.style1 {color: #4D3E5C;font-family: 'Dela Gothic One', cursive;font-size: 2.875em;line-height: 1.125;font-weight: 400;}h1.style1 mark, h2.style1 mark, h3.style1 mark, p.style1 mark {color: #C387B6;background-color: transparent;}h1.style1 a, h2.style1 a, h3.style1 a, p.style1 a {text-decoration: none;}h1.style1 a:hover, h2.style1 a:hover, h3.style1 a:hover, p.style1 a:hover {text-decoration: underline;}h1.style1 span.p:nth-child(n 2), h2.style1 span.p:nth-child(n 2), h3.style1 span.p:nth-child(n 2), p.style1 span.p:nth-child(n 2) {margin-top: 1rem;}h1.style1 > *, h2.style1 > *, h3.style1 > *, p.style1 > * {display: inline-block;line-height: 1.2;}h1.style2, h2.style2, h3.style2, p.style2 {text-align: left;color: #4D3E5C;font-family: 'Dela Gothic One', cursive;font-size: 1.375em;line-height: 1.875;font-weight: 400;}h1.style2 a, h2.style2 a, h3.style2 a, p.style2 a {text-decoration: underline;}h1.style2 a:hover, h2.style2 a:hover, h3.style2 a:hover, p.style2 a:hover {text-decoration: none;}h1.style2 span.p:nth-child(n 2), h2.style2 span.p:nth-child(n 2), h3.style2 span.p:nth-child(n 2), p.style2 span.p:nth-child(n 2) {margin-top: 1rem;}hr {align-items: center;border: 0;display: flex;justify-content: var(--flex-alignment);min-height: 1rem;padding: 0;position: relative;width: 100%;}hr:before {content: '';}hr.style2:not(:first-child) {margin-top: 0rem !important;}hr.style2:not(:last-child) {margin-bottom: 0rem !important;}hr.style2:before {height: 3rem;background-color: #4D3E5C;width: 3px;border-radius: 0px;}.container {position: relative;}.container > .wrapper {vertical-align: top;position: relative;max-width: 100%;border-radius: inherit;}.container > .wrapper > .inner {vertical-align: top;position: relative;max-width: 100%;border-radius: inherit;text-align: var(--alignment);}#main .container.full:first-child > .wrapper {border-top-left-radius: inherit;border-top-right-radius: inherit;}#main .container.full:last-child > .wrapper {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}#main .container.full:first-child > .wrapper > .inner {border-top-left-radius: inherit;border-top-right-radius: inherit;}#main .container.full:last-child > .wrapper > .inner {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style1 {display: flex;width: 100%;min-height: 15rem;align-items: center;justify-content: center;background-color: #FFFFFF;border-color: #4D3E5C;border-style: solid;border-width: 3px;box-shadow: 0.177rem 0.177rem 0rem 0rem #4D3E5C;}.container.style1:not(:first-child) {margin-top: 0rem !important;}.container.style1:not(:last-child) {margin-bottom: 0rem !important;}.container.style1 > .wrapper > .inner {--gutters: calc(var(--padding-horizontal) * 2);--padding-horizontal: 4rem;--padding-vertical: 4rem;--spacing: 2rem;padding: var(--padding-vertical) var(--padding-horizontal);}.container.style1 > .wrapper {max-width: var(--width);width: 100%;}.container.style1.default > .wrapper > .inner > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style1.default > .wrapper > .inner > *:first-child {margin-top: 0 !important;}.container.style1.default > .wrapper > .inner > *:last-child {margin-bottom: 0 !important;}.container.style1.columns > .wrapper > .inner {flex-wrap: wrap;display: flex;align-items: center;}.container.style1.columns > .wrapper > .inner > * {flex-grow: 0;flex-shrink: 0;max-width: 100%;text-align: var(--alignment);padding: 0 0 0 var(--gutters);}.container.style1.columns > .wrapper > .inner > * > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style1.columns > .wrapper > .inner > * > *:first-child {margin-top: 0 !important;}.container.style1.columns > .wrapper > .inner > * > *:last-child {margin-bottom: 0 !important;}.container.style1.columns > .wrapper > .inner > *:first-child {margin-left: calc(var(--gutters) * -1);}.container.style1.default > .wrapper > .inner > .full {margin-left: calc(var(--padding-horizontal) * -1);max-width: none !important;width: calc(100% (var(--padding-horizontal) * 2) 0.4725px);}.container.style1.default > .wrapper > .inner > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style1.default > .wrapper > .inner > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--gutters) * -0.5);max-width: none !important;width: calc(100% var(--gutters) 0.4725px);}.container.style1.columns > .wrapper > .inner > div:first-child > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% var(--padding-horizontal) calc(var(--gutters) * 0.5) 0.4725px);}.container.style1.columns > .wrapper > .inner > div:last-child > .full {width: calc(100% var(--padding-horizontal) calc(var(--gutters) * 0.5) 0.4725px);}.container.style1.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > .full {align-self: stretch;min-height: 15rem;}.container.style1.columns > .wrapper > .inner > .full:first-child {border-bottom-left-radius: inherit;border-top-left-radius: inherit;}.container.style1.columns > .wrapper > .inner > .full:last-child {border-bottom-right-radius: inherit;border-top-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child {border-radius: inherit;height: calc(100% (var(--padding-vertical) * 2));}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {border-radius: inherit;height: 100%;position: absolute;width: 100%;}.slideshow {display: block;max-width: 100%;position: relative;}.slideshow .content {display: inline-block;max-width: 100%;position: relative;vertical-align: top;}.slideshow .bg {display: inline-block;max-width: 100%;overflow: hidden;position: relative;vertical-align: top;width: 100%;z-index: 1;}.slideshow .nav {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;display: flex;height: 100%;max-width: 25%;opacity: 0.5;position: absolute;top: 0;transition: opacity 0.25s ease, transform 0.5s ease;width: 8rem;z-index: 1;}.slideshow .nav:before {content: '';display: block;transition: opacity 0.25s ease, transform 0.5s ease;}.slideshow .nav:hover {opacity: 1;}.slideshow .nav.next {right: 0;}.slideshow .nav.previous {left: 0;transform: scaleX(-1) !important;}.slideshow.full .bg {display: block;}.slideshow.full:first-child .content {border-top-left-radius: inherit;border-top-right-radius: inherit;}.slideshow.full:last-child .content {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.slideshow.full:first-child .bg {border-top-left-radius: inherit;border-top-right-radius: inherit;}.slideshow.full:last-child .bg {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}#slideshow01 {-webkit-touch-callout: none;user-select: none;}#slideshow01 .bg {width: 31.625rem;height: 24.875rem;}#slideshow01 .bg > .slow {animation-duration: 60s;}#slideshow01 .bg > .normal {animation-duration: 45s;}#slideshow01 .bg > .fast {animation-duration: 30s;}#slideshow01 .bg > div {transition-duration: 1s;}#slideshow01 .nav {align-items: center;justify-content: center;mix-blend-mode: difference;}#slideshow01 .nav:before {aspect-ratio: 1 / 1;background-image: url('data:image/svg xml;charset=utf8,');background-position: right;background-repeat: no-repeat;background-size: contain;max-width: 50%;width: 3rem;}#slideshow01 .nav.next:before {margin-right: -10%;}#slideshow01 .nav.previous:before {margin-right: -10%;}#embed01 {max-width: 100%;}#embed01 .frame {border-radius: inherit;}#embed01 .frame-inner {border-radius: inherit;}#embed01 .frame iframe {border-radius: inherit;height: 40rem;max-width: 100%;width: 62rem;}.image {display: block;line-height: 0;max-width: 100%;position: relative;}.image .frame {-webkit-backface-visibility: hidden;-webkit-transform: translate3d(0, 0, 0);display: inline-block;max-width: 100%;overflow: hidden;vertical-align: top;width: 100%;}.image .frame img {border-radius: 0 !important;max-width: 100%;vertical-align: top;width: inherit;}.image.full .frame {display: block;}.image.full:first-child .frame {border-top-left-radius: inherit;border-top-right-radius: inherit;}.image.full:last-child .frame {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.image.style3:not(:first-child) {margin-top: 0rem !important;}.image.style3:not(:last-child) {margin-bottom: 0rem !important;}.image.style3 .frame {width: 8rem;border-radius: 100%;border-color: #4D3E5C;border-style: solid;border-width: 3px;transition: none;}.image.style3 img {border-radius: inherit !important;padding: 0.375rem;}.image.style3 .frame img {transition: none;}.icons {display: flex;flex-wrap: wrap;justify-content: var(--flex-alignment);letter-spacing: 0;padding: 0;}.icons li {position: relative;z-index: 1;}.icons li a {align-items: center;display: flex;justify-content: center;}.icons li a svg {display: block;position: relative;}.icons li a svg {display: block;height: 100%;left: 0;pointer-events: none;position: absolute;top: 0;width: 100%;z-index: -1;}.icons li a .label {display: none;}.icons.style1 {font-size: 1.875em;gap: 1.5rem;}.icons.style1 li a {border-radius: 2.5rem;height: 2em;width: 2em;transition: transform 0.125s ease, color 0.125s ease, background-color 0.125s ease, border-color 0.125s ease;}.icons.style1 li a svg {height: 60%;width: 60%;transition: fill 0.125s ease;}.icons.style1 a {background-color: #4FB5FF;box-shadow: 0rem 0rem 0rem 0.125rem #4D3E5C;}.icons.style1 a svg {fill: #FFFFFF;}.icons.style1 li a svg {transition: transform 0.125s ease, fill 0.125s ease, stroke 0.125s ease;}.icons.style1 li a:hover {transform: rotate(-16.875deg);}.icons.style1 li a:hover svg {transform: rotate(-16.875deg);}form {display: flex;justify-content: var(--flex-alignment);}form .inner {display: flex;flex-direction: column;flex-wrap: wrap;max-width: 100%;}form label {direction: var(--site-language-direction);display: block;}form .field[data-type="label"] div {margin-top: 0 !important;}form .field button {align-items: center;background-color: transparent;border: 0;cursor: pointer;display: flex;justify-content: center;position: absolute;}form .field button > svg {height: 50%;min-width: 100%;}form input[type="text"], form input[type="email"], form input[type="tel"], form input[type="number"], form textarea, form select, form .file, form .date {background-color: transparent;border: 0;direction: var(--site-language-direction);display: block;outline: 0;text-align: var(--site-language-alignment);width: 100%;}form input[type="tel"] {-webkit-appearance: none;}form textarea {height: 10rem;line-height: normal;}form select {background-repeat: no-repeat;background-size: 1rem;text-overflow: ellipsis;-webkit-appearance: none;}form select option {background-color: white;color: black;}form select::-ms-expand {display: none;}form p {display: block;}form input[type="checkbox"] {-webkit-appearance: none;display: block;float: left;margin-right: -2rem;opacity: 0;width: 1rem;z-index: -1;}form input[type="checkbox"] label {align-items: center;display: inline-flex;line-height: 1.6;text-align: var(--site-language-alignment);}form input[type="checkbox"] label:before {background-position: center;background-repeat: no-repeat;content: '';cursor: pointer;display: inline-block;flex-grow: 0;flex-shrink: 0;vertical-align: middle;}form input[type="number"] {-webkit-appearance: none;-moz-appearance: textfield;}form input[type="number"]::-webkit-inner-spin-button, form input[type="number"]::-webkit-outer-spin-button {-webkit-appearance: none;}form .number {position: relative;}form .number > input[type="number"] {text-align: center;}form .field .number > button > svg {height: 40%;}form .file {position: relative;}form .file > input[type="file"] {cursor: pointer;height: 100%;left: 0;opacity: 0;position: absolute;top: 0;width: 100%;}form .file[data-filename]:before {background-repeat: no-repeat;content: attr(data-filename);display: block;height: 100%;overflow: hidden;position: absolute;text-overflow: ellipsis;top: 0;white-space: nowrap;}form .file[data-filename=""]:before {background-image: none !important;content: attr(data-placeholder);padding-left: 0 !important;}form .field .file > button > svg {height: 53%;}form .date {overflow: hidden;position: relative;}form .date input[type="date"] {cursor: pointer;display: block;height: 100%;left: 0;opacity: 0;position: absolute;top: 0;width: 100vw;}form .date[data-value]:before {background-repeat: no-repeat;display: block;height: 100%;overflow: hidden;position: absolute;text-overflow: ellipsis;top: 0;white-space: nowrap;}form .date:not([data-value=""]):before {content: attr(data-value);}form .date[data-value=""]:before {content: attr(data-placeholder);}form .field .date > button > svg {height: 60%;}form .actions {max-width: 100%;}form .actions button {align-items: center;background-color: transparent;border: 0;cursor: pointer;display: inline-flex;justify-content: center;max-width: 100%;text-align: center;vertical-align: middle;white-space: nowrap;}form .actions button:disabled {cursor: default;opacity: 0.35;pointer-events: none;}@keyframes button-spinner {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}#form01 .inner > * {margin: 1rem 0 0 0;max-width: 100%;}#form01 .inner > :first-child {margin: 0;}#form01 .inner {width: 25rem;}#form01 label:first-child {margin: 0.25rem 0 0.75rem 0;font-size: 1.375em;line-height: 1.5;font-family: 'Dela Gothic One', cursive;font-weight: 400;color: #4D3E5C;}#form01 .field button {background-size: 1rem;height: 2rem;line-height: 2rem;width: 2rem;border-radius: 1.6rem;background-color: #4FB5FF;transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;}#form01 .field button svg {fill: #FFFFFF;transition: fill 0.25s ease;}#form01 input[type="text"], #form01 input[type="email"], #form01 input[type="tel"], #form01 input[type="number"], #form01 textarea, #form01 select, #form01 .file, #form01 .date {font-size: 1.375em;font-family: 'Dela Gothic One', cursive;font-weight: 400;border-radius: 2.5rem;color: #4D3E5C;border: solid 1px #4D3E5C;}#form01 input[type="text"], #form01 input[type="email"], #form01 input[type="tel"], #form01 input[type="number"], #form01 select, #form01 .file, #form01 .date {height: 2.5rem;padding: 0 0.875rem;line-height: calc(2.5rem - 2px);}#form01 textarea {padding: 0.875rem;height: 10rem;line-height: 1.875;padding-top: 0.546875rem;}#form01 select {background-image: url("data:image/svg xml;charset=utf8,");background-position: calc(100% - 0.875rem) center;padding-right: 2.625rem;}#form01 input[type="checkbox"] label:before {border-radius: 2.5rem;color: #4D3E5C;border: solid 1px #4D3E5C;background-size: 1.0625rem;height: 1.875rem;width: 1.875rem;margin-right: 0.9375rem;}#form01 input[type="checkbox"]:checked label:before {background-image: url("data:image/svg xml;charset=utf8,");}#form01 .number > input[type="number"] {padding-left: 2.5rem;padding-right: 2.5rem;}#form01 .number > button.decrement {bottom: calc(0.25rem - 0px);left: calc(0.25rem - 0px);}#form01 .number > button.increment {bottom: calc(0.25rem - 0px);right: calc(0.25rem - 0px);}#form01 .file:before {width: calc(100% - 3.375rem);background-image: url("data:image/svg xml;charset=utf8,");background-size: 1.375rem;background-position: left;padding-left: 1.925rem;}#form01 .file > button {bottom: calc(0.25rem - 1px);right: calc(0.25rem - 1px);}#form01 .date:before {width: calc(100% - 3.375rem);}#form01 .date > button {bottom: calc(0.25rem - 1px);right: calc(0.25rem - 1px);}#form01 input[type="checkbox"] label, #form01 p {font-size: 1.375em;line-height: 1.875;font-family: 'Dela Gothic One', cursive;font-weight: 400;color: #4D3E5C;}#form01 .actions button {display: inline-block;height: 2.5rem;line-height: 2.5rem;padding: 0 1.25rem;font-size: 1.375em;font-family: 'Dela Gothic One', cursive;font-weight: 400;border-radius: 2.5rem;direction: var(--site-language-direction);overflow: hidden;text-overflow: ellipsis;background-color: #4FB5FF;color: #FFFFFF;transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;position: relative;}#form01 .inner > :first-child > label:first-child {margin-top: 0;}#form01 .actions button:before {animation: button-spinner 1s infinite linear;background-image: url('data:image/svg xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6IHRyYW5zcGFyZW50OyBzdHJva2U6ICNGRkZGRkY7IHN0cm9rZS13aWR0aDogMnB4OyB9PC9zdHlsZT48ZGVmcz48Y2xpcFBhdGggaWQ9ImNvcm5lciI PHBvbHlnb24gcG9pbnRzPSIwLDAgNDgsMCA0OCw0OCA5Niw0OCA5Niw5NiAwLDk2IiAvPjwvY2xpcFBhdGg PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjb3JuZXIpIj48Y2lyY2xlIGN4PSI0OCIgY3k9IjQ4IiByPSIzMiIvPjwvZz48L3N2Zz4=');background-position: center;background-repeat: no-repeat;background-size: 1.875rem;content: '';display: block;height: 1.875rem;left: 50%;margin: -0.9375rem 0 0 -0.9375rem;opacity: 0;pointer-events: none;position: absolute;top: 50%;transition: opacity 0.25s ease;transition-delay: 0s;width: 1.875rem;}#form01 .actions button.waiting {color: transparent;}#form01 .actions button.waiting svg {fill: transparent;}#form01 .actions button.waiting:before {opacity: 1.0;transition-delay: 0.125s;}#form01 ::-webkit-input-placeholder {color: #4D3E5C;opacity: 0.55;}#form01 :-moz-placeholder {color: #4D3E5C;opacity: 0.55;}#form01 ::-moz-placeholder {color: #4D3E5C;opacity: 0.55;}#form01 :-ms-input-placeholder {color: #4D3E5C;opacity: 0.55;}#form01 .file[data-filename=""]:before {color: #4D3E5C;opacity: 0.55;}#form01 .date[data-value=""]:before {color: #4D3E5C;opacity: 0.55;}#form01 input[name="site-url"] {display: none;}@media (max-width: 1920px) {}@media (max-width: 1680px) {html {font-size: 13pt;}}@media (max-width: 1280px) {html {font-size: 13pt;}#slideshow01 .bg > .slow {animation-duration: 45s;}#slideshow01 .bg > .normal {animation-duration: 33.75s;}#slideshow01 .bg > .fast {animation-duration: 22.5s;}}@media (max-width: 1024px) {}@media (max-width: 980px) {html {font-size: 11pt;}}@media (max-width: 736px) {html {font-size: 11pt;}#main > .inner {--padding-horizontal: 2rem;--padding-vertical: 3rem;--spacing: 0rem;}h1.style1, h2.style1, h3.style1, p.style1 {letter-spacing: 0rem;width: 100%;font-size: 2.75em;line-height: 1.125;}h1.style2, h2.style2, h3.style2, p.style2 {letter-spacing: 0rem;width: 100%;font-size: 1.375em;line-height: 1.875;}hr.style2:not(:first-child) {margin-top: 0rem !important;}hr.style2:not(:last-child) {margin-bottom: 0rem !important;}hr.style2:before {height: 2rem;}.container.style1 {min-height: 11.25rem;}.container.style1:not(:first-child) {margin-top: 0rem !important;}.container.style1:not(:last-child) {margin-bottom: 0rem !important;}.container.style1 > .wrapper > .inner {--gutters: 4rem;--padding-horizontal: 2rem;--padding-vertical: 2.5rem;--spacing: 2rem;}.container.style1.columns > .wrapper > .inner {flex-direction: column !important;flex-wrap: nowrap !important;}.container.style1.columns > .wrapper > .inner > span {height: 0;margin-top: calc(var(--gutters) * -1);pointer-events: none;visibility: hidden;}.container.style1.columns > .wrapper > .inner > *:first-child {margin-left: 0 !important;padding-top: 0 !important;}.container.style1.columns > .wrapper > .inner > * {padding: calc(var(--gutters) * 0.5) 0 !important;}.container.style1.columns > .wrapper > .inner > *:last-child {padding-bottom: 0 !important;}.container.style1.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% (var(--padding-horizontal) * 2) 0.4725px);}.container.style1.columns > .wrapper > .inner > div:first-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% (var(--padding-horizontal) * 2) 0.4725px);}.container.style1.columns > .wrapper > .inner > div:last-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% (var(--padding-horizontal) * 2) 0.4725px);}.container.style1.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--gutters) * -0.5) !important;}.container.style1.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--gutters) * -0.5) !important;}.container.style1.columns > .wrapper > .inner > div:first-of-type > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > div:last-of-type > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > div:first-of-type, .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:first-child {border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > div:last-of-type, .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > div:first-of-type, .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:last-child {border-bottom-left-radius: 0 !important;}.container.style1.columns > .wrapper > .inner > div:last-of-type, .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:first-child {border-top-right-radius: 0 !important;}.container.style1.columns > .wrapper > .inner > .full {min-height: 11.25rem;}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child {height: auto;}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {height: auto;position: relative;width: auto;}#slideshow01 .bg {width: 31.625rem;height: 24.875rem !important;}#slideshow01 .bg > .slow {animation-duration: 30s;}#slideshow01 .bg > .normal {animation-duration: 22.5s;}#slideshow01 .bg > .fast {animation-duration: 15s;}.image.style3:not(:first-child) {margin-top: 0rem !important;}.image.style3:not(:last-child) {margin-bottom: 0rem !important;}.image.style3 .frame {width: 8rem;}.icons.style1 {font-size: 1.875em;gap: 1.5rem;}#form01 label:first-child {font-size: 1.375em;line-height: 1.5;letter-spacing: 0rem;}#form01 input[type="text"], #form01 input[type="email"], #form01 input[type="tel"], #form01 input[type="number"], #form01 textarea, #form01 select, #form01 .file, #form01 .date {font-size: 1.375em;letter-spacing: 0rem;}#form01 textarea {line-height: 1.875;padding-top: 0.546875rem;}#form01 input[type="checkbox"] label, #form01 p {font-size: 1.375em;line-height: 1.875;letter-spacing: 0rem;}#form01 .actions button {font-size: 1.375em;letter-spacing: 0rem;}}@media (max-width: 480px) {#main > .inner {--spacing: 0rem;}.container.style1 > .wrapper > .inner {--spacing: 1.75rem;}#form01 .actions button {max-width: 32rem;width: 100%;}}@media (max-width: 360px) {#main > .inner {--padding-horizontal: 1.5rem;--padding-vertical: 2.25rem;--spacing: 0rem;}h1.style1, h2.style1, h3.style1, p.style1 {font-size: 2.75em;}h1.style2, h2.style2, h3.style2, p.style2 {font-size: 1.375em;}.container.style1 > .wrapper > .inner {--gutters: 4rem;--padding-horizontal: 1.5rem;--padding-vertical: 1.875rem;--spacing: 1.5rem;}.container.style1 {min-height: 7.5rem;}.container.style1.columns > .wrapper > .inner > .full {min-height: 7.5rem;}.icons.style1 {gap: 1.125rem;}}

🤪 Meme Search

Tired of hunting through obscure filenames for that perfect meme?

Meme Search indexes your memes by their visual content and text, making them easily searchable and retrievable via text search 😍.

Meme Search puts the perfect meme at your fingertips.


Try the App Right Here!

Imagine these were your memes 👇.

Try typing in a few words that describes what you see in one of the memes above! Then press enter. (e.g., try "both capsules").

(the text description of each image is generated automatically!)


Ideas or bugs?

Have ideas for improvements or new features? A bug to report? Send me a message below!


How does it work?

Step 1: download memes
Step 2: index those memes using this app!
Step 3: recover any of your memes via natural language

The app indexes images / memes by extracting their text descriptions, embedding those descriptions as vectors, and indexing them in a vector database.


Where can I get the app?

The app's completely open source, and built with ❤️ and 🤪.

Learn more by visiting the app's github repo.

Give it a try on your own stash of memes! Upgrade your meme warefare game today with Meme Search!


Who created it?

Hi, I'm Jeremy!
I'm a bald guy on the internet who likes to build apps like this.

Connect with me on social!