@charset "utf-8";
/* CSS Document */

html
{
	scroll-behavior: smooth;
}

input[type=number] {
    -moz-appearance: textfield;
	-webkit-appearance: textfield;
	appearance: textfield;
}

select {
	-webkit-appearance: none;
	appearance: none;
}

select::-ms-expand {
    display: none;
}

input[type=submit], input[type=color], button, .switch, .checkbox, .pointer
{
	cursor: pointer;
}

button *
{
    pointer-events: none;
}

input:active, button:active, input[type=submit]:focus, button:focus, input:focus-visible, input:focus-within, button:focus-visible, button:focus-within, textarea:focus-within, textarea:focus-visible, a:active, a:focus, a:visited
{
	outline: none;
}

input, select, textarea
{
	background-color: transparent;
}

/* Webkit browsers like Safari and Chrome */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

textarea
{
    resize: none;
}

select[multiple], .nobars
{
	-ms-overflow-style: none;
	scrollbar-width: none;
}

select[multiple]::-webkit-scrollbar, .nobars::-webkit-scrollbar
{
	display: none;
}

*
{
	padding: 0px;
	border: none;
	margin: 0px;
	list-style: none;
	text-decoration: none;
	font-size: inherit;
	font-family: inherit;
	color: inherit;
	position: relative;
	font-weight: inherit;
	vertical-align: middle;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

body
{
	width: 100%;
	background-size: cover;
	background-position: center;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: var(--f1);
}

footer
{
	margin-top: auto;
}

a, span, i, strong, input[type=radio], time, em
{
	vertical-align: baseline;
}

address
{
	font-style: normal;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6
{
	font-family: var(--f2);
}

u, .underline
{
	text-decoration: underline;
}

.underline-dotted
{
    text-decoration: underline dotted;
}

em, .italic
{
	font-style: italic;
}

s, .line-through
{
	text-decoration: line-through;
}

.penone *, a[data-link] *, .penone-i
{
	pointer-events: none;
}

strong
{
    font-weight: 700;
}

fieldset
{
    min-inline-size: 0;
}

@media only screen
{
	.bs1
	{
		-webkit-box-shadow: 0px 0px 1rem 0px rgb(0 0 0 / 0.24);
		-moz-box-shadow: 0px 0px 1rem 0px rgb(0 0 0 / 0.24);
		-o-box-shadow: 0px 0px 1rem 0px rgb(0 0 0 / 0.24);
		-ms-box-shadow: 0px 0px 1rem 0px rgb(0 0 0 / 0.24);
		box-shadow: 0px 0px 1rem 0px rgb(0 0 0 / 0.24);
	}
	
	.bs05, .bs0-5
	{
		-webkit-box-shadow: 0.25rem 0.25rem 0.5rem 0rem rgb(0 0 0 / 0.24);
		-moz-box-shadow: 0.25rem 0.25rem 0.5rem 0rem rgb(0 0 0 / 0.24);
		-o-box-shadow: 0.25rem 0.25rem 0.5rem 0rem rgb(0 0 0 / 0.24);
		-ms-box-shadow: 0.25rem 0.25rem 0.5rem 0rem rgb(0 0 0 / 0.24);
		box-shadow: 0.25rem 0.25rem 0.5rem 0rem rgb(0 0 0 / 0.24);
	}
	
	.bs05i, .bs0-5i
	{
		-webkit-box-shadow: 0rem 0rem 0.5rem 0rem rgb(0 0 0 / 0.24) inset;
		-moz-box-shadow: 0rem 0rem 0.5rem 0rem rgb(0 0 0 / 0.24) inset;
		-o-box-shadow: 0rem 0rem 0.5rem 0rem rgb(0 0 0 / 0.24) inset;
		-ms-box-shadow: 0rem 0rem 0.5rem 0rem rgb(0 0 0 / 0.24) inset;
		box-shadow: 0rem 0rem 0.5rem 0rem rgb(0 0 0 / 0.24) inset;
	}
	
	.bs1i
	{
		-webkit-box-shadow: 0rem 0rem 1rem 0rem rgb(0 0 0 / 0.24) inset;
		-moz-box-shadow: 0rem 0rem 1rem 0rem rgb(0 0 0 / 0.24) inset;
		-o-box-shadow: 0rem 0rem 1rem 0rem rgb(0 0 0 / 0.24) inset;
		-ms-box-shadow: 0rem 0rem 1rem 0rem rgb(0 0 0 / 0.24) inset;
		box-shadow: 0rem 0rem 1rem 0rem rgb(0 0 0 / 0.24) inset;
	}
	
	.ds
	{
		-webkit-filter: drop-shadow(0.125rem 0.125rem 0.25rem rgb(0 0 0 / 0.24));
		filter: drop-shadow(0.125rem 0.125rem 0.25rem rgb(0 0 0 / 0.24));
	}

	.bfblur02
	{
		-webkit-backdrop-filter: blur(0.2rem);
		backdrop-filter: blur(0.2rem);
	}

	.bfblur04
	{
		-webkit-backdrop-filter: blur(0.4rem);
		backdrop-filter: blur(0.4rem);
	}

	.bfblur05
	{
		-webkit-backdrop-filter: blur(0.5rem);
		backdrop-filter: blur(0.5rem);
	}

	.bfblur08
	{
		-webkit-backdrop-filter: blur(0.8rem);
		backdrop-filter: blur(0.8rem);
	}

	.bfblur1
	{
		-webkit-backdrop-filter: blur(1rem);
		backdrop-filter: blur(1rem);
	}
	
	.ts
	{
		text-shadow: 0.125rem 0.125rem 0.25rem rgb(0 0 0 / 0.64);
	}
	
	.trans, .trans:hover, .trans:focus, .trans-b::before, .trans-a::after, nav a, nav a:hover, .btn, .btn:hover
	{
		-webkit-transition: all 0.24s ease;
		-moz-transition: all 0.24s ease;
		-o-transition: all 0.24s ease;
		-ms-transition: all 0.24s ease;
		transition: all 0.24s ease;
	}
	
	.trans_c, .trans_c:hover, .trans_c:focus, .trans_c-b::before, .trans_c-a::after
	{
		-webkit-transition: color 0.24s ease;
		-moz-transition: color 0.24s ease;
		-o-transition: color 0.24s ease;
		-ms-transition: color 0.24s ease;
		transition: color 0.24s ease;
	}
	
	.trans1, .trans1:hover, .trans1:focus, .trans1-b::before, .trans1-a::after
	{
		-webkit-transition: all 1s ease;
		-moz-transition: all 1s ease;
		-o-transition: all 1s ease;
		-ms-transition: all 1s ease;
		transition: all 1s ease;
	}
	
	.trans1_c, .trans1_c:hover, .trans1_c:focus, .trans1_c-b::before, .trans1_c-a::after
	{
		-webkit-transition: color 1s ease, border 1s ease;
		-moz-transition: color 1s ease, border 1s ease;
		-o-transition: color 1s ease, border 1s ease;
		-ms-transition: color 1s ease, border 1s ease;
		transition: color 1s ease, border 1s ease;
	}

	.ar16x9
	{
		aspect-ratio: 16/9;
	}

	.ar9x16
	{
		aspect-ratio: 9/16;
	}

	.ar4x3
	{
		aspect-ratio: 4/3;
	}

	.ar3x4
	{
		aspect-ratio: 3/4;
	}

	.ar18x9, .ar2x1
	{
		aspect-ratio: 18/9;
	}

	.ar9x18
	{
		aspect-ratio: 9/18;
	}

	.ar1x1
	{
		aspect-ratio: 1/1;
	}

	.bssolid
	{
		border-style: solid;
	}

	.bsdotted
	{
		border-style: dotted;
	}

	.bsdashed
	{
		border-style: dashed;
	}

	.blssolid
	{
		border-left-style: solid;
	}

	.blsdotted
	{
		border-left-style: dotted;
	}

	.blsdashed
	{
		border-left-style: dashed;
	}

	.btssolid
	{
		border-top-style: solid;
	}

	.btsdotted
	{
		border-top-style: dotted;
	}

	.btsdashed
	{
		border-top-style: dashed;
	}

	.brssolid
	{
		border-right-style: solid;
	}

	.brsdotted
	{
		border-right-style: dotted;
	}

	.brsdashed
	{
		border-right-style: dashed;
	}

	.bbssolid
	{
		border-bottom-style: solid;
	}

	.bbsdotted
	{
		border-bottom-style: dotted;
	}

	.bbsdashed
	{
		border-bottom-style: dashed;
	}
	
	.tal, .tal--before::before
	{
		text-align: left;
	}
	
	.tac, .tac--before::before
	{
		text-align: center;
	}
	
	.tar, .tar--before::before
	{
		text-align: right;
	}

    .taj, .taj--before::before
    {
        text-align: justify;
    }
	
	.vam
	{
		vertical-align: middle;
	}
	
	.vabase
	{
		vertical-align: baseline;
	}
	
	.vat
	{
		vertical-align: top;
	}
	
	.vab
	{
		vertical-align: bottom;
	}

	.vasuper
	{
		vertical-align: super;
	}
	
	.vasub
	{
		vertical-align: sub;
	}
	
	.flex
	{
		display: flex;
	}

    .flex-rr
    {
        flex-direction: row-reverse;
    }
	
	.flex-w
	{
		flex-wrap: wrap;
	}
	
	.flex-wr
	{
		flex-wrap: wrap-reverse;
	}
	
	.flex-sb
	{
		justify-content: space-between;
	}
	
	.flex-sa
	{
		justify-content: space-around;
	}
	
	.flex-jc
	{
		justify-content: center;
	}
	
	.flex-js
	{
		justify-content: flex-start;
	}
	
	.flex-je
	{
		justify-content: flex-end;
		justify-content: end;
	}

	.flex-jse
	{
		justify-content: space-evenly;
	}
	
	.flex-as
	{
		align-items: flex-start;
	}
	
	.flex-ac
	{
		align-items: center;
	}
	
	.flex-ae
	{
		align-items: flex-end;
		align-items: end;
	}
	
	.flex-v
	{
		flex-direction: column;
	}
	
	.flex-vr
	{
		flex-direction: column-reverse;
	}
	
	.flex-fg > *, .flex-fg-i
	{
	    flex-grow: 1;
	}

    .flex-nfg > *, .flex-nfg-i
    {
        flex-grow: 0;
    }

	.flex-nfs > *, .flex-nfs-i
	{
		flex-shrink: 0;
	}
	
	.flex-eq > *
	{
		flex: 1 1 100%;
	}

	.grid:empty
	{
		display: block;
	}
	
	.grid
	{
		display: grid;
	}

    .grid-overlap > *
    {
        grid-column: 1 / -1;
        grid-row: 1 / -1;
    }
	
	.disnone, .vibrant-canvas, .owl-loaded .disabled
	{
		display: none;
	}
	
	.block
	{
		display: block;
	}
	
	.inline-block
	{
		display: inline-block;
	}
	
	.inline
	{
		display: inline;
	}
	
	.list-item
	{
		display: list-item;
	}

    .contents
    {
        display: contents;
    }

    .lsdecin > li
    {
        list-style: decimal inside;
    }

    .lsdecout > li
    {
        list-style: decimal outside;
    }
	
	.wb-all
	{
		word-break: break-all;
	}
	
	.wb-normal
	{
		word-break: normal;
	}
	
	button
	{
		background-color: transparent;
	}
	
	h1, h2, h3, h4, h5
	{
		line-height: 1.14;
	}
	
	h1, .h1
	{
		font-size: 2.6rem;
		font-weight: 700;
	}
	
	h2, .h2
	{
		font-size: 2rem;
		font-weight: 700;
	}
	
	h3, .h3
	{
		font-size: 1.54rem;
		font-weight: 600;
	}
	
	h4, .h4
	{
		font-size: 1.24rem;
		font-weight: 600;
	}
	
	h5, .h5
	{
		font-size: 1.1rem;
		font-weight: 500;
	}
	
	h6, .h6
	{
	    font-size: 1rem;
	    font-weight: 500;
	}
	
	.ind
	{
		text-indent: 1.5rem;
	}
	
	.noInd, footer p
	{
		text-indent: 0px;
	}

	.upper
	{
		text-transform: uppercase;
	}

	.lower
	{
		text-transform: lowercase;
	}

	.capitalize
	{
		text-transform: capitalize;
	}
	
	.ofCover
	{
		object-fit: cover;
	}
	
	.ofContain
	{
		object-fit: contain;
	}

    .opCenter
    {
        object-position: center;
    }
	
	.btn
	{
		padding: 0px 1em;
		line-height: 2.125em;
        cursor: pointer;
        display: inline-block;
	}
	
	.fancybox-content.fam
	{
		min-width: 18rem;
		width: 42vw;
		max-width: 62rem;
	}

    .fancybox__nav
    {
        position: static;
    }

	.owl-stage-outer, .ovHidden
	{
		overflow: hidden;
	}

	.owl-item
	{
		display: inline-block;
	}

	.fancybox-navigation
	{
		top: 50%;
	}
	
	.ovAuto
	{
		overflow: auto;
		-webkit-scroll-behavior: smooth;
		scroll-behavior: smooth;
	}

	.ellipsis
	{
		text-overflow: ellipsis;
	}

	.isolate
	{
		isolation: isolate;
	}
	
	.fixed
	{
		position: fixed;
	}
	
	.absolute
	{
		position: absolute;
	}
	
	.relative
	{
		position: relative;
	}
	
	.sticky
	{
		position: -webkit-sticky;
		position: sticky;
	}
	
	.static
	{
		position: static;
	}

	.ws-nowrap
	{
		white-space: nowrap;
	}
	
	/* Form v4 Module for custom check mark and slidable switch
	
	Example:
	
	<label class="switch">
		<input type="checkbox" name="stopticketing" value="yes" />
		<span class="bw-b br2 bc2 br2-b"><!-- It's so beautiful --></span>
	</label>
	
	and
	
	<label class="checkbox">
		<input type="checkbox" name="stopticketing" value="yes" />
		<i class="far fa-square fs144em c1"></i>
		<i class="fas fa-check-square fs144em c1"></i>
	</label>
	
	*/
	
	.switch, .switch span, .checkbox
	{
		display: inline-block;
	}
	
	.switch input, .checkbox input
	{
		position: absolute;
		opacity: 0;
	}
	
	.switch span
	{
		width: 3.25rem;
		height: 1.75rem;
		border: 0.125rem solid transparent;
		-webkit-transition: background-color 0.24s ease;
		-moz-transition: background-color 0.24s ease;
		-o-transition: background-color 0.24s ease;
		-ms-transition: background-color 0.24s ease;
		transition: background-color 0.24s ease;
	}
	
	.switch input ~ span::before
	{
		content: "";
		display: block;
		width: 1.5rem;
		height: 1.5rem;
		-webkit-transition: transform 0.24s ease;
		-moz-transition: transform 0.24s ease;
		-o-transition: transform 0.24s ease;
		-ms-transition: transform 0.24s ease;
		transition: transform 0.24s ease;
	}
	
	.switch input:checked ~ span
	{
		background-color: rgb(var(--c1) / var(--bcalpha, 1));
	}
	
	.switch input:not(:checked) ~ span::before
	{
		-webkit-transform: translateX(0rem);
		-moz-transform: translateX(0rem);
		-o-transform: translateX(0rem);
		-ms-transform: translateX(0rem);
		transform: translateX(0rem);
	}
	
	.switch input:checked ~ span::before
	{
		-webkit-transform: translateX(1.5rem);
		-moz-transform: translateX(1.5rem);
		-o-transform: translateX(1.5rem);
		-ms-transform: translateX(1.5rem);
		transform: translateX(1.5rem);
	}
	
	.checkbox .fa-check-square
	{
		position: absolute;
		top: 0px;
		left: 0px;
		-webkit-transition: opacity 0.24s ease;
		-moz-transition: opacity 0.24s ease;
		-o-transition: opacity 0.24s ease;
		-ms-transition: opacity 0.24s ease;
		transition: opacity 0.24s ease;
	}
	
	.checkbox input:not(:checked) ~ .fa-check-square, .o0
	{
		opacity: 0;
	}
	
	.checkbox input:checked ~ .fa-check-square, .o1
	{
		opacity: 1;
	}
	
	.select ~ i
	{
		position: absolute;
		bottom: 0.25rem;
		right: 0px;
		width: 2.5rem;
		line-height: 1.6rem;
		text-align: center;
		color: rgb(var(--c1) / var(--calpha, 1));
		pointer-events: none;
	}
	
	/* Special Show/Hide Mechanisms */
	
	.hidden
	{
		opacity: 0;
		visibility: hidden;
	}
	
	.show .hidden, .show.hidden
	{
		opacity: 1;
		visibility: visible;
	}

    /* SmartAlert Router Component */

    .smartAlert
    {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: rgb(24 24 24 / 0.48);
        -webkit-backdrop-filter: blur(1rem);
        backdrop-filter: blur(1rem);
        z-index: 10;
        -webkit-transition: all 0.24s ease;
        -moz-transition: all 0.24s ease;
        -o-transition: all 0.24s ease;
        -ms-transition: all 0.24s ease;
        transition: all 0.24s ease;
    }

    .smartAlert.show
    {
        opacity: 1;
        visibility: visible;
    }

    .smartAlert > *
    {
        -webkit-transform: scale(0.8) translateY(1rem) rotateX(-45deg);
        -moz-transform: scale(0.8) translateY(1rem) rotateX(-45deg);
        -o-transform: scale(0.8) translateY(1rem) rotateX(-45deg);
        -ms-transform: scale(0.8) translateY(1rem) rotateX(-45deg);
        transform: scale(0.8) translateY(1rem) rotateX(-45deg);
    }

    .smartAlert.show > *
    {
        -webkit-transform: scale(1) translateY(0) rotateX(0deg);
        -moz-transform: scale(1) translateY(0) rotateX(0deg);
        -o-transform: scale(1) translateY(0) rotateX(0deg);
        -ms-transform: scale(1) translateY(0) rotateX(0deg);
        transform: scale(1) translateY(0) rotateX(0deg);
    }

    .smartAlert > div
    {
        width: min(calc(14vw + 20rem), calc(100% - 2rem));
    }

    .smartAlert > form
    {
        width: min(calc(20rem + 20vw), calc(100% - 2rem));
    }

    .lh1-4em
    {
        line-height: 1.4em;
    }

    .smartFadeOut
    {
        @starting-style {
            opacity: 1;
            visibility: visible;
            -webkit-transform: scale(1) translateY(0);
            -moz-transform: scale(1) translateY(0);
            -o-transform: scale(1) translateY(0);
            -ms-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
        }
        
        opacity: 0;
        transform-origin: center bottom;
        -webkit-transform: scale(0.84) translateY(1rem);
        -moz-transform: scale(0.84) translateY(1rem);
        -o-transform: scale(0.84) translateY(1rem);
        -ms-transform: scale(0.84) translateY(1rem);
        transform: scale(0.84) translateY(1rem);
        -webkit-transition: opacity 0.24s ease, -webkit-transform 0.24s ease, -moz-transform 0.24s ease, -o-transform 0.24s ease, -ms-transform 0.24s ease, transform 0.24s ease;
        -moz-transition: opacity 0.24s ease, -webkit-transform 0.24s ease, -moz-transform 0.24s ease, -o-transform 0.24s ease, -ms-transform 0.24s ease, transform 0.24s ease;
        -o-transition: opacity 0.24s ease, -webkit-transform 0.24s ease, -moz-transform 0.24s ease, -o-transform 0.24s ease, -ms-transform 0.24s ease, transform 0.24s ease;
        -ms-transition: opacity 0.24s ease, -webkit-transform 0.24s ease, -moz-transform 0.24s ease, -o-transform 0.24s ease, -ms-transform 0.24s ease, transform 0.24s ease;
        transition: opacity 0.24s ease, -webkit-transform 0.24s ease, -moz-transform 0.24s ease, -o-transform 0.24s ease, -ms-transform 0.24s ease, transform 0.24s ease;
    }
}

@supports (writing-mode: sideways-lr)
{
    .sideways-lr
    {
        writing-mode: sideways-lr;
    }
}

@supports (writing-mode: sideways-rl)
{
    .sideways-rl
    {
        writing-mode: sideways-rl;
    }
}

@supports not (writing-mode: sideways-lr)
{
    .sideways-lr
    {
        writing-mode: vertical-lr;
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}

@supports not (writing-mode: sideways-rl)
{
    .sideways-rl
    {
        writing-mode: vertical-lr;
    }
}