html.noscroll,
.noscroll body,
html.rehtiPopupOpened > body {
	position: static !important;
}
h1, h2, h3 {
	font-weight: 700;
	word-break: break-word;
}
h1, div#container div.news_article_title.section_title h1 { 
	font-size: 40px; 
}
@media screen and (min-width: 1024px) {
	h1, div#container div.news_article_title.section_title h1 {
		font-size: 50px;
	}
}
#header_image_wrapper :is(h1, h2) { 
	font-size: 40px; 
	color: #fff; 
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 1024px) {
	#header_image_wrapper :is(h1, h2) {
		font-size: 50px; 
	}
}
h2 { 
	font-size: 28px; 
}
@media screen and (min-width: 1024px) {
	h2 {
		font-size: 40px;
	}
}
h3, div.news_item .formatted_text.news_sections h2 { 
	font-size: 24px; 
}
@media screen and (min-width: 1024px) {
	h3, div.news_item .formatted_text.news_sections h2 { 
		font-size: 30px;
	}
}
strong {
	font-weight: var(--text-bold-weight);
}
#back_to_top {
	display: none;
}
body:has(div.show_cards, div.servings_wrapper, div.servings_checkout_wrapper) #back_to_top {
	display: block;
}
#back_to_top a {
	color: #fff;
	background-color: var(--color-beige);
}
.proceed, .proceed:hover {
	font-weight: 700;
	color: var(--color-black);
	background-color: var(--color-beige);
	font-family: 'span';
	min-height: 44px;
	display: inline-block;
	line-height: 1.2;
	padding: 0 25px;
	align-content: center;
	overflow: visible;
}
.editor_formatted_text a.proceed:active {
	color: var(--color-black);
} 
.proceed::before {
	display: none;
}
.proceed.white, .proceed.white:hover{
	background-color: white;
}
a.proceed.external {
	padding-right: 40px;
}
a.proceed.external::before {
	content: '\e948';
	font-family: 'rehti_icon';
	display: inline-block;
	position: absolute;
	top: 40%;
	right: 10px;
	left: unset;
	bottom: unset;
	transform: rotate(-45deg);
	background: transparent;
	opacity: 1;
	font-size: 13px;
}
.add-show-product.proceed::after,
#servings_products_cart_parent_wrapper .proceed::after,
#floating_continue_button .proceed::after,
#rehtiPopup #popup_box.servings_popup .proceed::after,
#container .show_cards .proceed::after,
#container .servings_wrapper .proceed::after,
#container:not(.adm) :is(.editor_formatted_text, .formatted_text) .proceed::after,
#container:not(.adm) :is(.editor_formatted_text, .formatted_text) a.proceed::after,
div.floater_container a.proceed::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 8px;
	left: 8px;
	border: 1px solid var(--color-beige);
	margin-left: 0;
	transition: all 0.3s ease;
}
#servings_products_cart_parent_wrapper .proceed.white::after,
#floating_continue_button .proceed.white::after,
#rehtiPopup #popup_box.servings_popup .proceed.white::after,
#container .show_cards .proceed.white::after,
#container .servings_wrapper .proceed.white::after,
#container:not(.adm) .editor_formatted_text .proceed.white::after,
#container:not(.adm) .editor_formatted_text a.proceed.white::after,
div.floater_container a.proceed.white::after {
	border:1px solid white;
}
.add-show-product.proceed:hover::after,
#servings_products_cart_parent_wrapper .proceed:hover::after,
#floating_continue_button .proceed:hover::after,
#rehtiPopup #popup_box.servings_popup .proceed:hover::after,
#container .show_cards .proceed:hover::after,
#container .servings_wrapper .proceed:hover::after,
#container:not(.adm) :is(.editor_formatted_text, .formatted_text) .proceed:hover::after,
#container:not(.adm) :is(.editor_formatted_text, .formatted_text) a.proceed:hover::after,
div.floater_container a.proceed:hover::after {
	top: 0;
	left: 0;
}
.proceed::after {
	pointer-events: none;
}
.highlight_text {
	font-weight: var(--text-bold-weight);
	color: var(--color-beige);
}
.highlight_text_big {
	font-size: 1.1em;
	font-weight: var(--text-bold-weight);
	color: var(--color-beige);
}
#noresults_page_search {
	display: none;
}
.login_other_actions a:after {
	text-decoration: none;
	display: inline-block !important;
}
.formatted_text ul:not(.slides):not(.flex-direction-nav) li, ul.marked li, .formatted_text ol li {
	margin: 0 0 5px 20px;
}
.formatted_text ul:not(.slides):not(.flex-direction-nav) li:before, ul.marked li > a:before {
	font-size: 0.3em;
	top: 7px;
}
div.mfp-content img.mfp-img {
	max-height: calc(100vh - 80px) !important;
}
div.search_sections {
	padding-top: var(--section-top-padding);
}
div.search_sections a.title {
	color: var(--color-black);
}
div.search_section:where(.info_page, .store) a.url {
	font-size: 14px;
}
#header_mobile span.cart_amount > span {
	background: var(--color-beige);
	top: 25px;
	left: calc(50% - 5px);
}
.ingress-style {
	font-size: 18px;
}
@media (min-width: 1024px) {
	.ingress-style {
		font-size: 20px;
	}
}


#header_mobile > ul {
	padding: 0 var(--main-x-padding);
}
#header_mobile > ul li + li {
	border-left: none;
}
#header_mobile > ul li.logo {
/*	width: 33.33%;*/
	width: calc(100% - 3 * 60px);

}
#header_mobile > ul li.logo a {
	display: inline-block;
	margin-left: 15px;
}
#header_mobile > ul li:not(.logo) {
/*	width: calc(66.67% / 4);*/
	width: 60px;
}
#header_mobile > ul > li span.name {
	display: none;
}
#header_mobile > ul li.logo svg {
	height: 60px;
}
#header_mobile .icon-search::before,
button.hakunappi .icon-search::before {
	font-family: 'rehti_icon' !important;
	content: '\e94a';
}
button.hakunappi .icon-search {
	padding-top: 1px;
}
#header_mobile .iconmoon-omat-tiedot::before {
	content: '\e94d';
}
#header_mobile .shopping-cart-icon::before {
	font-family: 'rehti_icon';
	content: '\e94b';
}
#header_mobile span.hamburger_animated {
	top: 0;
}
#header_mobile span.hamburger_animated {
	width: 24px;
	height: 16px;
}
#header_mobile span.hamburger_animated > span {
	height: 1.25px;
	border-radius: 1.25px;
}
#header_mobile span.hamburger_animated > span:nth-child(2), #header_mobile span.hamburger_animated > span:nth-child(3) {
	top: 7.75px;
}
#header_mobile span.hamburger_animated > span:nth-child(4) {
	top: 14.75px;
}


#header .search_wrapper .hakukentta:focus-visible {
	box-shadow: none;
	outline: none;
}


@media (min-width: 1024px) {
	#header {
		position: relative;
	}
	#header + #header_push {
		height: 0;
	}
	#header #logo_wrapper {
		height: var(--desktop-header-height);
		align-content: center;
	}
	#header #logo_wrapper svg {
		height: 90px;
	}
	@media (max-width: 1366px) {
		#header #logo_wrapper svg {
			height: 70px;
		}
	}
	#header #logo_wrapper.beta::after {
		left: 0;
		top: 5px;
		transform: none;
	}


	#header #cart_wrapper {
		position: absolute;
		right: var(--main-x-padding);
		bottom: 30px;
		display: none;
	}
	#header #cart_wrapper .cart_box {
		width: 35px;
		height: 35px;
	}
	#header #cart_wrapper .cart_box > a {
		background-color: transparent;
	}
	#header #cart_wrapper .cart_box > a i::before {
		content: '\e94b';
		font-family: 'rehti_icon';
		font-size: 20px;
	}
	#header #cart_wrapper .cart_box > a:after {
		background-color: transparent;
	}


	#header div.search_wrapper {
		position: absolute;
/*		right: calc(var(--main-x-padding) + 110px);*/
		right: calc(var(--main-x-padding) + 55px);
		bottom: 29px;
		background-color: transparent;
	}
	#header .search_wrapper .head_search .search_form {
		grid-template-columns: 1fr 0 var(--desktop-header-search-button-width) !important;
	}
	#header .search_wrapper .head_search .search_btn {
		height: 35px;
		min-height: 35px;
		background-color: transparent;
	}
	#header .search_wrapper .head_search .search_btn:hover {
		padding: unset;
	}
	#header .search_wrapper .head_search .search_btn i::before {
		content: '\e94a';
		font-family: 'rehti_icon';
		font-size: 20px;
	}
	#header .search_wrapper .head_search .search_btn::before {
		display: none;
	}
	#header .search_wrapper .head_search .hakukentta {
		border: none;
		box-shadow: 0 3px 0 var(--color-beige);
		outline: none;
		min-height: auto;
		position: relative;
	}
	#header .search_wrapper .head_search .search_navi_cancel {
		visibility: hidden !important;
	}


	#header div.header_sect.sect_2 > div > div {
		position: unset;
	}
	#header #nav {
		position: absolute;
		bottom: calc(var(--desktop-header-sect1-height) / 2 - 25px);
		left: 50%;
		transform: translateX(-50%);
		text-align: right;
		width: 100%;
		max-width: var(--wrapper-max-width);
	}
	#header #nav_menu li.customer {
		position: absolute;
		right: calc(var(--main-x-padding) + 55px);
		bottom: 7px;
	}
	#header #nav_menu li.customer a span span {
		display: none;
	}
	#header #nav_menu > li.customer > a > span {
		padding-bottom: unset;
		border-bottom: none;
		display: inline-block;
		width: 35px;
		height: 35px;		
	}
	#header #nav_menu li.customer a {
		width: 35px;
		height: 35px;
		align-content: center;
		padding: 0;
	}
	#header #nav_menu li.customer a i {
		margin-right: 0;
		position: relative;
		top: -5px;
	}
	#header #nav_menu li.customer a i::before {
		content: '\e94d';
		font-family: 'rehti_icon';	
		font-size: 20px;
	}
	#header #nav_menu > li {
		padding-bottom: 0px;
	}
	#header #nav_menu > li > a {
		--x-padding: 20px;

		font-family: 'span';
		font-weight: 700;
		font-size: 18px;
		padding: 0 var(--x-padding);
	}
	@media (max-width: 1199.90px) {
		#header #nav_menu > li > a {
			--x-padding: 10px;
		}
	}
	@media (max-width: 1365.90px) {
		#header #nav_menu > li > a {
			font-size: 16px;
		}
	}
	#navs li.on > a, #navs li:hover > a, #navs a:active, #navs a:focus {
		color: var(--color-black);
	}
	#header #nav_menu > li > a::after {
		content: '';
		width: calc(100% - (2 * var(--x-padding)));
		height: 3px;
		background: var(--color-beige);
		position: absolute;
		bottom: 5px;
		left: var(--x-padding);
		opacity: 0;
		transition: opacity 0.2s ease;
	}	
	#nav_menu > li > a > span {
		font-size: unset;
	}
	#nav_menu > li.on > a > span,
	#nav_menu > li > a:hover > span,
	#nav_menu > li:hover > a > span {
		border: none;
	}
	#header #nav_menu > li.on > a::after,
	#header #nav_menu > li > a:hover::after,	
	#header #nav_menu > li:hover > a::after,	
	#header #nav_menu > li.opened > a::after {		
		opacity: 1;
	}
	#header nav.v1 #nav_menu > li.has_subs > a > span:after {
		display: none;
	}
	#header #nav li.has_subs > div.inner_nav_wrap {
		box-shadow: none;
		border-top-width: 1px;
		left: -10px;
		padding: 20px;
		min-width: 200px;
	}
	@media (min-width: 1200px) {
		#header #nav li.has_subs > div.inner_nav_wrap {
			left: 0;
			min-width: 260px;
		}
	}
	#header #nav_menu ul li {
		border: none;
		margin-bottom: 10px;
		text-align: left;
	}
	#header #nav_menu ul li:last-of-type {
		margin-bottom: 0;
	}
	#header #nav_menu ul li a {
		display: block;
		padding: 0;
		height: unset;
		font-family: 'span';
		font-weight: 700;
		font-size: 16px;
		white-space: nowrap;
	}
	#header #nav_menu ul li.on a span {
		position: relative;
		padding-bottom: 2px;
	}
	#header #nav_menu ul li.on a span::after {
		content: '';
		width: 100%;
		height: 2px;
		background: var(--color-beige);
		position: absolute;
		left: 0;
		bottom: 0;
	}
	@media (max-width: 1190.90px) {
		#header #nav_menu ul li a {
			font-size: 14px;
		}
	}
	#header #nav_menu ul li a::before {
		display: none;
	}
}

/** Mobile nav */
@media(max-width: 1023.9px){
	#header #navs > nav {
		padding-bottom: var(--mobile-header-height);
	}
	#navs > nav a{
	    font-family: 'span';
	}
	#navs > nav .inner_nav_wrap{
		padding-left:32px;
	}
	#header #navs nav li > a{
		padding:18px 32px;
	}
	#navs > nav .inner_nav_wrap a{
		font-size: 14px;
	}
	#header #navs nav li .open_submenu{
		width:80px;
		padding:0;
		text-align: center;
		margin:0;
		border-left:1px solid var(--generic-background-color4);
	}
	#header #navs nav li .open_submenu:before{
		font-size: 7px;
		font-family: 'rehti_icon';
	}
	#header #navs nav li .open_submenu.icon-down-open:before{
		content:"\e959";
	}
	#header #navs nav li .open_submenu.icon-up-open:before{
		content:"\e958";
	}
	
	#header #navs.no_paging nav li.has_subs > a {
	    width: calc(100% - 80px);
	}
}



#header_image_slider_wrapper ._SLIDER > .slide_wrapper:not(.respect_aspect_ratio),
#header_video_wrapper .slide_wrapper:not(.respect_aspect_ratio) {
	min-height: 400px;
}
#container.page-index #header_image_slider_wrapper ._SLIDER > .slide_wrapper:not(.respect_aspect_ratio),
#container.page-index #header_video_wrapper .slide_wrapper:not(.respect_aspect_ratio) {
	min-height: 600px;
	height: calc(100svh - var(--mobile-header-height));
}
@media (min-width: 1200px) {
	#header_image_slider_wrapper ._SLIDER > .slide_wrapper:not(.respect_aspect_ratio),
	#header_video_wrapper .slide_wrapper:not(.respect_aspect_ratio) {
		min-height: 652px;
	}
	#container.page-index #header_image_slider_wrapper ._SLIDER > .slide_wrapper:not(.respect_aspect_ratio),
	#container.page-index #header_video_wrapper .slide_wrapper:not(.respect_aspect_ratio) {
		min-height: 810px;
		height: calc(100dvh - var(--desktop-header-height));
	}	
}
#header_video_wrapper .slide_wrapper:not(.respect_aspect_ratio) {
	padding-top: 0 !important;
}
#header_video_wrapper.set_aspect_ratio #header_first_slide video {
	height: 100%;
	object-fit: cover;
	object-position: center;
}
#header_image_navigation_buttons {
	display: none;
}
.slider_main_wrapper .indicators_wrapper {
	bottom: 50px;
}
.slider_main_wrapper .indicators_wrapper .indicator_icon {
	width: 10px;
	height: 14px;
	background: transparent;
}
.slider_main_wrapper .indicators_wrapper .indicator_icon::before {
	content: '\e949';
	font-family: 'rehti_icon';
	color: #fff;
}
.slider_main_wrapper .indicators_wrapper .indicator_icon.selected {
	background: transparent;
}
.slider_main_wrapper .indicators_wrapper .indicator_icon.selected::before {
	color: var(--color-beige);
}
#header_image_wrapper .slide_wrapper::before {
	--border-margin: 16px;
	--border-inset: 24px;

	content: '';
	position: absolute;
	width: calc(100% - (2 * var(--border-margin)));
	height: calc(100% - (2 * var(--border-margin)));
	top: var(--border-margin);
	left: var(--border-margin);
	z-index: 2;	
	border: 1px solid #f7f6f3;
	opacity: 0.2;
	clip-path: polygon(
		0 var(--border-inset),
		var(--border-inset) 0,
		calc(100% - var(--border-inset)) 0,
		100% var(--border-inset),
		100% calc(100% - var(--border-inset)),
		calc(100% - var(--border-inset)) 100%,
		var(--border-inset) 100%,
		0% calc(100% - var(--border-inset))
	);
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-reunaviiva-kulma-1.svg'), url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-reunaviiva-kulma-2.svg'), url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-reunaviiva-kulma-3.svg'), url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-reunaviiva-kulma-4.svg');
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: top left, top right, bottom right, bottom left;
	background-size: var(--border-inset) var(--border-inset), var(--border-inset) var(--border-inset), var(--border-inset) var(--border-inset), var(--border-inset) var(--border-inset);
}
@media (min-width: 1024px) {
	#header_image_wrapper .slide_wrapper::before {
		--border-margin: 20px;
	}
}
#header_image_wrapper .slide_wrapper::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(21,7,12,1) 100%);
	z-index: 1;
}
#header_image_wrapper .slide_content {
	position: relative;
	z-index: 2;
	color: #fff;
	text-align: center;
	text-wrap: balance;
}
#header_image_wrapper .slide_content p {
	text-shadow: 0 0 10px var(--color-black);
	margin-bottom: 24px;
	font-size: 18px;
}
#header_image_wrapper .slide_content :is(h1, h2) {
	text-shadow: 0 0 50px var(--color-black);
	font-size: 36px;
	margin-bottom: 24px;
}
#header_image_wrapper .slide_content div.buttons {
	margin-top: 56px;
}
#header_image_wrapper .slide_content a.proceed {
	width: auto;
	margin: 0 20px 32px 20px;
	text-shadow: none;
}
#header_image_wrapper .slide_content a.proceed::after {
	width: 100%;
}
#header_image_wrapper .slide_content h1.header_overlay_basic:has(+ a.proceed) {
	margin-bottom: 40px;
}
#container.page-index #header_image_wrapper .slide_content > * {
	transition: none;
	opacity: 1;
	transform: translateY(0);
}
@keyframes first_slide_content {
	0% { opacity: 0; transform: translateY(20px); }
	100% { opacity: 1; transform: translateY(0); }
}
#container.page-index #header_image_wrapper #header_first_slide .slide_content > * {
	opacity: 0;
	animation: first_slide_content 0.5s ease 1s 1 forwards;
}
@media (min-width: 1024px) {
	#header_image_wrapper .slide_content p {
		font-size: 20px;
		margin-bottom: 32px;
	}
	#header_image_wrapper .slide_content :is(h1, h2) {
		font-size: 54px;
	}
	#header_image_wrapper .slide_content div.buttons {
		text-align: center;
	}
	#header_image_wrapper .slide_content a.proceed {
		margin-bottom: 0;
		font-size: 16px;
	}	
}


#polku {
	background: #fff;
	display: none;
}
#polku li:hover a, #polku li.on {
	color: var(--color-black);
}
#polku ul li, #polku ul li a {
	font-size: 14px;
}
#polku ul li:after {
	content: '›';
	font-size: 12px;
	color: var(--color-black);
}
#polku + * {
	margin-top: 0;
}
#polku + div:is(.h1_wrapper, .sections) {
	margin-top: 40px;
}


#extranavi_resp {
	display: none;
}
#polku + #extranavi_resp {
	margin: 0;
}
@media (min-width: 1024px) {
	#extranavi_resp {
		display: block;
		padding-top: 40px;
	}
	#extranavi_resp > div {
		justify-content: center;
		border-bottom: 1px solid var(--color-hr);
	}
	#extranavi_resp a:link, #extranavi_resp a:visited {
		font-size: 14px;
		font-family: 'span';
		font-weight: 700;
		background: none;
		color: var(--color-beige);
		padding: 0 0 10px 0;
		margin: 0 10px;
		line-height: 1.2;
		position: relative;
		white-space: nowrap;
	}
	#extranavi_resp a:is(.on, :hover) {
		color: var(--color-black);
	}
	#extranavi_resp a::after {
		content: '';
		width: 100%;
		height: 3px;
		background: var(--color-beige);
		position: absolute;
		bottom: 0;
		left: 0;
		opacity: 0;
		transition: opacity 0.2s ease;
	}
	#extranavi_resp a:is(.on, :hover)::after {
		opacity: 1;
	}
}
@media (min-width: 1400px) {
	#extranavi_resp a:link, #extranavi_resp a:visited {
		font-size: 16px;
		margin: 0 15px;
	}
}


#footer {
	padding: 64px var(--main-x-padding) 0 var(--main-x-padding);
	background: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-footer.jpg') no-repeat top center;
	background-size: cover;
}
#footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #15070C;
	opacity: 0.9;
}
#footer > div > div:not(.fullwidth) {
	padding: 0;
}
#footer div.footer_sections div.table > div.sect {
    padding: 0;
}
#footer div.footer_sections div.sect :where(p, ul) {
	margin-bottom: 40px;
}
@media (min-width: 1024px) {	
	#footer div.footer_sections > div {
		width: 100%;
		left: 0;
	}
	#footer div.pagesectioncontainer.footer_contact {
		padding-bottom: 40px;
	}
}
body:has(#container) div.pagesectioncontainer.footer_contact div.table.col-2 {
	display: flex;
	gap: 100px;
}
@media (max-width: 1023.90px) {
	#footer div.pagesectioncontainer.footer_contact div.table.col-2 div.sect {
		flex-basis: 100%;
	}
	#footer div.pagesectioncontainer.footer_contact div.table.col-2 div.sect:last-of-type {
		display: none;
	}
}
@media (min-width: 1024px) {
	#footer div.pagesectioncontainer.footer_contact div.table.col-2 div.sect:first-of-type {
		flex-basis: 50%;
	}
	#footer div.pagesectioncontainer.footer_contact div.table.col-2 div.sect:last-of-type {
		flex-basis: 50%;
		padding-top: 60px;
	}
}
@media (min-width: 1366px) {
	#footer div.pagesectioncontainer.footer_contact div.table.col-2 div.sect:first-of-type {
		flex-basis: 55%;
	}
	#footer div.pagesectioncontainer.footer_contact div.table.col-2 div.sect:last-of-type {
		flex-basis: 45%;
	}
}
#footer div.pagesectioncontainer.footer_contact img {
	margin-bottom: 40px;
}
#footer div.pagesectioncontainer.footer_contact ul.contact {
	list-style-type: none;
}
#footer div.pagesectioncontainer.footer_contact ul.contact li + li {
	margin-top: 16px;
}
#footer div.pagesectioncontainer.footer_contact p {
	max-width: 350px;
}
@media (max-width: 1023.90px) {
	#footer div.pagesectioncontainer.footer_contact p {
		margin-inline: auto;
	}
}
@media (min-width: 1024px) {
	#footer div.pagesectioncontainer.footer_contact p {
		max-width: 470px;
	}
}
#footer div.pagesectioncontainer.footer_contact a {
	text-decoration: none;
}
#footer div.footer_sections div.sect p.title {
	font-family: 'span';
	font-size: 18px;
	margin-bottom: 20px;
}
#footer div.some {
	margin-bottom: 40px;
}
#footer div.some i::before,
#footer div.some i:hover::before {
	background-color: transparent;
	font-size: 24px;
}
@media (min-width: 1024px) {
	#footer h3:has(+ div > div.some) {
		padding-top: 40px;
		position: relative;
	}
	#footer h3:has(+ div > div.some)::before {
		content: '';
		max-width: 470px;
		width: 100%;
		height: 1px;
		display: block;
		background: var(--color-hr);
		opacity: 0.6;
		position: absolute;
		top: 0;
		left: 0;
	}
}
#footer ul.footer_sitemap {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	max-height: 600px;
	gap: 40px 20px;
	justify-content: flex-start;
}
#footer ul.footer_sitemap > li {
	width: 50%;
}
@media (min-width: 1366px) {
	#footer ul.footer_sitemap {
		max-height: 500px;
		gap: 40px;
	}
}
#footer ul.footer_sitemap > li > a {
	text-transform: none;
	font-family: 'span';
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
}
#footer ul.footer_sitemap ul {
	margin-top: 16px;
	margin-bottom: 0 !important;
}
#footer ul.footer_sitemap ul:empty {
	display: none;
}
#footer ul.footer_sitemap li {
	padding: 0 40px 0 0;
	line-height: 1.2;
	margin-bottom: 8px;
}
#footer ul.footer_sitemap li:last-of-type {
	margin-bottom: 0;
}
#footer div.pagesectioncontainer.footer_copyright {
	opacity: 0.6;
}
@media (max-width: 1023.90px) {
	#footer div.pagesectioncontainer.footer_copyright {
		position: relative;
		padding-top: 24px;
	}
	#footer div.pagesectioncontainer.footer_copyright::before,
	#footer div.pagesectioncontainer.footer_copyright div.table div.sect:last-of-type::before {
		content: '';
		background: var(--color-hr);
		width: calc(100% + 2 * var(--main-x-padding));
		height: 1px;
		position: absolute;
		left: calc(-1 * var(--main-x-padding));
		top: 0;
		display: block;
		opacity: 0.25;
	}
	#footer div.pagesectioncontainer.footer_copyright :is(p, ul) {
		margin-bottom: 24px;
		font-size: 14px;
	}
}
#footer div.pagesectioncontainer.footer_copyright div.table {
	grid-gap: 0;
}
@media (max-width: 1023.90px) {
	#footer div.pagesectioncontainer.footer_copyright div.table.col-3 {
		grid-template-columns: 100%;
	}
}
#footer div.pagesectioncontainer.footer_copyright :is(p, ul) {
	font-size: 14px;
}
#footer div.pagesectioncontainer.footer_copyright ul {
	list-style-type: none;
}
#footer div.pagesectioncontainer.footer_copyright ul a {
	text-decoration: none;
	margin-bottom: 5px;
	display: inline-block;
}
@media (max-width: 1023.90px) {
	#footer div.pagesectioncontainer.footer_copyright div.table div.sect:last-of-type {
		position: relative;
		padding-top: 24px;
		padding-bottom: 24px;
	}
	#footer div.pagesectioncontainer.footer_copyright div.table div.sect:last-of-type::before {
		top: 0;
	}
}
@media (min-width: 1024px) {
	#footer div.pagesectioncontainer.footer_copyright {
		border-top: 1px solid rgba(237, 228, 219, 0.45);
		padding-top: 20px;
		padding-bottom: 20px;
	}
	#footer div.pagesectioncontainer.footer_copyright div.table.col-3 {
		grid-template-columns: 1fr 2fr 1fr;
	}
	#footer div.pagesectioncontainer.footer_copyright div.table div.sect:nth-of-type(2) {
		text-align: center;
	}
	#footer div.pagesectioncontainer.footer_copyright div.table div.sect:nth-of-type(3) {
		text-align: right;
	}
	#footer div.footer_sections div.pagesectioncontainer.footer_copyright :where(p, ul) {
		margin-bottom: 0;
	}
	#footer div.pagesectioncontainer.footer_copyright ul li {
		display: inline-block;
		margin-right: 5px;
	}
	#footer div.pagesectioncontainer.footer_copyright ul li:not(:last-of-type)::after {
		content: '\e949';
		font-family: 'rehti_icon';
		margin: 0 10px 0 18px;
		font-size: 11px;
	}
	#footer div.pagesectioncontainer.footer_copyright ul a {
		margin-bottom: 0;
	}	
}


/**
 *  Sisältöosioihin liittyvät 
 */
body:not(:has(div.show_cards, div.servings_wrapper, div.servings_checkout_wrapper)) div.main_clear {
	height: 0;
}
div:is(.sections, .frontpage_sections):has(div.pagesectioncontainer.framed_section:last-of-type) + div.main_clear {
	height: var(--section-bottom-padding);
}
body:has(div.show_cards, div.servings_wrapper) div.main_clear {
	height: var(--section-bottom-padding);
}
div.frontpage_sections {
	margin-top: 0;
}
div.sections {
	margin-top: var(--section-top-padding);
}
div.sections div.pagesectioncontainer + div.pagesectioncontainer {
	margin-top: 0;
}
#container.page-index div.pagesectioncontainer + div.pagesectioncontainer {
	margin-top: 0;
}
body:not(:has(div.show_cards, div.servings_wrapper, div.servings_checkout_wrapper)) div.h1_wrapper h1 {
	margin-bottom: 0 !important;
}
.sections div.h1_wrapper + div.pagesectioncontainer:not(.fullwidth, [style^="background-color:"]) {
	margin-top: 0;
}
.sections div.h1_wrapper + div.pagesectioncontainer:is(.fullwidth, [style^="background-color:"]) {
	margin-top: var(--section-top-padding);
}
body:not(:has(div.show_cards, div.servings_wrapper, div.servings_checkout_wrapper)) div.pagesectioncontainer {
	padding-top: var(--section-top-padding);
	padding-bottom: var(--section-bottom-padding);
	scroll-margin-top: var(--mobile-header-height);
}
body:not(:has(div.show_cards, div.servings_wrapper, div.servings_checkout_wrapper)) div.pagesectioncontainer:not(.fullwidth, [style^="background-color:"]):first-of-type {
	padding-top: 0;
}
div.pagesectioncontainer.no_top_margin {
	padding-top: 0 !important;
}
@media (min-width: 1024px) {
	div.pagesectioncontainer {
		scroll-margin-top: var(--desktop-header-height);
	}
}
/*@container pagesectioncontainer (max-width: 629.90px) {
	div.table.col-2 {
		grid-gap: var(--body-text-default-margin-bottom);
	}
}
@container pagesectioncontainer (max-width: 959.90px) {
	div.table.col-3 {
		grid-gap: var(--body-text-default-margin-bottom);
	}
}
@container pagesectioncontainer (max-width: 1289.90px) {
	div.table.col-4 {
		grid-gap: var(--body-text-default-margin-bottom);
	}
}*/
div.pagesectioncontainer p {
	text-wrap: balance;
}
.page-search #main div.search_sections {
	margin-top: 0;
}
@media (min-width: 1366px) { 
	div.table.col-2 {
		--table-grid-gap: 100px;
	}
}
div.pagesectioncontainer div.table.col-1 p.center {
	max-width: 1000px;
	margin-inline: auto;
}
#popup_box div.pagesectioncontainer {
	padding-top: 0;
	padding-bottom: 0;
	background: none !important;
}
#popup_box div.pagesectioncontainer + div.pagesectioncontainer {
	margin-top: var(--common-section-margin);
}
div.pagesectioncontainer div.section_column_content :where(p, ul, ol) + p:has(> a.proceed) {
	margin-top: 40px;
}

div#popup_box #close_popup span {
	display: flex;
	justify-content: center;
	align-items: center;
}
div#popup_box #close_popup span::before {
	content: '×';
	font-size: 28px;
	margin-top: -1px;
}

div.pagesectioncontainer div.slider::-webkit-scrollbar {
	display: none;
}
div.pagesectioncontainer div.slider {
	display: grid; /* tälle asetetaan julkisella puolella --item-amount javascriptilla elementtien määrän perusteella */
	max-width: var(--wrapper-max-width);	
	overflow-x: auto;
	grid-gap: var(--gap);
	scroll-snap-type: x mandatory;
	scroll-padding: 0;
	position: relative;
	-ms-overflow-style: none;
	 scrollbar-width: none;
}	
div.pagesectioncontainer div.slider > div {
	scroll-snap-align: start;
}


div.pagesectioncontainer div.add_arrows {
	position: relative;
}
div.pagesectioncontainer div.add_arrows div.arrows {
	--arrow-size: 38px;

	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: var(--arrow-size);
	z-index: 1;
	transform: translateY(-50%);
	pointer-events: none;
}
div.pagesectioncontainer div.add_arrows div.arrows > div {
	width: var(--arrow-size);
	height: var(--arrow-size);
	background: var(--body-background-color);
	border-radius: var(--arrow-size);
	box-shadow: 0 3px 20px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	text-align: center;
	align-content: center;
	pointer-events: auto;
}
@media (min-width: 1024px) {
	div.pagesectioncontainer div.add_arrows div.arrows {
		--arrow-size: 44px;
	}
}
div.pagesectioncontainer div.add_arrows div.arrows div.left {
	position: absolute;
	left: calc(-1 * var(--main-x-padding));
	top: 0;
}
div.pagesectioncontainer div.add_arrows div.arrows div.left::before {
	content: '\e947';
	font-family: 'rehti_icon';
	position: relative;
	top: 1px;
	left: 1px;
}
div.pagesectioncontainer div.add_arrows div.arrows div.right {
	position: absolute;
	right: calc(-1 * var(--main-x-padding));
	top: 0;
}
div.pagesectioncontainer div.add_arrows div.arrows div.right::before {
	content: '\e948';
	font-family: 'rehti_icon';
	position: relative;
	top: 1px;
	right: 1px;
}
div.pagesectioncontainer div.add_arrows:has(div.slider.top) div.left {
	display: none;
}
div.pagesectioncontainer div.add_arrows:has(div.slider.bottom) div.right {
	display: none;
}
@media (min-width: 1464px) {
	div.pagesectioncontainer div.add_arrows div.arrows div.left {
		transform: translateX(-50%);
	}
	div.pagesectioncontainer div.add_arrows div.arrows div.right {
		transform: translateX(50%);
	}
}


@keyframes bg_fade {
	0% { background-color: var(--body-background-color); }
	100% { background-color: transparent; }
}
div.pagesectioncontainer.fp_tab_slider {
	padding-bottom: var(--section-bottom-padding);
}
div.pagesectioncontainer.fp_tab_slider ul.tabs {
	border-bottom: 1px solid var(--color-hr);
	text-align: center;
}
div.pagesectioncontainer.fp_tab_slider ul.tabs li {
	display: inline-block;
	font-family: 'span';
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
	padding-bottom: 7px;
	border-bottom: 3px solid transparent;
	margin: 0 10px;
}
div.pagesectioncontainer.fp_tab_slider ul.tabs li::before {
	display: none;
}
@media (min-width: 1024px) {
	div.pagesectioncontainer.fp_tab_slider ul.tabs li {
		font-size: 18px;
		margin: 0 20px;
	}
}
div.pagesectioncontainer.fp_tab_slider ul.tabs li.on {
	border-color: var(--color-beige);
}
div.pagesectioncontainer.fp_tab_slider div:is(.tilaisuudet, .teatteri) {
	display: none;
	text-align: center;
	position: relative;
}
div.pagesectioncontainer.fp_tab_slider:has(ul.tabs li.tilaisuudet.on) div.tilaisuudet {
	display: block;	
}
div.pagesectioncontainer.fp_tab_slider:has(ul.tabs li.tilaisuudet.on) div.tilaisuudet::before {
	content: '';
	pointer-events: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
	animation: bg_fade 0.5s ease-in-out 0s 1 forwards;
}
div.pagesectioncontainer.fp_tab_slider:has(ul.tabs li.teatteri.on) div.teatteri {
	display: block;
}
div.pagesectioncontainer.fp_tab_slider:has(ul.tabs li.teatteri.on) div.teatteri::before {
	content: '';
	pointer-events: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
	animation: bg_fade 0.5s ease-in-out 0s 1 forwards;
}
div.pagesectioncontainer.fp_tab_slider div.add_arrows div.arrows {
	transform: translateY(-150%);
}
div.pagesectioncontainer.fp_tab_slider div.slider {
	--gap: 17px;

	grid-template-columns: repeat(var(--item-amount), 100%);
}
#shadow_dom_base_html div.pagesectioncontainer.fp_tab_slider div.slider {
	--item-amount: 4;
}
@container pagesectioncontainer (min-width: 500px) {
	div.pagesectioncontainer.fp_tab_slider div.slider {
		grid-template-columns: repeat(var(--item-amount), calc(100% / 2 - var(--gap) * 0.5));
	}
}
@container pagesectioncontainer (min-width: 1000px) {	
	div.pagesectioncontainer.fp_tab_slider div.slider {
		--gap: 17px;

		grid-template-columns: repeat(var(--item-amount), calc(100% / 4 - var(--gap)));
		justify-content: center;
	}
	div.pagesectioncontainer.fp_tab_slider div.arrows {
		display: none;
	}
}
@container pagesectioncontainer (min-width: 1200px) {
	div.pagesectioncontainer.fp_tab_slider div.slider {
		--gap: 32px;
	}
}
div.pagesectioncontainer.fp_tab_slider div.slider > div {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	aspect-ratio: 328 / 450;	
	width: 100%;
	max-height: 450px;
	align-content: end;
	text-align: center; 
	padding: 30px 30px  48px 30px;
	position: relative;
	container-type: inline-size;
}
@container pagesectioncontainer (min-width: 500px) and (max-width: 600px) {
	div.pagesectioncontainer.fp_tab_slider div.slider > div {
		aspect-ratio: 326 / 550;	
		max-height: 550px;
	}
}
@container pagesectioncontainer (min-width: 1000px) {
	div.pagesectioncontainer.fp_tab_slider div.slider > div {
		aspect-ratio: 326 / 550;	
		max-height: 550px;
	}
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.haat {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-haat-ja-perhejuhlat.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.yritys {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-yritys-ja-virkistystilaisuudet.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.kokous {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-kokouspalvelut-ja-koulutustilaisuudet.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.karonkka {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-tohtorikaronkat-ja-valmistujaiset.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.tarjoilut {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-tarjoilut-teatteriin.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.show_and_dinner {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-show-and-dinner.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div.kabinetti {
	background-image: url('../../images/juhlatalo_servings_shop/juhlatalon-palvelut-etusivu-kabinetin-varaus.jpg');
}
div.pagesectioncontainer.fp_tab_slider div.slider > div::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(21,7,12,1) 100%);
	transition: height 0.2s ease;
}
div.pagesectioncontainer.fp_tab_slider div.slider > div:hover::before {
	height: 90%;
}
div.pagesectioncontainer.fp_tab_slider div.slider > div * {
	position: relative;
	z-index: 1;
}
div.pagesectioncontainer.fp_tab_slider div.slider > div h3 {
	color: #fff;
	font-size: 24px;
}
div.pagesectioncontainer.fp_tab_slider div.slider > div p {
	color: #fff;
	opacity: 0;
	height: 0;
	overflow-y: clip;
	transition: height 0.3s ease-in-out, opacity 1s ease;
	text-wrap: balance;
	line-height: 1.4;
}
@media (hover: hover) {
	div.pagesectioncontainer.fp_tab_slider div.slider > div:hover p {
		opacity: 1;
		height: auto;
		height: calc-size(auto, size);
	}
}
@media (hover: none) {
	div.pagesectioncontainer.fp_tab_slider div.slider > div p {
		opacity: 1;
		height: auto;
	}
}
div.pagesectioncontainer.fp_tab_slider div.slider > div a.proceed {
	width: auto;
}
div.pagesectioncontainer.fp_tab_slider div.slider + a.proceed {
	width: auto;
	margin: 30px auto;
}
@container (max-width: 250px) {
	div.pagesectioncontainer.fp_tab_slider div.slider > div h3 {
		font-size: 20px;
	}
	div.pagesectioncontainer.fp_tab_slider div.slider > div p {
		font-size: 14px;
	}
}


div.pagesectioncontainer.fp_servings {
	background: url('../../images/juhlatalo/juhlatalon-palvelut-etusivu-tarjoilut-teatteriin-bg-mob.jpg') no-repeat center center;
	background-size: cover;
	position: relative;
	z-index: 2;
}
div.pagesectioncontainer.fp_servings div.section_column_content {
	max-width: 660px;
	background: var(--color-red-bg);
	text-align: center;
	position: relative;
	bottom: -200px;
	padding: 64px 40px;
	clip-path: var(--common-clip-path);
}
@media (max-width: 599.90px) {
	div.pagesectioncontainer.fp_servings:last-of-type div.section_column_content {
		bottom: unset;
		margin-top: 64px;
		margin-bottom: 64px;
	}
}
@media (min-width: 600px) {
	div.pagesectioncontainer.fp_servings {
		padding-top: var(--section-vertical-padding-large) !important;
		padding-bottom: var(--section-vertical-padding-large) !important;
		background-image: url('../../images/juhlatalo/juhlatalon-palvelut-etusivu-tarjoilut-teatteriin-bg.jpg');
	}
	div.pagesectioncontainer.fp_servings div.section_column_content {
		text-align: left;
		bottom: unset;
		padding: 88px 80px;
	}
}
div.pagesectioncontainer.fp_servings div.section_column_content > *:not(a) {
	color: #fff;
	text-wrap: balance;
}
div.pagesectioncontainer.fp_servings div.section_column_content p:has(+ h3) {
	font-size: 14px;
	margin-bottom: 28px;
}
div.pagesectioncontainer.fp_servings div.section_column_content h3 {
	margin-bottom: 21px;
}
div.pagesectioncontainer.fp_servings div.section_column_content p:has(+ p) {
	margin-bottom: 32px;
}
@media (min-width: 600px) {
	div.pagesectioncontainer.fp_servings div.section_column_content p:has(+ p) {
		margin-bottom: 48px;
	}
}
@media (max-width: 599.90px) {
	div.pagesectioncontainer.fp_servings + div.pagesectioncontainer {
		padding-top: calc(200px + var(--section-top-padding)) !important;
	}
}


div.pagesectioncontainer.fp_story {
	background: url('../../images/juhlatalo/juhlatalon-palvelut-etusivu-tarinamme-bg-mob.jpg') no-repeat center center;
	background-size: cover;
	position: relative;
	z-index: 2;
}
div.pagesectioncontainer.fp_story div.section_column_content {
	max-width: 660px;
	background: #FAF6F3;
	text-align: center;
	position: relative;
	bottom: -200px;
	padding: 64px 40px;
	clip-path: var(--common-clip-path);
}
@media (max-width: 599.90px) {
	div.pagesectioncontainer.fp_story:last-of-type div.section_column_content {
		bottom: unset;
		margin-top: 64px;
		margin-bottom: 64px;
	}
}
@media (min-width: 600px) {
	div.pagesectioncontainer.fp_story {
		padding-top: var(--section-vertical-padding-large) !important;
		padding-bottom: var(--section-vertical-padding-large) !important;
		background-image: url('../../images/juhlatalo/juhlatalon-palvelut-etusivu-tarinamme-bg.jpg');
	}
	div.pagesectioncontainer.fp_story div.section_column_content {
		text-align: left;
		bottom: unset;
		padding: 88px 80px;
	}
}
div.pagesectioncontainer.fp_story div.section_column_content > *:not(a) {
	text-wrap: balance;
}
div.pagesectioncontainer.fp_story div.section_column_content p:has(+ h3) {
	font-size: 14px;
	margin-bottom: 28px;
}
div.pagesectioncontainer.fp_story div.section_column_content h3 {
	margin-bottom: 21px;
}
div.pagesectioncontainer.fp_story div.section_column_content p:has(+ p) {
	margin-bottom: 32px;
}
@media (min-width: 600px) {
	div.pagesectioncontainer.fp_story div.section_column_content p:has(+ p) {
		margin-bottom: 48px;
	}
}
@media (max-width: 599.90px) {
	div.pagesectioncontainer.fp_story + div.pagesectioncontainer {
		padding-top: calc(200px + var(--section-top-padding)) !important;
	}
}


div.pagesectioncontainer.fp_see_also {
	text-align: center;
}
div.pagesectioncontainer.fp_see_also div.slider {
	--gap: 17px;

	grid-template-columns: repeat(var(--item-amount), 100%);
}
#shadow_dom_base_html div.pagesectioncontainer.fp_see_also div.slider {
	--item-amount: 3;
}
@container pagesectioncontainer (min-width: 900px) {	
	div.pagesectioncontainer.fp_see_also div.slider {
		grid-template-columns: repeat(var(--item-amount), calc(100% / var(--item-amount) - var(--gap)));
		justify-content: center;
	}
	div.pagesectioncontainer.fp_see_also div.arrows {
		display: none;
	}
}
@container pagesectioncontainer (min-width: 1200px) {
	div.pagesectioncontainer.fp_see_also div.slider {
		--gap: 32px;
	}
}
div.pagesectioncontainer.fp_see_also div.slider > div {
	width: 100%;
	max-height: 450px;
	align-content: center;
	text-align: center; 
	padding: 48px 28px 44px 28px;
	position: relative;
	container-type: inline-size;
	clip-path: var(--common-clip-path);
}
@container pagesectioncontainer (min-width: 1200px) {
	div.pagesectioncontainer.fp_see_also div.slider > div {
		padding: 54px 28px 80px 28px;
	}
}
div.pagesectioncontainer.fp_see_also div.slider > div.komediateatteri {
	background: var(--color-red-bg);
}
div.pagesectioncontainer.fp_see_also div.slider > div.teatteriopisto {
	background: var(--color-blue-bg);
}
div.pagesectioncontainer.fp_see_also div.slider > div.siskojasenveli {
	background: var(--color-black-bg);
}
div.pagesectioncontainer.fp_see_also div.slider > div img {
	max-height: 85px;
	width: auto;
	margin-bottom: 32px;
}
div.pagesectioncontainer.fp_see_also div.slider > div.komediateatteri img {
	margin-top: calc(85px - 69.69px);
}
div.pagesectioncontainer.fp_see_also div.slider > div h3 {
	color: #fff;
	margin-bottom: 15px;
}
div.pagesectioncontainer.fp_see_also div.slider > div p {
	color: #fff;
	text-wrap: balance;
	line-height: 1.4;
	margin-bottom: 32px;	
}
@container pagesectioncontainer (min-width: 900px) {
	div.pagesectioncontainer.fp_see_also div.slider > div p {
		max-width: 300px;
		margin-inline: auto;
	}
}
div.pagesectioncontainer.fp_see_also div.slider > div a.proceed {
	width: auto;
}
@container (max-width: 300px) {
	div.pagesectioncontainer.fp_see_also div.slider > div h3 {
		font-size: 20px;
	}
	div.pagesectioncontainer.fp_see_also div.slider > div p {
		font-size: 14px;
	}
}


div.pagesectioncontainer.fp_spaces div.add_arrows div.arrows {
	transform: translateY(-100%);
}
div.pagesectioncontainer.fp_spaces div.slider {
	--gap: 17px;

	grid-template-columns: repeat(var(--item-amount), 100%);
}
#shadow_dom_base_html div.pagesectioncontainer.fp_spaces div.slider {
	--item-amount: 2;
}
div.pagesectioncontainer.fp_spaces .proceed {
	width: auto;
	margin-top: 30px;
	margin-inline: auto;
}
@container pagesectioncontainer (min-width: 600px) {	
	div.pagesectioncontainer.fp_spaces div.slider {
		grid-template-columns: repeat(var(--item-amount), calc(100% / 2 - var(--gap) * 0.5));
	}
}
@container pagesectioncontainer (min-width: 900px) {	
	div.pagesectioncontainer.fp_spaces div.slider {
		grid-template-columns: repeat(var(--item-amount), calc(100% / 3 - var(--gap) * 0.66));
	}
}
@container pagesectioncontainer (min-width: 1300px) {
	div.pagesectioncontainer.fp_spaces div.slider {
		--gap: 80px;

		grid-template-columns: repeat(var(--item-amount), calc(100% / 2 - var(--gap) * 0.5));
	}
}


div.pagesectioncontainer.gallery div.slider {
	--gap: 17px;

	grid-template-columns: repeat(var(--item-amount), 100%);
}
#shadow_dom_base_html div.pagesectioncontainer.gallery div.slider {
	--item-amount: 4;
}
div.pagesectioncontainer.gallery div.slider > div img {
	aspect-ratio: 660 / 440;
	object-fit: cover;
	object-position: center center;
}
@container pagesectioncontainer (min-width: 600px) {	
	div.pagesectioncontainer.gallery div.slider {
		grid-template-columns: repeat(var(--item-amount), calc(100% / 2 - var(--gap) * 0.5));
	}
}
@container pagesectioncontainer (min-width: 900px) {
	div.pagesectioncontainer.gallery div.slider {
		--gap: 80px;

		grid-template-columns: repeat(var(--item-amount), calc(100% / 2 - var(--gap) * 0.5));
	}
}


#main div.pagesectioncontainer.framed_section {
	padding: var(--section-top-padding) 30px var(--section-top-padding) 30px;
	clip-path: var(--common-clip-path);
	margin-left: var(--main-x-padding);
	margin-right: var(--main-x-padding);
}
#main div.pagesectioncontainer.framed_section.menu {
	padding: calc(1.8 * var(--section-top-padding)) 30px calc(1.8 * var(--section-top-padding)) 30px;
	background-image: url('../../images/juhlatalo/menu-star.svg'), url('../../images/juhlatalo/menu-star.svg');
	background-repeat: no-repeat, no-repeat;
	background-position: center var(--section-top-padding), center calc(100% - var(--section-top-padding));
}
@media (min-width: 600px) {
	#main div.pagesectioncontainer.framed_section {
		padding: var(--section-top-padding) 50px var(--section-top-padding) 50px;
	}
	#main div.pagesectioncontainer.framed_section.menu {
		padding: calc(1.8 * var(--section-top-padding)) 50px calc(1.8 * var(--section-top-padding)) 50px;
	}
}
@media (min-width: 1464px) {
	#main div.pagesectioncontainer.framed_section {
		padding: var(--section-top-padding) 100px var(--section-top-padding) 100px;
		margin-left: auto;
		margin-right: auto;
	}
	#main div.pagesectioncontainer.framed_section.menu {
		padding: calc(1.8 * var(--section-top-padding)) 100px calc(1.8 * var(--section-top-padding)) 100px;
	}
}
div.pagesectioncontainer.framed_section:has(div.table.col-1) {
	text-align: center;
}
div.pagesectioncontainer.framed_section:has(div.table.col-1) h2 {
	text-align: center;
}
div.pagesectioncontainer.framed_section:has(div.table.col-1) div.sect_type_teksti {
	max-width: 800px;
	margin-inline: auto;
}
div.pagesectioncontainer.framed_section:has(+ div.pagesectioncontainer:is(.fullwidth, [style^="background-color:"])) {
	margin-bottom: var(--section-bottom-padding);
}


div.sections div.pagesectioncontainer[style^="background-color:"]:not(.framed_section) {
	padding-top: var(--section-vertical-padding-large);
	padding-bottom: var(--section-vertical-padding-large);
}
@media (min-width: 1464px) {
	#main div.sections div.pagesectioncontainer[style^="background-color:"]:not(.framed_section, .fullwidth) {
		padding-left: 32px;
		padding-right: 32px;
	}
}


#container.page-index div.pagesectioncontainer:has(div.some) {
	padding-bottom: 50px;
}
#container.page-index div.pagesectioncontainer:has(div.some) div.table {
	grid-gap: 30px;
}
#container.page-index div.pagesectioncontainer div.some a {
	color: var(--color-black);
	font-size: 24px;
}
#container.page-index div.pagesectioncontainer div.some a:last-of-type i {
	margin-right: 0;
}


/**
 * Yleinen tilakortti. Käytössä etusivulla sliderissa ja Tilat-osiossa.
 **/
div.space_card {
	display: grid;
	grid-template-rows: 200px 1fr;
	background: #fff;
	transition: all 0.3s ease;
	position: relative;
	top: 0;
	height: 100%;
}
div.space_card:hover {
	top: -10px;
	background: var(--color-hr);
}
div.space_card > div:first-of-type {
	height: 200px;
	overflow: hidden;
}
div.space_card > div:first-of-type img {
	height: 200px;
	width: 100%;
	object-fit: cover;
	object-position: center center;
}
div.space_card > div:last-of-type {
	padding: 32px;
	display: flex;
	flex-direction: column;
}
div.space_card table {
	width: 100% !important;
	height: auto !important;
	margin-bottom: 0;
}
div.space_card table tr {
	height: auto !important;
}
div.space_card table tr td {
	padding: 0 0 2px 0;
	vertical-align: top;
	width: auto !important;
	height: auto !important;
}
div.space_card table td:nth-of-type(odd) {
	font-weight: var(--text-bold-weight);
	padding-right: 30px;
}
div.space_card table td:nth-of-type(even) {
	padding-left: 30px;
}
div.space_card div:has(a.proceed) {
	flex-grow: 2;
	align-content: end;
}
div.space_card .proceed {
	width: auto;
	margin-top: 40px;
}
@container pagesectioncontainer (min-width: 1300px) {
	div.space_card {
		grid-template-rows: unset;
		grid-template-columns: 1fr 1fr;
	}
	div.space_card > div:first-of-type {
		height: unset;
	}
	div.space_card > div:first-of-type img {
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}
	div.space_card > div:last-of-type {
		padding: 68px 40px;
	}
}
div.pagesectioncontainer:has(div.table.col-2 div.space_card) div.section_column_content {
	height: 100%;
}


/**
 * Tilan speksien näyttämiseen liittyvät
 **/
div.space_info {
	margin-bottom: 45px;
	padding-left: 50px;
	position: relative;
}
div.space_info h3 {
	margin-bottom: 10px;
}
div.space_info h3::before {
	font-family: 'rehti_icon';
	position: absolute;
	top: 0;
	left: 0;
	font-weight: 400;
}
div.space_info h3.size::before {
	content: '\e946';
}
div.space_info h3.persons::before {
	content: '\e945';
}
div.space_info h3.services::before {
	content: '\e944';
}
div.space_info h3.other::before {
	content: '\e943';
}
div.space_info h3.equipment::before {
	content: '\e942';
}
div.space_info a:not(.proceed):not(.list_product_link),
div.space_info a:not(.proceed):not(.list_product_link):hover {
	color: var(--color-black);
}
@container pagesectioncontainer (max-width: 629.90px) {
	.formatted_text div.space_info:last-child {
		margin-bottom: calc(45px - var(--body-text-default-margin-bottom));
	}
}


/**
 * Väliaikatarjoilut
 */
.servings_checkout_header h3,
.servings_checkout_wrapper h3,
.servings_products_cart_parent_wrapper h3,
.servings_wrapper h3{
	font-size: 28px;

	@media(min-width: 1280px){
		font-size: 30px;
	}
}




/**
 * Väliaikatarjoilut: Valitse esitys
 */
div.sections + .show_cards {
	margin-top:24px;
	position: relative;
}
.show_cards .show_series_wrapper > div{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 16px;

	@media(min-width: 1024px){

		grid-gap: 40px;
		
	}
}
/* clean-css ignore:start */
.show_serie_card{
	display: grid;
	background: #fff;
	align-items: center;
	grid-template-columns: 110px 1fr;

	> div:last-child{
		display: none;
	}
	img{
		height: 150px;
		object-fit: cover;
	}
	.data_wrapper {
		padding:15px 10px 15px 20px;
	}
	.data_wrapper h3{
		margin-bottom: 16px;
		font-size:20px;

		@media(min-width: 1024px){

			font-size:24px;
		}
	}
	.data_wrapper div > i{
		margin-right: 12px;
	}

	&.hidden{
		display: none;
	}

}
.show_cards .show_series_wrapper #show_more_shows{
	margin:30px auto 20px;
	display: block;
	width:auto;
}
.show_cards .show_series_wrapper #show_more_shows.hidden{
	display: none;
}
.show_cards > div > form{
	margin-bottom: 40px;
	max-width: 480px;
}
.show_cards #anchor{
	position: absolute;
}


@media(min-width:500px){
	.show_serie_card{
		grid-template-columns: 140px 1fr;
	}
}
@media(min-width:600px){
	.show_serie_card {

		grid-template-columns: 150px 1fr 120px;

		img{
			height: auto;
		}
		.data_wrapper{
			padding-left:32px;
		}
		.proceed{
			max-width: 100px;
		}
		> div:last-child{
			display: block;
		}

	}
}
@media(min-width:930px){
	.show_cards .show_series_wrapper > div{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.show_serie_card{
		grid-template-columns: 160px 1fr;

		> div:last-child{
			display: none;
		}
	}
}
@media(min-width:1250px){

	.show_serie_card{
		grid-template-columns: 180px 1fr 140px;
	}
	.show_serie_card > div:last-child{
		display: block;
	}
}



/* clean-css ignore:end */

/*
 * Väliaikatarjoilut: Tuotelistaus
 */
.servings_wrapper .show_serie_card img,
.servings_checkout_header .show_serie_card img{
	height: 100%;
}
.servings_wrapper .show_serie_card,
.servings_checkout_header .show_serie_card{
	grid-template-columns: 130px 1fr 70px;
	max-width: 540px;
}
@media (max-width: 400px) {
	.servings_wrapper .show_serie_card,
	.servings_checkout_header .show_serie_card{
		grid-template-columns: 120px 1fr 50px;
		max-width: 540px;
	}
	.servings_wrapper .show_serie_card div.data_wrapper div:has(i),
	.servings_checkout_header .show_serie_card div.data_wrapper div:has(i){
		font-size: 14px;
	}
}
/* clean-css ignore:start */
@media(min-width:930px){
	.servings_wrapper .show_serie_card,
	.servings_checkout_header .show_serie_card{
		grid-template-columns: 180px 1fr 70px;
	}
}
.servings_wrapper .show_serie_card > div:last-child,
.servings_checkout_header .show_serie_card > div:last-child{
	display: block;
}
.servings_wrapper .show_serie_card .data_wrapper > div,
.servings_checkout_header .show_serie_card .data_wrapper > div{
	position: relative;
}
.servings_wrapper .change_event_link,
.servings_checkout_header .change_event_link{
	color:#3A3A3C;
	font-size:14px;
	font-family: var(--text-font-family-alt, var(--text-font-family, Helvetica, sans-serif));

	@media(min-width: 1300px){
		font-size:16px;
	}
}
.servings_products_wrapper #anchors{
	margin:40px 0px 0px;
	display: grid;
	grid-template-columns: 120px 170px;
	grid-gap: 30px;
}

.servings_products_wrapper #anchors ~ h3{
	margin:40px 0px 20px;
	@media(min-width: 1300px){
		margin-top:56px;
	}
}
.servings_products_wrapper:not(:has(#anchors)) h3{
	margin-top:40px;
	@media(min-width: 1100px){
		margin-top:0px;
	}
}

.servings_products_wrapper h3 + p{
	margin:20px 0px 25px;
}

.servings_products_wrapper h4{
	margin:34px 0px 24px 0px;

	font-size:20px;

	@media(min-width: 1024px){

		font-size:24px;
	}
}

.servings_products_wrapper .show-serving-product-card {
	cursor: pointer;
}

#servings_products_cart_wrapper.hidden{
	display: none;
}
#servings_products_cart_wrapper h5 + div,
.show_product_cards_wrapper{
	display: grid;

	--product_card_gap: 16px;

	grid-gap:var(--product_card_gap);
	
	@media(min-width:800px){
		
		grid-template-columns: calc(50% - (var(--product_card_gap) / 2)) calc(50% - (var(--product_card_gap) / 2));
		
	}	
	@media(min-width:1100px) and (max-width: 1300px){
		
		grid-template-columns: 100%;
		
	}

}
#rehtiPopup #popup_box.servings_popup .show_product_card,
#servings_products_cart_wrapper .show_product_card,
.servings_products_wrapper .show_product_card{
	background: #fff;
	transition: transform 0.3s, background 0.3s;

	&.show-serving-product-card:hover{
		background: #ede4db;
		transform: translateY(-5px);
	}

	> div{
		display: grid;
		grid-template-columns:1fr 120px;
		grid-template-rows: 1fr 40px;
		position:relative;
		height: 100%;
		min-height: 100px;

		> .name{
			padding:18px 18px 0px 18px;
			font-weight: 500;
			line-height: 20px;

			overflow: hidden;
    		text-overflow: ellipsis;

    		i{
    			color:#E1B491;
    			margin-left:6px;
    		}

			.subtitle{
				font-size: 12px;
				line-height: 16px;
				text-overflow: ellipsis;  
				overflow: hidden;
				white-space: nowrap;
				font-weight: 400;
				margin-top:-1px;
			}

		}
		> .price{
			grid-row-start:2;
			padding:0px 0px 0px 18px;
		}

		> .image{
			grid-row-end: 3;
            grid-row-start: 1;
            height:100%;

            span {
            	height: 100%;
            	width: 120px;
            }

            img {
            	height: 100px;
            	width: 120px;
            	object-fit: cover;
            }            
            span img{
            	position: absolute;
            	height:100%;
            	width:100%;
            	object-fit: cover;
            	object-position: center center;
            }
            img[src*="missing_product_image"]{
            	visibility: hidden;
            }
		}

		> form{
			margin:0;
		}

		> form div.added_to_cart_amount{
        	width:42px;
        	height:42px;
        	right: 9px;
        	bottom: 9px;
        	display:block;
        	background: #EDE4DB;
        	border: 1px solid white;
        	border-radius: 50%;
        	text-align: center;
        	line-height: 1;
        	position: absolute;
        	z-index: 2;
        	cursor: pointer;
        	align-content: center;
        }

            
		> form div.amount_control_buttons{
			position: absolute;
			right: 8px;
            bottom: 8px;
            z-index:1;
            border:1px solid #DDCABB;
            border-radius: 22px;
            background: #fff;            

            button{
            	background: transparent;
            	width:42px;
            	min-width:42px;
            	height:42px;
            	min-height:42px;
            	padding:0;
            	-webkit-appearance:none;
            	appearance:none;
            	color:#3A3A3C;
            	text-align: center;

            	i{
            		margin: 0;
            	}
            }

            .increase-show-product{

            }
        }


        > form div.added_to_cart_amount + div.amount_control_buttons{
        	z-index: 2;
        	pointer-events: none;
			display: none;

            span{
            	min-width:20px;
            	display: inline-block;
    			text-align: center;
            }
        }
        
        & form.controls_visible div.added_to_cart_amount + div.amount_control_buttons{
			display: block;
        }
        & form.controls_visible.controls_active div.added_to_cart_amount + div.amount_control_buttons{
        	pointer-events: all;
       	}
		
	}
}

@media(min-width:1100px){

	.servings_wrapper > div{
		display: grid;
		grid-template-columns: 1fr 480px;
		grid-template-rows: 180px 1fr;
		gap:50px;

		> .show_serie_card {
			grid-column-start: 2;
			align-self: start;
		}
		> .servings_products_wrapper {
			grid-row: 1 / 3;

			#anchors{
				margin-top:0;
			}
		}
		> #servings_products_cart_parent_wrapper{
			grid-column-start: 2;
			grid-row-start: 2;

		}
	}
	
}
@media(min-width:1300px){
	.servings_wrapper > div{
		grid-template-columns: 1fr 540px;
		gap:80px;
	}
}
/* clean-css ignore:end */

#rehtiPopup #popup_box.servings_popup .show_product_card .icon-info-circled::before,
#servings_products_cart_wrapper .show_product_card .icon-info-circled::before,
.servings_products_wrapper .show_product_card .icon-info-circled::before {
	content: '\e86b';
}

/**
 * Yhteensä-osio
 */
#servings_products_cart_wrapper{
	clip-path: var(--common-clip-path);
	background: #EDE4DB;

	margin:40px calc((var(--main-x-padding)) * -1);
	padding:38px 24px;

	@media(min-width:1100px){
		margin:0px 0;
		padding:40px 40px 48px;
	}



	h5 {

		margin:16px 0px;

		+ div{
			margin:0px 0px 6px;
			display: grid;

			@media(min-width:1300px){
				
				grid-template-columns: 100%;
				
			}

		}

		@media(min-width:1100px){

			margin:24px 0px;
		}
	}

	

	hr{
		border:0;
		outline:0;
		border:1px solid white;
		margin:24px 0px;
	}

	.proceed{
		margin-top:32px;
	}

	h3 > a {
		font-size: 14px;
		float:right;
		line-height: 28px;
		color:inherit;

		@media(min-width: 1300px){
			font-size: 16px;
			line-height: 36px;

		}
	}

	@media (pointer: coarse){
		
		div div.show_product_card form div.added_to_cart_amount + div.amount_control_buttons{
	       	z-index: 2;
	    	pointer-events: all !important;
			display: block !important;
	    }
	}

	@media (max-width: 1099.90px) {
		div.accept_terms {
			display: none;
		}
		p:has(button#servings_summary_link) {
			display: none;
		}
	}
}
@media (min-width: 1100px) {
	#servings_products_cart_wrapper {
		position: sticky;
		top: 20px;
	}
}

#mobile_total_amounts,
#servings_products_cart_wrapper{

	> div > span > h6{
		font-size:18px;
		margin:0;
		font-family: var(--text-font-family-alt, var(--text-font-family, Helvetica, sans-serif));
		display: inline-block;
		float:left;
	}

	> div > span {
		display: block;
		text-align:right;
	}
	> div > span > span.normal {
		font-size: 20px;
		font-weight: 500;
	}
}
#mobile_total_amounts{
	margin:40px 0;
}

div.accept_terms{

	margin-top:26px;

	label a{
		color:var(--text_color);
		font-size: 16px;
	}
	label span:after{
		color:var(--color-beige);
	}

}
.styled_checkbox > input + label > span:before {
	background: #fff;
}

#floating_continue_button div.accept_terms + p{
	margin-top:20px;
}
#floating_continue_button_ajax_wrapper > div{
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 6;
    background: #EDE4DB;
    width: 100%;
    padding:40px 24px 50px;
    background: linear-gradient(0deg, rgba(237,228,219,1) 80%, rgba(255,255,255,0) 100%);

    transition: transform 0.3s;

    @media(min-width: 1100px){
    	transform: translateY(200px);
    }
    &.hidden{
    	transform: translateY(200px);
    }

    a span{
    	float:left;

    	&:last-child{
    		float:right;
    	}
    }
}

/**
 * Popups
 */
#rehtiPopup #popup_box.servings_popup{
	background: #F7F6F3;
	padding:10px;
	text-align: center;
}
#rehtiPopup #popup_box.servings_popup h3 + p{
	margin:24px 0px;
}
#rehtiPopup #popup_box.servings_popup h5{
	margin-bottom:24px;
}

#rehtiPopup #popup_box.servings_popup .proceed + .proceed{
	margin-top:24px;
}
#rehtiPopup #popup_box.servings_popup .show_product_card{
	text-align: left;
	margin-bottom:16px;
}
#rehtiPopup #popup_box.servings_popup .show_product_card:last-child{
	margin-bottom:32px;
}

#popup_box.change_event{

	p{
		margin:20px 0px 0px;

		button{
			display: inline-block;
			width:auto;
		}

		button:last-child{
			float:right;
		}
	}

}
#popup_box.servings_product{
	max-width: 400px;
	width:90vw;
	min-width: auto !important;

	& > span{
		display: block;
		width:100%;
	}

	img{
		width:100%;
		height:210px;
		object-fit: cover;
	}

	& > div{
		padding:40px;
	} 

	h3 + div p{
		margin:16px 0;
	}

	p.price_container{
		font-size: 24px;
		font-family: var(--text-font-family-alt, var(--text-font-family, Helvetica, sans-serif));
	}
	
	form{
		display: grid;
		grid-template-columns: fit-content(50px) 1fr;
		gap:22px;
		margin-top:20px;

		input{
			width:44px;
			text-align: center;
			border: 1px solid #eee6dc;
		}
	}
}


/**
 * Checkout confirm summary page
 */
#checkout_grid_wrapper > div:not(.back_to_servings_container){
	display: grid;

	.servings_checkout_header{
		order:1;

		h4{
			margin:0px 0px 24px;
			padding:24px 0px;
			border-top:2px solid #EDE4DB;
			border-bottom:2px solid #EDE4DB;

			display:grid;
			grid-template-columns:1fr 100px;


			button{
				float: left;
                appearance: none;
                width: auto;
                background: transparent;
                display: inline-block;
                padding: 0;
                min-height: 0;
                text-align: left;
                -webkit-appearance: none;
				border-radius: 0;
				color: var(--color-black);

                span{
                	float:left;
                }
				i{
					float: left;
	                line-height: 22px;
	                margin-left:10px;

					&:before{

						transform: rotate(90deg);
						font-size: 12px;
					}
				}

				&.open i:before{

					transform: rotate(-90deg);
				}
			}
			span:last-child{
				float:right;
				font-family: var(--text-font-family), Helvetica, sans-serif;
				font-weight: 500;
				text-align: right;
			}
		}
	}

	.show_serie_card:not(.open),
	#servings_products_cart_parent_wrapper:not(.open),
	#servings_products_cart_parent_wrapper div#ajax_wrapper + p,
	#servings_products_cart_parent_wrapper div#ajax_wrapper + p + p{
		display: none;
	}

	#servings_products_cart_parent_wrapper{
		order:2;
	}
	.servings_checkout_wrapper{
		order:3;
	}
	@media(min-width: 1100px){
		grid-template-columns: 1fr 480px;
		grid-template-rows:180px 1fr;
		gap:50px;

		.servings_checkout_header{
			order:2;
		}
		#servings_products_cart_parent_wrapper{
			order:3;
			grid-column:2;
		}
		#servings_products_cart_parent_wrapper div#ajax_wrapper + p{
			display: block;
		}
		.servings_checkout_wrapper{
			order:1;
			grid-row:1/3;
		}

		#servings_products_cart_parent_wrapper:not(.open),
		#servings_products_cart_parent_wrapper div#ajax_wrapper + p,
		#servings_products_cart_parent_wrapper div#ajax_wrapper + p + p{
			display: block;
		}
		.show_serie_card:not(.open){
			display: grid;
		}
		.servings_checkout_header h4{
			display: none;
		}

	}

	@media(min-width: 1300px){
		grid-template-columns: 1fr 540px;
		gap:80px;
	}

	form#servings_customer_details_form{

		div.form_field_wrap:has(input[name="customer_company_details_toggle"]){
			margin:20px 0px;
		}

		#company_details_container.closed{
			display: none;
		}
		#company_details_container:not(.closed){
			
			margin-bottom:20px;

			> fieldset > div{
				display: grid;
				gap:24px 0;
				@media(min-width:1100px){
					grid-template-columns: 1fr 1fr;
					gap:24px;
				}
			}

		}

		.js_error_notice{
			color:var(--red-color);
			margin-bottom: 15px;
		}

		svg{
			max-width: 100%;
			height:auto;
			margin:24px 0 0 0;
		}

		> h3 {
			margin-bottom: 24px;
		}
		> h3 + div{
			padding:24px 20px;
			background: white;

			@media(min-width: 1300px){

				padding:48px 40px;
			}
		}
		> h3 + div +h3{
			margin-top: 40px;
		}

		label{
			font-weight: 500;

			.req:after{
				color:#E1B491;
			}
		}


		textarea{
			resize:none;
		}

		input[type=radio]{
			margin-right: 10px;
			width: 20px;
			height: 20px;
			filter: grayscale(100%);
			vertical-align: text-bottom;
		}

		div.form_field_wrap span.validity_indicator::before {
			vertical-align: text-top;
		}

		div.form_field_wrap.party_size{
			margin-bottom: 24px;
			display: grid;
			gap:10px;
			grid-template-columns: fit-content(150px) 1fr;
			align-items:center;

			@media(min-width: 1100px){

				margin-top: -10px;
			}
		}
		div.form_field_wrap.party_size label{
			pointer-events: none;
		}

		div.input_w_plus_minus_buttons{

			display:grid;

			grid-template-columns:40px 1fr 40px;

			max-width:105px;
			border:1px solid #DDCABB;
			border-radius:22px;

			i{
				display: inline-block;
				line-height: 44px;
				width: 40px;
				text-align: center;
				font-size: 13px;
				cursor: pointer;
			}

			input{
				line-height: 45px;
				height: 44px;
				min-height: 44px;
				max-height: 44px;
				padding:0;
				text-align: center;
				border:0;
				outline:0;
				pointer-events: none;
			}

			p.js_error_notice,
			.validity_indicator{
				display: none;
			}
		}

		div#basic_customer_info_container{

			display:grid;
			gap:24px 0;

			& + div{
				margin:25px 0px;
			}

			@media(min-width: 800px){
				grid-template-columns: 1fr 1fr;
				gap:20px;

				.form_field_wrap.email{
					grid-column: 1 / 3;
				}

			}
		}

		div#customer_address_info_container{

			display: grid;
			
			grid-template-columns: 35% 65%;
			gap:24px 0;

			
			.form_field_wrap.street_address{
				grid-column:1/3;				
			}
			.form_field_wrap.city{
				padding-left:20px;
			}
			
		}
	}
}

@media(min-width:1100px){
	#floating_continue_button,
	#mobile_total_amounts{
		display: none;
	}
}

.back_to_servings_container{
	padding:20px 0px;

	a{
		color:var(--text-color);
		font-family: var(--text-font-family-alt, var(--text-font-family, Helvetica, sans-serif));
	}
}

#main > div:has(.servings_wrapper) #polku,
#main > div:has(#checkout_grid_wrapper) #polku {
	display: none;
}

/* clean-css ignore:end */


/**
 * Varaa tila -lomake
 **/
#space_reservation {
	background: var(--color-hr);
	padding: var(--section-top-padding) 0 var(--section-bottom-padding) 0;
}
#main #space_reservation > div {
	margin-inline: auto;
	max-width: 800px;
	padding: 0 var(--main-x-padding);
	container-type: inline-size;
	container-name: reservation;
}
#space_reservation h3 {
	margin-top: 35px;
}
#space_reservation label {
	font-weight: var(--text-bold-weight);
	display: block;
}
#space_reservation label span {
	color: var(--color-beige);
}
#space_reservation :is(input, select, textarea) {
	width: 100%;
	background: #fff;
	color: var(--color-black);
}
#space_reservation select {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('../../images/juhlatalo/select-arrow.svg');
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
}
#space_reservation div:is(.specs, .contact_info) {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 25px;
}
#space_reservation div:is(.specs, .contact_info) > div {
	margin-bottom: 15px;
	flex-basis: calc(50% - 5px);
	position: relative;
}
#space_reservation div.specs > div:nth-of-type(4) {
	order: -1;
}
#space_reservation input[type="date"] {
	-webkit-appearance: none;
}
#space_reservation input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 1;
    display: block;
	background: none;
    width: 15px;
    height: 15px;
    position: absolute;
    left: 10px;
    bottom: 15px;
    cursor: pointer;
}
#space_reservation input[type="date"] {
	padding-left: 35px;
}
#space_reservation div.specs > div:has(input[type="date"])::before {
	content: '\e941';
	font-family: 'rehti_icon';
	position: absolute;
	bottom: calc(var(--input-height) / 2);
	transform: translateY(45%);
	left: 10px;
	pointer-events: none;
	line-height: 1;
}
@-moz-document url-prefix() {
    #space_reservation input[type="date"] {
        padding-left: var(--input-padding-horizontal);
    }
    #space_reservation div.specs > div:has(input[type="date"])::before {
    	content: '';
    }
}
#space_reservation div.specs > div:has(select)::before {
	content: '\e940';
	font-family: 'rehti_icon';
	position: absolute;
	bottom: calc(var(--input-height) / 2);
	transform: translateY(45%);
	left: 10px;
	pointer-events: none;
	line-height: 1;
}
#space_reservation div.specs select {
	padding-left: 35px;
}
#space_reservation div.specs > div:has(input[type="text"])::before {
	content: '\e93f';
	font-family: 'rehti_icon';
	position: absolute;
	bottom: calc(var(--input-height) / 2);
	transform: translateY(45%);
	left: 10px;
	pointer-events: none;
	line-height: 1;
}
#space_reservation div.specs input[type="text"] {
	padding-left: 35px;
}
#space_reservation button {
	margin-top: 10px;
}
#space_reservation button.submitted span::after {
	content: '\e871';
	font-family: 'tmvk_icon';
	animation: anim-spin-centered 1.5s infinite steps(50);
	display: inline-block;
	position: relative;
	top: 9px;
	right: -5px;
	margin-left: 10px;
}
#space_reservation #reservation_form_messages {
	margin-bottom: 30px;
}
#space_reservation div.robot_text {
	display: none;
}
@container reservation (min-width: 700px) {
	#space_reservation div.specs {
		gap: 15px;
	}
	#space_reservation div.specs > div {
		flex-basis: unset;		
		flex: 1;
		margin-bottom: 0;
	}
	#space_reservation div.specs > div:nth-of-type(1) {
		flex: 2;
	}
	#space_reservation div.specs > div:nth-of-type(4) {
		order: unset;
	}
	#space_reservation div.contact_info > div {
		flex-basis: calc(50% - 7.5px);
	}
	#space_reservation button {
		width: auto;
		float: right;
	}
	#space_reservation div.robot_check_wrap div.spamcheck_wrapper > div > div {
		float: right;
	}
}


#order_save_notice:not(.visible) {
    display: none;
}
#order_save_notice {
	margin: 0;
}
#order_save_notice > div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300px;
    padding: 40px;
    transform: translate(-50%, -50%);
    background-color: var(--body-background-color);
    text-align: center;
    border-radius: 20px;
}
#order_save_notice .formatted_text p {
    margin-bottom: 0;
}
#order_save_notice .loading_icon {
    font-size: 1.5em;
}


#thank_you_page_wrapper {
	padding-bottom: var(--section-bottom-padding);
}
#thank_you_page_wrapper button[name="btn_print"] {
	display: none;
}


/**
 * Leijuva Varaa & tilaa -pallo
 **/
div.floater_container {
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 21;
}
@keyframes cta_appear {
  	0% { transform: scale(0); }
  	80% { transform: scale(1.3); }
  	100% { transform: scale(1); }
}
div.floater_container a.cta {
	--cta-size: 54px;

	transform: scale(0);
	width: var(--cta-size);
	height: var(--cta-size);
	border-radius: var(--cta-size);
	background: var(--color-beige);
	display: block;
	align-content: center;
	color: var(--color-black);
	font-family: 'span';
	line-height: 1;
	text-decoration: none;
	text-align: center;
	font-size: 12px;
	text-wrap: balance;
	animation: cta_appear 0.5s ease 2s 1 forwards;
}
div.floater_container div.actions {
	width: 258px;
	padding: 32px;
	background: var(--color-beige);
	position: absolute;
	bottom: -1px;
	right: -1px;
	opacity: 0;
	transform: translateY(50%);
	pointer-events: none;
	transition: all 0.3s ease;
}
div.floater_container:has(a.cta.clicked) div.actions {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
div.floater_container div.actions a:not(:last-of-type) {
	margin-bottom: 24px;
}
div.floater_container div.actions button {
	background: none;
	color: #666;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 2px;
	right: 5px;
	padding: 0;
	line-height: 1;
	min-height: auto;
}
div.floater_container div.actions button::after {
  	display: inline-block;
  	content: "\00d7";
  	font-size: 30px;
}
@media (min-width: 1024px) {
	div.floater_container {
		right: 30px;
		bottom: 30px;
	}
	div.floater_container a.cta {
		--cta-size: 64px;

		font-size: 14px;
	}
}
body:has(div.show_cards, div.servings_wrapper, div.servings_checkout_wrapper) div.floater_container {
	display: none;
}


/**
 * Tilaa tarjoilut -näkymän mobiilin vaiheindikaattori
 **/
#servings_mobile_phase {
	position: fixed;
	top: var(--mobile-header-height);
	left: 0;
	width: 100%;
	background: var(--color-beige);
	font-family: 'span';
	text-align: center;
	padding: 5px;
	z-index: 21;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
	font-size: 12px;
	pointer-events: none;
}
@media (min-width: 1024px) {
	#servings_mobile_phase {
		display: none;
	}
}


/**
 * Kiitos tilauksesta -näkymä
 **/
table.order_product_table tr.product_row td.col_product_image:has(img[src*=missing_product_image]) img {
	max-width: 50px;
}

._SLIDER > .slide_wrapper > a {
	width: auto;
}

.banner_slider_controls {
	position: absolute;
	z-index: 10;
	top: 50%;
	left:0;
	width: 38px;
	height: 38px;
	min-height: auto;
	border-radius: 50%;
	padding: 0;
	margin: -19px 0px 0px 10px;
	background: #fff;
	line-height: normal;
	box-shadow: 0 3px 20px rgba(0, 0, 0, 0.25);
}
.banner_slider_controls i {
	margin: 1px 0 0 0;
	line-height: normal;
}
.banner_slider_controls i::before {
	color: var(--color-black);
}
.banner_slider_controls.previous i::before {
	content: '\e947';
	font-family: 'rehti_icon';
}
.banner_slider_controls.next i::before {
	content: '\e948';
 	font-family: 'rehti_icon';
}
.banner_slider_controls.next {
	right: 0;
	left: auto;
	margin: -20px 10px 0 0;
}
@media(min-width: 900px){

	.banner_slider_controls {
		width: 38px;
		height: 38px;
		margin: -19px 0px 0px 10px;
	}
	.banner_slider_controls i {
		margin: 0;
	}
	.banner_slider_controls.next {
		margin: -19px 10px 0px 0px ;
	}
	.banner_slider_controls i::before {
		line-height: 38px;
		width: 38px;
	}
	.banner_slider_controls.next i::before {
		left: auto;
		right: 0;
	}
}

main#main .frontpage-giant-banner {
	padding-left: 0 !important;
	padding-right: 0 !important;
	/* margin-top: -40px; */
}
#header_mobile{
	li.shopping_cart, li.menu{
		display: none;
	}
}

/**
 * Siirry pääsivustolle -linkki
 */
#header .sect_2 > a{
	position: absolute;
    right: 20px;
    top: -65px;
    height:50px;
    line-height: 50px;
    color:var(--heading-color);

	& > span > i{
		float:right;
		line-height: 50px;
		margin-left:6px;
		transform:rotate(-45deg);
	}
}

#header #nav_menu > li > a > span > i{

	float:right;
	line-height: 50px;
	
	margin-left:6px;
	transform:rotate(-45deg);
}
