/**************************************************
Contact forms */

#contact-form {
	position:relative;
	padding-right:2em;
}

#contact-form abbr {
	color:#7B0101;
	font-size:165%;
	font-weight:bold;
	line-height:1;
	padding:0 1px;
	vertical-align:middle;
	border:none;
}

#contact-form label abbr {
	padding:0;
	position:absolute;
	right:10px;
}

#contact-form p {
	clear:left;
	background:rgba(20,20,20,0.03);
	color:#666;
	margin:0 0 1em 10em;
	padding:0.5em;
	border-radius:0.4em;
}
#contact-form p.note {
	background:none;
	font-size:90%;
	margin:1em 0 0 0;
}
#contact-form p.buttons {
	background:none;
	text-align:center;
	/* Swap margin for padding to fix an ugly IE7 glitch */
	margin-left:0;
	padding-left:10em;
}

#contact-form p label:first-child,
#contact-form p .label:first-child {
	float:left;
	font:105%/2 Arial,Helvetica,sans-serif;
	margin:0 0 0 -11.5em;
	width:10em;
	text-align:right;
}

#contact-form input[type="text"],
#contact-form input[type="tel"],
#contact-form input[type="email"],
#contact-form textarea,
#contact-form select {
	display:block;
	color:#333;
	font:115%/1.2 Arial,Helvetica,sans-serif;
	margin:0;
	width:100%;
	padding:0.3em 0.4em;
	background:#fefefe;
	border:1px solid #ccc;
	border-radius:0.3em;
	box-shadow:inset 0.1em 0.1em 0.1em rgba(0,0,0,0.1);

	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
#contact-form input[type="text"]:focus,
#contact-form input[type="tel"]:focus,
#contact-form input[type="email"]:focus,
#contact-form textarea:focus,
#contact-form select:focus {
	border-color:#aaa;
	box-shadow:inset 0.1em 0.1em 0.1em rgba(0,0,0,0.05);
}
#contact-form .button {
	font-size:125%;
}
#contact-form select {
	width:auto;
}
#contact-form textarea {
	height:7em;
}

#contact-form .captcha-container {
	text-align: center;
	background-color: transparent;
}
#contact-form .g-recaptcha {
	display: inline-block;	
}

/* Validation colors */
#contact-form input.OK {
	/*background-color:#cfc;*/
}
#contact-form input.error {
	background-color:#fcc;
	cursor:help;
}

#contact-form p.error,
.jb-form p.error {
	font-size: 120%;
	
	background-color: rgba(240, 128, 128, .1);

	border-top: 1px solid red;
	border-bottom: 1px solid red;
	border-radius: 0;

	margin-left: 8.25em;
	color: red;
	text-align: center;
}

/*-------------------Side-callout--------------------*/
#side-contact-form {
	position: fixed;
	top: 20%;
	left: 0;
	-webkit-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
	width: 390px;
	height: 79vh;
	z-index: 99;
  -webkit-transition:all 0.3s ease 0s;
  transition:all 0.3s ease 0s;
}
#side-contact-form .btn {
	background: #333E60;
	padding: 12px;
	min-width: 218px;
	color: #FFFFFF;
	display: inline-block;
	text-align: center;
	border-top: 2px solid #87297e;
	border-bottom: 2px solid #87297e;
	font-family: "Century Gothic Bold",Arial,sans-serif;
	text-transform: uppercase;
	font-size: 16px;
	line-height: 16px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	cursor: pointer;
}
#side-contact-form.show {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
}
#side-contact-form .close-btn {
	position: absolute;
	top: 15px;
	right: 20px;	
	height: 36px;
	width: 36px;
}
#side-contact-form  .close-btn:after {
	content:"X";
	color: #fff;
	font-weight: bold;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
#side-contact-form > nav {
	background-color: #333E60;
	border-radius: 10px 10px 0px 0px;
	box-shadow: 0px 0px 10px -3px #000;
	cursor: pointer;
	padding: 13px 15px;
	transform: rotate(90deg);
	transform-origin: 0 100%;
	width: 100%;
	max-width: 201px;
	text-align: center;
	font-size: 18px;
	
	position: absolute;
	left: 100%;
	top: 78px;
	transition: all 0.3s ease 0s;
}

#side-contact-form > nav a {
	color: #FFF !important;
	font-weight: bold;
}
#side-contact-form > nav a img {
	width: 20px;
	height: 19px;
	margin-left: 5px;
	vertical-align: bottom;
}
#side-contact-form > div {
	position: relative;
	padding: 18px;
	background-color: rgba(0,0,0,0.8);
	border: 4px solid #333E60;
	color: #fff;
	width: 100%;
	height: 100%;
	max-height: 680px;
	top: -20px;
	right: 0;
	text-align: left;
	box-sizing: border-box;
}

#side-contact-form #contactForm{
	padding: 25px 5px 0;
	overflow: auto;
	max-height: 100%;
	box-sizing: border-box;
}
#side-contact-form #contactForm p.note {
	max-width: 99%;
	padding: 0px;
	margin: 0px;
}
#side-contact-form #contactForm label {
	display: block;
	position: relative;
	text-align: left;
	font-size: 14px;
	line-height: 1.8;
}
#side-contact-form #contactForm .inline-row,
#side-contact-form #contactForm .inline-row + select,
#side-contact-form #contactForm .inline-row + input {
	width: auto;
	display: inline-block;
	vertical-align: middle;
}
#side-contact-form #contactForm .inline-row + select,
#side-contact-form #contactForm .inline-row + input {
	margin-left: 15px;
	margin-top: 12px;
}
#side-contact-form #contactForm label:not(:first-child) {
	margin-top: 10px;
}
#side-contact-form #contactForm abbr {
	top: 36px;
	right: 5px;
}
#side-contact-form #contactForm input,
#side-contact-form #contactForm textarea,
#side-contact-form #contactForm select {
	width: 100%;
	border-radius: 0;
	padding: 7px;
	border: none;
	-moz-resize: none;
	resize: none;
	box-sizing: border-box;
	font-size: 14px;
}
#side-contact-form #contactForm textarea {
	font-family: Verdana, Geneva, Arial, sans-serif;
}
#side-contact-form #contactForm .captcha-container {
	margin: 10px auto;
	text-align: center;
}
#side-contact-form #contactForm .button {
	padding: 14px 7px 7px;
	font-size: 18px;
}
#side-contact-form .g-recaptcha {
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transform-origin:50% 50%;
      -ms-transform-origin:50% 50%;
          transform-origin:50% 50%;
  display: inline-block;
  max-width: 100%;
  padding: 0px;
/*   margin-left: -15px; */
}
#side-contact-form .g-recaptcha > div {
  margin: 0px;
}

/************************************************************
/************************************************************
RESPONSIVE */

/* Mobile(ish) */
@media screen and (max-width: 555px) {
	
	#contact-form {
		padding-right: 10px;
	}

	#contact-form p {
		margin: 2em 0 0 0;
	}
	#contact-form p.buttons {
		padding:0;
	}
	#contact-form p label:first-child {
		float:none;
		display:block;
		position:absolute;
		width:auto;
		text-align:left;
		margin:-2.3em 0 0;
	}
	#contact-form label abbr {
		position:static;
	}

	#content>article .col.side {
		margin-left:auto;
		margin-right:auto;
		max-width:280px;
	}

}

@media screen and (max-width: 400px) {
	
	#side-contact-form,
	#side-contact-form > div {
		width: 100%;
	}
	
}

