@import url(//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css);
@import url(//fonts.googleapis.com/css?family=Raleway:200,800|Roboto+Slab:300,400|Roboto:400,400i,700);
blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}
h1,h2,h3,h4,h5,h6{color:#222;}
h2,h3,h4,h5,h6{font-family:'Roboto Slab',sans-serif}
h1,h2,h3{margin:1.6rem 0 1.6rem}
h1,h2{font-weight:200}
h2,h3{letter-spacing: -.5px;}
h2,h4{line-height:1em}
h3,h6{line-height:1.3333333333333333333333333333333em}
h4,h5{font-weight: 700}
h4,h5,h6{color: #536d7f;margin-bottom:1rem}

h1{font-family:Raleway;font-size:2.7em;font-weight:800;line-height:1.2em}
h2{font-size:2.2em}
h3{font-size:1.6em;font-weight:400}
h4{font-size: 1.2em}
h5{line-height:1.143em}
h6{margin-bottom:1.333em}

h1 a,h2 a,h3 a{color:inherit}
h1 a:hover,h2 a:hover,h3 a:hover{color:rgb(32,178,170)}
html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}
audio,embed,img,object,video{height:auto;max-width:100%}
iframe{border:0}
address,blockquote,code,dd,dialog,dl,dt,form input,form label,ol,ul,p,pre{font-family:Roboto,sans-serif;font-size:18px;line-height:1.785;margin-bottom:1.6em;margin-top:1.6em}
code,pre{font-family:monospace;white-space:pre-wrap}
blockquote{border-left:.4rem solid #8e6544;color:#888;font-style:italic;padding-left:1rem}
blockquote:nth-of-type(2n) { border-left-color: #3b5b71; }
body{background:#fffcfa;color:#868282;font-size:18px;letter-spacing:-.0125rem;line-height:1.785;margin:0 auto 40px}

button,input,optgroup,select,textarea{
	color: #868282;
	font-family: Roboto,sans-serif;
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
}

button{ overflow:visible }
button,select{ text-transform:none }
button,html input[type=button],input[type=reset],input[type=submit]{ cursor:pointer; }
button[disabled],html input[disabled]{ cursor:default }
button::-moz-focus-inner,input::-moz-focus-inner{
	border:0;
	padding:0
}

textarea {
	padding: .3rem 1rem;
	width: 100%;
}

input[type=reset],
input[type=submit],
button{
	background:#fafafa;
	border-radius:5px;
	border:none;
	box-shadow:0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
	color:#666;
	cursor:pointer;
	display:inline-block;
	font-family: Raleway;
	letter-spacing:.1px;
	margin:0;
	padding:0.8rem 2.4rem;
	position:relative;
	text-align:center;
	text-rendering:optimizeLegibility;
	transition:all .2s;
	user-select:none;
	vertical-align:middle;
	white-space:nowrap;
}

input[type=reset].success,
input[type=submit].success,
button.success{
	background:#14c842;
	color:#fff
}

input[type=reset].success:active,
input[type=submit].success:active,
button.success:active { background:#27ad60 }

input[type=reset].info,
input[type=submit].info,
button.info{
	background:#3498db;
	color:#fff
}

input[type=reset].info:active,
input[type=submit].info:active,
button.info:active { background:#2383c4 }

input[type=reset].firm,
input[type=submit].firm,
button.firm{
	background:#1abc9c;
	color:#fff
}

input[type=reset].firm:active,
input[type=submit].firm:active,
button.firm:active { background:#09a580 }

input[type=reset].warning,
input[type=submit].warning,
button.warning{
	background:#f1c40f;
	color:#fff
}

input[type=reset].warning:active,
input[type=submit].warning:active,
button.warning:active { background:#cea70c }

input[type=reset].danger,
input[type=submit].danger,
button.danger{
	background:#e74c3c;
	color:#fff
}

input[type=reset].danger:active,
input[type=submit].danger:active,
button.danger:active { background:#dc2d1b }

input[type=reset].submit,
input[type=submit].submit,
button.submit{
	background:#2196f3;
	color:#fff
}

input[type=reset].submit:active,
input[type=submit].submit:active,
button.submit:active { background:#285e8e }

#social_buttons,
#sitefooter > p,
section.post{ text-align:center }

.row,
article.post,
nav#pagination{margin:0 0 3.2rem}

nav#pagination{text-align:center}
nav#pagination ul { display:inline-block }
nav#pagination ul li {
	border-radius: 5px;
	background: #5dd4b8;
	display: inline-block;
	list-style-type: none
}
nav#pagination ul li a {
	color: #13499e;
	display: block;
	padding: .4rem 1rem .6rem
}
nav#pagination ul li a.current { color: #fff }

article.post > section.post-excerpt { border-bottom: 3px dashed #ccc;padding-bottom: 1.6rem }
article.post:last-child > section.post-excerpt { border-bottom:none }

section.row article.post,
article.page section > *,
article.post section div.kg-card-markdown > * { margin-left: auto;margin-right: auto;max-width:650px;padding: 0 1rem; }

article.page section > *:first-child,
article.post section div.kg-card-markdown > *:first-child { margin-top: 0 }

section.row article.post:last-child section { padding-bottom: 0	}

article.post header { margin-left:auto;margin-right:auto;max-width:800px;overflow:hidden;position:relative;width:100% }
article.page header { margin-bottom:0 }

#blog-titling {
	margin: 0 auto;
	max-width: 800px;
}

#blog-titling > h1,
#blog-titling > p { text-align:center }
#blog-titling > p { margin-bottom:4rem }

.post header h1 { letter-spacing: .1rem;margin:.666667em 0;text-align:center }

header{margin-bottom:1.6rem}
a{color:#3476dc;text-decoration:none}

section > article > header h3 { margin-top: 0 }
section > article:first-child > header h3 { margin-top: 4rem }

section > article > header h3.post-title a { box-shadow: 0 1px 0 #ccc }
section > article > header h3.post-title a:hover { box-shadow: 0 1px 0 rgb(32,178,170) }

#featured-image{margin:1rem 0 0}
#featured-image img{bottom:-8px;position:relative;width:100%}
#featured-image h1{
	background:linear-gradient(transparent,rgba(0,0,0,.7));
	bottom:0;
	color:#fff;
	font-size: 2.7rem;
	margin:0;
	padding:2rem;
	position:absolute;
	text-align:center;
	text-shadow:none;
	text-transform:none;
	width:100%
}

#twitterfollow {border-top:1px solid #ccc;margin-top:3.2rem;padding-top:1.6rem;text-align:center}
#twitterfollow a,#twitterfollow a:visited,#twitterfollow a:hover {color:rgb(32,178,170)}
#twitterfollow a {padding-bottom:0.1rem;border-bottom:1px solid #de0cc5 }
#twitterfollow a:hover {text-decoration:underline}

article.post section div.kg-card-markdown > .video_container{ max-width:650px }
article.post section div.kg-card-markdown > .video_container > div {height:0;margin:0 0 3.2rem;overflow:hidden;padding-bottom:56.25%;padding-top:30px;position:relative}
article.post section div.kg-card-markdown > .video_container > div.cite {margin-bottom:0}
p cite{ background:#eee;display:block;font-style:italic;padding:0.5rem;text-align:center;width:100% }

article.post section div.kg-card-markdown > .video_container embed,
article.post section div.kg-card-markdown > .video_container iframe,
article.post section div.kg-card-markdown > .video_container object{height:100%;left:0;position:absolute;top:0;width:100%}

footer.row{border-top:1px solid #ccc;color:#ccc;padding-top:1.6rem}

#social_buttons{margin:2.4rem 0 1.2rem;width:100%}

.resp-sharing-button{
	transition:background-color .5s ease-out,border-color .5s ease-out,opacity .5s ease-out;
	background:0 0;
	border-radius:.5rem;
	padding:.5em .75em
}
.resp-sharing-button__link{background-image:none;color:#fff;display:inline-block;margin:0 .8rem .8rem;text-decoration:none}
.resp-sharing-button__icon.resp-sharing-button__icon--solid{margin-bottom:0}
.resp-sharing-button__icon svg{fill:#fff;height:1em;margin-bottom:-.1em;width:1em}
.resp-sharing-button--facebook{background-color:#3b5998}
.resp-sharing-button--facebook:active,
.resp-sharing-button--facebook:hover{background-color:#2d4373}
.resp-sharing-button--twitter{background-color:#55acee}
.resp-sharing-button--twitter:active,
.resp-sharing-button--twitter:hover{background-color:#2795e9}
.resp-sharing-button--linkedin{background-color:#0976b4}
.resp-sharing-button--linkedin:active,
.resp-sharing-button--linkedin:hover{background-color:#075683}
.resp-sharing-button--email{background-color:#444}
.resp-sharing-button--email:hover 
.resp-sharing-button--email:active{background-color:#2B2B2B}

body.home-template #body {
	padding-top: 8rem
}

body.home-template #strapline {
	border-right: .33em solid #ccc;
	color: #c52424;
	font-family: 'Roboto Slab';
	font-size: 2.7rem;
	font-weight: 100;
	letter-spacing: -.1rem;
	line-height: 1.3;
	margin: 0 auto 8rem;
	max-width: 800px;
	padding-right: 1em;
	text-align: right;
}

.page-what-we-do .page div p:first-child {
	border-bottom: 1px dashed #ccc;
	border-top: 1px dashed #ccc;
	color: #c52424;
	font-family: Raleway;
	font-size: 1.5em;
	line-height: 1.4;
	margin-bottom: 3.2rem;
	padding: 3.2rem 0;
	text-align: center;
}


#siteheader.row {
	animation: bgFade 30s cubic-bezier(0.25, 0, 0.75, 1) infinite;
	background: linear-gradient(135deg, #3a271c 0%,#d0925d 20%,#e6d5bf 40%,#d6c9d1 50%,#8e99a0 60%,#3b5b71 80%,#253140 100%);
	background-size: 225% 100%;
	margin:0;max-width:100%;width:100% }
#siteheader.row > h1 { display: inline-block;font-family:'Roboto Slab';font-size:2.2rem;font-weight:300;margin:1.6rem 0;text-align:center;width:100% }
#siteheader.row > h1 a { color:#fff }
#siteheader.row > h1 span { font-family:Raleway;font-weight:800;letter-spacing: .1rem; }

ul, ol {
	list-style-position: inside;
	margin: 1rem 0;
	padding-left: 1rem;
}

ul { list-style-type: disc; }
ol { list-style-type: decimal; }

li { margin-bottom: 1rem; }

blockquote { position: relative }
blockquote:before {
	content: "“";
	font-size: 5em;
	left: -4rem;
	line-height: 0;
	position: absolute;
	top: 0.4em
}

table {
	border-collapse: collapse;
	border: 1px solid rgba(0,0,0,.12);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
	font-family: Roboto,sans-serif;
	font-size: 13px;
	left: 50%;
	margin-bottom: 2.4rem;
	position: relative;
	transform: translateX(-50%);
	white-space: nowrap;
}

thead { padding-bottom: 3px; }

th {
	box-sizing: border-box;
	color: rgba(0,0,0,.54);
	font-size: 12px;
	font-weight: 700;
	height: 48px;
	letter-spacing: 0;
	line-height: 24px;
	padding: 0 18px 8px;
	position: relative;
	text-align: left;
	text-overflow: ellipsis;
	vertical-align: bottom;
}

tbody tr {
	height: 48px;
	position: relative;
	transition-duration: .28s;
	transition-property: background-color;
	transition-timing-function: cubic-bezier(.4,0,.2,1);
}

td {
	border-bottom: 1px solid rgba(0,0,0,.12);
	border-top: 1px solid rgba(0,0,0,.12);
	box-sizing: border-box;
	height: 48px;
	padding: 12px 18px;
	position: relative;
	vertical-align: middle;
}

.tough { font-family:Raleway!important;font-size:800!important }
.competent { font-family:'Roboto Slab'!important;font-size:300!important }
#contactbutton { border-bottom: double #c52424; padding-bottom: 0.2rem }

#navTrigger { display: none }

#menu {
	backface-visibility: hidden;
	background-image: none;
	left: 1.6rem;
	margin: 0;
	overflow: hidden;
	position: absolute;
	top: 110px;
	transition: opacity 0.66s cubic-bezier(0.7, 0.01, 0.3, 1)
}

#menu ul { list-style-type:none;margin:0;position:relative }
#menu ul li { margin-bottom: 0 }
#menu ul li a { color: #000;font-size:1.6rem;font-family:'Roboto Slab';padding:0.5rem 1rem;transition:all .2s }
#menu ul li.nav-current a:hover { cursor:default }

#menu ul li a:hover {
	background: #000;
	color: #fff;
}

#menu ul li.nav-current a,
#menu ul li.nav-current a:hover {
	background: none;
	color: #c52424;
}

#contact_form { text-align: center }
#contact_form p { margin-bottom: 0.8rem }

#contact_form input[type="submit"] {
	background: #c4dde7;
	border: none;
	color: #000;
	font-family: Raleway;
	font-size: 2rem;
	font-weight: 200;
	margin: 0.8rem 0;
	padding: 0.8rem 2.4rem;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
	transition: all 0.5s;
}

#contact_form input[type="submit"]:hover { background: #90c0e7; }

#contact_form input[type="text"] {
	border: 1px solid #ccc;
	margin: 0;
	padding: 0.5rem 1rem;
	width: 80%
}

#contact_form textarea {
	border: 1px solid #ccc;
	font-size: 1em;
	margin: 0;
	padding: 0.5rem 1rem;
	width: 80%
}

article.post section div.kg-card-markdown > ul.values {
	font-style: italic;
	list-style-type: none;
	margin-left: 2rem;
}

@media only screen and (min-width:800px) {
	.post header h1 {
		font-size: 2.7rem;
		margin: .666667em 0 0;
		padding: 2rem;
		text-align: center;
	}

	#blog-titling > h1,
	.page header h1 {
		font-size: 5em;
		margin: .666667em 0;
		padding: 0;
	}

	.twincol {
		column-count: 2
	}
}

@media only screen and (min-width:1151px) and (max-width:1300px) {
	#menu ul li a { font-size:1.2rem;line-height:2; }
	#menu ul li.nav-current a { font-size:1.1rem }
}

@media only screen and (max-width:1150px) {
	#navTrigger {
		color: #fff;
		cursor: pointer;
		display: block;
		float: right;
		font-family: 'Roboto Slab';
		font-size: 1.6rem;
		margin: 1.5rem;
		position: relative;
		z-index: 199
	}

	#menu {
		align-items: center;
		background: linear-gradient(#ddd, #fffcfa);
		display: flex;
		height: 60vh;
		justify-content: center;
		left: 0;
		min-height: 300px;
		position: fixed;
		top: 0;
		transform: translateY(-100vh);
		transition: transform .3s ease-in-out;
		width: 100%;
	}

	#menu ul li { text-align: center }
	#menu ul li a { font-size: 1.6rem }

	#siteheader.row > h1 {
		margin:1.6rem 0 1.6rem 1.6rem;
		width: auto
	}

	#siteheader,
	#body,
	#sitefooter {
		transition: transform .3s ease-in-out;
		transform: translateY(0)
	}

	#siteheader.open,
	#body.open,
	#sitefooter.open { transform: translateY(60vh) }

	#siteheader.open {
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		top: -1rem;
	}

	#menu.open {
		box-shadow: #666 0 0 80px;
		transform: translateY(0)
	}

	section#body {
		background: #fffcfa;
		z-index: 2;
	}

	header#siteheader {
		position: relative;
		z-index: 1;
	}
}

@media only screen and (max-width:650px) {
	body { font-size: 14px }
	#siteheader.row { margin-bottom: 0 }
	#siteheader.row > h1 { font-size:1.2rem }

	#navTrigger { font-size: 1.2rem }

	#featured-image h1{ background:0 0;color:rgb(32,178,170);padding:2rem 2rem 0;position:relative }

	body.home-template #strapline {
		font-size: 1.5rem;
	}

	article.post { padding:0 1rem }
	blockquote { margin-left:2rem!important }
	blockquote:before { left:-3.5rem }
}

@media only screen and (min-width:840px) {
	#social_buttons{margin:1rem 0 0;position:fixed;right:0;top:6rem;width:70px}
}

@keyframes bgFade {
	0%{background-position:0 0}
	50%{background-position:100% 0}
	100%{background-position:0 0}
}

#cookies-eu-banner {
	background: #683aef;
	color: #fff;
	padding: 1rem;
	font-size: 13px;
	text-align: center;
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	width: 200px;
}
#cookies-eu-banner p { font-family: Arial }
#cookies-eu-more,
#cookies-eu-accept,
#cookies-eu-reject {
	text-decoration: none;
	background: transparent;
	color: #fff;
	border: 1px solid #3f0a8a;
	cursor: pointer;
	padding: 0.5rem 1rem;
	transition: background 0.07s, color 0.07s, border-color 0.07s;
	display: inline-block;
	margin-bottom: .2rem;
}
#cookies-eu-more:hover,
#cookies-eu-more:focus,
#cookies-eu-accept:hover,
#cookies-eu-accept:focus {
	background: #fff;
	color: #222;
}
#cookies-eu-more {font-family: Arial;}

#cookies-eu-reject {
	background: none;
	font-weight: normal;
	color: #ccc;
	cursor: pointer;
	padding: 0.5rem 1rem;
	border: 1px solid #3f0a8a;
}
#cookies-eu-reject:hover,
#cookies-eu-reject:focus {
	border-color: #fff;
	background: #222;
	color: #fff;
}