/*!
Theme Name: Everlux
Theme URI: http://underscores.me/
Author: Creativeans
Author URI: https://www.creativeans.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: everlux
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Everlux is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	position: relative;
	overflow-x: hidden;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 50%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.8em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
@font-face {
  font-family: 'General Sans';
  src: url('fonts/GeneralSans-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body,
button,
input,
select,
optgroup,
textarea {
	color: #002159;
	font-family: "Gabarito", sans-serif;
	font-size: clamp(14px, 1.25vw, 32px);
	line-height: 1.5;
}

.text_blue {
	color: #002159;
}

.text_cream {
	color: #F8F0E5;
}

.text_gold {
	color: #C29D61;
}

.text_gray {
	color: #7898A8;
}

.subheading {
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(18px, 1.565vw, 42px);
	margin: 0.2em 0;
}

.split-heading span {
/* 	position: relative;
	overflow: hidden; */
}

.split-heading span > div {
/* 	position: relative; */
/* 	overflow: hidden; */
}

.split-heading span {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

.split-heading span > div {
  display: inline-block;
  will-change: transform;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

h2.section-heading,
.section-heading h2 {
	font-size: clamp(32px, 4.95vw, 134px);
	margin: 0.2em 0;
	line-height: 1.05;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #F8F0E5;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

/* a:focus {
	outline: thin dotted;
} */

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

.product-card-price {
	visibility: hidden;
}

.shop-now .shop-items .price,
.archive-listing-wrapper .products-grid .grid-item .price {
	display: none;
}

.privacy-policy article {
	padding: clamp(40px, 5vw, 100px) 7%;
	padding-top: clamp(40px, 5vw, 150px);
}

.privacy-policy article .entry-header h1 {
	font-size: clamp(32px, 4.95vw, 134px);
    text-align: center;
    margin: 0.5em 0;
}

.privacy-policy article .entry-content ul {
	margin: 0;
}

@media screen and (min-width: 750px) {
	.privacy-policy article {
		padding: clamp(40px, 5vw, 100px) 12%;
	}
}

.site-main.overflow-hidden {
	position: relative;
	overflow: hidden;
}

.grid-layout {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: clamp(20px, 2vw, 40px);
}

.grid-layout .grid-item {
	grid-column: span 1;
}

@media screen and (min-width: 750px) {
	.grid-4 {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.grid-1, .grid-2 {
		grid-template-columns: repeat(6, 1fr);
	}
	
	.grid-layout.grid-2-2 {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: clamp(20px, 4vw, 80px);
	}
	
	.grid-2 .grid-item:nth-child(odd) {
		grid-column: 2 / span 2;
	}
	
	.grid-2 .grid-item:nth-child(even) {
		grid-column: 4 / span 2;
	}
	
	.grid-1 .grid-item:nth-child(odd) {
		grid-column: 3 / span 2;
	}
}

section.section {
	padding: clamp(40px, 6.5vw, 120px) 7%;
}

section.container {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.section-heading-center,
.section-subheading-center {
	display: flex;
	justify-content: center;
	text-align: center;
}

.banner {
	min-height: 100vh;
	position: relative;
}

.banner .banner-image-container {
	position: absolute;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

.banner .banner-image-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner.banner-inner .banner-image-container img {
	transform: scale(1.25);
}

.banner.banner-home .banner-slide {
	height: 100vh;
	position: relative;
	overflow: hidden;
}

.banner.banner-home .banner-slide .banner-heading {
	font-family: "General Sans", sans-serif;
	font-weight: 700;
	font-size: clamp(32px, 4.95vw, 134px);
	line-height: 1.1;
	margin-bottom: 0;
	margin-top: 0.4em;
}

.banner.banner-home .banner-slide .banner-text {
	font-size: clamp(18px, 1.565vw, 42px);
	line-height: 1.4;
	padding-left: 7%;
}

.banner.banner-home .banner-slide .banner-slide-text-container.no-curve .banner-text {
	color: #F8F0E5;
}

.banner.banner-home .banner-slide .banner-slide-background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner.banner-home .banner-slide.banner-slide-1 .banner-slide-background-image {
	object-position: 20%;
}

.banner.banner-home .banner-slide.banner-slide-2 .banner-slide-background-image {
	object-position: center;
}

.banner.banner-home .banner-slide .banner-slide-text-container {
	position: relative;
	height: 100vh;
	display: flex;
	justify-content: flex-end;
}

.banner.banner-home .banner-slide .banner-slide-text-container-inner {
	width: 100%;
	position: relative;
    z-index: 3;
    text-align: right;
    padding: clamp(100px, 5vw, 200px) 7% 50px 7%;
}

.banner.banner-home .banner-slide .curve-background .banner-slide-text-container-inner {
	background: linear-gradient(to bottom, rgba(248,240,229,1) 0%, rgba(248,240,229,0.8) 25%, rgba(248,240,229,0.5) 40%, rgba(248,240,229,0) 70%, rgba(248,240,229,0) 100%);
}

.banner.banner-home .banner-slide .no-curve .banner-slide-text-container-inner {
	background: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.8) 35%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 100%);
}

.banner.banner-home .banner-slide .banner-slide-text-container.curve-background:before {
	content: "";
	width: 100vw;
	height: 100vh;
	background-image: url('images/banner-spring-angle.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	position: absolute;
	right: 0;
	top: 5px;
}

.banner.banner-home .banner-slide:first-child .banner-image-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 20%;
}

.banner.banner-home .banner-slides .owl-dots {
	position: absolute;
	bottom: 40px;
	display: flex;
	justify-content: center;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}

.banner.banner-home .banner-slides .owl-dots .owl-dot {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: rgba(248, 240, 229, 0.5);
	transition: background-color 0.5s ease;
	margin: 5px;
}

.banner.banner-home .banner-slides .owl-dots .owl-dot.active {
	background-color: rgba(248, 240, 229, 1);
}

.banner.banner-inner .banner-heading {
	font-family: "General Sans", sans-serif;
    font-weight: 700;
    font-size: clamp(32px, 4.95vw, 134px);
    line-height: 1.175;
    margin-bottom: 0;
    margin-top: 0.4em;
}

.banner .banner-content {
	position: relative;
	z-index: 2;
	padding: clamp(40px, 6.5vw, 180px) 7%;
	padding-top: clamp(80px, 6.5vw, 100px);
	width: 100%;
	min-height: 100vh;
}

.banner.banner-about .banner-content {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

.banner.banner-about:after {
	content: "";
	height: 100%;
	width: 50vw;
	background: linear-gradient(to right, rgba(0, 33, 89, 0) 0%, rgba(0, 33, 89, 1) 100%);
	position: absolute;
	top: 0;
	right: 0;
}

.banner.banner-about .banner-text-container {
	width: 100%;
	text-align: right;
	font-size: clamp(18px, 1.565vw, 42px);
    line-height: 1.4;
}

.banner.banner-technology .banner-content {
	display: flex;
	align-items: flex-end;
}

.banner.banner-mattresses {
	position: relative;
}

.banner.banner-mattresses:after {
	content: "";
	height: 50vh;
	width: 100%;
	background: linear-gradient(to bottom, rgba(0, 33, 89, 0) 0%, rgba(0, 33, 89, 1) 100%);
	position: absolute;
	bottom: 0;
	right: 0;
}

.banner.banner-mattresses .banner-content {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
}

@media screen and (min-width: 750px) {
	.banner.banner-home .banner-slide .banner-slide-text-container-inner {
		width: 70%;
		padding: clamp(100px, 5vw, 200px) 7% 50px 0;
	}
	
	.banner.banner-home .banner-slide.banner-slide-1 .banner-slide-text-container-inner,
	.banner.banner-home .banner-slide.banner-slide-2 .banner-slide-text-container-inner {
		background: transparent;
	}
	
	.banner.banner-home .banner-slide .banner-text {
		padding-left: 25%;
	}
	
	.banner.banner-home .banner-slide .banner-slide-text-container.curve-background:before {
		height: 70vh;
	}
	
	.banner.banner-about .banner-text-container {
		width: 50%;
		display: flex;
		flex-flow: column;
		align-items: flex-end;
	}
	
	.banner.banner-about .banner-text-container .banner-text {
		width: 85%;
	}
	
	.banner.banner-technology .banner-content .banner-text-container {
		width: 40%;
	}
}

@media screen and (min-width: 900px) {
	.banner.banner-home .banner-slide .banner-slide-text-container.curve-background:before {
		height: 60vh;
	}
	
	.banner.banner-home .banner-slide .banner-slide-text-container-inner {
		width: 50%;
	}
}

@media screen and (min-width: 1200px) {
	.banner.banner-home .banner-slide .banner-text {
		padding-left: 50%;
	}
	
	.banner.banner-home .banner-slide .banner-slide-text-container.curve-background:before {
		height: 100vh;
	}
}

section.section.purpose {
	background-color: #002159;
	padding-bottom: 5px;
}

.purpose .purpose-image-container {
	width: 100%;
	padding-top: 40%;
	position: relative;
	overflow: hidden;
	border-radius: clamp(15px, 1.5vw, 30px);
	margin: clamp(15px, 1.5vw, 30px) 0 clamp(20px, 2vw, 50px) 0;
}

.purpose .purpose-image-container img {
	width: 100%;
	height: 140%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.purpose .purpose-text-container {
	text-align: center;
}

.purpose .purpose-text-container p {
	margin-bottom: 0;
}

@media screen and (min-width: 750px) {
	.purpose .purpose-text-container {
		width: 90%;
		margin: 0 auto;
	}
}

/* .values-carousel {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.values-carousel .value {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30%;
  opacity: 0;
  z-index: 0;
} */

.values .values-inner {
	margin-top: -8vw;
}

.values-carousel {
  position: relative;
  width: 100%;
	overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  touch-action: none;
  cursor: grab;
}

.values-carousel:active {
  cursor: grabbing;
}

.values-carousel .value {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 25%;
  opacity: 0;
  z-index: 0;
	text-align: center;
}

.values-carousel .value .icon-container {
	width: 100%;
	padding-top: 60%;
	position: relative;
}

.values-carousel .value .icon-container img {
	position: absolute;
	height: 80%;
	max-width: 70%;
	object-fit: contain;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.values-carousel .value .shadow {
	width: 80%;
	height: clamp(25px, 2vw, 50px);
	border-radius: 50%;
	background-color: rgba(0, 33, 89, 0.2);
	filter: blur(11px);
	-webkit-filter: blur(11px);
	opacity: 0;
	transition: opacity 0.5s ease;
	margin: 0 auto;
	margin-top: clamp(25px, 3vw, 80px);
}

.values-carousel .value.is-center .shadow {
	opacity: 1;
}

@media (max-width: 750px) {
  .values-carousel .value {
    width: 70%;
  }
}

.values-carousel img {
  pointer-events: none;
  user-drag: none;
}



.why-choose-us {
	position: relative;
	z-index: 2;
}

.why-choose-us .why-choose-us-inner-container {
	position: relative;
}

.why-choose-us .reasons-text {
	text-align: center;
	padding: 0;
}

.why-choose-us .reasons-text p {
	margin-bottom: 0;
}

@media screen and (min-width: 750px) {
	.why-choose-us .reasons-text {
		padding: 0 20.5%;
	}
}

section.section.technology {
	padding-top: 0;
}

.technology .technology-inner-container {
	background-color: #002159;
	padding: clamp(20px, 4%, 120px) clamp(20px, 5.5%, 120px);
	border-radius: clamp(15px, 2vw, 50px);
	color: #F8F0E5;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.technology .technology-inner-container .technology-text-container,
.technology .technology-inner-container .technology-image-container {
	width: 100%;
}

.technology .technology-inner-container .technology-text-container .technology-main-text p {
	margin-bottom: 1.2em;
}

.technology .technology-inner-container .technology-text-container .technology-main-text ul {
	margin: 0;
	padding: 0;
	list-style-position: inside;
}

.technology .technology-inner-container .technology-text-container .technology-main-text ul li {
	margin: 10px 0;
}

.technology .technology-inner-container .technology-image-container {
	display: flex;
	justify-content: center;
	position: relative;
}

.technology .technology-inner-container .technology-image-container img {
	width: 75%;
	object-fit: contain;
}

.technology .components-container,
.mattress-support .components-container {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.technology .components-container .component,
.mattress-support .components-container .component {
	position: absolute;
	left: 50%;
	color: #002159;
	width: 50%;
}

.technology .components-container .component {
	width: 50%;
}

.mattress-support .components-container .component {
	width: fit-content;
}

.technology .components-container .component p,
.mattress-support .components-container .component .component-title {
	margin: 0;
	margin-top: 12%;
	line-height: 1.2;
}

.mattress-support .components-container .component .component-title {
	margin-top: 8%;
	line-height: 1.4;
}

.technology .components-container .component .component-main,
.mattress-support .components-container .component .component-main {
	background-color: #F8F0E5;
	border-radius: clamp(15px, 1.5vw, 40px);
	padding: clamp(15px, 1.5vw, 40px);
	position: absolute;
	top: 0;
	left: 0;
	margin-left: -5%;
    margin-top: -5%;
	opacity: 0;
	pointer-events: none;
}

.mattress-support .components-container .component .component-main {
	box-shadow: 0px 3px 5px rgba(4, 24, 71, 0.16);
}

.mattress-support .components-container .component:has(.component-button:hover) {
	width: clamp(150px, 30%, 750px);
}

.technology .components-container .component .component-button:hover + .component-main,
.mattress-support .components-container .component .component-button:hover + .component-main {
	opacity: 1;
	transition: opacity 0.5s ease;
}

.technology .components-container .component.component1 {
	top: 15%;
}

.technology .components-container .component.component2 {
	top: 65%;
}

.mattress-support .components-container .component.component1 {
	bottom: 35%;
	left: 22%;
	z-index: 4;
}

.mattress-support .components-container .component.component2 {
	bottom: 30%;
	left: 43%;
	z-index: 3;
}

.mattress-support .components-container .component.component3 {
	left: 65%;
    bottom: 25%;
	z-index: 2;
}

.mattress-support .components-container .component  .component-main-text p {
	margin-top: 0;
	margin-bottom: 0.8em;
}

/* .technology .components-container .component .component-button {
	background-color: rgba(248, 240, 229, 0.4);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(20px,2vw,50px);
	height: clamp(20px, 2vw, 50px);
	position: relative;
	cursor: pointer;
	transition: background-color 0.5s ease;
}

.technology .components-container .component .component-button-inner {
	background-color: rgba(248, 240, 229, 1);
	border-radius: 50%;
	width: clamp(10px,1.2vw,30px);
	height: clamp(10px, 1.2vw, 30px);
	transition: background-color 0.5s ease;
} */

.technology .components-container .component .component-button,
.mattress-support .components-container .component .component-button {
	background-color: none;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(22px, 2vw, 50px);
	height: clamp(22px, 2vw, 50px);
	position: relative;
	z-index: 2;
	cursor: pointer;
	transition: background-color 0.5s ease;
	overflow: visible;
}

.technology .components-container .component .component-button::before,
.mattress-support .components-container .component .component-button::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: rgba(248, 240, 229, 1);
	animation: breathe 2s ease-in-out infinite;
}

@keyframes breathe {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.7;
	}
	50% {
		transform: translate(-50%, -50%) scale(1.4);
		opacity: 0.4;
	}
	100% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.7;
	}
}

.technology .components-container .component .component-button-inner,
.mattress-support .components-container .component .component-button-inner {
	background-color: rgba(248, 240, 229, 1);
	border-radius: 50%;
	width: clamp(15px, 1.2vw, 30px);
	height: clamp(15px, 1.2vw, 30px);
	transition: background-color 0.5s ease;
}

.technology .components-container .component .component-button:hover,
.mattress-support .components-container .component .component-button:hover {
	background-color: rgba(0, 33, 89, 0.4);
}

.technology .components-container .component .component-button:hover .component-button-inner,
.mattress-support .components-container .component .component-button:hover .component-button-inner {
	background-color: rgba(0, 33, 89, 1);
}

.technology .components-container .component .component-button:hover::before,
.mattress-support .components-container .component .component-button:hover::before {
	display: none;
}

@media screen and (min-width: 750px) {
	.technology .technology-inner-container .technology-text-container {
		width: 60%;
	}
	
	.technology .technology-inner-container .technology-image-container {
		width: 38%;
	}
}

.bar {
	background-color: #002159;
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 15px;
	padding: 20px 7%;
}

.bar.bar-alt {
	background-color: #F8F0E5;
}

.bar .bar-item {
	grid-column: span 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px 0;
}

.bar .bar-item .icon-container {
	width: clamp(45px, 3.4vw, 90px);
	height: clamp(45px, 3.4vw, 90px);
	display: flex;
	justify-content: center;
	flex-shrink: 0;
}

.bar .bar-item .icon-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bar .bar-item .text-container {
	margin-left: clamp(10px, 1vw, 20px);
}

.bar .bar-item .text-container br {
	display: none;
}

.bar .bar-item .text-container .bar-item-title {
	margin: 0;
	line-height: 1.2;
}

.bar .bar-item .text-container .bar-item-text {
	margin: 0;
	line-height: 1.2;
}

@media screen and (min-width: 500px) {
	.bar {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.bar .bar-item {
		align-items: flex-start;
	}
	
	.bar .bar-item .text-container br {
		display: block;
	}
	
	.bar .bar-item:first-child,
	.bar .bar-item:nth-child(3) {
		justify-content: flex-start;
	}

	.bar .bar-item:nth-child(2),
	.bar .bar-item:last-child {
		justify-content: flex-end;
	}
}

@media screen and (min-width: 750px) {
	.bar {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.bar .bar-item:first-child {
		justify-content: flex-start;
	}
	
	.bar .bar-item:nth-child(2),
	.bar .bar-item:nth-child(3) {
		justify-content: center;
	}

	.bar .bar-item:last-child {
		justify-content: flex-end;
	}
}

section.section.home-products {
	padding-bottom: 20px;
	position: relative;
}

.home-products .section-subheading-container {
	padding: 0;
}

.home-products .home-products-carousel {
	display: flex;
/* 	overflow-x: auto;
	scroll-behavior: smooth;
	gap: 20px;
	scrollbar-width: none; */
	margin-top: clamp(30px, 3vw, 70px);
}

.home-products .home-products-carousel .owl-stage {
	display: flex;
}

/* .home-products .home-products-carousel::-webkit-scrollbar {
	display: none;
} */

section.section.discover-mattresses {
	background-color: #E8F2F2;
	padding-bottom: 0;
}

.discover-text {
	text-align: center;
}

@media screen and (min-width: 750px) {
	.discover-text {
		width: 50%;
		margin: 0 auto;
	}
}

.discover-mattresses {
	padding: 5px 0;
}

.discover-mattresses .product-card {
	grid-column: span 1;
	padding: 2px;
	text-decoration: none;
}

.home-products .product-card {
/* 	flex: 0 0 100%;
	min-width: 0; */
	padding: 2px;
}

.home-products .product-card .product-card-inner,
.discover-mattresses .product-card .product-card-inner {
	border-radius: clamp(15px, 1.5vw, 40px);
	position: relative;
	overflow: hidden;
}

.home-products .product-card .product-card-image-container,
.discover-mattresses .product-card .product-card-image-container {
	width: 100%;
	padding-top: 95%;
	position: relative;
	overflow: hidden;
}

.home-products .product-card .product-card-image-container img,
.discover-mattresses .product-card .product-card-image-container img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	bottom: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}

.discover-mattresses .product-card .product-card-image-container img {
	transform: scale(1);
	transition: transform 0.5s ease;
}

.discover-mattresses .product-card:hover .product-card-image-container img {
	transform: scale(1.25);
}

.home-products .product-card .product-card-text-container,
.discover-mattresses .product-card .product-card-text-container {
	padding: clamp(15px, 1.5vw, 30px);
	background-color: #002159;
}

.home-products .product-card .product-card-title,
.discover-mattresses .product-card .product-card-title,
.stores .store-location .store-name {
	font-size: clamp(24px, 2.345vw, 64px);
	line-height: 1.2;
	margin: 0;
}

.home-products .product-card .product-card-bottom,
.discover-mattresses .product-card .product-card-bottom {
	display: flex;
	justify-content: space-between;
	color: #F8F0E5;
}

.home-products .product-card .product-card-price .price,
.discover-mattresses .product-card .product-card-price .price {
	font-family: "Capriola", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(16px, 1.565vw, 42px);
}

.home-products .product-card .listing-button-container,
.discover-mattresses .product-card .listing-button-container {
	flex-shrink: 0;
}

.home-products .product-card .listing-button-container .listing-button,
.discover-mattresses .product-card .listing-button-container .listing-button {
	white-space: nowrap;
	color: #F8F0E5;
	text-decoration: none;
	text-transform: uppercase;
	border: 1.5px solid #F8F0E5;
	border-radius: clamp(20px, 5vw, 50px);
	font-size: clamp(12px, 0.94vw, 22px);
	font-weight: 700;
	display: flex;
	padding: clamp(2px, 0.3vw, 10px) clamp(10px, 1vw, 25px);
}

.discover-mattresses .product-card .listing-button-container .listing-button {
	border-color: transparent;
}

.home-products .product-card .listing-button-container .listing-button {
	transition: color 0.5s ease, background-color 0.5s ease, border 0.5s ease;
}

.home-products .product-card .listing-button-container .listing-button:hover {
	background-color: #7898A8;
    border: 1.5px solid #7898A8;
    color: #F8F0E5;
}

/* @media screen and (min-width: 600px) {
	.home-products .product-card {
		flex: 0 0 calc(50% - 20px);
	}
} */


@media screen and (min-width: 750px) {
	.home-products .section-subheading-container {
		padding: 0 20%;
	}
}

/* @media screen and (min-width: 800px) {
	.home-products .product-card {
		flex: 0 0 calc(100% / 3 - 20px);
	}
} */

section.section.testimonials {
	padding-top: 0;
}

.testimonials {
	background-color: #A4C1CF;
}

.testimonials .testimonials-inner {
	position: relative;
	margin-top:  -8vw;
}

.testimonials .section-heading {
	margin-top: 0;
}

.testimonials .testimonials-container {
	display: flex;
	margin-top: clamp(30px, 3vw, 70px);
}

.testimonials .testimonials-container .testimonial {
	background-color: #F8F0E5;
	border-radius: clamp(15px, 1.5vw, 40px);
	padding: clamp(15px, 2vw, 50px);
}

.testimonials .testimonials-container .testimonial .stars-container {
	display: flex;
	margin: 15px 0 clamp(15px, 1.5vw, 30px) 0;
}

.testimonials .testimonials-container .testimonial .stars-container img {
	flex-shrink: 0;
	width: clamp(20px, 1.4vw, 35px);
	height: clamp(20px, 1.4vw, 35px);
	object-fit: contain;
	margin-right: 5px;
}

.testimonials .testimonials-container .testimonial .testimonial-author {
	text-transform: uppercase;
	font-size: clamp(12px, 1.05vw, 28px);
}

.testimonials .testimonials-container .owl-item {
	padding: 0 2px;
}

@media screen and (min-width: 750px) {
	.testimonials .section-heading br {
		display: none;
	}
}

.image-with-text .image-with-text-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-top: clamp(20px, 2vw, 40px);
}

.image-with-text .image-with-text-item .image-container,
.image-with-text .image-with-text-item .text-container {
	width: 100%;
}

.image-with-text .image-with-text-item .image-container {
	border-radius: clamp(20px, 2vw, 50px);
	position: relative;
	overflow: hidden;
}

.image-with-text .image-with-text-item .image-container img {
	width: 100%;
	height: 140%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.image-with-text .image-with-text-item .text-container {
	margin-top: 15px;
}

.find-us .image-with-text .image-with-text-item {
	margin-top: 0;
}

section.section.partner {
	display: flex;
	flex-flow: column;
	justify-content: center;
}

.partner .image-with-text .image-with-text-item {
	margin-top: clamp(20px, 4vw, 60px);
}

.find-us .image-with-text .image-with-text-item .image-container-inner,
.partner .image-with-text .image-with-text-item .image-container-inner {
	width: 100%;
	padding-top: 60%;
	position: relative;
	overflow: hidden;
}

.partner h2.split-heading {
	line-height: unset;
}

@media screen and (min-width: 750px) {
	.image-with-text .section-heading br {
		display: none;
	}
	
	.image-with-text .image-with-text-item .image-container,
	.image-with-text .image-with-text-item .text-container {
		width: 48%;
	}
	
	.image-with-text .image-with-text-item .text-container {
		margin-top: 0;
	}
	
	.find-us .image-with-text .image-with-text-item .image-container {
		width: 64%;
	}
	.find-us .image-with-text .image-with-text-item .text-container {
		width: 32%;
		margin-top: 0;
	}
}

section.section.find-us2 {
	background-color: #A4C1CF;
	padding-top: 0;
}

.find-us2 .find-us2-inner {
	margin-top: -2vw;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.find-us2 .find-us2-inner .find-us-slider-container,
.find-us2 .find-us2-inner .text-container {
	width: 100%;
}

.find-us2 .find-us2-inner .find-us-slider-container .owl-stage-outer {
	position: relative;
	overflow: hidden;
	border-radius: clamp(15px, 1.5vw, 30px);
}

.find-us2 .find-us2-inner .find-us-slider-container .owl-item .image-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top:60%;
}

.find-us2 .find-us2-inner .find-us-slider-container .owl-item .image-container img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}

.find-us2 .subheading {
	width: 100%;
}

.find-us2 .find-us2-inner .owl-dots {
	display: flex;
	justify-content: center;
	margin-top: clamp(15px, 1.5vw, 30px);
}

.find-us2 .find-us2-inner .owl-dots .owl-dot {
	background-color: #002159;
	width: clamp(8px, 0.75vw, 15px);
	height: clamp(8px, 0.75vw, 15px);
	opacity: 0.5;
	transition: opacity 0.5s ease;
	margin: clamp(8px, 0.75vw, 15px) 7.5px 15px 7.5px;
	border-radius: 50%;
}

.find-us2 .find-us2-inner .owl-dots .owl-dot.active {
	opacity: 1;
}

@media screen and (min-width: 750px) {
	.find-us2 .find-us2-inner .find-us-slider-container,
	.find-us2 .find-us2-inner .text-container {
		width: 48%;
	}
	
	.find-us2 .subheading {
		width: 50%;
	}
}

section.section.breakthrough {
	padding-bottom: 0;
	position: relative;
}

.breakthrough .breakthrough-text {
	text-align: center;
}

@media screen and (min-width: 750px) {
	.breakthrough .breakthrough-text {
		max-width: 90%;
		margin: 0 auto;
	}
}

.breakthrough .breakthrough-items .image-container {
	width: 100%;
	padding-top: 125%;
	position: relative;
	overflow: hidden;
	border-radius: clamp(15px, 1.5vw, 30px);
}

.breakthrough .breakthrough-items .image-container img {
    width: 100%;
    height: 140%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.breakthrough .breakthrough-items .text-container .title {
	width: 85%;
	margin: 0.8em 0;
}

.breakthrough .breakthrough-items .text p {
	margin-top: 0;
}

section.section.science {
	background-color: #002159;
	padding-top: 0;
	padding-bottom: 0;
}

.science .science-inner {
	margin-top: -8vw;
}

.science .science-inner .science-items .image-with-text-item .image-container-inner {
	width: 100%;
	padding-top: 60%;
	position: relative;
	overflow: hidden;
}

/* .science .science-inner .science-items .image-with-text-item .image-container-inner img {
	width: 100%;
	height: 140%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
} */

@media screen and (min-width: 750px) {
	.science .science-inner .science-items .image-with-text-item:nth-child(odd) {
		flex-flow: row-reverse;
	}
}

section.section.experts {
	padding-top: 0;
	padding-bottom: 0;
}

.experts .experts-inner {
	margin-top: -4vw;
}

.experts .section-heading {
	text-align: right;
}

.experts .experts-items {
	margin-top: clamp(25px, 2.5vw, 50px);
}

.experts .experts-item .image-container {
	width: 100%;
	padding-top: 90%;
	position: relative;
	overflow: hidden;
	border-radius: clamp(15px, 1.5vw, 30px);
}

.experts .experts-item .image-container img {
	width: 100%;
	height: 140%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.experts .experts-item .title {
	margin: 0.8em 0;
}

.experts .experts-item .text p {
	margin-top: 0;
}

.mattress-comparison .comparison-inner {
	margin-top: -4vw;
	position: relative;
	overflow: hidden;
	padding: 0 0 clamp(40px, 4vw, 80px) 7%;
}

.mattress-comparison .text-container {
	padding: 0 7% 0 0;
}

.comparison-text {
	text-align: center;
}

.comparison-chart-wrapper {
	padding: 0;
	margin-bottom: 5px;
	position: relative;
	overflow-x: auto;
}

.comparison-chart {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	position: relative;
	padding: 0 7% 0 0;
	width: 190vw;
}

.comparison-chart .drape {
	grid-row: 1 / span 10;
	background: linear-gradient(to bottom, rgba(194, 157, 97, 1) 5%, rgba(194, 157, 97, 0.3) 15%, rgba(194, 157, 97, 0.3) 100%);
	clip-path: inset(0 0 100% 0); /* fully hidden from bottom */
	z-index: 0;
	position: relative;
}

.comparison-chart:has(.column-2:hover) .drape.column-2 {
	clip-path: inset(0 0 0% 0);
	transition: clip-path 1s ease;
}

.comparison-chart:has(.column-3:hover) .drape.column-3 {
	clip-path: inset(0 0 0% 0);
	transition: clip-path 1s ease;
}

.comparison-chart:has(.column-4:hover) .drape.column-4 {
	clip-path: inset(0 0 0% 0);
	transition: clip-path 1s ease;
}

.comparison-chart:has(.column-5:hover) .drape.column-5 {
	clip-path: inset(0 0 0% 0);
	transition: clip-path 1s ease;
}

.comparison-chart:has(.column-6:hover) .drape.column-6 {
	clip-path: inset(0 0 0% 0);
	transition: clip-path 1s ease;
}

.comparison-chart:has(.column-2:hover) .comparison-item.column-2 {
	color: #002159;
}

.comparison-chart:has(.column-3:hover) .comparison-item.column-3 {
	color: #002159;
}

.comparison-chart:has(.column-4:hover) .comparison-item.column-4 {
	color: #002159;
}

.comparison-chart:has(.column-5:hover) .comparison-item.column-5 {
	color: #002159;
}

.comparison-chart:has(.column-6:hover) .comparison-item.column-6 {
	color: #002159;
}

@media screen and (min-width: 750px) {
	.mattress-comparison .comparison-inner {
		padding: 0 7% clamp(40px, 4vw, 80px) 7%;
	}
	.mattress-comparison .text-container {
		padding: 0;
	}
	.comparison-chart-wrapper {
		padding: 0;
		overflow-x: hidden;
	}
	
	.comparison-chart {
		padding: 0;
		width: 100%;
	}
}

@media screen and (min-width: 1024px) {
	.comparison-chart {
		grid-auto-rows: 1fr;
	}
}

.comparison-chart .comparison-item {
	border-bottom: 2px solid #C29D61;
	display: flex;
	align-items: center;
	padding: clamp(10px, 1vw, 20px) clamp(15px, 1.5vw, 30px);
	position: relative;
	z-index: 2;
}

.comparison-chart .comparison-item:not(.chart-label) {
	color: #7898A8;
	transition: color 0.5s ease;
}

.comparison-chart .comparison-item.row-11:not(.chart-label) {
	font-size: clamp(16px, 1.565vw, 42px);
	color: #002159;
}

.comparison-chart .comparison-item.filler {
	border-bottom: none;
}

.comparison-chart .comparison-item:not(.chart-label) {
    justify-content: center;
    text-align: center;
}

.comparison-chart .comparison-item.chart-label {
	padding-left: 0;
	font-weight: 700;
	position: sticky;
	left: 0;
	background-color: #F8F0E5;
	z-index: 3;
}

.comparison-chart .column-1 {
	grid-column: 1 / span 1;
}

.comparison-chart .column-2 {
	grid-column: 2 / span 1;
}

.comparison-chart .column-3 {
	grid-column: 3 / span 1;
}

.comparison-chart .column-4 {
	grid-column: 4 / span 1;
}

.comparison-chart .column-5 {
	grid-column: 5 / span 1;
}

.comparison-chart .column-6 {
	grid-column: 6 / span 1;
}

.comparison-chart .column-heading {
	grid-row: 1 / span 2;
	display: flex;
    flex-flow: column;
    justify-content: flex-end;
	align-items: center;
	text-align: center;
	padding: clamp(10px, 1vw, 20px);
	position: relative;
	z-index: 2;
}

.comparison-chart .column-heading .title {
	margin: 0;
	margin-top: 0.5em;
}

.comparison-chart .row-2 {
	grid-row: 2 / span 1;
}
.comparison-chart .row-3 {
	grid-row: 3 / span 1;
}
.comparison-chart .row-4 {
	grid-row: 4 / span 1;
}
.comparison-chart .row-5 {
	grid-row: 5 / span 1;
}
.comparison-chart .row-6 {
	grid-row: 6 / span 1;
}
.comparison-chart .row-7 {
	grid-row: 7 / span 1;
}
.comparison-chart .row-8 {
	grid-row: 8 / span 1;
}
.comparison-chart .row-9 {
	grid-row: 9 / span 1;
}
.comparison-chart .row-10 {
	grid-row: 10 / span 1;
}
.comparison-chart .row-11 {
	grid-row: 11 / span 1;
}

@media screen and (min-width: 750px) {
	.comparison-inner .text-container .comparison-text {
		width: 90%;
		margin: 0 auto;
	}
}

section.section.shop-now {
	background-color: #A4C1CF;
}

section.section.shop-now.shop-now-translate {
	padding-top: 0;
	margin-top: -2px;
}

.shop-now.shop-now-translate .shop-now-inner {
	margin-top: -4vw;
}

.shop-now .shop-now-inner .shop-items {
	margin: clamp(25px, 1.75vw, 60px) 0 clamp(30px, 3vw, 80px) 0;
}

.shop-now .shop-now-inner .shop-item-outer,
.archive-listing-wrapper .image-container-outer,
.discover-mattresses .product-card {
	position: relative;
	overflow: hidden;
	padding: 5px;
	background: transparent;
	transition: background 0.5s ease;
	border-radius: clamp(15px, 1.5vw, 30px);
}

.shop-now .shop-now-inner .shop-item-outer:before,
.archive-listing-wrapper .image-container-outer:before,
.discover-mattresses .product-card:before {
	content: "";
    width: 120%;
    padding-top: 120%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    left: 50%;
    background: linear-gradient(to bottom, #F8F0E5 0%, #C29D61 50%, #F8F0E5 100%);
    transition: opacity 0.5s ease;
}

.discover-mattresses .product-card:before {
	padding-top: unset;
	width: unset;
	height: 150%;
	aspect-ratio: 1/1;
}

.shop-now .shop-now-inner .shop-item-outer:hover:before,
.shop-now .shop-now-inner .grid-item:hover .shop-item-outer:before,
.archive-listing-wrapper .grid-item:hover .image-container-outer:before,
.discover-mattresses .product-card:hover:before {
	opacity: 1;
	animation: spinGradient 2.5s linear infinite;
}

.shop-now-text {
	text-align: center;
}

@media screen and (min-width: 750px) {
	.shop-now-text {
		width: 90%;
		margin: 0 auto;
	}
}

@keyframes spinGradient {
	from {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

.shop-now .shop-items a {
	text-decoration: none;
}

.shop-now .shop-now-inner .shop-item,
.archive-listing-wrapper .image-container-outer .image-container {
	position: relative;
	overflow: hidden;
	border-radius: clamp(15px, 1.5vw, 30px);
	width: 100%;
	padding-top: 70%;
	height: 0;
}

.shop-now .shop-now-inner .shop-item img,
.archive-listing-wrapper .image-container-outer .image-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.5s ease;
}

.shop-now .grid-item:hover img,
.archive-listing-wrapper .grid-item:hover img {
	transform: scale(1.25);
}

.shop-now .shop-items .title,
.shop-now .shop-items .price {
	text-transform: uppercase;
	font-size: clamp(16px, 0.94vw, 24px);
	color: #002159;
	width: fit-content;
	margin: 0.25em 0;
}

.shop-now .shop-items .title:not(.relative) {
	position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    text-align: center;
	left: 0;
    right: 0;
	margin: 0;
    margin-right: auto;
    margin-left: auto;
}

.shop-now .shop-items .title:not(.relative):after {
	content: "";
	height: 2px;
	width: 100%;
	background-color: #002159;
	position: absolute;
	top: 100%;
	left: 0;
	transform: scaleX(0);
/* 	transform-origin: left; */
	transition: transform 0.5s ease;
}

.shop-now .grid-item:hover .title:after {
	transform: scaleX(1);
}

.shop-now .shop-items a .text-container {
	padding: 10px 5px;
}

.mattress-support {
	background-color: #041847;
	margin-top: -10vw;
}

.mattress-support .support-text-container {
	position: relative;
	padding: 0 7%;
    z-index: 2;
}

.mattress-support .support-text-container-inner {
	margin-top: -4vw;
}

.mattress-support .support-components-container {
	width: 100%;
	position: relative;
    top: 2px;
	display: flex;
}

.mattress-support .support-components-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (min-width: 750px) {
	.mattress-support .support-text-container {
		width: 75%;
	}
	
	.mattress-support .support-components-container img  {
		height: 100%;
	}
}

.faq .accordion {
    padding: clamp(20px, 2.2vw, 80px) 0;
	position: relative;
}

.faq .accordion .accordion-line {
	width: 100%;
	height: 1px;
	background-color: #C29D61;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
	transform-origin: left;
}

.faq .accordion:last-child {
	border-bottom: none;
}

.faq .checkbox {
    display: none;
}

.faq .accordion-title {
    display: flex;
	justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin: 0;
	padding: 0;
	position: relative;
	opacity: 0;
}

.faq .accordion-title .title {
	display: flex;
	align-items: center;
	max-width: 85%;
}

.faq .accordion-title .title {
	margin: 0;
	line-height: 1.3;
}

.faq .accordion-text {
    max-height: 0;
    overflow: hidden;
    line-height: 1.5;
   	padding: 0;
	padding-left: calc(clamp(45px, 4.1vw, 110px) + clamp(10px, 1.5vw, 40px));
	padding-right: calc(clamp(45px, 4.1vw, 110px) + clamp(10px, 1.5vw, 40px));
	opacity: 0;
	transition: max-height 0.5s ease, opacity 0.5s ease;
}

.faq .accordion-text {
	padding-left: 0;
}

.faq .accordion-text p {
	margin-top: 1.2em;
	margin-bottom: 0;
}

.faq.warranties-container .accordion-text p {
	margin-bottom: 1em;
}

.faq .accordion:last-child .accordion-text p {
	margin-bottom: 0;
}

.faq .accordion-text a {
	color: #B3862D;
}

.faq .accordion-title .faq-toggle-icon {
	transform: none;
	transition: transform 0.5s ease;
	width: clamp(20px, 1.8vw, 35px);
}

.faq .accordion-title .faq-toggle-icon img {
	width: 100%;
	object-fit: contain;
}

.faq .checkbox:checked + .accordion-title + .accordion-text {
    max-height: 500px;
	opacity: 1;
}

.faq.warranties-container .checkbox:checked + .accordion-title + .accordion-text {
	max-height: 1500px;
}

.faq .checkbox:checked + .accordion-title .faq-toggle-icon {
    transform: rotate(180deg);
}

.faq .accordion-text ul {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.faq.warranties-container .accordion-text ul {
	list-style: disc;
	padding-left: 1em;
}

.warranties-container .warranty-claim-button {
	line-height: 1.4;
	opacity: 0;
	border-color: transparent;
	cursor: pointer;
}

.form-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	z-index: 9999;
}

.form-popup.active {
	opacity: 1;
	visibility: visible;
}

.form-popup-inner {
	background: #F8F0E5;
	padding: clamp(20px, 1.5vw, 30px);
	max-width: 600px;
	width: 90%;
	border-radius: 10px;
	position: relative;
	transform: scale(0.95);
	transition: transform 0.3s ease;
}

@media screen and (min-width: 900px) {
	.form-popup-inner {
		width: 35vw;
		max-width: 700px;
	}
}

.form-popup.active .warranty-form-popup-inner {
	transform: scale(1);
}

.form-popup .popup-close {
	position: absolute;
	top: 10px;
	right: 15px;
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
	color: #333;
	padding: 10px;
}

.form-popup form input,
.form-popup form textarea {
	background-color: transparent;
	background: transparent;
	border: none;
	border-bottom: 1px solid #C29D61;
	border-radius: 0;
	padding: 10px;
	width: 100%;
}

.form-popup form p {
	margin-bottom: 0;
}

.form-popup .wpcf7 form .wpcf7-response-output {
	border: none;
	text-align: center;
	line-height: 1.4;
}

body.no-scroll {
	overflow: hidden;
}


.banner.banner-mattress {
	background-color: #002159;
}

.banner.banner-products .banner-heading,
.banner.banner-mattress .banner-text-container {
	text-align: center;
}

.banner.banner-mattress .banner-image-gallery {
	margin: clamp(30px, 4vw, 80px) 0;
}

.banner.banner-mattress .banner-text-container .text-container {
	font-family: Capriola, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(16px, 1.565vw, 42px);
}

@media screen and (min-width: 750px) {
	.banner.banner-mattress .banner-text-container .text-container {
		width: 90%;
		margin: 0 auto;
	}
	
	.banner.banner-mattress .banner-text-container .text-container p:last-child {
		margin-bottom: 0;
	}
}

.banner-mattress .focus-image-wrapper {
	position: relative;
	width: 100%;
	padding-top: 50%;
	overflow: hidden;
	border-radius: clamp(15px, 1.5vw, 30px);
}

.banner-mattress .focus-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
	z-index: 0;
}

.banner-mattress .focus-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.banner-mattress .focus-image.active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

.banner-mattress .focus-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.banner-mattress .nav-image-wrapper {
	display: flex;
	justify-content: center;
	cursor: pointer;
	gap: clamp(5px, 0.5vw, 10px);
	margin-top: clamp(15px, 1.5vw, 30px);
}

.banner-mattress .nav-image {
	width: clamp(80px, 12%, 500px);
	padding: 3px;
	background: transparent;
	transition: background 0.5s ease;
	position: relative;
	overflow: hidden;
	border-radius: clamp(5px, 0.75vw, 20px);
}

.banner-mattress .nav-image:before {
	content: "";
    width: 120%;
    padding-top: 120%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    left: 50%;
    background: linear-gradient(to bottom, #F8F0E5 0%, #C29D61 50%, #F8F0E5 100%);
    transition: opacity 0.5s ease;
}

.banner-mattress .nav-image:hover:before,
.banner-mattress .nav-image.active:before {
	opacity: 1;
	animation: spinGradient 2.5s linear infinite;
}

.banner-mattress .nav-image .nav-image-inner {
	width: 100%;
	padding-top: 55%;
	position: relative;
	overflow: hidden;
	border-radius: clamp(5px, 0.75vw, 20px);
}
.banner-mattress .nav-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.5s ease;
}

.banner-mattress .nav-image:hover img,
.banner-mattress .nav-image.active img{
	transform: scale(1.25);
}

section.section.product-details {
	padding-top: 0;
	position: relative;
	margin-top: -10vw;
}

.product-details .detail:not(:last-child) {
	margin-bottom: clamp(40px, 8vw, 150px);
}

.product-details .heading {
	text-align: center;
	font-size: clamp(22px, 3.4vw, 72px);
}

.product-details .material .material-wrapper {
	width: 100%;
	padding-top: 35%;
	border-radius: clamp(15px, 1.5vw, 30px);
	position: relative;
	overflow: hidden;
}

.product-details .material .material-wrapper .material-name {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 80%;
}

.product-details .material .material-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 140%;
	object-fit: cover;
	object-position: center center;
}

.product-details .specifications .specifications-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
 	grid-gap: clamp(15px, 1.5vw, 30px) clamp(40px, 1.5vw, 80px);
}

.product-details .specifications-grid .spec {
	grid-column: span 1;
}

.product-details .specifications-grid .spec .icon-container {
	width: 80%;
	padding-top: 80%;
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}

.product-details .specifications-grid .spec .icon-container img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.product-details .specifications-grid .spec .icon-container .text-in-icon {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	right: 35%;
    font-weight: 700;
    font-size: clamp(24px, 2.5vw, 72px);
}

.product-details .specifications-grid .spec .caption {
	text-align: center;
	font-weight: 700;
	margin: 0.5em auto;
	width: 70%;
	line-height: 1.4;
}

.product-details .firmness .firmness-bar-wrapper {
	margin-bottom: clamp(70px, 15vw, 180px);
}

.product-details .firmness .firmness-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.product-details .firmness .firmness-bar-wrapper-inner {
	position: relative;
}

.product-details .firmness .firmness-bar-marker-wrapper {
    position: absolute;
    top: 75%;
    width: calc(100% - clamp(100px, 14vw, 320px));
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

.product-details .firmness .firmness-bar-marker {
	position: absolute;
	width: clamp(15px, 2vw, 50px);
	object-fit: contain;
	transform: translate(-50%, 0);
	left: 0;
	transition: left 1s ease;
}

.product-details .firmness-2 .firmness-bar-marker.change {
	left: calc((1 * (100%/ 9)) - 1.5%)
}

.product-details .firmness-3 .firmness-bar-marker.change {
	left: calc((2 * (100%/ 9)) - 1%)
}

.product-details .firmness-4 .firmness-bar-marker.change {
	left: calc((3 * (100%/ 9)) - 0.5%)
}

.product-details .firmness-5 .firmness-bar-marker.change {
	left: calc(4 * (100%/ 9));
}

.product-details .firmness-6 .firmness-bar-marker.change {
	left: calc(5 * (100%/ 9));
}

.product-details .firmness-7 .firmness-bar-marker.change {
	left: calc((6 * (100%/ 9)) + 0.5%);
}

.product-details .firmness-8 .firmness-bar-marker.change {
	left: calc((7 * (100%/ 9)) + 1%);
}

.product-details .firmness-9 .firmness-bar-marker.change {
	left: calc((8 * (100%/ 9)) + 1.5%);
}


.product-details .firmness .firmness-bar .firmness-point .firmness-point-inner {
	height: clamp(15px, 1.75vw, 40px);
	width: clamp(15px, 1.75vw, 40px);
	border-radius: 50%;
}

.product-details .firmness .firmness-bar .firmness-point:first-child,
.product-details .firmness .firmness-bar .firmness-point:last-child {
	position: relative;
}

.product-details .firmness .firmness-bar .firmness-point .firmness-point-label {
    position: absolute;
    text-align: center;
    line-height: 1.2;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0.5em;
	font-family: "Capriola", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(12px, 1.35vw, 42px);
}

.product-details .firmness .firmness-bar .firmness-point:first-child .firmness-point-inner,
.product-details .firmness .firmness-bar .firmness-point:last-child .firmness-point-inner {
	width: clamp(50px, 7vw, 160px);
    height: clamp(50px, 7vw, 160px);
    border: 2px solid #C29D61;
    display: flex;
    align-items: center;
    justify-content: center;
	font-size: clamp(22px, 3.4vw, 72px);
	color: #C29D61;
}

.product-details .firmness .firmness-bar .firmness-point:not(:first-child):not(:last-child) .firmness-point-inner {
	background-color: rgba(183, 136, 76, 0.5);
	transition: background-color 0.5s ease;
}

.product-details .firmness .firmness-bar .firmness-point:not(:first-child):not(:last-child) .firmness-point-inner.change {
	background-color: #002159;
}

.product-details .dimensions .dimensions-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.product-details .dimensions .dimensions-grid .column-1 {
	grid-column: 1 / span 1;
}

.product-details .dimensions .dimensions-grid .column-2 {
	grid-column: 2 / span 1;
}

.product-details .dimensions .dimensions-grid .column-3 {
	grid-column: 3 / span 1;
}

.product-details .dimensions .dimensions-grid .column-4 {
	grid-column: 4 / span 1;
}

.product-details .dimensions .dimensions-grid .row-1 {
	grid-row: 1 / span 1;
}
.product-details .dimensions .dimensions-grid .row-2 {
	grid-row: 2 / span 1;
}

.product-details .dimensions .dimensions-grid .row-3 {
	grid-row: 3 / span 1;
}

.product-details .dimensions .dimensions-grid .row-4 {
	grid-row: 4 / span 1;
}
.product-details .dimensions .dimensions-grid .column-item {
	border-bottom: 2px solid #C29D61;
	padding: clamp(20px, 2vw, 40px) 0;
}

.product-details .dimensions .dimensions-grid .column-item.column-label {
	font-weight: 700;
}

.product-details .dimensions .dimensions-grid .column-item.column-heading {
	padding-top: 0;
}

.product-details .dimensions .dimensions-grid .column-item:not(.column-label) {
	text-align: center;
}

.product-details .dimensions .dimensions-grid .column-item .image-container {
	width: 100%;
	padding-top: 50%;
	position: relative;
	overflow: hidden;
}

.product-details .dimensions .dimensions-grid .column-item .image-container img {
	position: absolute;
	width: 80%;
	height: 80%;
	object-fit: contain;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media screen and (min-width: 600px) {
	.product-details .specifications .specifications-grid {
		grid-template-columns: repeat(3, 1fr);
		grid-gap: clamp(15px, 4vw, 60px) clamp(15px, 10vw, 200px);
	}
	
	.product-details .specifications-grid .spec .icon-container {
		width: 100%;
		padding-top: 100%;
	}
}

@media screen and (min-width: 750px) {
	.product-details .material .material-container,
	.product-details .specifications .specifications-grid,
	.product-details .dimensions .dimensions-grid {
		padding: 0 10%;
	}
	
	.product-details .firmness-bar-wrapper-inner {
		width: 70%;
		margin: 0 auto;
	}
}

@media screen and (min-width: 1024px) {
	.product-details .material .material-container,
	.product-details .specifications .specifications-grid,
	.product-details .dimensions .dimensions-grid {
		padding: 0 15%;
	}
}

.archive-listing-wrapper .category-wrapper {
	padding: 1.5em 0;
}

.archive-listing-wrapper .category-title {
	margin: 1.5em 0;
}

.archive-listing-wrapper .products-grid .grid-item .text-container {
	padding: 10px 5px;
}

.archive-listing-wrapper .products-grid .grid-item .product-name,
.archive-listing-wrapper .products-grid .grid-item .price {
	margin: 0.25em 0;
	font-size: clamp(16px, 0.94vw, 24px);
}

.archive-listing-wrapper .products-grid .grid-item .product-name {
	text-transform: uppercase;
}

.archive-listing-wrapper .products-grid .products-item .specifications {
	max-height: 0;
	transition: max-height 0.3s ease;
	overflow: hidden;
}

.archive-listing-wrapper .products-grid .products-item.active .specifications {
	max-height: 1000px;
}

.archive-listing-wrapper .products-grid .specifications .specification {
	display: flex;
	align-items: center;
	padding: clamp(5px, 0.5vw, 10px) 0;
}

.archive-listing-wrapper .products-grid .specifications .icon-container {
	flex-shrink: 0;
	width: 15%;
	padding-top: 15%;
	position: relative;
	margin-right: clamp(10px, 1vw, 20px);
}

.archive-listing-wrapper .products-grid .specifications .icon-container img {
	position: absolute;
	width: 100%;
	height: 90%;
	object-fit: contain;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.archive-listing-wrapper .products-grid .specifications p {
	margin: 0;
}

section.section.have-questions {
	position: relative;
	z-index: 2;
}

section.section.sleep-better {
	background-color: #A4C1CF;
	margin-top: -12vw;
}

.stores.banner {
	min-height: unset;
}
.stores .banner-content {
	padding-bottom: 0;
	min-height: unset;
}

.stores .stores-wrapper {
	display: flex;
	margin-top: clamp(20px, 4vw, 80px);
}

.stores .stores-wrapper .store-location .store-location-inner {
	background-color: #002159;
    border-radius: clamp(15px, 1.5vw, 40px);
    position: relative;
    overflow: hidden;
}

.stores .stores-wrapper .store-location .image-wrapper {
	width: 100%;
	padding-top: 90%;
	position: relative;
	overflow: hidden;
}

.stores .stores-wrapper .store-location .image-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.stores .stores-wrapper .store-location .text-container {
	padding: clamp(15px, 1.5vw, 30px);
}

.stores .stores-wrapper .store-location .store-location-inner .address-container {
	margin: 0.5em 0;
	display: flex;
}

.stores .stores-wrapper .store-location .store-location-inner .address-container .address-icon-container {
	width: 8%;
	position: relative;
	flex-shrink: 0;
	margin-right: clamp(10px, 1vw, 20px);
}

.stores .stores-wrapper .store-location .store-location-inner .address-container .address-icon-container img {
	width: 100%;
	object-fit: contain;
}

.stores .stores-wrapper .store-location .store-location-inner .address-container .address-text {
	line-height: 1.2;
}

.stores .stores-wrapper .owl-dots {
	display: flex;
	justify-content: center;
	margin-top: clamp(15px, 1.5vw, 30px);
}

.stores .stores-wrapper .owl-dots .owl-dot {
	background-color: #C29D61;
	width: clamp(8px, 0.75vw, 15px);
	height: clamp(8px, 0.75vw, 15px);
	opacity: 0.5;
	transition: opacity 0.5s ease;
	margin: clamp(8px, 0.75vw, 15px) 7.5px 15px 7.5px;
	border-radius: 50%;
}

.stores .stores-wrapper .owl-dots .owl-dot.active {
	opacity: 1;
}

section.section.locate-contact:not(.locate-contact-padding) {
	position: relative;
	padding-bottom: 0;
}

.locate-contact .locate-contact-items {
/* 	display: flex;
	justify-content: space-between;
	flex-wrap: wrap; */
	position: relative;
	z-index: 2;
	margin-top: clamp(20px, 2vw, 50px);
}

.locate-contact .locate-contact-items .contact-item {
	background-color: #002159;
	border-radius: clamp(15px, 1.5vw, 30px);
	padding: clamp(20px, 2vw, 40px);
	position: relative;
	margin: clamp(5px, 1.5vw, 30px) 0;
	width: 100%;
}

.locate-contact .locate-contact-items .contact-item a {
	color: #C29D61;
}

.locate-contact .locate-contact-items .contact-item .text p {
	margin: 1em 0;
}

/* @media screen and (min-width: 750px) {
	.locate-contact .locate-contact-items .contact-item {
		width: 48%;
	}
} */

.locate-contact .locate-contact-items .contact-item .icon-container {
	width: 15%;
	min-width: 80px;
	position: absolute;
	top: clamp(20px, 2vw, 40px);
	right: clamp(20px, 2vw, 40px);
}

.locate-contact .locate-contact-items .contact-item .icon-container-inner {
	width: 100%;
	padding-top: 60%;
	position: relative;
	overflow: hidden;
}

.locate-contact .locate-contact-items .contact-item .icon-container img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.faq-tabbing-wrapper .faq-nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: clamp(10px, 1vw, 25px);
	margin: clamp(25px, 3.5vw, 80px) 0;
}

.faq-tabbing-wrapper .faq-nav .faq-nav-tab {
	text-align: center;
	background-color: transparent;
	transition: background-color 0.5s ease;
	border-radius: clamp(10px, 1.5vw, 30px);
	padding: clamp(5px, 1.5vw, 30px);
	cursor: pointer;
}

.faq-tabbing-wrapper .faq-nav .faq-nav-tab:hover,
.faq-tabbing-wrapper .faq-nav .faq-nav-tab.active {
	background-color: #A4C1CF;
}

.faq-tabbing-wrapper .faq-nav .faq-nav-tab .image-wrapper {
	width: 100%;
	padding-top: 100%;
	position: relative;
	overflow: hidden;
}

.faq-tabbing-wrapper .faq-nav .faq-nav-tab .image-wrapper img {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	left: 0;
	width: 100%;
	height: 75%;
	object-fit: contain;
}

.faq-tabbing-wrapper .faq-nav .faq-nav-tab .tab-label {
	margin-top: 1em;
	font-size: clamp(8px, 1.565vw, 42px);
}

.faq-tabbing-wrapper .faq-container {
  display: none;
}
.faq-tabbing-wrapper .faq-container.active {
  display: block;
}

@media screen and (min-width: 1024px) {
	.faq-tabbing-wrapper .faq-nav .faq-nav-tab .image-wrapper {
		padding-top: 50%;
	}
	
	.faq-tabbing-wrapper .faq-nav .faq-nav-tab .image-wrapper img {
		max-width: 75%;
		height: 100%;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}
}

footer {
	background-color: #002159;
	padding: clamp(40px, 5vw, 80px) 7%;
}

footer .footer-top {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap-reverse;
	margin-bottom: 25px;
}

footer .footer-top .footer-top-right {
	width: 100%;
	margin-bottom: 25px;
}

footer .footer-top .footer-top-right .footer-logo-container {
	width: 100%;
	display: flex;
	justify-content: flex-start;
}

footer .footer-top .footer-top-right .footer-logo-container img {
	width: 60%;
	object-fit: contain;
	max-width: 200px;
}

footer .footer-top .footer-top-right .footer-tagline {
	font-size: clamp(32px, 2.345vw, 64px);
	line-height: 1.2;
	margin-bottom: 0;
}

footer .footer-nav {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: clamp(15px, 1.5vw, 30px);
}

footer .footer-nav .widget {
	width: 100%;
}

footer .footer-nav .widget-title {
	color: #C29D61;
	font-size: clamp(16px, 0.94vw, 22px);
	margin: 0;
}

footer .footer-nav .widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

footer .footer-nav .widget ul li a {
	color: #F8F0E5;
	font-size: clamp(12px, 0.835vw, 20px);
	text-decoration: none;
	margin: 10px 0;
}

footer .footer-nav .widget ul#menu-contact li a {
	display: flex;
	justify-content: center;
	width: 50%;
	font-weight: 700;
	border: 1.5px solid #F8F0E5;
	border-radius: clamp(20px, 5vw, 50px);
	text-align: center;
	padding: clamp(2px, 0.3vw, 10px) clamp(10px, 1vw, 25px);
	background-color: transparent;
	transition: background-color 0.5s ease;
	white-space: nowrap;
}

footer .footer-nav .widget ul#menu-contact li a:hover {
	background-color: #7898A8;
}

footer .footer-bottom {
	display: flex;
	flex-wrap: wrap;
}

footer .footer-bottom .footer-bottom-item {
	color: #FFFFFF;
	text-underline-offset: 0.2em;
	display: flex;
	margin: 5px 0;
	margin-right: clamp(20px, 2.5vw, 40px);
	font-size: clamp(12px, 0.73vw, 16px);
	white-space: nowrap;
}

footer .footer-bottom .footer-bottom-item:first-child {
	width: 100%;
}

footer .footer-top .footer-top-right {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

@media screen and (min-width: 750px) {
	
	footer .footer-bottom {
		display: flex;
		justify-content: center;
	}
	
	footer .footer-bottom .footer-bottom-item {
		margin: 0 clamp(10px, 2.5vw, 40px);
	}
	
	footer .footer-bottom .footer-bottom-item:first-child {
		width: fit-content;
	}
	
	footer .footer-nav .widget {
		width: 20%;
	}
	
	footer .footer-nav .widget ul#menu-contact li a {
		width: 90%;
	}
}

@media screen and (min-width: 1000px) {
	footer .footer-top .footer-top-right .footer-tagline {
		font-size: clamp(24px, 2.345vw, 64px);
	}
	
	footer .footer-top .footer-top-right .footer-logo-container {
		justify-content: flex-end;
		max-width: unset;
		width: clamp(150px, 10vw, 350px);
	}
	
	footer .footer-top .footer-top-right .footer-logo-container img {
		width: 100%;
		max-width: unset;
	}
	footer .footer-nav {
		width: 60%;
	}
	
	footer .footer-top .footer-top-right {
		width: 30%;
/* 		width: 100%; */
		text-align: right;
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
	}
	
	footer .footer-top .footer-top-right .footer-tagline {
		margin-top: 0.5em;
	}
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

.animate-container .split-heading,
.animate-container .grid-item,
.animate-container .fade {
	opacity: 0;
}

.spring-curve {
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	display: flex;
	margin-top: -2px;
}

.spring-curve-absolute {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	z-index: 2;
	margin-top: 0;
}

.spring-curve img {
	width: 100%;
	object-fit: contain;
}

.spring-curve svg {
	display: block;
	width: 100%;
	height: auto;
}

#glow-svg,
.main-curve {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}


.fade-up {
  opacity: 0;
  transform: translateY(30px);
}

h2.split-heading {
	line-height: 1.1;
}

.split-heading .char {
  display: inline-block;
  transform: translateY(100%);
  opacity: 0;
}

.button-container {
	margin-top: clamp(15px, 1.5vw, 30px);
}

.button-container-center {
	display: flex;
	justify-content: center;
}

.button {
	letter-spacing: 1.5px;
	cursor: pointer;
}

.button.button-gold {
	display: flex;
	border-radius: clamp(30px, 2vw, 50px);
	background-color: #B88A4C;
	padding: clamp(5px, 0.5vw, 10px) clamp(10px, 1.5vw, 25px);
	text-align: center;
	text-transform: uppercase;
	width: fit-content;
	text-decoration: none;
	color: #002159;
	font-size: clamp(14px, 0.94vw, 20px);
	position: relative;
	font-weight: 700;
	transition: background-color 0.5s ease, color 0.5s ease;
}

.button .button-inner {
	position: absolute;
	width: calc(100% - 3px);
	height: calc(100% - 3px);
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	top: 50%;
	transform: translate(0, -50%);
	background: linear-gradient(to bottom, rgba(255,255,255, 0.7) 0%, rgba(255,255,255,0) 100%);
	border-radius: clamp(30px, 2vw, 50px);
	overflow: hidden;
}

.button .button-inner:after {
    content: "";
    width: 100%;
    height: 100%;
    transform: translate(0, -60%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-radius: clamp(15px, 1.5vw, 30px);
    position: absolute;
    top: 0;
    left: 0;
}

.button .button-text {
	position: relative;
}

.button.button-gold:hover {
	background-color: #002159;
	color: #F8F0E5;
}

.button.show-more-button {
	text-transform: uppercase;
	border: 1.5px solid #002159;
	border-radius: clamp(30px, 2vw, 50px);
	padding: clamp(5px, 0.5vw, 10px) clamp(10px, 1.5vw, 25px);
	font-size: clamp(16px, 0.94vw, 24px);
	font-weight: 700;
	width: fit-content;
	background-color: transparent;
	color: #002159;
	transition: background-color 0.5s ease, color 0.5s ease, border 0.5s ease;
	line-height: 1;
	cursor: pointer;
}

.button.show-more-button:hover {
	background-color: #7898A8;
	border: 1.5px solid #7898A8;
	color: #F8F0E5;
}

.cloud-container {
	position: absolute;
	left: 0;
	width: 100%;
	object-fit: contain;
	overflow: hidden;
}

.cloud-container .cloud {
	width: 60vw;
}

.why-choose-us .cloud1-container,
.home-products .cloud-container,
.breakthrough .cloud1-container,
.locate-contact .cloud1-container {
	top: 0;
	display: flex;
	justify-content: flex-end;
}

.cloud1-container .cloud {
	transform: translate(30vw, 0);
}

.why-choose-us .cloud2-container {
    bottom: -5vw;
}

.breakthrough .cloud2-container {
	top: -2vw;
}

.locate-contact .cloud2-container {
	top: -10vw;
}

.why-choose-us .cloud2-container .cloud,
.breakthrough .cloud2-container .cloud,
.locate-contact .cloud2-container .cloud {
	transform: translate(-25vw, 0);
	width: 75vw;
}

.breakthrough .cloud1-container .cloud,
.locate-contact .cloud1-container .cloud {
	width: 70vw;
}

.home-products .cloud-container,
.breakthrough .cloud1-container,
.locate-contact .cloud1-container {
	z-index: 2;
	top: 100%;
}

.cloud-container img {
	width: 100%;
	object-fit: contain;
}

/* Navigation
--------------------------------------------- */

.site-header {
	position: absolute;
	z-index: 10;
	width: 100%;
	padding: 0 7%;
	background-color: #F8F0E5;
	box-shadow: 0px 3px 6px rgba(0, 33, 89, 0.15);
	border-radius: 0 0 clamp(20px, 2vw, 40px) clamp(20px, 2vw, 40px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 0;
	transition: padding-bottom 0.5s ease;
}

.site-header:has(.main-navigation.toggled) {
	padding-bottom: 30vh;
}

.site-header .site-branding {
	padding: 15px 0;
	display: flex;
	position: relative;
}

.site-header .custom-logo-link {
	display: flex;
	width: clamp(100px, 9.4vw, 250px);
}

.site-header .custom-logo-link img {
	width: 100%;
	object-fit: contain;
}

.main-navigation {
	display: block;
	width: fit-content;
}

.main-navigation ul {
/* 	display: none; */
	list-style: none;
	margin: 0;
	padding-left: 0;
	opacity: 0;
}

.main-navigation ul ul {
/* 	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); */
/* 	float: left; */
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
	padding-left: 15px;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
	position: relative;
	width: 100%;
}

.main-navigation li {
	position: relative;
	margin: 5px 0;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: clamp(14px, 0.94vw, 20px);
	font-weight: 700;
	color: #002159;
	position: relative;
	padding: 5px 0;
}

.main-navigation a sup {
	margin-right: 1em;
}

.main-navigation a:after {
	content: "";
	height: clamp(2px, 0.2vw, 5px);
	width: 100%;
	background-color: #C29D61;
	transform: scaleX(0);
	position: absolute;
	bottom: 0;
	left: 0;
	transition: transform 0.5s ease;
}

.main-navigation a:hover:after,
.main-navigation li.current-menu-item a:after {
	transform: scaleX(1);
}

.site-header .locate {
	display: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.main-navigation.toggled ul {
	opacity: 1;
	transition: opacity 0.5s ease;
}

.menu-toggle {
	background: transparent;
	border: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-top: 0;
	transition: margin-top 0.3s ease;
}

.main-navigation.toggled .menu-toggle {
	margin-top: 6px;
}

.menu-toggle div {
	width: 30px;
	height: 3px;
	background-color: #002159;
	border-radius: 5px;
	margin-top: 0;
}

.menu-toggle div:first-child {
	margin-bottom: 0;
	transform: rotate(0);
	transition: all .3s;
}

.menu-toggle div:last-child {
	margin-top: 0;
	transform: rotate(0);
	transition: all .3s;
}

.menu-toggle div:nth-child(2) {
	margin: 3px 0;
	transform: rotate(0);
	opacity: 1;
	transition: all .3s;
}

.main-navigation.toggled .menu-toggle div:first-child {
	margin-bottom: -6px;
	transform: rotate(45deg);
}

.main-navigation.toggled .menu-toggle div:last-child {
	margin-top: -6px;
	transform: rotate(-45deg);
}

.main-navigation.toggled .menu-toggle div:nth-child(2) {
	opacity: 0;
	transform: rotate(270deg);
}

.main-navigation .menu-toggle {
	margin-top: 0;
}

/* .main-navigation.toggled .menu-toggle {
	margin-top: 3px;
}
 */

.menu-menu-1-container {
	transform: translate(-100vw, 0);
	position: absolute;
	top: 70px;
}

.main-navigation.toggled .menu-menu-1-container {
	position: absolute;
	left: 0;
	top: 50px;
	width: 100%;
	background-color: transparent;
	transition: background-color 0.5s ease, backdrop-filter 0.5s ease, -webkit-backdrop-filter 0.5s ease;
	display: flex;
	justify-content: flex-start;
	padding: 5% 7%;
	display: block;
	transform: none;
	transition: transform 0.5s ease;
}
.menu-primary-menu-container {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100vw;
	background: rgba(255, 255, 255, 0.50);
	-webkit-backdrop-filter: blur(17.5px);
    backdrop-filter: blur(17.5px);
}

.main-navigation.toggled .menu-toggle div:first-child {
	margin-bottom: -6px;
	transform: rotate(-45deg);
}

.main-navigation.toggled .menu-toggle div:last-child {
	margin-top: -6px;
	transform: rotate(45deg);
}

.main-navigation.toggled .menu-toggle div:nth-child(2) {
	opacity: 0;
	transform: rotate(270deg);
}

.mega-submenu-container {
	display: none!important;
}

@media screen and (min-width: 1024px) {
	
	.site-header {
		background-color: transparent;
		transition: background-color 0.5s ease;
		box-shadow: none;
		border-radius: 0;
	}
	.site-header:has(.main-navigation.toggled) {
		padding-bottom: 0;
	}
	
	.site-header.expanded {
		background-color: rgba(0, 33, 89, 0.7);
	}
	
	.site-header:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #F8F0E5;
		box-shadow: 0px 3px 6px rgba(0, 33, 89, 0.15);
		border-radius: 0 0 clamp(20px, 2vw, 40px) clamp(20px, 2vw, 40px);
	}

	.menu-toggle {
		display: none;
	}
	
	.main-navigation.toggled .menu-menu-1-container {
		position: relative;
		top: unset;
		width: fit-content;
		padding: 0;
	}

	.main-navigation ul,
	.main-navigation.toggled ul {
		display: flex;
		opacity: 1;
		transform: none;
	}
	
	.main-navigation ul#primary-menu li:last-child {
		display: none;
	}
	
	.site-header .menu-menu-1-container,
	.site-header .menu-menu-1-container ul,
	.site-header .menu-menu-1-container ul li,
	.site-header .menu-menu-1-container ul li a {
		height: 100%;
	}

	.main-navigation li {
		margin: 0 clamp(16px, 1.5vw, 30px);
	}

	.site-header .menu-menu-1-container ul li a {
		display: flex;
		align-items: center;
	}
	
	.menu-menu-1-container {
		display: block;
		transform: none;
		position: relative;
		top: 0;
	}

	.site-header .locate {
		display: flex;
		align-items: center;
	}
	
	.site-header {
		align-items: unset;
	}
	
	.main-navigation ul ul.sub-menu {
		display: none;
	}
	
	.mega-submenu-container {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: rgba(0, 33, 89, 0.7);
		border-radius: 0 0 clamp(20px, 2vw, 40px) clamp(20px, 2vw, 40px);
		display: block!important;
		z-index: -2;
		opacity: 0;
		visibility: 0;
		transition: opacity 0.5s ease;
		pointer-events: none;
	}
	
	.mega-submenu-container.visible {
	 	z-index: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.mega-submenu {
		position: relative;
	  padding: 3rem 7%;
	}

	.mega-submenu.active {
	  display: block;
	}
	
	.mega-submenu .submenu-container {
		display: flex;
		justify-content: center;
	}
	
	.mega-submenu .submenu-container .submenu-item {
		width: clamp(150px, 14vw, 350px);
		flex-shrink: 0;
		margin-left: clamp(15px, 1vw, 30px);
		text-decoration: none;
	}
	
	.mega-submenu .submenu-container .submenu-item-inner {
		width: 100%;
		padding-top: 60%;
		position: relative;
		overflow: hidden;
		border-radius: clamp(10px, 1vw, 20px);
	}
	
	.mega-submenu .submenu-container .submenu-item-inner:after {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.mega-submenu .submenu-container .submenu-item-inner img {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center right;
		transform: none;
		transition: transform 0.5s ease;
		will-change: transform;
		backface-visibility: hidden;
	}
	
	.mega-submenu .submenu-container .submenu-item:hover .submenu-item-inner img {
		transform: scale(1.2);
		transform-origin: center;
	}
	
	.mega-submenu .submenu-container .submenu-text {
		margin: 0;
		margin-top: 0.8em;
		color: #FFFFFF;
		font-size: clamp(14px, 0.94vw, 24px);
		font-weight: 700;
		line-height: 1.2;
		z-index: 2;
		text-transform: uppercase;
		text-align: center;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

/* .post,
.page {
	margin: 0 0 1.5em;
} */

.updated:not(.published) {
	display: none;
}
/* 
.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
} */

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
