@charset "utf-8";

:root {
	--br: 1.9rem;
	--br_less: calc(var(--br) * 0.7);
	--br_more: calc(var(--br) * 1.4);
	
	--m: 94px;
    --n_vpmax: 2000;
    --n_vpmin: 320;
    --n_max: 100;
    --n_min: 60;
	--n: clamp(var(--n_min) * 1px, calc(var(--n_min) * 1px + (var(--n_max) - var(--n_min)) * ((100vw - var(--n_vpmin) * 1px) / (var(--n_vpmax) - var(--n_vpmin)))), var(--n_max) * 1px);
	
	
	--hbar: 35px;
	--hmain: 75px;
	--hmain_scrolled: 50px;

	--box_mini: 440px;
	--box_small: 560px;
	--box: 740px;
	--box_medium: 960px;
	--box_large: 1290px;
	--box_full: 1480px;
	
	--h1_base: 5rem;
	--h2_base: 3.2rem;
	
	--move_in: 0.5s cubic-bezier(0.65, 0, 0.3, 1);

	--loader_bg: white;
	--loader_size: 1.7rem;
	--loader_border_width: 0.3rem;
	--loader_color_base: white;
	--loader_color_ind: var(--prim);
	
	--mask_loader_color_base: transparent;
	--mask_loader_color_ind: white;

	--focus_outline_color: var(--prim20);
	--focus_outline_offset: 2px;
	
	--p_fontsize: 1.8rem;
	--p_lineheight: 1.7;

	--tab_fontweight: 525;
	--tab_selected_fontweight: 625;
	--tab_height: 6.2rem;
	--tab_selected_color: var(--prim40);
	
	--bnav_height: calc(8.7rem + env(safe-area-inset-bottom));
	--bnav_spacer: 0px;
}
:root.scrolled {
	/*--hmain: var(--hmain_scrolled);*/
}
:root {
--font: #18212d;
	
/* {"cid":"shadow","h":215,"s":25,"l":40,"sdyn":0.2,"opacity":0.1} */
--shadow10: #1014191a;
--shadow20: #2027311a;
--shadow30: #303b4a1a;
--shadow40: #3f4f641a;
--shadow: #4d62801a;
--shadow60: #59759c1a;
--shadow70: #6f89af1a;
--shadow80: #889fbe1a;
--shadow90: #a2b4cd1a;

--mask_background: hsl(220deg 55% 5% / 60%);
--mask_closable_background: var(--mask_background);
	
/* {"cid":"accent","h":198,"s":77,"l":50,"sdyn":0.3,"double":1} */
--accent5: #061014;
--accent10: #0b1f28;
--accent15: #112f3c;
--accent20: #163f50;
--accent25: #1b4f65;
--accent30: #1f5f7a;
--accent35: #226f91;
--accent40: #2381a9;
--accent45: #2293c3;
--accent: #1da7e2;
--accent55: #2cb3ec;
--accent60: #3fbdf3;
--accent65: #54c7f8;
--accent70: #6acffb;
--accent75: #82d8fc;
--accent80: #9ae0fe;
--accent85: #b3e8fe;
--accent90: #ccf0ff;
--accent95: #e6f7ff;

/* {"cid":"prim","h":235,"s":50,"l":50,"sdyn":0.25,"double":1,"bg":""} */
--prim5: #080912;
--prim10: #101123;
--prim15: #171a35;
--prim20: #1f2247;
--prim25: #262b59;
--prim30: #2d336c;
--prim35: #343a7f;
--prim40: #394193;
--prim45: #3e46a8;
--prim: #404abf;
--prim55: #4f59ca;
--prim60: #6069d2;
--prim65: #727bda;
--prim70: #858de0;
--prim75: #999fe6;
--prim80: #adb2eb;
--prim85: #c1c5f0;
--prim90: #d6d8f5;
--prim95: #eaecfa;

/* {"cid":"red","h":345,"s":65,"l":50,"sdyn":0,"double":1} */
--red5: #150409;
--red10: #2a0911;
--red15: #3f0d1a;
--red20: #541222;
--red25: #69162b;
--red30: #7e1b34;
--red35: #931f3c;
--red40: #a82445;
--red45: #bd284d;
--red: #d22d56;
--red55: #d74267;
--red60: #db5778;
--red65: #e06c89;
--red70: #e4819a;
--red75: #e996ab;
--red80: #edabbb;
--red85: #f2c0cc;
--red90: #f6d5dd;
--red95: #fbeaee;

/* {"cid":"b","h":220,"s":20,"l":90,"sdyn":0} */
--b10: hsl(220deg 20% 82%);
--b20: hsl(220deg 20% 84%);
--b30: hsl(220deg 20% 86%);
--b40: hsl(220deg 20% 88%);
--b: hsl(220deg 20% 90%);
--b60: hsl(220deg 20% 92%);
--b70: hsl(220deg 20% 94%);
--b80: hsl(220deg 20% 96%);
--b90: hsl(220deg 20% 98%);

/* {"cid":"bg","h":220,"s":35,"l":100,"sdyn":0.25,"double":1,"shades":1} */
--bg5: #e2e6ee;
--bg10: #e5e9f0;
--bg15: #e8ecf2;
--bg20: #eceef4;
--bg25: #eff1f6;
--bg30: #f2f4f8;
--bg35: #f5f7fa;
--bg40: #f8f9fb;
--bg45: #fcfcfd;
--bg: #ffffff;

/* {"cid":"soft","h":220,"s":18,"l":35,"sdyn":0,"double":1} */
--soft5: #07080b;
--soft10: #0f1115;
--soft15: #161920;
--soft20: #1d222a;
--soft25: #252a35;
--soft30: #2c323f;
--soft35: #333b4a;
--soft40: #3b4354;
--soft45: #424c5f;
--soft: #495469;
--soft55: #515c74;
--soft60: #58657e;
--soft65: #5f6d89;
--soft70: #667593;
--soft75: #707f9c;
--soft80: #7b88a3;
--soft85: #8592aa;
--soft90: #909bb2;
--soft95: #9aa4b9;

/* {"cid":"green","h":140,"s":40,"l":50,"sdyn":0.25,"double":1} */
--green5: #09110b;
--green10: #122117;
--green15: #1a3222;
--green20: #23432e;
--green25: #2b5439;
--green30: #346544;
--green35: #3b774f;
--green40: #428a5a;
--green45: #489d65;
--green: #4db36f;
--green55: #5bbe7c;
--green60: #6bc78a;
--green65: #7ccf98;
--green70: #8ed7a6;
--green75: #a1deb5;
--green80: #b3e5c4;
--green85: #c6ecd2;
--green90: #d9f2e1;
--green95: #ecf9f0;
}



body {
	color: var(--font);
	font-family: 'Figtree';
	font-weight: 400;
	letter-spacing: 0.015em;
}
body::selection {
	color: #000000;
	background-color: var(--accent90);
}
html {
	scrollbar-color: #cfd5e1 transparent;
	scrollbar-gutter: stable;
}
header, .container {
	max-width: 2100px;
}
body {
	background-color: var(--bg);
}
.header_spacer {
	padding-top: calc(var(--hmain) + var(--hbar));
}
header {
	position: absolute;
	background-color: var(--bg);
	top: 0;
	width: inherit;
	height: calc(var(--hmain) + var(--hbar));
	z-index: 599;
	transition: 0.25s;
}
.hbar {
	height: var(--hbar);
	font-size: 1.3rem;
	font-weight: 400;
	transition: 0.25s;
}
.scrolled header {
	top: calc(var(--hbar) * -1);
}
.hbar:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: var(--bg40);
	transition: 0.55s;
}
.start:not(.nav_open) .hbar {
	color: #cfd4e3;
}
.start:not(.nav_open) .hbar:before {
	background-color: rgb(0, 0, 0, 10%);
}
.hmain {
	height: var(--hmain);
}
.court_status_bar {
	gap: 2rem;
}
.court_status_bar > span:after {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	margin-top: 2px;
	border-radius: 50%;
	background-color: var(--color, var(--soft80));
	transition: color 0.25s;
}
main:after {
    content: "";
    position: relative;
    float: left;
    width: 100%;
    height: calc(var(--bnav_height) + var(--bnav_spacer));
}
m, .m {
	font-weight: 500;
}
b, .bold, strong  {
	font-weight: 600;
}
img.full {
	width: 100%;
}
.sheet img {
	display: inline-block;
}
.sheet span {
    font-size: 1em !important;
}
h1, h2, h3, .hero {
	font-family: "Outfit", sans-serif;
	color: var(--font_heading);
}
h1, .hero {
	font-size: var(--h1_base);
    font-weight: 550;
    letter-spacing: -0.015em;
    line-height: 1.2em;
	margin: 0 0 1.0em 0;
}
h2 {
	font-size: var(--h2_base);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.3em;
	margin: 0 0 1em 0;
}
h2.small {
	font-size: calc(var(--h2_base) * 0.85);
}
h3 {
    font-size: 1.9rem;
    font-weight: 450;
    letter-spacing: 0;
    line-height: 1.3em;
    margin: 0 0 0.75em 0;
}
h4 {
    font-size: 2rem;
    font-weight: 550;
	line-height: 1.3em;
	margin: 0 0 0.75em 0;
}
h5 {
	font-size: 1.6rem;
    font-weight: 600;
	letter-spacing: 0;
	line-height: 0.9em;
    margin: 0 0 0.75em 0;
}
p, ul, ol {
	font-size: var(--p_fontsize);
	margin: 0 0 1em 0;
	font-weight: 450;
	line-height: var(--p_lineheight);
	padding-left: 0;
	letter-spacing: 0.0125em;
	color: var(--soft35);
}
ul {
	list-style-type: none;
}
p:last-child, ul:last-child, ol:last-child {
	margin-bottom: 0;
}
p + h2, ul + h2, ol + h2 {
	margin-top: 1.4em;
}
p + h3, ul + h3, ol + h3 {
	margin-top: 1.3em;
}
p.emph {
	font-weight: 575;
}
small, .small {
    font-size: 1.4rem;
	line-height: 1.5;
}
.logo, .logo_svg  {
	display: block;
	position: relative;
	width: auto;
}
header nav ul {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    height: var(--header_lineheight);
	display: flex;
	gap: var(--nav_gap);
}
header nav ul.sub {
	position: absolute;
    height: auto;
    z-index: -1;
    padding: 25px 0 40px 0;
	display: none;
}
header nav ul.sub:before {
    content: "";
    position: absolute;
    top: -100%;
    left: -100vw;
    height: 200%;
    width: 150vw;
    background-color: white;
	box-shadow: 0 0 60px rgb(0 0 0 / 5%);
	pointer-events: none;
}
header nav ul.sub:after {
	content: "";
	position: absolute;
	left: -20px;
	right: -20px;
	top: -3px;
	bottom: 0;
	z-index: -1;
}
header nav ul.sub li {
	display: block;
	width: max-content;
    margin: 0;
	padding: 0.7em 0;
}
.hidemenu header nav ul.sub li {
	width: auto;
}
header nav ul.sub a {
    font-size: 1.4rem;
    font-weight: 400;
	line-height: 1.6em;
}
header nav li {
	position: relative;
	display: inline-block;
}
header nav li:first-child {
	margin-left: 0px;
}
header nav li:last-child {
	margin-right: 0px;
}
header nav a, header nav a:visited, header nav a:active {
	position: relative;
	display: inline-block;
	height: 100%;
    font-size: var(--header_fontsize);
    font-weight: var(--header_fontweight);
    letter-spacing: var(--header_letterspacing);
	line-height: var(--header_lineheight);
	color: var(--font);
	white-space: nowrap;
}

header nav a.active {
	color: var(--prim);
}
.start header {
	background-color: transparent;
}
.start header .logo {
	visibility: hidden;
}
body.start .header_controls .icon {
	will
}
html:not(.scrolled) body.start:not(.nav_open) .header_control_wrap {
	--cbtn_bg_hover: rgb(255 255 255 / 15%);
	color: white;
}


.hidemenu header nav {
	position: fixed;
	padding: var(--n75) var(--m);
	overflow-y: auto;
	transition: opacity 0.55s;
	z-index: -1;
}
body:after {
	content: "";
	position: absolute;
	z-index: 598;
	background-color: var(--bg);
	animation-name: fade_out;
	animation-duration: 0.55s;
	opacity: 0;
}
body.nav_open:after {
	animation-name: fade_in;
	animation-duration: 0.55s;
	opacity: 1;
}
body:after, .hidemenu header nav {
	opacity: 0;
	inset: 0;
	pointer-events: none;	
}
@supports (-webkit-touch-callout: none) {
.hidemenu header nav {
	padding-bottom: calc(var(--n) + 50px);
}
}
.hidemenu header nav.triggered {
	opacity: 1;
	pointer-events: auto;
}
.hidemenu header nav ul.main {
	height: auto;
	flex-direction: column;
	align-items: center;
	visibility: hidden;
}
.hidemenu header nav li {
	padding: 1.3rem 0;
	margin: 0;
	display: block;
    opacity: 0;
    transform: translateY(50px);
	transition: 0.5s;
    transition-delay: 0s;
}
.hidemenu header nav.triggered ul li {
	opacity: 1;
    transform: none;
	transition-delay: calc(var(--order) * 60ms);
}
.hidemenu header nav.triggered ul.main {
	visibility: visible;
}
.hidemenu header nav a {
	font-size: 2.0rem;
	line-height: 2em;
	font-weight: 550;
}
.hidemenu header nav ul.sub {
    position: relative;
    z-index: 0;
    padding: 0;
    display: block;
}
.hidemenu header nav ul.sub:before, .hidemenu header nav ul.sub:after {
	display: none;
}
.hidemenu header nav ul.sub a {
	font-size: 1.4rem;
	line-height: 1.2em;
}
.center_mum {
	display: flex;
    align-items: center;
    justify-content: center;
}
footer {
	--button_light_bg: var(--bg);
	--button_light_bg_hover: var(--bg15);
	padding-inline: var(--m);
	background-color: var(--bg);
	z-index: 100;
	margin-top: calc(env(safe-area-inset-bottom) * -1) !important;
}
footer .btn.light {
	font-weight: 550;
}
.footer_top {
	display: flex;
	align-items: stretch;
	background-color: var(--bg35);
	border-radius: var(--br);
	padding-inline: var(--m);
}
.footer_blocks {
	display: flex;
	flex: 1 0 67.5%;
}
.footer_varblock {
	flex: 1 0 32.5%;
	display: flex;
	flex-direction: column;
    justify-content: space-between;
	align-items: flex-end;
}
.footer_blocks > section > h2 {
	font-family: inherit;
	margin-bottom: 3rem;
}
nav.bottom_nav > *,
.footer_blocks > section > h2,
.footer_legal {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.0125em;
}
.footer_legal {
	font-size: 1.5rem;
}
nav.bottom_nav > *,
.footer_blocks > section > h2 {
	font-weight: 550;
}
.footer_blocks > section > address,
.footer_blocks > section > ul {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.0125em;
	display: flex;
    flex-direction: column;
	color: var(--soft40);
	gap: 0.6em;
	padding: 0;
    margin: 0;
}
.icon.blank {
    display: inline;
    width: 0.6em;
	stroke-width: 2.4;
    margin-left: 0.5em;
	vertical-align: baseline;
}
.footer_legal {
	height: var(--bnav_height);
	display: flex;
	padding-inline: var(--m);
	align-items: center;
}
.footer_legal_pages {
	display: flex;
    justify-content: flex-end;
	gap: 1.4rem;
    flex: 1 1 0;
}
.footer_legal_pages > button:hover {
	text-decoration: underline;
}
.footer_legal_cr {
	font-weight: 550;
}
.footer_payment_brands > div {
	width: 4rem;
	height: auto;
	border-radius: 0.4rem;
	background-color: white;
	padding: 0.1rem;
    border: 1px solid var(--b);
}



#message {
	font-size: 1.5rem;
	font-weight: 600;
	padding: 15px var(--m);
	border-radius: var(--br);
    transform: translate(-50%, -2.5rem);
}
#message.error {
    background-color: var(--red90);
    color: var(--red10);
}
#message.success {
	background-color: var(--green90);
    color: var(--mint25);
}
.sumsy_mode_mum {
	position: fixed;
	left: -15px;
	top: 50%;
	margin-top: -22px;
	width: 28px;
	height: 44px;
	background-color: #404751;
	border-radius: 0 5px 5px 0;
	transition: 0.05s linear;
	box-shadow: 0 1px 2px rgb(0 0 0 / 80%);
	z-index: 1;
}
.sumsy_mode_mum:hover {
	background-color: #282E36;
	left: -10px;
}
.sumsy_mode_mum svg {
	fill: #FFFFFF;
	width: 28px;
	height: 44px;
}
.sumsy_mode_mum circle {
	opacity: 0.20;
}
.sumsy_iframe {
	position: fixed;
	top: 0;
	right: -100%;
	margin: 0;
	padding: 0;
	border: 0;
	height: 100%;
	z-index: 999;
	transition: 0.5s ease-in-out;
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
}
.sumsy_blur {
    opacity: 0.4;
	-webkit-filter: blur(2px) grayscale(100%);
	filter: blur(2px) grayscale(100%);
}
.sumsy_blur .container {
	pointer-events: none;
}
.mask_view.popup_container {
	transition: opacity 0.2s ease;
    padding-top: var(--n25);
    padding-bottom: var(--n25);
}
.popup {
    max-width: 600px;
	max-height: 100%;
    background-color: var(--bg);
	border-radius: var(--br_more);
    box-shadow: 0 0 20px rgb(0 0 0 / 5%);
}
.popup_header, .popup_content {
	--pu_padding: 3.5rem;
}
@container popup (min-width: 670px) {
	.popup_header, .popup_content { --pu_padding: 4.0rem; }
}
@container popup (max-width: 440px) {
	.popup_header, .popup_content { --pu_padding: 3.2rem; }
}
@container popup (max-width: 400px) {
	.popup_header, .popup_content { --pu_padding: 3.0rem; }
}


main.set {
	margin-top: calc((var(--bnav_height) + var(--bnav_spacer)) * -1);
}
main:before {
    content: "";
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--bnav_height);
    background: linear-gradient(0deg, rgb(255 255 255), rgb(255 255 255 / 0%));
	z-index: 1;
}
main.set {
    margin-top: calc((var(--bnav_height) + var(--bnav_spacer)) * -1);
}
.bottom_nav_container {
	--focus_outline_offset: -7px;
	position: sticky;
	top: calc(100dvh - var(--bnav_height) - var(--bnav_spacer));
	padding-bottom: var(--bnav_spacer);
	z-index: 99;
	pointer-events: none;
}
nav.bottom_nav:before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--bg);
	opacity: 0.7;
	z-index: -1;
}
nav.bottom_nav {
	position: relative;
	width: 100%;
	height: var(--bnav_height);
	padding-inline: var(--m100);
	padding-bottom: env(safe-area-inset-bottom);
	/*border-radius: var(--br) var(--br) 0 0;*/
	pointer-events: all;
	/*box-shadow: 0 0 12px var(--shadow40);*/
	border-top: 1px solid var(--b70);
	overflow: hidden;
	backdrop-filter: blur(10px);
	transition: opacity 0.35s;
    justify-content: space-between;
}
nav.bottom_nav > * {
    height: var(--bnav_height);
	padding-inline: 5rem;
    margin-inline: -5rem;
	line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    gap: 1.3rem;
}
nav.bottom_nav .icon {
    color: var(--soft40);
    width: 2.4rem;
	stroke-width: 1.6;
}
.bottom_nav_item {
	transition: 0.2s;
}
a.bottom_nav_item:hover {
	text-decoration: none;
}

#hic > svg {
	will-change: transform
}
.hic_open {
	transition: transform 0.25s;
}
.hic_close {
	position: absolute;
	display: none;
}
.hic_animate .hic_open {
	transform: rotate(90deg) scale(0);
}
.hic_animate .hic_close {
	display: inherit;
}
.hic_close line:first-child {
	animation: close_line_1 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.hic_close line:last-child {
	animation: close_line_2 0.45s 0.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes close_line_1 {
	from { transform: translate(-30px, -30px); }
	to { transform: none; }
}
@keyframes close_line_2 {
	from { transform: translate(30px, -30px); }
	to { transform: none; }
}




.eyebrow {
	font-family: 'Outfit';
	position: relative;
    display: inline-block;
    color: var(--prim25);
    font-size: 1.4rem;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    font-weight: 550;
    margin-bottom: 1em;
}

.avatar {
	position: relative;
	width: 4.0rem;
	height: 4.0rem;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0px 2px 5px var(--shadow);
	background-color: var(--prim60);
}
.avatar_wrap {
	position: relative;
}
.avatar_wrap:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 1.2rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #59c559;
    border: 2px solid var(--bg);
}
.avatar > img {
	position: absolute;
	width: 100%;
    height: 100%;
	object-fit: cover;
	object-position: center;
}
.top {
	height: 60rem;
}
.top.full {
	height: 100vh;
	height: 100dvh;
	max-height: 1500px;
}
.top > video {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top > .darkener {
	background-color: rgba(0, 0, 0, 0.30);
}
.top > .pattern {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="5" viewBox="0 0 5 5"><circle fill="white" cx="2.5" cy="2.5" r="0.5"/></svg>');
    opacity: 0.09;
}
.top > .darkener:before {
	content: "";
	position: absolute;
	inset: 0;
	bottom: auto;
	height: 35%;
	opacity: 0.4;
	background: linear-gradient(0deg, rgb(0 0 0 / 0%), rgb(0 0 0));
}
.logo_svg .white,
.logo_monkey_svg .white {
	fill: #ffffff;
}
.logo_svg .prim,
.logo_monkey_svg .prim {
	fill: var(--accent);
}
.top_logo_wrap {
	padding-bottom: var(--bnav_height);
}
.top_logo_wrap .logo_svg {
	width: 26rem;
	height: auto;
}
header .logo_monkey_svg {
	height: 4.0rem;
	transition: 0.25s;
	opacity: 0.8;
}
header .logo_monkey_svg .prim {
	fill: var(--soft);
}
.header_controls {
	--control_size: 2.3rem;
	position: relative;
	gap: 3.6rem;
}
.header_controls .control {
	position: relative;
	--size: var(--control_size);
	--cbtn_strokewidth: 1.6;
    font-weight: 625;
    font-size: 1.4rem;

}

.header_control_wrap {
	position: relative;
	width: var(--control_size);
	height: var(--control_size);
}
legend.big {
    font-size: 1.8rem;
    padding-bottom: 3.0rem;
	letter-spacing: 0;
}
fieldset:not(:first-child) > legend.big {
	padding-top: 2.0rem;
}



dl.icon_list {
	--icon_size: 2.3rem;
	--font_size: round(nearest, calc(var(--icon_size) * 0.5 + 2.5px), 1px);
	font-size: var(--font_size);
}
#chat {
	--chat_content_fontsize: 1.4rem;
	--chat_content_fontweight: 400;
	--chat_content_color: var(--font);
	--chat_content_lineheight: 1.5;
	--chat_response_bg: var(--bg25);
	--chat_user_message_bg: var(--prim);
	--chat_user_message_color: white;
	--chat_start_message_color: var(--red20);
	--chat_start_message_bg: var(--red95);
}

[hidden] {
	display: none;
}

mark {
	font-weight: 500;
	color: var(--color, inherit);
	background-color: transparent;
	position: relative;
	padding: 0.2em 0.35em;
}
mark:before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--color);
	opacity: 0.1;
	border-radius: 3px;
}
.notification_field {
	border-radius: var(--br);
	padding: 3rem 2rem;
	background-color: var(--bg35);
	gap: 2.5rem;
	text-align: center;
}
.notification_field > .icon {
	width: 5rem;
	stroke: 1.0;
	color: var(--soft40);
}
.notification_field.success {
	background-color: var(--green95);
}
.notification_field.success > .icon {
	color: var(--green35);
}
.notification_field.success > p {
	color: var(--green30);
}




.btn.light.warn {
	--button_light_color: var(--red40);
}

#dome_ui, .dome_root {
	--green: #87c369;
	--orange: orange;
	--red: #e76b8a;
}
#dome_ui {
	gap: var(--m);
}
#dome_selected_timeslots {
	font-size: 1.4rem;
	font-variant: tabular-nums;
}
#dome_selected_timeslots li {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1rem 1.6rem 1rem 1rem;
    background: white;
    border-radius: var(--br_less);
}
#dome_selected_timeslots li:before {
    content: "";
    width: 0.5rem;
    height: 1.6rem;
    background-color: var(--color);
    border-radius: 0.4rem;
}
#dome_selected_timeslots li > span:last-of-type {
	margin-left: auto;
}
#dome_selected_timeslots:empty {
	display: none;
	margin-bottom: 0;
}
#dome_selected_timeslots:not(:empty) {
	padding: 1.5rem;
    border-radius: var(--br);
    background-color: var(--bg35);
	margin-bottom: var(--n15);
}
#dome_selected_timeslots:not(.dome_payment_link):empty + button,
#dome_selected_timeslots:not(.dome_payment_link):not(:empty) ~ .notification_field {
	display: none;
}

#dome_weekday_sel_icol {
	max-width: 20rem;
}
#dome_timeslots_wrap {
	font-size: 1.2rem;
}
.dome_timeslots_container {
	display: flex;
	gap: 0.6rem;
}
.dome_timeslots_column  {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	overflow: hidden;
}
.dome_timeslots_column > div,
.dome_timeslots_column > button {
    display: flex;
    height: 4rem;
    text-align: center;
    align-items: center;
    justify-content: center;
	background-color: var(--bg);
}
.dome_timeslots_column_times {
    font-variant: tabular-nums;
	flex: 1 0 fit-content;
	padding-right: 1.6rem;
}
.dome_timeslots_column_times > div {
	justify-content: flex-start;
}
.dome_timeslots_column > div:first-child {
    font-weight: 600;
    font-size: 1.4rem;
}
.dome_timeslots_column_times > div:first-child > span {
	display: none;
}
.dome_timeslot {
	position: relative;
}
.dome_timeslot.selected {
	--color: var(--prim) !important;
}
.dome_timeslot:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 0.5rem;
    background-color: var(--bg40);
}
button.dome_timeslot:hover:before {
	background-color: var(--bg30);
}
.dome_timeslot.selected:before {
    background-color: var(--color);
    opacity: 0.15;
}
.dome_timeslot:after {
	content: "";
    position: absolute;
    background-color: var(--color);
    opacity: 1;
    width: 1rem;
    height: 1rem;
    border-radius: 0.3rem;
	transition: 0.15s;
	animation: zoom_in 0.35s;
}
button.dome_timeslot:hover:after {
	scale: 1.5;
}
.admin_view .dome_timeslot_booked:after {
	display: none;
}
.admin_view .dome_timeslot_booked:before {
	background-color: var(--color);
	opacity: 0.1;
}
.admin_view .dome_timeslot_booked > span {
	position: relative;
	z-index: 1;
	margin: 0 0.5rem;
    padding: 0 0.5rem;
	text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
	color: var(--color);
	font-weight: 550;
}



.court_widget_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem;
	margin-bottom: 3.2rem;
}
.court_widget_title {
	margin: 0;
}
.court_widget_updated {
	font-size: 1.3rem;
	color: var(--soft);
}
.court_widget_grid {
	display: flex;
	gap: var(--m);
}
.court_status {
	padding-left: 2.2rem;
	position: relative;
	flex: 1 1 0%;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	--color: var(--soft70);
	--color_light: var(--bg30);
	--color_font: var(--soft40);
}
.court_status:before {
	content: "";
    position: absolute;
    left: 0;
    height: 100%;
    border-radius: 0.3rem;
    width: 0.4rem;
}
.court_status:before {
	background-color: var(--color);
}
.court_status_green {
	--color: var(--green);
	--color_light: var(--green95);
	--color_font: var(--green15);
}
.court_status_red {
	--color: var(--red);
	--color_light: var(--red95);
	--color_font: var(--red10);
}
.court_status_heading {
	margin-bottom: 1rem;
}
.court_status_name {
    font-family: inherit;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--color_font);
    padding: 0.3em 0.5em;
    display: inline-block;
    margin: 0;
    border-radius: 0.3rem;
	letter-spacing: 0.015em;
    background-color: var(--color_light);
}
.court_status_label {
	margin: 0px;
	font-size: 1.9rem;
	font-weight: 550;
	color: var(--font);
}
.court_status_text {
	font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
    color: var(--soft);
}
p.hero {
	text-align: center;
	font-weight: 400;
	line-height: 1.5;
	color: var(--prim25);
}

.hero_form_ui {
	padding-top: var(--n);
	padding-bottom: var(--n);
}
.hero_container {
	padding-left: var(--m);
}
.hero_form_container {
	padding-right: var(--m);
}
.hero_fig {
	position: relative;
	clear: both;	
}
.hero_fig > picture > img {
	position: relative;
	aspect-ratio: 1 / 1;
}
.hero_fig_backdrop:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgb(255 255 255), rgb(255 255 255 / 0%));
}
.hero_fig_backdrop img {
	opacity: 0.25;
}
.bounce_in {
	animation-name: bounce_in;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}

#preload {
	background-color: var(--bg30);
}

@keyframes bounce_in {
	from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
	from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
	20% { transform: scale3d(1.1, 1.1, 1.1); }
	40% { transform: scale3d(0.9, 0.9, 0.9); }
	60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
	80% { transform: scale3d(0.97, 0.97, 0.97); }
	to { opacity: 1; transform: none; }
}

.space_in {
	animation-name: space_in;
	animation-duration: 0.9s;
	animation-fill-mode: both;
	animation-delay: 0.5s;
}
@keyframes space_in {
	from { opacity: 0; transform: scale3d(10, 10, 10); }
	40% { opacity: 1; transform: scale3d(0.92, 0.92, 0.92); }
	65% { transform: scale3d(1.06, 1.06, 1.06); }
	82% { transform: scale3d(0.98, 0.98, 0.98); }
	to { opacity: 1; transform: none; }
}

.text_block a {
	color: var(--prim);
	font-weight: 550;
}
.text_block ul,
.text_block ol {
	padding-left: 1.8em;
}
.text_block ul {
	list-style-type: disc;
}
.text_block ol {
	list-style-type: decimal;
}
.text_block ul li::marker,
.text_block ol li::marker {
	color: var(--prim);
}

.features_container {
	padding-block: var(--n25);
}
.feature {
	height: 220dvh;
}
.feature:nth-child(even) > .feature_content {
	flex-direction: row-reverse;
}
.feature_content {
    display: flex;
    gap: var(--m);	
    position: sticky;
    top: 0;
    height: calc(100dvh - var(--bnav_height));
	padding-block: var(--n25);
	align-items: center;
}



.feature_media {
	display: flex;
    align-items: center;
	min-width: 540px;
	max-height: 1000px;
    height: 100%;
}
.feature_media > picture {
	max-height: 100%;
	aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 0 var(--br_less) var(--br_less) 0;
}
.feature:nth-child(even) .feature_media > picture {
    border-radius: var(--br_less) 0 0 var(--br_less);
}

/*
.features_container {
	margin-block: calc(var(--n25) * -1);
}
.feature_content {
	padding-block: 0;
}
.feature_media > picture {
	border-radius: 0 !important;
}
*/

.feature_media > picture > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.feature_text {
	align-self: center;
	display: flex;
	justify-content: center;
}
.feature_text > div {
	padding-right: var(--m);
	max-width: 650px;
}
.feature:nth-child(even) .feature_text > div {
	padding-left: var(--m);
	padding-right: 0;
}
.feature_image_settle {
	animation-name: feature_image_settle;
	animation-duration: 1.6s;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	animation-fill-mode: both;
	will-change: transform;
}
@keyframes feature_image_settle {
	from { transform: scale(1.04); }
	to { transform: none; }
}
.feature_progress {
	position: relative;
    float: left;
    clear: both;
    width: 150px;
    height: 2px;
    overflow: hidden;
    background-color: var(--b80);
    border-radius: 2px;
    margin-top: var(--n25);
}
.feature_progress:after {
	content: "";
	position: absolute;
	inset: 0;
	display: block;
	background-color: var(--accent);
	border-radius: inherit;
	transform: scaleX(var(--feature_progress_value, 0));
	transform-origin: left center;
	animation: none;
	will-change: transform;
}
.feature_media > picture {
	transform: translate3d(var(--feature_image_offset, 0px), 0, 0);
	animation: none;
	will-change: transform;
}


.price_list {
	margin: 0;
	margin-top: 1.2rem;
	padding: 0;
}
.price_list > div {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 2rem;
	padding: 1.3rem 0;
	border-bottom: 1px solid var(--b);
}
.price_list > div:last-child {
	border-bottom: none;
}
.price_list dt {
	margin: 0;
	padding: 0;
}
.price_list dd {
	margin: 0;
	padding: 0;
	text-align: right;
	white-space: nowrap;
}
.price_list dt span {
	display: block;
}
.price_list dt span:first-child,
.price_list dd {
	font-size: 1.8rem;
	font-weight: 550;
}
.price_list dt span:nth-child(2) {
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--soft);
}
.price_list dd {
	color: var(--red40);
}



.gal_thumbs_container .swiper-slide {
	height: auto;
}
.gal_thumb {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.gal_thumb > picture {
	aspect-ratio: 4 / 3;
}
.gal_thumb > img {
	width: 100%;
	height: 100%;
}
.gal_thumb > a {
	background-color: rgb(255 255 255 / 10%);
	opacity: 0;
	transition: 0.2s;
}

#main_gal {
	--swiper-theme-color: var(--font);
	--swiper-navigation-background: var(--bg35);
	--swiper-control-size: 2.0rem;
	--swiper-navigation-disabled-opacity: 0.2;
	--swiper-wrapper-left-offset: 0;
	--swiper-wrapper-right-offset: 0;
}
#main_gal .swiper-button {
	position: relative;
	right: auto;
	left: auto;
	top: auto;
	margin-top: 0;
}
.mask_view .swiper-button:not(:hover) {
	color: white;
}





@media screen and (hover: hover) and (pointer: fine) {
.bottom_nav_item:hover {
	color: var(--prim);
	transform: translateY(-2px);
}
header a:hover >.logo_monkey_svg {
	transform: translateY(-5%);
	opacity: 1;
}
.gal_thumb > a:hover {
	opacity: 1;
}
header nav a:hover {
	color: var(--prim);
	text-decoration: none;
}
}
@media screen and (hover: none) and (pointer: coarse) {
main:has(input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):focus) > .bottom_nav_container,
main:has(textarea:focus) > .bottom_nav_container,
main:has(input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):focus):before,
main:has(textarea:focus):before {
    opacity: 0;
	transition: opacity 0.2s;
}
}
@media screen and (min-width: 1101px) and (min-height: 1400px),
screen and (min-width: 1101px) and (aspect-ratio < 16 / 9) {
	.feature,
	.feature_content {
		height: auto;
	}
	.feature_progress {
		display: none;
	}
}
@media screen and (max-width: 1480px) {
:root {
	--m: 70px;
}
}
@media screen and (max-width: 1360px) {
.feature_content {
	gap: var(--m100);	
}
}
@media screen and (max-width: 1260px) {
:root {
	--m: 55px;
	--h2_base: 3.0rem;
}
.hero_container {
	padding-left: 0;
}
.hero_top {
	padding-inline: var(--m);
}
}
@media screen and (max-width: 1200px) {
:root {
	--p_fontsize: 1.7rem;
}
nav.bottom_nav {
	padding-inline: var(--m);
}
footer {
	padding-inline: 0;
}
.footer_top {
	border-radius: 0;
}
nav.bottom_nav > *,
.footer_legal {
	font-size: 1.5rem;
}
.hero_form_container {
	padding-left: var(--m);
}
}
@media screen and (max-width: 1100px) {
:root {
	--m: 5.5vw;
	--h1_base: 4.6rem;
	--h2_base: 2.9rem;
}
#dome_ui {
	flex-direction: column;
	gap: var(--n35);
}
#dome_ui > .box.small {
	max-width: var(--box_mini);
}
.hero_form_ui {
	flex-direction: column;
}
.hero_fig {
	margin: 0 auto;
    max-width: var(--box);
}
.hero_fig > picture > img {
	margin-bottom: -25%;
}
.hero_form_container > .box {
	box-sizing: content-box;
	padding: var(--n35) var(--m);
    border-radius: var(--br);
    background-color: rgb(255 255 255 / 80%);
    backdrop-filter: blur(15px);
    box-shadow: 0 0 5rem var(--shadow70);
}
.feature, .feature_content {
    height: auto;
}
.feature_content {
	padding: 0;
	gap: var(--n25);
}
.feature_content,
.feature:nth-child(even) > .feature_content {
	flex-direction: column;
}
.feature_media {
	padding: 0 var(--m);
	min-width: 0;
}
.feature_media > picture,
.feature:nth-child(even) .feature_media > picture {
	border-radius: var(--br);
	aspect-ratio: 4 / 2;
}
.feature:nth-child(even) .feature_text > div {
	padding-left: 0;
}
.feature_text {
	padding-inline: var(--m);
}
.features_container {
	margin: 0;
	gap: var(--n);
	padding-block: var(--n);
}
.feature_progress {
	display: none;
}
.feature_media > picture {
	transform: none;
}
}
@media screen and (max-width: 999px) {
.dn999 {
	display: none;
}
.d999 {
    display: unset;
}
.bottom_nav_item:nth-child(2) {
	display: none;
}
.footer_top {
	flex-direction: column;
	gap: var(--n);
}
.footer_blocks {
	text-align: center;
}
.footer_varblock {
	align-items: center;
	flex-direction: column;
	gap: var(--n25);	
}
nav.bottom_nav > * {
	flex: 1;
	margin: 0;
	padding: 0;
}
}
@media screen and (max-width: 880px) {
body {
    -webkit-text-size-adjust: 100%;
}
.dn880 {
	display: none;
}
.d880 {
    display: unset;
}
nav.bottom_nav > * {
	font-size: 1.5rem;
}
nav.bottom_nav .icon {
	width: 2.3rem;
}
}
@media screen and (max-width: 740px) {
:root {
	--m: 37px;
	--h1_base: 4.2rem;
	--h2_base: 2.7rem;
}
.dn740 {
	display: none;
}
.d740 {
    display: unset;
}
}
@media screen and (max-width: 696px) {
:root {
	--m: 35px;
	--bnav_height: calc(7.7rem + env(safe-area-inset-bottom));
}
.dn696, .sumsy_iframe, .sumsy_mode_mum {
	display: none;
}
.d696 {
    display: unset;
}
.mask_view.popup_container {
    padding: var(--n) 0 0 0;
	justify-content: flex-end;
}
.popup {
    max-width: none;
	border-radius: var(--br) var(--br) 0 0;
}
.bottom_nav_item {
	flex-direction: column;
}
nav.bottom_nav > * {
	font-size: 1.3rem;
	gap: 0.7rem;
}
.bottom_nav_item:nth-child(4) > span {
	display: none;
}
nav.bottom_nav .icon {
	width: 2.2rem;
}
.footer_legal_pages {
	justify-content: center;
}
.footer_legal {
	height: auto;
	padding-block: var(--n15);
	flex-direction: column-reverse;
	text-align: center;
	gap: 1rem;
    font-size: 1.3rem;
	background-color: var(--bg40);
	border-top: 1px solid var(--b70);
}
.top.full {
	height: calc(100svh - var(--bnav_height) - var(--bnav_spacer));
	max-height: 600px;
}
.top_logo_wrap {
	padding-bottom: 0;
}
}
@media screen and (max-width: 620px) {
:root {
	--m: 31px;
}
html {
	font-size: 9.5px;
	font-size: 59.375%;
}
.dn620 {
	display: none;
}
.d620 {
	display: unset;
}
.mask_view.popup_container {
	padding: var(--n35) 0 0 0;
}
.hero_form_container > .box {
	box-sizing: border-box;
}
.top_logo_wrap .logo_svg {
    width: 23rem;
}
.gal_thumb > picture {
	aspect-ratio: 1;
}
}
@media screen and (max-width: 506px) {
:root {
	--m: 25px;
	--h1_base: 3.9rem;
	--h2_base: 2.6rem;
}
.dn506 {
	display: none;
}
.d506 {
    display: unset;
}
.popup_header, .popup_content {
	--pu_padding: var(--m);
}
.footer_blocks > section > h2 {
	margin-bottom: 2rem;
}
.footer_blocks {
    flex-direction: column;
	gap: var(--n35);
}
nav.bottom_nav {
	padding-inline: 0;
}
.hero_form_container {
	padding-inline: 0;
}
.top_logo_wrap .logo_svg {
    width: 21rem;
}
}
@media screen and (max-width: 475px) {
:root {
	--m: 24px;
	--h1_base: 3.7rem;
}
html {
	font-size: 9px;
	font-size: 56.25%;
}
.dn475 {
	display: none;
}
.d475 {
    display: unset;
}
.court_widget_header {
    flex-direction: column;
	align-items: flex-start;
}
.court_widget_grid {
    flex-direction: column;
    gap: var(--n15);
}
.hero_form_container > .box {
	max-width: 100%;
	border-radius: var(--br) var(--br) 0 0;
	padding-bottom: var(--n);
}
.hero_form_ui {
	padding-bottom: 0;
}
.court_status_bar {
	gap: 1rem;
}
}
@media screen and (max-width: 413px) {
:root {
	--m: 22px;
	--h1_base: 3.5rem;
	--h2_base: 2.5rem;
	--hmain: 65px;
}
.dn413 {
	display: none;
}
.d413 {
    display: unset;
}
.dome_timeslots_header {
	flex-direction: column;
	gap: var(--n15);
}
}
@media screen and (max-width: 380px) {
:root {
	--m: 20px;
	--h1_base: 3.3rem;
}
.dn380 {
	display: none;
}
.d380 {
    display: unset;
}
}
@media screen and (max-width: 355px) {
:root {
	--m: 18px;
	--h1_base: 3.1rem;
}
.dn355 {
	display: none;
}
.d355 {
    display: unset;
}
.top_logo_wrap .logo_svg {
    width: 20rem;
}
}