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