﻿
: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-3rds: 66.666%; /* { readonly: true } */
	--three-4ths: 75%; /* { readonly: true } */
	--three-8ths: 37.5%; /* { readonly: true } */
	--five-8ths: 62.5%; /* { readonly: true } */
	--four-5ths: 80%; /* { readonly: true } */

	--min-fnt-s: 0.938rem; /* { readonly: true } */
	--max-fnt-s: 1rem; /* { readonly: true } */
	--clp-rng-1: 0.7520rem; /* { readonly: true } */
	--clp-rng-2: 0.7936vw; /* { readonly: true } */
	--clp-rng: calc(var(--clp-rng-1) + var(--clp-rng-2) ); /* { readonly: true } */
	--mn_wth: clamp(var(--mn_min), var(--mn-f), var(--mn_max)); /* { readonly: true } */
	--mn_ch-w: 67ch; /* { readonly: true } */
	--shf-off-a: calc(((100vw - clamp(var(--mn_min), var(--mn-f), var(--mn_max)) ) / 2)); /* { readonly: true } */

	--black: #000000; /* { readonly: true } */
	--white: #FFFFFF; /* { readonly: true } */

	--hdr-lg-mx-ht: 180; /* { min: 50, max: 500, step: 10, friendly: 'Logo Max Height Desktop', group: 'Calculations' } */
	--hdr-lg-mx-ht-mbl: 100; /* { min: 10, max: 300, step: 1, friendly: 'Logo Max Height Mobile', group: 'Calculations' } */
	--hdr-lg-mx-wd: 398; /* { min: 50, max: 500, step: 10, friendly: 'Logo Max Width Desktop', group: 'Calculations' } */
	--hdr-lg-mx-wd-mbl: 170; /* { min: 10, max: 300, step: 1, friendly: 'Logo Max Width Mobile', group: 'Calculations' } */

	--vid-bg-o: 0.3; /* { min: .2, max: 1, step: 0.05, friendly: 'Video Background Opacity', group: 'Images' } */
	--mstg-img-bg-o: 0.3; /* { min: .2, max: 1, step: 0.05, friendly: 'Mainstage Background Opacity', group: 'Images' } */
	--bnr-img-bg-o: 0.3; /* { min: .2, max: 1, step: 0.05, friendly: 'Banner Background Image Opacity', , group: 'Images' } */
	--img-bg-o: 0.3; /* { min: .2, max: 1, step: 0.05, friendly: 'Background Imagery', group: 'Images' } */

	--awd-mx-wd: 280; /* { min: 50, max: 500, step: 10, friendly: 'Awards Max Width Desktop', group: 'Images' } */
	--awd-mx-wd-mbl: 170; /* { min: 10, max: 300, step: 1, friendly: 'Awards Max Width Mobile', group: 'Images' } */
	--awd-mx-wd-clc: calc((var(--awd-mx-wd-mbl) * 1px) + (var(--awd-mx-wd) - var(--awd-mx-wd-mbl)) * ((100vw - 320px) / (1920 - 320))); /* { readonly: true } */
	
	--awd-mx-ht: 180; /* { min: 50, max: 500, step: 10, friendly: 'Awards Max Height Desktop', group: 'Images' } */
	--awd-mx-ht-mbl: 100; /* { min: 10, max: 300, step: 1, friendly: 'Awards Max Height Mobile', group: 'Images' } */
	--awd-mx-ht-clc: calc((var(--awd-mx-ht-mbl) * 1px) + (var(--awd-mx-ht) - var(--awd-mx-ht-mbl)) * ((100vw - 320px) / (1920 - 320))); /* { readonly: true } */
}

html {
	font-size: clamp(var(--min-fnt-s), var(--clp-rng), var(--max-fnt-s)); 
	-webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

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

.hd,
.ninja,
html[data-flr="0"] [class*="flr_"],
.no-flr [class*="flr_"] {
	display: none !important;
}

body {
	font-size: 100%;
	margin: 0;
	overflow-x: clip;
}

ol, ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

dl, dd {
	margin: 0;
}

sup {
	font-size: .5em;
}

a[href^=tel] {
	cursor: default;
}

address {
	font-style: normal;
}

img {
	max-width: 100%;
}

figure, 
blockquote {
	margin: 0;
}

video {
	display: block;
	width: 100%;
	
	&[poster] {
		object-fit: cover;
	}
}

.rlt {
	position: relative;
}

.abs {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.blk {
	display: block;
}

.nln-blk {
	display: inline-block;
}

.hdn {
	overflow: hidden;
}

.blk-bg {
	background-color: var(--black);
}

.psu-bfr, 
.psu-aft {
	z-index: 1;
	position: relative;
}

.psu-bfr::before, 
.psu-aft::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	pointer-events: none;
}

.m-ato {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.disabled,
[disabled] {
	pointer-events: none;
	opacity: .7;
}

[aria-hidden="true"] {	
	visibility: hidden;
}

header:empty {
	display: none;
}

:where(div, header) > br:only-child {
	display: none;
}

[data-role="btn"] {
	cursor: pointer;
}

[class*="gp_sp"] {
	gap: var(--grd-sp-dyn);
	
	&[class*="-sml"] {
		--grd-sp-dyn: var(--grd-sp-sml);
	}
	
	&[class*="-lrg"] {
		--grd-sp-dyn: var(--grd-sp-lrg);
	}
	
    > .half {
		width: calc(var(--half) - (var(--grd-sp-dyn) * 0.5 ));
	}
	
	> .third {
		width: calc(var(--third) - (var(--grd-sp-dyn) * 0.667 ));
	}
	
	> .fourth {
		width: calc(var(--fourth) - (var(--grd-sp-dyn) * 0.75 ));
	}
	
}



/* Icon Defaults */
svg {
    height: 1em;
	width: 1em;
	fill: currentColor;
	
	[style*="stroke-width"],
	[stroke-width] {
		stroke: currentColor;
	}
	
	[style*="stroke-width"]:not([fill]),
	[stroke-width]:not([fill]) {
		fill: none;
	}
	
	use {
	    opacity: 0;
		
		&:empty {
			display:none;
		}
	}
	
	* {
		pointer-events: none;
	}
	
}


/* Remove Transitions for People who Prefer Reduced Motion */
@media (prefers-reduced-motion: reduce) {
 
	body *, 
	body *:before, 
	body *:after {
		transition: none !important;	
	}
  
}

/* Fixes Animation Bug */
[class*='prlx'],
[class*='anm_'] {
	will-change: transform, opacity;
}

/* Lazy Load Styles */
.loading:where(img,video,source) {
	filter: blur(3px);
	opacity: 0;
    transition: none;
}

img, 
video, 
source {
	transition: filter var(--g-trn-sp) var(--g-trn-tf) .3s, opacity var(--g-trn-sp) var(--g-trn-tf) .3s;
}


/* General - layout */
section {
	position: relative;
}

[class*="mn_"] {
	width: 100%;
	max-width: var(--mn_wth);
	margin-inline: auto;
	position: relative;
}


/* Widths */
.full {
	width: var(--full);
}

.half {
	width: var(--half);
}

.third {
	width: var(--third);
}

.two-thirds {
	width: var(--two-3rds);
}

.fourth {
	width: var(--fourth);
}

.fifth {
	width: var(--fifth);
}

.three-8ths {
	width: var(--three-8ths);
}

.five-8ths {
	width: var(--five-8ths);
}

.max-cnt {
	width: max-content;
	max-width: 100%;
}

/* Link & Button Styles */
a {
	text-decoration: none;
	transition: color var(--g-trn-sp) var(--g-trn-tf) 0s;
}

button {
	border: none;
	text-align: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	outline: none;
	cursor: pointer;
	margin: 0;
	padding: 0;
	background-color: transparent;
	color: inherit;
}



/* Show/Hide Utilities */
[class*="sw-"],
[class*='flx-at-'][class*="sw-"] {
    display: none;
}

[class*="hd-"] {
    display: block;
}

/* Logo & Watermark Display */
.dk-lg,
.lt-lg,
.wtr-mrk,
.lt-bg .bg-bx:not(.lk-bg, .no-bg, .bdr-bg) :is(.dk-lg, .dk-mrk),
.dk-bg .bg-bx:not(.lk-bg, .no-bg, .bdr-bg) :is(.lt-lg, .lt-mrk) {
    display: none;
}

.lt-bg :is(.dk-lg, .dk-mrk),
.dk-bg :is(.lt-lg, .lt-mrk),
.lt-bg :is(.ulk-bg, .alt-bg) :is(.lt-lg, .lt-mrk),
.dk-bg :is(.ulk-bg, .alt-bg) :is(.dk-lg, .dk-mrk) {
	display: block;
}

/* Images General Styles */
img {
	display: block;
}

picture {
	display: block;
	
	source {
		width: 0;
	}

	img {
		width: 100%;
	}
}

picture:not([data-usc5]) {

	img:where([src*=".jpg"],[src*=".webp"]),
	img.static-map {
		object-fit: cover;
	}
	
	img[src*=".png"]:not(.static-map),
	img[src*=".webp"].png {
		object-fit: contain;
	}
	
}

picture[data-usc5] {

	img[src*=".png"] {
		--opacity: 1;
		
		object-fit: contain;
	}

	&.bg img,
	img:not([src*=".png"]) {
		object-fit: cover;
	}

}


.bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	
	img {
		position: relative;
	    left: 50%;
	    top: 50%;
	    width: calc(100% + 2px);
	    height: calc(100% + 2px);
	    transform: translate(-50%,-50%);
	}
}

:is(section, aside):not(.bg-image) > .bg,
:is(section, aside):not(.bg-image) .bg-wrp .bg {
	display: none;
}

/* BG Boxes */
.bg-bx {
	position: relative;
	z-index: 1;

	&.no-bg {
		box-shadow: none !important;
		border-radius: unset !important;
		padding: 0;
		
		&.grd {
			gap: var(--grd-sp-dyn);
	
			> [class*='pd_'] {
				padding-block: 0;
			}
		}
	
		> [class*='pd_'] {
			padding-inline: 0;
	
			&:first-child {
				padding-block-start: 0;
			}
	
			&:last-child {
				padding-block-end: 0;
			}
		}
		
	}

	&.bdr-bg {
		border: solid var(--bg-bx-bdr-thc, 4px) hsl(from var(--bdr-clr, var(--text-color)) h s l / var(--bg-bx-bdr-clr-o, 0.4));
	}
}

[data-role="list"]:has(.crd:is(.no-bg,.bdr-bg)) {
	filter: none;	
}

/* BG Pattern Styles */

.bg-pattern > .bg {
	display: none;
}

.bg-pattern {

	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	&.bg-bx::before {
		z-index: -1;
	}
}

.lt-bg.bg-pattern::before {
	opacity: var(--lt-ptrn-o);
	background-image: var(--lt-ptrn-bg);
	background-blend-mode: var(--lt-ptrn-blnd);
}

.dk-bg.bg-pattern::before {
	opacity: var(--dk-ptrn-o);
	background-image: var(--dk-ptrn-bg);
	background-blend-mode: var(--dk-ptrn-blnd);
}

.bg-bx.bg-pattern::before {
	opacity: var(--lt-inr-ptrn-o);
	background-image: var(--lt-inr-ptrn-bg);
	mix-blend-mode: var(--lt-inr-ptrn-blnd);
}

.bg-bx.alt-bg.bg-pattern::before {
	opacity: var(--alt-inr-ptrn-o);
	background-image: var(--alt-inr-ptrn-bg);
	background-blend-mode: var(--alt-inr-ptrn-blnd);
}

.dk-bg .lk-bg.bg-pattern::before,
.lt-bg .ulk-bg.bg-pattern::before {
	opacity: var(--dk-inr-ptrn-o);
	background-image: var(--dk-inr-ptrn-bg);
	background-blend-mode: var(--dk-inr-ptrn-blnd);
}


/* Social Media & Payment Icon Styles */
.so-lk svg {
	font-size: var(--so-i-s);
}

.py-lk svg {
	font-size: var(--py-i-s);
}

/* Text Alignment */

[class*="ta_"] {
	text-align: center;
}

:where(img, svg)[class*="ta_"] {
	margin-left: auto;
	margin-right: auto;
}

/* Tag */
.tag:not(:has(a)), .tag a {
	display: inline-block;
	padding: var(--tag-pd-v) var(--tag-pd-h);
	border-radius: var(--tag-bdr-rds);
	border: var(--bdr-stl) var(--bdr-w) hsl(from var(--text-color) h s l / var(--bdr-clr-o));
	transition: background-color var(--g-trn-sp) var(--g-trn-tf) 0s, color var(--g-trn-sp) var(--g-trn-tf) 0s;
}

/* Dialpad Fix */
.sw-phone:not([class*="hd"]) {
	display: inline-block !important;
}

[class*="flx"].sw-phone {
	display: flex !important;
}

html body a[href].btn.sw-phone:not(:hover) {
	color: var(--text-alt) !important;
}

:where(.lt-bg,.dk-bg) {
	[href^=dialpad]:not([class*="btn"]) {
		--link-color: var(--fnt-phn);
		--link-hover: var(--fnt-phn);
	}
}

/* 700px Responsive (min-width) */
@media screen and (min-width:700px) {
    :root {
    	--fnt-s-mtp: .9375; /* { min: .9375, max: 1, step: .005, type: 'range', friendly: 'Site Font Size Multiplier (700px - 1919px)' } */
        --min-fnt-s: calc(1rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --max-fnt-s: calc(1.063rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-1: calc(0.5590rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-2: calc(1.0080vw * var(--fnt-s-mtp)); /* { readonly: true } */
    }

	.sw-700[class*="flx-at-700"]{
		display: flex;
	}
	
	.sw-700:not([class*="flx-at-700"]) {
		display: block;
	}
	
	.hd-700 {
		display: none !important;
	}
	
	.ta_l-700 {
		text-align: left;
	}

	.ta_r-700 {
		text-align: right;
	}
	
	:where(img, svg).ta_r-700 {
		margin-left: auto; 
		margin-right: 0;
	}
	
	:where(img, svg).ta_l-700 {
		margin-right: auto; 
		margin-left: 0;
	}
	
}

/* 1280px Responsive (min-width) */
@media screen and (min-width:1280px) {
    :root {
        --min-fnt-s: calc(0.938rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --max-fnt-s: calc(1.063rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-1: calc(0.2107rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-2: calc(0.9091vw * var(--fnt-s-mtp)); /* { readonly: true } */
		--mn_wth: var(--mn_max); /* { readonly: true } */
    }
	
	.mn_wd {
		max-width: clamp(var(--mn_min), var(--mn-w), var(--mn_max));
	}

	.mn_tn {
		max-width: clamp(var(--mn_min-t), var(--mn-t), var(--mn_max));
	}

	.mn_ch {
		max-width: var(--mn_ch-w);
	}

	.sw-1280[class*="flx-at-1280"] {
		display: flex;
	}
	
	.sw-1280:not([class*="flx-at-1280"]) {
		display: block;
	}
	
	.hd-1280 {
		display: none;
	}

	.ta_l-1280 {
		text-align: left;
	}
	
	.ta_r-1280 {
		text-align: right;
	}
	
	:where(img, svg).ta_r-1280 {
		margin-left: auto; 
		margin-right: 0;
	}
	
	:where(img, svg).ta_l-1280 {
		margin-right: auto; 
		margin-left: 0;
	}
	
	:where(.sd-zn, .cnt-zn) > * + * {
		margin-top: calc(var(--sp-vm-clc) * 1.6);
	}

    .stcky {
        position: sticky;
        top: var(--pd-v);
		align-self: flex-start;
    }

}

/* 1500px Responsive (min-width) */
@media screen and (min-width:1500px) {
    :root {
        --min-fnt-s: calc(1rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --max-fnt-s: calc(1.063rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-1: calc(0.0550rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-2: calc(1.0080vw * var(--fnt-s-mtp)); /* { readonly: true } */
    }
}

/* 1920px Responsive (min-width) */
@media screen and (min-width:1920px) {
    :root {
        --fnt-s-mtp: .89; /* { min: .89, max: 1, step: .01, type: 'range', friendly: 'Site Font Size Multiplier (1920px & Above)' } */
        --min-fnt-s: calc(1.125rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --max-fnt-s: calc(1.375rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-1: calc(-0.3295rem * var(--fnt-s-mtp)); /* { readonly: true } */
        --clp-rng-2: calc(1.2121vw * var(--fnt-s-mtp)); /* { readonly: true } */
    }
	
	body {
		margin: 0 auto;
	}

	.sw-1920[class*="flx-"]{
		display: flex;
	}
	
	.sw-1920:not([class*="flx-"]) {
		display: block;
	}

	.ta_l-1920 {
		text-align: left;
	}
	
	.ta_r-1920 {
		text-align: right;
	}
	
	:where(img, svg).ta_r-1920 {
		margin-left: auto; 
		margin-right: 0;
	}
	
	:where(img, svg).ta_l-1920 {
		margin-right: auto; 
		margin-left: 0;
	}
	
}

@media screen and (max-width:1279px) {
	
	.cms-content .hdr .mbl-mnu { 
		translate: 0;
		opacity: 1;
	}

	section.full-mbl {
		padding-block: 0;
		
		.mbl-fx, 
		&:has([class*="mn_"] > .full-mbl.no-bg:only-child) {
			padding-block: var(--sp-vp-mmc);
		}
		
		.full-mbl {
			width: calc(100vw + 1px);
			left: 50%;
			transform: translateX(-50%);
			
			> [class*="pd_h"],
			&[class*="pd_h"] {
				padding-left: var(--shf-off-a);
				padding-right: var(--shf-off-a);
			}
			
			> img {
				position: relative;
				left: 50%;
				transform: translateX(-50%);
				width: calc(100vw + 1px) !important;
				max-width: none;
			}
			
			&.bg > img {
				transform: translate(-50%,-50%);
			}
	
			&.no-bg:not(:only-child)  {
				> [class*="pd_v"], &[class*="pd_v"] {
					padding-bottom: var(--sp-vp-mmc);
				}
			}
		}
	
		aside {
			.full-mbl.bg-bx {
				> [class*="pd_v"], &[class*="pd_v"] {
					padding-bottom: var(--sp-vp-mmc);
				}
			}
		}
	}

	.sd-zn {
		> *:has(.full-mbl) + *:has(.full-mbl) {
			margin-top: 0;
		}
	}		
	
	[class*="flx"].ta_l-1280,
	.ta_l-1280 [class*="flx"],
	[class*="flx"].ta_r-1280,
	.ta_r-1280 [class*="flx"] {
		justify-content: center;
	}

	@supports not (animation-timeline: scroll()) {
	
		[class*="anm_"].full-mbl {
			transform: translateX(-50%) !important;
		}
	}
	
}

@media screen and (max-width:699px) {

	[class*="flx"].ta_l-700,
	.ta_l-700 [class*="flx"],
	[class*="flx"].ta_r-700,
	.ta_r-700 [class*="flx"] {
		justify-content: center;
	}
	
}

@supports not (animation-timeline: scroll()) {
	[class*='anm_'],
	[class*='anm_lst'] > * {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		translate: none !important;
	}
}

