/* = Site Setup
-------------------------------------------------------------- */

@-ms-viewport{ width: device-width; /* Stops Windows Mobile from trying to scale EVERYTHING to 320px*/ }

* {
	background: none repeat scroll 0 0 transparent;
	border: 0 none;
	margin: 0;
	outline: 0 none;
	padding: 0;
	vertical-align: baseline;
	word-wrap: break-word;
	border-collapse: collapse;
}

*, *:after, *:before {
	box-sizing: border-box;
}

*:focus, *:active { outline: none; }

html, body, #esp-site-wrap, #esp-site-wrap .fill-height {
	height: 100%;
	min-height: 100%;
}

.fill-width {
	width: 100%;
	min-width: 100%;	
}

#esp-site-wrap {
	height: auto;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
	position:relative;
}

html {
	font-size: 62.5%;
	width:100%;
	margin:0;
	max-width:100%;
	font-family: sans-serif;
	overflow-x:hidden;
	overflow-y:scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: scrollbar;
}

body {
	margin: 0;
	min-width:320px;
	position:static!important;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	-webkit-font-smoothing: antialiased;
	-moz-tap-highlight-color:rgba(0,0,0,0); 
	-moz-font-smoothing: antialiased;
	-ms-tap-highlight-color:rgba(0,0,0,0); 
	-ms-font-smoothing: antialiased;
}

body {
	font-size: 1.6em; /* 16px */
	line-height: 1.5; /* 1.5 X 16 = 24px */
	font-family:Arial,Helvetica,sans-serif;
}

.state-indicator {
	border: 0 none;
	clip: rect(0px, 0px, 0px, 0px);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

@media all and (min-width: 1021px) { .state-indicator:before { content: "desktop"; } }
@media all and (min-width: 768px) and (max-width: 1020px){ .state-indicator:before { content: "tablet"; } }
@media (max-width: 767px) { .state-indicator:before { content: "mobile"; } }


/* = Icon Font
-------------------------------------------------------------- */

@font-face {
	font-family: 'icomoon';
	src:url("../fonts/icomoon.eot?#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff") format("woff"), url("../fonts/icomoon.ttf") format("truetype"), url("../fonts/icomoon.svg#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

[class^="icon-esp"], [class*=" icon-esp"] {
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-esp-tag:before { content: "\e935"; }
.icon-esp-phone:before { content: "\e942"; }
.icon-esp-bubble:before { content: "\e96e"; }
.icon-esp-link:before { content: "\e9cb"; }
.icon-esp-attachment:before { content: "\e9cd"; }
.icon-esp-amazon:before { content: "\ea87"; }
.icon-esp-google-plus:before { content: "\ea8b"; }
.icon-esp-google-drive:before { content: "\ea8f"; }
.icon-esp-facebook:before { content: "\ea90"; }
.icon-esp-instagram:before { content: "\ea92"; }
.icon-esp-spotify:before { content: "\ea94"; }
.icon-esp-twitter:before { content: "\ea96"; }
.icon-esp-vine:before { content: "\ea97"; }
.icon-esp-rss:before { content: "\ea9b"; }
.icon-esp-youtube:before { content: "\ea9d"; }
.icon-esp-vimeo:before { content: "\eaa0"; }
.icon-esp-flickr:before { content: "\eaa3"; }
.icon-esp-dribbble:before { content: "\eaa7"; }
.icon-esp-behance:before { content: "\eaa8"; }
.icon-esp-dropbox:before { content: "\eaae"; }
.icon-esp-github:before { content: "\eab0"; }
.icon-esp-yahoo:before { content: "\eabb"; }
.icon-esp-appleinc:before { content: "\eabe"; }
.icon-esp-android:before { content: "\eac0"; }
.icon-esp-windows:before { content: "\eac2"; }
.icon-esp-soundcloud:before { content: "\eac3"; }
.icon-esp-skype:before { content: "\eac5"; }
.icon-esp-wikipedia:before { content: "\eac8"; }
.icon-esp-linkedin:before { content: "\eaca"; }
.icon-esp-stackoverflow:before { content: "\ead0"; }
.icon-esp-pinterest:before { content: "\ead1"; }
.icon-esp-paypal:before { content: "\ead8"; }
.icon-esp-chrome:before { content: "\ead9"; }
.icon-esp-firefox:before { content: "\eada"; }
.icon-esp-edge:before { content: "\eadc"; }
.icon-esp-safari:before { content: "\eadd"; }
.icon-esp-opera:before { content: "\eade"; }

/* Icon Circle */
.icon-circle {
	border: 1px solid;
	border-radius: 50%;
	display: inline-block;
	margin-right: 10px;
	padding: 10px;
	vertical-align: middle;
}
.icon-circle:last-of-type {
	margin-right: 0;
}
.icon-circle [class*="icon-"] {
	display: block;
	height: 0;
	padding-bottom: 100%;
	position: relative;
	text-align: center;
}
.icon-circle [class*="icon-esp-"]::before {
	vertical-align: top;
}


/* = HTML5 Resets
-------------------------------------------------------------- */

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
video {	height: auto; max-width: 100%; }

/* = Input Resets
-------------------------------------------------------------- */

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}
button { overflow: visible; }

button,
select { text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
}

input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner {
	border : 0px;
	padding: 0;
}

button[disabled],
html input[disabled] { cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input { line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
	 -moz-box-sizing: border-box;
		  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { height: auto; }

input[type="search"] {
  -webkit-box-sizing: content-box;
	 -moz-box-sizing: content-box;
		  box-sizing: content-box;
}

input:not([type="radio"]):not([type="checkbox"]), textarea { -webkit-appearance: none; }
input[type=submit], input[type="button"], input[type="reset"], { -webkit-border-radius:0px; }


/* = Common Third Party Fixes - Move this out of common?
-------------------------------------------------------------- */

#swipebox-overlay * { word-wrap:normal; } /* Fix for Lightbox Plugin in IE */

body .skiptranslate iframe { display:none!important; }/* Stops Google Translate streching your page like mad man */

/* Google Maps */
body .gm-style-cc * { word-wrap: normal!important; } /* Fix for Google Maps in IE */
@media (max-width: 767px) {
	#google-map .info-window { width: 200px !important; }
	#google-map .info-window img { display:none; }
}
@media all and (max-width: 550px) {
	html #google-map-canvas-wrap { padding-top: 92.7%; }
}


/* = Clear Fixes
-------------------------------------------------------------- */

.clear-fix:before,
.clear-fix:after,
[class*="content-block"]:before,
[class*="content-block"]:after { content: " "; display: table; }

.clear-fix:after,
[class*="content-block"]:after { clear: both; }

.clear-fix,
[class*="content-block"] { *zoom: 1; }

/* = Common Element Styles
-------------------------------------------------------------- */

a {	text-decoration:none; background-color: transparent; }
a:active, a:hover { outline: 0; }

input[type="submit"], input[type="button"], input[type="reset"], .button, button {
	border:none;
	clear:both;
	width:auto;
	height:auto;
	text-align:center;
	cursor: pointer;
	display: inline-block;
	text-align:center;
	line-height:1em;
	margin-bottom:0px;
	-webkit-appearance:none;
	-moz-appearance:none;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

p, ul, ol, dl, address, table, .entry-info, .element-wrap {	margin: -0.375em 0 2em; }

.wp-video, .wp-audio-shortcode {
	margin-bottom:2em;
	max-width:100%;
}

p, ul, ol, dl, address, table, .element-wrap, textarea, button, input, textarea, select { padding: 0; }

strong, b { font-weight: bold; }

em, dfn, i, cite { font-style: italic; }

.loop .last article {
	margin-bottom: 0;
	border-bottom:0;
}

ul, ol, dl {
	margin-left: 0em;
	list-style:inside;
	margin-bottom: 2em;
}

ol { list-style-type:decimal }

li > ul, li > ol,
dt > dl, dd > dl,
dt > ul, dd > ul,
dt > ol, dd > ol {
	margin:0.5em 0 0 0;
	padding:0px;
}

ol ol + *, ol ul + *, ol dl + *,
ul ol + *, ul ul + *, ul dl + *,
dl ol + *, dl ul + *, dl dl + * { margin-top: 0px; }

ol li > *:last-child,
ul li > *:last-child,
dl li > *:last-child { margin-bottom:0!important; }

button,
select { text-transform: none; }

li, dt, dd {
	padding: 0;
	margin: 0 0 0.5em 0;
}

li {
	margin-left: 2em;
	list-style-position:outside;
}

dt { font-weight:bold; }

small, .small {
	font-size: 0.8em;
	margin-bottom: 0.2em;
}

mark {
  background: #ff0;
  color: #000;
}

pre {
	word-break: break-all;
	white-space: pre-wrap;
	overflow: auto;
	padding: 1.2em 1.4em;
	width:auto;
}

sub, sup {
	font-size: 0.75em;
	line-height: 0em;
	position: relative;
	vertical-align: baseline;
}

sub { bottom: -0.25em; }

sup { top: -0.5em; }


abbr, acronym {
	border-bottom: 1px dotted;
	cursor: help;
}

code, kbd, pre, samp {
	font-family: "Courier New", monospace;
	font-size: 1em;
}

hr {
	border-top: solid;
	clear: both;
	display: block;
	height: 0;
 	-webkit-background-clip: padding-box; /* for Safari */
	background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */
	margin-bottom: 2.1885em;
	padding-bottom:-0.2em;
}

hr.hr-clear {
	visibility:hidden;	
}

iframe, embed, object {
	max-width:100%;
	margin-bottom:1em;
	display:block;
}

p iframe, p embed, p object {
	margin-bottom: 0;
	margin-top: 0.375em;
}

/* = Form Elements
-------------------------------------------------------------- */

fieldset, pre {
	padding:0.8em 1em 1em;
	margin-bottom: 2.375em;
	position:relative;
	border:solid;
}

fieldset > *:last-child,
pre > *:last-child {
	margin-bottom:0!important;
}

legend {
	padding: 0.75em 1em;
	border: 1px solid #ccc;
	margin-bottom:0.625em;
}

label {
	display: block;
	margin: 0 0 0.6em 0;
	vertical-align: text-top;
}

input + label.sr-only + input, input + p {
	margin-top:1.625em;
}

.required .star {
	color:#FE6762;
}

input + label {
	margin-top: 1.6em;
}

input[type="checkbox"] + label, input[type="radio"] + label {
	display: inline-block;
	line-height: normal;
	margin-top: -0.115em;
	margin-right:20px;
}

button {overflow: visible;}

button,
input,
select,
textarea {
	margin: 0;
	font-size: 100%;
}

select,
button,
.js-button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
	cursor: pointer;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input[type="submit"].inline, input[type="button"].inline, input[type="reset"].inline, .button.inline, button.inline {
		margin-right:20px
}

@media all and (max-width: 550px) {
	input[type="submit"], input[type="button"], input[type="reset"], .button, button {
		width:100%;
		max-width:100%;
	}
	
	input[type="submit"].inline, input[type="button"].inline,
	input[type="reset"].inline, .button.inline, button.inline {
		margin-bottom:20px
	}
}

textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select {
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	padding: 10px 12px;
	width:100%;
	font-size:inherit;
	font-family:inherit;
	line-height:inherit;
	max-width:100%;
}

textarea.square, input[type="text"].square, input[type="password"].square, input[type="datetime"].square, input[type="datetime-local"].square, input[type="date"].square, input[type="month"].square, input[type="time"].square, input[type="week"].square, input[type="number"].square, input[type="email"].square, input[type="url"].square, input[type="search"].square, input[type="tel"].square, input[type="color"].square, select.square {
	border-radius: 0px;
}

select {
	display: inline;
	zoom: 1;
}

optgroup {
  font-weight: bold;
}

input[type="file"] {
	clear: both;
	display: block;
	vertical-align: middle;
	padding:inherit;
	margin:0px;
	padding:0px;
}

#content select + select,
#content select + input, 
#content input + select,
#content input + input,
#content select + p {
	margin-top:1.6em!important;
}

#content input[type="hidden"] + select,
#content input[type="hidden"] + input {
	margin-top:0!important;
}

#content select + ul,
#content select + ol,
#content select + dl,
#content select + table,
#content select + textarea,
#content select + button,
#content select + input,
#content select + textarea,
#content select + select {
	margin-top:1em!important;
}

textarea {
	height: 160px;
	overflow: auto;
	vertical-align: top;
	min-height:3em!important;
	min-width:3em;
	resize:both;
}

input[type="radio"], input[type="checkbox"] {
	border: 2px solid #FFFFFF;
	cursor: pointer;
	margin:0 0.6em 0 0;
}

input[type="radio"] + input[type="radio"], input[type="radio"] + input[type="checkbox"], input[type="checkbox"] + input[type="checkbox"], input[type="checkbox"] + input[type="radio"] {
	margin-left: 0;
}

p input[type="submit"], p input[type="button"], p input[type="reset"], p .button, p button {
	margin-bottom:0px;
}

p input[type="submit"] + *, p input[type="button"] + *, p input[type="reset"] + *, p .button + *, p button + * {
	margin-top:1.8em;
}

#login_form input, #join_form input, #password-reset-form input, #reset_form input #tell-a-fiend input {
	max-width:350px;
}

table input, table select, table text-area, table {
	width:100%;
	min-width:inherit;
	max-width:100%;
}

/*** Fancy Check & Radio - To do: Add active for tab users ***/

@keyframes check {
	0% { height: 0; width: 0; }
	25% { height: 0; width: 10px; }
	50% { height: 20px;	width: 10px; }
}

@-webkit-keyframes check {
	0% { height: 0; width: 0; }
	25% { height: 0; width: 10px; }
	50% { height: 20px;	width: 10px; }
}

.form-field-checkbox, .form-field-radio {
	margin-bottom:1em;
}

.form-field-checkbox label, .form-field-radio label {
	margin-right:20px;
}

.form-field-checkbox input + label,
.form-field-radio input + label {
	margin-top:0;
	margin-bottom:1em;
}

.form-field-checkbox input:checked,
.form-field-checkbox input:not(checked),
.form-field-radio input:checked,
.form-field-radio input:not(checked) {
	border: 0 none;
	clip: rect(0px, 0px, 0px, 0px);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.form-field-checkbox input:checked + label:before, .form-field-checkbox input:not(checked) + label:before,
.form-field-radio input:checked + label:before, .form-field-radio input:not(checked) + label:before {
	content: "";
	border-radius: 3px;
	border:2px solid #DDDDDD;
	transition: background 0.25s ease-in-out 0s, border-color 0.25s ease-in-out 0s;
	-webkit-transition: background 0.25s ease-in-out 0s, border-color 0.25s ease-in-out 0s;
	-moz-transition: background 0.25s ease-in-out 0s, border-color 0.25s ease-in-out 0s;
	-ms-transition: background 0.25s ease-in-out 0s, border-color 0.25s ease-in-out 0s;
}

.form-field-radio input:checked + label:before, .form-field-radio input:not(checked) + label:before {
	border-radius: 20px;
}


.form-field-checkbox input:hover:not(checked) + label:before,
.form-field-radio input:hover:not(checked) + label:before,
.form-field-checkbox input:focus:not(checked) + label:before,
.form-field-radio input:focus:not(checked) + label:before {
	border-color:#CCC;
}

.form-field-checkbox input:checked + label:before,
.form-field-checkbox input:hover:checked + label:before,
.form-field-radio input:checked + label:before,
.form-field-radio input:hover:checked + label:before {
	border-color:#4FA4DD!important;
}

.form-field-checkbox input:checked + label, .form-field-checkbox input:not(checked) + label, .form-field-radio input:checked + label, .form-field-radio input:not(checked) + label {
	padding: 9px 0 7px 56px;
	cursor: pointer;
	position: relative;
}

.form-field-checkbox input:checked + label.grouped, .form-field-checkbox input:not(checked) + label.grouped, .form-field-radio input:checked + label.grouped, .form-field-radio input:not(checked) + label.grouped {
	padding: 9px 20px 7px 56px;
}

.form-field-checkbox input:checked + label.grouped, .form-field-checkbox input:not(checked) + label.grouped {
	border-radius: 3px;
}

.form-field-radio input:checked + label.grouped, .form-field-radio input:not(checked) + label.grouped {
	border-radius: 25px;	
}

.form-field-checkbox input:not(checked) + label:before, .form-field-radio input:not(checked) + label:before {
	display: inline-block;
	height: 40px;
	left: 0px;
	margin: -20px 0 0 0;
	padding: 6px;
	position: absolute;
	top: 50%;
	width: 40px;
}


.form-field-checkbox input + label:after {
	border-right: 4px solid transparent;
	border-top: 4px solid transparent;
	content: "";
	display: block;
	height: 22px;
	width: 10px;
	left: 0px;
	top: 50%;
	margin: 3px 9px;
	position: absolute;
	transform: scaleX(-1) rotate(135deg);
	transform-origin: left top 0;
	-ms-transform: scaleX(-1) rotate(135deg);
	-ms-transform-origin: left top 0;
	-webkit-transform: scaleX(-1) rotate(135deg);
	-webkit-transform-origin: left top 0;
	transition: border-color 0.25s ease-in-out 0s;
	-webkit-transition:  border-color 0.25s ease-in-out 0s;
	-moz-transition:  border-color 0.25s ease-in-out 0s;
	-ms-transition:  border-color 0.25s ease-in-out 0s;
}

body .form-field-checkbox input:checked + label:after {
	animation: 0.6s ease 0s check;
	transition: border-color 0s ease-in-out 0s;
	-webkit-transition:  border-color 0s ease-in-out 0s;
	-moz-transition:  border-color 0s ease-in-out 0s;
	-ms-transition:  border-color 0s ease-in-out 0s;
	-webkit-animation: 0.6s ease 0s check;
}

.form-field-radio input:not(checked) + label:after,
.form-field-radio input:checked + label:after {
	background-color: #4FA4DD;
	border-radius: 8px;
	content: "";
	height: 16px;
	left: 0px;
	margin: -8px 0 0 12px;
	position: absolute;
	text-align: center;
	top: 50%;
	width: 16px;
	transition: transform 0.25s ease-in-out 0s;
	-webkit-transition: transform 0.25s ease-in-out 0s;
	-moz-transition: transform 0.25s ease-in-out 0s;
	-ms-transition: transform 0.25s ease-in-out 0s;
}

.form-field-radio input:not(checked) + label:after {
	transform: scale(0);
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
}

.form-field-radio input:checked + label:after {
	visibility:visible;
	transform: scale(1);
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
}
.checkbox-group {
	margin-bottom: 1em;
	display:block;
	width:100%;
}

.checkbox-group .form-field-checkbox {
	display: inline-block;
	margin-bottom: 0;
}

table .form-field-checkbox input + label,
table .form-field-radio input + label {
	margin-bottom:0px;
	margin-right:0px;
}


/* = Buttons
-------------------------------------------------------------- */

input[type="submit"], input[type="button"], input[type="reset"], .button, button {
	border:none;
	clear:both;
	width:auto;
	height:auto;
	text-align:center;
	cursor: pointer;
	display: inline-block;
	text-align:center;
	line-height:1em;
	margin-bottom:0px;
	-webkit-appearance:none;
	-moz-appearance:none;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

html body .no-button {
    background: none;
    border: none;
    padding: 0;
	line-height:normal;
}

@media all and (max-width: 550px) {
	input[type="submit"], input[type="button"], input[type="reset"], .button, button {
		width:100%;
		max-width:100%;
	}
	
	input[type="submit"].inline, input[type="button"].inline, input[type="reset"].inline, .button.inline, button.inline {
		margin-bottom:20px
	}	
}


/* = Alerts
-------------------------------------------------------------- */

[class*="alert-"] {
	border: 1px solid transparent;
	padding:15px;
	margin-bottom: 20px;
}

div[class*="alert-"] {
	position: relative;
}

div[class*="alert-"] > p, div[class*="alert-"] > ul {
	margin: 0;
}
div[class*="alert-"] > p + p, div[class*="alert-"] > p + ul, div[class*="alert-"] > p + ol,
div[class*="alert-"] > ul + p, div[class*="alert-"] > ul + ul, div[class*="alert-"] > ul + ol,
div[class*="alert-"] > ol + p, div[class*="alert-"] > ol + ul, div[class*="alert-"] > ol + ol {
	margin-top: 10px;
}

div[class*="alert-"] hr {
	margin-bottom: 20px;
	margin-top: 20px;
}

/* = Images
-------------------------------------------------------------- */

svg:not(:root) { overflow: hidden; }

img {
	height: auto;
	max-width:100%;
	vertical-align: middle;
	-ms-interpolation-mode: bicubic;
}

/*** Images output via Wordpress ***/

.loop img {
	display: block;
	margin: 0 0 1.4em 0;
}

.loop p img { margin-top: 0.375em; }

.custom-image-inner {
	display:inline-block;
	vertical-align:bottom;
}

.custom-image .custom-image-inner img {
	margin-left:0px;
	margin-right:0px;
	margin-bottom:0px;
}

img.alignnone, figure.alignnone, figure.wp-caption, body .custom-image {
	margin-left: 0;
	margin-right: 0;
	clear: both;
	display:block;
}
img.alignnone, figure.alignnone, figure.wp-caption, body #post-content .custom-image {
	margin-bottom: 1.83em;
}

img.alignleft, img.wp-post-image, figure.alignleft, .custom-image.alignleft {
	clear: left;
	float: left;
	margin-right:0.7em;
	margin-bottom:1.4em;
	padding-right:0.7em;
}

img.alignleft, img.wp-post-image, .custom-image.esp-size-full.alignleft {
	margin-right:1.4em;
	padding-right:0;	
}

img.alignright, figure.alignright, .custom-image.alignright {
	clear: right;
	float: right;
	margin-left:0.7em;
	margin-bottom:1.4em;
	padding-left:0.7em;
}

img.alignright, .custom-image.esp-size-full.alignright {
	margin-left:1.4em;
	padding-left:0;	
}

body img.aligncenter, body figure.aligncenter, body .custom-image.aligncenter {
	margin-bottom: 1.83em;
	margin-left: auto;
	margin-right: auto;
	clear:both;
	display: block;
}

figure.wp-caption .custom-image,
figure.wp-caption img {
	width:100%;
	margin-bottom:0;
}

.size-thumbnail,
.esp-size-thumbnail {
	width:150px;
}

.size-medium,
.esp-size-medium {
	width:33.333%;
}

.size-intermediate_1,
.esp-size-intermediate_1 {
	width:50%;
}

.size-intermediate_2,
.esp-size-intermediate_2 {
	width:66.667%;
}

.size-large,
.custom-image.esp-size-large {
	width:100%;
	margin: 0 0 1.83em 0;
	padding:0;
}

.custom-image.aligncenter {
	margin: 0 auto 1.83em;
	padding:0;
}

.custom-image.alignnone {
	margin: 0 0 1.83em;
	padding:0;
	float:none;
}

/* Lazy Load */
.wp-caption .custom-image {	width:100%;	}
html.no-js body .lazyload {	display:none!important; }
.no-js .custom-image img {	width:100%;	}

.js .custom-image img { opacity:0; transition : opacity 0.3s ease-in-out 0.3s;}
.js .custom-image .custom-image-inner img.lazyautosizes { opacity:1; }

/*** Gallery ***/

.gallery {
	margin-right:-20px;
	margin-bottom:20px;
}

.gallery .gallery-item {
	display: inline-block;
	vertical-align: top;
	padding-right: 20px;
	margin-bottom:20px;
	position:relative;
	overflow: hidden;
}

.esp-gallery .gallery-icon {
	position:relative;
	padding-bottom:100%;
}


.gallery .gallery-icon a { display: block; }
.gallery .gallery-icon a img { width: 100%; margin:0px; }
.gallery .gallery-icon img { margin:0px; }

.gallery-item { width: 33.333%; }
.gallery-columns-9 .gallery-item { width:11.111% }
.gallery-columns-8 .gallery-item { width: 12.5%; }
.gallery-columns-7 .gallery-item { width: 14.285%; }
.gallery-columns-6 .gallery-item { width: 16.666%; }
.gallery-columns-5 .gallery-item { width: 20%; }
.gallery-columns-4 .gallery-item { width: 25%; }
.gallery-columns-3 .gallery-item { width: 33.333%; }
.gallery-columns-2 .gallery-item { width: 50%; }
.gallery-columns-1 .gallery-item { width: 100%; }

.gallery-square img,
.gallery-seamless img {
	border-radius: 0;
}

.gallery.gallery-seamless {
	margin-right:0;
}

.seamless-gallery .gallery-item {
	padding:0;
	margin:0;
}

/* Captions */

.gallery figcaption,
.gallery.esp-gallery.gallery-columns-4 figcaption,
.gallery.esp-gallery.gallery-columns-5 figcaption,
.gallery.esp-gallery.gallery-columns-6 figcaption,
.gallery.esp-gallery.gallery-columns-7 figcaption,
.gallery.esp-gallery.gallery-columns-8 figcaption,
.gallery.esp-gallery.gallery-columns-9 figcaption {
	display:none;
}

.gallery.esp-gallery figcaption {
	display:block;
}

figure.wp-caption {
	max-width: 100%;
	margin-top:0;
	position:relative;
}

figure.wp-caption img {
	margin-top:0px;
	max-width:100%;
}

.gallery-caption {
	bottom: 0;
	position: absolute;
	width: 100%;
}

.wp-caption-text-inner {
	padding: 10px 15px;
}

.gallery-caption .wp-caption-text-inner {
	background-color: rgba(0, 0, 0, 0.5);
}

@media all and (min-width: 768px) and (max-width: 1020px){
	/* Gallery */
	
	.gallery .gallery-item { width:50%;	}
	.gallery-columns-9 .gallery-item { width:16.666% }
	.gallery-columns-8 .gallery-item,
	.gallery-columns-7 .gallery-item { width: 20%; }
	.gallery-columns-6 .gallery-item { width: 25%; }
	.gallery-columns-5 .gallery-item,
	.gallery-columns-4 .gallery-item { width: 33.333%; }
	.gallery-columns-3 .gallery-item,
	.gallery-columns-2 .gallery-item { width: 50%; }
	.gallery-columns-1 .gallery-item { width: 100%;	}
}

@media (max-width: 767px) {
	.gallery .gallery-item { width:100%; }
	.gallery-columns-9 .gallery-item,
	.gallery-columns-8 .gallery-item,
	.gallery-columns-7 .gallery-item { width: 33.333%; }
	
	.gallery-columns-6 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-4 .gallery-item { width: 50%; }
	
	.gallery-columns-3 .gallery-item,
	.gallery-columns-2 .gallery-item,
	.gallery-columns-1 .gallery-item { width: 100%; }
}


/* = Tables
-------------------------------------------------------------- */

table {
	border-collapse:collapse;
	border-spacing: 0;
	width: 100%;
	max-width:100%;
	table-layout:inherit;
	margin-bottom: 2em;
	background-color: transparent;

}

table th {
	font-size: 1.1em;
}
	
th, td,
.table-default th, .table-default td {
	font-weight: normal;
	text-align: left;
	padding: 12px;
	border: solid;
}

.table-seamless, .table-seamless th, .table-seamless td {
	border: medium none !important;
	padding: 0;
}

.table-clean, .table-clean th, .table-clean td {
	border: medium none !important;
}

.table-condensed th, .table-condensed td {
	padding: 6px;
}

.table-responsive {
	min-height: .01%;
	overflow-x: auto;
}

.table-fixed,
.table-logos {
	table-layout:fixed;
}

.table-logos td {
	vertical-align:middle;
}

.table-logos .custom-image,
.table-logos img {
	width:100%!important;
	margin:0!important;
	vertical-align:middle;
	max-width:200px !important;
}

.overflow-ellipsis {
    display: block!important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
td.overflow-ellipsis {
    display: table-cell!important;
    max-width: 0;
}


@media all and (min-width: 1021px) {
	.desktop-table-condensed th, .desktop-table-condensed td { padding: 6px; }
	.desktop-table-default th, .desktop-table-default td { padding: 12px; }

	.desktop-overflow-ellipsis {
		display: block!important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 100%;
	}
	td.desktop-overflow-ellipsis {
		display: table-cell!important;
		max-width: 0;
	}	

}

@media all and (min-width: 768px) and (max-width: 1020px){
	.tablet-table-condensed th, .tablet-table-condensed td { padding: 6px; }
	.tablet-table-default th, .tablet-table-default td { padding: 12px;	}
	
	.tablet-overflow-ellipsis {
		display: block!important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 100%;
	}
	td.tablet-overflow-ellipsis {
		display: table-cell!important;
		max-width: 0;
	}
}

@media (max-width: 767px) {
	.mobile-table-condensed th, .mobile-table-condensed td { padding: 6px; }
	.mobile-table-default th, .mobile-table-default td { padding: 12px;	}

	.mobile-overflow-ellipsis {
		display: block!important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 100%;
	}
	td.mobile-overflow-ellipsis {
		display: table-cell!important;
		max-width: 0;
	}
	
	/* Responsive Tables*/
	
	.table-responsive {
		width: 100%;
		margin-bottom: 2em;
		overflow-y: hidden;
		-ms-overflow-style: -ms-autohiding-scrollbar;
		border: 1px solid #ddd;
	}
	.table-responsive > table {
		margin: 0;
		border: 0;
	}
	.table-responsive > table > thead > tr > th,
	.table-responsive > table > tbody > tr > th,
	.table-responsive > table > tfoot > tr > th,
	.table-responsive > table > thead > tr > td,
	.table-responsive > table > tbody > tr > td,
	.table-responsive > table > tfoot > tr > td {
		white-space: nowrap;
	}
}

/* Background Positions */

html body .background-position-top, html body .background-position-top .background-position-hook { background-position: center top; }
html body .background-position-center, html body .background-position-center .background-position-hook { background-position: center center; }
html body .background-position-bottom, html body .background-position-bottom .background-position-hook { background-position: center bottom; }
@media all and (min-width: 1021px) {
	/* Background Positions */
	html body .desktop-background-position-top, html body .desktop-background-position-top .background-position-hook { background-position: center top; }
	html body .desktop-background-position-center, html body .desktop-background-position-center .background-position-hook { background-position: center center; }
	html body .desktop-background-position-bottom, html body .desktop-background-position-bottom .background-position-hook { background-position: center bottom; }
}


@media all and (min-width: 768px) and (max-width: 1020px){
	/* Background Positions */
	html body .tablet-background-position-top, html body .tablet-background-position-top .background-position-hook { background-position: center top; }
	html body .tablet-background-position-center, html body .tablet-background-position-center .background-position-hook { background-position: center center; }
	html body .tablet-background-position-bottom, html body .tablet-background-position-bottom .background-position-hook { background-position: center bottom; }
}

@media (max-width: 767px) {
	/* Background Positions */
	html body .mobile-background-position-top, html body .mobile-background-position-top .background-position-hook { background-position: center top; }
	html body .mobile-background-position-center, html body .mobile-background-position-center .background-position-hook { background-position: center center; }
	html body .mobile-background-position-bottom, html body .mobile-background-position-bottom .background-position-hook { background-position: center bottom; }
}

body .background-cover {	background-size:cover; } /* make sure these can overwrite background columns*/
body .background-contain {	background-size:contain; }
body .background-auto {	background-size:auto; }

@media all and (min-width: 1021px) {
	html body .desktop-background-cover { background-size:cover; }
	html body .desktop-background-contain {	background-size:contain; }
	html body .desktop-background-auto {	background-size:auto; }

}

@media all and (min-width: 768px) and (max-width: 1020px){
	html body .tablet-background-cover { background-size:cover; }
	html body .tablet-background-contain {	background-size:contain; }
	html body .tablet-background-auto {	background-size:auto; }

}

@media (max-width: 767px) {
	
	html body .mobile-background-cover { background-size:cover; }
	html body .mobile-background-contain {	background-size:contain; }
	html body .mobile-background-auto {	background-size:auto; }

}


/*** Content Overlay & Fades ***/

[class*="overlay-"], .inner-shaddow {
	overflow:hidden;
	width:auto;
	position:relative;
}

[class*="overlay-"]:after, .inner-shaddow:after {
	content: "";
	bottom: 0;
	left:0;
	height: 100%;
	position: absolute;
	width: 100%;
	border-radius:inherit;
	transition: background 0.3s ease-in-out;
	-moz-transition: background 0.3s ease-in-out;
	-webkit-transition: background 0.3s ease-in-out;
}

[class*="overlay-"].overlay-fade:after {max-height:150px;}
.overlay-10:after, .overlay-10.overlay-hover:hover:after { background-color:rgba(0,0,0,0.1); }
.overlay-20:after, .overlay-20.overlay-hover:hover:after { background-color:rgba(0,0,0,0.2); }
.overlay-30:after, .overlay-30.overlay-hover:hover:after { background-color:rgba(0,0,0,0.3); }
.overlay-40:after, .overlay-40.overlay-hover:hover:after { background-color:rgba(0,0,0,0.4); }
.overlay-50:after, .overlay-50.overlay-hover:hover:after { background-color:rgba(0,0,0,0.5); }
.overlay-60:after, .overlay-60.overlay-hover:hover:after { background-color:rgba(0,0,0,0.6); }
.overlay-70:after, .overlay-70.overlay-hover:hover:after { background-color:rgba(0,0,0,0.7); }
.overlay-80:after, .overlay-80.overlay-hover:hover:after { background-color:rgba(0,0,0,0.8); }
.overlay-90:after, .overlay-90.overlay-hover:hover:after { background-color:rgba(0,0,0,0.9); }
.overlay-10.overlay-fade:after, .overlay-10.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 100%);}
.overlay-20.overlay-fade:after, .overlay-20.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.2) 100%);}
.overlay-30.overlay-fade:after, .overlay-30.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.3) 100%);}
.overlay-40.overlay-fade:after, .overlay-40.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.4) 100%);} 
.overlay-50.overlay-fade:after, .overlay-50.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.5) 100%);}
.overlay-60.overlay-fade:after, .overlay-60.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.6) 100%);}
.overlay-70.overlay-fade:after, .overlay-70.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);}
.overlay-80.overlay-fade:after, .overlay-80.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 100%);}
.overlay-90.overlay-fade:after, .overlay-90.overlay-hover.overlay-fade:hover:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.9) 100%);}

.overlay-hover:after { background-color:rgba(0,0,0,0); }
.overlay-fade.overlay-hover:after {	background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0) 100%); }

.inner-shaddow:after { box-shadow: 0 0 8px rgba(0, 0, 0, 0.4) inset; }
[class*="overlay-"].overlay-fade.inner-shaddow:after { max-height:100%; }


/* = Text Decoration
-------------------------------------------------------------- */

/* White text*/

body .dark-background, body .dark-background h1, body .dark-background h2, body .dark-background h3, body .dark-background h4, body .dark-background h5, body .dark-background h6, body .dark-background strong { color: #fff; }

body .dark-background a { color: #fff; }

.dark-background textarea, .dark-background input[type="text"], .dark-background input[type="password"], .dark-background input[type="datetime"], .dark-background input[type="datetime-local"], .dark-background input[type="date"], .dark-background input[type="month"], .dark-background input[type="time"], .dark-background input[type="week"], .dark-background input[type="number"], .dark-background input[type="email"], .dark-background input[type="url"], .dark-background input[type="search"], .dark-background input[type="tel"], .dark-background input[type="color"], .dark-background select {
	border-color: #FFF!important;
}

@media all and (min-width: 1021px) {
	html body .desktop-dark-background, html body .desktop-dark-background h1, html body .desktop-dark-background h2, html body .desktop-dark-background h3, html body .desktop-dark-background h4, html body .desktop-dark-background h5, html body .desktop-dark-background h6, html body .desktop-dark-background strong { color: #fff; }

	html body .desktop-dark-background a { color: #fff; }
	
	.desktop-dark-background textarea, .desktop-dark-background input[type="text"], .desktop-dark-background input[type="password"], .desktop-dark-background input[type="datetime"], .desktop-dark-background input[type="datetime-local"], .desktop-dark-background input[type="date"], .desktop-dark-background input[type="month"], .desktop-dark-background input[type="time"], .desktop-dark-background input[type="week"], .desktop-dark-background input[type="number"], .desktop-dark-background input[type="email"], .desktop-dark-background input[type="url"], .desktop-dark-background input[type="search"], .desktop-dark-background input[type="tel"], .desktop-dark-background input[type="color"], .desktop-dark-background select {
		border-color: #FFF;
	}
	
}

@media all and (min-width: 768px) and (max-width: 1020px){
	html body .tablet-dark-background, html body .tablet-dark-background h1, html body .tablet-dark-background h2, html body .tablet-dark-background h3, html body .tablet-dark-background h4, html body .tablet-dark-background h5, html body .tablet-dark-background h6, html body .tablet-dark-background strong { color: #fff; }
	
	html body .tablet-dark-background a { color: #fff; }
	
	.tablet-dark-background textarea, .tablet-dark-background input[type="text"], .tablet-dark-background input[type="password"], .tablet-dark-background input[type="datetime"], .tablet-dark-background input[type="datetime-local"], .tablet-dark-background input[type="date"], .tablet-dark-background input[type="month"], .tablet-dark-background input[type="time"], .tablet-dark-background input[type="week"], .tablet-dark-background input[type="number"], .tablet-dark-background input[type="email"], .tablet-dark-background input[type="url"], .tablet-dark-background input[type="search"], .tablet-dark-background input[type="tel"], .tablet-dark-background input[type="color"], .tablet-dark-background select {
		border-color: #FFF;
	}
}

@media (max-width: 767px) {
	html body .mobile-dark-background, html body .mobile-dark-background h1, html body .mobile-dark-background h2, html body .mobile-dark-background h3, html body .mobile-dark-background h4, html body .mobile-dark-background h5, html body .mobile-dark-background h6, html body .mobile-dark-background strong { color: #fff;	}
	
	html body .mobile-dark-background a { color: #fff; }
	
	.mobile-dark-background textarea, .mobile-dark-background input[type="text"], .mobile-dark-background input[type="password"], .mobile-dark-background input[type="datetime"], .mobile-dark-background input[type="datetime-local"], .mobile-dark-background input[type="date"], .mobile-dark-background input[type="month"], .mobile-dark-background input[type="time"], .mobile-dark-background input[type="week"], .mobile-dark-background input[type="number"], .mobile-dark-background input[type="email"], .mobile-dark-background input[type="url"], .mobile-dark-background input[type="search"], .mobile-dark-background input[type="tel"], .mobile-dark-background input[type="color"], .mobile-dark-background select {
		border-color: #FFF;
	}

}

body .uppercase { text-transform: uppercase; }
body .lowercase { text-transform: lowercase; }
body .regularcase { text-transform:none; }

body .font-bold { font-weight: bold; }
body .font-normal { font-weight: normal; }

@media all and (min-width: 1021px) {
	html body .desktop-uppercase { text-transform: uppercase; }
	html body .desktop-lowercase { text-transform: lowercase; }
	html body .desktop-regularcase { text-transform:none; }
	
	html body .desktop-font-bold { font-weight: bold; }
	html body .desktop-font-normal { font-weight: normal; }	
}

@media all and (min-width: 768px) and (max-width: 1020px){
	html body .tablet-uppercase { text-transform: uppercase; }
	html body .tablet-lowercase { text-transform: lowercase; }
	html body .tablet-regularcase { text-transform:none; }
	
	html body .tablet-font-bold { font-weight: bold; }
	html body .tablet-font-normal { font-weight: normal; }	
}

@media (max-width: 767px) {
	html body .mobile-uppercase { text-transform: uppercase; }
	html body .mobile-lowercase { text-transform: lowercase; }
	html body .mobile-regularcase { text-transform:none; }
	
	html body .mobile-font-bold { font-weight: bold; }
	html body .mobile-font-normal { font-weight: normal; }
}

/* = Hiding Elements
-------------------------------------------------------------- */

.sr-only { /* Visible only to Screen Readers */
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
}

/* Hide Elements + JS / Noscript Swap + Browser Sniffing */

.display-none, html.no-js .no-js-display-none, html.js .js-display-none, .safari .safari-display-none, .mozilla .mozilla-display-none, .chrome .chrome-display-none, .msie .msie-display-none, .edge .edge-display-none, .unknown .unknown-display-none { display: none !important; }
.display-block, html.no-js .no-js-display-block, html.js .js-display-block, .safari .safari-display-block, .mozilla .mozilla-display-block, .chrome .chrome-display-block, .msie .msie-display-block, .edge .edge-display-block, .unknown .unknown-display-block { display: block !important; }
.display-inline-block, html.no-js .no-js-display-inline-block, html.js .js-display-inline-block, .safari .safari-display-inline-block, .mozilla .mozilla-display-inline-block, .chrome .chrome-display-inline-block, .msie .msie-display-inline-block, .edge .edge-display-inline-block, .unknown .unknown-display-inline-block { display:inline-block!important; }
.display-inline, html.no-js .no-js-display-inline, html.js .js-display-inline, .safari .safari-display-inline, .mozilla .mozilla-display-inline, .chrome .chrome-display-inline, .msie .msie-display-inline, .edge .edge-display-inline, .unknown .unknown-display-inline { display:inline!important; }

@media all and (min-width: 1021px) {
	.desktop-display-none, html.no-js .no-js-desktop-display-none, html.js .js-desktop-display-none, .safari .safari-desktop-display-none, .mozilla .mozilla-desktop-display-none, .chrome .chrome-desktop-display-none, .msie .msie-desktop-display-none, .edge .edge-desktop-display-none, .unknown .unknown-desktop-display-none { display: none !important; }
	.desktop-display-block,	html.no-js .no-js-desktop-display-block, html.js .js-desktop-display-block, .safari .safari-desktop-display-block, .mozilla .mozilla-desktop-display-block, .chrome .chrome-desktop-display-block, .msie .msie-desktop-display-block, .edge .edge-desktop-display-block, .unknown .unknown-desktop-display-block { display: block !important; }
	.desktop-display-inline-block, html.no-js .no-js-desktop-display-inline-block, html.js .js-desktop-display-inline-block .safari .safari-desktop-display-inline-block, .mozilla .mozilla-desktop-display-inline-block, .chrome .chrome-desktop-display-inline-block, .msie .msie-desktop-display-inline-block, .edge .edge-desktop-display-inline-block, .unknown .unknown-desktop-display-inline-block { display:inline-block!important; }
	.desktop-display-inline, html.no-js .no-js-desktop-display-inline, html.js .js-desktop-display-inline, .safari .safari-desktop-display-inline, .mozilla .mozilla-desktop-display-inline, .chrome .chrome-desktop-display-inline, .msie .msie-desktop-display-inline, .edge .edge-desktop-display-inline, .unknown .unknown-desktop-display-inline { display:inline!important; }
}

@media all and (min-width: 768px) and (max-width: 1020px){
	.tablet-display-none, html.no-js .no-js-tablet-display-none, html.js .js-tablet-display-none, .safari .safari-tablet-display-none, .mozilla .mozilla-tablet-display-none, .chrome .chrome-tablet-display-none, .msie .msie-tablet-display-none, .edge .edge-tablet-display-none, .unknown .unknown-tablet-display-none { display: none !important; }
	.tablet-display-block, html.no-js .no-js-tablet-display-block, html.js .js-tablet-display-block, .safari .safari-tablet-display-block, .mozilla .mozilla-tablet-display-block, .chrome .chrome-tablet-display-block, .msie .msie-tablet-display-block, .edge .edge-tablet-display-block, .unknown .unknown-tablet-display-block { display: block !important; }
	.tablet-display-inline-block, html.no-js .no-js-tablet-display-inline-block, html.js .js-tablet-display-inline-block, .safari .safari-tablet-display-inline-block, .mozilla .mozilla-tablet-display-inline-block, .chrome .chrome-tablet-display-inline-block, .msie .msie-tablet-display-inline-block, .edge .edge-tablet-display-inline-block, .unknown .unknown-tablet-display-inline-block { display:inline-block!important; }
	.tablet-display-inline,	html.no-js .no-js-tablet-display-inline, html.js .js-tablet-display-inline,	.safari .safari-tablet-display-inline, .mozilla .mozilla-tablet-display-inline, .chrome .chrome-tablet-display-inline, .msie .msie-tablet-display-inline, .edge .edge-tablet-display-inline, .unknown .unknown-tablet-display-inline { display:inline!important; }
}

@media (max-width: 767px) {
	.mobile-display-none, html.no-js .no-js-mobile-display-none, html.js .js-mobile-display-none, .safari .safari-mobile-display-none, .mozilla .mozilla-mobile-display-none, .chrome .chrome-mobile-display-none, .msie .msie-mobile-display-none, .edge .edge-mobile-display-none, .unknown .unknown-mobile-display-none { display: none !important; }
	.mobile-display-block, html.no-js .no-js-mobile-display-block, html.js .js-mobile-display-block, .safari .safari-mobile-display-block, .mozilla .mozilla-mobile-display-block, .chrome .chrome-mobile-display-block, .msie .msie-mobile-display-block, .edge .edge-mobile-display-block, .unknown .unknown-mobile-display-block { display: block !important; }
	.mobile-display-inline-block, html.no-js .no-js-mobile-display-inline-block, html.js .js-mobile-display-inline-block, .safari .safari-mobile-display-inline-block, .mozilla .mozilla-mobile-display-inline-block, .chrome .chrome-mobile-display-inline-block, .msie .msie-mobile-display-inline-block, .edge .edge-mobile-display-inline-block, .unknown .unknown-mobile-display-inline-block { display:inline-block!important; }
	.mobile-display-inline,	html.no-js .no-js-mobile-display-inline, html.js .js-mobile-display-inline,	.safari .safari-mobile-display-inline, .mozilla .mozilla-mobile-display-inline, .chrome .chrome-mobile-display-inline, .msie .msie-mobile-display-inline, .edge .edge-mobile-display-inline, .unknown .unknown-mobile-display-inline { display:inline!important; }
}

/* Fake <BR /> */

span.br:before { content: "\A"; white-space: pre; }

@media all and (min-width: 1021px) {
	body span.br:before { content: ""; white-space:normal; }
	html body span.desktop-br:before { content: "\A"; white-space: pre; }
}

@media all and (min-width: 768px) and (max-width: 1020px){
	body span.br:before { content: ""; white-space:normal; }
	html body span.tablet-br:before { content: "\A"; white-space: pre; }
}

@media (max-width: 767px) {
	body span.br:before { content: ""; white-space:normal; }
	html body span.mobile-br:before { content: "\A"; white-space: pre; }
}

/* Overflow Elements */

.overflow-visible { overflow:visible!important; }
.overflow-scroll { overflow:scroll!important; }
.overflow-hidden { overflow:hidden!important; }

@media all and (min-width: 1021px) {
	.desktop-overflow-visible { overflow:visible!important; }
	.desktop-overflow-scroll { overflow:scroll!important; }
	.desktop-overflow-hidden { overflow:hidden!important; }
}

@media all and (min-width: 768px) and (max-width: 1020px){
	.tablet-overflow-visible { overflow:visible!important; }
	.tablet-overflow-scroll { overflow:scroll!important; }
	.tablet-overflow-hidden { overflow:!important; }
}

@media (max-width: 767px) {
	.mobile-overflow-visible { overflow:visible!important; }
	.mobile-overflow-scroll { overflow:scroll!important; }
	.mobile-overflow-hidden { overflow:hidden!important; }
}


/* = Comomon Theme Styles
-------------------------------------------------------------- */


/*** Breadcrumbs ***/

.breadcrumbs {
	padding-bottom: 14px;
	padding-top: 14px;
	margin:0;
	overflow:hidden;
}

.breadcrumbs li {
	float: left;
	list-style: none;
	margin: 5px 24px 5px 0;
	padding-top: 0;
	padding-bottom:0px
}

.breadcrumbs li a {	display:block; }


/*** Pagination ***/

.pagination-wrap {
	border-top: solid;
	width:100%;
	padding-top:2.375em;
	clear:both;
}

.pagination {
	clear: both;
	float: right;
}

.pagination span, .pagination a {
	display: block;
	float: left;
	line-height: normal;
	text-decoration: none;
	transition: background-color 0.3s;
	-webkit-transition: background-color 0.3s;
}

.pagination .pag-sep {
	display:block;
	float:left;
}

@media (max-width: 767px) {
	/* Pagination */ 
	
	.pagination { float: left; }
	.pagination .pag-sep { display: none; }
}

/* WP Admin Login */

html.esp-html { margin-top: 0px !important; }
html.esp-html body { padding-top: 32px !important; }
* html body { margin-top: 0px !important; }
* html.esp-html body { padding-top: 32px !important; }
@media screen and (max-width: 782px) { 
	html.esp-html { margin-top: 0px !important; }
	html.esp-html body { padding-top: 46px !important; }
	* html body { margin-top: 0px !important; }
	* html.esp-html body { padding-top: 46px !important; }
}
