/*--Designed and built by: http://stuarthancock.co.uk--*/

/*--Reset*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, div {
	display: block;
	}

ol, ul {
	list-style: none;
	}

body#meet_the_team .sidebarRightMain ul {
	list-style: disc;
	margin: 0 0 0 30px;
}	
	
body#meet_the_team .sidebarRightMain ul li {
	padding: 5px 0;
}	
	
blockquote, q {
	quotes: none;
	}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
	}

strong {
	font-weight: bold;
}	
	
/* remember to define visible focus styles! 

:focus {
	outline: ?????;
	} */

/* remember to highlight inserts somehow! */

ins {
	text-decoration: none;
	}

del {
	text-decoration: line-through;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	}	

table.menu,
table.activities {
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 12px;
	line-height: 16px;
}
	
table.menu th,
table.activities th {
	background: #61187b;
	color: #FFF;
	padding: 10px 0;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
}	
	
table.menu tr,
table.activities tr {
	border-bottom: 1px solid #ccc;
}	

table.menu td,
table.activities td {
	border-right: 1px solid #ccc;
	padding: 10px 5px;
	display: table-cell;
	vertical-align: middle;
}
	
* {
	-webkit-text-size-adjust: none;
}

/*--Colour Pad*/

/*--Typography*/

/*--Main*/

	
body {
	background: #FFF;
	color: #000;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 10px 0;
	font-weight: 300;
}

h1 {
  font-size: 30px;
  line-height: 40px;
}

h2 {
  font-size: 24px;
  line-height: 30px;
}

h3 {
  font-size: 18px;
  line-height: 24px;
}

h4 {
  font-size: 16px;
  line-height: 22px;
}

h5 {
  font-size: 16px;
  line-height: 20px;
}

h6 {
  font-size: 14px;
  line-height: 20px;
}

p {
	margin: 0 0 20px 0;
}

a {
	color: #97b270;
	text-decoration: none;
}	

a:hover {
	text-decoration: underline;
}

/*--Page*/

div#page-wrapper {

}

/*--Header*/

#header_wrapper {
	margin: 0 0 30px 0;	
	height: 128px;
	padding: 0px;
	text-align: center;
	background: #FFF;
}

header {
	width: 940px;
	margin: 0px auto;
	position: relative;
}

a#logo {
	width: 221px;
	height: 108px;
	position: absolute;
	top: 20px;
	left: 0px;
}

a:hover#logo {
	opacity: .7;
}

p.contact {
	padding: 0;
	position: absolute;
	top: 20px;
	right: 0px;
	margin: 0;
	text-align: right;
}

p.contact span {
	padding: 0 0 0 20px;
}

/*--Nav*/

.nav_wrapper {
	display: block;
	position: absolute;
	z-index: 99;
}

.nav_inner {
	width: 940px;
	margin: 0px auto 0px auto;
	position: relative;
}

ul.menu {
	position: absolute;
	z-index: 1;
	top: 82px;
	right: 0;
	background: #61187b;
}

ul.menu li {
	float: left;
	display: block;
	margin: 0;
	padding: 0;
	background: none;
}

ul.menu li a,
ul.menu li span.menuItem {
	position: relative;
	display: block;
	font-size: 16px;	
	line-height: 16px; /*match font-size*/
	color: #FFF;
	background: none;
	text-decoration: none;
	padding: 17px 20px;
	text-transform: uppercase;
}

ul.menu li a:hover {
	/*background: #4e1362;*/
	background: none;
	color: #97b270;
}

/*--slider header*/

.slider-container {
	height: 400px;
	margin: 0 0 30px 0;
	visibility: hidden;
	position: relative;
}

div.one.singleImage {
	height: 400px;
	margin: 0 0 35px 0;
	position: relative;
}

img.lavender {
	position: absolute;
	right: 0px;
	bottom: 0px;
}

#slider  {
	height: 400px;
}

#slider div.slide,
#slider div.slide img {
	width: 100%;
}

#slider div.slide,
#slider div.slide img {
	height: 400px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.slider-container div.column {
	width: 940px;
	margin: 0 auto;
}

div.slide {
	width: 940px;
	height: 400px;
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

div.slide h2 {
	background: rgba(0,0,0, .7);
	color: #FFF;
	font-size: 24px;
	padding: 15px 30px;
	position: absolute;
	bottom: 52px;
	left: 30px;
	z-index: 99;
	margin: 0;
}

a.bx-prev,
a.bx-next  {
	height: 15px;
	width: 14px;
	position: absolute;
	top: 0px;
	display: block;
	text-indent: -9999px;
	z-index: 99;
}

a.bx-prev {
	left: -27px;
	top: -50px;
	background: url(images/previous.png);
}

a.bx-next {
	right: -27px;
	top: -50px;
	background: url(images/next.png);
}

.bx-controls {
	width: 100%;
	height: 39px;
	text-align: center;
	margin: -50px auto 0 auto;
	padding: 0;
	z-index: 99;
	position: relative;
}

.bx-pager-item {
	display: inline-block;
	padding: 18px 0 0 0;
	
}

div.bx-pager-item a {
	text-indent: -9999px;
	display: block;
	width: 12px;
	height: 12px;
	margin: 0 5px;
	outline: 0;
	background: #FFF;
	border-radius: 10px;
	border: 2px solid #FFF;
}

html.ie6 div.bx-pager-item a {
	border-radius: 0px;
	line-height: 0;
}

div.bx-pager-item a.active, 
div.bx-pager-item a:hover {
	background: #61187b;
}

/*--intro*/

.intro {
	text-align: center;
	border-bottom: 2px solid #97b270;
}

.intro h1 {
	margin: 0;
	padding: 0;
	font-size: 24px;
	line-height: 30px;
	margin: 0 0 40px 0;
}

.intro div.one {
	margin: 0 0 30px 0;
}

.column.intro {
	margin: 0 auto 40px auto;
}

/*--key areas*/

.key-areas div.threeA,
.key-areas div.threeB,
.key-areas div.threeC {
	width: 280px;
	text-align: center;
	padding: 0 10px;
}

.key-areas div.threeB a.button {
	width: 130px;
	float: left;
	padding: 10px 0;
	margin: 0 20px 0 0;
}

.key-areas div.threeB a.button:nth-child(2) {
	margin: 0;
}

.key-areas h3 {
	font-weight: 600;
	color: #61187b;
	padding: 10px 0 5px 0;
	margin: 0 0 20px 0;
	border-bottom: 2px solid #97b270;
}

.key-areas p {
	margin: 0 0 30px 0;
}

/*--cornerstones of care*/

.coc,
.sidebarRight.coc {
	background: #61187b;
	padding: 30px 0 40px 0;
	margin: 0 0 40px 0;
	text-align: center;
}

.sidebarRight.coc {
	padding: 20px 0;
	text-align: center;
}

.coc div.one {
	margin: 0;
}

.coc h2 {
	color: #FFF;
}

.coc a {
	width: 158px;
	display: block;
	padding: 0 15px;
	float: left;
	text-decoration: none;
}

.coc a:hover {
	opacity: .7;
}

.sidebarRight.coc a {
	width: 300px;
	padding: 20px 0;
}

.coc a h3 {
	color: #FFF;
	font-weight: 600;
	margin: 0;
}

.cornerstone {
	margin: 0 0 40px 0;
}

.logoBg {
	width: 147px;
	height: 125px;
	background: url(images/logoBg.png);
	float: left;
	margin: 0 40px 0 0;
	text-align: center;
	padding: 25px 0 0 3px;
}

.logoBg.management {
	height: 125px;
	padding: 25px 0 0 3px;
}

.logoBg.environment {
	width: 150px;
	height: 125px;
	padding: 25px 0 0 0px;
}

.logoBg.food {
	width: 147px;
	height: 122px;
	padding: 28px 0 0 3px;
}

/*--overview and downloads*/

.od div.twoA,
.od div.twoB {
	width: 370px;
	margin: 0 0 40px 0;
}
 
.od div.twoA {
	margin: 0 40px 40px 80px;
} 

.od h3 {
	font-weight: 600;
	color: #61187b;
	padding: 0 0 5px 0;
	border-bottom: 2px solid #97b270;
}

.downloads {
	height: 225px;
	background: #eee;
	padding: 20px;
}

.downloads p {
	margin: 0;
}

.downloads ul li {
	padding: 10px 0;
	border-bottom: 1px solid #97b270;
}

.downloads ul li:last-child {
	border-bottom: none;
}

td.underline {
	padding: 7px 0;
	border-bottom: 1px solid #97b270;
}

td.no-border {
	padding: 7px 0;
}

td.overview {
	background: #97b270 url(images/green_arrow.png) no-repeat right;
	color: #FFF;
	position: relative;
}

td.overview h3 {
	color: #FFF;
	font-weight: 300;
	border-bottom: none;
	position: absolute;
	top: 62px;
	left: 12px;
}

td.overview h3 span {
	font-weight: 600;
}

.od a.button {
	text-align: center;
	margin: 10px 0 0 0;
}

/*--Content*/

p.standard {
	font-weight: 600;
	font-style: italic;
}

p.description {
	margin: -10px 0 10px 0;
}

div.column-wrapper {
	clear: both;
}
	
div.column {
	width: 940px;
	margin: 0px auto;
	padding: 0px 0px 0px 0px;
}

.singleColumn {
	width: 740px;
	margin: 0 auto;
}
	
div.one {
	margin-bottom: 40px;
}	

.intro {
	text-align: center;
}

div.twoA,
div.twoB {
	width: 450px;
	float: left;
}

div.twoA {
	width: 0 40px 0 0;
}

div.threeA,
div.threeB,
div.threeC {
	width: 300px;
	float: left;
	margin: 0 20px 40px 0;
}

div.threeC {
	margin: 0 0 40px 0;
}

.slider-intro-container {
	width: 345px;
	position: relative;
}

.slider-intro h1 {
	margin: 0 0 20px 0;
}

a.button {
	background: #97b270;
	color: #FFF;
	padding: 10px 20px;
	display: block;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: background 0.7s;
	-moz-transition: background 0.7s;
	-o-transition: background 0.7s;
	transition: background 0.7s;
}

a:hover.button {
	background: #798e5a;
}
		
.sidebarRightMain {
	width: 600px;
	margin: 0 40px 40px 0;
	float: left;
}

.sidebarRight {
	width: 300px;
	float: right;
	margin: 0 0 40px 0;
}

p.read-more {
	width: 65px;
	background: #4091ce;
	padding: 5px 10px;
	float: right;
}

p.read-more a {
	color: #FFF;
	text-decoration: none;
}

div.clear {
	clear: both;
}

/*--clear fix*/

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/*--Slider Thumbnail Container*/

.sliding-gallery-container {
	background: #eee;
	padding: 20px 30px 5px 30px;
	position: relative;
	margin: 30px 0 20px 0;
}

.sliding-gallery-container .bx-controls {
	width: 100%;
	height: 15px;
	background: none;
	margin: 0 auto;
}

ul.sliding-gallery {
	width: 600px;
	margin: 0;
	padding: 0;
}

ul.sliding-gallery li {
	width: 160px;
}

ul.sliding-gallery a.gallery {
	height: 90px;
	display: block;
}

ul.sliding-gallery a img {
	width: 160px;
	display: block;
	background: #FFF;
}

/*--contact form*/		

body#contact_us p.contactText,
body#contactthanks .contactText {
	text-align: center;
}

form#contactForm {
	width: 500px;
	height: auto;
	margin: 20px auto 60px auto;
}

form#contactForm input, #contact-area textarea {
	padding: 5px;
	width: 500px;
	height: 40px;
	margin: 0px 0px 20px 0px;
	border: 1px solid #ccc;
	box-shadow: none;
}

form#contactForm textarea {
	width: 500px;
	height: 120px;
	box-shadow: none;
	margin: -20px 0 0 0;
	border: 1px solid #ccc;
	box-shadow: none;
	padding: 5px;
}

form#contactForm textarea:focus, #contact-area input:focus {
	border: 1px solid #cfcfcf;
}

form#contactForm input.button {
	width: 500px;
	clear: both;
	border: none;
	
	height: 40px;
	display: block;
	text-align: center;
	color: #FFF;
	line-height: 40px;
	margin: 20px 0 0 0;
	padding: 0 20px 10px 20px;
	text-decoration: none;
	
	-webkit-transition: background 0.5s;
	-moz-transition: background 0.5s;
	-o-transition: background 0.5s;
	transition: background 0.5s;
}

label {
	clear: both;
	/*width: 500px;*/
	padding: 0 0 5px 0;
	display: block;
}

label.error {
	color: #FF0000;
	margin: 0;
	font-size: 12px;
}

div.one.thankyou {
	width: 500px;
	margin: 0 auto;
	min-height: 250px;
}

/*--title*/

.title {
	/*background: #0698e7;*/
}

.title div.one {
	margin: 0 0 30px 0;
}

body#food .title div.one {
	width: 940px;
	height: 62px;
	position: relative;
	display: block;
}

body#food .title div.one img {
	height: 52px;
	position: absolute;
	right: 0px;
	top: 0px;
}

.title h1 {
	color: #4e1362;
	margin: 0;
	padding: 0 0 20px 0;
	border-bottom: 2px solid #97b270;
}

.title p {
	font-size: 14px;
	color: #FFF;
	padding: 0 0 20px 0;
}

body#contact-us .title h1 {
	padding: 20px 0 0 0;
}

/*--links*/

.links-container {
	height: 158px;
	margin: 0 0 30px 0;
}

a.link {
	width: 280px;
	height: 158px;
	float: left;
	margin: 0 40px 0 0;
	position: relative;
	text-align: center;
	text-decoration: none;
}

a:hover.link {
	opacity: .9;
}

a.link h4 {
	width: 280px;
	background: rgba(0, 0, 0, .7);
	color: #FFF;
	position: absolute;
	bottom: 0px;
	left: 0px;
	margin: 0;
	padding: 10px 0;
}

.links-container a.link:nth-child(2) {
	margin: 0;
}

/*--testimonial*/

.testimonial {
	padding: 10px 0 20px 0;
}

.testimonial p {
	font-style: italic;
	margin: 0;
}

.bubble {
    position: relative;
	padding: 20px;
	border-radius: 0 0 5px 5px;
	margin: 0 0 30px 0;
	font-size: 14px;
	line-height: 21px;
}
.bubble:after {
   content: "";
   position: absolute;
   top: 100%;
   left: 20px;
   border-top: 20px solid blue;
   border-top-color: inherit; 
   border-left: 20px solid transparent;
   border-right: 20px solid transparent; 
}

.bubble-right {
    position: relative;
	padding: 20px;
	border-radius: 0 0 5px 5px;
	margin: 0 0 30px 0;
	font-size: 14px;
	line-height: 21px;
}
.bubble-right:after {
   content: "";
   position: absolute;
   top: 100%;
   right: 20px;
   border-top: 20px solid blue;
   border-top-color: inherit; 
   border-left: 20px solid transparent;
   border-right: 20px solid transparent; 
}

.testimonial h4,
.testimonial-right h4 {
	color: #0698e7;
	margin: 0 0 10px 0;
}

.testimonial-right h4 {
	float: right;
}

.testimonial h5 {
	font-size: 14px;
	COLOR: #414141;
}

a.viewTestimonials {
	float :right;
}

a.back {
	display: block;
	margin: 0 0 20px 0;
}

/*--section-area*/

.sections .section-area:last-child {
	padding: 0 0 0 0;
	border-bottom: 0;
}

.section-area {
	min-height: 220px;
	clear: both;
	border-bottom: 1px solid #97b270;
	padding: 0 0 40px 0;
	margin: 0 0 40px 0;
}

.section-area img {
	float: left;
	margin: 0 40px 40px 0;
	
}

.section-area .text {
	margin: 0 0 0 260px;
}

.section-area ul {
	padding: 0 0 0 40px;
}

.section-area li {
	list-style: disc;
	padding: 5px 0;
}

/*--meet the team page*/

.team {}

.teamPics {
	margin: 0 0 30px 0;
	padding: 0 0 0 60px;
}

.teamPics.management {
	padding: 0 0 0 0;
}

.teamPics img {
	display: block;
	float: left;
}

.teamPics.management img {
	width: 173px;
	margin: 0 40px 0 0;
}

.teamPics.management img:last-child {
	margin: 0 0 0 0;
}

.teamPics img:first-child {
	margin: 0 40px 0 0;
}

/*--footer*/		
	
div#footer-wrapper {
	clear: both;
	background: #61187b;
	color: #FFF;
	position: relative;
	z-index: 99;
	margin: 0 auto;
}
	
footer {
	width: 940px;
	margin: 0 auto;
	padding: 30px 0;
	position: relative;
	color: #FFF;
}

footer img {
	position: absolute;
	right: 0px;
	bottom: 0px;
}

div#address.one {
	margin: 0;
	padding: 0;
}

.contactDetails p {
	float: left;
}

p.contactInfo span {
	margin: 0 0 0 20px;
}

footer p {
	margin: 0;
}

footer a {
	color: #FFF;
}

footer h4 {
	color: #FFF;
	margin: 0;
}

p.SOdescription {
	color: #b08cbd;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #97b270;
	margin: 0 0 15px 0;
}

div.column-wrapper.terms {
	padding: 0 20px;
}

div.one.terms {
	margin: 0;
	padding: 15px 0;
	/*color: #FFF;*/
}

div.one.terms a {
	/*color: #FFF;*/
}

div.terms {
	clear: both;
	font-size: 14px;
}

.info span {
	margin: 0 0 0 15px;
}

.info span.company {
	margin: 0;
}

div.terms div.column {
	background: none;
}

div.terms p {
	margin: 0;
}

div.one.terms p span {
	margin: 0 0 0 15px;
}

div.one.terms p.policies span {
	margin: 0 15px 0 0;
}

.policies a {
	margin: 0 15px 0 0;
}

.map {
	height: 300px;
	display: block;
	margin: 0;
}

/* `Widths
----------------------------------------------------------------------------------------------------*/

.input_tiny {
  width: 50px;
}

.input_small {
  width: 100px;
}

.input_medium {
  width: 150px;
}

.input_large {
  width: 200px;
}

.input_xlarge {
  width: 250px;
}

.input_xxlarge {
  width: 300px;
}

.input_full {
  width: 100%;
}

/*
  Added via JS to <textarea> and class="input_full".
  Applies only to IE7. Other browsers don't need it.
*/
.input_full_wrap {
  display: block;
  padding-right: 8px;
}

/* `UI Consistency
----------------------------------------------------------------------------------------------------*/

::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="search"]::-webkit-search-decoration {
  display: none;
}

input,
button,
select,
textarea {
  margin: 0;
  vertical-align: middle;
}

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  vertical-align: top;
  top: 3px;
  /* IE8, IE9, IE10 */
  top: 0\0;
  /* IE7 */
  *top: -3px;
}

/* iPad */
@media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 1024px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 2px;
  }
}

/* iPhone 3 */
@media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 0;
  }
}

/* iPhone 4 */
@media (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 480px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 0;
  }
}

button,
input[type="reset"],
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background: #ddd url(../img/button.png) repeat-x;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(1, #ddd));
  background: -moz-linear-gradient(top center, #fff 0%, #ddd 100%);
  border: 1px solid;
  border-color: #ddd #bbb #999;
  cursor: pointer;
  color: #333;
  /*
    Helvetica Neue present, because it works better
    for line-height on buttons than Arial, on OS X.
  */
  font: 16px/1.3 Arial, 'Liberation Sans', FreeSans, sans-serif;
  outline: 0;
  overflow: visible;
  padding: 3px 10px;
  text-shadow: #fff 0 1px 1px;
  width: auto;
  
  /* overide styles from basic above */
  
  border-radius: 0;
  border: none;
  background: #97b270;
  color: #FFF;
  text-shadow: none;
  text-transform: uppercase;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  padding: 10px;

  /* IE7 */
  *padding-top: 2px;
  *padding-bottom: 0px;
}

button {
  /* IE7 */
  *padding-top: 1px;
  *padding-bottom: 1px;
}

textarea,
select,
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
  -webkit-appearance: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background-color: #fff;
  border: 1px solid;
  border-color: #848484 #c1c1c1 #e1e1e1;
  color: #000;
  outline: 0;
  padding: 2px 3px;
  font-size: 13px;
  /*
    Leaving out Helvetica Neue, to not throw off size="..."
    on inputs. Arial is more reliable, on Windows and OS X.
  */
  font-family: Arial, 'Liberation Sans', FreeSans, sans-serif;
  height: 1.8em;

  /* IE7 */
  *padding-top: 2px;
  *padding-bottom: 1px;
  *height: auto;
}

/*
  Separate rule for Firefox.
  Separate rule for IE, too.
  Cannot stack with WebKit's.
*/
::-webkit-input-placeholder {
  color: #888;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #888;
}

input.placeholder_text,
textarea.placeholder_text {
  color: #888;
}

:invalid {
  /*
    Suppress red glow that Firefox
    adds to form fields by default,
    even when user is still typing.
  */
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

button:focus,
button:active,
input:focus,
input:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
  -moz-box-shadow: #aaa 0 0 7px;
  -webkit-box-shadow: #aaa 0 0 7px;
  box-shadow: #aaa 0 0 7px;

  /* for Opera */
  z-index: 1;
}

input[type="file"]:focus,
input[type="file"]:active,
input[type="radio"]:focus,
input[type="radio"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:active {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

select[disabled],
textarea[disabled],
input[type="date"][disabled],
input[type="datetime"][disabled],
input[type="datetime-local"][disabled],
input[type="email"][disabled],
input[type="month"][disabled],
input[type="number"][disabled],
input[type="password"][disabled],
input[type="search"][disabled],
input[type="tel"][disabled],
input[type="text"][disabled],
input[type="time"][disabled],
input[type="url"][disabled],
input[type="week"][disabled] {
  background-color: #eee;
}

button[disabled],
input[disabled],
select[disabled],
select[disabled] option,
select[disabled] optgroup,
textarea[disabled] {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  color: #888;
  cursor: default;
}

textarea,
select[size],
select[multiple] {
  height: auto;
}

/* Tweaks for Safari + Chrome. */
@media (-webkit-min-device-pixel-ratio: 0) {
  select {
    background-image: url(../img/select_arrow.gif);
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 20px;
  }

  select[size],
  select[multiple] {
    background-image: none;
    padding: 0;
  }

  ::-webkit-validation-bubble-message {
    box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666), color-stop(1, #000));
    border: 1px solid;
    border-color: #747474 #5e5e5e #4f4f4f;
    color: #fff;
    font: 11px/1 'Lucida Grande', Arial, 'Liberation Sans', FreeSans, sans-serif;
    padding: 15px 15px 17px;
    text-shadow: #000 0 0 1px;
  }

  ::-webkit-validation-bubble-arrow,
  ::-webkit-validation-bubble-top-outer-arrow,
  ::-webkit-validation-bubble-top-inner-arrow {
    display: none;
  }
}

textarea {
  min-height: 40px;
  overflow: auto;
  resize: vertical;
  width: 100%;
}

optgroup {
  color: #000;
  font-style: normal;
  font-weight: normal;
}
