:root {
	--m25:	calc(var(--m) * 0.5);
	
	--n15:	calc(var(--n) * 0.3);
	--n25:	calc(var(--n) * 0.5);
	--n35:	calc(var(--n) * 0.7);
	--n75:	calc(var(--n) * 1.5);
	--n100:	calc(var(--n) * 2);
}
html {
	font-size: 10px;
	font-size: 62.5%; /* 10px */
	scroll-behavior: smooth;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-style: normal;
	overflow-y: scroll;
	touch-action: manipulation;
}
body.fixed {
    position: fixed;
    width: 100%;
}
:focus-visible {
	outline: 2px solid var(--focus_outline_color, orange);
	outline-offset: var(--focus_outline_offset, 2px);
	box-shadow: var(--focus_boxshadow, inherit);
}
:focus-visible:not(input):not(select):not(textarea) {
	transition: 0s !important;
}
a,
a:visited,
a:active {
	text-decoration: inherit;
	color: inherit;
}
a:hover {
	text-decoration: underline;
	color: inherit;
}
a.noline:hover {
	text-decoration: none;
}
h1, h2, h3, h4, h5, h6, hgroup > p {
	position: relative;
	padding: 0;
	text-wrap: balance;
}
p, ul, ol {
	text-wrap: pretty;
}
h1, h2, a {
	word-wrap: break-word;
}
img, svg {
	display: block;
	max-width: 100%;
	height: auto;
}
img.cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
img.contain {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
button {
	font: inherit;
	border: none;
	padding: 0;
	margin: 0;
	color: inherit;
	background-color: inherit;
	cursor: pointer;
}
.block {
	display: block;
}
.fixed {
	position: fixed;
}
.nobr {
	white-space: nowrap;
}
section, .section, .set {
	position: relative;
	float: left;	
	width: 100%;
	margin: 0;
}
.padd.le0,	.padd_le0	{ padding-left: 0; }
.padd.ri0,	.padd_ri0	{ padding-right: 0; }
.padd.le,	.padd_le	{ padding-left: var(--m); }
.padd.ri,	.padd_ri	{ padding-right: var(--m); }
.padd.to0,	.padd_to0	{ padding-top: 0; }
.padd.bo0,	.padd_bo0	{ padding-bottom: 0; }
.padd.to15,	.padd_to15	{ padding-top: var(--n15); }
.padd.bo15,	.padd_bo15	{ padding-bottom: var(--n15); }
.padd.to25,	.padd_to25	{ padding-top: var(--n25); }
.padd.bo25,	.padd_bo25	{ padding-bottom: var(--n25); }
.padd.to35,	.padd_to35	{ padding-top: var(--n35); }
.padd.bo35,	.padd_bo35	{ padding-bottom: var(--n35); }
.padd.to,	.padd_to	{ padding-top: var(--n); }
.padd.bo,	.padd_bo	{ padding-bottom: var(--n); }
.padd.to75,	.padd_to75	{ padding-top: var(--n75); }
.padd.bo75,	.padd_bo75	{ padding-bottom: var(--n75); }
.padd.to100,.padd_to100	{ padding-top: var(--n100); }
.padd.bo100,.padd_bo100	{ padding-bottom: var(--n100); }
.marg.le0,	.marg_le0	{ margin-left: 0; }
.marg.ri0,	.marg_ri0	{ margin-right: 0; }
.marg.le,	.marg_le	{ margin-left: var(--m); }
.marg.ri,	.marg_ri	{ margin-right: var(--m); }
.marg.to0,	.marg_to0	{ margin-top: 0; }
.marg.bo0,	.marg_bo0	{ margin-bottom: 0; }
.marg.to15,	.marg_to15	{ margin-top: var(--n15); }
.marg.bo15,	.marg_bo15	{ margin-bottom: var(--n15); }
.marg.to25,	.marg_to25	{ margin-top: var(--n25); }
.marg.bo25,	.marg_bo25	{ margin-bottom: var(--n25); }
.marg.to35,	.marg_to35	{ margin-top: var(--n35); }
.marg.bo35,	.marg_bo35	{ margin-bottom: var(--n35); }
.marg.to,	.marg_to	{ margin-top: var(--n); }
.marg.bo,	.marg_bo	{ margin-bottom: var(--n); }
.marg.to75,	.marg_to75	{ margin-top: var(--n75); }
.marg.bo75,	.marg_bo75	{ margin-bottom: var(--n75); }
.marg.to100,.marg_to100	{ margin-top: var(--n100); }
.marg.bo100,.marg_bo100	{ margin-bottom: var(--n100); }
.icon {
	position: relative;
	display: block;
	width: 1.4em;
	height: auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
    stroke-linejoin: round;
	stroke-miterlimit: 10;
	vertical-align: middle;
}
.icon.ml {
	margin-left: 0.5em;
}
.icon.mr {
	margin-right: 0.5em;
}
.box, .container {
	width: 100%;
	position: relative;
	display: table;
	display: flow-root;
	margin: 0 auto;
}
.box.mini, .popup.mini {
	max-width: var(--box_mini);
}
.box.small, .popup.small {
	max-width: var(--box_small);
}
.box {
	max-width: var(--box);
}
.box.medium {
	max-width: var(--box_medium);
}
.box.large {
	max-width: var(--box_large);
}
.box.full {
	max-width: var(--box_full);
}
.center {
	text-align: center !important;
}
.left {
	text-align: left !important;
}
.right {
	text-align: right !important;
}
.clear {
	clear: both;
}
.content-box {
	box-sizing: content-box;
}
.border-box {
	box-sizing: border-box;
}
.spacer {
	position: relative;
	float: left;	
	width: 100%;
	height: var(--n25);
}
.spacer.tiny {
	height: calc(var(--n) / 5);
}
.spacer.small {
	height: var(--n15);
}
.spacer.medium {
	height: var(--n35);
}
.spacer.large {
	height: var(--n);
}
.overflow {
	overflow: hidden;
}
.overlay {
	position: absolute;
	inset: 0;
}
.pe {
	pointer-events: none;
}
.ell, .popup_header h2 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
#preload {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	animation-duration: 0.6s !important;
}
html.loaded .d {
	animation: none !important;
}
.nopp {
	opacity: 0;
}
.opp {
    opacity: 1 !important;
}
.invisible {
	visibility: hidden;
}
.visible {
	visibility: visible;
}
.dn {
	display: none;
}
.dni,
html.loaded #preload,
header nav:not(.placed) {
	display: none !important;
}
.z1 {
	z-index: 1;
}
address {
	font-style: normal;
}
.paused, .d, #preload, .image_loader * {
	animation-play-state: paused;		
}
.running, #preload.running {
	animation-play-state: running;		
}
#message {
    position: fixed;
    bottom: 0;
    left: 50%;
	margin: 0;
	z-index: 9999;
    max-width: calc(100% - var(--m) * 2);
	width: max-content;
	text-align: center;
	pointer-events: none;
    animation: msg 6.7s forwards;
}
@keyframes msg {
    0%   { opacity: 0; }
	5%   { opacity: 1; }
	90%  { opacity: 1; }		
    100% { opacity: 0; }
}
.pointer, [role="button"], [role="tab"] {
    cursor: pointer;
}
.copy {
	gap: 0.45em;
}
.copy button {
	position: relative;
	opacity: 0.5;
}
.copy button:before {
	content: "";
	position: absolute;
	inset: -20%;
}
.copy button:hover {
	opacity: 1;
}
.copy button, .copy button > svg {
    width: 1em;
	height: 1em;
}
.mask {
	will-change: opacity;
    position: fixed;
    inset: 0;
    z-index: 699;
    opacity: 0;
	display: flex;
    flex-direction: column;
	justify-content: center;
    align-items: center;
    background-color: var(--mask_background);
    transition: opacity var(--move_in);
}
.mask.mask_close {
    background-color: var(--mask_closable_background);
}
.control {
	--size: var(--cbtn_size, 1.5rem);
	font-size: var(--cbtn_fontsize, 1.3rem);
	position: relative;
	border-radius: 5em;
	box-sizing: content-box;
	padding: calc(var(--size) * 0.6);
	margin: calc(var(--size) * -0.6);
	display: flex;
	align-items: center;
    gap: 0.65em;
}
.control:hover {
	text-decoration: none;
}
.control:active {
	scale: 0.96;
}
.control > .icon {
	width: var(--size);
	min-width: var(--size);
	stroke-width: var(--cbtn_strokewidth, 2.4);
}
.popup, .popup_header, .popup_content, .popup_view, .popup_controls {
	position: relative;
    width: 100%;
}
.popup {
	min-height: 10rem;
	cursor: auto;
	color: inherit;
	border: none;
	padding: 0;
	margin: 0;
	overflow: hidden;
	container-type: inline-size;
	container-name: popup;
	animation: fade_in_up_f var(--move_in, 0.4s ease) forwards;
}
.popup, .popup_content {
	display: flex;
	flex-direction: column;
}
.popup_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	border-bottom: 1px solid var(--b);
	padding: 0 var(--pu_padding);
	z-index: 1;
}
.popup_header.control_header {
	justify-content: flex-end;
	padding: 0;
}
.popup_header.control_header > .control {
	margin: 1rem;
}
.popup_content {
	flex: 1;
	overflow: hidden;
}
.popup_view {
	overflow: auto;
	scrollbar-width: thin;
	padding: var(--pu_padding);
	flex: 1;
}
.popup_controls {
	display: flex;
	gap: 1rem;
	border-top: 1px solid var(--b);
	padding: var(--pu_padding);
}
.popup_controls > button {
	max-width: none;
	font-size: var(--popup_button_fontsize, var(--button_medium_fontsize));
}
.popup_header h2 {
	flex: 1;
	font-size: var(--pu_h2_fontsize, 2.0rem);
	line-height: var(--pu_h2_height, 3.6);
	letter-spacing: var(--pu_h2_letterspacing, 0);
	margin: 0;
}
.mask.inactive > .popup {
	animation: fade_out_down_f var(--move_in, 0.4s ease) forwards;
}
[role="tablist"], [role="tablist"] > li {
	position: relative;
	height: 100%;
	margin: 0;
	display: flex;
	flex: 1;
}
[role="tablist"] > li {
	text-align: center;
	align-items: center;
    justify-content: center;
	font-size: var(--tab_fontsize, 1.5rem);
	font-weight: var(--tab_fontweight, 500);
	height: var(--tab_height, 7rem);
}
[role="tablist"] > li.selected {
	color: var(--tab_selected_color, var(--prim));
	font-weight: var(--tab_selected_fontweight, 600);
	pointer-events: none;
}
[role="tablist"] > li.selected:after {
	content: "";
	position: absolute;
	width: 100%;
	height: var(--tab_selected_ind_height, 1px);
	background-color: var(--tab_selected_ind_color, var(--prim));
	bottom: -1px;
}
.consent_wall {
    position: absolute;
    inset: 0;
	padding: 0 var(--m);
}
.consent_wall, .consent_wall > .box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.consent_wall > .box {
	gap: 4rem;
}
.load, button:has(.load) {
	pointer-events: none;
	overflow: hidden;
}
.load.append {
	position: absolute;
	inset: 0;
	z-index: 9;
}
.load * {
	z-index: -1;
}
.load:before {
    content: "";
    position: absolute;
	inset: 0;
	z-index: 0;
	background-color: var(--loader_bg);
}
*:has(> .load.append), *:has(> .load.append) > *:not(.load.append) {
	border-color: transparent !important;
	background-color: transparent !important;
}
.load:after {
	content: "";
	position: absolute;
	left: 50%;
    top: 50%;
	border-radius: 50%;
	width: var(--loader_size);
	height: var(--loader_size);
	border: var(--loader_border_width) solid;
	margin: calc(var(--loader_size) / -2) 0 0 calc(var(--loader_size) / -2);
	border-color: var(--loader_color_base) !important;
	border-top-color: var(--loader_color_ind) !important;
	animation: spin 0.8s linear infinite;
}
.mask.load {
	--loader_color_base: var(--mask_loader_color_base, inherit);
	--loader_color_ind: var(--mask_loader_color_ind, inherit);
	pointer-events: auto;
}
.mask.load:before {
	display: none;
}
.mask.load:after {
	animation: spin 0.8s linear infinite, fade_in 1.5s;
}
.grid12 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-flow: dense;
}
.col1  { grid-column-end: span 1; }
.col2  { grid-column-end: span 2; }
.col3  { grid-column-end: span 3; }
.col4  { grid-column-end: span 4; }
.col5  { grid-column-end: span 5; }
.col6  { grid-column-end: span 6; }
.col7  { grid-column-end: span 7; }
.col8  { grid-column-end: span 8; }
.col9  { grid-column-end: span 9; }
.col10 { grid-column-end: span 10; }
.col11 { grid-column-end: span 11; }
.col12 { grid-column-end: span 12; }
.row2  { grid-row-end: span 2; }
.row3  { grid-row-end: span 3; }
.row4  { grid-row-end: span 4; }
#hic {
	display: none;
	position: relative;
	height: var(--hic_height);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
#hic:after {
    content: "";
    position: absolute;
    top: calc((var(--hic_width) * -0.35) - 10px);
	bottom: calc((var(--hic_width) * -0.35) - 10px);
    left: -15px;
	right: -15px;
}
#hic, #hic > div {
	width: var(--hic_width);
}
#hic > div {
	position: absolute;
	height: var(--hic_bar_heith);
	border-radius: var(--hic_bar_br);
	margin-top: calc(var(--hic_bar_heith) / -2);
	background-color: var(--hic_bar_bg);
	transition: transform 0.3s;
}
#hic > div:nth-child(1) {
	top: 0;
}
#hic > div:nth-child(2) {
	top: 50%;
	display: var(--hic_bar_nth2);
}
#hic > div:nth-child(3) {
	top: var(--hic_height);
}
#hic.hic_animate > div:nth-child(1) {
	transform: translateY(calc(var(--hic_height) / 2)) rotate(45deg);
}
#hic.hic_animate > div:nth-child(2) {
	opacity: 0;
	transform: translateX(-40%);
}
#hic.hic_animate > div:nth-child(3) {
	transform: translateY(calc(var(--hic_height) / -2)) rotate(-45deg);
}
.hidemenu #hic {
	display: block;
}

/* Flex */
.flex { display: flex; }
.flex.inline { display: inline-flex; }

.flex.r  { flex-direction: row; }
.flex.rr { flex-direction: row-reverse; }
.flex.c  { flex-direction: column; }
.flex.cr { flex-direction: column-reverse; }
.flex.w	 { flex-wrap: wrap; }

.flex.ac_fs { align-content: flex-start; }
.flex.ac_c  { align-content: center; }
.flex.ac_fe { align-content: flex-end; }
.flex.ac_sa { align-content: space-around; }
.flex.ac_sb { align-content: space-between; }
.flex.ac_s  { align-content: stretch; }

.flex.jc_fe { justify-content: flex-end; }
.flex.jc_c  { justify-content: center; }
.flex.jc_fs { justify-content: flex-start; }
.flex.jc_sa { justify-content: space-around; }
.flex.jc_sb { justify-content: space-between; }
.flex.jc_se { justify-content: space-evenly; }

.flex.ai_fs { align-items: flex-start; }
.flex.ai_fe { align-items: flex-end; }
.flex.ai_c  { align-items: center; }
.flex.ai_s  { align-items: stretch; }
.flex.ai_b  { align-items: baseline; }

.flex > .g1 { flex-grow: 1; }

/* Animations */ 
.release {
	animation-name: release;
	animation-duration: 0.6s;
	animation-fill-mode: both;
}
@keyframes release {
	to { transform: none; }
}
.fade_in {
	animation-name: fade_in;
	animation-duration: 1.0s;
	animation-fill-mode: both;
}
@keyframes fade_in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
.fade_in_up {
	animation-name: fade_in_up;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes fade_in_up {
	from { opacity: 0; transform: translate3d(0, var(--fade_in_up, 30%), 0); }
	to   { opacity: 1; transform: none; }
}
.fade_in_up_f {
	animation-name: fade_in_up_f;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes fade_in_up_f {
	from { opacity: 0; transform: translate3d(0, var(--fade_in_up_f, 4rem), 0); }
	to   { opacity: 1; transform: none; }
}
.fade_in_down {
	animation-name: fade_in_down;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes fade_in_down {
	from { opacity: 0; transform: translate3d(0, var(--fade_in_down, -30%), 0); }
	to   { opacity: 1; transform: none; }
}
.fade_out {
	animation-name: fade_out;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes fade_out {
	from { opacity: 1; }
	to   { opacity: 0; }
}
.fade_out_down_f {
	animation-name: fade_out_down_f;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes fade_out_down_f {
	to   { opacity: 0; transform: translate3d(0, var(--fade_in_up_f, 4rem), 0); }
}
.zoom_in {
	animation-name: zoom_in;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes zoom_in {
	from { transform: scale(0); }
	to   { transform: none; }
}
.zoom_out {
	animation-name: zoom_out;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}
@keyframes zoom_out {
	to { transform: scale(0); }
}
.spin {
	animation: spin 0.8 linear infinite;
}
@keyframes spin {
	to { transform: rotate(360deg); }
}
.shake {
	animation-name: shake;
	animation-duration: 0.6s;
	animation-fill-mode: both;
}
@keyframes shake {
	to { transform: translate3d(0, 0, 0); }
	10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0, 0); }
	20%, 40%, 60%, 80% { transform: translate3d(10px, 0, 0); }
}
.in_out {
	animation-direction: alternate;
	animation-iteration-count: 2;
}
.ad14 { animation-duration: 1.4s; }
.ad12 { animation-duration: 1.2s; }
.ad10 { animation-duration: 1.0s; }
.ad8  { animation-duration: 0.8s; }
.ad6  { animation-duration: 0.6s; }
.ad4  { animation-duration: 0.4s; }
.ad2  { animation-duration: 0.2s; }

@media screen and (hover: hover) and (pointer: fine) {
[role="tablist"] > li:hover {
	color: var(--tab_color_hover, var(--prim));
}
.control:hover {
	background-color: var(--cbtn_bg_hover, var(--bg35));
}
}
@media screen and (max-width: 413px) {
.popup_view {
	padding: calc(var(--pu_padding) * 1.4) var(--pu_padding);
}
}