/*
Theme Name: Entity Group Dev Theme
Author: Freestyle Internet Services Ltd.
Author URI: http://www.freestyleinternet.co.uk
Description: Custom built theme for Entity Group
Version: 1.0
*/

* {
	box-sizing:border-box;
}

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, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video, input {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
}

article,
aside,
details,
figcaption,
figure, 
footer, 
header, 
hgroup, 
menu, 
nav, 
section {
	display:block;
	box-sizing:border-box;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

article,
header,
figcaption,
footer,
section,
nav,
time,
img,
aside {
	display:block;
}

body {
	font-family:'Open Sans', sans-serif; 
	font-size:14px;
	left:0;
	-webkit-text-size-adjust:none;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;	
}

body.push-left {
	overflow-x:hidden;
	left:240px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea {
	border-radius:0px;
	font-size:14px;
	outline:none;
	-webkit-appearance:none;
}

select {
	border-radius:0;
	cursor:pointer;
	outline:none;
	text-overflow:'';
	-moz-appearance:none;
	-webkit-appearance:none;
}

select::-ms-expand {
    display: none;
}

input[type="submit"]{
	border-radius:0;
	cursor:pointer;
	outline:none;
	-webkit-appearance:none;
}

::-webkit-input-placeholder {
	color:#999999;
}

:-moz-placeholder {
	color:#999999;
}

::-moz-placeholder {
	color:#999999;
}

:-ms-input-placeholder {  
	color:#999999; 
}

.container {
	margin:0 auto;
	max-width:1020px;
}

.container:after,
.clear-fix:after {
	clear:both;	
	content:'';
	display:block;
}

.main-content {
	background:#FFF;
	padding-top:30px;
	position:relative;
	z-index:2;
}

.transition {
	-webkit-transition:all 0.2s ease;
	-moz-transition:all 0.2s ease;
	-ms-transition:all 0.2s ease;
	-o-transition:all 0.2s ease;
	transition:all 0.2s ease;	
}

.alignleft {
	float:left;
	margin:0 20px 20px 0;
}

.alignright {
	float:right;
	margin:0 0 20px 20px;
}

.aligncenter {
	margin:0 auto;
}

.button {
	/* background:#1e22aa; */
	background:rgb(89,89,89);
	color:#FFF;
	display:inline-block;
	font-size:14px;
	height:30px;
	line-height:30px;
	padding:0 20px;
	text-align:center;
}

.button.secondary {
	background:#e4e4e5;
	color:#1e22aa;
}

.button.save-date {
	background:#1e22aa url(images/plus-icon.png) no-repeat 8px center;
	margin-top:15px;
	padding-left:30px;
	text-transform:uppercase;
}

.button:hover {
	text-decoration:none;
}

.button.back {
	background:#eeeeee url(images/back-arrow.png) no-repeat 20px center;
	color:#1e22aa;
	padding-left:40px;
	text-transform:uppercase;
}

.load-content-wrap {
	padding:0;
	text-align:center;
}

.load-more-con {
	text-align:center;
}

.load-more {
	background:#eeeeee;
	color:#1e22aa;
	display:inline-block;
	font-size:14px;
	height:30px;
	line-height:30px;
	margin:20px auto 0;
	text-align:center;
	text-transform:uppercase;	
}

.load-more span {
	background:#eeeeee url(images/dropdown-arrow-blue.png) no-repeat;
	display:inline-block;
	height:9px;
	margin-left:15px;
	vertical-align:middle;
	width:16px;
}

.load-more:hover {
	text-decoration:none;
}

.load-more.loading {
	background:#eeeeee url(images/ajax-loader-small.gif) no-repeat center center;
	text-indent:-9999px;
}

.load-more.casestudies {
	padding:0;
	width:32.3333333%;
}

.load-more.disabled {
	opacity:0.5;
	pointer-events:none;
}

#load-content {
	text-align:left;
}

.cols-3 .col {
	float:left;
	width:33.333333%;
}

.cols-3 .left-col {
	padding-right:35px;
}

.cols-3 .right-col {
	padding-left:35px;
}

.cols-4 .col {
	float:left;
	font-size:14px;
	padding:0 10px;
	width:25%;
}

.cols-4 .col .icon {
	display:block;
	margin:20px 0;
	text-align:center;
}

.cols-4 .col .icon img {
	height:auto;
	margin:0 auto;
	max-width:90%;
}

section {
	background:#FFF;
	padding:30px 0;
	position:relative;
	z-index:2;
}

.full-width-video {
	padding:0;
}

.full-width-video p {
	margin:0;
}

.full-width-video .iframe-wrapper {
	margin:0;
}

.full-width-video .section-label {
	margin:0 auto 5px;
}

.image_full_width img {
	height:auto;
	width:100%;
}

.down-arrow {
	position:relative;
}

.next-section {
	bottom:20px;
	display:block;
	height:37px;
	left:50%;
	margin-left:-32px;
	position:absolute;
	width:64px;
	z-index:100;
}

.next-section.white {
	background:url(images/down-arrow-white.png) no-repeat;
}

.next-section.grey {
	background:url(images/down-arrow-grey.png) no-repeat;
}

.next-section.blue {
	background:url(images/down-arrow-blue.png) no-repeat;
}

.down-arrow {
	padding-bottom:100px;
}

.iframe-wrapper {
	height:0;
	margin-top:30px;
	padding-bottom:56.25%;
	position:relative;
	width:100%;
}

.two_cols_intro.bluebg {
	background:url(images/hero-text-banner-bg.jpg) no-repeat center center;
	background-size:cover;
	color:#FFF;
}

.two_cols_intro.bluebg h2 {
	color:#FFF;
}

.two_cols_intro .iframe-wrapper {
	margin:0 0 30px;
}

.iframe-wrapper iframe {
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:100%;
}

.two_cols_intro .intro {
	padding:0 0 10px;
}

.two_cols_intro .left-col {
	float:left;
	width:48%;
}

.two_cols_intro .right-col {
	float:right;
	width:48%;
}

.two_cols_intro img {
	height:auto;
	width:100%;
}

.scrolling-logos {
	padding-top:50px;
}

.home .scrolling-logos {
	background:#eeeeee;
}

.scrolling-logos .owl-item img {
	height:auto;
	margin:0 auto;
	max-width:80%;
	width:auto;
}

h1 {
	color:#1e22aa;
	font-family:'Open Sans', sans-serif;
	font-size:48px;
	font-weight:100;
	line-height:1.3;
	margin-bottom:10px;
	/* visibility: hidden; */
}

.locations h1 {
	padding-top:30px;
	text-align:center;
}

h2 {
	color:#1e22aa;
	font-size:36px;
	line-height:1.4;
	padding-top:20px;
}

.section-title {
	font-family:'Open Sans', sans-serif;
	font-size:48px;
	font-weight:100;
	margin-bottom:25px;
	text-align:center;
	/* visibility: hidden; */
}

h3 {
	color:#1e22aa;
	font-size:20px;
	margin-bottom:10px;
}

.section-label {
	font-size:18px;
	margin:0 auto 5px;
	max-width:900px;
	text-align:center;
}

.two_cols_intro.bluebg .section-label {
	color:#000;
}

.section-heading {
	font-family:'Open Sans', sans-serif;
	font-size:48px;
	font-weight:100;
	text-transform:none;
	margin-bottom:20px;
	text-align:center;
	/* visibility: hidden; */
}

.single-events h2 {
	padding:0;
}

b,
strong {
	font-weight:700;
}

i,
em {
	font-style:italic;
}

p {
	line-height:1.43;
	margin-bottom:15px;
}

a {
	color:#1e22aa;
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}

section ul,
section ol {
	line-height:1.43;
	margin:0 0 20px 18px;
}

section ul li ,
section ol li {
	padding:5px 0;
}

.with-padding-top {
	padding-top:150px;
}

.content-page {
	padding-bottom:50px;
}

.header-logo {
	display:inline-block;
	float:left;
	vertical-align:middle;
	width:150px;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;	
}

.header-logo img {
	height:auto;
	width:100%;
	-webkit-filter: inherit;
	filter: inherit;
	margin: 0px;
}

header.sticky .header-logo img {
	margin: 0px;
}

.main-header {
	/* background:rgba(255,255,255,0.85); */
	background:rgba(255,255,255);
	left:0;
	padding:25px 0 12px;
	position:fixed;
	text-align:left;
	top:0;
	width:100%;
	z-index:999;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;	
}

.main-header.push-left {
	left:240px;
}

.main-header .container {
	position:relative;
}

.main-header .menus {
	float:right;
	text-align:right;
	vertical-align:middle;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;	
}

.main-menu {
	clear:both;
	float:none;
	padding-top:50px;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;
}

.main-menu.push-left {
	overflow-x:hidden;
	left:0px;
}

.main-menu li {
	float:left;
	list-style-type:none;
	margin:0 10px;
}

.main-menu li:last-child {
	margin-right:0;
}

.main-menu li a {
	/* color:#000; */
	color:rgb(89,89,89);
	/* font-size:13px; */
	font-size:12px;
}

.main-menu li.current-menu-item a,
.main-menu li a:hover {
	color:#1e22aa;
	text-decoration:none;
}

.main-header .button {
	float:right;
	margin-left:10px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:145px;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;	
}

.main-header .button.open-contact {
	top:0;
	right:0;
}

.main-header .button.open-search {
	top:0;
	right:310px;
}

.main-header .button.open-newsletter {
	top:0;
	right:155px;
}

.main-header .button.menu-toggle {
	display:none;
	right:30px;
}

.main-header .button.menu-toggle span {
	border-bottom:3px solid #FFF;
	border-top:3px solid #FFF;
	display:block;
	height:24px;
	margin:18px 10px;
	position:relative;
	width:40px;
}

.main-header .button.menu-toggle span:after {
	background:#FFF;
	content:'';
	display:block;
	height:3px;
	position:absolute;
	top:7px;
	left:0;
	width:100%;
}

/* Modified SJH: hide logo when showing search below */
.main-header.search-open .button.open-search {
	height:0; /*30px;*/
	width:0; /*30px;*/
}

.searchform {
	overflow:hidden;
	position:absolute;
	top:0;
	right:310px;
	width:0;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;
}

.main-header.search-open .searchform {
	width:300px;
}

.main-header.search-open .search-open {
	right:190px;
}

.searchform label {
	display:none;
	position:absolute;
}

.searchform input[type="text"]{
	background:rgba(255,255,255,0.85);
	font-size:14px;
	height:30px;
	line-height:30px;
	padding:0 10px;
	width:100%;
}

.searchform input[type="submit"]{
	background: #1e22aa url(images/search-icon.png) no-repeat center center;
	background-size:50% 50%;
	height:30px;
	position:absolute;
	top:0;
	right:0;
	text-indent:-9999px;
	width:30px;
}

.search-open .searchform {
	overflow:visible;
}

.searchform .close-search {
	display:none;
}

.close-menu {
	background:#1e22aa;
    color: #FFF;
    height: 60px;
    font-size: 20px;
    line-height: 60px;
    position: fixed;
    top: 0;
    left:-70px;
    text-align: center;
    text-decoration: none;
    width: 60px;
    z-index: 999;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.close-menu:hover {
	text-decoration:none;
}

.close-menu.open {
	display:block;
	left:240px;
}

.menu-padding {
	height:110px;
}

.hero {
	overflow:hidden;
	padding:0;
	position:relative;
	width:100% !important;
}

.single-news-events .hero.static {
	background:#1e22aa;
	padding:180px 0 30px;
}

.hero img {
	height:auto;
	width:100%;
}

.hero.static {
	position:relative;
}

.hero.static h1 {
	color:#000;
	font-size:20px;
	line-height:1.2;
}

.hero.static .date {
	color:#FFF;
	font-family:'Open Sans', sans-serif;
	font-size:40px;
font-weight:100;
	visibility: hidden;
}

.hero .text-wrap {
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:100%;	
}

.hero .inner-wrap {
	display:table;
	height:100%;
	margin:0 auto;
	max-width:630px;
	width:100%;
}

.hero .inner-wrap.full {
	max-width:1020px;
}

.hero .text-wrap .inner {
	display:table-cell;
	height:100%;
	position:relative;
	width:100%;
}

.hero .text-wrap .text {
	color:#FFF;
	bottom:70px;
	left:0;
	margin:0;
	position:absolute;	
}

.hero .text-wrap .text .title {
	color:#75c6ed;
	font-size:16px;
	margin:0;
	text-transform:uppercase;
}

.hero .text-wrap .text h1 {
	color:#FFF;
	font-size:50px;
}

.hero .text-wrap .location {
	color:#FFF;
	bottom:15px;
	left:0;
	margin:0;
	position:absolute;
}

.slide-item {
	position:relative;
}

.logo-carousel .owl-item {
	height:100px;
}

.slide-item.logo {
	display:table;
	height:100%;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
}

.slide-item .centre {
	display:table-cell;
	height:100%;
	vertical-align:middle;
	width:100%;
}

.slide-content {
	bottom:0;
	left:0;
	position:absolute;
	right:0;
	top:0;
	z-index:99;
}

.slide-content a {
	bottom:0;
	left:0;
	position:absolute;
	right:0;
	top:0;	
}

.home .slide-content a {
	position:static;
}

.home .slide-content .button {
	margin-top:20px;
}

.slide-content .container {
	padding-top:140px;
}

.home .slide-content .container {
	display:table;
	height:100%;
	padding-top:0;
	width:100%;
}

.slide-text {
	color:#FFF;
	display:inline-block;
	max-width:800px; 
        /* SJH - to go with smaller header: max-width: 75%; */
	padding:12px;
	position:relative;
        background: rgba(0,0,0,0.7) !important;
}

.home .slide-text .heading, 
.home .slide-text .text {
	background:rgba(100,100,100,0.7) !important;
}

.home .slide-text {
	background:none !important;
	display:table-cell;
	height:100%;
	max-width:none;
	padding:0;
	vertical-align:middle;
	text-align:center;
	width:100%;
}

.slide-text .heading {
	font-family:'Open Sans', sans-serif;
	font-size:39px;
	font-weight:100;
	line-height:1.25;
	margin:0 0 10px;
	/* visibility: hidden; */
}

.home .slide-text .heading {
	color:#FFF;
	font-family:'Open Sans', sans-serif;
	/* font-size:62px; */
	font-size:40px;
	font-weight:700;
	margin:0;
	visibility: visible;
}

.home .slide-text .heading span {
	color:#00aeef;
}

.slide-text .text {
	font-size:19px;
	line-height:1.375;
	margin:0;
}

.home .slide-text .text {
	color:#FFF;
	font-family:'Open Sans', sans-serif;
	/* font-size:42px; */
	font-size:35px;
	font-weight:100;
	line-height:1.2;
	padding-top:20px;
	/* visibility: hidden; */
}

.slideshow-overlay {
	background: -moz-linear-gradient(top,  rgba(46,49,146,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(46,49,146,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom,  rgba(46,49,146,1) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2e3192', endColorstr='#00ffffff',GradientType=0 );
	left:0;
	opacity:0.6;
	padding-bottom:20%;
	position:absolute;
	top:0;
	width:100%;
	z-index:3;
}

.home .slideshow-overlay {
	padding-bottom:25%;
}

.hero-text-banner {
	background:url(images/hero-text-banner-bg.jpg) no-repeat center center;
	background-size:cover;
	color:#FFF;
	padding:35px 0 100px;
	text-align:center;
}

.hero-text-banner .inner {
	padding:0 100px;
}

.hero-text-banner h2 {
	color:#FFF;
	font-family: 'Open Sans', sans-serif;
	font-weight:700;
	margin-bottom:10px;
font-weight:100;
}

.hero-text-banner .text {
	color:#150e56;
	font-size:48px;
	font-weight:700;
	font-style:italic;
	padding-bottom:25px;
}

.hero-text-banner .text p {
	line-height:1.2;
	margin-bottom:25px;
}

.padding-top {
	padding:110px 0 60px;
}

.steps {
	font-size:18px;
	padding:35px 0 100px;
	text-align:center;
}

.steps h2 {
	color:#00aeef;
	font-family:'Open Sans', sans-serif;
	font-size:48px;
	font-weight:100;
	/* visibility: hidden; */
}

.steps .button {
	margin-top:40px;
	min-width:335px;
}

.steps .step {
	font-size:13px;
	margin-top:30px;
	padding:0 15px;
}

.steps .icon {
	display:inline-block;
	margin:0 auto 20px;
}

.steps .step h3 {
	font-size:13px;
	font-weight:700;
	margin:0;
	text-transform:uppercase;
}

.testimonials-section {
	background:url(images/hero-text-banner-bg.jpg) no-repeat center center;
	background-size:cover;
	padding:50px 0 100px;
	text-align:center;
}

.testimonials-section h2 {
	color:#FFF;
	margin-bottom:10px;
}

.testimonials-section .button {
	min-width:335px;
}

.logo-block {
	font-size:0;
	text-align:left;
}

.logo-block .logo {
	display:inline-block;
	margin-bottom:45px;
	vertical-align:middle;
	width:50%;
}

.logo-block .logo img {
	height:auto;
	max-width:80%;
}

.testimonials-section .testimonial {
	color:#FFF;
	font-size:30px;
	padding:0;
}

.testimonials-section .testimonial .text {
	font-style:italic;
	padding:15px 0;
	position:relative;
}

.testimonials-section .testimonial .logo {
	padding:25px 0;
	text-align:center;
}

.testimonials-section .testimonial .logo img {
	height:auto;
	margin:0 auto;
	max-width:200px;
}

.testimonials-section .testimonial span.before,
.testimonials-section .testimonial span.after {
	background:url(images/open-quote.svg) no-repeat;
	background-size:100% 100%;
	content:'';
	display:inline-block;
	height:28px;
	width:40px;
}

.testimonials-section .testimonial span.before {
	margin-right:5px;
	position:relative;
	top:-12px;
}

.testimonials-section .testimonial span.after {
	background:url(images/close-quote.svg) no-repeat;
	background-size:100% 100%;
	margin-left:5px;
	position:relative;
	bottom:-12px;
}

.testimonials-section .testimonial p {
	line-height:1.33333;
	font-weight:100;
}

.testimonials-section .testimonial .text p span {
	color:#2f3490;
	font-family: "karmina";
	font-size:110px;
	/* visibility: hidden; */
}

.testimonials-section .author {
	color:#FFF;
	font-size:14px;
	font-weight:600;
	line-height:1.3;
	padding:10px 0 20px;
}

.events-preview {
	font-size:0;
	padding:40px 0;
}

.col-3 .left-col {
	float:left;
	width:66.166666666%;
}

.col-3 .right-col {
	float:right;
	width:32.33333333%;
}

.tile {
	background:#150e56;
	display:inline-block;
	min-height:180px;
	overflow:hidden;
	position:relative;
	width:49%;
	-webkit-transition:all 0.5s ease;
	-moz-transition:all 0.5s ease;
	-ms-transition:all 0.5s ease;
	-o-transition:all 0.5s ease;
	transition:all 0.5s ease;	
}

.col-3 .tile {
	display:inline-block;
	margin-bottom:12px;
	width:32.333333%;
}

.col-3 .tile:nth-child(2),
.col-3 .tile:nth-child(3n+2){
	margin:0 1.5% 12px;
}

.col-3 .left-col .tile,
.col-3 .right-col .tile {
	margin:0 0 12px;
	width:100%;
}

.tile.full {
	height:180px;
	margin:0;
	width:100%;
}

.tile a {
	display:block;
	height:100%;
	left:0;
	position:absolute;
	text-align:left;
	top:0;
	width:100%;
}

.tile.large {
	min-height:370px;
	width:49.5%;
}

.events-preview .tile.large {
	float:left;
}

.tile .date {
	color:#FFF;
	font-size:16px;
	font-weight:600;
	left:10px;
	margin:0;
	position:absolute;
	top:10px;
	z-index:3;
}

.tile.large .date {
	font-size:24px;
	left:15px;
	position:absolute;
	top:20px;
}

.tile .overlay {
	background:#2f3490;
	bottom:0;
	color:#FFF;
	left:0;
	position:absolute;
	right:0;
}

.tile.event .overlay {
	background:#2f3490;
}

.tile .overlay .inner {
	padding:10px;
	position:relative;
}

.tile.large .overlay .inner {
	padding:15px;
}

.tile .overlay h3 {
	color:#FFF;
	font-size:13px;
	margin:0;
}

.tile.large .overlay h3 {
	font-size:20px;
	font-weight:700;
	line-height:1.4;
	margin-bottom:7px;
}

.tile .overlay .more {
	bottom:-15px;
	color:#FFF;
	font-size:13px;
	left:10px;
	position:absolute;
}

.tile.large .overlay .more {
	left:15px;
}

.tile .location {
	font-size:13px;
	margin:0;
}

.event-slider {
	float:right;
	min-height:370px;
	width:49.5%;
}

.event-slider .tile {
	margin-bottom:10px;
}

.event-slider .tile:nth-child(2n){
	margin-left:2%;
}

.col-wrap {
	position:relative;
}

.intro {
	margin-top:20px;
	padding-bottom:50px;
}

.intro .text {
	float:left;
	padding-right:25px;
	width:63.5%;
}

.intro .text.full-width {
	float:none;
	padding-right:0;
	width:100%;
}

.intro .type {
	color:#74bddf;
	font-size:16px;
	margin-bottom:5px;
	text-transform:uppercase;
}

.intro .type span {
	color:#1e22aa;
}

.intro .tagline {
	font-size:24px;
}

.intro .logo {
	float:right;
	text-align:left;
	width:36.5%;
}

.intro .logo img {
	height:auto;
	max-width:100%;
}

.narrow-area {
	margin:0 auto;
	max-width:870px;
}

.narrow-col {
	margin:0 auto;
	max-width:630px;
	padding-bottom:60px;
}

.narrow-col .left-col {
	float:left;
	width:56.7%;
}

.main-content .narrow-col .left-col {
	padding:30px 0;
}

.narrow-col.even .left-col {
	padding:0 10px 0 0;
	width:50%;
}

.single-people .main-content .narrow-col .left-col {
	padding:50px 0 30px;
}

.narrow-col .right-col {
	float:right;
	width:36.5%;
}

.narrow-col.even .right-col {
	padding:0 0 0 10px;
	width:50%;
}

.narrow-col .right-col img {
	height:auto;
	width:100%;
}

.narrow-col .left-col .website a {
	color:#000;
}

.narrow-col .pull-up {
	margin-top:-65px;
}

.narrow-col .pull-up-high {
	margin-top:-165px;
}

.narrow-col .left-col .content {
	margin:30px 0;
}

.single-people .job-title {
	font-size:20px;
}

.single-people .linkedin-profile {
	display:inline-block;
	margin:15px 0 30px;
}

.next-posts a,
.previous-posts a {
	display:block;
	height:26px;
	margin-top:-13px;
	position:absolute;
	text-indent:-9999px;
	top:50%;
	width:15px;
}

.next-posts a {
	background:url(images/left-arrow-grey.png) no-repeat;
	left:0;
}

.previous-posts a {
	background:url(images/right-arrow-grey.png) no-repeat;
	right:0;
}

.form-section {
	padding:30px 0;
}

.form-section.contact {
	background:#c2e0ee;
}

.form-section h2 {
	font-size:48px;
	margin-bottom:20px;
	padding:0;
}

.form-section .iframe-wrapper {
	padding:0;
}

.gform_wrapper .gform_fields {
	margin:0;
}

.gfield {
	padding:0;
}

.gform_wrapper .half {
	float:left;
	width:49%;
}

.gform_wrapper label {
	display:none;
}

.gform_wrapper .file label {
	display:block;
	font-weight:600;
	margin-bottom:10px;
}

.gform_wrapper .gfield {
	clear:both;
	list-style-type:none;
	margin-bottom:16px;
}

.gform_wrapper .gfield.half {
	clear:both;
	float:left;
	width:49%;
}

.gform_wrapper .gfield.right {
	clear:none;
	float:right;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"]{
	background:#FFF;
	color:#000;
	height:30px;
	line-height:30px;
	padding:0 10px;
	width:100%;
}

.grey-fields .gform_wrapper input[type="text"],
.grey-fields .gform_wrapper input[type="tel"],
.grey-fields .gform_wrapper input[type="email"],
.grey-fields .gform_wrapper input[type="url"],
.grey-fields .gform_wrapper input[type="password"]{
	background:#EEE;
}

.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="url"],
.gform_wrapper .gfield_error input[type="password"],
.gform_wrapper .gfield_error textarea {
	background:#f29bc1;
}

.gform_wrapper textarea {
	border:none;
	color:#000;
	height:120px;
	padding:10px;
	resize:none;
	width:100%;
}

.gform_wrapper select {
	background:#FFF url(images/dropdown-arrow-blue.png) no-repeat 94% center;
	border:none;
	color:#999;
	font-size:14px;
	height:30px;
	line-height:30px;
	padding:0 10px;
	width:100%;
}

.grey-fields .gform_wrapper select {
	background:#EEE url(images/dropdown-arrow-blue.png) no-repeat 94% center;
}

.gform_wrapper .gfield:not(.half) select {
	background:#FFF url(images/dropdown-arrow-blue.png) no-repeat 98% center;	
}


.grey-fields .gform_wrapper .gfield:not(.half) select {
	background:#EEE url(images/dropdown-arrow-blue.png) no-repeat 98% center;	
}


.grey-fields .gform_wrapper textarea {
	background:#EEE;
}

.ginput_complex > span {
	display:block;
	float:left;
	margin-bottom:16px;
	width:49%;
}

.ginput_complex > span:nth-child(2n){
	margin-left:2%;
}

.gform_wrapper .ginput_complex select {
	background:#FFF url(images/dropdown-arrow-blue.png) no-repeat 96% center !important;
}

.grey-fields .gform_wrapper .ginput_complex select {
	background:#EEE url(images/dropdown-arrow-blue.png) no-repeat 96% center !important;
}

.gform_wrapper input[type="submit"]{
	background:#2f3490;
	color:#FFF;
	height:30px;
	line-height:30px;
	max-width:230px;
	width:100%;
}

.gfield_html {
	font-size:18px;
	padding-bottom:15px;
	text-align:center;
}

.gfield_html p {
	margin-bottom:0;
}

.gfield_html h2 {
	color:#00aeef;
	font-family:'Open Sans', sans-serif;
	font-size:48px;
	padding:0;
font-weight:100;
	/* visibility: hidden; */
}

.gform_wrapper .validation_error {
	color:#cb0000;
	padding-bottom:20px;
	text-align:center;
}

.gform_wrapper .validation_message {
	color:#cb0000;
	font-size:13px;
	margin-top:5px;
}

.gform_validation_container {
	display:none;
}

.gform_ajax_spinner {
	clear:both;
    margin:30px auto 0;
}

.popup-overlay {
	background:rgba(0,0,0,0.8);
	display:none;
	height:100%;
	left:0;
	position:fixed;
	top:0;
	width:100%;
	z-index:999;
}

.popup.contact {
	background:#c2e0ee;
	left:-9999px;
	max-width:1020px;
	padding:30px 35px;
	position:absolute;
	top:0;
	width:80%;
	z-index:9999;
}

.close-popup {
	background:url(images/close-icon-black.png) no-repeat;
	display:block;
	height:20px;
	position:absolute;
	right:20px;
	text-indent:-9999px;
	top:20px;
	width:20px;
}

.filters {
	background:#eeeeee;
	padding:10px 0;
}

.filters select {
	background:#00afec url(images/dropdown-arrow.png) no-repeat 95% center;
	border:none;
	border-radius:0;
	color:#FFF;
	float:left;
	height:30px;
	margin-right:10px;
	outline:none;
	padding:0 10px;
	width:28%;
}

.filters select:nth-child(2){
	background:#2f3490 url(images/dropdown-arrow.png) no-repeat 95% center;
}

.filters select:nth-child(3){
	background:#150e56 url(images/dropdown-arrow.png) no-repeat 95% center;
}

.filters #remove-filters {
	background:#150e56 url(images/close-icon-white.png) no-repeat center center;
	display:block;
	float:right;
	height:30px;
	text-align:left;
	text-indent:-9999px;
	width:30px;
	-webkit-transition:all 0.5s ease;
	-moz-transition:all 0.5s ease;
	-ms-transition:all 0.5s ease;
	-o-transition:all 0.5s ease;
	transition:all 0.5s ease;
}

.filters .search-field {
	background:#150e56;
	float:right;	
	margin-right:10px;
	overflow:hidden;
	position:relative;
	width:30px;
	-webkit-transition:all 0.5s ease;
	-moz-transition:all 0.5s ease;
	-ms-transition:all 0.5s ease;
	-o-transition:all 0.5s ease;
	transition:all 0.5s ease;
}

.filters #keywords {
	background:#150e56;
	color:#FFF;
	height:30px;
	line-height:30px;
	padding:0;
	text-indent:10px;
	width:0;
	-webkit-transition:all 0.5s ease;
	-moz-transition:all 0.5s ease;
	-ms-transition:all 0.5s ease;
	-o-transition:all 0.5s ease;
	transition:all 0.5s ease;
}

.filters.open .search-field {
	width:28%;
}

.filters.open .search-field #keywords {
	width:100%;
}

.filters input[type="submit"]{
	background:#150e56 url(images/search-icon-white.png) no-repeat center center;
	height:30px;
	position:absolute;
	right:0;
	text-indent:-9999px;
	text-transform:uppercase;
	top:0;
	width:30px;
	-webkit-transition:all 0.5s ease;
	-moz-transition:all 0.5s ease;
	-ms-transition:all 0.5s ease;
	-o-transition:all 0.5s ease;
	transition:all 0.5s ease;
}

#load-content,
#load-content .grid {
	margin-top:20px;
	min-height:200px;
}

#load-content .grid p {
	font-size:14px;
}

#load-content .grid .clear-fix {
	text-align:center;
}

#load-content.loading,
#load-content .grid.loading {
	background:url(images/ajax-loader.gif) no-repeat center center;
}

.grid {
	font-size:0;
	margin-top:40px;
	text-align:left;
}

.grid-item.full {
	font-size:14px;
	height:180px !important;
	position:relative;
	width:100%;
}

.grid-item {
	display:inline-block;
	margin-bottom:12px;
	position:relative;
}

.grid-item a {
	display:block;
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:100%;
}

.grid-item a:hover {
	text-decoration:none;
}

.grid.col-3 .grid-item {
	font-size:14px;
	height:180px;
	vertical-align:top;
	width:32.333333%;
}

.grid.col-3.no-gap .grid-item {
	width:33.3333333%;
}

.grid.col-3 .grid-item:nth-child(2),
.grid.col-3 .grid-item:nth-child(3n+2){
	margin:0 1.5% 12px;
}

.grid.col-3.no-gap .grid-item:nth-child(2),
.grid.col-3.no-gap .grid-item:nth-child(3n+2){
	margin:0 0 12px;
}

.grid-item .overlay {
	/*background:rgba(21,14,86,0.85); */
	background:#1e22aa;
	color:#FFF;
	height:100%;
	left:0;
	padding:10px;
	position:absolute;
	top:0;
	width:50%;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;
}

.grid-item.panel-left .overlay {
	/* background:rgba(0,175,236,0.85); VQD */
	background:rgba(30,34,170,0.85);
}

.grid-item.panel-left.briefing .overlay {
	/*background:rgba(21,14,86,0.85); */
	background:#1e22aa;
}

.grid-item.video .overlay {
	background:url(images/video-icon.png) no-repeat center center;
	width:100%;
}

.grid-item.video .overlay .label {
	color:#FFF;
	display:block;
	font-size:12px;
	left:10px;
	position:absolute;
	top:10px;
	text-transform:uppercase;	
}

.grid-item .label {
	display:block;
	font-size:12px;
	margin-bottom:10px;
	text-transform:uppercase;
}

.grid-item h2 {
	color:#FFF !important;
	font-size:22px;
	line-height:1.3;
	padding-top:0;
}

.grid-item.video h2 {
	bottom:10px;
	font-size:14px;
	position:absolute;
	left:0;
	right:0;
	text-align:center;
}

.grid-item .read-more {
	bottom:10px;
	font-size:14px;
	left:10px;
	position:absolute;
}

.grid-item.case-study-item .tagline,
.grid-item.panel-left .tagline,
.tile.news .tagline {
	display:none;
	font-size:13px;
	margin-top:10px;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-ms-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
	transition:all 0.3s ease;
}

.grid-item.case-study-item:hover .overlay,
.grid-item.panel-left:hover .overlay {
	/* background:rgba(21,14,86,1); */
	background:#1e22aa;
	width:100%;
}

.grid-item.panel-left.briefing:hover .overlay {
	/* background:rgba(21,14,86,1); */
	background:#1e22aa;
}

.grid-item.case-study-item:hover .tagline,
.grid-item.panel-left:hover .tagline,
.tile.news:hover .tagline {
	display:block; 
}

.grid-item.panel-left:hover .overlay {
	/* background:rgba(0,175,236,1); VQD */
	background:rgba(30,34,170,1);
	width:100%;
}

.grid-item.person {
	background: rgb(255,255,255);
	background: -moz-linear-gradient(-45deg,  rgba(255,255,255,1) 0%, rgba(204,204,204,1) 100%);
	background: -webkit-linear-gradient(-45deg,  rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
	background: linear-gradient(135deg,  rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cccccc',GradientType=1 );
	margin-bottom:0 !important;
}

.person a {
	color:#150e56;
	padding:10px;
}

.person .text {
	width:47%;
}

.person h2,
.person .job-title {
	color:#150e56;
	font-size:14px;
	line-height:1.43;
	text-transform:none;
}

.person .job-title .read-more {
	color:#150e56;
	width:47%;
}

.person img {
	bottom:0;
	max-height:95%;
	position:absolute;
	right:0;
	width:auto;
}

.locations {
	padding:0 0 100px;
}

.locations .col {
	margin-top:20px;
}

#map-canvas {
	height:500px;
}

#map-canvas img {
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
	filter:grayscale(1);
	-webkit-filter:grayscale(1);
}

.facts-row {
	text-align:center;
}

.facts-row .fact {
	display:inline-block;
	margin:0 15px;
	vertical-align:middle;
}

.facts-row .fact span {
	display:inline-block;
	font-size:17px;
	vertical-align:middle;
}

.facts-row .fact .figure {
	color:#00aeef;
	font-family:'Open Sans', sans-serif;
	font-size:70px;
	font-weight:100;
	/* visibility: hidden; */
}

.main-footer {
	/* background:#000; */
	background: rgb(37,37,37);
	color: rgb(204,204,204) !important;
	font-size:12px;
	padding:25px 0;
	position:relative;
	z-index:2;
}

.main-footer a {
	/* color:#0BB4AB; */
	color: rgb(204,204,204) !important;
	font-weight:400;
	text-transform:uppercase;
}

.main-footer .menu {
	float:left;
	margin:0 80px 50px 0;
}

.main-footer li {
	margin-bottom:6px;
}

.main-footer li a {
	/* color:#FFF; */
	color: rgb(204,204,204) !important;
	font-size:13px;
	text-transform:uppercase;
}

.main-footer .social {
	float:right;
	font-size:0;
}

.main-footer .social li {
	display:inline-block;
	margin:0 0 0 15px;
	vertical-align:middle;
}

.main-footer .social li:first-child {
	margin:0;
}

.shareBar {
	background:#FFF;
	padding:25px 0;
	position:relative;
	z-index:2;
	text-align:right;
}

.shareBar * {
	box-sizing:content-box;
}

.shareBar .addthis_native_toolbox {
	float:right;
}

.main-footer .copyright {
	color: rgb(204,204,204) !important;
	/*color:#FFF; */
	clear:both;
	font-size:13px;
}

#trigger1 {
    position: absolute;
    top: 50%;
}

#trigger2 {
    position: absolute;
    top: 55%;
}

.grid-item.tile-slideshow {
	height:auto !important;
	margin-bottom:20px !important;
	overflow:hidden;
}

.grid-item.tile-slideshow .grid-item,
.grid-item.tile-slideshow .tile {
	margin:0 !important;
	width:100%;
}

.grid-item.tile-slideshow .controls {
	background:#EEEEEE;
	padding:10px;
}

.grid-item.tile-slideshow .controls .view-all-content {
	font-size:14px;
	position:static;
}

.scrollmagic-pin-spacer {
	width:100% !important;
}

/* 
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/* 
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}

/* 
 *  Core Owl Carousel CSS File
 */
.owl-carousel {
  display: none;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-flow: row wrap;
  -moz-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel .owl-controls .owl-nav .owl-prev.disabled,
.owl-carousel .owl-controls .owl-nav .owl-next.disabled {
	display:none !important;
}

.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel .owl-refresh .owl-item {
  display: none;
}
.owl-item {
	overflow:hidden;
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.logoSlider {
  font-size:0;
  padding:0 7%;
}

.logoSlider .owl-item {
  display:inline-block;
  float:none;
  vertical-align:middle;
}

.owl-item img {
  display: block;
  height:auto;
  width: 100%;
  -webkit-transform-style: preserve-3d;
}
.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}
.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/* 
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity 400ms ease;
  -moz-transition: opacity 400ms ease;
  -ms-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-item img {
  transform-style: preserve-3d;
}

/* 
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}
.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: scale 100ms ease;
  -moz-transition: scale 100ms ease;
  -ms-transition: scale 100ms ease;
  -o-transition: scale 100ms ease;
  transition: scale 100ms ease;
}
.owl-carousel .owl-video-play-icon:hover {
  -webkit-transition: scale(1.3, 1.3);
  -moz-transition: scale(1.3, 1.3);
  -ms-transition: scale(1.3, 1.3);
  -o-transition: scale(1.3, 1.3);
  transition: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}
.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  -webkit-transition: opacity 400ms ease;
  -moz-transition: opacity 400ms ease;
  -ms-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
}

.owl-theme .owl-controls .owl-dots {
	bottom:80px;
	display:inline-block;
	margin:0 auto;
	position:absolute;
	text-align:center;
	width:100%;
}

.grid-item.tile-slideshow .owl-theme .owl-controls .owl-dots {
	bottom:-28px;
	right:10px;
	text-align:right;
	width:auto;
}

.owl-theme .owl-controls .owl-prev,
.owl-theme .owl-controls .owl-next {
	display: block;
	height:26px;
	margin-top:-23px;
	position:absolute;
	text-indent:-9999px;
	top:50%;
	width:15px;
}

.hero .owl-theme .owl-controls .owl-prev,
.hero .owl-theme .owl-controls .owl-next {
	margin-top:50px;
}

.owl-theme .owl-controls .owl-prev {
	background:url(images/left-arrow.png) no-repeat 0 center;
	left:-100%;
	margin-left:-45px;
}

.related-carousel.owl-theme .owl-controls .owl-prev,
.logo-carousel.owl-theme .owl-controls .owl-prev {
	left:-40px;
	margin:-13px 0 0;
}

.hero .owl-theme .owl-controls .owl-prev {
	left:100px;
}

.owl-theme .owl-controls .owl-next {
	background:url(images/right-arrow.png) no-repeat 0 center;
	left:auto;
	right:-40px;
}

.hero .owl-theme .owl-controls .owl-next {
	right:100px;
}

.related-carousel.owl-theme .owl-controls .owl-next,
.logo-carousel.owl-theme .owl-controls .owl-next {
	right:-40px;
	margin:-13px 0 0;
}

.owl-theme .owl-controls .owl-next:hover:before,
.owl-theme .owl-controls .owl-prev:hover:before {
	opacity:1;
}

.owl-theme .owl-dots .owl-dot {
	background:#FFF;
    display: inline-block;
	font-size:0;
	height:12px;
	margin:0 5px;
    zoom: 1;
    *display: inline;
	vertical-align:middle;
	width:12px;
}

.grid-item.tile-slideshow .owl-theme .owl-dots .owl-dot {
	border:1px solid #DDD;
}

.owl-theme .owl-dots .owl-dot:hover,
.owl-theme .owl-dots .owl-dot.active {
	background:#00aeef;
}

@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    /* visibility: hidden; */
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@media screen and (min-width: 1061px) {	
	.sticky .header-logo {
		/* margin-top:12px;
		width:115px; */
		margin-top:5px;
		width:95px;
	}

	.main-header.sticky {
		height:60px;
		padding:0;
	}

	.main-header.sticky.search-open {
		background:#FFF;
	}

	.main-header.sticky .menus {
		float:none;
		left:auto;
		padding-right:120px;
		position:absolute;
		right:0;
		top:0;
	}

	.sticky .main-menu {
		clear:none;
		display:inline-block;
		margin:20px 20px 0;
		padding-top:0;
		vertical-align:middle;
	}

	.main-header.sticky .button {
		height:60px;
		margin:0;
		position:absolute;
		text-indent:-200px;
		width:60px;
	}

	.main-header.sticky .button.open-newsletter {
		background:#1e22aa ;
		right:30px;
		width:0; 
	}

	.main-header.sticky .button.open-contact {
		background:rgb(89,89,89) url(images/contact-icon.png) no-repeat center center;
		right:0;
	}

	.main-header.sticky .button.open-search {
		background:rgb(89,89,89) url(images/search-icon.png) no-repeat center center;
		right:63px;
	}

	.main-header.sticky .searchform {
		display:block;
		position:absolute;
		right:63px;
		top:0;
	}

	.main-header.sticky.search-open .searchform {
		width:805px;
	}

	.sticky .searchform input[type="text"]{
		background:#FFF;
		font-size:20px;
		height:60px;
		line-height:60px;
		padding:0 15px;
	}

	.sticky .searchform .close-search {
		color:#FFF;
		display:block;
		font-size:26px;
		height:60px;
		line-height:60px;
		position:absolute;
		text-indent:0 !important;
		top:0;
		right:-63px;
		width:60px;
	}

	.sticky .searchform input[type="submit"]{
		height:60px;
		width:60px;
	}
}

@media screen and (max-width: 1300px) {	
	.slide-text .heading {
		font-size:34px;
	}

}

@media screen and (max-width: 1060px) {	
	.container {
		padding-left:30px;
		padding-right:30px;
	}
	.events-preview,
	.scrolling-logos,
	.related-items,
	.single-news-events .col-wrap,
	.single-case-studies .col-wrap {
		padding-left:20px;
		padding-right:20px;
	}

	.slide-content .container {
		padding-top:90px;
	}

	.hero .owl-theme .owl-controls .owl-prev {
		left:30px;
		margin-top:20px;
	}

	.hero .owl-theme .owl-controls .owl-next {
		margin-top:20px;
		right:30px;
	}

	/* VQD changes:  */
	.header-logo {
		margin-top:5px; /* 12px; */
		width:100px; /* 115px; */
	}
	/* End VQD changes */

	.menu-padding {
		height:60px;
	}

	.main-header {
		height:60px;
		padding:0;
	}

	.main-header.search-open {
		background:#FFF;
	}

	.main-header .menus {
		float:none;
		left:auto;
		padding-right:120px;
		position:absolute;
		right:0;
		top:0;
	}

	.main-menu {
		background:#FFF;
		box-shadow:0 0 10px rgba(0,0,0,0.3);
		height:100%;
		left:-250px;
		overflow-x:hidden;
		overflow-y:scroll;
		padding:0;
		position:fixed;
		top:0;
		width:240px;
		z-index:9997;
		-webkit-overflow-scrolling:touch;
	}

	.main-menu li {
		display:block;
		float:none;
		padding:0;
	}

	.main-menu li a {
		border-bottom:1px solid #DDDDDD;
		display:block;
		padding:15px;
		text-align:left;
	}

	.main-header .button {
		height:60px;
		margin:0;
		position:absolute;
		text-indent:-200px;
		width:60px;
	}

	.main-header .button.open-contact {
		background:#1e22aa url(images/contact-icon.png) no-repeat center center;
		right:93px;
	}

	.main-header .button.open-search {
		background:#1e22aa url(images/search-icon.png) no-repeat center center;
		right:156px;
	}

	.main-header .button.open-newsletter {
		display:none;
	}

	.main-header .searchform {
		display:block;
		position:absolute;
		right:93px;
		top:0;
	}

	.main-header.search-open .searchform {
		width:500px;
	}

	.hero .text-wrap .text,
	.hero .text-wrap .location {
		left:30px;
	}

	.single-news-events .hero.static {
		padding:100px 0 20px;
	}

	.searchform input[type="text"]{
		background:#FFF;
		font-size:20px;
		height:60px;
		line-height:60px;
		padding:0 15px;
	}

	.searchform .close-search {
		color:#FFF;
		display:block;
		font-size:26px;
		height:60px;
		line-height:60px;
		position:absolute;
		text-indent:0 !important;
		top:0;
		right:-63px;
		width:60px;
	}

	.searchform input[type="submit"]{
		height:60px;
		width:60px;
	}

	.main-header .button.menu-toggle {
		display:block;
	}

	.hero-text-banner .inner {
		padding:0;
	}

	.home .slide-text {
		padding:0;
	}

	.home .slide-text .heading,
	.home .slide-text .text {
		font-size:30px;
	}
}

	.single-posts.hero.static {
		padding:100px 0 20px;
	}

@media screen and (max-width: 960px) {	
	.slide-text {
		max-width:75%;
	}
	.hero-text-banner .col {
		float:none;
		padding:0;
		width:100%;
	}

	.hero-text-banner .centre-col {
		margin:30px 0;
	}

	.grid.col-3 .grid-item,
	.search-results .col-3 .tile {
		margin-right:0;
		width:49.25%;
	}

	.grid.col-3 .grid-item:nth-child(2), 
	.grid.col-3 .grid-item:nth-child(3n+2){
		margin:0 0 12px;
	}

	.grid.col-3 .grid-item:nth-child(2n){
		margin-left:1.5%;
	}

	.grid.col-3.no-gap .person {
		margin:0 !important;
		width:50%;
	}

	.load-more.casestudies {
		width:50%;
	}

	#map-canvas {
		height:400px;
	}

}

@media screen and (max-width: 800px) {
	.slide-text {
		max-width:100%;
	}
}

@media screen and (max-width: 767px) {
	.slide-text .heading {
		font-size:28px;
		margin:0 0 5px;
	}

	.slide-text .text {
		font-size:18px;
	}

	.home .slide-text .heading,
	.home .slide-text .text {
		font-size:24px;
	}

	.cols-4 {
		font-size:0;
	}

	.cols-4 .col {
		display:inline-block;
		float:none;
		margin-left:-0.25em;
		vertical-align:top;
		width:50%;
	}

	.events-preview .tile.large {
		float:none;
		margin-bottom:12px;
		min-height:250px;
		width:100%;
	}

	.event-slider {
		float:none;
		min-height:0;
		width:100%;
	}

	.event-slider .tile {
		width:100%;
	}

	.event-slider .tile:nth-child(2n){
		margin-left:0;
	}

	.testimonials-section .left-col,
	.testimonials-section .centre-col,
	.testimonials-section .right-col {
		float:none;
		padding:0;
		width:100%;
	}

	.logo-block .logo img {
		margin:0 auto;
	}

	#map-canvas {
		height:300px;
	}

	.main-header.search-open .searchform {
		width:400px;
	}

	.filters select {
		margin:0 0 10px;
		width:100%;
	}

	.filters #remove-filters {
		float:right;
		margin:0;
		width:49%;
	}

	.filters input[type="submit"]{
		width:100%;
	}

	.filters.open .search-field input[type="submit"]{
		width:30px;
	}

	.filters .search-field {
		float:left;
		margin:0;
		width:49%;
	}

	.filters.open .search-field {
		width:88%;
	}

	.filters.open #remove-filters {
		width:10%;
	}

	/* Added SJH. Stop moving text on smaller screens */
	.grid-item.case-study-item:hover .tagline,
	.grid-item.panel-left:hover .tagline,
	.tile.news:hover .tagline {
	        display:none; 
	}

	.grid-item.case-study-item:hover .overlay,
	.grid-item.panel-left:hover .overlay,
	.tile.news:hover .overlay {
	        width: 50% !important;
	}
}

@media screen and (max-width: 667px) {
	.with-padding-top {
		padding-top:80px;
	}
	.page-content h1 {
		font-size:26px;
	}
	.container {
		padding-left:15px;
		padding-right:15px;
	}

	.home .slide-text .heading {
		font-size:22px;
	}

	.home .slide-text .text {
		font-size:18px;
		padding-top:10px;
	}

	.home .button {
		font-size:12px !important;
		min-width:0;
	}

	.home .slide-content .button {
		margin-top:15px;
		font-size:9px !important;
	}

	.events-preview,
	.scrolling-logos,
	.related-items,
	.single-news-events .col-wrap,
	.single-case-studies .col-wrap {
		padding-left:35px;
		padding-right:35px;
	}

	.next-section {
		background-size:100% 100% !important;
		bottom:15px;
		height:28px;
		margin-left:-25px;
		width:50px;
	}
	.slide-text {
		max-width:100%;
	}

	.slide-content .container {
		padding-top:60px;
	}

	.slide-text .heading {
		font-size:20px;
		margin:0 0 5px;
	}

	.slide-text .text {
		font-size:13px;
	}

	.owl-theme .owl-controls .owl-dots {
		bottom:60px;
	}

	.hero .owl-theme .owl-controls .owl-prev {
		left:15px;
		margin-left:0;
	}

	.hero .owl-theme .owl-controls .owl-next {
		margin-right:0;
		right:15px;
	}

	/* VQD changes:  */
	.header-logo {
		margin-top:5px; /* 6px; */
		overflow: hidden; /* new */
		height: 42px; /* new */
		position:relative;
	}
	/* End VQD changes:  */

	.menu-padding {
		height:50px;
	}

	.main-header {
		height:50px;
	}

	.main-header .menus {
		height:50px;
		padding-left:120px;
	}

	.main-header .button {
		height:50px;
		width:50px;
	}

	.main-header .button.open-contact {
		right:68px;
	}

	.main-header .button.open-search {
		right:121px;
	}

	.main-header .button.open-newsletter {
		display:none;
	}

	.main-header .button.menu-toggle {
		right:15px;
	}

	.main-header .button.menu-toggle span {
		height:20px;
		margin:15px 10px;
		width:30px;
	}

	.main-header .button.menu-toggle span:after {
		top:6px;
	}

	.main-header .searchform {
		right:68px;
	}

	.main-header.search-open .menus {
		width:100%;
	}

	.main-header.search-open .searchform {
		top: 52px; /* SJH */
		left:0;
		right:68px;
		width:auto;
	}

	.close-menu {
		height:50px;
		line-height:50px;
		width:50px;
	}

	.searchform input[type="text"]{
		height:50px;
		line-height:50px;
	}

	.searchform input[type="submit"]{
		height:50px;
		width:50px;
	}

	.searchform .close-search {
		line-height:50px;
		right:-53px;
	}

	.steps h2,
	.section-heading,
	.section-title {
		font-size:38px;
	}

	.hero-text-banner .text {
		font-size:35px;
	}

	.main-footer .social {
		float:none;
		margin:0 0 40px;
	}

	.main-footer .menu {
		margin:0;
		width:50%;
	}

	.main-footer .copyright {
		padding-top:40px;
	}

	.grid.col-3 .grid-item,
	.search-results .col-3 .tile {
		width:100%;
	}

	.grid.col-3 .grid-item:nth-child(2), 
	.grid.col-3 .grid-item:nth-child(3n+2){
		margin:0 0 12px;
	}

	.grid.col-3 .grid-item:nth-child(2n){
		margin-left:0;
	}

	.grid.col-3.no-gap .person {
		margin:0 !important;
		width:100%;
	}

	.load-more.casestudies {
		width:100%;
	}

	.two_cols_intro .left-col,
	.two_cols_intro .right-col {
		float:none;
		width:100%;
	}

	#map-canvas {
		height:250px;
	}

	.gform_wrapper .gfield.half {
		float:none;
		width:100%;
	}

	.ginput_complex > span {
		clear:both;
		float:none;
		width:100%;
	}

	.ginput_complex > span:nth-child(2n){
		margin-left:0;
	}

	.col-3 .tile {
		width:100%;
	}

	.col-3 .tile:nth-child(2), .col-3 .tile:nth-child(3n+2){
		margin:0 0 12px;
	}

	.col-3 .left-col {
		width:100%;
	}

	.col-3 .right-col {
		width:100%;
	}

	.events-listings .col-3 .tile:nth-child(5), .events-listings .col-3 .tile:nth-child(5n+3){
		margin:0 0 12px;
	}

	.testimonials-section .button {
		font-size:13px;
		padding:0;
		width:100%;
	}

	.testimonials-section .testimonial span.before,
	.testimonials-section .testimonial span.after {
		height:14px;
		width:20px;
	}

	.testimonials-section .testimonial span.before {
		top:-5px;
	}

	.testimonials-section .testimonial span.after {
		bottom:-5px;
	}

	.hero .text-wrap .text,
	.hero .text-wrap .location {
		left:15px;
	}

	.intro .text {
		float:none;
		padding:0;
		width:100%;
	}

	.intro .logo {
		float:none;
		margin-top:30px;
		width:100%;
	}

	.hero .narrow-col {
		padding-bottom:0;
	}

	.narrow-col.even .right-col,
	.narrow-col.even .left-col,
	.narrow-col .right-col,
	.narrow-col .left-col {
		float:none;
		padding:0;
		width:100%;
	}

	.narrow-col .pull-up-high,
	.narrow-col .pull-up {
		margin:0;
	}

	.single-people .main-content .narrow-col .left-col {
		margin-top:30px;
		padding:0;
	}

	.testimonials-section .testimonial {
		font-size:20px;
	}

	.testimonials-section .testimonial .author {
		font-size:14px;
	}
}

@media screen and (max-width: 540px) {
	.facts-row .fact {
		display:block;
		text-align:center;
	}
}

@media screen and (max-width: 480px) {
	.cols-4 .col {
		display:block;
		margin-top:40px;
		margin-left:0;
		width:100%;
	}

	.main-footer .menu {
		float:none;
		width:100%;
	}
	.hero img {
/*		height:auto;*/
		max-width:none;
/*		width:180% */
	}
}

	.single .header {
		display:block
		margin-top: 40px
		
	}
} 

	.one-column-full-width .P {
	align:justify;
	line-height: 1.43;
    margin-bottom: 5px;
	
}



/* 
  Additions: SJH
 */ 

/* 
 * General image headers - max height: 395px 
 */
/*
.hero, .hero img {
  max-height: 395px !important;
}

.home .hero, .home .hero img {
  max-height: none !important;
}


.page-id-485 .hero, .page-id-485 .hero img,
.page-id-20 .hero, .page-id-20 .hero img,
.page-id-16 .hero, .page-id-16 .hero img,
.page-id-8 .hero, .page-id-8 .hero img {
  max-height: 100% !important;
}
*/

/* 
 * ALTERERED Dec '18 to make all consistent 
 */



.hero {
position: relative !important;
margin: auto !important; 
top: 0px !important; 
left: 0px !important; 
bottom: auto !important; 
right: auto !important; 
box-sizing: border-box !important; 
width:100% !important;

max-height: 600px !important; 
min-height: inherit !important;
height: auto !important;
}

.scrollmagic-pin-spacer {
top: 0px !important; 
left: auto !important; 
bottom: auto !important; 
right: auto !important; 
margin: 0px !important; 
display: block !important; 
position: relative !important; 
box-sizing: content-box !important; 
width: 100% !important; 
max-height: 600px !important; 
min-height: inherit !important;
height: auto !important; 
}


@media screen and (min-width: 1061px) {
.hero img {
width: 100% !important;
height: auto !important;
margin-top: calc(200px - 10vw) !important;
}
}

@media screen and (min-width: 1061px) {
.home .hero img {
width: 100% !important;
height: auto !important;
margin-top: calc(200px - 20vw) !important;
}
}


/*
@media screen and (min-width: 1500px) {
.hero img {
height: 100% !important;
max-height: 600px !important;
margin: 0 auto !important;
width: auto !important; 
min-width: 1500px !important;
}

.hero {
background: #fff;
max-height: 600px !important;
}

.scrollmagic-pin-spacer {
width: 100% !important;
max-height: 600px !important;
min-height: inherit !important;
height: auto !important;
}


}
*/

@media screen and (min-width: 1061px) {
.page-id-485 .hero {
  height:100% !important;
}

.page-id-485 .hero {
   background: #111 !important;
}

.page-id-485 .hero img {
height: auto !important;
/*max-height: 600px !important; */
margin: 0 auto !important;
margin-top: 80px !important;
width: auto !important;  
max-width: 1061px !important;
}

}


.main-header { background: white !important; }


/* END SJH CHANGED HERO */



/* Unordered list on services page header */

.page-id-10 .slide-text ul {
    list-style-type: disc;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    list-style-position: inside;
    padding-top: 5px;
}

.page-id-10 .slide-text li {
padding-left: 2em;
text-indent: -2em;
}


.page-id-10 .slide-text br {
    display: none;
}

@media screen and (max-width: 960px) {	
	.page-id-10 .slide-content .container {
		padding-top:60px;
	}

	.page-id-10 .slide-text .heading {
		font-size:20px;
		margin:0 0 5px;
	}

	.page-id-10 .slide-text .text {
		font-size:13px;
	}
	.page-id-10 .hero img {
		max-height:280px !important;
		max-width:none;
		width:180%
	}
}
@media screen and (max-width: 500px) {	
	.page-id-10 .hero img {
		height:auto;
		max-height:280px !important;
		max-width:none;
		width:180%
	}
}
@media screen and (max-width: 480px) {
    .page-id-10 .slide-content {
	/* background: green; */
    }
}

/* sub menus */

.menu-item-has-children:after {
  font-size: 9px;
  padding-left: 3px;
  content: "▼";
}

.menu-item-has-children ul {
  display: none; 
}

.menu-item-has-children:hover ul {
  display: block;
}

.sub-menu {
position: absolute;
padding-top: 15px;
padding-bottom: 10px;
}

.sub-menu li {
  display: block;
  float: none !important;
  text-align: left;
  background:rgba(255,255,255,0.85);
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
}


/* Blog Sidebar */


#article-container {
  position: relative;
  display:block;
}
#article-container article {
float: left; 
width: 70%;
display:block;
}

#article-container article img.size-full {
  width: 100%;
}

#article-container aside {
border-left: 1px solid #aaa;
width: 30%;
float: right;
padding-left: 10px;
margin-top: 100px;
padding-top: 10px; 
padding-bottom: 10px;
}

#article-container aside ul {
  list-style: none;
}

.page-id-10 .slide-text a {
  position: static;
  color: white;
}

@media screen and (max-width: 767px) {
    #article-container aside {
      clear: both;
      width: 100%;
      border-left: 0;
      border-top: 1px solid grey;
    }
    #article-container article {
      width: 100%;
    }
}


/* Case study top image */

.single-insights .scrollmagic-pin-spacer,
.single-insights .scrollmagic-pin-spacer #pin1 {
  /* max-height: 395px !important; */
}

.single-insights .scrollmagic-pin-spacer #pin1 .text {
  background: rgba(140,140,140,.7);
  padding: 10px;
}

.single-insights .case-study-img,
.single-insights .case-study-img img {
  max-height: 100% !important;
}

@media screen and (max-width: 1300px) {
    .hero .text-wrap .text h1 {
	font-size:34px; /* VQD was 40 */
    }
}

@media screen and (max-width: 767px) {
    .hero .text-wrap .text h1 {
	font-size:34px; /* VQD was 35 */
    }
}

@media screen and (max-width: 667px) {
    .hero .text-wrap .text h1 {
	font-size:25px;
    }
    section.hero { padding-top: 50px !important; }
}



/* responsive sub-menu items */


@media screen and (max-width: 1060px) {
.sub-menu {
display:block !important;
position:relative;
padding: 0;
}

.sub-menu li {
display:block !important;
position:relative;
padding: 0;
}

.menu-item-has-children::after {
 content: none;
}
}

/* product page image height tweaks */
.page-id-1254 .scrollmagic-pin-spacer,
.page-id-1254 .scrollmagic-pin-spacer .hero,
.page-id-1254 .scrollmagic-pin-spacer .hero img,
.page-id-1259 .scrollmagic-pin-spacer,
.page-id-1259 .scrollmagic-pin-spacer .hero,
.page-id-1259 .scrollmagic-pin-spacer .hero img,
.page-id-1268 .scrollmagic-pin-spacer,
.page-id-1268 .scrollmagic-pin-spacer .hero,
.page-id-1268 .scrollmagic-pin-spacer .hero img,
.page-id-1277 .scrollmagic-pin-spacer,
.page-id-1277 .scrollmagic-pin-spacer .hero,
.page-id-1277 .scrollmagic-pin-spacer .hero img {
  /* height: 395px !important; */
  max-height: 395px !important;
  overflow:hidden;
}

aside .gform_body input,
aside .gform_body textarea {
  background:#EEE !important;
}

/* 
 * Contact us, top image crop
 */

/*
.page-id-20 .hero {
  max-height: 395px !important;
}
.page-id-20 .hero img {
  height:auto !important;
  margin-top: -7% !important;
}

@media screen and (max-width: 480px) {
    .page-id-20 .hero img {
	width:100% !important;
	height:100% !important;
    }
}
*/

.page-id-20 .hero {
  max-height: 100% !important;
}
@media screen and (max-width: 480px) {
    .page-id-20 .hero img {
	width:100% !important;
	height:100% !important;
    }
}

/* 
 * Thompson Reuters single view of customer top image crop
 * Need to change this to keep the height and crop the edges 
 * because the 
 */
.postid-519 .hero a {
  max-height: 395px !important;
}
.postid-519 .hero img {
  min-width: 1024px;
/*  height:395px;*/
}
@media screen and (max-width: 480px) {
    .postid-519 .hero img {
	width:100% !important;
	height:100% !important;
    }
}


/* 
 * Contrast for thankyou box on homepage 
 */

#gform_confirmation_wrapper_2 {
  border: 1px solid grey;
  padding:15px;
  text-align: center;
  font-weight: normal;
  background: #1e22aa;
  color: white;
}

/* 
 * contrast for dates on event search
 */
.search p.date{ background-color:rgba(0, 0, 0, 0.4); padding: 3px; margin: -3px;}

.search p.date {
  font-size:12px !important;
  font-weight: normal;
}
.search p.date::before {
  content:"EVENT: ";
}

/* 
 * search - ellipsis on long titles
 * see: https://stackoverflow.com/questions/3922739/limit-text-length-to-n-lines-using-css
 */
.search .overlay h2 {
   overflow: hidden;
   text-overflow: ellipsis;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 4; /* number of lines to show */
   line-height: 25px;        /* fallback */
   max-height: 100px;       /* fallback */
}

/* 
 * events listings. compress up and wrap text 
 */
@media screen and (min-width: 769px) {

.tribe-event-featured .tribe-events-event-image {
  padding-right: 40px !important;
}

.tribe-events-event-image {
  padding-top: 4px !important;
  padding-left: 14px !important;
  float:left !important;
}

.tribe-events-event-image img {
  width: 300px !important;
}

.tribe-events-list-event-description {
  width:50% !important;
}
.tribe-events-list-event-description.noimage {
  width:100% !important;
}
}


/* 768 is the point where event formatting changes */
@media screen and (max-width: 768px) {
.tribe-event-featured .tribe-events-event-image {
  margin: 0 !important;
}
.tribe-event-featured .tribe-events-event-meta {
  color: black !important;
}

.tribe-events-event-image,
.tribe-events-event-image>a,
.tribe-events-event-image>a>img {
  width: 100% !important;
  padding-top: auto;
}

.event-container p.withimage {
  float: none;
}

}

/* 
 * Stop links with children changing mouse and colour
 */
li.menu-item-has-children>a:hover {
  color: #000;
  cursor: default;
}


/* 
 * Black and white images
 */

#searchform,footer,img {
         -webkit-filter: grayscale(100%);
	 filter: grayscale(100%);
         /* filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); */

}

.home .steps img {
	-webkit-filter: none;
	filter: none;
}



.main-header  .button
 {
  filter: grayscale(100%);
}

@media screen and (max-width: 1060px) {
.main-header  .button.open-search,
.main-header  .button.open-contact
 {
  filter: brightness(240%) grayscale(100%);
}
#searchform { border-left: 1px solid #eee; }
}


/* Override position of main section - this is somewhere inline in the code, but try here */
.category section {
  margin-top: 120px !important;
}

.main-header .container {
  /* border-bottom: 20px solid white; */
}

.main-header.sticky {
  /* height: 80px !important; */
}

.highlight {
  background-color: yellow;
  border: 1px solid red;
}

@media screen and (min-width: 1061px) {
#searchform { border: 1px solid #eee; }
/* Menu highlight when hovering */
/* .sub-menu .menu-item { background: #f5f5f5; } */
.sub-menu .menu-item:hover {
background: #f9f9f9 !important;
}

.sub-menu li {
border-bottom: 1px solid #eee;
border-left: 1px solid #eee;
border-right: 1px solid #eee;
  background: rgb(255,255,255,0.95) !important;
}

.sub-menu li:first-of-type {
  border: 1px solid #eee;
}
}


header {
  border-bottom: 1px solid #eee;
}

/* white papers / case studies / search results, etc */
.grid-item h2 {
max-height: 115px;
overflow: hidden;
}

.grid-item .tagline {
color: #ccc;
}

article.tile, article.grid-item {
  border: 1px solid #eee;
}


/* Remove header from contact us page */
.page-id-20 section.down-arrow .next-section,
.page-id-20 section.with-padding-top { visibility: hidden; display: none; }

/* Blog post - move main article down */
.single-post #article-container>article { padding-top: 130px; }

.single-post #article-container aside { margin-top: 110px; }

/* Putting this here so that it stops the flicker on blog post author details */
.widget-container > h3 {

    font-family: "Open Sans",sans-serif !important;
    color: #1e22aa !important;
    font-size: 28px !important;
    font-weight: 100 !important;
    line-height: 1.3 !important;
    margin: 10px 0 10px 0 !important;

}

/* POPUP */
.pum-container { 
    padding: 18px;
    border-radius: 0px;
    border: 1px none #000000;
    box-shadow: 0px 10px 25px 0px rgba( 2, 2, 2, 0.5 );
    /* background-color: rgba( 0,159,223, 1 ) !important;  */
    background-color: rgba( 200,200,200, .95 ) !important; 
} 
.pum-container p, .pum-container label { color: #222; }
.pum-container .pum-close { background-color: #009fdf !important; }

.single-insights .intro, .single-insights .narrow-col {
    padding-bottom: 0px !important; 
}

.page-id-2834 section.image_full_width {
  padding-bottom: 0;
}

.page-id-485 section.hero img,
.page-id-2834 section.image_full_width img,
.color-img {
	-webkit-filter: inherit;
	filter: inherit;
}


/* Tweak office locations: three office locations */
.page-id-20 .cols-4 .col .address {
width:230px !important;
min-width: 30px !important;
padding-left: 30px; 
margin: 0 auto !important;
}

.page-id-20 .cols-4 .col {
    width:33%;
    padding-left: 0;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
.page-id-20 .cols-4 .col {
    width:50%;
    padding-left: 0;
    margin: 0 auto;
}
}
@media screen and (max-width: 480px) {
.page-id-20 .cols-4 .col {
    width:100%;
    padding-left: 0;
    margin: 0 auto;
}
}
/* .page-id-20 .cols-4 .col:nth-child(4) { display: none; }*/

/* Tweak map title */
.page-id-2834 .image_full_width { 
padding: 0;
margin-top: -30px;
}


/* fix title in insights */
.single-insights .hero .text-container>.text {
    background:rgba(0,0,0,0.7) !important;
    min-width: 300px !important;
    padding: 10px; 
}



@media screen and (max-width: 1300px)
.hero .text-wrap .text h1 {
    font-size: 34px;
}

/* WODA video */

.full-width-video {
    max-width: 100% !important;
}
.full-width-video p {
    max-width: 700px;
    margin: 0 auto;
}


/* homepage services */

@media screen and (min-width: 769px) {
.cols-4 .col:nth-child(5) {
    margin-left: 12.5%;
}
}

/* homepage contact form - make narrower */
.page-id-2 .gform_wrapper {max-width:800px; margin: 0 auto; }


.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="url"],
.gform_wrapper .gfield_error input[type="password"],
.gform_wrapper .gfield_error textarea {
	background:#bbb !important;
}

.pagination {
  text-align: center !important;
}

article p:nth-child(1) {
  font-weight: bold;
}


/* Changes - jan 19 */

section:first-of-type .container .narrow-area > p:first-of-type,
section:first-of-type .container > .intro > p:first-of-type,
#article-container > article > p:first-of-type {
font-weight: bold;
}



.slide-content {
    height: 65% !important;
    max-width: 1020px !important;
    margin: 0 auto !important;
}

.home .slide-content {
    height: 100% !important;
}

.slide-content .container {
    position: absolute !important; 
    bottom: 0 !important;
    padding: inherit !important;
}


.hero .inner {
    height: 100% !important;
    max-width: 1020px !important;
}

.hero .inner .text-container {
  display: block;
  height: 65%;
  position: relative;
}

.hero .inner .text-container .text {
position: absolute;
bottom: 0;
}
