Team:Virtus-Parva Mexico/Safety

From 2014.igem.org

(Difference between revisions)
 
(61 intermediate revisions not shown)
Line 1: Line 1:
{{CSS/Main}}
{{CSS/Main}}
-
 
+
{{Team:VirtusParva/MainCss}}
<html>
<html>
-
 
+
    <head>
-
 
+
          <title>Virtus Parva</title>
-
<!-- this section changes the default wiki template to a
+
    </head>
-
white full width background -->
+
<body>
-
 
+
<style>
<style>
#contentSub, #footer-box, #catlinks, #search-controls, #p-logo, .printfooter, .firstHeading,.visualClear {display: none;} /*-- hides default wiki settings --*/
#contentSub, #footer-box, #catlinks, #search-controls, #p-logo, .printfooter, .firstHeading,.visualClear {display: none;} /*-- hides default wiki settings --*/
</style>
</style>
-
<!--  here ends the section that changes the default wiki  
+
<!--  here ends the section that changes the default wiki template to a white full width background -->
-
template to a white full width background -->
 
-
</html>
+
<!-- beginning of your page -->
-
{{Team:VirtusParva/MainCss}}
+
<!-- menu -->
 +
<table id="menu" width="100%" height="5px" border="0" cellspacing="0">
 +
<table align="center">
 +
       
-
<html>
+
  <tr height="50px">
-
<!-- beginning of your page -->
+
      <td width="162px" align="center" onMouseOver="this.bgColor='#BCD630'" onMouseOut="this.bgColor='#FFFFFF'" bgColor=#FFFFFF>
 +
    <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico" ><img  src="https://static.igem.org/mediawiki/2014/d/de/Virtus_Parva_L-t1.jpg"></img></a></td>
 +
<td width="162px" align="center" onMouseOver="this.bgColor='#BCD630'" onMouseOut="this.bgColor='#FFFFFF'" bgColor=#FFFFFF>
 +
<a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Project"> <img  src="https://static.igem.org/mediawiki/2014/5/59/Virtus_Parva_P-t1.jpg" </img></a></td>  
-
<body>
+
<td width="162px" align="center" onMouseOver="this.bgColor='#BCD630'" onMouseOut="this.bgColor='#FFFFFF'" bgColor=#FFFFFF>
 +
<a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Team"> <img  src="https://static.igem.org/mediawiki/2014/c/c0/Virtus_Parva_T-t1.jpg" </img></a></td>  
-
    <!-- Begin Cover -->
+
<td width="162px" align="center" onMouseOver="this.bgColor='#BCD630'" onMouseOut="this.bgColor='#FFFFFF'" bgColor=#FFFFFF>  
-
    <div class="site-wrapper">
+
<a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Notebook"> <img  src="https://static.igem.org/mediawiki/2014/e/e1/Virtus_Parva_W-t1.jpg" </img></a></td>  
 +
<td width="162px" align="center" onMouseOver="this.bgColor='#BCD630'" onMouseOut="this.bgColor='#FFFFFF'" bgColor=#FFFFFF>
 +
<a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Parts"> <img  src="https://static.igem.org/mediawiki/2014/b/ba/Virtus_Parva_H-t1.jpg" </img></a></td> 
-
        <nav class="navbar navbar-default navbar-fixed-top" role="banner">
+
<td width="162px" align="center" onMouseOver="this.bgColor='#BCD630'" onMouseOut="this.bgColor='#FFFFFF'" bgColor=#FFFFFF>  
-
            <div class="container">
+
<a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Attributions"><img src="https://static.igem.org/mediawiki/2014/b/bb/Virtus_Parva_A-t1.jpg" </img></a></td>
-
                <div class="navbar-header">
+
<td align="center" width="162px"><a href="https://igem.org/Main_Page"><img src="https://static.igem.org/mediawiki/igem.org/6/60/Igemlogo_300px.png" width="55px"></a></td>
-
                    <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-collapse">
+
</tr>
-
                        <span class="sr-only">Toggle navigation</span>
+
</table>
-
                        <span class="icon-bar"></span>
+
</table>
-
                        <span class="icon-bar"></span>
+
</head>
-
                        <span class="icon-bar"></span>
+
<!-- end of menu -->
-
                    </button>
+
-
                    <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico" class="navbar-brand">
+
-
                        <img src="https://static.igem.org/mediawiki/2014/f/f6/Para_boton.jpg" alt="Virtus Parva Home" height="20px" width="150px"></a>
+
-
                </div>
+
-
                <nav class="collapse navbar-collapse" role="navigation">
+
-
                    <ul class="nav navbar-nav">
+
-
                        <li>
+
-
                            <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Project">Project</a>
+
-
                        </li>
+
-
                        <li>
+
-
                            <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Parts">Outcomes</a>
+
-
                        </li>
+
-
                        <li>
+
-
                            <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Team">Our Team</a>
+
-
                        </li>
+
-
                        <li>
+
-
                            <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Safety">Safety</a>
+
-
                        </li>
+
-
                        <li>
+
-
                            <a href="https://2014.igem.org/Team:Virtus-Parva_Mexico/Attributions">Human Practices</a>
+
-
                        </li>
+
-
                    </ul>
+
-
                </nav>
+
-
            </div>
+
-
        </nav>
+
-
    <div id="masthead">
+
<!-- First block of content -->
-
        <div class="container">
+
<table  id="firstblock" width="100%" cellspacing="0" height="500px" border="1">
-
            <div class="row">
+
  <tr>
-
                <div class="col-md-7">
+
    <td><video autoplay width=100% height="auto"><source src="https://static.igem.org/mediawiki/2014/e/e4/Team_Virtus_Parva_Un_Dia_En_El_Lab.mov" type="video/ogg"></video></td>
-
                    <h1>Safety
+
</tr>
-
         
+
</table>
-
                        <p class="lead"><i>The Next Generation in Molecular Machinery</i>  
+
<!-- end of first block -->
-
</p>
+
-
                    </h1>
+
-
                </div>
+
-
            </div>
+
<!--  Block of content 1 -->
-
        </div>
+
<table width="100%"  cellspacing="0" height="500px" border="0">
-
        <!--/container-->
+
<tr><td  bgColor="#8AAA3D"></td>
-
    </div>
+
<td width="975px" align="left" bgColor="#8AAA3D" >
-
    <!--/masthead-->
+
<table  width="975px"  cellspacing="0" height="500px" border="0">
 +
<tr>
 +
<td width="95%" bgColor="#8AAA3D"  rowspan="3" align="left">  
-
    <!--main-->
 
-
    <div class="container">
 
-
        <div class="row">
 
-
            <!--left-->
 
-
            <div class="col-md-3" id="leftCol">
 
-
                <ul class="nav nav-stacked" id="sidebar">
 
-
                    <li><a href="#sec1">Project Overview</a></li>
 
-
                    <li><a href="#sec2">The Idea</a></li>
 
-
                    <li><a href="#sec3">The Making</a></li>
 
-
                </ul>
 
-
            </div>
 
-
            <!--/left-->
 
-
            <!--right-->
+
<h1><font size=7>Safety</h1></font>
-
            <div class="col-md-9">
+
<br>
-
                <!-- Inicia Seccion 1 -->
+
<p align="justify"><font size=4 color=#FFFFFF>
-
                <h2 id="sec1">Safety</h2>
+
Like most iGEM teams, our project consists of working with microorganisms that are part of the risk group 1 and as such only need to work in Level 1 safety conditions. With this biosafety level 1, only the standard safety precautions need apply when handling our microorganisms. By biosafety we understand as taking the necessary precautions so as to minimize the risks to our teammates working in the lab, the general public and the environment. The conditions that we work in, for they are safety level 1, include the most basic precautions in any lab. In these conditions, work can be done on open benches and wearing basic protective equipment such as lab coats, protective eye wear and rubber, or nitrile, gloves.  
-
                <div class="well">
+
<br>
-
                  <p>Like most iGEM teams, our project consists of working with microorganisms that are part of the risk group 1 and as such only need to work in Level 1 safety conditions. With this biosafety level 1, only the standard safety precautions need apply when handling our microorganisms. These conditions refer to the work being done on open benches and wearing basic protective equipment such as lab coats, protective eyewear and rubber, or nitrile when needed, gloves. Before being allowed to be alone in either of the labs without a post-graduate student present to oversee us, we had to take a standard safety course. This course covered the subjects of proper waste disposal, the importance of labelling everything inside a lab and what actions to take in case of an emergency. </p>  
+
<br>
-
                </div>
+
Before being allowed to be alone in either of the labs without a post-graduate student present to oversee us, we had to take a standard safety course. This course covered the subjects of proper waste disposal, the importance of labelling everything inside a lab and what actions to take in case of an emergency. The most important part in waste disposal was to correctly maintain separate chemical agents that should not mix. For example, making sure an acid and a base are not thrown into the same container.
-
                <div class="row">
+
</font></p>
-
                    <!-- Inicia Subseccion 1 -->
+
</td>
-
                    <div class="col-md-12">
+
<!-- This is the back to top button -->
-
                        <div class="panel panel-default">
+
<td bgColor=#8AAA3D> </td>
-
                            <div class="panel-heading">
+
<tr><td bgColor=#8AAA3D></td></tr>
-
                                <h3>Question 1: Would any of your project idea raise safety issues in terms of research safety, public safety or environmental safety?</h3>
+
<tr> <td  height="50px" width="5%" align="center" bgColor=#8AAA3D>  
-
                            </div>
+
<a href="#menu" style="text-decoration:none;color:#1C140D"><img src="https://static.igem.org/mediawiki/2014/3/39/Virtus_Parva-TOP-v2.jpg"></img></a> </td></tr>
-
                            <div class="panel-body">
+
</table>
-
                                The strain of E. Coli we chose to work with, DSM 1103 is considered within Biosafety level 1 and as such is considered an agent with minimal potential hazard to laboratory personnel and the environment. In any case an outbreak were to happen, our E. Coli strain doesn’t contain genes with toxin or antibiotic resistance. In case of contact with eyes or mouth, E. Coli can cause infections and as such we use wear gloves when dealing with our bacteria and dispose them in red safety bags a company will then sterilize before throwing them away.
+
-
                            </div>
 
-
                        </div>
 
-
                    </div>
 
-
                    <!-- Fin Subseccion 1 -->
 
-
<!-- Inicia Subseccion 2 -->
+
</td>
-
                    <div class="col-md-12">
+
<td bgColor="#8AAA3D"></td>
-
                        <div class="panel panel-default">
+
</tr>
-
                            <div class="panel-heading">
+
</table>
-
                                <h3>Question 2: Are any parts or devices in our project associated with (or known to cause) pathogenicity, infectivity, toxicity, threats to environmental quality or security concerns?</h3>
+
<!-- end of Block-->
-
                            </div>
+
-
                            <div class="panel-body">
+
-
                                The biggest risk comes from E. Coli infections to our team handling bacteria, an issue for which we have taken precautions. There are no other infectivity, toxicity of pathogenicity threats from our project. Security concerns are very low, as there are minimal security risks. Materials used are very common in microbiology labs and cannot be used maliciously or weaponized.
+
-
                            </div>
+
-
                        </div>
+
-
                    </div>
+
-
                    <!-- Fin Subseccion 2 -->
+
-
                    </div>
 
-
                <hr>
+
<!-- Block of content 2 -->
-
                <!-- Fin Seccion 2 -->
+
<table width="100%"  cellspacing="0" height="500px" border="0">
-
<!-- Inicia Subseccion 3 -->
+
<tr>
-
                    <div class="col-md-12">
+
<td width="162px" bgColor="#355079"></td>
-
                        <div class="panel panel-default">
+
<td bgColor="#355079">
-
                            <div class="panel-heading">
+
 
-
                                <h3>Question 3: Do any of the new BioBricks parts (or devices) that you made this year raise any safety issues?</h3>
+
<h1><font color=#FFFFFF>Our Questions</h1></font>
-
                            </div>
+
<br>
-
                            <div class="panel-body">
+
<br>
-
                                Our biobricks do not raise any direct safety concerns.
+
<p align="justify"><font size=4 color="#ffffff">
 +
<i>Question 1: Would any of your project idea raise safety <br>
 +
issues in terms of research safety, public safety or <br>
 +
environmental safety?</i><br>
 +
<br>
 +
The strain of E. Coli we chose to work with, DSM <br>
 +
1103 is considered within Biosafety level 1 and as<br>
 +
such is considered an agent with minimal potential<br>
 +
hazard to laboratory personnel and the environment.<br>
 +
In any case an outbreak were to happen, our E. Coli<br>
 +
strain doesn’t contain genes with toxin or antibiotic<br>
 +
resistance. In case of contact with eyes or mouth, E.<br>
 +
Coli can cause infections and as such we use wear <br>
 +
gloves when dealing with our bacteria and dispose <br>
 +
them in red safety bags a company will then sterilize<br>
 +
before throwing them away.
 +
<br>
 +
<br>
 +
<i>Question 2: Are any parts or devices in our project <br>
 +
associated with (or known to cause) pathogenicity, <br>
 +
infectivity, toxicity, threats to environmental quality<br>
 +
or security concerns?</i>
 +
<br><br>
 +
The biggest risk comes from E. Coli infections to our <br>
 +
team handling bacteria, an issue for which we have <br>
 +
taken precautions. There are no other infectivity, <br>
 +
toxicity of pathogenicity threats from our project.<br>
 +
Security concerns are very low, as there are minimal<br>
 +
security risks. Materials used are very common in <br>
 +
microbiology labs and cannot be used maliciously or <br>
 +
weaponized.
 +
<br>
 +
<br>
 +
</font>
 +
</p>
 +
 
 +
</td>
 +
<td bgColor="#355079"><img src="https://static.igem.org/mediawiki/2014/e/ea/Virtus_Parva_Abraham_saftey.jpg"/></td><td width="162px" bgColor="#355079"></td></tr></table>
 +
 
 +
 
 +
<!-- Block of content 3 -->
 +
 
 +
<table width="100%"  cellspacing="0" height="500px" border="0">
 +
<tr>
 +
<td  bgColor="#8AAA3D"></td>
 +
<td width="975px" align="left" bgColor="#8AAA3D" >
 +
 
 +
<table  width="975px"  cellspacing="0" height="500px" border="0">
 +
<tr><td width="95%" bgColor="#8AAA3D"  rowspan="3" align="left">
 +
 
 +
 
 +
<h1><font color=#FFFFFF> Further Questions</h1></font>
 +
<p>
 +
 
 +
    <link href="https://static.igem.org/mediawiki/2014/c/c8/Virtus_Parva_Js-image-slider.txt" rel="stylesheet" type="text/css"/>
 +
    <script src="https://static.igem.org/mediawiki/2014/d/d7/Virtus_Parva_Js-image-slider_%282%29.txt" type="text/javascript"></script>
 +
    <link href="https://static.igem.org/mediawiki/2014/7/75/Virtus_Parva_Generic.txt" rel="stylesheet" type="text/css" />
 +
</head>
 +
<body>
 +
   
 +
   
 +
<p> <font size=4><font color=#FFFFFF><i> Question 3: Do any of the new BioBricks parts (or devices) that you made this year raise any safety issues?</i>
 +
<br>
 +
We do not use any BioBricks parts this year, we have designed a device that only affects bacterial systems.
 +
<br>
 +
<br>
 +
Question 4: Is there a local biosafety group, committee, or review board at your institution?
 +
<br>
 +
The department of Chemical and Biological Sciences is responsible for regulating safety standards and laboratories. The head of the department and its teachers are aware of our project and as such check on us and make sure we are following guidelines. When in doubt, we refer to the biosafety guidelines the CDC has made public.</font></p>
-
                            </div>
 
-
                        </div>
 
-
                    </div>
 
-
                    <!-- Fin Subseccion 3 -->
 
-
<!-- Inicia Subseccion 4 -->
 
-
                    <div class="col-md-12">
 
-
                        <div class="panel panel-default">
 
-
                            <div class="panel-heading">
 
-
                                <h3>Question 4: Is there a local biosafety group, committee, or review board at your institution?</h3>
 
-
                            </div>
 
-
                            <div class="panel-body">
 
-
                              The department of Chemical and Biological Sciences is responsible for regulating safety standards and laboratories. The head of the department and its teachers are aware of our project and as such check on us and make sure we are following guidelines. When in doubt, we refer to the biosafety guidelines the CDC has made public.
 
-
                            </div>
+
<!-- This is the back to top section -->
-
                        </div>
+
<td bgColor=#8AAA3D </td>
-
                    </div>
+
<tr><td bgColor=#8AAA3D></td></tr>
-
                    <!-- Fin Subseccion 4 -->
+
<tr> <td  height="50px" width="5%" align="center" bgColor=#8AAA3D>
-
             
+
<a href="#menu" style="text-decoration:none;color:#1C140D"><img src="https://static.igem.org/mediawiki/2014/3/39/Virtus_Parva-TOP-v2.jpg"></img></a> </td></tr>
 +
</table>
 +
</td>
 +
<td bgColor="#8AAA3D"></td>
 +
</table>
 +
<!-- end of Block-->
-
            </div>
 
-
            <!--/right-->
 
-
        </div>
 
-
        <!--/row-->
 
-
    </div>
 
-
    <!--/container-->
 
 +
<!-- This is the back to top section -->
 +
<td bgColor=#F45D4C> </td>
 +
<tr><td bgColor=#F45D4C ></td></tr>
 +
<tr> <td  height="20px" width="5%" align="center" onMouseOver="this.bgColor='#FFFFFF'" onMouseOut="this.bgColor='#A1DBB2'" bgColor=#A1DBB2>
 +
<a href="#menu" style="text-decoration:none;color:#1C140D"></a> </td></tr>
-
    <!-- script references -->
+
</table>
-
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
+
</td>
 +
<td bgColor="#F45D4C"></td>
 +
</tr>
 +
</table>
 +
<!-- end of Block-->
-
    <script lang="JavaScript">
+
<!--  Block of content 3 -->
-
        if ("undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); +function (a) { "use strict"; function b() { var a = document.createElement("bootstrap"), b = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }; for (var c in b) if (void 0 !== a.style[c]) return { end: b[c] }; return !1 } a.fn.emulateTransitionEnd = function (b) { var c = !1, d = this; a(this).one(a.support.transition.end, function () { c = !0 }); var e = function () { c || a(d).trigger(a.support.transition.end) }; return setTimeout(e, b), this }, a(function () { a.support.transition = b() }) }(jQuery), +function (a) { "use strict"; var b = '[data-dismiss="alert"]', c = function (c) { a(c).on("click", b, this.close) }; c.prototype.close = function (b) { function c() { f.trigger("closed.bs.alert").remove() } var d = a(this), e = d.attr("data-target"); e || (e = d.attr("href"), e = e && e.replace(/.*(?=#[^\s]*$)/, "")); var f = a(e); b && b.preventDefault(), f.length || (f = d.hasClass("alert") ? d : d.parent()), f.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one(a.support.transition.end, c).emulateTransitionEnd(150) : c()) }; var d = a.fn.alert; a.fn.alert = function (b) { return this.each(function () { var d = a(this), e = d.data("bs.alert"); e || d.data("bs.alert", e = new c(this)), "string" == typeof b && e[b].call(d) }) }, a.fn.alert.Constructor = c, a.fn.alert.noConflict = function () { return a.fn.alert = d, this }, a(document).on("click.bs.alert.data-api", b, c.prototype.close) }(jQuery), +function (a) { "use strict"; var b = function (c, d) { this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d), this.isLoading = !1 }; b.DEFAULTS = { loadingText: "loading..." }, b.prototype.setState = function (b) { var c = "disabled", d = this.$element, e = d.is("input") ? "val" : "html", f = d.data(); b += "Text", f.resetText || d.data("resetText", d[e]()), d[e](f[b] || this.options[b]), setTimeout(a.proxy(function () { "loadingText" == b ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)) }, this), 0) }, b.prototype.toggle = function () { var a = !0, b = this.$element.closest('[data-toggle="buttons"]'); if (b.length) { var c = this.$element.find("input"); "radio" == c.prop("type") && (c.prop("checked") && this.$element.hasClass("active") ? a = !1 : b.find(".active").removeClass("active")), a && c.prop("checked", !this.$element.hasClass("active")).trigger("change") } a && this.$element.toggleClass("active") }; var c = a.fn.button; a.fn.button = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.button"), f = "object" == typeof c && c; e || d.data("bs.button", e = new b(this, f)), "toggle" == c ? e.toggle() : c && e.setState(c) }) }, a.fn.button.Constructor = b, a.fn.button.noConflict = function () { return a.fn.button = c, this }, a(document).on("click.bs.button.data-api", "[data-toggle^=button]", function (b) { var c = a(b.target); c.hasClass("btn") || (c = c.closest(".btn")), c.button("toggle"), b.preventDefault() }) }(jQuery), +function (a) { "use strict"; var b = function (b, c) { this.$element = a(b), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = this.sliding = this.interval = this.$active = this.$items = null, "hover" == this.options.pause && this.$element.on("mouseenter", a.proxy(this.pause, this)).on("mouseleave", a.proxy(this.cycle, this)) }; b.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0 }, b.prototype.cycle = function (b) { return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this }, b.prototype.getActiveIndex = function () { return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active) }, b.prototype.to = function (b) { var c = this, d = this.getActiveIndex(); return b > this.$items.length - 1 || 0 > b ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function () { c.to(b) }) : d == b ? this.pause().cycle() : this.slide(b > d ? "next" : "prev", a(this.$items[b])) }, b.prototype.pause = function (b) { return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this }, b.prototype.next = function () { return this.sliding ? void 0 : this.slide("next") }, b.prototype.prev = function () { return this.sliding ? void 0 : this.slide("prev") }, b.prototype.slide = function (b, c) { var d = this.$element.find(".item.active"), e = c || d[b](), f = this.interval, g = "next" == b ? "left" : "right", h = "next" == b ? "first" : "last", i = this; if (!e.length) { if (!this.options.wrap) return; e = this.$element.find(".item")[h]() } if (e.hasClass("active")) return this.sliding = !1; var j = a.Event("slide.bs.carousel", { relatedTarget: e[0], direction: g }); return this.$element.trigger(j), j.isDefaultPrevented() ? void 0 : (this.sliding = !0, f && this.pause(), this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid.bs.carousel", function () { var b = a(i.$indicators.children()[i.getActiveIndex()]); b && b.addClass("active") })), a.support.transition && this.$element.hasClass("slide") ? (e.addClass(b), e[0].offsetWidth, d.addClass(g), e.addClass(g), d.one(a.support.transition.end, function () { e.removeClass([b, g].join(" ")).addClass("active"), d.removeClass(["active", g].join(" ")), i.sliding = !1, setTimeout(function () { i.$element.trigger("slid.bs.carousel") }, 0) }).emulateTransitionEnd(1e3 * d.css("transition-duration").slice(0, -1))) : (d.removeClass("active"), e.addClass("active"), this.sliding = !1, this.$element.trigger("slid.bs.carousel")), f && this.cycle(), this) }; var c = a.fn.carousel; a.fn.carousel = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.carousel"), f = a.extend({}, b.DEFAULTS, d.data(), "object" == typeof c && c), g = "string" == typeof c ? c : f.slide; e || d.data("bs.carousel", e = new b(this, f)), "number" == typeof c ? e.to(c) : g ? e[g]() : f.interval && e.pause().cycle() }) }, a.fn.carousel.Constructor = b, a.fn.carousel.noConflict = function () { return a.fn.carousel = c, this }, a(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function (b) { var c, d = a(this), e = a(d.attr("data-target") || (c = d.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, "")), f = a.extend({}, e.data(), d.data()), g = d.attr("data-slide-to"); g && (f.interval = !1), e.carousel(f), (g = d.attr("data-slide-to")) && e.data("bs.carousel").to(g), b.preventDefault() }), a(window).on("load", function () { a('[data-ride="carousel"]').each(function () { var b = a(this); b.carousel(b.data()) }) }) }(jQuery), +function (a) { "use strict"; var b = function (c, d) { this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d), this.transitioning = null, this.options.parent && (this.$parent = a(this.options.parent)), this.options.toggle && this.toggle() }; b.DEFAULTS = { toggle: !0 }, b.prototype.dimension = function () { var a = this.$element.hasClass("width"); return a ? "width" : "height" }, b.prototype.show = function () { if (!this.transitioning && !this.$element.hasClass("in")) { var b = a.Event("show.bs.collapse"); if (this.$element.trigger(b), !b.isDefaultPrevented()) { var c = this.$parent && this.$parent.find("> .panel > .in"); if (c && c.length) { var d = c.data("bs.collapse"); if (d && d.transitioning) return; c.collapse("hide"), d || c.data("bs.collapse", null) } var e = this.dimension(); this.$element.removeClass("collapse").addClass("collapsing")[e](0), this.transitioning = 1; var f = function () { this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") }; if (!a.support.transition) return f.call(this); var g = a.camelCase(["scroll", e].join("-")); this.$element.one(a.support.transition.end, a.proxy(f, this)).emulateTransitionEnd(350)[e](this.$element[0][g]) } } }, b.prototype.hide = function () { if (!this.transitioning && this.$element.hasClass("in")) { var b = a.Event("hide.bs.collapse"); if (this.$element.trigger(b), !b.isDefaultPrevented()) { var c = this.dimension(); this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1; var d = function () { this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse") }; return a.support.transition ? void this.$element[c](0).one(a.support.transition.end, a.proxy(d, this)).emulateTransitionEnd(350) : d.call(this) } } }, b.prototype.toggle = function () { this[this.$element.hasClass("in") ? "hide" : "show"]() }; var c = a.fn.collapse; a.fn.collapse = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.collapse"), f = a.extend({}, b.DEFAULTS, d.data(), "object" == typeof c && c); !e && f.toggle && "show" == c && (c = !c), e || d.data("bs.collapse", e = new b(this, f)), "string" == typeof c && e[c]() }) }, a.fn.collapse.Constructor = b, a.fn.collapse.noConflict = function () { return a.fn.collapse = c, this }, a(document).on("click.bs.collapse.data-api", "[data-toggle=collapse]", function (b) { var c, d = a(this), e = d.attr("data-target") || b.preventDefault() || (c = d.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, ""), f = a(e), g = f.data("bs.collapse"), h = g ? "toggle" : d.data(), i = d.attr("data-parent"), j = i && a(i); g && g.transitioning || (j && j.find('[data-toggle=collapse][data-parent="' + i + '"]').not(d).addClass("collapsed"), d[f.hasClass("in") ? "addClass" : "removeClass"]("collapsed")), f.collapse(h) }) }(jQuery), +function (a) { "use strict"; function b(b) { a(d).remove(), a(e).each(function () { var d = c(a(this)), e = { relatedTarget: this }; d.hasClass("open") && (d.trigger(b = a.Event("hide.bs.dropdown", e)), b.isDefaultPrevented() || d.removeClass("open").trigger("hidden.bs.dropdown", e)) }) } function c(b) { var c = b.attr("data-target"); c || (c = b.attr("href"), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, "")); var d = c && a(c); return d && d.length ? d : b.parent() } var d = ".dropdown-backdrop", e = "[data-toggle=dropdown]", f = function (b) { a(b).on("click.bs.dropdown", this.toggle) }; f.prototype.toggle = function (d) { var e = a(this); if (!e.is(".disabled, :disabled")) { var f = c(e), g = f.hasClass("open"); if (b(), !g) { "ontouchstart" in document.documentElement && !f.closest(".navbar-nav").length && a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click", b); var h = { relatedTarget: this }; if (f.trigger(d = a.Event("show.bs.dropdown", h)), d.isDefaultPrevented()) return; f.toggleClass("open").trigger("shown.bs.dropdown", h), e.focus() } return !1 } }, f.prototype.keydown = function (b) { if (/(38|40|27)/.test(b.keyCode)) { var d = a(this); if (b.preventDefault(), b.stopPropagation(), !d.is(".disabled, :disabled")) { var f = c(d), g = f.hasClass("open"); if (!g || g && 27 == b.keyCode) return 27 == b.which && f.find(e).focus(), d.click(); var h = " li:not(.divider):visible a", i = f.find("[role=menu]" + h + ", [role=listbox]" + h); if (i.length) { var j = i.index(i.filter(":focus")); 38 == b.keyCode && j > 0 && j--, 40 == b.keyCode && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).focus() } } } }; var g = a.fn.dropdown; a.fn.dropdown = function (b) { return this.each(function () { var c = a(this), d = c.data("bs.dropdown"); d || c.data("bs.dropdown", d = new f(this)), "string" == typeof b && d[b].call(c) }) }, a.fn.dropdown.Constructor = f, a.fn.dropdown.noConflict = function () { return a.fn.dropdown = g, this }, a(document).on("click.bs.dropdown.data-api", b).on("click.bs.dropdown.data-api", ".dropdown form", function (a) { a.stopPropagation() }).on("click.bs.dropdown.data-api", e, f.prototype.toggle).on("keydown.bs.dropdown.data-api", e + ", [role=menu], [role=listbox]", f.prototype.keydown) }(jQuery), +function (a) { "use strict"; var b = function (b, c) { this.options = c, this.$element = a(b), this.$backdrop = this.isShown = null, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, a.proxy(function () { this.$element.trigger("loaded.bs.modal") }, this)) }; b.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }, b.prototype.toggle = function (a) { return this[this.isShown ? "hide" : "show"](a) }, b.prototype.show = function (b) { var c = this, d = a.Event("show.bs.modal", { relatedTarget: b }); this.$element.trigger(d), this.isShown || d.isDefaultPrevented() || (this.isShown = !0, this.escape(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.backdrop(function () { var d = a.support.transition && c.$element.hasClass("fade"); c.$element.parent().length || c.$element.appendTo(document.body), c.$element.show().scrollTop(0), d && c.$element[0].offsetWidth, c.$element.addClass("in").attr("aria-hidden", !1), c.enforceFocus(); var e = a.Event("shown.bs.modal", { relatedTarget: b }); d ? c.$element.find(".modal-dialog").one(a.support.transition.end, function () { c.$element.focus().trigger(e) }).emulateTransitionEnd(300) : c.$element.focus().trigger(e) })) }, b.prototype.hide = function (b) { b && b.preventDefault(), b = a.Event("hide.bs.modal"), this.$element.trigger(b), this.isShown && !b.isDefaultPrevented() && (this.isShown = !1, this.escape(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.bs.modal"), a.support.transition && this.$element.hasClass("fade") ? this.$element.one(a.support.transition.end, a.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal()) }, b.prototype.enforceFocus = function () { a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function (a) { this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.focus() }, this)) }, b.prototype.escape = function () { this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.bs.modal", a.proxy(function (a) { 27 == a.which && this.hide() }, this)) : this.isShown || this.$element.off("keyup.dismiss.bs.modal") }, b.prototype.hideModal = function () { var a = this; this.$element.hide(), this.backdrop(function () { a.removeBackdrop(), a.$element.trigger("hidden.bs.modal") }) }, b.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove(), this.$backdrop = null }, b.prototype.backdrop = function (b) { var c = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { var d = a.support.transition && c; if (this.$backdrop = a('<div class="modal-backdrop ' + c + '" />').appendTo(document.body), this.$element.on("click.dismiss.bs.modal", a.proxy(function (a) { a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this)) }, this)), d && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !b) return; d ? this.$backdrop.one(a.support.transition.end, b).emulateTransitionEnd(150) : b() } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(a.support.transition.end, b).emulateTransitionEnd(150) : b()) : b && b() }; var c = a.fn.modal; a.fn.modal = function (c, d) { return this.each(function () { var e = a(this), f = e.data("bs.modal"), g = a.extend({}, b.DEFAULTS, e.data(), "object" == typeof c && c); f || e.data("bs.modal", f = new b(this, g)), "string" == typeof c ? f[c](d) : g.show && f.show(d) }) }, a.fn.modal.Constructor = b, a.fn.modal.noConflict = function () { return a.fn.modal = c, this }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (b) { var c = a(this), d = c.attr("href"), e = a(c.attr("data-target") || d && d.replace(/.*(?=#[^\s]+$)/, "")), f = e.data("bs.modal") ? "toggle" : a.extend({ remote: !/#/.test(d) && d }, e.data(), c.data()); c.is("a") && b.preventDefault(), e.modal(f, this).one("hide", function () { c.is(":visible") && c.focus() }) }), a(document).on("show.bs.modal", ".modal", function () { a(document.body).addClass("modal-open") }).on("hidden.bs.modal", ".modal", function () { a(document.body).removeClass("modal-open") }) }(jQuery), +function (a) { "use strict"; var b = function (a, b) { this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init("tooltip", a, b) }; b.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1 }, b.prototype.init = function (b, c, d) { this.enabled = !0, this.type = b, this.$element = a(c), this.options = this.getOptions(d); for (var e = this.options.trigger.split(" "), f = e.length; f--;) { var g = e[f]; if ("click" == g) this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)); else if ("manual" != g) { var h = "hover" == g ? "mouseenter" : "focusin", i = "hover" == g ? "mouseleave" : "focusout"; this.$element.on(h + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(i + "." + this.type, this.options.selector, a.proxy(this.leave, this)) } } this.options.selector ? this._options = a.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, b.prototype.getDefaults = function () { return b.DEFAULTS }, b.prototype.getOptions = function (b) { return b = a.extend({}, this.getDefaults(), this.$element.data(), b), b.delay && "number" == typeof b.delay && (b.delay = { show: b.delay, hide: b.delay }), b }, b.prototype.getDelegateOptions = function () { var b = {}, c = this.getDefaults(); return this._options && a.each(this._options, function (a, d) { c[a] != d && (b[a] = d) }), b }, b.prototype.enter = function (b) { var c = b instanceof this.constructor ? b : a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type); return clearTimeout(c.timeout), c.hoverState = "in", c.options.delay && c.options.delay.show ? void (c.timeout = setTimeout(function () { "in" == c.hoverState && c.show() }, c.options.delay.show)) : c.show() }, b.prototype.leave = function (b) { var c = b instanceof this.constructor ? b : a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type); return clearTimeout(c.timeout), c.hoverState = "out", c.options.delay && c.options.delay.hide ? void (c.timeout = setTimeout(function () { "out" == c.hoverState && c.hide() }, c.options.delay.hide)) : c.hide() }, b.prototype.show = function () { var b = a.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { if (this.$element.trigger(b), b.isDefaultPrevented()) return; var c = this, d = this.tip(); this.setContent(), this.options.animation && d.addClass("fade"); var e = "function" == typeof this.options.placement ? this.options.placement.call(this, d[0], this.$element[0]) : this.options.placement, f = /\s?auto?\s?/i, g = f.test(e); g && (e = e.replace(f, "") || "top"), d.detach().css({ top: 0, left: 0, display: "block" }).addClass(e), this.options.container ? d.appendTo(this.options.container) : d.insertAfter(this.$element); var h = this.getPosition(), i = d[0].offsetWidth, j = d[0].offsetHeight; if (g) { var k = this.$element.parent(), l = e, m = document.documentElement.scrollTop || document.body.scrollTop, n = "body" == this.options.container ? window.innerWidth : k.outerWidth(), o = "body" == this.options.container ? window.innerHeight : k.outerHeight(), p = "body" == this.options.container ? 0 : k.offset().left; e = "bottom" == e && h.top + h.height + j - m > o ? "top" : "top" == e && h.top - m - j < 0 ? "bottom" : "right" == e && h.right + i > n ? "left" : "left" == e && h.left - i < p ? "right" : e, d.removeClass(l).addClass(e) } var q = this.getCalculatedOffset(e, h, i, j); this.applyPlacement(q, e), this.hoverState = null; var r = function () { c.$element.trigger("shown.bs." + c.type) }; a.support.transition && this.$tip.hasClass("fade") ? d.one(a.support.transition.end, r).emulateTransitionEnd(150) : r() } }, b.prototype.applyPlacement = function (b, c) { var d, e = this.tip(), f = e[0].offsetWidth, g = e[0].offsetHeight, h = parseInt(e.css("margin-top"), 10), i = parseInt(e.css("margin-left"), 10); isNaN(h) && (h = 0), isNaN(i) && (i = 0), b.top = b.top + h, b.left = b.left + i, a.offset.setOffset(e[0], a.extend({ using: function (a) { e.css({ top: Math.round(a.top), left: Math.round(a.left) }) } }, b), 0), e.addClass("in"); var j = e[0].offsetWidth, k = e[0].offsetHeight; if ("top" == c && k != g && (d = !0, b.top = b.top + g - k), /bottom|top/.test(c)) { var l = 0; b.left < 0 && (l = -2 * b.left, b.left = 0, e.offset(b), j = e[0].offsetWidth, k = e[0].offsetHeight), this.replaceArrow(l - f + j, j, "left") } else this.replaceArrow(k - g, k, "top"); d && e.offset(b) }, b.prototype.replaceArrow = function (a, b, c) { this.arrow().css(c, a ? 50 * (1 - a / b) + "%" : "") }, b.prototype.setContent = function () { var a = this.tip(), b = this.getTitle(); a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right") }, b.prototype.hide = function () { function b() { "in" != c.hoverState && d.detach(), c.$element.trigger("hidden.bs." + c.type) } var c = this, d = this.tip(), e = a.Event("hide.bs." + this.type); return this.$element.trigger(e), e.isDefaultPrevented() ? void 0 : (d.removeClass("in"), a.support.transition && this.$tip.hasClass("fade") ? d.one(a.support.transition.end, b).emulateTransitionEnd(150) : b(), this.hoverState = null, this) }, b.prototype.fixTitle = function () { var a = this.$element; (a.attr("title") || "string" != typeof a.attr("data-original-title")) && a.attr("data-original-title", a.attr("title") || "").attr("title", "") }, b.prototype.hasContent = function () { return this.getTitle() }, b.prototype.getPosition = function () { var b = this.$element[0]; return a.extend({}, "function" == typeof b.getBoundingClientRect ? b.getBoundingClientRect() : { width: b.offsetWidth, height: b.offsetHeight }, this.$element.offset()) }, b.prototype.getCalculatedOffset = function (a, b, c, d) { return "bottom" == a ? { top: b.top + b.height, left: b.left + b.width / 2 - c / 2 } : "top" == a ? { top: b.top - d, left: b.left + b.width / 2 - c / 2 } : "left" == a ? { top: b.top + b.height / 2 - d / 2, left: b.left - c } : { top: b.top + b.height / 2 - d / 2, left: b.left + b.width } }, b.prototype.getTitle = function () { var a, b = this.$element, c = this.options; return a = b.attr("data-original-title") || ("function" == typeof c.title ? c.title.call(b[0]) : c.title) }, b.prototype.tip = function () { return this.$tip = this.$tip || a(this.options.template) }, b.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") }, b.prototype.validate = function () { this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null) }, b.prototype.enable = function () { this.enabled = !0 }, b.prototype.disable = function () { this.enabled = !1 }, b.prototype.toggleEnabled = function () { this.enabled = !this.enabled }, b.prototype.toggle = function (b) { var c = b ? a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type) : this; c.tip().hasClass("in") ? c.leave(c) : c.enter(c) }, b.prototype.destroy = function () { clearTimeout(this.timeout), this.hide().$element.off("." + this.type).removeData("bs." + this.type) }; var c = a.fn.tooltip; a.fn.tooltip = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.tooltip"), f = "object" == typeof c && c; (e || "destroy" != c) && (e || d.data("bs.tooltip", e = new b(this, f)), "string" == typeof c && e[c]()) }) }, a.fn.tooltip.Constructor = b, a.fn.tooltip.noConflict = function () { return a.fn.tooltip = c, this } }(jQuery), +function (a) { "use strict"; var b = function (a, b) { this.init("popover", a, b) }; if (!a.fn.tooltip) throw new Error("Popover requires tooltip.js"); b.DEFAULTS = a.extend({}, a.fn.tooltip.Constructor.DEFAULTS, { placement: "right", trigger: "click", content: "", template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' }), b.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype), b.prototype.constructor = b, b.prototype.getDefaults = function () { return b.DEFAULTS }, b.prototype.setContent = function () { var a = this.tip(), b = this.getTitle(), c = this.getContent(); a.find(".popover-title")[this.options.html ? "html" : "text"](b), a.find(".popover-content")[this.options.html ? "string" == typeof c ? "html" : "append" : "text"](c), a.removeClass("fade top bottom left right in"), a.find(".popover-title").html() || a.find(".popover-title").hide() }, b.prototype.hasContent = function () { return this.getTitle() || this.getContent() }, b.prototype.getContent = function () { var a = this.$element, b = this.options; return a.attr("data-content") || ("function" == typeof b.content ? b.content.call(a[0]) : b.content) }, b.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".arrow") }, b.prototype.tip = function () { return this.$tip || (this.$tip = a(this.options.template)), this.$tip }; var c = a.fn.popover; a.fn.popover = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.popover"), f = "object" == typeof c && c; (e || "destroy" != c) && (e || d.data("bs.popover", e = new b(this, f)), "string" == typeof c && e[c]()) }) }, a.fn.popover.Constructor = b, a.fn.popover.noConflict = function () { return a.fn.popover = c, this } }(jQuery), +function (a) { "use strict"; function b(c, d) { var e, f = a.proxy(this.process, this); this.$element = a(a(c).is("body") ? window : c), this.$body = a("body"), this.$scrollElement = this.$element.on("scroll.bs.scroll-spy.data-api", f), this.options = a.extend({}, b.DEFAULTS, d), this.selector = (this.options.target || (e = a(c).attr("href")) && e.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.offsets = a([]), this.targets = a([]), this.activeTarget = null, this.refresh(), this.process() } b.DEFAULTS = { offset: 10 }, b.prototype.refresh = function () { var b = this.$element[0] == window ? "offset" : "position"; this.offsets = a([]), this.targets = a([]); { var c = this; this.$body.find(this.selector).map(function () { var d = a(this), e = d.data("target") || d.attr("href"), f = /^#./.test(e) && a(e); return f && f.length && f.is(":visible") && [[f[b]().top + (!a.isWindow(c.$scrollElement.get(0)) && c.$scrollElement.scrollTop()), e]] || null }).sort(function (a, b) { return a[0] - b[0] }).each(function () { c.offsets.push(this[0]), c.targets.push(this[1]) }) } }, b.prototype.process = function () { var a, b = this.$scrollElement.scrollTop() + this.options.offset, c = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight, d = c - this.$scrollElement.height(), e = this.offsets, f = this.targets, g = this.activeTarget; if (b >= d) return g != (a = f.last()[0]) && this.activate(a); if (g && b <= e[0]) return g != (a = f[0]) && this.activate(a); for (a = e.length; a--;) g != f[a] && b >= e[a] && (!e[a + 1] || b <= e[a + 1]) && this.activate(f[a]) }, b.prototype.activate = function (b) { this.activeTarget = b, a(this.selector).parentsUntil(this.options.target, ".active").removeClass("active"); var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]', d = a(c).parents("li").addClass("active"); d.parent(".dropdown-menu").length && (d = d.closest("li.dropdown").addClass("active")), d.trigger("activate.bs.scrollspy") }; var c = a.fn.scrollspy; a.fn.scrollspy = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.scrollspy"), f = "object" == typeof c && c; e || d.data("bs.scrollspy", e = new b(this, f)), "string" == typeof c && e[c]() }) }, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = function () { return a.fn.scrollspy = c, this }, a(window).on("load", function () { a('[data-spy="scroll"]').each(function () { var b = a(this); b.scrollspy(b.data()) }) }) }(jQuery), +function (a) { "use strict"; var b = function (b) { this.element = a(b) }; b.prototype.show = function () { var b = this.element, c = b.closest("ul:not(.dropdown-menu)"), d = b.data("target"); if (d || (d = b.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, "")), !b.parent("li").hasClass("active")) { var e = c.find(".active:last a")[0], f = a.Event("show.bs.tab", { relatedTarget: e }); if (b.trigger(f), !f.isDefaultPrevented()) { var g = a(d); this.activate(b.parent("li"), c), this.activate(g, g.parent(), function () { b.trigger({ type: "shown.bs.tab", relatedTarget: e }) }) } } }, b.prototype.activate = function (b, c, d) { function e() { f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), b.addClass("active"), g ? (b[0].offsetWidth, b.addClass("in")) : b.removeClass("fade"), b.parent(".dropdown-menu") && b.closest("li.dropdown").addClass("active"), d && d() } var f = c.find("> .active"), g = d && a.support.transition && f.hasClass("fade"); g ? f.one(a.support.transition.end, e).emulateTransitionEnd(150) : e(), f.removeClass("in") }; var c = a.fn.tab; a.fn.tab = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.tab"); e || d.data("bs.tab", e = new b(this)), "string" == typeof c && e[c]() }) }, a.fn.tab.Constructor = b, a.fn.tab.noConflict = function () { return a.fn.tab = c, this }, a(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function (b) { b.preventDefault(), a(this).tab("show") }) }(jQuery), +function (a) { "use strict"; var b = function (c, d) { this.options = a.extend({}, b.DEFAULTS, d), this.$window = a(window).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)), this.$element = a(c), this.affixed = this.unpin = this.pinnedOffset = null, this.checkPosition() }; b.RESET = "affix affix-top affix-bottom", b.DEFAULTS = { offset: 0 }, b.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset; this.$element.removeClass(b.RESET).addClass("affix"); var a = this.$window.scrollTop(), c = this.$element.offset(); return this.pinnedOffset = c.top - a }, b.prototype.checkPositionWithEventLoop = function () { setTimeout(a.proxy(this.checkPosition, this), 1) }, b.prototype.checkPosition = function () { if (this.$element.is(":visible")) { var c = a(document).height(), d = this.$window.scrollTop(), e = this.$element.offset(), f = this.options.offset, g = f.top, h = f.bottom; "top" == this.affixed && (e.top += d), "object" != typeof f && (h = g = f), "function" == typeof g && (g = f.top(this.$element)), "function" == typeof h && (h = f.bottom(this.$element)); var i = null != this.unpin && d + this.unpin <= e.top ? !1 : null != h && e.top + this.$element.height() >= c - h ? "bottom" : null != g && g >= d ? "top" : !1; if (this.affixed !== i) { this.unpin && this.$element.css("top", ""); var j = "affix" + (i ? "-" + i : ""), k = a.Event(j + ".bs.affix"); this.$element.trigger(k), k.isDefaultPrevented() || (this.affixed = i, this.unpin = "bottom" == i ? this.getPinnedOffset() : null, this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix", "affixed"))), "bottom" == i && this.$element.offset({ top: c - h - this.$element.height() })) } } }; var c = a.fn.affix; a.fn.affix = function (c) { return this.each(function () { var d = a(this), e = d.data("bs.affix"), f = "object" == typeof c && c; e || d.data("bs.affix", e = new b(this, f)), "string" == typeof c && e[c]() }) }, a.fn.affix.Constructor = b, a.fn.affix.noConflict = function () { return a.fn.affix = c, this }, a(window).on("load", function () { a('[data-spy="affix"]').each(function () { var b = a(this), c = b.data(); c.offset = c.offset || {}, c.offsetBottom && (c.offset.bottom = c.offsetBottom), c.offsetTop && (c.offset.top = c.offsetTop), b.affix(c) }) }) }(jQuery);
+
<table width="100%"  cellspacing="0" height="100px" border="0">
-
    </script>
+
<tr>
-
    <script lang="JavaScript">
+
<td  bgColor="#FFFFFF"></td>
 +
<td width="975px" align="center" bgColor="#FFFFFF" >
-
        $(document).ready(function () {/* activate sidebar */
+
<table  width="975px"  cellspacing="0" height="100px" border="0">
-
            $('#sidebar').affix({
+
<tr>
-
                offset: {
+
<td width="95%" bgColor="#FFFFFF"  rowspan="3" align="center">
-
                    top: 235
+
<a href="http://www.luisartphotography.com/"><img src="https://static.igem.org/mediawiki/2014/e/e4/Virtus_Parva-P1.jpg"/></img></a>
-
                }
+
<a href="https://www.facebook.com/pages/Mesa-Directiva-de-Ciencias-Qu%C3%ADmico-Biol%C3%B3gicas-UDLAP/560508417305601?ref=ts&fref=ts"><img src="https://static.igem.org/mediawiki/2014/e/ef/Virtus_Parva-P2.jpg"/></img></a>
-
            });
+
<a href="http://www.concytep.puebla.gob.mx/"><img src="https://static.igem.org/mediawiki/2014/4/45/Virtus_Parva-P3.jpg"/></img></a>
 +
<a href="http://www.udlap.mx/home.aspx"><img src="https://static.igem.org/mediawiki/2014/7/7e/Virtus_Parva-P4.jpg"/></img></a>
 +
</td> 
 +
</tr>
-
            /* activate scrollspy menu */
+
<!-- This is the back to top section -->
-
            var $body = $(document.body);
+
<td bgColor=#FFFFFF></td>
-
            var navHeight = $('.navbar').outerHeight(true) + 10;
+
<tr><td bgColor=FFFFFF></td></tr>
 +
<tr><td  height="20px" width="5%" align="center"></td></tr>
 +
</table>
-
            $body.scrollspy({
+
</td>
-
                target: '#leftCol',
+
<td></td>
-
                offset: navHeight
+
</table>
-
            });
+
<!-- end of Block-->
-
            /* smooth scrolling sections */
 
-
            $('a[href*=#]:not([href=#])').click(function () {
 
-
                if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
 
-
                    var target = $(this.hash);
 
-
                    target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
 
-
                    if (target.length) {
 
-
                        $('html,body').animate({
 
-
                            scrollTop: target.offset().top - 50
 
-
                        }, 1000);
 
-
                        return false;
 
-
                    }
 
-
                }
 
-
            });
 
-
        });
 
-
    </script>
 
</body>
</body>
</html>
</html>

Latest revision as of 03:31, 18 October 2014

Virtus Parva

Safety


Like most iGEM teams, our project consists of working with microorganisms that are part of the risk group 1 and as such only need to work in Level 1 safety conditions. With this biosafety level 1, only the standard safety precautions need apply when handling our microorganisms. By biosafety we understand as taking the necessary precautions so as to minimize the risks to our teammates working in the lab, the general public and the environment. The conditions that we work in, for they are safety level 1, include the most basic precautions in any lab. In these conditions, work can be done on open benches and wearing basic protective equipment such as lab coats, protective eye wear and rubber, or nitrile, gloves.

Before being allowed to be alone in either of the labs without a post-graduate student present to oversee us, we had to take a standard safety course. This course covered the subjects of proper waste disposal, the importance of labelling everything inside a lab and what actions to take in case of an emergency. The most important part in waste disposal was to correctly maintain separate chemical agents that should not mix. For example, making sure an acid and a base are not thrown into the same container.

Our Questions



Question 1: Would any of your project idea raise safety
issues in terms of research safety, public safety or
environmental safety?


The strain of E. Coli we chose to work with, DSM
1103 is considered within Biosafety level 1 and as
such is considered an agent with minimal potential
hazard to laboratory personnel and the environment.
In any case an outbreak were to happen, our E. Coli
strain doesn’t contain genes with toxin or antibiotic
resistance. In case of contact with eyes or mouth, E.
Coli can cause infections and as such we use wear
gloves when dealing with our bacteria and dispose
them in red safety bags a company will then sterilize
before throwing them away.

Question 2: Are any parts or devices in our project
associated with (or known to cause) pathogenicity,
infectivity, toxicity, threats to environmental quality
or security concerns?


The biggest risk comes from E. Coli infections to our
team handling bacteria, an issue for which we have
taken precautions. There are no other infectivity,
toxicity of pathogenicity threats from our project.
Security concerns are very low, as there are minimal
security risks. Materials used are very common in
microbiology labs and cannot be used maliciously or
weaponized.

Further Questions

Question 3: Do any of the new BioBricks parts (or devices) that you made this year raise any safety issues?
We do not use any BioBricks parts this year, we have designed a device that only affects bacterial systems.

Question 4: Is there a local biosafety group, committee, or review board at your institution?
The department of Chemical and Biological Sciences is responsible for regulating safety standards and laboratories. The head of the department and its teachers are aware of our project and as such check on us and make sure we are following guidelines. When in doubt, we refer to the biosafety guidelines the CDC has made public.