/******************
FONTS
******************/
body {
  font-size: 16px;
  line-height: 1.5em;
}
body,
.text-lato {
  font-family: 'Lato', Helvetica, Arial, sans-serif;
}

.text-garamond {
  font-family: 'Lato', Garamond, Bookman Old Style, serif;
}

.field-label {
	display: none;
}


/******************
COLORS
******************/
.text-primary {
  color: rgba(41, 77, 157, 1);
}
.text-secondary {
  color: #999999;
}
.text-gray {
  color: #E6E6E6;
}
.text-white {
  color: rgba(255, 255, 255, 1);
}
.text-black {
  color: rgba(1, 1, 1, 1);
}
.text-shadow {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
.text-plain {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
}


/******************
HEADINGS
******************/
h1, .h1, h2, .h2, h3, .h3 {
  margin-bottom: 20px;
}
h1 {
  font-family: 'Source Sans Pro','Lato', sans-serif;
  font-size: 36px;
  text-transform: capitalize;
  font-weight: 100;
  letter-spacing: 1px;
}

h2 {
  font-family: 'Source Sans Pro','Lato', sans-serif;
  font-size: 26px;
  text-transform: capitalize;
}

h3 {
   font-family: 'Source Sans Pro','Lato', sans-serif;
  font-size: 21px;
  text-transform: capitalize;
}
.pane-body h3 {
  height: 2em;
}
#collapseCompanion h3 {
  font-size: 12px;
  height: auto;
  margin: 0;
}

h4 {
  font-family: 'Source Sans Pro','Lato', sans-serif;
  font-size: 14px;
  text-transform: capitalize;
}


h5 {
   font-family: 'Source Sans Pro','Lato', sans-serif;
  font-size: 18px;
  text-transform: capitalize;
}
.pane-bodyh h5 {
  height: 3em;
}

.subtitle {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  overflow: hidden;
}
.subtitle:first-letter {
  font-size: 1.5em;
}
.subtitle > span {
  display: inline-block;
  position: relative;
}
.subtitle > span:before,
.subtitle > span:after {
  content: "";
  position: absolute;
  height: 1px;
  border-bottom: 1px solid rgba(41, 77, 157, 1);
  top: 50%;
  width: 600px;
}
.subtitle > span:before {
  right: 100%;
  margin-right: 30px;
}
.subtitle > span:after {
  left: 100%;
  margin-left: 30px;
}





/******************
POSITIONING
******************/
.col-center {
	margin: 10px auto;
	float: none;
}


/******************
PARAGRAPHS, LISTS, AND TABLES
******************/
p,
ul li,
ol li {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
}



/******************
ANCHORS
******************/
a:active,
a:focus,
a.active {
  outline: none;
}
a:hover,
.text-plain:hover {
  color: rgba(41, 77, 157, 1);
  text-decoration: underline;
}
a.text-white:hover {
  color: #CCC;
}
a.no-underline,
a.no-underline:hover {
  text-decoration: none;
}




/******************
BUTTONS
******************/
.btn {
  border-radius: 0;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  padding: 1em 2em;
  font-size: 12px;
  transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  -webkit-transition: all 0.25s ease;
  line-height: 1.5em;
  margin: 1em 0 0.75em;
}

.btn-primary, .bg-primary, .btn-info {
  background: rgba(41, 77, 157, 1);
  border: 1px solid rgba(41, 77, 157, 1);
  color: #FFF;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active {
  background: rgba(41, 77, 157, 0.8);
  border-color: rgba(41, 77, 157, 0.8);
}

.btn-secondary {
  background: rgba(41, 77, 157, 0);
  border: 1px  solid rgb(41, 77, 157);
  color: rgb(41, 77, 157);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
  background: rgba(41, 77, 157, 0.2);
}

.btn-tertiary {
  background: rgba(0, 0, 0, 0);
  border: 1px solid rgba(0, 0, 0, 1);
  color: #000;
}

.btn-tertiary:hover,
.btn-tertiary:focus,
.btn-tertiary:active {
  background: rgba(0, 0, 0, 0.2);
}

.btn-white {
  background: rgba(255, 255, 255, 0);
  border: 1px solid rgba(255, 255, 255, 1);
  color: #fff;
}

.btn-white:hover,
.btn-white:focus,
.btn-white:active {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
}


.btn.short {
  padding: 0.5em 2em;
}
.btn.full-width {
  width: 100%;
}

.btn.disabled,
a.disabled,
button.disabled,
a[disabled] {
  pointer-events: none;
}








/******************
BACKGROUNDS
******************/
.page-header {
	z-index: 1;
	position: relative;
	padding: 100px 0;
}

.gradient-overlay {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
}

.text-overlay {
	position: relative;
	z-index: 10;
}

.bg-white{
	background: #fff!important;
}

.bg-darken {
  background: rgba(0, 0, 0, 0.8);
}

.bg-transparent {
  background: transparent !important;
}


/******************
FORMS
******************/
label {
  display: block;
}
.node-webform,
.view-search,
.page-taxonomy-term .region-content,
.node-type-page .region-content {
  padding-bottom: 5em;
}
.form-item {
  margin-top: 1em;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  width: auto;
}

.form-item {
  margin-top: 0.2em;
}

.form-control {
  border-radius: 0;
  height: auto;
  width: auto;
  padding: 8px 12px;
  box-shadow: none;
  border: 1px solid #818181;
}
.form-control.form-radios {
  border: none;
  padding: 0;
}
.form-control.full-width {
  width: 100%;
}
select.form-control,
textarea.form-control,
.resizable-textarea textarea {
  border-radius: 0;
}

.form-control.lightbox_hidden {
  /* BUG FIX FOR LIGHTBOX HIDING FORM ELEMENTS */
  display: block !important;
}
.webform-datepicker > * {
  float: left;
  margin: 0 5px 0 0;
}
.webform-datepicker input.webform-calendar {
  margin-top: 1em;
}

.form-control.error {
  color: #9d2e29;
  border-color: #9d2e29;
  box-shadow: 0 0 4px rgba(255, 0, 0, 0.5);
}


.progressbar-row {
  border-bottom: 5px solid rgba(41, 77, 157, 1);
}
.progressbar-row .webform-progressbar-page-label {
  font-weight: 300;
  background: #999999;
  line-height: 1em;
  border: solid #FFF;
  border-width: 1px 1px 0 0;
  padding: 1em 3px;
  font-size: 0.75em;
  height: 4em;
}
.progressbar-row .webform-progressbar-page-label.current {
  background: rgba(41, 77, 157, 1)
}

.views-exposed-form .views-exposed-widget {
  padding: 0;
}
.views-exposed-form .views-exposed-widget .btn {
  margin: 2em 0 0 15px;
}

#header-search {
  position: relative;
}
#header-search input {
  background: rgba(0, 0, 0, 0.035);
}
#header-search #search-submit {
  padding: 5px 10px;
  margin: 0;
}

#webform-client-form-19 .webform-datepicker .form-item {
	display: block;
	width: 100%;
}

#webform-client-form-19 .webform-datepicker .form-item select {
	width: 100%;
	margin-top: 5px;
}









/******************
ALERTS
******************/
.alert.messages {
  background: url(../img/bgi/logo-sm.png) right center no-repeat;
  border: none;
  border-radius: 0;
  color: #FFF;
  padding: 1.5em 1em;
}
.messages.error {
  background-color: #9d2e29;
}
.messages.status {
  background-color: #2c9d29;
}
.messages.warning {
  background-color: #bcb100;
}
.messages a {
  color: #FFF;
  text-decoration: underline;
  font-weight: normal;
}
.messages a:hover {
  color: #CCC;
}




/******************
PANES
******************/
.pane {
  display: block;
  width: 100%;
  margin: 1em 0;
  position: relative;
  /*border: 1px solid #cdcdcd;*/
  background: #fff;
  color: #000;
  overflow: hidden;
}

.pane .pane-header {
  background: #e6e6e6;
  text-align: center;
  color: #FFF;
  overflow: hidden!important;
}
.getaquote-promotion .pane .pane-header {
  height: 190px;
  overflow: hidden;
  background-size: 100% 100%;
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

.getaquote-promotion .pane .pane-header:hover {
  background-size: 110% 110%;
}

	.pane .samples {
		background: #e6e6e6 url(../img/pane-2.jpg) no-repeat center center;
	}

	.pane .trending {
		background:#e6e6e6 url(../img/pane-1.jpg) no-repeat center center;
	}

	.pane .getquote {
		background: #e6e6e6 url(../img/pane-3.jpg) no-repeat center center;
	}

.pane .pane-header .glyphicon {
  font-size: 6em;
  margin: 0.5em 0;
}

.pane .pane-body {
  padding: 1em 15px;
  text-align: center;
  display: block;
}

.preview-pane .pane-body p {
  height: 6em;
}






/******************
ACCORDIONS
******************/
.panel {
  box-shadow: none;
}
.panel-default > .panel-heading {
  color: rgba(41, 77, 157, 1);
  border-radius: 0;
  border-bottom: 4px solid rgba(41, 77, 157, 1);
  background: none;
}

.panel-heading h4 {
  font-size: 1.15em;
}

.panel-heading a {
  padding: 5px 0;
  display: block;
}

.panel-heading a:hover,
.panel-heading a:focus,
.panel-heading a:active {
  text-decoration: none;
  outline: none;
}

.panel-body {
  padding: 25px;
  border: solid #ddd;
  border-width: 0 1px 1px 1px;
  border-radius: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: none;
}






/******************
MODALS
******************/
.modal-content {
  border-radius: 0;
  background: #fff!important;
}

#sample-kit-modal .modal-body,
#contact-modal .modal-body {
  padding: 0;
  font-size: 0.8em;
  background: #fff!important;
}


#contact-modal .modal-body label {
  line-height: 1em;
}
#contact-modal .modal-body .form-checkbox {
  margin-top: 0;
}






/******************
CAROUSELS
******************/
.carousel-caption {
  position: relative;
  width: 70%;
  left: 15%;
  right: 15%;
}






/******************
THUMBNAILS
******************/
.thumbnail {
  padding: 8px;
  border: 1px solid #cdcdcd;
  border-radius: 0;
}







/******************
FOOTER
******************/
.footer {
  padding: 4em 15px;
  border: none;
  background: #232528 url(../img/bgi/logo.png) right center no-repeat;
  margin-top: 0;
}






/******************
HOMEPAGE STYLES
******************/
#first-time {
	display: none;
}

.home-header {
	color: #fff;
	min-height: 650px;
	background: url(../img/home-header.jpg) no-repeat center center;
	background-size: cover;
	border: 0;
}

	.home-header .text-overlay {
		position: relative;
		padding-top: 25%;
	}
	
	.home-header .text-overlay h1 {
		font-size: 50px;
	}

#block-bean-homepage-promotion-block {
	padding-top: 15px;
}

	#block-bean-homepage-promotion-block .promo-text {
		padding: 65px 0;
	}

	#block-bean-homepage-promotion-block .promo-text p {
		max-width: 400px;
		margin: 10px auto;
	}

.client-testimonials {
	padding: 70px 0 50px 0;
	background-image: url(../img/bgi/testimonial-bg.png);
	background-repeat: repeat;
	text-align: center;
}

	.client-testimonials .carousel-inner .item {
		min-height: 200px;
	}

	.client-testimonials .carousel-inner p {
		font-size: 22px;
		font-weight: 100;
		max-width: 450px;
		margin: 10px auto;
		font-family: 'Source Sans Pro','Lato', sans-serif;
		font-style: italic;
	}
	
	.client-testimonials .carousel-caption { 
		bottom: 25px;
	}

	.client-testimonials .carousel-control {
		background: none!important;
	}
	
.getaquote-promotion {
	background: #222 url(../img/homepage-woodbg.jpg) fixed no-repeat center center;
	background-size: cover;
	color: #fff;
	padding: 60px 0;
}

	.row-sm {
		max-width: 800px;
		margin: 15px auto;
		float: none;
	}





/******************
INTERIOR PAGE STYLES
******************/
.header-primary {
  padding: 5em 0;
}
.header-primary.small {
  padding: 2em 0;
}







/******************
QUOTE FORM STYLES
******************/
.quote-step-title {
  margin-top: 3em;
  border-bottom: 1px solid #c1c1c1;
}
.quote-step-title h2 {
  line-height: 1.75em;
}

.step-index {
  border-radius: 50%;
  width: 1em;
  text-align: center;
  line-height: 1em;
  display: inline-block;
  border: 1px solid rgba(41, 77, 157, 1);
}

.product-action {
  display: block;
  margin: 1px;
}
.product-delete {
 background: #9d2e29;
}
.product-modify {
 background: #bcb100;
}

.product-delete-wrapper,
.product-modify-wrapper {
  display: none;
}

.quote-form .progressbar-row a:last-child {
  display: none;
}








/******************
WELCOME PAGE STYLES
******************/
#business-page-wrap,
#welcome-page-wrap {
  background: #232528 url(../img/home-header.jpg) no-repeat center center;
  background-size: cover;
}

.pane .welcome-pane {

  overflow: hidden;
  background-size: 100% 100%;
  background: rgba(255, 255, 255, 0.65);
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.pane .welcome-pane:hover {
  background: rgba(255, 255, 255, 0.8);
}

