/* /Public/CSS/Root/Site/MainMenu.css */

.first-screen-sandwich {
	border-radius: var(--border-radius);
	aspect-ratio: 1 / 1;
	background: hsl(from var(--theme-bg-dark) h s l / 10%);
	overflow: hidden;
	cursor: pointer;
}
.first-screen-sandwich,
.first-screen-sandwich > .btn__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap:7.5%;
	height: 100%;
}
.first-screen-sandwich > .btn__content {
	width: 100%;
}
.first-screen-sandwich__line {
	aspect-ratio: 37 / 6;
	width: 40%;
	border-radius: 10px;
	background: hsl(from var(--theme-bg-dark) h s calc(l + 55));
}

.first-screen-sandwich__text {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top:100%;
	left: 0;
	right: 0;
	height: 100%;
	transition: top 0.3s ease 0s;
	font-weight: 600;
}

body:not(.menu-open) .first-screen-sandwich__line {
	top:0;
	transition: top 0.3s ease 0s;
}

@media (hover: hover) {
	body:not(.menu-open) .first-screen-sandwich:hover .first-screen-sandwich__line {
		top:-100%;
	}
	body:not(.menu-open) .first-screen-sandwich:hover .first-screen-sandwich__text {
		top:0;
	}
}

.menu-open .first-screen-sandwich__text,
.menu-open .first-screen-sandwich__line_3 {display: none}
.menu-open .first-screen-sandwich__line {
	position: absolute;
	top:46%;
	left:30%;
	background: hsl(from var(--theme-bg-dark) h s calc(l + 30));
}
.menu-open .first-screen-sandwich__line_1 {
	transform: rotate(45deg);
}
.menu-open .first-screen-sandwich__line_2 {
	transform: rotate(-45deg);
}

.first-screen-menu {
	background: hsl(from var(--theme-bg-light) h s l / 88%);
	backdrop-filter: blur(5px);
	display: none;
	container: menu / inline-size;
}
.first-screen-menu-nav {
	max-height: 100%;
	overflow: auto;
}
.first-screen-menu-nav-item {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	font-size: clamp(1rem, 5.5cqw, 1.4285rem);
}
.first-screen-menu-link {
	font-weight: 600;
	padding: 0.3em;
	display: inline-block;
}
button.first-screen-menu-link {
	background: transparent;
	color: var(--link-color);
}
button.first-screen-menu-link:hover {
	text-decoration: underline;
	text-underline-offset: 0.23em;
	text-decoration-skip-ink: none;
}

.menu-open .first-screen-menu {
	display: block;
	z-index: var(--z-index-menu);
}


@media all and (max-width: 939px) {
	.first-screen-menu {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: max(50vw, 250px);
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}
	
	.menu-open .first-screen-sandwich {
		position: fixed;
		z-index: calc(var(--z-index-menu) + 1);
		top:calc(10px + var(--padding-l));
		right: calc(10px + var(--padding-l));
		height: 44px;
	}
}

@media all and (min-width: 940px) {
	.first-screen-menu {
		position: absolute;
		inset:0;
	}
}

/* /Public/CSS/Templates/FirstScreenMain.css */
.first-screen-left {
	background: white;
	display: flex;
	flex-direction: column;
	container: first-screen-left / inline-size;
}
.first-screen-img {
	background: 50% 50% / cover no-repeat;
}
.first-screen-header {
	display: flex;
	justify-content: space-between;
	height: clamp(44px, 14.4cqw, 95px);
	flex-shrink: 0;
}
.first-screen-logo {
	aspect-ratio: 48 / 19;
	border-radius: var(--border-radius);
	background: var(--theme-bg-dark) 50% 50% / cover no-repeat;
	height: 100%;
}
a.first-screen-logo {
	display: block;
}

.first-screen-title {
	font-weight: bold;
	line-height: 1.1;
	text-wrap: balance;
	margin-top: 2em;
	margin-bottom: 1em;
	flex-grow: 5;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.first-screen-title__small {
	font-weight: 600;
	font-size: 0.6em;
	display: block;
	margin-top: 0.5em;
}

.first-screen-buttons {
	display: flex;
	flex-grow: 2;
	align-items: flex-start;
	justify-content: flex-start;
}

@container (max-width: 479.99px) {
	.first-screen-buttons {
		flex-direction: column;
		gap:1em;
	}
	.first-screen-buttons > .btn {
		width: min(20em, 100%);
	}
}

@container (min-width:480px) {
	.first-screen-buttons {
		gap:1em clamp(1em, 2.8vw, 2.4285em);
	}
}

@media all and (max-width: 939px) and (orientation: portrait) {
	.first-screen-left {
		min-height: calc(100vw - 20px);
	}
}

@media all and (max-width: 939px) {
	.first-screen > * {
		width: 100%;
	}
	.first-screen-title {
		font-size: clamp(2.6rem, 9cqw, 4.2857rem);
	}

}

@media all and (min-width: 940px) {
	.first-screen-left {
		min-height: 80vh;
	}
	.first-screen-title {
		font-size: clamp(2rem, 5vw, 4.2857rem);
	}
}
