.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 20px;\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n background-color: @list-group-disabled-bg;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n color: @list-group-link-hover-color;\n text-decoration: none;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors\n\n//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0, 0, 0, .05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-right: @panel-body-padding;\n padding-left: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n border-bottom-left-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n margin-bottom: 0;\n border: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0); }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n background-clip: padding-box;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0, 0, 0, .5));\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n margin-left: 5px;\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0, 0, 0, .5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top {\n padding: @tooltip-arrow-width 0;\n margin-top: -3px;\n }\n &.right {\n padding: 0 @tooltip-arrow-width;\n margin-left: 3px;\n }\n &.bottom {\n padding: @tooltip-arrow-width 0;\n margin-top: 3px;\n }\n &.left {\n padding: 0 @tooltip-arrow-width;\n margin-left: -3px;\n }\n\n // Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n right: @tooltip-arrow-width;\n bottom: 0;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: 400;\n line-height: @line-height-base;\n line-break: auto;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0, 0, 0, .2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n\n // Arrows\n // .arrow is outer, .arrow:after is inner\n > .arrow {\n border-width: @popover-arrow-outer-width;\n\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n\n &:after {\n content: \"\";\n border-width: @popover-arrow-width;\n }\n }\n\n &.top > .arrow {\n bottom: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n border-bottom-width: 0;\n &:after {\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-color: @popover-arrow-color;\n border-bottom-width: 0;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n border-left-width: 0;\n &:after {\n bottom: -@popover-arrow-width;\n left: 1px;\n content: \" \";\n border-right-color: @popover-arrow-color;\n border-left-width: 0;\n }\n }\n &.bottom > .arrow {\n top: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n &:after {\n top: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n right: 1px;\n bottom: -@popover-arrow-width;\n content: \" \";\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n }\n }\n}\n\n.popover-title {\n padding: 8px 14px;\n margin: 0; // reset heading margin\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n","// stylelint-disable media-feature-name-no-unknown\n\n//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n\n > .item {\n position: relative;\n display: none;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~\"0.6s ease-in-out\");\n .backface-visibility(~\"hidden\");\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: @carousel-control-width;\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n .opacity(@carousel-control-opacity);\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .5); @end-color: rgba(0, 0, 0, .0001));\n }\n &.right {\n right: 0;\n left: auto;\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .0001); @end-color: rgba(0, 0, 0, .5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: @carousel-control-color;\n text-decoration: none;\n outline: 0;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n }\n\n .icon-prev {\n &:before {\n content: \"\\2039\";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: \"\\203a\";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0, 0, 0, 0); // IE9\n\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n }\n\n .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n display: table; // 2\n content: \" \"; // 1\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n","// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","// stylelint-disable declaration-no-important, at-rule-no-vendor-prefix\n\n//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width\n// Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/assets/css/lesson.css b/assets/css/lesson.css
new file mode 100644
index 00000000..cc3cccb6
--- /dev/null
+++ b/assets/css/lesson.css
@@ -0,0 +1,198 @@
+@charset "UTF-8";
+div[class^='language-'] { color: #360084; border: solid 1px #360084; border-left: solid 5px #360084; margin: 15px 5px 10px 0; border-radius: 4px 0 0 4px; }
+
+div.source { color: #360084; border: solid 1px #360084; border-left: solid 5px #360084; margin: 15px 5px 10px 0; border-radius: 4px 0 0 4px; }
+
+div.error { color: #bd2c00; border: solid 1px #bd2c00; border-left: solid 5px #bd2c00; margin: 15px 5px 10px 0; border-radius: 4px 0 0 4px; }
+
+div.warning { color: #cda01d; border: solid 1px #cda01d; border-left: solid 5px #cda01d; margin: 15px 5px 10px 0; border-radius: 4px 0 0 4px; }
+
+div.output { color: #303030; border: solid 1px #303030; border-left: solid 5px #303030; margin: 15px 5px 10px 0; border-radius: 4px 0 0 4px; }
+
+div.error::before, div.warning:before, div.output::before, div.source::before, div[class^='language-']::before { background-color: #f2eff6; display: block; font-weight: bold; padding: 5px 10px; }
+
+div[class^='language-']::before, div.source::before { content: "Code"; }
+
+div.error::before { background-color: #ffebe6; content: "Error"; }
+
+div.warning:before { background-color: #f8f4e8; content: " Warning"; }
+
+div.output::before { background-color: #efefef; content: "Output"; }
+
+div.language-bash::before { content: "Bash"; }
+
+div.language-c::before { content: "C"; }
+
+div.language-cmake::before { content: "CMake"; }
+
+div.language-cpp::before { content: "C++"; }
+
+div.language-html::before { content: "HTML"; }
+
+div.language-make::before { content: "Make"; }
+
+div.language-matlab::before { content: "MATLAB"; }
+
+div.language-python::before { content: "Python"; }
+
+div.language-r::before { content: "R"; }
+
+div.language-sql::before { content: "SQL"; }
+
+.tab-pane { border: solid 1px #ddd; border-top: none; padding: 20px 20px 10px 20px; border-radius: 0 0 4px 4px; }
+
+ul.nav.nav-tabs { background: #E1E1E1; border-radius: 4px 4px 0 0; }
+
+ul.nav.nav-tabs li a { line-height: 24px; }
+
+a { color: #204A6F; }
+
+.yt-wrapper2 { max-width: 100%; margin: 0 auto; }
+
+@media only screen and (max-width: 600px) { .yt-wrapper2 { max-width: 100%; } }
+
+.yt-wrapper { height: 0; margin-top: 10px; padding-bottom: 56.25%; position: relative; width: 100%; }
+
+.yt-frame { height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
+
+.callout { padding: 0 0 5px 5px; border: 1px solid; border-color: #f4fd9c; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.callout h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #f4fd9c, #f5fda6); border-color: #f4fd9c; margin-top: 0px; margin-left: -5px; }
+
+.callout h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.caution { padding: 0 0 5px 5px; border: 1px solid; border-color: #cf000e; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.caution h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #cf000e, #ed0010); border-color: #cf000e; margin-top: 0px; margin-left: -5px; }
+
+.caution h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.challenge { padding: 0 0 5px 5px; border: 1px solid; border-color: #eec275; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.challenge h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #eec275, #f0c883); border-color: #eec275; margin-top: 0px; margin-left: -5px; }
+
+.challenge h2:before { font-family: 'Glyphicons Halflings'; content: "✏"; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.checklist { padding: 0 0 5px 5px; border: 1px solid; border-color: #dfd2a0; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.checklist h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #dfd2a0, #e2d7aa); border-color: #dfd2a0; margin-top: 0px; margin-left: -5px; }
+
+.checklist h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.discussion { padding: 0 0 5px 5px; border: 1px solid; border-color: #eec275; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.discussion h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #eec275, #f0c883); border-color: #eec275; margin-top: 0px; margin-left: -5px; }
+
+.discussion h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.keypoints { padding: 0 0 5px 5px; border: 1px solid; border-color: #7ae78e; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.keypoints h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #7ae78e, #87e999); border-color: #7ae78e; margin-top: 0px; margin-left: -5px; }
+
+.keypoints h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.objectives { padding: 0 0 5px 5px; border: 1px solid; border-color: #daee84; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.objectives h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #daee84, #def090); border-color: #daee84; margin-top: 0px; margin-left: -5px; }
+
+.objectives h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.prereq { padding: 0 0 5px 5px; border: 1px solid; border-color: #9cd6dc; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.prereq h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #9cd6dc, #a6dae0); border-color: #9cd6dc; margin-top: 0px; margin-left: -5px; }
+
+.prereq h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.solution { padding: 0 0 5px 5px; border: 1px solid; border-color: #ded4b9; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.solution h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #ded4b9, #e1d8c0); border-color: #ded4b9; margin-top: 0px; margin-left: -5px; }
+
+.solution h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.testimonial { padding: 0 0 5px 5px; border: 1px solid; border-color: #fc8dc1; border-radius: 4px; margin: 15px 5px 10px 0; }
+
+.testimonial h2 { padding-top: 5px; padding-bottom: 5px; font-size: 20px; background: linear-gradient(to bottom, #fc8dc1, #fc98c7); border-color: #fc8dc1; margin-top: 0px; margin-left: -5px; }
+
+.testimonial h2:before { font-family: 'Glyphicons Halflings'; content: ""; float: left; padding-left: 5px; padding-right: 5px; display: inline-block; -webkit-font-smoothing: antialiased; }
+
+.callout h3, .challenge h3, .checklist h3, .discussion h3, .keypoints h3, .objectives h3, .prereq h3, .solution h3, .testimonial h3 { font-size: 18px; }
+
+.challenge { background-color: #eec27520; }
+
+.callout { background-color: #f4fd9c20; }
+
+.challenge { background-color: #eec27520; }
+
+.checklist { background-color: #dfd2a020; }
+
+.discussion { background-color: #eec27520; }
+
+.keypoints { background-color: #7ae78e20; }
+
+.objectives { background-color: #daee8420; }
+
+.prereq { background-color: #9cd6dc20; }
+
+.solution { background-color: #ded4b94d; }
+
+.testimonial { background-color: #fc8dc120; }
+
+blockquote p { margin: 5px; }
+
+blockquote :not(h2) + p { padding-top: 1em; }
+
+blockquote { font-size: inherit; }
+
+a code { color: #006cad; }
+
+a:link { color: #196EBD; }
+
+a:active, a:hover { outline: 0; text-decoration: underline; }
+
+a:visited { color: #1AA4DA; }
+
+code { white-space: nowrap; padding: 2px 5px; color: #24292e; background-color: #e7e7e7; }
+
+samp { hyphens: none; }
+
+dt { margin-top: 20px; }
+
+dd { margin-left: 2em; }
+
+article img { display: block; margin: 20px auto; max-width: 100%; }
+
+article h2 { margin: 48px 0 16px; border-bottom: solid 1px #eaecef; padding-bottom: 0.3em; line-height: 1.25; }
+
+article h3 { margin: 40px 0 16px; }
+
+article pre { margin: 0; border: 0; }
+
+.figures h2 { margin-top: 100px; }
+
+.maintitle { text-align: center; }
+
+.footertext { text-align: center; }
+
+footer .license, footer .help-links { font-size: inherit; margin-top: 10px; margin-bottom: 10px; font-weight: 500; line-height: 1.1; }
+
+img.navbar-logo { height: 40px; padding-top: 5px; padding-right: 10px; }
+
+div.branding { color: #2b3990; }
+
+ul, ol { padding-left: 2em; }
+
+span.fold-unfold { margin-left: 1em; opacity: 0.5; }
+
+div.life-cycle { position: -webkit-sticky; /* Safari */ position: sticky; top: 0; z-index: 100; font-size: 1.2em; text-align: center; margin-bottom: -1px; border-radius: 0; }
+
+.pre-alpha { color: #a94442; background: #f2dede; }
+
+.alpha { color: #8a6d3b; background: #fcf8e3; }
+
+.beta { color: #31708f; background: #d9edf7; }
+
+pre.highlight span.err { border: none; }
+
+kbd { display: inline-block; margin: 0 .1em; padding: .1em .6em; font-family: Arial,"Helvetica Neue",Helvetica,sans-serif; font-size: 11px; line-height: 1.4; color: #242729; text-shadow: 0 1px 0 #FFF; background-color: #e1e3e5; border: 1px solid #adb3b9; border-radius: 3px; box-shadow: 0 1px 0 rgba(12, 13, 14, 0.2), 0 0 0 2px #FFF inset; white-space: nowrap; font-style: normal; }
+
+/*# sourceMappingURL=lesson.css.map */
\ No newline at end of file
diff --git a/assets/css/lesson.css.map b/assets/css/lesson.css.map
new file mode 100644
index 00000000..5754187a
--- /dev/null
+++ b/assets/css/lesson.css.map
@@ -0,0 +1,12 @@
+{
+ "version": 3,
+ "file": "lesson.css",
+ "sources": [
+ "lesson.scss"
+ ],
+ "sourcesContent": [
+ "//----------------------------------------\n// Colors.\n//----------------------------------------\n\n// branding\n$color-brand: #2b3990 !default;\n\n// code boxes\n$color-error: #bd2c00 !default;\n$color-warning: #cda01d !default;\n$color-output: #303030 !default;\n$color-source: #360084 !default;\n\n// blockquotes\n$color-callout: #f4fd9c !default;\n$color-caution: #cf000e !default;\n$color-challenge: #eec275 !default;\n$color-checklist: #dfd2a0 !default;\n$color-discussion: #eec275 !default;\n$color-keypoints: #7ae78e !default;\n$color-objectives: #daee84 !default;\n$color-prereq: #9cd6dc !default;\n$color-solution: #ded4b9 !default;\n$color-testimonial: #fc8dc1 !default;\n\n//----------------------------------------\n// Specialized code blocks.\n//----------------------------------------\n\n@mixin cdSetup($color) {\n color: $color;\n border: solid 1px $color;\n border-left: solid 5px $color;\n margin: 15px 5px 10px 0;\n border-radius: 4px 0 0 4px;\n}\n\n// Generic setup. Has to come before .error, .warning, and .output\ndiv[class^='language-'] { @include cdSetup($color-source); }\n\ndiv.source { @include cdSetup($color-source); }\ndiv.error { @include cdSetup($color-error); }\ndiv.warning { @include cdSetup($color-warning); }\ndiv.output { @include cdSetup($color-output); }\n\ndiv.error::before,\ndiv.warning:before,\ndiv.output::before,\ndiv.source::before,\ndiv[class^='language-']::before {\n background-color: #f2eff6;\n display: block;\n font-weight: bold;\n padding: 5px 10px;\n}\n\ndiv[class^='language-']::before,\ndiv.source::before { content: \"Code\"; }\n\ndiv.error::before { background-color: #ffebe6; content: \"Error\"; }\ndiv.warning:before { background-color: #f8f4e8; content:\" Warning\"; }\ndiv.output::before { background-color: #efefef; content: \"Output\"; }\n\ndiv.language-bash::before { content: \"Bash\"; }\ndiv.language-c::before { content: \"C\"; }\ndiv.language-cmake::before { content: \"CMake\"; }\ndiv.language-cpp::before { content: \"C++\"; }\ndiv.language-html::before { content: \"HTML\"; }\ndiv.language-make::before { content: \"Make\"; }\ndiv.language-matlab::before { content: \"MATLAB\"; }\ndiv.language-python::before { content: \"Python\"; }\ndiv.language-r::before { content: \"R\"; }\ndiv.language-sql::before { content: \"SQL\"; }\n\n// Tab panels are used on Setup pages to show instructions for different Operating Systems\n.tab-pane {\n border: solid 1px #ddd; // #ddd == @nav-tabs-active-link-hover-border-color\n border-top: none;\n padding: 20px 20px 10px 20px;\n border-radius: 0 0 4px 4px; // 4px == @border-radius-base\n}\n\n// Stripe above tab panels where OS tabs are shown\nul.nav.nav-tabs {\n background: #E1E1E1;\n border-radius: 4px 4px 0 0; // 4px == @border-radius-base\n}\n\n// adjust line height of links so that clickable area (of OS tabs) is 44px high\nul.nav.nav-tabs li a { line-height: 24px; } // or 1.714285716\n\n// This color provides better contrast ratio on most backgrounds used on Carpentries websites\n// 9.24 on FFFFFF: https://webaim.org/resources/contrastchecker/?fcolor=204A6F&bcolor=FFFFFF&api (body)\n// 8.78 on F9F9F9: https://webaim.org/resources/contrastchecker/?fcolor=204A6F&bcolor=F9F9F9&api (tables)\n// 7.07 on E1E1E1: https://webaim.org/resources/contrastchecker/?fcolor=204A6F&bcolor=E1E1E1&api (tab panels)\na { color: #204A6F; }\n\n// .yt-wrapper2 can be used for limiting maximum width of YouTube iframes only\n.yt-wrapper2 { max-width: 100%; margin: 0 auto; }\n\n// Use full width on small displays\n@media only screen and (max-width: 600px) { .yt-wrapper2 { max-width: 100%; } }\n\n.yt-wrapper {\n height: 0;\n margin-top: 10px;\n padding-bottom: 56.25%;\n position: relative;\n width: 100%;\n}\n\n.yt-frame {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n//----------------------------------------\n// Specialized blockquote environments for learning objectives, callouts, etc.\n//----------------------------------------\n\n$codeblock-padding: 5px !default;\n\n@mixin bkSetup($color, $glyph) {\n\n $gradientcolor1: $color;\n $gradientcolor2: scale-color($color, $lightness: 10%);\n\n padding: 0 0 $codeblock-padding $codeblock-padding;\n border: 1px solid;\n border-color: $color;\n border-radius: 4px;\n\n margin: 15px 5px 10px 0;\n\n h2 {\n padding-top: $codeblock-padding;\n padding-bottom: $codeblock-padding;\n font-size: 20px;\n background: linear-gradient(to bottom, $gradientcolor1, $gradientcolor2);\n border-color: $color;\n margin-top: 0px;\n margin-left: -$codeblock-padding; // to move back to the left margin of the enclosing blockquote\n }\n h2:before {\n font-family: 'Glyphicons Halflings';\n content: $glyph;\n float: left;\n padding-left: $codeblock-padding;\n padding-right: $codeblock-padding;\n display: inline-block;\n -webkit-font-smoothing: antialiased;\n }\n\n}\n\n.callout{ @include bkSetup($color-callout, \"\\e146\"); }\n.caution{ @include bkSetup($color-caution, \"\\e107\"); }\n.challenge{ @include bkSetup($color-challenge, \"\\270f\"); }\n.checklist{ @include bkSetup($color-checklist, \"\\e067\"); }\n.discussion{ @include bkSetup($color-discussion, \"\\e123\"); }\n.keypoints{ @include bkSetup($color-keypoints, \"\\e101\"); }\n.objectives{ @include bkSetup($color-objectives, \"\\e085\"); }\n.prereq{ @include bkSetup($color-prereq, \"\\e124\"); }\n.solution{ @include bkSetup($color-solution, \"\\e105\"); }\n.testimonial{ @include bkSetup($color-testimonial, \"\\e143\"); }\n\n.callout h3,\n.challenge h3,\n.checklist h3,\n.discussion h3,\n.keypoints h3,\n.objectives h3,\n.prereq h3,\n.solution h3,\n.testimonial h3 {\nfont-size: 18px;\n}\n\n.challenge { background-color: #eec27520; }\n.callout { background-color: #f4fd9c20; }\n.challenge { background-color: #eec27520; }\n.checklist { background-color: #dfd2a020; }\n.discussion { background-color: #eec27520; }\n.keypoints { background-color: #7ae78e20; }\n.objectives { background-color: #daee8420; }\n.prereq { background-color: #9cd6dc20; }\n.solution { background-color: #ded4b94d; }\n.testimonial { background-color: #fc8dc120; }\n\nblockquote p {\n margin: 5px;\n}\nblockquote :not(h2) + p {\n padding-top: 1em;\n}\n\n//----------------------------------------\n// Override Bootstrap settings.\n//----------------------------------------\n\nblockquote { font-size: inherit; }\n\na code {\n color: #006cad;\n}\n\na:link {\n color: #196EBD;\n}\n\na:active,\na:hover {\n outline: 0;\n text-decoration: underline;\n}\n\na:visited {\n color: #1AA4DA;\n}\n\ncode {\n white-space: nowrap;\n padding: 2px 5px;\n color: #24292e;\n background-color: #e7e7e7;\n}\n\nsamp { hyphens: none; }\n\ndt { margin-top: 20px; }\ndd { margin-left: 2em; }\n\narticle img {\n display: block;\n margin: 20px auto;\n max-width: 100%;\n}\n\narticle h2 {\n margin: 48px 0 16px;\n border-bottom: solid 1px #eaecef;\n padding-bottom: 0.3em;\n line-height: 1.25;\n}\n\narticle h3 { margin: 40px 0 16px; }\n\narticle pre {\n margin: 0;\n border: 0;\n}\n\n//----------------------------------------\n// Miscellaneous.\n//----------------------------------------\n\n.figures h2 { margin-top: 100px; }\n\n.maintitle {\n text-align: center;\n}\n\n.footertext {\n text-align: center;\n}\n\nfooter .license,\nfooter .help-links\n{\n font-size: inherit;\n margin-top: 10px;\n margin-bottom: 10px;\n font-weight: 500;\n line-height: 1.1;\n}\n\nimg.navbar-logo {\n height: 40px; // synchronize with height of navbar\n padding-top: 5px;\n padding-right: 10px;\n}\n\n\ndiv.branding {\n color: $color-brand;\n}\n\nul,\nol {\n padding-left: 2em;\n}\n\nspan.fold-unfold {\n margin-left: 1em;\n opacity: 0.5;\n}\n\n\n//----------------------------------------\n// Life cycle box\n//----------------------------------------\n\ndiv.life-cycle {\n position: -webkit-sticky; /* Safari */\n position: sticky;\n top: 0;\n z-index: 100;\n font-size: 1.2em;\n text-align: center;\n margin-bottom: -1px;\n border-radius: 0;\n}\n\n.pre-alpha {\n color: #a94442;\n background: #f2dede;\n}\n\n.alpha {\n color: #8a6d3b;\n background: #fcf8e3;\n}\n\n.beta {\n color: #31708f;\n background: #d9edf7;\n}\n\n// Remove border around spans of text within code blocks\n// that the highlighter (rouge) failed to recognize.\npre.highlight span.err {\n border: none;\n}\n\n\n//----------------------------------------\n// keyboard key style, from StackExchange.\n//----------------------------------------\n\nkbd {\n display: inline-block;\n margin: 0 .1em;\n padding: .1em .6em;\n font-family: Arial,\"Helvetica Neue\",Helvetica,sans-serif;\n font-size: 11px;\n line-height: 1.4;\n color: #242729;\n text-shadow: 0 1px 0 #FFF;\n background-color: #e1e3e5;\n border: 1px solid #adb3b9;\n border-radius: 3px;\n box-shadow: 0 1px 0 rgba(12,13,14,0.2), 0 0 0 2px #FFF inset;\n white-space: nowrap;\n font-style: normal;\n}\n"
+ ],
+ "names": [],
+ "mappings": "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"
+}
\ No newline at end of file
diff --git a/assets/css/syntax.css b/assets/css/syntax.css
new file mode 100644
index 00000000..83a7e979
--- /dev/null
+++ b/assets/css/syntax.css
@@ -0,0 +1,69 @@
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f8f8f8; }
+.highlight .c { color: #387d7d; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #008000; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .ch { color: #387d7d; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #387d7d; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
+.highlight .cpf { color: #387d7d; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #387d7d; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #387d7d; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #008000 } /* Keyword.Pseudo */
+.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #B00040 } /* Keyword.Type */
+.highlight .m { color: #666666 } /* Literal.Number */
+.highlight .s { color: #BA2121 } /* Literal.String */
+.highlight .na { color: #7D9029 } /* Name.Attribute */
+.highlight .nb { color: #008000 } /* Name.Builtin */
+.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.highlight .no { color: #880000 } /* Name.Constant */
+.highlight .nd { color: #AA22FF } /* Name.Decorator */
+.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0000FF } /* Name.Function */
+.highlight .nl { color: #A0A000 } /* Name.Label */
+.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #19177C } /* Name.Variable */
+.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #666666 } /* Literal.Number.Bin */
+.highlight .mf { color: #666666 } /* Literal.Number.Float */
+.highlight .mh { color: #666666 } /* Literal.Number.Hex */
+.highlight .mi { color: #666666 } /* Literal.Number.Integer */
+.highlight .mo { color: #666666 } /* Literal.Number.Oct */
+.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
+.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
+.highlight .sc { color: #BA2121 } /* Literal.String.Char */
+.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
+.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
+.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.highlight .sx { color: #008000 } /* Literal.String.Other */
+.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
+.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
+.highlight .ss { color: #19177C } /* Literal.String.Symbol */
+.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0000FF } /* Name.Function.Magic */
+.highlight .vc { color: #19177C } /* Name.Variable.Class */
+.highlight .vg { color: #19177C } /* Name.Variable.Global */
+.highlight .vi { color: #19177C } /* Name.Variable.Instance */
+.highlight .vm { color: #19177C } /* Name.Variable.Magic */
+.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
diff --git a/assets/favicons/cp/apple-touch-icon-114x114.png b/assets/favicons/cp/apple-touch-icon-114x114.png
new file mode 100644
index 00000000..a60b7581
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-114x114.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-120x120.png b/assets/favicons/cp/apple-touch-icon-120x120.png
new file mode 100644
index 00000000..8f20a8f1
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-120x120.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-144x144.png b/assets/favicons/cp/apple-touch-icon-144x144.png
new file mode 100644
index 00000000..4be151b1
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-144x144.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-152x152.png b/assets/favicons/cp/apple-touch-icon-152x152.png
new file mode 100644
index 00000000..7d1d9439
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-152x152.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-57x57.png b/assets/favicons/cp/apple-touch-icon-57x57.png
new file mode 100644
index 00000000..92309cef
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-57x57.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-60x60.png b/assets/favicons/cp/apple-touch-icon-60x60.png
new file mode 100644
index 00000000..de8148e5
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-60x60.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-72x72.png b/assets/favicons/cp/apple-touch-icon-72x72.png
new file mode 100644
index 00000000..81d7e3d8
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-72x72.png differ
diff --git a/assets/favicons/cp/apple-touch-icon-76x76.png b/assets/favicons/cp/apple-touch-icon-76x76.png
new file mode 100644
index 00000000..15bca5c7
Binary files /dev/null and b/assets/favicons/cp/apple-touch-icon-76x76.png differ
diff --git a/assets/favicons/cp/favicon-128.png b/assets/favicons/cp/favicon-128.png
new file mode 100644
index 00000000..e612cdc1
Binary files /dev/null and b/assets/favicons/cp/favicon-128.png differ
diff --git a/assets/favicons/cp/favicon-16x16.png b/assets/favicons/cp/favicon-16x16.png
new file mode 100644
index 00000000..65b33111
Binary files /dev/null and b/assets/favicons/cp/favicon-16x16.png differ
diff --git a/assets/favicons/cp/favicon-196x196.png b/assets/favicons/cp/favicon-196x196.png
new file mode 100644
index 00000000..0da938b2
Binary files /dev/null and b/assets/favicons/cp/favicon-196x196.png differ
diff --git a/assets/favicons/cp/favicon-32x32.png b/assets/favicons/cp/favicon-32x32.png
new file mode 100644
index 00000000..0c1442e3
Binary files /dev/null and b/assets/favicons/cp/favicon-32x32.png differ
diff --git a/assets/favicons/cp/favicon-96x96.png b/assets/favicons/cp/favicon-96x96.png
new file mode 100644
index 00000000..bed74ec8
Binary files /dev/null and b/assets/favicons/cp/favicon-96x96.png differ
diff --git a/assets/favicons/cp/favicon.ico b/assets/favicons/cp/favicon.ico
new file mode 100644
index 00000000..4f2f2f11
Binary files /dev/null and b/assets/favicons/cp/favicon.ico differ
diff --git a/assets/favicons/cp/mstile-144x144.png b/assets/favicons/cp/mstile-144x144.png
new file mode 100644
index 00000000..4be151b1
Binary files /dev/null and b/assets/favicons/cp/mstile-144x144.png differ
diff --git a/assets/favicons/cp/mstile-150x150.png b/assets/favicons/cp/mstile-150x150.png
new file mode 100644
index 00000000..bf7ad5e7
Binary files /dev/null and b/assets/favicons/cp/mstile-150x150.png differ
diff --git a/assets/favicons/cp/mstile-310x150.png b/assets/favicons/cp/mstile-310x150.png
new file mode 100644
index 00000000..6ac80484
Binary files /dev/null and b/assets/favicons/cp/mstile-310x150.png differ
diff --git a/assets/favicons/cp/mstile-310x310.png b/assets/favicons/cp/mstile-310x310.png
new file mode 100644
index 00000000..b7781475
Binary files /dev/null and b/assets/favicons/cp/mstile-310x310.png differ
diff --git a/assets/favicons/cp/mstile-70x70.png b/assets/favicons/cp/mstile-70x70.png
new file mode 100644
index 00000000..e612cdc1
Binary files /dev/null and b/assets/favicons/cp/mstile-70x70.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-114x114.png b/assets/favicons/dc/apple-touch-icon-114x114.png
new file mode 100644
index 00000000..edafbda1
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-114x114.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-120x120.png b/assets/favicons/dc/apple-touch-icon-120x120.png
new file mode 100644
index 00000000..ee145ec5
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-120x120.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-144x144.png b/assets/favicons/dc/apple-touch-icon-144x144.png
new file mode 100644
index 00000000..bf507014
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-144x144.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-152x152.png b/assets/favicons/dc/apple-touch-icon-152x152.png
new file mode 100644
index 00000000..bd596c81
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-152x152.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-57x57.png b/assets/favicons/dc/apple-touch-icon-57x57.png
new file mode 100644
index 00000000..61c15273
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-57x57.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-60x60.png b/assets/favicons/dc/apple-touch-icon-60x60.png
new file mode 100644
index 00000000..9daad363
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-60x60.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-72x72.png b/assets/favicons/dc/apple-touch-icon-72x72.png
new file mode 100644
index 00000000..2069520f
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-72x72.png differ
diff --git a/assets/favicons/dc/apple-touch-icon-76x76.png b/assets/favicons/dc/apple-touch-icon-76x76.png
new file mode 100644
index 00000000..3db01ca7
Binary files /dev/null and b/assets/favicons/dc/apple-touch-icon-76x76.png differ
diff --git a/assets/favicons/dc/favicon-128.png b/assets/favicons/dc/favicon-128.png
new file mode 100644
index 00000000..9e3de2a4
Binary files /dev/null and b/assets/favicons/dc/favicon-128.png differ
diff --git a/assets/favicons/dc/favicon-16x16.png b/assets/favicons/dc/favicon-16x16.png
new file mode 100644
index 00000000..4c9f9b8c
Binary files /dev/null and b/assets/favicons/dc/favicon-16x16.png differ
diff --git a/assets/favicons/dc/favicon-196x196.png b/assets/favicons/dc/favicon-196x196.png
new file mode 100644
index 00000000..588afc21
Binary files /dev/null and b/assets/favicons/dc/favicon-196x196.png differ
diff --git a/assets/favicons/dc/favicon-32x32.png b/assets/favicons/dc/favicon-32x32.png
new file mode 100644
index 00000000..9c2ecbfb
Binary files /dev/null and b/assets/favicons/dc/favicon-32x32.png differ
diff --git a/assets/favicons/dc/favicon-96x96.png b/assets/favicons/dc/favicon-96x96.png
new file mode 100644
index 00000000..ff13fc06
Binary files /dev/null and b/assets/favicons/dc/favicon-96x96.png differ
diff --git a/assets/favicons/dc/favicon.ico b/assets/favicons/dc/favicon.ico
new file mode 100644
index 00000000..e4715f32
Binary files /dev/null and b/assets/favicons/dc/favicon.ico differ
diff --git a/assets/favicons/dc/mstile-144x144.png b/assets/favicons/dc/mstile-144x144.png
new file mode 100644
index 00000000..bf507014
Binary files /dev/null and b/assets/favicons/dc/mstile-144x144.png differ
diff --git a/assets/favicons/dc/mstile-150x150.png b/assets/favicons/dc/mstile-150x150.png
new file mode 100644
index 00000000..c5844cca
Binary files /dev/null and b/assets/favicons/dc/mstile-150x150.png differ
diff --git a/assets/favicons/dc/mstile-310x150.png b/assets/favicons/dc/mstile-310x150.png
new file mode 100644
index 00000000..786813af
Binary files /dev/null and b/assets/favicons/dc/mstile-310x150.png differ
diff --git a/assets/favicons/dc/mstile-310x310.png b/assets/favicons/dc/mstile-310x310.png
new file mode 100644
index 00000000..9580653c
Binary files /dev/null and b/assets/favicons/dc/mstile-310x310.png differ
diff --git a/assets/favicons/dc/mstile-70x70.png b/assets/favicons/dc/mstile-70x70.png
new file mode 100644
index 00000000..9e3de2a4
Binary files /dev/null and b/assets/favicons/dc/mstile-70x70.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-114x114.png b/assets/favicons/ds/apple-touch-icon-114x114.png
new file mode 100644
index 00000000..1edfbd04
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-114x114.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-120x120.png b/assets/favicons/ds/apple-touch-icon-120x120.png
new file mode 100644
index 00000000..c76416c1
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-120x120.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-144x144.png b/assets/favicons/ds/apple-touch-icon-144x144.png
new file mode 100644
index 00000000..1f0278a3
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-144x144.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-152x152.png b/assets/favicons/ds/apple-touch-icon-152x152.png
new file mode 100644
index 00000000..fe34df6d
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-152x152.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-57x57.png b/assets/favicons/ds/apple-touch-icon-57x57.png
new file mode 100644
index 00000000..c99988fc
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-57x57.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-60x60.png b/assets/favicons/ds/apple-touch-icon-60x60.png
new file mode 100644
index 00000000..2e96008c
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-60x60.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-72x72.png b/assets/favicons/ds/apple-touch-icon-72x72.png
new file mode 100644
index 00000000..a4225626
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-72x72.png differ
diff --git a/assets/favicons/ds/apple-touch-icon-76x76.png b/assets/favicons/ds/apple-touch-icon-76x76.png
new file mode 100644
index 00000000..16a4ae5b
Binary files /dev/null and b/assets/favicons/ds/apple-touch-icon-76x76.png differ
diff --git a/assets/favicons/ds/favicon-128.png b/assets/favicons/ds/favicon-128.png
new file mode 100644
index 00000000..aecb17b4
Binary files /dev/null and b/assets/favicons/ds/favicon-128.png differ
diff --git a/assets/favicons/ds/favicon-16x16.png b/assets/favicons/ds/favicon-16x16.png
new file mode 100644
index 00000000..611f780d
Binary files /dev/null and b/assets/favicons/ds/favicon-16x16.png differ
diff --git a/assets/favicons/ds/favicon-196x196.png b/assets/favicons/ds/favicon-196x196.png
new file mode 100644
index 00000000..4fa404c4
Binary files /dev/null and b/assets/favicons/ds/favicon-196x196.png differ
diff --git a/assets/favicons/ds/favicon-32x32.png b/assets/favicons/ds/favicon-32x32.png
new file mode 100644
index 00000000..6a8082ba
Binary files /dev/null and b/assets/favicons/ds/favicon-32x32.png differ
diff --git a/assets/favicons/ds/favicon-96x96.png b/assets/favicons/ds/favicon-96x96.png
new file mode 100644
index 00000000..901125c2
Binary files /dev/null and b/assets/favicons/ds/favicon-96x96.png differ
diff --git a/assets/favicons/ds/favicon.ico b/assets/favicons/ds/favicon.ico
new file mode 100644
index 00000000..c2a3723b
Binary files /dev/null and b/assets/favicons/ds/favicon.ico differ
diff --git a/assets/favicons/ds/mstile-144x144.png b/assets/favicons/ds/mstile-144x144.png
new file mode 100644
index 00000000..1f0278a3
Binary files /dev/null and b/assets/favicons/ds/mstile-144x144.png differ
diff --git a/assets/favicons/ds/mstile-150x150.png b/assets/favicons/ds/mstile-150x150.png
new file mode 100644
index 00000000..92f0bf9a
Binary files /dev/null and b/assets/favicons/ds/mstile-150x150.png differ
diff --git a/assets/favicons/ds/mstile-310x150.png b/assets/favicons/ds/mstile-310x150.png
new file mode 100644
index 00000000..d3af0713
Binary files /dev/null and b/assets/favicons/ds/mstile-310x150.png differ
diff --git a/assets/favicons/ds/mstile-310x310.png b/assets/favicons/ds/mstile-310x310.png
new file mode 100644
index 00000000..3fe26736
Binary files /dev/null and b/assets/favicons/ds/mstile-310x310.png differ
diff --git a/assets/favicons/ds/mstile-70x70.png b/assets/favicons/ds/mstile-70x70.png
new file mode 100644
index 00000000..aecb17b4
Binary files /dev/null and b/assets/favicons/ds/mstile-70x70.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-114x114.png b/assets/favicons/lc/apple-touch-icon-114x114.png
new file mode 100644
index 00000000..6c83127c
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-114x114.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-120x120.png b/assets/favicons/lc/apple-touch-icon-120x120.png
new file mode 100644
index 00000000..8334648f
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-120x120.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-144x144.png b/assets/favicons/lc/apple-touch-icon-144x144.png
new file mode 100644
index 00000000..5f32151e
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-144x144.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-152x152.png b/assets/favicons/lc/apple-touch-icon-152x152.png
new file mode 100644
index 00000000..4e5c177c
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-152x152.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-57x57.png b/assets/favicons/lc/apple-touch-icon-57x57.png
new file mode 100644
index 00000000..61f9c9c7
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-57x57.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-60x60.png b/assets/favicons/lc/apple-touch-icon-60x60.png
new file mode 100644
index 00000000..ccb5ada1
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-60x60.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-72x72.png b/assets/favicons/lc/apple-touch-icon-72x72.png
new file mode 100644
index 00000000..517d459a
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-72x72.png differ
diff --git a/assets/favicons/lc/apple-touch-icon-76x76.png b/assets/favicons/lc/apple-touch-icon-76x76.png
new file mode 100644
index 00000000..17454b31
Binary files /dev/null and b/assets/favicons/lc/apple-touch-icon-76x76.png differ
diff --git a/assets/favicons/lc/favicon-128.png b/assets/favicons/lc/favicon-128.png
new file mode 100644
index 00000000..9d781c90
Binary files /dev/null and b/assets/favicons/lc/favicon-128.png differ
diff --git a/assets/favicons/lc/favicon-16x16.png b/assets/favicons/lc/favicon-16x16.png
new file mode 100644
index 00000000..3c20abcc
Binary files /dev/null and b/assets/favicons/lc/favicon-16x16.png differ
diff --git a/assets/favicons/lc/favicon-196x196.png b/assets/favicons/lc/favicon-196x196.png
new file mode 100644
index 00000000..46baaf8f
Binary files /dev/null and b/assets/favicons/lc/favicon-196x196.png differ
diff --git a/assets/favicons/lc/favicon-32x32.png b/assets/favicons/lc/favicon-32x32.png
new file mode 100644
index 00000000..ed6701ea
Binary files /dev/null and b/assets/favicons/lc/favicon-32x32.png differ
diff --git a/assets/favicons/lc/favicon-96x96.png b/assets/favicons/lc/favicon-96x96.png
new file mode 100644
index 00000000..bc468c73
Binary files /dev/null and b/assets/favicons/lc/favicon-96x96.png differ
diff --git a/assets/favicons/lc/favicon.ico b/assets/favicons/lc/favicon.ico
new file mode 100644
index 00000000..5c14e809
Binary files /dev/null and b/assets/favicons/lc/favicon.ico differ
diff --git a/assets/favicons/lc/mstile-144x144.png b/assets/favicons/lc/mstile-144x144.png
new file mode 100644
index 00000000..5f32151e
Binary files /dev/null and b/assets/favicons/lc/mstile-144x144.png differ
diff --git a/assets/favicons/lc/mstile-150x150.png b/assets/favicons/lc/mstile-150x150.png
new file mode 100644
index 00000000..924953a8
Binary files /dev/null and b/assets/favicons/lc/mstile-150x150.png differ
diff --git a/assets/favicons/lc/mstile-310x150.png b/assets/favicons/lc/mstile-310x150.png
new file mode 100644
index 00000000..e4dcda44
Binary files /dev/null and b/assets/favicons/lc/mstile-310x150.png differ
diff --git a/assets/favicons/lc/mstile-310x310.png b/assets/favicons/lc/mstile-310x310.png
new file mode 100644
index 00000000..a12c8763
Binary files /dev/null and b/assets/favicons/lc/mstile-310x310.png differ
diff --git a/assets/favicons/lc/mstile-70x70.png b/assets/favicons/lc/mstile-70x70.png
new file mode 100644
index 00000000..9d781c90
Binary files /dev/null and b/assets/favicons/lc/mstile-70x70.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-114x114.png b/assets/favicons/swc/apple-touch-icon-114x114.png
new file mode 100644
index 00000000..e5125f8c
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-114x114.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-120x120.png b/assets/favicons/swc/apple-touch-icon-120x120.png
new file mode 100644
index 00000000..0f97a0ae
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-120x120.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-144x144.png b/assets/favicons/swc/apple-touch-icon-144x144.png
new file mode 100644
index 00000000..7441446c
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-144x144.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-152x152.png b/assets/favicons/swc/apple-touch-icon-152x152.png
new file mode 100644
index 00000000..45cc338e
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-152x152.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-57x57.png b/assets/favicons/swc/apple-touch-icon-57x57.png
new file mode 100644
index 00000000..e180a4a3
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-57x57.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-60x60.png b/assets/favicons/swc/apple-touch-icon-60x60.png
new file mode 100644
index 00000000..c96fd6ce
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-60x60.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-72x72.png b/assets/favicons/swc/apple-touch-icon-72x72.png
new file mode 100644
index 00000000..aae014aa
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-72x72.png differ
diff --git a/assets/favicons/swc/apple-touch-icon-76x76.png b/assets/favicons/swc/apple-touch-icon-76x76.png
new file mode 100644
index 00000000..2167f94a
Binary files /dev/null and b/assets/favicons/swc/apple-touch-icon-76x76.png differ
diff --git a/assets/favicons/swc/favicon-128.png b/assets/favicons/swc/favicon-128.png
new file mode 100644
index 00000000..f61df620
Binary files /dev/null and b/assets/favicons/swc/favicon-128.png differ
diff --git a/assets/favicons/swc/favicon-16x16.png b/assets/favicons/swc/favicon-16x16.png
new file mode 100644
index 00000000..2d20a406
Binary files /dev/null and b/assets/favicons/swc/favicon-16x16.png differ
diff --git a/assets/favicons/swc/favicon-196x196.png b/assets/favicons/swc/favicon-196x196.png
new file mode 100644
index 00000000..2a20d3a6
Binary files /dev/null and b/assets/favicons/swc/favicon-196x196.png differ
diff --git a/assets/favicons/swc/favicon-32x32.png b/assets/favicons/swc/favicon-32x32.png
new file mode 100644
index 00000000..f622b73a
Binary files /dev/null and b/assets/favicons/swc/favicon-32x32.png differ
diff --git a/assets/favicons/swc/favicon-96x96.png b/assets/favicons/swc/favicon-96x96.png
new file mode 100644
index 00000000..5e57f66a
Binary files /dev/null and b/assets/favicons/swc/favicon-96x96.png differ
diff --git a/assets/favicons/swc/favicon.ico b/assets/favicons/swc/favicon.ico
new file mode 100644
index 00000000..f771790f
Binary files /dev/null and b/assets/favicons/swc/favicon.ico differ
diff --git a/assets/favicons/swc/mstile-144x144.png b/assets/favicons/swc/mstile-144x144.png
new file mode 100644
index 00000000..7441446c
Binary files /dev/null and b/assets/favicons/swc/mstile-144x144.png differ
diff --git a/assets/favicons/swc/mstile-150x150.png b/assets/favicons/swc/mstile-150x150.png
new file mode 100644
index 00000000..d1594bcb
Binary files /dev/null and b/assets/favicons/swc/mstile-150x150.png differ
diff --git a/assets/favicons/swc/mstile-310x150.png b/assets/favicons/swc/mstile-310x150.png
new file mode 100644
index 00000000..f7d58b2b
Binary files /dev/null and b/assets/favicons/swc/mstile-310x150.png differ
diff --git a/assets/favicons/swc/mstile-310x310.png b/assets/favicons/swc/mstile-310x310.png
new file mode 100644
index 00000000..b632b421
Binary files /dev/null and b/assets/favicons/swc/mstile-310x310.png differ
diff --git a/assets/favicons/swc/mstile-70x70.png b/assets/favicons/swc/mstile-70x70.png
new file mode 100644
index 00000000..f61df620
Binary files /dev/null and b/assets/favicons/swc/mstile-70x70.png differ
diff --git a/assets/fonts/glyphicons-halflings-regular.eot b/assets/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 00000000..b93a4953
Binary files /dev/null and b/assets/fonts/glyphicons-halflings-regular.eot differ
diff --git a/assets/fonts/glyphicons-halflings-regular.svg b/assets/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 00000000..94fb5490
--- /dev/null
+++ b/assets/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/fonts/glyphicons-halflings-regular.ttf b/assets/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 00000000..1413fc60
Binary files /dev/null and b/assets/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/assets/fonts/glyphicons-halflings-regular.woff b/assets/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 00000000..9e612858
Binary files /dev/null and b/assets/fonts/glyphicons-halflings-regular.woff differ
diff --git a/assets/fonts/glyphicons-halflings-regular.woff2 b/assets/fonts/glyphicons-halflings-regular.woff2
new file mode 100644
index 00000000..64539b54
Binary files /dev/null and b/assets/fonts/glyphicons-halflings-regular.woff2 differ
diff --git a/assets/img/code_refinery_logo.png b/assets/img/code_refinery_logo.png
new file mode 100644
index 00000000..0d17725d
Binary files /dev/null and b/assets/img/code_refinery_logo.png differ
diff --git a/assets/img/cp-logo-blue.svg b/assets/img/cp-logo-blue.svg
new file mode 100644
index 00000000..da70d40e
--- /dev/null
+++ b/assets/img/cp-logo-blue.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/img/dc-icon-black.svg b/assets/img/dc-icon-black.svg
new file mode 100644
index 00000000..0cef4ee3
--- /dev/null
+++ b/assets/img/dc-icon-black.svg
@@ -0,0 +1,74 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/dc-logo-black.svg b/assets/img/dc-logo-black.svg
new file mode 100644
index 00000000..0cef4ee3
--- /dev/null
+++ b/assets/img/dc-logo-black.svg
@@ -0,0 +1,74 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/escience-logo-rgb-black.svg b/assets/img/escience-logo-rgb-black.svg
new file mode 100644
index 00000000..51c53766
--- /dev/null
+++ b/assets/img/escience-logo-rgb-black.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/img/iknl_logo.png b/assets/img/iknl_logo.png
new file mode 100644
index 00000000..705851ef
Binary files /dev/null and b/assets/img/iknl_logo.png differ
diff --git a/assets/img/incubator-logo-blue.svg b/assets/img/incubator-logo-blue.svg
new file mode 100644
index 00000000..ef31873d
--- /dev/null
+++ b/assets/img/incubator-logo-blue.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/lc-icon-black.png b/assets/img/lc-icon-black.png
new file mode 100644
index 00000000..5e3d9fe1
Binary files /dev/null and b/assets/img/lc-icon-black.png differ
diff --git a/assets/img/lc-icon-black.svg b/assets/img/lc-icon-black.svg
new file mode 100644
index 00000000..d2b5d16a
--- /dev/null
+++ b/assets/img/lc-icon-black.svg
@@ -0,0 +1,184 @@
+
+
+
+
image/svg+xml
\ No newline at end of file
diff --git a/assets/img/lc-logo-black.png b/assets/img/lc-logo-black.png
new file mode 100644
index 00000000..5e3d9fe1
Binary files /dev/null and b/assets/img/lc-logo-black.png differ
diff --git a/assets/img/lc-logo-black.svg b/assets/img/lc-logo-black.svg
new file mode 100644
index 00000000..3adf6066
--- /dev/null
+++ b/assets/img/lc-logo-black.svg
@@ -0,0 +1,180 @@
+
+
+
+
image/svg+xml
\ No newline at end of file
diff --git a/assets/img/netherlands-escience-center-logo-RGB.svg b/assets/img/netherlands-escience-center-logo-RGB.svg
new file mode 100644
index 00000000..0b6822b0
--- /dev/null
+++ b/assets/img/netherlands-escience-center-logo-RGB.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/img/swc-icon-blue.svg b/assets/img/swc-icon-blue.svg
new file mode 100644
index 00000000..c60af9c8
--- /dev/null
+++ b/assets/img/swc-icon-blue.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/swc-logo-blue.png b/assets/img/swc-logo-blue.png
new file mode 100644
index 00000000..ec4f1fe7
Binary files /dev/null and b/assets/img/swc-logo-blue.png differ
diff --git a/assets/img/swc-logo-blue.svg b/assets/img/swc-logo-blue.svg
new file mode 100644
index 00000000..4a0fa227
--- /dev/null
+++ b/assets/img/swc-logo-blue.svg
@@ -0,0 +1,114 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/swc-logo-white.png b/assets/img/swc-logo-white.png
new file mode 100644
index 00000000..208053bd
Binary files /dev/null and b/assets/img/swc-logo-white.png differ
diff --git a/assets/img/swc-logo-white.svg b/assets/img/swc-logo-white.svg
new file mode 100644
index 00000000..1a7f7ad0
--- /dev/null
+++ b/assets/img/swc-logo-white.svg
@@ -0,0 +1,114 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/js/bootstrap.min.js b/assets/js/bootstrap.min.js
new file mode 100644
index 00000000..eb0a8b41
--- /dev/null
+++ b/assets/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3
this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(idocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d