Help
RSS
API
Feed
Maltego
Contact
Domain > fuckingmagicalrussian.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-03
104.16.46.231
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Tue, 03 Feb 2026 17:00:54 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflarecc-request-id: d2acee3fbc2722ed69fd6585ef56e70dcc-stable-domain: slick-abyss.cloudvent.netcc-build-id: 20852233cc-resolver: v2access-control-allow-origin: *Cache-Control: s-maxage2419200, max-age0, must-revalidate, publiclast-modified: Wed Nov 19 2025 20:35:20 GMT+0000 (Coordinated Universal Time)cc-request-type: readcc-cache-group: defaultcc-perf: site-load25;t25vary: Accept-EncodingCF-Cache-Status: HITAge: 962745cc-cache-status: HITx-request-id: 555f6932abf21e0f8254d09e1f8a3658CF-RAY: 9c837cba7857ff16-PDXalt-svc: h3:443; ma86400 !doctype html>html langen data-critters-container> head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width> !-- Preload self-hosted fonts --> link relpreload href/assets/fonts/Poppins-400.ttf asfont typefont/ttf crossorigin> link relpreload href/assets/fonts/Poppins-600.ttf asfont typefont/ttf crossorigin> link relpreload href/assets/fonts/CairoPlay-900.ttf asfont typefont/ttf crossorigin> !-- Add TailwindCSS --> link relpreload href/assets/styles/tailwind.css asstyle> style>*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}small{font-size:80%}button,input,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:transparent;background-image:none}h1,h2,p{margin:0}ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}svg{display:block;vertical-align:middle}.flex{display:flex}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-8{gap:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-\48px\{padding-top:48px;padding-bottom:48px}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}}@media all, bookshop{.campos-links{padding-block:clamp(2.5rem, 6vw, 4.5rem);padding-inline:var(--pagePadding, 2rem)}@media (max-width: 414px){.campos-links{padding-inline:0.75rem}}.campos-links__outer{max-width:var(--pageContainer, 1280px);margin-inline:auto}.campos-links__card{border-radius:18px;padding:clamp(1.5rem, 3vw, 2.75rem);background:linear-gradient(135deg, rgba(255, 255, 255, 0.9), #ffffff);border:1px solid rgba(15, 23, 42, 0.08);box-shadow:0 30px 80px rgba(15, 23, 42, 0.12);display:flex;flex-direction:column;gap:clamp(1.5rem, 3vw, 2rem)}.campos-links__intro{display:flex;flex-direction:column;gap:1rem}.campos-links__eyebrow{font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:#475569;margin:0}.campos-links__heading{font-size:clamp(2rem, 4vw, 2.75rem);font-weight:700;margin:0}.campos-links__description{font-size:1.05rem;line-height:1.7;margin:0}.campos-links__list{display:flex;flex-direction:column;gap:0.75rem}.campos-links__link{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-radius:12px;background-color:rgba(15, 23, 42, 0.04);border:1px solid rgba(148, 163, 184, 0.4);text-decoration:none;color:#0f172a;font-weight:600;font-size:1rem;transition:all 0.2s ease;gap:1rem}.campos-links__link:hover{background-color:rgba(15, 23, 42, 0.08);border-color:rgba(148, 163, 184, 0.6);transform:translateX(4px);box-shadow:0 4px 12px rgba(15, 23, 42, 0.1)}.campos-links__link:active{transform:translateX(2px)}.campos-links__link-label{flex:1;font-size:1rem}.campos-links__link-icon{flex-shrink:0;opacity:0.6;transition:opacity 0.2s ease, transform 0.2s ease}.campos-links__link:hover .campos-links__link-icon{opacity:1;transform:translateX(2px)}.countdown{padding-block:clamp(3rem, 6vw, 4.5rem);padding-inline:var(--pagePadding, 2rem)}@media (max-width: 414px){.countdown{padding-inline:0.75rem}}.countdown__outer{max-width:var(--pageContainer, 1280px);margin-inline:auto}.countdown__card{border-radius:18px;padding:clamp(1.5rem, 3vw, 2.75rem);background:linear-gradient(135deg, rgba(255, 255, 255, 0.9), #ffffff);border:1px solid rgba(15, 23, 42, 0.08);box-shadow:0 30px 80px rgba(15, 23, 42, 0.12);display:grid;gap:clamp(1.5rem, 3vw, 2rem);align-items:center}@media (min-width: 960px){.countdown__card{grid-template-columns:repeat(2, minmax(0, 1fr))}}.countdown__intro{display:flex;flex-direction:column;gap:1rem}.countdown__eyebrow{text-transform:uppercase;letter-spacing:0.25em;font-size:0.78rem;color:#94a3b8;margin:0}.countdown__heading{margin:0;font-size:clamp(2rem, 4vw, 3rem)}.countdown__description{margin:0;font-size:1.05rem;line-height:1.7}.countdown__timer{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:1rem;align-items:stretch}@media (max-width: 600px){.countdown__timer{grid-template-columns:repeat(2, minmax(0, 1fr))}}.countdown__unit{text-align:center;display:flex;flex-direction:column;gap:0.35rem;padding:1rem;border-radius:14px;background-color:rgba(15, 23, 42, 0.03);border:1px solid rgba(15, 23, 42, 0.05)}.countdown__value{font-size:clamp(2.4rem, 5vw, 3.5rem);font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.countdown__label{text-transform:uppercase;letter-spacing:0.2em;font-size:0.8rem;color:#94a3b8}.countdown__timezone{margin:0;font-size:0.9rem;color:#94a3b8}.event-details{padding-block:clamp(2.5rem, 6vw, 4.5rem);padding-inline:var(--pagePadding, 2rem)}.event-details__container{max-width:var(--pageContainer, 1280px);margin-inline:auto;display:grid;gap:clamp(1.5rem, 4vw, 2.5rem);align-items:center}@media (min-width: 900px){.event-details__container{grid-template-columns:repeat(2, minmax(0, 1fr))}}.event-details__info{display:flex;flex-direction:column;gap:1rem}.event-details__eyebrow{font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:#475569}.event-details__heading{font-size:clamp(2rem, 4vw, 2.75rem);margin:0}.event-details__description{font-size:1.05rem;line-height:1.7;margin:0}.event-details__list{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:1rem}.event-details__list-item{padding:1rem;border-radius:12px;background-color:rgba(15, 23, 42, 0.04);border:1px solid rgba(148, 163, 184, 0.4)}.event-details__label{text-transform:uppercase;letter-spacing:0.2em;font-size:0.75rem;color:#64748b;margin-bottom:0.35rem}.event-details__value{font-size:1.05rem;font-weight:600;color:#0f172a}.event-details__actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:0.75rem;width:100%}@media (min-width: 640px){.event-details__actions{flex-direction:row;gap:1rem}}.event-details__action-button{padding:0.85rem 1.5rem;border-radius:6px;background-color:#000000;color:#ffffff;text-decoration:none;font-weight:600;font-size:0.95rem;letter-spacing:0.05em;transition:transform 0.2s ease, box-shadow 0.2s ease;display:block;text-align:center;width:100%}@media (min-width: 640px){.event-details__action-button{flex:1;width:auto}}.event-details__action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);color:#ffffff}.event-details__action-button:active{transform:translateY(0)}.event-details__map-frame{border-radius:16px;overflow:hidden;box-shadow:0 25px 60px rgba(15, 23, 42, 0.15);border:1px solid rgba(15, 23, 42, 0.1)}.event-details__map-frame .event-details__map-canvas{width:100%;height:280px}@media (min-width: 900px){.event-details__map-frame .event-details__map-canvas{height:420px}}@media (max-width: 640px){.event-details__info{text-align:center}.event-details__list{grid-template-columns:1fr}}@media (max-width: 414px){.event-details{padding-inline:0.75rem}}.rsvp-form-section{padding-block:48px;padding-inline:var(--pagePadding, 2rem)}.rsvp-form-shell{max-width:var(--pageContainer, 1280px);margin-inline:auto}.rsvp-form-card{display:grid;gap:clamp(1.5rem, 4vw, 2.5rem);border-radius:18px;padding:clamp(1.5rem, 3vw, 2.75rem);border:1px solid rgba(15, 23, 42, 0.1);box-shadow:0 30px 80px rgba(15, 23, 42, 0.12);background:linear-gradient(135deg, rgba(255, 255, 255, 0.9), #ffffff)}@media (min-width: 900px){.rsvp-form-card{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);align-items:center}}.rsvp-form-info{display:flex;flex-direction:column;gap:1rem}.rsvp-form-eyebrow{text-transform:uppercase;letter-spacing:0.25em;font-size:0.78rem;color:#64748b;margin:0}.rsvp-form-heading{font-size:clamp(2rem, 4vw, 2.75rem);font-weight:700;margin:0}.rsvp-form-description{font-size:1.05rem;line-height:1.7;margin:0}.rsvp-form-highlights{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.4rem;font-size:0.95rem;color:#475569}.rsvp-form-highlights li{display:flex;gap:0.5rem;align-items:flex-start}.rsvp-form-highlights li span{color:#0f172a;font-weight:700;line-height:1.4}.rsvp-form{display:flex;flex-direction:column;gap:1.25rem;background-color:rgba(255, 255, 255, 0.9);padding:clamp(1.25rem, 3vw, 2.5rem);border-radius:16px;border:1px solid rgba(148, 163, 184, 0.4);backdrop-filter:blur(4px)}.form-group{display:flex;flex-direction:column;gap:0.5rem}.form-group label{font-weight:600;font-size:0.95rem;margin-bottom:0.25rem}.form-input,.form-select,.form-textarea{width:100%;padding:0.85rem 1rem;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color 0.2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#034AD8;box-shadow:0 0 0 3px rgba(3, 74, 216, 0.1)}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{color:#94a3b8}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:#94a3b8}.form-select{cursor:pointer;background-color:#ffffff;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml,%3Csvg xmlnshttp://www.w3.org/2000/svg width12 height12 viewBox0 0 12 12%3E%3Cpath fill%23393939 dM6 9L1 4h10z/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-textarea{resize:vertical;min-height:100px}.form-help-text{font-size:0.875rem;margin-top:-0.25rem}.form-group--turnstile{display:flex;justify-content:center;align-items:center;margin:0.5rem 0}.form-group--turnstile .cf-turnstile{display:inline-block;margin:0 auto}.rsvp-submit-button{padding:1rem 2rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease;margin-top:0.5rem}.rsvp-submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.rsvp-submit-button:active{transform:translateY(0)}.rsvp-submit-button:focus{outline:none;box-shadow:0 0 0 3px rgba(3, 74, 216, 0.3)}@media (max-width: 899px){.rsvp-form-card{grid-template-columns:1fr}.rsvp-form-info{text-align:center}.rsvp-form-highlights li{justify-content:center}}@media (max-width: 480px){.form-input,.form-select,.form-textarea{padding:0.7rem 0.85rem}.rsvp-submit-button{width:100%}}@media (max-width: 414px){.rsvp-form-section{padding-block:32px;padding-inline:0.75rem}.rsvp-form-card{padding:1rem;border-radius:12px;gap:1rem}.rsvp-form{padding:0;border:none;background-color:transparent;backdrop-filter:none;border-radius:0;gap:1rem}.form-group{gap:0.35rem}.form-group label{font-size:0.9rem;margin-bottom:0}.form-input,.form-select,.form-textarea{padding:0.75rem 0.875rem;border-width:1.5px;font-size:16px}.form-textarea{min-height:80px}.rsvp-submit-button{padding:0.875rem 1.5rem;margin-top:0.25rem}}}:root{--pageContainer:1280px;--pagePadding:2rem;--brandDark:#0f172a;--textPrimary:#475569;--textSecondary:#94a3b8;--surface:#ffffff;--surfaceMuted:#f8fafc;--accent:#dc2626}.markdown-text p{font-weight:300;letter-spacing:0.5px;line-height:1.75rem}.markdown-text p{margin-bottom:1.5rem}.header{width:100%;overflow-x:hidden;padding-inline:var(--pagePadding, 2rem)}.header__container{max-width:var(--pageContainer, 1280px);width:100%;margin-left:auto;margin-right:auto;position:relative}.header li{list-style-type:none}.header__nav{display:flex;justify-content:space-between;align-items:center;padding-block:1rem;gap:1rem}.header__logo-link{display:inline-flex;align-items:center;flex-shrink:0;min-width:0}.header__logo-text{display:inline-block;font-family:Cairo Play, Poppins, Helvetica Neue, Arial, sans-serif;font-size:clamp(0.95rem, 3.5vw, 2.1rem);font-weight:900;letter-spacing:0.025em;line-height:1;color:inherit;text-decoration:none;white-space:nowrap;font-size-adjust:0.7}.header__nav-links{display:none}@media screen and (min-width: 850px){.header__nav-links{display:flex;flex-direction:row;gap:1rem}}@media screen and (max-width: 414px){.header__nav{gap:0.75rem}.header__logo-link{flex:1;min-width:0;max-width:calc(100% - 40px)}.header__logo-text{font-size:clamp(0.75rem, 4vw, 1.5rem);letter-spacing:0.015em}.header__hamburger{flex-shrink:0;margin-left:auto}}.header__nav-link{cursor:pointer;color:inherit;text-decoration:inherit}.header__nav-link:hover{color:#034ad8}.header__nav-link--button{padding:0.875rem 1.5rem;background-color:#000000;color:#ffffff;border-radius:6px;font-weight:600;transition:transform 0.2s ease, box-shadow 0.2s ease;display:inline-block}.header__nav-link--button:hover{color:#ffffff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.header__nav-link--button:active{transform:translateY(0)}@media screen and (min-width: 850px){.header__nav-item{padding-left:1rem}}.header__hamburger{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10;flex-shrink:0}@media screen and (min-width: 850px){.header__hamburger{display:none}}.header__hamburger-line{width:24px;height:2px;background-color:currentColor;border-radius:2px;transition:all 0.3s ease;transform-origin:center}.header__hamburger-line:nth-child(1){transform:translateY(0)}.header__hamburger-line:nth-child(2){opacity:1}.header__hamburger-line:nth-child(3){transform:translateY(0)}.header__mobile-menu{width:100%;background-color:#ffffff}.header__mobile-nav-links{list-style:none;margin:0;padding:1rem var(--pagePadding);display:flex;flex-direction:column;gap:0.75rem}.header__mobile-nav-item{margin:0}.header__mobile-nav-link{display:block;padding:0.75rem 1rem;color:#393939;text-decoration:none;font-weight:500;transition:opacity 0.2s ease}.header__mobile-nav-link:hover{opacity:0.7}.header__mobile-nav-link--button{background-color:#000000;color:#ffffff;text-align:center;font-weight:600;border-radius:6px;margin-top:0.5rem}.header__mobile-nav-link--button:hover{background-color:#1a1a1a;color:#ffffff;opacity:1}.footer{max-width:var(--pageContainer);margin:0 auto}.footer a{color:inherit}.footer__logo-link{text-decoration:none}.footer__logo-text{display:inline-block;font-family:Cairo Play, Poppins, Helvetica Neue, Arial, sans-serif;font-size:clamp(0.95rem, 3.5vw, 2.1rem);font-weight:900;letter-spacing:0.025em;line-height:1;color:inherit;white-space:nowrap;max-width:min(100%, 95vw)}@media screen and (max-width: 480px){.footer__logo-text{font-size:clamp(0.95rem, 5.5vw, 1.8rem);letter-spacing:0.02em}}.footer__link{text-decoration:none;font-size:0.95rem;font-weight:600;transition:opacity 0.2s ease}.footer__link:hover{opacity:0.8}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Poppins-400.ttf) format(truetype)}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/Poppins-600.ttf) format(truetype)}@font-face{font-family:Cairo Play;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/CairoPlay-900.ttf) format(truetype)}*{margin:0;padding:0;box-sizing:border-box}html{font-family:Poppins, sans-serif;overflow-y:scroll;scrollbar-gutter:stable}x-cloak{display:none !important}body{font-size:1rem;line-height:1.65;color:var(--textPrimary);background-color:var(--surfaceMuted);font-size-adjust:0.52}h1,h2{color:var(--brandDark);font-weight:700;line-height:1.2}p,li{color:var(--textPrimary)}a{color:var(--brandDark)}main{min-height:auto}:root{--fa-style-family-brands:Font Awesome 6 Brands;--fa-font-brands:normal 400 1em/1 Font Awesome 6 Brands}@font-face{font-family:Font Awesome 6 Brands;font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(woff2),url(../webfonts/fa-brands-400.ttf) format(truetype)}:root{--fa-font-regular:normal 400 1em/1 Font Awesome 6 Free}@font-face{font-family:Font Awesome 6 Free;font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(woff2),url(../webfonts/fa-regular-400.ttf) format(truetype)}:root{--fa-style-family-classic:Font Awesome 6 Free;--fa-font-solid:normal 900 1em/1 Font Awesome 6 Free}@font-face{font-family:Font Awesome 6 Free;font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(woff2),url(../webfonts/fa-solid-900.ttf) format(truetype)}:root{--fa-style-family-brands:Font Awesome 6 Brands;--fa-font-brands:normal 400 1em/1 Font Awesome 6 Brands}@font-face{font-family:Font Awesome 6 Brands;font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(woff2),url(../webfonts/fa-brands-400.ttf) format(truetype)}:root{--fa-font-regular:normal 400 1em/1 Font Awesome 6 Free}@font-face{font-family:Font Awesome 6 Free;font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(woff2),url(../webfonts/fa-regular-400.ttf) format(truetype)}:root{--fa-style-family-classic:Font Awesome 6 Free;--fa-font-solid:normal 900 1em/1 Font Awesome 6 Free}@font-face{font-family:Font Awesome 6 Free;font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(woff2),url(../webfonts/fa-solid-900.ttf) format(truetype)}/style>link relstylesheet href/assets/styles/tailwind.css mediaprint onloadthis.mediaall>noscript>link relstylesheet href/assets/styles/tailwind.css mediaprint onloadthis.mediaall>/noscript> !-- Add component styles --> link relpreload href/assets/styles/bookshop.css asstyle> link relstylesheet href/assets/styles/bookshop.css mediaprint onloadthis.mediaall>noscript>link relstylesheet href/assets/styles/bookshop.css mediaprint onloadthis.mediaall>/noscript> !-- Add general styles --> link relpreload href/assets/styles/main.css asstyle> link relstylesheet href/assets/styles/main.css mediaprint onloadthis.mediaall>noscript>link relstylesheet href/assets/styles/main.css mediaprint onloadthis.mediaall>/noscript> !-- Add SEO --> title>RSVP for My 40th Birthday Party | Fucking Magical Russian/title> meta namedescription contentRSVP for My 40th Birthday Party in Mallorca, Balearic Islands, Spain> meta propertyog:description contentRSVP for My 40th Birthday Party in Mallorca, Balearic Islands, Spain>link relshortcut icon href/assets/images/favicon.png typeimage/x-icon>link relicon href/assets/images/favicon.png typeimage/x-icon>meta nametwitter:card contentsummary_large_image> meta propertyog:type contentwebsite>meta nameog:title contentRSVP for My 40th Birthday Party | Fucking Magical Russian>meta nametwitter:title contentRSVP for My 40th Birthday Party | Fucking Magical Russian> meta nametwitter:site content> meta nametwitter:site content> meta nameog:image content> meta nametwitter:image content> meta nametwitter:image:alt contentFriends celebrating a birthday party> link relcanonical hrefhttps://fuckingmagicalrussian.com//> meta propertyog:url contenthttps://fuckingmagicalrussian.com//> !-- Preconnect to Cloudflare Turnstile for performance --> link relpreconnect hrefhttps://challenges.cloudflare.com> link reldns-prefetch hrefhttps://challenges.cloudflare.com> !-- Preconnect to Google Maps API --> link relpreconnect hrefhttps://maps.googleapis.com> link reldns-prefetch hrefhttps://maps.googleapis.com> !-- Add Alpine --> script defer srchttps://cdn.jsdelivr.net/npm/alpinejs@3.14.1/dist/cdn.min.js>/script> !-- Add Cloudflare Turnstile --> script srchttps://challenges.cloudflare.com/turnstile/v0/api.js async defer>/script> !-- Add FontAwesome Icons --> link relpreload href/node_modules/@fortawesome/fontawesome-free/css/all.min.css asstyle> link relstylesheet href/node_modules/@fortawesome/fontawesome-free/css/all.min.css mediaprint onloadthis.mediaprint>noscript>link relstylesheet href/node_modules/@fortawesome/fontawesome-free/css/all.min.css mediaprint onloadthis.mediaprint>/noscript> noscript>link relstylesheet href/node_modules/@fortawesome/fontawesome-free/css/all.min.css mediaprint onloadthis.mediaall>noscript>link relstylesheet href/node_modules/@fortawesome/fontawesome-free/css/all.min.css mediaprint onloadthis.mediaall>/noscript>/noscript> /head> body> header classheader stylebackground-color: #ffffff; color: #393939 x-data{ mobileMenuOpen: false }> div classheader__container> nav classheader__nav> a classheader__logo-link href/> span classheader__logo-text>Fucking Magical Russian/span> /a> ul classheader__nav-links> li classheader__nav-item> a classheader__nav-link header__nav-link--button href/#rsvp> RSVP /a> /li> li classheader__nav-item> a classheader__nav-link header__nav-link--button href/where-to-stay/#accommodations> Where to Stay /a> /li> /ul> button classheader__hamburger @clickmobileMenuOpen !mobileMenuOpen aria-labelToggle menu aria-expandedfalse :aria-expandedmobileMenuOpen> span classheader__hamburger-line :class{ header__hamburger-line--open: mobileMenuOpen }>/span> span classheader__hamburger-line :class{ header__hamburger-line--open: mobileMenuOpen }>/span> span classheader__hamburger-line :class{ header__hamburger-line--open: mobileMenuOpen }>/span> /button> /nav> div classheader__mobile-menu x-showmobileMenuOpen x-cloak x-transition:entertransition ease-out duration-200 x-transition:enter-startopacity-0 transform -translate-y-2 x-transition:enter-endopacity-100 transform translate-y-0 x-transition:leavetransition ease-in duration-150 x-transition:leave-startopacity-100 transform translate-y-0 x-transition:leave-endopacity-0 transform -translate-y-2 @click.awaymobileMenuOpen false> ul classheader__mobile-nav-links> li classheader__mobile-nav-item> a classheader__mobile-nav-link header__mobile-nav-link--button href/#rsvp @clickmobileMenuOpen false> RSVP /a> /li> li classheader__mobile-nav-item> a classheader__mobile-nav-link header__mobile-nav-link--button href/where-to-stay/#accommodations @clickmobileMenuOpen false> Where to Stay /a> /li> /ul> /div> /div>/header> main idmain> !--bookshop-live meta(version: 3.16.5 ) -->!--bookshop-live name(page) params(content_blocks: content_blocks) context() -->div> !--bookshop-live name(event-details) params(bind: block) context(block: content_blocks0) -->section classevent-details stylebackground-color: #ffffff;> div classevent-details__container> div classevent-details__info> p classevent-details__eyebrow>Trip Information/p> h1 classevent-details__heading stylecolor: #0f172a;> Mallorca Birthday Escape /h1> p classevent-details__description stylecolor: #475569;> Sun, sea, tapas, a solar eclipse, and one legendary 40th. The birthday boy is staying in Campos, an inland town in the south/southeast region of Mallorca, close to the coast and beaches like the famous Es Trenc. Book your flights and meet us on the island. /p> div classevent-details__list> div classevent-details__list-item> p classevent-details__label>Location/p> p classevent-details__value>Campos, Mallorca, Balearic Islands, Spain/p> /div> div classevent-details__list-item> p classevent-details__label>Dates/p> p classevent-details__value>August 9 — August 13, 2026/p> /div> div classevent-details__list-item> p classevent-details__label>Birthday/p> p classevent-details__value>Birthday Dinner: August 11, 2026/p> /div> /div> div classevent-details__actions> a classevent-details__action-button event-details__action-button--map hrefhttps://www.google.com/maps?qCampos,+Mallorca,+Spain target_blank relnoopener> View on Google Maps /a> a href# classevent-details__action-button event-details__action-button--google data-calendar-typegoogle data-titleAleksey's Mallorca Birthday Escape data-descriptionAleksey is turning 40 on August 11, 2026! Join us for sun, sea, tapas, a solar eclipse, and one legendary 40th. The birthday boy is staying in Campos, an inland town in the south/southeast region of Mallorca, close to the coast and beaches like the famous Es Trenc. data-locationCampos, Mallorca, Balearic Islands, Spain data-start-date2026-08-09 data-end-date2026-08-13 data-website-urlhttps://fuckingmagicalrussian.com/> Add to Google Calendar /a> a href# classevent-details__action-button event-details__action-button--apple data-calendar-typeapple data-titleAleksey's Mallorca Birthday Escape data-descriptionAleksey is turning 40 on August 11, 2026! Join us for sun, sea, tapas, a solar eclipse, and one legendary 40th. The birthday boy is staying in Campos, an inland town in the south/southeast region of Mallorca, close to the coast and beaches like the famous Es Trenc. data-locationCampos, Mallorca, Balearic Islands, Spain data-start-date2026-08-09 data-end-date2026-08-13 data-website-urlhttps://fuckingmagicalrussian.com/> Add to Apple Calendar /a> /div> /div> div classevent-details__map> div classevent-details__map-frame> div classevent-details__map-canvas js-event-details-map data-lat39.43 data-lng3.02 data-zoom10 data-style{"featureType":"water","elementType":"geometry","stylers":{"color":"#e9e9e9"},{"lightness":17}},{"featureType":"landscape","elementType":"geometry","stylers":{"color":"#f5f5f5"},{"lightness":20}},{"featureType":"road.highway","elementType":"geometry.fill","stylers":{"color":"#ffffff"},{"lightness":17}},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":{"color":"#ffffff"},{"lightness":29},{"weight":0.2}},{"featureType":"road.arterial","elementType":"geometry","stylers":{"color":"#ffffff"},{"lightness":18}},{"featureType":"road.local","elementType":"geometry","stylers":{"color":"#ffffff"},{"lightness":16}},{"featureType":"poi","elementType":"geometry","stylers":{"color":"#f5f5f5"},{"lightness":21}},{"featureType":"poi.park","elementType":"geometry","stylers":{"color":"#dedede"},{"lightness":21}},{"elementType":"labels.text.stroke","stylers":{"visibility":"on"},{"color":"#ffffff"},{"lightness":16}},{"elementType":"labels.text.fill","stylers":{"saturation":36},{"color":"#333333"},{"lightness":40}},{"elementType":"labels.icon","stylers":{"visibility":"off"}},{"featureType":"transit","elementType":"geometry","stylers":{"color":"#f2f2f2"},{"lightness":19}},{"featureType":"administrative","elementType":"geometry.fill","stylers":{"color":"#fefefe"},{"lightness":20}},{"featureType":"administrative","elementType":"geometry.stroke","stylers":{"color":"#fefefe"},{"lightness":17},{"weight":1.2}}>/div> /div> script> (function () { const initEventDetailsMaps function () { document.querySelectorAll(.js-event-details-map).forEach(function (el) { if (el.dataset.initialized true) return; const lat parseFloat(el.dataset.lat) || 0; const lng parseFloat(el.dataset.lng) || 0; const zoom parseInt(el.dataset.zoom || 10, 10); let styles ; try { styles JSON.parse(el.dataset.style); } catch (e) {} // When using custom styles (Snazzy Maps), we cant use mapId with AdvancedMarkerElement // So well use classic Marker when styles are present, or AdvancedMarkerElement without mapId const hasCustomStyles styles && styles.length > 0; const useAdvancedMarker google.maps.marker && google.maps.marker.AdvancedMarkerElement && !hasCustomStyles; const mapOptions { center: { lat, lng }, zoom: zoom, disableDefaultUI: true, zoomControl: true, gestureHandling: cooperative, }; // Only add styles if were not using AdvancedMarkerElement with mapId if (!useAdvancedMarker && styles && styles.length > 0) { mapOptions.styles styles; } // AdvancedMarkerElement can work without mapId, but mapId is recommended for production // We skip mapId when we have custom styles to avoid conflicts if (useAdvancedMarker && !hasCustomStyles) { mapOptions.mapId DEMO_MAP_ID; } const map new google.maps.Map(el, mapOptions); // Add marker for Campos if (useAdvancedMarker) { new google.maps.marker.AdvancedMarkerElement({ position: { lat, lng }, map: map, title: Campos, Mallorca, }); } else { // Use classic Marker when we have custom styles (Snazzy Maps) // This avoids the mapId/styles conflict new google.maps.Marker({ position: { lat, lng }, map: map, title: Campos, Mallorca, }); } el.dataset.initialized true; }); }; window.initEventDetailsMaps initEventDetailsMaps; if (!window.eventDetailsMapScriptLoaded) { window.eventDetailsMapScriptLoaded true; const script document.createElement(script); script.src https://maps.googleapis.com/maps/api/js?keyAIzaSyC3CM94eksqd_9YZYvU1PJhUUhu2tj3p70&callbackinitEventDetailsMaps&loadingasync&librariesmarker; script.async true; script.defer true; document.head.appendChild(script); } else if (window.google && window.google.maps) { initEventDetailsMaps(); } })(); /script> /div> /div>/section>script> (function () { if (window.__eventDetailsMapLoader) return; window.__eventDetailsMapLoader true; const initLazyMaps function () { const entries document.querySelectorAll(.event-details__map-lazy); entries.forEach(function (wrapper) { if (wrapper.dataset.loaded true) return; const src wrapper.dataset.mapSrc; if (!src) return; const iframe document.createElement(iframe); iframe.setAttribute(title, Map showing Campos, Mallorca, Balearic Islands, Spain); iframe.setAttribute(loading, lazy); iframe.setAttribute(referrerpolicy, no-referrer-when-downgrade); iframe.setAttribute(allowfullscreen, ); iframe.src src; wrapper.innerHTML ; wrapper.appendChild(iframe); wrapper.dataset.loaded true; // Prevent single-touch scrolling on mobile - require two fingers to interact with map if (window.matchMedia((max-width: 768px)).matches) { let touchStartTouches 0; wrapper.addEventListener(touchstart, function(e) { touchStartTouches e.touches.length; // Allow two-finger gestures (pinch zoom) if (e.touches.length 1) { e.preventDefault(); } }, { passive: false }); wrapper.addEventListener(touchmove, function(e) { // Only allow if it started with two touches (pinch gesture) if (touchStartTouches 1) { e.preventDefault(); } }, { passive: false }); } }); }; if (IntersectionObserver in window) { const observer new IntersectionObserver(function (entries, obs) { entries.forEach(function (entry) { if (entry.isIntersecting) { initLazyMaps(); obs.disconnect(); } }); }); document.querySelectorAll(.event-details__map-lazy).forEach(function (wrapper) { observer.observe(wrapper); }); } else { window.addEventListener(load, initLazyMaps); } })(); // Calendar functionality (function() { function formatDateForICS(date) { // For all-day events, use DATE format (YYYYMMDD) instead of DATE-TIME const year date.getUTCFullYear(); const month String(date.getUTCMonth() + 1).padStart(2, 0); const day String(date.getUTCDate()).padStart(2, 0); return `${year}${month}${day}`; } function formatDateForGoogle(date) { // Google Calendar all-day events use YYYYMMDD format const year date.getUTCFullYear(); const month String(date.getUTCMonth() + 1).padStart(2, 0); const day String(date.getUTCDate()).padStart(2, 0); return `${year}${month}${day}`; } function escapeICS(text) { if (!text) return ; return String(text) .replace(/\\/g, \\\\) .replace(/;/g, \\;) .replace(/,/g, \\,) .replace(/\n/g, \\n); } function generateICS(title, description, location, startDate, endDate, websiteUrl) { // For all-day events, end date should be the day after (exclusive) const endDateExclusive new Date(endDate); endDateExclusive.setUTCDate(endDateExclusive.getUTCDate() + 1); // Calculate reminder dates (at 9 AM local time, which is 7 AM UTC for Mallorca in August) const reminder3Months new Date(startDate); reminder3Months.setUTCMonth(reminder3Months.getUTCMonth() - 3); reminder3Months.setUTCHours(7, 0, 0, 0); const reminder1Month new Date(startDate); reminder1Month.setUTCMonth(reminder1Month.getUTCMonth() - 1); reminder1Month.setUTCHours(7, 0, 0, 0); const reminder1Week new Date(startDate); reminder1Week.setUTCDate(reminder1Week.getUTCDate() - 7); reminder1Week.setUTCHours(7, 0, 0, 0); const reminder1Day new Date(startDate); reminder1Day.setUTCDate(reminder1Day.getUTCDate() - 1); reminder1Day.setUTCHours(7, 0, 0, 0); function formatDateTimeForICS(date) { const year date.getUTCFullYear(); const month String(date.getUTCMonth() + 1).padStart(2, 0); const day String(date.getUTCDate()).padStart(2, 0); const hours String(date.getUTCHours()).padStart(2, 0); const minutes String(date.getUTCMinutes()).padStart(2, 0); const seconds String(date.getUTCSeconds()).padStart(2, 0); return `${year}${month}${day}T${hours}${minutes}${seconds}Z`; } // Add website link to description with proper formatting // Use \r\n for proper line breaks in ICS format const fullDescription websiteUrl ? `${description}\r\n\r\nMore info: ${websiteUrl}` : description; const icsLines BEGIN:VCALENDAR, VERSION:2.0, PRODID:-//Fucking Magical Russian//Birthday Party//EN, CALSCALE:GREGORIAN, METHOD:PUBLISH, BEGIN:VEVENT, `UID:${Date.now()}-${Math.random().toString(36).substr(2, 9)}@fuckingmagicalrussian.com`, `DTSTAMP:${new Date().toISOString().replace(/-:/g, ).split(.)0}Z`, `DTSTART;VALUEDATE:${formatDateForICS(startDate)}`, `DTEND;VALUEDATE:${formatDateForICS(endDateExclusive)}`, `SUMMARY:${escapeICS(title)}`, `DESCRIPTION:${escapeICS(fullDescription)}`, `LOCATION:${escapeICS(location)}`, STATUS:CONFIRMED, SEQUENCE:0, // Reminder: 3 months before at 9 AM BEGIN:VALARM, ACTION:DISPLAY, DESCRIPTION:Reminder, `TRIGGER;VALUEDATE-TIME:${formatDateTimeForICS(reminder3Months)}`, END:VALARM, // Reminder: 1 month before at 9 AM BEGIN:VALARM, ACTION:DISPLAY, DESCRIPTION:Reminder, `TRIGGER;VALUEDATE-TIME:${formatDateTimeForICS(reminder1Month)}`, END:VALARM, // Reminder: 1 week before at 9 AM BEGIN:VALARM, ACTION:DISPLAY, DESCRIPTION:Reminder, `TRIGGER;VALUEDATE-TIME:${formatDateTimeForICS(reminder1Week)}`, END:VALARM, // Reminder: 1 day before at 9 AM BEGIN:VALARM, ACTION:DISPLAY, DESCRIPTION:Reminder, `TRIGGER;VALUEDATE-TIME:${formatDateTimeForICS(reminder1Day)}`, END:VALARM, END:VEVENT, END:VCALENDAR ; // Add URL field if website URL is provided if (websiteUrl) { icsLines.splice(icsLines.indexOf(`LOCATION:${escapeICS(location)}`) + 1, 0, `URL;VALUEURI:${websiteUrl}`); } const icsContent icsLines.join(\r\n); return icsContent; } function generateGoogleCalendarURL(title, description, location, startDate, endDate, websiteUrl) { // For all-day events, end date should be the day after (exclusive) const endDateExclusive new Date(endDate); endDateExclusive.setUTCDate(endDateExclusive.getUTCDate() + 1); const startStr formatDateForGoogle(startDate); const endStr formatDateForGoogle(endDateExclusive); // Add website link to description with proper formatting // For Google Calendar, use \n for line breaks const fullDescription websiteUrl ? `${description}\n\nMore info: ${websiteUrl}` : description; const params new URLSearchParams({ action: TEMPLATE, text: title, dates: `${startStr}/${endStr}`, details: fullDescription, location: location, sf: true, output: xml }); // Set timezone for Mallorca if (websiteUrl) { params.append(ctz, Europe/Madrid); } return `https://calendar.google.com/calendar/render?${params.toString()}`; } document.querySelectorAll(.event-details__action-buttondata-calendar-type).forEach(function(button) { button.addEventListener(click, function(e) { e.preventDefault(); const type this.dataset.calendarType; const title this.dataset.title; const description this.dataset.description; const location this.dataset.location; const startDateStr this.dataset.startDate; const endDateStr this.dataset.endDate; const websiteUrl this.dataset.websiteUrl; // Parse dates (all-day events) const startYear, startMonth, startDay startDateStr.split(-).map(Number); const endYear, endMonth, endDay endDateStr.split(-).map(Number); // Create Date objects in UTC for all-day events const startDate new Date(Date.UTC(startYear, startMonth - 1, startDay)); const endDate new Date(Date.UTC(endYear, endMonth - 1, endDay)); if (type google) { const url generateGoogleCalendarURL(title, description, location, startDate, endDate, websiteUrl); window.open(url, _blank); } else if (type apple) { const icsContent generateICS(title, description, location, startDate, endDate, websiteUrl); const blob new Blob(icsContent, { type: text/calendar;charsetutf-8 }); const url URL.createObjectURL(blob); const link document.createElement(a); link.href url; link.download event.ics; document.body.appendChild(link); link.click(); document.body.removeChild(link); URL.revokeObjectURL(url); } }); }); })();/script>!--bookshop-live end--> !--bookshop-live name(countdown) params(bind: block) context(block: content_blocks1) -->section classcountdown stylebackground-color: #f8fafc;> div classcountdown__outer> div classcountdown__card> div classcountdown__intro> p classcountdown__eyebrow>Countdown/p> h2 classcountdown__heading stylecolor: #0f172a;>Countdown to the Mallorca Escape/h2> p classcountdown__description stylecolor: #475569;>Every sunrise gets us closer. Here is how long until we clink cava in Campos, Mallorca./p> /div> div classcountdown__timer js-countdown data-target2026-08-11T18:00:00+02:00 data-completeIt’s party time — meet us at the villa!> div classcountdown__unit> span classcountdown__value js-countdown-value data-unitdays>00/span> span classcountdown__label>Days/span> /div> div classcountdown__unit> span classcountdown__value js-countdown-value data-unithours>00/span> span classcountdown__label>Hours/span> /div> div classcountdown__unit> span classcountdown__value js-countdown-value data-unitminutes>00/span> span classcountdown__label>Minutes/span> /div> div classcountdown__unit> span classcountdown__value js-countdown-value data-unitseconds>00/span> span classcountdown__label>Seconds/span> /div> /div> p classcountdown__timezone>Mallorca (CEST)/p> /div> /div>/section>script> (function () { if (window.__fmrCountdownInitialized) return; window.__fmrCountdownInitialized true; const pad (value) > String(value).padStart(2, 0); const updateTimers () > { const now new Date().getTime(); document.querySelectorAll(.js-countdown).forEach((timer) > { const target timer.dataset.target ? new Date(timer.dataset.target).getTime() : NaN; const completeMessage timer.dataset.complete || ; if (Number.isNaN(target)) return; let diff Math.max(0, target - now); const days Math.floor(diff / (1000 * 60 * 60 * 24)); diff - days * (1000 * 60 * 60 * 24); const hours Math.floor(diff / (1000 * 60 * 60)); diff - hours * (1000 * 60 * 60); const minutes Math.floor(diff / (1000 * 60)); diff - minutes * (1000 * 60); const seconds Math.floor(diff / 1000); timer.querySelectorAll(.js-countdown-value).forEach((el) > { const unit el.dataset.unit; if (unit days) el.textContent pad(days); if (unit hours) el.textContent pad(hours); if (unit minutes) el.textContent pad(minutes); if (unit seconds) el.textContent pad(seconds); }); if (target - now 0 && completeMessage) { timer.classList.add(countdown__timer--complete); if (!timer.querySelector(.countdown__complete)) { const msg document.createElement(p); msg.className countdown__complete; msg.textContent completeMessage; timer.appendChild(msg); } } }); }; updateTimers(); setInterval(updateTimers, 1000); })();/script>!--bookshop-live end--> !--bookshop-live name(rsvp-form) params(bind: block) context(block: content_blocks2) -->section idrsvp classrsvp-form-section stylebackground-color: #ffffff;> div classrsvp-form-shell> div classrsvp-form-card> div classrsvp-form-info> p classrsvp-form-eyebrow>RSVP/p> h2 classrsvp-form-heading stylecolor: #0f172a;> RSVP for My 40th Birthday Party /h2> div classrsvp-form-description markdown-text stylecolor: #475569;> p>Please let us know if you can make it! Fill out the form below with your name, group size, and whether youll be attending./p> /div> ul classrsvp-form-highlights> li>span>•/span>Share your name and group size so we can save seats./li> li>span>•/span>Select if youre in, out, or deciding./li> li>span>•/span>Add notes for food, lodging, or questions./li> /ul> /div> form methodpost action/thank-you/ classrsvp-form> input typehidden nameinbox_key value> div classform-group> label forname stylecolor: #0f172a;>Your Name/label> input typetext idname namename required placeholderEnter your full name classform-input> /div> div classform-group> label forgroup_size stylecolor: #0f172a;>Group Size/label> input typenumber idgroup_size namegroup_size min1 required placeholder1 classform-input> small classform-help-text stylecolor: #94a3b8;>Including yourself/small> /div> div classform-group> label forattendance stylecolor: #0f172a;>Can you make it?/label> select idattendance nameattendance required classform-select> option value>Select an option/option> option valueyes>Yes, Ill be there!/option> option valueno>Sorry, I cant make it/option> option valuemaybe>Maybe, Ill confirm soon/option> /select> /div> div classform-group> label fornotes stylecolor: #0f172a;>Additional Notes/label> textarea idnotes namenotes rows4 placeholderAny dietary restrictions, questions, or notes... classform-textarea>/textarea> /div> div classform-group form-group--turnstile> div classcf-turnstile data-sitekey0x4AAAAAACBa4e_vsudIMz9p data-themelight data-sizenormal data-appearanceinteraction-only>/div> /div> button typesubmit classrsvp-submit-button stylebackground-color: #000000; color: #ffffff;> Submit RSVP /button> /form> /div> /div>/section>!--bookshop-live end--> !--bookshop-live name(campos-links) params(bind: block) context(block: content_blocks3) -->section classcampos-links stylebackground-color: #f8fafc;> div classcampos-links__outer> div classcampos-links__card> div classcampos-links__intro> p classcampos-links__eyebrow>Learn More/p> h2 classcampos-links__heading stylecolor: #0f172a;>About Campos, Mallorca/h2> p classcampos-links__description stylecolor: #475569;>Discover more about this beautiful inland town in the south/southeast region of Mallorca./p> /div> div classcampos-links__list> a hrefhttps://www.seemallorca.com/campos target_blank relnoopener noreferrer classcampos-links__link> span classcampos-links__link-label>SeeMallorca: Campos Guide/span> svg classcampos-links__link-icon width16 height16 viewBox0 0 16 16 fillnone xmlnshttp://www.w3.org/2000/svg> path dM6 3L11 8L6 13M11 8H1 strokecurrentColor stroke-width1.5 stroke-linecapround stroke-linejoinround/> /svg> /a> a hrefhttps://www.palmaweekly.com/campos-mallorca/ target_blank relnoopener noreferrer classcampos-links__link> span classcampos-links__link-label>Palma Weekly: Campos Mallorca/span> svg classcampos-links__link-icon width16 height16 viewBox0 0 16 16 fillnone xmlnshttp://www.w3.org/2000/svg> path dM6 3L11 8L6 13M11 8H1 strokecurrentColor stroke-width1.5 stroke-linecapround stroke-linejoinround/> /svg> /a> a hrefhttps://www.perfectmallorca.com/en/majorca/locations/campos/ target_blank relnoopener noreferrer classcampos-links__link> span classcampos-links__link-label>Perfect Mallorca: Campos/span> svg classcampos-links__link-icon width16 height16 viewBox0 0 16 16 fillnone xmlnshttp://www.w3.org/2000/svg> path dM6 3L11 8L6 13M11 8H1 strokecurrentColor stroke-width1.5 stroke-linecapround stroke-linejoinround/> /svg> /a> a hrefhttps://www.tripadvisor.com/Tourism-g1064346-Campos_Majorca_Balearic_Islands-Vacations.html target_blank relnoopener noreferrer classcampos-links__link> span classcampos-links__link-label>TripAdvisor: Campos Vacations/span> svg classcampos-links__link-icon width16 height16 viewBox0 0 16 16 fillnone xmlnshttp://www.w3.org/2000/svg> path dM6 3L11 8L6 13M11 8H1 strokecurrentColor stroke-width1.5 stroke-linecapround stroke-linejoinround/> /svg> /a> a hrefhttps://en.wikipedia.org/wiki/Campos,_Majorca target_blank relnoopener noreferrer classcampos-links__link> span classcampos-links__link-label>Wikipedia: Campos/span> svg classcampos-links__link-icon width16 height16 viewBox0 0 16 16 fillnone xmlnshttp://www.w3.org/2000/svg> path dM6 3L11 8L6 13M11 8H1 strokecurrentColor stroke-width1.5 stroke-linecapround stroke-linejoinround/> /svg> /a> /div> /div> /div>/section>!--bookshop-live end-->/div>!--bookshop-live end--> /main> footer stylebackground-color: #000000; color: #ffffff;> div classpx-8> div classfooter grid grid-cols-1 sm:grid-cols-3 justify-between items-center gap-8 py-48px> a classflex justify-center sm:justify-start items-center footer__logo-link href/> span classfooter__logo-text>Fucking Magical Russian/span> /a> div>/div> div classflex justify-center sm:justify-end items-center gap-8> a href/#rsvp classfooter__link>RSVP/a> a href/where-to-stay/#accommodations classfooter__link>Where to Stay/a> /div> /div> /div>/footer> script>(function(){ const bookshopLiveSetup (CloudCannon) > { CloudCannon.enableEvents(); CloudCannon?.setLoading?.(Loading Bookshop Live Editing); let triggeredLoad false; const whenLoaded () > { triggeredLoad true; CloudCannon?.setLoading?.(false); } setTimeout(() > { if (!triggeredLoad) { CloudCannon?.setLoading?.(Error Loading Bookshop Live Editing); setTimeout(() > { if (!triggeredLoad) { whenLoaded() } }, 2000); } }, 12000); const head document.querySelector(head); const script document.createElement(script); script.src `/_cloudcannon/bookshop-live.js`; script.onload function() { window.bookshopLive new window.BookshopLive({ remoteGlobals: , loadedFn: whenLoaded, }); const updateBookshopLive async () > { const frontMatter await CloudCannon.value({ keepMarkdownAsHTML: false, preferBlobs: true }); const options window.bookshopLiveOptions || {}; const rendered await window.bookshopLive.update(frontMatter, options); if (rendered) CloudCannon?.refreshInterface?.(); } document.addEventListener(cloudcannon:update, updateBookshopLive); updateBookshopLive(); } head.appendChild(script); } document.addEventListener(cloudcannon:load, function (e) { bookshopLiveSetup(e.detail.CloudCannon); }); })();/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]