Skip to content
Harar Ras Hotel
Book Now
Book Now

Search Availability

/* ========================================================= Harar Ras Hotel – Cinematic footer Selectors cover: .site-footer, #colophon, footer[role=contentinfo]. If your theme uses a different class, add it to the :is() lists. ========================================================= */ :root { --ft-bg-1: #120b06; --ft-bg-2: #1c1209; --ft-gold: #c9a961; --ft-gold-soft: rgba(201, 169, 97, .55); --ft-ivory: #efe6d6; --ft-text: rgba(239, 230, 214, .78); --ft-line: rgba(201, 169, 97, .18); --ft-wa: #25d366; --ft-serif: "Cormorant Garamond", "Cormorant", Georgia, serif; --ft-sans: "Jost", "Barlow", system-ui, sans-serif; } /* ---------- Canvas: vignette + warm light + film grain ---------- */ :is(.site-footer, #colophon, footer[role="contentinfo"]) { position: relative; isolation: isolate; overflow: hidden; color: var(--ft-text); font-family: var(--ft-sans); background: radial-gradient(900px 420px at 12% 0%, rgba(201, 169, 97, .13), transparent 60%), radial-gradient(700px 380px at 95% 100%, rgba(150, 90, 40, .14), transparent 60%), linear-gradient(180deg, var(--ft-bg-2) 0%, var(--ft-bg-1) 100%); } /* film grain */ :is(.site-footer, #colophon, footer[role="contentinfo"])::before { content: ""; position: absolute; inset: -50%; z-index: -1; pointer-events: none; opacity: .07; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); animation: ft-grain 1.2s steps(6) infinite; } @keyframes ft-grain { 0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -3%); } 60% { transform: translate(-2%, -1%); } 80% { transform: translate(3%, 3%); } 100% { transform: translate(0, 0); } } /* gold light-sweep along the top edge */ :is(.site-footer, #colophon, footer[role="contentinfo"])::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, var(--ft-gold) 50%, transparent 100%); background-size: 40% 100%; background-repeat: no-repeat; animation: ft-sweep 7s ease-in-out infinite; opacity: .9; } @keyframes ft-sweep { 0% { background-position: -40% 0; } 100% { background-position: 140% 0; } } /* ---------- Brand column ---------- */ :is(.site-footer, #colophon) img[src*="mark"], :is(.site-footer, #colophon) .footer-logo img { width: 76px; height: auto; filter: drop-shadow(0 0 0 rgba(201, 169, 97, 0)); transition: filter .6s ease, transform .8s cubic-bezier(.2, .7, .2, 1); } :is(.site-footer, #colophon) img[src*="mark"]:hover, :is(.site-footer, #colophon) .footer-logo img:hover { transform: rotate(-6deg) scale(1.06); filter: drop-shadow(0 0 18px rgba(201, 169, 97, .55)); } :is(.site-footer, #colophon) :is(.footer-about, .footer-brand) p, :is(.site-footer, #colophon) .footer-tagline { font-family: var(--ft-serif); font-size: 21px; line-height: 1.55; font-style: italic; color: var(--ft-ivory); letter-spacing: .01em; max-width: 36ch; } /* ---------- Column headings: Visit / Explore / Follow + widget titles ---------- */ :is(.site-footer, #colophon) :is(h4, h2.widget-title, .widget-title, .wp-block-heading) { position: relative; margin: 0 0 26px; padding-bottom: 14px; font: 500 11px/1 var(--ft-sans); letter-spacing: .38em; text-transform: uppercase; color: var(--ft-gold); } /* little gold rule that grows when the column is hovered */ :is(.site-footer, #colophon) :is(h4, .widget-title)::after { content: ""; position: absolute; left: 0; bottom: 0; width: 22px; height: 1px; background: var(--ft-gold); transition: width .6s cubic-bezier(.2, .7, .2, 1); } :is(.site-footer, #colophon) :is(div, section, aside):hover > :is(h4, .widget-title)::after { width: 64px; } /* FIX: the Archives / Categories headings were dark-on-dark and invisible */ :is(.site-footer, #colophon) :is(.widget_archive, .widget_categories, .widget) :is(h2, h3, .widget-title) { color: var(--ft-gold) !important; font: 500 11px/1 var(--ft-sans) !important; letter-spacing: .38em; text-transform: uppercase; margin-top: 34px; } /* ---------- Text + links ---------- */ :is(.site-footer, #colophon) :is(p, address, li) { font-size: 16px; line-height: 1.8; color: var(--ft-text); } :is(.site-footer, #colophon) ul { list-style: none; margin: 0; padding: 0; } :is(.site-footer, #colophon) ul li { margin: 0 0 8px; } /* widget lists lose their bullets, gain a gold dash that slides in */ :is(.site-footer, #colophon) .widget ul li::marker { content: ""; } :is(.site-footer, #colophon) a { position: relative; display: inline-block; color: var(--ft-text); text-decoration: none; transition: color .35s ease, transform .35s cubic-bezier(.2, .7, .2, 1); } /* underline that draws left → right, retracts right → left */ :is(.site-footer, #colophon) a:not(.footer-logo)::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: linear-gradient(90deg, var(--ft-gold), rgba(201, 169, 97, 0)); transform: scaleX(0); transform-origin: right; transition: transform .5s cubic-bezier(.2, .7, .2, 1); } :is(.site-footer, #colophon) a:not(.footer-logo):hover, :is(.site-footer, #colophon) a:not(.footer-logo):focus-visible { color: var(--ft-ivory); transform: translateX(6px); } :is(.site-footer, #colophon) a:not(.footer-logo):hover::after, :is(.site-footer, #colophon) a:not(.footer-logo):focus-visible::after { transform: scaleX(1); transform-origin: left; } /* ---------- WhatsApp: icon, glow, pulse ring, wiggle ---------- */ :is(.site-footer, #colophon) a[href*="wa.me"], :is(.site-footer, #colophon) a[href*="whatsapp"] { display: inline-flex; align-items: center; gap: 0; padding: 2px 0; border-radius: 999px; transition: color .35s ease, transform .4s cubic-bezier(.2, .7, .2, 1), padding .4s cubic-bezier(.2, .7, .2, 1), background .4s ease, box-shadow .4s ease; } /* WhatsApp glyph (CSS mask, so it can take any colour) */ :is(.site-footer, #colophon) a[href*="wa.me"]::before, :is(.site-footer, #colophon) a[href*="whatsapp"]::before { content: ""; flex: 0 0 auto; width: 0; height: 18px; margin-right: 0; opacity: 0; background: var(--ft-wa); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.9 9.9 0 0 0-8.5 14.96L2 22l5.2-1.5A9.9 9.9 0 1 0 12.04 2zm5.8 14c-.25.7-1.45 1.33-2 1.4-.52.07-1.17.1-1.9-.12a17 17 0 0 1-1.72-.64c-3-1.3-4.95-4.34-5.1-4.54-.15-.2-1.2-1.6-1.2-3.05s.76-2.16 1.03-2.46c.27-.3.6-.37.8-.37h.57c.18 0 .43-.07.67.5l.9 2.2c.08.17.13.37.02.57l-.3.46-.43.5c-.14.15-.3.32-.13.62.17.3.76 1.25 1.63 2.02 1.12 1 2.06 1.3 2.36 1.45.3.15.47.12.65-.07.17-.2.75-.87.95-1.17.2-.3.4-.25.67-.15l2.15 1.02c.3.15.5.22.57.35.07.12.07.7-.18 1.4z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.9 9.9 0 0 0-8.5 14.96L2 22l5.2-1.5A9.9 9.9 0 1 0 12.04 2zm5.8 14c-.25.7-1.45 1.33-2 1.4-.52.07-1.17.1-1.9-.12a17 17 0 0 1-1.72-.64c-3-1.3-4.95-4.34-5.1-4.54-.15-.2-1.2-1.6-1.2-3.05s.76-2.16 1.03-2.46c.27-.3.6-.37.8-.37h.57c.18 0 .43-.07.67.5l.9 2.2c.08.17.13.37.02.57l-.3.46-.43.5c-.14.15-.3.32-.13.62.17.3.76 1.25 1.63 2.02 1.12 1 2.06 1.3 2.36 1.45.3.15.47.12.65-.07.17-.2.75-.87.95-1.17.2-.3.4-.25.67-.15l2.15 1.02c.3.15.5.22.57.35.07.12.07.7-.18 1.4z'/%3E%3C/svg%3E") center / contain no-repeat; transition: width .4s cubic-bezier(.2, .7, .2, 1), margin .4s ease, opacity .3s ease; } :is(.site-footer, #colophon) a[href*="wa.me"]::after, :is(.site-footer, #colophon) a[href*="whatsapp"]::after { display: none; } /* no underline on this one */ :is(.site-footer, #colophon) a[href*="wa.me"]:hover, :is(.site-footer, #colophon) a[href*="whatsapp"]:hover, :is(.site-footer, #colophon) a[href*="wa.me"]:focus-visible, :is(.site-footer, #colophon) a[href*="whatsapp"]:focus-visible { color: #fff; transform: translateX(6px); padding: 6px 16px 6px 12px; background: rgba(37, 211, 102, .12); box-shadow: 0 0 0 1px rgba(37, 211, 102, .45), 0 8px 30px rgba(37, 211, 102, .28); animation: ft-wa-ring 1.6s ease-out infinite; } :is(.site-footer, #colophon) a[href*="wa.me"]:hover::before, :is(.site-footer, #colophon) a[href*="whatsapp"]:hover::before, :is(.site-footer, #colophon) a[href*="wa.me"]:focus-visible::before, :is(.site-footer, #colophon) a[href*="whatsapp"]:focus-visible::before { width: 18px; margin-right: 10px; opacity: 1; animation: ft-wa-wiggle .9s ease-in-out .15s both; } @keyframes ft-wa-ring { 0% { box-shadow: 0 0 0 1px rgba(37, 211, 102, .45), 0 0 0 0 rgba(37, 211, 102, .45); } 70% { box-shadow: 0 0 0 1px rgba(37, 211, 102, .45), 0 0 0 14px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 0 0 1px rgba(37, 211, 102, .45), 0 0 0 0 rgba(37, 211, 102, 0); } } @keyframes ft-wa-wiggle { 0%, 100% { transform: rotate(0) scale(1); } 20% { transform: rotate(-16deg) scale(1.2); } 40% { transform: rotate(14deg) scale(1.2); } 60% { transform: rotate(-8deg) scale(1.1); } 80% { transform: rotate(5deg) scale(1.05); } } /* ---------- Social icons feel: subtle stagger on list hover ---------- */ :is(.site-footer, #colophon) ul:hover li:not(:hover) a { opacity: .55; } :is(.site-footer, #colophon) ul li a { transition-property: color, transform, opacity; } /* ---------- Cinematic entrance (scroll-driven where supported) ---------- */ @supports (animation-timeline: view()) { :is(.site-footer, #colophon) :is(h4, p, address, li, img, .widget) { animation: ft-rise both cubic-bezier(.2, .7, .2, 1); animation-timeline: view(); animation-range: entry 0% entry 55%; } } @keyframes ft-rise { from { opacity: 0; transform: translateY(22px); filter: blur(4px); } to { opacity: 1; transform: none; filter: blur(0); } } /* ---------- Bottom bar / copyright ---------- */ :is(.site-footer, #colophon) :is(.footer-bottom, .site-info, .copyright) { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--ft-line); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(239, 230, 214, .45); } /* ---------- Motion preferences ---------- */ @media (prefers-reduced-motion: reduce) { :is(.site-footer, #colophon, footer[role="contentinfo"])::before, :is(.site-footer, #colophon, footer[role="contentinfo"])::after, :is(.site-footer, #colophon) * { animation: none !important; } :is(.site-footer, #colophon) a { transition: color .2s ease; } }