/* = 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%;	
}
gallery.gallery-logo,
#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: 1025px) { .state-indicator:before { content: "desktop"; } }
@media all and (min-width: 768px) and (max-width: 1024px){ .state-indicator:before { content: "tablet"; } }
@media (max-width: 767.999px) { .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*="esp-social-icon"] {
	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 Circle */

[class*="esp-social-circle"] {
	border: 1px solid;
	border-radius: 50%;
	display: inline-block;
	padding: 13px;
	vertical-align: middle;
}


[class*="esp-social-circle"] [class*="esp-social-icon"] {
	display: block;
	height: 0;
	padding-bottom: 100%;
	position: relative;
	text-align: center;
	font-size:1.3em
}

[class*="esp-social-circle"] [class*="esp-social-icon"]::before {
	vertical-align: top;
}

.dark-background [class*="esp-social-circle"] { border-color:#FFF;}
.dark-background .fill-colors [class*="esp-social-circle"] {background-color:#FFF; border-color: #fff;}
.dark-background .fill-colors [class*="esp-social-circle"] [class*="esp-social-icon"] {color:currentColor;}

.fill-colors [class*="esp-social-circle"],
.social-colors [class*="esp-social-circle"],
html .social-colors-hover [class*="esp-social-circle"]:hover {
    background-color: currentcolor;
	border-color: currentcolor;
}

.esp-social-icon-link:before { content: "\e9cb"; }
.esp-social-icon-attachment:before { content: "\e9cd"; }
.esp-social-icon-mail:before { content: "\e900"; }
.esp-social-icon-home:before { content: "\e902"; }
.esp-social-icon-price:before { content: "\e935"; }
.esp-social-icon-phone:before { content: "\e942"; }
.esp-social-icon-bubble:before { content: "\e96b"; }


.esp-social-icon-amazon:before { content: "\ea87"; }
.social-colors .esp-social-circle-amazon, html .social-colors-hover .esp-social-circle-amazon:hover { background-color:#F8981D; border-color:#F8981D; }
.social-colors .esp-social-icon-amazon, html .social-colors-hover .esp-social-icon-amazon:hover { color:#F8981D; }
.esp-social-icon-google-plus:before { content: "\ea8b"; }
.social-colors .esp-social-circle-google-plus, html .social-colors-hover .esp-social-circle-google-plus:hover { background-color:#DB4437; border-color:#DB4437; }
.social-colors .esp-social-icon-google-plus, html .social-colors-hover .esp-social-icon-google-plus:hover { color:#DB4437; }
.esp-social-icon-facebook:before { content: "\ea90"; }
.social-colors .esp-social-circle-facebook, html .social-colors-hover .esp-social-circle-facebook:hover { background-color:#4867AA; border-color:#4867AA; }
.social-colors .esp-social-icon-facebook, html .social-colors-hover .esp-social-icon-facebook:hover { color:#4867AA; }
.esp-social-icon-instagram:before { content: "\ea92"; }
.social-colors .esp-social-circle-instagram, html .social-colors-hover .esp-social-circle-instagram:hover { background-color:#D0348E; border-color:#D0348E; }
.social-colors .esp-social-icon-instagram, html .social-colors-hover .esp-social-icon-instagram:hover { color:#262626; }
.esp-social-icon-spotify:before { content: "\ea94"; }
.social-colors .esp-social-circle-spotify, html .social-colors-hover .esp-social-circle-spotify:hover { background-color:#1DB954; border-color:#1DB954; }
.social-colors .esp-social-icon-spotify, html .social-colors-hover .esp-social-icon-spotify:hover { color:#1DB954; }
.esp-social-icon-twitter:before { content: "\ea96"; }
.social-colors .esp-social-circle-twitter, html .social-colors-hover .esp-social-circle-twitter:hover { background-color:#1DA1F2; border-color:#1DA1F2; }
.social-colors .esp-social-icon-twitter, html .social-colors-hover .esp-social-icon-twitter:hover { color:#1DA1F2; }
.esp-social-icon-vine:before { content: "\ea97"; }
.social-colors .esp-social-circle-vine, html .social-colors-hover .esp-social-circle-vine:hover { background-color:#00bf8f; border-color:#00bf8f; }
.social-colors .esp-social-icon-vine, html .social-colors-hover .esp-social-icon-vine:hover { color:#00bf8f; }
.esp-social-icon-rss:before { content: "\ea9b"; }
.social-colors .esp-social-circle-rss, html .social-colors-hover .esp-social-circle-rss:hover { background-color:#F8991D; border-color:#F8991D; }
.social-colors .esp-social-icon-rss, html .social-colors-hover .esp-social-icon-rss:hover { color:#F8991D; }
.esp-social-icon-youtube:before { content: "\ea9d"; }
.social-colors .esp-social-circle-youtube, html .social-colors-hover .esp-social-circle-youtube:hover { background-color:#E62117; border-color:#E62117; }
.social-colors .esp-social-icon-youtube, html .social-colors-hover .esp-social-icon-youtube:hover { color:#E62117; }
.esp-social-icon-twitch:before { content: "\ea9f"; }
.social-colors .esp-social-circle-twitch, html .social-colors-hover .esp-social-circle-twitch:hover { background-color:#6441A5; border-color:#6441A5; }
.social-colors .esp-social-icon-twitch, html .social-colors-hover .esp-social-icon-twitch:hover { color:#6441A5; }
.esp-social-icon-vimeo:before { content: "\eaa0"; }
.social-colors .esp-social-circle-vimeo, html .social-colors-hover .esp-social-circle-vimeo:hover { background-color:#00B3EC; border-color:#00B3EC; }
.social-colors .esp-social-icon-vimeo, html .social-colors-hover .esp-social-icon-vimeo:hover { color:#00B3EC; }
.esp-social-icon-dribbble:before { content: "\eaa7"; }
.social-colors .esp-social-circle-dribbble, html .social-colors-hover .esp-social-circle-dribbble:hover { background-color:#EB4B8A; border-color:#EB4B8A; }
.social-colors .esp-social-icon-dribbble, html .social-colors-hover .esp-social-icon-dribbble:hover { color:#EB4B8A; }
.esp-social-icon-behance:before { content: "\eaa8"; }
.social-colors .esp-social-circle-behance, html .social-colors-hover .esp-social-circle-behance:hover { background-color:#0057FF; border-color:#0057FF; }
.social-colors .esp-social-icon-behance, html .social-colors-hover .esp-social-icon-behance:hover { color:#0057FF; }
.esp-social-icon-dropbox:before { content: "\eaae"; }
.social-colors .esp-social-circle-dropbox, html .social-colors-hover .esp-social-circle-dropbox:hover { background-color:#007EE5; border-color:#007EE5; }
.social-colors .esp-social-icon-dropbox, html .social-colors-hover .esp-social-icon-dropbox:hover { color:#007EE5; }
.esp-social-icon-github:before { content: "\eab0"; }
.social-colors .esp-social-circle-github, html .social-colors-hover .esp-social-circle-github:hover { background-color:#323131; border-color:#323131; }
.social-colors .esp-social-icon-github, html .social-colors-hover .esp-social-icon-github:hover { color:#323131; }
.esp-social-icon-wordpress:before { content: "\eab4"; }
.social-colors .esp-social-circle-wordpress, html .social-colors-hover .esp-social-circle-wordpress:hover { background-color:#00A0D2; border-color:#00A0D2; }
.social-colors .esp-social-icon-wordpress, html .social-colors-hover .esp-social-icon-wordpress:hover { color:#00A0D2; }
.esp-social-icon-yahoo:before { content: "\eabb"; }
.social-colors .esp-social-circle-yahoo, html .social-colors-hover .esp-social-circle-yahoo:hover { background-color:#470198; border-color:#470198; }
.social-colors .esp-social-icon-yahoo, html .social-colors-hover .esp-social-icon-yahoo:hover { color:#470198; }
.esp-social-icon-apple:before { content: "\eabe"; }
.social-colors .esp-social-circle-apple, html .social-colors-hover .esp-social-circle-apple:hover { background-color:#A6B1B7; border-color:#A6B1B7; }
.social-colors .esp-social-icon-apple, html .social-colors-hover .esp-social-icon-apple:hover { color:#A6B1B7; }
.esp-social-icon-android:before { content: "\eac0"; }
.social-colors .esp-social-circle-android, html .social-colors-hover .esp-social-circle-android:hover { background-color:#85C048; border-color:#85C048; }
.social-colors .esp-social-icon-android, html .social-colors-hover .esp-social-icon-android:hover { color:#85C048; }
.esp-social-icon-windows:before { content: "\eac2"; }
.social-colors .esp-social-circle-windows, html .social-colors-hover .esp-social-circle-windows:hover { background-color:#0078D7; border-color:#0078D7; }
.social-colors .esp-social-icon-windows, html .social-colors-hover .esp-social-icon-windows:hover { color:#0078D7; }
.esp-social-icon-soundcloud:before { content: "\eac3"; }
.social-colors .esp-social-circle-soundcloud, html .social-colors-hover .esp-social-circle-soundcloud:hover { background-color:#FF6A22; border-color:#FF6A22; }
.social-colors .esp-social-icon-soundcloud, html .social-colors-hover .esp-social-icon-soundcloud:hover { color:#FF6A22; }
.esp-social-icon-skype:before { content: "\eac5"; }
.social-colors .esp-social-circle-skype, html .social-colors-hover .esp-social-circle-skype:hover { background-color:#009EE5; border-color:#009EE5; }
.social-colors .esp-social-icon-skype, html .social-colors-hover .esp-social-icon-skype:hover { color:#009EE5; }
.esp-social-icon-wikipedia:before { content: "\eac8"; }
.social-colors .esp-social-circle-wikipedia, html .social-colors-hover .esp-social-circle-wikipedia:hover { background-color:#000; border-color:#000; }
.social-colors .esp-social-icon-wikipedia, html .social-colors-hover .esp-social-icon-wikipedia:hover { color:#000; }
.esp-social-icon-linkedin:before { content: "\eaca"; }
.social-colors .esp-social-circle-linkedin, html .social-colors-hover .esp-social-circle-linkedin:hover { background-color:#0177B5; border-color:#0177B5; }
.social-colors .esp-social-icon-linkedin, html .social-colors-hover .esp-social-icon-linkedin:hover { color:#0177B5; }
.esp-social-icon-pinterest:before { content: "\ead1"; }
.social-colors .esp-social-circle-pinterest, html .social-colors-hover .esp-social-circle-pinterest:hover { background-color:#BD081C; border-color:#BD081C; }
.social-colors .esp-social-icon-pinterest, html .social-colors-hover .esp-social-icon-pinterest:hover { color:#BD081C; }

.fill-colors [class*="esp-social-circle"] [class*="esp-social-icon"],
.social-colors [class*="esp-social-circle"] [class*="esp-social-icon"],
html .social-colors-hover [class*="esp-social-circle"]:hover [class*="esp-social-icon"] {
	color:#FFF;
}

[class*="esp-social-circle"],
[class*="esp-social-icon"] {
	transition: all 0.2s ease-in-out 0s;
}

.esp-social-large [class*="esp-social-circle"],
[class*="esp-social-circle"].esp-social-large {
	padding:14px;
}	

.esp-social-large [class*="esp-social-circle"] [class*="esp-social-icon"],
[class*="esp-social-circle"].esp-social-large [class*="esp-social-icon"],
[class*="esp-social-icon"].esp-social-large {
	font-size: 1.6em;
}					


/* = 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; }

select {-webkit-appearance: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; }


html .button.button-disabled {
    cursor: default;
}

/* = 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%; }
}

#map_directions table img {
	max-width:none;
	padding:0!important;
}

/* Useful Theme 2.0 Default Styles */
	
	/* The Map */
			
	#google-map-canvas-wrap {
		padding-top: 61.8%;
	}

	@media all and (min-width: 1025px) {
		html body #google-map-canvas-wrap {
			padding-top: 56.25%;
		}
	}

	@media all and (max-width: 1024px) {
		html body #google-map-wrap {
			padding-bottom: 0;
		}
	}
	
	@media all and (min-width: 1025px) {
		html body #google-map-wrap {
			margin-bottom: 40px!important;
		}

	}
			
					
	/* Directions Form */	
			
	html body #directions_status {
		margin-top: 0px;
	}

	html body #directions_status[class*="alert-"] {
		margin-top: 30px;
	}
	html body #directions_status.alert-error {
		margin-bottom: 0px;
	}		


	html body form#get-directions {
		padding-left: 0;
		padding-right: 0;
	}
			
	/* Directions */
			
	html body #map_directions {
		margin-top: 0!important;
	}
	html body #map_directions > div {
		margin-top: 20px;
	}
		
	.adp-directions tr > td:first-of-type { display: none!important; }

	#map_directions * { border-left: medium none!important; border-right: medium none!important; border-top: medium none!important; }

	html body .adp-directions { margin: 25px auto!important; }

	html body #map_directions * { font-family: inherit!important; }

	#map_directions .adp b, #map_directions .adp-list b { font-weight: 700!important; }

	html body .adp-placemark {
		margin: 0 auto 20px!important;
		background:none;
	}
	html body .adp-summary, html body .adp-legal {
		padding:0;
	}
	html body .adp-directions {
		margin: 0 auto 1em;
	}
	html body .adp-step, html body .adp-substep {
		padding: 12px 10px;
	}


	/* Additional */

	html body #google-map-print {
		text-align: center;
		text-transform: uppercase;
	}
			
	html body #google-map-mobile {
		margin:0 0 10px!important;
	}

	/*Desktop Only*/
	@media all and (min-width: 1025px) {
		html body #google-map-mobile {
			display: none;
		}
	}
			
	/* Map Functionality Buttons */
	
	@media (max-width: 767px) {
		html body #google-map-wrap .map-reset.map-button {
			display: none;
		}
	}
			
	@media all and (max-width: 1024px) {
		#google-map-wrap .map-reset, #google-map-wrap .map-navigation .map-prev, #google-map-wrap .map-navigation .map-next {
			background-color: rgba(44, 47, 54, 0.8);
		}
	}

/* Common ESP JS */

/* Flickity Slideshow */

ul.flickity-enabled {margin-top:0;}

html body .flickity-enabled,
html body .flickity-enabled .column.slide { margin-bottom:0px!important; }

/*
.flickity-enabled > .flickity-viewport > .flickity-slider > .slide > .absolute-fill { position:fixed; left:inherit; }
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.flickity-enabled > .flickity-viewport > .flickity-slider > .slide > .absolute-fill { position:absolute; left:0; }	 
}*/

.flickity-viewport {
	transition: height 0.3s;
}

html .flickity-page-dots {
	bottom: 0;
	display: block;
	/*clear: both;*/
	margin: 0;
	text-align: center;
	cursor: pointer;
	position: relative;
}

html .flickity-page-dots li.dot {
	display: inline-block;
	list-style: none;
    height: 8px;
	background-color: transparent;
	border:1px solid black;
	width: 8px;
    margin: 20px 8px 0;
	border-radius: 50%;
	opacity:0.5;
	transform:scale(1.1);
	transition:all 0.3s ease-in-out 0s;
}

html .flickity-page-dots li:hover {
	opacity:1;
}

html .flickity-page-dots li.dot.is-selected {
	opacity:1;
	transform:scale(1.5);
	background:#000;	
}

/* Flickity Page Numbers */

html body .flickity-page-number .flickity-page-dots {
    bottom: 0;
    display: table;
    margin: 0 auto;
    position: relative;
    width: auto;
	counter-reset: decimal;
}

html body .flickity-page-number .flickity-page-dots li.dot {
    background-color: transparent;
    border: medium none;
    border-radius: 0;
    height: auto;
    list-style: none;
    margin: 30px 0 0;
    opacity: 0.4;
    transform: scale(1);
    width: auto;
  	display:list-item;
  	float:left;
	counter-increment: decimal;
}
/*Desktop Only
@media all and (min-width: 768px) {
	html body .flickity-page-number .flickity-page-dots {
		top: 100%;
		left: 0;
		right: 0;
		position:absolute;
	}
}
*/
/*Mobile Only*/
@media (max-width: 767px) {
	html body .flickity-page-number .flickity-page-dots { font-size: 0.8em; }
	html body .flickity-page-number .flickity-page-dots li.dot { margin: 25px 0 0; }
	html body .flickity-enabled.dots-inside .flickity-page-dots {padding:10px 0 15px !important;}
}



html body .flickity-page-number .flickity-page-dots .dot:last-of-type::after {
    margin-right: 0;
}
html body .flickity-page-number .flickity-page-dots .dot::after {
    background-color: currentColor;
    content: "";
    display: inline-block;
    height: 1px;
    margin: 0 10px;
    position: relative;
    transition: width 0.3s ease-in-out 0s;
    vertical-align: middle;
    width: 0;
}

html body .flickity-page-number .flickity-page-dots .dot.is-selected::after { width: 40px; }

/*Mobile Only*/
@media (max-width: 767px) { 
	html body .flickity-page-number .flickity-page-dots .dot.is-selected::after { width: 20px; }
}

html body .flickity-page-number .flickity-page-dots li.dot.is-selected {
    opacity: 1;
    transform: scale(1);
    background-color:transparent;
}
	
html body .flickity-page-number .flickity-page-dots li.dot::before {
    content: "0" counter(decimal, decimal);
}

/* LM - Everything 10+ doesn't need a leading zero... */
html body .flickity-page-number .flickity-page-dots li.dot:nth-child(n+10)::before {
	content: counter(decimal, decimal);
}

/* INSIDE DOTS */

.flickity-enabled.dots-inside .flickity-page-dots {
	position:absolute;
	bottom:0;
	padding:30px 0 20px!important;
	margin:0!important;
	height:auto!important;
}
.flickity-enabled.dots-inside .flickity-page-dots:before {
	content:"";
	background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 1) 100%);
	position:absolute;
	top:0; left:0; width:100%; height:100%;
	transition:opacity 0.3s ease-in-out 0s;
	opacity:0.3;
}

.flickity-enabled.dots-inside:hover .flickity-page-dots:before {
	opacity:0.6;
}

.flickity-enabled.dots-inside .flickity-page-dots .dot {
	height:8px!important;
	border-color:#FFF!important;
	color:#FFF!important;
}

.flickity-enabled.dots-inside .flickity-page-dots .dot.is-selected { background-color:#FFF!important; }

.flickity-enabled.dots-inside.flickity-page-number .flickity-page-dots { width: 100%; display: block; }
	
.flickity-enabled.dots-inside.flickity-page-number .flickity-page-dots .dot { float: none; display: inline-block; }
.flickity-enabled.dots-inside.flickity-page-number .flickity-page-dots .dot::before { color:currentColor!important; }
.flickity-enabled.dots-inside.flickity-page-number .flickity-page-dots .dot::after { background-color: currentColor!important; }
.flickity-enabled.dots-inside.flickity-page-number .flickity-page-dots .dot.is-selected { background-color:transparent!important; }

/* Variable Image Slider */

.flickity-enabled.equal-height-slider .flickity-viewport img,
.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio  {
    height: 33.3vw;
    max-width: none;
    min-width: 0;
    width: auto;
}

@media all and (min-width: 1025px) {
	.flickity-enabled.equal-height-slider .flickity-viewport img,
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio { height:33.3vw!important; width:auto!important; min-width:0!important; max-width: none!important; }
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio.image-ratio-portrait { width: calc(33.3vw / 1.5)!important; }
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio.image-ratio-landscape { width: calc(33.3vw * 1.5)!important; }
	
	html body .flickity-enabled.equal-height-slider .flickity-viewport .image-ratio img {width:100%!important; height:100%!important; opacity: 0;}
}
@media all and (min-width: 768px) and (max-width: 1024px){
	.flickity-enabled.equal-height-slider .flickity-viewport img,
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio { height:50vw!important; width:auto!important; min-width:0; max-width: none!important; }
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio.image-ratio-portrait { width: calc(50vw / 1.5)!important; }
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio.image-ratio-landscape { width: calc(50vw * 1.5)!important; }
	
	html body .flickity-enabled.equal-height-slider .flickity-viewport .image-ratio img {width:100%!important; height:100%!important; opacity: 0;}
}
@media (max-width: 767px) {
	.flickity-enabled.equal-height-slider .flickity-viewport img,
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio {height:66.6vw!important; width:auto!important; min-width:0!important; max-width: none!important; }
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio.image-ratio-portrait { width: calc(66.6vw / 1.5)!important; }
	.flickity-enabled.equal-height-slider .flickity-viewport .image-ratio.image-ratio-landscape { width: calc(66.6vw * 1.5)!important; }
	
	html body .flickity-enabled.equal-height-slider .flickity-viewport .image-ratio img {width:100%!important; height:100%!important; opacity: 0;}
}

html body .flickity-enabled.equal-height-slider .flickity-viewport img.zoomImg {
	height: auto !important;
}

/* Flickity Fade CSS */

.flickity-slider.slider-fade { transform: none !important; }
.flickity-slider.slider-fade > * { left: 0 !important; opacity: 0; transition: opacity 0.6s ease-in-out; z-index: -1; }
.flickity-slider.slider-fade > *.is-selected { opacity: 1; z-index: 0; } 

@media all and (min-width: 1025px) {
	html .flickity-slider.desktop-slider-fade { transform: none !important; }
	html .flickity-slider.desktop-slider-fade > * { left: 0 !important; opacity: 0; transition: opacity 0.6s ease-in-out; z-index: -1; }
	html .flickity-slider.desktop-slider-fade > *.is-selected { opacity: 1; z-index: 0;} 
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	html .flickity-slider.tablet-slider-fade { transform: none !important; }
	html .flickity-slider.tablet-slider-fade > * { left: 0 !important; opacity: 0; transition: opacity 0.6s ease-in-out; z-index: -1;}
	html .flickity-slider.tablet-slider-fade > *.is-selected { opacity: 1; z-index: 0;} 
}
@media (max-width: 767px) {
	html .flickity-slider.mobile-slider-fade { transform: none !important; }
	html .flickity-slider.mobile-slider-fade > * { left: 0 !important; opacity: 0; transition: opacity 0.6s ease-in-out; z-index: -1;}
	html .flickity-slider.mobile-slider-fade > *.is-selected { opacity: 1; z-index: 0;} 
}


/* Absolute Slider */

.absolute-slider.flickity-enabled,
.absolute-slider.flickity-enabled .flickity-viewport,
.absolute-slider.flickity-enabled .flickity-slider,
.absolute-slider.flickity-enabled .slide,
.absolute-slider.flickity-enabled [class*="background"],
.absolute-slider.flickity-enabled .img,
.absolute-slider.flickity-enabled noscript {
	height: 100% !important;
}

	
@media all and (min-width: 1025px) {
	html .desktop-absolute-slider.flickity-enabled,
	html .desktop-absolute-slider.flickity-enabled .flickity-viewport,
	html .desktop-absolute-slider.flickity-enabled .flickity-slider,
	html .desktop-absolute-slider.flickity-enabled .slide,
	html .desktop-absolute-slider.flickity-enabled [class*="background"],
	html .desktop-absolute-slider.flickity-enabled .img,
	html .desktop-absolute-slider.flickity-enabled noscript {
		height: 100% !important;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px){
	html .tablet-absolute-slider.flickity-enabled,
	html .tablet-absolute-slider.flickity-enabled .flickity-viewport,
	html .tablet-absolute-slider.flickity-enabled .flickity-slider,
	html .tablet-absolute-slider.flickity-enabled .slide,
	html .tablet-absolute-slider.flickity-enabled [class*="background"],
	html .tablet-absolute-slider.flickity-enabled .img,
	html .tablet-absolute-slider.flickity-enabled noscript {
		height: 100% !important;
	}
}
@media (max-width: 767px) {
	html .mobile-absolute-slider.flickity-enabled,
	html .mobile-absolute-slider.flickity-enabled .flickity-viewport,
	html .mobile-absolute-slider.flickity-enabled .flickity-slider,
	html .mobile-absolute-slider.flickity-enabled .slide,
	html .mobile-absolute-slider.flickity-enabled [class*="background"],
	html .mobile-absolute-slider.flickity-enabled .img,
	html .mobile-absolute-slider.flickity-enabled noscript {
		height: 100% !important;
	}
}

/* Zoom Gallery */

.zoom-slider.flickity-enabled .slide .background-cover { transition: transform 0s linear 0.6s; transform: scale(1); }
.zoom-slider.flickity-enabled .slide.is-selected .background-cover { transition: transform 8s cubic-bezier(0.19, 1, 0.22, 1) 0s; transform: scale(1.06); }
@media all and (min-width: 1025px) { 
	html .desktop-zoom-slider.flickity-enabled .slide .background-cover { transition: transform 0s linear 0.6s; transform: scale(1); }
	html .desktop-zoom-slider.flickity-enabled .slide.is-selected .background-cover { transition: transform 8s cubic-bezier(0.19, 1, 0.22, 1) 0s; transform: scale(1.06); }
}
@media all and (min-width: 768px) and (max-width: 1024px) { 
	html .tablet-zoom-slider.flickity-enabled .slide .background-cover { transition: transform 0s linear 0.6s; transform: scale(1); }
	html .tablet-zoom-slider.flickity-enabled .slide.is-selected .background-cover { transition: transform 8s cubic-bezier(0.19, 1, 0.22, 1) 0s; transform: scale(1.06); }
}
@media (max-width: 767px) {
	html .mobile-zoom-slider.flickity-enabled .slide .background-cover { transition: transform 0s linear 0.6s; transform: scale(1); }
	html .mobile-zoom-slider.flickity-enabled .slide.is-selected .background-cover { transition: transform 8s cubic-bezier(0.19, 1, 0.22, 1) 0s; transform: scale(1.06); }
}

/* Featured Slider  */

.featured-slider .slide .featured-slide { transform:scale(0.7); transform-origin:center; opacity:0.8; transition:all 0.28s ease-in-out 0s; }
.featured-slider .slide.is-selected .featured-slide { transform:scale(1); opacity:1; }
@media all and (min-width: 1025px) { 
	html .deskrop-featured-slider .slide .featured-slide { transform:scale(0.7); transform-origin:center; opacity:0.8; transition:all 0.28s ease-in-out 0s; }
	html .deskrop-featured-slider .slide.is-selected .featured-slide { transform:scale(1); opacity:1; }
}
@media all and (min-width: 768px) and (max-width: 1024px) { 
	html .deskrop-featured-slider .slide .featured-slide { transform:scale(0.7); transform-origin:center; opacity:0.8; transition:all 0.28s ease-in-out 0s; }
	html .deskrop-featured-slider .slide.is-selected .featured-slide { transform:scale(1); opacity:1; }
}
@media (max-width: 767px) {
	html .deskrop-featured-slider .slide .featured-slide { transform:scale(0.7); transform-origin:center; opacity:0.8; transition:all 0.28s ease-in-out 0s; }
	html .deskrop-featured-slider .slide.is-selected .featured-slide { transform:scale(1); opacity:1; }
}

.flickity-enabled.image-slider .flickity-viewport .slide,
.flickity-enabled.image-slider .flickity-viewport .slide img { margin-bottom:0!important; }

/* iPhone Slider */

.slider-iphone-center .mobile-web {
    background-repeat: no-repeat;
    border-radius: 3px;
    height: 70.6%;
    left: 10.7%;
    margin: 0;
    overflow: hidden;
    position: absolute;
    top: 14.5%;
    width: 78.5%;
	transition:opacity 0.3s ease-in-out 0s;
	opacity:0.4;
	background-size:cover!important;
	background-position: center top;
}
    
.slider-iphone-center .is-selected .mobile-web { opacity:1; }
.slider-iphone-center .is-selected .mobile-web [class*="overlay"] { opacity:0!important; }
html .mobile-web video { border-radius:3px; }

/* In Editor Gallery */
@media all and (min-width: 1025px) {
	.slideshow-image-container {
		display: table;
		width:100%;
	}

	.slideshow-image img {
		margin: 0 auto;
		max-height: 100%;
		max-width: 100%;
		display:block;
	}

	.slideshow-image {
		display: table-cell;
		vertical-align: middle;
	}

}

.esp-galleries.fullscreen-enabled .gallery-masonry img {
	cursor: pointer;
}

/* Dots Fix on In-Mobile Gallery Type */
html body .flickity-enabled.slider-iphone-center .flickity-viewport + .flickity-page-dots {
    bottom: -20px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}

html body .dot:first-of-type:last-of-type {
    display: none !important;
}

/* Flickity overflow hidden */

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

@media all and (min-width: 1025px) {
	.desktop-flickity-viewport-overflow-visible .flickity-viewport { overflow: visible !important; }
	.desktop-flickity-viewport-overflow-scroll .flickity-viewport { overflow: scroll !important; }
	.desktop-flickity-viewport-overflow-hidden .flickity-viewport { overflow: hidden !important; }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.tablet-flickity-viewport-overflow-visible .flickity-viewport { overflow: visible !important; }
	.tablet-flickity-viewport-overflow-scroll .flickity-viewport { overflow: scroll !important; }
	.tablet-flickity-viewport-overflow-hidden .flickity-viewport { overflow: hidden !important; }
}
@media (max-width: 767px) {
	.mobile-flickity-viewport-overflow-visible .flickity-viewport { overflow: visible !important; }
	.mobile-flickity-viewport-overflow-scroll .flickity-viewport { overflow: scroll !important; }
	.mobile-flickity-viewport-overflow-hidden .flickity-viewport { overflow: hidden !important; }
}

html .flickity-prev-next-button.previous { left:20px; }
html .flickity-prev-next-button.next { right:20px; }

html .flickity-prev-next-button { background-color:rgba(255,255,255, 0); padding:0; }
html .flickity-prev-next-button:hover { background-color:rgba(255,255,255, 0.75); }
html .flickity-prev-next-button svg path { fill:rgba(0,0,0,1); }

html .slider-block-arrows .flickity-prev-next-button { height:100%; border-radius: 0;}
html .slider-block-arrows .flickity-prev-next-button { background-color:rgba(0,0,0,0.9); }
html .slider-block-arrows .flickity-prev-next-button:hover { background-color:rgba(0,0,0,1); }
html .slider-block-arrows .flickity-prev-next-button svg { top: 0; height: 100%; }
html .slider-block-arrows .flickity-prev-next-button svg path { fill:rgba(255,255,255, 1); top: 0; height: 100%; }

html .slider-block-arrows .flickity-prev-next-button.previous { left:0; }
html .slider-block-arrows .flickity-prev-next-button.next { right:0; }

/*Mobile Only*/
@media (max-width: 767px) {
	
	html button.flickity-prev-next-button {width:44px!important;}
	html .flickity-prev-next-button.previous {left:10px;}
	html .flickity-prev-next-button.next {right:10px;}
	
	html .flickity-prev-next-button svg {
		transform: scale(0.75);
	}
}

/* FLICKITY BLOCK CONTROL */

.slider-control-fill {
	position: absolute;
	top: 0;
	height: 100%;
	width: 50%;
	z-index: 1;
	left: 0;
	cursor: pointer;
}
.slider-control-fill-next {
	left: 50%;
}

/*Desktop Only*/
@media all and (min-width: 1025px) {
	.desktop-slider-control-fill {
		position: absolute;
		top: 0;
		height: 100%;
		width: 50%;
		z-index: 1;
		left: 0;
		cursor: pointer;
	}
	.desktop-slider-control-fill-next {
		left: 50%;
	}
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	.tablet-slider-control-fill {
		position: absolute;
		top: 0;
		height: 100%;
		width: 50%;
		z-index: 1;
		left: 0;
		cursor: pointer;
	}
	.tablet-slider-control-fill-next {
		left: 50%;
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	.mobile-slider-control-fill {
		position: absolute;
		top: 0;
		height: 100%;
		width: 50%;
		z-index: 1;
		left: 0;
		cursor: pointer;
	}
	.mobile-slider-control-fill-next {
		left: 50%;
	}
}

/* Parallax Scrolling */

html.js div[id*="jarallax-container-"] {
	opacity:0;
	transition: opacity 0.3s ease-in-out 0s; 
}

html.js .parallax-loaded div[id*="jarallax-container-"] {
	opacity:1;	
}

html.js .jarallax-img { display:none; padding-left:0px!important; padding-right:0px!important; }
html.js .parallax-initialized .jarallax-img { display:block; }

/* Shift Containers */

.shift-overlay {position:relative;}
.shift-container {
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    z-index: 10000;
}

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

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

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

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


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

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

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
input[type="submit"], input[type="button"], input[type="reset"], .button, button {
	border:none;
	clear:both;
	/*width:auto;*/
	height:auto;
	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!important;
	-webkit-transition: all 0.3s ease-in-out!important;
	/* Woocommerce */
	background-image: none;
	box-shadow: none;
	left: auto;
	overflow: visible;
	position: relative;
	text-decoration: none;
	text-shadow: none;
	white-space:normal;	
}

p, ul, ol, dl, address, table, .entry-info, .element-wrap {	margin: 0 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; }

address { font-style: normal; }

.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: 0; }

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


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 {
	font-weight:bold;
}

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 {
	cursor: help;
}

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

hr {
	border-top: solid;
	border-width: 1px;
	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;
}

/* Line Height Offset */

html body .line-height-offset {
	margin-bottom: -0.375em !important;
	margin-top: -0.375em !important;
}

/*** Blockquotes ***/

body blockquote {
	clear:both;
	margin-top:2em;
	margin-bottom:2em;
}

blockquote em {
	display:block;
	margin-top:15px;
}

blockquote p { display: inline-block; }

blockquote > *:last-of-type {
    margin-bottom: 0;
}

body blockquote.right {
	text-align: right;
	border-left:none;
}

blockquote + * { clear:both; }

@media (max-width: 767px) {
	/*blockquote */
	
	html body blockquote { margin-left:0px; }
	html body blockquote.right { margin-right:0px; }
}

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


fieldset, pre {
    border: medium none;
    margin-bottom: 2em;
    padding: 0;
    position: relative;
}

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

legend {
	border: medium none;
	color: #222;
	font-size: 1.6em;
	font-weight: bold;
	margin: -0.375em 0 1.2em;
	padding: 0;
}

html .woocommerce form .form-row label, html .woocommerce-page form .form-row label,
label {
	display: block;
	line-height: normal;
	margin: 0 0 0.6em;
	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;
}
input[type="checkbox"] + label.button, input[type="radio"] + label.button { margin-right:0px; }

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
}

#esp-site-wrap #payment div.payment_box input[type="tel"],
html .woocommerce form .form-row input.input-text, html .woocommerce form .form-row textarea,
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 {
	font-family: inherit;
	font-size: inherit;
	line-height: 1.5em;
	max-width: 100%;
	padding: 10px 12px;
	transition: all 0.3s ease 0s;
	width: 100%;
	outline: 0 none;
}

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, html body input[type="submit"].square, html body input[type="button"].square, html body input[type="reset"].square, html body .button.square, html body button.square{
	border-radius: 0px;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
    background-image: url("../images/drop.png");
    background-position: right 16px center;
    background-repeat: no-repeat;
    background-size: 16px auto;
	display: inline;
	zoom: 1;
    padding-right: 48px;
}

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;
}

html .woocommerce form .form-row textarea,
textarea {
	height: 160px;
	min-height: 3em;
	min-width: 3em;
	overflow: auto;
	resize: both;
	vertical-align: top;
}

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%;
}

html .borderless-form-fields textarea, html .borderless-form-fields input[type="text"], html .borderless-form-fields input[type="password"], html .borderless-form-fields input[type="datetime"], html .borderless-form-fields input[type="datetime-local"], html .borderless-form-fields input[type="date"], html .borderless-form-fields input[type="month"], html .borderless-form-fields input[type="time"], html .borderless-form-fields input[type="week"], html .borderless-form-fields input[type="number"], html .borderless-form-fields input[type="email"], html .borderless-form-fields input[type="url"], html .borderless-form-fields input[type="search"], html .borderless-form-fields input[type="tel"], html .borderless-form-fields input[type="color"], html .borderless-form-fields select, html .borderless-form-field, html .border-transparent {
	border-color:transparent!important;
}
/*Desktop Only*/
@media all and (min-width: 1025px) {
	html body .desktop-borderless-form-fields textarea, html body .desktop-borderless-form-fields input[type="text"], html body .desktop-borderless-form-fields input[type="password"], html body .desktop-borderless-form-fields input[type="datetime"], html body .desktop-borderless-form-fields input[type="datetime-local"], html body .desktop-borderless-form-fields input[type="date"], html body .desktop-borderless-form-fields input[type="month"], html body .desktop-borderless-form-fields input[type="time"], html body .desktop-borderless-form-fields input[type="week"], html body .desktop-borderless-form-fields input[type="number"], html body .desktop-borderless-form-fields input[type="email"], html body .desktop-borderless-form-fields input[type="url"], html body .desktop-borderless-form-fields input[type="search"], html body .desktop-borderless-form-fields input[type="tel"], html body .desktop-borderless-form-fields input[type="color"], html body .desktop-borderless-form-fields select, html body .desktop-borderless-form-field, html .desktop-border-transparent {
		border-color:transparent!important;	
	}
}
/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html body .tablet-borderless-form-fields textarea, html body .tablet-borderless-form-fields input[type="text"], html body .tablet-borderless-form-fields input[type="password"], html body .tablet-borderless-form-fields input[type="datetime"], html body .tablet-borderless-form-fields input[type="datetime-local"], html body .tablet-borderless-form-fields input[type="date"], html body .tablet-borderless-form-fields input[type="month"], html body .tablet-borderless-form-fields input[type="time"], html body .tablet-borderless-form-fields input[type="week"], html body .tablet-borderless-form-fields input[type="number"], html body .tablet-borderless-form-fields input[type="email"], html body .tablet-borderless-form-fields input[type="url"], html body .tablet-borderless-form-fields input[type="search"], html body .tablet-borderless-form-fields input[type="tel"], html body .tablet-borderless-form-fields input[type="color"], html body .tablet-borderless-form-fields select, html body .tablet-borderless-form-field, html .tablet-border-transparent {
		border-color:transparent!important;	
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	html body .mobile-borderless-form-fields textarea, html body .mobile-borderless-form-fields input[type="text"], html body .mobile-borderless-form-fields input[type="password"], html body .mobile-borderless-form-fields input[type="datetime"], html body .mobile-borderless-form-fields input[type="datetime-local"], html body .mobile-borderless-form-fields input[type="date"], html body .mobile-borderless-form-fields input[type="month"], html body .mobile-borderless-form-fields input[type="time"], html body .mobile-borderless-form-fields input[type="week"], html body .mobile-borderless-form-fields input[type="number"], html body .mobile-borderless-form-fields input[type="email"], html body .mobile-borderless-form-fields input[type="url"], html body .mobile-borderless-form-fields input[type="search"], html body .mobile-borderless-form-fields input[type="tel"], html body .mobile-borderless-form-fields input[type="color"], html body .mobile-borderless-form-fields select, html body .mobile-borderless-form-field, html .mobile-border-transparent {
		border-color:transparent!important;	
	}
}

/* ESP FORMS */

html body .esp-form > *:last-child {
	padding-bottom:0px;
}

/*** 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; }
}

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

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

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

.fancy-form-elements .form-field-checkbox input:checked,
.fancy-form-elements .form-field-checkbox input:not(checked),
.fancy-form-elements .form-field-radio input:checked,
.fancy-form-elements .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;
}

.fancy-form-elements .form-field-checkbox input:checked + label:before, .fancy-form-elements .form-field-checkbox input:not(checked) + label:before,
.fancy-form-elements .form-field-radio input:checked + label:before, .fancy-form-elements .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;
}

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


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

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

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

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

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

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

.fancy-form-elements .form-field-checkbox input:not(checked) + label:before, .fancy-form-elements .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;
}


.fancy-form-elements .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 .fancy-form-elements .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;
}

.fancy-form-elements .form-field-radio input:not(checked) + label:after,
.fancy-form-elements .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;
}

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

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

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

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


/* SMALL ELEMENTS */ 

.fancy-form-elements-small .form-field-checkbox input:checked + label,
.fancy-form-elements-small .form-field-checkbox input:not(checked) + label,
.fancy-form-elements-small .form-field-radio input:checked + label,
.fancy-form-elements-small .form-field-radio input:not(checked) + label {
	padding: 0 0 0 27px;
	cursor: pointer;
	position: relative;
}

.fancy-form-elements-small .form-field-checkbox input + label,
.fancy-form-elements-small .form-field-radio input + label {
	margin: 0;
}
	
.fancy-form-elements-small .form-field-checkbox input:checked, .fancy-form-elements-small .form-field-checkbox input:not(checked),
.fancy-form-elements-small .form-field-radio input:checked, .fancy-form-elements-small .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;
}

.fancy-form-elements-small .form-field-checkbox input:checked + label::after, .fancy-form-elements-small .form-field-checkbox input:not(checked) + label::after,
.fancy-form-elements-small .form-field-radio input:checked + label::after, .fancy-form-elements-small .form-field-radio input:not(checked) + label::after {
    transition: border-color 0.2s ease-in-out 0s, background-color 0.2s ease-in-out 0s;
}
	
.fancy-form-elements-small .form-field-checkbox input + label::after,
.fancy-form-elements-small .form-field-radio input + label::after {
    border: 0;
    content: "";
    display: block;
    height: 10px;
    width: 10px;
    left: 0px;
    top: 50%;
    margin: -5px 5px;
    position: absolute;
}
	
.fancy-form-elements-small .form-field-checkbox input:checked + label::before,
.fancy-form-elements-small .form-field-checkbox input:not(checked) + label::before,
.fancy-form-elements-small .form-field-radio input:checked + label::before,
.fancy-form-elements-small .form-field-radio input:not(checked) + label::before {
    display: inline-block;
    height: 20px;
    left: 0px;
    margin: -10px 0 0 0;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 20px;
	content: "";
	border: 1px solid #DDDDDD;
	transition: background 0.25s ease-in-out 0s, border-color 0.25s ease-in-out 0s;
}
.fancy-form-elements-small .form-field-radio input:checked + label::before,
.fancy-form-elements-small .form-field-radio input:not(checked) + label::before,
.fancy-form-elements-small .form-field-radio input + label::after {
	border-radius: 50%;
}

.fancy-form-elements-small .form-field-checkbox input:checked + label::before,
.fancy-form-elements-small .form-field-checkbox input:hover:checked + label::before,
.fancy-form-elements-small .form-field-radio input:checked + label::before,
.fancy-form-elements-small .form-field-radio input:hover:checked + label::before {
	border-color: #000 !important;
}

/* = 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;
	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;
}

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

/*Desktop Only*/
@media all and (min-width: 1025px) {
	html body .desktop-button-none {
		background: none!important;
		border: none!important;
		padding: 0!important;
		line-height:normal!important;
	}
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html body .tablet-button-none {
		background: none!important;
		border: none!important;
		padding: 0!important;
		line-height:normal!important;
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	html body .mobile-button-none {
		background: none!important;
		border: none!important;
		padding: 0!important;
		line-height:normal!important;
	}
}

html body .button-round {
	border-radius: 50px;
}
@media all and (min-width: 1025px) { html body .desktop-button-round { /* Desktop */
	border-radius: 50px!important;
}}
@media all and (min-width: 768px) and (max-width: 1024px){ html body .tablet-button-round { /* Tablet */
	border-radius: 50px!important;
}}
@media (max-width: 767px) { html body .mobile-button-round { /* Mobile */
	border-radius: 50px!important;
}}

html body .button-square {
	border-radius: 0px;
}
@media all and (min-width: 1025px) { html body .desktop-button-square { /* Desktop */
	border-radius: 0px!important;
}}
@media all and (min-width: 768px) and (max-width: 1024px){ html body .tablet-button-square { /* Tablet */
	border-radius: 0px!important;
}}
@media (max-width: 767px) { html body .mobile-button-square { /* Mobile */
	border-radius: 0px!important;
}}

@media all and (max-width: 450px) {
	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
	}	
}


/* = Border Radius
-------------------------------------------------------------- */

html body .border-radius-xs {
	border-radius: 3px;	
}
html body .border-radius-s {
	border-radius: 5px;	
}
html body .border-radius-m {
	border-radius: 5px;
}
html body .border-radius-l {
	border-radius: 9px;
}
html body .border-radius-xl {
	border-radius: 11px;
}
html body .border-radius-0,
html body .border-radius-square {
	border-radius: 0%;
}
html body .border-radius-50,
html body .border-radius-circle {
	border-radius: 50%;
}

/*Desktop Only*/
@media all and (min-width: 1025px) {

	html body .desktop-border-radius-xs {
		border-radius: 3px!important;	
	}
	html body .desktop-border-radius-s {
		border-radius: 5px!important;	
	}
	html body .desktop-border-radius-m {
		border-radius: 5px!important;
	}
	html body .desktop-border-radius-l {
		border-radius: 9px!important;
	}
	html body .desktop-border-radius-xl {
		border-radius: 11px!important;
	}
	html body .desktop-border-radius-0,
	html body .desktop-border-radius-square {
		border-radius: 0%!important;
	}
	html body .desktop-border-radius-50,
	html body .desktop-border-radius-circle {
		border-radius: 50%!important;
	}
	
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html body .tablet-border-radius-xs {
		border-radius: 3px!important;	
	}
	html body .tablet-border-radius-s {
		border-radius: 5px!important;	
	}
	html body .tablet-border-radius-m {
		border-radius: 5px!important;
	}
	html body .tablet-border-radius-l {
		border-radius: 9px!important
	}
	html body .tablet-border-radius-xl {
		border-radius: 11px!important;
	}
	html body .tablet-border-radius-0,
	html body .tablet-border-radius-square {
		border-radius: 0%!important;
	}
	html body .tablet-border-radius-50,
	html body .tablet-border-radius-circle {
		border-radius: 50%!important;
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	html body .mobile-border-radius-xs {
		border-radius: 3px!important;	
	}
	html body .mobile-border-radius-s {
		border-radius: 5px!important;	
	}
	html body .mobile-border-radius-m {
		border-radius: 5px!important;
	}
	html body .mobile-border-radius-l {
		border-radius: 9px!important;
	}
	html body .mobile-border-radius-xl {
		border-radius: 11px!important;
	}
	html body .mobile-border-radius-0,
	html body .mobile-border-radius-square {
		border-radius: 0%!important;
	}
	html body .mobile-border-radius-50,
	html body .mobile-border-radius-circle {
		border-radius: 50%!important;
	}
}


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

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	content:none!important;
}

[class*="alert-"],
html .woocommerce-error, html .woocommerce-info, html .woocommerce-message {
    border: 1px solid transparent;
    margin: 0 0 20px 0;
    padding:15px 20px!important;
}

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;
}

[class*="alert-"] > *:last-child,
.woocommerce-error > *:last-child,
.woocommerce-info  > *:last-child,
.woocommerce-message  > *:last-child {
	margin-bottom:0!important;
}
.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
	list-style: outside none none;
	margin-left: 0;
	padding-left: 0;
}

.form-field.form-required.alert-error {
	border: medium none;
	padding: 0;
	color:#9A1B3B;
	background-color:transparent;
}
.column > .form-field.form-required.alert-error {
	margin-bottom:0;
}
.form-field.form-required.alert-error label {
	height: auto;
	margin: 0 0 0.6em;
	overflow: visible;
	position: relative;
	width: auto;
}

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

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

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

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

figure.wp-caption {	
	width:100%;
}	
figure.wp-caption {	
	width:100%;
}	
.the-content-container img {
	display: inline-block;
	margin: 1em;
	padding: 0;
}

.the-content-container img.alignleft {
	float: left;
	margin-left: 0;
	margin-top: 0;
}
.the-content-container img.alignright {
	float: right;
	margin-right: 0;
	margin-top: 0;
}
.the-content-container img.aligncenter {
	margin: 0 auto 1em auto;
	display: block;
}
.the-content-container img.alignnone{
	margin: 0 auto 1em auto;
	display: block;
}
/*Mobile Only*/
@media (max-width: 767px) {
	html body .the-content-container  img.alignright, html body .the-content-container  img.alignleft {
		float: none;
		text-align: center;
	}
}

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

.custom-image, .wp-caption-text {
	margin-left: auto;
	margin-right: auto;
}
	
.custom-image .custom-image-inner img {
	margin:0px;
	max-width:none;
	padding: none;
}

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

.js .custom-image img { opacity:0; transition : opacity 0.2s ease-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: 1024px){
	/* 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%; }
}

/*** MODAL AND SHIFT ***/

/* Site Overlay */
.modal-overlay,
.shift-overlay {
	background: rgba(0, 0, 0, 0);
	display: block;
	left: 0;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	transition: background 0.3s ease-in-out 0s;
	width: 100%;
	z-index: 1000;
	height:100%;
}

.modal-overlay.modal-active,
.shift-overlay.shift-active {
	background: rgba(0, 0, 0, 0.55) none repeat scroll 0 0;
}

/* MODAL ANIMATIONS */
/* Fade In - Default */
.modal-type-fade-in .modal-container {
	opacity: 0;
	transition: opacity 0.3s ease-in-out 0.3s;
}
.modal-type-fade-in.modal-active .modal-container {
	opacity: 1;
}
/* Zoom In / Out */
.modal-type-zoom-in .modal-container,
.modal-type-zoom-out .modal-container {
	opacity: 0;
	transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

.modal-type-zoom-in .modal-container {
	transform: scale(0.7);
}

.modal-type-zoom-out .modal-container {
	transform: scale(1.2);
}
.modal-type-zoom-in.modal-active .modal-container,
.modal-type-zoom-out.modal-active .modal-container {
	opacity: 1;
	transform: scale(1);
}

/* Shift ANIMATIONS */
/* Slide In - Default */
.shift-type-slide .shift-container {
	right: 0;
	transform: translateX(100%);
	transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
.shift-type-slide .shift-container.shift-left {
	left: 0;
	right: auto;
	transform: translateX(-100%);
}
.shift-type-slide.shift-active .shift-container { transform: translateX(0%); }
	
	
/* Zoom In / Out */
	
.shift-type-zoom-in .shift-container,
.shift-type-zoom-out .shift-container {
    opacity: 0;
	transform-origin: center;
    transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
.shift-type-zoom-in .shift-container { transform:scale(0.8); }
.shift-type-zoom-out .shift-container { transform:scale(1.2); }

.shift-type-zoom-in.shift-active .shift-container,
.shift-type-zoom-out.shift-active .shift-container {
	transform:scale(1);
	opacity: 1;
}

/***** FIXED NEWS MODAL *****/

.fixed-news-modal {
    visibility: hidden;
}
.fixed-news-modal.visible {
    visibility: visible;
}
.fixed-news-modal .esp-close-button {
    background-color: transparent!important;
    border-color: transparent!important;
}
.fixed-news-modal .esp-close-button:hover .esp-close-button-inner::before, .fixed-news-modal .esp-close-button:hover .esp-close-button-inner::after {
    background-color: #fff;
}

/* Scroll to Fixed Containers */

.toFixed-container { height: 100%!important; }

/* Gallery Shadow */
.esp-gallery-shadow{box-shadow: 0px 1em 6em -1.5em rgba(1, 1, 1, 0.4);}

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

html body #esp-site-wrap .woocommerce table,
table {
    background-color: transparent;
	border-width: 0px;
    border-collapse: collapse;
    border-spacing: 0;
    border-radius: 0px;
    margin: 0 0 2.375em 0;
    text-align: left;
    width: 100%;
	border-bottom-width: 1px;
}

table th {
	font-size: 1.1em;
}




html body #esp-site-wrap .woocommerce table th,
html body #esp-site-wrap .woocommerce table td,
th, td,
.table-default th, .table-default td {
    border-style: solid;
	border-top-width: 0px;
	border-right-width: 0px;
	/*border-bottom-width: 0px!important;*/
	border-left-width: 0px;
    padding: 12px;
    text-align: left;
}

.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-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: 1025px) {
	.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: 1024px){
	.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;
	}
	
}

/* Background Positions */

html body .background-position-center, html body .background-position-center .background-position-hook,
html body .background-position-center-center, html body .background-position-center-center .background-position-hook {
	background-position: center center!important;
}
html body .background-position-center-top, html body .background-position-center-top .background-position-hook {
	background-position: center top!important;
}
html body .background-position-right-top, html body .background-position-right-top .background-position-hook {
	background-position: right top!important;
}
html body .background-position-right-center, html body .background-position-right-center .background-position-hook {
	background-position: right center!important;
}
html body .background-position-right-bottom, html body .background-position-right-bottom .background-position-hook {
	background-position: right bottom!important;
}
html body .background-position-center-bottom, html body .background-position-center-bottom .background-position-hook {
	background-position: center bottom!important;
}
html body .background-position-left-bottom, html body .background-position-left-bottom .background-position-hook {
	background-position: left bottom!important;
}
html body .background-position-left-center, html body .background-position-left-center .background-position-hook {
	background-position: left center!important;
}
html body .background-position-left-top, html body .background-position-left-top .background-position-hook {
	background-position: left top!important;
}


html body .background-position-top, html body .background-position-top .background-position-hook {
	background-position-y: top!important; background-position-x: center;
}
html body .background-position-bottom, html body .background-position-bottom .background-position-hook {
	background-position-y: bottom!important; background-position-x: center;
}
html body .background-position-left, html body .background-position-left .background-position-hook {
	background-position-x: left!important; background-position-y: center;
}
html body .background-position-right, html body .background-position-right .background-position-hook {
	background-position-x: right!important; background-position-y: center;
}


html body .background-position-left-third, html body .background-position-left-third .background-position-hook {
	background-position-x: 33.3333%!important; background-position-y: center;
}
html body .background-position-right-third, html body .background-position-right-third .background-position-hook {
	background-position-x: 66.6667%!important; background-position-y: center;
}
html body .background-position-top-third, html body .background-position-top-third .background-position-hook {
	background-position-y: 33.3333%!important; background-position-x: center;
}
html body .background-position-bottom-third, html body .background-position-bottom-third .background-position-hook {
	background-position-y: 66.6667%!important; background-position-x: center;
}

@media all and (min-width: 1025px) {
	/* Background Positions */

	html body .desktop-background-position-center, html body .desktop-background-position-center .background-position-hook,
	html body .desktop-background-position-center-center, html body .desktop-background-position-center-center .background-position-hook {
		background-position: center center!important;
	}
	html body .desktop-background-position-center-top, html body .desktop-background-position-center-top .background-position-hook {
		background-position: center top!important;
	}
	html body .desktop-background-position-right-top, html body .desktop-background-position-right-top .background-position-hook {
		background-position: right top!important;
	}
	html body .desktop-background-position-right-center, html body .desktop-background-position-right-center .background-position-hook {
		background-position: right center!important;
	}
	html body .desktop-background-position-right-bottom, html body .desktop-background-position-right-bottom .background-position-hook {
		background-position: right bottom!important;
	}
	html body .desktop-background-position-center-bottom, html body .desktop-background-position-center-bottom .background-position-hook {
		background-position: center bottom!important;
	}
	html body .desktop-background-position-left-bottom, html body .desktop-background-position-left-bottom .background-position-hook {
		background-position: left bottom!important;
	}
	html body .desktop-background-position-left-center, html body .desktop-background-position-left-center .background-position-hook {
		background-position: left center!important;
	}
	html body .desktop-background-position-left-top, html body .desktop-background-position-left-top .background-position-hook {
		background-position: left top!important;
	}
	
	
	html body .desktop-background-position-top, html body .desktop-background-position-top .background-position-hook {
		background-position-y: top!important; background-position-x: center;
	}
	html body .desktop-background-position-bottom, html body .desktop-background-position-bottom .background-position-hook {
		background-position-y: bottom!important; background-position-x: center;
	}
	html body .desktop-background-position-left, html body .desktop-background-position-left .background-position-hook {
		background-position-x: left!important; background-position-y: center;
	}
	html body .desktop-background-position-right, html body .desktop-background-position-right .background-position-hook {
		background-position-x: right!important; background-position-y: center;
	}
	
	
	html body .desktop-background-position-left-third, html body .desktop-background-position-left-third .background-position-hook {
		background-position-x: 33.3333%!important; background-position-y: center;
	}
	html body .desktop-background-position-right-third, html body .desktop-background-position-right-third .background-position-hook {
		background-position-x: 66.6667%!important; background-position-y: center;
	}
	html body .desktop-background-position-top-third, html body .desktop-background-position-top-third .background-position-hook {
		background-position-y: 33.3333%!important; background-position-x: center;
	}
	html body .desktop-background-position-bottom-third, html body .desktop-background-position-bottom-third .background-position-hook {
		background-position-y: 66.6667%!important; background-position-x: center;
	}

}


@media all and (min-width: 768px) and (max-width: 1024px){
	/* Background Positions */

	html body .tablet-background-position-center, html body .tablet-background-position-center .background-position-hook,
	html body .tablet-background-position-center-center, html body .tablet-background-position-center-center .background-position-hook {
		background-position: center center!important;
	}
	html body .tablet-background-position-center-top, html body .tablet-background-position-center-top .background-position-hook {
		background-position: center top!important;
	}
	html body .tablet-background-position-right-top, html body .tablet-background-position-right-top .background-position-hook {
		background-position: right top!important;
	}
	html body .tablet-background-position-right-center, html body .tablet-background-position-right-center .background-position-hook {
		background-position: right center!important;
	}
	html body .tablet-background-position-right-bottom, html body .tablet-background-position-right-bottom .background-position-hook {
		background-position: right bottom!important;
	}
	html body .tablet-background-position-center-bottom, html body .tablet-background-position-center-bottom .background-position-hook {
		background-position: center bottom!important;
	}
	html body .tablet-background-position-left-bottom, html body .tablet-background-position-left-bottom .background-position-hook {
		background-position: left bottom!important;
	}
	html body .tablet-background-position-left-center, html body .tablet-background-position-left-center .background-position-hook {
		background-position: left center!important;
	}
	html body .tablet-background-position-left-top, html body .tablet-background-position-left-top .background-position-hook {
		background-position: left top!important;
	}
	
	
	html body .tablet-background-position-top, html body .tablet-background-position-top .background-position-hook {
		background-position-y: top!important; background-position-x: center;
	}
	html body .tablet-background-position-bottom, html body .tablet-background-position-bottom .background-position-hook {
		background-position-y: bottom!important; background-position-x: center;
	}
	html body .tablet-background-position-left, html body .tablet-background-position-left .background-position-hook {
		background-position-x: left!important; background-position-y: center;
	}
	html body .tablet-background-position-right, html body .tablet-background-position-right .background-position-hook {
		background-position-x: right!important; background-position-y: center;
	}
	
	
	html body .tablet-background-position-left-third, html body .tablet-background-position-left-third .background-position-hook {
		background-position-x: 33.3333%!important; background-position-y: center;
	}
	html body .tablet-background-position-right-third, html body .tablet-background-position-right-third .background-position-hook {
		background-position-x: 66.6667%!important; background-position-y: center;
	}
	html body .tablet-background-position-top-third, html body .tablet-background-position-top-third .background-position-hook {
		background-position-y: 33.3333%!important; background-position-x: center;
	}
	html body .tablet-background-position-bottom-third, html body .tablet-background-position-bottom-third .background-position-hook {
		background-position-y: 66.6667%!important; background-position-x: center;
	}

}

@media (max-width: 767px) {
	/* Background Positions */
	
	html body .mobile-background-position-center, html body .mobile-background-position-center .background-position-hook,
	html body .mobile-background-position-center-center, html body .mobile-background-position-center-center .background-position-hook {
		background-position: center center!important;
	}
	html body .mobile-background-position-center-top, html body .mobile-background-position-center-top .background-position-hook {
		background-position: center top!important;
	}
	html body .mobile-background-position-right-top, html body .mobile-background-position-right-top .background-position-hook {
		background-position: right top!important;
	}
	html body .mobile-background-position-right-center, html body .mobile-background-position-right-center .background-position-hook {
		background-position: right center!important;
	}
	html body .mobile-background-position-right-bottom, html body .mobile-background-position-right-bottom .background-position-hook {
		background-position: right bottom!important;
	}
	html body .mobile-background-position-center-bottom, html body .mobile-background-position-center-bottom .background-position-hook {
		background-position: center bottom!important;
	}
	html body .mobile-background-position-left-bottom, html body .mobile-background-position-left-bottom .background-position-hook {
		background-position: left bottom!important;
	}
	html body .mobile-background-position-left-center, html body .mobile-background-position-left-center .background-position-hook {
		background-position: left center!important;
	}
	html body .mobile-background-position-left-top, html body .mobile-background-position-left-top .background-position-hook {
		background-position: left top!important;
	}
	
	
	html body .mobile-background-position-top, html body .mobile-background-position-top .background-position-hook {
		background-position-y: top!important; background-position-x: center;
	}
	html body .mobile-background-position-bottom, html body .mobile-background-position-bottom .background-position-hook {
		background-position-y: bottom!important; background-position-x: center;
	}
	html body .mobile-background-position-left, html body .mobile-background-position-left .background-position-hook {
		background-position-x: left!important; background-position-y: center;
	}
	html body .mobile-background-position-right, html body .mobile-background-position-right .background-position-hook {
		background-position-x: right!important; background-position-y: center;
	}
	
	
	html body .mobile-background-position-left-third, html body .mobile-background-position-left-third .background-position-hook {
		background-position-x: 33.3333%!important; background-position-y: center;
	}
	html body .mobile-background-position-right-third, html body .mobile-background-position-right-third .background-position-hook {
		background-position-x: 66.6667%!important; background-position-y: center;
	}
	html body .mobile-background-position-top-third, html body .mobile-background-position-top-third .background-position-hook {
		background-position-y: 33.3333%!important; background-position-x: center;
	}
	html body .mobile-background-position-bottom-third, html body .mobile-background-position-bottom-third .background-position-hook {
		background-position-y: 66.6667%!important; background-position-x: center;
	}
}

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

body .background-no-repeat { background-repeat:no-repeat!important; }
body .background-repeat { background-repeat:repeat!important; }
body .background-repeat-x { background-repeat:repeat-x!important; }
body .background-repeat-y { background-repeat:repeat-y!important; }

body .background-clip-border {	background-clip:border-box!important; } /* This is the Default */
body .background-clip-padding { background-clip:padding-box!important; }
body .background-clip-content { background-clip:content-box!important; }


@media all and (min-width: 1025px) {

	html body .desktop-background-cover { background-size:cover!important; }
	html body .desktop-background-contain {	background-size:contain!important; }
	html body .desktop-background-auto { background-size:auto!important; }

	html body .desktop-background-no-repeat { background-repeat:no-repeat!important; }
	html body .desktop-background-repeat { background-repeat:repeat!important; }
	html body .desktop-background-repeat-x { background-repeat:repeat-x!important; }
	html body .desktop-background-repeat-y { background-repeat:repeat-y!important; }
	
	html body .desktop-background-clip-border {	background-clip:border-box!important; } /* This is the Default */
	html body .desktop-background-clip-padding { background-clip:padding-box!important; }
	html body .desktop-background-clip-content { background-clip:content-box!important; }

}

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

	html body .tablet-background-no-repeat { background-repeat:no-repeat!important; }
	html body .tablet-background-repeat { background-repeat:repeat!important; }
	html body .tablet-background-repeat-x { background-repeat:repeat-x!important; }
	html body .tablet-background-repeat-y { background-repeat:repeat-y!important; }
	
	html body .tablet-background-clip-border {	background-clip:border-box!important } /* This is the Default */
	html body .tablet-background-clip-padding { background-clip:padding-box!important; }
	html body .tablet-background-clip-content { background-clip:content-box!important; }

}

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

	html body .mobile-background-no-repeat { background-repeat:no-repeat!important; }
	html body .mobile-background-repeat { background-repeat:repeat!important; }
	html body .mobile-background-repeat-x { background-repeat:repeat-x!important; }
	html body .mobile-background-repeat-y { background-repeat:repeat-y!important; }
	
	html body .mobile-background-clip-border {	background-clip:border-box!important; } /* This is the Default */
	html body .mobile-background-clip-padding { background-clip:padding-box!important; }
	html body .mobile-background-clip-content { background-clip:content-box!important; }
	
}


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

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


[class^="overlay-"]:after, [class*=" overlay-"]:after, [class*="inner-shaddow"]:before {
	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;
	display:block!important;
}

@media all and (min-width: 1025px) {
	[class*="overlay-"].overlay-fade:after, html [class*="overlay-"].desktop-overlay-fade:after,
	html [class*="overlay-"].overlay-max:after, html body [class*="overlay-"].desktop-overlay-max:after {max-height:150px;}
	html [class*="overlay-"].overlay-fill:after, html body [class*="overlay-"].desktop-overlay-fill:after {max-height:none;}
	
	[class*="overlay-"]:after, body [class*="desktop-overlay-"]:after,
	[class*="overlay-"].overlay-color-black:after, body [class*="overlay"].desktop-overlay-color-black:after { background-color:rgba(0,0,0,1); }
	
	[class*="overlay-"].overlay-fade:after, body [class*="overlay-"].desktop-overlay-fade:after,
	[class*="overlay-"].overlay-fade.overlay-color-black:after,
	body [class*="overlay-"].desktop-overlay-fade.overlay-color-black:after,
	html body [class*="overlay-"].overlay-fade.desktop-overlay-color-black:after,
	html body [class*="overlay-"][class*="overlay-"].desktop-overlay-fade.desktop-overlay-color-black:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 1) 100%);}
	
	[class*="overlay-"].overlay-color-white:after, body [class*="overlay"].desktop-overlay-color-white:after { background-color:rgba(255,255,255,1); }
	[class*="overlay-"].overlay-fade.overlay-color-white:after,
	body [class*="overlay-"].desktop-overlay-fade.overlay-color-white:after,
	html body [class*="overlay-"].overlay-fade.desktop-overlay-color-white:after,
	html body [class*="overlay-"][class*="overlay-"].desktop-overlay-fade.desktop-overlay-color-white:after {background:linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 1) 100%);}
	
	.overlay-0:after, body .desktop-overlay-0:after { opacity:0; }
	.overlay-10:after, body .desktop-overlay-10:after { opacity:0.1; }
	.overlay-20:after, body .desktop-overlay-20:after { opacity:0.2; }
	.overlay-30:after, body .desktop-overlay-30:after { opacity:0.3; }
	.overlay-40:after, body .desktop-overlay-40:after { opacity:0.4; }
	.overlay-50:after, body .desktop-overlay-50:after { opacity:0.5; }
	.overlay-60:after, body .desktop-overlay-60:after { opacity:0.6; }
	.overlay-70:after, body .desktop-overlay-70:after { opacity:0.7; }
	.overlay-80:after, body .desktop-overlay-80:after { opacity:0.8; }
	.overlay-90:after, body .desktop-overlay-90:after { opacity:0.9; }
	.overlay-100:after, body .desktop-overlay-100:after { opacity:1; }
	.overlay-0.overlay-fade:after, .overlay-0.desktop-overlay-fade:after, body .desktop-overlay-0.overlay-fade:after, html body .desktop-overlay-0.desktop-overlay-fade:after{ opacity:0; }
	.overlay-10.overlay-fade:after, .overlay-10.desktop-overlay-fade:after, body .desktop-overlay-10.overlay-fade:after, html body .desktop-overlay-10.desktop-overlay-fade:after{ opacity:0.1; }
	.overlay-20.overlay-fade:after, .overlay-20.desktop-overlay-fade:after, body .desktop-overlay-20.overlay-fade:after, html body .desktop-overlay-20.desktop-overlay-fade:after{ opacity:0.2; }
	.overlay-30.overlay-fade:after, .overlay-30.desktop-overlay-fade:after, body .desktop-overlay-30.overlay-fade:after, html body .desktop-overlay-30.desktop-overlay-fade:after{ opacity:0.3; }
	.overlay-40.overlay-fade:after, .overlay-40.desktop-overlay-fade:after, body .desktop-overlay-40.overlay-fade:after, html body .desktop-overlay-40.desktop-overlay-fade:after{ opacity:0.4; }
	.overlay-50.overlay-fade:after, .overlay-50.desktop-overlay-fade:after, body .desktop-overlay-50.overlay-fade:after, html body .desktop-overlay-50.desktop-overlay-fade:after{ opacity:0.5; }
	.overlay-60.overlay-fade:after, .overlay-60.desktop-overlay-fade:after, body .desktop-overlay-60.overlay-fade:after, html body .desktop-overlay-60.desktop-overlay-fade:after{ opacity:0.6; }
	.overlay-70.overlay-fade:after, .overlay-70.desktop-overlay-fade:after, body .desktop-overlay-70.overlay-fade:after, html body .desktop-overlay-70.desktop-overlay-fade:after{ opacity:0.7; }
	.overlay-80.overlay-fade:after, .overlay-80.desktop-overlay-fade:after, body .desktop-overlay-80.overlay-fade:after, html body .desktop-overlay-80.desktop-overlay-fade:after{ opacity:0.8; }
	.overlay-90.overlay-fade:after, .overlay-90.desktop-overlay-fade:after, body .desktop-overlay-90.overlay-fade:after, html body .desktop-overlay-90.desktop-overlay-fade:after{ opacity:0.9; }
	.overlay-100.overlay-fade:after, .overlay-100.desktop-overlay-fade:after, body .desktop-overlay-100.overlay-fade:after, html body .desktop-overlay-100.desktop-overlay-fade:after{ opacity:1; }
	
	.inner-shaddow:before, .desktop-inner-shaddow:before { box-shadow: 0 0 8px rgba(0, 0, 0, 1) inset; max-height:100%!important; opacity:1; }
	.inner-shaddow.inner-shadow-white:before, .desktop-inner-shaddow.inner-shadow-white:before { box-shadow: 0 0 8px rgba(255, 255, 255, 1) inset; max-height:100%!important; opacity:1; }
}

@media all and (min-width: 768px) and (max-width: 1024px){
	[class*="overlay-"].overlay-fade:after, html [class*="overlay-"].tablet-overlay-fade:after,
	html [class*="overlay-"].overlay-max:after, html body [class*="overlay-"].tablet-overlay-max:after {max-height:150px;}
	html [class*="overlay-"].overlay-fill:after, html body [class*="overlay-"].tablet-overlay-fill:after {max-height:none;}
	
	[class*="overlay-"]:after, body [class*="tablet-overlay-"]:after,
	[class*="overlay-"].overlay-color-black:after, body [class*="overlay"].tablet-overlay-color-black:after { background-color:rgba(0,0,0,1); }
	
	[class*="overlay-"].overlay-fade:after, body [class*="overlay-"].tablet-overlay-fade:after,
	[class*="overlay-"].overlay-fade.overlay-color-black:after,
	body [class*="overlay-"].tablet-overlay-fade.overlay-color-black:after,
	html body [class*="overlay-"].overlay-fade.tablet-overlay-color-black:after,
	html body [class*="overlay-"][class*="overlay-"].tablet-overlay-fade.tablet-overlay-color-black:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 1) 100%);}
	
	[class*="overlay-"].overlay-color-white:after, body [class*="overlay"].tablet-overlay-color-white:after { background-color:rgba(255,255,255,1); }
	[class*="overlay-"].overlay-fade.overlay-color-white:after,
	body [class*="overlay-"].tablet-overlay-fade.overlay-color-white:after,
	html body [class*="overlay-"].overlay-fade.tablet-overlay-color-white:after,
	html body [class*="overlay-"][class*="overlay-"].tablet-overlay-fade.tablet-overlay-color-white:after {background:linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 1) 100%);}
	
	.overlay-0:after, body .tablet-overlay-0:after { opacity:0; }
	.overlay-10:after, body .tablet-overlay-10:after { opacity:0.1; }
	.overlay-20:after, body .tablet-overlay-20:after { opacity:0.2; }
	.overlay-30:after, body .tablet-overlay-30:after { opacity:0.3; }
	.overlay-40:after, body .tablet-overlay-40:after { opacity:0.4; }
	.overlay-50:after, body .tablet-overlay-50:after { opacity:0.5; }
	.overlay-60:after, body .tablet-overlay-60:after { opacity:0.6; }
	.overlay-70:after, body .tablet-overlay-70:after { opacity:0.7; }
	.overlay-80:after, body .tablet-overlay-80:after { opacity:0.8; }
	.overlay-90:after, body .tablet-overlay-90:after { opacity:0.9; }
	.overlay-100:after, body .tablet-overlay-100:after { opacity:1; }
	.overlay-0.overlay-fade:after, .overlay-0.tablet-overlay-fade:after, body .tablet-overlay-0.overlay-fade:after, html body .tablet-overlay-0.tablet-overlay-fade:after{ opacity:0; }
	.overlay-10.overlay-fade:after, .overlay-10.tablet-overlay-fade:after, body .tablet-overlay-10.overlay-fade:after, html body .tablet-overlay-10.tablet-overlay-fade:after{ opacity:0.1; }
	.overlay-20.overlay-fade:after, .overlay-20.tablet-overlay-fade:after, body .tablet-overlay-20.overlay-fade:after, html body .tablet-overlay-20.tablet-overlay-fade:after{ opacity:0.2; }
	.overlay-30.overlay-fade:after, .overlay-30.tablet-overlay-fade:after, body .tablet-overlay-30.overlay-fade:after, html body .tablet-overlay-30.tablet-overlay-fade:after{ opacity:0.3; }
	.overlay-40.overlay-fade:after, .overlay-40.tablet-overlay-fade:after, body .tablet-overlay-40.overlay-fade:after, html body .tablet-overlay-40.tablet-overlay-fade:after{ opacity:0.4; }
	.overlay-50.overlay-fade:after, .overlay-50.tablet-overlay-fade:after, body .tablet-overlay-50.overlay-fade:after, html body .tablet-overlay-50.tablet-overlay-fade:after{ opacity:0.5; }
	.overlay-60.overlay-fade:after, .overlay-60.tablet-overlay-fade:after, body .tablet-overlay-60.overlay-fade:after, html body .tablet-overlay-60.tablet-overlay-fade:after{ opacity:0.6; }
	.overlay-70.overlay-fade:after, .overlay-70.tablet-overlay-fade:after, body .tablet-overlay-70.overlay-fade:after, html body .tablet-overlay-70.tablet-overlay-fade:after{ opacity:0.7; }
	.overlay-80.overlay-fade:after, .overlay-80.tablet-overlay-fade:after, body .tablet-overlay-80.overlay-fade:after, html body .tablet-overlay-80.tablet-overlay-fade:after{ opacity:0.8; }
	.overlay-90.overlay-fade:after, .overlay-90.tablet-overlay-fade:after, body .tablet-overlay-90.overlay-fade:after, html body .tablet-overlay-90.tablet-overlay-fade:after{ opacity:0.9; }
	.overlay-100.overlay-fade:after, .overlay-100.tablet-overlay-fade:after, body .tablet-overlay-100.overlay-fade:after, html body .tablet-overlay-100.tablet-overlay-fade:after{ opacity:1; }
	
	.inner-shaddow:before, .tablet-inner-shaddow:before { box-shadow: 0 0 8px rgba(0, 0, 0, 1) inset; max-height:100%!important; opacity:1; }
	.inner-shaddow.inner-shadow-white:before, .tablet-inner-shaddow.inner-shadow-white:before { box-shadow: 0 0 8px rgba(255, 255, 255, 1) inset; max-height:100%!important; opacity:1; }
}

@media (max-width: 767px) {
	[class*="overlay-"].overlay-fade:after, html [class*="overlay-"].mobile-overlay-fade:after,
	html [class*="overlay-"].overlay-max:after, html body [class*="overlay-"].mobile-overlay-max:after {max-height:150px;}
	html [class*="overlay-"].overlay-fill:after, html body [class*="overlay-"].mobile-overlay-fill:after {max-height:none;}
	
	[class*="overlay-"]:after, body [class*="mobile-overlay-"]:after,
	[class*="overlay-"].overlay-color-black:after, body [class*="overlay"].mobile-overlay-color-black:after { background-color:rgba(0,0,0,1); }
	
	[class*="overlay-"].overlay-fade:after, body [class*="overlay-"].mobile-overlay-fade:after,
	[class*="overlay-"].overlay-fade.overlay-color-black:after,
	body [class*="overlay-"].mobile-overlay-fade.overlay-color-black:after,
	html body [class*="overlay-"].overlay-fade.mobile-overlay-color-black:after,
	html body [class*="overlay-"][class*="overlay-"].mobile-overlay-fade.mobile-overlay-color-black:after {background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 1) 100%);}
	
	[class*="overlay-"].overlay-color-white:after, body [class*="overlay"].mobile-overlay-color-white:after { background-color:rgba(255,255,255,1); }
	[class*="overlay-"].overlay-fade.overlay-color-white:after,
	body [class*="overlay-"].mobile-overlay-fade.overlay-color-white:after,
	html body [class*="overlay-"].overlay-fade.mobile-overlay-color-white:after,
	html body [class*="overlay-"][class*="overlay-"].mobile-overlay-fade.mobile-overlay-color-white:after {background:linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 1) 100%);}
	
	.overlay-0:after, body .mobile-overlay-0:after { opacity:0; }
	.overlay-10:after, body .mobile-overlay-10:after { opacity:0.1; }
	.overlay-20:after, body .mobile-overlay-20:after { opacity:0.2; }
	.overlay-30:after, body .mobile-overlay-30:after { opacity:0.3; }
	.overlay-40:after, body .mobile-overlay-40:after { opacity:0.4; }
	.overlay-50:after, body .mobile-overlay-50:after { opacity:0.5; }
	.overlay-60:after, body .mobile-overlay-60:after { opacity:0.6; }
	.overlay-70:after, body .mobile-overlay-70:after { opacity:0.7; }
	.overlay-80:after, body .mobile-overlay-80:after { opacity:0.8; }
	.overlay-90:after, body .mobile-overlay-90:after { opacity:0.9; }
	.overlay-100:after, body .mobile-overlay-100:after { opacity:1; }
	.overlay-0.overlay-fade:after, .overlay-0.mobile-overlay-fade:after, body .mobile-overlay-0.overlay-fade:after, html body .mobile-overlay-0.mobile-overlay-fade:after{ opacity:0; }
	.overlay-10.overlay-fade:after, .overlay-10.mobile-overlay-fade:after, body .mobile-overlay-10.overlay-fade:after, html body .mobile-overlay-10.mobile-overlay-fade:after{ opacity:0.1; }
	.overlay-20.overlay-fade:after, .overlay-20.mobile-overlay-fade:after, body .mobile-overlay-20.overlay-fade:after, html body .mobile-overlay-20.mobile-overlay-fade:after{ opacity:0.2; }
	.overlay-30.overlay-fade:after, .overlay-30.mobile-overlay-fade:after, body .mobile-overlay-30.overlay-fade:after, html body .mobile-overlay-30.mobile-overlay-fade:after{ opacity:0.3; }
	.overlay-40.overlay-fade:after, .overlay-40.mobile-overlay-fade:after, body .mobile-overlay-40.overlay-fade:after, html body .mobile-overlay-40.mobile-overlay-fade:after{ opacity:0.4; }
	.overlay-50.overlay-fade:after, .overlay-50.mobile-overlay-fade:after, body .mobile-overlay-50.overlay-fade:after, html body .mobile-overlay-50.mobile-overlay-fade:after{ opacity:0.5; }
	.overlay-60.overlay-fade:after, .overlay-60.mobile-overlay-fade:after, body .mobile-overlay-60.overlay-fade:after, html body .mobile-overlay-60.mobile-overlay-fade:after{ opacity:0.6; }
	.overlay-70.overlay-fade:after, .overlay-70.mobile-overlay-fade:after, body .mobile-overlay-70.overlay-fade:after, html body .mobile-overlay-70.mobile-overlay-fade:after{ opacity:0.7; }
	.overlay-80.overlay-fade:after, .overlay-80.mobile-overlay-fade:after, body .mobile-overlay-80.overlay-fade:after, html body .mobile-overlay-80.mobile-overlay-fade:after{ opacity:0.8; }
	.overlay-90.overlay-fade:after, .overlay-90.mobile-overlay-fade:after, body .mobile-overlay-90.overlay-fade:after, html body .mobile-overlay-90.mobile-overlay-fade:after{ opacity:0.9; }
	.overlay-100.overlay-fade:after, .overlay-100.mobile-overlay-fade:after, body .mobile-overlay-100.overlay-fade:after, html body .mobile-overlay-100.mobile-overlay-fade:after{ opacity:1; }
	
	.inner-shaddow:before, .mobile-inner-shaddow:before { box-shadow: 0 0 8px rgba(0, 0, 0, 1) inset; max-height:100%!important; opacity:1; }
	.inner-shaddow.inner-shadow-white:before, .mobile-inner-shaddow.inner-shadow-white:before { box-shadow: 0 0 8px rgba(255, 255, 255, 1) inset; max-height:100%!important; opacity:1; }
}

/* Flip Content - Often Used in Conjunction with Overlay Fade*/

.flip-horizontal { transform: scaleX(-1); }
.flip-vertical { transform: scaleY(-1); }

@media all and (min-width: 1025px) {
	html .desktop-flip-horizontal { transform: scaleX(-1); }
	html .desktop-flip-vertical { transform: scaleY(-1); }
}

@media all and (min-width: 768px) and (max-width: 1024px){
	html .tablet-flip-horizontal { transform: scaleX(-1); }
	html .tablet-flip-vertical { transform: scaleY(-1); }
}

@media (max-width: 767px) {
	html .mobile-flip-horizontal { transform: scaleX(-1); }
	html .mobile-flip-vertical { transform: scaleY(-1); }
}

/*** Content Opacity ***/

[class*="opacity-"] {
	transition: opacity 0.3s ease-in-out 0s;
}

body .opacity-0, body .opacity-hover-0:hover, body .opacity-hook:hover .opacity-hover-0 { opacity:0; }
body .opacity-10, body .opacity-hover-10:hover, body .opacity-hook:hover .opacity-hover-10 { opacity:0.1; }
body .opacity-20, body .opacity-hover-20:hover, body .opacity-hook:hover .opacity-hover-20 { opacity:0.2; }
body .opacity-30, body .opacity-hover-30:hover, body .opacity-hook:hover .opacity-hover-30 { opacity:0.3; }
body .opacity-40, body .opacity-hover-40:hover, body .opacity-hook:hover .opacity-hover-40 { opacity:0.4; }
body .opacity-50, body .opacity-hover-50:hover, body .opacity-hook:hover .opacity-hover-50 { opacity:0.5; }
body .opacity-60, body .opacity-hover-60:hover, body .opacity-hook:hover .opacity-hover-60 { opacity:0.6; }
body .opacity-70, body .opacity-hover-70:hover, body .opacity-hook:hover .opacity-hover-70 { opacity:0.7; }
body .opacity-80, body .opacity-hover-80:hover, body .opacity-hook:hover .opacity-hover-80 { opacity:0.8; }
body .opacity-90, body .opacity-hover-90:hover, body .opacity-hook:hover .opacity-hover-90 { opacity:0.9; }
body .opacity-100, body .opacity-hover-100:hover, body .opacity-hook:hover .opacity-hover-100 { opacity:1; }

@media all and (min-width: 1025px) {
	body .desktop-opacity-0, body .desktop-opacity-hover-0:hover, body .opacity-hook:hover .desktop-opacity-hover-0 { opacity:0; }
	body .desktop-opacity-10, body .desktop-opacity-hover-10:hover, body .opacity-hook:hover .desktop-opacity-hover-10 { opacity:0.1; }
	body .desktop-opacity-20, body .desktop-opacity-hover-20:hover, body .opacity-hook:hover .desktop-opacity-hover-20 { opacity:0.2; }
	body .desktop-opacity-30, body .desktop-opacity-hover-30:hover, body .opacity-hook:hover .desktop-opacity-hover-30 { opacity:0.3; }
	body .desktop-opacity-40, body .desktop-opacity-hover-40:hover, body .opacity-hook:hover .desktop-opacity-hover-40 { opacity:0.4; }
	body .desktop-opacity-50, body .desktop-opacity-hover-50:hover, body .opacity-hook:hover .desktop-opacity-hover-50 { opacity:0.5; }
	body .desktop-opacity-60, body .desktop-opacity-hover-60:hover, body .opacity-hook:hover .desktop-opacity-hover-60 { opacity:0.6; }
	body .desktop-opacity-70, body .desktop-opacity-hover-70:hover, body .opacity-hook:hover .desktop-opacity-hover-70 { opacity:0.7; }
	body .desktop-opacity-80, body .desktop-opacity-hover-80:hover, body .opacity-hook:hover .desktop-opacity-hover-80 { opacity:0.8; }
	body .desktop-opacity-90, body .desktop-opacity-hover-90:hover, body .opacity-hook:hover .desktop-opacity-hover-90 { opacity:0.9; }
	body .desktop-opacity-100, body .desktop-opacity-hover-100:hover, body .opacity-hook:hover .desktop-opacity-hover-100 { opacity:1; }
}

@media all and (min-width: 768px) and (max-width: 1024px){
	body .tablet-opacity-0, body .tablet-opacity-hover-0:hover, body .opacity-hook:hover .tablet-opacity-hover-0 { opacity:0; }
	body .tablet-opacity-10, body .tablet-opacity-hover-10:hover, body .opacity-hook:hover .tablet-opacity-hover-10 { opacity:0.1; }
	body .tablet-opacity-20, body .tablet-opacity-hover-20:hover, body .opacity-hook:hover .tablet-opacity-hover-20 { opacity:0.2; }
	body .tablet-opacity-30, body .tablet-opacity-hover-30:hover, body .opacity-hook:hover .tablet-opacity-hover-30 { opacity:0.3; }
	body .tablet-opacity-40, body .tablet-opacity-hover-40:hover, body .opacity-hook:hover .tablet-opacity-hover-40 { opacity:0.4; }
	body .tablet-opacity-50, body .tablet-opacity-hover-50:hover, body .opacity-hook:hover .tablet-opacity-hover-50 { opacity:0.5; }
	body .tablet-opacity-60, body .tablet-opacity-hover-60:hover, body .opacity-hook:hover .tablet-opacity-hover-60 { opacity:0.6; }
	body .tablet-opacity-70, body .tablet-opacity-hover-70:hover, body .opacity-hook:hover .tablet-opacity-hover-70 { opacity:0.7; }
	body .tablet-opacity-80, body .tablet-opacity-hover-80:hover, body .opacity-hook:hover .tablet-opacity-hover-80 { opacity:0.8; }
	body .tablet-opacity-90, body .tablet-opacity-hover-90:hover, body .opacity-hook:hover .tablet-opacity-hover-90 { opacity:0.9; }
	body .tablet-opacity-100, body .tablet-opacity-hover-100:hover, body .opacity-hook:hover .tablet-opacity-hover-100 { opacity:1; }
}

@media (max-width: 767px) {
	body .mobile-opacity-0, body .mobile-opacity-hover-0:hover, body .opacity-hook:hover .mobile-opacity-hover-0 { opacity:0; }
	body .mobile-opacity-10, body .mobile-opacity-hover-10:hover, body .opacity-hook:hover .mobile-opacity-hover-10 { opacity:0.1; }
	body .mobile-opacity-20, body .mobile-opacity-hover-20:hover, body .opacity-hook:hover .mobile-opacity-hover-20 { opacity:0.2; }
	body .mobile-opacity-30, body .mobile-opacity-hover-30:hover, body .opacity-hook:hover .mobile-opacity-hover-30 { opacity:0.3; }
	body .mobile-opacity-40, body .mobile-opacity-hover-40:hover, body .opacity-hook:hover .mobile-opacity-hover-40 { opacity:0.4; }
	body .mobile-opacity-50, body .mobile-opacity-hover-50:hover, body .opacity-hook:hover .mobile-opacity-hover-50 { opacity:0.5; }
	body .mobile-opacity-60, body .mobile-opacity-hover-60:hover, body .opacity-hook:hover .mobile-opacity-hover-60 { opacity:0.6; }
	body .mobile-opacity-70, body .mobile-opacity-hover-70:hover, body .opacity-hook:hover .mobile-opacity-hover-70 { opacity:0.7; }
	body .mobile-opacity-80, body .mobile-opacity-hover-80:hover, body .opacity-hook:hover .mobile-opacity-hover-80 { opacity:0.8; }
	body .mobile-opacity-90, body .mobile-opacity-hover-90:hover, body .opacity-hook:hover .mobile-opacity-hover-90 { opacity:0.9; }
	body .mobile-opacity-100, body .mobile-opacity-hover-100:hover, body .opacity-hook:hover .mobile-opacity-hover-100 { opacity:1; }
}

/* = Rotate elements
-------------------------------------------------------------- */

body .rotate-45 { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
body .rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg);  }
body .rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

body .rotate-neg45 { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
body .rotate-neg90 { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } /* AKA Rotate 270 */

@media all and (min-width: 1025px) {
	body .desktop-rotate-45 { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
	body .desktop-rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
	body .desktop-rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

	body .desktop-rotate-neg45 { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	body .desktop-rotate-neg90 { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
}

@media all and (min-width: 768px) and (max-width: 1024px){
	body .tablet-rotate-45 { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
	body .tablet-rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
	body .tablet-rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

	body .tablet-rotate-neg45 { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	body .tablet-rotate-neg90 { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
}

@media (max-width: 767px) {
	body .mobile-rotate-45 { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
	body .mobile-rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
	body .mobile-rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
	body .mobile-rotate-neg45 { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	body .mobile-rotate-neg90 { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
}


/* = Transform origin
-------------------------------------------------------------- */

body .transform-origin-left-top { transform-origin: left top; }
body .transform-origin-left-center { transform-origin: left center; }
body .transform-origin-left-bottom { transform-origin: left bottom; }
body .transform-origin-center-top { transform-origin: center top; }
body .transform-origin-center { transform-origin: center; }
body .transform-origin-center-bottom { transform-origin: center bottom; }
body .transform-origin-right-top { transform-origin: right top; }
body .transform-origin-right-center { transform-origin: right center; }
body .transform-origin-right-bottom { transform-origin: right bottom; }

@media all and (min-width: 1025px) {
	body .desktop-transform-origin-left-top { transform-origin: left top; }
	body .desktop-transform-origin-left-center { transform-origin: left center; }
	body .desktop-transform-origin-left-bottom { transform-origin: left bottom; }
	body .desktop-transform-origin-center-top { transform-origin: center top; }
	body .desktop-transform-origin-center { transform-origin: center; }
	body .desktop-transform-origin-center-bottom { transform-origin: center bottom; }
	body .desktop-transform-origin-right-top { transform-origin: right top; }
	body .desktop-transform-origin-right-center { transform-origin: right center; }
	body .desktop-transform-origin-right-bottom { transform-origin: right bottom; }
}

@media all and (min-width: 768px) and (max-width: 1024px){
	body .tablet-transform-origin-left-top { transform-origin: left top; }
	body .tablet-transform-origin-left-center { transform-origin: left center; }
	body .tablet-transform-origin-left-bottom { transform-origin: left bottom; }
	body .tablet-transform-origin-center-top { transform-origin: center top; }
	body .tablet-transform-origin-center { transform-origin: center; }
	body .tablet-transform-origin-center-bottom { transform-origin: center bottom; }
	body .tablet-transform-origin-right-top { transform-origin: right top; }
	body .tablet-transform-origin-right-center { transform-origin: right center; }
	body .tablet-transform-origin-right-bottom { transform-origin: right bottom; }	
}

@media (max-width: 767px) {
	body .mobile-transform-origin-left-top { transform-origin: left top; }
	body .mobile-transform-origin-left-center { transform-origin: left center; }
	body .mobile-transform-origin-left-bottom { transform-origin: left bottom; }
	body .mobile-transform-origin-center-top { transform-origin: center top; }
	body .mobile-transform-origin-center { transform-origin: center; }
	body .mobile-transform-origin-center-bottom { transform-origin: center bottom; }
	body .mobile-transform-origin-right-top { transform-origin: right top; }
	body .mobile-transform-origin-right-center { transform-origin: right center; }
	body .mobile-transform-origin-right-bottom { transform-origin: right bottom; }	
}

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

/* White text*/

body .dark-background, 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,
body .dark-background-hover:hover, body .dark-background-hover:hover h1, body .dark-background-hover:hover h2, body .dark-background-hover:hover h3, body .dark-background-hover:hover h4, body .dark-background-hover:hover h5, body .dark-background-hover:hover h6, body .dark-background-hover:hover strong {
	color: #fff;
}

body .dark-background a,
body .dark-background-hover:hover 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,
body .dark-background-hover:hover textarea, body .dark-background-hover:hover input[type="text"], body .dark-background-hover:hover input[type="password"], body .dark-background-hover:hover input[type="datetime"], body .dark-background-hover:hover input[type="datetime-local"], body .dark-background-hover:hover input[type="date"], body .dark-background-hover:hover input[type="month"], body .dark-background-hover:hover input[type="time"], body .dark-background-hover:hover input[type="week"], body .dark-background-hover:hover input[type="number"], body .dark-background-hover:hover input[type="email"], body .dark-background-hover:hover input[type="url"], body .dark-background-hover:hover input[type="search"], body .dark-background-hover:hover input[type="tel"], body .dark-background-hover:hover input[type="color"], body .dark-background-hover:hover select {
	border-color: #FFF;
}

@media all and (min-width: 1025px) {
	body .desktop-dark-background, body .desktop-dark-background *, body .desktop-dark-background h1, body .desktop-dark-background h2, body .desktop-dark-background h3, body .desktop-dark-background h4, body .desktop-dark-background h5, body .desktop-dark-background h6, body .desktop-dark-background strong,
	body .desktop-dark-background-hover:hover, body .desktop-dark-background-hover:hover h1, body .desktop-dark-background-hover:hover h2, body .desktop-dark-background-hover:hover h3, body .desktop-dark-background-hover:hover h4, body .desktop-dark-background-hover:hover h5, body .desktop-dark-background-hover:hover h6, body .desktop-dark-background-hover:hover strong {
		color: #fff;
	}
	
	body .desktop-dark-background a,
	body .desktop-dark-background-hover:hover 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,
	body .desktop-dark-background-hover:hover textarea, body .desktop-dark-background-hover:hover input[type="text"], body .desktop-dark-background-hover:hover input[type="password"], body .desktop-dark-background-hover:hover input[type="datetime"], body .desktop-dark-background-hover:hover input[type="datetime-local"], body .desktop-dark-background-hover:hover input[type="date"], body .desktop-dark-background-hover:hover input[type="month"], body .desktop-dark-background-hover:hover input[type="time"], body .desktop-dark-background-hover:hover input[type="week"], body .desktop-dark-background-hover:hover input[type="number"], body .desktop-dark-background-hover:hover input[type="email"], body .desktop-dark-background-hover:hover input[type="url"], body .desktop-dark-background-hover:hover input[type="search"], body .desktop-dark-background-hover:hover input[type="tel"], body .desktop-dark-background-hover:hover input[type="color"], body .desktop-dark-background-hover:hover select {
		border-color: #FFF;
	}
}

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

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

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


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

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

@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; }
}

/* font-weight */

html body .font-weight-light, html body .font-weight-300 {font-weight:300;}
html body .font-weight-normal {font-weight:normal;}
html body .font-weight-semi, html body .font-weight-700 {font-weight:700;}
html body .font-weight-bold {font-weight:bold;}

@media all and (min-width: 1025px) {
	/* font-weight */
	html body .desktop-font-weight-light, html body .font-weight-300 {font-weight:300;}
	html body .desktop-font-weight-normal {font-weight:normal;}
	html body .desktop-font-weight-semi, html body .font-weight-700 {font-weight:700;}
	html body .desktop-font-weight-bold {font-weight:bold;}
}
@media all and (min-width: 768px) and (max-width: 1024px){
	/* font-weight */
	html body .tablet-font-weight-light, html body .font-weight-300 {font-weight:300;}
	html body .tablet-font-weight-normal {font-weight:normal;}
	html body .tablet-font-weight-semi, html body .font-weight-700 {font-weight:700;}
	html body .tablet-font-weight-bold {font-weight:bold;}
}

@media (max-width: 767px) {
	/* font-weight */
	html body .mobile-font-weight-light, html body .font-weight-300 {font-weight:300;}
	html body .mobile-font-weight-normal {font-weight:normal;}
	html body .mobile-font-weight-semi, html body .font-weight-700 {font-weight:700;}
	html body .mobile-font-weight-bold {font-weight:bold;}
}

/* font-style */

html body .font-style-normal {font-style:normal;}
html body .font-style-italic {font-style:italic;}

@media all and (min-width: 1025px) {
	/* font-style */
	html body .desktop-font-style-normal {font-style:normal;}
	html body .desktop-font-style-italic {font-style:italic;}
}
@media all and (min-width: 768px) and (max-width: 1024px){
	/* font-style */
	html body .tablet-font-style-normal {font-style:normal;}
	html body .tablet-font-style-italic {font-style:italic;}
}

@media (max-width: 767px) {
	/* font-style */
	html body .mobile-font-style-normal {font-style:normal;}
	html body .mobile-font-style-italic {font-style:italic;}
}

/* = 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; }
.display-table, html.no-js .no-js-display-table, html.js .js-display-table, .safari .safari-display-table, .mozilla .mozilla-display-table, .chrome .chrome-display-table, .msie .msie-display-table, .edge .edge-display-table, .unknown .unknown-display-table { display: table !important; }
.display-table-cell, html.no-js .no-js-display-table-cell, html.js .js-display-table-cell, .safari .safari-display-table-cell, .mozilla .mozilla-display-table-cell, .chrome .chrome-display-table-cell, .msie .msie-display-table-cell, .edge .edge-display-table-cell, .unknown .unknown-display-table-cell { display: table-cell !important; }
.display-flex, html.no-js .no-js-display-flex, html.js .js-display-flex, .safari .safari-display-flex, .mozilla .mozilla-display-flex, .chrome .chrome-display-flex, .msie .msie-display-flex, .edge .edge-display-flex, .unknown .unknown-display-flex { display: flex !important; }

@media all and (min-width: 1025px) {
	.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; }
	.desktop-display-table, html.no-js .no-js-desktop-display-table, html.js .js-desktop-display-table, .safari .safari-desktop-display-table, .mozilla .mozilla-desktop-display-table, .chrome .chrome-desktop-display-table, .msie .msie-desktop-display-table, .edge .edge-desktop-display-table, .unknown .unknown-desktop-display-table { display: table !important; }
	.desktop-display-table-cell, html.no-js .no-js-desktop-display-table-cell, html.js .js-desktop-display-table-cell, .safari .safari-desktop-display-table-cell, .mozilla .mozilla-desktop-display-table-cell, .chrome .chrome-desktop-display-table-cell, .msie .msie-desktop-display-table-cell, .edge .edge-desktop-display-table-cell, .unknown .unknown-desktop-display-table-cell { display: table-cell !important; }
	.desktop-display-flex, html.no-js .no-js-desktop-display-flex, html.js .js-desktop-display-flex, .safari .safari-desktop-display-flex, .mozilla .mozilla-desktop-display-flex, .chrome .chrome-desktop-display-flex, .msie .msie-desktop-display-flex, .edge .edge-desktop-display-flex, .unknown .unknown-desktop-display-flex { display: flex !important; }
}

@media all and (min-width: 768px) and (max-width: 1024px){
	.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; }
	.tablet-display-table, html.no-js .no-js-tablet-display-table, html.js .js-tablet-display-table, .safari .safari-tablet-display-table, .mozilla .mozilla-tablet-display-table, .chrome .chrome-tablet-display-table, .msie .msie-tablet-display-table, .edge .edge-tablet-display-table, .unknown .unknown-tablet-display-table { display: table !important; }
	.tablet-display-table-cell, html.no-js .no-js-tablet-display-table-cell, html.js .js-tablet-display-table-cell, .safari .safari-tablet-display-table-cell, .mozilla .mozilla-tablet-display-table-cell, .chrome .chrome-tablet-display-table-cell, .msie .msie-tablet-display-table-cell, .edge .edge-tablet-display-table-cell, .unknown .unknown-tablet-display-table-cell { display: table-cell !important; }
	.tablet-display-flex, html.no-js .no-js-tablet-display-flex, html.js .js-tablet-display-flex, .safari .safari-tablet-display-flex, .mozilla .mozilla-tablet-display-flex, .chrome .chrome-tablet-display-flex, .msie .msie-tablet-display-flex, .edge .edge-tablet-display-flex, .unknown .unknown-tablet-display-flex { display: flex !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; }
	.mobile-display-table, html.no-js .no-js-mobile-display-table, html.js .js-mobile-display-table, .safari .safari-mobile-display-table, .mozilla .mozilla-mobile-display-table, .chrome .chrome-mobile-display-table, .msie .msie-mobile-display-table, .edge .edge-mobile-display-table, .unknown .unknown-mobile-display-table { display: table !important; }
	.mobile-display-table-cell, html.no-js .no-js-mobile-display-table-cell, html.js .js-mobile-display-table-cell, .safari .safari-mobile-display-table-cell, .mozilla .mozilla-mobile-display-table-cell, .chrome .chrome-mobile-display-table-cell, .msie .msie-mobile-display-table-cell, .edge .edge-mobile-display-table-cell, .unknown .unknown-mobile-display-table-cell { display: table-cell !important; }
	.mobile-display-flex, html.no-js .no-js-mobile-display-flex, html.js .js-mobile-display-flex, .safari .safari-mobile-display-flex, .mozilla .mozilla-mobile-display-flex, .chrome .chrome-mobile-display-flex, .msie .msie-mobile-display-flex, .edge .edge-mobile-display-flex, .unknown .unknown-mobile-display-flex { display: flex !important; }
}

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

/* Fake <BR /> */

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

@media all and (min-width: 1025px) {
	body span.desktop-no-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: 1024px){
	body span.tablet-no-br:before { content: ""; white-space:normal; }
	html body span.tablet-br:before { content: "\A"; white-space: pre; }
}

@media (max-width: 767px) {
	body span.mobile-no-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; }
.overflow-auto { overflow:auto!important; }

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

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

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


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


/*** Breadcrumbs ***/

.breadcrumbs {
	margin:0;
	overflow:hidden;
}

.breadcrumbs li {
  display: block;
  margin-right: 0.25em;
  position: relative;
}
.breadcrumbs li {
  float: left;
  list-style: outside none none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}

.breadcrumbs li::after {
  content: "»";
  display: inline-block;
  height: 1em;
  margin-left: 0.25em;
  margin-right: 0.25em;
  width: 1em;
  font-size: 1em;
  text-align: center;
}

.breadcrumbs li.last::after {
  content: none;
}

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


/* WP Admin Login */

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

/* = Woocommerce Account Area
-------------------------------------------------------------- */

/* Woocommerce */

.woocommerce-MyAccount-content {
	width:100%!important;
}

html .woocommerce form[class*='woocommerce'] {
	padding-left:0;
	padding-right:0;
}

@media (max-width: 767px) {
	html .woocommerce form .form-row-first, html .woocommerce form .form-row-last, html .woocommerce-page form .form-row-first, html .woocommerce-page form .form-row-last {width:100%}
}

#esp-site-wrap .woocommerce form.login, #esp-site-wrap .woocommerce form.register {
	border: none;
	border-radius: 0px;
	margin: 0px;
	padding: 0px;
}

.woocommerce-LostPassword.lost_password {
    margin-top: -15px;
}

#esp-site-wrap .woocommerce form.checkout_coupon {
	border: none;
	border-radius: 0px;
	margin: 0px;
	padding: 0px;
}

.woocommerce form .form-row-first, .woocommerce-page form .form-row-first {
	float:none;
	display:inline-block;
}

.woocommerce form .form-row-last, .woocommerce-page form .form-row-last {
	float:right;
	display:inline-block;
}
.woocommerce-Addresses header {position:relative; padding-right:50px}
.woocommerce-Addresses .edit {position:absolute; right:0; float:left; display:block;}
.woocommerce-Addresses address {margin-top:0}

html .woocommerce form p.form-row {
	margin: -0.375em 0 2em;
	padding: 0;
}

.woocommerce-Price-amount {font-weight:bold;}




.wc-item-meta {
    margin-top: 10px;
}
  
  .wc-item-meta > li {
    margin-left:0;
}
  
  #esp-site-wrap .wc-item-meta > li strong {margin-right:10px}
  
  .wc-item-meta > li strong:before {content:"- "}
  
    .product-total {
  vertical-align:bottom!important
    }
  
.product-quantity {
	white-space:nowrap;
}

 
/* Woocommerce Clear Fixs*/
.woocommerce-address-fields__field-wrapper:before,
.woocommerce-address-fields__field-wrapper:after { content: " "; display: table; }
.woocommerce-address-fields__field-wrapper:after { clear: both; }
.woocommerce-address-fields__field-wrapper { *zoom: 1; }

/* Woocommerce Spacing */
.woocommerce-form-row + fieldset,
section[class*='woocommerce-'] + section[class*='woocommerce-'],
[class*='woocommerce-'] + h2 {margin-top:60px!important;}

.woocommerce-pagination.woocommerce-pagination--without-numbers.woocommerce-Pagination {display:inline-block; margin-bottom:-10px; width:100%;}

.woocommerce-pagination.woocommerce-pagination--without-numbers.woocommerce-Pagination .woocommerce-button  { margin-bottom:10px; margin-right:10px;}

@media all and (max-width: 550px) {
	.woocommerce-pagination.woocommerce-pagination--without-numbers.woocommerce-Pagination .woocommerce-button {margin-right:0!important; width:100%!important; max-width:none!important;}
}

/* POINTER EVENTS - IE11 and up */
	   
html .pointer-events-none { pointer-events: none; }
html .pointer-events-auto { pointer-events: auto; }
	      
/*Desktop Only*/
@media all and (min-width: 1025px) {
	html body .desktop-pointer-events-none { pointer-events: none; }
	html body .desktop-pointer-events-auto { pointer-events: auto; }
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html body .tablet-pointer-events-none { pointer-events: none; }
	html body .tablet-pointer-events-auto { pointer-events: auto; }
}

/*Mobile Only*/
@media (max-width: 767px) {
	html body .mobile-pointer-events-none { pointer-events: none; }
	html body .mobile-pointer-events-auto { pointer-events: auto; }
}


/* Custom Box Sizings */

html .box-sizing-content { box-sizing:content-box; }
html .box-sizing-border { box-sizing:border-box; }			

/*Desktop Only*/  
 @media all and (min-width: 1025px) {
	html body .desktop-box-sizing-content { box-sizing:content-box; }
	html body .desktop-box-sizing-border { box-sizing:border-box; }	
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html body .tablet-box-sizing-content { box-sizing:content-box; }
	html body .tablet-box-sizing-border { box-sizing:border-box; }	
}

/*Mobile Only*/
@media (max-width: 767px) { 
	html body .mobile-box-sizing-content { box-sizing:content-box; }
	html body .mobile-box-sizing-border { box-sizing:border-box; }	
}

/* Common Borders*/
[class*="common-border"],
[class*="fake-common-border"]:before { border-width:2px; border-color: rgba(0,0,0,0.13) }
.dark-background [class*="common-border"],
.dark-background [class*="fake-common-border"] { border-color: rgba(255,255,255,0.5) } 

html .border-medium,
html [class*="fake-common-border"].border-medium:before { border-width:4px; }
html .border-heavy,
html [class*="fake-common-border"].border-heavy:before { border-width:8px; }
html .border-thin,
html [class*="fake-common-border"].border-thin:before { border-width:1px; }

html .border-top-medium { border-top-width:4px; }
html .border-right-medium { border-right-width:4px; }
html .border-bottom-medium { border-bottom-width:4px; }
html .border-left-medium { border-left-width:4px; }

html .border-top-heavy { border-top-width:8px; }
html .border-right-heavy { border-right-width:8px; }
html .border-bottom-heavy { border-bottom-width:8px; }
html .border-left-heavy { border-left-width:8px; }

html .border-top-thin { border-top-width:1px; }
html .border-right-thin { border-right-width:1px; }
html .border-bottom-thin { border-bottom-width:1px; }
html .border-left-thin { border-left-width:1px; }

.common-border { border-style:solid }
.common-border-top { border-top-style:solid }
.common-border-right { border-right-style:solid }
.common-border-bottom { border-bottom-style:solid }
.common-border-left { border-left-style:solid }

.kill-first-fake-common-border-left [class*="fake-common-border-left"]:first-of-type::before {
	content: none!important; 
}

/*Desktop Only*/
@media all and (min-width: 1025px) {
	html .desktop-common-border { border-style:solid }
	html .desktop-common-border-top { border-top-style:solid }
	html .desktop-common-border-right { border-right-style:solid }
	html .desktop-common-border-bottom { border-bottom-style:solid }
	html .desktop-common-border-left { border-left-style:solid }
	
	html body .desktop-border-medium,
	html [class*="desktop-fake-common-border"].desktop-border-medium:before { border-width:4px; }
	html body .desktop-border-heavy,
	html [class*="desktop-fake-common-border"].desktop-border-heavy:before { border-width:8px; }
	html body .desktop-border-thin,
	html [class*="desktop-fake-common-border"].desktop-border-thin:before { border-width:1px; }
	
	html body .desktop-border-top-medium { border-top-width:4px; }
	html body .desktop-border-right-medium { border-right-width:4px; }
	html body .desktop-border-bottom-medium { border-bottom-width:4px; }
	html body .desktop-border-left-medium { border-left-width:4px; }
	
	html body .desktop-border-top-heavy { border-top-width:8px; }
	html body .desktop-border-right-heavy { border-right-width:8px; }
	html body .desktop-border-bottom-heavy { border-bottom-width:8px; }
	html body .desktop-border-left-heavy { border-left-width:8px; }

	html body .desktop-border-top-thin { border-top-width:1px; }
	html body .desktop-border-right-thin { border-right-width:1px; }
	html body .desktop-border-bottom-thin { border-bottom-width:1px; }
	html body .desktop-border-left-thin { border-left-width:1px; }
	
	.desktop-kill-first-fake-common-border-left .fake-common-border-left:first-of-type::before,
	.desktop-kill-first-fake-common-border-left .desktop-fake-common-border-left:first-of-type::before {
		content: none!important; 
	}
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html .tablet-common-border { border-style:solid }
	html .tablet-common-border-top { border-top-style:solid }
	html .tablet-common-border-right { border-right-style:solid }
	html .tablet-common-border-bottom { border-bottom-style:solid }
	html .tablet-common-border-left { border-left-style:solid }
	
	html body .tablet-border-medium,
	html [class*="tablet-fake-common-border"].tablet-border-medium:before { border-width:4px; }
	html body .tablet-border-heavy,
	html [class*="tablet-fake-common-border"].tablet-border-heavy:before { border-width:8px; }
	html body .tablet-border-thin,
	html [class*="tablet-fake-common-border"].tablet-border-thin:before { border-width:1px; }
	
	html body .tablet-border-top-medium { border-top-width:4px; }
	html body .tablet-border-right-medium { border-right-width:4px; }
	html body .tablet-border-bottom-medium { border-bottom-width:4px; }
	html body .tablet-border-left-medium { border-left-width:4px; }
	
	html body .tablet-border-top-heavy { border-top-width:8px; }
	html body .tablet-border-right-heavy { border-right-width:8px; }
	html body .tablet-border-bottom-heavy { border-bottom-width:8px; }
	html body .tablet-border-left-heavy { border-left-width:8px; }

	html body .tablet-border-top-thin { border-top-width:1px; }
	html body .tablet-border-right-thin { border-right-width:1px; }
	html body .tablet-border-bottom-thin { border-bottom-width:1px; }
	html body .tablet-border-left-thin { border-left-width:1px; }
	
	.tablet-kill-first-fake-common-border-left .fake-common-border-left:first-of-type::before,
	.tablet-kill-first-fake-common-border-left .tablet-fake-common-border-left:first-of-type::before {
		content: none!important; 
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	html .mobile-common-border { border-style:solid }
	html .mobile-common-border-top { border-top-style:solid }
	html .mobile-common-border-right { border-right-style:solid }
	html .mobile-common-border-bottom { border-bottom-style:solid }
	html .mobile-common-border-left { border-left-style:solid }
	
	html body .mobile-border-medium,
	html [class*="mobile-fake-common-border"].mobile-border-medium:before { border-width:4px; }
	html body .mobile-border-heavy,
	html [class*="mobile-fake-common-border"].mobile-border-heavy:before { border-width:8px; }
	html body .mobile-border-thin,
	html [class*="mobile-fake-common-border"].mobile-border-thin:before { border-width:1px; }
	
	html body .mobile-border-top-medium { border-top-width:4px; }
	html body .mobile-border-right-medium { border-right-width:4px; }
	html body .mobile-border-bottom-medium { border-bottom-width:4px; }
	html body .mobile-border-left-medium { border-left-width:4px; }
	
	html body .mobile-border-top-heavy { border-top-width:8px; }
	html body .mobile-border-right-heavy { border-right-width:8px; }
	html body .mobile-border-bottom-heavy { border-bottom-width:8px; }
	html body .mobile-border-left-heavy { border-left-width:8px; }

	html body .mobile-border-top-thin { border-top-width:1px; }
	html body .mobile-border-right-thin { border-right-width:1px; }
	html body .mobile-border-bottom-thin { border-bottom-width:1px; }
	html body .mobile-border-left-thin { border-left-width:1px; }
	
	.mobile-kill-first-fake-common-border-left .fake-common-border-left:first-of-type::before,
	.mobile-kill-first-fake-common-border-left .mobile-fake-common-border-left:first-of-type::before {
		content: none!important; 
	}
}

.fake-common-border-left {position:relative;}
.fake-common-border-left::before {
	content: "";
	height: 100%;
	left: 0;
	transform: translateX(-50%);
	position: absolute;
	border-left-style: solid;
	top: 0;
}

/*Desktop Only*/
@media all and (min-width: 1025px) {
	.desktop-fake-common-border-left {position:relative;}
	.desktop-fake-common-border-left::before {
		content: "";
		height: 100%;
		left: 0;
		transform: translateX(-50%);
		position: absolute;
		border-left-style: solid;
		top: 0;
	}
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	.tablet-fake-common-border-left {position:relative;}
	.tablet-fake-common-border-left::before {
		content: "";
		height: 100%;
		left: 0;
		transform: translateX(-50%);
		position: absolute;
		border-left-style: solid;
		top: 0;
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	.mobile-fake-common-border-left {position:relative;}
	.mobile-fake-common-border-left::before {
		content: "";
		height: 100%;
		left: 0;
		transform: translateX(-50%);
		position: absolute;
		border-left-style: solid;
		top: 0;
	}
}

.fake-common-border-divider {position:relative;}
.fake-common-border-divider::before {
	content: "";
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	border-left-style: solid;
	top: 0;
}


/*Desktop Only*/
@media all and (min-width: 1025px) {
	html .desktop-fake-common-border-divider {position:relative;}
	html .desktop-fake-common-border-divider::before {
		content: "";
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
		position: absolute;
		border-left-style: solid;
		top: 0;
	}
}

/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	html .tablet-fake-common-border-divider {position:relative;}
	html .tablet-fake-common-border-divider::before {
		content: "";
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
		position: absolute;
		border-left-style: solid;
		top: 0;
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	html .mobile-fake-common-border-divider {position:relative;}
	html .mobile-fake-common-border-divider::before {
		content: "";
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
		position: absolute;
		border-left-style: solid;
		top: 0;
	}
}

/* LAZY LOADING */

html.no-js body .placeholder-blur { display:none!important; }

html body .placeholder-blur,
html body .video-cover,
html body .video-cover img{
	opacity:1;
	pointer-events: none;
	transition:opacity 0.6s ease-in-out 0.6s;
	margin:0px;
}

html body .lazyloaded ~ .placeholder-blur,
html body .lazyloaded .placeholder-blur,
html body .parallax-loaded .placeholder-blur,
html body .lazyloaded ~ .video-cover,
html body .lazyloaded ~ .video-cover img { opacity:0; }

/* Cursor Options */

.cursor-auto { cursor:auto; }
.cursor-pointer { cursor:pointer; }
.cursor-scroll { cursor:all-scroll; }
.cursor-grab { cursor:grab;}
.cursor-move { cursor:move;}
.cursor-none { cursor:none;}
.cursor-zoom-in { cursor:zoom-in;}
.cursor-zoom-out { cursor:zoom-out;}
.cursor-default { cursor:default;}

.no-js .no-js-cursor-auto { cursor:auto; }
.no-js .no-js-cursor-pointer { cursor:pointer; }
.no-js .no-js-cursor-scroll { cursor:all-scroll; }
.no-js .no-js-cursor-grab { cursor:grab;}
.no-js .no-js-cursor-move { cursor:move;}
.no-js .no-js-cursor-none { cursor:none;}
.no-js .no-js-cursor-zoom-in { cursor:zoom-in;}
.no-js .no-js-cursor-zoom-out { cursor:zoom-out;}

/* Border Radius */

.border-radius-small {border-radius:3px;}
.border-radius-medium {border-radius:6px;}
.border-radius-large {border-radius:9px;}
.border-radius-none {border-radius:0px;}
	
@media all and (min-width: 1025px) {
	body .desktop-border-radius-small {border-radius:3px;} body .desktop-border-radius-medium {border-radius:6px;} body .desktop-border-radius-large {border-radius:6px;} body .desktop-border-radius-none {border-radius:0px;}
}
@media all and (min-width: 768px) and (max-width: 1024px) { 
	body .tablet-border-radius-small {border-radius:3px;} body .tablet-border-radius-medium {border-radius:6px;} body .tablet-border-radius-large {border-radius:9px;} body .tablet-border-radius-none {border-radius:0px;}
}
@media (max-width: 767px) { 
	body .mobile-border-radius-small {border-radius:3px;} body .mobile-border-radius-medium {border-radius:6px;} body .mobile-border-radius-large {border-radius:9px;} body .mobile-border-radius-none {border-radius:0px;}
}

.circle {height:0; padding-bottom:100%; border-radius:50%; overflow:hidden;}

/* FullScreen Background Videos */

.fullscreen-bg_video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width:none;
}

@media (min-aspect-ratio: 16/9) {
	.fullscreen-bg_video {
		height: 300%;
		top: -100%;
	}
}

@media (max-aspect-ratio: 16/9) {
	.fullscreen-bg_video {
		width: 300%;
		left: -100%;
	}
}

@media (max-width: 767px) {
	.fullscreen-bg_video {
		left: -200%;
		width: 500%;
	}

}

@media (min-aspect-ratio: 16/9) {
	.widescreen-bg_video {
		left: -40%;
		width: 180%;
	}
}


/* Popup Slider */

@media all and (min-width: 1025px) {
	.slideshow-image-container {
		display: table;
		width:100%;
	}

	.slideshow-image img {
		margin: 0 auto;
		max-height: 100%;
		max-width: 100%;
		display:block;
	}

	.slideshow-image {
		display: table-cell;
		vertical-align: middle;
	}

}

.esp-galleries.fullscreen-enabled .gallery-masonry img { cursor: pointer; }

.content-block {
	padding: 0 40px;
}
/*Tablet Only*/
@media all and (min-width: 768px) and (max-width: 1024px){
	.content-block {
		padding: 0 15px;
	}
}

/*Mobile Only*/
@media (max-width: 767px) {
	.content-block {
		padding: 0 20px;
	}
}

html body p.fix-p, html body .fix-p p {
	margin-top: 0px;
}

.pagination .button {
	padding:5px 8px;
}

.padding-5 {
	padding: 5px;
}

/* BuddyPress */
#bbpress-forums .subscription-toggle{
    float: right;
}

#bbpress-forums p.bbp-topic-meta img.avatar,
#bbpress-forums ul.bbp-reply-revision-log img.avatar,
#bbpress-forums ul.bbp-topic-revision-log img.avatar,
#bbpress-forums div.bbp-template-notice img.avatar,
#bbpress-forums .widget_display_topics img.avatar,
#bbpress-forums .widget_display_replies img.avatar{
	margin-bottom: 0;
}
