body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
/* =============================================================================
 * ce_bgimage
 * ========================================================================== */

.ce_bgimage {
	position: relative;
	overflow: visible;
}

.ce_bgimage {
	overflow: visible;
}

.ce_bgimage:before,
.ce_bgimage:after {
	content:'\0020';
	display:block;
	overflow:hidden;
	visibility:hidden;
	width:0;
	height:0;
}

.ce_bgimage:after {
	clear:both;
}

.ce_bgimage .ce_bgimage-inside {
	position: relative;
	z-index: 10;
}

.ce_bgimage.offset:before {
	position: absolute;
	top: 75%;
	background: #fff;
	content: '';
	right: 0;
	bottom: 0;
	left:0;
	z-index: 10;
}

.ce_bgimage.offset.offset-bg-accent:before {
	background-color: rgb(152,152,152);
}

.ce_bgimage.offset.offset-bg-lightgray:before {
	background-color: rgb(247,247,247);
}

.ce_bgimage.offset.offset-bg-darkgray:before {
	background-color: rgb(69,69,69);
}

.ce_bgimage.offset.offset-bg-black:before {
	background-color: rgb(0,0,0);
}

.ce_bgimage.offset.offset-top:before,
.ce_bgimage.offset-top:before {
	position: absolute;
	top: 0;
	background: #fff;
	content: '';
	right: 0;
	top: 0;
	left:0;
	height: 25%;
	z-index: 10;
}

.ce_bgimage .ce_bgimage-image {
	position: absolute;
	top: 0;
	left:0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.ce_bgimage.bg_contain .ce_bgimage-image {
	background-size: contain;
}

.ce_bgimage.fullscreen-image {
	height: 100vh;
}

.ce_bgimage.fullscreen-image .ce_bgimage-outer {
	height: 100vh;
}

.ce_bgimage.oversize .ce_bgimage-outer .ce_bgimage-inside {
	-webkit-transform: translateY(0%);
  	-ms-transform: translateY(0%);
  	transform: translateY(0%);
}

.ce_bgimage.oversize,
.ce_bgimage.ce_bgimage-outer {
	height: auto!important;
}

.ce_bgimage.max_width_m .contentwrap {
	max-width: 800px;
}

.ce_bgimage.max_width_s .contentwrap {
	max-width: 650px;
}

/* =============================================================================
 * ce_bgimage: parallax offset option
 * ========================================================================== */

.ce_bgimage div.offset_layer {
	position: absolute;
	top: 0;
	background: #fff;
	content: '';
	right: 0;
	left:0;
	height: 25%;
	z-index: 10;
}

.ce_bgimage div.offset_layer.offset-bottom {
	top: auto;
	bottom: 0;
}

/* =============================================================================
 * ce_bgimage: background-position
 * ========================================================================== */

.ce_bgimage.bg_left_top .ce_bgimage-image {
	background-position: left top;
}

.ce_bgimage.bg_left_center .ce_bgimage-image {
	background-position: left center;
}

.ce_bgimage.bg_left_bottom .ce_bgimage-image {
	background-position: left bottom;
}

.ce_bgimage.bg_center_top .ce_bgimage-image {
	background-position: center top;
}

.ce_bgimage.bg_center_center .ce_bgimage-image {
	background-position: center center;
}

.ce_bgimage.bg_center_bottom .ce_bgimage-image {
	background-position: center bottom;
}

.ce_bgimage.bg_right_top .ce_bgimage-image {
	background-position: right top;
}

.ce_bgimage.bg_right_cemte .ce_bgimage-image {
	background-position: right center;
}

.ce_bgimage.bg_right_bottom .ce_bgimage-image {
	background-position: right bottom;
}

/* =============================================================================
 * ce_bgimage: parallax option
 * ========================================================================== */

.ce_bgimage.parallax .ce_bgimage-image {
	background-attachment: fixed;
	background-position-x: 50%!important;
	background-position-y: top;
}

.ce_bgimage.parallax {
	position: relative;
}

body.ios .ce_bgimage.parallax .ce_bgimage-image,
body.android .ce_bgimage.parallax .ce_bgimage-image {
	background-attachment: scroll;
	background-position: center center!important;
}

/* =============================================================================
 * ce_bgimage: img-leftside
 * ========================================================================== */

.ce_bgimage.img-leftside-33,
.ce_bgimage.img-leftside-50 {
	position: relative;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
}

.ce_bgimage.bg-nocolor {
	background: rgb(248,248,248);
}

.ce_bgimage.img-leftside-33 .ce_bgimage-image,
.ce_bgimage.img-leftside-50 .ce_bgimage-image {
	width: 33.33%;
	display: table-cell;
	vertical-align: middle;
	padding: 0;
}

.ce_bgimage.img-leftside-33 .ce_bgimage-outer {
	margin-left: 33%;
}

.ce_bgimage.img-leftside-50 .ce_bgimage-outer {
	margin-left: 50%;
}

.ce_bgimage.img-leftside-33 .ce_bgimage-inside,
.ce_bgimage.img-leftside-50 .ce_bgimage-inside {
	width: 67%;
	padding: 60px;
	vertical-align: middle;
}

.ce_bgimage.img-leftside-50 .ce_bgimage-image,
.ce_bgimage.img-leftside-50 .ce_bgimage-inside {
	width: 50%;
}

.ce_bgimage.img-rightside-50 .ce_bgimage-image {
	margin-left: 50%;
}

.ce_bgimage.img-rightside-50 .ce_bgimage-outer {
	margin-right: 50%;
}

.ce_bgimage.img-rightside-33 .ce_bgimage-image {
	margin-left: 33.33%;
}

.ce_bgimage.img-rightside-33 .ce_bgimage-outer {
	margin-right: 66.66%;
}

.ce_bgimage.img-leftside-50 .ce_bgimage-inside,
.ce_bgimage.img-leftside-33 .ce_bgimage-inside {
	width: 100%;
}

.ce_bgimage.bg-accent a:not(.hyperlink_txt) {
	color: inherit
}

.ce_bgimage.vertical_centered .ce_bgimage-inside {
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	position: relative;
	top: 50%;
}

.ce_bgimage.vertical_centered .ce_bgimage-outer {
	height: 100%;
}


/* =============================================================================
* smart phones  (s / small screens)
* ========================================================================== */
@media only screen and (max-width: 767px) {
	.ce_bgimage.hide-image-phone .ce_bgimage-image {
		display: none;
	}
	
	.ce_bgimage.img-leftside-33,
	.ce_bgimage.img-leftside-50,
	.ce_bgimage.img-leftside-33 .ce_bgimage-inside,
	.ce_bgimage.img-leftside-50 .ce_bgimage-inside {
		display: block;
		width: 100%;
		padding: 10px;
	}
	
	.ce_bgimage.img-rightside-33 .ce_bgimage-outer,
	.ce_bgimage.img-rightside-33 .ce_bgimage-image,
	.ce_bgimage.img-rightside-50 .ce_bgimage-outer,
	.ce_bgimage.img-rightside-50 .ce_bgimage-image {
		display: block;
		width: 100%;
		margin: 0;
	}
	
	.ce_bgimage.img-rightside-33 .ce_bgimage-image,
	.ce_bgimage.img-rightside-50 .ce_bgimage-image {
		background-image: none!important;
	}
	
	.ce_bgimage.img-leftside-33 .ce_bgimage-image,
	.ce_bgimage.img-leftside-50 .ce_bgimage-image {
		display: none;
	}
	
	.ce_bgimage.img-leftside-33 .ce_bgimage-outer,
	.ce_bgimage.img-leftside-50 .ce_bgimage-outer  {
		margin-left: 0;
	}
	
	.ce_bgimage.img-leftside-33:not(.bg-hide-mobile) .mobile_image,
	.ce_bgimage.img-leftside-50:not(.bg-hide-mobile) .mobile_image,
	.ce_bgimage.img-rightside-33:not(.bg-hide-mobile) .mobile_image,
	.ce_bgimage.img-rightside-50:not(.bg-hide-mobile) .mobile_image {
		display: block!important;
		margin-bottom: 30px;
	}
	
	.ce_bgimage.parallax .ce_bgimage-image {
		background-attachment: scroll;
		background-position: center center!important;
	}

	.ce_bgimage div.offset_layer {
		display: none;
	}

	.ce_bgimage.bg-hide-mobile .ce_bgimage-image {
		background-image: none!important;
	}

	.ce_bgimage.fullscreen-image:not(.vertical_centered) .ce_bgimage-outer {
		height: auto;
	}
}
.autogrid_grid{display:grid;margin-left:-15px;margin-right:-15px}.autogrid_grid .column{padding-left:15px;padding-right:15px}.autogrid_grid.gutter_none{margin-left:0;margin-right:0}.autogrid_grid.gutter_none>.column{padding-left:0;padding-right:0}.autogrid_grid.gutter_s{margin-left:-15px;margin-right:-15px}.autogrid_grid.gutter_s>.column{padding-left:15px;padding-right:15px}.autogrid_grid.gutter_m{margin-left:-30px;margin-right:-30px}.autogrid_grid.gutter_m>.column{padding-left:30px;padding-right:30px}.autogrid_grid.gutter_l{margin-left:-40px;margin-right:-40px}.autogrid_grid.gutter_l>.column{padding-left:40px;padding-right:40px}.autogrid_grid.same_height>.column>.attributes{height:100%}.autogrid_grid .column .attributes{background-size:cover;position:relative}.autogrid_grid .column .attributes.p-xl{padding:200px 40px 200px 40px}.autogrid_grid .column .attributes.p-l{padding:160px 40px 160px 40px}.autogrid_grid .column .attributes.p-m{padding:115px 40px 115px 40px}.autogrid_grid .column .attributes.p-s{padding:80px 40px 80px 40px}.autogrid_grid .column .attributes.p-xs{padding:40px 40px 40px 40px}.autogrid_grid .column.align_left_top{text-align:left}.autogrid_grid .column.align_left_center{text-align:left;align-self:center}.autogrid_grid .column.align_left_bottom{text-align:left;align-self:flex-end}.autogrid_grid .column.align_center_top{text-align:center}.autogrid_grid .column.align_center_center{text-align:center;align-self:center}.autogrid_grid .column.align_center_bottom{text-align:center;align-self:flex-end}.autogrid_grid .column.align_right_top{text-align:right}.autogrid_grid .column.align_right_center{text-align:right;align-self:center}.autogrid_grid .column.align_right_bottom{text-align:right;align-self:flex-end}.autogrid_grid.same_height>.column{align-self:unset}.autogrid_grid.same_height>.column>.attributes{display:flex;flex-wrap:wrap;height:100%}.autogrid_grid.same_height>.column>.attributes>.same-height-wrap{width:100%;flex:0 0 100%}.autogrid_grid.same_height>.column.align_left_center>.attributes{align-items:center}.autogrid_grid.same_height>.column.align_left_bottom>.attributes{align-items:flex-end}.autogrid_grid.same_height>.column.align_center_center>.attributes{align-items:center}.autogrid_grid.same_height>.column.align_center_bottom>.attributes{align-items:flex-end}.autogrid_grid.same_height>.column.align_right_center>.attributes{align-items:center}.autogrid_grid.same_height>.column.align_right_bottom>.attributes{align-items:flex-end}.autogrid_grid .column>.attributes .image_mob{display:none}.autogrid_wrapper,.autogrid_row{margin-left:-15px;margin-right:-15px;display:flex;flex-wrap:wrap;box-sizing:border-box}.autogrid,.autogrid_row>.column{padding-left:15px;padding-right:15px;flex-basis:1;flex-grow:1;width:100%;position:relative;box-sizing:border-box}.autogrid_clear{flex:0 0 100%;height:0}.col_1{flex:0 0 calc((100% / 12) * 1);max-width:calc((100% / 12) * 1)}.col_2{flex:0 0 calc((100% / 12) * 2);max-width:calc((100% / 12) * 2)}.col_3{flex:0 0 calc((100% / 12) * 3);max-width:calc((100% / 12) * 3)}.col_4{flex:0 0 calc((100% / 12) * 4);max-width:calc((100% / 12) * 4)}.col_5{flex:0 0 calc((100% / 12) * 5);max-width:calc((100% / 12) * 5)}.col_6{flex:0 0 calc((100% / 12) * 6);max-width:calc((100% / 12) * 6)}.col_7{flex:0 0 calc((100% / 12) * 7);max-width:calc((100% / 12) * 7)}.col_8{flex:0 0 calc((100% / 12) * 8);max-width:calc((100% / 12) * 8)}.col_9{flex:0 0 calc((100% / 12) * 9);max-width:calc((100% / 12) * 9)}.col_10{flex:0 0 calc((100% / 12) * 10);max-width:calc((100% / 12) * 10)}.col_11{flex:0 0 calc((100% / 12) * 11);max-width:calc((100% / 12) * 11)}.col_12{flex:0 0 calc((100% / 12) * 12);max-width:calc((100% / 12) * 12)}.autogrid_row>.column>.attributes{background-size:cover}.autogrid_row>.column>.attributes.p-xl{padding:200px 40px 200px 40px}.autogrid_row>.column>.attributes.p-l{padding:160px 40px 160px 40px}.autogrid_row>.column>.attributes.p-m{padding:115px 40px 115px 40px}.autogrid_row>.column>.attributes.p-s{padding:80px 40px 80px 40px}.autogrid_row>.column>.attributes.p-xs{padding:40px 40px 40px 40px}.autogrid_wrapper.gutter_none,.autogrid_row.gutter_none{margin-left:0;margin-right:0}.autogrid_wrapper.gutter_none>div,.autogrid_row.gutter_none>div{padding-left:0;padding-right:0}.autogrid_wrapper.gutter_s,.autogrid_row.gutter_s{margin-left:-15px;margin-right:-15px}.autogrid_wrapper.gutter_s>div,.autogrid_row.gutter_s>div{padding-left:15px;padding-right:15px}.autogrid_wrapper.gutter_m,.autogrid_row.gutter_m{margin-left:-30px;margin-right:-30px}.autogrid_wrapper.gutter_m>div,.autogrid_row.gutter_m>div{padding-left:30px;padding-right:30px}.autogrid_wrapper.gutter_l,.autogrid_row.gutter_l{margin-left:-40px;margin-right:-40px}.autogrid_wrapper.gutter_l>div,.autogrid_row.gutter_l>div{padding-left:40px;padding-right:40px}.autogrid_row>.column>.attributes{position:relative}.autogrid_row>.column.align_left_top{text-align:left}.autogrid_row>.column.align_left_center{text-align:left;align-self:center}.autogrid_row>.column.align_left_bottom{text-align:left;align-self:flex-end}.autogrid_row>.column.align_center_top{text-align:center}.autogrid_row>.column.align_center_center{text-align:center;align-self:center}.autogrid_row>.column.align_center_bottom{text-align:center;align-self:flex-end}.autogrid_row>.column.align_right_top{text-align:right}.autogrid_row>.column.align_right_center{text-align:right;align-self:center}.autogrid_row>.column.align_right_bottom{text-align:right;align-self:flex-end}.autogrid_row.same_height>.column{align-self:unset}.autogrid_row.same_height>.column>.attributes{display:flex;flex-wrap:wrap;height:100%}.autogrid_row.same_height>.column>.attributes>.same-height-wrap{width:100%;flex:0 0 100%}.autogrid_row.same_height>.column.align_left_center>.attributes{align-items:center}.autogrid_row.same_height>.column.align_left_bottom>.attributes{align-items:flex-end}.autogrid_row.same_height>.column.align_center_center>.attributes{align-items:center}.autogrid_row.same_height>.column.align_center_bottom>.attributes{align-items:flex-end}.autogrid_row.same_height>.column.align_right_center>.attributes{align-items:center}.autogrid_row.same_height>.column.align_right_bottom>.attributes{align-items:flex-end}.autogrid_row .column>.attributes .image_mob{display:none}.autogrid_row>.column.sticky .attributes{position:sticky;top:0}.order_1{order:1}.order_2{order:2}.order_3{order:3}.order_4{order:4}.order_5{order:5}.order_6{order:6}.full{flex:0 0 100%}.one_half{flex:0 0 calc(100% / 2)}.one_third{flex:0 0 calc(100% / 3)}.one_fourth{flex:0 0 calc(100% / 4)}.one_fifth{flex:0 0 calc(100% / 5)}.one_sixth{flex:0 0 calc(100% / 6)}.two_third{flex:0 0 calc((100% / 3) * 2)}.two_fourth{flex:0 0 calc((100% / 4) * 2)}.three_fourth{flex:0 0 calc((100% / 4) * 3)}.two_fifth{flex:0 0 calc((100% / 5) * 2)}.three_fifth{flex:0 0 calc((100% / 5) * 3)}.four_fifth{flex:0 0 calc((100% / 5) * 4)}.two_sixth{flex:0 0 calc((100% / 6) * 2)}.three_sixth{flex:0 0 calc((100% / 6) * 3)}.four_sixth{flex:0 0 calc((100% / 6) * 4)}.five_sixth{flex:0 0 calc((100% / 6) * 5)}.offset_col_1{margin-left:calc((100% / 12) * 1)}.offset_col_2{margin-left:calc((100% / 12) * 2)}.offset_col_3{margin-left:calc((100% / 12) * 3)}.offset_col_4{margin-left:calc((100% / 12) * 4)}.offset_col_5{margin-left:calc((100% / 12) * 5)}.offset_col_6{margin-left:calc((100% / 12) * 6)}.offset_col_7{margin-left:calc((100% / 12) * 7)}.offset_col_8{margin-left:calc((100% / 12) * 8)}.offset_col_9{margin-left:calc((100% / 12) * 9)}.offset_col_10{margin-left:calc((100% / 12) * 10)}.offset_col_11{margin-left:calc((100% / 12) * 11)}.autogrid.no_gutter{padding-left:0;padding-right:0}@media only screen and (min-width :768px) and (max-width :1024px){.col_1_t{flex:0 0 calc((100% / 12) * 1);max-width:calc((100% / 12) * 1)}.col_2_t{flex:0 0 calc((100% / 12) * 2);max-width:calc((100% / 12) * 2)}.col_3_t{flex:0 0 calc((100% / 12) * 3);max-width:calc((100% / 12) * 3)}.col_4_t{flex:0 0 calc((100% / 12) * 4);max-width:calc((100% / 12) * 4)}.col_5_t{flex:0 0 calc((100% / 12) * 5);max-width:calc((100% / 12) * 5)}.col_6_t{flex:0 0 calc((100% / 12) * 6);max-width:calc((100% / 12) * 6)}.col_7_t{flex:0 0 calc((100% / 12) * 7);max-width:calc((100% / 12) * 7)}.col_8_t{flex:0 0 calc((100% / 12) * 8);max-width:calc((100% / 12) * 8)}.col_9_t{flex:0 0 calc((100% / 12) * 9);max-width:calc((100% / 12) * 9)}.col_10_t{flex:0 0 calc((100% / 12) * 10);max-width:calc((100% / 12) * 10)}.col_11_t{flex:0 0 calc((100% / 12) * 11);max-width:calc((100% / 12) * 11)}.col_12_t{flex:0 0 calc((100% / 12) * 12);max-width:calc((100% / 12) * 12)}.order_1_t{order:1}.order_2_t{order:2}.order_3_t{order:3}.order_4_t{order:4}.order_5_t{order:5}.order_6_t{order:6}}.autogrid_row>.column.sticky_column>.attributes{position:sticky;top:0;z-index:10;height:auto !important}@media only screen and (max-width:767px){[class*="col_"],.one_half,.one_third,.one_fourth,.one_fifth,.one_sixth,.two_third,.two_fourth,.three_fourth,.two_fifth,.three_fifth,.four_fifth,.two_sixth,.three_sixth .four_sixth,.five_sixth{flex:0 0 100%;max-width:none}.column[class*="col_"]:not([class*="_m"]),.autogrid_grid .column:not([class*="_m"]){padding-left:0 !important;padding-right:0 !important;margin-bottom:25px}.column[class*="offset_"],.autogrid[class*="offset_"],.autogrid_grid[class*="offset_"]{margin-left:0}.autogrid_wrapper,.autogrid_row,.autogrid_grid{margin-left:0 !important;margin-right:0 !important}.column:empty,.column .attributes:empty,.column:has(>.attributes:empty){display:none}.autogrid_grid>.column>.attributes.has-image.empty>.image_mob,.autogrid_grid>.column>.attributes.has-image.empty>.same-height-wrap>.image_mob,.autogrid_row>.column>.attributes.has-image.empty>.image_mob,.autogrid_row>.column>.attributes.has-image.empty>.same-height-wrap>.image_mob{display:block}.autogrid_grid>.column>.attributes.has-image.empty,.autogrid_row>.column>.attributes.has-image.empty{background:none !important}.col_1_m{flex:0 0 calc((100% / 12) * 1);max-width:calc((100% / 12) * 1)}.col_2_m{flex:0 0 calc((100% / 12) * 2);max-width:calc((100% / 12) * 2)}.col_3_m{flex:0 0 calc((100% / 12) * 3);max-width:calc((100% / 12) * 3)}.col_4_m{flex:0 0 calc((100% / 12) * 4);max-width:calc((100% / 12) * 4)}.col_5_m{flex:0 0 calc((100% / 12) * 5);max-width:calc((100% / 12) * 5)}.col_6_m{flex:0 0 calc((100% / 12) * 6);max-width:calc((100% / 12) * 6)}.col_7_m{flex:0 0 calc((100% / 12) * 7);max-width:calc((100% / 12) * 7)}.col_8_m{flex:0 0 calc((100% / 12) * 8);max-width:calc((100% / 12) * 8)}.col_9_m{flex:0 0 calc((100% / 12) * 9);max-width:calc((100% / 12) * 9)}.col_10_m{flex:0 0 calc((100% / 12) * 10);max-width:calc((100% / 12) * 10)}.col_11_m{flex:0 0 calc((100% / 12) * 11);max-width:calc((100% / 12) * 11)}.col_12_m{flex:0 0 calc((100% / 12) * 12);max-width:calc((100% / 12) * 12)}.order_1_m{order:1}.order_2_m{order:2}.order_3_m{order:3}.order_4_m{order:4}.order_5_m{order:5}.order_6_m{order:6}.autogrid_grid>.column>.attributes.p-xl,.autogrid_grid>.column>.attributes.p-l,.autogrid_grid>.column>.attributes.p-m,.autogrid_grid>.column>.attributes.p-s,.autogrid_grid>.column>.attributes.p-xs,.autogrid_row>.column .attributes.p-xl,.autogrid_row>.column .attributes.p-l,.autogrid_row>.column .attributes.p-m,.autogrid_row>.column .attributes.p-s,.autogrid_row>.column .attributes.p-xs{padding:20px}.autogrid_grid .column.m_align_left_top{text-align:left}.autogrid_grid .column.m_align_left_center{text-align:left;align-self:center}.autogrid_grid .column.m_align_left_bottom{text-align:left;align-self:flex-end}.autogrid_grid .column.m_align_center_top{text-align:center}.autogrid_grid .column.m_align_center_center{text-align:center;align-self:center}.autogrid_grid .column.m_align_center_bottom{text-align:center;align-self:flex-end}.autogrid_grid .column.m_align_right_top{text-align:right}.autogrid_grid .column.m_align_right_center{text-align:right;align-self:center}.autogrid_grid .column.m_align_right_bottom{text-align:right;align-self:flex-end}.autogrid_row>.column.m_align_left_top{text-align:left}.autogrid_row>.column.m_align_left_center{text-align:left;align-self:center}.autogrid_row>.column.m_align_left_bottom{text-align:left;align-self:flex-end}.autogrid_row>.column.m_align_center_top{text-align:center}.autogrid_row>.column.m_align_center_center{text-align:center;align-self:center}.autogrid_row>.column.m_align_center_bottom{text-align:center;align-self:flex-end}.autogrid_row>.column.m_align_right_top{text-align:right}.autogrid_row>.column.m_align_right_center{text-align:right;align-self:center}.autogrid_row>.column.m_align_right_bottom{text-align:right;align-self:flex-end}}body.edge column[class*="col_"]{flex-basis:1}@media only screen and (max-width:767px){body.edge column[class*="col_"]{flex-basis:100%}}
/* josefin-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/kucook/fonts/josefin-sans-v34-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* josefin-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Josefin Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../../files/kucook/fonts/josefin-sans-v34-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* josefin-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/kucook/fonts/josefin-sans-v34-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* josefin-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Josefin Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../../files/kucook/fonts/josefin-sans-v34-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* josefin-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/kucook/fonts/josefin-sans-v34-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* josefin-sans-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Josefin Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../../files/kucook/fonts/josefin-sans-v34-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/*====================
= 1. Globale Styles  =
====================*/

/* Basis-Root-Font-Size für 1920px */
html {
  font-size: 16px; /* 1rem = 16px (Basis für 1920px) */
}

body.startseite,
body[class*="startseite"] {
  overflow: hidden;
  width: 120rem; /* 1920px / 16 = 120rem */
  height: 67.5rem; /* 1080px / 16 = 67.5rem */
  transform-origin: top left;
  max-height: 100vh;
  max-width: 100vw;
}

div.startseite-hintergrund {
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  background-position: center;
  background-origin: center;
  background-size: cover;
}

body,
h2,
.regular {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 300;
}

h1,
h3,
.bold {
  font-weight: 600;
}

.primecolor {
  color: #D0404D;
}

.accentcolor {
  color: #cf404d;
}

.softcolor {
  color: #D0404D;
  opacity: 0.5;
}

.gray-background {
  background-color: #e6e6e6 !important;
}

a,
a:hover,
a:focus,
a:active {
  cursor: pointer !important;
}

/* Bezugspunkt für absolute Stoerer */
.attributes {
  position: relative;
}

.stoerer {
  position: relative;
  top: 0;
  right: 5rem; /* 80px */
  z-index: 100;
  filter: drop-shadow(0.3125rem 0.3125rem 0.625rem rgba(0,0,0,0.5)); /* 5px 5px 10px */
  transform: scale(1);
}

/*====================
= 2. Header         =
====================*/

.kucook-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 0 4rem 0;
  min-height: 80px;
}

.kucook-header img {
  display: block;
  height: 7.5rem;
  max-height: 7.5rem; /* 120px */
  width: auto;
  z-index: 21;
  transition: max-height 0.3s ease;
}

.kucook-header .header-link {
  position: absolute;
  top: 8rem;
  transform: translateY(-50%);
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  z-index: 21;
}

.kucook-header .header-link.petrol {
  color: #557277;
}

.kucook-header .header-link:hover {
  color: #CF404D;
  text-decoration: underline;
}

.kucook-header.shrink {
  padding: 1rem 0;
  min-height: 6.875rem;
}

.kucook-header.shrink .header-link {
  transition: 0.3s ease;
}

@media only screen and (max-width: 1040px) {
  .kucook-header .header-link {
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0 4rem 0;
    min-height: 5rem;
  }
  
  .kucook-header.shrink .header-link {
    top: 2.125rem;
  }
}

/*====================
= 3. Hero Section   =
====================*/

.hero-claim {
  font-size: 4rem;
  text-align: center;
  line-height: 1.2;
  color: white;
  margin-top: 40vh;
}

.hero-claim p {
  margin: 0;
}

.hero-claim .part {
  display: block; /* jede Gruppe auf eigener Zeile (Mobile) */
}

/* Hero Buttons */
.hero-buttons {
  display: flex;
  justify-content: center;
}

.hero-buttons a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 300;
  text-decoration: none;
  width: 33vw;
  height: 3.125rem;
  font-size: 1rem;
}

.hero-buttons .btn-restaurant {
  background: #557277;
  color: #fff;
  min-width: 18.125rem;
}

.hero-buttons .btn-catering {
  background: #fff;
  color: #557277;
  min-width: 18.125rem;
}

.hero-buttons a h2 {
  margin-top: 2.25rem;
}

@media only screen and (max-width: 767px) {
  .hero-buttons a h2 {
    margin-top: 1.1875rem;
  }
  
  .hero-buttons .btn-restaurant,
  .hero-buttons .btn-catering {
    max-width: 10rem;
    min-width: 10rem;
  }
}

@media only screen and (max-width: 400px) {
  .hero-buttons a h2 {
    margin-top: 1rem;
  }
}

/* Links */
.bold-red-fancy-links {
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
  font-size: 1.5rem;
  color: #CF404D;
}

.bold-red-fancy-links:hover {
  color: #CF404D;
  text-decoration: underline;
}

/*====================
= 4. Footer         =
====================*/

.kucook-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  color: #fff;
  font-size: 0.9rem;
  background: rgba(0,0,0,0);
  z-index: 1000;
  box-sizing: border-box;
}

.kucook-footer a {
  color: #fff;
  text-decoration: none;
  margin: 0 0.3rem;
}

.kucook-footer a:hover {
  text-decoration: underline;
}

.kucook-footer .btn-phone {
  display: inline-block;
  padding: 1rem;
  background: #CF404D;
  border-radius: 0.25rem;
  font-weight: bold;
}

.kucook-footer .btn-phone:hover {
  transform: scale(1.2);
  transition-duration: 0.5s;
}

.mobile-device .btn-phone {
  display: inline-block;
  padding: 1rem;
  background: #CF404D;
  border-radius: 0.25rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  margin: 0.9375rem 0;
}

/* Mobile Footer */
@media (max-width: 768px) {
  .kucook-footer {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }

  /* Reihenfolge umkehren: btn oben, Adresse mittig, Impressum unten */
  .kucook-footer .footer-right { order: 0; }
  .kucook-footer .footer-center { order: 1; }
  .kucook-footer .footer-left { order: 2; }

  .kucook-footer .btn-phone {
    margin: auto 0 0.9375rem 0;
    display: none;
  }
}

/* Mobile Phone Button */
.btn-phone-mobile {
  display: inline-block;
  padding: 1rem;
  background: #CF404D;
  border-radius: 0.25rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition: transform 0.5s;
  z-index: 1000;
  margin-top: 1rem;
}

.btn-phone-mobile:hover {
  transform: scale(1.2);
}

/*====================
= 5. Page Switch Btn =
====================*/

.page-switch-btn {
  position: fixed;
  transform: translateY(-50%) rotate(90deg);
  padding: 1rem 2rem;
  font-weight: bold;
  border-radius: 0.25rem;
  text-decoration: none;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center top;
}

a.page-switch-btn {
  text-transform: uppercase;
  font-weight: 300;
}

.page-switch-btn.right {
  right: -4.5625rem;
  top: 75vh;
  background: #CF404D;
  color: white;
}

.page-switch-btn.left {
  left: -5.25rem;
  top: 75vh;
  transform: translateY(-50%) rotate(-90deg);
  background: #CF404D;
  color: white;
}

/*====================
= 6. Tile Layout    =
====================*/

.tile-row {
  display: flex;
  flex-wrap: wrap;
}

.square-img,
.square-tile {
  flex: 1 1 50%; /* 2 Spalten Desktop */
}

@media (max-width: 767px) {
  .tile-row {
    display: flex;
    flex-direction: column; /* 1 Spalte */
  }

  /* Text immer vor Bild */
  .tile-row .square-tile { order: 1; }
  .tile-row .square-img { order: 2; }
}

/*====================
= 7. News Blog      =
====================*/

.news-headline {
  padding: calc(1vw + 0.9375rem);
  padding-bottom: 0;
}

.news-subheadline {
  padding-left: calc(1vw - 0.125rem);
}

.mod_newslist.block {
  display: flex;
  gap: 1.875rem;
}

.news-item {
  border-radius: 0.375rem;
  padding: 2rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-title,
.h2-rot p {
  text-transform: uppercase;
  color: #CF404D;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.news-date {
  font-size: 0.9rem;
  color: #557277;
  opacity: 0.9;
  margin-bottom: 1rem;
}

.news-body p,
.news-text p {
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #000;
  margin-bottom: 0.75rem;
}

.news-item.square-tile {
  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: calc(1vw + 0.9375rem);
}

@media only screen and (max-width: 1176px) {
  .news-item {
    padding: 1.5rem;
  }
  
  .news-body p {
    font-size: 0.95rem;
    line-height: 1.4;
  }
}

@media only screen and (max-width: 787px) {
  .mod_newslist.block {
    gap: 2rem;
    padding: 0 1rem;
  }
  
  .news-item {
    padding: 1.2rem;
  }
  
  .news-body p {
    font-size: 0.9rem;
  }
}

/*====================
= 8. Catering       =
====================*/

.catering-highlights strong {
  font-size: 0.9em;
}

.catering-highlights span.h2-rot {
  font-size: inherit;
}

.btn-red-white a,
.btn-red-white p {
  display: inline-block !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/*====================
= 9. Media Queries  =
====================*/

/* iPhone SE & Kleinstgeräte */
@media screen and (max-width: 399px) and (max-height: 667px) {
  .stoerer { 
    transform: scale(0.5); 
  }
  
  .hero-claim { 
    font-size: 3.5rem; 
    line-height: 1; 
    margin-top: 35vh; 
  }
  
  .hero-buttons a { 
    font-size: 10px; 
    margin-top: 10px; 
  }
  
  .kucook-footer .btn-phone { 
    margin-bottom: 0.9375rem; 
  }
}

/* Tablet */
@media (min-width: 768px) {
  .hero-claim { 
    font-size: 5rem; 
    margin-top: 35vh; 
  }
  
  .hero-claim .part { 
    display: block; 
  }
  
  .hero-buttons a { 
    width: 25vw; 
    height: 6.25rem; 
    font-size: 1.5rem; 
  }
  
  .stoerer { 
    transform: scale(0.8); 
    top: -15vh; 
    right: 15vw; 
  }
  
  .footer-right.mobile-device {
    display: none;
  }
}

/* Desktop */
@media (min-width: 1394px) {
  .hero-claim { 
    font-size: 8rem; 
    margin-top: 40vh; 
  }
  
  .hero-claim .part { 
    display: inline; 
  }
  
  .hero-buttons a { 
    width: 20rem; 
    height: 6.25rem; 
    font-size: 1.5rem; 
  }
  
  .stoerer { 
    transform: scale(1); 
    top: -20vh; 
    right: 20vw; 
  }
  
  div.footer-right.mobile-device {
    display: none;
  }
}

/*====================
= 10. Hochskalierung =
====================*/

/* Skalierung mit Transform für verschiedene Auflösungen */
@media screen and (min-width: 2560px) {
  html { font-size: 21.33px; } /* 16 * 1.3333 */
  .stoerer {
    transform: scale(2) !important;
  }
}

@media screen and (min-width: 3008px) {
  html { font-size: 25.07px; } /* 16 * 1.5667 */
  .stoerer {
    transform: scale(2.2) !important;
  }
}

@media screen and (min-width: 3360px) {
  html { font-size: 28px; } /* 16 * 1.75 */
  .stoerer {
    transform: scale(2.4) !important;
  }
}

@media screen and (min-width: 3840px) {
  html { font-size: 32px; } /* 16 * 2 */
  .stoerer {
    transform: scale(2.6) !important;
  }
}

/* STOERER OVERRIDE - muss ganz am Ende stehen für Hero Section */
.stoerer {
  position: absolute;
  top: -18.5vh;
  right: 20vw;
  z-index: 100;
  filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.5));

}
/* Font-Size flüssig skalieren */
html {
  font-size: clamp(16px, 0.7vw, 32px); /* Minimum 16px, Maximum 32px, wächst mit der Bildschirmbreite */
}

/* Stoerer flüssig skalieren */
.stoerer {
  width: clamp(160px, 5vw, 420px);  /* Minimum 80px, Maximum 420px, wächst mit Bildschirmbreite */
  height: auto;
  filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
  transform: scale(1); /* Optional: für kleine zusätzliche Anpassungen */
  transition: all 0.3s ease;
}

/* =========================
   SAFARI FIXES - HOME/KUCOOK
   Lade diese nach kucook.css
========================= */

/* =========================
   HEADER / LOGO
========================= */
.kucook-header {
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.kucook-header img {
  transform-origin: top center;
  -webkit-transform-origin: top center;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: max-height 0.3s ease, transform 0.3s ease;
  -webkit-transition: max-height 0.3s ease, -webkit-transform 0.3s ease;
}

/* =========================
   HERO SECTION
========================= */
.hero-claim {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================
   BUTTONS - HERO
========================= */
.hero-buttons a {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

.btn-phone {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

.btn-phone:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

/* =========================
   STOERER (Badge)
========================= */
.stoerer {
  -webkit-transform: scale(0.7) translateZ(0);
  transform: scale(0.7) translateZ(0);
  -webkit-filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
  filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
  will-change: transform;
}

/* Media Query Anpassungen */
@media (min-width: 768px) {
  .stoerer {
    -webkit-transform: scale(0.8) translateZ(0);
    transform: scale(0.8) translateZ(0);
  }
}

@media (min-width: 1394px) {
  .stoerer {
    -webkit-transform: scale(1) translateZ(0);
    transform: scale(1) translateZ(0);
  }
}

@media screen and (max-width: 399px) and (max-height: 667px) {
  .stoerer {
    -webkit-transform: scale(0.5) translateZ(0);
    transform: scale(0.5) translateZ(0);
  }
}

/* =========================
   FOOTER
========================= */
.kucook-footer {
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* =========================
   OVERFLOW FIX
========================= */
body {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Sicherstellen dass Stoerer sichtbar bleibt */
.hero-section,
.bg-wrapper {
  overflow: visible !important;
}
