/* General Styles */
:root {
	--full: 100%; /* { readonly: true } */
	--half: 50%; /* { readonly: true } */
	--third: 33.333%; /* { readonly: true } */
	--fourth: 25%; /* { readonly: true } */
	--fifth: 20%; /* { readonly: true } */
	--sixth: 16.666%; /* { readonly: true } */
	--seventh: 14.285%; /* { readonly: true } */
	--two-thirds: 66.666%; /* { readonly: true } */
	--three-fourths: 75%; /* { readonly: true } */
	--two-fifths: 40%; /* { readonly: true } */
	--three-fifths: 60%; /* { readonly: true } */
	--four-fifths: 80%; /* { readonly: true } */	
}

html {
	/* Font size for 1920px to 1601px. Goes from 18px to 15px */
	font-size: calc(15px + (18 - 15) * ((100vw - 1601px) / (1920 - 1601)));
	-webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

html.x1 {
	/* Text sizer level-1 */
	font-size: calc((15px + (18 - 15) * ((100vw - 1601px) / (1920 - 1601))) * 1.5);
}

html.x2 {
	/* Text sizer level-2 */
	font-size: calc((15px + (18 - 15) * ((100vw - 1601px) / (1920 - 1601))) * 2);
}

*, *:before, *:after {
	box-sizing: border-box;
}

body {
	font-size: 100%;
	margin: 0;
}

ol,
ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

sup {
	font-size: .5em;
}

body > iframe {
	position: absolute;
	overflow: hidden;
	height: 0;
	width: 0;
}

a[href^=tel] {
	cursor: default;
}

address {
	font-style: normal;
}

img {
	max-width: 100%;
}

figure, 
blockquote {
	margin: 0;
}

video {
	display: block;
	max-width: 100%;
}

video[poster] {
	object-fit: cover;
}

.rlt {
	position: relative;
}

.blk {
	display: block;
}

.hdn {
	overflow: hidden;
}

.psu-bfr, 
.psu-aft,
.bg-bx {
	z-index: 1;
	position: relative;
}

.bg-bx:not([class*="flx"]) {
	display: block;	
}

.psu-bfr::before, 
.psu-aft::after,
.bg-bx::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	pointer-events: none;
}

.bg-image .bg-bx::before,
.bg-inset .bg-bx::before {
	opacity: var(--bg-bx-o);
}

.m_ato {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.disabled,
[disabled] {
	pointer-events: none;
	opacity: .7;
}

[aria-hidden="true"] {	
	visibility: hidden;
}

section header:empty {
	display: none;
}

fieldset {		
	min-inline-size: auto;		
}

fieldset li.w-ato {
	width: auto !important;
}

div > br:first-child:last-child:only-child,
header > br:first-child:last-child:only-child {
	display: none;
}

[data-role="btn"] {
	cursor: pointer;
}

.media-large {
	margin-top: 2em;
	margin-bottom: 2em;
}

/* Icon Defaults */
svg {
    height: 1em;
	width: 1em;
	fill: currentColor;
}

svg [style*="stroke-width"],
svg [stroke-width] {
	stroke: currentColor;
}
svg [style*="stroke-width"]:not([fill]),
svg [stroke-width]:not([fill]) {
	fill: none;
}

/* Remove Transitions for People who Prefer Reduced Motion */
.no-transitions body *, 
.no-transitions body *:before, 
.no-transitions body *:after {
	transition: none !important;	
}

@media (prefers-reduced-motion: reduce) {
 
	body *, 
	body *:before, 
	body *:after {
		transition: none !important;	
	}
  
}

/* Lazy Load Styles */
[data-src], 
[data-bg],
[data-src].loading, 
[data-bg].loading {
	filter: blur(3px);
	-webkit-filter: blur(3px);
}

img, 
video, 
source {
	filter: none;
	-webkit-filter: none;
	transition: filter var(--g-trn-sp) var(--g-trn-tf) .3s;
}

img[data-parallax], 
video[data-parallax], 
source[data-parallax] {
	transition: none;
}

svg use {
    opacity: 0;
}

svg * {
	pointer-events: none;
}

svg use:empty {
	display:none;
}

/* General - layout */
section:not(.vsbl) {
	position: relative;
	overflow: hidden;
}

[class*="mn_"] {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	padding-left: var(--sp-hp-clc);
	padding-right: var(--sp-hp-clc);
}

.mn_wd {
	max-width: calc(var(--mn-w) + var(--sp-hp-clc) * 2);
}

.mn_tn {
	max-width: calc(var(--mn-tn-w) + var(--sp-hp-clc) * 2);
}

.sd-zn > * + *,
.cnt-zn > * + * {
	margin-top: calc(var(--sp-vm-clc) * 2);
}

/* Title Styles */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
}

h1 > b,
h1 > strong,
section header > *:first-child:not(a) > b,
section header > *:first-child:not(a) > strong {
	display: inline-block;
}

section header [class*="fnt_t"] + p,
section header [class*="fnt_t"] + [class*="fnt_t"] {
	margin-top: var(--g-cnt-ttl-ttl-m);
}

.cnt-stl h1 {
	margin-bottom: var(--g-cnt-ttl-ttl-m);
}

.cnt-stl h2, 
.cnt-stl h3, 
.cnt-stl h4, 
.cnt-stl h5, 
.cnt-stl h6 {
	margin-top: var(--g-cnt-cnt-ttl-m);
	margin-bottom: var(--g-cnt-ttl-cnt-m);
}

.cnt-stl h1 + h2,
.cnt-stl h1 + h3,
.cnt-stl h1 + h4,
.cnt-stl h2 + h3,
.cnt-stl h2 + h4   {
	margin-top: var(--g-cnt-ttl-ttl-m);
}

/* Link & Button Styles */
a {
	text-decoration: none;
	transition: color var(--g-trn-sp) var(--g-trn-tf) 0s;
}

button {
	border: none;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	outline: none;
	cursor: pointer;
	margin: 0;
	padding: 0;
	background-color: transparent;
}

/* Logo Display */
.dk-lg,
.lt-lg {
    display: none;
}

.lt-bg .dk-lg {
    display: block;
}

.dk-bg .lt-lg {
    display: block;
}

/* Images General Styles */
img {
	display: block;
}

img[style*="background-image"] {
	background-position: center;
	background-repeat: no-repeat;
}

img[style*=".png"] {
	background-size: contain;
}

img[style*=".jpg"] {
	background-size: cover;
}



.bg-wrp {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

picture {
	display: block;
	position: relative;
}

picture img {
	width: 100%;
}

picture img[src*=".jpg"],
picture img[src*=".webp"],
picture img.static-map {
	object-fit: cover;
}

picture img[src*=".png"]:not(.static-map),
picture img[src*=".webp"].png {
	object-fit: contain;
}

picture.img-bg img[src*=".png"] {
	max-width: 100%;
	max-height: 100%;
	min-width: 0 !important;
	min-height: 0 !important;
}

picture img[style*="background-image"] {
	width: 100% !important;
	height: 100% !important;
}

[class*="pd-h-"] {
	width: 100%;
	display: block;
}

[class*="pd-h-"]::after {
	content: '';
	display: block;
	width: 100%;
}

[class*="pd-h-"][class*="-50"]::after {
	padding-bottom: 50%;	
}

[class*="pd-h-"][class*="-56"]::after {
	padding-bottom: 56.25%;	
}

[class*="pd-h-"][class*="-75"]::after {
	padding-bottom: 75%;	
}

[class*="pd-h-"][class*="-100"]::after {
	padding-bottom: 100%;	
}

[class*="pd-h-"][class*="-125"]::after {
	padding-bottom: 125%;	
}

.img {
	position: relative;
}

.img img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.img-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
}

.img-bg img {
	position: relative;
    left: 50%;
    top: 50%;
    width: auto;
    height: auto;
    min-width: calc(100% + 2px);
    min-height: calc(100% + 2px);
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.img-bg img[style*="background-image"] {
	width: 100% !important;
	height: 100% !important;
	left: 0;
	top: 0;
	transform: none !important;
}

aside:not(.bg-image):not(.bg-inset) > .img-bg,
section:not(.bg-image):not(.bg-inset) > .img-bg,
aside:not(.bg-image):not(.bg-inset) > .bg-wrp,
section:not(.bg-image):not(.bg-inset) > .bg-wrp {
	display: none;
}

.media-left { 
	float: left;
	margin: 1em 1em 1em 0;
}

.media-right { 
	float: right;
	margin: 1em 0 1em 1em;
}

/* Global Icon Styles */
.gbl-icn {
	position: relative;
	padding: var(--g-icn-bdr-p);
	border-radius: var(--g-icn-bdr-rds);
	transition: color var(--g-trn-sp) var(--g-trn-tf) 0s;
}

.gbl-icn::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
	border-color: currentColor;
	opacity: var(--g-icn-bdr-o);
	border-style: var(--g-icn-bdr-s);
	border-width: var(--g-icn-bdr-w);
	border-radius: var(--g-icn-bdr-rds);
	transition: border-color var(--g-trn-sp) var(--g-trn-tf) 0s;
}

/* Social Media & Payment Icon Styles */
.so-lk svg {
	font-size: var(--so-i-s);
}

.py-lk svg {
	font-size: var(--py-i-s);
}

/* Content Styles */
.cnt-stl > *:first-child {
	margin-top: 0;
}

.cnt-stl > *:last-child {
	margin-bottom: 0;
}

.cnt-stl .media-full {
	margin: var(--g-cnt-full-img-m) auto;
}

.cnt-stl .image-style-side {
    float: right;
    margin-left: 1.5rem;
    max-width: 50%;
}

/* Text Alignment */
.ta_l {
	text-align: left;
}

.ta_c {
	text-align: center;
}

.ta_c svg {
	margin-left: auto;
	margin-right: auto;
}

.ta_r {
	text-align: right;
}

.ta_r svg {
	margin-left: auto; 
	margin-right: 0;
}

.ta_c img {
	margin-left: auto;
	margin-right: auto;
} 

.ta_r img {
	margin-right: 0;
	margin-left: auto;
}

.raw-html-embed ul.el-tab-box {
	list-style: none;
	padding: 0;
	margin: 0;
}

.raw-html-embed ul.el-tab-box .el-tab.qst {
	display: flex;
	cursor: pointer;
	justify-content: space-between;
	align-items: center;
	opacity: 1;
    transition: opacity .4s ease 0s;
	border-bottom: solid 1px rgba(0,0,0,0.2);
	padding-bottom: .55rem;
	margin-top: 1.5rem
}

.raw-html-embed ul.el-tab-box .el-tab.qst > strong {
	display: block;
	font-size: clamp(1rem, 22px, 1.25rem);
}

.raw-html-embed ul.el-tab-box .el-tab.qst > svg {
	display: block;
	margin-left: 1rem;
	flex: 0 0 auto;
	font-size: 1rem;
	width: 1em;
    height: 1em;
	transition: transform var(--g-trn-sp) var(--g-trn-tf) 0s;
    transform-origin: 50% 50%;
}

.raw-html-embed ul.el-tab-box .el-tab.active.qst > svg {
	transform: rotate(180deg);
}

.raw-html-embed ul.el-tab-box .ans.el-panel { 
	padding-top: 1rem;
	margin-bottom: .5rem;
	transition: height .5s ease 0s, margin .5s ease 0s, padding .5s ease 0s !important;
}

.raw-html-embed ul.el-tab-box.no-transition .ans.el-panel { 
	transition: none !important;
}

html:not(.cms-content) .raw-html-embed ul.el-tab-box .el-panel:not(.active) {
	display: none;
	visibility: hidden;
}

@media screen and (min-width: 1025px) {
	.raw-html-embed ul.el-tab-box .el-tab.qst:is(:hover, :focus) {
		opacity: .75;
	}
}


/* 801px Responsive (min-width) */
@media screen and (min-width:801px) {
	
	.splt-lst ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.splt-lst ul li {
		width: 48%;        
	}
	
}

/* 1921px Responsive (min-width) */
@media screen and (min-width:1921px) {
	
	html {
		position: relative;
		z-index: 1;
		/* Font size for 1921px up to 4k. Goes from 18px to 22px */
		font-size: calc(18px + (22 - 18) * ((100vw - 1921px) / (3840 - 1921)));
	}
	
	html.x1 {
		/* Text sizer level-1 */
		font-size: calc((18px + (22 - 18) * ((100vw - 1921px) / (3840 - 1921))) * 1.5);
	}	
	
	html.x2 {
		/* Text sizer level-2 */
		font-size: calc((18px + (22 - 18) * ((100vw - 1921px) / (3840 - 1921))) * 2);
	}		

	html body {
		margin: 0 auto;
	}

}

/* 1600px Responsive */
@media screen and (max-width:1600px) {
	
	html {
		/* Controls the font-size for 1600px t0 1281px. Font-size goes from 18px down to 15px. */
		font-size: calc(15px + (18 - 15) * ((100vw - 1281px) / (1600 - 1281)));
	}
	
	html.x1 {
		/* Text sizer level-1 */
		font-size: calc((15px + (18 - 15) * ((100vw - 1281px) / (1600 - 1281))) * 1.5);
	}
	
	html.x2 {
		/* Text sizer level-2 */
		font-size: calc((15px + (18 - 15) * ((100vw - 1281px) / (1600 - 1281))) * 2);
	}	
	
	html main br {
		display: none;
	}
	
	.hd-1600 {
		display: none !important;
	}
	
}

/* 1440px Responsive */
@media screen and (max-width:1440px) {
	
	.hd-1440 {
		display: none !important;
	}
	
}

/* 1280px Responsive */
@media screen and (max-width:1280px) {
	
	html {
		/* Controls the font-size for 1280px t0 801px. Font-size goes from 17px down to 14px. */
		font-size: calc(14px + (17 - 14) * ((100vw - 801px) / (1280 - 801)));
	}
	
	html.x1 {
		/* Text sizer level-1 */
		font-size: calc((14px + (17 - 14) * ((100vw - 801px) / (1280 - 801))) * 1.5);
	}
	
	html.x2 {
		/* Text sizer level-2 */
		font-size: calc((14px + (17 - 14) * ((100vw - 801px) / (1280 - 801))) * 2);
	}	
	
	.hd-1280 {
		display: none !important;
	}	

	.ta_c-1280 {
		text-align: center !important;
	}
	
	img.ta_c-1280,
	.ta_c-1280 img,
	svg.ta_c-1280,
	.ta_c-1280 svg {
		margin-left: auto;
		margin-right: auto;
	}
	
	.ta_c-1280 [class*="flx"],
	[class*="flx"].ta_c-1280 {
		justify-content: center;
	}

}

/* 1024px Responsive */
@media screen and (max-width:1024px) {
	
	[class*="mn_"] {
		padding-left: 0;
		padding-right: 0;
	}
	
	.rsp_pd {
		padding: var(--sp-vp-clc) var(--sp-hp-clc) !important;
	}
	
	.rsp_pd-v {
		padding-top: var(--sp-vp-clc) !important;
		padding-bottom: var(--sp-vp-clc) !important;
	}
	
	.rsp_pd-h {
		padding-left: var(--sp-hp-clc) !important;
		padding-right: var(--sp-hp-clc) !important;
	}
	
	.rsp_mrg-0 {
		margin: 0 !important;
	}
	
	.lt-bg.rsp_opn-bt + .lt-bg.rsp_opn-tp .rsp_pd.rsp_opn-tp,
	.lt-bg.rsp_opn-bt + form .lt-bg.rsp_opn-tp .rsp_pd.rsp_opn-tp,
	.dk-bg.rsp_opn-bt + .dk-bg.rsp_opn-tp .rsp_pd.rsp_opn-tp,
	.dk-bg.rsp_opn-bt + form .dk-bg.rsp_opn-tp .rsp_pd.rsp_opn-tp {
		padding-top: 0 !important;
	}
	
	section[class*="pd_v"]:not(.pd-sty) {
		padding-top: 0!important;
		padding-bottom: 0!important;
	}
	
	section[class*="pd_v"].pd-sty {
		padding-bottom: 0!important;
	}
	
	.hd-1024 {
		display: none !important;
	}			

	.ta_c-1024 {
		text-align: center !important;
	}
	
	img.ta_c-1024,
	.ta_c-1024 img,
	svg.ta_c-1024,
	.ta_c-1024 svg {
		margin-left: auto;
		margin-right: auto;
	}
	
	.ta_c-1024 [class*="flx"],
	[class*="flx"].ta_c-1024 {
		justify-content: center;
	}

}

/* 800px Responsive */
@media screen and (max-width:800px) {
	
	html {
		/* Controls the font-size for 800px t0 501px. Font-size goes from 18px down to 16px. */
		font-size: calc(16px + (18 - 16) * ((100vw - 501px) / (800 - 501)));
	}
	
	html.x1 {
		/* Text sizer level-1 */
		font-size: calc((16px + (18 - 16) * ((100vw - 501px) / (800 - 501))) * 1.5);
	}
	
	html.x2 {
		/* Text sizer level-2 */
		font-size: calc((16px + (18 - 16) * ((100vw - 501px) / (800 - 501))) * 2);
	}	
	
	.hd-800 {
		display: none !important;
	}

	.ta_c-800 {
		text-align: center !important;
	}
	
	img.ta_c-800,
	.ta_c-800 img,
	svg.ta_c-800,
	.ta_c-800 svg {
		margin-left: auto;
		margin-right: auto;
	}
	
	.ta_c-800 [class*="flx"],
	[class*="flx"].ta_c-800 {
		justify-content: center;
	}	
	
}

/* 500px Responsive */
@media screen and (max-width:500px) {
	
	html {
		/* Controls the font-size for 500px t0 320px. Font-size goes from 17px down to 15px. */
		font-size: calc(15px + (17 - 15) * ((100vw - 320px) / (500 - 320)));
	}
	
	html.x1 {
		/* Text sizer level-1 */
		font-size: calc((15px + (17 - 15) * ((100vw - 320px) / (500 - 320))) * 1.5);
	}
	
	html.x2 {
		/* Text sizer level-2 */
		font-size: calc((15px + (17 - 15) * ((100vw - 320px) / (500 - 320))) * 2);
	}	
	
	.hd-500 {
		display: none !important;
	}

	.ta_c-500 {
		text-align: center !important;
	}
	
	img.ta_c-500,
	.ta_c-500 img,
	svg.ta_c-500,
	.ta_c-500 svg {
		margin-left: auto;
		margin-right: auto;
	}
	
	.ta_c-500 [class*="flx"],
	[class*="flx"].ta_c-500 {
		justify-content: center;
	}
	
}

/* 380px Responsive */
@media screen and (max-width:380px) {

	.hd-380 {
		display: none !important;
	}

}
