/*!
 * Start Bootstrap - Stylish Portfolio Bootstrap Theme (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */
/* Global Styles */
html,
body {
  width: 100%;
  height: 100%;
}

body {
  font-family: "Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 1.8em;
}

.text-vertical-center {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  color: white;
}

.text-vertical-center h1,
.text-vertical-center h3 {
  text-shadow: 2px 2px 10px #333333;
  filter: progid:DXImageTransform.Microsoft.Shadow(color='#333333', Direction=135, Strength=3);
}

.text-vertical-center h1 {
  margin: 0;
  padding: 0;
  font-size: 4.5em;
  font-weight: 700;
}

.text-vertical-bottom {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#333333',GradientType=0 );
  /* IE6-9 */
}

.text-vertical-top {
  position: absolute;
  top: 0px;
  left: 0px;
}

.text-vertical-bottom h1 {
  margin: 0;
  padding: 10px;
  font-size: 2.5em;
  font-weight: 700;
  color: white;
  text-shadow: 2px 2px 5px #333333;
  background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.3));
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.3));
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(transparent, rgba(0, 0, 0, 0.3));
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.3));
  /* Standard syntax */
}

#top i {
  margin: 10px;
  color: white;
  text-shadow: 1px 1px 1px #333333;
  opacity: .3;
  transition: .5s;
  font-size: 25px;
}

#top i.big {
  font-size: 80px;
}

#top:hover i {
  opacity: .7;
  transition: .3s;
}

#top i:hover {
  opacity: 1;
  transition: .3s;
}

/* Custom Button Styles */
.btn-dark {
  border-radius: 0;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.4);
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
}

.btn-light {
  border-radius: 0;
  color: #333;
  background-color: white;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
  color: #333;
  background-color: rgba(255, 255, 255, 0.8);
}

/* Custom Horizontal Rule */
hr.small {
  max-width: 100px;
}

/* Side Menu */
#sidebar-wrapper {
  z-index: 1000;
  position: fixed;
  right: 0;
  width: 250px;
  height: 100%;
  margin-right: -250px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #222;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
}

.sidebar-nav {
  position: absolute;
  top: 0;
  width: 250px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar-nav li {
  text-indent: 20px;
  line-height: 40px;
}

.sidebar-nav li a {
  display: block;
  text-decoration: none;
  color: #999;
  width: 250px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-nav li a:hover {
  text-decoration: none;
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
}

.sidebar-nav li a:active,
.sidebar-nav li a:focus {
  text-decoration: none;
}

.sidebar-nav > .sidebar-brand {
  height: 55px;
  font-size: 25px;
  line-height: 55px;
  margin-bottom: 50px;
  text-align: center;
}

.sidebar-nav > .sidebar-brand a {
  color: #999;
}

.sidebar-nav > .sidebar-brand a:hover {
  color: #fff;
  background: none;
}

#menu-toggle {
  z-index: 2;
  position: fixed;
  top: 0;
  right: 0;
}

#sidebar-wrapper.active {
  right: 250px;
  width: 250px;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
}

.toggle {
  margin: 8px 5px 0 0;
}

/* Container */
.container {
  max-width: 960px;
}

.menu {
  display: none;
}

.menu > h2 {
  margin-top: 0px;
}

@media (min-width: 1000px) {
  .row.content {
    width: 700px;
    float: right;
  }

  .menu {
    display: block;
    float: left;
    width: 230px;
  }
}
ul#menulist {
  margin: 0px;
  padding: 0px;
}

ul#menulist > li {
  list-style-type: none;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 3px;
  font-size: 10pt;
  border-radius: 5px;
}

ul#menulist > li.selected {
  background-color: rgba(66, 139, 202, 0.5);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#CC428BCA', endColorstr='#CC428BCA');
  /* IE */
  color: white;
}

ul#menulist > li.link:hover {
  background-color: rgba(66, 139, 202, 0.2);
}

/* About */
.about {
  padding: 20px 0;
}

/* Services */
.services {
  padding: 50px 0;
}

.service-item {
  margin-bottom: 30px;
}

/* Portfolio */
.portfolio {
  padding: 50px 0;
}

.portfolio-item {
  margin-bottom: 30px;
  position: relative;
}

.col-md-6-center {
  width: 33%;
  max-width: 500px;
  margin: 0 auto;
  float: none;
}

.col-md-6 {
  width: 33%;
  max-width: 500px;
  margin: 0 auto;
}

.col-md-6-center-big {
  width: 50%;
  max-width: 500px;
  margin: 0 auto;
  float: none;
}

@media (max-width: 992px) {
  .col-md-6, .col-md-6-center {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    float: none;
  }
}
div.row.content > div {
  text-align: justify;
}

.portfolio-item h1 {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  padding: 10px 15px 10px 15px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: white;
  text-shadow: 3px 3px 5px #333333;
  font-size: 18px;
  margin-top: 0px;
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1), transparent);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1), transparent);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1), transparent);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1), transparent);
  /* Standard syntax */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#00000000',GradientType=0 );
  /* IE6-9 */
}

.date {
  float: right;
  padding: 0px 5px 0px 5px;
  color: white;
  text-shadow: 1px 1px 1px #333333;
  background: rgba(66, 139, 202, 0.75);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#CC428BCA', endColorstr='#CC428BCA');
  /* IE */
  border-radius: 8px 0px 8px 0px;
}

.portfolio-item .date {
  position: absolute;
  bottom: 0px;
  right: 0px;
  border-radius: 8px 0px 0px 0px;
}

.date.red {
  background: rgba(202, 0, 9, 0.75);
}

.blue-line {
  top: -1px;
  right: 8px;
  position: relative;
  border-top: 1px solid rgba(66, 139, 202, 0.75);
  width: 100%;
  clear: both;
}

.blue-box {
  top: -1px;
  right: 5px;
  position: relative;
  padding: 20px 0px 20px 20px;
  border-top: 1px solid rgba(66, 139, 202, 0.75);
  border-left: 3px solid rgba(66, 139, 202, 0.75);
  width: 100%;
  clear: both;
}

.header {
  color: white;
  text-shadow: 2px 2px 3px #333333;
}

h2 {
  clear: both;
}

h2.blue, h4.blue {
  color: #428bca;
}

.btn-blue {
  background: rgba(66, 139, 202, 0.7);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#CC428BCA', endColorstr='#CC428BCA');
  /* IE */
  color: white;
  font-size: 15px;
  transition: .5s;
}

.btn-blue:hover {
  background: #428bca;
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FF428BCA', endColorstr='#FF428BCA');
  /* IE */
  color: white;
  transition: .5s;
}

.btn-red {
  background: rgba(202, 0, 9, 0.7);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#CCCA0009', endColorstr='#CCCA0009');
  /* IE */
  color: white;
  font-size: 15px;
  transition: .5s;
}

.btn-red:hover {
  background: #ca0009;
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFCA0009', endColorstr='#FFCA0009');
  /* IE */
  color: white;
  transition: .5s;
}

.portfolio-item:hover > .more {
  opacity: 1;
  transition: .5s;
}

.more {
  opacity: 0;
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
  padding: 15px;
  transition: .5s;
}

.more div {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -15px;
  margin-left: -50px;
  border-radius: 20px;
}

.img-portfolio {
  margin: 0 auto;
}

.col-lg-10 {
  margin: 0px;
  width: 100%;
}

.service-item > p {
  text-align: center;
}

/* Footer */
footer {
  padding: 100px 0;
}

.text-image {
  width: 300px;
  padding: 10px;
}

.text-image-full {
  width: 100%;
}

.text-image-small {
  width: 230px;
  padding: 10px;
}

.text-image-big {
  width: 400px;
  padding: 10px;
}

.text-image-xbig {
  width: 800px;
  padding: 10px;
}

.center {
  display: block;
  margin: 0 auto;
}

.left {
  float: left;
}

.right {
  float: right;
}

#moreTitle {
  width: 100%;
  font: 15px sans-serif;
  margin-top: 30px;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
#moreTitle:before {
  border-top: 2px solid #dfdfdf;
  content: "";
  margin: 0 auto;
  /* this centers the line to the full width specified */
  position: absolute;
  /* positioning must be absolute here, and relative positioning must be applied to the parent */
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  width: 95%;
  z-index: -1;
}
#moreTitle a {
  /* to hide the lines from behind the text, you have to set the background color the same as the container */
  background: #fff;
  padding: 0 15px;
}

.assignment {
  float: left;
  height: 25px;
}

.headerMenu {
  text-decoration: none;
}
.headerMenu span {
  opacity: 0;
  position: relative;
  top: -5px;
  padding: 0px;
  background: #000000;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: white;
  font-size: 12px;
  padding: 6px;
  margin-left: 10px;
  transition: .1s;
}
.headerMenu span:after {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 6px 6px 6px 0;
  border-color: transparent #000000;
  display: block;
  width: 0;
  z-index: 1;
  left: -6px;
  top: 8px;
}

.headerMenu:hover {
  text-decoration: none;
}
.headerMenu:hover span {
  opacity: .75;
  transition: .1s;
}

.clear {
  clear: both;
  border: 0px;
}

iframe {
  margin: 0 auto;
}

.viewer {
  width: 100%;
  height: 400px;
  margin: 0 auto;
}

blockquote {
  background-position: top left;
  padding-left: 30px;
  padding-top: 15px;
  font-family: 'Courier New';
  font-size: 14px;
  color: #333333;
}

blockquote.warning {
  background: url(../img/alert-icon.png) no-repeat #f4f5e6;
  background-position: 10px 10px;
  border: 2px solid #F7FE2E;
  padding: 10px;
  padding-left: 35px;
  color: #333333;
}

blockquote.info {
  background: url(../img/info-icon.png) no-repeat #AAAAFF;
  border: 2px solid #0000FF;
}

blockquote.console {
  background: url(../img/console-icon.png) no-repeat #000000;
  background-position: 10px 10px;
  border: 2px solid #CCCCCC;
  padding: 10px;
  padding-left: 35px;
  color: #D4D4D4;
}

.header {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
  background: url(../img/final_project/final_project.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half {
  display: table;
  position: relative;
  background-color: gray;
  width: 100%;
  height: 50%;
  min-height: 200px;
  z-index: 1;
}

.header-half.fixed {
  position: fixed;
}

.header-half.project_management {
  background: url(../img/project_management/project_management.png) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.computer_aided_design {
  background: url(../img/computer_aided_design/computer_aided_design.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.computer_controlled_cutting {
  background: url(../img/computer_controlled_cutting/computer_controlled_cutting.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.electronics_production {
  background: url(../img/electronics_production/electronics_production.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half._3D_scanning_and_printing {
  background: url(../img/3d_scanning_and_printing/3d_scanning_and_printing.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.prusa_i3 {
  background: url(../img/prusa_i3/prusa_i3.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.electronics_design {
  background: url(../img/electronics_design/electronics_design.png) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.embedded_programming {
  background: url(../img/embedded_programming/embedded_programming.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.computer_controlled_machining {
  background: url(../img/computer_controlled_machining/computer_controlled_machining.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.molding_and_casting {
  background: url(../img/molding_and_casting/molding_and_casting.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.input_devices {
  background: url(../img/input_devices/input_devices.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.output_devices {
  background: url(../img/output_devices/output_devices.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.composites {
  background: url(../img/composites/composites.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.networking_and_communications {
  background: url(../img/networking_and_communications/networking_and_communications.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.interface_and_application_programming {
  background: url(../img/interface_and_application_programming/interface_and_application_programming.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.applications_and_implications {
  background: url(../img/applications_and_implications/applications_and_implications.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.mechanical_design {
  background: url(../img/mechanical_design/mechanical_design.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.invention_intellectual_property_and_income {
  background: url(../img/invention_intellectual_property_and_income/invention_intellectual_property_and_income.gif) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.final_project {
  background: url(../img/final_project/final_project.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.header-half.cyclops {
  background: url(../img/cyclops/cyclops.jpg) no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.ribbon {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
}

/* reset certain elements (in case of conflicting CSS for classes, links, etc.) */
.ribbon .text,
.ribbon .banner,
.ribbon a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

.ribbon .banner {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  color: #fff;
  -webkit-font-smoothing: antialiased;
  display: block;
  float: right;
  position: relative;
  right: -14px;
  top: 22px;
  width: 100px;
}

.ribbon .banner::after,
.ribbon .banner::before {
  content: '';
  display: block;
  height: 12px;
  position: absolute;
  width: 30px;
}

.ribbon .banner::before {
  -webkit-transform: skewY(-45deg) translate(50%, 15px);
  -moz-transform: skewY(-45deg) translate(50%, 15px);
  -ms-transform: skewY(-45deg) translate(50%, 15px);
  -o-transform: skewY(-45deg) translate(50%, 15px);
  -webkit-transform-origin: 100% center;
  -moz-transform-origin: 100% center;
  -ms-transform-origin: 100% center;
  -o-transform-origin: 100% center;
  left: -45px;
}

.ribbon .banner::after {
  -webkit-transform: translate(100%, -100%) skewY(45deg) translateX(-58%);
  -moz-transform: translate(100%, -100%) skewY(45deg) translateX(-58%);
  -ms-transform: translate(100%, -100%) skewY(45deg) translateX(-58%);
  -o-transform: translate(100%, -100%) skewY(45deg) translateX(-58%);
  -webkit-transform-origin: 0 center;
  -moz-transform-origin: 0 center;
  -ms-transform-origin: 0 center;
  -o-transform-origin: 0 center;
  right: -17px;
}

.no-css-transforms .ribbon .banner {
  position: static;
  width: 100%;
  float: none;
  font-size: 10px;
}

.ribbon .text {
  position: relative;
  z-index: 2;
  padding: 6px 0;
  font-size: 12px;
  font-weight: bold;
  min-height: 18px;
  line-height: 18px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ribbon .text::before,
.ribbon .text::after {
  content: '';
  display: block;
  height: 30px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.ribbon .text::before {
  -webkit-transform: translateX(-15%) skewX(-45deg);
  -moz-transform: translateX(-15%) skewX(-45deg);
  -ms-transform: translateX(-15%) skewX(-45deg);
  -o-transform: translateX(-15%) skewX(-45deg);
}

.ribbon .text::after {
  -webkit-transform: translateX(15%) skewX(45deg);
  -moz-transform: translateX(15%) skewX(45deg);
  -ms-transform: translateX(15%) skewX(45deg);
  -o-transform: translateX(15%) skewX(45deg);
}

.no-css-transforms .ribbon .text {
  height: 25px;
  padding: 3px;
}

/*--- RIBBON COLORS ---*/
/* blue */
.ribbon-blue .banner::after,
.ribbon-blue .banner::before {
  background-color: #0044cc;
}

.ribbon-blue .text::before,
.ribbon-blue .text::after,
.no-css-transforms .ribbon-blue .text {
  background-color: #0088cc;
}

/* red */
.ribbon-red .banner::after,
.ribbon-red .banner::before {
  background-color: #bd362f;
}

.ribbon-red .text::before,
.ribbon-red .text::after,
.no-css-transforms .ribbon-red .text {
  background-color: #ee5f5b;
}
