/* Fluid responsive setup */
html{font-size:1rem}@media screen and (max-width:1440px) and (min-width:992px) {html{font-size:calc(.002182628062360914rem + 1.108685968819599vw)}}@media screen and (max-width:370px){html{font-size:calc(-.0026722018828451884rem + 4.275523012552301vw)}}
/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;
	margin-bottom: 0;
}
/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}
/* Make sure containers never lose their center alignment */
.container-small, .container-medium, .container-large, .container-global {
	margin-right: auto !important;
  margin-left: auto !important;
}
/* Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.hide,
.show-from-tablet,
.show-from-landscape,
.show-from-portrait {
  display: none !important; /* Hide by default */
}
@media (max-width: 991px) { /* Tablet */
  .show-from-tablet {
    display: block !important;
  }
  .hide-from-tablet {
  	display: none !important;
  }
}
@media (max-width: 767px) { /* Landscape */
  .show-from-landscape {
    display: block !important;
  }
  .hide-from-landscape {
  	display: none !important;
  }
}
@media (max-width: 479px) { /* Portrait */
  .show-from-portrait {
    display: block !important;
  }
  .hide-from-portrait {
  	display: none !important;
  }
}
.special-quote-wrapper {
  display: flex;
  padding-top: 2rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  flex-direction: column;
  flex-wrap: nowrap;
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  background-color: #efe3e9;
}
.special-quote-wrapper:small {
  padding-top: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
}
.special-quote {
  font-size: 2.13rem;
  font-style: italic;
  letter-spacing: -0.043rem;
}
.special-quote:small {
  font-size: 1.5rem;
  letter-spacing: -0.03rem;
}
a:has(> sup) {
	text-decoration: none;
}
/* Adjust size for screens smaller than 767px */
@media (max-width: 767px) {
  .accordion-svg {
    width: 34px;
    height: 34px;
  }
}
/* Hidden by default (compatible with your JS validator) */
.alert-input-form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: 0.9rem;
  /* collapsed state */
  opacity: 0;
  max-height: 0;              /* smoother than height for transitions */
  overflow: hidden;
  pointer-events: none;
  transition: opacity .2s ease, max-height .2s ease;
}
/* When your old JS sets style="opacity: 1" */
.alert-input-form[style*="opacity: 1"],
.alert-input-form[style*="opacity:1"] {
  opacity: 1;
  max-height: 120px;          /* allow for 1–2 lines + icon; adjust if needed */
  pointer-events: auto;
}
/* Make the red “!” reliable in every row */
.alert-input-form .icon-embed-error-input {
  display: inline-flex;        /* avoids line-height/baseline collapse */
  width: 16px;
  height: 16px;
  flex: 0 0 16px;              /* reserves slot so it can’t shrink to 0 */
}
/* Ensure the embedded SVG fills the box */
.alert-input-form .icon-embed-error-input svg {
  display: block;
  width: 100%;
  height: 100%;
}
/* Optional: keep message text readable if globals zero line-height */
.alert-input-form > div:last-child { line-height: 1.25; }
.form-wrapper{
	color: white;
}
.label-form-v2{
	color: white;
}
.item-column-form.full {
  grid-column: 1 / -1; /* spans from first column line to the last column line */
}
/*Background video*/
figure video{
	width: auto !important;
}
  /* SWIPER JS - Only what watchOverflow needs */
  .swiper-button-lock { display: none !important; }
  .swiper-pagination-lock { display: none !important; }
