Difference between revisions of "Team:Waterloo/Model"

Line 1: Line 1:
 
{{Waterloo}}
 
{{Waterloo}}
 +
<!--
 +
Template Information:
 +
Industrious by TEMPLATED
 +
templated.co @templatedco
 +
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
 +
-->
 
<html>
 
<html>
 +
<style>
  
 +
/*!
 +
*  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 +
*  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 +
*/@font-face{font-family:'FontAwesome';src:url('https://static.igem.org/mediawiki/2019/9/9a/T--Waterloo--fontawesome-webfont.eot?v=4.7.0');src:url('https://static.igem.org/mediawiki/2019/9/9a/T--Waterloo--fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url(https://static.igem.org/mediawiki/2019/7/74/T--Waterloo--fontawesome-webfont.woff?v=4.7.0) format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url(https://static.igem.org/mediawiki/2019/5/53/T--Waterloo--fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
 +
 +
@import url("https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600");
 +
/*
 +
Industrious by TEMPLATED
 +
templated.co @templatedco
 +
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
 +
*/
 +
/* Basic */
 +
@-ms-viewport {
 +
  width: device-width; }
 +
body {
 +
  -ms-overflow-style: scrollbar; }
 +
 +
@media screen and (max-width: 480px) {
 +
  html, body {
 +
    min-width: 320px; } }
 +
html {
 +
  box-sizing: border-box; }
 +
 +
*, *:before, *:after {
 +
  box-sizing: inherit; }
 +
 +
body {
 +
  background: #ffffff; }
 +
  body.is-preload *, body.is-preload *:before, body.is-preload *:after {
 +
    -moz-animation: none !important;
 +
    -webkit-animation: none !important;
 +
    -ms-animation: none !important;
 +
    animation: none !important;
 +
    -moz-transition: none !important;
 +
    -webkit-transition: none !important;
 +
    -ms-transition: none !important;
 +
    transition: none !important; }
 +
 +
html, body, div, span, applet, object,
 +
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
 +
pre, a, abbr, acronym, address, big, cite,
 +
code, del, dfn, em, img, ins, kbd, q, s, samp,
 +
small, strike, strong, sub, sup, tt, var, b,
 +
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
 +
form, label, legend, table, caption, tbody,
 +
tfoot, thead, tr, th, td, article, aside,
 +
canvas, details, embed, figure, figcaption,
 +
footer, header, hgroup, menu, nav, output, ruby,
 +
section, summary, time, mark, audio, video {
 +
  margin: 0;
 +
  padding: 0;
 +
  border: 0;
 +
  font-size: 100%;
 +
  font: inherit;
 +
  vertical-align: baseline; }
 +
 +
article, aside, details, figcaption, figure,
 +
footer, header, hgroup, menu, nav, section {
 +
  display: block; }
 +
 +
body {
 +
  line-height: 1; }
 +
 +
ol, ul {
 +
  list-style: none; }
 +
 +
blockquote, q {
 +
  quotes: none; }
 +
  blockquote:before, blockquote:after, q:before, q:after {
 +
    content: '';
 +
    content: none; }
 +
 +
table {
 +
  border-collapse: collapse;
 +
  border-spacing: 0; }
 +
 +
body {
 +
  -webkit-text-size-adjust: none; }
 +
 +
mark {
 +
  background-color: transparent;
 +
  color: inherit; }
 +
 +
input::-moz-focus-inner {
 +
  border: 0;
 +
  padding: 0; }
 +
 +
input, select, textarea {
 +
  -moz-appearance: none;
 +
  -webkit-appearance: none;
 +
  -ms-appearance: none;
 +
  appearance: none; }
 +
 +
/* Typography */
 +
html {
 +
  font-size: 13pt; }
 +
  @media screen and (max-width: 1680px) {
 +
    html {
 +
      font-size: 11pt; } }
 +
  @media screen and (max-width: 980px) {
 +
    html {
 +
      font-size: 12pt; } }
 +
  @media screen and (max-width: 480px) {
 +
    html {
 +
      font-size: 11pt; } }
 +
 +
body {
 +
 +
  color: #444444; }
 +
 +
body, input, select, textarea {
 +
  font-family: "Raleway", Arial, Helvetica, sans-serif;
 +
  font-weight: 400;
 +
  font-size: 1rem;
 +
  line-height: 1.65; }
 +
 +
a {
 +
  -moz-transition: color 0.2s ease-in-out;
 +
  -webkit-transition: color 0.2s ease-in-out;
 +
  -ms-transition: color 0.2s ease-in-out;
 +
  transition: color 0.2s ease-in-out;
 +
  text-decoration: underline; }
 +
  a:hover {
 +
    text-decoration: none; }
 +
 +
strong, b {
 +
  font-weight: 600; }
 +
 +
em, i {
 +
  font-style: italic; }
 +
 +
p {
 +
  margin: 0 0 2rem 0; }
 +
 +
header.special {
 +
  text-align: center;
 +
  margin-bottom: 4rem; }
 +
  header.special p {
 +
    max-width: 75%;
 +
    margin-left: auto;
 +
    margin-right: auto; }
 +
 +
h1, h2, h3, h4, h5, h6 {
 +
  font-weight: 300;
 +
  line-height: 1.5;
 +
  text-transform: uppercase;
 +
  margin: 0 0 1.5rem 0; }
 +
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
 +
    color: inherit;
 +
    text-decoration: none; }
 +
 +
h1 {
 +
  font-size: 3rem;
 +
  line-height: 1.2; }
 +
 +
h2 {
 +
  font-size: 2.25rem;
 +
  line-height: 1.3; }
 +
 +
h3 {
 +
  font-size: 1.25rem; }
 +
 +
h4 {
 +
  font-size: 1rem; }
 +
 +
h5 {
 +
  font-size: 0.9rem; }
 +
 +
h6 {
 +
  font-size: 0.7rem; }
 +
 +
@media screen and (max-width: 736px) {
 +
  h1 {
 +
    font-size: 2.75rem;
 +
    line-height: 1.3; }
 +
 +
  h2 {
 +
    font-size: 1.75rem;
 +
    line-height: 1.5; }
 +
 +
  h3 {
 +
    font-size: 1.25rem; } }
 +
sub {
 +
  font-size: 0.8rem;
 +
  position: relative;
 +
  top: 0.5rem; }
 +
 +
sup {
 +
  font-size: 0.8rem;
 +
  position: relative;
 +
  top: -0.5rem; }
 +
 +
blockquote {
 +
  border-left: solid 0.5rem;
 +
  font-style: italic;
 +
  margin: 0 0 2rem 0;
 +
  padding: 1rem 0 1rem 2rem; }
 +
 +
code {
 +
  border-radius: 4px;
 +
  border: solid 1px;
 +
  font-family: "Courier New", monospace;
 +
  font-size: 0.9rem;
 +
  margin: 0 0.25rem;
 +
  padding: 0.25rem 0.65rem; }
 +
 +
pre {
 +
  -webkit-overflow-scrolling: touch;
 +
  font-family: "Courier New", monospace;
 +
  font-size: 0.9rem;
 +
  margin: 0 0 2rem 0; }
 +
  pre code {
 +
    display: block;
 +
    line-height: 1.75;
 +
    padding: 1rem 1.5rem;
 +
    overflow-x: auto; }
 +
 +
hr {
 +
  border: 0;
 +
  border-bottom: solid 1px;
 +
  margin: 2rem 0; }
 +
  hr.major {
 +
    margin: 4rem 0; }
 +
 +
input, select, textarea {
 +
  color: #555555; }
 +
 +
a {
 +
  color: #B3DC77; }
 +
 +
strong, b {
 +
  color: #555555; }
 +
 +
h1, h2, h3, h4, h5, h6 {
 +
  color: #555555; }
 +
 +
blockquote {
 +
  border-left-color: rgba(0, 0, 0, 0.25); }
 +
 +
code {
 +
  background: rgba(0, 0, 0, 0.075);
 +
  border-color: rgba(0, 0, 0, 0.25); }
 +
 +
hr {
 +
  border-bottom-color: rgba(0, 0, 0, 0.25); }
 +
 +
/* Inner */
 +
.inner {
 +
  margin: 0 auto;
 +
  width: 75rem;
 +
  max-width: calc(100% - 6rem); }
 +
  @media screen and (max-width: 480px) {
 +
    .inner {
 +
      max-width: calc(100% - 3rem); } }
 +
 +
/* Button */
 +
input[type="submit"],
 +
input[type="reset"],
 +
input[type="button"],
 +
button,
 +
.button {
 +
  -moz-appearance: none;
 +
  -webkit-appearance: none;
 +
  -ms-appearance: none;
 +
  appearance: none;
 +
  -moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
 +
  -webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
 +
  -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
 +
  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
 +
  border: 0;
 +
  border-radius: 4px;
 +
  cursor: pointer;
 +
  display: inline-block;
 +
  font-weight: 600;
 +
  height: 3.25rem;
 +
  line-height: 3.25rem;
 +
  padding: 0 1.75rem;
 +
  text-align: center;
 +
  text-decoration: none;
 +
  white-space: nowrap; }
 +
  input[type="submit"].small,
 +
  input[type="reset"].small,
 +
  input[type="button"].small,
 +
  button.small,
 +
  .button.small {
 +
    font-size: 0.8rem;
 +
    height: 2.4375rem;
 +
    line-height: 2.4375rem;
 +
    padding: 0 1.25rem; }
 +
  input[type="submit"].large,
 +
  input[type="reset"].large,
 +
  input[type="button"].large,
 +
  button.large,
 +
  .button.large {
 +
    font-size: 1.35rem;
 +
    height: 4.0625rem;
 +
    line-height: 4.0625rem;
 +
    padding: 0 2rem; }
 +
  input[type="submit"].wide,
 +
  input[type="reset"].wide,
 +
  input[type="button"].wide,
 +
  button.wide,
 +
  .button.wide {
 +
    min-width: 13rem; }
 +
  input[type="submit"].icon:before,
 +
  input[type="reset"].icon:before,
 +
  input[type="button"].icon:before,
 +
  button.icon:before,
 +
  .button.icon:before {
 +
    margin-right: 0.5rem; }
 +
  input[type="submit"].fit,
 +
  input[type="reset"].fit,
 +
  input[type="button"].fit,
 +
  button.fit,
 +
  .button.fit {
 +
    width: 100%; }
 +
  input[type="submit"].disabled, input[type="submit"]:disabled,
 +
  input[type="reset"].disabled,
 +
  input[type="reset"]:disabled,
 +
  input[type="button"].disabled,
 +
  input[type="button"]:disabled,
 +
  button.disabled,
 +
  button:disabled,
 +
  .button.disabled,
 +
  .button:disabled {
 +
    pointer-events: none;
 +
    opacity: 0.25; }
 +
 +
input[type="submit"],
 +
input[type="reset"],
 +
input[type="button"],
 +
button,
 +
.button {
 +
  background-color: transparent;
 +
  box-shadow: inset 0 0 0 1px #555555;
 +
  color: #555555 !important; }
 +
  input[type="submit"]:hover,
 +
  input[type="reset"]:hover,
 +
  input[type="button"]:hover,
 +
  button:hover,
 +
  .button:hover {
 +
    box-shadow: inset 0 0 0 1px #B3DC77;
 +
    color: #B3DC77 !important; }
 +
    input[type="submit"]:hover:active,
 +
    input[type="reset"]:hover:active,
 +
    input[type="button"]:hover:active,
 +
    button:hover:active,
 +
    .button:hover:active {
 +
      background-color: rgba(206, 27, 40, 0.25); }
 +
  input[type="submit"].primary,
 +
  input[type="reset"].primary,
 +
  input[type="button"].primary,
 +
  button.primary,
 +
  .button.primary {
 +
    box-shadow: none;
 +
    background-color: #B3DC77;
 +
    color: #ffffff !important; }
 +
    input[type="submit"].primary:hover,
 +
    input[type="reset"].primary:hover,
 +
    input[type="button"].primary:hover,
 +
    button.primary:hover,
 +
    .button.primary:hover {
 +
      background-color: #B3DC77;
 +
      box-shadow: none; }
 +
      input[type="submit"].primary:hover:active,
 +
      input[type="reset"].primary:hover:active,
 +
      input[type="button"].primary:hover:active,
 +
      button.primary:hover:active,
 +
      .button.primary:hover:active {
 +
        background-color: #B3DC77; }
 +
 +
/* Form */
 +
form {
 +
  margin: 0 0 2rem 0; }
 +
 +
input[type="text"],
 +
input[type="password"],
 +
input[type="email"],
 +
input[type="tel"],
 +
input[type="search"],
 +
input[type="url"],
 +
select,
 +
textarea {
 +
  -moz-appearance: none;
 +
  -webkit-appearance: none;
 +
  -ms-appearance: none;
 +
  appearance: none;
 +
  border-radius: 4px;
 +
  border: none;
 +
  border: solid 1px;
 +
  color: inherit;
 +
  display: block;
 +
  outline: 0;
 +
  padding: 0 1rem;
 +
  text-decoration: none;
 +
  width: 100%; }
 +
  input[type="text"]:invalid,
 +
  input[type="password"]:invalid,
 +
  input[type="email"]:invalid,
 +
  input[type="tel"]:invalid,
 +
  input[type="search"]:invalid,
 +
  input[type="url"]:invalid,
 +
  select:invalid,
 +
  textarea:invalid {
 +
    box-shadow: none; }
 +
 +
label {
 +
  display: block;
 +
  font-size: 1rem;
 +
  font-weight: 600;
 +
  margin: 0 0 1rem 0; }
 +
 +
input[type="text"],
 +
input[type="password"],
 +
input[type="email"],
 +
input[type="tel"],
 +
input[type="search"],
 +
input[type="url"] {
 +
  height: 3.25rem; }
 +
 +
select {
 +
  background-size: 1.25rem;
 +
  background-repeat: no-repeat;
 +
  background-position: calc(100% - 1rem) center;
 +
  height: 3.25rem;
 +
  padding-right: 3.25rem;
 +
  text-overflow: ellipsis; }
 +
  select:focus::-ms-value {
 +
    background-color: transparent; }
 +
  select::-ms-expand {
 +
    display: none; }
 +
 +
textarea {
 +
  padding: 0.75rem 1rem; }
 +
 +
input[type="checkbox"],
 +
input[type="radio"] {
 +
  -moz-appearance: none;
 +
  -webkit-appearance: none;
 +
  -ms-appearance: none;
 +
  appearance: none;
 +
  display: block;
 +
  float: left;
 +
  margin-right: -2rem;
 +
  opacity: 0;
 +
  width: 1rem;
 +
  z-index: -1; }
 +
  input[type="checkbox"] + label,
 +
  input[type="radio"] + label {
 +
    text-decoration: none;
 +
    cursor: pointer;
 +
    display: inline-block;
 +
    font-size: 1rem;
 +
    font-weight: 400;
 +
    padding-left: 2.825rem;
 +
    padding-right: 0.875rem;
 +
    position: relative; }
 +
    input[type="checkbox"] + label:before,
 +
    input[type="radio"] + label:before {
 +
      -moz-osx-font-smoothing: grayscale;
 +
      -webkit-font-smoothing: antialiased;
 +
      font-family: FontAwesome;
 +
      font-style: normal;
 +
      font-weight: normal;
 +
      text-transform: none !important; }
 +
    input[type="checkbox"] + label:before,
 +
    input[type="radio"] + label:before {
 +
      border-radius: 4px;
 +
      border: solid 1px;
 +
      content: '';
 +
      display: inline-block;
 +
      height: 1.95rem;
 +
      left: 0;
 +
      line-height: 1.86875rem;
 +
      position: absolute;
 +
      text-align: center;
 +
      top: -0.1625rem;
 +
      width: 1.95rem; }
 +
  input[type="checkbox"]:checked + label:before,
 +
  input[type="radio"]:checked + label:before {
 +
    content: '\f00c'; }
 +
 +
input[type="checkbox"] + label:before {
 +
  border-radius: 4px; }
 +
 +
input[type="radio"] + label:before {
 +
  border-radius: 100%; }
 +
 +
::-webkit-input-placeholder {
 +
  opacity: 1.0; }
 +
 +
:-moz-placeholder {
 +
  opacity: 1.0; }
 +
 +
::-moz-placeholder {
 +
  opacity: 1.0; }
 +
 +
:-ms-input-placeholder {
 +
  opacity: 1.0; }
 +
 +
label {
 +
  color: #555555; }
 +
 +
input[type="text"],
 +
input[type="password"],
 +
input[type="email"],
 +
input[type="tel"],
 +
input[type="search"],
 +
input[type="url"],
 +
select,
 +
textarea {
 +
  background-color: rgba(0, 0, 0, 0.075);
 +
  border-color: rgba(0, 0, 0, 0.25); }
 +
  input[type="text"]:focus,
 +
  input[type="password"]:focus,
 +
  input[type="email"]:focus,
 +
  input[type="tel"]:focus,
 +
  input[type="search"]:focus,
 +
  input[type="url"]:focus,
 +
  select:focus,
 +
  textarea:focus {
 +
    border-color: #B3DC77;
 +
    box-shadow: 0 0 0 1px #B3DC77; }
 +
 +
select {
 +
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(0, 0, 0, 0.25)' /%3E%3C/svg%3E"); }
 +
  select option {
 +
    color: #444444;
 +
    background-color: #ffffff; }
 +
 +
input[type="checkbox"] + label,
 +
input[type="radio"] + label {
 +
  color: #444444; }
 +
  input[type="checkbox"] + label:before,
 +
  input[type="radio"] + label:before {
 +
    background: rgba(0, 0, 0, 0.075);
 +
    border-color: rgba(0, 0, 0, 0.25); }
 +
input[type="checkbox"]:checked + label:before,
 +
input[type="radio"]:checked + label:before {
 +
  background-color: #B3DC77;
 +
  border-color: #B3DC77;
 +
  color: #ffffff; }
 +
input[type="checkbox"]:focus + label:before,
 +
input[type="radio"]:focus + label:before {
 +
  border-color: #B3DC77;
 +
  box-shadow: 0 0 0 1px #B3DC77; }
 +
 +
::-webkit-input-placeholder {
 +
  color: #bbbbbb !important; }
 +
 +
:-moz-placeholder {
 +
  color: #bbbbbb !important; }
 +
 +
::-moz-placeholder {
 +
  color: #bbbbbb !important; }
 +
 +
:-ms-input-placeholder {
 +
  color: #bbbbbb !important; }
 +
 +
/* List */
 +
ol {
 +
  list-style: decimal;
 +
  margin: 0 0 2rem 0;
 +
  padding-left: 1.25rem; }
 +
  ol li {
 +
    padding-left: 0.25rem; }
 +
 +
ul {
 +
  list-style: disc;
 +
  margin: 0 0 2rem 0;
 +
  padding-left: 1rem; }
 +
  ul li {
 +
    padding-left: 0.325rem; }
 +
  ul.plain {
 +
    list-style: none;
 +
    padding-left: 0; }
 +
    ul.plain li {
 +
      margin-bottom: 1rem; }
 +
      ul.plain li .icon {
 +
        border-radius: 4px;
 +
        color: #ffffff;
 +
        display: inline-block;
 +
        margin-right: 1rem;
 +
        text-align: center;
 +
        width: 2rem;
 +
        height: 2rem;
 +
        line-height: 2rem;
 +
        background: rgba(0, 0, 0, 0.5); }
 +
  ul.alt {
 +
    list-style: none;
 +
    padding-left: 0; }
 +
    ul.alt li {
 +
      border-top: solid 1px;
 +
      padding: 0.75rem 0; }
 +
      ul.alt li:first-child {
 +
        border-top: 0;
 +
        padding-top: 0; }
 +
      ul.alt li:last-child {
 +
        padding-bottom: 0; }
 +
 +
dl {
 +
  margin: 0 0 2rem 0; }
 +
  dl dt {
 +
    display: block;
 +
    font-weight: 600;
 +
    margin: 0 0 1rem 0; }
 +
  dl dd {
 +
    margin-left: 1.5rem; }
 +
 +
ul.alt li {
 +
  border-top-color: rgba(0, 0, 0, 0.25); }
 +
 +
/* Table */
 +
.table-wrapper {
 +
  -webkit-overflow-scrolling: touch;
 +
  overflow-x: auto; }
 +
 +
table {
 +
  margin: 0 0 2rem 0;
 +
  width: 100%; }
 +
  table tbody tr {
 +
    border: solid 1px;
 +
    border-left: 0;
 +
    border-right: 0; }
 +
  table td {
 +
    padding: 0.75rem 0.75rem; }
 +
  table th {
 +
    font-size: 0.9rem;
 +
    font-weight: 600;
 +
    padding: 0 0.75rem 0.75rem 0.75rem;
 +
    text-align: left; }
 +
  table thead {
 +
    border-bottom: solid 2px; }
 +
  table tfoot {
 +
    border-top: solid 2px; }
 +
  table.alt {
 +
    border-collapse: separate; }
 +
    table.alt tbody tr td {
 +
      border: solid 1px;
 +
      border-left-width: 0;
 +
      border-top-width: 0; }
 +
      table.alt tbody tr td:first-child {
 +
        border-left-width: 1px; }
 +
    table.alt tbody tr:first-child td {
 +
      border-top-width: 1px; }
 +
    table.alt thead {
 +
      border-bottom: 0; }
 +
    table.alt tfoot {
 +
      border-top: 0; }
 +
 +
table tbody tr {
 +
  border-color: rgba(0, 0, 0, 0.25); }
 +
  table tbody tr:nth-child(2n + 1) {
 +
    background-color: rgba(0, 0, 0, 0.075); }
 +
table th {
 +
  color: #555555; }
 +
table thead {
 +
  border-bottom-color: rgba(0, 0, 0, 0.25); }
 +
table tfoot {
 +
  border-top-color: rgba(0, 0, 0, 0.25); }
 +
table.alt tbody tr td {
 +
  border-color: rgba(0, 0, 0, 0.25); }
 +
 +
/* Highlights */
 +
.highlights {
 +
  width: 100%;
 +
  margin: 2.5rem 0;
 +
  display: -moz-flex;
 +
  display: -webkit-flex;
 +
  display: -ms-flex;
 +
  display: flex;
 +
  -moz-flex-wrap: wrap;
 +
  -webkit-flex-wrap: wrap;
 +
  -ms-flex-wrap: wrap;
 +
  flex-wrap: wrap;
 +
  -moz-align-items: -moz-stretch;
 +
  -webkit-align-items: -webkit-stretch;
 +
  -ms-align-items: -ms-stretch;
 +
  align-items: stretch; }
 +
  .highlights > * {
 +
    -moz-flex-shrink: 1;
 +
    -webkit-flex-shrink: 1;
 +
    -ms-flex-shrink: 1;
 +
    flex-shrink: 1;
 +
    -moz-flex-grow: 0;
 +
    -webkit-flex-grow: 0;
 +
    -ms-flex-grow: 0;
 +
    flex-grow: 0; }
 +
  .highlights > * {
 +
    width: 33.3333333333%; }
 +
  .highlights > * {
 +
    padding: 1.5rem;
 +
    width: calc(33.3333333333% + 1rem); }
 +
  .highlights > :nth-child(-n + 3) {
 +
    padding-top: 0; }
 +
  .highlights > :nth-last-child(-n + 3) {
 +
    padding-bottom: 0; }
 +
  .highlights > :nth-child(3n + 1) {
 +
    padding-left: 0; }
 +
  .highlights > :nth-child(3n) {
 +
    padding-right: 0; }
 +
  .highlights > :nth-child(3n + 1),
 +
  .highlights > :nth-child(3n) {
 +
    width: calc(33.3333333333% + -0.5rem); }
 +
  .highlights .content {
 +
    border-radius: 4px;
 +
    height: 100%;
 +
    padding: 3rem;
 +
    text-align: center; }
 +
    .highlights .content .icon {
 +
      font-size: 5rem; }
 +
  .highlights > div > :last-child {
 +
    margin-bottom: 0; }
 +
  @media screen and (max-width: 980px) {
 +
    .highlights > * {
 +
      width: 50%; }
 +
    .highlights > * {
 +
      padding: 1rem;
 +
      width: calc(33.3333333333% + 0.6666666667rem); }
 +
    .highlights > :nth-child(-n + 3) {
 +
      padding-top: 1rem; }
 +
    .highlights > :nth-last-child(-n + 3) {
 +
      padding-bottom: 1rem; }
 +
    .highlights > :nth-child(3n + 1) {
 +
      padding-left: 1rem; }
 +
    .highlights > :nth-child(3n) {
 +
      padding-right: 1rem; }
 +
    .highlights > :nth-child(3n + 1),
 +
    .highlights > :nth-child(3n) {
 +
      padding: 1rem;
 +
      width: calc(50% + 1rem); }
 +
    .highlights > * {
 +
      padding: 1rem;
 +
      width: calc(50% + 1rem); }
 +
    .highlights > :nth-child(-n + 2) {
 +
      padding-top: 0; }
 +
    .highlights > :nth-last-child(-n + 2) {
 +
      padding-bottom: 0; }
 +
    .highlights > :nth-child(2n + 1) {
 +
      padding-left: 0; }
 +
    .highlights > :nth-child(2n) {
 +
      padding-right: 0; }
 +
    .highlights > :nth-child(2n + 1),
 +
    .highlights > :nth-child(2n) {
 +
      width: calc(50% + 0rem); }
 +
    .highlights .content {
 +
      padding: 2rem; } }
 +
  @media screen and (max-width: 736px) {
 +
    .highlights > * {
 +
      width: 100%; }
 +
    .highlights > * {
 +
      padding: 1rem;
 +
      width: calc(33.3333333333% + 0.6666666667rem); }
 +
    .highlights > :nth-child(-n + 3) {
 +
      padding-top: 1rem; }
 +
    .highlights > :nth-last-child(-n + 3) {
 +
      padding-bottom: 1rem; }
 +
    .highlights > :nth-child(3n + 1) {
 +
      padding-left: 1rem; }
 +
    .highlights > :nth-child(3n) {
 +
      padding-right: 1rem; }
 +
    .highlights > :nth-child(3n + 1),
 +
    .highlights > :nth-child(3n) {
 +
      padding: 1rem;
 +
      width: calc(100% + 2rem); }
 +
    .highlights > * {
 +
      padding: 1rem;
 +
      width: calc(50% + 1rem); }
 +
    .highlights > :nth-child(-n + 2) {
 +
      padding-top: 1rem; }
 +
    .highlights > :nth-last-child(-n + 2) {
 +
      padding-bottom: 1rem; }
 +
    .highlights > :nth-child(2n + 1) {
 +
      padding-left: 1rem; }
 +
    .highlights > :nth-child(2n) {
 +
      padding-right: 1rem; }
 +
    .highlights > :nth-child(2n + 1),
 +
    .highlights > :nth-child(2n) {
 +
      padding: 1rem;
 +
      width: calc(100% + 2rem); }
 +
    .highlights > * {
 +
      padding: 1rem;
 +
      width: calc(100% + 2rem); }
 +
    .highlights > :nth-child(-n + 1) {
 +
      padding-top: 0; }
 +
    .highlights > :nth-last-child(-n + 1) {
 +
      padding-bottom: 0; }
 +
    .highlights > :nth-child(1n + 1) {
 +
      padding-left: 0; }
 +
    .highlights > :nth-child(1n) {
 +
      padding-right: 0; }
 +
    .highlights > :nth-child(1n + 1),
 +
    .highlights > :nth-child(1n) {
 +
      width: calc(100% + 1rem); } }
 +
 +
.highlights .content {
 +
  background: #ffffff;
 +
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.025); }
 +
 +
/* Testimonials */
 +
.testimonials {
 +
  margin: 2.5rem 0;
 +
  width: 100%;
 +
  display: -moz-flex;
 +
  display: -webkit-flex;
 +
  display: -ms-flex;
 +
  display: flex;
 +
  -moz-flex-wrap: wrap;
 +
  -webkit-flex-wrap: wrap;
 +
  -ms-flex-wrap: wrap;
 +
  flex-wrap: wrap;
 +
  -moz-align-items: -moz-stretch;
 +
  -webkit-align-items: -webkit-stretch;
 +
  -ms-align-items: -ms-stretch;
 +
  align-items: stretch; }
 +
  .testimonials > * {
 +
    -moz-flex-shrink: 1;
 +
    -webkit-flex-shrink: 1;
 +
    -ms-flex-shrink: 1;
 +
    flex-shrink: 1;
 +
    -moz-flex-grow: 0;
 +
    -webkit-flex-grow: 0;
 +
    -ms-flex-grow: 0;
 +
    flex-grow: 0; }
 +
  .testimonials > * {
 +
    width: 33.3333333333%; }
 +
  .testimonials > * {
 +
    padding: 1.5rem;
 +
    width: calc(33.3333333333% + 1rem); }
 +
  .testimonials > :nth-child(-n + 3) {
 +
    padding-top: 0; }
 +
  .testimonials > :nth-last-child(-n + 3) {
 +
    padding-bottom: 0; }
 +
  .testimonials > :nth-child(3n + 1) {
 +
    padding-left: 0; }
 +
  .testimonials > :nth-child(3n) {
 +
    padding-right: 0; }
 +
  .testimonials > :nth-child(3n + 1),
 +
  .testimonials > :nth-child(3n) {
 +
    width: calc(33.3333333333% + -0.5rem); }
 +
  .testimonials .content {
 +
    border-radius: 4px;
 +
    height: 100%;
 +
    padding: 3rem; }
 +
    .testimonials .content .author {
 +
      display: -moz-flex;
 +
      display: -webkit-flex;
 +
      display: -ms-flex;
 +
      display: flex;
 +
      -moz-align-items: center;
 +
      -webkit-align-items: center;
 +
      -ms-align-items: center;
 +
      align-items: center; }
 +
      .testimonials .content .author blockquote {
 +
        margin: 0; }
 +
      .testimonials .content .author .image {
 +
        margin-right: 2rem;
 +
        width: 20%; }
 +
        .testimonials .content .author .image img {
 +
          border-radius: 100%;
 +
          max-width: 100%; }
 +
    .testimonials .content .credit {
 +
      font-size: 0.75rem; }
 +
    .testimonials .content p:last-child {
 +
      margin: 0; }
 +
  .testimonials > div > :last-child {
 +
    margin-bottom: 0; }
 +
  @media screen and (max-width: 980px) {
 +
    .testimonials > * {
 +
      width: 50%; }
 +
    .testimonials > * {
 +
      padding: 1rem;
 +
      width: calc(33.3333333333% + 0.6666666667rem); }
 +
    .testimonials > :nth-child(-n + 3) {
 +
      padding-top: 1rem; }
 +
    .testimonials > :nth-last-child(-n + 3) {
 +
      padding-bottom: 1rem; }
 +
    .testimonials > :nth-child(3n + 1) {
 +
      padding-left: 1rem; }
 +
    .testimonials > :nth-child(3n) {
 +
      padding-right: 1rem; }
 +
    .testimonials > :nth-child(3n + 1),
 +
    .testimonials > :nth-child(3n) {
 +
      padding: 1rem;
 +
      width: calc(50% + 1rem); }
 +
    .testimonials > * {
 +
      padding: 1rem;
 +
      width: calc(50% + 1rem); }
 +
    .testimonials > :nth-child(-n + 2) {
 +
      padding-top: 0; }
 +
    .testimonials > :nth-last-child(-n + 2) {
 +
      padding-bottom: 0; }
 +
    .testimonials > :nth-child(2n + 1) {
 +
      padding-left: 0; }
 +
    .testimonials > :nth-child(2n) {
 +
      padding-right: 0; }
 +
    .testimonials > :nth-child(2n + 1),
 +
    .testimonials > :nth-child(2n) {
 +
      width: calc(50% + 0rem); }
 +
    .testimonials .content {
 +
      padding: 2rem; } }
 +
  @media screen and (max-width: 736px) {
 +
    .testimonials > * {
 +
      width: 100%; }
 +
    .testimonials > * {
 +
      padding: 1rem;
 +
      width: calc(33.3333333333% + 0.6666666667rem); }
 +
    .testimonials > :nth-child(-n + 3) {
 +
      padding-top: 1rem; }
 +
    .testimonials > :nth-last-child(-n + 3) {
 +
      padding-bottom: 1rem; }
 +
    .testimonials > :nth-child(3n + 1) {
 +
      padding-left: 1rem; }
 +
    .testimonials > :nth-child(3n) {
 +
      padding-right: 1rem; }
 +
    .testimonials > :nth-child(3n + 1),
 +
    .testimonials > :nth-child(3n) {
 +
      padding: 1rem;
 +
      width: calc(100% + 2rem); }
 +
    .testimonials > * {
 +
      padding: 1rem;
 +
      width: calc(50% + 1rem); }
 +
    .testimonials > :nth-child(-n + 2) {
 +
      padding-top: 1rem; }
 +
    .testimonials > :nth-last-child(-n + 2) {
 +
      padding-bottom: 1rem; }
 +
    .testimonials > :nth-child(2n + 1) {
 +
      padding-left: 1rem; }
 +
    .testimonials > :nth-child(2n) {
 +
      padding-right: 1rem; }
 +
    .testimonials > :nth-child(2n + 1),
 +
    .testimonials > :nth-child(2n) {
 +
      padding: 1rem;
 +
      width: calc(100% + 2rem); }
 +
    .testimonials > * {
 +
      padding: 1rem;
 +
      width: calc(100% + 2rem); }
 +
    .testimonials > :nth-child(-n + 1) {
 +
      padding-top: 0; }
 +
    .testimonials > :nth-last-child(-n + 1) {
 +
      padding-bottom: 0; }
 +
    .testimonials > :nth-child(1n + 1) {
 +
      padding-left: 0; }
 +
    .testimonials > :nth-child(1n) {
 +
      padding-right: 0; }
 +
    .testimonials > :nth-child(1n + 1),
 +
    .testimonials > :nth-child(1n) {
 +
      width: calc(100% + 1rem); } }
 +
 +
.testimonials .content {
 +
  background: #ffffff;
 +
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.025); }
 +
  .testimonials .content .credit strong {
 +
    color: #B3DC77; }
 +
 +
/* Actions */
 +
ul.actions {
 +
  display: -moz-flex;
 +
  display: -webkit-flex;
 +
  display: -ms-flex;
 +
  display: flex;
 +
  cursor: default;
 +
  list-style: none;
 +
  margin-left: -1rem;
 +
  padding-left: 0; }
 +
  ul.actions li {
 +
    padding: 0 0 0 1rem;
 +
    vertical-align: middle; }
 +
  ul.actions.special {
 +
    -moz-justify-content: center;
 +
    -webkit-justify-content: center;
 +
    -ms-justify-content: center;
 +
    justify-content: center;
 +
    width: calc(100% + 1rem); }
 +
  ul.actions.stacked {
 +
    -moz-flex-direction: column;
 +
    -webkit-flex-direction: column;
 +
    -ms-flex-direction: column;
 +
    flex-direction: column;
 +
    margin-left: 0; }
 +
    ul.actions.stacked li {
 +
      padding: 1.3rem 0 0 0; }
 +
      ul.actions.stacked li:first-child {
 +
        padding-top: 0; }
 +
  ul.actions.fit {
 +
    width: calc(100% + 1rem); }
 +
    ul.actions.fit li {
 +
      -moz-flex-grow: 1;
 +
      -webkit-flex-grow: 1;
 +
      -ms-flex-grow: 1;
 +
      flex-grow: 1;
 +
      -moz-flex-shrink: 1;
 +
      -webkit-flex-shrink: 1;
 +
      -ms-flex-shrink: 1;
 +
      flex-shrink: 1;
 +
      width: 100%; }
 +
      ul.actions.fit li > * {
 +
        width: 100%; }
 +
    ul.actions.fit.stacked {
 +
      width: 100%; }
 +
  @media screen and (max-width: 480px) {
 +
    ul.actions:not(.fixed) {
 +
      -moz-flex-direction: column;
 +
      -webkit-flex-direction: column;
 +
      -ms-flex-direction: column;
 +
      flex-direction: column;
 +
      margin-left: 0;
 +
      width: 100% !important; }
 +
      ul.actions:not(.fixed) li {
 +
        -moz-flex-grow: 1;
 +
        -webkit-flex-grow: 1;
 +
        -ms-flex-grow: 1;
 +
        flex-grow: 1;
 +
        -moz-flex-shrink: 1;
 +
        -webkit-flex-shrink: 1;
 +
        -ms-flex-shrink: 1;
 +
        flex-shrink: 1;
 +
        padding: 1rem 0 0 0;
 +
        text-align: center;
 +
        width: 100%; }
 +
        ul.actions:not(.fixed) li > * {
 +
          width: 100%; }
 +
        ul.actions:not(.fixed) li:first-child {
 +
          padding-top: 0; }
 +
        ul.actions:not(.fixed) li input[type="submit"],
 +
        ul.actions:not(.fixed) li input[type="reset"],
 +
        ul.actions:not(.fixed) li input[type="button"],
 +
        ul.actions:not(.fixed) li button,
 +
        ul.actions:not(.fixed) li .button {
 +
          width: 100%; }
 +
          ul.actions:not(.fixed) li input[type="submit"].icon:before,
 +
          ul.actions:not(.fixed) li input[type="reset"].icon:before,
 +
          ul.actions:not(.fixed) li input[type="button"].icon:before,
 +
          ul.actions:not(.fixed) li button.icon:before,
 +
          ul.actions:not(.fixed) li .button.icon:before {
 +
            margin-left: -0.5rem; } }
 +
 +
/* Grid */
 +
.row {
 +
  display: flex;
 +
  flex-wrap: wrap;
 +
  box-sizing: border-box; }
 +
  .row > * {
 +
    box-sizing: border-box; }
 +
  .row.gtr-uniform > * > :last-child {
 +
    margin-bottom: 0; }
 +
 +
.row > .imp {
 +
  order: -1; }
 +
.row > .col-1 {
 +
  width: 8.3333333333%; }
 +
.row > .off-1 {
 +
  margin-left: 8.3333333333%; }
 +
.row > .col-2 {
 +
  width: 16.6666666667%; }
 +
.row > .off-2 {
 +
  margin-left: 16.6666666667%; }
 +
.row > .col-3 {
 +
  width: 25%; }
 +
.row > .off-3 {
 +
  margin-left: 25%; }
 +
.row > .col-4 {
 +
  width: 33.3333333333%; }
 +
.row > .off-4 {
 +
  margin-left: 33.3333333333%; }
 +
.row > .col-5 {
 +
  width: 41.6666666667%; }
 +
.row > .off-5 {
 +
  margin-left: 41.6666666667%; }
 +
.row > .col-6 {
 +
  width: 50%; }
 +
.row > .off-6 {
 +
  margin-left: 50%; }
 +
.row > .col-7 {
 +
  width: 58.3333333333%; }
 +
.row > .off-7 {
 +
  margin-left: 58.3333333333%; }
 +
.row > .col-8 {
 +
  width: 66.6666666667%; }
 +
.row > .off-8 {
 +
  margin-left: 66.6666666667%; }
 +
.row > .col-9 {
 +
  width: 75%; }
 +
.row > .off-9 {
 +
  margin-left: 75%; }
 +
.row > .col-10 {
 +
  width: 83.3333333333%; }
 +
.row > .off-10 {
 +
  margin-left: 83.3333333333%; }
 +
.row > .col-11 {
 +
  width: 91.6666666667%; }
 +
.row > .off-11 {
 +
  margin-left: 91.6666666667%; }
 +
.row > .col-12 {
 +
  width: 100%; }
 +
.row > .off-12 {
 +
  margin-left: 100%; }
 +
.row.gtr-0 {
 +
  margin-top: 0;
 +
  margin-left: 0rem; }
 +
  .row.gtr-0 > * {
 +
    padding: 0 0 0 0rem; }
 +
  .row.gtr-0.gtr-uniform {
 +
    margin-top: 0rem; }
 +
    .row.gtr-0.gtr-uniform > * {
 +
      padding-top: 0rem; }
 +
.row.gtr-25 {
 +
  margin-top: 0;
 +
  margin-left: -0.75rem; }
 +
  .row.gtr-25 > * {
 +
    padding: 0 0 0 0.75rem; }
 +
  .row.gtr-25.gtr-uniform {
 +
    margin-top: -0.75rem; }
 +
    .row.gtr-25.gtr-uniform > * {
 +
      padding-top: 0.75rem; }
 +
.row.gtr-50 {
 +
  margin-top: 0;
 +
  margin-left: -1.5rem; }
 +
  .row.gtr-50 > * {
 +
    padding: 0 0 0 1.5rem; }
 +
  .row.gtr-50.gtr-uniform {
 +
    margin-top: -1.5rem; }
 +
    .row.gtr-50.gtr-uniform > * {
 +
      padding-top: 1.5rem; }
 +
.row {
 +
  margin-top: 0;
 +
  margin-left: -3rem; }
 +
  .row > * {
 +
    padding: 0 0 0 3rem; }
 +
  .row.gtr-uniform {
 +
    margin-top: -3rem; }
 +
    .row.gtr-uniform > * {
 +
      padding-top: 3rem; }
 +
.row.gtr-150 {
 +
  margin-top: 0;
 +
  margin-left: -4.5rem; }
 +
  .row.gtr-150 > * {
 +
    padding: 0 0 0 4.5rem; }
 +
  .row.gtr-150.gtr-uniform {
 +
    margin-top: -4.5rem; }
 +
    .row.gtr-150.gtr-uniform > * {
 +
      padding-top: 4.5rem; }
 +
.row.gtr-200 {
 +
  margin-top: 0;
 +
  margin-left: -6rem; }
 +
  .row.gtr-200 > * {
 +
    padding: 0 0 0 6rem; }
 +
  .row.gtr-200.gtr-uniform {
 +
    margin-top: -6rem; }
 +
    .row.gtr-200.gtr-uniform > * {
 +
      padding-top: 6rem; }
 +
 +
@media screen and (max-width: 1680px) {
 +
  .row {
 +
    display: flex;
 +
    flex-wrap: wrap;
 +
    box-sizing: border-box; }
 +
    .row > * {
 +
      box-sizing: border-box; }
 +
    .row.gtr-uniform > * > :last-child {
 +
      margin-bottom: 0; }
 +
 +
  .row > .imp-xlarge {
 +
    order: -1; }
 +
  .row > .col-1-xlarge {
 +
    width: 8.3333333333%; }
 +
  .row > .off-1-xlarge {
 +
    margin-left: 8.3333333333%; }
 +
  .row > .col-2-xlarge {
 +
    width: 16.6666666667%; }
 +
  .row > .off-2-xlarge {
 +
    margin-left: 16.6666666667%; }
 +
  .row > .col-3-xlarge {
 +
    width: 25%; }
 +
  .row > .off-3-xlarge {
 +
    margin-left: 25%; }
 +
  .row > .col-4-xlarge {
 +
    width: 33.3333333333%; }
 +
  .row > .off-4-xlarge {
 +
    margin-left: 33.3333333333%; }
 +
  .row > .col-5-xlarge {
 +
    width: 41.6666666667%; }
 +
  .row > .off-5-xlarge {
 +
    margin-left: 41.6666666667%; }
 +
  .row > .col-6-xlarge {
 +
    width: 50%; }
 +
  .row > .off-6-xlarge {
 +
    margin-left: 50%; }
 +
  .row > .col-7-xlarge {
 +
    width: 58.3333333333%; }
 +
  .row > .off-7-xlarge {
 +
    margin-left: 58.3333333333%; }
 +
  .row > .col-8-xlarge {
 +
    width: 66.6666666667%; }
 +
  .row > .off-8-xlarge {
 +
    margin-left: 66.6666666667%; }
 +
  .row > .col-9-xlarge {
 +
    width: 75%; }
 +
  .row > .off-9-xlarge {
 +
    margin-left: 75%; }
 +
  .row > .col-10-xlarge {
 +
    width: 83.3333333333%; }
 +
  .row > .off-10-xlarge {
 +
    margin-left: 83.3333333333%; }
 +
  .row > .col-11-xlarge {
 +
    width: 91.6666666667%; }
 +
  .row > .off-11-xlarge {
 +
    margin-left: 91.6666666667%; }
 +
  .row > .col-12-xlarge {
 +
    width: 100%; }
 +
  .row > .off-12-xlarge {
 +
    margin-left: 100%; }
 +
  .row.gtr-0 {
 +
    margin-top: 0;
 +
    margin-left: 0rem; }
 +
    .row.gtr-0 > * {
 +
      padding: 0 0 0 0rem; }
 +
    .row.gtr-0.gtr-uniform {
 +
      margin-top: 0rem; }
 +
      .row.gtr-0.gtr-uniform > * {
 +
        padding-top: 0rem; }
 +
  .row.gtr-25 {
 +
    margin-top: 0;
 +
    margin-left: -0.75rem; }
 +
    .row.gtr-25 > * {
 +
      padding: 0 0 0 0.75rem; }
 +
    .row.gtr-25.gtr-uniform {
 +
      margin-top: -0.75rem; }
 +
      .row.gtr-25.gtr-uniform > * {
 +
        padding-top: 0.75rem; }
 +
  .row.gtr-50 {
 +
    margin-top: 0;
 +
    margin-left: -1.5rem; }
 +
    .row.gtr-50 > * {
 +
      padding: 0 0 0 1.5rem; }
 +
    .row.gtr-50.gtr-uniform {
 +
      margin-top: -1.5rem; }
 +
      .row.gtr-50.gtr-uniform > * {
 +
        padding-top: 1.5rem; }
 +
  .row {
 +
    margin-top: 0;
 +
    margin-left: -3rem; }
 +
    .row > * {
 +
      padding: 0 0 0 3rem; }
 +
    .row.gtr-uniform {
 +
      margin-top: -3rem; }
 +
      .row.gtr-uniform > * {
 +
        padding-top: 3rem; }
 +
  .row.gtr-150 {
 +
    margin-top: 0;
 +
    margin-left: -4.5rem; }
 +
    .row.gtr-150 > * {
 +
      padding: 0 0 0 4.5rem; }
 +
    .row.gtr-150.gtr-uniform {
 +
      margin-top: -4.5rem; }
 +
      .row.gtr-150.gtr-uniform > * {
 +
        padding-top: 4.5rem; }
 +
  .row.gtr-200 {
 +
    margin-top: 0;
 +
    margin-left: -6rem; }
 +
    .row.gtr-200 > * {
 +
      padding: 0 0 0 6rem; }
 +
    .row.gtr-200.gtr-uniform {
 +
      margin-top: -6rem; }
 +
      .row.gtr-200.gtr-uniform > * {
 +
        padding-top: 6rem; } }
 +
@media screen and (max-width: 1280px) {
 +
  .row {
 +
    display: flex;
 +
    flex-wrap: wrap;
 +
    box-sizing: border-box; }
 +
    .row > * {
 +
      box-sizing: border-box; }
 +
    .row.gtr-uniform > * > :last-child {
 +
      margin-bottom: 0; }
 +
 +
  .row > .imp-large {
 +
    order: -1; }
 +
  .row > .col-1-large {
 +
    width: 8.3333333333%; }
 +
  .row > .off-1-large {
 +
    margin-left: 8.3333333333%; }
 +
  .row > .col-2-large {
 +
    width: 16.6666666667%; }
 +
  .row > .off-2-large {
 +
    margin-left: 16.6666666667%; }
 +
  .row > .col-3-large {
 +
    width: 25%; }
 +
  .row > .off-3-large {
 +
    margin-left: 25%; }
 +
  .row > .col-4-large {
 +
    width: 33.3333333333%; }
 +
  .row > .off-4-large {
 +
    margin-left: 33.3333333333%; }
 +
  .row > .col-5-large {
 +
    width: 41.6666666667%; }
 +
  .row > .off-5-large {
 +
    margin-left: 41.6666666667%; }
 +
  .row > .col-6-large {
 +
    width: 50%; }
 +
  .row > .off-6-large {
 +
    margin-left: 50%; }
 +
  .row > .col-7-large {
 +
    width: 58.3333333333%; }
 +
  .row > .off-7-large {
 +
    margin-left: 58.3333333333%; }
 +
  .row > .col-8-large {
 +
    width: 66.6666666667%; }
 +
  .row > .off-8-large {
 +
    margin-left: 66.6666666667%; }
 +
  .row > .col-9-large {
 +
    width: 75%; }
 +
  .row > .off-9-large {
 +
    margin-left: 75%; }
 +
  .row > .col-10-large {
 +
    width: 83.3333333333%; }
 +
  .row > .off-10-large {
 +
    margin-left: 83.3333333333%; }
 +
  .row > .col-11-large {
 +
    width: 91.6666666667%; }
 +
  .row > .off-11-large {
 +
    margin-left: 91.6666666667%; }
 +
  .row > .col-12-large {
 +
    width: 100%; }
 +
  .row > .off-12-large {
 +
    margin-left: 100%; }
 +
  .row.gtr-0 {
 +
    margin-top: 0;
 +
    margin-left: 0rem; }
 +
    .row.gtr-0 > * {
 +
      padding: 0 0 0 0rem; }
 +
    .row.gtr-0.gtr-uniform {
 +
      margin-top: 0rem; }
 +
      .row.gtr-0.gtr-uniform > * {
 +
        padding-top: 0rem; }
 +
  .row.gtr-25 {
 +
    margin-top: 0;
 +
    margin-left: -0.375rem; }
 +
    .row.gtr-25 > * {
 +
      padding: 0 0 0 0.375rem; }
 +
    .row.gtr-25.gtr-uniform {
 +
      margin-top: -0.375rem; }
 +
      .row.gtr-25.gtr-uniform > * {
 +
        padding-top: 0.375rem; }
 +
  .row.gtr-50 {
 +
    margin-top: 0;
 +
    margin-left: -0.75rem; }
 +
    .row.gtr-50 > * {
 +
      padding: 0 0 0 0.75rem; }
 +
    .row.gtr-50.gtr-uniform {
 +
      margin-top: -0.75rem; }
 +
      .row.gtr-50.gtr-uniform > * {
 +
        padding-top: 0.75rem; }
 +
  .row {
 +
    margin-top: 0;
 +
    margin-left: -1.5rem; }
 +
    .row > * {
 +
      padding: 0 0 0 1.5rem; }
 +
    .row.gtr-uniform {
 +
      margin-top: -1.5rem; }
 +
      .row.gtr-uniform > * {
 +
        padding-top: 1.5rem; }
 +
  .row.gtr-150 {
 +
    margin-top: 0;
 +
    margin-left: -2.25rem; }
 +
    .row.gtr-150 > * {
 +
      padding: 0 0 0 2.25rem; }
 +
    .row.gtr-150.gtr-uniform {
 +
      margin-top: -2.25rem; }
 +
      .row.gtr-150.gtr-uniform > * {
 +
        padding-top: 2.25rem; }
 +
  .row.gtr-200 {
 +
    margin-top: 0;
 +
    margin-left: -3rem; }
 +
    .row.gtr-200 > * {
 +
      padding: 0 0 0 3rem; }
 +
    .row.gtr-200.gtr-uniform {
 +
      margin-top: -3rem; }
 +
      .row.gtr-200.gtr-uniform > * {
 +
        padding-top: 3rem; } }
 +
@media screen and (max-width: 980px) {
 +
  .row {
 +
    display: flex;
 +
    flex-wrap: wrap;
 +
    box-sizing: border-box; }
 +
    .row > * {
 +
      box-sizing: border-box; }
 +
    .row.gtr-uniform > * > :last-child {
 +
      margin-bottom: 0; }
 +
 +
  .row > .imp-medium {
 +
    order: -1; }
 +
  .row > .col-1-medium {
 +
    width: 8.3333333333%; }
 +
  .row > .off-1-medium {
 +
    margin-left: 8.3333333333%; }
 +
  .row > .col-2-medium {
 +
    width: 16.6666666667%; }
 +
  .row > .off-2-medium {
 +
    margin-left: 16.6666666667%; }
 +
  .row > .col-3-medium {
 +
    width: 25%; }
 +
  .row > .off-3-medium {
 +
    margin-left: 25%; }
 +
  .row > .col-4-medium {
 +
    width: 33.3333333333%; }
 +
  .row > .off-4-medium {
 +
    margin-left: 33.3333333333%; }
 +
  .row > .col-5-medium {
 +
    width: 41.6666666667%; }
 +
  .row > .off-5-medium {
 +
    margin-left: 41.6666666667%; }
 +
  .row > .col-6-medium {
 +
    width: 50%; }
 +
  .row > .off-6-medium {
 +
    margin-left: 50%; }
 +
  .row > .col-7-medium {
 +
    width: 58.3333333333%; }
 +
  .row > .off-7-medium {
 +
    margin-left: 58.3333333333%; }
 +
  .row > .col-8-medium {
 +
    width: 66.6666666667%; }
 +
  .row > .off-8-medium {
 +
    margin-left: 66.6666666667%; }
 +
  .row > .col-9-medium {
 +
    width: 75%; }
 +
  .row > .off-9-medium {
 +
    margin-left: 75%; }
 +
  .row > .col-10-medium {
 +
    width: 83.3333333333%; }
 +
  .row > .off-10-medium {
 +
    margin-left: 83.3333333333%; }
 +
  .row > .col-11-medium {
 +
    width: 91.6666666667%; }
 +
  .row > .off-11-medium {
 +
    margin-left: 91.6666666667%; }
 +
  .row > .col-12-medium {
 +
    width: 100%; }
 +
  .row > .off-12-medium {
 +
    margin-left: 100%; }
 +
  .row.gtr-0 {
 +
    margin-top: 0;
 +
    margin-left: 0rem; }
 +
    .row.gtr-0 > * {
 +
      padding: 0 0 0 0rem; }
 +
    .row.gtr-0.gtr-uniform {
 +
      margin-top: 0rem; }
 +
      .row.gtr-0.gtr-uniform > * {
 +
        padding-top: 0rem; }
 +
  .row.gtr-25 {
 +
    margin-top: 0;
 +
    margin-left: -0.375rem; }
 +
    .row.gtr-25 > * {
 +
      padding: 0 0 0 0.375rem; }
 +
    .row.gtr-25.gtr-uniform {
 +
      margin-top: -0.375rem; }
 +
      .row.gtr-25.gtr-uniform > * {
 +
        padding-top: 0.375rem; }
 +
  .row.gtr-50 {
 +
    margin-top: 0;
 +
    margin-left: -0.75rem; }
 +
    .row.gtr-50 > * {
 +
      padding: 0 0 0 0.75rem; }
 +
    .row.gtr-50.gtr-uniform {
 +
      margin-top: -0.75rem; }
 +
      .row.gtr-50.gtr-uniform > * {
 +
        padding-top: 0.75rem; }
 +
  .row {
 +
    margin-top: 0;
 +
    margin-left: -1.5rem; }
 +
    .row > * {
 +
      padding: 0 0 0 1.5rem; }
 +
    .row.gtr-uniform {
 +
      margin-top: -1.5rem; }
 +
      .row.gtr-uniform > * {
 +
        padding-top: 1.5rem; }
 +
  .row.gtr-150 {
 +
    margin-top: 0;
 +
    margin-left: -2.25rem; }
 +
    .row.gtr-150 > * {
 +
      padding: 0 0 0 2.25rem; }
 +
    .row.gtr-150.gtr-uniform {
 +
      margin-top: -2.25rem; }
 +
      .row.gtr-150.gtr-uniform > * {
 +
        padding-top: 2.25rem; }
 +
  .row.gtr-200 {
 +
    margin-top: 0;
 +
    margin-left: -3rem; }
 +
    .row.gtr-200 > * {
 +
      padding: 0 0 0 3rem; }
 +
    .row.gtr-200.gtr-uniform {
 +
      margin-top: -3rem; }
 +
      .row.gtr-200.gtr-uniform > * {
 +
        padding-top: 3rem; } }
 +
@media screen and (max-width: 736px) {
 +
  .row {
 +
    display: flex;
 +
    flex-wrap: wrap;
 +
    box-sizing: border-box; }
 +
    .row > * {
 +
      box-sizing: border-box; }
 +
    .row.gtr-uniform > * > :last-child {
 +
      margin-bottom: 0; }
 +
 +
  .row > .imp-small {
 +
    order: -1; }
 +
  .row > .col-1-small {
 +
    width: 8.3333333333%; }
 +
  .row > .off-1-small {
 +
    margin-left: 8.3333333333%; }
 +
  .row > .col-2-small {
 +
    width: 16.6666666667%; }
 +
  .row > .off-2-small {
 +
    margin-left: 16.6666666667%; }
 +
  .row > .col-3-small {
 +
    width: 25%; }
 +
  .row > .off-3-small {
 +
    margin-left: 25%; }
 +
  .row > .col-4-small {
 +
    width: 33.3333333333%; }
 +
  .row > .off-4-small {
 +
    margin-left: 33.3333333333%; }
 +
  .row > .col-5-small {
 +
    width: 41.6666666667%; }
 +
  .row > .off-5-small {
 +
    margin-left: 41.6666666667%; }
 +
  .row > .col-6-small {
 +
    width: 50%; }
 +
  .row > .off-6-small {
 +
    margin-left: 50%; }
 +
  .row > .col-7-small {
 +
    width: 58.3333333333%; }
 +
  .row > .off-7-small {
 +
    margin-left: 58.3333333333%; }
 +
  .row > .col-8-small {
 +
    width: 66.6666666667%; }
 +
  .row > .off-8-small {
 +
    margin-left: 66.6666666667%; }
 +
  .row > .col-9-small {
 +
    width: 75%; }
 +
  .row > .off-9-small {
 +
    margin-left: 75%; }
 +
  .row > .col-10-small {
 +
    width: 83.3333333333%; }
 +
  .row > .off-10-small {
 +
    margin-left: 83.3333333333%; }
 +
  .row > .col-11-small {
 +
    width: 91.6666666667%; }
 +
  .row > .off-11-small {
 +
    margin-left: 91.6666666667%; }
 +
  .row > .col-12-small {
 +
    width: 100%; }
 +
  .row > .off-12-small {
 +
    margin-left: 100%; }
 +
  .row.gtr-0 {
 +
    margin-top: 0;
 +
    margin-left: 0rem; }
 +
    .row.gtr-0 > * {
 +
      padding: 0 0 0 0rem; }
 +
    .row.gtr-0.gtr-uniform {
 +
      margin-top: 0rem; }
 +
      .row.gtr-0.gtr-uniform > * {
 +
        padding-top: 0rem; }
 +
  .row.gtr-25 {
 +
    margin-top: 0;
 +
    margin-left: -0.3125rem; }
 +
    .row.gtr-25 > * {
 +
      padding: 0 0 0 0.3125rem; }
 +
    .row.gtr-25.gtr-uniform {
 +
      margin-top: -0.3125rem; }
 +
      .row.gtr-25.gtr-uniform > * {
 +
        padding-top: 0.3125rem; }
 +
  .row.gtr-50 {
 +
    margin-top: 0;
 +
    margin-left: -0.625rem; }
 +
    .row.gtr-50 > * {
 +
      padding: 0 0 0 0.625rem; }
 +
    .row.gtr-50.gtr-uniform {
 +
      margin-top: -0.625rem; }
 +
      .row.gtr-50.gtr-uniform > * {
 +
        padding-top: 0.625rem; }
 +
  .row {
 +
    margin-top: 0;
 +
    margin-left: -1.25rem; }
 +
    .row > * {
 +
      padding: 0 0 0 1.25rem; }
 +
    .row.gtr-uniform {
 +
      margin-top: -1.25rem; }
 +
      .row.gtr-uniform > * {
 +
        padding-top: 1.25rem; }
 +
  .row.gtr-150 {
 +
    margin-top: 0;
 +
    margin-left: -1.875rem; }
 +
    .row.gtr-150 > * {
 +
      padding: 0 0 0 1.875rem; }
 +
    .row.gtr-150.gtr-uniform {
 +
      margin-top: -1.875rem; }
 +
      .row.gtr-150.gtr-uniform > * {
 +
        padding-top: 1.875rem; }
 +
  .row.gtr-200 {
 +
    margin-top: 0;
 +
    margin-left: -2.5rem; }
 +
    .row.gtr-200 > * {
 +
      padding: 0 0 0 2.5rem; }
 +
    .row.gtr-200.gtr-uniform {
 +
      margin-top: -2.5rem; }
 +
      .row.gtr-200.gtr-uniform > * {
 +
        padding-top: 2.5rem; } }
 +
@media screen and (max-width: 480px) {
 +
  .row {
 +
    display: flex;
 +
    flex-wrap: wrap;
 +
    box-sizing: border-box; }
 +
    .row > * {
 +
      box-sizing: border-box; }
 +
    .row.gtr-uniform > * > :last-child {
 +
      margin-bottom: 0; }
 +
 +
  .row > .imp-xsmall {
 +
    order: -1; }
 +
  .row > .col-1-xsmall {
 +
    width: 8.3333333333%; }
 +
  .row > .off-1-xsmall {
 +
    margin-left: 8.3333333333%; }
 +
  .row > .col-2-xsmall {
 +
    width: 16.6666666667%; }
 +
  .row > .off-2-xsmall {
 +
    margin-left: 16.6666666667%; }
 +
  .row > .col-3-xsmall {
 +
    width: 25%; }
 +
  .row > .off-3-xsmall {
 +
    margin-left: 25%; }
 +
  .row > .col-4-xsmall {
 +
    width: 33.3333333333%; }
 +
  .row > .off-4-xsmall {
 +
    margin-left: 33.3333333333%; }
 +
  .row > .col-5-xsmall {
 +
    width: 41.6666666667%; }
 +
  .row > .off-5-xsmall {
 +
    margin-left: 41.6666666667%; }
 +
  .row > .col-6-xsmall {
 +
    width: 50%; }
 +
  .row > .off-6-xsmall {
 +
    margin-left: 50%; }
 +
  .row > .col-7-xsmall {
 +
    width: 58.3333333333%; }
 +
  .row > .off-7-xsmall {
 +
    margin-left: 58.3333333333%; }
 +
  .row > .col-8-xsmall {
 +
    width: 66.6666666667%; }
 +
  .row > .off-8-xsmall {
 +
    margin-left: 66.6666666667%; }
 +
  .row > .col-9-xsmall {
 +
    width: 75%; }
 +
  .row > .off-9-xsmall {
 +
    margin-left: 75%; }
 +
  .row > .col-10-xsmall {
 +
    width: 83.3333333333%; }
 +
  .row > .off-10-xsmall {
 +
    margin-left: 83.3333333333%; }
 +
  .row > .col-11-xsmall {
 +
    width: 91.6666666667%; }
 +
  .row > .off-11-xsmall {
 +
    margin-left: 91.6666666667%; }
 +
  .row > .col-12-xsmall {
 +
    width: 100%; }
 +
  .row > .off-12-xsmall {
 +
    margin-left: 100%; }
 +
  .row.gtr-0 {
 +
    margin-top: 0;
 +
    margin-left: 0rem; }
 +
    .row.gtr-0 > * {
 +
      padding: 0 0 0 0rem; }
 +
    .row.gtr-0.gtr-uniform {
 +
      margin-top: 0rem; }
 +
      .row.gtr-0.gtr-uniform > * {
 +
        padding-top: 0rem; }
 +
  .row.gtr-25 {
 +
    margin-top: 0;
 +
    margin-left: -0.3125rem; }
 +
    .row.gtr-25 > * {
 +
      padding: 0 0 0 0.3125rem; }
 +
    .row.gtr-25.gtr-uniform {
 +
      margin-top: -0.3125rem; }
 +
      .row.gtr-25.gtr-uniform > * {
 +
        padding-top: 0.3125rem; }
 +
  .row.gtr-50 {
 +
    margin-top: 0;
 +
    margin-left: -0.625rem; }
 +
    .row.gtr-50 > * {
 +
      padding: 0 0 0 0.625rem; }
 +
    .row.gtr-50.gtr-uniform {
 +
      margin-top: -0.625rem; }
 +
      .row.gtr-50.gtr-uniform > * {
 +
        padding-top: 0.625rem; }
 +
  .row {
 +
    margin-top: 0;
 +
    margin-left: -1.25rem; }
 +
    .row > * {
 +
      padding: 0 0 0 1.25rem; }
 +
    .row.gtr-uniform {
 +
      margin-top: -1.25rem; }
 +
      .row.gtr-uniform > * {
 +
        padding-top: 1.25rem; }
 +
  .row.gtr-150 {
 +
    margin-top: 0;
 +
    margin-left: -1.875rem; }
 +
    .row.gtr-150 > * {
 +
      padding: 0 0 0 1.875rem; }
 +
    .row.gtr-150.gtr-uniform {
 +
      margin-top: -1.875rem; }
 +
      .row.gtr-150.gtr-uniform > * {
 +
        padding-top: 1.875rem; }
 +
  .row.gtr-200 {
 +
    margin-top: 0;
 +
    margin-left: -2.5rem; }
 +
    .row.gtr-200 > * {
 +
      padding: 0 0 0 2.5rem; }
 +
    .row.gtr-200.gtr-uniform {
 +
      margin-top: -2.5rem; }
 +
      .row.gtr-200.gtr-uniform > * {
 +
        padding-top: 2.5rem; } }
 +
/* Icon */
 +
.icon {
 +
  text-decoration: none;
 +
  border-bottom: none;
 +
  position: relative; }
 +
  .icon:before {
 +
    -moz-osx-font-smoothing: grayscale;
 +
    -webkit-font-smoothing: antialiased;
 +
    font-family: FontAwesome;
 +
    font-style: normal;
 +
    font-weight: normal;
 +
    text-transform: none !important; }
 +
  .icon > .label {
 +
    display: none; }
 +
 +
/* Icons */
 +
ul.icons {
 +
  cursor: default;
 +
  list-style: none;
 +
  padding-left: 0; }
 +
  ul.icons li {
 +
    display: inline-block;
 +
    padding: 0 1rem 0 0; }
 +
    ul.icons li:last-child {
 +
      padding-right: 0; }
 +
    ul.icons li .icon:before {
 +
      font-size: 2rem; }
 +
 +
/* Image */
 +
.image {
 +
  border-radius: 4px;
 +
  border: 0;
 +
  display: inline-block;
 +
  position: relative; }
 +
  .image img {
 +
    border-radius: 4px;
 +
    display: block; }
 +
  .image.left, .image.right {
 +
    max-width: 40%; }
 +
    .image.left img, .image.right img {
 +
      width: 100%; }
 +
  .image.left {
 +
    float: left;
 +
    margin: 0 2rem 2rem 0;
 +
    top: 0.25rem; }
 +
  .image.right {
 +
    float: right;
 +
    margin: 0 0 2rem 2rem;
 +
    top: 0.25rem; }
 +
  .image.fit {
 +
    display: block;
 +
    margin: 0 0 2rem 0;
 +
    width: 100%; }
 +
    .image.fit img {
 +
      width: 100%; }
 +
  .image.main {
 +
    display: block;
 +
    margin: 0 0 3rem 0;
 +
    width: 100%; }
 +
    .image.main img {
 +
      width: 100%; }
 +
 +
/* Wrapper */
 +
.wrapper {
 +
  padding: 8rem 0 6rem 0 ;
 +
  position: relative;
 +
  z-index: 1; }
 +
  @media screen and (max-width: 1280px) {
 +
    .wrapper {
 +
      padding: 4rem 0 2rem 0 ; } }
 +
  @media screen and (max-width: 736px) {
 +
    .wrapper {
 +
      padding: 3rem 0 1rem 0 ; } }
 +
  @media screen and (max-width: 480px) {
 +
    .wrapper {
 +
      padding: 2rem 0 0.1rem 0 ; } }
 +
 +
/* Banner */
 +
#banner {
 +
  -ms-flex-align: center;
 +
  -ms-flex-pack: center;
 +
  background-color: #111111;
 +
  color: rgba(255, 255, 255, 0.5);
 +
  -moz-align-items: center;
 +
  -webkit-align-items: center;
 +
  -ms-align-items: center;
 +
  align-items: center;
 +
  display: -moz-flex;
 +
  display: -webkit-flex;
 +
  display: -ms-flex;
 +
  display: flex;
 +
  -moz-justify-content: center;
 +
  -webkit-justify-content: center;
 +
  -ms-justify-content: center;
 +
  justify-content: center;
 +
  background-image: url(https://static.igem.org/mediawiki/2019/3/36/T--Waterloo--banner.jpeg);
 +
  background-position: center;
 +
  background-repeat: no-repeat;
 +
  background-size: cover;
 +
  border-top: 0;
 +
  display: -ms-flexbox;
 +
  height: 35rem !important;
 +
  min-height: 35rem;
 +
  overflow: hidden;
 +
  position: relative;
 +
  text-align: center;
 +
  width: 100%; }
 +
  #banner input, #banner select, #banner textarea {
 +
    color: #ffffff; }
 +
  #banner a {
 +
    color: #B3DC77; }
 +
  #banner strong, #banner b {
 +
    color: #ffffff; }
 +
  #banner h1, #banner h2, #banner h3, #banner h4, #banner h5, #banner h6 {
 +
    color: #ffffff; }
 +
  #banner blockquote {
 +
    border-left-color: rgba(255, 255, 255, 0.25); }
 +
  #banner code {
 +
    background: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #banner hr {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #banner input[type="submit"],
 +
  #banner input[type="reset"],
 +
  #banner input[type="button"],
 +
  #banner button,
 +
  #banner .button {
 +
    background-color: transparent;
 +
    box-shadow: inset 0 0 0 1px #ffffff;
 +
    color: #ffffff !important; }
 +
    #banner input[type="submit"]:hover,
 +
    #banner input[type="reset"]:hover,
 +
    #banner input[type="button"]:hover,
 +
    #banner button:hover,
 +
    #banner .button:hover {
 +
      box-shadow: inset 0 0 0 1px #B3DC77;
 +
      color: #B3DC77 !important; }
 +
      #banner input[type="submit"]:hover:active,
 +
      #banner input[type="reset"]:hover:active,
 +
      #banner input[type="button"]:hover:active,
 +
      #banner button:hover:active,
 +
      #banner .button:hover:active {
 +
        background-color: rgba(206, 27, 40, 0.25); }
 +
    #banner input[type="submit"].primary,
 +
    #banner input[type="reset"].primary,
 +
    #banner input[type="button"].primary,
 +
    #banner button.primary,
 +
    #banner .button.primary {
 +
      box-shadow: none;
 +
      background-color: #B3DC77;
 +
      color: #ffffff !important; }
 +
      #banner input[type="submit"].primary:hover,
 +
      #banner input[type="reset"].primary:hover,
 +
      #banner input[type="button"].primary:hover,
 +
      #banner button.primary:hover,
 +
      #banner .button.primary:hover {
 +
        background-color: #B3DC77;
 +
        box-shadow: none; }
 +
        #banner input[type="submit"].primary:hover:active,
 +
        #banner input[type="reset"].primary:hover:active,
 +
        #banner input[type="button"].primary:hover:active,
 +
        #banner button.primary:hover:active,
 +
        #banner .button.primary:hover:active {
 +
          background-color: #02b31f; }
 +
  #banner label {
 +
    color: #ffffff; }
 +
  #banner input[type="text"],
 +
  #banner input[type="password"],
 +
  #banner input[type="email"],
 +
  #banner input[type="tel"],
 +
  #banner input[type="search"],
 +
  #banner input[type="url"],
 +
  #banner select,
 +
  #banner textarea {
 +
    background-color: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #banner input[type="text"]:focus,
 +
    #banner input[type="password"]:focus,
 +
    #banner input[type="email"]:focus,
 +
    #banner input[type="tel"]:focus,
 +
    #banner input[type="search"]:focus,
 +
    #banner input[type="url"]:focus,
 +
    #banner select:focus,
 +
    #banner textarea:focus {
 +
      border-color: #B3DC77;
 +
      box-shadow: 0 0 0 1px #B3DC77; }
 +
  #banner select {
 +
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
 +
    #banner select option {
 +
      color: rgba(255, 255, 255, 0.5);
 +
      background-color: #111111; }
 +
  #banner input[type="checkbox"] + label,
 +
  #banner input[type="radio"] + label {
 +
    color: rgba(255, 255, 255, 0.5); }
 +
    #banner input[type="checkbox"] + label:before,
 +
    #banner input[type="radio"] + label:before {
 +
      background: rgba(255, 255, 255, 0.075);
 +
      border-color: rgba(255, 255, 255, 0.25); }
 +
  #banner input[type="checkbox"]:checked + label:before,
 +
  #banner input[type="radio"]:checked + label:before {
 +
    background-color: #B3DC77;
 +
    border-color: #B3DC77;
 +
    color: #ffffff; }
 +
  #banner input[type="checkbox"]:focus + label:before,
 +
  #banner input[type="radio"]:focus + label:before {
 +
    border-color: #B3DC77;
 +
    box-shadow: 0 0 0 1px #B3DC77; }
 +
  #banner ::-webkit-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #banner :-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #banner ::-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #banner :-ms-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #banner ul.alt li {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #banner table tbody tr {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #banner table tbody tr:nth-child(2n + 1) {
 +
      background-color: rgba(255, 255, 255, 0.075); }
 +
  #banner table th {
 +
    color: #ffffff; }
 +
  #banner table thead {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #banner table tfoot {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #banner table.alt tbody tr td {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #banner .highlights .content {
 +
    background: #111111;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
  #banner .testimonials .content {
 +
    background: #111111;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
    #banner .testimonials .content .credit strong {
 +
      color: #B3DC77; }
 +
  #banner > .inner {
 +
    -moz-transform: scale(1.0);
 +
    -webkit-transform: scale(1.0);
 +
    -ms-transform: scale(1.0);
 +
    transform: scale(1.0);
 +
    -moz-transition: opacity 1s ease, -moz-transform 1s ease;
 +
    -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
 +
    -ms-transition: opacity 1s ease, -ms-transform 1s ease;
 +
    transition: opacity 1s ease, transform 1s ease;
 +
    opacity: 1;
 +
    position: relative;
 +
    z-index: 3; }
 +
    #banner > .inner > :last-child {
 +
      margin-bottom: 0; }
 +
  #banner h1 {
 +
    font-size: 4rem;
 +
    margin-bottom: 1rem; }
 +
  #banner p {
 +
    font-size: 1.5rem; }
 +
  #banner a {
 +
    color: rgba(255, 255, 255, 0.5);
 +
    text-decoration: none; }
 +
    #banner a:hover {
 +
      color: #ffffff; }
 +
  #banner video {
 +
    -moz-transform: translateX(50%) translateY(50%);
 +
    -webkit-transform: translateX(50%) translateY(50%);
 +
    -ms-transform: translateX(50%) translateY(50%);
 +
    transform: translateX(50%) translateY(50%);
 +
    bottom: 50%;
 +
    height: auto;
 +
    min-height: 100%;
 +
    min-width: 100%;
 +
    overflow: hidden;
 +
    position: absolute;
 +
    right: 50%;
 +
    width: auto; }
 +
  #banner:before {
 +
    -moz-transition: opacity 3s ease;
 +
    -webkit-transition: opacity 3s ease;
 +
    -ms-transition: opacity 3s ease;
 +
    transition: opacity 3s ease;
 +
    -moz-transition-delay: 1.25s;
 +
    -webkit-transition-delay: 1.25s;
 +
    -ms-transition-delay: 1.25s;
 +
    transition-delay: 1.25s;
 +
    background: #111111;
 +
    content: '';
 +
    display: block;
 +
    height: 100%;
 +
    left: 0;
 +
    opacity: 0.45;
 +
    position: absolute;
 +
    top: 0;
 +
    width: 100%;
 +
    z-index: 1; }
 +
  #banner:after {
 +
    background: linear-gradient(135deg, #B3DC77 0%, #111111 74%);
 +
    content: ' ';
 +
    display: block;
 +
    height: 100%;
 +
    left: 0;
 +
    opacity: 0.6;
 +
    position: absolute;
 +
    top: 0;
 +
    webkit-linear-gradientidth: 100%;
 +
    width: 100%;
 +
    z-index: 1; }
 +
  #banner.small {
 +
    height: 30vh !important;
 +
    min-height: 30vh; }
 +
  @media screen and (max-width: 1280px) {
 +
    #banner video {
 +
      display: none; } }
 +
  @media screen and (max-width: 736px) {
 +
    #banner {
 +
      height: auto !important;
 +
      min-height: 0;
 +
      padding: 4rem 2rem 4rem 2rem; }
 +
      #banner .inner {
 +
        width: 100%; }
 +
      #banner h1 {
 +
        font-size: 1.75rem;
 +
        margin-bottom: 0.5rem;
 +
        padding-bottom: 0; }
 +
      #banner p {
 +
        font-size: 1.25rem; }
 +
      #banner br {
 +
        display: none; }
 +
      #banner .button {
 +
        width: 100%; } }
 +
  @media screen and (max-width: 480px) {
 +
    #banner p {
 +
      font-size: 1rem; } }
 +
  body.is-preload #banner .inner {
 +
    -moz-transform: scale(0.99);
 +
    -webkit-transform: scale(0.99);
 +
    -ms-transform: scale(0.99);
 +
    transform: scale(0.99);
 +
    opacity: 0; }
 +
  body.is-preload #banner:before {
 +
    opacity: 1; }
 +
 +
/* CTA */
 +
#cta {
 +
  background-color: #B3DC77;
 +
  color: rgba(255, 255, 255, 0.75);
 +
  background-attachment: fixed;
 +
  background-image: linear-gradient(rgba(206, 27, 40, 0.25), rgba(206, 27, 40, 0.25)), url(../../images/cta01.jpg);
 +
  background-position: bottom;
 +
  background-repeat: no-repeat;
 +
  background-size: cover;
 +
  position: relative;
 +
  text-align: center;
 +
  z-index: 1; }
 +
  #cta input, #cta select, #cta textarea {
 +
    color: #ffffff; }
 +
  #cta a {
 +
    color: #ffffff; }
 +
  #cta strong, #cta b {
 +
    color: #ffffff; }
 +
  #cta h1, #cta h2, #cta h3, #cta h4, #cta h5, #cta h6 {
 +
    color: #ffffff; }
 +
  #cta blockquote {
 +
    border-left-color: rgba(255, 255, 255, 0.25); }
 +
  #cta code {
 +
    background: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #cta hr {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #cta input[type="submit"],
 +
  #cta input[type="reset"],
 +
  #cta input[type="button"],
 +
  #cta button,
 +
  #cta .button {
 +
    background-color: transparent;
 +
    box-shadow: inset 0 0 0 1px #ffffff;
 +
    color: #ffffff !important; }
 +
    #cta input[type="submit"]:hover,
 +
    #cta input[type="reset"]:hover,
 +
    #cta input[type="button"]:hover,
 +
    #cta button:hover,
 +
    #cta .button:hover {
 +
      background-color: rgba(255, 255, 255, 0.1); }
 +
      #cta input[type="submit"]:hover:active,
 +
      #cta input[type="reset"]:hover:active,
 +
      #cta input[type="button"]:hover:active,
 +
      #cta button:hover:active,
 +
      #cta .button:hover:active {
 +
        background-color: rgba(255, 255, 255, 0.25); }
 +
    #cta input[type="submit"].primary,
 +
    #cta input[type="reset"].primary,
 +
    #cta input[type="button"].primary,
 +
    #cta button.primary,
 +
    #cta .button.primary {
 +
      box-shadow: none;
 +
      background-color: #ffffff;
 +
      color: #B3DC77 !important; }
 +
      #cta input[type="submit"].primary:hover,
 +
      #cta input[type="reset"].primary:hover,
 +
      #cta input[type="button"].primary:hover,
 +
      #cta button.primary:hover,
 +
      #cta .button.primary:hover {
 +
        background-color: rgba(255, 255, 255, 0.875);
 +
        box-shadow: none; }
 +
        #cta input[type="submit"].primary:hover:active,
 +
        #cta input[type="reset"].primary:hover:active,
 +
        #cta input[type="button"].primary:hover:active,
 +
        #cta button.primary:hover:active,
 +
        #cta .button.primary:hover:active {
 +
          background-color: rgba(255, 255, 255, 0.5); }
 +
  #cta label {
 +
    color: #ffffff; }
 +
  #cta input[type="text"],
 +
  #cta input[type="password"],
 +
  #cta input[type="email"],
 +
  #cta input[type="tel"],
 +
  #cta input[type="search"],
 +
  #cta input[type="url"],
 +
  #cta select,
 +
  #cta textarea {
 +
    background-color: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #cta input[type="text"]:focus,
 +
    #cta input[type="password"]:focus,
 +
    #cta input[type="email"]:focus,
 +
    #cta input[type="tel"]:focus,
 +
    #cta input[type="search"]:focus,
 +
    #cta input[type="url"]:focus,
 +
    #cta select:focus,
 +
    #cta textarea:focus {
 +
      border-color: #ffffff;
 +
      box-shadow: 0 0 0 1px #ffffff; }
 +
  #cta select {
 +
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
 +
    #cta select option {
 +
      color: rgba(255, 255, 255, 0.75);
 +
      background-color: #B3DC77; }
 +
  #cta input[type="checkbox"] + label,
 +
  #cta input[type="radio"] + label {
 +
    color: rgba(255, 255, 255, 0.75); }
 +
    #cta input[type="checkbox"] + label:before,
 +
    #cta input[type="radio"] + label:before {
 +
      background: rgba(255, 255, 255, 0.075);
 +
      border-color: rgba(255, 255, 255, 0.25); }
 +
  #cta input[type="checkbox"]:checked + label:before,
 +
  #cta input[type="radio"]:checked + label:before {
 +
    background-color: #ffffff;
 +
    border-color: #ffffff;
 +
    color: #B3DC77; }
 +
  #cta input[type="checkbox"]:focus + label:before,
 +
  #cta input[type="radio"]:focus + label:before {
 +
    border-color: #ffffff;
 +
    box-shadow: 0 0 0 1px #ffffff; }
 +
  #cta ::-webkit-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #cta :-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #cta ::-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #cta :-ms-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #cta ul.alt li {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #cta table tbody tr {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #cta table tbody tr:nth-child(2n + 1) {
 +
      background-color: rgba(255, 255, 255, 0.075); }
 +
  #cta table th {
 +
    color: #ffffff; }
 +
  #cta table thead {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #cta table tfoot {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #cta table.alt tbody tr td {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #cta .highlights .content {
 +
    background: #B3DC77;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
  #cta .testimonials .content {
 +
    background: #B3DC77;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
    #cta .testimonials .content .credit strong {
 +
      color: #B3DC77; }
 +
  #cta .inner {
 +
    position: relative;
 +
    z-index: 3; }
 +
  @media screen and (max-width: 980px) {
 +
    #cta {
 +
      background-attachment: scroll; } }
 +
 +
/* Footer */
 +
#footer {
 +
  background-color: #111111;
 +
  color: rgba(255, 255, 255, 0.5);
 +
  padding: 8rem 0 6rem 0 ; }
 +
  #footer input, #footer select, #footer textarea {
 +
    color: #ffffff; }
 +
  #footer a {
 +
    color: #B3DC77; }
 +
  #footer strong, #footer b {
 +
    color: #ffffff; }
 +
  #footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
 +
    color: #ffffff; }
 +
  #footer blockquote {
 +
    border-left-color: rgba(255, 255, 255, 0.25); }
 +
  #footer code {
 +
    background: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #footer hr {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #footer input[type="submit"],
 +
  #footer input[type="reset"],
 +
  #footer input[type="button"],
 +
  #footer button,
 +
  #footer .button {
 +
    background-color: transparent;
 +
    box-shadow: inset 0 0 0 1px #ffffff;
 +
    color: #ffffff !important; }
 +
    #footer input[type="submit"]:hover,
 +
    #footer input[type="reset"]:hover,
 +
    #footer input[type="button"]:hover,
 +
    #footer button:hover,
 +
    #footer .button:hover {
 +
      box-shadow: inset 0 0 0 1px #B3DC77;
 +
      color: #B3DC77 !important; }
 +
      #footer input[type="submit"]:hover:active,
 +
      #footer input[type="reset"]:hover:active,
 +
      #footer input[type="button"]:hover:active,
 +
      #footer button:hover:active,
 +
      #footer .button:hover:active {
 +
        background-color: rgba(206, 27, 40, 0.25); }
 +
    #footer input[type="submit"].primary,
 +
    #footer input[type="reset"].primary,
 +
    #footer input[type="button"].primary,
 +
    #footer button.primary,
 +
    #footer .button.primary {
 +
      box-shadow: none;
 +
      background-color: #B3DC77;
 +
      color: #ffffff !important; }
 +
      #footer input[type="submit"].primary:hover,
 +
      #footer input[type="reset"].primary:hover,
 +
      #footer input[type="button"].primary:hover,
 +
      #footer button.primary:hover,
 +
      #footer .button.primary:hover {
 +
        background-color: #B3DC77;
 +
        box-shadow: none; }
 +
        #footer input[type="submit"].primary:hover:active,
 +
        #footer input[type="reset"].primary:hover:active,
 +
        #footer input[type="button"].primary:hover:active,
 +
        #footer button.primary:hover:active,
 +
        #footer .button.primary:hover:active {
 +
          background-color: #02b31f; }
 +
  #footer label {
 +
    color: #ffffff; }
 +
  #footer input[type="text"],
 +
  #footer input[type="password"],
 +
  #footer input[type="email"],
 +
  #footer input[type="tel"],
 +
  #footer input[type="search"],
 +
  #footer input[type="url"],
 +
  #footer select,
 +
  #footer textarea {
 +
    background-color: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #footer input[type="text"]:focus,
 +
    #footer input[type="password"]:focus,
 +
    #footer input[type="email"]:focus,
 +
    #footer input[type="tel"]:focus,
 +
    #footer input[type="search"]:focus,
 +
    #footer input[type="url"]:focus,
 +
    #footer select:focus,
 +
    #footer textarea:focus {
 +
      border-color: #B3DC77;
 +
      box-shadow: 0 0 0 1px #B3DC77; }
 +
  #footer select {
 +
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
 +
    #footer select option {
 +
      color: rgba(255, 255, 255, 0.5);
 +
      background-color: #111111; }
 +
  #footer input[type="checkbox"] + label,
 +
  #footer input[type="radio"] + label {
 +
    color: rgba(255, 255, 255, 0.5); }
 +
    #footer input[type="checkbox"] + label:before,
 +
    #footer input[type="radio"] + label:before {
 +
      background: rgba(255, 255, 255, 0.075);
 +
      border-color: rgba(255, 255, 255, 0.25); }
 +
  #footer input[type="checkbox"]:checked + label:before,
 +
  #footer input[type="radio"]:checked + label:before {
 +
    background-color: #B3DC77;
 +
    border-color: #B3DC77;
 +
    color: #ffffff; }
 +
  #footer input[type="checkbox"]:focus + label:before,
 +
  #footer input[type="radio"]:focus + label:before {
 +
    border-color: #B3DC77;
 +
    box-shadow: 0 0 0 1px #B3DC77; }
 +
  #footer ::-webkit-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #footer :-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #footer ::-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #footer :-ms-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #footer ul.alt li {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #footer table tbody tr {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #footer table tbody tr:nth-child(2n + 1) {
 +
      background-color: rgba(255, 255, 255, 0.075); }
 +
  #footer table th {
 +
    color: #ffffff; }
 +
  #footer table thead {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #footer table tfoot {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #footer table.alt tbody tr td {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #footer .highlights .content {
 +
    background: #111111;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
  #footer .testimonials .content {
 +
    background: #111111;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
    #footer .testimonials .content .credit strong {
 +
      color: #B3DC77; }
 +
  #footer a {
 +
    color: rgba(255, 255, 255, 0.5);
 +
    text-decoration: none; }
 +
    #footer a:hover {
 +
      color: #B3DC77; }
 +
  #footer .content {
 +
    display: -moz-flex;
 +
    display: -webkit-flex;
 +
    display: -ms-flex;
 +
    display: flex; }
 +
    #footer .content section {
 +
      width: 25%; }
 +
      #footer .content section:first-child {
 +
        width: 50%;
 +
        padding-right: 4rem; }
 +
      #footer .content section:last-child {
 +
        padding-left: 4rem; }
 +
  #footer .copyright {
 +
    border-top: 1px solid;
 +
    font-size: 0.8rem;
 +
    opacity: 0.5;
 +
    padding: 2rem 0;
 +
    text-align: center; }
 +
  @media screen and (max-width: 1280px) {
 +
    #footer {
 +
      padding: 4rem 0 2rem 0 ; } }
 +
  @media screen and (max-width: 980px) {
 +
    #footer .content {
 +
      -moz-flex-wrap: wrap;
 +
      -webkit-flex-wrap: wrap;
 +
      -ms-flex-wrap: wrap;
 +
      flex-wrap: wrap; }
 +
      #footer .content section {
 +
        width: 50%; }
 +
        #footer .content section:first-child {
 +
          width: 100%;
 +
          padding-right: 0; } }
 +
  @media screen and (max-width: 736px) {
 +
    #footer {
 +
      padding: 3rem 0 1rem 0 ; }
 +
      #footer .content section {
 +
        width: 100%; }
 +
        #footer .content section:last-child {
 +
          padding-left: 0; } }
 +
  @media screen and (max-width: 480px) {
 +
    #footer {
 +
      padding: 2rem 0 0.1rem 0 ; } }
 +
 +
/* Header */
 +
body {
 +
  padding-top: 3.25rem; }
 +
  body:before {
 +
    content: ' ';
 +
    background-image: url(https://static.igem.org/mediawiki/2019/3/37/T--Waterloo--bg_image.jpeg);
 +
    background-size: cover;
 +
    background-repeat: no-repeat;
 +
    background-attachment: fixed;
 +
    display: block;
 +
    position: fixed;
 +
    left: 0;
 +
    top: 0;
 +
    width: 100%;
 +
    height: 100%;
 +
    z-index: -1;
 +
    opacity: 0.05; }
 +
 +
#header {
 +
  -moz-align-items: center;
 +
  -webkit-align-items: center;
 +
  -ms-align-items: center;
 +
  align-items: center;
 +
  display: -moz-flex;
 +
  display: -webkit-flex;
 +
  display: -ms-flex;
 +
  display: flex;
 +
  -moz-justify-content: space-between;
 +
  -webkit-justify-content: space-between;
 +
  -ms-justify-content: space-between;
 +
  justify-content: space-between;
 +
  background: #111111;
 +
  color: rgba(255, 255, 255, 0.5);
 +
  cursor: default;
 +
  height: 3.25rem;
 +
  left: 0;
 +
  line-height: 3.25rem;
 +
  position: fixed;
 +
  top: 0;
 +
  width: 100%;
 +
  z-index: 10001; }
 +
  #header > .logo {
 +
    color: #ffffff;
 +
    font-size: 1rem;
 +
    font-weight: 600;
 +
    height: inherit;
 +
    line-height: inherit;
 +
    padding: 0 1.25rem;
 +
    text-decoration: none; }
 +
  #header > nav > a {
 +
    color: inherit;
 +
    display: inline-block;
 +
    padding: 0 0.75rem;
 +
    text-decoration: none; }
 +
    #header > nav > a:hover {
 +
      color: #ffffff; }
 +
    #header > nav > a[href="#menu"] {
 +
      text-decoration: none;
 +
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
 +
      #header > nav > a[href="#menu"]:before {
 +
        -moz-osx-font-smoothing: grayscale;
 +
        -webkit-font-smoothing: antialiased;
 +
        font-family: FontAwesome;
 +
        font-style: normal;
 +
        font-weight: normal;
 +
        text-transform: none !important; }
 +
      #header > nav > a[href="#menu"]:before {
 +
        content: '\f0c9';
 +
        margin: 0 0.5rem 0 0; }
 +
    #header > nav > a + a[href="#menu"]:last-child {
 +
      border-left: solid 1px rgba(255, 255, 255, 0.25);
 +
      margin-left: 0.5rem;
 +
      padding-left: 1.25rem; }
 +
    #header > nav > a:last-child {
 +
      padding-right: 1.25rem; }
 +
    @media screen and (max-width: 736px) {
 +
      #header > nav > a {
 +
        padding: 0 0.5rem; }
 +
        #header > nav > a + a[href="#menu"]:last-child {
 +
          margin-left: 0.25rem;
 +
          padding-left: 1rem; }
 +
        #header > nav > a:last-child {
 +
          padding-right: 1rem; } }
 +
 +
@media screen and (max-width: 980px) {
 +
  body {
 +
    padding-top: 44px; }
 +
 +
  #header {
 +
    height: 44px;
 +
    line-height: 44px; } }
 +
@media screen and (max-width: 480px) {
 +
  #header {
 +
    min-width: 320px; } }
 +
/* Heading */
 +
#heading {
 +
  -ms-flex-align: center;
 +
  -ms-flex-pack: center;
 +
  background-color: #111111;
 +
  color: rgba(255, 255, 255, 0.5);
 +
  -moz-align-items: center;
 +
  -webkit-align-items: center;
 +
  -ms-align-items: center;
 +
  align-items: center;
 +
  display: -moz-flex;
 +
  display: -webkit-flex;
 +
  display: -ms-flex;
 +
  display: flex;
 +
  -moz-justify-content: center;
 +
  -webkit-justify-content: center;
 +
  -ms-justify-content: center;
 +
  justify-content: center;
 +
  background-image: linear-gradient(rgba(17, 17, 17, 0.25), rgba(17, 17, 17, 0.25)), url(https://static.igem.org/mediawiki/2019/3/36/T--Waterloo--banner.jpeg);
 +
  background-position: center;
 +
  background-repeat: no-repeat;
 +
  background-size: cover;
 +
  border-top: 0;
 +
  display: -ms-flexbox;
 +
  height: 15rem !important;
 +
  min-height: 15rem;
 +
  overflow: hidden;
 +
  position: relative;
 +
  text-align: center;
 +
  width: 100%; }
 +
  #heading input, #heading select, #heading textarea {
 +
    color: #ffffff; }
 +
  #heading a {
 +
    color: #B3DC77; }
 +
  #heading strong, #heading b {
 +
    color: #ffffff; }
 +
  #heading h1, #heading h2, #heading h3, #heading h4, #heading h5, #heading h6 {
 +
    color: #ffffff; }
 +
  #heading blockquote {
 +
    border-left-color: rgba(255, 255, 255, 0.25); }
 +
  #heading code {
 +
    background: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #heading hr {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #heading input[type="submit"],
 +
  #heading input[type="reset"],
 +
  #heading input[type="button"],
 +
  #heading button,
 +
  #heading .button {
 +
    background-color: transparent;
 +
    box-shadow: inset 0 0 0 1px #ffffff;
 +
    color: #ffffff !important; }
 +
    #heading input[type="submit"]:hover,
 +
    #heading input[type="reset"]:hover,
 +
    #heading input[type="button"]:hover,
 +
    #heading button:hover,
 +
    #heading .button:hover {
 +
      box-shadow: inset 0 0 0 1px #B3DC77;
 +
      color: #B3DC77 !important; }
 +
      #heading input[type="submit"]:hover:active,
 +
      #heading input[type="reset"]:hover:active,
 +
      #heading input[type="button"]:hover:active,
 +
      #heading button:hover:active,
 +
      #heading .button:hover:active {
 +
        background-color: rgba(206, 27, 40, 0.25); }
 +
    #heading input[type="submit"].primary,
 +
    #heading input[type="reset"].primary,
 +
    #heading input[type="button"].primary,
 +
    #heading button.primary,
 +
    #heading .button.primary {
 +
      box-shadow: none;
 +
      background-color: #B3DC77;
 +
      color: #ffffff !important; }
 +
      #heading input[type="submit"].primary:hover,
 +
      #heading input[type="reset"].primary:hover,
 +
      #heading input[type="button"].primary:hover,
 +
      #heading button.primary:hover,
 +
      #heading .button.primary:hover {
 +
        background-color: #B3DC77;
 +
        box-shadow: none; }
 +
        #heading input[type="submit"].primary:hover:active,
 +
        #heading input[type="reset"].primary:hover:active,
 +
        #heading input[type="button"].primary:hover:active,
 +
        #heading button.primary:hover:active,
 +
        #heading .button.primary:hover:active {
 +
          background-color: #02b31f; }
 +
  #heading label {
 +
    color: #ffffff; }
 +
  #heading input[type="text"],
 +
  #heading input[type="password"],
 +
  #heading input[type="email"],
 +
  #heading input[type="tel"],
 +
  #heading input[type="search"],
 +
  #heading input[type="url"],
 +
  #heading select,
 +
  #heading textarea {
 +
    background-color: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #heading input[type="text"]:focus,
 +
    #heading input[type="password"]:focus,
 +
    #heading input[type="email"]:focus,
 +
    #heading input[type="tel"]:focus,
 +
    #heading input[type="search"]:focus,
 +
    #heading input[type="url"]:focus,
 +
    #heading select:focus,
 +
    #heading textarea:focus {
 +
      border-color: #B3DC77;
 +
      box-shadow: 0 0 0 1px #B3DC77; }
 +
  #heading select {
 +
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
 +
    #heading select option {
 +
      color: rgba(255, 255, 255, 0.5);
 +
      background-color: #111111; }
 +
  #heading input[type="checkbox"] + label,
 +
  #heading input[type="radio"] + label {
 +
    color: rgba(255, 255, 255, 0.5); }
 +
    #heading input[type="checkbox"] + label:before,
 +
    #heading input[type="radio"] + label:before {
 +
      background: rgba(255, 255, 255, 0.075);
 +
      border-color: rgba(255, 255, 255, 0.25); }
 +
  #heading input[type="checkbox"]:checked + label:before,
 +
  #heading input[type="radio"]:checked + label:before {
 +
    background-color: #B3DC77;
 +
    border-color: #B3DC77;
 +
    color: #ffffff; }
 +
  #heading input[type="checkbox"]:focus + label:before,
 +
  #heading input[type="radio"]:focus + label:before {
 +
    border-color: #B3DC77;
 +
    box-shadow: 0 0 0 1px #B3DC77; }
 +
  #heading ::-webkit-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #heading :-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #heading ::-moz-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #heading :-ms-input-placeholder {
 +
    color: rgba(255, 255, 255, 0.4) !important; }
 +
  #heading ul.alt li {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #heading table tbody tr {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
    #heading table tbody tr:nth-child(2n + 1) {
 +
      background-color: rgba(255, 255, 255, 0.075); }
 +
  #heading table th {
 +
    color: #ffffff; }
 +
  #heading table thead {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #heading table tfoot {
 +
    border-top-color: rgba(255, 255, 255, 0.25); }
 +
  #heading table.alt tbody tr td {
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #heading .highlights .content {
 +
    background: #111111;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
  #heading .testimonials .content {
 +
    background: #111111;
 +
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
 +
    #heading .testimonials .content .credit strong {
 +
      color: #B3DC77; }
 +
  #heading:before {
 +
    background: linear-gradient(135deg, #B3DC77 0%, #111111 74%);
 +
    content: ' ';
 +
    display: block;
 +
    height: 100%;
 +
    left: 0;
 +
    opacity: 0.6;
 +
    position: absolute;
 +
    top: 0;
 +
    width: 100%;
 +
    z-index: 1; }
 +
  #heading h1 {
 +
    margin-bottom: 0;
 +
    position: relative;
 +
    z-index: 2; }
 +
  @media screen and (max-width: 980px) {
 +
    #heading {
 +
      padding: 2rem; } }
 +
 +
/* Main */
 +
#main .content {
 +
  background: #ffffff;
 +
  border-radius: 4px;
 +
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.025);
 +
  margin-bottom: 2rem;
 +
  padding: 3rem; }
 +
  @media screen and (max-width: 980px) {
 +
    #main .content {
 +
      padding: 2rem; } }
 +
  @media screen and (max-width: 480px) {
 +
    #main .content {
 +
      padding: 1.5rem; } }
 +
 +
/* Menu */
 +
#menu {
 +
  background-color: #111111;
 +
  color: rgba(255, 255, 255, 0.5);
 +
  -moz-transform: translateX(20rem);
 +
  -webkit-transform: translateX(20rem);
 +
  -ms-transform: translateX(20rem);
 +
  transform: translateX(20rem);
 +
  -moz-transition: -moz-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
 +
  -webkit-transition: -webkit-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
 +
  -ms-transition: -ms-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
 +
  transition: transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
 +
  -webkit-overflow-scrolling: touch;
 +
  box-shadow: none;
 +
  height: 100%;
 +
  max-width: 80%;
 +
  overflow-y: auto;
 +
  padding: 3rem 2rem;
 +
  position: fixed;
 +
  right: 0;
 +
  top: 0;
 +
  visibility: hidden;
 +
  width: 20rem;
 +
  z-index: 10002; }
 +
  #menu input, #menu select, #menu textarea {
 +
    color: #ffffff; }
 +
  #menu a {
 +
    color: #B3DC77; }
 +
  #menu strong, #menu b {
 +
    color: #ffffff; }
 +
  #menu h1, #menu h2, #menu h3, #menu h4, #menu h5, #menu h6 {
 +
    color: #ffffff; }
 +
  #menu blockquote {
 +
    border-left-color: rgba(255, 255, 255, 0.25); }
 +
  #menu code {
 +
    background: rgba(255, 255, 255, 0.075);
 +
    border-color: rgba(255, 255, 255, 0.25); }
 +
  #menu hr {
 +
    border-bottom-color: rgba(255, 255, 255, 0.25); }
 +
  #menu input[type="submit"],
 +
  #menu input[type="reset"],
 +
  #menu input[type="button"],
 +
  #menu button,
 +
  #menu .button {
 +
    background-color: transparent;
 +
    box-shadow: inset 0 0 0 1px #ffffff;
 +
    color: #ffffff !important; }
 +
    #menu input[type="submit"]:hover,
 +
    #menu input[type="reset"]:hover,
 +
    #menu input[type="button"]:hover,
 +
    #menu button:hover,
 +
    #menu .button:hover {
 +
      box-shadow: inset 0 0 0 1px #B3DC77;
 +
      color: #B3DC77 !important; }
 +
      #menu input[type="submit"]:hover:active,
 +
      #menu input[type="reset"]:hover:active,
 +
      #menu input[type="button"]:hover:active,
 +
      #menu button:hover:active,
 +
      #menu .button:hover:active {
 +
        background-color: rgba(206, 27, 40, 0.25); }
 +
    #menu input[type="submit"].primary,
 +
    #menu input[type="reset"].primary,
 +
    #menu input[type="button"].primary,
 +
    #menu button.primary,
 +
    #menu .button.primary {
 +
      box-shadow: none;
 +
      background-color: #B3DC77;
 +
      color: #ffffff !important; }
 +
      #menu input[type="submit"].primary:hover,
 +
      #menu input[type="reset"].primary:hover,
 +
      #menu input[type="button"].primary:hover,
 +
      #menu button.primary:hover,
 +
      #menu .button.primary:hover {
 +
        background-color: #B3DC77;
 +
        box-shadow: none; }
 +
        #menu input[type="submit"].primary:hover:active,
 +
        #menu input[type="reset"].primary:hover:active,
 +
        #menu input[type="button"].primary:hover:active,
 +
        #menu button.primary:hover:active,
 +
        #menu .button.primary:hover:active {
 +
          background-color: #02b31f; }
 +
  #menu > ul {
 +
    margin: 0 0 1rem 0; }
 +
    #menu > ul.links {
 +
      list-style: none;
 +
      padding: 0; }
 +
      #menu > ul.links > li {
 +
        padding: 0; }
 +
        #menu > ul.links > li > a {
 +
          border: 0;
 +
          border-top: solid 1px rgba(255, 255, 255, 0.25);
 +
          color: inherit;
 +
          display: block;
 +
          line-height: 3.5rem;
 +
          text-decoration: none; }
 +
          #menu > ul.links > li > a:hover {
 +
            color: #ffffff; }
 +
        #menu > ul.links > li:first-child > a {
 +
          border-top: 0; }
 +
  #menu .close {
 +
    text-decoration: none;
 +
    -moz-transition: color 0.2s ease-in-out;
 +
    -webkit-transition: color 0.2s ease-in-out;
 +
    -ms-transition: color 0.2s ease-in-out;
 +
    transition: color 0.2s ease-in-out;
 +
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 +
    border: 0;
 +
    color: rgba(255, 255, 255, 0.4);
 +
    cursor: pointer;
 +
    display: block;
 +
    height: 3.25rem;
 +
    line-height: 3.25rem;
 +
    padding-right: 1.25rem;
 +
    position: absolute;
 +
    right: 0;
 +
    text-align: right;
 +
    top: 0;
 +
    vertical-align: middle;
 +
    width: 7rem; }
 +
    #menu .close:before {
 +
      -moz-osx-font-smoothing: grayscale;
 +
      -webkit-font-smoothing: antialiased;
 +
      font-family: FontAwesome;
 +
      font-style: normal;
 +
      font-weight: normal;
 +
      text-transform: none !important; }
 +
    #menu .close:before {
 +
      content: '\f00d';
 +
      font-size: 1.25rem; }
 +
    #menu .close:hover {
 +
      color: #ffffff; }
 +
    @media screen and (max-width: 736px) {
 +
      #menu .close {
 +
        height: 4rem;
 +
        line-height: 4rem; } }
 +
  @media screen and (max-width: 736px) {
 +
    #menu {
 +
      padding: 2.5rem 1.75rem; } }
 +
 +
body.is-menu-visible #menu {
 +
  -moz-transform: translateX(0);
 +
  -webkit-transform: translateX(0);
 +
  -ms-transform: translateX(0);
 +
  transform: translateX(0);
 +
  box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.2);
 +
  visibility: visible; }
 +
 +
</style>
 
<head>
 
<head>
<title>Waterloo iGEM 2019</title>
+
<title>iGEM UWaterloo 2019 - Model</title>
 
<meta charset="utf-8" />
 
<meta charset="utf-8" />
 
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
 
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
 
<meta name="description" content="" />
 
<meta name="description" content="" />
 
<meta name="keywords" content="" />
 
<meta name="keywords" content="" />
    <link rel="stylesheet" href="https://2019.igem.org/Template:Waterloo/uwaterloo-main-css?action=raw&amp;ctype=text/css"/>
+
<link rel="stylesheet" href="assets/css/uwaterloo-main.css" />
                <meta name="viewport" content="width=device-width, initial-scale=1">
+
</head>
 
+
        </head>
+
 
<body class="is-preload">
 
<body class="is-preload">
  
 
<!-- Header -->
 
<!-- Header -->
 
<header id="header">
 
<header id="header">
<a class="logo" href="index.html">Waterloo iGEM 2019: Rooting for Symbiosis</a>
+
<a class="logo" href="index.html">Math and Modeling</a>
 
<nav>
 
<nav>
 
<a href="#menu">Menu</a>
 
<a href="#menu">Menu</a>
Line 25: Line 2,858:
 
<nav id="menu">
 
<nav id="menu">
 
<ul class="links">
 
<ul class="links">
<li><a href="https://2019.igem.org/Team:Waterloo">Home</a></li>
+
<li><a href="index.html">Home</a></li>
<li><a href="https://2019.igem.org/Team:Waterloo/Description">Description</a></li>
+
<li><a href="Description.html">Description</a></li>
<li><a href="https://2019.igem.org/Team:Waterloo/Model">Model</a></li>
+
<li><a href="Model.html">Model</a></li>
 +
 
</ul>
 
</ul>
 
</nav>
 
</nav>
<!-- Banner -->
 
<section id="banner">
 
<div class="inner">
 
<h1>Rooting for Symbiosis</h1>
 
<p>Engineering herbicide tolerance in rhizobia</p>
 
</div>
 
<video autoplay loop muted playsinline src="images/banner.mp4"></video>
 
</section>
 
  
<!-- Highlights -->
 
<section class="wrapper">
 
<div class="inner">
 
<header class="wrapper">
 
<div class="content">
 
<h2>Welcome to Waterloo iGEM 2019!</h2>
 
<p>Pesticide usage and regulations in Canada have recently come under scrutiny and have caught our attention. Despite playing an important role in protecting crops, pesticides can also negatively impact the immediate rhizosphere of plants by inhibiting the process of root nodule formation. Rhizobacteria are soil bacteria that form beneficial relationships with agriculturally important legume crops. These microorganisms form root nodules and fix nitrogen gas into ammonia, a requirement for plant growth. Farmers using pesticides then need to apply more synthetic nitrogen fertilizers instead of relying on biologically fixed nitrogen. The runoff from these fertilizers can cause major environmental damage in the form of nutrient pollution. Our team therefore aims to minimize the use of ammonia-supplemented fertilizers. To do this, we are engineering rhizobia to have the ability to form root nodules in the presence of pesticides. We will confer resistance by either altering target receptors for the pesticide, or by biologically transforming the pesticide to dampen its toxicity. The aim is to identify the impact these changes will have on root nodule fixation by the engineered rhizobium, with the goal of allowing root nodule formation in the presence of pesticides. Agriculture is a large component of our local community, and providing constructive synthetic biology solutions that support current agricultural practices is fundamental to the inspiration of this year’s project. This project hopes to allow farmers to reduce their use of harmful fertilizers while still using pesticides to ensure high crop yields.</p>
 
</div>
 
</header>
 
<div class="highlights">
 
<section>
 
<div class="content">
 
<header>
 
<a href="Description.html" class="icon fa-vcard-o"><span class="label">Icon</span></a>
 
<h3>Inspiration and Description</h3>
 
</header>
 
<p>Learn more about why we chose our project!</p>
 
</div>
 
</section>
 
<section>
 
<div class="content">
 
<header>
 
<a href="#" class="icon fa-files-o"><span class="label">Icon</span></a>
 
<h3>Attributions</h3>
 
</header>
 
<p>Nunc lacinia ante nunc ac lobortis ipsum. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus.</p>
 
</div>
 
</section>
 
<section>
 
<div class="content">
 
<header>
 
<a href="#" class="icon fa-floppy-o"><span class="label">Icon</span></a>
 
<h3>Collaborations</h3>
 
</header>
 
<p>Nunc lacinia ante nunc ac lobortis ipsum. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus.</p>
 
</div>
 
</section>
 
<section>
 
<div class="content">
 
<header>
 
<a href="#" class="icon fa-line-chart"><span class="label">Icon</span></a>
 
<h3>Human Practices</h3>
 
</header>
 
<p>Nunc lacinia ante nunc ac lobortis ipsum. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus.</p>
 
</div>
 
</section>
 
<section>
 
<div class="content">
 
<header>
 
<a href="#" class="icon fa-paper-plane-o"><span class="label">Icon</span></a>
 
<h3>Model</h3>
 
</header>
 
<p>Nunc lacinia ante nunc ac lobortis ipsum. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus.</p>
 
</div>
 
</section>
 
<section>
 
<div class="content">
 
<header>
 
<a href="#" class="icon fa-qrcode"><span class="label">Icon</span></a>
 
<h3>Demonstrate</h3>
 
</header>
 
<p>Nunc lacinia ante nunc ac lobortis ipsum. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus.</p>
 
</div>
 
</section>
 
</div>
 
</div>
 
</section>
 
  
<!-- CTA -->
+
<!-- Heading -->
<section id="cta" class="wrapper">
+
<div id="heading" >
<div class="inner">
+
<h1>Mathematics and Modeling</h1>
<h2>Curabitur ullamcorper ultricies</h2>
+
</div>
<p>Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing. Lorem ipsum dolor vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing sed feugiat eu faucibus. Integer ac sed amet praesent. Nunc lacinia ante nunc ac gravida.</p>
+
</div>
+
</section>
+
  
<!-- Testimonials -->
+
<!-- Main -->
<section class="wrapper">
+
<section id="main" class="wrapper">
 
<div class="inner">
 
<div class="inner">
<header class="special">
+
<div class="content">
<h2>Faucibus consequat lorem</h2>
+
<h1 id="environmental-model">Environmental Model</h1>
<p>In arcu accumsan arcu adipiscing accumsan orci ac. Felis id enim aliquet. Accumsan ac integer lobortis commodo ornare aliquet accumsan erat tempus amet porttitor.</p>
+
<p>An important goal of our project is to determine whether, in the viscinity of a root nodule, the Linuron concentration is
</header>
+
significant enough to damage the Rhizosphere and inhibit nodule growth as plants continue to develop. </p>
 +
<p>In order to model this, we introduce a diffusion-reaction-advection model, which is a standard method in environmental engineering practices. As a consequence of this we are able to develop heuristics for whether Linuron and 3,4-DCA runoff is significant in addition to the original purpose of the model. The model is compared to a similar model by <em>Owsianiak et al</em> [1] for Linuron degradation in bioaugmentation beads. The paper by Owsianiak relied on the use of <em>Variovorax sp.</em> [4], which is one of the species responsible for our system - as such we credit many of our parameters to them.</p>
 +
<p><strong>Insert Video</strong></p>
 +
<h2 id="introducing-the-model">Introducing the Model</h2>
 +
<p>As partial differential equation models are quite rare in the world of iGEM, we will introduce this model from the ground up. The first component of the model is Fick&#39;s Law.</p>
 +
<p>$$ C = [\textrm{Linuron}] $$</p>
 +
<p>$$ D = \textrm{diag}(D_x,D_y,D_z) $$</p>
 +
<p>$$ \nabla\cdot(D\nabla C) = \frac{\partial C}{\partial t} $$</p>
 +
<p>The object D is called the diffusion matrix, which determines the speed of diffusion in different directions. Next, we add an advection term in order to model the movement of Linuron being carried by water.</p>
 +
<p>$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t}$$</p>
 +
<p>This advection term relies on the hydraulic head, which is a measure of water pressure in the soil. However, water tends to flow around the root nodules, so Linuron transport is diffusion-dominated inside the nodule. Therefore we must use the Navier-Stokes equation in order to find the advection velocity. In order to model degradation, we couple this with our kinetic model to find the following coupled system of PDEs.</p>
 +
<p>$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t} + \chi_n \frac{V_{max}C}{K_m-C} $$</p>
 +
<p>$$ \varrho \left( \frac{\partial v_e}{\partial t} - v_e \cdot \nabla v_e \right) = \nabla \cdot \sigma(v_e,p)+f $$
 +
$$ \nabla \cdot v_e = 0 $$</p>
 +
<h2 id="assumptions">Assumptions</h2>
 +
<p>In the above model, we are assuming an averaged rate of water intake - this is necessary due to the difficulties with rain models. One can see that this assumption should produce a reasonable approximation since the timescale we are working with is over weeks to months, whereas the rate of rainfall is on the order of days.</p>
 +
<p>We also needed to verify that the rate of water transport into the nodule tissue is not limited by physiological factors such as membrane transport. In order to do this, we used the Octanol-Water partition coefficient in order to predict the rate of membrane transport using Overton&#39;s Rule [2]:</p>
 +
<p>$$ P=\frac{K_{ow}D}{\ell} $$</p>
 +
<p>From this we found that the transport of Linuron into plant cells is not membrane-transport limited. In addition, the paper [1] found that background degradation of Linuron by the same pathway is negligible compared to degradation by <em>Variovorax sp.</em>, as such we ignore it in the model.</p>
 +
<h2 id="numerical-methods">Numerical Methods</h2>
 +
<p>In order to solve this model we first convert the system into variational form. The Navier-Stokes terms are solved by a midpoint discretization method called Chorin&#39;s Method, while the remainder is just solved using the backwards Euler method. The following equations are obtained by integrating the above PDEs and applying integration by parts.</p>
 +
<p>$$\int_\Omega \frac{\partial C}{\partial t} w d\tau = \int_\Omega \left[\nabla \cdot (D \nabla C)w - w v_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau =$$</p>
 +
<p>$$\int_\Omega \left[(-\nabla C)^T D^T \nabla w -wv_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau + \int_{\partial \Omega} w( \nabla C)\cdot d \vec{s}$$</p>
 +
<p>We then write these equations into python using the framework <em>FeNiCS</em> [3], which is a free library for solving PDEs using the Finite Element Method. Teams interested in using PDE solvers for their iGEM project should consider FeNiCS as a good alternative to expensive or large-scale programs. Using <em>ParaView</em> one can export animations and data from pythons&#39; results. We also used the python library <em>meshio</em> in order to convert meshes generated by <em>Gmsh</em> into a format compatible with FeNiCS. As a note to iGEM teams in the future considering PDE transport models, your discretization must meet the Courant-Freidrichs-Lewy (CFL) condition in order to be stable.</p>
 +
 +
 +
 +
<h1 id="liba-nat1-pathway">LibA-NAT1 Pathway</h1>
 +
<p>The following is our reaction of interest.
 +
$$\text{H}2\text{O} + \text{Linuron} \longrightarrow \text{N,O-dimethylhydroxylamine} + \text{CO}_2 + \text{3,4-dichloroaniline.}$$
 +
It is known that purified LibA is a monomeric linuron hydrolase of ∼55 kDa with a K<sub>m</sub> and a V<sub>max</sub> for linuron of 5.8 μM and 0.16 nmol per minute for <it>Variovorax sp.</it> with an unknown enzyme concentration, respectively [4]. </p>
 +
<p>The second step in the reaction involving NAT1 is characterized in Rodrigues-Lima [5]. The rate for 3,4-dichloroaniline degradation with NAT1 is computed to be 68 &plusmn 8 nmol. per min. per mg. of enzyme. In addition, the ratio of K<sub>m</sub> to V<sub>max</sub> is estimated to be 0.005 per minute for the NAT-dependent pathway for biotransformation of 3,4-DCA within Mesorhizobium loti.</p>
 +
<p>This ratio does not give us enough information for our reaction network. This is why we will (for the time being) assume a constant concentration of NAT1.</p>
 +
<h2 id="computations">Computations</h2>
 +
<p>We will first load the relevant Julia packages</p>
 +
<pre><code class="language-julia">using DiffEqBiological;
 +
using DifferentialEquations;
 +
using Plots;
 +
using Latexify;</code></pre>
 +
<p>We will now construct our reaction network.</p>
 +
<pre><code class="language-julia">rs = @reaction_network begin
 +
mm(DCA,V_max_LibA,K_m_LibA), Ln → DCA # Linuron to DCA reaction through LibA, irrelevant molecules are ignored, see below.
 +
rate_NAT1, DCA → DCAA # NAT1 reaction, irrelevant molecules are ignored see below
 +
end V_max_LibA K_m_LibA rate_NAT1</code></pre>
 +
<p>The <b>mm(X,v,K)</b> function is DiffEqBiological's Hill function. The first argument encodes the substrate in question and V, K are the paramters for the Hill function. Although LibA also needs water, for the purpose of modelling, it is safe to ignore it because it is relatively infinite. With the model eventually shwon on the wiki, the water concentration will be shown and taken into account but it is not necessary at this stage (the qualitative and even maybe quantitative differences in the solutions for not including all of the reactatns and products are going to be minimal since not including them is essentially the same as asssuming that we will never have to worry about or measure their concentrations). The same goes for the NAT1. When we start considering varying enzyme concentrations due to the expression of the enxymes, this will come back to bite us but it is not a problem for now. The differential equations are:</p>
 +
<p>$$ \frac{dLn}{dt} =  - \frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA} \cdot Ln $$
 +
$$ \frac{dDCA}{dt} = \frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA} \cdot Ln - rate_{NAT1} \cdot DCA $$
 +
$$ \frac{dDCAA}{dt} = rate_{NAT1} \cdot DCA $$</p>
 +
<p>A little less useful but I still think its cool that we can do this. It&#39;ll become important in other modelling. The following is the chemical reaction network.</p>
 +
<p>$$ Ln \to  DCA \hspace{1em} \left[\frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA}\right] $$
 +
$$DCA \to  DCAA \hspace{1em} \left[[rate_{NAT1}]\right]$$</p>
 +
<p>From above, we have these parameters.</p>
 +
<pre><code class="language-julia">V_max_LibA = 0.16;# nmol per min.
 +
K_m_LibA = 5800.;  # nmol
 +
NAT1_rate_per_mg = 68.;  # nmol per min. per mg.
 +
NAT1_conc = 0.01;# arbitrarily set to 10 ng for now, not sure how valid it is.
 +
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;
 +
 
 +
p_10 = (V_max_LibA, K_m_LibA, rate_NAT1);</code></pre>
 +
<p>We now assume that there is 622000000 nmol of Linuron per plate (due to a calculation by Nicki), which is why we safely assumed that there is approximate 10 ng of NAT1 (again, ballpark). In addition, the solvers require that there is a non-zero amount of DCA and DCAA already present so we set the initial conditions as follows:</p>
 +
<pre><code class="language-julia">u0 = [622000000., 0.001, 0.001];
 +
tspan = (0., 10.);</code></pre>
 +
<p>We will now setup the problem, solve it, and plot the solutions.</p>
 +
<pre><code class="language-julia">prob_10 = ODEProblem(rs, u0, tspan, p_10);
 +
sol_10 = solve(prob_10, DynamicSS(Tsit5()));</code></pre>
 +
<pre><code class="language-julia">plot(sol_10)</code></pre>
 +
<p><img src="Linuron-NAT1_files/Linuron-NAT1_15_0.svg" alt="svg"></p>
 +
<p>We see that if we assume we have 100 ng, the DCA concentration drops to much lower.</p>
 +
<pre><code class="language-julia">NAT1_conc = 0.1;# 100 ng now
 +
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;
 +
 
 +
p_100 = (V_max_LibA, K_m_LibA, rate_NAT1);
 +
 
 +
prob_100 = ODEProblem(rs, u0, tspan, p_100);
 +
sol_100 = solve(prob_100, DynamicSS(Tsit5()));
 +
 
 +
plot(sol_100)</code></pre>
 +
<p><img src="Linuron-NAT1_files/Linuron-NAT1_17_0.svg" alt="svg"></p>
 +
<p>Going up one more order, we see that it drops to essentially zero.</p>
 +
<pre><code class="language-julia">NAT1_conc = 1.;# 1 mg now
 +
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;
 +
 
 +
p_1000 = (V_max_LibA, K_m_LibA, rate_NAT1);
 +
 
 +
prob_1000 = ODEProblem(rs, u0, tspan, p_1000);
 +
sol_1000 = solve(prob_1000, DynamicSS(Tsit5()));
 +
 
 +
plot(sol_1000)</code></pre>
 +
<p><img src="Linuron-NAT1_files/Linuron-NAT1_19_0.svg" alt="svg"></p>
 +
<p>Since the Hill function only models substrate concentration against reaction rates, the enzyme concentration is not being modelled quantitatively (thereby assumed to be infinite). We can easily modify the above to take into account varying enzyme concentrations. In the case of the NAT1 enzyme, this directly corresponds to varying NAT1_conc which is easy since Julia allows you to define your own function for the reaction parameters which would in our case be varying over time against another &quot;HIll-ish&quot; function or one that better approximates gene expression. In the case of LibA, incorporating varying concentrations of LibA is done by moving away from the Hill function into a form such as for NAT1 (using the paramters to derive new ones and if its not possible, measuring them/finding them in literature) and then repeating what we did for NAT1 for LibA.</p>
 +
<p>Now if we start to consider both enzymes (LibA and NAT1) under the same promoter, we see that both will be generated at the same rate. We can choose to model both the mRNA and protein production and decay but we do not have rates for this so we&#39;re just gonna use the quasi-steady state approximation. This changes our reaction network to</p>
 +
<pre><code class="language-julia">rss = @reaction_network begin
 +
r_1, ∅ → NAT1 + libA
 +
r_2, NAT1 → ∅
 +
r_3, libA → ∅
 +
mm(DCA, V_max_LibA,K_m_LibA), Ln + libA → DCA + libA # Linuron to DCA reaction through LibA, irrelevant molecules are ignored, see below
 +
rate_NAT1*NAT1, DCA → DCAA # NAT1 reaction, irrelevant molecules are ignored see below
 +
end r_1 r_2 r_3 V_max_LibA K_m_LibA rate_NAT1</code></pre>
 +
 
 +
<h2 id="conclusions">Conclusions</h2>
 +
<h3 id="liba-nat1">LibA-NAT1</h3>
 +
<p>For the LibA-NAT1 system, assuming that the LibA parameters of K<sub>m</sub> and V<sub>max</sub> are accurate for our system, we see that at a NAT1 concentration of 10 picomol, that the system hits a maximum 3,4-DCA concentration of less than a third of the initial Linuron concentration. For all concentrations above 10 picomol of NAT1, the system can easily handle large concentrations of Linuron and NAT1. Even in the case of the unreasonable rates of influx, 1 picomol of NAT1 resulted in a steady state concentration of Linuron and 3,4-DCA, around a third of the original concentration, and was well under a third for reasonable rates of influx.</p>
 +
<p>This implies that depending on the particular application, the promoter for NAT1 could be adjusted in order to hit the required 3,4-DCA and Linuron tolerance. Specifically, this demonstrates that our system is not only practical and efficient, but easily extendible to extremely sensitive rhizobia. Unfortunately, the stochastic models provided little insight into the mechanisms of this system since the system is too simple.</p>
 +
<h3 id="puhb-nat1">PuhB-NAT1</h3>
 +
<p>This system was considered because it provided a way to analyze the system under different PuhB concentrations since the $k_{cat}$ value for PuhB with respect to Linuron were found in the literature. From this, we see that the maximum concentration of 3,4-DCA and Linuron can be adjusted to arbitrary ranges depending on the particular application. In particular, we see that even in the case of $1$ picomol of NAT1, if there are 0.01 picomols of PuhB the system will be able to process Linuron rather effectively given a constant amount of Linuron. In the case of influx however, if there is a large influx of Linuron, the PuhB concentration and NAT1 must be increased in order to maintain a steady state concentration of Linuron and 3,4-DCA such that the rhizobia does not die. In the cases of smaller influxes, it appears that the system is relatively stable and efficient at around 0.01 picomols of PuhB and $10$ picomols of NAT1. </p>
 +
 +
<h3>References</h3>
 +
<ul>
 +
<li>[1] Owsianiak, M., Dechesne, A., Binning, P. J., Chambon, J. C., Sørensen, S. R., &amp; Smets, B. F. (2010). Evaluation of Bioaugmentation with Entrapped Degrading Cells as a Soil Remediation Technology. Environmental Science &amp; Technology, 44(19), 7622–7627. doi: 10.1021/es101160u</li>
 +
<li>[2] Grime, J. M. A., Edwards, M. A., Rudd, N. C., &amp; Unwin, P. R. (2008). Quantitative visualization of passive transport across bilayer lipid membranes. Proceedings of the National Academy of Sciences, 105(38), 14277–14282. doi: 10.1073/pnas.0803720105</li>
 +
<li>[3] Zakharov, P. E. (2018). The FEniCS project. Spark. doi: 10.1515/spark.18.13</li>
 +
<li>[4] Bers, K., Leroy, B., Breugelmans, P., Albers, P., Lavigne, R., Sørensen, S. R., ... Springael, D. (2011). A Novel Hydrolase Identified by Genomic-Proteomic Analysis of Phenylurea Herbicide Mineralization by Variovorax sp. Strain SRS16. Applied and Environmental Microbiology, 77(24), 8754–8764. doi: 10.1128/aem.06162-11</li>
 +
<li>[5] Rodrigues-Lima, Fernando & Dairou, Julien & Diaz, Clara & Rubio, Maria & Sim, Edith & Spaink, Herman & Dupret, Jean-Marie. (2006). Cloning, functional expression and characterization of Mesorhizobium loti arylamine N-acetyltransferases: Rhizobial symbiosis supplies leguminous plants with the xenobiotic N-acetylation pathway. Molecular microbiology. 60. 505-12. 10.1111/j.1365-2958.2006.05114.x. </li>
 +
</ul>
 +
</div>
 
</div>
 
</div>
 
</section>
 
</section>
Line 154: Line 3,024:
 
</div>
 
</div>
 
</footer>
 
</footer>
 +
 +
<!-- Scripts -->
 +
<script src="assets/js/uwaterloo-jquery.min.js"></script>
 +
<script src="assets/js/uwaterloo-browser.min.js"></script>
 +
<script src="assets/js/uwaterloo-breakpoints.min.js"></script>
 +
<script src="assets/js/uwaterloo-util.js"></script>
 +
<script src="assets/js/uwaterloo-main.js"></script>
 +
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
 +
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
 
</body>
 
</body>
        <script type="text/javascript" src="https://2019.igem.org/wiki/index.php?title=Template:Waterloo/JS&action=raw&ctype=text/javascript"></script>
 
 
</html>
 
</html>

Revision as of 02:48, 18 October 2019

iGEM UWaterloo 2019 - Model

Mathematics and Modeling

Environmental Model

An important goal of our project is to determine whether, in the viscinity of a root nodule, the Linuron concentration is significant enough to damage the Rhizosphere and inhibit nodule growth as plants continue to develop.

In order to model this, we introduce a diffusion-reaction-advection model, which is a standard method in environmental engineering practices. As a consequence of this we are able to develop heuristics for whether Linuron and 3,4-DCA runoff is significant in addition to the original purpose of the model. The model is compared to a similar model by Owsianiak et al [1] for Linuron degradation in bioaugmentation beads. The paper by Owsianiak relied on the use of Variovorax sp. [4], which is one of the species responsible for our system - as such we credit many of our parameters to them.

Insert Video

Introducing the Model

As partial differential equation models are quite rare in the world of iGEM, we will introduce this model from the ground up. The first component of the model is Fick's Law.

$$ C = [\textrm{Linuron}] $$

$$ D = \textrm{diag}(D_x,D_y,D_z) $$

$$ \nabla\cdot(D\nabla C) = \frac{\partial C}{\partial t} $$

The object D is called the diffusion matrix, which determines the speed of diffusion in different directions. Next, we add an advection term in order to model the movement of Linuron being carried by water.

$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t}$$

This advection term relies on the hydraulic head, which is a measure of water pressure in the soil. However, water tends to flow around the root nodules, so Linuron transport is diffusion-dominated inside the nodule. Therefore we must use the Navier-Stokes equation in order to find the advection velocity. In order to model degradation, we couple this with our kinetic model to find the following coupled system of PDEs.

$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t} + \chi_n \frac{V_{max}C}{K_m-C} $$

$$ \varrho \left( \frac{\partial v_e}{\partial t} - v_e \cdot \nabla v_e \right) = \nabla \cdot \sigma(v_e,p)+f $$ $$ \nabla \cdot v_e = 0 $$

Assumptions

In the above model, we are assuming an averaged rate of water intake - this is necessary due to the difficulties with rain models. One can see that this assumption should produce a reasonable approximation since the timescale we are working with is over weeks to months, whereas the rate of rainfall is on the order of days.

We also needed to verify that the rate of water transport into the nodule tissue is not limited by physiological factors such as membrane transport. In order to do this, we used the Octanol-Water partition coefficient in order to predict the rate of membrane transport using Overton's Rule [2]:

$$ P=\frac{K_{ow}D}{\ell} $$

From this we found that the transport of Linuron into plant cells is not membrane-transport limited. In addition, the paper [1] found that background degradation of Linuron by the same pathway is negligible compared to degradation by Variovorax sp., as such we ignore it in the model.

Numerical Methods

In order to solve this model we first convert the system into variational form. The Navier-Stokes terms are solved by a midpoint discretization method called Chorin's Method, while the remainder is just solved using the backwards Euler method. The following equations are obtained by integrating the above PDEs and applying integration by parts.

$$\int_\Omega \frac{\partial C}{\partial t} w d\tau = \int_\Omega \left[\nabla \cdot (D \nabla C)w - w v_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau =$$

$$\int_\Omega \left[(-\nabla C)^T D^T \nabla w -wv_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau + \int_{\partial \Omega} w( \nabla C)\cdot d \vec{s}$$

We then write these equations into python using the framework FeNiCS [3], which is a free library for solving PDEs using the Finite Element Method. Teams interested in using PDE solvers for their iGEM project should consider FeNiCS as a good alternative to expensive or large-scale programs. Using ParaView one can export animations and data from pythons' results. We also used the python library meshio in order to convert meshes generated by Gmsh into a format compatible with FeNiCS. As a note to iGEM teams in the future considering PDE transport models, your discretization must meet the Courant-Freidrichs-Lewy (CFL) condition in order to be stable.

LibA-NAT1 Pathway

The following is our reaction of interest. $$\text{H}2\text{O} + \text{Linuron} \longrightarrow \text{N,O-dimethylhydroxylamine} + \text{CO}_2 + \text{3,4-dichloroaniline.}$$ It is known that purified LibA is a monomeric linuron hydrolase of ∼55 kDa with a Km and a Vmax for linuron of 5.8 μM and 0.16 nmol per minute for Variovorax sp. with an unknown enzyme concentration, respectively [4].

The second step in the reaction involving NAT1 is characterized in Rodrigues-Lima [5]. The rate for 3,4-dichloroaniline degradation with NAT1 is computed to be 68 &plusmn 8 nmol. per min. per mg. of enzyme. In addition, the ratio of Km to Vmax is estimated to be 0.005 per minute for the NAT-dependent pathway for biotransformation of 3,4-DCA within Mesorhizobium loti.

This ratio does not give us enough information for our reaction network. This is why we will (for the time being) assume a constant concentration of NAT1.

Computations

We will first load the relevant Julia packages

using DiffEqBiological;
using DifferentialEquations;
using Plots;
using Latexify;

We will now construct our reaction network.

rs = @reaction_network begin
mm(DCA,V_max_LibA,K_m_LibA), Ln → DCA # Linuron to DCA reaction through LibA, irrelevant molecules are ignored, see below.
rate_NAT1, DCA → DCAA # NAT1 reaction, irrelevant molecules are ignored see below
end V_max_LibA K_m_LibA rate_NAT1

The mm(X,v,K) function is DiffEqBiological's Hill function. The first argument encodes the substrate in question and V, K are the paramters for the Hill function. Although LibA also needs water, for the purpose of modelling, it is safe to ignore it because it is relatively infinite. With the model eventually shwon on the wiki, the water concentration will be shown and taken into account but it is not necessary at this stage (the qualitative and even maybe quantitative differences in the solutions for not including all of the reactatns and products are going to be minimal since not including them is essentially the same as asssuming that we will never have to worry about or measure their concentrations). The same goes for the NAT1. When we start considering varying enzyme concentrations due to the expression of the enxymes, this will come back to bite us but it is not a problem for now. The differential equations are:

$$ \frac{dLn}{dt} = - \frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA} \cdot Ln $$ $$ \frac{dDCA}{dt} = \frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA} \cdot Ln - rate_{NAT1} \cdot DCA $$ $$ \frac{dDCAA}{dt} = rate_{NAT1} \cdot DCA $$

A little less useful but I still think its cool that we can do this. It'll become important in other modelling. The following is the chemical reaction network.

$$ Ln \to DCA \hspace{1em} \left[\frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA}\right] $$ $$DCA \to DCAA \hspace{1em} \left[[rate_{NAT1}]\right]$$

From above, we have these parameters.

V_max_LibA = 0.16;# nmol per min.
K_m_LibA = 5800.;  # nmol
NAT1_rate_per_mg = 68.;   # nmol per min. per mg.
NAT1_conc = 0.01;# arbitrarily set to 10 ng for now, not sure how valid it is.
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;

p_10 = (V_max_LibA, K_m_LibA, rate_NAT1);

We now assume that there is 622000000 nmol of Linuron per plate (due to a calculation by Nicki), which is why we safely assumed that there is approximate 10 ng of NAT1 (again, ballpark). In addition, the solvers require that there is a non-zero amount of DCA and DCAA already present so we set the initial conditions as follows:

u0 = [622000000., 0.001, 0.001];
tspan = (0., 10.);

We will now setup the problem, solve it, and plot the solutions.

prob_10 = ODEProblem(rs, u0, tspan, p_10);
sol_10 = solve(prob_10, DynamicSS(Tsit5()));
plot(sol_10)

svg

We see that if we assume we have 100 ng, the DCA concentration drops to much lower.

NAT1_conc = 0.1;# 100 ng now
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;

p_100 = (V_max_LibA, K_m_LibA, rate_NAT1);

prob_100 = ODEProblem(rs, u0, tspan, p_100);
sol_100 = solve(prob_100, DynamicSS(Tsit5()));

plot(sol_100)

svg

Going up one more order, we see that it drops to essentially zero.

NAT1_conc = 1.;# 1 mg now
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;

p_1000 = (V_max_LibA, K_m_LibA, rate_NAT1);

prob_1000 = ODEProblem(rs, u0, tspan, p_1000);
sol_1000 = solve(prob_1000, DynamicSS(Tsit5()));

plot(sol_1000)

svg

Since the Hill function only models substrate concentration against reaction rates, the enzyme concentration is not being modelled quantitatively (thereby assumed to be infinite). We can easily modify the above to take into account varying enzyme concentrations. In the case of the NAT1 enzyme, this directly corresponds to varying NAT1_conc which is easy since Julia allows you to define your own function for the reaction parameters which would in our case be varying over time against another "HIll-ish" function or one that better approximates gene expression. In the case of LibA, incorporating varying concentrations of LibA is done by moving away from the Hill function into a form such as for NAT1 (using the paramters to derive new ones and if its not possible, measuring them/finding them in literature) and then repeating what we did for NAT1 for LibA.

Now if we start to consider both enzymes (LibA and NAT1) under the same promoter, we see that both will be generated at the same rate. We can choose to model both the mRNA and protein production and decay but we do not have rates for this so we're just gonna use the quasi-steady state approximation. This changes our reaction network to

rss = @reaction_network begin
r_1, ∅ → NAT1 + libA
r_2, NAT1 → ∅
r_3, libA → ∅
mm(DCA, V_max_LibA,K_m_LibA), Ln + libA → DCA + libA # Linuron to DCA reaction through LibA, irrelevant molecules are ignored, see below
rate_NAT1*NAT1, DCA → DCAA # NAT1 reaction, irrelevant molecules are ignored see below
end r_1 r_2 r_3 V_max_LibA K_m_LibA rate_NAT1

Conclusions

LibA-NAT1

For the LibA-NAT1 system, assuming that the LibA parameters of Km and Vmax are accurate for our system, we see that at a NAT1 concentration of 10 picomol, that the system hits a maximum 3,4-DCA concentration of less than a third of the initial Linuron concentration. For all concentrations above 10 picomol of NAT1, the system can easily handle large concentrations of Linuron and NAT1. Even in the case of the unreasonable rates of influx, 1 picomol of NAT1 resulted in a steady state concentration of Linuron and 3,4-DCA, around a third of the original concentration, and was well under a third for reasonable rates of influx.

This implies that depending on the particular application, the promoter for NAT1 could be adjusted in order to hit the required 3,4-DCA and Linuron tolerance. Specifically, this demonstrates that our system is not only practical and efficient, but easily extendible to extremely sensitive rhizobia. Unfortunately, the stochastic models provided little insight into the mechanisms of this system since the system is too simple.

PuhB-NAT1

This system was considered because it provided a way to analyze the system under different PuhB concentrations since the $k_{cat}$ value for PuhB with respect to Linuron were found in the literature. From this, we see that the maximum concentration of 3,4-DCA and Linuron can be adjusted to arbitrary ranges depending on the particular application. In particular, we see that even in the case of $1$ picomol of NAT1, if there are 0.01 picomols of PuhB the system will be able to process Linuron rather effectively given a constant amount of Linuron. In the case of influx however, if there is a large influx of Linuron, the PuhB concentration and NAT1 must be increased in order to maintain a steady state concentration of Linuron and 3,4-DCA such that the rhizobia does not die. In the cases of smaller influxes, it appears that the system is relatively stable and efficient at around 0.01 picomols of PuhB and $10$ picomols of NAT1.

References

  • [1] Owsianiak, M., Dechesne, A., Binning, P. J., Chambon, J. C., Sørensen, S. R., & Smets, B. F. (2010). Evaluation of Bioaugmentation with Entrapped Degrading Cells as a Soil Remediation Technology. Environmental Science & Technology, 44(19), 7622–7627. doi: 10.1021/es101160u
  • [2] Grime, J. M. A., Edwards, M. A., Rudd, N. C., & Unwin, P. R. (2008). Quantitative visualization of passive transport across bilayer lipid membranes. Proceedings of the National Academy of Sciences, 105(38), 14277–14282. doi: 10.1073/pnas.0803720105
  • [3] Zakharov, P. E. (2018). The FEniCS project. Spark. doi: 10.1515/spark.18.13
  • [4] Bers, K., Leroy, B., Breugelmans, P., Albers, P., Lavigne, R., Sørensen, S. R., ... Springael, D. (2011). A Novel Hydrolase Identified by Genomic-Proteomic Analysis of Phenylurea Herbicide Mineralization by Variovorax sp. Strain SRS16. Applied and Environmental Microbiology, 77(24), 8754–8764. doi: 10.1128/aem.06162-11
  • [5] Rodrigues-Lima, Fernando & Dairou, Julien & Diaz, Clara & Rubio, Maria & Sim, Edith & Spaink, Herman & Dupret, Jean-Marie. (2006). Cloning, functional expression and characterization of Mesorhizobium loti arylamine N-acetyltransferases: Rhizobial symbiosis supplies leguminous plants with the xenobiotic N-acetylation pathway. Molecular microbiology. 60. 505-12. 10.1111/j.1365-2958.2006.05114.x.