/*
Theme Name: Transforming Nokia
Description: Transforming Nokia WP theme.
Author: Target Marketing
Author URI: http://www.targetmktng.com/
Version: 2.0
*/

@charset "utf-8"; 
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a, em, img, q, strong, dl, dt, dd, ol, ul, li, fieldset, form, input, select, textarea, label, legend, table
{padding: 0; margin: 0; border: 0; list-style-type: none; line-height:100%; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;}

/*
"proxima-nova" 300, 400, 600, 700, 800
*/

/* 16px */
body, html {height: 100%;}
body {font: 1em "proxima-nova"; color: #2e2e2e; background: #fff; -webkit-text-size-adjust: none;}
a {color: #204ea6; text-decoration: none; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;}
a:hover {color: #ff8690;}
input, select, textarea, button {font: 1em "proxima-nova"; color: #2e2e2e; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; -webkit-border-radius: 0; border-radius: 0; -webkit-appearance:none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
input[type="submit"], input[type="reset"], button, label {cursor: pointer; padding: 0; border: 0;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button;}
textarea {overflow:auto;}
table {border-collapse: separate; border-spacing: 0;}
a:active {outline: 0;} *:focus {outline: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
header, section, nav, hgroup, footer, article { display: block; }
strong, b {font-weight: 700;}
em, i {font-style: italic;}
p {line-height: 140%;}
.center {text-align: center !important;}
.tleft {text-align: left;}
.tright {text-align: right;}
.margin0 {margin: 0 !important;}
.padding0 {padding: 0 !important;}
.border0 {border: 0 !important;}
.padding-bottom0 {padding-bottom: 0 !important;}
.padding-top0 {padding-top: 0 !important;}
.clear {clear: both;}
img {max-width: 100%; height: auto; vertical-align: middle;}
.uppercase {text-transform: uppercase}
.no-case {text-transform: none !important;}
.relative {position: relative;}
.overflow-hidden {overflow: hidden;}
.rounded {
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;	
}
div.rounded {overflow: hidden;}
button::-moz-focus-inner {padding: 0; border: 0}
:required {-webkit-box-shadow: none; box-shadow: none;}
.element-hidden {display: none;}
.full-width {width: 100%;}

/* WP Styles */
.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
.widget-area img {
	max-width: 100%;
	height: auto;
}
img.alignleft {
	margin: 0 2em 2em 0;
}
img.alignright {
	margin: 0 0 2em 2em;
}
.wp-caption {
	max-width:100%;
	text-align: center;
	margin: 0 0 30px 0;
}
.wp-caption:last-child {margin: 0;}
.wp-caption img {
}
.wp-caption .wp-caption-text {
	padding: 10px 0 0 0; text-align: center;
}
.gallery-caption {
}
.wp-smiley {
	margin: 0;
}
img#wpstats{display: none}
/* WP Styles */

span.edit-link a {position: fixed; bottom: 0; left: 0; z-index: 99999; background: red; color: #fff !important; font-size: 1em; padding: 10px;}

::-moz-selection {background: #204ea6; color: #fff;}
::selection {background: #204ea6; color: #fff;}

*::-webkit-input-placeholder { color: #6c95e3; }
*::-moz-placeholder { color: #6c95e3; opacity: 1; }
*:-ms-input-placeholder { color: #6c95e3; }
*:-moz-placeholder { color: #6c95e3; }
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder { color: transparent !important; }
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder { color: transparent !important; }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder { color: transparent !important; }
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder { color: transparent !important; }

.wrapper {width: 1200px; margin: 0 auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.valign {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.valign.bottom {vertical-align: bottom;}
.valign.top {vertical-align: top;}

.body-content {float: left; width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.padding-content {padding: 80px 0;}
.half-content {float: left; width: 50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.in-middle {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 680px; text-align: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.in-middle.large {width: 880px;}

.flex-row {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;	
}
.flex-row.align-center {
	-webkit-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;	
}
.flex-row.align-justify {
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
.flex-row.align-center-justify {
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;	
}

.bg-cover {background-repeat: no-repeat; background-position: center top; background-size: cover;}
.no-touch .bg-fixed {background-repeat: no-repeat; background-position: center top; background-attachment: fixed;}

.entry-content p, .entry-content .as-p {margin: 0 0 30px 0; font-size: 1.125em;}
.entry-content p:last-child, .entry-content .as-p:last-child {margin: 0;}
.entry-content p span {line-height: 120%;}
.entry-content center {line-height: 140%}
.entry-content blockquote {border-left: solid 5px #d2e5e9; margin: 50px 0; padding: 0 0 0 30px;}
.entry-content blockquote:last-child {margin-bottom: 0;}
.entry-content blockquote p {font-size: 20px; font-style: italic; font-weight: 600;}
.entry-content blockquote div {line-height: 140%; font-size: 20px; font-style: italic; font-weight: 600;}
.entry-content hr {padding: 0; margin: 0 0 30px 0; border: 0; height: 1px; background: #d2e5e9;}
.clear_column + hr {margin-top: 30px;}
.entry-content ul, .entry-content ol {margin: 0 0 30px 0;}
.entry-content ul:last-child, .entry-content ol:last-child {margin: 0;}
.entry-content li {margin: 0 0 20px 0; line-height: 140%; position: relative; padding: 0 0 0 20px; font-size: 1.125em;}
.entry-content li:last-child {margin-bottom: 0;}
.entry-content ul li:before {content: " "; display: block; width: 7px; height: 7px; background: #204c9f; position: absolute; left: 0; top: 8px;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.entry-content ol li {list-style-type: decimal; list-style-position: outside; padding: 0; margin: 0 0 20px 18px;}
.entry-content ol ul {margin-top: 20px !important;}
.entry-content ol ul li:before {display: none;}
.entry-content iframe {max-width: 100%; margin: 0 0 30px 0;}
.entry-content img + img {margin: 0 0 0 30px;}

.content-column {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.one_half {padding: 0 40px 0 0;}
.one_half.last_column {padding: 0 0 0 40px;}
.one_third {padding: 0 40px 0 0;}
.one_third + .one_third {padding: 0 20px;}
.one_third.last_column {padding: 0 0 0 40px;}
.clear_column {margin: 0 0 80px 0;}
.clear_column:last-child {margin: 0;}

body.mce-content-body {margin: 20px; height: auto;}

/* SITE */

[data-effect*="fade"] {opacity: 0;}
[data-effect*="slide"] {transform: translate3d(0, 200%, 0);}

@-webkit-keyframes gradientAnimate {
    0%{background-position:0% 50%}
    50%{background-position:100% 51%}
    100%{background-position:0% 50%}
}
@-moz-keyframes gradientAnimate {
    0%{background-position:0% 50%}
    50%{background-position:100% 51%}
    100%{background-position:0% 50%}
}
@keyframes gradientAnimate {
    0%{background-position:0% 50%}
    50%{background-position:100% 51%}
    100%{background-position:0% 50%}
}

.gradient-bg:before {
	background: linear-gradient(270deg, #79d9d0, #79aedb, #e67ec8, #ff8690);
	background-size: 800% 800%;
	-webkit-animation: gradientAnimate 20s ease infinite;
	-moz-animation: gradientAnimate 20s ease infinite;
	animation: gradientAnimate 20s ease infinite;		
}

h1 {font-size: 3em; line-height: 95%; margin: 0 0 30px 0;}
h2 {font-size: 2.5em; line-height: 100%; margin: 0 0 30px 0;}
h3 {font-size: 2.250em; line-height: 105%; margin: 0 0 30px 0;}
h4 {font-size: 1.875em; line-height: 115%; margin: 0 0 30px 0;}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {margin: 0;}

.bg-white {background-color: #fff;}
.bg-light {background-color: #d2e5e9;}
.bg-blue {background-color: #204c9f;}
.bg-pink {background-color: #ff8690;}

.color-white {color: #fff;}
.color-light {color: #d2e5e9;}
.color-blue {color: #204c9f;}
.color-pink {color: #ff8690;}

a.button, .button a, button.button, input.button {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; background: #ff8690; color: #fff;
	line-height: 69px; text-align: center; text-transform: uppercase;
	padding: 0 50px; font-weight: bold; font-size: 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
a.button:hover, .button a:hover, button.button:hover, input.button:hover {background: #204c9f; color: #fff;}

a.button.small, .button.small a, button.button.small, input.button.small {line-height: 55px;}

a.button strong, .button a strong, button.button strong, input.button strong {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; position: relative; padding: 5px 0;}
a.button strong:before, .button a strong:before, button.button strong:before, input.button strong:before {content: " "; width: 0; height: 3px; position: absolute; left: 0; bottom: 0; background: #fff;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
a.button:hover strong:before, .button a:hover strong:before, button.button:hover strong:before, input.button:hover strong:before {width: 100%;}

.button img.rounded {width: 55px; height: 55px; margin: 0 25px 0 -25px;}

a.button.blue, .button.blue a, button.button.blue, input.button.blue {background: #204c9f; color: #fff;}
a.button.blue:hover, .button.blue a:hover, button.button.blue:hover, input.button.blue:hover {background: #ff8690; color: #fff;}

.bg-blue a.button:hover, .bg-blue .button a:hover, .bg-blue button.button:hover, .bg-blue input.button:hover {background: #fff; color: #204c9f;}
.bg-blue a.button strong:before, .bg-blue .button a strong:before, .bg-blue button.button strong:before, .bg-blue input.button strong:before {background: #204c9f;}

.button-group {font-size: 0;}
.button-group > div {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; font-size: 16px;}
.button-group > div + div {margin: 0 0 0 20px;}

.button-back {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; position: relative; 
	font-size: 0.938em; text-transform: uppercase; letter-spacing: 2px; font-weight: bold; padding: 0 0 0 62px; line-height: 18px; color: #204c9f !important;
}
.button-back:before {content: " "; display: block; width: 43px; height: 18px; position: absolute; left: 0; top: 0; background: url(../../themes/paranoid-optimist-v2/images/arrow-1.png) no-repeat 0 0; background-size: 100% auto;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.button-back:hover:before {left: -5px;}

.title-floated {font-size: 4.625em; text-transform: uppercase; line-height: 95%; position: absolute; left: 70px; top: 0; pointer-events: none;}
.title-floated.color-trans {color: rgba(32, 76, 159, 0.1);}
.title-floated strong {display: block; white-space: nowrap;
	transform-origin: 0 0;
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.title-floated.right {left: 100%; margin: -50px 0 0 70px;}

.title-def {font-weight: 800; font-size: 2.125em; text-transform: uppercase; line-height: 105%; position: relative; padding: 34px 0 0 0; color: #204c9f;}
.title-def:before {content: " "; display: block; width: 88px; height: 7px;
	position: absolute; left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%);
	background: rgb(128,238,227);
	background: -moz-linear-gradient(left, rgba(128,238,227,1) 0%, rgba(135,190,246,1) 33%, rgba(192,134,254,1) 66%, rgba(255,137,132,1) 100%);
	background: -webkit-linear-gradient(left, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	background: linear-gradient(to right, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80eee3', endColorstr='#ff8984',GradientType=1 );	
}
.title-def.tweets {padding: 90px 0 0 0;}
.title-def.tweets:before {top: 56px;}
.title-def.tweets:after {content: " "; display: block; width: 28px; height: 24px; background: url(../../themes/paranoid-optimist-v2/images/icon-tw.png) no-repeat 0 0; background-size: 100% auto;
	position: absolute; left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%);
}

.gradient-line-top {position: relative;}
.gradient-line-top:before {content: " "; display: block; width: 88px; height: 7px;
	position: absolute; left: 0; top: -40px;
	background: rgb(128,238,227);
	background: -moz-linear-gradient(left, rgba(128,238,227,1) 0%, rgba(135,190,246,1) 33%, rgba(192,134,254,1) 66%, rgba(255,137,132,1) 100%);
	background: -webkit-linear-gradient(left, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	background: linear-gradient(to right, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80eee3', endColorstr='#ff8984',GradientType=1 );	
}

#header {position: fixed; left: 0; top: 0; z-index: 10000;}
#header:before {content: " "; display: block; width: 100%; height: 100%; background: #fff; position: absolute; left: 0; bottom: 100%;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
body:not(.home) #header + .body-content {margin: 130px 0 0 0;}

.site-logo {float: left; line-height: 130px;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.site-logo a {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; border-left: solid 5px #ff8690; color: #204ea6; line-height: 100%; padding: 0 0 0 18px;}
.site-logo strong {display: block; font-size: 1.063em; line-height: 100%;}
.site-logo em {display: block; font-size: 0.938em; line-height: 100%; margin: 2px 0 0 0; font-weight: 300;}
.site-logo a:hover {border-color: #204ea6;}

.main-menu {float: right; font-size: 0;}
.main-menu .level-0 {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; line-height: 130px; position: relative;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.main-menu .level-0 + .level-0 {margin: 0 0 0 50px;}
.main-menu .level-0:not(.icon) > a {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; font-size: 17px; font-weight: 800; position: relative; padding: 5px 0;}
.main-menu .level-0:not(.icon) > a:hover {color: #204c9f;}
.main-menu .level-0:not(.icon) > a:before {content: " "; width: 0; height: 3px; position: absolute; left: 0; bottom: 0; background: #ff8690;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.main-menu .level-0:not(.icon) > a:hover:before {width: 100%;}
.main-menu .level-0.current-menu-item > a:before, .main-menu .level-0.current-menu-parent > a:before {width: 100%; background: #204c9f;}

.menu-item.icon {display: inline-block; *display: inline; zoom: 1; vertical-align: middle;}
.menu-item.icon + .icon {margin: 0 0 0 20px !important;}
.menu-item.icon > a {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 42px; height: 42px; background: #ff8690; position: relative; text-indent: -9999px;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.menu-item.icon > a:hover {background: #204c9f;}
.menu-item.icon > a:before {content: " "; display: block; background: url(../../themes/paranoid-optimist-v2/images/icon-s.png) no-repeat -9999px; background-size: 120px 30px;
	position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
.menu-item.icon [href*="facebook"]:before {width: 10px; height: 20px; background-position: 0 0;}
.menu-item.icon [href*="linkedin"]:before {width: 17px; height: 16px; background-position: -30px 0;}
.menu-item.icon [href*="twitter"]:before {width: 16px; height: 13px; background-position: -60px 0;}
.menu-item.icon [href*="mailto"]:before {width: 16px; height: 12px; background-position: -90px 0;}

.main-menu .sub-menu {position: absolute; left: 50%; top: 100%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background: #204c9f; text-align: center; min-width: 180px;
	opacity: 0; pointer-events: none;
	-webkit-box-shadow: 0 10px 10px 0 rgba(0,0,0,0.1);
	box-shadow: 0 10px 10px 0 rgba(0,0,0,0.1);
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.main-menu .level-0:hover .sub-menu, .main-menu .level-0.clicked .sub-menu {opacity: 1; pointer-events: auto; top: 85%;}
.main-menu .sub-menu:before {content: " "; display: block; width: 12px; height: 12px; background: #204c9f; position: absolute; left: 50%; top: 0;
	-webkit-transform: rotate(45deg) translateX(-50%); transform: rotate(45deg) translateX(-50%);
}
.main-menu .sub-menu li {position: relative;}
.main-menu .sub-menu a {display: block; color: #fff; font-size: 16px; font-weight: 600; padding: 10px; line-height: 120%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.main-menu .sub-menu a:hover {background: #fff; color: #204c9f;}

.fixed #header:before {bottom: 0;}
.fixed #header .site-logo, .fixed #header .main-menu .level-0 {line-height: 70px;}

#intro:before {content: " "; display: block; width: 100%; height: 150%; position: absolute; left: 0; top: 0; background: url(../../themes/paranoid-optimist-v2/images/bg-2.png) no-repeat right top; pointer-events: none;}
#intro:after {content: " "; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: url(../../themes/paranoid-optimist-v2/images/bg-1.png) no-repeat 0 0; pointer-events: none;}
#intro .half-content {z-index: 10;}
.book-text-content {padding: 50px 60px 0 70px;}
.cover-content {text-align: right; order: 2;}
.book-cover {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; margin: 180px 0 0 0; width: 520px; height: 550px;}
.book-cover .ribbon {position: absolute; right: 0; top: -40px; width: 124px; line-height: 124px; text-align: center; text-transform: uppercase;}
/*.book-cover .ribbon p:first-child {font-size: 0.875em; line-height: 100%;}
.book-cover .ribbon p:last-child {font-size: 1.875em; line-height: 100%; margin: 5px 0 0 0;}*/
.book-cover .ribbon p {font-size: 1.375em; line-height: 100%;}
.book-cover .publisher {position: absolute; left: 96%; top: 86%; width: 45px; font-size: 0;}

#sign-up form {padding: 0 60px 0 70px;}
#sign-up .label {width: 300px; font-size: 1.375em; line-height: 120%; background: url(../../themes/paranoid-optimist-v2/images/icon-email.png) no-repeat 0 0; background-size: 42px 32px; padding: 46px 0 0 0;}
#sign-up .fields {float: right; width: calc(100% - 320px); padding: 46px 0 0 0;}
#sign-up .field {width: calc(50% - 85px); padding: 0 20px 0 0;}
#sign-up .button {float: right; width: 170px; padding: 0;}
#sign-up .input {width: 100%; height: 55px; border-bottom: solid 4px #dedede; background: none; font-size: 1.25em; color: #fff;}
#sign-up .input:focus {border-color: #ff8690;}

.message div {position: fixed; left: 50%; top: 50%; text-align: center; z-index: 11000; 
	color: #fff; background: #204c9f url(../../themes/paranoid-optimist-v2/images/icon-email.png) no-repeat center 30px; background-size: 42px 32px;
	padding: 80px 30px 30px 30px; font-size: 1.125em; line-height: 125%; 
	-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
	-webkit-box-shadow: 0 3px 81px 0 rgba(0,0,0,0.38);
	box-shadow: 0 3px 81px 0 rgba(0,0,0,0.38);
}

.post-image {display: block; overflow: hidden; position: relative;}
.post-image:before {content: " "; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 10; opacity: 0;
	border: 7px solid #ff8690;  
	border-image-source: linear-gradient(to bottom right, #ff8690, #77d8ce, #8f7ee2, #204ea6);
	border-image-slice: 7;	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.post-image-bg {display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
	-webkit-transition: all 50s ease; -moz-transition: all 50s ease; transition: all 50s ease;
}
a:hover .post-image:before {opacity: 1;}
a:hover .post-image-bg {-webkit-transform: scale(2); transform: scale(2);}

.post-image .play {position: absolute; left: 50%; top: 50%; width: 60px; height: 60px; background: #fff; text-indent: -9999px;
	-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.post-image .play:before {content: " "; display: block;
	position: absolute; left: 50%; top: 50%; margin: -8px 0 0 -5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	border-color: transparent transparent transparent #204c9f;
}

.post-date {display: block; font-size: 0.938em; color: #2e2e2e; line-height: 100%; margin: 0 0 15px 0;}
.post-title {display: block; font-size: 1.25em; line-height: 120%; margin: 0 0 15px 0;}
.post-title strong {
	background-image: linear-gradient(to right, #ff8690 0%, #ff8690 100%);
    background-repeat: repeat-x;
    background-position: 0 96%;
    background-size: 100% 0;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
a:hover .post-title strong {background-size: 100% 3px;}
.post-more {display: block; font-size: 0.938em; text-transform: uppercase; color: #ff8690; letter-spacing: 2px;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
a:hover .post-more {color: #204c9f;}

.title-floated + .post-featured {padding: 0 0 0 100px;}
.post-featured {margin: 0 0 90px 0;}
.post-featured a {display: block; color: #204ea6;}
.post-featured .post-image {float: left; width: 670px; height: 420px;}
.post-featured .content {display: block; float: right; width: calc(100% - 670px - 50px); line-height: 420px;}
.post-featured .post-date {font-size: 1.125em; margin: 0 0 20px 0;}
.post-featured .post-title {font-size: 1.875em; line-height: 105%; margin: 0 0 20px 0;}
.post-featured .post-more {font-size: 1.25em;}

.post-col {width: calc(33.3333333333333% - 60px); margin: 0 90px 90px 0;}
.post-col:nth-child(3n) {margin-right: 0;}
.post-col:nth-child(3n+1) {clear: both;}
.post-col a {display: block; color: #204ea6;}
.post-col .post-image {height: 290px; position: relative;}
.post-col .content {display: block; padding: 30px 30px 0 30px;}

.post-news {width: calc(25% - 67.5px); margin: 0 90px 90px 0;}
.post-news:nth-child(4n) {margin-right: 0;}
.post-news:nth-child(4n+1) {clear: both;}
.post-news a {display: block; color: #204ea6; text-align: center;}
.post-news .content {display: block; padding: 25px 20px 0 20px;}
.post-news .logo {display: block; height: 180px; line-height: 180px;
	-webkit-box-shadow: 0 3px 50px 0 rgba(0,0,0,0.08);
	box-shadow: 0 3px 50px 0 rgba(0,0,0,0.08);
}
.post-news .logo img {max-height: 60%; max-width: 70%; width: auto;}
.post-news .post-title {font-size: 1em;}
.post-news .post-title strong {font-weight: 600;}
.post-news a:hover .post-title strong {background-size: 100% 2px;}
.news-slideshow {width: calc(100% + 80px); margin: -40px 0 0 -40px;}
.news-slideshow .post-news {width: calc(100% - 80px) !important; margin: 40px 40px 0 40px;}

.post-news-list .post-news:first-child:last-child {float: none; display: inline-block; *display: inline; zoom: 1; vertical-align: middle; margin-right: 0 !important;}

.slideshow-nav {font-size: 0; margin: 50px 0 0 0;}
.slideshow-nav:empty {margin: 0;}
.slideshow-nav .slick-arrow {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 46px; height: 46px; background: none; position: relative;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.slideshow-nav .slick-prev {order: 1;}
.slideshow-nav .slick-prev:before {content: " "; display: block; width: 14px; height: 14px; border: solid 2px #204c9f; border-top: 0; border-right: 0; margin: 0 0 0 18px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);	
	transform: rotate(45deg);
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.slideshow-nav .slick-next {order: 3;}
.slideshow-nav .slick-next:before {content: " "; display: block; width: 14px; height: 14px; border: solid 2px #204c9f; border-bottom: 0; border-left: 0; margin: 0 0 0 12px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);	
	transform: rotate(45deg);
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.slideshow-nav .slick-arrow:hover {background: #ff8690;}
.slideshow-nav .slick-arrow:hover:before {border-color: #fff;}
.slideshow-nav .slick-dots {order: 2; margin: 0 10px;}
.slideshow-nav .slick-dots li, .slideshow-nav .slick-dots button {display: inline-block; *display: inline; zoom: 1; vertical-align: middle;}
.slideshow-nav .slick-dots button {width: 8px; height: 8px; background: #204ea6; margin: 0 10px;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.slideshow-nav .slick-dots .slick-active button, .slideshow-nav .slick-dots button:hover {background: #ff8690;}

.tweet {text-align: center; padding: 0 30px;}
.tweet .date {font-size: 0.938em; font-weight: 300; margin: 0 0 10px 0;}
.tweet .text {font-size: 1.125em;}
.tweets-follow {margin: 50px 0 0 0;}
.tweets-slideshow {width: calc(100% + 60px); margin: 0 0 0 -30px;}

#book-row {margin: 0 0 90px 0;}
#book-row:before {content: " "; display: block; width: 100%; height: 88%; position: absolute; left: 0; bottom: 0;}
#book-row .book-text-content {margin: 50px 0 0 0;}
#book-row .book-cover {margin: 0;}

#footer {padding: 30px 0 50px 0;}
#footer .site-logo {line-height: 42px;}
#footer .main-menu .level-0 {line-height: 100%;}
#footer .copyright {padding: 30px 0 0 0;}
#footer .copyright p {font-size: 0.688em; font-weight: 600;}
#footer .copyright .dev, #footer .copyright .empty {width: 220px; text-align: right;}
#footer .copyright a {border-bottom: solid 2px #ff8690;}
#footer .copyright a:hover {border-color: #204c9f; color: #204c9f;}

.contact-boxes {text-align: center; font-size: 0;}
.contact-box {display: inline-block; *display: inline; zoom: 1; vertical-align: top; font-size: 16px; width: calc(33.333333% - 60px); margin: 0 30px 80px 30px;}
.contact-box .title {font-size: 1.375em; text-transform: uppercase; font-weight: 800; padding: 0 0 25px 0; margin: 0 0 20px 0; position: relative;}
.contact-box .title:before {content: " "; display: block; width: 80px; height: 5px;
	position: absolute; left: 50%; bottom: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%);
	background: rgb(128,238,227);
	background: -moz-linear-gradient(left, rgba(128,238,227,1) 0%, rgba(135,190,246,1) 33%, rgba(192,134,254,1) 66%, rgba(255,137,132,1) 100%);
	background: -webkit-linear-gradient(left, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	background: linear-gradient(to right, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80eee3', endColorstr='#ff8984',GradientType=1 );	
}
.contact-box .text p {margin: 0 0 5px 0; font-size: 1.25em;}
.contact-box .text p:first-child {font-weight: 600;}

.wpcf7 {text-align: center;}
.wpcf7-form {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 380px;}
.wpcf7 .field {margin: 0 0 20px 0; position: relative; overflow: hidden;}
.wpcf7 .field.last {margin: 40px 0 0 0;}
.wpcf7 [type="text"], .wpcf7 [type="email"], .wpcf7 textarea {width: 100%; color: #204c9f;
	border-bottom: solid 4px #fff; background: none; font-size: 1.25em; height: 55px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
.wpcf7 textarea {resize: none; padding: 15px 0 10px 0;}
.wpcf7 [type="text"]:hover, .wpcf7 [type="email"]:hover, .wpcf7 textarea:hover, 
.wpcf7 [type="text"]:focus, .wpcf7 [type="email"]:focus, .wpcf7 textarea:focus {border-color: #204c9f;}

.wpcf7 br {display: none;}
.wpcf7-not-valid {border-color: #ff8690 !important;}
.wpcf7 *::-webkit-input-placeholder { color: #204c9f; }
.wpcf7 *::-moz-placeholder { color: #204c9f; }
.wpcf7 *:-ms-input-placeholder { color: #204c9f; }
.wpcf7 *:-moz-placeholder { color: #204c9f; }
.g-recaptcha {display: inline-block; *display: inline; zoom: 1; vertical-align: middle;}
.wpcf7-not-valid-tip {display: none !important;} 
.wpcf7-response-output {text-align: center; width: 100%; padding: 0 !important; color: #ff8690; margin: 0 0 20px 0 !important; border: 0 !important; line-height: 140%; font-weight: bold;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.wpcf7-mail-sent-ok {color: #204c9f;}
.ajax-loader {border: 0 !important; position: absolute; top: 50%; right: 10px; margin: -16px 0 0 0 !important; pointer-events: none; width: 32px !important; height: 32px !important; background: url(../../themes/paranoid-optimist-v2/images/loading.svg) no-repeat 0 0 !important; background-size: 32px 32px !important;}

.pagination {font-size: 0;}
.pagination li {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; font-size: 16px; margin: 0 10px;}
.pagination .page-numbers:not(.prev):not(.next) {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; font-weight: 600; font-size: 1.5em;}
.pagination .prev, .pagination .next {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 46px; height: 46px; text-indent: -9999px; position: relative;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.pagination .prev:before {content: " "; display: block; width: 14px; height: 14px; border: solid 2px #204c9f; border-top: 0; border-right: 0;
	position: absolute; left: 18px; top: 14px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);	
	transform: rotate(45deg);
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.pagination .next:before {content: " "; display: block; width: 14px; height: 14px; border: solid 2px #204c9f; border-bottom: 0; border-left: 0;
	position: absolute; left: 11px; top: 14px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);	
	transform: rotate(45deg);
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
.pagination a.prev:hover, .pagination a.next:hover {background: #ff8690;}
.pagination a.prev:hover:before, .pagination a.next:hover:before {border-color: #fff;}

#search-form {position: absolute; right: 0; top: 0; width: 200px;}
#search-form label {display: none;}
#search-form .input {width: 100%; 
	border-bottom: solid 4px #fff; background: none; font-size: 1.25em; height: 55px; padding: 0 0 0 40px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#search-form .input:focus {border-color: #204c9f;}
#search-form *::-webkit-input-placeholder { color: #204c9f; }
#search-form *::-moz-placeholder { color: #204c9f; }
#search-form *:-ms-input-placeholder { color: #204c9f; }
#search-form *:-moz-placeholder { color: #204c9f; }
#search-form button {position: absolute; left: 0; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 0; 
	background: url(../../themes/paranoid-optimist-v2/images/icon-search.png) no-repeat 0 0; background-size: 22px 22px; text-indent: -99999px;
}
.search-results {margin: 10px 0 0 0;}

#single-post {margin: -40px 0 0 0;}
#single-post .post-title {font-size: 2.5em; line-height: 105%;}
#single-post .post-date {font-size: 1.125em; margin-top: 30px; padding-top: 37px; position: relative;}
#single-post .post-date:before {content: " "; display: block; width: 88px; height: 7px;
	position: absolute; left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%);
	background: rgb(128,238,227);
	background: -moz-linear-gradient(left, rgba(128,238,227,1) 0%, rgba(135,190,246,1) 33%, rgba(192,134,254,1) 66%, rgba(255,137,132,1) 100%);
	background: -webkit-linear-gradient(left, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	background: linear-gradient(to right, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80eee3', endColorstr='#ff8984',GradientType=1 );	
}
#single-post .post-featured-image {margin: 40px 0 0 0;}
.the-post-content {min-height: 360px;}
.the-post-content .post {width: 100% !important; margin: 0 !important;}

#post-share {position: absolute; top: 0; margin: 190px 0 0 0; pointer-events: none; z-index: 1000; width: 31px;}
#post-share p {font-size: 0.938em; white-space: nowrap;
	transform-origin: 0 0;
	-ms-transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
#post-share li {margin: 0 !important;}
#post-share li + li {margin: 12px 0 0 0 !important;}
#post-share a {pointer-events: auto; background: #204c9f;}
#post-share a:hover {background: #ff8690;}

#author-top .image-wrap {float: right;}
#author-top .image {width: calc(50vw - 50px); margin: 0 0 0 50px;}

#book-top:before {content: " "; display: block; width: 100%; height: 100%;
	position: absolute; left: 0; top: 0;
	background: rgb(128,238,227);
	background: -moz-linear-gradient(left, rgba(128,238,227,1) 0%, rgba(135,190,246,1) 33%, rgba(192,134,254,1) 66%, rgba(255,137,132,1) 100%);
	background: -webkit-linear-gradient(left, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	background: linear-gradient(to right, rgba(128,238,227,1) 0%,rgba(135,190,246,1) 33%,rgba(192,134,254,1) 66%,rgba(255,137,132,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80eee3', endColorstr='#ff8984',GradientType=1 );	
}
#book-top:after {content: " "; display: block; width: 100%; height: 150%; position: absolute; left: 0; top: 0; background: url(../../themes/paranoid-optimist-v2/images/bg-2.png) no-repeat center top; pointer-events: none;}
#book-top .cover-content {float: right;}
#book-top .book-cover {margin: -30px 0 50px 0; height: auto;}
#book-top .book-text-content {padding: 0 0 0 120px;}
#book-top .book-text-content .entry-content {width: calc(100% + 100px);}

#book-content .content {margin: -120px 0 0 0; padding: 120px 50px 0 50px;}

.key-lesson {width: calc(25% - 67.5px); margin: 0 90px 90px 0; text-align: center; position: relative;}
.key-lesson:nth-child(4n) {margin-right: 0;}
.key-lesson:nth-child(4n+1) {clear: both;}
.key-lesson .number {opacity: 0.15;}
.key-lesson .number span {font-weight: 300; font-size: 12em; line-height: 70%;
	background: linear-gradient(to right, #80eee3 0%, #87bef6 33%, #c086fe 66%, #ff8984 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.key-lesson .number span {background: transparent;}
}
.key-lesson .text {position: absolute; left: 0; top: 50%; width: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}

.testimonial-meta {float: left; width: 180px;}
.testimonial-image {padding: 100% 0 0 0;}
.testimonial-name {font-weight: 800; text-transform: uppercase; line-height: 115%; margin: 20px 0 0 0;}
.testimonial-tagline {font-size: 0.875em; line-height: 115%; margin: 8px 0 0 0;}
.testimonial-content {margin: 0 30px 0 210px;}
.testimonial-text p {font-size: 1.125em;}

#guide-row {margin: 0 0 140px 0;}
#guide-row .cover {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 460px; height: 560px; margin: -40px 0 0 0;}
#guide-row .cover img {
	-webkit-box-shadow: 0 20px 76px 0 rgba(0,0,0,0.3);
	box-shadow: 0 20px 76px 0 rgba(0,0,0,0.3);
}
#guide-row .content {padding: 0 70px;}

#pre-order-window {position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 12000; background: rgba(32, 76, 159, 0.95); display: none; overflow: auto; -webkit-overflow-scrolling: touch;}
#pre-order-window .close {display: block; float: right; font-size: 0.875em; color: #fff; text-transform: uppercase; letter-spacing: 2px; position: relative; line-height: 20px; padding: 5px 30px 5px 0; margin: 40px 0 0 0;}
#pre-order-window .close:before {content: " "; width: 0; height: 3px; position: absolute; left: 0; bottom: 0; background: #ff8690;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
#pre-order-window .close:hover:before {width: calc(100% - 30px);}
#pre-order-window .close:after {content: " "; display: block; width: 20px; height: 20px; background: url(../../themes/paranoid-optimist-v2/images/icon-x.png) no-repeat 0 0; background-size: 20px 20px; position: absolute; right: 0; top: 5px;}
#pre-order-window .content {position: absolute; left: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 100%; pointer-events: none; padding: 50px 0;}
#pre-order-window .order li {margin: 40px 0 0 0;}
#pre-order-window .order a {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; color: #fff; font-size: 2em; text-transform: uppercase; position: relative; pointer-events: auto; padding: 5px 0;}
#pre-order-window .order a:before {content: " "; width: 0; height: 3px; position: absolute; left: 0; bottom: 0; background: #ff8690;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
#pre-order-window .order a:hover:before {width: 100%;}

#mobile-menu-toggle {display: none; float: right; width: 70px; height: 70px; line-height: 70px; text-align: center; cursor: pointer; position: relative; z-index: 100; font-size: 0; margin: 0 -20px 0 0;}
#mobile-menu-toggle strong {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; width: 30px; height: 25px; position: relative; text-indent: -9999px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#mobile-menu-toggle strong:before {content: " "; display: block; width: 100%; height: 3px; background: #204c9f; position: absolute; left: 0; top: 0;}
#mobile-menu-toggle strong:after {content: " "; display: block; width: 100%; height: 3px; background: #204c9f; position: absolute; left: 0; bottom: 0;}
#mobile-menu-toggle strong span {display: block; width: 100%; height: 3px; position: absolute; left: 0; top: 50%; margin: -1.5px 0 0 0; background: #204c9f;}
#mobile-menu-toggle.opened strong:before {top: 11px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);	
	transform: rotate(45deg);
}
#mobile-menu-toggle.opened strong:after {bottom: 11px;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);	
	transform: rotate(-45deg);
}
#mobile-menu-toggle.opened strong span {opacity: 0;}

#mobile-menu {position: fixed; left: 0; top: 70px; display: none; width: 100%; height: calc(100% - 70px); background: #fff; overflow: auto; -webkit-overflow-scrolling: touch; text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#mobile-menu.opened {display: block;}
#mobile-menu .level-0 {padding: 20px;}
#mobile-menu .level-0:not(.button):not(.icon) > a {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; 
	font-size: 1.125em; font-weight: 800;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#mobile-menu .level-0:not(.menu-item-has-children):not(.button):not(.icon) {padding: 0;}
#mobile-menu .level-0:not(.menu-item-has-children):not(.button):not(.icon) > a {width: 100%; padding: 20px;}
#mobile-menu .level-0:not(.menu-item-has-children):not(.button):not(.icon) > a:hover {color: #204c9f;}
#mobile-menu .level-0.menu-item-has-children {cursor: pointer; position: relative;}
#mobile-menu .level-0.menu-item-has-children.opened {
	background: #204c9f;
}
#mobile-menu .level-0.menu-item-has-children:before {content: " "; display: block; width: 44px; height: 100%; position: absolute; right: 0; top: 0; z-index: 20; cursor: pointer;}
#mobile-menu .level-0.menu-item-has-children:after {content: " "; display: block; width: 12px; height: 12px; border: solid 2px #204c9f; border-top: 0; border-left: 0; position: absolute; right: 26px; top: 20px; z-index: 21; cursor: pointer;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);		
	transform: rotate(45deg);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}

#mobile-menu .level-0.menu-item-has-children.opened:after {
	top: 26px; border-color: #fff;
	-ms-transform: rotate(225deg);
	-webkit-transform: rotate(225deg);		
	transform: rotate(225deg);		
}
#mobile-menu .level-0.menu-item-has-children.opened a {color: #fff;}

#mobile-menu .menu-item.icon {padding: 20px 10px 40px 10px;}
#mobile-menu .menu-item.icon + .icon {margin: 0 !important;}

#mobile-menu .sub-menu {display: none; margin: 20px 0 0 0;}
#mobile-menu .sub-menu li {position: relative;}
#mobile-menu .sub-menu li:before {content: " "; display: block; width: 100%; height: 1px; background: #fff; opacity: 0.5; position: absolute; left: 0; bottom: 0;}
#mobile-menu .sub-menu li:last-child:before {display: none;}
#mobile-menu .sub-menu a {display: block; color: #fff; font-weight: 800; padding: 20px; line-height: 110%;}
#mobile-menu .sub-menu a:hover {opacity: 0.75;}@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.hinge {
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  animation-duration: .75s;
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  animation-name: pulse;
}

@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, .95, 1);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  animation-name: rubberBand;
}

@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  animation-name: shake;
}

@keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
}

.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  transform-origin: top center;
  animation-name: swing;
}

@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes wobble {
  from {
    transform: none;
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    transform: none;
  }
}

.wobble {
  animation-name: wobble;
}

@keyframes jello {
  from, 11.1%, to {
    transform: none;
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  animation-name: jello;
  transform-origin: center;
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  animation-name: bounceIn;
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }

  75% {
    transform: translate3d(0, -10px, 0);
  }

  90% {
    transform: translate3d(0, 5px, 0);
  }

  to {
    transform: none;
  }
}

.bounceInDown {
  animation-name: bounceInDown;
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }

  75% {
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    transform: translate3d(5px, 0, 0);
  }

  to {
    transform: none;
  }
}

.bounceInLeft {
  animation-name: bounceInLeft;
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    transform: translate3d(10px, 0, 0);
  }

  90% {
    transform: translate3d(-5px, 0, 0);
  }

  to {
    transform: none;
  }
}

.bounceInRight {
  animation-name: bounceInRight;
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  75% {
    transform: translate3d(0, 10px, 0);
  }

  90% {
    transform: translate3d(0, -5px, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  animation-name: bounceInUp;
}

@keyframes bounceOut {
  20% {
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  animation-name: bounceOut;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  animation-name: bounceOutUp;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInUpBig {
  animation-name: fadeInUpBig;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }

  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }

  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }

  80% {
    transform: perspective(400px) scale3d(.95, .95, .95);
    animation-timing-function: ease-in;
  }

  to {
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    transform: none;
    opacity: 1;
  }
}

.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    transform-origin: center;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  animation-name: rotateIn;
}

@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}

@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  animation-name: rotateInDownRight;
}

@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}

@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  animation-name: rotateInUpRight;
}

@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }

  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  animation-name: rotateOut;
}

@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}

@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}

@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}

@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}

@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  animation-name: hinge;
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }

  50% {
    transform: rotate(-10deg);
  }

  70% {
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  animation-name: rollOut;
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  animation-name: zoomInDown;
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  animation-name: zoomInLeft;
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  animation-name: zoomInRight;
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  animation-name: zoomInUp;
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  animation-name: zoomOutDown;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}

.zoomOutLeft {
  animation-name: zoomOutLeft;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}

.zoomOutRight {
  animation-name: zoomOutRight;
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutUp {
  animation-name: zoomOutUp;
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 200%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  animation-name: slideInUp;
}

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  animation-name: slideOutUp;
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
/*.slick-slide img
{
    display: block;
}*/
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

.slick-track {
    margin:auto;
}/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 88020;
}

.fancybox-skin {
	position: relative;
	background: #fff;
	text-shadow: none;
}

.fancybox-opened {
	z-index: 88030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 20px 0 rgba(0,0,0,0.1);
	box-shadow: 0 10px 20px 0 rgba(0,0,0,0.1);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

.fancybox-close, .fancybox-prev span, .fancybox-next span {
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -20px;
	margin-left: -20px;
	width: 40px; height: 40px;
	z-index: 88060;
}

.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #333;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% { 
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% { 
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}

.fancybox-close {
	position: absolute;
	top: -80px;
	left: 50%;
	margin: 0 0 0 -30px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 88040;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	background: #204c9f;
}
.fancybox-close:hover {background: #ff8690;}
.fancybox-close:before {content: " "; display: block; width: 20px; height: 20px; background: url(../../themes/paranoid-optimist-v2/images/icon-x.png) no-repeat 0 0; background-size: 20px 20px; position: absolute; left: 50%; top: 50%; margin: -10px 0 0 -10px;}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent; /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 88040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 88040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

/*.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}*/

.fancybox-lock body {
    overflow: hidden !important;
}

.fancybox-lock-test {
    overflow-y: hidden !important;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 88010;
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 88050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 88050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}@media screen and (max-width : 1340px) {
	.title-floated {font-size: 3.5em; left: 100px;}
	.title-floated.right {margin-left: 0;}
	.title-floated + .post-featured {padding: 0 0 0 120px;}
	
	.book-cover .publisher {left: 94%; width: 40px;}
	
	#book-top .book-text-content .entry-content {width: calc(100% + 30px);}
}

@media screen and (max-width : 1240px) {
	.wrapper {width: 100%; padding: 0 20px;}
	
	.main-menu .level-0 + .level-0 {margin: 0 0 0 30px;}
	
	.post-news {width: calc(25% - 37.5px); margin: 0 50px 50px 0;}
	.post-news .content {padding: 20px 10px 0 10px;}
	
	.post-col {width: calc(33.3333333333333% - 33.3333333px); margin: 0 50px 50px 0;}
	.post-col .content {padding: 20px 15px 0 15px;}
	
	.post-featured {margin: 0 0 50px 0;}
	
	.post-featured .post-image {width: 50%;}
	.post-featured .content {width: calc(50% - 50px);}
	
	.book-text-content {padding: 50px 30px 0 0;}
	#book-row .book-text-content {margin: 50px 0; padding-top: 0;}
	#book-top .book-text-content {padding: 0 30px 0 120px;}
	
	#sign-up form {padding: 0;}
	
	.key-lesson {width: calc(25% - 37.5px); margin: 0 50px 50px 0;}
	
	#guide-row .content {padding: 0 0 0 50px;}
}

@media screen and (max-width : 1140px) {
	.book-cover {margin: 150px 0 0 0; width: 420px; height: 450px;}
	
	#book-row:before {height: 94%;}
	
	#book-top .book-text-content {padding-right: 0; margin: 0 0 50px 0;}
	
	#book-content .content {margin: 0; padding: 80px 0 0 0;}
	
	#book-top .book-cover {margin: 0;}
}
	
@media screen and (max-width : 1060px) {
	.main-menu .level-0 + .level-0 {margin: 0 0 0 20px;}
	.main-menu .icon + .icon {margin: 0 0 0 10px !important;}
}

@media screen and (max-width : 1020px) {
	.news-slideshow {width: calc(100% + 60px); margin: -40px 0 0 -30px;}
	.news-slideshow .post-news {width: calc(100% - 60px) !important; margin: 40px 30px 0 30px;}
	
	.button-group > div {display: block;}
	.button-group > div + div {margin: 20px 0 0 0;}
	.button-group .button {width: 240px;}
}
	
@media screen and (max-width : 999px) {
	#main-menu, #top-menu {display: none;}
	#mobile-menu-toggle {display: block;}
	
	body:not(.home) #header + .body-content {margin: 70px 0 0 0;}
	
	body:not(.home) #header:before {bottom: 0;}
	#header .site-logo {line-height: 70px;}
	
	#footer-menu .level-0:not(.icon) {display: none;}
	
	.post-news {width: calc(25% - 22.5px); margin: 0 30px 50px 0;}
	.post-news .logo {height: 140px; line-height: 140px;}
	
	.post-col .post-image {height: 200px;}
	
	#author-top .image {width: calc(50vw - 30px); margin: 0 0 0 30px;}
	
	.book-cover {margin: 100px 0 0 0;}
	
	.testimonial-content {margin-right: 20px;}
	
	#guide-row {margin: 0 0 100px 0;}
	#guide-row .cover {width: 400px; height: 500px;}
}

@media screen and (max-width : 940px) {
	.in-middle.large {width: 100%;}
	
	#search-form {width: 180px;}
	
	.post-featured .post-image {height: 360px;}
	.post-featured .content {line-height: 360px;}
	
	.book-text-content h1 {font-size: 2.25em;}
	
	#sign-up .label {width: 200px;}
	#sign-up .fields {width: calc(100% - 220px);}
}

@media screen and (max-width : 849px) {
	#post-share {position: relative; top: auto; margin: 50px 0 0 0; float: left; width: 100%;}
	#post-share p {font-size: 1em; white-space: normal; margin: 0 0 15px 0;
		-ms-transform: rotate(0);
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	#post-share .main-menu {float: none;}
	#post-share li {display: inline-block; *display: inline; zoom: 1; vertical-align: middle; margin: 0 6px !important;}
	#post-share li + li {margin: 0 6px !important;}
	
	.book-cover {margin: 80px 0 0 0; width: 360px; height: 400px;}
	
	#book-top .book-text-content .entry-content {width: 100%;}
	#book-top h4 {font-size: 1.5em;}
	
	#guide-row .cover {width: 360px; height: 460px;}
	#guide-row .padding-content {padding: 50px 0;}
}

@media screen and (max-width : 767px) {
	.contact-box {width: 100%; margin: 0 0 50px 0;}
	.contact-box:last-child {margin: 0;}
	
	.post-news {width: calc(50% - 15px); margin: 0 30px 50px 0;}
	.post-news:nth-child(2n) {margin-right: 0;}
	.post-news:nth-child(2n+1) {clear: both;}
	
	#search-form {position: relative; right: auto; top: auto; margin: 10px auto 0 auto; width: 260px;}
	.search-results {margin: 10px 0;}
	
	.post-col {width: calc(50% - 15px); margin: 0 30px 50px 0;}
	.post-col:nth-child(3n) {margin-right: 30px;}
	.post-col:nth-child(3n+1) {clear: both;}
	.post-col:nth-child(2n) {margin-right: 0;}
	.post-col:nth-child(2n+1) {clear: both;}
	#related-posts .post-col:nth-child(3) {display: none;}
	
	#author-top .half-content {width: 100%;}
	#author-top .image {width: calc(100% + 40px); margin: 0 0 80px -20px;}
	
	#intro .flex-row {display: block;}
	#intro .half-content {width: 100%; text-align: center;}
		
	.book-cover {height: auto;}
	.book-text-content {padding: 30px 0 50px 0;}

	#book-row .flex-row {display: block;}
	#book-row .half-content {width: 100%; text-align: center;}
	#book-row .book-text-content {margin: 0; padding: 30px 0 50px 0;}
	
	#book-top .half-content {width: 100%; text-align: center;}
	#book-top .book-text-content {padding: 30px 0 0 0;}
	
	#sign-up .label {width: 100%;}
	#sign-up .fields {width: 100%; padding: 20px 0 0 0;}
	
	.key-lesson {width: calc(50% - 15px); margin: 0 30px 50px 0;}
	.key-lesson:nth-child(2n) {margin-right: 0;}
	.key-lesson:nth-child(2n+1) {clear: both;}
	
	#guide-row {margin: 0;}
	#guide-row .flex-row {display: block;}
	#guide-row .half-content {width: 100%; text-align: center;}
	#guide-row .cover {margin: -30px 0 0 0; width: 70%; height: auto;}
	#guide-row .content {padding: 0;}
}

@media screen and (max-width : 720px) {
	#footer .copyright .flex-row {display: block; text-align: center;}
	#footer .copyright .dev {width: auto; text-align: center; margin: 10px 0 0 0;}
	#footer .copyright .empty {display: none;}
	
	.padding-content {padding: 50px 0;}
	
	.in-middle {width: 100%;}
	
	h1 {font-size: 2.5em;}
	h2 {font-size: 2.250em;}
	h3 {font-size: 2em;}
	
	.pagination li {margin: 0 5px; font-size: 14px;}
	
	.post-featured .post-image {width: 100%; height: 300px;}
	.post-featured .content {width: 100%; line-height: 100%; margin: 30px 0 0 0;}
	
	#single-post {margin: 0;}
	#single-post .post-title {font-size: 2.25em;}
	
	.post-image .play {width: 40px; height: 40px;}
}

@media screen and (max-width : 540px) {
	#sign-up .field {width: 100%; padding: 0 0 20px 0;}
	#sign-up .button {width: 100%;}
	
	.message div {width: 90%;}
	
	#book-top .title-floated {display: none;}
	
	.testimonial-meta {float: left; width: 120px;}
	.testimonial-content {margin: 0 20px 0 140px;}
	.testimonial-text p {font-size: 1em; line-height: 130%;}
}

@media screen and (max-width : 479px) {
	.wpcf7-form {width: 100%;}
	
	.post-col .post-image {height: 160px;}
	
	.slideshow-nav .slick-dots button {margin: 0 5px;}
}

@media screen and (max-width : 410px) {
	#footer .site-logo {font-size: 0.875em; line-height: 32px;}
	#footer .site-logo a {padding: 0 0 0 12px;}
	#footer-menu .menu-item {margin: 0;}
	#footer-menu .menu-item.icon > a {width: 32px; height: 32px;}
	#footer-menu .menu-item.icon > a:before {-webkit-transform: translate(-50%, -50%) scale(0.8); transform: translate(-50%, -50%) scale(0.8);}
	
	.post-col {width: 100%; margin-right: 0 !important;}
	.post-col .post-image {height: 200px;}
	#related-posts .post-col:nth-child(3) {display: block;}
	
	.post-featured .post-image {height: 240px;}
	
	#single-post .post-title {font-size: 2em;}
	
	.title-floated {font-size: 3em; left: 80px;}
	.title-floated + .post-featured {padding: 0 0 0 90px;}
	
	.book-cover {width: 95%;}
	.book-cover .ribbon {width: 100px; line-height: 100px;}
	.book-cover .ribbon p {font-size: 1.25em;}
	.book-cover .publisher {top: 80%;}
	
	#guide-row .cover {width: 90%;}
}

@media screen and (max-width : 374px) {
	.post-news {width: 100%; margin-right: 0 !important;}
	
	.button-back {font-size: 0.875em; padding: 0 0 0 50px;}
	.button-back:before {left: -5px;}
	
	.key-lesson {width: 100%; margin-right: 0 !important;}
	
	.testimonials-slideshow {width: calc(100% + 40px); margin: 0 0 0 -20px;}
	.testimonial {padding: 0 20px;}
	.testimonial-meta {width: 100%;}
	.testimonial-content {float: left; width: 100%; margin: 20px 0 0 0;}
}

@media screen and (max-height : 550px) {
	#pre-order-window .content {position: relative; top: auto; left: auto; -webkit-transform: translateY(0); transform: translateY(0);}
}