{"id":1339,"date":"2026-01-16T21:48:10","date_gmt":"2026-01-16T21:48:10","guid":{"rendered":"https:\/\/virtualstory.info\/viladoconde\/?page_id=1339"},"modified":"2026-02-14T10:30:28","modified_gmt":"2026-02-14T10:30:28","slug":"farol-do-aguilhao-ingles","status":"publish","type":"page","link":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/","title":{"rendered":"Farol do Aguilh\u00e3o &#8211; Ingl\u00eas"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1339\" class=\"elementor elementor-1339\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3debc4c e-flex e-con-boxed e-con e-parent\" data-id=\"3debc4c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;,&quot;background_video_link&quot;:&quot;https:\\\/\\\/vz-7ef1d831-ce5.b-cdn.net\\\/1c961756-9aa3-4218-8965-1f0f11ff7bdc\\\/play_240p.mp4&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-background-video-container elementor-hidden-mobile\">\n\t\t\t\t\t\t\t<video class=\"elementor-background-video-hosted\" role=\"presentation\" autoplay muted playsinline loop><\/video>\n\t\t\t\t\t<\/div>\t\t<div class=\"elementor-element elementor-element-1909364 elementor-widget elementor-widget-html\" data-id=\"1909364\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"pt\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover\">\r\n<style>\r\n\/* CONFIGURA\u00c7\u00d5ES GERAIS *\/\r\nhtml, body {\r\n  margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden;\r\n  touch-action: pan-x pan-y; -webkit-text-size-adjust: 100%;\r\n  background: #000; font-family: sans-serif;\r\n  overscroll-behavior: none;\r\n}\r\n\r\n        \/* Estilos da Barra Superior Fixa *\/\r\n        .language-bar {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            background-color: black; \r\n            color: white;\r\n            padding: 5px 0;\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 25px;\r\n            z-index: 10000;\r\n            box-shadow: 0 2px 10px rgba(0,0,0,0.3);\r\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\r\n        }\r\n\r\n        .language-bar a {\r\n            color: #ffffff;\r\n            text-decoration: none;\r\n            font-size: 20px;\r\n            font-weight: 500;\r\n            display: flex;\r\n            align-items: center; \r\n            gap: 8px; \r\n            transition: all 0.3s ease;\r\n            opacity: 0.8;\r\n        }\r\n\r\n        .language-bar a:hover {\r\n            color: #00b4d8; \r\n            opacity: 1;\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .flag-icon {\r\n            font-size: 1.2em; \r\n        }\r\n\r\n        \/* Ajuste no corpo da p\u00e1gina *\/\r\n        body {\r\n            margin: 0;\r\n            padding-top: 60px; \r\n            font-family: Arial, sans-serif;\r\n        }\r\n\r\n        .content {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            line-height: 1.6;\r\n        }\r\n#experience-wrap {\r\n  position: fixed; inset: 0; width: 100vw;\r\n  height: 100dvh;\r\n  z-index: 9999;\r\n  background: #000;\r\n  transition: transform 0.3s ease;\r\n}\r\n\r\n\/* FOR\u00c7AR HORIZONTAL NO IPHONE *\/\r\n.force-landscape {\r\n    width: 100dvh !important;\r\n    height: 100vw !important;\r\n    top: 50% !important;\r\n    left: 50% !important;\r\n    transform: translate(-50%, -50%) rotate(90deg) !important;\r\n    transform-origin: center !important;\r\n}\r\n\r\n\/* BARRA FIXA NO TOPO *\/\r\n#header-branding {\r\n  position: absolute; top: 65px; left: 50%; transform: translateX(-50%);\r\n  z-index: 20; display: flex; align-items: center; justify-content: center; gap: 40px;\r\n  background: rgba(0, 0, 0, 0.5); padding: 10px 25px; border-radius: 15px;\r\n  backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2);\r\n  pointer-events: none; white-space: nowrap; min-width: fit-content; width: 98%;\r\n}\r\n\r\n.brand-main { display: flex; align-items: center; gap: 7px; }\r\n#header-branding img { height: 40px; width: auto; }\r\n#header-branding span { color: #fff; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; font-size: 13px; text-align: center; }\r\n.label-ext { color: #fff; font-weight: bold; font-size: 14px; text-transform: uppercase; padding: 6px 12px; border-radius: 6px; letter-spacing: 1.2px; display: flex; align-items: center; gap: 8px; }\r\n.icon-cal { width: 18px; height: 18px; fill: currentColor; }\r\n\r\n\/* COMPARADOR DE IMAGENS *\/\r\n#comparison-container { position: absolute; inset: 0; z-index: 1; overflow: hidden; }\r\n.img-comp { position: absolute; top: 0; left: 0; width: 100vw; height: 100dvh; background-size: cover; background-position: center; }\r\n#img-after { z-index: 1; background-image: url(\"https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Farol-novo-6-scaled.jpg\"); }\r\n#img-before-wrap { position: absolute; top: 0; left: 0; width: 50%; height: 100dvh; overflow: hidden; z-index: 2; border-right: 1px solid #fff; }\r\n#img-before { width: 100vw; height: 100dvh; background-image: url(\"https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Farol-antigo-2-scaled.jpg\")}\r\n#comparison-slider { position: absolute; -webkit-appearance: none; appearance: none; width: 100%; height: 100%; background: transparent; outline: none; margin: 0; z-index: 10; cursor: ew-resize; }\r\n#comparison-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 40px; height: 100dvh; opacity: 0; }\r\n#slider-line { position: absolute; top: 0; bottom: 0; width: 1px; background: #fff; left: 50%; transform: translateX(-50%); z-index: 9; pointer-events: none; }\r\n#slider-line::after {\r\n  content: \"\"; position: absolute; top: 88%; left: 50%; transform: translate(-50%, -50%);\r\n  width: 44px; height: 44px; background-color: #fff; border-radius: 50%;\r\n  background-image: url('data:image\/svg+xml;charset=utf-8,%3Csvg%20fill%3D%22%23000000%22%20viewBox%3D%22-6%200%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19.68%2015.4v0l-2.24-2.2c-0.32-0.32-0.84-0.32-1.2%200-0.32%200.32-0.32%200.84%200%201.2l0.8%200.8h-14.16l0.8-0.8c0.32-0.32%200.32-0.84%200-1.2-0.32-0.32-0.84-0.32-1.2%200l-2.24%202.24c-0.32%200.32-0.32%200.84%200%201.16v0l2.24%202.2c0.16%200.16%200.36%200.24%200.6%200.24%200.2%200%200.44-0.080%200.6-0.24%200.32-0.32%200.32-0.84%200-1.2l-0.8-0.8h14.16l-0.8%200.8c-0.32%200.32-0.32%200.84%200%201.2%200.16%200.16%200.36%200.24%200.6%200.24s0.44-0.080%200.6-0.24l2.24-2.24c0.32-0.32%200.32-0.88%200-1.16z%22%3E%3C\/path%3E%3C\/svg%3E');\r\n  background-repeat: no-repeat; background-position: 11px 6px; background-size: 30px;\r\n  box-shadow: 0 0 15px rgba(0,0,0,0.4);\r\n}\r\n\r\n\/* V\u00cdDEO *\/\r\n#bunny-video { position: absolute; inset: 0; width: 100%; height: 100%; display: none; z-index: 11; background: #000; object-fit: contain; }\r\n\r\n\/* LEGENDAS CUSTOM *\/\r\n#custom-subtitles {\r\n  position: absolute;\r\n  bottom: 110px;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  width: 85%;\r\n  text-align: center;\r\n  z-index: 11000; \/* Aumentado para garantir visibilidade no iOS *\/\r\n  pointer-events: none;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 5px;\r\n  transition: bottom 0.4s ease;\r\n}\r\n\r\n#custom-subtitles.lifted {\r\n  bottom: 125px !important; \/* !important garante sobreposi\u00e7\u00e3o de media queries *\/\r\n}\r\n\r\n.sub-line {\r\n  background: rgba(0, 0, 0, 0.75);\r\n  color: #fff;\r\n  font-size: 18px !important;\r\n  font-weight: bold;\r\n  padding: 4px 12px;\r\n  border-radius: 6px;\r\n  display: inline-block;\r\n  margin: 0 auto;\r\n  line-height: 1.2;\r\n  -webkit-text-size-adjust: 100% !important;\r\n  text-size-adjust: 100% !important;\r\n}\r\n\r\n#controls { position: absolute; left: 0; right: 0; bottom: 20px; z-index: 1050; display: none; flex-direction: column; gap: 10px; padding: 20px 20px calc(15px + env(safe-area-inset-bottom)); transition: opacity 0.5s ease, visibility 0.5s ease; }\r\n#controls.hide-ui { opacity: 0; visibility: hidden; pointer-events: none; }\r\n#controls.is-on { display: flex; }\r\n\r\n#btnCloseVideo { position: absolute; top: calc(20px + env(safe-area-inset-top)); right: 20px; z-index: 1001; width: 35px; height: 35px; background: rgba(0,0,0,0.5); border: 1px solid rgba(255,255,255,0.3); border-radius: 50%; color: #fff; font-size: 20px; display: none; align-items: center; justify-content: center; cursor: pointer; backdrop-filter: blur(5px); }\r\n\r\n\/* MENU LEGENDAS *\/\r\n#subtitle-container { position: relative; }\r\n#subtitle-menu {\r\n  position: absolute; bottom: 55px; left: 50%; transform: translateX(-50%);\r\n  background: rgba(0, 0, 0, 0.9); border: 1px solid rgba(255, 255, 255, 0.2);\r\n  border-radius: 12px; display: none; flex-direction: column;\r\n  min-width: 160px; overflow: hidden; backdrop-filter: blur(15px); z-index: 1002;\r\n}\r\n#subtitle-menu button {\r\n  background: transparent; border: none; color: #fff; padding: 12px 15px;\r\n  text-align: left; cursor: pointer; font-size: 13px; border-bottom: 1px solid rgba(255, 255, 255, 0.1);\r\n}\r\n#subtitle-menu button:hover { background: rgba(255, 255, 255, 0.1); }\r\n#subtitle-menu.show { display: flex; }\r\n\r\n#start-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 100; pointer-events: none; }\r\n#start-pill { display: flex; align-items: center; gap: 12px; padding: 14px 28px; border-radius: 10px; background: rgba(0,0,0,0.5); backdrop-filter: blur(10px); color: #fff; font-weight: 700; border: 1px solid rgba(255,255,255,0.3); cursor: pointer; text-transform: uppercase; pointer-events: auto; transition: transform 0.2s; margin-top: 57vh; font-size: 14px; }\r\n\r\n.controls-row { display: flex; gap: 8px; align-items: center; justify-content: center; flex-wrap: wrap; }\r\n.ctrl-btn { background: black; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 10px; cursor: pointer; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; outline: none; }\r\n.ctrl-btn svg { width: 22px; height: 22px; pointer-events: none; }\r\n\r\n#btnPlay { border: none; background: rgba(0, 0, 0, 0.4); width: 48px; height: 48px; position: relative; }\r\n#btnPlay::before { content: \"\"; position: absolute; inset: -2px; padding: 2px; border-radius: 12px; background: linear-gradient(135deg, #ea5353, #7a0576, #ea5353); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }\r\n\r\n#seek { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 10px; background: rgba(255,255,255,0.2); cursor: pointer; }\r\n#seek::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid #7a0576; }\r\n\r\n#start-icon { width: 24px; height: 24px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; }\r\n#start-icon::before { content: \"\"; width: 0; height: 0; border-left: 7px solid #000; border-top: 4px solid transparent; border-bottom: 4px solid transparent; margin-left: 2px; }\r\n\r\n@media (min-width: 768px) and (max-width: 1024px) {\r\n  #header-branding { top: 50px; padding: 8px 7px; gap: 15px; width: 95%; }\r\n  #header-branding img { height: 35px; }\r\n  #header-branding span { font-size: 10px; }\r\n  .label-ext { font-size: 10px; padding: 4px 8px; flex-direction: column; gap: 2px; text-align: center; }\r\n  .icon-cal { width: 14px; height: 14px; }\r\n  #start-pill { padding: 8px 18px; font-size: 11px; gap: 8px; margin-top: 70%; }\r\n  #start-icon { width: 18px; height: 18px; }\r\n  #custom-subtitles { bottom: 125px; }\r\n  #custom-subtitles.lifted { bottom: 200px !important; }\r\n  .sub-line { \r\n    font-size: 12px !important; \r\n    -webkit-text-size-adjust: 100% !important;\r\n    text-size-adjust: 100% !important;\r\n  }\r\n}\r\n\r\n@media (max-width: 767px) {\r\n  #header-branding { top: 65px; padding: 8px 7px; gap: 15px; width: 95%; }\r\n  #header-branding img { height: 35px; }\r\n  #header-branding span { font-size: 10px; }\r\n  .label-ext { font-size: 10px; padding: 4px 8px; flex-direction: column; gap: 2px; text-align: center; }\r\n  .icon-cal { width: 14px; height: 14px; }\r\n  #start-pill { padding: 8px 18px; font-size: 11px; gap: 8px; margin-top: 73%; }\r\n  #start-icon { width: 18px; height: 18px; }\r\n  #custom-subtitles { bottom: 65px; } \r\n  #custom-subtitles.lifted { bottom: 135px !important; } \r\n  .sub-line { font-size: 15px; }\r\n}\r\n\r\n@media (max-width: 932px) and (orientation: portrait) {\r\n    .sub-line { \r\n      font-size: 15px !important; \r\n      -webkit-text-size-adjust: 100% !important; \r\n      text-size-adjust: 100% !important;\r\n    }\r\n}\r\n\r\n@media (min-width: 767px) and (max-width: 1367px) and (orientation: landscape) {\r\n    #start-pill { padding: 8px 18px; font-size: 11px; gap: 8px; margin-top: 20%; }\r\n    #custom-subtitles { bottom: 65px; }\r\n     #custom-subtitles.lifted { bottom: 125px !important; }\r\n}\r\n\r\n\r\n@media (max-width: 768px) and (orientation: landscape) {\r\n    #start-pill { padding: 8px 18px; font-size: 11px; gap: 8px; margin-top: 150px; }\r\n}\r\n\r\n::cue {\r\n  font-size: 15px !important;\r\n  font-family: sans-serif;\r\n  font-weight: bold;\r\n  color: white;\r\n  background-color: rgba(0, 0, 0, 0.75);\r\n  text-align: center;\r\n  -webkit-text-size-adjust: 100% !important;\r\n  -moz-text-size-adjust: 100% !important;\r\n  text-size-adjust: 100% !important;\r\n}\r\n\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n\r\n<div id=\"experience-wrap\">\r\n       <nav class=\"language-bar\">\r\n        <a href=\"https:\/\/virtualstory.info\/viladoconde\/faroldoaguilhao\/\">\r\n          <svg width=\"24\" height=\"20\" viewBox=\"0 0 24 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect width=\"24\" height=\"16\" fill=\"#006600\"><\/rect><rect x=\"8\" width=\"16\" height=\"16\" fill=\"#FF0000\"><\/rect><circle cx=\"10\" cy=\"8\" r=\"3\" fill=\"#FFFF00\"><\/circle><circle cx=\"10\" cy=\"8\" r=\"2.5\" fill=\"#006600\"><\/circle><circle cx=\"10\" cy=\"8\" r=\"1.5\" fill=\"#FFFF00\"><\/circle><\/svg>\r\n        <\/a>\r\n        <a href=\"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/\">\r\n            <svg width=\"24\" height=\"20\" viewBox=\"0 0 24 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect width=\"24\" height=\"16\" fill=\"#012169\"><\/rect><path d=\"M0 0L24 16M24 0L0 16\" stroke=\"#FFFFFF\" stroke-width=\"3\"><\/path><path d=\"M0 0L24 16M24 0L0 16\" stroke=\"#C8102E\" stroke-width=\"2\"><\/path><path d=\"M12 0V16M0 8H24\" stroke=\"#FFFFFF\" stroke-width=\"5\"><\/path><path d=\"M12 0V16M0 8H24\" stroke=\"#C8102E\" stroke-width=\"3\"><\/path><\/svg>\r\n        <\/a>\r\n        <a href=\"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-espanhol\/\">\r\n            <svg width=\"24\" height=\"20\" viewBox=\"0 0 24 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect width=\"24\" height=\"16\" fill=\"#FF0000\"><\/rect><rect y=\"4\" width=\"24\" height=\"8\" fill=\"#FFCC00\"><\/rect><\/svg>\r\n        <\/a>\r\n        <a href=\"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-frances\/\">\r\n            <svg width=\"24\" height=\"20\" viewBox=\"0 0 24 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect width=\"8\" height=\"16\" fill=\"#002395\"><\/rect><rect x=\"8\" width=\"8\" height=\"16\" fill=\"#FFFFFF\"><\/rect><rect x=\"16\" width=\"8\" height=\"16\" fill=\"#ED2939\"><\/rect><\/svg>\r\n        <\/a>\r\n    <\/nav>\r\n  <div id=\"header-branding\">\r\n    <div class=\"label-ext\">\r\n      <svg class=\"icon-cal\" viewBox=\"0 0 24 24\"><path d=\"M19,4H18V2H16V4H8V2H6V4H5C3.89,4 3,4.9 3,6V20C3,21.1 3.89,22 5,22H19C20.1,22 21,21.1 21,20V6C21,4.9 20.1,4 19,4M19,20H5V10H19V20M19,8H5V6H19V8Z\"\/><\/svg>\r\n      13\/01\/1932\r\n    <\/div>\r\n    <div class=\"brand-main\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.cm-viladoconde.pt\/cmviladoconde\/layout\/logo_viladoconde.svg\" alt=\"Logo\">\r\n        <span><b>Farol do Aguilh\u00e3o<\/b> <br> <i>Vila do conde<\/i> <\/span>\r\n    <\/div>\r\n    <div class=\"label-ext\">\r\n      <svg class=\"icon-cal\" viewBox=\"0 0 24 24\"><path d=\"M19,4H18V2H16V4H8V2H6V4H5C3.89,4 3,4.9 3,6V20C3,21.1 3.89,22 5,22H19C20.1,22 21,21.1 21,20V6C21,4.9 20.1,4 19,4M19,20H5V10H19V20M19,8H5V6H19V8Z\"\/><\/svg>\r\n     13\/01\/2026\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <button id=\"btnCloseVideo\" type=\"button\">\u2715<\/button>\r\n\r\n  <div id=\"comparison-container\">\r\n    <div id=\"img-after\" class=\"img-comp\"><\/div>\r\n    <div id=\"img-before-wrap\">\r\n        <div id=\"img-before\" class=\"img-comp\"><\/div>\r\n    <\/div>\r\n    <input type=\"range\" min=\"0\" max=\"100\" value=\"50\" id=\"comparison-slider\">\r\n    <div id=\"slider-line\"><\/div>\r\n        <div style=\"bottom:0;\r\n    Z-INDEX: 10000;\r\n    POSITION: fixed;\r\n    COLOR: WHITE;\r\n    FONT-SIZE: 10PX;\r\n    WIDTH: 100%;\r\n    TEXT-ALIGN: CENTER;\r\n    PADDING-top: 6PX;\r\n    height:3vh;\r\n    FONT-WEIGHT: BOLD; background-color:black\"><a href=\"https:\/\/www.livroreclamacoes.pt\/Inicio\/\">COMPLAINT BOOK<\/a> | <a href=\"https:\/\/virtualstory.info\/viladoconde\/en\/privacy-policy\/\">PRIVACY POLICY<\/a><\/div>\r\n  <\/div>\r\n\r\n  <video id=\"bunny-video\" crossorigin=\"anonymous\" playsinline webkit-playsinline><\/video>\r\n\r\n  <div id=\"custom-subtitles\"><\/div>\r\n\r\n  <div id=\"controls\">\r\n    <div class=\"controls-row\">\r\n      <button type=\"button\" class=\"ctrl-btn\" id=\"btnRestart\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M12 5V1L7 6l5 5V7c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6H4c0 4.4 3.6 8 8 8s8-3.6 8-8-3.6-8-8-8z\"\/><\/svg>\r\n      <\/button>\r\n\r\n      <button type=\"button\" class=\"ctrl-btn\" id=\"btnPlay\">\r\n        <svg id=\"svgPlay\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\r\n        <svg id=\"svgPause\" viewBox=\"0 0 24 24\" fill=\"white\" style=\"display:none\"><path d=\"M6 19h4V5H6v14zm8-14v14h4V5h-4z\"\/><\/svg>\r\n      <\/button>\r\n\r\n      <button type=\"button\" class=\"ctrl-btn\" id=\"btnMute\">\r\n        <svg id=\"svgSound\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M3 10.5V13.5H7.5L12 18V6L7.5 9.75H3.75V10.5Z\" stroke=\"white\" stroke-width=\"1.5\"><\/path><path d=\"M16 8C17.5 9.5 17.5 14.5 16 16\" stroke=\"white\" stroke-width=\"1.5\"><\/path><\/svg>\r\n        <svg id=\"svgMuted\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"display:none\"><path d=\"M3 10.5V13.5H7.5L12 18V6L7.5 9.75H3.75V10.5Z\" stroke=\"white\" stroke-width=\"1.5\" opacity=\"0.5\"><\/path><line x1=\"15\" y1=\"9\" x2=\"21\" y2=\"15\" stroke=\"red\" stroke-width=\"2\"><\/line><line x1=\"21\" y1=\"9\" x2=\"15\" y2=\"15\" stroke=\"red\" stroke-width=\"2\"><\/line><\/svg>\r\n      <\/button>\r\n\r\n      <div id=\"subtitle-container\">\r\n        <button type=\"button\" class=\"ctrl-btn\" id=\"btnSubtitles\">\r\n          <svg viewBox=\"0 0 24 24\" stroke=\"white\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"><\/path><path d=\"M7 11h2\"><\/path><path d=\"M11 11h6\"><\/path><path d=\"M7 15h10\"><\/path><\/svg>\r\n        <\/button>\r\n        <div id=\"subtitle-menu\"><\/div>\r\n      <\/div>\r\n\r\n      <button type=\"button\" class=\"ctrl-btn\" id=\"btnDownload\" title=\"Download V\u00eddeo\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n            <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"><\/path>\r\n            <polyline points=\"7 10 12 15 17 10\"><\/polyline>\r\n            <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"><\/line>\r\n        <\/svg>\r\n      <\/button>\r\n\r\n      <button type=\"button\" class=\"ctrl-btn\" id=\"btnShare\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"white\" style=\"width: 18px; height: 18px;\"><path d=\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92c0-1.61-1.31-2.92-2.92-2.92z\"\/><\/svg>\r\n      <\/button>\r\n\r\n      <button type=\"button\" class=\"ctrl-btn\" id=\"btnFullscreen\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"><\/path><\/svg>\r\n      <\/button>\r\n    <\/div>\r\n    <input id=\"seek\" type=\"range\" min=\"0\" max=\"100\" value=\"0\" step=\"0.1\">\r\n  <\/div>\r\n\r\n  <div id=\"start-overlay\">\r\n    <button id=\"start-pill\" type=\"button\"><span id=\"start-icon\"><\/span>START STORY<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script>\r\n<script>\r\n(function(){\r\n  const wrap = document.getElementById('experience-wrap');\r\n  const video = document.getElementById('bunny-video');\r\n  const startBtn = document.getElementById('start-pill');\r\n  const startOverlay = document.getElementById('start-overlay');\r\n  const branding = document.getElementById('header-branding');\r\n  const comparisonContainer = document.getElementById('comparison-container');\r\n  const imgBeforeWrap = document.getElementById('img-before-wrap');\r\n  const compSlider = document.getElementById('comparison-slider');\r\n  const sliderLine = document.getElementById('slider-line');\r\n  const controls = document.getElementById('controls');\r\n  const seek = document.getElementById('seek');\r\n  const btnCloseVideo = document.getElementById('btnCloseVideo');\r\n  const btnSubtitles = document.getElementById('btnSubtitles');\r\n  const subtitleMenu = document.getElementById('subtitle-menu');\r\n  const subtitleDisplay = document.getElementById('custom-subtitles');\r\n  const languageBar = document.querySelector('.language-bar');\r\n\r\n  const HLS_URL = \"https:\/\/vz-081efaa2-712.b-cdn.net\/6985d0f3-3127-47af-988b-4d809d2adb49\/playlist.m3u8\";\r\n  const MP4_DOWNLOAD_URL = \"https:\/\/vz-081efaa2-712.b-cdn.net\/6985d0f3-3127-47af-988b-4d809d2adb49\/play_720p.mp4\";\r\n\r\n  const DEFAULT_SUBTITLE_LANG = 'ING';\r\n\r\n  const SUBTITLES_DATABASE = {\r\n     PT: {\r\n      pc: 'https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/pc.vtt',\r\n      tablet: 'https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Tablet.vtt',\r\n      smartphone: 'https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Smartphone.vtt'\r\n    },\r\n     ING: {\r\n      pc: 'https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Pc-ing.vtt',\r\n      tablet: 'https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Tablet-ing.vtt',\r\n      smartphone: 'https:\/\/virtualstory.info\/viladoconde\/wp-content\/uploads\/sites\/2\/2026\/01\/Smartphone-ing.vtt'\r\n    },\r\n  };\r\n\r\n  let hls;\r\n  let isVideoActive = false;\r\n  let controlsTimer;\r\n  const isiPhone = \/iPhone\/i.test(navigator.userAgent);\r\n\r\n  function getDeviceType() {\r\n    const ua = navigator.userAgent;\r\n    const width = window.innerWidth;\r\n    if (\/(tablet|ipad|playbook|silk)|(android(?!.*mobi))\/i.test(ua) || (width >= 768 && width <= 1024)) return 'tablet';\r\n    if (\/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile\/.test(ua) || width < 768) return 'smartphone';\r\n    return 'pc';\r\n  }\r\n\r\n  let lastRenderedHTML = \"\";\r\n\r\n  function isFullscreenActive() {\r\n    return !!(document.fullscreenElement || document.webkitFullscreenElement || video.webkitDisplayingFullscreen);\r\n  }\r\n\r\n  function getActiveSubtitleTrack() {\r\n    const tracks = Array.from(video.textTracks || []);\r\n    return tracks.find(t => t.mode === 'showing' || t.mode === 'hidden') || null;\r\n  }\r\n\r\n  function clearCustomSubtitles() {\r\n    if (lastRenderedHTML !== \"\") {\r\n      subtitleDisplay.innerHTML = \"\";\r\n      lastRenderedHTML = \"\";\r\n    }\r\n  }\r\n\r\n  function renderSubtitles(track) {\r\n    if (!track || track.mode === 'disabled') {\r\n      clearCustomSubtitles();\r\n      return;\r\n    }\r\n    \r\n    \/\/ Se estiver no iPhone em Fullscreen, as legendas nativas aparecem e o custom limpa.\r\n    if (track.mode === 'showing') {\r\n        clearCustomSubtitles();\r\n        return;\r\n    }\r\n\r\n    const cues = track.activeCues;\r\n    if (!cues || cues.length === 0) {\r\n      clearCustomSubtitles();\r\n      return;\r\n    }\r\n    let html = \"\";\r\n    for (let i = 0; i < cues.length; i++) {\r\n      const text = cues[i].text.replace(\/\\n\/g, '<br>');\r\n      html += `<span class=\"sub-line\">${text}<\/span>`;\r\n    }\r\n    if (html !== lastRenderedHTML) {\r\n      subtitleDisplay.innerHTML = html;\r\n      lastRenderedHTML = html;\r\n    }\r\n  }\r\n\r\n  \/\/ Monitoriza mudan\u00e7a de fullscreen para alternar entre modo nativo (iPhone) e custom (HTML)\r\n  function syncSubtitleMode() {\r\n    const isFS = isFullscreenActive();\r\n    const isNativeFS = isiPhone && video.webkitDisplayingFullscreen;\r\n\r\n    Array.from(video.textTracks).forEach(t => {\r\n      if (t.mode !== 'disabled') {\r\n        t.mode = (isiPhone && isFS) ? 'showing' : 'hidden';\r\n      }\r\n    });\r\n\r\n    if (isNativeFS) {\r\n      clearCustomSubtitles();\r\n      subtitleDisplay.classList.remove('lifted');\r\n    } else {\r\n      const active = getActiveSubtitleTrack();\r\n      if(active) {\r\n          subtitleDisplay.classList.add('lifted');\r\n          renderSubtitles(active);\r\n      }\r\n    }\r\n  }\r\n\r\n  video.addEventListener('webkitbeginfullscreen', syncSubtitleMode);\r\n  video.addEventListener('webkitendfullscreen', syncSubtitleMode);\r\n  document.addEventListener('fullscreenchange', syncSubtitleMode);\r\n\r\n  video.textTracks.onchange = (event) => {\r\n    const activeTrack = getActiveSubtitleTrack();\r\n    if (activeTrack) renderSubtitles(activeTrack);\r\n    else clearCustomSubtitles();\r\n  };\r\n\r\n  function injectSubtitles() {\r\n    const device = getDeviceType();\r\n    const vVersion = Date.now();\r\n    Array.from(video.querySelectorAll('track')).forEach(t => t.remove());\r\n    clearCustomSubtitles();\r\n    Object.keys(SUBTITLES_DATABASE).forEach((lang) => {\r\n      const trackElement = document.createElement('track');\r\n      trackElement.kind = 'subtitles';\r\n      trackElement.label = lang.toUpperCase();\r\n      trackElement.srclang = lang;\r\n      trackElement.src = SUBTITLES_DATABASE[lang][device] + \"?v=\" + vVersion;\r\n      \r\n      const isDefault = (lang === DEFAULT_SUBTITLE_LANG);\r\n\r\n      video.appendChild(trackElement);\r\n      trackElement.addEventListener('load', function() {\r\n        this.track.addEventListener('cuechange', () => renderSubtitles(this.track));\r\n        if (isDefault) {\r\n            \/\/ Inicialmente, se n\u00e3o estiver em fullscreen, usamos 'hidden' para ativar o custom lift\r\n            const isFS = isFullscreenActive();\r\n            this.track.mode = (isiPhone && isFS) ? 'showing' : 'hidden';\r\n            renderSubtitles(this.track);\r\n        }\r\n      });\r\n      \r\n      if (isDefault) {\r\n        trackElement.default = true;\r\n      } else {\r\n        trackElement.track.mode = 'disabled';\r\n      }\r\n    });\r\n    setTimeout(updateSubtitleMenu, 300);\r\n  }\r\n\r\n  function updateSubtitleMenu() {\r\n    subtitleMenu.innerHTML = '';\r\n    const btnOff = document.createElement('button');\r\n    btnOff.innerText = 'Legendas: Off';\r\n    btnOff.onclick = (e) => {\r\n      e.stopPropagation();\r\n      Array.from(video.textTracks).forEach(t => t.mode = 'disabled');\r\n      clearCustomSubtitles();\r\n      subtitleMenu.classList.remove('show');\r\n    };\r\n    subtitleMenu.appendChild(btnOff);\r\n    Array.from(video.textTracks).forEach((track) => {\r\n      const btn = document.createElement('button');\r\n      btn.innerText = track.label;\r\n      btn.onclick = (e) => {\r\n        e.stopPropagation();\r\n        Array.from(video.textTracks).forEach(t => t.mode = 'disabled');\r\n        const isFS = isFullscreenActive();\r\n        track.mode = (isiPhone && isFS) ? 'showing' : 'hidden';\r\n        renderSubtitles(track);\r\n        subtitleMenu.classList.remove('show');\r\n      };\r\n      subtitleMenu.appendChild(btn);\r\n    });\r\n  }\r\n\r\n  video.addEventListener('timeupdate', () => {\r\n    if (video.duration) seek.value = (video.currentTime \/ video.duration) * 100;\r\n    const activeTrack = getActiveSubtitleTrack();\r\n    if (activeTrack) renderSubtitles(activeTrack);\r\n    else clearCustomSubtitles();\r\n  });\r\n\r\n  video.addEventListener('loadedmetadata', () => {\r\n    const activeTrack = getActiveSubtitleTrack();\r\n    if (activeTrack) renderSubtitles(activeTrack);\r\n  });\r\n\r\n  video.addEventListener('ended', () => {\r\n    clearCustomSubtitles();\r\n  });\r\n\r\n  video.addEventListener('pause', () => {\r\n    const activeTrack = getActiveSubtitleTrack();\r\n    if (activeTrack) renderSubtitles(activeTrack);\r\n    else clearCustomSubtitles();\r\n  });\r\n\r\n  video.addEventListener('seeking', () => clearCustomSubtitles());\r\n  video.addEventListener('seeked', () => {\r\n    const activeTrack = getActiveSubtitleTrack();\r\n    if (activeTrack) renderSubtitles(activeTrack);\r\n  });\r\n\r\n  function updateIphoneRotation() {\r\n    if (isiPhone && isVideoActive) {\r\n      if (window.innerHeight > window.innerWidth) {\r\n        wrap.classList.add('force-landscape');\r\n      } else {\r\n        wrap.classList.remove('force-landscape');\r\n      }\r\n    }\r\n  }\r\n\r\n  let lastDevice = getDeviceType();\r\n  function handleDeviceChange() {\r\n    const now = getDeviceType();\r\n    if (now !== lastDevice) {\r\n      lastDevice = now;\r\n      if (isVideoActive) injectSubtitles();\r\n    }\r\n    updateIphoneRotation();\r\n  }\r\n  window.addEventListener('resize', handleDeviceChange);\r\n  window.addEventListener('orientationchange', handleDeviceChange);\r\n\r\n  async function lockLandscape() {\r\n    try {\r\n      if (screen.orientation && screen.orientation.lock) {\r\n        await screen.orientation.lock('landscape');\r\n      }\r\n    } catch (e) { console.warn(\"Erro ao rodar ecr\u00e3:\", e); }\r\n  }\r\n\r\n  function unlockOrientation() {\r\n    if (screen.orientation && screen.orientation.unlock) {\r\n      screen.orientation.unlock();\r\n    }\r\n  }\r\n\r\n  function toggleFullScreen(request) {\r\n    if (request) {\r\n      const docEl = wrap;\r\n      if (docEl.requestFullscreen) {\r\n        docEl.requestFullscreen().then(lockLandscape);\r\n      } else if (docEl.webkitRequestFullscreen) {\r\n        docEl.webkitRequestFullscreen().then(lockLandscape);\r\n      } else if (video.webkitEnterFullscreen) {\r\n        video.webkitEnterFullscreen();\r\n      }\r\n    } else {\r\n      if (document.exitFullscreen) {\r\n        document.exitFullscreen();\r\n      } else if (document.webkitExitFullscreen) {\r\n        document.webkitExitFullscreen();\r\n      }\r\n    }\r\n  }\r\n\r\n  function initHLS() {\r\n    injectSubtitles();\r\n    if (isiPhone || video.canPlayType('application\/vnd.apple.mpegurl')) {\r\n      video.src = HLS_URL;\r\n    } else if (Hls.isSupported()) {\r\n      if (hls) return;\r\n      hls = new Hls();\r\n      hls.loadSource(HLS_URL);\r\n      hls.attachMedia(video);\r\n    }\r\n  }\r\n\r\n  startBtn.addEventListener('click', function() {\r\n    isVideoActive = true;\r\n    startOverlay.style.display = 'none';\r\n    branding.style.display = 'none';\r\n    comparisonContainer.style.display = 'none';\r\n    languageBar.style.display = 'none';\r\n    video.style.display = 'block';\r\n    controls.classList.add('is-on');\r\n    btnCloseVideo.style.display = 'flex';\r\n    \r\n    \/\/ For\u00e7a o estado lifted imediatamente ao iniciar\r\n    subtitleDisplay.classList.add('lifted');\r\n    \r\n    initHLS();\r\n    if (isiPhone) {\r\n      video.load();\r\n      updateIphoneRotation();\r\n      video.play().catch(e => console.log(e));\r\n    } else {\r\n      toggleFullScreen(true);\r\n      video.play().catch(e => console.log(e));\r\n    }\r\n  });\r\n\r\n  compSlider.addEventListener('input', (e) => {\r\n    const val = e.target.value;\r\n    imgBeforeWrap.style.width = val + \"%\";\r\n    sliderLine.style.left = val + \"%\";\r\n  });\r\n\r\n  function showControls() {\r\n    if(!isVideoActive) return;\r\n    controls.classList.remove('hide-ui');\r\n    \r\n    const isNativeFS = isiPhone && video.webkitDisplayingFullscreen;\r\n    if (!isNativeFS) {\r\n      subtitleDisplay.classList.add('lifted');\r\n    }\r\n    \r\n    resetTimer();\r\n  }\r\n  \r\n  function hideControls() { \r\n    if (!video.paused) { \r\n        controls.classList.add('hide-ui'); \r\n        subtitleDisplay.classList.remove('lifted');\r\n    } \r\n  }\r\n  \r\n  function resetTimer() {\r\n    clearTimeout(controlsTimer);\r\n    if (!video.paused) controlsTimer = setTimeout(hideControls, 3000);\r\n  }\r\n  function togglePlay() { video.paused ? video.play() : video.pause(); }\r\n\r\n  btnCloseVideo.addEventListener('click', () => {\r\n    \/\/ 1. Pausa o v\u00eddeo e reseta o tempo\r\n    video.pause();\r\n    video.currentTime = 0;\r\n    \r\n    \/\/ 2. Atualiza o estado da aplica\u00e7\u00e3o\r\n    isVideoActive = false;\r\n    \r\n    \/\/ 3. Esconde os elementos do v\u00eddeo e controles\r\n    video.style.display = 'none';\r\n    controls.classList.remove('is-on');\r\n    btnCloseVideo.style.display = 'none';\r\n    clearCustomSubtitles();\r\n    \r\n    \/\/ 4. Mostra de volta os elementos da tela inicial\r\n    startOverlay.style.display = 'flex';\r\n    branding.style.display = 'flex';\r\n    comparisonContainer.style.display = 'block';\r\n    languageBar.style.display = 'flex';\r\n    \r\n    \/\/ 5. Remove travas de rota\u00e7\u00e3o e tela cheia\r\n    unlockOrientation();\r\n    wrap.classList.remove('force-landscape');\r\n    \r\n    if (document.fullscreenElement || document.webkitFullscreenElement) {\r\n        toggleFullScreen(false);\r\n    }\r\n  });\r\n\r\n  btnSubtitles.addEventListener('click', (e) => {\r\n    e.stopPropagation();\r\n    subtitleMenu.classList.toggle('show');\r\n  });\r\n\r\n  document.addEventListener('click', () => subtitleMenu.classList.remove('show'));\r\n\r\n  video.addEventListener('play', () => {\r\n    document.getElementById('svgPlay').style.display = 'none';\r\n    document.getElementById('svgPause').style.display = 'block';\r\n    resetTimer();\r\n    const activeTrack = getActiveSubtitleTrack();\r\n    if (activeTrack) renderSubtitles(activeTrack);\r\n  });\r\n\r\n  video.addEventListener('pause', () => {\r\n    document.getElementById('svgPlay').style.display = 'block';\r\n    document.getElementById('svgPause').style.display = 'none';\r\n    showControls();\r\n  });\r\n\r\n  document.getElementById('btnPlay').addEventListener('click', togglePlay);\r\n  video.addEventListener('click', togglePlay);\r\n  document.addEventListener('mousemove', showControls);\r\n  document.addEventListener('touchstart', showControls);\r\n\r\n  document.getElementById('btnRestart').addEventListener('click', (e) => {\r\n    e.stopPropagation();\r\n    video.currentTime = 0;\r\n    video.play();\r\n  });\r\n\r\n  document.getElementById('btnMute').addEventListener('click', (e) => {\r\n    e.stopPropagation();\r\n    video.muted = !video.muted;\r\n    document.getElementById('svgSound').style.display = video.muted ? 'none' : 'block';\r\n    document.getElementById('svgMuted').style.display = video.muted ? 'block' : 'none';\r\n  });\r\n\r\n  document.getElementById('btnDownload').addEventListener('click', async (e) => {\r\n    e.stopPropagation();\r\n    try {\r\n      document.getElementById('btnDownload').style.opacity = \"0.5\";\r\n      const response = await fetch(MP4_DOWNLOAD_URL);\r\n      const blob = await response.blob();\r\n      const url = window.URL.createObjectURL(blob);\r\n      const a = document.createElement('a');\r\n      a.style.display = 'none';\r\n      a.href = url;\r\n      a.download = 'Historia_Libertos.mp4';\r\n      document.body.appendChild(a);\r\n      a.click();\r\n      window.URL.revokeObjectURL(url);\r\n      document.body.removeChild(a);\r\n    } catch (error) {\r\n      console.error('Erro ao baixar v\u00eddeo:', error);\r\n      window.open(MP4_DOWNLOAD_URL, '_blank');\r\n    } finally {\r\n      document.getElementById('btnDownload').style.opacity = \"1\";\r\n    }\r\n  });\r\n\r\n  document.getElementById('btnShare').addEventListener('click', (e) => {\r\n    e.stopPropagation();\r\n    if (navigator.share) {\r\n      navigator.share({ title: 'Hist\u00f3ria Libertos', url: window.location.href });\r\n    } else {\r\n      alert(\"Link: \" + window.location.href);\r\n    }\r\n  });\r\n\r\n  seek.addEventListener('input', () => {\r\n    if (video.duration) video.currentTime = (seek.value \/ 100) * video.duration;\r\n    showControls();\r\n  });\r\n\r\n  document.getElementById('btnFullscreen').addEventListener('click', (e) => {\r\n    e.stopPropagation();\r\n    if (!document.fullscreenElement && !document.webkitFullscreenElement) {\r\n      toggleFullScreen(true);\r\n    } else {\r\n      toggleFullScreen(false);\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>13\/01\/1932 Farol do Aguilh\u00e3o Vila do conde 13\/01\/2026 \u2715 COMPLAINT BOOK | PRIVACY POLICY START STORY<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-1339","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Virtual Story - Farol do Aguilh\u00e3o<\/title>\n<meta name=\"description\" content=\"V\u00eddeo hist\u00f3ricos sobre o Farol do Aguilh\u00e3o em Vila do Conde.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Virtual Story - Farol do Aguilh\u00e3o\" \/>\n<meta property=\"og:description\" content=\"V\u00eddeo hist\u00f3ricos sobre o Farol do Aguilh\u00e3o em Vila do Conde.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual Story - Vila do Conde\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-14T10:30:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cm-viladoconde.pt\/cmviladoconde\/layout\/logo_viladoconde.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/\",\"url\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/\",\"name\":\"Virtual Story - Farol do Aguilh\u00e3o\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cm-viladoconde.pt\\\/cmviladoconde\\\/layout\\\/logo_viladoconde.svg\",\"datePublished\":\"2026-01-16T21:48:10+00:00\",\"dateModified\":\"2026-02-14T10:30:28+00:00\",\"description\":\"V\u00eddeo hist\u00f3ricos sobre o Farol do Aguilh\u00e3o em Vila do Conde.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cm-viladoconde.pt\\\/cmviladoconde\\\/layout\\\/logo_viladoconde.svg\",\"contentUrl\":\"https:\\\/\\\/www.cm-viladoconde.pt\\\/cmviladoconde\\\/layout\\\/logo_viladoconde.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/en\\\/farol-do-aguilhao-ingles\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Farol do Aguilh\u00e3o &#8211; Ingl\u00eas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/#website\",\"url\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/\",\"name\":\"Virtual Story - Vila do Conde\",\"description\":\"Conte\u00fado Multim\u00e9dia sobre Vila do Conde\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/virtualstory.info\\\/viladoconde\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Virtual Story - Farol do Aguilh\u00e3o","description":"V\u00eddeo hist\u00f3ricos sobre o Farol do Aguilh\u00e3o em Vila do Conde.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/","og_locale":"pt_PT","og_type":"article","og_title":"Virtual Story - Farol do Aguilh\u00e3o","og_description":"V\u00eddeo hist\u00f3ricos sobre o Farol do Aguilh\u00e3o em Vila do Conde.","og_url":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/","og_site_name":"Virtual Story - Vila do Conde","article_modified_time":"2026-02-14T10:30:28+00:00","og_image":[{"url":"https:\/\/www.cm-viladoconde.pt\/cmviladoconde\/layout\/logo_viladoconde.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/","url":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/","name":"Virtual Story - Farol do Aguilh\u00e3o","isPartOf":{"@id":"https:\/\/virtualstory.info\/viladoconde\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/#primaryimage"},"image":{"@id":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cm-viladoconde.pt\/cmviladoconde\/layout\/logo_viladoconde.svg","datePublished":"2026-01-16T21:48:10+00:00","dateModified":"2026-02-14T10:30:28+00:00","description":"V\u00eddeo hist\u00f3ricos sobre o Farol do Aguilh\u00e3o em Vila do Conde.","breadcrumb":{"@id":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/#primaryimage","url":"https:\/\/www.cm-viladoconde.pt\/cmviladoconde\/layout\/logo_viladoconde.svg","contentUrl":"https:\/\/www.cm-viladoconde.pt\/cmviladoconde\/layout\/logo_viladoconde.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/virtualstory.info\/viladoconde\/en\/farol-do-aguilhao-ingles\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtualstory.info\/viladoconde\/"},{"@type":"ListItem","position":2,"name":"Farol do Aguilh\u00e3o &#8211; Ingl\u00eas"}]},{"@type":"WebSite","@id":"https:\/\/virtualstory.info\/viladoconde\/#website","url":"https:\/\/virtualstory.info\/viladoconde\/","name":"Virtual Story - Vila do Conde","description":"Conte\u00fado Multim\u00e9dia sobre Vila do Conde","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtualstory.info\/viladoconde\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"}]}},"_links":{"self":[{"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/pages\/1339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/comments?post=1339"}],"version-history":[{"count":14,"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/pages\/1339\/revisions"}],"predecessor-version":[{"id":1452,"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/pages\/1339\/revisions\/1452"}],"wp:attachment":[{"href":"https:\/\/virtualstory.info\/viladoconde\/wp-json\/wp\/v2\/media?parent=1339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}