{"id":341,"date":"2025-08-21T11:09:10","date_gmt":"2025-08-21T14:09:10","guid":{"rendered":"https:\/\/www.firmontevideo.org\/?page_id=341"},"modified":"2026-02-06T14:01:15","modified_gmt":"2026-02-06T14:01:15","slug":"staff","status":"publish","type":"page","link":"https:\/\/www.firmontevideo.org\/en\/staff\/","title":{"rendered":"Staff"},"content":{"rendered":"<div class=\"brz brz-root__container brz-reset-all brz-root__container-page\">\n<section id=\"cSmbR9s5oD1Y_cSmbR9s5oD1Y\" class=\"brz-section brz-css-1fb9mwe brz-css-1eu96sn\">\n<div class=\"brz-section__content brz-section--boxed brz-css-16x7yo8 brz-css-1ua33kn\" data-brz-custom-id=\"aSuCsHT1zgB_\">\n<div class=\"brz-container brz-css-rpfbc0 brz-css-1j7skkm\">\n<div id=\"\" class=\"brz-css-1ge6a89 brz-css-v3e9h5 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-1pgkh8b brz-css-xxcucq\" data-brz-custom-id=\"pVMAhYP685JP\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-text-lg-center brz-tp-lg-empty brz-ff-overpass brz-ft-google brz-fs-lg-44 brz-fss-lg-px brz-fw-lg-700 brz-ls-lg-m_1_5 brz-lh-lg-1_4 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-dGYlP\" data-generated-css=\"brz-css-ydDYh\" data-uniq-id=\"lgoKN\"><span>Fir Montevideo Staff<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-1ge6a89 brz-css-r8c384 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-1pgkh8b brz-css-14wsmqq\" data-brz-custom-id=\"apED6SAooyID\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-text-lg-justify brz-tp-lg-empty brz-ff-overpass brz-ft-google brz-fs-lg-16 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_6 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-iPDBE translation-block\" data-uniq-id=\"bsNww\" data-generated-css=\"brz-css-upy8V\"><span class=\"brz-cp-color7\">The <\/span><strong class=\"brz-cp-color7\">FIR Montevideo<\/strong><span class=\"brz-cp-color7\"> has a team of controllers and pilots who are passionate about virtual aviation.<\/span><\/p>\n<p class=\"brz-text-lg-justify brz-tp-lg-empty brz-ff-overpass brz-ft-google brz-fs-lg-16 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_6 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-elhVo translation-block\" data-uniq-id=\"qWXvb\" data-generated-css=\"brz-css-iXcyx\"><span class=\"brz-cp-color7\">Each staff member works voluntarily to provide support, train new controllers, organize events, and ensure that all users enjoy a professional and realistic experience within <\/span><strong class=\"brz-cp-color7\">VATSIM<\/strong><span class=\"brz-cp-color7\">.<\/span><\/p>\n<p class=\"brz-text-lg-justify brz-tp-lg-empty brz-ff-overpass brz-ft-google brz-fs-lg-16 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_6 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-iKd8T\" data-uniq-id=\"dtv_f\" data-generated-css=\"brz-css-rMcRN\"><span class=\"brz-cp-color7\">We are committed to community growth, offering support to both beginners and more experienced users.<\/span><\/p>\n<p class=\"brz-text-lg-justify brz-tp-lg-empty brz-ff-overpass brz-ft-google brz-fs-lg-16 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_6 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-xumwl\" data-uniq-id=\"tttVS\" data-generated-css=\"brz-css-oL8A6\"><span class=\"brz-cp-color7\">Here you can meet those who make our FIR possible:<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-1ge6a89 brz-css-gi53hd brz-css-kdu2wi brz-wrapper\">\n<div class=\"brz-spacer brz-css-iz8bb7 brz-css-hmuycs\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-1ge6a89 brz-css-ztylyf brz-wrapper\">\n<div class=\"brz-embed-code brz-css-1vwdchg brz-css-lt0y92\" data-brz-custom-id=\"lLm74jzSko6z\">\n<div class=\"brz-embed-content\">\n<div>\n  #vatsur-staff-wrap,<br \/>\n  #vatsur-staff-wrap * {<br \/>\n    font-family: &#8220;Overpass&#8221;, -apple-system, BlinkMacSystemFont, &#8220;Segoe UI&#8221;,<br \/>\n                 Roboto, Oxygen, Ubuntu, Cantarell, &#8220;Helvetica Neue&#8221;, Arial, sans-serif;<br \/>\n    box-sizing: border-box;<br \/>\n  }<\/p>\n<p>  \/* Tabla normal (desktop) *\/<br \/>\n  #vatsur-staff {<br \/>\n    border-collapse: collapse;<br \/>\n    width: 100%;<br \/>\n  }<br \/>\n  #vatsur-staff th,<br \/>\n  #vatsur-staff td {<br \/>\n    border: 1px solid #e5e7eb;<br \/>\n    padding: 8px 12px;<br \/>\n    vertical-align: top;<br \/>\n  }<br \/>\n  #vatsur-staff thead th {<br \/>\n    text-align: left;<br \/>\n    background: #0b1220;<br \/>\n    color: #fff;<br \/>\n    font-weight: 700;<br \/>\n  }<\/p>\n<p>  \/* Enlaces y texto largos *\/<br \/>\n  #vatsur-staff a {<br \/>\n    color: #0b1220;<br \/>\n    text-decoration: none;<br \/>\n    font-weight: 600;<br \/>\n    word-break: break-word;<br \/>\n  }<br \/>\n  #vatsur-staff td {<br \/>\n    color: #0f172a;<br \/>\n  }<\/p>\n<p>  \/* ===== Responsive: tarjetas en m\u00f3vil ===== *\/<br \/>\n  @media (max-width: 640px) {<br \/>\n    \/* Ocultamos el header y convertimos todo en bloques *\/<br \/>\n    #vatsur-staff thead {<br \/>\n      display: none;<br \/>\n    }<br \/>\n    #vatsur-staff,<br \/>\n    #vatsur-staff tbody,<br \/>\n    #vatsur-staff tr,<br \/>\n    #vatsur-staff td {<br \/>\n      display: block;<br \/>\n      width: 100%;<br \/>\n      border: 0;<br \/>\n    }<\/p>\n<p>    \/* Cada fila -&gt; tarjeta *\/<br \/>\n    #vatsur-staff tbody tr {<br \/>\n      margin: 10px 0;<br \/>\n      padding: 12px;<br \/>\n      border: 1px solid #e5e7eb;<br \/>\n      border-radius: 12px;<br \/>\n      box-shadow: 0 2px 8px rgba(0,0,0,0.04);<br \/>\n      background: #fff;<br \/>\n    }<\/p>\n<p>    \/* Celdas dentro de la tarjeta *\/<br \/>\n    #vatsur-staff tbody td {<br \/>\n      padding: 10px 0;<br \/>\n      display: grid;<br \/>\n      grid-template-columns: 120px 1fr; \/* etiqueta + valor *\/<br \/>\n      gap: 6px 10px;<br \/>\n      align-items: start;<br \/>\n      border-bottom: 1px solid #f1f5f9;<br \/>\n    }<br \/>\n    #vatsur-staff tbody td:last-child {<br \/>\n      border-bottom: 0;<br \/>\n      padding-bottom: 0;<br \/>\n    }<br \/>\n    #vatsur-staff tbody td:first-child {<br \/>\n      padding-top: 0;<br \/>\n    }<\/p>\n<p>    \/* Etiqueta (desde data-label) *\/<br \/>\n    #vatsur-staff tbody td::before {<br \/>\n      content: attr(data-label);<br \/>\n      font-weight: 700;<br \/>\n      color: #334155;<br \/>\n    }<\/p>\n<p>    \/* Mejoras de lectura *\/<br \/>\n    #vatsur-staff a {<br \/>\n      word-break: break-all;<br \/>\n    }<br \/>\n  }<\/p>\n<div id=\"vatsur-staff-wrap\">\n<table id=\"vatsur-staff\">\n<thead>\n<tr>\n<th>CID<\/th>\n<th>Name<\/th>\n<th>Position<\/th>\n<th>Contact<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td colspan=\"4\" style=\"border:1px solid #e5e7eb;padding:8px 12px\">Loading...<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>(function(){<br \/>\n  const TBL = document.querySelector(&#8216;#vatsur-staff tbody&#8217;);<\/p>\n<p>  async function loadStaff(){<br \/>\n    try{<br \/>\n      const res = await fetch(&#8216;\/vatsur_staff_proxy.php?limit=100&#8217;); \/\/ tu proxy en el mismo dominio<br \/>\n      if(!res.ok) throw new Error(&#8216;HTTP &#8216;+res.status);<br \/>\n      const rows = await res.json();<\/p>\n<p>      if(!Array.isArray(rows) || rows.length===0){<br \/>\n        TBL.innerHTML = &#8216;<\/p>\n<tr>\n<td colspan=\"4\" style=\"border:1px solid #e5e7eb;padding:8px 12px\">Sin datos<\/td>\n<\/tr>\n<p>&#8216;;<br \/>\n        return;<br \/>\n      }<\/p>\n<p>      TBL.innerHTML = rows.map(it=&gt;{<br \/>\n        const cid    = it.cid ?? &#8221;;<br \/>\n        const nombre = ((it.nombre??&#8221;)+&#8217; &#8216;+(it.apellido??&#8221;)).trim();<br \/>\n        const puesto = it.puesto ?? &#8221;;<br \/>\n        const email  = it.email ?? &#8221;;<\/p>\n<p>        const contacto = email<br \/>\n          ? `<a href=\"mailto:${encodeURIComponent(email)}\">${email}<\/a>`<br \/>\n          : &#8221;;<\/p>\n<p>        const cidLink  = cid<br \/>\n          ? `<a href=\"https:\/\/stats.vatsim.net\/search_id.php?id=${encodeURIComponent(cid)}\" target=\"_blank\" rel=\"noopener\">${cid}<\/a>`<br \/>\n          : &#8221;;<\/p>\n<p>        \/* data-label en cada td para que el CSS m\u00f3vil muestre la \u201cetiqueta\u201d *\/<br \/>\n        return `<\/p>\n<tr>\n<td data-label=\"CID\">${cidLink || &#8221;}<\/td>\n<td data-label=\"Nombre\">${nombre || &#8221;}<\/td>\n<td data-label=\"Puesto\">${puesto || &#8221;}<\/td>\n<td data-label=\"Contacto\">${contacto || &#8221;}<\/td>\n<\/tr>\n<p>`;<br \/>\n      }).join(&#8221;);<br \/>\n    }catch(err){<br \/>\n      const safe = String(err).replace(\/[&amp;]\/g, &#8221;);<br \/>\n      TBL.innerHTML = `<\/p>\n<tr>\n<td colspan=\"4\" style=\"border:1px solid #e5e7eb;padding:8px 12px;color:#b91c1c\">Error: ${safe}<\/td>\n<\/tr>\n<p>`;<br \/>\n    }<br \/>\n  }<\/p>\n<p>  if(document.readyState===&#8217;loading&#8217;) document.addEventListener(&#8216;DOMContentLoaded&#8217;, loadStaff);<br \/>\n  else loadStaff();<br \/>\n})();<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-1ge6a89 brz-css-gi53hd brz-css-5mk8sx brz-wrapper\">\n<div class=\"brz-spacer brz-css-iz8bb7 brz-css-1wiaj5l\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section><\/div>\n<p><!-- version:1762558362 --><\/p>","protected":false},"excerpt":{"rendered":"<p>Staff del Fir Montevideo El FIR Montevideo cuenta con un equipo de controladores y pilotos apasionados por la aviaci\u00f3n virtual. Cada miembro del staff trabaja de forma voluntaria para brindar soporte, entrenar nuevos controladores, organizar eventos y asegurar que todos los usuarios disfruten de una experiencia profesional y realista dentro de VATSIM. Estamos comprometidos con &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.firmontevideo.org\/en\/staff\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Staff&#8221;<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"brizy-blank-template.php","meta":{"nf_dc_page":"","footnotes":""},"class_list":["post-341","page","type-page","status-publish","hentry","entry"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/pages\/341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/comments?post=341"}],"version-history":[{"count":16,"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/pages\/341\/revisions"}],"predecessor-version":[{"id":2229,"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/pages\/341\/revisions\/2229"}],"wp:attachment":[{"href":"https:\/\/www.firmontevideo.org\/en\/wp-json\/wp\/v2\/media?parent=341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}