PageSourceSearch

https://itb.edu.ec/Mensaje

html itb.edu.ec collected 2026-09-24 10:27:14 UTC 117,938 bytes, 1,445 lines download raw bytes

1<!doctype html>
2<html lang="en">
3<head>
4<script  id="debugbar_loader" data-time="1790245633.860145" src="https://itb.edu.ec/?debugbar"></script>
4<script  id="debugbar_dynamic_script"></script>
4<style  id="debugbar_dynamic_style"></style>
4<script class="kint-rich-script">"use strict";(()=>{function m(n){if(!(n instanceof Element))throw new Error("Invalid argument to dedupeElement()");let t=n.ownerDocument,e=E(n);for(let s of t.querySelectorAll(e))n!==s&&s.parentNode.removeChild(s)}function d(n){return n instanceof Element?n.ownerDocument.contains(n):!1}function E(n){if(!(n instanceof Element))throw new Error("Invalid argument to buildClassSelector()");return[n.nodeName,...n.classList].join(".")}function f(n){if(!(n instanceof Element))throw new Error("Invalid argument to selectText()");let t=n.ownerDocument,e=t.getSelection(),s=t.createRange();s.selectNodeContents(n),e.removeAllRanges(),e.addRange(s)}function I(n,t){let e;return function(...s){clearTimeout(e),e=setTimeout(function(){n(...s)},t)}}function x(n){if(!(n instanceof Element))throw new Error("Invalid argument to offsetTop()");return n.offsetTop+(n.offsetParent?x(n.offsetParent):0)}var u=class n{static#e=new Set;static toggleSearchBox(t,e){let s=t.querySelector(".kint-search"),i=t.parentNode;if(s)if(s.classList.toggle("kint-show",e)){if(s.focus(),s.select(),!n.#e.has(s)){let r=i.querySelectorAll("dl").length,o=200;r>1e4&&(o=700),s.addEventListener("keyup",I(n.#t.bind(null,s),o)),n.#e.add(s)}n.#t(s)}else i.classList.remove("kint-search-root")}static#t(t){let e=t.closest(".kint-parent")?.parentNode;if(e)if(t.classList.contains("kint-show")&&t.value.length){let s=e.dataset.lastSearch;if(e.classList.add("kint-search-root"),s!==t.value){e.dataset.lastSearch=t.value,e.classList.remove("kint-search-match");for(let i of e.querySelectorAll(".kint-search-match"))i.classList.remove("kint-search-match");n.#s(e,t.value.toUpperCase())}}else e.classList.remove("kint-search-root")}static#s(t,e){let s=t.cloneNode(!0);for(let c of s.querySelectorAll(".access-path"))c.remove();if(!s.textContent.toUpperCase().includes(e))return;t.classList.add("kint-search-match");let i=t.firstElementChild;for(;i&&i.tagName!=="DT";)i=i.nextElementSibling;if(!i)return;let r=a.getChildContainer(i);if(!r)return;let o,l;for(let c of r.children)c.tagName==="DL"?n.#s(c,e):c.tagName==="UL"&&(c.classList.contains("kint-tabs")?o=c.children:c.classList.contains("kint-tab-contents")&&(l=c.children));if(!(!o||o.length!==l?.length))for(let c=o.length;c--;){let k=!1,F=!1;o[c].textContent.toUpperCase().includes(e)&&(k=!0);let O=l[c].cloneNode(!0);for(let v of O.querySelectorAll(".access-path"))v.remove();if(O.textContent.toUpperCase().includes(e)&&(k=!0,F=!0),k&&o[c].classList.add("kint-search-match"),F)for(let v of l[c].children)v.tagName==="DL"&&n.#s(v,e)}}};var g=class{static sort(t,e){let s=t.dataset.kintTableSort,i=parseInt(s)===e?-1:1,r=t.tBodies[0];[...r.rows].sort(function(o,l){o=o.cells[e].textContent.trim().toLocaleLowerCase(),l=l.cells[e].textContent.trim().toLocaleLowerCase();let c=0;return!isNaN(o)&&!isNaN(l)?(o=parseFloat(o),l=parseFloat(l),c=o-l):isNaN(o)&&!isNaN(l)?c=1:isNaN(l)&&!isNaN(o)?c=-1:c=(""+o).localeCompare(""+l),c*i}).forEach(o=>r.appendChild(o)),i<0?t.dataset.kintTableSort=null:t.dataset.kintTableSort=e}};var a=class n{#e;#t;#s;constructor(t){if(!(t instanceof h))throw new Error("Invalid argument to Rich.constructor()");this.#e=t,this.#e.runOnInit(this.#i.bind(this));let e=new q(this,t);new b(this,t.window,e)}#i(){let t=this.#e.window.document;if(d(this.#t)||(this.#t=t.querySelector("style.kint-rich-style")),this.#t&&m(this.#t),t.querySelector(".kint-rich.kint-file")){this.setupFolder(t);let e=this.#s.querySelector("dd.kint-foldout"),s=Array.from(t.querySelectorAll(".kint-rich.kint-file"));for(let i of s)i.parentNode!==e&&e.appendChild(i);this.#s.classList.add("kint-show")}}addToFolder(t){let e=t.closest(".kint-rich");if(!e)throw new Error("Bad addToFolder");let s=this.#e.window.document;if(this.setupFolder(s),this.folder.contains(t))throw new Error("Bad addToFolder");let i=this.#s.querySelector("dd.kint-foldout"),r=t.closest(".kint-parent, .kint-rich"),o=Array.from(e.querySelectorAll(".kint-folder-trigger"));if(e===r||e.querySelectorAll(".kint-rich > dl").length===1){for(let l of o)l.remove();e.classList.add("kint-file"),i.insertBefore(e,i.firstChild)}else{let l=s.createElement("div");l.classList.add("kint-rich"),l.classList.add("kint-file"),l.appendChild(r.closest(".kint-rich > dl"));let c=e.lastElementChild;c.matches(".kint-rich > footer")&&l.appendChild(c.cloneNode(!0));for(let k of o)k.remove();i.insertBefore(l,i.firstChild)}n.toggle(this.#s.querySelector(".kint-parent"),!0)}setupFolder(t){if(this.#s)d(this.#s)||(this.#s=t.querySelector(".kint-rich.kint-folder"));else{let e=t.createElement("template");e.innerHTML='<div class="kint-rich kint-folder"><dl><dt class="kint-parent"><nav></nav>Kint</dt><dd class="kint-foldout"></dd></dl></div>',this.#s=e.content.firstChild,t.body.appendChild(this.#s)}}get folder(){return d(this.#s)||(this.#s=this.#e.window.document.querySelector(".kint-rich.kint-folder")),this.#s&&m(this.#s),this.#s}isFolderOpen(){let t=this.#s?.querySelector("dd.kint-foldout");if(t)return t.previousSibling.classList.contains("kint-show")}static getChildContainer(t){let e=t.nextElementSibling;for(;e&&!e.matches("dd");
4)e=e.nextElementSibling;return e}static toggle(t,e){let s=n.getChildContainer(t);s&&(e=t.classList.toggle("kint-show",e),n.#n(s,e))}static switchTab(t){t.parentNode.getElementsByClassName("kint-active-tab")[0].classList.remove("kint-active-tab"),t.classList.add("kint-active-tab");let e=t,s=0;for(;e=e.previousElementSibling;)s++;let i=t.parentNode.nextSibling.children;for(let r=i.length;r--;)r===s?(i[r].classList.add("kint-show"),n.#n(i[r],!0)):i[r].classList.remove("kint-show")}static toggleChildren(t,e){let s=n.getChildContainer(t);if(!s)return;e===void 0&&(e=t.classList.contains("kint-show"));let i=Array.from(s.getElementsByClassName("kint-parent"));for(let r of i)r.classList.toggle("kint-show",e)}static toggleAccessPath(t,e){let s=t.querySelector(".access-path");s?.classList.toggle("kint-show",e)&&f(s)}static#n(t,e){if(t.children.length===2&&t.lastElementChild.matches("ul.kint-tab-contents"))for(let s of t.lastElementChild.children)s.matches("li.kint-show")&&(t=s);if(t.children.length===1&&t.firstElementChild.matches("dl")){let s=t.firstElementChild.firstElementChild;s?.classList?.contains("kint-parent")&&n.toggle(s,e)}}},b=class{#e;#t;#s;#i=null;#n=null;#o=0;constructor(t,e,s){this.#e=t,this.#t=s,this.#s=e,this.#s.addEventListener("click",this.#a.bind(this),!0)}#r(){clearTimeout(this.#i),this.#i=setTimeout(this.#l.bind(this),250)}#l(){clearTimeout(this.#i),this.#i=null,this.#n=null,this.#o=0}#c(){let t=this.#n;if(!t.matches(".kint-parent > nav"))return;let e=t.parentNode;if(this.#o===1)a.toggleChildren(e),this.#t.onTreeChanged(),this.#r(),this.#o=2;else if(this.#o===2){this.#l();let s=e.classList.contains("kint-show"),i=this.#e.folder?.querySelector(".kint-parent"),r=Array.from(this.#s.document.getElementsByClassName("kint-parent"));for(let o of r)o!==i&&o.classList.toggle("kint-show",s);this.#t.onTreeChanged(),this.#t.scrollToFocus()}}#a(t){if(this.#o){this.#c();return}let e=t.target;if(!e.closest(".kint-rich"))return;if(e.tagName==="DFN"&&f(e),e.tagName==="TH"){t.ctrlKey||g.sort(e.closest("table"),e.cellIndex);return}if(e.tagName==="LI"&&e.parentNode.className==="kint-tabs"){if(e.className!=="kint-active-tab"){let i=e.closest("dl")?.querySelector(".kint-parent > nav")??e;a.switchTab(e),this.#t.onTreeChanged(),this.#t.setCursor(i)}return}let s=e.closest("dt");if(e.tagName==="NAV")e.parentNode.tagName==="FOOTER"?(this.#t.setCursor(e),e.parentNode.classList.toggle("kint-show")):s?.classList.contains("kint-parent")&&(a.toggle(s),this.#t.onTreeChanged(),this.#t.setCursor(e),this.#r(),this.#o=1,this.#n=e);else if(e.classList.contains("kint-access-path-trigger"))s&&a.toggleAccessPath(s);else if(e.classList.contains("kint-search-trigger"))s?.matches(".kint-rich > dl > dt.kint-parent")&&u.toggleSearchBox(s);else if(e.classList.contains("kint-folder-trigger")){if(s?.matches(".kint-rich > dl > dt.kint-parent"))this.#e.addToFolder(e),this.#t.onTreeChanged(),this.#t.setCursor(s.querySelector("nav")),this.#t.scrollToFocus();else if(e.parentNode.tagName==="FOOTER"){let i=e.closest(".kint-rich").querySelector(".kint-parent > nav, .kint-rich > footer > nav");this.#e.addToFolder(e),this.#t.onTreeChanged(),this.#t.setCursor(i),this.#t.scrollToFocus()}}else e.classList.contains("kint-search")||(e.tagName==="PRE"&&t.detail===3?f(e):e.closest(".kint-source")&&t.detail===3?f(e.closest(".kint-source")):e.classList.contains("access-path")?f(e):e.tagName!=="A"&&s?.classList.contains("kint-parent")&&(a.toggle(s),this.#t.onTreeChanged(),this.#t.setCursor(s.querySelector("nav"))))}},j=65,G=68,A=70,S=72,K=74,D=75,p=76,V=83,P=9,T=13,B=27,L=32,N=37,R=38,C=39,H=40,M=".kint-rich .kint-parent > nav, .kint-rich > footer > nav, .kint-rich .kint-tabs > li:not(.kint-active-tab)",q=class{#e=[];#t=0;#s=!1;#i;#n;constructor(t,e){this.#i=t,this.#n=e.window,this.#n.addEventListener("keydown",this.#c.bind(this),!0),e.runOnInit(this.onTreeChanged.bind(this))}scrollToFocus(){let t=this.#e[this.#t];if(!t)return;let e=this.#i.folder;if(t===e?.querySelector(".kint-parent > nav"))return;let s=x(t);if(this.#i.isFolderOpen()){let i=e.querySelector("dd.kint-foldout");i.scrollTo(0,s-i.clientHeight/2)}else this.#n.scrollTo(0,s-this.#n.innerHeight/2)}onTreeChanged(){let t=this.#e[this.#t];this.#e=[];let e=this.#i.folder,s=e?.querySelector(".kint-parent > nav"),i=this.#n.document;this.#i.isFolderOpen()&&(i=e,this.#e.push(s));let r=Array.from(i.querySelectorAll(M));for(let o of r)o.offsetParent!==null&&o!==s&&this.#e.push(o);if(s&&!this.#i.isFolderOpen()&&this.#e.push(s),this.#e.length===0){this.#s=!1,this.#r();return}t&&this.#e.indexOf(t)!==-1?this.#t=this.#e.indexOf(t):this.#r()}setCursor(t){if(this.#i.isFolderOpen()&&!this.#i.folder.contains(t)||!t.matches(M))return!1;let e=this.#e.indexOf(t);if(e===-1&&(this.onTreeChanged(),e=this.#e.indexOf(t)),e!==-1){if(e!==this.#t)return this.#t=e,this.#r(),!0;this.#e[e]?.classList.remove("kint-weak-focus")}else console.error("setCursor failed to find target in list",t),console.info("Please report this as a bug in Kint at https://github.com/kint-php/kint");return!1}#o(t){if(this.#e.length===0)return this.#t=0,null;for(this.#t+=t;this.#t<0;)this.#t+=this.#e.length;for(;this.#t>=this.#e.length;)this.#t-=this.#e.length;return this.#r(),this.#t}#r(){let t=this.#n.document.querySelector(".kint-focused");t&&(t.classList.remove("kint-focused"),t.classList.remove("kint-weak-focus")),this.#s&&this.#e[this.#t]?.classList.add("kint-focused")}#l(t){let e=t.closest(".kint-rich .kint-parent ~ dd")?.parentNode.querySelector(".kint-parent > nav");e&&(this.setCursor(e),this.scrollToFocus())}#c(t){if(this.#s&&t.keyCode===B&&t.target.matches(".kint-search")){t.target.blur(),this.#r();return}if(t.target!==this.#n.document.body||t.altKey||t.ctrlKey)return;if(t.keyCode===G){if(this.#s)this.#s=!1;else{if(this.#s=!0,this.onTreeChanged(),this.#e.length===0){this.#s=!1;return}this.scrollToFocus()}this.#r(),t.preventDefault();return}else if(t.keyCode===B){this.#s&&(this.#s=!1,this.#r(),t.preventDefault());return}else if(!this.#s)return;t.preventDefault(),d(this.#e[this.#t])||this.onTreeChanged();let e=this.#e[this.#t];if([P,R,D,H,K].includes(t.keyCode)){t.keyCode===P?this.#o(t.shiftKey?-1:1):t.keyCode===R||t.keyCode===D?this.#o(-1):(t.keyCode===H||t.keyCode===K)&&this.#o(1),this.scrollToFocus();return}if(e.tagName==="LI"&&[L,T,C,p,N,S].includes(t.keyCode)){t.keyCode===L||t.keyCode===T?(a.switchTab(e),this.onTreeChanged()):t.keyCode===C||t.keyCode===p?this.#o(1):(t.keyCode===N||t.keyCode===S)&&this.#o(-1),this.scrollToFocus();return}if(e.parentNode.tagName==="FOOTER"&&e.closest(".kint-rich")){if(t.keyCode===L||t.keyCode===T)e.parentNode.classList.toggle("kint-show");else if(t.keyCode===N||t.keyCode===S)if(e.parentNode.classList.contains("kint-show"))e.parentNode.classList.remove("kint-show");else{this.#l(e.closest(".kint-rich"));return}else if(t.keyCode===C||t.keyCode===p)e.parentNode.classList.add("kint-show");else if(t.keyCode===A&&!this.#i.isFolderOpen()&&e.matches(".kint-rich > footer > nav")){let i=e.closest(".kint-rich").querySelector(".kint-parent > nav, .kint-rich > footer > nav");this.#i.addToFolder(e),this.onTreeChanged(),this.setCursor(i),this.scrollToFocus()}return}let s=e.closest(".kint-parent");
4if(s){if(t.keyCode===j){a.toggleAccessPath(s);return}if(t.keyCode===A){!this.#i.isFolderOpen()&&s.matches(".kint-rich:not(.kint-folder) > dl > .kint-parent")&&(this.#i.addToFolder(e),this.onTreeChanged(),this.setCursor(e),this.scrollToFocus());return}if(t.keyCode===V){let i=s.closest(".kint-rich > dl")?.querySelector(".kint-search")?.closest(".kint-parent");if(i){e.classList.add("kint-weak-focus"),u.toggleSearchBox(i,!0);return}}if(t.keyCode===L||t.keyCode===T){a.toggle(s),this.onTreeChanged();return}if([C,p,N,S].includes(t.keyCode)){let i=s.classList.contains("kint-show");if(t.keyCode===C||t.keyCode===p){i&&a.toggleChildren(s,!0),a.toggle(s,!0),this.onTreeChanged();return}else if(i){a.toggleChildren(s,!1),a.toggle(s,!1),this.onTreeChanged();return}else{this.#l(s);return}}}}};var y=class{#e;#t;constructor(t){if(!(t instanceof h))throw new Error("Invalid argument to Plain.constructor()");this.#e=t.window,t.runOnInit(this.#s.bind(this))}#s(){d(this.#t)||(this.#t=this.#e.document.querySelector("style.kint-plain-style")),this.#t&&m(this.#t)}};var w=class{#e;constructor(t){if(!(t instanceof h))throw new Error("Invalid argument to Microtime.constructor()");this.#e=t.window,t.runOnInit(this.#t.bind(this))}#t(){let t={},e=this.#e.document.querySelectorAll("[data-kint-microtime-group]");for(let s of e){let i=s.querySelector(".kint-microtime-lap");if(!i)continue;let r=s.dataset.kintMicrotimeGroup,o=parseFloat(i.textContent),l=parseFloat(s.querySelector(".kint-microtime-avg").textContent);t[r]??={min:o,max:o,avg:l},t[r].min>o&&(t[r].min=o),t[r].max<o&&(t[r].max=o),t[r].avg=l}for(let s of e){let i=s.querySelector(".kint-microtime-lap");if(!i)continue;let r=parseFloat(i.textContent),o=t[s.dataset.kintMicrotimeGroup];if(s.querySelector(".kint-microtime-avg").textContent=o.avg,!(r===o.min&&r===o.max))if(s.classList.add("kint-microtime-js"),r>o.avg){let l=(r-o.avg)/(o.max-o.avg);i.style.background="hsl("+(40-40*l)+", 100%, 65%)"}else{let l=0;o.avg!==o.min&&(l=(o.avg-r)/(o.avg-o.min)),i.style.background="hsl("+(40+80*l)+", 100%, 65%)"}}}};var U=Symbol(),h=class n{static#e=null;#t;#s=[];#i=new Set;static init(t){return n.#e??=new n(t,U),n.#e.#n(),n.#e.runOnLoad(n.#r),n.#e}get window(){return this.#t}constructor(t,e){if(U!==e)throw new Error("Kint constructor is private. Use Kint.init()");if(!(t instanceof Window))throw new Error("Invalid argument to Kint.init()");this.#t=t,this.runOnInit(this.#o.bind(this)),new y(this),new a(this),new w(this)}runOnLoad(t){if(this.#t.document.readyState==="complete")try{t()}catch{}else this.#t.addEventListener("load",t)}runOnInit(t){this.#s.push(t)}#n(){this.#t.document.currentScript&&(this.#i.add(E(window.document.currentScript)),window.document.currentScript.remove())}#o(){for(let t of this.#i.keys())for(let e of this.#t.document.querySelectorAll(t))e.remove()}static#r(){for(let t of n.#e.#s)t()}};window.Kint||(window.Kint=h);window.Kint.init(window);})();
5</script>
5<style class="kint-rich-style">.kint-rich{--spacing: 4px;--nav-size: 15px;--backdrop-color: rgba(255, 255, 255, 0.9);--main-background: #e0eaef;--secondary-background: #c1d4df;--text-color: #1d1e1e;--variable-name-color: #1d1e1e;--variable-type-color: #0092db;--variable-type-color-hover: #5cb730;--border-color: #b6cedb;--border-color-hover: #0092db;--border: 1px solid var(--border-color);--foldout-max-size: calc(100vh - 100px);--foldout-zindex: 999999;--caret-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 150'><g stroke-width='2' fill='%23FFF'><path d='M1 1h28v28H1zm5 14h18m-9 9V6M1 61h28v28H1zm5 14h18' stroke='%23379'/><path d='M1 31h28v28H1zm5 14h18m-9 9V36M1 91h28v28H1zm5 14h18' stroke='%235A3'/><path d='M1 121h28v28H1zm5 5l18 18m-18 0l18-18' stroke='%23CCC'/></g></svg>");--ap-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><g stroke='%23000' fill='transparent'><path d='M2 8h3m3 3v3M8 2v3m3 3h3M3 8' stroke-width='2' stroke-linecap='round'/><circle stroke-width='1.5' r='4.5' cx='8' cy='8'/></g></svg>");--folder-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2 2h4l2 2h6v9H2V2h2' stroke-width='2' stroke='%23000' fill='transparent' stroke-linejoin='round'/></svg>");--search-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><g stroke='%23000' fill='transparent'><path d='M2 14l3-3' stroke-linecap='round' stroke-width='3'/><circle stroke-width='2' r='5' cx='9' cy='7'/></g></svg>");font-size:13px;overflow-x:auto;white-space:nowrap;background:var(--backdrop-color);direction:ltr;contain:content}.kint-rich.kint-folder{position:fixed;bottom:0;left:0;right:0;z-index:var(--foldout-zindex);width:100%;margin:0;display:block}.kint-rich.kint-folder dd.kint-foldout{max-height:var(--foldout-max-size);padding-right:calc(var(--spacing)*2);overflow-y:scroll;display:none}.kint-rich.kint-folder dd.kint-foldout.kint-show{display:block}.kint-rich::selection{background:var(--border-color-hover);color:var(--text-color)}.kint-rich .kint-focused{box-shadow:0 0 3px 3px var(--variable-type-color-hover)}.kint-rich .kint-focused.kint-weak-focus{box-shadow:0 0 3px 1px color-mix(in srgb, var(--variable-type-color-hover) 50%, transparent)}.kint-rich,.kint-rich::before,.kint-rich::after,.kint-rich *,.kint-rich *::before,.kint-rich *::after{box-sizing:border-box;border-radius:0;color:var(--text-color);float:none !important;font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;line-height:15px;margin:0;padding:0;text-align:left}.kint-rich{margin:calc(var(--spacing)*2) 0}.kint-rich dt,.kint-rich dl{width:auto}.kint-rich dt,.kint-rich div.access-path{background:var(--main-background);border:var(--border);color:var(--text-color);display:block;font-weight:bold;list-style:none outside none;overflow:auto;padding:var(--spacing)}.kint-rich dt:hover,.kint-rich div.access-path:hover{border-color:var(--border-color-hover)}.kint-rich>dl dl{padding:0 0 0 calc(var(--spacing)*3)}.kint-rich dt.kint-parent>nav,.kint-rich>footer>nav{background:var(--caret-image) no-repeat scroll 0 0/var(--nav-size) 75px rgba(0,0,0,0);cursor:pointer;display:inline-block;height:var(--nav-size);width:var(--nav-size);margin-right:3px;vertical-align:middle}.kint-rich dt.kint-parent:hover>nav,.kint-rich>footer>nav:hover{background-position:0 25%}.kint-rich dt.kint-parent.kint-show>nav,.kint-rich>footer.kint-show>nav{background-position:0 50%}.kint-rich dt.kint-parent.kint-show:hover>nav,.kint-rich>footer.kint-show>nav:hover{background-position:0 75%}.kint-rich dt.kint-parent.kint-locked>nav{background-position:0 100%}.kint-rich dt.kint-parent+dd{display:none;border-left:1px dashed var(--border-color);contain:strict}.kint-rich dt.kint-parent.kint-show+dd{display:block;contain:content}.kint-rich var,.kint-rich var a{color:var(--variable-type-color);font-style:normal}.kint-rich dt:hover var,.kint-rich dt:hover var a{color:var(--variable-type-color-hover)}.kint-rich dfn{font-style:normal;font-family:monospace;color:var(--variable-name-color)}.kint-rich pre{color:var(--text-color);margin:0 0 0 calc(var(--spacing)*3);padding:5px;overflow-y:hidden;border-top:0;border:var(--border);background:var(--main-background);
5display:block;word-break:normal}.kint-rich .kint-access-path-trigger,.kint-rich .kint-folder-trigger,.kint-rich .kint-search-trigger{background:color-mix(in srgb, var(--text-color) 80%, transparent);border-radius:3px;padding:2px;height:var(--nav-size);width:var(--nav-size);font-size:var(--nav-size);margin-left:5px;font-weight:bold;text-align:center;line-height:1;float:right !important;cursor:pointer;position:relative;overflow:hidden}.kint-rich .kint-access-path-trigger::before,.kint-rich .kint-folder-trigger::before,.kint-rich .kint-search-trigger::before{display:block;content:"";width:100%;height:100%;background:var(--main-background);mask:center/contain no-repeat alpha}.kint-rich .kint-access-path-trigger:hover,.kint-rich .kint-folder-trigger:hover,.kint-rich .kint-search-trigger:hover{background:var(--main-background)}.kint-rich .kint-access-path-trigger:hover::before,.kint-rich .kint-folder-trigger:hover::before,.kint-rich .kint-search-trigger:hover::before{background:var(--text-color)}.kint-rich .kint-access-path-trigger::before{mask-image:var(--ap-image)}.kint-rich .kint-folder-trigger::before{mask-image:var(--folder-image)}.kint-rich .kint-search-trigger::before{mask-image:var(--search-image)}.kint-rich input.kint-search{display:none;border:var(--border);border-top-width:0;border-bottom-width:0;padding:var(--spacing);float:right !important;margin:calc(var(--spacing)*-1) 0;color:var(--variable-name-color);background:var(--secondary-background);height:calc(var(--nav-size) + var(--spacing)*2);width:calc(var(--nav-size)*10);position:relative;z-index:100}.kint-rich input.kint-search.kint-show{display:block}.kint-rich .kint-search-root ul.kint-tabs>li:not(.kint-search-match){background:var(--secondary-background);filter:saturate(0);opacity:.5}.kint-rich .kint-search-root dl:not(.kint-search-match){opacity:.5}.kint-rich .kint-search-root dl:not(.kint-search-match)>dt{background:var(--main-background);filter:saturate(0)}.kint-rich .kint-search-root dl:not(.kint-search-match) dl,.kint-rich .kint-search-root dl:not(.kint-search-match) ul.kint-tabs>li:not(.kint-search-match){opacity:1}.kint-rich div.access-path{background:var(--secondary-background);display:none;margin-top:5px;padding:4px;white-space:pre}.kint-rich div.access-path.kint-show{display:block}.kint-rich footer{padding:0 3px 3px;font-size:9px;background:rgba(0,0,0,0)}.kint-rich footer>.kint-folder-trigger{background:rgba(0,0,0,0)}.kint-rich footer>.kint-folder-trigger::before{background:var(--text-color)}.kint-rich footer nav{height:10px;width:10px;background-size:10px 50px}.kint-rich footer>ol{display:none;margin-left:32px}.kint-rich footer.kint-show>ol{display:block}.kint-rich a{color:var(--text-color);text-shadow:none;text-decoration:underline}.kint-rich a:hover{color:var(--variable-name-color);border-bottom:1px dotted var(--variable-name-color)}.kint-rich ul{list-style:none;padding-left:calc(var(--spacing)*3)}.kint-rich ul:not(.kint-tabs) li{border-left:1px dashed var(--border-color)}.kint-rich ul:not(.kint-tabs) li>dl{border-left:none}.kint-rich ul.kint-tabs{margin:0 0 0 calc(var(--spacing)*3);padding-left:0;background:var(--main-background);border:var(--border);border-top:0}.kint-rich ul.kint-tabs>li{background:var(--secondary-background);border:var(--border);cursor:pointer;display:inline-block;height:calc(var(--spacing)*6);margin:calc(var(--spacing)/2);padding:0 calc(2px + var(--spacing)*2.5);vertical-align:top}.kint-rich ul.kint-tabs>li:hover,.kint-rich ul.kint-tabs>li.kint-active-tab:hover{border-color:var(--border-color-hover);color:var(--variable-type-color-hover)}.kint-rich ul.kint-tabs>li.kint-active-tab{background:var(--main-background);border-top:0;margin-top:-1px;height:27px;line-height:24px}.kint-rich ul.kint-tabs>li:not(.kint-active-tab){line-height:calc(var(--spacing)*5)}.kint-rich ul.kint-tabs li+li{margin-left:0}.kint-rich ul.kint-tab-contents>li{display:none;contain:strict}.kint-rich ul.kint-tab-contents>li.kint-show{display:block;contain:content}.kint-rich dt:hover+dd>ul>li.kint-active-tab{border-color:var(--border-color-hover);color:var(--variable-type-color-hover)}.kint-rich dt>.kint-color-preview{width:var(--nav-size);height:var(--nav-size);display:inline-block;vertical-align:middle;margin-left:10px;border:var(--border);background-color:#ccc;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="%23FFF" d="M0 0h1v2h1V1H0z"/></svg>');background-size:min(20px,100%)}.kint-rich dt>.kint-color-preview:hover{border-color:var(--border-color-hover)}.kint-rich dt>.kint-color-preview>div{width:100%;height:100%}.kint-rich table{border-collapse:collapse;empty-cells:show;border-spacing:0}.kint-rich table *{font-size:12px}.kint-rich table dt{background:none;padding:calc(var(--spacing)/2)}.kint-rich table dt .kint-parent{min-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kint-rich table td,.kint-rich table th{border:var(--border);padding:calc(var(--spacing)/2);vertical-align:center}.kint-rich table th{cursor:alias}.kint-rich table td:first-child,.kint-rich table th{font-weight:bold;background:var(--secondary-background);color:var(--variable-name-color)}.kint-rich table td{background:var(--main-background);white-space:pre}.kint-rich table td>dl{padding:0}.kint-rich table pre{border-top:0;border-right:0}.kint-rich table thead th:first-child{background:none;border:0}.kint-rich table tr:hover>td{box-shadow:0 0 1px 0 var(--border-color-hover) inset}.kint-rich table tr:hover var{color:var(--variable-type-color-hover)}.kint-rich table ul.kint-tabs li.kint-active-tab{height:20px;line-height:17px}.kint-rich pre.kint-source{margin-left:-1px}.kint-rich pre.kint-source[data-kint-filename]:before{display:block;content:attr(data-kint-filename);margin-bottom:var(--spacing);padding-bottom:var(--spacing);border-bottom:1px solid var(--secondary-background)}.kint-rich pre.kint-source>div:before{display:inline-block;content:counter(kint-l);counter-increment:kint-l;border-right:1px solid var(--border-color-hover);padding-right:calc(var(--spacing)*2);margin-right:calc(var(--spacing)*2)}.kint-rich pre.kint-source>div.kint-highlight{background:var(--secondary-background)}.kint-rich .kint-microtime-js .kint-microtime-lap{text-shadow:-1px 0 var(--border-color-hover),0 1px var(--border-color-hover),1px 0 var(--border-color-hover),0 -1px var(--border-color-hover);color:var(--main-background);font-weight:bold}input.kint-note-input{width:100%}.kint-rich{--main-background: #f8f8f8;--secondary-background: #f8f8f8;--variable-type-color: #06f;--variable-type-color-hover: #f00;--border-color: #d7d7d7;--border-color-hover: #aaa;--alternative-background: #fff;--highlight-color: #cfc;--caret-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 150'><path d='M6 7h18l-9 15zm0 30h18l-9 15zm0 45h18l-9-15zm0 30h18l-9-15zm0 12l18 18m-18 0l18-18' fill='%23555'/><path d='M6 126l18 18m-18 0l18-18' stroke-width='2' stroke='%23555'/></svg>")}.kint-rich .kint-focused{box-shadow:0 0 3px 2px var(--variable-type-color-hover)}.kint-rich dt{font-weight:normal}.kint-rich dt.kint-parent{margin-top:4px}.kint-rich dl dl{margin-top:4px;padding-left:25px;border-left:none}.kint-rich>dl>dt{background:var(--secondary-background)}.kint-rich ul{margin:0;padding-left:0}.kint-rich ul:not(.kint-tabs)>li{border-left:0}.kint-rich ul.kint-tabs{background:var(--secondary-background);border:var(--border);border-width:0 1px 1px 1px;padding:4px 0 0 12px;margin-left:-1px;margin-top:-1px}.kint-rich ul.kint-tabs li,.kint-rich ul.kint-tabs li+li{margin:0 0 0 4px}.kint-rich ul.kint-tabs li{border-bottom-width:0;height:calc(var(--spacing)*6 + 1px)}.kint-rich ul.kint-tabs li:first-child{margin-left:0}.kint-rich ul.kint-tabs li.kint-active-tab{border-top:var(--border);background:var(--alternative-background);font-weight:bold;padding-top:0;border-bottom:1px solid var(--alternative-background) !important;margin-bottom:-1px}.kint-rich ul.kint-tabs li.kint-active-tab:hover{border-bottom:1px solid var(--alternative-background)}.kint-rich ul>li>pre{border:var(--border)}.kint-rich dt:hover+dd>ul{border-color:var(--border-color-hover)}.kint-rich pre{background:var(--alternative-background);margin-top:4px;margin-left:25px}.kint-rich .kint-source{margin-left:-1px}.kint-rich .kint-source .kint-highlight{background:var(--highlight-color)}.kint-rich .kint-parent.kint-show>.kint-search{border-bottom-width:1px}.kint-rich table td{background:var(--alternative-background)}.kint-rich table td>dl{padding:0;margin:0}.kint-rich table td>dl>dt.kint-parent{margin:0}.kint-rich table td:first-child,.kint-rich table td,.kint-rich table th{padding:2px 4px}.kint-rich table dd,.kint-rich table dt{background:var(--alternative-background)}.kint-rich table tr:hover>td{box-shadow:none;background:var(--highlight-color)}
6</style>
7
8    <meta charset="utf-8">
9    <meta name="viewport" content="width=device-width, initial-scale=1">
10    <meta name="description" content="Instituto Superior Tecnológico Bolivariano de Tecnología">
11    <meta name="author" content="ITB - TIC">
12    <meta name="generator" content="ITB - TIC">
13    <title>ITB - Mensaje del Rector</title>
14    <link rel="icon" href="https://itb.edu.ec/statics/imagenes/plantilla/favicon.ico">
15    <link href="https://itb.edu.ec/statics/vendor/bootstrap523/css/bootstrap.min.css" rel="stylesheet">
16    <link href="https://itb.edu.ec/statics/vendor/animatecss/animate.min.css" rel="stylesheet">
17    <link href="https://itb.edu.ec/statics/fonts/fontawesome672/css/all.min.css" rel="stylesheet">
18    <link href="https://itb.edu.ec/statics/css/estilo.css" rel="stylesheet">
19    </head>
20<body id="body" style="overflow:hidden;">
21<div id="content-preloader">
22    <img src="https://itb.edu.ec/statics/imagenes/main/nadalog.jpg" width="300" height="110" alt="Cargando..."/>
23    <div id="preloader"></div>
24</div>
25    <div id="overlay"></div>
26    <div id="overlaycolor"></div>
27<div class="tpl-snow"></div>
28<script>const _root='https://itb.edu.ec/';const prelodmask = '1';</script>
28
29<header>
30    <nav class="navbar navbar-dark bg-naranja fixed-top" id="navsocial" aria-label="Bar Link">
31        <div class="container justify-content-end">
32            <ul class="social-icons-ql">
33                <li class="wow animate__animated animate__fadeInDown" style="animation-delay:0.1s;">
34                    <a href="https://www.tiktok.com/@itb_ec?lang=es" target="_blank"><i class="fa-brands fa-tiktok"></i></a>
35                </li>
36                <li class="wow animate__animated animate__fadeInDown" style="animation-delay:0.2s;">
37                    <a href="https://www.instagram.com/itb_ec/" target="_blank"><i class="fa-brands fa-instagram"></i></a>
38                </li>
39                <li class="wow animate__animated animate__fadeInDown" style="animation-delay:0.3s;">
40                    <a href="https://www.facebook.com/itb.edu.ec" target="_blank"><i class="fa-brands fa-facebook-f"></i></a>
41                </li>
42                <li class="wow animate__animated animate__fadeInDown" style="animation-delay:0.4s;">
43                    <a href="https://x.com/ITBolivariano" target="_blank"><i class="fa-brands fa-x-twitter"></i></a>
44                </li>
45                <li class="wow animate__animated animate__fadeInDown" style="animation-delay:0.5s;">
46                    <a href="https://www.youtube.com/c/itbinstitutosuperioruniversitariobolivariano" target="_blank"><i class="fa-brands fa-youtube"></i></a>
47                </li>
48                <li class="wow animate__animated animate__fadeInDown" style="animation-delay:0.6s;">
49                    <a href="https://www.linkedin.com/company/itb-ec/?originalSubdomain=ec" target="_blank"><i class="fa-brands fa-linkedin-in"></i></a>
50                </li>
51            </ul>
52            <a href="https://eva.itb.edu.ec/" class="btn btn-sm btn-naranja rounded rounded-pill mb-3 mx-2 wow animate__animated animate__fadeInRight"> Portal estudiantil </a>
53        </div>
54    </nav>
55    <nav class="navbar navbar-expand-lg fixed-top bg-white py-2 py-lg-0" id="navmenu">
56        <div class="container d-flex justify-content-sm-between justify-content-lg-center px-3 px-lg-0 py-0 py-lg-1 py-xl-0">
57            <a class="navbar-brand animate__animated animate__fadeInLeft" style="animation-delay:0.2s;" href="https://itb.edu.ec/">
58                <img src="https://itb.edu.ec/statics/imagenes/plantilla/logo-itb.png" alt="Logo Itb">
59            </a>
60            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapseMenu" aria-controls="navbarCollapseMenu" aria-expanded="false" aria-label="Toggle navigation">
61                <span class="navbar-toggler-icon"></span>
62            </button>
63            <div class="collapse d-lg-flex justify-content-start justify-content-lg-end align-items-center navbar-collapse animate__animated animate__fadeInRight" style="animation-delay:0.3s;" id="navbarCollapseMenu" data-isanmate="false">
64                <ul class="navbar-nav">
65                    <li class="nav-item dropdown position-static align-content-center">
66                        <a class="nav-link dropdown-toggle d-flex align-items-center pt-3 px-lg-2 py-lg-3 py-xl-4 px-xl-3 active" href="#" id="megaMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
67                            Instituto
68                        </a>
69                        <div class="dropdown-menu no-close w-100" aria-labelledby="megaMenu">
70                            <div class="container-fluid">
71                                <div class="row py-lg-4 px-lg-4">
72                                    <div class="d-none d-lg-block col-lg-5">
73                                        <h1>Acerca de ITB</h1>
74                                        <p class="text-justify">
75                                            En ITB, nuestra principal prioridad es brindarle una educación de alta calidad en un entorno propicio para su crecimiento
76                                            como estudiante y futuro profesional. Ofrece a cada estudiante una oportunidad &uacute;nica de convertirse en un pensador original que se enfrenta a los desafíos del mundo. Más all&aacute; de los fundamentos, le brindamos las herramientas
77                                            para expandir su conocimiento.</p>
78                                        <div class="d-grid">
79                                            <a href="https://itb.edu.ec/Antecedentes" class="btn btn-outline-azul rounded-0 py-3"> OBT&Eacute;N M&Aacute;S INFORMACI&Oacute;N</a>
80                                        </div>
81                                    </div>
82                                    <div class="col-lg-7">
83                                        <div class="row">
84                                            <div class="d-none d-lg-block col-lg-4">
85                                                <div class="card rounded-0 shadow-sm urlclic" data-url="https://itb.edu.ec/Rendicion">
86                                                    <img src="https://itb.edu.ec/statics/imagenes/plantilla/instituto.webp" class="card-img-top rounded-0" width="200" height="175" alt="Contacto">
87                                                    <div class="card-body">
88                                                        <h5 class="card-title">DATOS Y CALIFICACIONES DEL ITB</h5>
89                                                        <p class="card-text">
90                                                            Con cifras: nuestra identidad y la posici&oacute;n que ocupamos.
91                                                        </p>
92                                                    </div>
93                                                </div>
94                                            </div>
95                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
96                                                <h6 class="dropdown-header">Instituto</h6>
97                                                <a class="dropdown-item " href="https://itb.edu.ec/Antecedentes">Antecedentes</a>
98                                                <a class="dropdown-item " href="https://itb.edu.ec/Filosofia">Filosof&iacute;a Institucional</a>
99                                                <a class="dropdown-item menuactivo" href="https://itb.edu.ec/Mensaje">Mensaje </a>
100                                                <a class="dropdown-item " href="https://itb.edu.ec/Himno">Himno al ITB</a>
101                                                <a class="dropdown-item " href="https://itb.edu.ec/Baselegal">Base Legal</a>
102                                                <a class="dropdown-item " href="https://itb.edu.ec/Trabaja_con_nosotros">Trabaja con Nosotros</a>
103
104                                                <h6 class="dropdown-header">Estructura</h6>
105                                                <a class="dropdown-item " href="https://itb.edu.ec/Autoridades">Autoridades</a>
106                                                <a class="dropdown-item " href="https://itb.edu.ec/Organigrama">Organigrama</a>
107                                                <a class="dropdown-item " href="https://itb.edu.ec/CoGobierno">Co-Gobierno</a>
108                                            </div>
109                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
110                                                <h6 class="dropdown-header">Transparencia</h6>
111                                                <a class="dropdown-item " href="https://itb.edu.ec/Presupuesto">Presupuesto</a>
112                                                <a class="dropdown-item " href="https://itb.edu.ec/Rendicion">Rendición de Cuentas</a>
113                                                <a class="dropdown-item " href="https://itb.edu.ec/Remuneracion">Remuneración Mensual</a>
114                                                <a class="dropdown-item " href="https://itb.edu.ec/Aranceles">Aranceles</a>
115                                                <a class="dropdown-item " href="https://itb.edu.ec/Balance">Balance General</a>
116                                                <a class="dropdown-item " href="https://itb.edu.ec/Obligaciones">Cumplimiento de Obligaciones</a>
117                                                <a class="dropdown-item " href="https://itb.edu.ec/Planificacion">Planificación</a>
118                                                <a class="dropdown-item " href="https://itb.edu.ec/Auditados">Balances Auditados</a>
119                                            </div>
120                                        </div>
121                                    </div>
122                                </div>
123                            </div>
124                        </div>
125                    </li>
126                    <li class="nav-item dropdown position-static align-content-center">
127                        <a href="#" id="megaMenu" role="button" data-bs-toggle="dropdown" class="nav-link dropdown-toggle d-flex align-items-center pt-3 px-lg-2 py-lg-3 py-xl-4 px-xl-3 " aria-expanded="false">
128                            Vida estudiantil
129                        </a>
130                        <div class="dropdown-menu no-close w-100" aria-labelledby="megaMenu">
131                            <div class="container-fluid">
132                                <div class="row py-lg-4 px-lg-4">
133                                    <div class="d-none d-lg-block col-lg-5">
134                                        <h1>Experiencia del Estudiante</h1>
135                                        <p class="text-justify">
136                                            Incluye toda la atención m&eacute;dica del campus en un solo lugar,
137                                            brindando f&aacute;cil acceso para los estudiantes y est&aacute; diseñado
138                                            para ser un entorno colaborativo de alto impacto para apoyar
139                                            el aprendizaje, el bienestar y el &eacute;xito de los estudiantes. </p>
140                                        <div class="d-grid">
141                                            <a class="btn btn-outline-azul rounded-0 py-3" href="https://itb.edu.ec/Bienestar"> OBT&Eacute;N M&Aacute;S INFORMACI&Oacute;N</a>
142                                        </div>
143                                    </div>
144                                    <div class="col-lg-7">
145                                        <div class="row">
146                                            <div class="d-none d-lg-block col-lg-4 ">
147                                                <div class="card rounded-0 shadow-sm urlclic" data-url="https://itb.edu.ec/Asistencia">
148                                                    <img src="https://itb.edu.ec/statics/imagenes/plantilla/estudiantil.webp" class="card-img-top rounded-0" width="200" height="175" alt="Contacto">
149                                                    <div class="card-body">
150                                                        <h5 class="card-title">SERVICIO DE
151                                                            ASISTENCIA SOCIAL</h5>
152                                                        <p class="card-text">
153                                                            Brinda apoyo, orientaci&oacute;n y acompa&ntilde;amiento a estudiantes y familias, fomentando el bienestar social y acad&eacute;mico.
154                                                        </p>
155                                                    </div>
156                                                </div>
157                                            </div>
158                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
159                                                <h6 class="dropdown-header">Bienestar estudiantil</h6>
160                                                <a class="dropdown-item " href="https://itb.edu.ec/Bienestar">Qui&eacute;nes Somos</a>
161                                                <a class="dropdown-item " href="https://itb.edu.ec/Informes">Informes</a>
162                                                <a class="dropdown-item " href="https://itb.edu.ec/Actividades">Actividades Realizadas</a>
163                                                <a class="dropdown-item " href="https://itb.edu.ec/Arte_Cultura">Arte y Cultura</a>
164                                                <h6 class="dropdown-header">Servicios y Beneficios</h6>
165                                                <a class="dropdown-item " href="https://itb.edu.ec/Asistencia">Asistencia Social</a>
166                                                <a class="dropdown-item " href="https://itb.edu.ec/Cruzroja">Cuenta en la Cruz Roja Ecuatoriana</a>
167                                                <a class="dropdown-item " href="https://itb.edu.ec/Gym">Gym</a>
168                                            </div>
169                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
170                                                <a class="dropdown-item " href="https://itb.edu.ec/Observatorio">Observatorio Bolivariano</a>
171                                                <a class="dropdown-item " href="https://itb.edu.ec/Orientacion">Orientaci&oacute;n Vocacional y Profesional</a>
172                                                <a class="dropdown-item " href="https://itb.edu.ec/Podologia">Podolog&iacute;a</a>
173                                                <a class="dropdown-item " href="https://itb.edu.ec/Psicologico">Psic&oacute;logo</a>
174                                                <a class="dropdown-item " href="https://itb.edu.ec/Suenos">C.D.I. Sue&ntilde;os Bolivarianos</a>
175                                            </div>
176                                        </div>
177                                    </div>
178                                </div>
179                            </div>
180                        </div>
181                    </li>
182                    <li class="nav-item align-content-center">
183                        <a class="nav-link pt-3 px-lg-2 py-xl-4 py-lg-3 px-xl-3 " href="https://itb.edu.ec/Oferta_academica">Oferta acad&eacute;mica</a>
184                    </li>
185                    <li class="nav-item dropdown position-static align-content-center">
186                        <a class="nav-link dropdown-toggle d-flex align-items-center pt-3 px-lg-2 py-lg-3 py-xl-4 px-xl-3 " href="#" id="megaMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
187                            Vinculaci&oacute;n
188                        </a>
189                        <div class="dropdown-menu no-close w-100" aria-labelledby="megaMenu">
190                            <div class="container-fluid">
191                                <div class="row py-lg-4 px-lg-4">
192                                    <div class="d-none d-lg-block col-lg-5">
193                                        <h1>Vinculaci&oacute;n con la Comunidad</h1>
194                                        <p class="text-justify">
195                                            Se esfuerza por eliminar barreras y contribuir a la pr&aacute;ctica
196                                            comunitaria de pertenencia de los estudiantes del ITB; al
197                                            hacerlo, cultivamos comunidades inclusivas y empoderamos
198                                            a los estudiantes para que se afirmen en sus identidades y las
199                                            formas en que se cruzan.</p>
200                                        <div class="d-grid">
201                                            <a class="btn btn-outline-azul rounded-0 py-3" href="https://itb.edu.ec/Vinculacion"> OBT&Eacute;N M&Aacute;S INFORMACI&Oacute;N</a>
202                                        </div>
203                                    </div>
204                                    <div class="col-lg-7">
205                                        <div class="row">
206                                            <div class="d-none d-lg-block col-lg-4">
207                                                <div class="card rounded-0 shadow-sm urlclic" data-url="https://itb.edu.ec/Centro_atencion">
208                                                    <img src="https://itb.edu.ec/statics/imagenes/plantilla/vinculacion.webp" class="card-img-top rounded-0" width="200" height="175" alt="Contacto">
209                                                    <div class="card-body">
210                                                        <h5 class="card-title">CENTRO DE
211                                                            ATENCI&Oacute;N M&Eacute;DICA</h5>
212                                                        <p class="card-text">
213                                                            Destinado a brindar servicios de salud, atenci&oacute;n preventiva y orientaci&oacute;n m&eacute;dica integral para la comunidad universitaria.
214                                                        </p>
215                                                    </div>
216                                                </div>
217                                            </div>
218                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
219                                                <h6 class="dropdown-header">Vinculaci&oacute;n con la <br> Comunidad</h6>
220                                                <a class="dropdown-item " href="https://itb.edu.ec/Vinculacion">Qui&eacute;nes Somos</a>
221                                                <a class="dropdown-item " href="https://itb.edu.ec/Centro_atencion">Centro de Atenci&oacute;n M&eacute;dica</a>
222                                                <a class="dropdown-item " href="https://itb.edu.ec/Convenio">Convenios</a>
223                                                <a class="dropdown-item " href="https://itb.edu.ec/Info_vinculacion">Info-V&iacute;nculo</a>
224                                                <h6 class="dropdown-header">Programas</h6>
225                                                <a class="dropdown-item " href="https://itb.edu.ec/Salud_comunidad">Salud para la Comunidad</a>
226                                                <a class="dropdown-item " href="https://itb.edu.ec/Centro_contable">Centro Contable y Tributario</a>
227                                            </div>
228                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
229                                                <h6 class="dropdown-header">Graduados</h6>
230                                                <a class="dropdown-item " href="https://itb.edu.ec/Info_graduado">Inf&oacute;rmate Graduado</a>
231                                                <a class="dropdown-item" href="https://bancodeproblemas.itb.edu.ec/">Banco de Problemas</a>
232
233                                            </div>
234                                        </div>
235                                    </div>
236                                </div>
237                            </div>
238                        </div>
239                    </li>
240                    <li class="nav-item dropdown position-static align-content-center srcmenuhiden">
241                        <a class="nav-link dropdown-toggle d-flex align-items-center pt-3 px-lg-2 py-lg-3 py-xl-4 px-xl-3 " href="#" id="megaMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
242                            Investigaci&oacute;n
243                        </a>
244                        <div class="dropdown-menu no-close w-100" aria-labelledby="megaMenu">
245                            <div class="container-fluid">
246                                <div class="row py-lg-4 px-lg-4">
247                                    <div class="d-none d-lg-block col-lg-5">
248                                        <h1>Investigaci&oacute;n</h1>
249                                        <p class="text-justify">
250                                            Fomentar y sistematizar la investigaci&oacute;n multi, inter y
251                                            transdisciplinar que se realiza en ITB por parte de docentes y
252                                            estudiantes, en correspondencia con los dominios
253                                            académicos declarados por la instituci&oacute;n y, que tiene como
254                                            finalidad esencial dar respuesta a los problemas planteados
255                                            por el entorno social de la región y el pa&iacute;s.</p>
256                                        <div class="d-grid">
257                                            <a class="btn btn-outline-azul rounded-0 py-3" href="https://itb.edu.ec/Investigacion"> OBT&Eacute;N M&Aacute;S INFORMACI&Oacute;N</a>
258                                        </div>
259                                    </div>
260                                    <div class="col-lg-7">
261                                        <div class="row">
262                                            <div class="d-none d-lg-block col-lg-4">
263                                                <div class="card rounded-0 shadow-sm urlclic" data-url="https://itb.edu.ec/Proyecto_investigacion">
264                                                    <img src="https://itb.edu.ec/statics/imagenes/plantilla/investigacion.webp" class="card-img-top rounded-0" width="200" height="175" alt="Contacto">
265                                                    <div class="card-body">
266                                                        <h5 class="card-title">PROYECTOS DE
267                                                            INVESTIGACI&Oacute;N</h5>
268                                                        <p class="card-text">
269                                                            Destinados a fomentar la generaci&oacute;n de conocimiento, la innovaci&oacute;n y el desarrollo cient&iacute;fico en beneficio de la comunidad.
270                                                        </p>
271                                                    </div>
272                                                </div>
273                                            </div>
274                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
275                                                <h6 class="dropdown-header">Investigaci&oacute;n</h6>
276                                                <a class="dropdown-item " href="https://itb.edu.ec/Investigacion">Qui&eacute;nes Somos</a>
277                                                <a class="dropdown-item " href="https://itb.edu.ec/Modelo_politicas">Modelo y Pol&iacute;ticas de Investigaci&oacute;n</a>
278                                                <a class="dropdown-item " href="https://itb.edu.ec/Convocatoria">Convocatorias</a>
279                                                <a class="dropdown-item " href="https://itb.edu.ec/Proyecto_investigacion">Proyectos de Investigaci&oacute;n</a>
280                                                <a class="dropdown-item " href="https://itb.edu.ec/Info_interes">Noticias y Novedades</a>
281                                                <a class="dropdown-item " href="https://itb.edu.ec/Lineas">L&iacute;neas y Programas de Investigaci&oacute;n</a>
282                                                <a class="dropdown-item " href="https://itb.edu.ec/Conocimiento">Transferencia de Conocimiento y Tecnolog&iacute;as</a>
283                                                <a class="dropdown-item " href="https://itb.edu.ec/Servicios">Servicios Cient&iacute;ficos, T&eacute;cnico y Tecnol&oacute;gicos</a>
284                                            </div>
285                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
286                                                <a class="dropdown-item " href="https://itb.edu.ec/Semilleros">Semilleros de Investigaci&oacute;n e Innovaci&oacute;n</a>
287                                                <h6 class="dropdown-header">Gesti&oacute;n de la Informaci&oacute;n Cient&iacute;fica</h6>
288                                                <a class="dropdown-item " href="https://itb.edu.ec/Biblioteca_tradicional">Biblioteca Tradicional</a>
289                                                <a class="dropdown-item " href="https://itb.edu.ec/Biblioteca_virtual">Biblioteca Virtual</a>
290                                                <a class="dropdown-item " href="https://itb.edu.ec/Divulgacion">Divulgaci&oacute;n Cient&iacute;fica</a>
291                                                <a class="dropdown-item" href="https://identidadbolivariana.itb.edu.ec/" target="_blank">Identidad Bolivariana</a>
292                                                <a class="dropdown-item" href="https://dspace.itb.edu.ec/" target="_blank">Repositorio Digital</a>
293                                            </div>
294                                        </div>
295                                    </div>
296                                </div>
297                            </div>
298                        </div>
299                    </li>
300                    <li class="nav-item dropdown position-static align-content-center srcmenuhiden">
301                        <a class="nav-link dropdown-toggle d-flex align-items-center pt-3 px-lg-2 py-lg-3 py-xl-4 px-xl-3 " href="#" id="megaMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
302                            Contacto
303                        </a>
304                        <div class="dropdown-menu no-close w-100" aria-labelledby="megaMenu">
305                            <div class="container-fluid">
306                                <div class="row py-lg-4 px-lg-4">
307                                    <div class="d-none d-lg-block col-lg-5">
308                                        <h1>Admisión y Ayuda</h1>
309                                        <p class="text-justify">
310                                            Nuestras decisiones de admisión se basan en un proceso
311                                            holístico y selectivo, independientemente de las finanzas.
312                                            Tener la oportunidad de cambiar el mundo no debería
313                                            depender de tener el dinero para pagar el instituto. La ayuda
314                                            financiera líder en la industria de ITB garantiza que todos los
315                                            estudiantes de todos los orígenes puedan reunirse, aprender
316                                            juntos y crecer juntos. En pocas palabras: cuando usted se
317                                            compromete con nosotros, nosotros nos comprometemos con
318                                            usted.</p>
319                                        <div class="d-grid">
320                                            <a class="btn btn-outline-azul rounded-0 py-3" href="https://itb.edu.ec/Inscripcion"> OBT&Eacute;N M&Aacute;S INFORMACI&Oacute;N</a>
321                                        </div>
322                                    </div>
323                                    <div class="col-lg-7">
324                                        <div class="row">
325                                            <div class="d-none d-lg-block col-lg-4">
326                                                <div class="card rounded-0 shadow-sm urlclic" data-url="https://itb.edu.ec/Sugerencia">
327                                                    <img src="https://itb.edu.ec/statics/imagenes/plantilla/contacto.webp" class="card-img-top rounded-0" width="200" height="175" alt="Contacto">
328                                                    <div class="card-body">
329                                                        <h5 class="card-title">CONTACTO</h5>
330                                                        <p class="card-text">
331                                                            Ponte en comunicaci&oacute;n con nosotros para consultas, informaci&oacute;n o atenci&oacute;n personalizada.
332                                                        </p>
333                                                    </div>
334                                                </div>
335                                            </div>
336                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
337                                                <h6 class="dropdown-header">Quiero estudiar en ITB</h6>
338                                                <a class="dropdown-item " href="https://itb.edu.ec/Inscripcion">Inscripci&oacute;n</a>
339                                                <h6 class="dropdown-header">Informaci&oacute;n de contacto</h6>
340                                                <a class="dropdown-item " href="https://itb.edu.ec/Directorio">Tel&eacute;fonos</a>
341                                                <a class="dropdown-item " href="https://itb.edu.ec/Directorio/correos">Correos</a>
342                                                <h6 class="dropdown-header">Pol&iacute;ticas</h6>
343                                                <a class="dropdown-item " href="https://itb.edu.ec/Politicas/cookies">Pol&iacute;tica de Cookies</a>
344                                                <a class="dropdown-item " href="https://itb.edu.ec/Politica_proteccion_datos">Pol&iacute;tica de Protecci&oacute;n de Datos Personales</a>
345                                            </div>
346                                            <div class="col-lg-4 px-2 px-lg-3 py-2">
347                                                <h6 class="dropdown-header">Tu opini&oacute;n es importante</h6>
348                                                <a class="dropdown-item " href="https://itb.edu.ec/Sugerencia">Sugerencias</a>
349                                            </div>
350                                        </div>
351                                    </div>
352                                </div>
353                            </div>
354                        </div>
355                    </li>
356                    <li class="nav-item position-static d-none" id="searchcontainer">
357                        <div class="nav-link align-content-center">
358                            <input type="search" class="form-control rounded rounded-pill" id="search" placeholder="Buscar por carrera....">
359                            <div id="suggestions" class="autocomplete-suggestions"></div>
360                        </div>
361                    </li>
362                    <li class="nav-item position-static">
363                        <a class="nav-link py-3 px-lg-2 py-xl-4 px-xl-3">
364                            <i class="fas fa-search text-naranja fs-5 " id="searchicon"></i>
365                            <i class="fas fa-times text-azul fs-3 d-none" id="closesearchicon"></i>
366                        </a>
367                    </li>
368                </ul>
369
370            </div>
371        </div>
372    </nav>
373</header>
374<script>
375    document.getElementById('searchicon').addEventListener('click',function(){
376        document.getElementById('searchcontainer').classList.remove('d-none');
377        document.getElementById('closesearchicon').classList.remove('d-none');
378        document.getElementById('searchicon').classList.add('d-none');
379        document.querySelectorAll('.srcmenuhiden').forEach(element => {
380            element.classList.add('d-none');
381        });
382    });
383    document.getElementById('closesearchicon').addEventListener('click',function(){
384        document.getElementById('searchcontainer').classList.add('d-none');
385        document.getElementById('closesearchicon').classList.add('d-none');
386        document.getElementById('searchicon').classList.remove('d-none');
387        document.getElementById('search').value = '';
388        document.querySelectorAll('.srcmenuhiden').forEach(element => {
389            element.classList.remove('d-none');
390        });
391    });
392</script>
392
393<main>
394        <div class="hero-container">
395        <img src="https://itb.edu.ec/statics/imagenes/instituto/porqueitb.webp" alt="Mensaje del Rector" width="1905" height="450" loading="eager" fetchpriority="high" class="hero-image">
396        <div class="hero-text" aria-hidden="true"></div>
397    </div>
398    <div class="container-fluid">
399        <div class="container py-5">
400            <div class="row">
401                <div class="anim texto mb-3" data-animate="fadeInUp">
402                    <h6 class="mb-3 fw-bold text-uppercase text-center titulo-encabezado">Instituto</h6>
403                    <h3 class="mb-2 titulo-seccion text-center">Mensaje de la Rectora</h3>
404                </div>
405                <div class="container mb-5">
406                    <div class="mensaje clearfix my-5 font-sans">
407                        <div class="float-md-start mx-auto me-md-4 mb-md-3 mb-4 position-relative anim" data-animate="fadeIn">
408                            <div class="shadow rounded overflow-hidden position-relative">
409                                <img src="https://itb.edu.ec/statics/imagenes/instituto/rectora.webp" alt="Imagen de la Rectora" class="img-fluid w-100">
410                                <div class="position-absolute bottom-0 end-0 translate-middle rounded p-3" style="z-index: 1; width: 70%; height: 70%;"></div>
411                            </div>
412                            <span class="badge bg-verde position-absolute top-0 end-0 mt-3 me-3 px-3 py-2">
413                                PhD. Elena Tolozano Benites
414                            </span>
415                        </div>
416                        <h4 class="border-start border-4 ps-3 mb-4 texto anim" data-animate="fadeInRight">Comunidad Educativa Bolivariana:</h4>
417                        <div class="text-justify anim" data-animate="fadeInRight">
418                            <p class="lh-lg texto">
419                                En este mensaje me permito expresar el arduo trabajo realizado en el a&ntilde;o, el cual, nos ha permitido consolidar nuestras funciones sustantivas y de apoyo y continuar con el crecimiento institucional socialmente reconocido que nos ha convertido en un referente nacional e internacional en la formaci&oacute;n t&eacute;cnica, tecnol&oacute;gica y tecnol&oacute;gica universitaria.
420                            </p>
421                            <p class="lh-lg texto">
422                                Pero estos logros no ser&iacute;an posible sin el trabajo, el compromiso y la responsabilidad de nuestro equipo, el que con orgullo denominado &ldquo;la familia bolivariana&rdquo; que para quienes hacemos el ITB es mucho m&aacute;s que una expresi&oacute;n, es el sentido de pertenencia y participaci&oacute;n activa de cada uno de nuestros colaboradores en los logros y responsabilidades que representa la formaci&oacute;n integral de profesionales.
423                            </p>
424                            <p class=" lh-lg texto">
425                                En este mensaje quiero dar las gracias a nuestros profesores, personal administrativo y de apoyo, directivos y estudiantes, estos &uacute;ltimos que son nuestra raz&oacute;n de ser y hacia donde est&aacute;n dirigidos todos nuestros esfuerzos institucionales. Con orgullo podemos decir, que el a&ntilde;o en el cual rendimos cuentas en este informe, ha sido el resultado de un proceso de planificaci&oacute;n que demuestra, que somos la mejor instituci&oacute;n de formaci&oacute;n t&eacute;cnica y tecnol&oacute;gica del pa&iacute;s, nuestros procesos acad&eacute;micos, bienestar institucional, investigaci&oacute;n y vinculaci&oacute;n con la sociedad, constituyen el hilo conductor de este informe y el centro de nuestros procesos.
426                            </p>
427                        </div>
428                    </div>
429                    <div class="bg-light rounded p-4 text-justify anim" data-animate="fadeInUp">
430                        <p class=" lh-lg texto">
431                            Sirvan estos resultados para seguir trabajando en el pr&oacute;ximo a&ntilde;o, a la luz de una nueva planificaci&oacute;n estrat&eacute;gica, que permita la consolidaci&oacute;n de nuestros procesos y sigamos demostrando que como instituci&oacute;n somos imparables. Ofreciendo al Ecuador el profesional integro que necesita, nuestro pa&iacute;
431s y el mundo, con un sentido ciudadano profundo y preparado para enfrentar los desaf&iacute;os sociales y naturales que se avecinan. Termino este mensaje, con el sentir de pertenencia de la familia Bolivariana:
432                        </p>
433                        <blockquote class="block border-start border-5 ps-4 mt-4 position-relative">
434                            <i class="fas fa-quote-left position-absolute top-0 start-0 text-naranja opacity-25 fs-1"></i>
435                            <p class="fst-italic text-muted texto">
436                                "Pertenecer es una forma de estar con, de relacionarnos con nosotros mismos, con los dem&aacute;s y con el mundo que nos rodea, en nuestros sombr&iacute;os momentos de desconexi&oacute;n puede ser reconfortante recordar que no solo pertenecemos inherentemente por la virtud de estar aqu&iacute; ahora, sino que los brazos donde buscamos pertenecer se abren mucho m&aacute;s de los que imaginamos"
437                            </p>
438                            <footer class="blockquote-footer text-end text-secondary fw-semibold texto">Pogosyan, 2021</footer>
439                        </blockquote>
440                    </div>
441                </div>
442            </div>
443        </div>
444    </div>
445    <div class="links-float" id="links-float" data-wow-delay="0.1s">
446        <div class="card rounded-0">
447            <div class="card-header rounded-0" data-open="true">
448                <i class="fas"></i>
449            </div>
450            <div class="list-group rounded-0">
451                <a href="https://itb.edu.ec/Sugerencia"
452                   target="_blank"
453                   class="list-group-item list-group-item-action rounded-0">
454                    <span class="tooltip-text">Sugerencias</span>
455                    <i class="fas fa-envelope"></i>
456                </a>
457                <a href="https://itb.edu.ec/Videos"
458                   target="_blank"
459                   class="list-group-item list-group-item-action">
460                    <span class="tooltip-text">Videos</span>
461                    <i class="fab fa-youtube"></i>
462                </a>
463                <a href="https://itb.edu.ec/Gym" class="list-group-item list-group-item-action">
464                    <span class="tooltip-text">Gimnasio</span>
465                    <i class="fas fa-dumbbell"></i>
466                </a>
467                <a href="https://itb.edu.ec/Actividades" class="list-group-item list-group-item-action">
468                    <span class="tooltip-text">Actividades</span>
469                    <i class="far fa-newspaper"></i>
470                </a>
471                <a href="https://conducecuador.itb.edu.ec/" target="_blank" class="list-group-item list-group-item-action">
472                    <span class="tooltip-text">Escuela de conducci&oacute;n</span>
473                    <i class="fas fa-car"></i>
474                </a>
475            </div>
476        </div>
477    </div>
478    <div class="img-foother">
479        <img src="https://itb.edu.ec/statics/imagenes/plantilla/ruedabg.gif" alt="Pie de p&aacute;gina" loading="lazy" width="80" height="100">
480    </div>
481    <div class="container-fluid text-white-50 footer pt-5 wow fadeIn" data-wow-delay="0.1s">
482        <div class="container py-5">
483            <div class="row g-5">
484                <div class="col-lg-4 col-md-6">
485                    <img src="https://itb.edu.ec/statics/imagenes/plantilla/logo-white.png"
486                         class="img-fluid mb-4"
487                         style="max-height:85px"
488                         alt="Logo Itb Pie de p&aacute;gina">
489                    <p class="mb-2 texto"><i class="fa fa-map-marker-alt me-3"></i> PBX : (04) 5000175 - 2307028 - 5002164 - 3727040</p>
490                    <p class="mb-2 texto"><i class="fa fa-phone-alt me-3"></i> 1800 ITB-ITB: 482-482 </p>
491                    <p class="mb-2">
492                        <i class="fa fa-envelope me-3"></i>
493                        <a href="mailto:[email protected]" data-bs-toggle="tooltip" data-bs-placement="top" title="Novedades Generales" aria-label="Correo Informacíon/Novedades generales">info</a>&nbsp;|&nbsp;
494                        <a href="mailto:[email protected]" data-bs-toggle="tooltip" data-bs-placement="top" title="Novedades Tecnolog&iacute;as" aria-label="Correo Soporte">soporte</a>
495                    </p>
496                    <div class="d-flex pt-2">
497                        <a class="btn btn-outline-light btn-social wow animate__animated animate__fadeInUp"
498                           style="animation-delay:0.1s;"
499                           href="https://twitter.com/ITBolivariano"
500                           target="_blank" aria-label="Boton Ir a Twiter ITB"><i class="fa-brands fa-x-twitter"></i></a>
501                        <a class="btn btn-outline-light btn-social wow animate__animated animate__fadeInUp"
502                           style="animation-delay:0.3s;"
503                           href="https://www.facebook.com/itb.edu.ec"
504                           target="_blank" aria-label="Boton Ir a Facebook ITB"><i class="fab fa-facebook-f"></i></a>
505                        <a class="btn btn-outline-light btn-social wow animate__animated animate__fadeInUp"
506                           style="animation-delay:0.6s;"
507                           href="https://itb.edu.ec/"
508                           aria-label="Boton Ir a  Google Plus ITB"><i class="fab fa-google-plus-g"></i></a>
509                        <a class="btn btn-outline-light btn-social wow animate__animated animate__fadeInUp"
510                           style="animation-delay:0.9s;"
511                           href="https://www.youtube.com/channel/UCc8EQVMtBoGCIWrnLKkG0cw"
512                           target="_blank" aria-label="Boton ir a Youtube ITB"><i class="fab fa-youtube"></i></a>
513                        <a class="btn btn-outline-light btn-social wow animate__animated animate__fadeInUp"
514                           style="animation-delay:1.2s;"
515                           href="https://www.instagram.com/itb_ec/?hl=es-la"
516                           target="" aria-label="Boton ir a Instagram ITB"><i class="fab fa-instagram"></i></a>
517                        <a class="btn btn-outline-light btn-social wow animate__animated animate__fadeInUp"
518                           style="animation-delay:1.5s;"
519                           href="https://www.tiktok.com/@itb_ec?lang=es"
520                           target="" aria-label="Boton ir a Tiktok ITB"><i class="fab fa-tiktok"></i></a>
521                    </div>
522                </div>
523                <div class="col-lg-4 col-md-6">
524                    <a class="btn btn-link text-white-50 texto" href="https://itb.edu.ec/Beca"> Becas</a>
525                    <a class="btn btn-link text-white-50 texto" href="https://buckcenter.edu.ec/" target="_blank"> Buckingham English Center S.A</a>
526                    <a class="btn btn-link text-white-50 texto" href="https://conducecuador.itb.edu.ec/" target="_blank"> Conduce Ecuador</a>
527                    <a class="btn btn-link text-white-50 texto" href="https://itb.edu.ec/Oferta_academica"> Oferta acad&eacute;mica</a>
528                    <a class="btn btn-link text-white-50 texto" href="https://itb.edu.ec/Directorio"> Directorio Telefon&iacute;co</a>
529                    <a class="btn btn-link text-white-50 texto" href="https://itb.edu.ec/Vinculacion"> Vinculaci&oacute;n</a>
530                    <a class="btn btn-link text-white-50 texto" href="https://itb.edu.ec/Biblioteca_virtual"> Efem&eacute;rides</a>
531                </div>
532                <div class="col-lg-4 col-md-6">
533                    <div class="row">
534                        <div class="col-4">
535                            <ul class="nav flex-column nav-tabs border-0" id="mapaTab" role="tablist">
536                                <li class="nav-item" role="presentation" onclick="cargaMapas()">
537                                    <span class="active" id="matriz1-tab" data-bs-toggle="tab" data-bs-target="#matriz1" type="button" role="tab" aria-controls="matriz1" aria-selected="true" aria-label="Dirección Sede Matriz"> Matriz</span>
538                                </li>
539                                <li class="nav-item" role="presentation" onclick="cargaMapas()">
540                                    <span class="" id="matriz2-tab" data-bs-toggle="tab" data-bs-target="#matriz2" type="button" role="tab" aria-controls="matriz2" aria-selected="false" aria-label="Dirección Sede Boyacá"> Boyac&aacute;</span>
541                                </li>
542                                <li class="nav-item" role="presentation" onclick="cargaMapas()">
543                                    <span class="" id="matriz3-tab" data-bs-toggle="tab" data-bs-target="#matriz3" type="button" role="tab" aria-controls="matriz3" aria-selected="false" aria-label="Dirección Sede Rocafuerte"> Rocafuerte</span>
544                                </li>
545                                <li class="nav-item " role="presentation" onclick="cargaMapas()">
546                                    <span class="" id="matriz4-tab" data-bs-toggle="tab" data-bs-target="#matriz4" type="button" role="tab" aria-controls="matriz4" aria-selected="false" aria-label="Dirección Sede Atarazana"> Teresa Benites Ayala</span>
547                                </li>
548                            </ul>
549                        </div>
550                        <div class="col-8">
551                            <div class="tab-content" id="mapTabContent">
552                                <div class="tab-pane fade show active" id="matriz1" role="tabpanel" aria-labelledby="matriz1-tab">
553                                    <div class="card bg-transparent mx-lg-3" style="width:16rem;">
554                                        <div id="frmmatriz1"><img src="https://itb.edu.ec/statics/imagenes/plantilla/mapa.jpg" class="card-img-top"></div>
555                                        <div class="card-body">
556                                            <p class="card-text texto">V&iacute;ctor Manuel Rend&oacute;n 236 y Pedro Carbo.</p>
557                                        </div>
558                                    </div>
559                                </div>
560                                <div class="tab-pane fade" id="matriz2" role="tabpanel" aria-labelledby="matriz2-tab">
561                                    <div class="card bg-transparent mx-lg-3" style="width:16rem;">
562                                        <div id="frmmatriz2"></div>
563                                        <div class="card-body">
564                                            <p class="card-text texto">Padre Solano No.324 y Boyac&aacute; Esquina.</p>
565                                        </div>
566                                    </div>
567                                </div>
568                                <div class="tab-pane fade" id="matriz3" role="tabpanel" aria-labelledby="matriz3-tab">
569                                    <div class="card bg-transparent mx-lg-3" style="width:16rem;">
570                                        <div id="frmmatriz3"></div>
571                                        <div class="card-body">
572                                            <p class="card-text texto">Roca #101 y Pedro Carbo Esquina.</p>
573                                        </div>
574                                    </div>
575                                </div>
576                                <div class="tab-pane fade" id="matriz4" role="tabpanel" aria-labelledby="matriz4-tab">
577                                    <div class="card bg-transparent mx-lg-3" style="width:16rem;">
578                                        <div id="frmmatriz4"></div>
579                                        <div class="card-body">
580                                            <p class="card-text texto">Avenida Pedro Men&eacute;ndez Gilbert y callej&oacute;n.</p>
581                                        </div>
582                                    </div>
583                                </div>
584                            </div>
585                        </div>
586                    </div>
587                </div>
588            </div>
589        </div>
590        <div class="container">
591            <div class="copyright wow animate__animated animate__slideInRight">
592                <div class="d-flex flex-wrap align-items-center">
593                    <div class="flex-grow-1 text-center text-lg-start mb-2 mb-lg-0 pe-3">
594                        &copy; 2025<a href="#" class="text-decoration-none"> TIC - ITB</a> | Todos los derechos reservados
595                    </div>
596                    <div class="d-flex flex-column flex-lg-row align-items-center gap-3 me-lg-4">
597                        <div class="footer-menu">
598                            <a href="javascript:void(0);" aria-label="Total de visitas 9 M"><span class="pe-1"><i class="fas fa-users text-white"></i></span>Visitas</a>
599                            <a href="javascript:void(0);"  data-bs-toggle="tooltip"
600                               data-bs-placement="top"
601                               title="Total de visitas 9 M"
602                               data-purecounter-start="0"
603                               data-purecounter-end="9"
604                               data-purecounter-duration="4"
605                               class="purecounter">9 M</a>
606                        </div>
607                    </div>
608                </div>
609            </div>
610        </div>
611    </div>
612    <div id="discapacidad" class="discapacidad">
613        <i class="fas fa-wheelchair"></i>
614    </div>
615    <div id="contenMenudisc" class="conten-menu-discapaciada" style="display:none;">
616        <div class="card border-0 rounded-0 shadow">
617            <div class="card-header rounded-0">
618                <h5 class="mb-0 text-center">Men&uacute; de Accesibilidad</h5>
619            </div>
620            <div id="tblMenuDisc" class="card-body pb-0">
621                <div class="row justify-content-center">
622                    <div class="col-6 mb-2 d-flex align-items-center justify-content-center position-relative">
623                        <a onclick="SetColor();" id="menuColorbtn" class="btn h-100 w-100 d-flex flex-column align-items-center justify-content-center font-weight-bold p-2"><i class='fas fa-palette me-2 mb-2'></i> <span>Escala de Grises</span> <i class="fa-solid fa-circle-check text-naranja position-absolute top-0 end-0 m-1 check-icon"></i></a>
624                    </div>
625                    <div class="col-6 mb-2 d-flex align-items-center justify-content-center position-relative">
626                        <a onclick="ChngCursor();" id="menuCursorBtn" class="btn h-100 w-100 d-flex flex-column align-items-center justify-content-center font-weight-bold p-2"><i class='fas fa-mouse-pointer me-2 mb-2'></i> <span>Ampliar Cursor</span> <i class="fa-solid fa-circle-check text-naranja position-absolute top-0 end-0 m-1 check-icon"></i></a>
627                    </div>
628                    <div class="col-6 mb-2 d-flex align-items-center justify-content-center position-relative">
629                        <a onclick="NarradorOff();" id="menuSpeackBtn" class="btn h-100 w-100 d-flex flex-column align-items-center justify-content-center font-weight-bold p-2"><i class='fas fa-volume-mute me-2 mb-2'></i> <span>Narrador</span> <i class="fa-solid fa-circle-check text-naranja position-absolute top-0 end-0 m-1 check-icon"></i></a>
630                    </div>
631                    <div class="col-6 d-flex align-items-center justify-content-center position-relative">
632                        <a onclick="ResaltLink();" id="menuLinksBtn" class="btn h-100 w-100 d-flex flex-column align-items-center justify-content-center font-weight-bold p-2"><i class='fas fa-link me-2 mb-2'></i> <span>Destacar Links</span> <i class="fa-solid fa-circle-check text-naranja position-absolute top-0 end-0 m-1 check-icon"></i></a>
633                    </div>
634                    <div class="col-6 d-flex align-items-center justify-content-center position-relative">
635                        <a onclick="ChngFuente();" id="menuFuenteBtn" class="btn h-100 w-100 d-flex flex-column align-items-center justify-content-center font-weight-bold p-2"><i class='fas fa-text-height me-2 mb-2'></i> <span>Ampliar Texto</span> <i class="fa-solid fa-circle-check text-naranja position-absolute top-0 end-0 m-1 check-icon"></i></a>
636                    </div>
637                    <div class="col-6 d-flex align-items-center justify-content-center position-relative">
638                        <a onclick="ResetFuente();" id="menuReseTxtBtn" class="btn h-100 w-100 d-flex flex-column align-items-center justify-content-center font-weight-bold p-2 d-none"><i class='fas fa-undo me-2 mb-2'></i> <span>Resetear Fuente</span> <i class="fa-solid fa-circle-check text-naranja position-absolute top-0 end-0 m-1 check-icon"></i></a>
639                    </div>
640                    <div class="col-12 my-2">
641                        <a onclick="ResetMenu();" id="menuResetBtn" class="btn h-100 w-100 d-flex justify-content-center align-items-center font-weight-bold d-none text-white py-2"><i class="fa-solid fa-rotate me-2" style="font-size: unset !important;"></i> <span>Restablecer Todo</span></a>
642                    </div>
643                </div>
644            </div>
645        </div>
646    </div>
647    <div id="whasapicon" class="whasapicon">
648        <a href="https://api.whatsapp.com/send?phone=5930968695213&text='Consulta de Información desde Página Web'" target="_blank" aria-label="Contactar por WhatsApp">
649            <i class="fab fa-whatsapp"></i>
650        </a>
651    </div>
652    <span onclick="goToTop()" id="goTopBtn"> <i class="fa-solid fa-arrow-up fa-2xl"></i> </span>
653
654        <div class="content-cookies fixed-bottom" style="display: none">
655        <div class="card shadow-lg px-4 py-4 py-sm-0 bg-transparent">
656            <div class="card-body">
657                <div class="row justify-content-evenly align-items-center">
658                    <div class="col-sm-6 col-lg-8 col-xl-6 col-xxl-5">
659                        <p class="mb-0 texto">Este sitio web utiliza cookies propias y de terceros para ofrecer una mejor experiencia. Al continuar su navegación, autoriza su uso de acuerdo a nuestra Política de Privacidad y manejo de cookies.</p>
660                        <a href="https://itb.edu.ec/Politicas/cookies" class="text-decoration-underline text-naranja texto link">Revisar política</a>
661                    </div>
662                    <div class="col-sm-4 col-lg-3 col-xl-5 col-xxl-4 mt-4 mt-sm-0">
663                        <div class="d-flex flex-xl-row flex-column w-100 gap-2">
664                            <a href="javascript:void(0);" onclick="aceptarCookies();" class="btn w-100 rounded-pill texto bg-naranja">Aceptar todo</a>
665                            <a href="javascript:void(0);" onclick="rechazarCookies();" class="btn w-100 rounded-pill texto btn-light">Rechazar todo</a>
666                            <a data-bs-toggle="modal" data-bs-target="#cookiesModal" class="btn w-100 rounded-pill texto btn-light">Configuración</a>
667                        </div>
668                    </div>
669                </div>
670            </div>
671        </div>
672    </div>
673
674        <div class="modal fade" id="cookiesModal" tabindex="-1" aria-labelledby="cookiesModalLabel" aria-hidden="true">
675        <div class="modal-dialog modal-lg">
676            <div class="modal-content border-0 bg-transparent texto">
677                <div class="modal-header justify-content-center">
678                    <h5 class="modal-title" id="cookiesModalLabel">Configuración de cookies</h5>
679                </div>
680                <div class="modal-body p-5 pb-0 bg-white">
681                    <div class="form-check form-switch mb-4">
682                        <input class="form-check-input" type="checkbox" id="todasopcionales">
683                        <label class="form-check-label" for="todasopcionales">Seleccionar todas las cookies opcionales</label>
684                    </div>
685                    <div class="form-check form-switch">
686                        <input class="form-check-input" type="checkbox" id="necesarias" checked disabled>
687                        <label class="form-check-label" for="necesarias">Necesarias (siempre activas)</label>
688                        <p>Estas cookies son esenciales para el funcionamiento básico del sitio web. Permiten funciones como la navegación, el acceso a áreas seguras y la correcta visualización del contenido. Sin estas cookies, el sitio no puede funcionar correctamente.</p>
689                    </div>
690                    <div class="form-check form-switch">
691                        <input class="form-check-input" type="checkbox" id="analiticas">
692                        <label class="form-check-label" for="analiticas">Analíticas</label>
693                        <p>Estas cookies nos ayudan a comprender cómo los visitantes interactúan con el sitio web mediante la recopilación de información de forma anónima. Usamos estos datos para mejorar continuamente la experiencia del usuario.</p>
694                    </div>
695                    <div class="form-check form-switch">
696                        <input class="form-check-input" type="checkbox" id="preferencias">
697                        <label class="form-check-label" for="preferencias">De preferencias</label>
698                        <p>Estas cookies permiten recordar información que cambia la forma en que el sitio se comporta o 
698se muestra, como el menú de accesibilidad.</p>
699                    </div>
700                </div>
701                <div class="d-flex justify-content-end gap-2 border-top bg-white p-4">
702                    <button type="button" class="btn rechazar px-3 py-2" onclick="rechazarCookies()" data-bs-dismiss="modal">Rechazar todo</button>
703                    <button type="button" class="btn guardar px-3 py-2" onclick="guardarConsentimiento()" data-bs-dismiss="modal">Guardar cambios</button>
704                </div>
705                <div class="modal-footer justify-content-center border-0">
706                    <a type="button" class="btn" data-bs-dismiss="modal" aria-label="Clic para cerrar"><i class="fas fa-times text-white"></i></a>
707                </div>
708            </div>
709        </div>
710    </div>
711    <!-- Bot -->
712    <df-messenger
713            chat-icon="https:&#x2F;&#x2F;itb.edu.ec&#x2F;statics&#x2F;imagenes&#x2F;main&#x2F;chat.png"
714            intent="WELCOME"
715            chat-title="Agente Virtual ITB-Bot"
716            agent-id="39adfdb1-3055-4fa6-affe-28e150469441"
717            language-code="es"
718    ></df-messenger>
719    <div class="btn-bot" id="chatbot-btn">
720        <img class="img-fluid" src="https://itb.edu.ec/statics/imagenes/main/chatbot.png">
721    </div>
722    <style>
723        df-messenger {
724            --df-messenger-bot-message: #f5f5f5;
725            --df-messenger-button-titlebar-color: #2B4781;
726            --df-messenger-chat-background-color: #fafafa;
727            --df-messenger-send-icon: #0E1A39;
728        }
729    </style>
730</main>
731
732<script src="https://itb.edu.ec/statics/vendor/bootstrap523/js/bootstrap.bundle.min.js"></script>
vendor: 1 bytes, line 732
732
733<script src="https://itb.edu.ec/statics/js/jquery371.min.js"></script>
vendor: 1 bytes, line 733
733
734<script src="https://itb.edu.ec/statics/js/main.js"></script>
vendor: 1 bytes, line 734
734
735<script src="https://itb.edu.ec/statics/js/lazysizes.min.js"></script>
vendor: 1 bytes, line 735
735
736<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
736
737
738<script src="https://itb.edu.ec/statics/vendor/gsap-public/minified/gsap.min.js"></script>
vendor: 1 bytes, line 738
738
739<script src="https://itb.edu.ec/statics/vendor/gsap-public/minified/ScrollTrigger.min.js"></script>
vendor: 1 bytes, line 739
739
740<script src="https://itb.edu.ec/statics/vendor/gsap-public/minified/ScrollSmoother.min.js"></script>
740
741<!-- Bot -->
742<script src="https://www.gstatic.com/dialogflow-console/fast/messenger/bootstrap.js?v=1"></script>
742
743
744    <style>
745        .hero-container {position: relative;margin-top: 100px;contain: paint;}
746        .hero-image {width: 100%;height: 450px;aspect-ratio: 16/9;object-fit: cover;will-change: transform; object-position: center 0%;}
747        .hero-text {position: absolute;inset: 0;background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 100%);pointer-events: none;}
748        /*Cambiar segun la imagen (object position)*/
749        @media (min-width: 768px) and (max-width: 1399px) {
750            .hero-image {object-position: center;}
751        }
752        @media (max-width: 767px) {
753            .hero-container {margin-top: 70px;height: 350px;}
754            .hero-image {height: 350px;object-position: center}
755        }
756        .mensaje .border-start{border-color: var(--naranja) !important; font-family: "Oswald-Medium", sans-serif; color: #0E1A39}
757        .mensaje h4{margin-left: 448px;}
758        .mensaje img{max-width: 425px;}
759        @media (min-width: 300px) and (max-width: 767px) {
760            .mensaje h4{margin-left: 0px}
761        }
762        .block {border-left: 5px solid var(--naranja) !important;}
763    </style>
764    
764<script>
765        gsap.registerPlugin(ScrollTrigger);
766        let hideVideo = getCookie("hideVideo") || !1;
767        let loadContent = !0;
768        window.addEventListener("load", function () {
769            InitMask();
770        });
771        function InitMask(){
772            const overlay = document.getElementById("overlay");
773            const preloader = document.getElementById("preloader");
774            const body = document.getElementById("body");
775            const contentpreloader = document.getElementById("content-preloader");
776            const tl = gsap.timeline({ ease: "power2.out" });
777            if (prelodmask == 1) {
778                tl.add(() => {
779                    if (preloader) preloader.style.display = "none";
780                }, 0.3)
781                    .add(() => {
782                        StartAnimScroll();
783                    }, 0.9)
784                    .add(() => {
785                        if (overlay) {
786                            overlay.style.display = "none";
787                            body.style.overflow = "auto";
788                        }
789                    }, 1.5);
790            } else if (prelodmask == 0) {
791                tl.add(() => {
792                    if (preloader) preloader.style.display = "none";
793                }, 0.3)
794                    .add(() => {
795                        if (contentpreloader) contentpreloader.style.display = "none";
796                        body.style.overflow = "auto";
797                        StartAnimScroll();
798                    }, 1.5);
799            }
800        }
801        window.addEventListener("scroll", (e) => {
802            if (window.scrollY > 200 && loadContent) {
803                loadContent = !1;
804            }
805        });
806        function StartAnimScroll() {
807            document.querySelectorAll(".anim").forEach((el) => {
808                if (el.hasAttribute("data-animate")) {
809                    const animClass = "animate__" + el.getAttribute("data-animate");
810                    ScrollTrigger.create({ trigger: el, start: "top 95%", onEnter: () => el.classList.add("animate__animated", animClass), onLeaveBack: () => el.classList.remove("animate__animated", animClass), once: !1 });
811                }
812            });
813        }
814    </script>
vendor: 1 bytes, line 814
814
815<script>
816    // Variables globales
817    var fontSize = [1, 3, 6, 12];
818    var ultimoElementoNarrado = null;
819    var reproduciendo = false;
820    // **************** Funcionalidad de escala de grises ****************
821    function SetColor(){
822        var current = getCookie('Color');
823        var newValue = (current === '1') ? '0' : '1';
824        setCookie('Color',newValue,1);
825        getColor();
826    }
827    function getColor() {
828        if(getCookie('Color') === '1') {
829            $("html").addClass("gris");
830            $("#menuColorbtn").html("<i class='fas fa-palette me-2 mb-2'></i><span>Agregar Color</span><i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
831            document.getElementById('menuColorbtn').classList.add('active');
832        } else {
833            $("html").removeClass("gris");
834            $("#menuColorbtn").html("<i class='fas fa-palette me-2 mb-2'></i> <span>Escala de Grises</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
835            document.getElementById('menuColorbtn').classList.remove('active');
836        }
837        getBtnReset();
838    }
839    // **************** Funcionalidad de tamaño de fuente ****************
840    function ChngFuente(){
841        var aumentar = 1;
842        var indice = 0;
843        if(getCookie('fuente')) {
844            var fuente = getCookie('fuente').split(":");
845            aumentar = parseInt(fuente[0]);
846            indice = parseInt(fuente[1]);
847        }
848        if(aumentar === 1) {
849            indice = indice + 1;
850            aumentar = (indice >= fontSize.length) ? 0 : 1;
851        } else {
852            indice = indice - 1;
853            aumentar = (indice === 0) ? 1 : 0;
854        }
855        indice = (indice >= fontSize.length) ? fontSize.length - 1 : indice;
856        indice = (indice < 0) ? 0 : indice;
857        setCookie('fuente', aumentar + ':' + indice, 1);
858        getFuente();
859    }
860    function getFuente() {
861        if(getCookie('fuente')) {
862            var elementos = document.querySelectorAll("h1, h2, h3, h4, h5, h6, p, li, a, small, span");
863            var fuente = getCookie('fuente').split(":");
864            var indice = parseInt(fuente[1]);
865
866            for (var i = 0; i < elementos.length; i++) {
867                var sizeActual = parseInt(window.getComputedStyle(elementos[i]).fontSize);
868                var newSize = (fuente[0] === '1') ?
869                    parseInt(sizeActual + fontSize[indice]):
870                    parseInt(sizeActual - fontSize[indice]);
871                elementos[i].style.fontSize = newSize + "px";
872            }
873            if(fuente[0] === '1') {
874                $("#menuFuenteBtn").html("<i class='fas fa-text-height me-2'></i> <span>Ampliar Texto</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
875            } else {
876                $("#menuFuenteBtn").html("<i class='fas fa-text-height me-2'></i> <span>Reducir Texto</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
877            }
878            if(indice === 0) {
879                $("#menuFuenteBtn").html("<i class='fas fa-text-height me-2'></i> <span>Ampliar Texto</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
880            }
881            if(indice > 0) {
882                $("#menuReseTxtBtn").removeClass("d-none");
883            } else {
884                $("#menuReseTxtBtn").addClass("d-none");
885            }
886            $("#menuFuenteBtn").toggleClass("active", indice > 0);
887            getBtnReset();
888        }
889    }
890    function ResetFuente() {
891        eraseCookie('fuente');
892        window.location.reload();
893    }
894    // **************** Funcionalidad de cursor ****************
895    function ChngCursor() {
896        var current = getCookie('cursor');
897        var newValue = (current === '1') ? '0' : '1';
898        setCookie('cursor', newValue, 1);
899        getCursor();
900    }
901    function getCursor() {
902        if(getCookie('cursor') === '1') {
903            $("html").addClass("cursorlg");
904            $("#menuCursorBtn").html("<i class='fas fa-mouse-pointer me-2 mb-2'></i> <span>Normal Cursor</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
905            $("#menuCursorBtn").addClass("active");
906        } else {
907            $("html").removeClass("cursorlg");
908            $("#menuCursorBtn").html("<i class='fas fa-mouse-pointer me-2 mb-2'></i> <span>Ampliar Cursor</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>");
909            $("#menuCursorBtn").removeClass("active");
910        }
911        getBtnReset();
912    }
913    // **************** Funcionalidad de resaltar links ****************
914    function ResaltLink() {
915        var current = getCookie('links');
916        var newValue = (current === '1') ? '0' : '1';
917        setCookie('links', newValue, 1);
918        getLinks();
919    }
920    function getLinks() {
921        if(getCookie('links') === '0') {
922            $("#menuLinksBtn")
923                .html("<i class='fas fa-link me-2 mb-2'></i> <span>Normal Links</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>")
924                .addClass("active");
925            $("a").addClass("resaltado");
926        } else {
927            $("#menuLinksBtn")
928                .html("<i class='fas fa-link me-2 mb-2'></i> <span>Destacar Links</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>")
929                .removeClass("active");
930            $("a").removeClass("resaltado");
931        }
932        getBtnReset();
933    }
934    // **************** Funcionalidad de narrador ****************
935    function NarradorOff() {
936        var current = getCookie('narrador');
937        var newValue = (current === 'si') ? 'no' : 'si';
938        setCookie('narrador', newValue, 1);
939        recibirTexto();
940    }
941    function recibirTexto() {
942        var puedeNarrar = getCookie('narrador') || 'no';
943        if (puedeNarrar === 'si') {
944            $("#menuSpeackBtn")
945                .html("<i class='fas fa-volume-up me-2 mb-2'></i> <span>Narrador</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>")
946                .addClass("active");
947            $(".texto").hover(
948                function() {
949                    if (!reproduciendo && $(this).text() !== ultimoElementoNarrado) {
950                        decir($(this).text());
951                        ultimoElementoNarrado = $(this).text();
952                        reproduciendo = true;
953                    }
954                },
955                function() {
956                    if ($(this).text() === ultimoElementoNarrado) {
957                        detenerReproduccion();
958                    }
959                }
960            );
961            // Configurar eventos para imágenes con atributo alt
962            $("img[alt]").hover(
963                function() {
964                    if (!reproduciendo && $(this).attr('alt') !== ultimoElementoNarrado) {
965                        decir($(this).attr('alt'));
966                        ultimoElementoNarrado = $(this).attr('alt');
967                        reproduciendo = true;
968                    }
969                },
970                function() {
971                    if ($(this).attr('alt') === ultimoElementoNarrado) {
972                        detenerReproduccion();
973                    }
974                }
975            );
976
977            // Configurar eventos para elementos con aria-label
978            $("[aria-label]").hover(
979                function() {
980                    if (!reproduciendo && $(this).attr('aria-label') !== ultimoElementoNarrado) {
981                        decir($(this).attr('aria-label'));
982                        ultimoElementoNarrado = $(this).attr('aria-label');
983                        reproduciendo = true;
984                    }
985                },
986                function() {
987                    if ($(this).attr('aria-label') === ultimoElementoNarrado) {
988                        detenerReproduccion();
989                    }
990                }
991            );
992
993        } else {
994            $("#menuSpeackBtn")
995                .html("<i class='fas fa-volume-mute me-2 mb-2'></i> <span>Narrador</span> <i class='fa-solid fa-circle-check text-naranja position-absolute m-1 check-icon'></i>")
996                .removeClass("active");
997            detenerReproduccion();
998        }
999        getBtnReset();
1000    }
1001    function decir(texto) {
1002        var puedeNarrar = getCookie('narrador') || 'si';
1003        if (puedeNarrar === 'si') {
1004            var mensaje = new SpeechSynthesisUtterance(texto);
1005            mensaje.lang = 'es-ES';
1006            mensaje.onend = function() {
1007                reproduciendo = false;
1008            };
1009            speechSynthesis.speak(mensaje);
1010        }
1011    }
1012    function detenerReproduccion() {
1013        speechSynthesis.cancel();
1014        reproduciendo = false;
1015    }
1016    // **************** Funcionalidad de reset ****************
1017    function ResetMenu() {
1018        eraseCookie('Color');
1019        eraseCookie('fuente');
1020        eraseCookie('cursor');
1021        eraseCookie('links');
1022        eraseCookie('narrador');
1023        window.location.reload();
1024    }
1025    function getBtnReset() {
1026        var showReset = false;
1027        if(getCookie('Color') || getCookie('fuente') || getCookie('cursor') || getCookie('links') || getCookie('narrador')) {
1028            showReset = true;
1029        }
1030
1031        if(showReset) {
1032            $("#menuResetBtn").removeClass("d-none");
1033        } else {
1034            $("#menuResetBtn").addClass("d-none");
1035        }
1036    }
1037    // **************** Inicialización y eventos ****************
1038    $(document).ready(function(){
1039        // Cargar configuraciones guardadas al iniciar
1040        getColor();
1041        getFuente();
1042        getCursor();
1043        getLinks();
1044        recibirTexto();
1045        getBtnReset();
1046        // Mostrar/ocultar menú al hacer clic en el botón de discapacidad
1047        $(".discapacidad").click(function(e){
1048            e.stopPropagation();
1049            $("#contenMenudisc").fadeToggle(300);
1050        });
1051        // Cerrar menú solo al hacer clic en el botón de cerrar
1052        $("#btnclosemenu").click(function(e){
1053            e.stopPropagation();
1054            $("#contenMenudisc").hide();
1055        });
1056        // Prevenir que el menú se cierre al hacer clic en una opción
1057        $("#tblMenuDisc li").click(function(e){
1058            e.stopPropagation(); // Evita que el evento se propague al documento
1059            // El menú permanecerá abierto después de la selección
1060        });
1061        // Cerrar menú al hacer clic fuera de él
1062        $(document).click(function(e){
1063            if (!$(e.target).closest("#contenMenudisc").length && !$(e.target).closest(".discapacidad").length){
1064                $("#contenMenudisc").hide();
1065            }
1066        });
1067        // Menú de busqueda de carreras
1068        function debounce(func,wait){
1069            let timeout;
1070            return function() {
1071                const context = this, args = arguments;
1072                clearTimeout(timeout);
1073                timeout = setTimeout(() => func.apply(context, args), wait);
1074            };
1075        }
1076        $("#search").on("input",debounce(function(){
1077            const listaSugerencia = $("#suggestions");
1078            const animclase = "animate__bounceIn";
1079            listaSugerencia.hide();
1080            let query = $(this).val();
1081
1082            if(listaSugerencia.hasClass(animclase)){
1083                listaSugerencia.removeClass('animate__animated');
1084                listaSugerencia.removeClass(animclase);
1085            }
1086
1087            if(query.length > 3){
1088                $.ajax({
1089                    type: 'POST',
1090                    url: _root+'ajaxsapp/ajax',
1091                    headers: {'X-Requested-With':'XMLHttpRequest'},
1092                    data: {action:'query_carrera',s:query },
1093                    success: function(data) {
1094                        var array = eval(data);
1095                        var listado = "";
1096                        $.each(array,function(i,fila){
1097                            const tipo = fila['online']?'Online':'Presencial';
1098                            listado += '<div class="card-lista d-flex align-items-center" data-url="'+_root+fila['url']+'">' +
1099                                '<div class="flex-shrink-0">'+
1100                                '<img src="https://itb.edu.ec/'+fila['img']+'" width="50" alt="Carrera"></div>'+
1101                                '<div class="flex-grow-1 ms-3"><strong class="mb-1">'+fila['descripcion']+'</strong>'+
1102                                '</br> <small>'+tipo+'</small><small class="text-muted"> - '+fila['duracion']+'</small>'+
1103                                '</div></div>';
1104                        });
1105                        listaSugerencia.addClass('animate__animated');
1106                        listaSugerencia.addClass(animclase);
1107                        listaSugerencia.html(listado).show();
1108                    },
1109                    error: function(xhr,status,error){
1110                        console.log(xhr);
1111                        console.log(status);
1112                        console.log(error);
1113                    }
1114                });
1115            } else {
1116                $("#suggestions").hide();
1117                if(listaSugerencia.hasClass(animclase)){
1118                    listaSugerencia.removeClass('animate__animated');
1119                    listaSugerencia.removeClass(animclase);
1120                }
1121            }
1122        },500));
1123        $(document).on("click",".card-lista",function(){
1124            $("#search").val($(this).text());
1125            const url = $(this).data('url');
1126            if (url){
1127                $("#content-preloader").removeClass("d-none");
1128                window.location.href = url;
1129            }
1130            $("#suggestions").hide();
1131        });
1132    });
1133    window.addEventListener('load',function(){
1134        // No todas las paginas incluyen estos elementos del preloader.
1135        const overlayEl = document.getElementById('overlay');
1136        if (overlayEl) overlayEl.classList.add('overlay-efect');
1137        const overlayColorEl = document.getElementById('overlaycolor');
1138        if (overlayColorEl) overlayColorEl.classList.add('overlaycolor-efect');
1139        const contentPreloaderEl = document.getElementById('content-preloader');
1140        if (contentPreloaderEl) contentPreloaderEl.classList.add('d-none');
1141    });
1142    $("#mapTabContent").hover(function(){ cargaMapas(); });
1143    $(".urlclic").click(function(){
1144        const url = $(this).data('url');
1145        if (url){
1146            $("#content-preloader").removeClass("d-none");
1147            window.location.href = url;
1148        }
1149    });
1150    window.addEventListener('pageshow', function(event) {
1151        if (event.persisted) {
1152            // Mostrar preloader
1153            const preloader = document.getElementById('content-preloader');
1154            if (preloader) {
1155                preloader.classList.remove('d-none');
1156            }
1157            window.location.reload();
1158        }
1159    });
1160
1161    // **************** Sistema de gestión de cookies ****************
1162
1163    // Verificar y mostrar banner de cookies
1164    $(document).ready(function(){
1165        if (!getCookie('politicacookies') && !getCookie('cookie_consent')) {
1166            $('.content-cookies').fadeIn();
1167        }
1168
1169        $('#todasopcionales').change(function(){
1170            const isChecked = $(this).prop('checked');
1171            $('#analiticas').prop('checked', isChecked);
1172            $('#preferencias').prop('checked', isChecked);
1173        });
1174
1175        $('#analiticas, #preferencias').change(function(){
1176            const allChecked = $('#analiticas').prop('checked') && $('#preferencias').prop('checked');
1177            $('#todasopcionales').prop('checked', allChecked);
1178        });
1179
1180        cargarConfiguracionCookies();
1181    });
1182
1183    // Aceptar todas las cookies
1184    function aceptarCookies() {
1185        setCookie('politicacookies', '1', 365);
1186        setCookie('cookie_consent', 'all', 365);
1187        setCookie('cookie_analiticas', '1', 365);
1188        setCookie('cookie_preferencias', '1', 365);
1189        $('.content-cookies').fadeOut();
1190        cargarAnaliticas();
1191        cargarPreferencias();
1192        activarMenuPreferencias();
1193    }
1194
1195    // Rechazar todas las cookies opcionales
1196    function rechazarCookies() {
1197        setCookie('politicacookies', '1', 365);
1198        setCookie('cookie_consent', 'necessary', 365);
1199        eraseCookie('cookie_analiticas');
1200        eraseCookie('cookie_preferencias');
1201        $('.content-cookies').fadeOut();
1202        limpiarCookiesAnaliticas();
1203        detenerAnaliticas();
1204        desactivarPreferencias();
1205
1206        // Cerrar modal si está abierto
1207        $('#cookiesModal').modal('hide');
1208    }
1209
1210    // Guardar configuración personalizada de cookies
1211    function guardarConsentimiento() {
1212        setCookie('politicacookies', '1', 365);
1213        const analiticas = $('#analiticas').prop('checked');
1214        const preferencias = $('#preferencias').prop('checked');
1215        if (analiticas && preferencias) {
1216            setCookie('cookie_consent', 'all', 365);
1217        } else if (!analiticas && !preferencias) {
1218            setCookie('cookie_consent', 'necessary', 365);
1219        } else {
1220            setCookie('cookie_consent', 'custom', 365);
1221        }
1222        if (analiticas) {
1223            setCookie('cookie_analiticas', '1', 365);
1224            cargarAnaliticas();
1225        } else {
1226            eraseCookie('cookie_analiticas');
1227            limpiarCookiesAnaliticas();
1228            detenerAnaliticas();
1229        }
1230        if (preferencias) {
1231            setCookie('cookie_preferencias', '1', 365);
1232            cargarPreferencias();
1233            activarMenuPreferencias();
1234        } else {
1235            eraseCookie('cookie_preferencias');
1236            desactivarPreferencias();
1237        }
1238
1239        $('.content-cookies').fadeOut();
1240    }
1241
1242    function cargarConfiguracionCookies() {
1243        const analiticas = getCookie('cookie_analiticas');
1244        const preferencias = getCookie('cookie_preferencias');
1245
1246        $('#analiticas').prop('checked', analiticas === '1');
1247        $('#preferencias').prop('checked', preferencias === '1');
1248
1249        const allChecked = (analiticas === '1') && (preferencias === '1');
1250        $('#todasopcionales').prop('checked', allChecked);
1251
1252        if (analiticas === '1') {
1253            cargarAnaliticas();
1254        }
1255        if (preferencias === '1') {
1256            cargarPreferencias();
1257            activarMenuPreferencias();
1258        } else {
1259            desactivarMenuPreferencias();
1260        }
1261    }
1262
1263    // Cargar scripts de analíticas
1264    function cargarAnaliticas() {
1265        if (window.gtagLoaded) return;
1266
1267        // Google Analytics
1268        const script = document.createElement('script');
1269        script.async = true;
1270        script.src = 'https://www.googletagmanager.com/gtag/js?i
1270d=AW-780440524';
1271        document.head.appendChild(script);
1272
1273        window.dataLayer = window.dataLayer || [];
1274        function gtag(){ dataLayer.push(arguments); }
1275        window.gtag = gtag;
1276        gtag('js', new Date());
1277        gtag('config', 'AW-780440524');
1278
1279        // Facebook Pixel
vendor: 501 bytes, lines 1279-1288
1279
1280        !function(f,b,e,v,n,t,s){
1281            if(f.fbq)return;n=f.fbq=function(){ n.callMethod ? n.callMethod.apply(n,arguments) : n.queue.push(arguments) };
1282            if(!f._fbq)f._fbq=n;
1283            n.push=n;n.loaded=!0;n.version='2.0';
1284            n.queue=[];t=b.createElement(e);t.async=!0;
1285            t.src=v;s=b.getElementsByTagName(e)[0];
1286            s.parentNode.insertBefore(t,s)
1287        }(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');
1288        fbq('init', '
1288185165846907852
vendor: 47 bytes, lines 1288-1291
1288');
1289        fbq('track', 'PageView');
1290
1291        
1291window.gtagLoaded = true;
1292        habilitarMapas();
1293        // console.log('Cookies analíticas activadas');
1294    }
1295
1296    function detenerAnaliticas() {
1297        if (typeof gtag !== 'undefined') {
1298            gtag('consent', 'update', {
1299                ad_storage: 'denied',
1300                analytics_storage: 'denied'
1301            });
1302        }
1303        if (typeof fbq !== 'undefined') {
1304            fbq('consent', 'revoke');
1305            fbq = function () {};
1306        }
1307    }
1308
1309    function limpiarCookiesAnaliticas() {
1310        eraseCookie('_fbp');
1311        eraseCookie('_fbc');
1312        eraseCookie('_gcl_au');
1313        eraseCookie('_ga');
1314        eraseCookie('_gid');
1315        eraseCookie('_gat');
1316
1317        // console.log('Cookies analíticas eliminadas');
1318    }
1319
1320    function cargarPreferencias() {
1321        getColor();
1322        getFuente();
1323        getCursor();
1324        getLinks();
1325        recibirTexto();
1326        getBtnReset();
1327        // console.log('Cookies de preferencias activadas');
1328    }
1329
1330    function desactivarPreferencias() {
1331        eraseCookie('Color');
1332        eraseCookie('fuente');
1333        eraseCookie('cursor');
1334        eraseCookie('links');
1335        eraseCookie('narrador');
1336        desactivarMenuPreferencias();
1337        // console.log('Cookies de preferencias desactivadas');
1338    }
1339
1340    function desactivarMenuPreferencias() {
1341        const menu = document.getElementById('tblMenuDisc');
1342        if (!menu) return;
1343
1344        const items = menu.querySelectorAll('a[onclick]');
1345
1346        items.forEach(item => {
1347            const originalOnclick = item.getAttribute('onclick');
1348            item.setAttribute('data-original-onclick', originalOnclick);
1349            item.removeAttribute('onclick');
1350            item.style.cursor = 'not-allowed';
1351            item.style.opacity = '0.5';
1352
1353            item.addEventListener('click', function(e) {
1354                e.preventDefault();
1355                e.stopPropagation();
1356
1357                const cookiesModal = new bootstrap.Modal(document.getElementById('cookiesModal'));
1358                cookiesModal.show();
1359            });
1360        });
1361    }
1362
1363    function activarMenuPreferencias() {
1364        const menu = document.getElementById('tblMenuDisc');
1365        if (!menu) return;
1366
1367        const items = menu.querySelectorAll('a[data-original-onclick]');
1368        items.forEach(item => {
1369            const originalOnclick = item.getAttribute('data-original-onclick');
1370            if (originalOnclick) {
1371                item.setAttribute('onclick', originalOnclick);
1372                item.removeAttribute('data-original-onclick');
1373            }
1374            item.style.cursor = '';
1375            item.style.opacity = '';
1376
1377            const newItem = item.cloneNode(true);
1378            item.parentNode.replaceChild(newItem, item);
1379        });
1380    }
1381
1382    function habilitarMapas() {
1383        window.mapasifrm = 0;
1384        // console.log('Mapas habilitados para carga');
1385    }
1386
1387    $(document).ready(function() {
1388        const necesarias = document.getElementById('necesarias');
1389        const labelNecesarias = document.querySelector("label[for='necesarias']");
1390
1391        if (necesarias) {
1392            necesarias.addEventListener('click', e => e.preventDefault());
1393            necesarias.addEventListener('keydown', e => e.preventDefault());
1394        }
1395        if (labelNecesarias) {
1396            labelNecesarias.addEventListener('click', e => e.preventDefault());
1397        }
1398    });
1399
1400    // Para el chatbot
1401    $('#chatbot-btn').hover(function() {
1402        $(this).hide();
1403    });
1404    $('df-messenger').mouseleave(function() {
1405        $('#chatbot-btn').show();
1406    });
1407
1408    window.addEventListener('dfMessengerLoaded', function() {
1409        const dfMessenger = document.querySelector('df-messenger');
1410        const shadowRoot = dfMessenger.shadowRoot;
1411        const style = document.createElement('style');
1412        style.textContent = `
1413        button#widgetIcon {
1414            width: 70px !important;
1415            height: 70px !important;
1416            bottom: -5px !important;
1417        }
1418        button#widgetIcon .df-chat-icon{
1419            width: 50px !important;
1420            height: 50px !important;
1421        }
1422        button#widgetIcon div #closeSvg{
1423            left: 23px !important;
1424            top: 23px !important;
1425        }
1426        `;
1427        shadowRoot.appendChild(style);
1428    });
1429
1430    const button = document.getElementById('chatbot-btn');
1431    button.classList.add('bounce');
1432    setTimeout(() => {
1433        button.classList.remove('bounce');
1434    }, 1000);
1435    function animateButton() {
1436        const button = document.getElementById('chatbot-btn');
1437        button.classList.add('animate');
1438        setTimeout(() => {
1439            button.classList.remove('animate');
1440        }, 2000);
1441    }
1442    setInterval(animateButton, 8000);
1443</script>
1443
1444</body>
1445</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.