/* Add your custom styles here... */ 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
/*Fonts */

:root {
	--dark-blue: #203F94;
	--red: #D02E26;
	--light-gray: #ECEFF6;
	--text-color: #21283D;
	--font-family-display: "neue-haas-grotesk-display", sans-serif;
	--font-family-text: "neue-haas-grotesk-text", sans-serif;
	--content-width-center: 1700px;
	--product-details-content-width: 1376px;
	--content-padding: calc((100% - 1700px)/2);
	--container-max-1000px: 1000px;
	--narrow-content-width: 960px;
	--text-size-base: 16px;
	--text-size-normal: 18px;
	--text-size-small: 12px;
	--heading-single-size: 60px;
	--heading-font-size: 80px;
	--h1-font-size: 60px;
	--h2-font-size: 40px;
	--h3-font-size-big: 32px;
	--h3-font-size: 28px;
	--h4-font-size: 20px;
	--h5-font-size: 16px;
	--h6-font-size: 16px;
	--margin-bottom-large: 120px;
	--single-content-width: 1344px;
	/* Height of the fixed header. Recalculated by custom.js on load/resize,
	   the value below is only the desktop fallback if JS is unavailable. */
	--header-height: 194px;

}

body { 
	font-family: var(--font-family-text);
	color: var(--text-color);
	line-height: 1.4;
	-webkit-text-size-adjust: none;
	font-size: var(--text-size-base);
}
ul, ol {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
em {	font-style: italic;}
strong{	font-weight:700;	}
* {
    box-sizing: border-box !important;
    outline: none !important;
}
a {	text-decoration: none; }
p , .wpb_text_column ul , .wpb_text_column ol{margin-bottom:20px;}
p:last-child {
	margin-bottom: 0;
}
p {
	line-height: 1.6;
}
img {
	max-width: 100%;
	height: auto;
}
.alignright, .alignleft , .aligncenter{
	padding: 5px 10px;
}
input[type="text"],
input[type="email"],
input[type="submit"],
textarea,
.contact--fields select,
input[type="tel"] {
    -webkit-appearance: none;
    border-radius: 0;
}
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="submit"],
textarea,
button {
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
	font-family: var(--font-family-text);
}
.bg-image {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

/*Transition Effect - specific transition for elements*/
a {
	transition: color 0.3s ease-in-out,
				background-color 0.3s ease-in-out;
}
.alignright{
	float:right;
}
.alignleft{
	float:left;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*animation*/
.animate {
	opacity: 0 !important;
}
.animate.start {
	opacity: 1 !important;
}
.fade-right{
	transform:translateX(50px);
}
.fade-left{
	transform:translateX(-50px);
}
.fade-bottom{
	transform:translateY(50px);
}
.fade-top{
	transform:translateY(-50px);
}
.fade-bottom.start,
.fade-top.start{
	transform:translateY(0);
}
.fade-left.start,
.fade-right.start{
	transform:translateX(0);
}
.animate{
	transition: 0.6s all ease-in-out;
	-webkit-transition: 0.6s all ease-in-out;
	-moz-transition: 0.6s all ease-in-out;
}

.delay1{
	-webkit-transition-delay: 0.1s;
	-moz-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
.delay2{
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
.delay3{
	-webkit-transition-delay: 0.3s;
	-moz-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
.delay4{
	-webkit-transition-delay: 0.4s;
	-moz-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
.delay5{
	-webkit-transition-delay: 0.5s;
	-moz-transition-delay: 0.5s;
	transition-delay: 0.5s;
}
.delay6{
	-webkit-transition-delay: 0.6s;
	-moz-transition-delay: 0.6s;
	transition-delay: 0.6s;
}
.delay7{
	-webkit-transition-delay: 0.7s;
	-moz-transition-delay: 0.7s;
	transition-delay: 0.7s;
}
.delay8{
	-webkit-transition-delay: 0.8s;
	-moz-transition-delay: 0.8s;
	transition-delay: 0.8s;
}

.content-center {
	display: block;
	width: 100%;
	max-width: var(--content-width-center);
	margin: 0 auto;
}


.main-website-content {
	overflow: hidden;
}

/*404*/
.not-found {
	text-align: center;
	margin: 70px 0;
}
.not-found a {
	color: var(--red);
	text-decoration: underline;
}
.not-found span {
	color: var(--red);
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 700;
}
.not-found h1 {
	font-size: 140px;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.1;
	margin-bottom: 20px;
}
.clearfix::after {
	content: '';
	display: table;
	clear: both;
}
body img{
	display: block;
}
h1, .h1{
	font-size: var(--h1-font-size);
}
h2, .h2{
	font-size: var(--h2-font-size);
}
h3, .h3{
	font-size: var(--h3-font-size);
}
h4, .h4{
	font-size: var(--h4-font-size);
}
h5, .h5{
	font-size: var(--h5-font-size);
}
h6, .h6{
	font-size: var(--h6-font-size);
}

section.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated, .elementor-page .elementor-element{
	padding: 0 !important;
}
.posts-selection-excerpt, .masonry-box-description {
	line-height: 1.6;
}
/*Comments for header, footer and grouped css*/

/*Header*/
.masthead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	box-shadow: 0 0 0px 0 rgba(0, 0, 0, );;
	transition: box-shadow 0.3s ease-in-out;
}
.admin-bar .masthead {
	top: 32px;
}
/* The header is fixed, so the page content is pushed down by its current height */
.main-website-content {
	margin-top: var(--header-height);
}
.header-bar {
	background-color: var(--dark-blue);
	color: #fff;
	padding: 13px 0;
	transition: padding 0.3s ease-in-out;
}
.scroll-body .header-bar {
	padding: 6px 0;
}
.header-bar-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header-bar-right{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 24px;
}
.info-bar-item {
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.1;
	font-weight: 300;
	font-family: var(--font-family-display);
	position: relative;
}
.info-bar-event-icon{
	width: 36px;
	height: 36px;
}
.info-bar-item strong {
	font-weight: 500;
	font-family: var(--font-family-text);
}
.header-content .logo-container {
	max-width: 377px;
	transition: max-width 0.3s ease-in-out;
}
.scroll-body .header-content .logo-container {
	max-width: 340px;
}
.logo-container img{
	display: block;
}
.header-content {
	padding: 20px 0;
	background-color: #fff;
	transition: padding 0.3s ease-in-out;
}
.scroll-body .header-content{
	padding: 10px 0;
}
.header-content-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.menu-container-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
/* The burger button is only used from 1023px down (see the responsive section) */
.menu--stripes {
	display: none;
}
/* Only the top level (ul.menu) is a row - sub menus stay stacked */
.menu-container .menu {
	display: flex;
	align-items: center;
	gap: 38px;
}
/* Anchor for the absolutely positioned dropdown */
.menu-container .menu > li {
	position: relative;
}
.menu-container li a {
	color: var(--text-color);
	font-size: var(--text-size-normal);
	font-weight: 500;
}
.menu-container li a:hover,
.menu-container li.current-menu-item > a,
.menu-container li.current-menu-ancestor > a {
	color: var(--red);
}
.menu-container .menu > li.button-sale > a {
	background-color: var(--red);
	color: #fff;
	padding: 8px 68px;
	border-radius: 50px;
	display: block;
}
.menu-container .menu > li.button-sale > a:hover {
	background-color: var(--dark-blue);
}

/* Search - magnifying glass left of Sale, the field drops below the menu bar */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.menu-search-toggle {
	display: block;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background-color: var(--text-color);
	-webkit-mask: url('../images/magnifying_glass_icon.png') no-repeat center / contain;
	mask: url('../images/magnifying_glass_icon.png') no-repeat center / contain;
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}
.menu-search-toggle:hover,
.menu-search.search-open .menu-search-toggle {
	background-color: var(--red);
}
.menu-search-form {
	position: absolute;
	z-index: 6;
	top: calc(100% + 14px);
	right: -20px;
	display: flex;
	gap: 10px;
	width: 420px;
	padding: 16px;
	background-color: var(--light-gray);
	border-radius: 8px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.menu-search.search-open .menu-search-form {
	opacity: 1;
	visibility: visible;
}
.menu-search-form input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 10px 18px;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	background-color: #fff;
	font-size: var(--text-size-base);
	font-family: var(--font-family-display);
}
.menu-search-submit {
	flex: 0 0 auto;
	padding: 10px 24px;
	border: 0;
	border-radius: 30px;
	background-color: var(--dark-blue);
	color: #fff;
	font-size: var(--text-size-base);
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}
.menu-search-submit:hover {
	background-color: var(--red);
}
.search--content {
	padding-top: 20px;
}
.search-results-content h1{
	font-size: var(--h2-font-size);
}
.search-results-content h1 span {
	color: var(--red);
}
/* Search results - cards with title, description and a button to the page */
.search--page {
	padding-bottom: var(--margin-bottom-large);
}
.search-results-list {
	display: flex;
	gap: 24px;
	flex-flow: column;
}
.search-result-item {
	display: flex;
	flex-flow: column;
	gap: 12px;
	padding: 24px;
	background-color: var(--light-gray);
	border-radius: 16px;
}
.search-result-title {
	font-size: var(--h4-font-size);
	color: var(--dark-blue);
	margin: 0;
}
.search-result-title a {
	color: var(--dark-blue);
	transition: color 0.3s ease-in-out;
}
.search-result-title a:hover {
	color: var(--red);
}
.search-result-description {
	font-size: var(--text-size-normal);
	line-height: 1.5;
}
/* The button always sits at the bottom, so the cards in a row line up */
.search-result-button.button-wrapper-arrow {
	margin-top: auto;
	padding-top: 8px;
}
.search-result-button.button-wrapper-arrow a {
	display: inline-block;
	border: 1px solid #A8B4D2;
}
.search-result-button.button-wrapper-arrow a:hover {
	border-color: var(--dark-blue);
	background-color: #fff;
}
.word-notfound {
	padding: 40px 0;
	text-align: center;
}
.word-notfound h2 span {
	color: var(--red);
}
/* Pagination - 10 results per page */
.search-pagination {
	margin-top: 32px;
}
.search-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.search-pagination .page-numbers li {
	margin: 0;
}
.search-pagination li .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #A8B4D2;
	border-radius: 8px;
	color: var(--dark-blue);
	font-size: var(--text-size-normal);
	line-height: 1;
	transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.search-pagination li a.page-numbers:hover {
	border-color: var(--dark-blue);
	color: var(--red);
}
.search-pagination li .page-numbers.current {
	border-color: var(--dark-blue);
	background-color: var(--dark-blue);
	color: #fff;
}
.search-pagination li .page-numbers.dots {
	border-color: transparent;
	min-width: auto;
	padding: 0 4px;
}
@media(max-width:1023px){
	.search-results-list {	grid-template-columns: repeat(2, 1fr);	gap: 16px;}
}
@media(max-width:639px){
	.search-results-list {	grid-template-columns: 1fr;}
	.search-result-item {	padding: 20px;}
	.search-pagination li .page-numbers {	min-width: 36px;	height: 36px;	padding: 0 8px;}
}

/* Breadcrumbs - [breadcrumbs] shortcode */
.breadcrumbs {
	padding: 0;
	font-size: 14px;
	line-height: 1.4;
}
.breadcrumbs-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.breadcrumbs-item {
	display: flex;
	align-items: center;
}
.breadcrumbs-item a {
	color: var(--text-color);
	transition: color 0.3s ease-in-out;
}
.breadcrumbs-item a:hover {
	color: var(--red);
}
.breadcrumbs-separator {
	margin: 0 8px;
	color: #A8B4D2;
}
.breadcrumbs-current {
	color: var(--dark-blue);
	font-weight: 500;
}
.breadcrumbs-list li a, .breadcrumbs-list li span {
	font-size: 14px;
	color: #000;
}
.breadcrumbs-list {
	display: flex;
	gap: 0px;
}
.breadcrumbs-separator {
	margin-left: 5px;
}
.breadcrumbs-section {
	margin: 15px 0;
}

/* Sub menus */
/* Every parent link gets a caret. The shared bits live here, the direction is
   set per level below: down at the top, sideways once the panels fly out. */
.menu-container .menu > .menu-item-has-children > a {
	padding-right: 15px;
	position: relative;
}
.menu-container .menu > .menu-item-has-children > a::after {
	content: "";
	width: 10px;
	height: 12px;
	background-color: currentColor;
	-webkit-mask: url('../images/Arrow-caret.svg') no-repeat center / contain;
	mask: url('../images/Arrow-caret.svg') no-repeat center / contain;
	transform: rotate(90deg);
	transition: transform 0.3s ease-in-out;
	position: absolute;
	right: 0;
	top: 10px;
}
/* Top level: the caret points down and flips up while the panel is showing */
.menu-container .menu > .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.menu-container .menu > .menu-item-has-children > a::after {
	transform: rotate(90deg);
}
/* Dropdown panel - kept in the flow with visibility so it can fade.
   Every level uses the same panel, only the position differs. */
.menu-container .sub-menu {
	position: absolute;
	z-index: 5;
	min-width: 240px;
	padding: 20px;
	background-color: var(--light-gray);
	border-radius: 8px;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
/* Any item inside a panel can carry a panel of its own */
.menu-container .sub-menu li {
	position: relative;
}
/* Invisible bridge over the gap, so the pointer can travel from the parent
   item into the panel without it closing on the way */
.menu-container .sub-menu::before {
	content: "";
	position: absolute;
	background-color: transparent;
}
/* Second level: drops straight below the menu bar */
.menu-container .menu > .menu-item-has-children > .sub-menu {
	top: calc(100% + 14px);
	left: -20px;
}
.menu-container .menu > .menu-item-has-children > .sub-menu::before {
	bottom: 100%;
	left: 0;
	width: 100%;
	height: 14px;
}
/* Third level and deeper: flies out to the right of its parent panel, with
   the top padding cancelled so the first entry lines up with its parent */
.menu-container .sub-menu .sub-menu {
	top: -20px;
	left: calc(100% + 14px);
}
.menu-container .sub-menu .sub-menu::before {
	top: 0;
	right: 100%;
	width: 14px;
	height: 100%;
}
/* The menu sits at the right edge of the container, so the last item opens its
   whole chain leftwards instead of pushing the panels past the viewport */
.menu-container .menu > li:last-child > .sub-menu {
	left: auto;
	right: -20px;
}
.menu-container .menu > li:last-child .sub-menu .sub-menu {
	left: auto;
	right: calc(100% + 14px);
}
.menu-container .menu > li:last-child .sub-menu .sub-menu::before {
	right: auto;
	left: 100%;
}
.menu-container .sub-menu li + li {
	margin-top: 14px;
}
/* Full width links, so a nested caret can sit at the right edge of the panel */
.menu-container .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	white-space: nowrap;
	font-size: var(--text-size-base);
}
/* Opens on hover at every level, so a whole chain stays open while the
   pointer is anywhere inside it */
.menu-container .menu-item-has-children:hover > .sub-menu,
.menu-container .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
}
/* The walker renders this toggle next to every parent link. At the top level the
   caret rides on the link itself, so the span stays out of the way there. */
.menu-container .expend-icon {
	display: none;
}
.info-bar-item {
	line-height: 1.2;
}
.info-bar-item .link-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* End Sub menus */

/* Inside a dropdown panel the toggle is the marker that an entry leads further,
   so it is shown from the second level down. The row becomes a flex line - link
   on the left, icon pinned right - and the link drops its own caret to avoid
   doubling up. The deeper panel is absolutely positioned, so it never joins
   this row.
   These are min-width scoped on purpose: the selectors below outrank the ones
   the mobile panel uses, so left in the base they would shrink the accordion
   toggles to 14px and strip their rotation. */
@media(min-width:1024px){
	.menu-container .sub-menu .menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 12px;
	}
	.menu-container .sub-menu .menu-item-has-children > a {
		flex: 1 1 auto;
	}
	.menu-container .sub-menu .menu-item-has-children > a::after {
		display: none;
	}
	.menu-container .sub-menu .menu-item-has-children > .expend-icon {
		display: block;
		position: relative;
		flex: 0 0 14px;
		width: 14px;
		height: 14px;
	}
	.menu-container .sub-menu .menu-item-has-children > .expend-icon::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 7px;
		height: 11px;
		background-color: var(--text-color);
		-webkit-mask: url('../images/Arrow-caret.svg') no-repeat center / contain;
		mask: url('../images/Arrow-caret.svg') no-repeat center / contain;
		transform: translate(-50%,-50%);
		transition: background-color 0.3s ease-in-out;
	}
	/* The icon is a sibling of the link, so it needs its own hover colour */
	.menu-container .sub-menu .menu-item-has-children:hover > .expend-icon::before {
		background-color: var(--red);
	}
}
.header-bar-left-inner{
	display: flex;
	align-items: center;
	gap: 8px;
}
.header-bar-left-inner .event-text {
	font-size: var(--text-size-normal);
	font-weight: 500;
}
.header-bar-left-inner .event-text a {
	color: inherit;
}
.header-bar-left-inner .event-text a:hover {
	color: var(--red);
}
.header-bar-left-inner .info-bar-event-subtitle {
	font-size: var(--text-size-small);
	letter-spacing: 1px;
	font-weight: 200;
	font-family: var(--font-family-display);
}
.scroll-body .masthead {
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
/*End Header*/

/*Footer*/
.footer-logo{
	background: #FDFDFD;
	background: linear-gradient(180deg, rgba(253, 253, 253, 1) 0%, rgba(236, 239, 246, 1) 61%);
	padding: 36px 0;
	text-align: center;
}
.footer-logo .logo-container {
	max-width: 587px;
	margin: 0 auto;
}
.footer-bars{
	background-color: #fff;
	padding: 40px 0;
}
.footer-bars-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}
.footer-copyright{
	background-color: var(--dark-blue);
	color: #fff;
	padding: 24px 0;
	text-align: center;
}
.footer-sidebar-social{
	display: flex;
	flex-direction: column;
	gap:10px;
}
.footer-sidebar-social a{
	display: block;
}

.footer-copyright-items {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 32px;
}
.footer-copyright-item {
	display: flex;
	gap: 8px;
	align-items: center;
}
.footer-copyright-items .footer-copyright-item img {
	max-width: 20px;
}
.footer-sidebar-social-item {
	width: 34px;
	height: 34px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
.footer-sidebar-social-item.item-facebook {
	background-image: url("../images/Facebook.svg");
}
.footer-sidebar-social-item.item-instagram {
	background-image: url("../images/Instagram.svg");
}
.footer-sidebar-social-item.item-linkedin {
	background-image: url("../images/LinkedIn.svg");
}
.footer-sidebar-social-item.item-phone {
	background-image: url("../images/phone.svg");
}
.footer-bars-inner .footer-sidebar .widgettitle {
	font-weight: 700;
	margin-bottom: 5px;
}
.footer-bars-inner .footer-sidebar ul li a {
	color: var(--text-color);
	transition: color 0.3s ease-in-out;
}
.footer-bars-inner .footer-sidebar ul li a:hover{
	color: var(--red);
}
.footer-sidebar {
	font-weight: 500;
}
.footer-sidebar-form-button {
	background-color: var(--dark-blue);
	color: #fff;
	font-weight: 500;
	padding: 2px 100px;
	border-radius: 30px;
	display: block;
	position: relative;
}
.footer-sidebar-form {
	margin-top: 20px;
}
.footer-sidebar-social-item a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.footer-sidebar-form-button span::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 16px;
	height: 12px;
	margin-left: 8px;
	background-color: #fff;
}
.footer-sidebar-form-button:hover {
	background-color: var(--red);
}
.floating-bar {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-flow: column;
	gap: 4px;
	z-index: 10;
}
.floating-bar .floating-bar-item a {
	background-color: var(--red);
	width: 65px;
	height: 65px;
	border-radius: 10px 0 0 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.floating-bar-item img {
	width: 32px;
}
.footer-sidebar * {
	line-height: 1.6;
}
/*End Footer*/

/*Hero Section*/
.hero-section-item {
	display: flex;
	flex-flow: row;
}
.hero-section-header-container {
	width: 40%;
	border-radius: 20px 0 0 20px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-flow: column;
	text-align: left;
	padding: 100px 50px 100px 110px;
}
.hero-section-image-container {
	width: 60%;
	position: relative;
	aspect-ratio: 3 / 2;
}
.hero-section-image-container .hero-section-image{
	width: 100%;
}
.hero-section-button a {
	font-size: var(--h4-font-size);
	font-weight: 500;
	color: var(--text-color);
	text-align: center;
	background-color: #fff;
	border-radius: 30px;
	display: block;
	border: 1px solid #A8B4D2;
	padding: 5px 30px;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
/* White buttons stay light on hover - the border and the text darken to the
   brand blue instead of the whole button turning red. */
.hero-section-button a:hover {
	background-color: var(--light-gray);
	color: var(--dark-blue);
	border-color: var(--dark-blue);
}
.hero-section-button {
	width: 100%;
	margin-top: auto;
}
.hero-section-header-container h1{
	font-size: var(--heading-font-size);
}
.hero-section-header-container h2{
	font-size: var(--heading-font-size);
}
.hero-section-item {
	display: flex !important;
	flex-flow: row;
	background-color: var(--light-gray);
}
.hero-section-image-container .hero-section-image {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background-position: 80% center;
}
.hero-section-editor {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 100%;
}
.hero-section-header-container h1, .hero-section-header-container h2 {
	line-height: 1.1;
	font-weight: 600;
	margin-bottom: 30px;
}
.hero-section-editor-content {
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background-color: var(--red);
	color: #fff;
	font-size: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.1;
	transform: rotate(8deg) translateY(-50%);
	position: absolute;
	top: 53%;
	right: 80px;
	font-weight: 300;
	font-family: var(--font-family-display);
}
.hero-section-editor-content strong {
	font-family: var(--font-family-text);
}
.hero-section-content {
	position: relative;
}
.hero-section-content .slick-arrow {
	width: 41px;
	height: 41px;
	position: absolute;
	top: calc(50% - 20px);
	border-radius: 50%;
	background-color: #FDFDFDAB;
	z-index: 3;
	border: 0;
	padding: 0;
	cursor: pointer;
}
.hero-section-content .slick-prev.slick-arrow {
	left: 20px;
}
.hero-section-content .slick-next.slick-arrow {
	right: 20px;
}
.hero-section-content .slick-prev.slick-arrow::before, .hero-section-content .slick-next.slick-arrow::before {
	content: "";
	display: inline-block;
	background-image: url("../images/Arrow-caret.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.hero-section-content .slick-prev.slick-arrow::before, .hero-section-content .slick-next.slick-arrow::before {
	content: "";
	display: inline-block;
	background-image: url("../images/Arrow-caret.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}
.hero-section-content .slick-prev.slick-arrow::before {
	transform: translate(-50%,-50%) scale(-1);
	-webkit-transform: translate(-50%,-50%) scale(-1);
}
.hero-section-header ul {
	list-style-type: disc;
	padding-left: 20px;
}
.hero-section-header ol {
	list-style-type: decimal;
	padding-left: 20px;
}
.hero-section-editor-content p {
	line-height: 1;
}


/*End Hero Section*/

/*Masonry Categories Section*/
.masonry-categories-heading {
	text-align: center;
	margin-bottom: unset;
}
.masonry-categories-item {
	position: relative;
	border-radius: 20px;
}
.masonry-categories-description {
	line-height: 1.6;
}
.masonry-categories-header-container {
	width: 100%;
	height: 100%;
	z-index: 2;
	position: relative;
	background: #FDFDFD;
	background: linear-gradient(180deg, rgba(253, 253, 253, 0) 60%, rgba(0, 0, 0, 0.77) 100%);
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	border-radius: 20px;
}
.masonry-categories-item.full {
	width: 100%;
}
.masonry-categories-item.half {
	width: 50%;
}
.masonry-categories-item.large {
	height: 550px;
}
.masonry-categories-item.medium {
	height: 410px;
}
.masonry-categories-item.small {
	height: 265px;
}
.masonry-categories-header h4, .masonry-categories-header-text {
	font-size: var(--h3-font-size);
	color: #fff;
	text-align: left;
	padding: 15px 25px;
	margin-bottom: 0;
}
.masonry-categories-item .masonry-categories-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
}
.masonry-categories-content {
	display: flex;
	flex-flow: column;
	gap: 24px;
	height: 100%;
}
.masonry-categories-item.half {
	width: calc(50% - 12px);
}
.masonry-categories-item.half.small {
	aspect-ratio: 2 / 1.15;
}
.masonry-categories-item.half.medium {
	aspect-ratio: 1 / 1 !important;
}
.link_wrapper {
	font-size: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.masonry-categories-content .hero-section-button {
	position: relative;
	margin-top: 0;
}
.masonry-categories-content .hero-section-button a::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 16px;
	height: 12px;
	margin-left: 8px;
	background-color: var(--text-color);
	transform: translateY(-2px);
	transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.masonry-categories-content .hero-section-button a:hover::after {
	background-color: var(--dark-blue);
	transform: translate(4px, 1px);
}
.masonry-categories-items {
	display: flex;
	flex-flow: wrap;
	gap: 24px;
}
.masonry-categories-items-container {
	display: flex;
	flex-flow: column;
	gap: 24px;
}
.masonry-categories-header {
	margin-top: auto;
}
.masonry-categories-header-container .link_wrapper {
	border-radius: 20px !important;
}
.masonry-categories-section {
	height: 100%;
}
.masonry-box-subtitle h5, .masonry-box-subtitle .h5 {
	font-size: var(--text-size-base);
	text-transform: uppercase;
}
.masonry-box-header h4 {
	line-height: 1.2;
}
.masonry-box-item.no-title .masonry-box-content-image::after {
	display: none;
}
.masonry-box-section.box-height-small .masonry-box-content-image {
	aspect-ratio: 3 / 1;
}
.masonry-box-section.box-height-medium .masonry-box-content-image {
	aspect-ratio: 2 / 1 !important;
	padding-bottom: 0 !important;
	margin-bottom: 24px !important;
}
.masonry-box-description {
	margin-bottom: 24px;
}
.masonry-box-section.box-position-reverse .masonry-box-content-image {
	order: 1;
	margin-top: 0;
}
.masonry-box-section.box-position-reverse .masonry-box-header-container {
	order: 2;
}
.masonry-box-section.box-position-reverse .masonry-box-button.button-wrapper-arrow {
	order: 3;
}
.posts-selection-heading.title-position-center .posts-selection-heading {
	text-align: center;
}
.posts-selection-section.style-box-dark .posts-selection-items {
	gap: 40px;
}
.posts-selection-section.style-box-dark .posts-selection-item {
	padding: 16px;
	border-radius: 16px;
	background-color: var(--light-gray);
}
.posts-selection-section.style-box-dark .posts-selection-item .posts-selection-image {
	margin-bottom: 24px;
}
.posts-selection-section.style-box-dark .posts-selection-header {
	text-align: center;
}
.posts-selection-section.style-box-dark .posts-selection-header .posts-selection-button a {
	margin-top: 24px;
}
.posts-selection-section.style-box-dark .posts-selection-item .posts-selection-image {
	margin-bottom: 24px;
	aspect-ratio: 2 / 1;
	border: 0;
}
.posts-selection-section.style-box-dark {
	padding: var(--margin-bottom-large) 0;
}
.masonry-box-section.title-position-outside {
	padding: 0 !important;
}
.masonry-box-section.box-align-left .masonry-box-header h3 {
	text-align: left;
	font-size: var(--h2-font-size);
}
.masonry-box-section.box-align-left .masonry-box-description {
	text-align: left;
}
/*End Masonry Categories Section*/

/*Slider Products Section*/
.slider-products-heading {
	text-align: center;
	color: #fff;
}
.slider-products-content .hero-section-button a{
	position: relative;
}
.slider-products-content .hero-section-button a::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 20px;
	height: 12px;
	margin-left: 6px;
	background-color: var(--dark-blue);
	transform: translateY(-5px);
	transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.slider-products-content .hero-section-button a:hover::after {
	transform: translate(4px, -5px);
}
.slider-products-section {
	padding: 30px 0;
}
.slider-products-item {
	height: auto;
	position: relative;
	text-align: center;
	color: #fff;
	aspect-ratio: 2/2.5;
}
.slider-products-content .slick-slide {
	width: 270px;
	transition: width 0.3s ease-in-out;
}
.slider-products-item .slider-products-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
}
.slider-products-section .slick-slide {
	margin: 0 12px;
}
.slider-products-section .slick-list {
	margin: 0 -12px;
}
.slider-products-items {
	margin-bottom: 40px;
}
.slider-products-item .slider-products-header {
	position: relative;
	z-index: 2;
	margin-top: auto;
	padding-bottom: 18px;
}
.slider-products-header-container {
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	height: 100%;
	background-color: #6a91ff;
	border-radius: 20px;
	padding: 0 25px;
	position: relative;
}
.slider-products-header-container::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(253, 253, 253, 0) 40%, rgba(0, 0, 0, 0.9) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	border-radius: 20px;
}
.slider-products-header h4, .slider-products-header-text {
	margin-bottom: 5px;
	line-height: 1.4;
	font-size: var(--h4-font-size);
}
.services-price-text {
	background-color: var(--red);
	color: #fff;
	padding: 6px 25px;
	border-radius: 40px;
	font-size: var(--h3-font-size);
}
.slider-products-header{
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.slider-products-item:hover .slider-products-header{
	opacity: 1;
	visibility: visible;
}
/* .slider-products-section .slick-slide:hover {
	width: 450px;
} */
.services-list-items {
	display: flex;
	flex-flow: wrap;
	gap: 24px;
}
.services-list-items .services-list-item {
	width: calc(33.33% - 16px);
	background-color: var(--light-gray);
	border-radius: 20px;
	border: 1px solid #A8B4D2;
	border-top: 0;
	display: flex;
	flex-flow: column;
	flex-direction: column;
}
.services-list-header {
	display: flex;
	justify-content: center;
	flex-flow: column;
	align-items: center;
}
.services-list-header h4, .services-list-header-text {
	margin-bottom: 0;
}
.services-list-items .services-list-item .services-list-header-container, .quality-list-items .quality-list-item.full .quality-list-header-container {
	background-color: var(--dark-blue);
	color: #fff;
	text-align: center;
	padding: 10px 20px;
	border-radius: 20px 20px 0 0;
	position: relative;
}
.quality-list-items .quality-list-item.full .quality-list-header-container {
	border-radius: 20px;
}
.services-list-section {
	margin-bottom: var(--margin-bottom-large);
}
.services-list-items .services-list-item .masonry-categories-image {
	aspect-ratio: 11 / 5;
	border-radius: 0 0 20px 20px;
	border: 1px solid #A8B4D2;
	border-top: 0;
}
.services-list-item.full .services-list-header-container, .quality-list-item.full .quality-list-header-container {
	height: 100%;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.services-list-description {
	padding: 16px 12px;
}
.services-list-item.full .services-list-header {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	flex-flow: row;
}
.services-list-item.full .services-list-header::after, .quality-list-item.full .quality-list-header::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 16px;
	height: 12px;
	margin-left: 8px;
	background-color: #fff;
	transform: translateY(-2px);
}
.services-list-item.full .services-list-header::after {
	transform: translateY(0px);
}
.quality-list-item.full .quality-list-header::after {
	margin-left: 0;
	transform: translateY(-1px);
}
.services-list-item.full {
	border: 0;
}
.services-list-description {
	padding: 16px 16px;
	line-height: 1.8;
	text-align: center;
}
.services-list-header h4, .services-list-header-text {
	font-size: var(--h3-font-size);
}
.services-list-item.full .services-list-header h4, .services-list-header-text {
	display: inline-block;
	font-size: var(--h4-font-size);
}
.quality-list-description {
	margin-bottom: 40px;
	text-align: right;
	width: 60%;
	margin-left: auto;
}
.slider-products-heading h3 {
	color: #fff;
	font-size: var(--h2-font-size);
}
.slider-products .hero-section-button a {
	color: var(--dark-blue);
	border: 0;
	padding: 7px 30px;
	font-size: var(--h3-font-size);
	border-radius: 40px;
}
.slider-products .hero-section-button a:hover {
	color: var(--dark-blue);
}

.services-list-section.no-bg .services-list-item {
	background-color: transparent;
}
.services-list-section .button-wrapper-arrow.services-list-button a {
	background-color: var(--dark-blue);
	color: #fff;
	display: inline-block;
	margin: 0 auto;
	padding: 5px 40px;
	border-radius: 30px;
}
.button-wrapper-arrow.services-list-button {
	text-align: center;
	margin-top: 16px;
}
.services-list-section .button-wrapper-arrow.services-list-button a::after {
	background-color: #fff;
}

/*End Slider Products Section*/

/*Quality List Section*/
.quality-list-header-container {
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	position: relative;
	z-index: 2;
	position: relative;
	background: #FDFDFD;
	background: linear-gradient(180deg, rgba(253, 253, 253, 0) 50%, rgba(0, 0, 0, 0.9) 90%);
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	border-radius: 20px;
	min-height: unset;

}
.style-simple .quality-list-header-container,
.style-simple-outer-description .quality-list-header-container {
	aspect-ratio: 1/1;
}
.quality-list-description {
	margin-bottom: 40px;
	text-align: right;
	width: 70%;
	margin-left: auto;
	font-size: var(--h3-font-size);
}
.quality-list-items .quality-list-item {
	width: calc(20% - 20px);
	position: relative;
	border-radius: 20px;
}
.quality-list-items-container {
	margin-bottom: var(--margin-bottom-large);
}
.quality-list-items {
	display: flex;
	flex-flow: wrap;
	gap: 24px;
}
.quality-list-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
}
.quality-list-header h4, .quality-list-header-text {
	margin-bottom: 5px;
	font-size: var(--h3-font-size);
	line-height: 1.2;
}
.quality-list-item.full .quality-list-header-container {
	background: transparent;
}
.quality-list-item.full .quality-list-header {
	width: 100%;
}
.quality-list-item.full .quality-list-header h4, .quality-list-item.full .quality-list-header-text {
	display: inline;
	font-size: var(--h4-font-size);
}
.quality-list-items-container.count-items-2 .quality-list-item {
	width: calc(50% - 12px);
}
.quality-list-items-container.count-items-2 .quality-list-item .quality-list-header-container {
	min-height: unset;
	aspect-ratio: 1/0.8;
}
.quality-list-section.style-extended .quality-list-header-container {
	padding: 30px 25px;
}
.quality-list-section.style-extended .quality-list-header h4 {
	padding: 0;
}
.quality-list-section.style-extended .quality-item-description {
	color: #fff;
	line-height: 1.6;
	margin-bottom: 10px;
}

.button-wrapper-arrow a {
	font-size: var(--h4-font-size);
	font-weight: 500;
	color: var(--text-color);
	text-align: center;
	background-color: #fff;
	border-radius: 30px;
	display: block;
	padding: 5px 30px;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.button-wrapper-arrow a::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 16px;
	height: 12px;
	margin-left: 8px;
	background-color: var(--text-color);
	transform: translateY(1px);
	transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
/* Same subtle treatment as the hero buttons, plus the arrow slides 4px to the
   right - the movement carries the hover, not a color change. */
.button-wrapper-arrow a:hover {
	background-color: var(--light-gray);
	color: var(--dark-blue);
	border-color: var(--dark-blue);
}
.button-wrapper-arrow a:hover::after {
	background-color: var(--dark-blue);
	transform: translate(4px, 1px);
}
/* Variants that are already dark blue keep the red hover - they were never
   white, so the rule above does not apply to them. */
.services-list-section .button-wrapper-arrow.services-list-button a:hover,
.services-planning-button-outer.button-wrapper-arrow a:hover {
	background-color: var(--red);
	color: #fff;
	border-color: var(--red);
}
.services-list-section .button-wrapper-arrow.services-list-button a:hover::after,
.services-planning-button-outer.button-wrapper-arrow a:hover::after {
	background-color: #fff;
}
.quality-list-content-wrap {
	padding: 20px 0 32px;
}
.quality-list-content-wrap .quality-list-items-container {
	margin-bottom: 0;
}
.quality-list-section.style-simple .quality-list-content-wrap,
.quality-list-section.style-simple-outer-description .quality-list-content-wrap {
	padding-bottom: var(--margin-bottom-large);
}
.quality-list-header h2 {
	margin-bottom: 40px;
}

.quality-list-section.margin-margin-top-large{
	margin-top: var(--margin-bottom-large);
}
.quality-list-header-container {
	color: #fff;
	margin-bottom: 0;
	padding: 16px;
}
.quality-list-section.style-columns-4 .quality-list-item {
	width: calc(25% - 18px);
}

.quality-list-button-outer.button-wrapper-arrow {
	border: 1px solid #A8B4D2;
	margin-top: 40px;
	border-radius: 30px;
	transition: border-color 0.3s ease-in-out;
}
.quality-list-button-outer.button-wrapper-arrow:hover {
	border-color: var(--dark-blue);
}
.quality-list-section.style-bg-has-bg .quality-list-content-wrap {
	padding: 40px 0;
}
.quality-list-section.style-simple-2 .quality-list-content-wrap {
	padding: 0 0 40px;
}
.quality-list-section.style-simple-2 .quality-list-item {
	display: flex;
	flex-flow: column-reverse;
	gap: 8px;
}
.quality-list-section.style-simple-2 .quality-list-item .quality-list-image {
	position: relative;
	top: auto;
	left: auto;
	width: auto;
	height: auto;
	aspect-ratio: 2/1.3;
}
.quality-list-items-container.count-items-3 .quality-list-item {
	width: calc(33.33% - 16px);
}
.quality-list-section.style-simple-2 .quality-list-header-container {
	min-height: unset;
	background: unset;
	color: var(--text-color);
}
.quality-list-section.style-simple-2 .quality-list-items {
	align-items: flex-start;
	gap: 54px;
}
.quality-list-items-container.count-items-3 .quality-list-items {
	gap: 24px;
}
.quality-list-section.style-simple-2 .quality-list-header h4 {
	font-size: var(--h4-font-size);
	font-weight: 600;
	text-align: center;
	padding: 0;
	margin-bottom: 0;
}
.quality-list-section.style-simple-2 .quality-list-header-container {
	padding: 8px;
}
.quality-list-section.margin-no-margin-bottom .quality-list-content-wrap {
	padding-bottom: 40px;
}
.quality-list-internal {
	position: relative;
}
.quality-list-section.style-outer-button .button-wrapper-arrow.quality-list-button {
	margin-top: 24px;
}
.quality-list-section.style-outer-button .button-wrapper-arrow.quality-list-button a {
	border: 1px solid #A8B4D2;
}
.quality-list-section.style-outer-button .quality-list-content-wrap {
	padding-bottom: 0;
}
.quality-list-internal {
	display: flex;
	flex-flow: column;
}
.quality-list-internal.header-text-position-bottom {
	flex-flow: column-reverse;
}
/*End Quality List Section*/

/*Content Section*/
.content-section.simple {
	margin-top: var(--margin-bottom-large);
	margin-bottom: var(--margin-bottom-large);
}
.content-section-content {
	display: flex;
	gap: 32px;
	flex-flow: row;
}
.content-section-content-inner {
	width: 33%;
}
.content-section-image {
	width: 66%;
	border-radius: 20px;
	min-height: unset;
	aspect-ratio: 3/1.8;
}
.content-section-heading h2 {
	line-height: 1.1;
}
.content-section-description ul li {
	padding-left: 30px;
	margin-bottom: 10px;
	position: relative;
}
.content-section-description ul li::before {
	content: "";
	display: inline-block;
	background-image: url("../images/checkbox.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.content-section.contact .content-section-image {
	border-radius: 20px 0 0 20px;
}
.content-section.contact .content-section-content {
	background-color: var(--light-gray);
	border-radius: 20px;
}
.content-section.contact .content-section-content-inner {
	padding-left: var(--content-padding);
	padding-top: 50px;
	padding-bottom: 50px;
}
.content-section-description {
	margin-bottom: 35px;
}
.content-section.simple .content-section-buttons .hero-section-button a {
	background-color: var(--dark-blue);
	border: 0;
	color: #fff;
}
/* Solid blue button: the blue only deepens a shade and the arrow slides right,
   instead of the button switching to red. */
.content-section.simple .content-section-buttons .hero-section-button a:hover {
	background-color: #1A3479;
	color: #fff;
	border-color: #1A3479;
}
.content-section.simple .content-section-buttons .hero-section-button a::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 16px;
	height: 12px;
	margin-left: 8px;
	background-color: #fff;
	transform: translateY(1px);
	transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.content-section.simple .content-section-buttons .hero-section-button a:hover::after {
	transform: translate(4px, 1px);
}
.content-section-buttons {
	display: flex;
	flex-flow: column;
	gap: 16px;
}
.content-section.contact .content-section-description h3 {
	margin-bottom: 5px;
}
.content-section.contact {
	margin-bottom: var(--margin-bottom-large);
}
.content-section.style-box-dark .content-section-content-inner {
	background-color: var(--dark-blue);
	color: #fff;
	padding: 32px;
	border-radius: 20px 0 0 20px;
}
.content-section.simple.style-box-dark {
	background-color: var(--dark-blue);
	border-radius: 20px;
}
.content-section.simple.style-box-dark .content-section-content {
	align-items: center;
}
.content-section.simple.style-box-dark .content-section-content-inner {
	padding-right: 0;
}
.content-section.simple.style-box-dark .hero-section-button a {
	background-color: #fff;
	color: var(--text-color);
}
.content-section.simple.style-box-dark .hero-section-button a::after {
	background-color: var(--text-color);
	transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
/* This variant is white on a dark box, so it needs the subtle hover too - the
   dark blue rule further up is overridden by the .content-section.simple one. */
.content-section.simple.style-box-dark .content-section-buttons .hero-section-button a:hover {
	background-color: var(--light-gray);
	color: var(--dark-blue);
	border-color: var(--dark-blue);
}
.content-section.simple.style-box-dark .content-section-buttons .hero-section-button a:hover::after {
	background-color: var(--dark-blue);
	transform: translate(4px, 1px);
}
.product-details-section-content.box-style-simple .content-section-image {
	min-height: 100%;
	height: 100%;
}
.product-details-section-content.box-style-simple .product-details-section-top {
	align-items: stretch;
}
.product-details-section-content.box-style-simple {
	max-width: var(--content-width-center);
}
.product-details-section-content.box-style-simple .product-details-section.product-details-section-left {
	padding-left: 0;
}
.product-details-section-content.box-position-left .product-details-section-top {
	flex-flow: row-reverse;
}
.content-section.style-box-light-gray {
	background-color: var(--light-gray);
	border-radius: 20px;
}
.content-section.style-box-light-gray .content-section-content-inner {
	padding: 32px;
}
.content-section.box-align-center .content-section-content {
	align-items: center;
}
.content-section-content.image-position-left {
	flex-flow: row-reverse;
}
.content-section.box-height-small {
	margin: 80px 0 0;
}
.content-section.box-height-small .content-section-image {
	min-height: 278px;
	width: 51%;
}
.content-section.box-height-small .content-section-content-inner {
	width: 49%;
}
.content-section.box-height-small .content-section-description {
	margin-bottom: 0;
}
.content-section-images {
	width: 66%;
	min-height: 550px;
	display: flex;
	gap: 24px;
	flex-flow: row;
}
.content-section-image-item {
	border-radius: 20px;
	width: 100%;
	height: 100%;
}
.content-section-images .content-section-image-group {
	width: 50%;
}
.content-section-image-group.image-position-left {
	width: 50%;
	display: flex;
	flex-flow: wrap;
	gap: 24px;
}
.content-section-image-group.image-position-left .content-section-image-item.image-1{
	width: 100%;
}
.content-section-image-group.image-position-left .content-section-image-item.image-2, .content-section-image-group.image-position-left .content-section-image-item.image-3 {
	width: calc(50% - 12px);
}
.content-section-image-group.image-position-left .content-section-image-item {
	height: calc(50% - 12px);
}
/*End Content Section*/

/*Inner Hero Section*/
.inner-hero-section-content {
	display: flex;
	flex-flow: row;
	gap: 24px;
	background-color: var(--light-gray);
	border-radius: 20px;
	align-items: center;
	margin-bottom: 40px;
	align-items: stretch; 
}
.inner-hero-section-content.box-padding-normal {
	 align-items: center; 
}
.inner-hero-section-content-inner {
	width: 44%;
	padding-left: var(--content-padding);
}
.inner-hero-section-image {
	width: 56%;
	border-radius: 20px;
	min-height: unset;
	aspect-ratio: 12 / 5;
}
.inner-hero-section-content.simple h1 {
	margin-bottom: 10px;
}
.inner-hero-section-description ul {
	list-style-type: disc;
	padding-left: 20px;
}
.inner-hero-section-description ul li {
	font-size: var(--h4-font-size);
}
.inner-hero-section-button a {
	background-color: var(--dark-blue);
	color: #fff;
	font-size: var(--h4-font-size);
	text-align: center;
	padding: 4px 100px;
	border-radius: 30px;
	display: inline-block;
	margin-top: 32px;
}
.inner-hero-section-description.style-icon-list ul li{
	position: relative;
}
.inner-hero-section-description.style-icon-list ul li::before {
	content: "";
	display: inline-block;
	background-image: url("../images/checkbox.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 29px;
	height: 29px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.inner-hero-section-description.style-icon-list ul {
	list-style-type: none;
	padding-left: 0;
	margin-top: 20px;
}
.inner-hero-section-description.style-icon-list ul li {
	padding-left: 40px;
	font-size: var(--text-size-base);
	margin-bottom: 12px;
}
.inner-hero-section-description.style-icon-list ul li:last-child {
	margin-bottom: 0;
}
.inner-hero-section-content.width-wide_text .inner-hero-section-content-inner {
	width: 50%;
}
.inner-hero-section-content.width-wide_text .inner-hero-section-image {
	width: 50%;
}
.inner-hero-section-content.width-wide_text {
	margin-bottom: var(--margin-bottom-large);
}
.inner-hero-section-content.box-padding-wide .inner-hero-section-content-inner{
	padding-top: 109px;
	padding-bottom: 109px;
}
.inner-hero-section-content.box-padding-wide {
	 align-items: stretch; 
	margin-bottom: 0;
}
.inner-hero-section-content.box-padding-wide .inner-hero-section-image {
	min-height: 100%;
}
.inner-hero-section-content.box-bg-color-gradient {
	background: #ECEFF6;
	background: linear-gradient(180deg, rgba(236, 239, 246, 1) 0%, rgba(253, 253, 253, 1) 100%);
}
.inner-hero-section-content.margin-bottom-none {
	margin-bottom: 0;
}
.inner-hero-section-content.margin-bottom-large {
	margin-bottom: var(--margin-bottom-large);
}
.inner-hero-section-buttons .inner-hero-section-button a {
	min-width: 412px;
}
.inner-hero-section-button.button-2 a {
	margin-top: 16px;
}
.inner-hero-section-content.box-padding-medium .inner-hero-section-content-inner{
	padding-top: 40px;
	padding-bottom: 40px;
}
.inner-hero-section-content-inner table td:first-child {
	width: 150px;
}
.inner-hero-section-content-inner table td {
	padding-bottom: 16px;
	font-size: var(--text-size-base);
	line-height: 1.6;
}
.inner-hero-section-buttons.show-image-arrow-button-yes .inner-hero-section-button a{
	min-width: 445px;
}
.inner-hero-section-buttons.show-image-arrow-button-yes .inner-hero-section-button a::after {
	background-color: #fff;
}

.inner-hero-section-contact-info {
	margin-top: 20px;
	display: flex;
	gap: 16px;
	flex-flow: wrap;
	text-align: center;
}
.inner-hero-section-contact-info .inner-hero-section-contact-info-item {
	background-color: var(--dark-blue);
	color: #fff;
	padding: 20px 10px;
	border-radius: 20px;
	width: calc(25% - 12px);
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.inner-hero-section-contact-info-item h3 {
	font-size: var(--h4-font-size);
	margin-bottom: 0;
}
.inner-hero-section-content.box-padding-medium_large .inner-hero-section-content-inner {
	padding-top: 90px;
	padding-bottom: 90px;
}
.inner-hero-section-content.box-padding-normal .inner-hero-section-image {
	aspect-ratio: 12 / 5;
}
a.inner-hero-section-contact-info-item {
	color: #fff;
	text-decoration: none;
	transition: background-color .2s ease;
}
a.inner-hero-section-contact-info-item:hover {
	background-color: #1a3378;
	color: #fff;
	text-decoration: none;
}
a.inner-hero-section-contact-info-item.is-active {
	outline: 3px solid var(--red);
	outline-offset: 3px;
}
/* End Inner Hero Section*/

/* Contact Topics Section */
.contact-topics-section {
	padding: 24px 0 96px;
	scroll-margin-top: var(--header-height);
}
.contact-topics-heading {
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 20px;
}
.contact-topics-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}
.contact-topics-tile {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 14px 16px;
	border-radius: 16px;
	background-color: var(--light-gray);
	color: var(--text-color);
	font-size: 16px;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color .2s ease;
}
.contact-topics-tile:hover {
	background-color: #dde2ef;
	color: var(--text-color);
	text-decoration: none;
}
.contact-topics-tile-icon {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 17px;
	padding: 10px;
}
.contact-topics-tile-icon-container {
	border-radius: 50%;
	background-color: var(--dark-blue);
}
.contact-topics-tile-icon svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
}
.contact-topics-panel {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
}
.contact-topics-panel[hidden] {
	display: none;
}
.contact-topics-form {
	flex: 2 1 560px;
	min-width: 0;
	padding: 40px;
	border-radius: 20px;
	background-color: var(--light-gray);
}
.contact-topics-form h3 {
	font-size: var(--h3-font-size);
	margin-bottom: 22px;
}
.contact-topics-aside {
	flex: 1 1 300px;
	min-width: 0;
	padding-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.contact-topics-aside-label {
	font-size: 14px;
	color: var(--red);
	margin-bottom: -12px;
}
.contact-topics-intro {
	font-size: 20px;
	line-height: 1.45;
	margin: 0;
}
.contact-topics-tip {
	display: flex;
	gap: 12px;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}
.contact-topics-tip i {
	color: var(--dark-blue);
	margin-top: 4px;
}
.contact-topics-direct {
	border-top: 1px solid #dde2ef;
	padding-top: 24px;
	font-size: 15px;
	line-height: 1.6;
}
.contact-topics-direct p {
	margin: 0 0 10px;
}
.contact-topics-tile.is-active {
	background-color: var(--dark-blue);
	color: #fff;
}
.contact-topics-tip-container {
	position: relative;
	padding-left: 30px;
}
.contact-topics-tip-container::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	mask-image: url('../images/info-tooltip.png');
	mask-size: contain;
	background-repeat: no-repeat;
	background-color: var(--dark-blue);
}
.gform-theme--foundation .gfield textarea.small {
	height: 140px !important;
	resize: none;
}
.ginput_container.ginput_container_fileupload {
	display: flex;
	flex-flow: column;
	gap: 6px;
}
.ginput_container.ginput_container_fileupload input[type="file"] {
	width: 100% !important;
	box-sizing: border-box;
	min-height: 48px;
	padding: 5px 10px 3px !important;
	border: 1px dashed #c3cbe4 !important;
	border-radius: 12px !important;
	background-color: #fff !important;
	color: var(--text-color);
	font-family: var(--font-family-text);
	font-size: 15px;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color .2s ease;
}
.ginput_container.ginput_container_fileupload input[type="file"]:hover {
	border-color: var(--dark-blue) !important;
}
.ginput_container.ginput_container_fileupload input[type="file"]:focus-visible {
	outline: 2px solid var(--dark-blue);
	outline-offset: 1px;
	border-color: var(--dark-blue) !important;
}
.ginput_container.ginput_container_fileupload input[type="file"]::file-selector-button {
	margin-right: 14px;
	padding: 6px 16px;
	border: 1px solid var(--dark-blue);
	border-radius: 999px;
	background-color: #fff;
	color: var(--dark-blue);
	font-family: var(--font-family-text);
	font-size: 14px;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.ginput_container.ginput_container_fileupload input[type="file"]:hover::file-selector-button {
	background-color: var(--dark-blue);
	color: #fff;
}
/* Multi-file upload: drop area */
.ginput_container.ginput_container_fileupload .gform_drop_area {
	padding: 24px 16px !important;
	border: 1px dashed #c3cbe4 !important;
	border-radius: 12px !important;
	background-color: #fff !important;
	text-align: center;
	font-size: 15px;
	color: var(--text-color);
}
.ginput_container.ginput_container_fileupload .gform_drop_area .gform_button_select_files {
	margin: 8px 0 0 8px;
	padding: 6px 16px !important;
	border: 1px solid var(--dark-blue) !important;
	border-radius: 999px !important;
	background-color: #fff !important;
	color: var(--dark-blue) !important;
	font-size: 14px;
	box-shadow: none !important;
	cursor: pointer;
}
.ginput_container.ginput_container_fileupload .gform_drop_area .gform_button_select_files:hover {
	background-color: var(--dark-blue) !important;
	color: #fff !important;
}
.ginput_container.ginput_container_fileupload .gform_fileupload_rules,
.ginput_container.ginput_container_fileupload .gform_fileupload_rules_text {
	display: block;
	font-size: 13px;
	color: #5b6072;
}


/*Masonry Box Section*/
.masonry-box-heading {
	text-align: center;
	max-width: calc(--narrow-content-width);
}
.masonry-box-items {
	display: flex;
	gap: 40px;
	flex-flow: row;
}
.masonry-box-item {
	width: 50%;
	text-align: center;
	background-color: #fff;
	padding: 16px;
	border-radius: 20px;
	display: flex;
	flex-flow: column;
}
.masonry-box-item .masonry-box-header-container {
	margin-bottom: auto;
}
.masonry-box-heading {
	text-align: center;
	max-width: var(--narrow-content-width);
	margin: 0 auto 24px;
}
.masonry-box-section {
	padding: 40px 0;
}
.masonry-box-content-image {
	aspect-ratio: 16 / 11;
	position: relative;
	border-radius: 20px;
	margin-bottom: 24px;
	display: flex;
	flex-flow: column;
	margin-top: 24px;
}
.masonry-box-content-image .masonry-box-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
}
.masonry-box-header-container {
	position: relative;
	margin-bottom: 24px;
}
.masonry-box-content-image::after {
	content: '';
	width: 100%;
	height: 100%;
	z-index: 2;
	position: relative;
	background: #FDFDFD;
	background: linear-gradient(180deg, rgba(253, 253, 253, 0) 60%, rgba(0, 0, 0, 0.77) 100%);
	border-radius: 20px;
	position: absolute;
	top: 0;
	left: 0;
}
.masonry-box-content-image .masonry-box-title {
	position: relative;
	z-index: 3;
	color: #fff;
	margin-top: auto;
	padding: 15px 24px;
}
.masonry-box-content-image .masonry-box-title h3 {
	margin-bottom: 0;
	text-align: left;
}
.masonry-box-button.button-wrapper-arrow a {
	border: 1px solid #a8b4d2;
	transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.masonry-box-button.button-wrapper-arrow a:hover {
	border-color: var(--dark-blue);
}
.masonry-box-header h4 {
	font-size: var(--h3-font-size);
}
.masonry-box-section.style-box-dark {
	padding: 0;
	margin-bottom: var(--margin-bottom-large);
}
.masonry-box-section.style-box-dark .masonry-box-content-image {
	aspect-ratio: 1 / 1;
	margin-bottom: 0;
}
.masonry-box-section.style-box-dark .masonry-box-item {
	background-color: var(--light-gray);
}
.masonry-box-section.box-spacing-no_spacing_bottom {
	margin-bottom: 24px;
}
.masonry-box-section.box-height-small .masonry-box-content-image {
	aspect-ratio: 10 / 3;
	margin-bottom: 24px;
}
.masonry-box-items.count-items-1 .masonry-box-item {
	width: 100%;
}
.masonry-box-section.content-position-horizontal .masonry-box-item {
	padding: 80px 110px;
}
.masonry-box-section.content-position-horizontal .masonry-box-content-container {
	display: flex;
	flex-flow: row-reverse;
	gap: 54px;
}
.masonry-box-section.content-position-horizontal .masonry-box-content-container .masonry-box-content-image,
.masonry-box-section.content-position-horizontal .masonry-box-content-container .masonry-box-content-horizontal-container {
	width: 50%;
}
/* End Masonry Box Section*/

/*Icons Section*/
.icons-content-wrap .icons-items .icons-item {
	width: 25%;
}
.icons-header-container{
	display: flex;
	flex-flow: column;
}
.icons-heading-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.icons-content-wrap .icons-items .icons-header {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
}
.icons-content-wrap .icons-items {
	display: flex;
	gap: 40px;
	flex-flow: row;
}
.icons-content-wrap .icons-items .icons-item .icons-image {
	width: 123px;
	height: 123px;
	background-color: #fff;
	border-radius: 50%;
	background-size: 65%;
	margin: 0 auto 24px;
}
.icons-section .button-wrapper-arrow {
	margin-top: 40px;
}
.icons-section .button-wrapper-arrow a {
	display: inline-block;
	padding: 5px 40px;
}
.icons-header h2 {
	margin-bottom: 80px;
}
.icons-section {
	margin: var(--margin-bottom-large) 0;
}
.icons-section.style-box-light {
	margin: 0 0 var(--margin-bottom-large);
}
.icons-section.style-box-light .icons-content-wrap {
	background-color: transparent;
}
.icons-section.style-box-light .icons-content-wrap .icons-items-container {
	background-color: var(--light-gray);
	padding: 40px 0;
}
.icons-section.style-box-dark .icons-header h2 {
	color: #fff !important;
}
.icons-content-wrap .icons-heading-container .icons-header h2 {
	color: var(--text-color);
	margin-bottom: 30px;
}
.icons-section.style-box-light .icons-items-container {
	color: var(--text-color);
}
.icons-section.style-box-light .icons-heading-content {
	display: flex;
	flex-flow: column-reverse;
}
.icons-section.style-box-light .icons-image.bg-image {
	border-radius: 20px;
	width: 100px;
	height: 100px;
}
.icons-section.style-box-light .icons-content-wrap {
	padding: 0;
}
.icons-section.style-box-light .icons-items-container .icons-items {
	padding: 0 80px;
}
.icons-section.style-box-dark .icons-heading-container {
	margin-bottom: 80px;
}
.icons-content-wrap {
	background-color: var(--dark-blue);
	color: rgb(255, 255, 255);
	border-radius: 20px;
	padding: 40px 80px;
	text-align: center;
}
.icons-section.margin-bottom-none {
	margin-bottom: 0;
}
.icons-section.style-box-items-icon_to_left .icons-content-wrap {
	padding: 24px 16px;
}
.icons-items-container.count-items-3 .icons-item {
	width: unset;
}
.icons-section.style-box-items-icon_to_left .icons-content-wrap .icons-image {
	border-radius: 20px;
	width: 100px;
	height: 100px;
}
.icons-section.style-box-items-icon_to_left .icons-header-container {
	flex-flow: row;
	gap: 12px;
	text-align: left;
	align-items: flex-start;
}
.icons-section.style-box-items-icon_to_left h3 {
	margin-bottom: 10px;
}
/*End Icons Section*/

/*Posts Selection Section*/
.posts-selection-items {
	display: flex;
	gap: 54px;
	flex-flow: wrap;
}
.posts-selection-items .posts-selection-item {
	width: calc(33.33% - 36px);
}
.posts-selection-heading h2 {
	margin-bottom: 40px;
}
.posts-selection-section {
	padding: 80px 0;
}
.posts-selection-header-container .posts-selection-image {
	width: 100%;
	aspect-ratio: 8 / 5;
	margin-bottom: 8px;
	border-radius: 20px;
	border: 1px solid #A8B4D2;
}
.posts-selection-header h3, .posts-selection-header .h3 {
	margin-bottom: 10px;
	line-height: 1.2;
}
.posts-selection-header .button-wrapper-arrow.posts-selection-button a {
	border: 1px solid #A8B4D2;
	margin-top: 10px;
}
.posts-selection-header .button-wrapper-arrow.posts-selection-button a:hover {
	border-color: var(--dark-blue);
}
.posts-selection-header {
	margin-top: auto;
}
.posts-selection-header-container {
	height: 100%;
	display: flex;
	flex-flow: column;
}
.posts-selection-header {
	flex: 1;
	display: flex;
	flex-flow: column;
}
.posts-selection-header .posts-selection-header-content {
	margin-bottom: auto;
}
.posts-selection-image{
	position: relative;
}
.posts-selection-header-container .posts-selection-image .link-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
}
.elementor-page .counter-wrapper {
	padding: 24px 40px !important;
}
.posts-selection-section.layout-style-vertical {
	padding: var(--margin-bottom-large) 0 0;
}
.posts-selection-section.layout-style-vertical .posts-selection-items {
	flex-flow: column;
	gap: 24px;
}
.posts-selection-section.layout-style-vertical .posts-selection-item {
	width: 100%;
	background-color: var(--light-gray);
	border-radius: 20px;
}
.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-image {
	/* Stretches next to the text column instead of following a ratio */
	aspect-ratio: auto;
	height: auto;
	width: 20%;
	margin-bottom: 0;
	min-height: 330px;
}
.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-header {
	width: 80%;
	padding: 24px 0;
	margin-top: unset;
}
.posts-selection-section.layout-style-vertical .posts-selection-header-container {
	flex-flow: row;
	gap: 40px;
	align-items: stretch;
}
.posts-selection-header > div {
	max-width: 800px;
}
.posts-selection-section.image-width-wide .posts-selection-image {
	width: 30% !important;
}
.posts-selection-section.image-width-wide .posts-selection-header {
	width: 70% !important;
}
.posts-selection-content.count-1 .posts-selection-header-content {
	margin-bottom: 10px;
}
/*End Posts Selection Section*/

/*Product Details Section*/
.product-details-section-content {
	background-color: #fff;
	border-radius: 20px;
	padding: 0 0 40px;
	max-width: var(--product-details-content-width);
	margin: 0 auto;
}
.product-details-section-top, .product-details-section-bottom .product-details-section-bottom-inner{
	display: flex;
	gap: 32px;
	flex-flow: row;
}
.product-details-section-top {
	margin-bottom: 32px;
}
.product-details-section-right .content-section-image {
	width: 100%;
	border: 1px solid #A8B4D2;
	aspect-ratio: 3/2;
}
.product-details-section-content .hero-section-button {
	text-align: center;
}
.product-details-section-content .hero-section-button a {
	display: inline-block;
	min-width: 530px;
	background-color: var(--light-gray);
}
.product-details-section.product-details-section-left, .product-details-section-bottom-left {
	padding-left: 32px;
	width: 40%;
}
.product-details-section.product-details-section-right,.product-details-section-bottom-right {
	width: 60%;
}
.product-details-section-bottom {
	padding: 0 32px;
}
.product-details-section-list-items ul li::before {
	content: "";
	display: inline-block;
	background-image: url("../images/checkbox.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.product-details-section.product-details-section-bottom-inner {
	margin-bottom: 70px;
}
.product-details-section-list-items ul li {
	padding-left: 30px;
	margin-bottom: 20px;
	position: relative;
	font-size: var(--h4-font-size);
}
.product-details-section-bottom-left.product-details-section-list-items {
	padding-left: 0;
}
.product-details-section-bottom-left.style-small-list ul li {
	font-size: var(--text-size-base);
	margin-bottom: 10px;
}
.accordion-items {
	padding: 24px;
	border: 1px solid #A8B4D2;
	border-radius: 20px;
	max-width: 	var(--container-max-1000px);
	margin: 0 auto;
}
.accordion-heading-container {
	text-align: center;
}
.accordion-header h2 {
	margin-bottom: 40px;
}
.accordion-content-wrap {
	margin-top: var(--margin-bottom-large);
}
.accordion-header-container {
	border-bottom: 1px solid #a8b4d2;
	padding-bottom: 16px;
	margin-bottom: 16px;
}
.accordion-header-container h3 {
	font-size: var(--h4-font-size);
	color: var(--dark-blue);
	margin-bottom: 0;
	padding-left: 20px;
	position: relative;
}
.accordion-header-container h3::before {
	content: "";
	display: inline-block;
	mask-image: url("../images/Arrow-caret.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: var(--dark-blue);
	width: 10px;
	height: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s ease-in-out;
}
.accordion-header-container{
    display: flex;
    flex-direction: column;
}

.accordion-description {
	display: none;
	padding: 20px 0 0;
}

.accordion-header-container.active .accordion-description {
    display: block;
}
.accordion-items .accordion-item:last-child .accordion-header-container {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}
.accordion-header-container.active .accordion-header h3::before {
	transform: translateY(-50%) rotate(90deg);
}
.services-list-items.count-items-4 .services-list-item {
	width: calc(25% - 18px);
}
.product-details-section.image-style-contain .content-section-image {
	border: 0;
	background-size: contain;
}
/*End Product Details Section*/

/*Content Simple Section*/
.product-details-section-content.box-style-simple .content-section-description {
	margin-bottom: 0;
}
.product-details-section-content.list-style-small-list .content-section-description ul {
	list-style-type: disc;
	padding-left: 30px;
}
.product-details-section-content.list-style-small-list ul li {
	padding-left: 0;
}
.product-details-section-content.list-style-small-list ul li::before {
	display: none;
}
.content-simple-section .content-simple-section-content{
	max-width: var(--container-max-1000px);
	margin: 0 auto 32px;
}
.content-simple-section .content-simple-section-buttons {
	margin-top: 40px;
	text-align: center;
}
.content-simple-section .content-simple-section-buttons .content-simple-section-button a {
	color: #fff;
	background-color: var(--dark-blue);
	display: inline-block;
	padding: 5px 70px;
}
.content-simple-section .content-simple-section-buttons .content-simple-section-button a::after {
	background-color: #fff;
}
/*End Content Simple Section*/

/*Idea List Section*/
.idea-list-section {
	margin: var(--margin-bottom-large) 0;
}
.idea-list-content-wrap {
	display: flex;
	gap: 32px;
	flex-flow: row;
}
.idea-list-content-wrap .idea-list-content-container {
	width: 30%;
}
.idea-list-content-wrap .idea-list-image-container {
	width: 70%;
	border-radius: 20px;
	border: 1px solid #A8B4D2;
}
.idea-list-content-wrap .idea-list-item {
	position: relative;
}
.idea-list-items {
	display: flex;
	flex-flow: column;
	gap: 16px;
}
.idea-list-content-wrap .idea-list-item {
	position: relative;
	background-color: var(--light-gray);
	padding: 16px 16px 56px;
	border-radius: 20px;
}
.idea-list-content-wrap .idea-list-item .link_wrapper::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/long-arrow.png");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 32px;
	height: 16px;
	position: absolute;
	bottom: 16px;
	right: 16px;
	background-color: var(--dark-blue);
}
.idea-list-content-wrap.image-position-left {
	flex-flow: row-reverse;
}
.idea-list-content-wrap.box-width-half .idea-list-content-container {
	width: 50%;
}
.idea-list-content-wrap.box-width-half .idea-list-image-container {
	width: 50%;
}
.idea-list-button-outer a{
	text-align: center;
	font-size: var(--h4-font-size);
	color: #fff;
	background-color: var(--dark-blue);
	border-radius: 30px;
	margin-top: 16px;
	transition: background-color 0.3s ease-in-out;
	width: 100%;
	display: inline-block;
}
.idea-list-button-outer a:hover {
	background-color: var(--red);
}
.idea-list-button-outer a{
	color:#fff;
}
.idea-list-section.margin-bottom-none {
	margin-bottom: 0;
}
.masonry-box-section.style-box-none .masonry-box-item {
	background-color: transparent;
	padding: 0;
}
.masonry-box-subtitle-text {
	margin-bottom: 10px;
}
.masonry-box-section.style-box-none {
	padding: 80px 0;
}
/* End Idea List Section*/

/*Brands List Section*/
.brands-list-section {
	padding: 40px 0;
}
.brands-list-heading-container {
	margin-bottom: 40px;
}
.brands-list-heading-container .brands-list-description {
	max-width: 1220px;
	text-align: right;
	margin-left: auto;
	font-size: var(--h3-font-size);
}
.brands-list-items-container .brands-list-items {
	display: flex;
	flex-flow: wrap;
	gap: 70px;
}
.brands-list-items .brands-list-item {
	width: 50%;
}
.brands-list-items .brands-list-item {
	width: calc(50% - 35px);
}
.brands-list-header-container {
	display: flex;
	gap: 24px;
	align-items: center;
	flex-flow: row;
}
.brands-list-image-container {
	width: 200px;
	position: relative;
}
.brands-list-header-container .brands-list-content-container{
	width: calc(100% - 200px);
}
.brands-list-hero-image img {
	width: 100%;
	height: 200px !important;
	border-radius: 20px !important;
	object-fit: cover;
}
.brands-list-hero-image {
	position: relative;
}
.brands-list-image-container .brands-list-icon {
	bottom: 16px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
/*End Brands List Section*/

/*Badge Content Section*/
.badge-content-section-badge, .badge-content-section-badge p {
	font-size: var(--h2-font-size);
	text-align: center;
	line-height: 1;
	color: #fff;
}
.badge-content-section-badge {
	background-color: var(--dark-blue);
	border-radius: 50%;
	width: 436px;
	padding: 100px 35px;
	transform: rotate(-7deg);
}
.badge-content-section-content {
	display: flex;
	flex-flow: row;
	align-items: center;
	gap: 30px;
}
.badge-content-section-description {
	width: calc(100% - 436px);
	padding-right: 200px;
}
.badge-content-section-description p {
	font-size: var(--h4-font-size);
}
.badge-content-section {
	position: relative;
}
.badge-content-section::before {
	content: '';
	width: 100%;
	height: 55%;
	background-color: var(--light-gray);
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
}
/*End Badge Content Section*/

/*Services Planning Section*/
.services-planning-content-container {
	background-color: var(--light-gray);
	border-radius: 20px;
	padding: 0 0 40px 32px;
}
.services-planning-items-container .services-planning-items{
	display: flex;
	flex-flow: row;
	gap: 12px;
}
.services-planning-items-container .services-planning-item {
	background-color: #fff;
	border-radius: 20px;
	padding: 8px 16px;
	width: 25%;
	font-size: var(--h4-font-size);
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: center;
}
.services-planning-heading-container {
	margin-bottom: 32px;
}
.services-planning-items-container {
	margin-bottom: 32px;
	padding-right: 32px;
}
.services-planning-header-container {
	text-align: center;
}
.services-planning-header {
	padding-top: 40px;
}
.services-planning-section {
	margin-bottom: 40px;
}
.services-planning-content-inner {
	display: flex;
	gap: 32px;
	flex-flow: row;
	margin-bottom: 32px;
}
.services-planning-content-inner .services-planning-heading-container {
	width: 60%;
}
.services-planning-content-inner .services-planning-image-container {
	width: 40%;
	border-radius: 20px;
}
.services-planning-items-container .services-planning-item .services-planning-header-inner {
	font-weight: 600;
}
.services-planning-button-outer.button-wrapper-arrow a {
	display: inline-block;
	background-color: var(--dark-blue);
	color: #fff;
	padding: 5px 80px;
}
.services-planning-button-outer.button-wrapper-arrow {
	text-align: center;
}
.services-planning-button-outer.button-wrapper-arrow a::after {
	background-color: #fff;
}
.services-planning-section.margin-bottom-large {
	margin-bottom: var(--margin-bottom-large);
}
.services-list-section.text-align-left .services-list-description {
	text-align: left;
}
.services-list-items.count-items-2 .services-list-item {
	width: calc(50% - 12px);
}
.services-list-items.count-items-2 .services-list-item .masonry-categories-image {
	aspect-ratio: 14 / 5;
}
.services-list-items.count-items-4 .services-list-item .masonry-categories-image {
	aspect-ratio: 8 / 5;
}

/*End Services Planning Section*/

/*Timeline Section*/
.timeline-section {
	margin: var(--margin-bottom-large) 0 0;
}
.timeline-items {
	max-width: 880px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	gap: 60px;
}
.timeline-items .timeline-item {
	padding: 16px 40px 40px;
	background-color: var(--light-gray);
	border-radius: 20px;
	position: relative;
}
.timeline-year {
	min-width: 250px;
	background-color: #fff;
	text-align: center;
	display: inline-block;
	margin-bottom: 16px;
	border-radius: 20px;
	font-size: var(--h4-font-size);
	padding: 4px 20px;
	border: 1px solid #A8B4D2;
}
.timeline-items .timeline-item::before {
	content: '';
	position: absolute;
	top: calc(100% - 8px);
	left: 50%;
	width: 6px;
	height: 71px;
	border-radius: 20px;
	border-right: 5px dotted #A8B4D2;
	transform: translateX(-50%);
	z-index: -1;
}
.timeline-items .timeline-item:last-child::before {
	display: none;
}

/*End Timeline Section*/

/*Team Section*/
.team-section {
	margin: 80px 0 0;
	display: flex;
	flex-flow: column;
	gap: 80px;
}
.team-category-group {
	background-color: var(--light-gray);
	border-radius: 20px;
	padding: 40px 0;
}
.team-category-header {
	text-align: center;
	max-width: 960px;
	margin: 0 auto 24px;
}
.team-items {
	display: flex;
	gap: 40px;
	flex-flow: wrap;
}
.team-items .team-item {
	padding: 16px;
	background-color: #fff;
	border-radius: 20px;
	width: calc(25% - 30px);
}
.team-items .team-item .team-item-image {
	margin-bottom: 20px;
}
.team-items .team-item .team-item-title {
	margin-bottom: 5px;
}
.team-items .team-item .team-item-image img {
	width: 100%;
	object-fit: cover;
}
.team-item-phone a {
	font-size: var(--h4-font-size);
	color: var(--text-color);
	text-align: center;
	width: 100%;
	display: block;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	padding: 5px 10px;
	margin-top: 24px;
}
/*End Team Section*/

/*Regions Section*/
.regions-items .regions-item {
	padding: 16px 40px;
	background-color: var(--light-gray);
	border-radius: 20px;
	position: relative;
	font-size: var(--h4-font-size);
}
.regions-description {
	background-color: #fff;
	text-align: center;
	display: inline-block;
	border-radius: 20px;
	font-size: var(--h4-font-size);
	padding: 5px 25px;
	border: 1px solid #A8B4D2;
}
.regions-heading {
	text-align: center;
	margin-bottom: 24px;
}
.regions-section {
	margin-top: var(--margin-bottom-large);
}
.regions-items-wrapper {
	display: flex;
	gap: 40px;
	flex-flow: row;
}
.regions-items-wrapper .regions-items-container {
	width: 50%;
}
.regions-items {
	display: flex;
	flex-flow: column;
	gap: 16px;
}
.regions-items .regions-item:not(:first-child) {
	background-color: var(--dark-blue);
}
.regions-items .regions-item:not(:first-child) .regions-text {
	color: #fff;
}
/*End Regions Section*/

/*Careers Contact Section*/
.careers-contact-content-wrapper {
	display: flex;
	gap: 40px;
	flex-flow: row;
}
.careers-contact-wrapper-content {
	padding: 52px;
	background-color: var(--light-gray);
	border-radius: 20px;
	font-weight: 300;
}
.careers-contact-wrapper-content hr, .careers-list hr {
	border: none;
	height: 6px;
	background-image: radial-gradient(circle, #203F94 30%, transparent 35%);
	background-size: 8px 4px;
	background-repeat: repeat-x;
	padding-bottom: 24px;
}
.careers-contact-wrapper-content ul, .careers-list ul {
	list-style-type: disc;
	padding-left: 20px;
	margin-bottom: 30px;
}
.careers-contact-wrapper-content a, .careers-list a {
	color: var(--dark-blue);
}
.careers-contact-wrapper-content h5, .careers-list h5,
.careers-contact-wrapper-content .h5, .careers-list .h5 {
	line-height: 1.6;
}
.careers-contact-description {
	margin-bottom: 24px;
}
/*End Careers Contact Section*/

/*Careers Section*/
.careers-section {
	margin: 200px 0 0;
}
.careers-list {
	display: flex;
	flex-flow: column;
	gap: 40px;
	margin-bottom: 170px;
}
.careers-list .career-item {
	background-color: var(--light-gray);
	border-radius: 20px;
	position: relative;
	padding: 52px 52px 48px;
}
.career-header {
	display: block;
	list-style: none;
	cursor: pointer;
}
.career-header::-webkit-details-marker {
	display: none;
}
.career-description {
	font-weight: 700;
	margin-bottom: 16px;
}
.career-item-button {
	text-align: center;
	background-color: #fff;
	border-radius: 50%;
	border: 1px solid var(--dark-blue);
	width: 48px;
	height: 48px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -24px;
	cursor: pointer;
}
.career-item-button::before {
	content: "";
	display: inline-block;
	mask-image: url("../images/Arrow-caret.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 32px;
	height: 16px;
	background-color: var(--dark-blue);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(90deg);
	transition: all 0.3s ease-in-out;
}
.career-item[open] .career-item-button::before {
	transform: translate(-50%,-50%) rotate(-90deg);
}
/*End Careers Section*/



/*Simple Content Section*/
.simple-page {
	background-color: var(--light-gray);
	padding: 40px 0 160px;
}
.simple-content-inner {
	padding: 52px 0;
	background-color: #fff;
	border-radius: 20px;
	max-width: var(--single-content-width);
	margin: 0 auto;
}
.simple-content-description {
	max-width: 750px;
	margin: 0 auto;
}
.simple-content-description ul{
	list-style-type: disc;
	padding-left: 20px;
	margin-bottom: 20px;
}
.simple-content-inner-wrapper {
	border-bottom: 1px solid #ECEFF6;
	text-align: center;
	margin-bottom: 32px;
}
.simple-content-description ul li {
	margin-bottom: 5px;
}

/*End Simple Content Section*/

/*Tips Trends Section - MM-47*/
.tips-trends-section {
	padding: 40px 0 0;
}
.tips-trends-search-form {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-flow: row;
	margin-bottom: 100px;
}
.tips-trends-search-form button {
	background-color: var(--dark-blue);
	color: #fff;
	border: 0;
	padding: 10px 30px;
	width: 250px;
	border-radius: 30px;
	font-size: var(--h4-font-size);
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}
.tips-trends-search-form button:hover {
	background-color: var(--red);
}
.tips-trends-search-form input {
	width: calc(100% - 250px);
	border: 1px solid #A8B4D2;
	background-color: #fff;
	font-size: var(--h4-font-size);
	text-align: center;
	font-family: var(--font-family-display);
	letter-spacing: 2%;
	padding: 10px 10px;
	border-radius: 30px;
}
.tips-trends-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 40px;
}
.tips-trends-dropdown {
	position: relative;
}
.tips-trends-dropdown-toggle, .tips-trends-sort-button {
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	padding: 12px 35px;
	font-size: var(--text-size-normal);
	font-family: var(--font-family-display);
	color: var(--text-color);
	cursor: pointer;
}
.tips-trends-dropdown-list {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 100%;
	width: max-content;
	max-width: 320px;
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 20px;
	padding: 8px 0;
	z-index: 10;
	max-height: 320px;
	overflow-y: auto;
}
.tips-trends-dropdown.active .tips-trends-dropdown-list {
	display: block;
}
.tips-trends-dropdown-item {
	display: block;
	width: 100%;
	background: none;
	border: 0;
	text-align: left;
	padding: 8px 24px;
	font-size: var(--text-size-base);
	font-family: var(--font-family-text);
	color: var(--text-color);
	cursor: pointer;
}
.tips-trends-dropdown-item:hover,
.tips-trends-dropdown-item.active {
	background-color: var(--light-gray);
}
.tips-trends-sort {
	display: flex;
	gap: 12px;
}
.tips-trends-sort-button.active {
	background-color: #eceff6;
	border-color: #eceff6;
}
.tips-trends-list-wrapper {
	position: relative;
	min-height: 200px;
}
.tips-trends-list {
	display: flex;
	flex-flow: wrap;
	gap: 32px;
}
.tips-trends-section.loading .tips-trends-list {
	opacity: 0.4;
	pointer-events: none;
}
.tips-trends-loader {
	display: none;
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 5;
}
.tips-trends-section.loading .tips-trends-loader {
	display: block;
}
.tips-trends-loader span {
	display: block;
	width: 40px;
	height: 40px;
	border: 3px solid #A8B4D2;
	border-top-color: var(--dark-blue);
	border-radius: 50%;
	animation: tips-trends-spin 0.8s linear infinite;
}
@keyframes tips-trends-spin {
	to { transform: rotate(360deg); }
}
.tips-trends-item {
	width: calc(25% - 24px);
}
.tips-trends-item-inner {
	height: 100%;
	display: flex;
	flex-flow: column;
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 20px;
	padding: 16px;
}
.tips-trends-item-categories {
	color: var(--dark-blue);
	font-size: var(--text-size-small);
	margin-bottom: 10px;
}
.tips-trends-item-image {
	position: relative;
	width: 100%;
	aspect-ratio: 7 / 5;
	border-radius: 6px;
	margin-bottom: 16px;
	/* Clips the inner layer once it is zoomed on hover. */
	overflow: hidden;
}
/* The lazy loaded thumbnail sits on its own layer so it can be scaled without
   moving the link or the card. inherit picks up the 6px here and the 20px the
   related posts block sets on the wrapper. */
.tips-trends-item-image-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
}
.tips-trends-item-image-placeholder {
	background-color: var(--light-gray);
	background-size: 60% auto;
	border: 1px solid #A8B4D2;
}
.tips-trends-item-image .link-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 6px;
}
.tips-trends-item-content {
	margin-bottom: auto;
}
.tips-trends-item-title {
	font-size: var(--h3-font-size);
	margin-bottom: 10px;
}
.tips-trends-item-title a {
	color: var(--text-color);
}
.tips-trends-item-excerpt {
	line-height: 1.6;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
.tips-trends-item-button.button-wrapper-arrow a {
	border: 1px solid #A8B4D2;
	margin-top: 24px;
}
.tips-trends-empty {
	width: 100%;
	text-align: center;
	font-size: var(--text-size-normal);
	padding: 40px 0;
}
.tips-trends-load-more-wrap {
	text-align: center;
	margin-top: 40px;
}
.tips-trends-load-more-wrap.hidden {
	display: none;
}
.tips-trends-load-more {
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	padding: 12px 80px;
	font-size: var(--text-size-normal);
	font-family: var(--font-family-display);
	color: var(--text-color);
	cursor: pointer;
}
.tips-trends-load-more[disabled] {
	opacity: 0.5;
	cursor: default;
}
.tips-trends-dropdown-toggle {
	background-color: #ECEFF6;
	padding: 12px 60px;
	letter-spacing: 0.5px;
}
/* Desktop: the categories render as pill buttons next to each other, the dropdown stays for mobile. */
@media(min-width:768px){
	.tips-trends-dropdown-toggle {	display: none;	}
	.tips-trends-dropdown-list,
	.tips-trends-dropdown.active .tips-trends-dropdown-list {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		position: static;
		width: auto;
		max-width: none;
		max-height: none;
		overflow: visible;
		background: none;
		border: 0;
		border-radius: 0;
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.tips-trends-dropdown-item {
		width: auto;
		background-color: #fff;
		border: 1px solid #A8B4D2;
		border-radius: 30px;
		padding: 12px 35px;
		font-size: var(--text-size-normal);
		font-family: var(--font-family-display);
		text-align: center;
	}
	.tips-trends-dropdown-item:hover,
	.tips-trends-dropdown-item.active {
		background-color: #eceff6;
		border-color: #eceff6;
	}
}
/*End Tips Trends Section - MM-47*/

/*Products List Section*/
.products-list-section {
	padding: 40px 0 80px;
}
.products-list-search-form {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-flow: row;
	margin-bottom: 80px;
}
.products-list-search-form button {
	background-color: var(--dark-blue);
	color: #fff;
	border: 0;
	padding: 10px 30px;
	width: 250px;
	border-radius: 30px;
	font-size: var(--h4-font-size);
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}
.products-list-search-form button:hover {
	background-color: var(--red);
}
.products-list-search-form input {
	width: calc(100% - 250px);
	border: 1px solid #A8B4D2;
	background-color: #fff;
	font-size: var(--h4-font-size);
	text-align: center;
	font-family: var(--font-family-display);
	letter-spacing: 2%;
	padding: 10px 10px;
	border-radius: 30px;
}
.products-list-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 40px;
}
.products-list-dropdown {
	position: relative;
}
.products-list-dropdown-toggle, .products-list-sort-button {
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	padding: 12px 35px;
	font-size: var(--text-size-normal);
	font-family: var(--font-family-display);
	color: var(--text-color);
	cursor: pointer;
	min-width: 250px;
}
.products-list-dropdown-list {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 100%;
	width: max-content;
	max-width: 320px;
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 20px;
	padding: 8px 0;
	z-index: 10;
	max-height: 320px;
	overflow-y: auto;
}
.products-list-dropdown.active .products-list-dropdown-list {
	display: block;
}
.products-list-dropdown-item {
	display: block;
	width: 100%;
	background: none;
	border: 0;
	text-align: left;
	padding: 8px 24px;
	font-size: var(--text-size-base);
	font-family: var(--font-family-text);
	color: var(--text-color);
	cursor: pointer;
}
.products-list-dropdown-item:hover,
.products-list-dropdown-item.active {
	background-color: var(--light-gray);
}
.products-list-dropdown-toggle {
	background-color: #ECEFF6;
	padding: 12px 60px;
	letter-spacing: 0.5px;
}
/* Desktop: plain row of pill buttons, the dropdown toggle stays hidden */
.products-list-sort-toggle {
	display: none;
}
.products-list-sort-list {
	display: flex;
	flex-flow: wrap;
	justify-content: flex-end;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.products-list-sort-button.active {
	background-color: #eceff6;
	border-color: #eceff6;
}
.products-list-list-wrapper {
	position: relative;
	min-height: 200px;
}
.products-list-list {
	display: flex;
	flex-flow: wrap;
	gap: 32px;
}
.products-list-section.loading .products-list-list {
	opacity: 0.4;
	pointer-events: none;
}
.products-list-loader {
	display: none;
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 5;
}
.products-list-section.loading .products-list-loader {
	display: block;
}
.products-list-loader span {
	display: block;
	width: 40px;
	height: 40px;
	border: 3px solid #A8B4D2;
	border-top-color: var(--dark-blue);
	border-radius: 50%;
	animation: tips-trends-spin 0.8s linear infinite;
}
.products-list-item {
	width: calc(25% - 24px);
}
.products-list-item-inner {
	height: 100%;
	display: flex;
	flex-flow: column;
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 20px;
	padding: 16px;
}
.products-list-item-image {
	position: relative;
	width: 100%;
	aspect-ratio: 7 / 5;
	border-radius: 6px;
	margin-bottom: 16px;
}
.products-list-item-image-placeholder {
	background-color: var(--light-gray);
	background-size: 60% auto;
	border: 1px solid #A8B4D2;
}
.products-list-item-image .link-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 6px;
}
.products-list-item-content {
	margin-bottom: auto;
}
.products-list-item-title {
	font-size: var(--h3-font-size);
	margin-bottom: 10px;
}
.products-list-item-title a {
	color: var(--text-color);
}
.products-list-item-excerpt {
	line-height: 1.6;
}
/* Price block is pinned to the bottom of the card by the auto margin above */
.products-list-item-prices {
	margin-top: 24px;
	text-align: center;
}
.products-list-item-old-price {
	font-size: var(--h4-font-size);
	color: var(--text-color);
	margin-bottom: 8px;
}
.products-list-item-price {
	background-color: #D51317;
	color: #fff;
	border-radius: 95px;
	padding: 5px 20px;
	font-size: var(--h2-font-size);
	font-family: var(--font-family-display);
	font-weight: 700;
}
.products-list-empty {
	width: 100%;
	text-align: center;
	font-size: var(--text-size-normal);
	padding: 40px 0;
}
.products-list-load-more-wrap {
	text-align: center;
	margin-top: 64px;
}
.products-list-load-more-wrap.hidden {
	display: none;
}
.products-list-load-more {
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	padding: 12px 80px;
	font-size: var(--text-size-normal);
	font-family: var(--font-family-display);
	color: var(--text-color);
	cursor: pointer;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.products-list-load-more:hover {
	background-color: var(--light-gray);
	color: var(--dark-blue);
	border-color: var(--dark-blue);
}
.products-list-load-more[disabled] {
	opacity: 0.5;
	cursor: default;
}
/*End Products List Section*/

/*Single Post*/
.single-post-area {
	background-color: var(--light-gray);
	padding: 40px 0 0;
}
.single-post-article {
	width: 100%;
	max-width: var(--product-details-content-width);
	margin: 0 auto;
	background-color: #fff;
	border-radius: 20px;
	padding: 40px 0;
	max-width: var(--single-content-width);
}
.single-post-header {
	padding: 0 40px 32px;
}
.single-post-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 40px;
	font-size: var(--text-size-small);
	color: var(--dark-blue);
}
/* Heading comes from the Elementor content - only the meta row is left here. */
.single-post-header.title-in-content .single-post-meta {
	margin-bottom: 0;
}
.single-post-title {
	font-size: var(--h1-font-size);
	text-align: center;
	max-width: var(--narrow-content-width);
	margin: 0 auto 10px;
}
.single-post-subtitle {
	font-size: var(--h3-font-size);
	color: var(--dark-blue);
	text-align: center;
	max-width: var(--narrow-content-width);
	margin: 0 auto;
}
.single-post-content {
	margin-bottom: 40px;
}
/* Subtitle rendered by Elementor, right below the <h1> in the content. */

.single-post-content h1{
	font-size: var(--heading-single-size);
}
.single-post-content h2[data-first-heading] {
	color: var(--dark-blue);
	position: relative;
	font-size: var(--h2-font-size);
	font-weight: 500;
	margin-bottom: 50px;
}
.single-post-author {
	display: flex;
	gap: 24px;
	width: 92%;
	max-width: var(--narrow-content-width);
	margin: 0 auto;
	padding-top: 32px;
}
.single-post-author-image {
	flex-shrink: 0;
	width: 90px;
}
.single-post-author-image img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}
.single-post-author-name {
	font-size: var(--text-size-normal);
}
.single-post-author-position {
	color: var(--dark-blue);
	margin-bottom: 16px;
}
.single-post-author-bio p {
	margin-bottom: 16px;
}
.single-post-navigation {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 92%;
	max-width: var(--product-details-content-width);
	margin: 0 auto;
	padding: 24px 0 60px;
	font-size: var(--text-size-base);
}
.single-post-navigation-item {
	flex: 1;
}
.single-post-navigation-item.item-overview {
	text-align: center;
}
.single-post-navigation-item.item-next {
	text-align: right;
}
.single-post-navigation a {
	color: var(--dark-blue);
}
.single-post-navigation .item-previous a::before {
	content: "\2190";
	margin-right: 8px;
}
.single-post-navigation .item-next a::after {
	content: "\2192";
	margin-left: 8px;
}
.related-posts {
	background-color: #fff;
	padding: 60px 0 80px;
}
.related-posts-title {
	font-size: var(--h2-font-size);
	margin-bottom: 40px;
}
.related-posts-list .tips-trends-item {
	width: calc(33.33% - 22px);
}
.single-post-content {
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.single-post-content img {
	border-radius: 20px;
	margin: 30px 0;
}
.related-posts .tips-trends-item .tips-trends-item-inner {
	border: 0;
	padding: 0;
}
.related-posts .tips-trends-item .tips-trends-item-inner .tips-trends-item-image.bg-image {
	border-radius: 20px;
	border: 1px solid #A8B4D2;
}
.related-posts .tips-trends-item .tips-trends-item-inner .tips-trends-item-image {
	aspect-ratio: 8 / 5;
}
.single-post-inner b {
	font-weight: 700;
}
.single-post-inner ul{
	list-style: disc;
	padding-left: 20px;
	margin-bottom: 20px;
}
.single-post-inner ol{
	list-style: decimal;
	padding-left: 20px;
	margin-bottom: 20px;
}
.single-post-inner h2{
	font-size: var(--h3-font-size);
}
.single-post-author-wrapper{
	border-top: 1px solid var(--light-gray);
}

/*Author Page*/
.author-page-area {
	background-color: var(--light-gray);
	padding: 40px 0 0;
}
.author-page-article {
	width: 92%;
	max-width: var(--single-content-width);
	margin: 0 auto 40px;
	background-color: #fff;
	border-radius: 20px;
	padding: 40px;
}
.author-page-inner {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	max-width: var(--narrow-content-width);
	margin: 0 auto;
}
.author-page-image {
	flex-shrink: 0;
	width: 160px;
}
.author-page-image img {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}
.author-page-content {
	flex: 1;
	min-width: 0;
}
.author-page-name {
	font-size: var(--h1-font-size);
	margin-bottom: 10px;
}
.author-page-position {
	font-size: var(--h3-font-size);
	color: var(--dark-blue);
	margin-bottom: 32px;
}
.author-page-bio p {
	margin-bottom: 16px;
}
.author-page-bio p:last-child {
	margin-bottom: 0;
}
.single-post-author-link {
	margin-top: 8px;
}
.single-post-author-name a {
	color: inherit;
	text-decoration: none;
}
.single-post-author-name a:hover {
	color: var(--red);
}
.single-post-content h2[data-first-heading]::before {
	content: '';
	width: 100%;
	height: 1px;
	background-color: var(--light-gray);
	position: absolute;
	bottom: -21px;
	left: 0;
}
.single-post-content h1, .single-post-content h2[data-first-heading] {
	width: var(--single-content-width);
	margin-left: calc(50% - var(--single-content-width) / 2);
	padding: 0 80px;
}
.single-post-content a {
	text-decoration: underline;
	color: inherit;
}
/*End Single Post*/

.e-con > .e-con-inner {
	max-width: var(--content-width-center) !important;
}


.slick-dots button {
	font-size: 0;
	border: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	padding: 0;
	margin: 0;
	background-color: #eceff6;
}
.slick-dots {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 10px;
}
.slick-dots li.slick-active button {
	background-color: var(--dark-blue);
}
.product-details-section.product-details-section-left .product-details-section-heading {
	padding-top: 20px;
}

.services-list-section.spacing-bottom-none {
	margin-bottom: 0;
}
.product-details-section-content.no_content .product-details-section-top {
	margin-bottom: 0;
}
.product-details-section-content.no_content {
	padding-bottom: 0;
}
.quality-list-header-container .button-wrapper-arrow.quality-list-button {
	margin-top: 10px;
}
.product-details-section-content.content-no_content_text .product-details-section-bottom-left {
	width: 100%;
}
.product-details-section-content.content-no_content_text .product-details-section.product-details-section-bottom-inner {
	margin-bottom: 0;
}
.product-details-section-content.content-no_content_text {
	padding-bottom: 0;
}
.masonry-categories-item.full {
	aspect-ratio: 3 / 1;
}
.masonry-categories-item.large {
	aspect-ratio: 3/2;
}
.masonry-categories-item.small {
	aspect-ratio: 2 / 0.8;
}
.masonry-categories-item.medium {
	aspect-ratio: 3 / 1.5;
}
.masonry-categories-item {
	height: auto !important;
}
.quality-list-section.style-outer-button .quality-list-header-container {
	aspect-ratio: 1/1;
}

/*Update Design*/
.header-content .logo-container {
	max-width: 180px;
	padding: 0px 0px;
}
.scroll-body .header-content .logo-container {
	max-width: 160px;
}
.menu-container li a {
	font-size: 16px;
}
.menu-container .menu > .menu-item-has-children > a::after {
	top: 6px;
}
.header-content {
	padding: 10px 0;
}
.menu-container .menu > li.button-sale > a {
	padding: 8px 58px;
}
.hero-section-header-container h1, .hero-section-header-container h2 {
	font-weight: 400;
}
.hero-section-header-container h1, .hero-section-header-container h2 {
	font-size: var(--h1-font-size);
}
.inner-hero-section-description ul li {
	font-size: var(--text-size-base);
}
.inner-hero-section-description ul {
	line-height: 1.6;
}
.hero-section-button a {
	font-size: var(--h5-font-size);
}
.hero-section-image-container {
	aspect-ratio: 2 / 1;
}
.team-items .team-item {
	width: calc(20% - 32px);
}
.team-items .team-item .team-item-image img {
	max-height: 300px;
}
.team-item-phone a {
	font-size: var(--h5-font-size);
}
.button-wrapper-arrow a{
	font-size: var(--h5-font-size);
}
.button-wrapper-arrow a::after {
	transform: translateY(1px);
}
.floating-bar .floating-bar-item a {
	width: 55px;
	height: 55px;
}
.floating-bar-item img {
	width: 24px;
}
.content-section-image {
	aspect-ratio: 3/1.6;
}
.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-image {
	min-height: 300px;
}
.button-wrapper-arrow a:hover::after {
	transform: translate(4px, 1px);
}
.masonry-categories-content .hero-section-button a::after {
	transform: translateY(1px);
}
.inner-hero-section-content, .inner-hero-section-content.width-wide_text{
	margin-bottom: 0;
}
.single-post-content h2[data-first-heading] {
	font-size: var(--h3-font-size);
}
.services-list-items .services-list-item .services-list-header-container {
	padding: 10px 20px;
}
.product-details-section h2 {
	font-size: var(--h2-font-size);
}
.info-bar-item {
	font-size: 14px;
}
.header-bar {
	padding: 8px 0;
}
.header-bar-left-inner .event-text {
	font-size: 16px;
}
.menu-search-form input {
	letter-spacing: 0.5px;
	line-height: 1.2;
}
.content-section.box-height-small .content-section-image {
	min-height: unset;
	aspect-ratio: 3/1.2;
}
.inner-hero-section-content.box-padding-normal .inner-hero-section-image {
	aspect-ratio: 12 / 5.5;
}
.badge-content-section-badge {
	aspect-ratio: 1/1;
	display: flex;
	align-items: center;
}
.masonry-box-section.box-height-large .masonry-box-content-image {
	aspect-ratio: 4 / 4.4;
	margin-bottom: 24px;
}
.masonry-box-section.style-box-dark.image-position-top .masonry-box-content-image {
	margin: 0 0 20px;
}
.quality-list-header .quality-list-header-text.h4 {
	margin-bottom: 5px;
}
.product-details-section-title h2 {
	text-align: center;
}
.inner-hero-section-content-inner {
	padding-top: 40px;
	padding-bottom: 40px;
}
.quality-list-description.position-center\; {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.quality-list-description {
	font-size: var(--h4-font-size);
}
.posts-selection-item.no-thumbnail .posts-selection-header > div {
	max-width: 100%;
}
.posts-selection-item.no-thumbnail .posts-selection-header {
	padding-left: 24px !important;
	padding-right: 24px !important;
}
.quality-list-section.style-simple-outer-description .quality-item-description {
	margin-top: 20px;
}
/* END - Update Design*/

/*Hero Video Section*/
.hero-video-section {
	position: relative;
}
.hero-video-media {
	position: relative;
	aspect-ratio: 16 / 5;
	overflow: hidden;
	background-color: var(--light-gray);
}
.hero-video-video,
.hero-video-poster {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.hero-video-desc {
	position: absolute;
	top: 20px;
	left: 24px;
	z-index: 1;
	padding: 4px 8px;
	border-radius: 4px;
	background-color: rgba(33, 40, 61, 0.6);
	color: #fff;
	font-size: var(--text-size-small);
	line-height: 1.3;
}
.hero-video-box {
	position: relative;
	z-index: 2;
	width: var(--content-width-center);
	margin: -200px auto 0;
	overflow: hidden;
	background: linear-gradient(rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.74)) padding-box, linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.2) 40%, rgba(255, 255, 255, 0.05) 60%, rgba(255, 255, 255, 0.85)) border-box;
	border: 1px solid transparent;
	backdrop-filter: blur(18px) saturate(1.3);
	border-radius: 18px;
	box-shadow: rgba(28, 35, 64, 0.12) 0px 20px 50px, rgba(255, 255, 255, 0.6) 0px 1px 0px inset;
	margin-left: calc((100% - var(--content-width-center))/2);
	max-width: 720px;
}
.hero-video-box-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 30px;
	padding: 40px 52px 34px;
	flex-flow: column;
}
.hero-video-subtitle {
	color: var(--red);
	font-size: var(--text-size-normal);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.hero-video-counters .hero-video-counter:first-child {
	padding-left: 52px;
}
.hero-video-title,
.hero-video-title h1,
.hero-video-title h2 {
	font-size: var(--h1-font-size);
	line-height: 1.1;
	color: var(--text-color);
}
.hero-video-title h1,
.hero-video-title h2,
.hero-video-title p {
	margin-bottom: 0;
}
.hero-video-button {
	flex-shrink: 0;
}
.hero-video-button a {
	display: block;
	padding: 12px 28px;
	border-radius: 30px;
	background-color: var(--red);
	color: #fff;
	font-size: var(--text-size-base);
	font-weight: 500;
	text-align: center;
	transition: background-color 0.3s ease-in-out;
}
.hero-video-button a:hover {
	background-color: var(--dark-blue);
	color: #fff;
}
.hero-video-counters {
	display: flex;
	border-top: 1px solid var(--light-gray);
}
.hero-video-counter {
	flex: 1;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 22px 30px;
	flex-flow: column;
}
.hero-video-counter + .hero-video-counter {
	border-left: 1px solid var(--light-gray);
}
.hero-video-counter-number {
	font-size: 36px;
	line-height: 1;
	color: var(--text-color);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.hero-video-counter-text {
	font-size: 14px;
	line-height: 1.3;
	color: var(--text-color);
}
.hero-video-box-text {
	width: 100%;
}
.icons-content-wrap .icons-items .icons-header .h3 {
	line-height: 1.2;
	margin-bottom: 5px;
}
/*End Hero Video Section*/

/*Linked Text*/
/* Links inside running text (paragraphs, plain lists, tables, quotes).
   Only links without a class are styled, so buttons are left alone, and only
   list items without a class, so menus, widgets and breadcrumbs are skipped.
   :where() keeps the specificity low, so component rules still win. */
   :where(p, li:not([class]), td, blockquote) a:not([class]) {
	color: var(--dark-blue);
	text-decoration: underline !important;
}
:where(p, li:not([class]), td, blockquote) a:not([class]):hover {
	color: var(--red);
}
/* White text: the same links on dark backgrounds are white and underlined,
   and still turn red on hover. */
:where(
	.header-bar,
	.footer-copyright,
	.hero-section-editor-content,
	.masonry-categories-header,
	.slider-products-heading,
	.slider-products-item,
	.services-list-header-container,
	.quality-list-header-container,
	.quality-list-section.style-extended .quality-item-description,
	.content-section.style-box-dark .content-section-content-inner,
	.icons-section.style-box-dark .icons-header,
	.masonry-box-content-image,
	.inner-hero-section-contact-info-item,
	.badge-content-section-badge,
	.regions-item:not(:first-child)
) :where(p, li:not([class]), td, blockquote) a:not([class]) {
	color: #fff;
}
:where(
	.header-bar,
	.footer-copyright,
	.hero-section-editor-content,
	.masonry-categories-header,
	.slider-products-heading,
	.slider-products-item,
	.services-list-header-container,
	.quality-list-header-container,
	.quality-list-section.style-extended .quality-item-description,
	.content-section.style-box-dark .content-section-content-inner,
	.icons-section.style-box-dark .icons-header,
	.masonry-box-content-image,
	.inner-hero-section-contact-info-item,
	.badge-content-section-badge,
	.regions-item:not(:first-child)
) :where(p, li:not([class]), td, blockquote) a:not([class]):hover {
	color: var(--red);
}
/*End Linked Text*/


/* Gravity Forms inside the Contact Topics panel (GF 2.5+ markup, works with the Orbital and the 2.5 theme) */
.contact-topics-form .gform_wrapper {
	margin: 0;
	padding: 0;
	max-width: none;
	font-family: var(--font-family-text);
	color: var(--text-color);
	/* Orbital theme variables, so its own rules match the design as well */
	--gf-color-primary: #203F94;
	--gf-color-primary-rgb: 32, 63, 148;
	--gf-color-in-ctrl-primary: #203F94;
	--gf-ctrl-border-color: #c3cbe4;
	--gf-ctrl-radius: 12px;
	--gf-ctrl-size: 48px;
	--gf-ctrl-label-color-primary: #21283D;
	--gf-ctrl-btn-radius: 30px;
	--gf-font-family-base: var(--font-family-text);
}
.contact-topics-form .gform_wrapper .gform_heading {
	display: none;
}
.contact-topics-form .gform_wrapper .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px 20px;
}
.contact-topics-form .gform_wrapper .gfield {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
	min-width: 0;
}
/* Field width "Half" in GF = 2 columns */
.contact-topics-form .gform_wrapper .gfield--width-half {
	grid-column: span 6;
}
.contact-topics-form .gform_wrapper .gfield--width-third {
	grid-column: span 4;
}
.contact-topics-form .gform_wrapper .gfield--width-quarter {
	grid-column: span 3;
}
.contact-topics-form .gform_wrapper .gfield.gfield_visibility_hidden,
.contact-topics-form .gform_wrapper .gfield--type-hidden {
	display: none;
}

/* Labels */
.contact-topics-form .gform_wrapper .gfield_label,
.contact-topics-form .gform_wrapper legend.gfield_label {
	display: block;
	margin: 0 0 8px;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--text-color);
}
.contact-topics-form .gform_wrapper .gfield_required,
.contact-topics-form .gform_wrapper .gfield_required .gfield_required_text {
	color: var(--text-color);
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	margin-left: 2px;
}
.contact-topics-form .gform_wrapper .gfield_description {
	margin-top: 6px;
	padding: 0;
	font-size: 13px;
	color: #5b6072;
}
.contact-topics-form .gform_wrapper .gform_required_legend {
	display: none;
}
.contact-topics-form .gform_wrapper fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

/* Inputs */
.contact-topics-form .gform_wrapper input[type="text"],
.contact-topics-form .gform_wrapper input[type="email"],
.contact-topics-form .gform_wrapper input[type="tel"],
.contact-topics-form .gform_wrapper input[type="number"],
.contact-topics-form .gform_wrapper input[type="url"],
.contact-topics-form .gform_wrapper input[type="date"],
.contact-topics-form .gform_wrapper input[type="time"],
.contact-topics-form .gform_wrapper select,
.contact-topics-form .gform_wrapper textarea {
	width: 100%;
	box-sizing: border-box;
	height: 48px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #c3cbe4;
	border-radius: 12px;
	background-color: #fff;
	color: var(--text-color);
	font-family: var(--font-family-text);
	font-size: 15px;
	font-weight: 400;
	line-height: normal;
	box-shadow: none;
	transition: border-color .2s ease;
}
.contact-topics-form .gform_wrapper textarea {
	height: auto;
	min-height: 140px;
	padding: 14px 16px;
	line-height: 1.5;
	resize: vertical;
}
.contact-topics-form .gform_wrapper select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23203F94' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 12px 8px;
	line-height: 1;
}
.contact-topics-form .gform_wrapper input:focus,
.contact-topics-form .gform_wrapper select:focus,
.contact-topics-form .gform_wrapper textarea:focus {
	outline: 2px solid var(--dark-blue);
	outline-offset: 1px;
	border-color: var(--dark-blue);
	box-shadow: none;
}
.contact-topics-form .gform_wrapper ::placeholder {
	color: #8a8fa0;
	opacity: 1;
}
/* Datepicker field: GF adds a calendar icon */
.contact-topics-form .gform_wrapper .ginput_container_date {
	position: relative;
}
.contact-topics-form .gform_wrapper .ginput_container_date img.ui-datepicker-trigger {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}
/* Time field (HH : MM) */
.contact-topics-form .gform_wrapper .ginput_container_time {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: none;
}
.contact-topics-form .gform_wrapper .ginput_container_time input {
	width: 72px;
	text-align: center;
	padding: 0 8px;
}
.contact-topics-form .gform_wrapper .ginput_container_time label {
	display: none;
}
/* Name field with first/last name sub-inputs */
.contact-topics-form .gform_wrapper .ginput_complex {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 18px 20px;
}
.contact-topics-form .gform_wrapper .ginput_complex label,
.contact-topics-form .gform_wrapper .gform-field-label--type-sub {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 400;
	color: #5b6072;
}

/* Checkbox / radio as pills (consent field excluded) */
.contact-topics-form .gform_wrapper .gfield_checkbox,
.contact-topics-form .gform_wrapper .gfield_radio {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.contact-topics-form .gform_wrapper .gfield_checkbox .gchoice,
.contact-topics-form .gform_wrapper .gfield_radio .gchoice {
	position: relative;
	margin: 0;
	padding: 0;
}
.contact-topics-form .gform_wrapper .gfield_checkbox .gchoice input,
.contact-topics-form .gform_wrapper .gfield_radio .gchoice input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
.contact-topics-form .gform_wrapper .gfield_checkbox .gchoice label,
.contact-topics-form .gform_wrapper .gfield_radio .gchoice label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: none;
	height: 38px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #c3cbe4;
	border-radius: 999px;
	background-color: #fff;
	color: var(--text-color);
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.contact-topics-form .gform_wrapper .gchoice label::before,
.contact-topics-form .gform_wrapper .gchoice label::after {
	display: none;
}
.contact-topics-form .gform_wrapper .gchoice label:hover {
	border-color: var(--dark-blue);
}
.contact-topics-form .gform_wrapper .gchoice input:checked + label {
	background-color: var(--dark-blue);
	border-color: var(--dark-blue);
	color: #fff;
}
.contact-topics-form .gform_wrapper .gchoice input:checked + label::before {
	content: "\2713";
	display: inline;
	position: static;
	width: auto;
	height: auto;
	border: 0;
	background: none;
	font-size: 12px;
}
.contact-topics-form .gform_wrapper .gchoice input:focus-visible + label {
	outline: 2px solid var(--dark-blue);
	outline-offset: 2px;
}

/* Consent (privacy policy) field */
.contact-topics-form .gform_wrapper .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.contact-topics-form .gform_wrapper .ginput_container_consent input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--dark-blue);
	appearance: auto;
	-webkit-appearance: checkbox;
}
.contact-topics-form .gform_wrapper .ginput_container_consent label {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}
.contact-topics-form .gform_wrapper .ginput_container_consent a {
	color: var(--dark-blue);
	text-decoration: underline;
}
.contact-topics-form .gform_wrapper .gfield--type-consent .gfield_label {
	display: none;
}

/* File upload (single and multi-file) */
.contact-topics-form .gform_wrapper input[type="file"] {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border: 1px dashed #c3cbe4;
	border-radius: 12px;
	background-color: #fff;
	font-size: 15px;
	cursor: pointer;
}
.contact-topics-form .gform_wrapper input[type="file"]::file-selector-button {
	margin-right: 14px;
	padding: 6px 16px;
	border: 1px solid var(--dark-blue);
	border-radius: 999px;
	background-color: #fff;
	color: var(--dark-blue);
	font-family: var(--font-family-text);
	cursor: pointer;
	line-height: 1;
}
.contact-topics-form .gform_wrapper .gform_drop_area {
	padding: 20px 16px;
	border: 1px dashed #c3cbe4;
	border-radius: 12px;
	background-color: #fff;
	text-align: center;
	font-size: 15px;
}
.contact-topics-form .gform_wrapper .gform_drop_area .gform_button_select_files {
	margin-left: 8px;
	padding: 6px 16px;
	border: 1px solid var(--dark-blue);
	border-radius: 999px;
	background-color: #fff;
	color: var(--dark-blue);
	font-size: 14px;
	cursor: pointer;
}
.contact-topics-form .gform_wrapper .gform_fileupload_rules {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: #5b6072;
}

/* Footer: submit button with the theme arrow */
.contact-topics-form .gform_wrapper .gform_footer,
.contact-topics-form .gform_wrapper .gform_page_footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	margin: 22px 0 0;
	padding: 0;
}
.contact-topics-form .gform_wrapper .gform_footer::before {
	content: "* Pflichtfeld";
	margin-right: auto;
	font-size: 13px;
	color: #5b6072;
}
.contact-topics-form .gform_wrapper .gform_footer input[type="submit"],
.contact-topics-form .gform_wrapper .gform_footer button.gform_button,
.contact-topics-form .gform_wrapper .gform_page_footer .gform_next_button {
	height: 48px;
	margin: 0;
	padding: 0 56px 0 28px;
	border: 1px solid var(--dark-blue);
	border-radius: 30px;
	background-color: var(--dark-blue);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cpath d='M1 7h15M10 1l6 6-6 6' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 24px center;
	background-size: 18px 14px;
	color: #fff;
	font-family: var(--font-family-text);
	font-size: var(--h4-font-size);
	font-weight: 500;
	line-height: 1;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, background-position .2s ease;
}
.contact-topics-form .gform_wrapper .gform_footer input[type="submit"]:hover,
.contact-topics-form .gform_wrapper .gform_footer button.gform_button:hover,
.contact-topics-form .gform_wrapper .gform_page_footer .gform_next_button:hover {
	background-color: var(--red);
	border-color: var(--red);
	background-position: right 20px center;
}
.contact-topics-form .gform_wrapper .gform_ajax_spinner {
	width: 20px;
	height: 20px;
	margin: 0;
}

/* Validation & messages */
.contact-topics-form .gform_wrapper .gfield_error input,
.contact-topics-form .gform_wrapper .gfield_error select,
.contact-topics-form .gform_wrapper .gfield_error textarea {
	border-color: var(--red);
}
.contact-topics-form .gform_wrapper .gfield_error .gfield_label {
	color: var(--text-color);
}
.contact-topics-form .gform_wrapper .gfield_validation_message,
.contact-topics-form .gform_wrapper .validation_message {
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--red);
	font-size: 13px;
	font-weight: 400;
}
.contact-topics-form .gform_wrapper .gform_validation_errors {
	margin: 0 0 22px;
	padding: 14px 18px;
	border: 0;
	border-left: 4px solid var(--red);
	border-radius: 12px;
	background-color: #fff;
	box-shadow: none;
}
.contact-topics-form .gform_wrapper .gform_validation_errors .gform_submission_error {
	margin: 0;
	color: var(--text-color);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
}
.contact-topics-form .gform_wrapper .gform_validation_errors .gform-icon {
	display: none;
}
.contact-topics-form .gform_confirmation_message {
	padding: 24px 0;
	font-size: 20px;
	line-height: 1.5;
	color: var(--text-color);
}

.ginput_container.ginput_container_checkbox .gfield_checkbox {
	flex-flow: wrap !important;
	text-align: center;
}
.ginput_container.ginput_container_checkbox .gfield_checkbox .gform-field-label {
	font-size: 13px !important;
}
.gfield--input-type-time .ginput_container.ginput_complex.gform-grid-row {
	flex-flow: wrap;
	display: flex;
	align-content: flex-start;
}
.gfield--input-type-time .ginput_container.ginput_complex input {
	width: 100%;
}
.gfield--input-type-time .ginput_container.ginput_complex .ginput_container {
	padding-right: 0;
}
.gfield--type-name .ginput_container--name {
	gap: 7px !important;
}
.gform-footer.gform_footer.top_label .gform_button.button {
	background-color: #203f94 !important;
	padding-right: 50px !important;
}
.gfield--input-type-time .ginput_container.ginput_complex .ginput_container:not(:first-child) {
	padding-left: 0;
}
.ginput_container.ginput_container_radio .gfield_radio {
	flex-flow: wrap !important;
}
.contact-topics-aside p {
	margin-bottom: 0;
}
/* End Contact Topics Section */


/*Events Section*/
.events-section {
	display: flex;
	flex-flow: column;
	gap: var(--margin-bottom-large);
	margin: var(--margin-bottom-large) 0;
}
.events-section section {
	display: flex;
	flex-flow: column;
	gap: 32px;
}
.events-section-header {
	font-size: var(--h3-font-size-big);
	font-weight: 400;
	line-height: 1.15;
	margin: 0;
}
.events-section-header b {
	font-weight: 700;
}
.events-date {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--red);
	font-size: 14px;
}
.events-date-icon {
	flex: 0 0 16px;
}
.events-text {
	line-height: 1.6;
}
.events-text p:last-child {
	margin-bottom: 0;
}
.events-empty {
	font-size: var(--text-size-normal);
}

/* Next event: image left, content right, one panel */
.events-next {
	gap: 20px !important;
}
.events-next-item {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background-color: var(--light-gray);
	border-radius: 20px;
	overflow: hidden;
}
.events-next-image {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
}
.events-next-content {
	display: flex;
	flex-flow: column;
	justify-content: center;
	gap: 18px;
	padding: 40px;
}
.events-next-title {
	font-size: var(--h3-font-size);
	font-weight: 400;
	line-height: 1.15;
	margin: 0;
}
.events-calendar-button {
	align-self: flex-start;
	margin-top: 8px;
}
.events-calendar-button.button-wrapper-arrow a {
	border: 1px solid #A8B4D2;
}

/* Upcoming events */
.events-upcoming-list {
	display: grid;
	gap: 24px;
}
.events-upcoming-list.layout-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.events-card {
	display: flex;
	flex-flow: column;
	gap: 14px;
	background-color: var(--light-gray);
	border-radius: 20px;
	padding: 16px;
}
.events-card-image {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
}
.events-card-content {
	display: flex;
	flex-flow: column;
	gap: 10px;
	padding: 4px 8px 8px;
}
.events-card-title {
	font-size: var(--h3-font-size);
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
}
.events-upcoming-list.layout-list {
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}
.events-upcoming-list.layout-list .events-card {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: center;
	gap: 24px;
}
.events-upcoming-list.layout-list .events-card-content {
	padding: 0;
}
/* Same look as the Tips & Trends load more button */
.events-load-more-wrap {
	text-align: center;
	margin-top: 8px;
}
.events-load-more-wrap.hidden {
	display: none;
}
.events-load-more[disabled] {
	opacity: 0.5;
	cursor: default;
}
.events-load-more {
	background-color: #fff;
	border: 1px solid #A8B4D2;
	border-radius: 30px;
	padding: 12px 80px;
	font-size: var(--text-size-normal);
	font-family: var(--font-family-display);
	color: var(--text-color);
	cursor: pointer;
}

/* Past events: muted, grayscale */
.events-past {
	gap: 24px !important;
}
.events-past-header {
	display: flex;
	flex-flow: column;
	gap: 8px;
}
.events-past .events-section-header,
.events-past-subtitle,
.events-past-date,
.events-past-title {
	color: #6B7280;
}
.events-past .events-section-header {
	font-size: var(--h3-font-size);
}
.events-past-subtitle {
	margin: 0;
}
.events-past-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.events-past-item {
	display: flex;
	flex-flow: column;
	gap: 10px;
	background-color: #F3F4F6;
	border-radius: 16px;
	padding: 10px;
}
.events-past-image {
	width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 12px;
	filter: grayscale(1);
	opacity: 0.6;
}
.events-past-content {
	display: flex;
	flex-flow: column;
	gap: 4px;
	padding: 0 6px 6px;
}
.events-past-date {
	font-size: var(--text-size-small);
}
.events-past-title {
	font-size: var(--h5-font-size);
	font-weight: 400;
	line-height: 1.3;
	margin: 0;
}
.header-bar-left-inner .event-text a {
	color: #fff;
}
.events-section {
	max-width: var(--container-max-1000px);
	margin-left: auto;
	margin-right: auto;
	margin-top: 80px;
}
.tips-trends-load-more, .events-load-more{
	transition: all 0.3s ease;
}
.tips-trends-load-more:hover, .events-load-more:hover {
	background-color: var(--red);
	color: #fff;
	border-color: var(--red);
}
/*End Events Section*/

/* CTA Content Section */
.cta-content-section.margin-bottom-large {
	margin-bottom: var(--margin-bottom-large);
}
.cta-content-section-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 44px;
	background-color: var(--light-gray);
	border-radius: 20px;
}
.cta-content-section-text {
	flex: 0 1 830px;
}
.cta-content-section-heading {
	font-size: var(--h3-font-size-big);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 20px;
	padding: 0;
}
.cta-content-section-heading strong,
.cta-content-section-heading b {
	font-weight: 600;
}
.cta-content-section-description {
	font-size: var(--text-size-base);
	line-height: 1.65;
}
.cta-content-section-description p:last-child {
	margin-bottom: 0;
}
.cta-content-section-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}
.cta-content-section-button.button-wrapper-arrow a {
	font-size: var(--h5-font-size);
	padding: 5px 26px;
	border: 1px solid var(--dark-blue);
}
.cta-content-section-button.button-1.button-wrapper-arrow a {
	background-color: var(--dark-blue);
	color: #fff;
}
.cta-content-section-button.button-1.button-wrapper-arrow a::after {
	background-color: #fff;
}
.cta-content-section-button.button-1.button-wrapper-arrow a:hover {
	background-color: var(--red);
	border-color: var(--red);
	color: #fff;
}
.cta-content-section-button.button-2.button-wrapper-arrow a {
	border-color: #c3cbe4;
}
.cta-content-section-button.button-2.button-wrapper-arrow a:hover {
	border-color: var(--dark-blue);
}
/* End CTA Content Section */

/* Catalogue Section
   Viewer on top (page-flip of the open catalogue), cards of the other catalogues below.
   The stage size comes from --stage-ratio / --page-ratio, set by catalogue-section.js
   from the real page format (fallback A4). */
.catalogue-section {
	display: flex;
	flex-flow: column;
	gap: 96px;
}
.catalogue-section.margin-bottom-large {
	margin-bottom: var(--margin-bottom-large);
}
.catalogue-viewer-heading,
.catalogue-list-heading {
	font-size: var(--h3-font-size-big);
	font-weight: 400;
	line-height: 1.15;
	margin: 0;
	padding: 0;
}
.catalogue-viewer-heading strong,
.catalogue-viewer-heading b,
.catalogue-list-heading strong,
.catalogue-list-heading b {
	font-weight: 600;
}

/* Viewer (flipbook) */
.catalogue-viewer {
	display: flex;
	flex-flow: column;
	gap: 20px;
	/* Keeps the viewer clear of the sticky header when a card scrolls up to it. */
	scroll-margin-top: var(--header-height);
}
.catalogue-viewer-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}
.catalogue-viewer-header-text {
	display: flex;
	flex-flow: column;
	gap: 8px;
}
.catalogue-viewer-current {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0;
	font-size: var(--text-size-base);
}
.catalogue-viewer-title {
	font-weight: 600;
}
.catalogue-viewer-valid {
	font-size: 14px;
	color: var(--red);
}
.catalogue-viewer-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
/* Zoom / Vollbild (outline) and PDF herunterladen (filled) - same pill shape. */
.catalogue-viewer-action {
	height: 40px;
	padding: 0 20px;
	border-radius: 30px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-family-text);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	background-color: #fff;
	color: var(--text-color);
	border: 1px solid #c3cbe4;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.catalogue-viewer-action svg {
	width: 18px;
	height: 18px;
	flex: none;
}
.catalogue-viewer-action:hover {
	border-color: var(--dark-blue);
	color: var(--dark-blue);
}
.catalogue-viewer-action:disabled {
	opacity: 0.4;
	cursor: default;
	border-color: #c3cbe4;
	color: var(--text-color);
}
.catalogue-viewer-download {
	background-color: var(--dark-blue);
	color: #fff;
	border-color: var(--dark-blue);
}
.catalogue-viewer-download:hover {
	background-color: var(--red);
	border-color: var(--red);
	color: #fff;
}
.catalogue-viewer-action[hidden] {
	display: none;
}

.catalogue-viewer-body {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
}
.catalogue-viewer-nav {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background-color: var(--dark-blue);
	color: #fff;
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: background-color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.catalogue-viewer-nav svg {
	width: 20px;
	height: 20px;
}
.catalogue-viewer-nav:hover {
	background-color: var(--red);
}
.catalogue-viewer-nav:disabled {
	opacity: 0.3;
	cursor: default;
	background-color: var(--dark-blue);
}

/* The stage holds the book. Its width is limited by the JS (fitWidth) so the book is never taller
   than the screen; StPageFlip derives the height from the width. */
.catalogue-viewer-stage {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.catalogue-viewer-book {
	width: 100%;
	margin: 0 auto;
}
.catalogue-viewer-page {
	background-color: #fff;
	overflow: hidden;
}
.catalogue-viewer-page canvas {
	display: block;
	width: 100%;
	height: 100%;
}
/* Catalogue with a single page: shown big, no flipping. */
.catalogue-viewer-page.is-static {
	width: 100%;
	box-shadow: 0 2px 14px rgba(33, 40, 61, 0.14);
}
.catalogue-viewer-loader {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: grid;
	place-items: center;
	padding: 20px;
	text-align: center;
	background-color: var(--light-gray);
	border-radius: 16px;
	font-size: 15px;
	animation: catalogue-pulse 1.2s ease-in-out infinite alternate;
}
.catalogue-viewer-loader[hidden] {
	display: none;
}
.catalogue-viewer-loader.is-error {
	color: var(--red);
	animation: none;
}
.catalogue-viewer-loader a {
	color: var(--dark-blue);
	text-decoration: underline;
}
@keyframes catalogue-pulse {
	from { opacity: 1; }
	to { opacity: 0.75; }
}

.catalogue-viewer-footer {
	display: flex;
	justify-content: center;
}
/* "Seite [ 3 ] von 24" */
.catalogue-viewer-counter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
}
.catalogue-viewer-num {
	width: 60px;
	height: 34px;
	padding: 0 4px;
	text-align: center;
	border: 1px solid #c3cbe4;
	border-radius: 8px;
	background-color: #fff;
	font: inherit;
	-moz-appearance: textfield;
}
.catalogue-viewer-num::-webkit-inner-spin-button,
.catalogue-viewer-num::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Vollbild: native fullscreen, or simulated with .is-fs (iPhone has no Fullscreen API).
   Kept as separate rules - an unknown pseudo-class in a selector list would drop the whole rule. */
.catalogue-viewer:fullscreen {
	padding: 20px 24px;
	justify-content: center;
	background-color: #fff;
	overflow: auto;
}
.catalogue-viewer:-webkit-full-screen {
	padding: 20px 24px;
	justify-content: center;
	background-color: #fff;
	overflow: auto;
}
.catalogue-viewer.is-fs {
	position: fixed;
	inset: 0;
	z-index: 99998;
	margin: 0;
	padding: 20px 24px;
	justify-content: center;
	background-color: #fff;
	overflow: auto;
}
.catalogue-viewer:fullscreen .catalogue-viewer-heading {
	display: none;
}
.catalogue-viewer:-webkit-full-screen .catalogue-viewer-heading {
	display: none;
}
.catalogue-viewer.is-fs .catalogue-viewer-heading {
	display: none;
}
html.catalogue-noscroll,
html.catalogue-noscroll body {
	overflow: hidden !important;
}

/* Zoom overlay */
.catalogue-zoom {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background-color: rgba(17, 22, 38, 0.92);
	opacity: 0;
	transition: opacity 0.22s ease;
}
.catalogue-zoom.is-open {
	opacity: 1;
}
.catalogue-zoom[hidden] {
	display: none;
}
.catalogue-zoom-scroll {
	position: absolute;
	inset: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
	overscroll-behavior: contain;
	cursor: grab;
}
.catalogue-zoom-scroll.is-drag {
	cursor: grabbing;
}
.catalogue-zoom-wrap {
	display: flex;
	min-width: 100%;
	min-height: 100%;
	width: max-content;
}
.catalogue-zoom-sheet {
	flex: none;
	display: flex;
	margin: auto;
	background-color: #fff;
}
.catalogue-zoom-leaf {
	position: relative;
	min-width: 0;
	overflow: hidden;
}
.catalogue-zoom-leaf canvas {
	display: block;
	width: 100%;
	height: 100%;
}
.catalogue-zoom-ui {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	display: flex;
	gap: 8px;
}
.catalogue-zoom-ui button {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	cursor: pointer;
	background-color: rgba(255, 255, 255, 0.16);
	color: #fff;
	display: grid;
	place-items: center;
	transition: background-color 0.2s ease;
}
.catalogue-zoom-ui button:hover {
	background-color: rgba(255, 255, 255, 0.32);
}
.catalogue-zoom-ui svg {
	width: 22px;
	height: 22px;
}

/* No active prospect (all expired / none scheduled for today). */
.catalogue-section-empty {
	margin: 0;
	padding: 32px 24px;
	text-align: center;
	background-color: var(--light-gray);
	border-radius: 20px;
}

/* Other catalogues */
.catalogue-list {
	display: flex;
	flex-flow: column;
	gap: 24px;
}
.catalogue-list-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
}
.catalogue-card {
	display: flex;
	flex-flow: column;
	gap: 12px;
	padding: 16px;
	background-color: var(--light-gray);
	border-radius: 20px;
	color: var(--text-color);
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.catalogue-card:hover {
	background-color: #dde3f0;
	color: var(--text-color);
	text-decoration: none;
}
/* "Hide the open catalogue in the list" (widget setting). */
.catalogue-section.hide-active .catalogue-card.is-active {
	display: none;
}
.catalogue-card-cover {
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	background-color: #fff;
}
.catalogue-card-cover img,
.catalogue-card-cover canvas {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}
/* PDF-only catalogue: placeholder until page 1 is rendered by JS. */
.catalogue-card-cover.is-pdf {
	animation: catalogue-pulse 1.2s ease-in-out infinite alternate;
}
.catalogue-card-content {
	display: flex;
	flex-flow: column;
	gap: 6px;
	padding: 0 6px 4px;
}
.catalogue-card-valid {
	font-size: 13px;
	color: var(--red);
}
.catalogue-card-title {
	font-size: var(--h4-font-size);
	line-height: 1.2;
}
.catalogue-card-state {
	font-size: 14px;
	color: var(--dark-blue);
}
/* Same arrow as the .button-wrapper-arrow buttons; slides right on hover. */
.catalogue-card-state::after {
	content: "";
	display: inline-block;
	mask-image: url("../images/arrow.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	width: 14px;
	height: 10px;
	margin-left: 8px;
	background-color: var(--dark-blue);
	transition: transform 0.3s ease-in-out;
}
.catalogue-card:hover .catalogue-card-state::after {
	transform: translateX(4px);
}
.catalogue-card.is-active .catalogue-card-state::after {
	display: none;
}
/* End Catalogue Section */

.quality-list-description.text-small {
	font-size: var(--text-size-base);
	width: 60%;
}
.quality-list-description.position-center {
	text-align: center;
	margin-right: auto;
}
.product-details-section-content.box-style-content-box .product-details-section-heading {
	padding: 0;
}
.product-details-section-content.box-style-content-box .product-details-section-heading h2 {
	font-size: var(--text-size-base);
	letter-spacing: 0.2px;
}
.product-details-section-content.box-style-content-box .product-details-section-top {
	margin-bottom: 60px;
	background-color: #ECEFF6;
	border-radius: 20px;
	align-items: stretch;
}
.product-details-section-content.box-style-content-box .product-details-section-left {
	padding-top: 30px;
	padding-bottom: 30px;
	width: 65%;
}
.product-details-section-content.box-style-content-box .content-section-description {
	margin-bottom: 0;
}
.product-details-section-content.box-style-content-box .product-details-section-right {
	width: 35%;
}
.product-details-section-content.box-style-content-box .product-details-section-right .content-section-image {
	height: 100%;
}
.product-details-section-content.box-position-left .product-details-section.product-details-section-left {
	padding-left: 0;
	padding-right: 30px;
}
.ti-reviews-container-wrapper {
	max-width: 100vw;
}
.author-page-article {
	margin-bottom: 40px;
}

.button-wrapper-arrow.single-post-author-link a {
	display: inline-block;
	border: 1px solid #203f94;
}
.single-post .breadcrumbs-section {
	background-color: var(--light-gray);
	margin: 0;
	padding: 15px 0 0;
}
.single-post .breadcrumbs-section .container{
	width: var(--single-content-width);
	margin: 0 auto;
}
.rpi-dots .rpi-dot.active {
	background-color: #d02e26 !important;
}
#site-footer {
	border-top: 1px solid #A8B4D2;
}
.hero-video-title h1 {
	font-size: var(--h2-font-size) !important;
	margin-bottom: 10px;
}
.hero-video-title h2 {
	font-size: var(--h3-font-size-big) !important;
}
.hero-video-title h2 br{
	display: none;
}

.hero-video-section .hero-video-media {
	max-height: 60vh;
	aspect-ratio: unset;
	width: 100%;
	height: 60vh;
}
.hero-video-box-header {
	padding-top: 30px;
	padding-bottom: 30px;
	gap: 15px;
}
.hero-video-counter {
	gap: 10px;
}

/*MM-80 Careers Contact Section*/
.careers-contact-button {
	background-color: var(--dark-blue);
	color: #fff !important;
	padding: 13px 20px;
	border-radius: 30px;
	text-align: center;
	display: inline-block;
	margin: auto auto 0;
}
.careers-contact-button:hover{
	background-color: var(--red);
}
.careers-contact-wrapper-content {
	display: flex;
	flex-flow: column;
	gap: 20px;
}
.elementor-element.elementor-element-551ab5b.contact-topics-form.elementor-widget.elementor-widget-text-editor {
	padding: 40px !important;
}
.careers-list .career-button {
	margin-left: auto;
	float: right;
}
.careers-list .career-item {
	display: flex;
	flex-flow: column;
}
#karriere-form{
	scroll-margin-top: var(--header-height);
}
/*End MM-80 Careers Contact Section*/

.header-bar-right {
	margin-left: auto !important;
}

.footer-copyright-item {
	position: relative;
	align-items: center;
}

.footer-copyright-item .link-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.footer-copyright-item .link-wrapper:hover {
	opacity: 0.8;
}
.footer-copyright-item p {
	margin-bottom: 0;
}

/*Responsive*/
@media(min-width:2000px){
	.hero-section-section, .content-section.contact{		max-width: var(--container-max-width);		margin: 0 auto;	border-radius: 20px;}
	.hero-section-item	{ border-radius: 20px;}
	.content-section.contact .content-section-content-inner {		padding-left: 40px;	}
}
@media(max-width:1800px){
	:root {
		--content-width-center: 92%;
		--content-padding: calc((100% - 92%)/2);
		--text-size-base: 16px;
		--text-size-small: 12px;
		--heading-single-size: 60px; 
		--heading-font-size: 72px;
		--h1-font-size: 56px;
		--h2-font-size: 32px;
		--h3-font-size-big: 28px;
		--h3-font-size: 24px;
		--h4-font-size: 18px;
		--header-height: 177px;
	}
	/*Header*/
	.menu-container .menu {		gap: 30px;	}
	.masonry-categories-content .hero-section-button a::after {		transform: translateY(-1px);	}
	/*End Header*/

	.badge-content-section-badge {		padding: 130px 35px;	}
	.menu-container .menu > .menu-item-has-children > a::after {		top: 11px;	}
}
@media(max-width:1700px){
	/*Inner Hero Section*/
	.inner-hero-section-content-inner{	padding-left: 40px;}
	/*End Inner Hero Section*/
}

@media(max-width:1599px){
	:root {
		/* Large laptops (1440-1599). Headings are ~6-10% smaller than what
		   this breakpoint used to serve (80/64/48/32), so the hero title plus
		   its button still fit above the fold on a 900px tall screen. */
		--heading-single-size: 50px;
		--heading-font-size: 50px;
		--h1-font-size: 42px;
		--h2-font-size: 30px;
		--h3-font-size-big: 26px;
		--h3-font-size: 22px;
		--h4-font-size: 18px;
		/* h5/h6 had no override at any breakpoint, so they stayed at the
		   desktop 20px/16px and ended up competing with h3/h4 once those
		   shrank. They now scale with the rest of the ramp. */
		--h5-font-size: 17px;
		--h6-font-size: 15px;
		--text-size-normal: 18px;
		/* JS fallback only - custom.js measures the real header on load and
		   resize. Kept in sync with the type scale above, since the header
		   text (menu links, event text) is driven by --text-size-normal. */
		--header-height: 152px;
		--margin-bottom-large: 80px;


	}
	/*Header*/
	/*End Header*/


	/*Footer*/
	.footer-sidebar-form-button {		padding: 2px 30px;	}
	.footer-logo .logo-container {		max-width: 420px;	}
	.footer-copyright {		padding: 16px 0;	}
	.footer-copyright-item {		font-size: 14px;	}
	.footer-sidebar {		font-size: 14px;	}
	.footer-bars {		padding: 30px 0;	}
	.floating-bar .floating-bar-item a {		width: 55px;		height: 55px;	}
	.floating-bar-item img {		width: 24px;	}
	.menu-container li a {		font-size: 16px;	}
	/*End Footer*/

	.badge-content-section-badge {		width: 380px;	}
	.menu-container .menu > .menu-item-has-children > a::after {		top: 8px;	}
	.icons-section.style-box-dark .icons-heading-container {		margin-bottom: 60px;	}
	.idea-list-header-container .idea-list-item-description {		font-size: 14px;	}
	.idea-list-content-wrap .idea-list-item {		padding: 16px 16px 44px;	}
	.inner-hero-section-content.box-padding-medium_large .inner-hero-section-content-inner {		padding-top: 70px;		padding-bottom: 70px;	}
	.quality-list-description {		font-size: 20px;	}
	.menu-container .menu > .menu-item-has-children > a::after {		top: 6px;	}
	.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-image {		min-height: 300px;	}
	.content-section-buttons {		gap: 10px;	}
	.content-section-description {		margin-bottom: 20px;	}
	.team-items .team-item .team-item-image img {		max-height: 300px;	}
	.products-list-dropdown-toggle, .products-list-sort-button {		min-width: unset;	}
	.products-list-dropdown-toggle {		padding: 12px 40px;	}
	
	.hero-video-section .hero-video-media {	max-height: 58vh;	height: 58vh;}
	
}
@media(max-width:1399px){
	:root {
		--single-content-width: 92%;
		/* Standard laptops (1280-1399): 1366x768 and 1280x800 live here and
		   they are the shortest screens of the range. Until now only
		   --heading-single-size stepped down and every other heading kept its
		   1599px value, so a 48px h1 sat on a 768px screen. The full scale is
		   declared here to close that gap. */
		--heading-single-size: 48px;
		--heading-font-size: 48px;
		--h1-font-size: 38px;
		--h2-font-size: 28px;
		--h3-font-size-big: 24px;
		--h3-font-size: 21px;
		--h4-font-size: 17px;
		--h5-font-size: 16px;
		--h6-font-size: 15px;
		/* Also drives the menu links, so the navigation gets back the room it
		   needs to stay on one row next to the logo. */
		--text-size-normal: 17px;
		/* --header-height intentionally not overridden here: the logo and the
		   header paddings are unchanged from the 1599px step, so the measured
		   height stays ~152px. A smaller fallback would let the fixed header
		   overlap the content whenever custom.js does not run. */
	}
	/*Hero Section*/
	/* The 110px inner padding leaves too little room inside the 40% text column */
	.hero-section-header-container{	padding: 60px 40px 60px 60px;}
	/* The red badge scales with the image so it never covers it completely */
	.hero-section-editor-content{	width: 240px;	height: 240px;	font-size: 32px;	right: 40px;}
	/*End Hero Section*/

	.single-post-content {		max-width: 90%;	}
	.single-post-content h1, .single-post-content h2[data-first-heading] {		padding: 0;	}
	.menu-container .menu > li.button-sale > a {		padding: 8px 40px;	}
	.menu-container .menu {		gap: 25px;	}
	.tips-trends-section {		padding-top: 0;	}
	.tips-trends-search-form {		margin-bottom: 20px;	}
}
@media(max-width:1279px){
	:root{
		/* Small laptops / landscape tablets. Realigned with the two laptop
		   steps above: the old values (56/40/28/20) were larger than what
		   <=1399px now serves, which would have made the headings grow again
		   as the window got narrower. The ramp has to stay monotonic. */
		--heading-single-size: 56px;
		--heading-font-size: 48px;
		--h1-font-size: 34px;
		--h2-font-size: 26px;
		--h3-font-size-big: 22px;
		--h3-font-size: 20px;
		--h4-font-size: 16px;
		--h5-font-size: 15px;
		--h6-font-size: 14px;
		--text-size-normal: 16px;
		--margin-bottom-large: 80px;
	}
	
	/*Header*/
	/* Logo and menu shrink so logo + navigation still fit on a single row */
	.menu-container .menu{	gap: 15px;}
	.menu-container .menu > li.button-sale > a{	padding: 8px 32px;}
	.menu-container .sub-menu {	min-width: 200px;	padding: 16px;}
	.header-bar-right{	gap: 16px;}
	/*End Header*/

	/*Footer*/
	.footer-bars-inner {		flex-flow: wrap;		justify-content: flex-start;	}
	/*End Footer*/

	/*Inner Hero Section*/
	/* Text column keeps a gap from the image and the fixed button widths are
	   dropped - 412px/445px would overflow the narrow column */
	.inner-hero-section-content-inner{	padding-right: 24px;}
	.inner-hero-section-buttons .inner-hero-section-button a,
	.inner-hero-section-buttons.show-image-arrow-button-yes .inner-hero-section-button a{	min-width: 0;	width: 100%;	padding: 4px 24px;}
	/* Vertical padding presets (wide / medium large) scaled down */
	.inner-hero-section-content.box-padding-wide .inner-hero-section-content-inner,
	.inner-hero-section-content.box-padding-medium_large .inner-hero-section-content-inner{	padding-top: 60px;	padding-bottom: 60px;}
	/* Contact info: 4 columns no longer fit inside the text column */
	.inner-hero-section-contact-info .inner-hero-section-contact-info-item{	width: calc(50% - 8px);}
	/*End Inner Hero Section*/
	/*Hero Section*/
	/* Text column gets a bit wider, the image keeps the rest */
	.hero-section-header-container{	width: 45%;	padding: 40px 32px;}
	.hero-section-image-container{	width: 55%;}
	.hero-section-editor-content{	width: 200px;	height: 200px;	font-size: 26px;	right: 24px;}
	/*End Hero Section*/
	/*MM-47*/
	.tips-trends-item{ width: calc(33.33% - 22px);}
	/*Products List Section*/
	.products-list-item{ width: calc(33.33% - 22px);}

	/*Quality List*/
	.quality-list-items .quality-list-item {		width: calc(33.33% - 16px);	}
	/*End Quality List*/

	/*Services List*/
	.services-list-items .services-list-item {		width: calc(50% - 12px);	}
	/*End Services List*/

	/*Masonry Categories*/
	.masonry-categories-item.small {		height: 220px;	}
	.masonry-categories-item.medium {		height: 342px;	}
	.masonry-categories-item.large {		height: 500px;	}
	.masonry-categories-header h4, .masonry-categories-header-text, .quality-list-description {		font-size: 20px;	}
	/*End Masonry Categories*/

	/*Content Section*/
	.content-section-content-inner {		width: 40%;	}
	.content-section-image {		width: 60%;	}
	.footer-logo .logo-container {		max-width: 500px;	}
	/*End Content Section*/

	.button-wrapper-arrow a {		padding: 5px 10px;	}
	.quality-list-section.style-extended .quality-list-header-container {		padding: 20px;	}
	.posts-selection-items {		gap: 30px;	}
	.posts-selection-items .posts-selection-item {		width: calc(33.33% - 20px);	}
	.quality-list-section.style-columns-4 .quality-list-item {		width: calc(50% - 12px);	}
	.icons-content-wrap {		padding: 40px 40px;	}
	.services-list-items.count-items-4 .services-list-item {		width: calc(50% - 12px);	}
	.badge-content-section-description {		padding-right: 0;	}
	.badge-content-section-badge {		width: 350px;	}
	.posts-selection-section.style-box-dark .posts-selection-items {		gap: 30px;	}
	.menu-container li a {		font-size: 14px;	}
	.menu-container .menu > .menu-item-has-children > a::after {		top: 6px;	}

	.team-items .team-item {		width: calc(25% - 32px);	}

	/*Hero Video Section*/
	.hero-video-box { width: calc(100% - 60px); margin-top: -90px; }
	.hero-video-box-header { padding: 32px 32px 28px; }
	.hero-video-counter { padding: 20px 32px; }
	.hero-video-title, .hero-video-title h1, .hero-video-title h2 { font-size: var(--h2-font-size); }
	/*End Hero Video Section*/

	.hero-video-counters .hero-video-counter:first-child {		padding-left: 32px;	}
	.hero-video-box {		margin-bottom: 20px;	}
	
	/*Header*/
	/* Smaller logo and menu labels, info items may wrap onto two lines */
	.header-content .logo-container {	max-width: 150px;}
	.scroll-body .header-content .logo-container {		max-width: 130px;	}
	/*End Header*/
	.menu-container .menu {	gap: 10px;}
	
	.hero-video-section .hero-video-media {	max-height: 55vh;	height: 55vh;}
	.hero-video-box {	margin-top: -150px;}
}
@media(max-width:1023px){
	:root{
		--margin-bottom-large: 60px;
		--heading-single-size: 50px;
	}

	/*Events Section*/
	.events-upcoming-list.layout-grid {	grid-template-columns: repeat(2, minmax(0, 1fr));	}
	.events-past-list {	grid-template-columns: repeat(3, minmax(0, 1fr));	}
	.events-next-item {	grid-template-columns: minmax(0, 1fr);	}
	.events-next-image {	aspect-ratio: 16 / 9;	}
	.events-next-content {	padding: 32px;	}
	/*End Events Section*/

	/* Menu Stripes*/
	/* Page scrolling is locked while the mobile menu is open */
	body.open_menu {	overflow: hidden;}
	/* Burger button: dark bars, because it sits on a light header background */
	.menu--stripes {	position: relative;		z-index: 10;display: block !important;	cursor: pointer;	width: 30px; height:30px;	flex: 0 0 30px;	margin-left: 20px;}
	.menu--stripes span {	display: block;	width: 100%;	height: 3px;	background-color: var(--dark-blue);	margin-bottom: 6px;	transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;}
	.menu--stripes span:last-child{	margin-bottom: 0;}
	/* Open state: middle bar fades out, the other two cross into an X */
	.open_menu .menu--stripes span:nth-child(2){	opacity: 0;}
	.open_menu .menu--stripes span:first-child {		transform: rotate(45deg) translate(10px,9px);	}
	.open_menu .menu--stripes span:last-child {		transform: rotate(-45deg) translate(3px,-3px);	}
	/* The navigation becomes a full screen panel sliding in from the left.
	   The top padding keeps its items below the fixed header. */
	.menu-container {	position: fixed;	top: 0;	left: -100%;	display: block;	width: 100%;	height: 100%;	padding-top: var(--header-height);	background-color: var(--light-gray);	overflow-y: auto;	z-index: 1;	transition: left 0.3s ease-in-out;}
	.open_menu .menu-container {	left: 0;}
	/* Header bars stay above the sliding panel so the burger stays clickable */
	.header-bar, .header-content {	position: relative;	z-index: 2;}
	/* While open, the header takes the same tint so the two read as one surface */
	/* Items fill the panel width as a left aligned list, separated by hairlines
	   instead of gaps - the row itself is the hit area, not just the label */
	.menu-container .menu {	flex-flow: column;	gap: 0;	padding: 20px;	text-align: left;	align-items: stretch;}
	.menu-container .menu > li {	border-bottom: 1px solid var(--text-color);	padding-top: 5px;}
	.menu-container li a {	display: block;	margin-bottom: 5px;	font-size: 20px;}
	/* The sale button leads the list, as a full width pill without a hairline */
	.menu-container .menu > li.button-sale {		border-bottom: 0;		padding-top: 20px;	}
	.menu-container .menu > li.button-sale > a {	display: block;	width: 100%;	text-align: center;	padding: 10px 12px;	margin: 0 0 20px;}

	/* Every level turns into an accordion that custom.js slides open, so the
	   panels must start out hidden by display and not just by opacity.
	   Link and toggle share the first row, the panel wraps onto the next one:
	   flex lines are aligned on their own, so the icon centres against the link
	   and stays put once the panel below it opens - no fixed offsets needed. */
	.menu-container .menu-item-has-children {	display: flex;	flex-flow: row wrap;	align-items: center;}
	.menu-container .menu-item-has-children > a {	flex: 1 1 auto;}
	.menu-container .sub-menu {	position: static;	display: none;	flex: 0 0 100%;	width: 100%;	min-width: 0;	padding: 0 0 10px;	background-color: transparent;	border-radius: 0;	text-align: left;	opacity: 1;	visibility: visible;	transition: none;}
	.menu-container .sub-menu::before {	display: none;}
	/* Hairlines are for the top level only - inside a panel they would compete
	   with the separator that already frames the whole group */
	.menu-container .sub-menu li {	border-bottom: 0;	padding-top: 0;}
	.menu-container .sub-menu li + li {	margin-top: 0;}
	.menu-container .sub-menu a {	justify-content: flex-start;	white-space: normal;	font-size: 16px;	margin-bottom: 5px;}
	/* Deeper levels are indented, so the hierarchy reads without extra rules */
	.menu-container .sub-menu .sub-menu {	padding-left: 16px;}
	/* The link caret is replaced by the expend-icon: the link keeps navigating
	   on tap and only the icon opens the sub menu (see custom.js) */
	.menu-container .menu-item-has-children > a::after {	display: none;}
	.menu-container .expend-icon {	display: block;	position: relative;	flex: 0 0 30px;	width: 30px;	height: 30px;	cursor: pointer;}
	.menu-container .expend-icon::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 7px;
		height: 11px;
		background-color: var(--text-color);
		-webkit-mask: url('../images/Arrow-caret.svg') no-repeat center / contain;
		mask: url('../images/Arrow-caret.svg') no-repeat center / contain;
		transform: translate(-50%,-50%) rotate(90deg);
		transition: transform 0.3s ease-in-out;
	}
	.menu-container .menu-item-has-children.submenu-open > .expend-icon::before {	transform: translate(-50%,-50%) rotate(-90deg);	background-color: var(--red);}
	/* End Menu Stripes*/

	.menu-container .expend-icon::before {		width: 6px;		height: 12px;	}

	/*Header*/
	/* Info bar: smaller icons and text so both groups still fit on one row */
	.info-bar-event-icon {	width: 28px;	height: 28px;}
	.header-bar-right {	gap: 12px;}
	.header-bar-inner {		flex-flow: column;		justify-content: center;		align-items: center;	}
	.header-bar-left {		display: none;	}
	/*End Header*/

	/*Inner Hero Section*/
	/* The box stacks: text on top, image full width underneath.
	   All width variants (normal / wide_text) collapse to a single column. */
	.inner-hero-section-content,
	.inner-hero-section-content.box-padding-wide {	flex-flow: column;	gap: 24px;}
	.inner-hero-section-content-inner,
	.inner-hero-section-content.width-wide_text .inner-hero-section-content-inner {	width: 100%;	padding-left: 32px;	padding-right: 32px;}
	/* The image is an empty background div, so it needs an explicit height once stacked */
	.inner-hero-section-image,
	.inner-hero-section-content.width-wide_text .inner-hero-section-image,
	.inner-hero-section-content.box-padding-wide .inner-hero-section-image {	width: 100%;}
	/* The "normal" padding preset has no vertical padding, which only works
	   side by side with the image - stacked it needs some breathing room */
	.inner-hero-section-content.box-padding-normal .inner-hero-section-content-inner {	padding-top: 32px;}
	.inner-hero-section-content.box-padding-wide .inner-hero-section-content-inner,
	.inner-hero-section-content.box-padding-medium_large .inner-hero-section-content-inner {	padding-top: 40px;	padding-bottom: 0;}
	/* Bottom spacing presets scaled down, "none" still wins over the others */
	.inner-hero-section-content.width-wide_text,
	.inner-hero-section-content.margin-bottom-large {	margin-bottom: 60px;}
	.inner-hero-section-content.margin-bottom-none {	margin-bottom: 0;}
	/*End Inner Hero Section*/
	/*Hero Section*/
	/* Slides stack: text block on top, image underneath */
	.hero-section-item {	flex-flow: column;}
	.hero-section-header-container {	width: 100%;	border-radius: 20px 20px 0 0;	padding: 32px 24px;}
	.hero-section-image-container {	width: 100%;	aspect-ratio: 2 / 1;}
	.hero-section-header-container h1,
	.hero-section-header-container h2 {	margin-bottom: 24px;}
	.hero-section-button {	margin-top: 24px;}
	.hero-section-editor-content {	width: 170px;	height: 170px;	font-size: 22px;	right: 80px;	top: 30%;		transform: rotate(8deg);}

	/* Arrows move down onto the image - in the middle of a stacked slide they would
	   land on the light gray text block, where the white button is invisible */
	.hero-section-content .slick-arrow {	top: auto;	bottom: 20px;}
	/*End Hero Section*/
	/*MM-47*/
	.tips-trends-item{	width: calc(50% - 16px);}
	/*Products List Section*/
	.products-list-item{	width: calc(50% - 16px);}
	/* The 4 sort buttons no longer fit next to the category dropdown, so they
	   collapse into a second dropdown that mirrors the category one */
	.products-list-toolbar{	gap: 12px;}
	.products-list-toolbar .products-list-dropdown{	flex: 1 1 0;	min-width: 0;}
	.products-list-dropdown-toggle{	width: 100%;	padding: 12px 24px;	text-align: left;}
	.products-list-sort-toggle{	display: block;}
	.products-list-sort-list{
		display: none;
		position: absolute;
		top: calc(100% + 8px);
		left: 0;
		right: 0;
		flex-flow: column;
		gap: 0;
		background-color: #fff;
		border: 1px solid #A8B4D2;
		border-radius: 20px;
		padding: 8px 0;
		z-index: 10;
	}
	.products-list-sort.active .products-list-sort-list{	display: block;}
	/* Buttons drop the pill look and become plain dropdown rows */
	.products-list-sort-button{
		display: block;
		width: 100%;
		background: none;
		border: 0;
		border-radius: 0;
		text-align: left;
		padding: 8px 24px;
		font-size: var(--text-size-base);
		font-family: var(--font-family-text);
	}
	.products-list-sort-button:hover,
	.products-list-sort-button.active{	background-color: var(--light-gray);	border-color: transparent;}
	/*Single Post*/
	.related-posts-list .tips-trends-item{	width: calc(50% - 16px);}
	.quality-list-items .quality-list-item {		width: calc(50% - 12px);	}
	.quality-list-item.full {		width: 100%;	}
	.quality-list-items-container.count-items-2 .quality-list-item {		width: 100%;	}

	/*Content Section*/
	.content-section-content-inner, .content-section-image {		width: 100%;	}
	.content-section-buttons .hero-section-button {		margin-top: 0;	}
	/*End Content Section*/

	/*Quality List*/
	.quality-list-section.style-columns-4 .quality-list-item {		width: calc(33.33% - 16px);	}
	/*End Quality List*/

	/*Icons Content*/
	.icons-content-wrap {		padding: 30px 30px;	}
	.icons-content-wrap .icons-items {		gap: 20px;	}
	.icons-section.style-box-dark .icons-heading-container {		margin-bottom: 60px;	}
	/* Items go 2 per row - the row must be allowed to wrap and the width has to
	   subtract half of the gap, otherwise a single item per row would be left */
	.icons-content-wrap .icons-items {	flex-flow: row wrap;	justify-content: center;}
	.icons-content-wrap .icons-items .icons-item {	width: calc(50% - 10px);}
	/* Side padding of the light variant is too wide once the items wrap */
	.icons-section.style-box-light .icons-items-container .icons-items {	padding: 0 24px;}
	.posts-selection-section {		padding: 60px 0;	}
	.posts-selection-items {		gap: 30px;	}
	.posts-selection-items .posts-selection-item {		width: calc(33.33% - 20px);	}
	/*End Icons Content*/

	/*Masonry Box*/
	.masonry-box-content-image {		aspect-ratio: 16 / 9;	}
	.masonry-box-section.box-height-medium .masonry-box-content-image {		aspect-ratio: 16 / 9 !important;	}
	.quality-list-section.style-columns-4 .quality-list-item {		width: calc(50% - 12px);	}
	.masonry-box-item {		width: 100%;	}
	.masonry-box-items {		gap: 20px;		flex-flow: column;	}
	/*End Masonry Box*/

	.services-list-items.count-items-4 .services-list-item {		width: 100%;	}
	.product-details-section-content .hero-section-button a {		min-width: unset;	}
	.product-details-section.product-details-section-bottom-inner {		margin-bottom: 40px;	}
	.idea-list-content-wrap .idea-list-content-container {		width: 40%;	}
	.idea-list-content-wrap .idea-list-image-container {		width: 60%;	}
	.icons-section.style-box-dark .icons-heading-container {		margin-bottom: 60px;	}
	.quality-list-section.style-simple-2 .quality-list-items {		gap: 30px;	}
	.quality-list-items-container.count-items-3 .quality-list-item {		width: calc(33.33% - 20px);	}
	.idea-list-content-wrap .idea-list-content-container, .idea-list-content-wrap .idea-list-image-container {		width: 50%;	}
	.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-image {		width: 30%;	}
	.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-header {	padding: 30px 30px 30px 0;	width: 70%;	}
	.brands-list-items .brands-list-item {		width: 100%;	}
	.brands-list-items-container .brands-list-items {		gap: 30px;	}
	.badge-content-section-description {		width: calc(100% - 350px);	}
	.badge-content-section-badge {		width: 350px;		padding: 100px 35px;	}
	.badge-content-section::before {		height: 80%;	}
	.services-planning-content-inner .services-planning-heading-container, .services-planning-content-inner .services-planning-image-container {		width: 50%;	}
	.simple-content-description {		max-width: 90%;	}
	.tips-trends-section {	padding: 0px 0 0;}
	.tips-trends-search-form {	margin-bottom: 16px;}
	.tips-trends-toolbar {	margin-bottom: 20px;}
	.quality-list-section.box-height-large .quality-list-header-container {		min-height: 300px;	}
	.menu-container .menu > li:last-child {		border-bottom: 0;	}
	.products-list-toolbar {		flex-flow: column;		align-items: flex-start;	}
	.products-list-dropdown-toggle, .products-list-sort-button {		min-width: 250px; text-align: center;	}
	.products-list-search-form {		margin-bottom: 16px;	}
	.products-list-toolbar {		flex-flow: row;	}
	.slider-products-section .slick-list {		margin: 0 -10px;	}
	.services-list-items .services-list-item .services-list-header-container, .quality-list-items .quality-list-item.full .quality-list-header-container {		padding: 10px 20px;	}
	.team-items {		gap: 20px;	}
	.team-section {		margin: 20px 0 0;		gap: 20px;	}
	.team-items .team-item {		width: calc(33.33% - 14px);	}
	.mobile-nav-strip-wrap .content-center {		max-width: 100%;	}
	.hero-section-section {		max-width: var(--content-width-center);		margin-left: auto;		margin-right: auto;	}
	.hero-section-section .hero-section-item {		padding: 15px;		border-radius: 20px;	}
	.hero-section-header-container {		padding: 20px 0 20px;	}
	.hero-section-header-container h1 {		margin-bottom: 0;	}
	.masonry-categories-header h4, .masonry-categories-header-text{		padding: 10px;	}
	.section-outer-wrap {border-radius: 20px !important;		max-width: var(--content-width-center) !important;		margin-left: auto;		margin-right: auto;	}
	.hero-section-item, .inner-hero-section-content, .inner-hero-section-content.box-padding-wide {		flex-flow: column-reverse;	}
	.content-section.contact, .inner-hero-section {		max-width: var(--content-width-center);		margin-left: auto;		margin-right: auto;	}
	.inner-hero-section {		padding-bottom: 30px;	}

	
	#menu-search-form {	width: 100%;	right: 0;	top: 0%;	padding: 0 20px;	background-color: transparent;}
	.menu-item.menu-search {	padding: 10px 20px !important;	border: 0 !important; margin-top: 10px;}
	.menu-search-submit {	font-size: 14px;	padding: 10px;}
	.menu-search-form input {	font-size: 14px;	padding: 10px;}

	/*Hero Video Section*/
	.hero-video-media { aspect-ratio: 16 / 9; }
	.hero-video-box-header { flex-flow: column; align-items: flex-start; gap: 24px; }
	.hero-video-counter { flex-flow: column; align-items: flex-start; gap: 6px; padding: 20px 24px; }
	.hero-video-counter-number { font-size: 30px; }
	/*End Hero Video Section*/

	.contact-topics-panel{flex-flow: column !important;}
	.product-details-section-content.box-style-content-box .product-details-section-top {		margin-bottom: 40px;	}

	/*CTA Content Section*/
	.cta-content-section-box { flex-flow: column; align-items: flex-start; gap: 28px; padding: 36px; }
	.cta-content-section-text { flex-basis: auto; }
	/*End CTA Content Section*/

	/*Catalogue Section*/
	.catalogue-section { gap: 64px; }
	.catalogue-viewer-header { align-items: flex-start; flex-flow: column; }
	/*End Catalogue Section*/

	.careers-list {		margin-bottom: 100px;	}
	.careers-section {		margin: 100px 0 0;	}
}


@media(max-width:767px){
	:root {
		--heading-single-size: 50px; 
		--heading-font-size: 48px;
		--h1-font-size: 30px;
		--h2-font-size: 24px;
		--h3-font-size: 18px;
		--h4-font-size: 16px;
		--text-size-normal: 16px;
	}
	/*Header*/
	/* Info bar: the long promo message is dropped, only the two info items remain, centered */
	.header-bar {	padding: 8px 0;}
	.header-bar-inner {	justify-content: center;}
	.header-bar-right {	flex-flow: wrap;	justify-content: center;	gap: 4px 16px;	text-align: center;}
	.info-bar-event-icon {	width: 22px;	height: 22px;}
	.info-bar-item img {	max-height: 22px;	width: auto;}
	.header-content {	padding: 12px 0;}
	.menu-container .menu {	padding: 16px 20px;}
	/*End Header*/

	/*Footer*/
	.footer-copyright-items {		flex-flow: wrap;		gap: 20px;		justify-content: left;		align-content: center;	}
	.footer-copyright-item p {		font-size: 14px;	}
	/*End Footer*/

	/*Inner Hero Section*/
	/* Phone layout: smaller headings, tighter padding, lower image */
	.inner-hero-section-content-inner,
	.inner-hero-section-content.width-wide_text .inner-hero-section-content-inner {	padding-left: 20px;	padding-right: 20px;}
	/* Icon list: smaller check icon and matching indent */
	.inner-hero-section-description.style-icon-list ul li {	padding-left: 32px;}
	.inner-hero-section-description.style-icon-list ul li::before {	width: 24px;	height: 24px;}
	.inner-hero-section-button a {		margin-top: 24px;}
	.inner-hero-section-buttons .inner-hero-section-button a,
	.inner-hero-section-buttons.show-image-arrow-button-yes .inner-hero-section-button a {	padding: 6px 16px;}
	.inner-hero-section-content.box-padding-wide .inner-hero-section-content-inner,
	.inner-hero-section-content.box-padding-medium_large .inner-hero-section-content-inner {	padding-top: 32px;}
	/*End Inner Hero Section*/
	/*Hero Section*/
	.hero-section-editor-content {	width: 140px;	height: 140px;	font-size: 18px;	right: 16px;}
	.hero-section-header ul,
	.hero-section-header ol {	padding-left: 18px;}
	/*End Hero Section*/
	/*MM-47*/
	.tips-trends-search-form{	flex-flow: row;}
	.tips-trends-search-form input,
	.tips-trends-toolbar{	flex-flow: column;	align-items: stretch;}
	.tips-trends-sort {		justify-content: normal;	}
	.tips-trends-search-form input, .products-list-search-form input {		width: 70%;	}
	.tips-trends-dropdown-toggle {		padding: 10px 60px;	}
	.tips-trends-dropdown-toggle, .tips-trends-sort-button {		padding: 10px 35px;	}
	.tips-trends-search-form {		gap: 5px;	}
	.tips-trends-search-form button, .products-list-search-form button {	width: 30%;	padding: 10px 10px;	}

	/*Icons Section*/
	.icons-content-wrap {	padding: 24px 20px;}
	.icons-section.style-box-dark .icons-heading-container {	margin-bottom: 40px;}
	/* Covers all three icon variants: round 123px (dark), square 100px (light / icon to left) */
	.icons-content-wrap .icons-items .icons-item .icons-image {	width: 90px;	height: 90px;	margin-bottom: 16px;}
	.icons-section.style-box-light .icons-content-wrap .icons-items-container {	padding: 24px 0;}
	.icons-section.style-box-light .icons-items-container .icons-items {	padding: 0 20px;}
	.icons-section .button-wrapper-arrow {	margin-top: 24px;}
	/*End Icons Section*/

	/*Services List*/
	.services-list-items {		flex-flow: column;	}
	.services-list-items .services-list-item, .services-list-items.count-items-2 .services-list-item {		width: 100%;	}
	/*End Services List*/

	/*Content Section*/
	.content-section-content {		flex-flow: column;	}
	/*End Content Section*/

	/*Events Section*/
	.events-upcoming-list.layout-grid {	grid-template-columns: minmax(0, 1fr);	}
	.events-upcoming-list.layout-list .events-card {	grid-template-columns: minmax(0, 1fr);	}
	.events-past-list {	grid-template-columns: repeat(2, minmax(0, 1fr));	}
	.events-next-content {	padding: 24px;	}
	/*End Events Section*/

	.content-section.contact .content-section-image {		border-radius: 20px	}
	.footer-copyright {		background-color: var(--dark-blue);		color: #fff;		padding: 24px 0;		text-align: center;	}
	/* Menu type scales down a step, the sub levels stay one step behind */
	.menu-container li a {		font-size: 18px;	}
	.menu-container .sub-menu a {		font-size: 15px;	}
	.posts-selection-items .posts-selection-item {		width: 100%;	}
	.icons-section .button-wrapper-arrow {		margin-top: 30px;	}
	.content-section.style-box-dark .content-section-content-inner {		border-radius: 20px 20px 0 0;		padding: 30px  30px 0 !important;	}
	.product-details-section.product-details-section-right, .product-details-section-bottom-right, 
	.product-details-section.product-details-section-left, .product-details-section-bottom-left {		width: 100%;	}
	.product-details-section-top, .product-details-section-bottom .product-details-section-bottom-inner {		flex-flow: column;	}
	.product-details-section .product-details-section-content {		max-width: 100%;	}
	.product-details-section-content.box-position-left .product-details-section-top {		flex-flow: column;	}
	.product-details-section-content.box-style-simple .content-section-image {		aspect-ratio: 16 / 9;		height: auto;	}
	.quality-list-items-container.count-items-3 .quality-list-item {		width: 100%;	}
	.idea-list-content-wrap .idea-list-content-container, .idea-list-content-wrap .idea-list-image-container {		width: 100%;	}
	.idea-list-content-wrap {		flex-flow: column;	}
	.idea-list-content-wrap .idea-list-image-container {		aspect-ratio: 12 / 5;	}
	.brands-list-items-container .brands-list-items {		gap: 40px;	}
	.brands-list-items .brands-list-item {		width: 100%;	}
	.posts-selection-items .posts-selection-item {		width: calc(50% - 15px);	}
	.brands-list-header-container {		flex-flow: column;	}
	.brands-list-image-container, .brands-list-header-container .brands-list-content-container {		width: 100%;	}
	.posts-selection-items {		flex-flow: column;	}
	.posts-selection-items .posts-selection-item {		width: 100%;	}
	.badge-content-section-conent {		flex-flow: column;		padding: 30px 0;	}
	.badge-content-section-badge {		width: 350px;		padding: 100px 35px;		height: 350px;		display: flex;		align-items: center;		justify-content: center;	}
	.badge-content-section-description {		width: 100%;	}
	.badge-content-section::before {		height: 100%;	}
	.badge-content-section-content {		flex-flow: column;	padding: 30px 0;}
	.idea-list-content-wrap.image-position-left {		flex-flow: column;	}
	.idea-list-content-wrap.box-width-half .idea-list-content-container, .idea-list-content-wrap.box-width-half .idea-list-image-container {		width: 100%;	}
	.services-planning-content-inner {		flex-flow: column-reverse;	}
	.services-planning-content-inner .services-planning-image-container {		aspect-ratio: 16 / 9;	}
	.services-planning-content-inner .services-planning-heading-container, .services-planning-content-inner .services-planning-image-container {		width: 100%;	}
	.services-planning-content-container {		padding: 0 0 30px;	}
	.services-planning-header {		padding: 0 30px 0;	}
	.services-planning-items-container {		padding: 0 30px;	}
	.services-planning-items-container .services-planning-items {		flex-flow: column;	}
	.services-planning-items-container .services-planning-item {		width: 100%;	}
	.content-section.contact .content-section-content-inner {	padding-right: var(--content-padding); padding-bottom:0;}
	.tips-trends-dropdown-toggle {		width: 100%;	}
	.tips-trends-sort .tips-trends-sort-button {		flex: 1;	}
	.products-list-search-form {		gap: 5px;	}
	.footer-sidebar-form-button {		padding: 5px 30px;	}
	.footer-logo .logo-container {		max-width: 50%;	}
	.footer-logo {		padding: 15px 0;	}
	.slider-products-item .slider-products-header {		opacity: 1;		visibility: visible;	}
	.services-list-description {		line-height: 1.6;		text-align: left;	}
	.quality-list-description,
	.brands-list-heading-container .brands-list-description {		text-align: left;	}
	.masonry-categories-heading {		text-align: left;	}
	.masonry-box-heading, .masonry-box-item {		text-align: left;	}
	.content-section-content.image-position-left {		flex-flow: column;	}
	.content-section.box-height-small .content-section-content-inner, .content-section.box-height-small .content-section-image {		width: 100%;	}
	.regions-items-wrapper {		flex-flow: column;		gap: 20px;	}
	.regions-items-wrapper .regions-items-container {		width: 100%;	}
	.masonry-box-section.content-position-horizontal .masonry-box-item {		padding: 30px;	}
	.masonry-box-section.content-position-horizontal .masonry-box-content-container {		flex-flow: column;		gap: 20px;	}
	.masonry-box-section.content-position-horizontal .masonry-box-content-container .masonry-box-content-image, .masonry-box-section.content-position-horizontal .masonry-box-content-container .masonry-box-content-horizontal-container {		width: 100%;	}
	.masonry-box-section.box-height-small .masonry-box-content-image {		margin-bottom: 0;	}
	.masonry-box-item {		gap: 20px;	}
	.regions-items .regions-item {		padding: 16px 20px;	}
	.content-section.box-height-small {		margin: 20px 0 0;	}
	.masonry-box-section.content-position-horizontal .masonry-box-item {		padding: 20px;	}
	.team-section {		margin: 0px 0 0;		gap: 20px;	}
	.team-items .team-item {		width: calc(50% - 10px);	}
	.accordion-header h2 {		text-align: left;		line-height: 1.4;	}
	.content-section.style-box-light-gray .content-section-content-inner {		padding: 20px;	}
	.masonry-box-header h3 {		line-height: 1.4;		font-size: 18px;	}
	.masonry-box-content-image {		margin-top: 0;	}
	.posts-selection-section {		padding: 20px 0;	}
	.posts-selection-header-container .posts-selection-image {		margin-bottom: 20px;	}
	.simple-content-inner {		max-width: unset;	padding: 20px 0;	}
	.simple-page {		padding: 20px 0 40px;	}
	.masonry-categories-item.large,.masonry-categories-item.small,.masonry-categories-item.half.small {		aspect-ratio: 1/1;	}
	.quality-list-items .quality-list-item.full .quality-list-header-container {		height: unset;		aspect-ratio: unset;	}
	.quality-list-items .quality-list-item.full .quality-list-header-container .quality-list-header h4 br {		display: none;	}
	.content-section.contact, .inner-hero-section{		max-width: var(--content-width-center);		margin-left: auto;		margin-right: auto;	}
	.inner-hero-section-content {		padding: 15px;	}
	.inner-hero-section-content-inner {		padding-left: 0;		padding-right: 0;		padding-top: 10px !important;	}
	.inner-hero-section {		padding-bottom: 30px;	}
	.quality-list-description {		width: 100%;		margin-left: 0;	}

	.masonry-categories-header-container {
		background: linear-gradient(180deg, rgba(253, 253, 253, 0) 40%, rgba(0, 0, 0, 0.9) 100%);
	}
	.quality-list-header-container {
		background: linear-gradient(180deg, rgba(253, 253, 253, 0) 10%, rgba(0, 0, 0, 0.9) 70%);
	}

	.content-section.contact, .inner-hero-section {		width: 100%;	}
	.elementor-widget-InnerHeroSection {		flex-wrap: unset !important;		display: inline-flex !important;	}
	.elementor-widget-InnerHeroSection .elementor-widget-container {		height: unset !important;		display: flex;		width: 100vw;		flex-flow: column;	}
	.inner-hero-section-content {		margin-bottom: 20px; 	}
	.posts-selection-section.style-box-dark .posts-selection-header {		text-align: left;	}
	h1, h2, h3, h4, h5, h6 {		line-height: 1.2;	}
	.masonry-box-section.style-box-none {		padding: 40px 0;	}
	.product-details-section.product-details-section-left, .product-details-section-bottom-left {		padding-left: 15px;		padding-right: 15px;	}
	.product-details-section-bottom {		padding: 0 15px;	}
	.services-list-header {		height: auto !important;	}
	.simple-page-content .e-con-inner {		max-width: 100% !important;	}
	.contact-topics-form .gform_wrapper .ginput_container--name .gform-grid-col {		width: 100%;	}
	.contact-topics-form .gform_wrapper .ginput_container--name {		flex-flow: column;		display: flex !important;	}
	.contact-topics-form .gform_wrapper .gform_fields {		display: flex;		flex-flow: column;	}
	.events-date{font-size: 12px;}
	.events-section {		margin-top: 40px;	}
	.inner-hero-section-content-inner table td {		font-size: 14px;	}

	.product-details-section-content.box-style-content-box .product-details-section-left {		width: 100%;	}
	.product-details-section-content.box-style-content-box .product-details-section-right {		width: 100%;	}
	.product-details-section-content.box-position-left .product-details-section-top {		flex-flow: column;	}
	.product-details-section-content.box-position-left .product-details-section.product-details-section-left {		padding-left: 15px;		padding-right: 15px;	}
	.careers-list {		margin-bottom: 60px;	}
	.careers-section {		margin: 60px 0 0;	}

	/*MM-80 Careers Contact Section*/
	.careers-list .career-button {		float: none; width: 100%;	}
	.careers-contact-content-wrapper {		flex-flow: column;	}
	.elementor-element.elementor-element-551ab5b.contact-topics-form.elementor-widget.elementor-widget-text-editor {		padding: 20px !important;	}
	.contact-topics-form .gform_wrapper .gfield_checkbox .gchoice label, .contact-topics-form .gform_wrapper .gfield_radio .gchoice label {		font-size: 12px;	}
	.careers-contact-wrapper-content {		padding: 20px;	}
	.careers-list .career-item {		padding: 20px 20px 30px;	}
	.careers-contact-button {		margin: auto 0 0;	}
	.careers-list .career-button .careers-contact-button {		width: 100%;	}
	/*End MM-80 Careers Section*/
}
@media(max-width:639px){
	:root {
		--heading-single-size: 50px; 
		--heading-font-size: 48px;
		--h1-font-size: 30px;
		--h2-font-size: 24px;
		--h3-font-size-big: 20px;
		--h3-font-size: 18px;
		--h4-font-size: 16px;
		--text-size-normal: 16px;
		--header-height: 60px;
		--margin-bottom-large:20px;
	}
	/*Header*/
	/* Smaller logo and menu labels, info items may wrap onto two lines */
	.header-content .logo-container {	max-width: 140px;}
	.scroll-body .header-content .logo-container {		max-width: 120px;	}
	.info-bar-item {	line-height: 1.3;font-size: 14px;}
	.header-bar-right {		width: 100%;	}
	/*End Header*/

	/* Spec tables: narrower label column so values keep enough room */
	.inner-hero-section-content-inner table td:first-child {	width: 110px;}
	/*End Inner Hero Section*/

	/*Icons Section*/
	/* One item per row */
	.icons-content-wrap .icons-items .icons-item {	width: 100%;}
	.icons-section.style-box-light .icons-items-container .icons-items {	padding: 0 16px;}
	/*End Icons Section*/

	/*Hero Section*/
	.hero-section-image-container {	aspect-ratio: 3 / 2;}
	.hero-section-editor-content {	width: 120px;	height: 120px;	font-size: 15px;	right: 12px;}
	/* Smaller arrows, closer to the corners of the image */
	.hero-section-content .slick-arrow {	width: 34px;	height: 34px;	bottom: 12px;}
	.hero-section-content .slick-prev.slick-arrow {	left: 12px;}
	.hero-section-content .slick-next.slick-arrow {	right: 12px;}
	/*End Hero Section*/
	/*MM-47*/
	.tips-trends-item{	width: 100%;}
	/*Products List Section*/
	.products-list-item{	width: 100%;}
	/* Both dropdowns go full width, one under the other */
	.products-list-toolbar{	flex-flow: column;	align-items: stretch;}
	/*Single Post*/
	.single-post-header{	padding: 0 20px 24px;}
	.single-post-meta{	flex-flow: column;	align-items: flex-start;	gap: 4px;}
	.single-post-author{	flex-flow: column;	gap: 16px;}
	.author-page-article{	padding: 24px;}
	.author-page-inner{	flex-flow: column;	gap: 16px;}
	.author-page-image, .author-page-image img{	width: 120px;	height: 120px;}
	.single-post-navigation{		align-items: center;	gap: 12px;	text-align: center;}
	.single-post-navigation-item.item-next{	text-align: center;}
	.related-posts-list .tips-trends-item{	width: 100%;}

	.masonry-categories-items .masonry-categories-item {		width: calc(50% - 8px);	}
	.masonry-categories-item.medium, .masonry-categories-item.large {		height: 300px;	}
	.masonry-categories-items {		gap: 15px;	}
	.quality-list-description {		width: 100%;	}
	.footer-sidebar {		width: 100%;	}
	.footer-sidebar-form {		display: inline-block;	}
	.floating-bar .floating-bar-item a {		width: 46px;		height: 46px;	}
	.floating-bar-item img {		width: 20px;	}
	.masonry-categories-item.small {		height: 300px;	}
	.quality-list-section.style-columns-4 .quality-list-item {		width: 100%;	}
	.masonry-categories-header h4, .quality-list-description, .masonry-categories-header-text{		font-size: 16px;	}
	.content-simple-section .content-simple-section-buttons .content-simple-section-button a {		padding: 5px 20px;	}
	.posts-selection-section.layout-style-vertical .posts-selection-header-container {		flex-flow: column;	}
	.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-image {		width: 100%;	}
	.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-header {		padding: 0px 30px 30px 30px;		width: 100%;	}
	.posts-selection-section.layout-style-vertical .posts-selection-item .posts-selection-image {		min-height: 300px;	}
	.posts-selection-section.image-width-wide .posts-selection-image, .posts-selection-section.image-width-wide .posts-selection-header {		width: 100% !important;	}
	.badge-content-section-badge {		width: 320px;		padding: 20px;		height: 320px;	}
	.services-planning-button-outer.button-wrapper-arrow a {		padding: 5px 20px;	}
	.footer-sidebar.footer-sidebar-social {		flex-flow: row;		gap: 15px;	}
	.single-post-navigation {	font-size: 14px;}
	.single-post-navigation-item.item-next, .single-post-navigation-item.item-previous {	font-size: 0;	width: 30px;	display: inline-block;	flex: unset;}
	.single-post-navigation .item-next a::after, .single-post-navigation .item-previous a::before {	font-size: 16px;}
	.single-post-navigation a {	display: block;}
	.team-items .team-item {		width: 100%;	}
	.team-category-header {		text-align: left;	}
	.quality-list-items {		gap: 15px;	}
	.quality-list-items .quality-list-item {		width: calc(50% - 8px);	}

	/*Hero Video Section*/
	.hero-video-media { aspect-ratio: 4 / 3; }
	.hero-video-desc { top: 12px; left: 12px; }
	.hero-video-box {		width: calc(100% - 32px);		margin-top: -80px;		margin-bottom: 40px;	}
	.hero-video-counter {		gap: 5px;	}
	.hero-video-box-header { padding: 24px 20px; }
	.hero-video-title, .hero-video-title h2 { font-size: var(--h3-font-size); }
	.hero-video-subtitle { font-size: var(--text-size-small); }
	.hero-video-button, .hero-video-button a { width: 100%; }
	.hero-video-counter { flex-flow: row; align-items: center;  padding: 16px 15px; }
	.hero-video-counter + .hero-video-counter { border-left: 0; border-top: 1px solid var(--light-gray); }
	.hero-video-button a {		padding: 10px 14px;		font-size: 14px;	}
	.hero-video-counter {		flex-flow: column;		align-content: center;	}
	.hero-video-counter-text {		text-align: center;	}
	.hero-video-counters .hero-video-counter:first-child {		padding-left: 15px;	}
	.hero-video-counter-number {		font-size: 24px;	}
	/*End Hero Video Section*/

	.events-section {		margin-top: 30px;	}
	.events-text {		font-size: 14px;	}
	.events-past-list {		grid-template-columns: repeat(1, minmax(0, 1fr));	}
	.inner-hero-section-content-inner table td {		font-size: 13px;	}

	/*CTA Content Section*/
	.cta-content-section-box { padding: 24px 20px; gap: 24px; }
	.cta-content-section-heading { font-size: var(--h3-font-size); margin-bottom: 14px; }
	.cta-content-section-description { font-size: 14px; }
	.cta-content-section-buttons { flex-flow: column; align-items: stretch; width: 100%; gap: 10px; }
	.cta-content-section-button.button-wrapper-arrow a { padding: 10px 14px; font-size: 14px; }
	/*End CTA Content Section*/

	/*Catalogue Section*/
	.catalogue-section { gap: 48px; }
	.catalogue-viewer-heading, .catalogue-list-heading { font-size: var(--h3-font-size); }
	.catalogue-viewer-actions { width: 100%; gap: 8px; }
	.catalogue-viewer-action { flex: 1 1 auto; justify-content: center; font-size: 14px; padding: 0 12px; }
	/* Arrows float over the page edges, so the single page gets the full width; swipe also works. */
	.catalogue-viewer-body { position: relative; }
	.catalogue-viewer-nav { position: absolute; top: 50%; z-index: 6; width: 36px; height: 36px; transform: translateY(-50%); opacity: 0.85; }
	.catalogue-viewer-nav:disabled { visibility: hidden; }
	.catalogue-viewer-prev { left: -6px; }
	.catalogue-viewer-next { right: -6px; }
	.catalogue-viewer-nav svg { width: 16px; height: 16px; }
	.catalogue-viewer.is-fs { padding: 12px; }
	.catalogue-viewer:fullscreen { padding: 12px; }
	.catalogue-zoom-ui { top: 10px; right: 10px; }
	.catalogue-zoom-ui button { width: 38px; height: 38px; }
	.catalogue-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.catalogue-card { padding: 10px; gap: 8px; border-radius: 16px; }
	.catalogue-card-cover { border-radius: 12px; }
	.catalogue-card-content { padding: 0 4px 4px; }
	.catalogue-card-title { font-size: var(--h5-font-size); }
	.catalogue-card-valid, .catalogue-card-state { font-size: 12px; }
	/*End Catalogue Section*/

	.catalogue-list-grid {		grid-template-columns: repeat(1, minmax(0, 1fr));	}
	.masthead {		width: 100vw;	}
	.hero-video-counter-text {		display: none !important;	}
	.hero-video-counter-text.hero-video-counter-text-mobile {		display: block !important;		font-size: 12px;	}
	
	.hero-video-section .hero-video-media {	max-height: unset;	height: unset;	aspect-ratio: 4/3;}

}
@media(max-width:479px){
	:root {
		--heading-single-size: 28px; 
		--heading-font-size: 28px;
		--h1-font-size: 26px;
		--h2-font-size: 24px;
		--h3-font-size: 18px;
		--text-size-normal: 14px;
	}
	/*Header*/
	.info-bar-item {		font-size: 12px;	}

	/* Phones: keep enough room between the logo and the burger button */
	.header-content .logo-container {	max-width: 150px;}
	.scroll-body .header-content .logo-container {		max-width: 130px;	}
	.menu--stripes {	margin-left: 12px;}
	.info-bar-item {	gap: 6px;}
	/*End Header*/

	/*Inner Hero Section*/
	/* Contact info items go full width on the smallest screens */
	.inner-hero-section-contact-info .inner-hero-section-contact-info-item {	width: 100%;}
	.contact-topics-form {	padding: 24px 16px;	flex-basis: 100%;}
	.contact-topics-panel {	gap: 24px;}
	.inner-hero-section-buttons .inner-hero-section-button a,
	.inner-hero-section-buttons.show-image-arrow-button-yes .inner-hero-section-button a {	padding: 6px 12px;}
	/*End Inner Hero Section*/
	/*Hero Section*/
	.hero-section-editor-content {	width: 100px;	height: 100px;	font-size: 13px;	right: 10px;}
	/*End Hero Section*/

	/*Icons Section*/
	.icons-content-wrap {	padding: 20px 16px;}
	.icons-content-wrap .icons-items .icons-item .icons-image {	width: 80px;	height: 80px;}
	/* The 40px side padding of the icons button is too much on a phone */
	.icons-section .button-wrapper-arrow a {	padding: 5px 20px;}
	/* Icon to the left: keeps the row, but with a tighter gap */
	.icons-section.style-box-items-icon_to_left .icons-header-container {	gap: 8px;}
	/*End Icons Section*/

	.badge-content-section-badge {		width: 300px;		padding: 20px;		height: 300px;	}
	.tips-trends-dropdown-toggle {	width: 100%;}
	.tips-trends-dropdown-toggle, .tips-trends-sort-button {	padding: 10px 24px;}
	.tips-trends-search-form input, .products-list-search-form input {		font-size: 14px;	}
	.tips-trends-search-form button, .products-list-search-form button {		font-size: 14px;	}

	.masonry-categories-header h3 {		font-size: 18px;		line-height: 1.6;	}


}

/*Micro Animations - image cards
  Cards that are just a photo with the title on top: the image zooms slowly and
  the title lifts a little. Only inside (hover: hover) because on touch there is
  no hover-out, so a tap would leave the image stuck in the zoomed state. */
@media (hover: hover) {
	/* The image is scaled up past the card bounds, so the card has to clip it
	   back - none of these had overflow set, and the slider item had no radius
	   of its own (it sat on the image), which would square off the corners. */
	.masonry-categories-item,
	.masonry-box-content-image,
	.slider-products-item {
		overflow: hidden;
	}
	.slider-products-item {
		border-radius: 20px;
	}

	.masonry-categories-item .masonry-categories-image,
	.masonry-box-content-image .masonry-box-image,
	.slider-products-item .slider-products-image {
		transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
	}
	.masonry-categories-item:hover .masonry-categories-image,
	.masonry-box-content-image:hover .masonry-box-image,
	.slider-products-item:hover .slider-products-image {
		transform: scale(1.04);
	}

	/* Shorter than the zoom, so the two read as one movement instead of two
	   separate effects. */
	.masonry-categories-header h4, .masonry-categories-header-text,
	.masonry-box-content-image .masonry-box-title {
		transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
	}
	.masonry-categories-item:hover .masonry-categories-header h4, .masonry-categories-header-text:hover
	.masonry-box-content-image:hover .masonry-box-title {
		transform: translateY(-4px);
	}

	/* The slider header already fades in on hover - it now slides up into place
	   at the same time instead of just appearing. */
	.slider-products-header {
		transform: translateY(6px);
		transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out,
					transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
	}
	.slider-products-item:hover .slider-products-header {
		transform: translateY(0);
	}

	/* Idea list: the stacked gray boxes in the content column had no hover at
	   all. The box lifts 2px, a hairline outline fades in and the long arrow
	   slides right - the same movement as the arrow buttons. The outline is an
	   inset shadow, not a border, so the 16px padding does not shift. */
	.idea-list-content-wrap .idea-list-item {
		transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
					box-shadow 0.3s ease-in-out;
	}
	.idea-list-content-wrap .idea-list-item:hover {
		transform: translateY(-2px);
		box-shadow: inset 0 0 0 1px #A8B4D2;
	}
	.idea-list-content-wrap .idea-list-item .link_wrapper::after {
		transition: transform 0.3s ease-in-out;
	}
	.idea-list-content-wrap .idea-list-item:hover .link_wrapper::after {
		transform: translateX(4px);
	}

	/* Tips & trends cards: same slow zoom as the image cards. Placeholder cards
	   have no inner layer, so they stay still. */
	.tips-trends-item-image-inner {
		transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
	}
	.tips-trends-item:hover .tips-trends-item-image-inner {
		transform: scale(1.04);
	}
}

/* Users who asked their OS for less motion get the hover states without the
   movement - colors and opacity still change. */
@media (prefers-reduced-motion: reduce) {
	.masonry-categories-item:hover .masonry-categories-image,
	.masonry-box-content-image:hover .masonry-box-image,
	.slider-products-item:hover .slider-products-image,
	.masonry-categories-item:hover .masonry-categories-header h4,
	.masonry-box-content-image:hover .masonry-box-title,
	.slider-products-header,
	.slider-products-item:hover .slider-products-header,
	.idea-list-content-wrap .idea-list-item:hover,
	.idea-list-content-wrap .idea-list-item:hover .link_wrapper::after,
	.tips-trends-item:hover .tips-trends-item-image-inner {
		transform: none;
	}
	.button-wrapper-arrow a:hover::after,
	.content-section.simple .content-section-buttons .hero-section-button a:hover::after,
	.content-section.simple.style-box-dark .content-section-buttons .hero-section-button a:hover::after,
	.masonry-categories-content .hero-section-button a:hover::after {
		transform: translateY(-2px);
	}
	.slider-products-content .hero-section-button a:hover::after {
		transform: translateY(-5px);
	}
}





