html, body { height: 100%; width: 100%; }

body { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }

hr { border-color: #0275bd; border-width: 3px; max-width: 50px; }

hr.light { border-color: white; }

a { -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; color: #0275bd; }
a:hover, a:focus { color: #01568b; }

h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }

p { font-size: 14pt; line-height: 1.5; margin-bottom: 20px; }

.bg-primary { background-color: #0275bd; }

.bg-dark { background-color: #222; color: white; }

.text-faded { color: rgba(255, 255, 255, 0.7); }

section { padding: 100px 0; }

aside { padding: 50px 0; }

.no-padding { padding: 0; }

.navbar-default { background-color: white; border-color: rgba(34, 34, 34, 0.5); font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
.navbar-default .navbar-header .navbar-brand { color: #0275bd; font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; font-weight: 700; text-transform: uppercase; }
.navbar-default .navbar-header .navbar-brand:hover, .navbar-default .navbar-header .navbar-brand:focus { color: #01568b; }
.navbar-default .nav > li > a, .navbar-default .nav > li > a:focus { text-transform: uppercase; font-weight: 700; font-size: 13px; color: #222; }
.navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus:hover { color: #0275bd; }
.navbar-default .nav > li.active > a, .navbar-default .nav > li.active > a:focus { color: #0275bd !important; background-color: transparent; }
.navbar-default .nav > li.active > a:hover, .navbar-default .nav > li.active > a:focus:hover { background-color: transparent; }
@media (min-width: 768px) { .navbar-default { background-color: transparent; border-color: rgba(255, 255, 255, 0.3); }
  .navbar-default .navbar-header .navbar-brand { color: rgba(255, 255, 255, 0.7); }
  .navbar-default .navbar-header .navbar-brand:hover, .navbar-default .navbar-header .navbar-brand:focus { color: white; }
  .navbar-default .nav > li > a, .navbar-default .nav > li > a:focus { color: rgba(255, 255, 255, 0.7); }
  .navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus:hover { color: white; }
  .navbar-default.affix { background-color: white; border-color: rgba(34, 34, 34, 0.5); }
  .navbar-default.affix .navbar-header .navbar-brand { color: #0275bd; font-size: 14px; }
  .navbar-default.affix .navbar-header .navbar-brand:hover, .navbar-default.affix .navbar-header .navbar-brand:focus { color: #01568b; }
  .navbar-default.affix .nav > li > a, .navbar-default.affix .nav > li > a:focus { color: #222; }
  .navbar-default.affix .nav > li > a:hover, .navbar-default.affix .nav > li > a:focus:hover { color: #0275bd; } }

header { position: relative; width: 100%; min-height: auto; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover; -o-background-size: cover; background-position: center; background-image: url("../img/header.png"); text-align: center; color: white; }
header .header-content { position: relative; text-align: center; padding: 100px 15px 100px; width: 100%; }
header .header-content .header-content-inner h1 { font-weight: 700; text-transform: uppercase; margin-top: 0; margin-bottom: 0; }
header .header-content .header-content-inner hr { margin: 30px auto; }
header .header-content .header-content-inner p { font-weight: 300; color: rgba(255, 255, 255, 0.7); font-size: 14pt; margin-bottom: 50px; }
@media (min-width: 768px) { header { min-height: 100%; }
  header .header-content { position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); padding: 0 50px; }
  header .header-content .header-content-inner { max-width: 1000px; margin-left: auto; margin-right: auto; }
  header .header-content .header-content-inner p { max-width: 80%; margin-left: auto; margin-right: auto; } }

.section-heading { margin-top: 0; }

.service-box { max-width: 400px; margin: 50px auto 0; }
@media (min-width: 992px) { .service-box { margin: 20px auto 0; } }
.service-box p { margin-bottom: 0; }

.portfolio-box { position: relative; display: block; max-width: 650px; margin: 0 auto; }
.portfolio-box .portfolio-box-caption { color: white; opacity: 0; display: block; background: rgba(2, 117, 189, 0.9); position: absolute; bottom: 0; text-align: center; width: 100%; height: 100%; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content { width: 100%; text-align: center; position: absolute; top: 50%; transform: translateY(-50%); }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category, .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; padding: 0 15px; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category { text-transform: uppercase; font-weight: 600; font-size: 14px; }
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name { font-size: 18px; }
.portfolio-box:hover .portfolio-box-caption { opacity: 1; }
@media (min-width: 768px) { .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category { font-size: 16px; }
  .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name { font-size: 22px; } }

.call-to-action h2 { margin: 0 auto 20px; }

.text-primary { color: #0275bd; }

.no-gutter > [class*='col-'] { padding-right: 0; padding-left: 0; }

.btn-default { color: #222; background-color: white; border-color: white; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle .btn-default { color: #222; background-color: #f2f2f2; border-color: #ededed; }
.btn-default:active, .btn-default.active, .open > .dropdown-toggle .btn-default { background-image: none; }
.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: white; border-color: white; }
.btn-default .badge { color: white; background-color: #222; }

.btn-primary { color: white; background-color: #0275bd; border-color: #0275bd; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle .btn-primary { color: white; background-color: #0265a4; border-color: #025f9a; }
.btn-primary:active, .btn-primary.active, .open > .dropdown-toggle .btn-primary { background-image: none; }
.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #0275bd; border-color: #0275bd; }
.btn-primary .badge { color: #0275bd; background-color: white; }

.btn { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; border: none; border-radius: 300px; font-weight: 700; text-transform: uppercase; }

.btn-xl { padding: 15px 30px; }

#contact .fa { color: #222; font-size: 4em; }

#contact .fab { color: #222; font-size: 4em; }

::-moz-selection { color: white; text-shadow: none; background: #222; }

::selection { color: white; text-shadow: none; background: #222; }

img::selection { color: white; background: transparent; }

img::-moz-selection { color: white; background: transparent; }

body { -webkit-tap-highlight-color: #222; }

body { background-color: white; }

.btn-primary:hover { color: #0275bd; background-color: white; }

.btn-default:hover { color: #0275bd; }

@media (max-width: 768px) { .low-priority { display: none; } }
.feature-container a { color: black; text-decoration: underline; text-decoration-color: #0275bd; }

.verbose { display: none; }

@media (min-width: 768px) { .verbose { display: block; }
  .brief { display: none; } }
header { background-color: #222; }

#logo-img-transparent { display: none; }

.header-content-inner h1 { background: black; font-size: 24px; padding-left: 8px; padding-right: 8px; }

header .header-content .header-content-inner p { background: #0275bd; max-width: 100%; width: 100%; padding: 16px; color: white; }

@media (min-width: 768px) { .header-content-inner h1 { font-size: 36px; }
  header .header-content .header-content-inner p { line-height: 100px; } }
.navbar-brand { padding: 0; padding-left: 16px; }

.navbar-default .nav > li { margin-top: 8px; margin-bottom: 8px; }

@media (min-width: 1024px) { nav .container-fluid { background: transparent; }
  body .navbar-default .navbar-header .navbar-brand { background: none; } }
@media (min-width: 500px) and (max-width: 1024px) { body .navbar-default .navbar-header .navbar-brand { background: white; }
  nav .container-fluid { background: #000000aa; border: none; } }
.navbar-default.affix .container-fluid { background: white; }

.jarallax { position: relative; z-index: 0; }

.jarallax > .jarallax-img { position: absolute; object-fit: cover; /* support for plugin https://github.com/bfred-it/object-fit-images */ font-family: 'object-fit: cover;'; top: 0; left: 0; height: 100%; z-index: -1; }

#home-scroll { display: none; }

.navbar-default.affix .container-fluid #home-scroll { display: inherit; }

.portfolio-container { display: flex; flex-wrap: wrap; justify-content: space-around; background-color: white; padding: 0 32px 0 32px; }

.portfolio-box { margin-top: 32px; margin-bottom: 32px; }

#gael-large { display: none; }

.portfolio-container img { max-width: 50vw; }

@media (min-width: 768px) { .portfolio-container { flex-wrap: nowrap; }
  .portfolio-container img { max-width: 10vw; }
  .portfolio-box { flex: none; display: flex; align-items: center; justify-content: center; background-color: white; }
  #gael-large { display: inherit; }
  #gael-wide { display: none; } }
#portfolio { margin-top: 16px; padding: 0px; padding-top: 32px; }

@media (min-width: 768px) { #portfolio { margin-top: 24px; padding: 0px; padding-top: 48px; } }
#contact-separator { height: 32px; width: 100%; }

@media (min-width: 768px) { #contact-separator { height: 48px; } }
#polymer-engineering { background-color: #f0f1f4; margin: 0; padding-left: 16px; padding-right: 16px; padding-top: 32px; padding-bottom: 0px; width: 100%; }

.polymer-engineering-item-container { display: flex; flex-wrap: wrap; justify-content: space-around; align-content: space-between; margin-top: 32px; }

.polymer-engineering-item { min-width: 20vw; background-color: white; padding: 32px; display: flex; flex-direction: column; margin-bottom: 32px; }

.polymer-engineering-item h3 { text-align: center; }

.polymer-engineering-item div { display: flex; justify-content: center; }

.polymer-engineering-item div img { max-width: 50vw; width: 100%; margin-top: 32px; }

.polymer-engineering-item p { margin-top: 32px; }

@media (min-width: 768px) { .polymer-engineering-item { max-width: 40vw; }
  .polymer-engineering-item div img { max-width: 15vw; } }
#design-experience-overlay { position: absolute; background-color: rgba(34, 34, 34, 0.1); top: 0; left: 0; width: 100%; height: 100%; z-index: -1; }

#design-experience-contents { height: 100%; color: #333; display: flex; align-items: center; justify-content: center; }
#design-experience-contents h3 { text-align: center; width: 40%; background-color: rgba(255, 255, 255, 0.84); padding: 16px; }

#design-experience { width: 100%; background-position: center center; background-repeat: no-repeat; background-attachment: fixed; background-size: 100%; background-image: url("../img/ring-crop-full.png"); position: relative; }

@media (min-width: 768px) { #design-experience { height: 500px; } }
@media (max-width: 768px) { #design-experience-contents h3 { font-size: 14pt; width: 80%; } }
#testimonials { background-color: #0275bd; padding: 0px; padding-top: 48px; padding-bottom: 48px; width: 100%; display: flex; flex-direction: column; }
#testimonials .testimonial:last-of-type { padding-top: 32px; }
#testimonials .section-heading { color: white; }

@media (min-width: 768px) { #testimonials { flex-direction: row; }
  #testimonials .testimonial:last-of-type { padding-top: 0px; }
  #testimonials .testimonial { width: 40%; }
  #testimonials .section-heading { font-size: 14pt; min-height: 100px; } }
@media (min-width: 1024px) { #testimonials .section-heading { min-height: 70px; } }
