/*
 * General theme styles
 */

/* Normalize.css v7.0.0 github.com/necolas/normalize.css
   ========================================================================== */
* {
	box-sizing: border-box;
	}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	}
body {
	margin: 0;
	}
details {
	display: block;
	}
summary {
	display: list-item;
	}
progress {
	vertical-align: baseline;
	}
[hidden],
template {
	display: none;
	}
a {
	text-decoration: none;
	background: none;
	transition-property: background, box-shadow, border, color, opacity, transform;
	transition-duration: 0.3s;
	-webkit-text-decoration-skip: objects;
	}
b,
strong {
	font-weight: bold;
	}
dfn {
	font-style: italic;
	}
address {
	font-style: normal;
	}
small {
	font-size: 80%;
	}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	}
sup {
	top: -0.5em;
	}
sub {
	bottom: -0.25em;
	}
img {
	height: auto;
	max-width: 100%;
	}
svg:not(:root) {
	overflow: hidden;
	}
figure {
	margin: 0;
	}
hr {
	box-sizing: content-box;
	height: 0;
	border-style: solid;
	border-width: 0 0 1px;
	}
pre {
	overflow: auto;
	white-space: pre-wrap;
	}
code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1rem;
	}
button,
input,
optgroup,
select,
textarea {
	vertical-align: top;
	text-transform: none;
	color: inherit;
	font: inherit;
	border: none;
	margin: 0;
	}
select[multiple="multiple"] {
	height: auto;
	padding: 0.5rem;
	}
textarea {
	overflow: auto;
	height: 8rem;
	min-height: 3rem;
	resize: vertical;
	}
input:not([type="submit"]),
select,
textarea {
	outline: none !important;
	}
input[type="text"],
input[type="date"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="password"],
textarea {
	-webkit-appearance: none; /* fix for Safari iOS */
	}
button,
[type="button"],
[type="reset"],
[type="submit"] {
	overflow: visible;
	-webkit-appearance: button;
	cursor: pointer;
	}
button[disabled],
html input[disabled] {
	cursor: default;
	opacity: 0.5;
	}
[type="button"]:focus,
[type="reset"]:focus,
[type="submit"]:focus {
	box-shadow: none;
	}
label,
[type="checkbox"],
[type="radio"] {
	cursor: pointer;
	}
::-moz-focus-inner {
	border: 0;
	}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
	}
legend {
	border: 0;
	padding: 0;
	}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	}
th {
	text-align: left;
	}
td,
th {
	vertical-align: top;
	padding: 0.6rem 1rem;
	border-bottom: 1px solid;
	outline: none !important;
	}
dl,
ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
	}
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	}
audio,
video,
iframe,
object,
embed {
	max-width: 100%;
	border: none;
	}

/* Fix fullscreen mode in Chrome */
:-webkit-full-screen-ancestor:not(iframe) {
	animation: none !important;
	}

/* Change cursor for popup links */
a[ref*="Popup"] {
	cursor: zoom-in;
	}

/* Fix input placeholders */
::-moz-placeholder {
	opacity: 0.5;
	color: inherit;
	}
::-webkit-input-placeholder {
	color: inherit;
	opacity: 0.5;
	}

/* Typography
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
	font-family: inherit;
	line-height: 1.4;
	margin: 0 0 1.5rem;
	padding-top: 1.5rem;
	}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
h1 + h2, h1 + h3, h1 + h4, h1 + h5, h1 + h6,
h2 + h3, h2 + h4, h2 + h5, h2 + h6,
h3 + h4, h3 + h5, h3 + h6,
h4 + h5, h4 + h6,
h5 + h6 {
	padding-top: 0;
	}
p,
ul,
ol,
dl,
address,
pre,
table,
blockquote,
fieldset {
	margin: 0 0 1.5rem;
	}
p:empty {
	display: none;
	}
ul {
	list-style-type: disc;
	margin-left: 2.5rem;
	}
ol {
	list-style-type: decimal;
	margin-left: 2.5rem;
	}
	li {
		margin: 0 0 0.5rem;
		}
		li > ul,
		li > ol {
			margin-bottom: 0.5rem;
			margin-top: 0.5rem;
			}
blockquote {
	position: relative;
	padding: 0 3rem;
	font-size: 1.3em;
	line-height: 1.7;
	}
	blockquote:before {
		content: '\201C';
		display: block;
		font-size: 6rem;
		line-height: 0.8;
		font-family: Georgia, serif;
		position: absolute;
		left: 0;
		}
	blockquote p,
	blockquote ul,
	blockquote ol {
		margin-bottom: 0.5em;
		}
	blockquote cite {
		display: block;
		font-size: 1rem;
		font-style: normal;
		margin-top: 0.5rem;
		}
pre {
	display: block;
	font-family: Consolas, Lucida Console, monospace;
	font-size: 0.9rem;
	line-height: 1.5rem;
	padding: 0.8rem 1rem;
	width: 100%;
	overflow: auto;
	background: #faf6e1;
	color: #333;
	}
code {
	display: inline-block;
	vertical-align: top;
	font-family: Consolas, Lucida Console, monospace;
	padding: 0 0.4rem;
	background: #faf6e1;
	color: #333;
	}
	pre code {
		display: block;
		padding: 0;
		overflow-wrap: normal;
		}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
li:last-child,
pre:last-child,
table:last-child,
address:last-child,
fieldset:last-child,
blockquote:last-child {
	margin-bottom: 0;
	}

/* Improvements for color sections & columns */
.l-section[class*="color_"] h1,
.l-section[class*="color_"] h2,
.l-section[class*="color_"] h3,
.l-section[class*="color_"] h4,
.l-section[class*="color_"] h5,
.l-section[class*="color_"] h6,
.has_text_color h1,
.has_text_color h2,
.has_text_color h3,
.has_text_color h4,
.has_text_color h5,
.has_text_color h6 {
	color: inherit;
	}

/* Input elements
   ========================================================================== */
input:not([type="submit"]),
textarea,
select {
	width: 100%;
	border: 0px solid transparent; /* default "solid" style is needed */
	background: none;
	transition: all 0.2s;
	}
input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
	margin-right: 0.3rem;
	height: 1.2rem;
	width: 1.2rem;
	margin-top: -1px;
	padding: 0 !important;
	min-height: 0 !important;
	box-shadow: none !important;
	}
input[type="range"] {
	box-shadow: none !important;
	}

/* Common styles
   ========================================================================== */
.hidden {
	display: none !important;
	}

.i-cf:before,
.i-cf:after {
	content: ' ';
	display: table;
	}
.i-cf:after {
	clear: both;
	}

.text_thin {
	font-weight: 300;
	}
.text_bold {
	font-weight: 700;
	}

.alignleft {
	float: left;
	margin-right: 2em;
	margin-bottom: 2em;
	}
.alignright {
	float: right;
	margin-left: 2em;
	margin-bottom: 2em;
	}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	}
.alignfull {
	margin-left: -2.5rem;
	margin-right: -2.5rem;
	max-width: none;
	width: 100vw;
	}
.align_left {
	text-align: left;
	}
.align_right {
	text-align: right;
	}
.align_center {
	text-align: center;
	}

.highlight_primary_bg,
.highlight_secondary_bg,
.highlight_faded_bg,
.highlight_dark_bg,
.highlight_light_bg {
	display: inline-block;
	padding: 0.5rem 1rem;
	color: #fff;
	}
.highlight_dark_bg {
	background: rgba(0,0,0,0.5);
	}
.highlight_light_bg {
	background: rgba(255,255,255,0.5);
	color: #111;
	}
.highlight_white {
	color: #fff;
	}
.highlight_black {
	color: #000;
	}

/* Basic layout
   ========================================================================== */
.l-canvas {
	margin: 0 auto;
	width: 100%;
	flex-grow: 1;
	}

/* Stick footer to the bottom of a page */
@media screen and (min-width: 1025px) {
body:not(.us_iframe) {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	}
body.admin-bar:not(.us_iframe) {
	min-height: calc(100vh - 32px);
	}
}
/* Fix for IE11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
body {
	display: block !important;
	}
}
.l-footer {
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	}

/* Default layout sizes (keep all here to easy manage) */
.l-subheader,
.l-section {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	}
.l-sidebar {
	padding: 4rem 0;
	}

/* Sections
   ========================================================================== */
.l-section {
	position: relative;
	margin: 0 auto;
	}
	.l-section-img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-position: center center;
		background-size: cover;
		opacity: 0;
		transition: opacity 0.5s;
		}
	.l-section-img.loaded {
		opacity: 1;
		}
	.l-section-video {
		pointer-events: none;
		}
		.l-section-video > * {
			position: absolute;
			top: 50%;
			left: 50%;
			min-height: 100%;
			min-width: 100%;
			max-width: none;
			height: auto;
			width: auto;
			transform: translate(-50%,-50%);
			}
	.l-section-slider {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		pointer-events: none;
		}
	.l-section-overlay {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		}
	.l-section-h {
		position: relative;
		margin: 0 auto;
		width: 100%;
		}

/* Section: Shape Divider */
.l-section-shape {
	overflow: hidden;
	position: absolute;
	left: 0;
	right: 0;
	height: 15vh; /* default value */
	color: #fff; /* default value */
	}
.l-section-shape.pos_top {
	top: -1px;
	}
.l-section-shape.pos_bottom {
	bottom: -1px;
	}
.l-section-shape.on_front {
	z-index: 11 !important;
	}
.l-section-shape.pos_top {
	transform: rotateX(180deg);
	}
.l-section-shape.pos_top.hor_flip {
	transform: rotate(180deg);
	}
.l-section-shape.pos_bottom.hor_flip {
	transform: rotateY(180deg);
	}
	.l-section-shape > svg {
		display: block;
		}

/* Section: width */
.l-section.width_full {
	padding-left: 0;
	padding-right: 0;
	}
	.l-section.width_full > .l-section-h {
		max-width: none !important;
		}

/* Remove extra padding for sections used in content with sidebar */
.l-content > div > .l-section {
	padding-left: 0;
	padding-right: 0;
	}

/* Section: height */
.l-section.height_small {
	padding-top: 2rem;
	padding-bottom: 2rem;
	}
.l-section.height_medium {
	padding-top: 4rem;
	padding-bottom: 4rem;
	}
.l-section.height_large {
	padding-top: 6rem;
	padding-bottom: 6rem;
	}
.l-section.height_huge {
	padding-top: 8rem;
	padding-bottom: 8rem;
	}
.l-section.height_full {
	padding-top: 4rem;
	padding-bottom: 4rem;
	min-height: 100vh;
	}
@media screen and (min-width: 783px) {
.admin-bar .l-section.height_full {
	min-height: calc(100vh - 32px); /* WP admin bar height */
	}
}
/* Fix for IE11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.l-section.height_full {
	height: 100vh;
	}
}
.l-section.height_full.valign_center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	}
.l-section.height_full.valign_bottom {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	}

/* Section: colors */
.l-section.color_primary,
.l-section.color_secondary {
	color: #fff;
	}
	.l-section.color_primary a,
	.l-section.color_secondary a {
		color: inherit;
		}

/* Section: parallax */
.no-touch .l-section.parallax_ver .l-section-img,
.no-touch .l-section.parallax_fixed .l-section-img {
	background-attachment: fixed;
	}
.l-section.parallax_hor {
	overflow: hidden;
	}
	.l-section.parallax_hor .l-section-img {
		width: 130%;
		right: auto;
		}
	.l-section.parallax_hor.bgwidth_110 .l-section-img {
		width: 110%;
		}
	.l-section.parallax_hor.bgwidth_120 .l-section-img {
		width: 120%;
		}
	.l-section.parallax_hor.bgwidth_140 .l-section-img {
		width: 140%;
		}
	.l-section.parallax_hor.bgwidth_150 .l-section-img {
		width: 150%;
		}

/* Section: with video or slider */
.l-section.with_slider,
.l-section.with_video {
	overflow: hidden;
	}
	html.ios-touch .l-section-img,
	.l-section.with_slider .l-section-img,
	.l-section.with_video .l-section-img {
		background-attachment: scroll !important;
		}
	.l-section.with_slider .l-section-shape,
	.l-section.with_slider .l-section-h {
		z-index: 1;
		}
	.l-section-slider .royalSlider {
		z-index: 0;
		}
	.l-section-slider .w-slider,
	.l-section-slider .w-slider-h,
	.l-section-slider .royalSlider {
		height: 100% !important;
		}

/* Section: sticky */
.l-section.type_sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 11;
	transform: translateZ(0); /* render fix for webkit browsers */
	transition: top 0.3s cubic-bezier(.78,.13,.15,.86) 0.1s;
	}
	.l-section.type_sticky > .l-section-h {
		transition: padding-top 0.3s;
		}
@media screen and (min-width: 783px) {
.admin-bar .l-section.type_sticky,
.admin-bar .l-header.pos_fixed + .l-section.type_sticky,
.admin-bar .l-header.pos_fixed + .l-main .l-section.type_sticky:first-child {
	top: 32px; /* WP admin bar height */
	}
}
/* Fix for first sticky section */
.l-header.pos_fixed ~ .l-main > .l-section.type_sticky:first-of-type {
	top: 0 !important;
	}

/* Section: for pagination */
.l-section.for_pagination {
	padding: 0 0 2rem;
	}

/* Section: gradient_overlay */
.l-section.gradient_overlay .l-section-overlay {
	top: auto;
	height: 50%;
	background: linear-gradient(transparent, rgba(30,30,30,0.8)) repeat-x !important;
	}

/* Section: Templatera & Page Block fix */
.wpb_wrapper > .w-post-elm:not(:first-child) > .l-section > .l-section-h,
.l-header.bg_solid ~ .l-main .wpb_wrapper > .w-post-elm > .l-section > .l-section-h,
.templatera_shortcode > .l-section > .l-section-h {
	padding-top: 0 !important;
	}

/* Columns in grid, gallery
   ========================================================================== */
.cols_2 > div[class*="list"] > * {
	width: 50%;
	}
.cols_3 > div[class*="list"] > * {
	width: 33.3333%;
	}
.cols_4 > div[class*="list"] > * {
	width: 25%;
	}
.cols_5 > div[class*="list"] > * {
	width: 20%;
	}
.cols_6 > div[class*="list"] > * {
	width: 16.6666%;
	}
.cols_7 > div[class*="list"] > * {
	width: 14.2857%;
	}
.cols_8 > div[class*="list"] > * {
	width: 12.5%;
	}
.cols_9 > div[class*="list"] > * {
	width: 11.1111%;
	}
.cols_10 > div[class*="list"] > * {
	width: 10%;
	}

/* Theme base elements
   ========================================================================== */

/* Preloader (default type 1) */
.g-preloader {
	display: inline-block;
	vertical-align: top;
	position: relative;
	font-size: 2.5rem;
	width: 1em;
	height: 1em;
	border-color: currentColor !important;
	}
.l-section.color_primary .g-preloader,
.l-section.color_secondary .g-preloader {
	color: inherit;
	}
.g-preloader.type_1:before,
.g-preloader.type_1:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	border: 2px solid;
	}
.g-preloader.type_1:before {
	opacity: 0.2;
	}
.g-preloader.type_1:after {
	border-color: transparent;
	border-top-color: inherit;
	animation: rotation 0.8s infinite cubic-bezier(.6,.3,.3,.6);
	}
@keyframes rotation {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
	}

/* Custom phone background (used in Single Image, Image Slider) */
.style_phone6-1,
.style_phone6-2,
.style_phone6-3,
.style_phone6-4 {
	position: relative;
	height: 0;
	padding-bottom: 180%;
	}
.style_phone6-1 > *,
.style_phone6-2 > *,
.style_phone6-3 > *,
.style_phone6-4 > * {
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 22.3% 12.5% 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	}

/* WordPress Post pagination */
.post-pagination {
	font-size: 1.2em;
	margin: 0 -0.6em;
	}
	.post-pagination > * {
		display: inline-block;
		vertical-align: top;
		padding: 0 0.6em;
		}
	.post-pagination > span:not(.title) {
		font-weight: bold;
		}

/* WordPress predefined class */
.screen-reader-text {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
	}
.w-post-elm.with_word .screen-reader-text,
.w-comments-title .screen-reader-text {
	position: static;
	clip: auto;
	-webkit-clip-path: none;
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	}

/* Breadcrumbs */
.g-breadcrumbs {
	line-height: 1.4;
	list-style: none;
	margin: 0;
	}
	.g-breadcrumbs > li,
	.g-breadcrumbs > span {
		display: inline-block;
		vertical-align: top;
		margin-bottom: 0;
		}
	.g-breadcrumbs-separator {
		margin: 0 0.6em;
		}
	.g-breadcrumbs.hide_current .g-breadcrumbs-item:last-child,
	.g-breadcrumbs.hide_current .g-breadcrumbs-separator:nth-last-child(2) {
		display: none;
		}
	.g-breadcrumbs.has_text_color a {
		color: inherit;
		}

/* Cookie Notice */
.l-cookie {
	position: fixed;
	z-index: 9999;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px; /* fixed value */
	line-height: 20px; /* fixed value */
	padding: 10px 5px; /* fixed value */
	box-shadow: 0 5px 15px rgba(0,0,0,0.25);
	}
.l-cookie.pos_bottom {
	bottom: 0;
	box-shadow: 0 -5px 15px rgba(0,0,0,0.25);
	}
	.l-cookie > * {
		margin: 0 5px; /* fixed value */
		}
	.l-cookie > a {
		flex-shrink: 0;
		font-size: inherit !important;
		}

/* With "Show More" link, used in Text Block and Post Content elements */
.with_show_more_toggle > div[style]:first-of-type {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(black 60%, transparent);
	}
.with_show_more_toggle.show_content > div[style]:first-of-type {
	-webkit-mask-image: none;
	height: auto !important;
	}
.with_show_more_toggle > .toggle-links {
	display: none;
	padding-top: 0.5rem;
	}
	.with_show_more_toggle > .toggle-links > a {
		border-bottom: 1px dotted;
		}
	.with_show_more_toggle a.toggle-show-less,
	.with_show_more_toggle.show_content a.toggle-show-more,
	.with_show_more_toggle > .toggle-links > a:empty {
		display: none;
		}
	.with_show_more_toggle.show_content a.toggle-show-less {
		display: inline;
		}

/* Toplink */
.w-toplink {
	position: fixed !important;
	z-index: 99;
	bottom: 0;
	transform: translate3d(0,5rem,0);
	margin: 15px; /* fixed value */
	}
.w-toplink:not(.w-btn) {
	text-align: center;
	border-radius: 0.3rem;
	color: #fff !important;
	line-height: 50px; /* fixed value */
	height: 50px; /* fixed value */
	width: 50px; /* fixed value */
	}
.w-toplink.pos_left {
	left: 0;
	}
.w-toplink.pos_right {
	right: 0;
	}
.w-toplink.active {
	transform: translate3d(0,0,0);
	}
	.w-toplink span:not(.ripple-container):after {
		content: '\f106';
		font-family: fontawesome;
		font-weight: 400;
		font-size: 1.6em;
		vertical-align: top;
		}

/* 404 page */
.page-404 {
	text-align: center;
	}
	.page-404:before {
		display: inline-block;
		vertical-align: top;
		content: '\f14e';
		font: 12rem/1 fontawesome;
		margin-bottom: 1rem;
		opacity: 0.1;
		}

/* Hide elements overflow with defined border-radius */
.wpb_raw_html.has_border_radius {
	overflow: hidden;
	transform: translateZ(0); /* fix for Safari */
	}

/* Reset background-attachment on Safari iOS */
html.ios-touch [class*="us_custom_"] {
	background-attachment: scroll !important;
	}

/* Fixes when VC applies own styles
   ========================================================================== */
.l-body .vc_row:after,
.l-body .vc_row:before,
.l-body .vc_column-inner:after,
.l-body .vc_column-inner:before {
	display: none;
	}
.l-body .wpb_button,
.l-body .wpb_content_element,
.l-body ul.wpb_thumbnails-fluid > li {
	margin-bottom: 0;
	}
.g-cols.wpb_row,
.wpb_revslider_element.wpb_content_element,
.wpb_widgetised_column.wpb_content_element {
	margin-bottom: 0;
	}
.vc_icon_element-icon {
	transform: translate(-50%, -50%);
	}
.vc_icon_element-align-left {
	display: inline-block;
	vertical-align: top;
	}

/* Improvements for Gutenberg
   ========================================================================== */
blockquote.is-style-large,
.wp-block-pullquote blockquote {
	padding: 0;
	}
	blockquote.is-style-large:before,
	.wp-block-pullquote blockquote:before {
		display: none;
		}
.wp-block-pullquote {
	border-top: 4px solid;
	border-bottom: 4px solid;
	}
.wp-block-gallery {
	margin: 0;
	}
.wp-block-gallery.alignleft {
	margin-right: 2em;
	}
.wp-block-gallery.alignright {
	margin-left: 2em;
	}
.wp-block-image img {
	display: block;
	}
.wp-block-image figcaption,
.wp-block-embed figcaption {
	font-size: 0.85rem;
	}

/* Rounded Corners
   ========================================================================== */
.rounded_none .w-header-show,
.rounded_none .w-toplink {
	border-radius: 0 !important;
	}

/* Links Hover Underline
   ========================================================================== */
.no-touch .links_underline h1 a:hover,
.no-touch .links_underline h2 a:hover,
.no-touch .links_underline h3 a:hover,
.no-touch .links_underline h4 a:hover,
.no-touch .links_underline h5 a:hover,
.no-touch .links_underline h6 a:hover,
.no-touch .links_underline p a:not(.w-btn):hover,
.no-touch .links_underline li a:not(.w-btn):hover,
.no-touch .links_underline .g-breadcrumbs a:hover {
	border-bottom: 1px solid;
	}
