@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap");
*,
::before,
::after {
  box-sizing: border-box; }

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */ }

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default;
  /* 1 */
  line-height: 1.5;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  tab-size: 4;
  /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */
  word-break: break-word;
  /* 6 */ }

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

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

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0; }

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0; }

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

/**
 * Add the correct display in IE.
 */
main {
  display: block; }

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0; }

/**
 * 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;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

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

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  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;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

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

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none; }

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse; }

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0; }

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible;
  /* 1 */
  text-transform: none;
  /* 2 */ }

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

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0;
  /* 1 */
  padding: 0.35em 0.75em 0.625em;
  /* 2 */ }

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible; }

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none; }

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0;
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical;
  /* 3 */ }

/**
 * Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  padding: 0; }

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none; }

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

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none; }

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block; }

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content; }

dialog:not([open]) {
  display: none; }

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

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

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation;
  /* 2 */ }

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy="true"] {
  cursor: progress; }

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer; }

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled="true"],
[disabled] {
  cursor: not-allowed; }

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden="false"][hidden] {
  display: initial; }

[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute; }

/**
 * Use the default user interface font in all browsers (opinionated).
 */
html {
  font-family: system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Cantarell", "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }

/**
 * Use the default monospace user interface font in all browsers (opinionated).
 */
code,
kbd,
samp,
pre {
  font-family: "Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Add typography inheritance in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  background-color: transparent;
  /* 1 */
  border: 1px solid WindowFrame;
  /* 1 */
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  letter-spacing: inherit;
  /* 2 */
  padding: 0.25em 0.375em;
  /* 1 */ }

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: no-repeat right center / 1em;
  border-radius: 0;
  padding-right: 1em; }

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E"); }

/**
 * Change the inconsistent appearance in IE (opinionated).
 */
::-ms-expand {
  display: none; }

/**
 * Correct the inconsistent appearance in IE (opinionated).
 */
:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54); }

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center; }

.wp-caption.alignnone {
  margin: 5px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 5px 20px 20px 0; }

.wp-caption.alignright {
  margin: 5px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

/* 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;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

/* --------------- */
/* --- Extends --- */
/* --------------- */
.menu, .sidebar .widget ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .menu li, .sidebar .widget ul li {
    font-family: inherit;
    position: relative; }
    .menu li a, .sidebar .widget ul li a {
      color: inherit;
      text-decoration: none;
      position: relative;
      white-space: nowrap; }
  .menu .sub-menu, .sidebar .widget ul .sub-menu {
    display: none; }

.post-preview .featured-img {
  height: 300px;
  background-position: center center;
  background-size: cover;
  background-color: #f2f2f2;
  position: relative; }
  .post-preview .featured-img a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #000;
    opacity: 0.2;
    transition: opacity 0.3s ease-in-out; }
    .post-preview .featured-img a:hover {
      opacity: 0;
      transition: opacity 0.3s ease-in-out; }

.post-preview .content .btn, .post-wrap .post-nav-wrap .back-btn, .post-wrap .post-nav-wrap .navigation .nav-links a, .comment-respond .submit {
  display: inline-block;
  padding: 8px 20px;
  text-decoration: none;
  text-transform: uppercase;
  background: inherit;
  color: inherit;
  transition: all 0.3s ease-in-out;
  cursor: pointer; }
  .post-preview .content .btn:hover, .post-wrap .post-nav-wrap .back-btn:hover, .post-wrap .post-nav-wrap .navigation .nav-links a:hover, .comment-respond .submit:hover {
    background: inherit;
    color: inherit;
    transition: all 0.3s ease-in-out; }

/* --------------------- */
/* --- Global styles --- */
/* --------------------- */
.container_wrap {
  display: grid;
  grid-gap: 0 15px; }
  .container_wrap .container {
    grid-column: 2 / 3; }

.sidebar .widget {
  margin-bottom: 15px; }
  .sidebar .widget .widget-title {
    margin-bottom: 5px; }

.pagination {
  padding: 10px 0; }
  .pagination .nav-links .page-numbers {
    border: solid 1px inherit;
    padding: 6px 10px;
    text-decoration: none;
    color: inherit;
    font-family: inherit;
    transition: all 0.2s ease-in-out; }
  .pagination .nav-links .current {
    border-color: inherit;
    color: inherit; }
  .pagination .nav-links a:hover {
    border-color: inherit;
    background-color: inherit;
    transition: all 0.2s ease-in-out; }
  .pagination.next-prev a {
    text-decoration: none;
    color: inherit;
    border: solid 1px inherit;
    transition: all 0.2s ease-in-out; }
    .pagination.next-prev a:hover {
      border-color: inherit;
      background-color: inherit;
      transition: all 0.2s ease-in-out; }

.custom-404 {
  padding: 30px 15px 60px; }

.site-header {
  position: relative; }
  .site-header .site-logo {
    display: inline-block;
    max-width: 300px;
    position: relative;
    height: 100%;
    width: 100%; }
    .site-header .site-logo .title {
      text-decoration: none;
      color: inherit;
      display: inline-block; }
    .site-header .site-logo img {
      width: 100%;
      height: auto; }
  .site-header .header-nav .menu {
    display: flex; }
    .site-header .header-nav .menu .menu-item {
      margin: 0 4px; }
  .site-header .search-form {
    display: inline-block;
    padding: 4px;
    border: solid 1px; }
    .site-header .search-form input {
      background-color: transparent;
      border: 0;
      outline: 0;
      font-size: 20px;
      font-family: inherit;
      text-indent: 3px; }
    .site-header .search-form button {
      border: 0;
      background: transparent;
      outline: 0;
      font-size: 22px;
      opacity: 1;
      transition: opacity 0.2s ease-in-out; }
      .site-header .search-form button:hover {
        cursor: pointer;
        opacity: 0.5;
        transition: opacity 0.2s ease-in-out; }
  .site-header .main-nav .menu {
    display: flex;
    flex-wrap: wrap; }
    .site-header .main-nav .menu .menu-item {
      margin: 0 7px; }
      .site-header .main-nav .menu .menu-item a {
        white-space: nowrap;
        display: block;
        color: inherit;
        z-index: 39; }
  .site-header .main-nav .menu-item-has-children .sub-menu {
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    flex-direction: column;
    z-index: 30;
    padding: 0; }
    .site-header .main-nav .menu-item-has-children .sub-menu .menu-item {
      margin: 0;
      padding: 0; }
      .site-header .main-nav .menu-item-has-children .sub-menu .menu-item a {
        display: block;
        padding: 8px 12px; }
  .site-header .main-nav .menu-item-has-children:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.25s ease-in-out;
    -moz-transition: opacity 0.25s ease-in-out;
    -webkit-transition: opacity 0.25s ease-in-out; }
  .site-header.classic .upper .container {
    display: grid;
    place-items: center end; }
  .site-header.classic .main .container {
    display: grid;
    grid: auto / 1fr 1fr 1fr 1fr; }
    .site-header.classic .main .container .tagline {
      grid-column: 1; }
    .site-header.classic .main .container .main-nav_wrap {
      grid-column: 2 / span 3;
      grid-row: 1 / span 2;
      place-self: center end; }
      .site-header.classic .main .container .main-nav_wrap .menu .menu-item:last-of-type {
        margin-right: 0; }
  .site-header.stack-center .main .container {
    display: grid;
    place-items: center; }
    .site-header.stack-center .main .container .site-logo {
      text-align: center; }
  .site-header.stack-center .lower .container {
    display: grid;
    place-items: center; }
  .site-header.stack-left .main .container {
    display: grid;
    place-items: center start; }
  .site-header.stack-left .lower {
    place-items: center start; }
    .site-header.stack-left .lower .menu .menu-item:first-of-type {
      margin-left: 0; }
  .site-header #navicon {
    display: none;
    width: 38px;
    height: 28px;
    position: relative;
    margin: 10px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    cursor: pointer; }
    .site-header #navicon span {
      display: block;
      position: absolute;
      height: 4px;
      width: 100%;
      border-radius: 9px;
      opacity: 1;
      left: 0;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg);
      -webkit-transition: 0.25s ease-in-out;
      -moz-transition: 0.25s ease-in-out;
      -o-transition: 0.25s ease-in-out;
      transition: 0.25s ease-in-out; }
      .site-header #navicon span:nth-child(1) {
        top: 0px; }
      .site-header #navicon span:nth-child(2), .site-header #navicon span:nth-child(3) {
        top: 12px; }
      .site-header #navicon span:nth-child(4) {
        top: 24px; }
    .site-header #navicon.open span:nth-child(1) {
      top: 12px;
      width: 0%;
      left: 50%; }
    .site-header #navicon.open span:nth-child(2) {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); }
    .site-header #navicon.open span:nth-child(3) {
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .site-header #navicon.open span:nth-child(4) {
      top: 12px;
      width: 0%;
      left: 50%; }

.mobile-nav .menu-arrow {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  z-index: 40; }
  .mobile-nav .menu-arrow .fa-chevron-right, .mobile-nav .menu-arrow .fa-chevron-down {
    display: none;
    color: inherit; }

.mobile-nav .menu-item-has-children .menu-arrow {
  display: inline-block; }
  .mobile-nav .menu-item-has-children .menu-arrow .fa-chevron-right {
    display: initial;
    transform: rotate(0);
    transition: all 0.3s ease-in-out; }

.mobile-nav .menu-item-has-children.expanded .menu-arrow .fa-chevron-right {
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out; }

.mobile-nav .menu-item-has-children.expanded .sub-menu {
  display: block !important;
  padding: 0 0 5px 0; }
  .mobile-nav .menu-item-has-children.expanded .sub-menu .menu-item {
    border: 0; }
    .mobile-nav .menu-item-has-children.expanded .sub-menu .menu-item a {
      padding: 4px 0px 4px 20px; }
    .mobile-nav .menu-item-has-children.expanded .sub-menu .menu-item .menu-arrow {
      display: none !important; }

@media (max-width: 1023px) {
  .site-header #navicon {
    display: inline-block; }
  .site-header .main-nav {
    display: none; } }

@media (min-width: 1024px) {
  .mobile-nav {
    display: none !important; } }

.site-footer .lower {
  padding: 15px 0 30px; }

.site-footer .sub-footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }
  .site-footer .sub-footer .container .sign-off .gsl-link {
    text-decoration: none;
    color: inherit; }
  .site-footer .sub-footer .container .sub-menu .menu {
    display: flex; }
    .site-footer .sub-footer .container .sub-menu .menu .menu-item {
      margin-right: 15px; }
      .site-footer .sub-footer .container .sub-menu .menu .menu-item:last-of-type {
        margin: 0; }

.wpcf7 .wpcf7-form {
  display: flex;
  flex-wrap: wrap; }
  .wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
    flex: 1 1 auto;
    padding: 10px; }
    .wpcf7 .wpcf7-form .wpcf7-form-control-wrap.your-message {
      flex: 1 1 100%; }
  .wpcf7 .wpcf7-form .wpcf7-form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid;
    outline: 0; }
  .wpcf7 .wpcf7-form .wpcf7-submit {
    margin: auto;
    max-width: 300px;
    outline: 0;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    cursor: pointer; }
    .wpcf7 .wpcf7-form .wpcf7-submit:hover {
      opacity: 0.7;
      transition: opacity 0.3s ease-in-out; }
    @media (max-width: 768px) {
      .wpcf7 .wpcf7-form .wpcf7-submit {
        margin: 0 10px;
        max-width: none; } }

.wpcf7 .ajax-loader {
  background-image: url("../images/loader-blue.gif");
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 100px;
  height: 100px;
  margin: -50px 0 0 -50px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #3d3d3d;
  z-index: 1001;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite; }
  .wpcf7 .ajax-loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #696969;
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite; }
  .wpcf7 .ajax-loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #999999;
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite; }

.blog .page-content,
.single .page-content,
.archive .page-content,
.search .page-content {
  padding: 30px 0; }
  .blog .page-content .container,
  .single .page-content .container,
  .archive .page-content .container,
  .search .page-content .container {
    display: grid;
    grid: auto / auto 350px;
    grid-gap: 0 30px; }
  .blog .page-content .page-title,
  .single .page-content .page-title,
  .archive .page-content .page-title,
  .search .page-content .page-title {
    grid-column: 1 / span 2; }

.post-meta {
  margin-bottom: 10px; }
  .post-meta .date {
    display: block; }
  .post-meta .cats a {
    color: inherit;
    text-decoration: none; }
  .post-meta .tags a {
    color: inherit;
    opacity: 0.6;
    text-decoration: none;
    font-style: italic;
    transition: opacity 0.3s ease-in-out; }
    .post-meta .tags a:hover {
      opacity: 1;
      transition: opacity 0.3s ease-in-out; }

.post-preview {
  border: solid 1px; }
  .post-preview .featured-img {
    margin-bottom: 0px; }
  .post-preview .content {
    padding: 0 15px 15px; }
    .post-preview .content h1 {
      font-size: 24px;
      font-family: inherit; }
    .post-preview .content .post-meta {
      margin: 15px 0 0; }
    .post-preview .content .btn {
      align-self: baseline; }

.post-wrap {
  display: grid;
  grid: auto / auto-flow 1fr;
  grid-gap: 15px 15px; }
  .post-wrap .post-nav-wrap {
    display: flex;
    margin-top: 15px; }
    .post-wrap .post-nav-wrap .navigation .nav-links {
      display: flex; }
      .post-wrap .post-nav-wrap .navigation .nav-links a {
        margin-left: 3px; }

.wp-post-image {
  width: 100%;
  height: auto; }

.comment-respond {
  border-top: solid 1px;
  padding-top: 5px; }
  .comment-respond .comment-reply-title {
    font-size: 18px; }
  .comment-respond .comment-form-comment label {
    display: none; }
  .comment-respond .comment-form-comment #comment {
    width: 100%; }

.blog-grid {
  display: grid;
  grid: auto/repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: 15px; }

.search .post {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: solid 1px inherit; }
  .search .post .featured-image {
    flex: 0 1 30%;
    min-height: 300px;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin: 0 30px 15px 0; }
    .search .post .featured-image a {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
  .search .post .post-excerpt {
    flex: 0 1 65%;
    padding: 0;
    box-sizing: border-box;
    margin-bottom: 15px; }
    .search .post .post-excerpt h1 {
      font-size: 34px;
      margin: 0 0 15px; }
    .search .post .post-excerpt p {
      padding-bottom: 15px; }
    .search .post .post-excerpt a {
      color: inherit;
      text-decoration: none;
      display: inline-block;
      opacity: 1;
      transition: opacity 0.3s ease-in-out; }
      .search .post .post-excerpt a:hover {
        opacity: 1;
        transition: opacity 0.3s ease-in-out; }

@media (max-width: 1024px) {
  .search .post .featured-image {
    flex: 1 0 100%; }
  .search .post .post-excerpt {
    flex: 1 0 100%;
    padding: 0; } }

.search-page-title {
  padding: 30px 0; }

.no-search-results {
  padding: 90px 0 60px 0;
  text-align: center; }

.widget_search .search-form {
  display: flex;
  border: solid 1px #a9a9a9; }
  .widget_search .search-form label {
    width: 100%; }
  .widget_search .search-form .search-field {
    width: 100%;
    border: 0;
    padding: 8px 5px;
    text-indent: 10px;
    outline: 0; }
  .widget_search .search-form .search-submit {
    border: 0;
    color: inherit;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    padding: 0 10px 0 5px;
    outline: 0; }
    .widget_search .search-form .search-submit:hover {
      color: inherit;
      transition: all 0.3s ease-in-out; }

.widget_media_gallery .gallery .gallery-item {
  margin: 0; }
  .widget_media_gallery .gallery .gallery-item .gallery-icon .attachment-full {
    width: 100%;
    height: auto; }

.widget_media_gallery .gallery-columns-1 {
  display: grid;
  grid: auto/repeat(1, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-2 {
  display: grid;
  grid: auto/repeat(2, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-3 {
  display: grid;
  grid: auto/repeat(3, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-4 {
  display: grid;
  grid: auto/repeat(4, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-5 {
  display: grid;
  grid: auto/repeat(5, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-6 {
  display: grid;
  grid: auto/repeat(6, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-7 {
  display: grid;
  grid: auto/repeat(7, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-8 {
  display: grid;
  grid: auto/repeat(8, minmax(0px, 1fr));
  grid-gap: 5px; }

.widget_media_gallery .gallery-columns-9 {
  display: grid;
  grid: auto/repeat(9, minmax(0px, 1fr));
  grid-gap: 5px; }

body h1,
body .h1-style, body h2,
body .h2-style, body h3,
body .h3-style {
  font-family: "Lato";
  font-weight: 300;
  text-transform: uppercase;
  margin: 0 0 15px;
  line-height: 1; }

body {
  font-family: "Lato";
  font-size: 16px;
  font-weight: 300; }
  body p {
    margin: 0 0 15px; }
    body p a {
      color: inherit;
      opacity: 0.7; }
      body p a:hover {
        opacity: 1; }
  body h1,
  body .h1-style {
    font-size: 60px; }
  body h2,
  body .h2-style {
    font-size: 24px;
    font-weight: 700; }
  body h3,
  body .h3-style {
    font-size: 20px;
    font-weight: 700; }
  @media (max-width: 768px) {
    body h1,
    body .h1-style {
      font-size: 34px; }
    body h2,
    body .h2-style {
      font-size: 24px; }
    body h3,
    body .h3-style {
      font-size: 20px; } }

::-webkit-input-placeholder {
  font-family: "Lato"; }

:-moz-placeholder {
  font-family: "Lato"; }

::-moz-placeholder {
  font-family: "Lato"; }

:-ms-input-placeholder {
  font-family: "Lato"; }

#loader-wrapper {
  display: none !important; }

.dialog-type-lightbox {
  height: 100% !important;
  inset: 0 !important;
  position: fixed !important;
  z-index: 1000000000 !important; }

.gsl-btn_wrapper .gsl-btn {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #ffb310;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: #ffb310;
  text-decoration: none; }
  .gsl-btn_wrapper .gsl-btn:hover {
    background-color: #ffb310;
    color: #fff; }
  .gsl-btn_wrapper .gsl-btn.width-full {
    display: block; }

.gsl-btn_wrapper.style-light .gsl-btn {
  border-color: #fff;
  color: #fff; }
  .gsl-btn_wrapper.style-light .gsl-btn:hover {
    background-color: #fff;
    color: #3e4b5b; }

.gsl-btn_wrapper.style-dark .gsl-btn {
  border-color: #ffb310;
  color: #ffb310; }
  .gsl-btn_wrapper.style-dark .gsl-btn:hover {
    background-color: #ffb310;
    color: #fff; }

.gsl-btn_wrapper.style-alternative .gsl-btn {
  background-color: #ffb310;
  color: #fff; }
  .gsl-btn_wrapper.style-alternative .gsl-btn:hover {
    background-color: #fff;
    color: #ffb310; }

/** DIVIDEBUY */
#divide-buy-modal {
  pointer-events: none;
  -webkit-filter: grayscale(1);
  opacity: 0.4; }

.tc-accept #divide-buy-modal {
  pointer-events: inherit;
  -webkit-filter: grayscale(0);
  opacity: 1; }

.woocommerce-cart #stairfurb_tc_checkbox label {
  font-size: 12px; }

.woocommerce-cart #stairfurb_tc_checkbox abbr {
  text-decoration: none !important; }

.wpcf7-acceptance {
  display: block !important; }

.save-cart-button-container {
  clear: both;
  float: none;
  margin: 1.5em 0; }
  .save-cart-button-container .save-cart-cart {
    border-color: #616d79;
    color: #616d79;
    padding: 10px 30px;
    border: 2px solid #616d79;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 20px;
    min-width: 230px;
    text-align: center;
    transition: all 0.1s ease-in-out; }
    .save-cart-button-container .save-cart-cart:hover {
      background-color: #3cb67a !important;
      color: #fff !important;
      border-color: #3cb67a !important; }

.cart-collaterals .cxecrt-button-holder {
  display: none; }

.save-inner-complete {
  display: none; }

.save-cart-btn:disabled {
  background-color: #ccc;
  /* Change the background color */
  color: #666;
  /* Change the text color */
  cursor: not-allowed;
  /* Change the cursor to not-allowed */ }

/* Style for the disabled input */
.save-cart-email-input:disabled {
  background-color: #eee;
  /* Change the background color */
  color: #666;
  /* Change the text color */
  cursor: not-allowed;
  /* Change the cursor to not-allowed */ }

.show-on-mobile {
  display: none; }
  @media (max-width: 830px) {
    .show-on-mobile {
      display: block; } }

a:visited {
  color: inherit; }

.force-green {
  color: #3cb67a !important; }

.force-blue {
  color: #43a2da !important; }

.ambassador-info-window {
  padding: 10px !important; }
  .ambassador-info-window .fitter-put-in-touch-btn {
    padding: 4px 12px !important;
    font-size: 13px !important; }

.other-config {
  max-width: 900px;
  margin: auto;
  padding: 200px 15px 100px 15px; }

.generic-btn {
  margin: auto;
  display: block;
  cursor: pointer;
  color: white !important;
  border: 2px solid #3cb67a !important;
  background-color: #3cb67a !important;
  padding: 7px 20px;
  margin-top: 10px;
  margin-bottom: 10px;
  text-decoration: none !important;
  font-weight: 700; }
  .generic-btn:hover {
    background-color: white !important;
    color: #3cb67a !important; }

.elementor-menu-cart__main {
  width: 500px !important; }

.if-signup {
  color: #43a2da;
  font-size: 17px; }

.regular-price {
  color: #43a2da; }

body.assignment_alfresco .if-signup {
  color: #f9b000;
  font-size: 17px; }

body.assignment_alfresco .regular-price {
  color: #f9b000; }

body.assignment_alfresco .configurator-container .arrow-right {
  border-color: transparent transparent transparent #f9b000 !important; }
  @media (max-width: 680px) {
    body.assignment_alfresco .configurator-container .arrow-right {
      border-color: transparent transparent #f9b000 transparent !important; } }

body.assignment_alfresco .configurator-container .configurer-container .step-container.step-odd .instruction-container .instruction-step {
  background-color: #f9b000 !important; }

body.assignment_alfresco .step-even .instruction-container {
  background-color: #f9b000 !important; }
  body.assignment_alfresco .step-even .instruction-container p,
  body.assignment_alfresco .step-even .instruction-container h3 {
    color: #000 !important; }

body.assignment_alfresco .configurator-container .configurer-container .step-even .instruction-container .direction-chooser-container .end-chooser {
  color: #000 !important;
  border: 1px solid #000; }

.switcher-container {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  font-size: 14px;
  gap: 5px;
  user-select: none;
  background-color: #dbdbdb;
  border-radius: 8px; }
  .switcher-container .switcher-item {
    font-family: "Playfair Display", Sans-serif;
    user-select: none;
    display: block;
    flex: 1;
    text-align: center;
    padding: 13px 12px;
    border-radius: 8px;
    cursor: pointer;
    color: #8a8a8a;
    padding-top: 17px; }
  .switcher-container .switcher-internal:hover {
    color: #1d1d1d; }
  .switcher-container .switcher-external:hover {
    color: #1d1d1d; }

.assignment_alfresco .switcher-external {
  background-color: #f9b000;
  color: white !important;
  cursor: initial;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }

.assignment_stairfurb .switcher-internal {
  background-color: #43a2da;
  color: white !important;
  cursor: initial;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }

.coupon-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important; }
  .coupon-col .coupon-col-start {
    padding-right: 0 !important; }
  .coupon-col #coupon_code {
    width: 100% !important; }

.form-row .referral-code-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px; }
  .form-row .referral-code-wrapper input {
    width: 100%; }
  .form-row .referral-code-wrapper button {
    border-color: black !important;
    color: black !important;
    border-radius: 0 !important; }
    .form-row .referral-code-wrapper button:hover {
      background-color: #3cb67a !important;
      color: white !important;
      border-color: #3cb67a !important; }

.coupon-col .coupon-col-start,
.coupon-col .coupon-col-end {
  display: none !important; }

.alfresco-quick-quote-wrapper .minimal {
  font-size: 12px;
  color: #f9b000; }

.alfresco-quick-quote-wrapper .newsletter-cost {
  color: #f9b000; }

.quick-quote-wrapper .minimal {
  font-size: 12px;
  color: #43a2da; }

.quick-quote-wrapper .newsletter-cost {
  color: #43a2da; }

.newsletter-cost {
  margin-top: 0 !important;
  font-weight: 600; }

.qq-total-cost {
  font-style: italic;
  font-size: 12px; }

.news-discount-btn {
  background-color: #3cb67a;
  width: auto;
  display: inline-block;
  padding: 4px 15px;
  color: white;
  font-weight: 600;
  border: 2px solid #3cb67a;
  box-sizing: border-box;
  cursor: pointer;
  margin: auto;
  font-size: 14px; }
  .news-discount-btn:hover {
    background-color: white;
    color: #3cb67a; }

/** FITTER */
.fitters-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: auto;
  max-width: 720px;
  padding: 80px 15px; }
  .fitters-header h1,
  .fitters-header p {
    text-align: center; }
  .fitters-header h1 {
    text-transform: capitalize;
    font-weight: 700;
    font-size: 35px;
    font-family: Playfair Display, Sans-serif !important; }
  .fitters-header p {
    font-weight: 400;
    font-size: 18px; }
  .fitters-header .fitter-search-container {
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 30px; }
    .fitters-header .fitter-search-container .fitter-search-inp {
      border: 1px solid black !important;
      font-size: 18px; }
    .fitters-header .fitter-search-container .find-fitter-btn {
      background-color: #3cb67a;
      color: white;
      border: 2px solid transparent;
      padding: 6px 30px;
      cursor: pointer;
      user-select: none;
      font-weight: 400; }
      .fitters-header .fitter-search-container .find-fitter-btn:hover {
        background-color: #ffffff;
        color: #3cb67a;
        border: 2px solid #3cb67a; }

.top-fitters {
  display: none;
  justify-content: center;
  margin: auto;
  gap: 15px;
  padding-top: 10px;
  padding-bottom: 40px;
  flex-wrap: wrap; }
  .top-fitters.visible {
    display: flex; }

.fitter-profile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-width: 320px;
  border: 1px solid #e3e3e3;
  padding: 15px;
  font-size: 15px;
  text-transform: capitalize;
  position: relative;
  justify-content: space-between;
  flex: 1;
  min-width: 320px; }
  .fitter-profile .highly-rated {
    position: absolute;
    right: 0;
    background-color: #626d79;
    color: white;
    font-weight: 600;
    font-size: 10px;
    padding: 2px 4px; }
  .fitter-profile .fitter-name {
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 10px;
    text-transform: uppercase;
    max-width: 70%; }
  .fitter-profile .fitter-view-profile {
    background-color: #3cb67a;
    color: white;
    border: 2px solid transparent;
    padding: 6px 30px;
    cursor: pointer;
    user-select: none;
    text-decoration: none;
    font-weight: 400;
    width: 100%;
    text-align: center;
    font-size: 15px;
    margin-top: 15px; }
    .fitter-profile .fitter-view-profile:hover {
      background-color: #ffffff;
      color: #3cb67a;
      border: 2px solid #3cb67a; }

.map-pins-structure {
  display: none; }

.hide-header .elementor-location-header {
  display: none !important; }

.admin-area {
  text-align: initial !important;
  color: #ff00a7;
  padding: 5px;
  border-radius: 6px; }
  .admin-area h4 {
    margin: 5px 0;
    text-transform: uppercase;
    font-weight: 900; }
  .admin-area input {
    font-weight: 600;
    padding: 8px 10px;
    font-size: 12px; }
  .admin-area button {
    background-color: #ff00a7 !important;
    color: #fff;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    padding: 9px 20px;
    border: none;
    cursor: pointer; }

.wc-arch-title {
  text-align: center;
  font-size: 44px;
  font-weight: 600;
  text-transform: capitalize; }

.woocommerce-category-description {
  max-width: 900px;
  margin: auto;
  text-align: center;
  font-weight: 500;
  font-size: 18px !important; }
  .woocommerce-category-description p {
    font-weight: 500;
    font-size: 18px !important; }

.woocommerce-products-header {
  padding: 0 15px;
  margin-bottom: 100px;
  margin-top: 30px; }

.diy-instead {
  background-color: #43a2da;
  margin-bottom: 50px; }
  .diy-instead .diy-inner {
    justify-content: space-between;
    padding: 20px 15px;
    margin: auto;
    max-width: 1520px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px; }
    .diy-instead .diy-inner span {
      color: white;
      font-size: 30px;
      font-weight: 600; }
    .diy-instead .diy-inner .get-started {
      text-decoration: none;
      padding: 4px 50px;
      background-color: #e5e5e5;
      color: #000;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 500;
      border: 1px solid #000; }

.site-prod-cat .products {
  padding: 0 15px !important; }

.site-prod-cat .product .woocommerce-loop-product__title {
  background-color: white !important;
  display: block !important;
  z-index: 10 !important;
  color: black !important;
  position: relative !important;
  max-width: 90% !important;
  margin: auto !important;
  margin-top: -70px !important;
  padding: 10px !important; }

.site-prod-cat .product .price {
  color: #3cb67a !important; }

.site-prod-cat .product .custom-category-button {
  color: #fff;
  background-color: #3cb67a;
  border: 2px solid #3cb67a;
  text-align: center;
  padding: 8px;
  font-size: 18px;
  font-weight: 500;
  width: 90%;
  display: block;
  margin: auto; }

.site-prod-cat .product:hover .custom-category-button {
  background-color: white;
  color: #3cb67a; }

.site-prod-cat .product-category .woocommerce-loop-category__title {
  background-color: white !important;
  display: block !important;
  z-index: 10 !important;
  color: black !important;
  position: relative !important;
  max-width: 90% !important;
  margin: -70px auto auto !important;
  padding: 10px !important;
  height: 80px;
  font-size: 25px !important;
  text-align: center; }
  @media (max-width: 740px) {
    .site-prod-cat .product-category .woocommerce-loop-category__title {
      font-size: 16px !important; } }

.site-prod-cat .product-category img {
  transition: all 0.25s; }

.site-prod-cat .product-category .custom-category-button {
  color: #000;
  background-color: transparent;
  border: none;
  text-align: center;
  padding: 8px;
  font-size: 18px;
  font-weight: 500;
  width: 90%;
  display: block;
  margin: auto;
  font-weight: 600; }

.site-prod-cat .product-category:hover .custom-category-button {
  background-color: white;
  color: #3cb67a; }

.site-prod-cat .product-category:hover img {
  transform: scale(1.03);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); }

.read-more-btn {
  cursor: pointer; }

.after-prod-cat p {
  font-size: 18px;
  font-weight: 400; }

.qq-add-style-container .glass {
  height: 130px !important; }

.style-grid {
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }

.style-item {
  text-align: center;
  cursor: pointer;
  border: 4px solid transparent;
  transition: border-color 0.3s;
  width: 50%;
  max-width: 200px;
  display: flex;
  flex-direction: column;
  user-select: none;
  overflow: hidden; }
  .style-item:hover .style-title {
    color: #3cb67a; }

.style-image {
  max-width: 100%;
  height: auto;
  flex: 1;
  transform: scale(2.6);
  user-select: none; }

.style-title {
  margin-top: 5px;
  font-size: 14px;
  font-weight: 600;
  z-index: 10;
  background-color: white;
  padding-top: 5px;
  user-select: none; }

.style-item.selected {
  border-color: #3cb67a; }
  .style-item.selected .style-title {
    color: #3cb67a; }

.admin-field {
  display: none; }

.logged-in .admin-field {
  display: block; }

.settings-section {
  display: flex;
  flex-direction: column; }

/* Standard syntax */
::selection {
  background: #47a2d8;
  color: white; }

/* Mozilla Firefox */
::-moz-selection {
  background: #47a2d8;
  color: white; }

.price-guide {
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 400 !important;
  display: inline !important; }

.product-options-selector {
  margin-bottom: 15px;
  display: flex;
  align-items: center; }

.option-label {
  margin-right: 10px;
  font-weight: bold; }

.options-values .option-value {
  display: inline-flex;
  padding: 3px 5px;
  margin-right: 5px;
  cursor: pointer;
  border-radius: 100px;
  border: 1px solid #232323;
  color: #232323;
  align-items: center; }
  .options-values .option-value span {
    padding: 0px 5px; }
  .options-values .option-value img {
    width: 25px;
    margin-right: 4px; }

.options-values .option-value.active {
  background-color: #3cb67a;
  /* Example active color */
  color: white;
  border-color: #3cb67a;
  border: 1px solid #23232300;
  cursor: default; }

.options-values .option-value:not(.active):hover {
  background-color: #e8e8e8;
  color: #232323;
  border-color: #e8e8e8;
  border: 1px solid #23232300; }

.wcpa_form_item *,
.wcpa_form_item .wcpa_has_price {
  background-image: none !important; }

.wcpa_price_summary .wcpa_total {
  border: none !important; }
  .wcpa_price_summary .wcpa_total > span:first-of-type {
    display: none !important; }
  .wcpa_price_summary .wcpa_total .wcpa_price_outer {
    display: block !important;
    color: #000000;
    font-family: "Lato", Sans-serif;
    font-size: 26px;
    font-weight: 700; }
    .wcpa_price_summary .wcpa_total .wcpa_price_outer .wcpa_price {
      display: block !important; }

.wcpa_price_summary li .wcpa_price_outer {
  float: none !important;
  text-align: left !important; }

body.show-nav {
  position: fixed; }

.site-header.classic .main {
  z-index: 101; }
  .site-header.classic .main .container {
    grid: auto/300px minmax(0px, 100%) auto;
    grid-gap: 15px;
    padding: 15px 0; }
    .site-header.classic .main .container .main-nav_wrap {
      grid-column: auto;
      grid-row: auto; }
      .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item {
        font-weight: 700;
        text-transform: uppercase;
        font-size: 17px;
        margin: 0 0 0 20px;
        color: #3e4b5b;
        letter-spacing: 0.4px; }
        .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item a {
          padding: 10px 0; }
        .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item:first-of-type {
          margin: 0 0 0 5px; }
        .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item:after {
          content: "";
          display: block;
          width: 100%;
          max-width: 0;
          height: 2px;
          background-color: #3e4b5b;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          transition: all 0.3s ease-in-out; }
        .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item:hover:after {
          max-width: 100%;
          transition: all 0.3s ease-in-out; }
        .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item.menu-item-has-children:after {
          display: none; }
        .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu {
          background-color: rgba(62, 75, 91, 0.95);
          border: solid 2px #3197d5;
          border-radius: 15px;
          padding: 15px;
          min-width: 150px; }
          .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item {
            color: #fff;
            margin: 0;
            font-weight: 300;
            font-size: 18px;
            text-transform: none; }
            .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item::after {
              display: none; }
            .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item a {
              padding: 3px;
              transition: all 0.2s ease-in-out; }
              .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item a:hover {
                color: #ffb310;
                transition: all 0.2s ease-in-out; }
            .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children {
              position: relative; }
              .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children > a:after {
                content: "\f054";
                font-family: "Font Awesome 5 Free";
                font-weight: 900;
                float: right;
                font-size: 0.7em;
                line-height: 18px;
                margin: 3px 0; }
              .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children .sub-menu {
                left: -15px;
                top: -15px;
                position: absolute;
                z-index: -1;
                transition: left 0.3s, opacity 0.3s, pointer-events 0s;
                transition-delay: 0, 0s, 0s;
                opacity: 0;
                border-radius: 0;
                border: none;
                pointer-events: none; }
              .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children:hover .sub-menu {
                left: calc(100% + 15px + 2px);
                opacity: 1;
                pointer-events: auto;
                transition-delay: 0, 0.1s, 0.3s; }
                .site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children:hover .sub-menu:before {
                  content: "";
                  display: block;
                  width: 17px;
                  left: -17px;
                  height: 100%;
                  position: absolute; }
      .site-header.classic .main .container .main-nav_wrap #navicon {
        margin: 0;
        width: 36px;
        z-index: 99999; }
        .site-header.classic .main .container .main-nav_wrap #navicon span {
          background-color: #3e4b5b; }
    .site-header.classic .main .container .request-btn {
      display: none; }
    .site-header.classic .main .container .socials {
      display: flex;
      align-items: center; }
      .site-header.classic .main .container .socials .s-link {
        font-size: 36px;
        color: #3197d5;
        margin-left: 10px;
        transition: all 0.2s ease-in-out; }
        .site-header.classic .main .container .socials .s-link:hover {
          color: #3e4b5b;
          transition: all 0.2s ease-in-out; }
      @media (max-width: 1023px) {
        .site-header.classic .main .container .socials {
          display: none; } }
    .site-header.classic .main .container .phone-link {
      display: none; }
    .site-header.classic .main .container .mobile-cart {
      display: flex;
      justify-content: center;
      align-items: center; }
      .site-header.classic .main .container .mobile-cart .cart-customlocation {
        color: #3197d5;
        text-decoration: none;
        display: inline-block;
        text-align: center;
        padding: 5px 0;
        justify-self: end;
        font-size: 18px;
        flex-wrap: wrap;
        text-transform: uppercase;
        white-space: nowrap;
        transition: all 0.3s ease-in-out;
        display: none; }
        .site-header.classic .main .container .mobile-cart .cart-customlocation svg {
          display: block;
          margin: auto;
          margin-bottom: 3px; }
  @media (max-width: 767px) {
    .site-header.classic .main {
      height: 82px;
      left: 0;
      right: 0; }
      .site-header.classic .main .container {
        grid: auto / 50px auto 75px;
        padding: 10px 0; }
        .site-header.classic .main .container .site-logo {
          grid-column: 2;
          justify-self: center;
          display: flex;
          align-items: center;
          opacity: 1;
          transition: opacity 0.3s ease-in-out;
          max-width: 220px;
          margin-left: 25px; }
        .site-header.classic .main .container .main-nav_wrap {
          grid-column: 1;
          grid-row: 1;
          align-self: center;
          justify-self: center; }
        .site-header.classic .main .container .phone-link {
          display: none;
          justify-content: center;
          align-items: center;
          font-size: 34px;
          color: #3e4b5b;
          opacity: 1;
          transition: opacity 0.3s ease-in-out; }
        .site-header.classic .main .container .mobile-cart .cart-customlocation {
          display: inline-block; } }

.site-header.classic .lower {
  background-color: #3e4b5b; }
  .site-header.classic .lower .container {
    display: grid;
    grid: 60px/minmax(0px, 100%) auto auto auto;
    grid-gap: 30px;
    align-items: center;
    padding: 3px 0; }
    .site-header.classic .lower .container .phone-link, .site-header.classic .lower .container .request-btn,
    .site-header.classic .lower .container .request-call-btn, .site-header.classic .lower .container .speak-btn, .site-header.classic .lower .container .cart-customlocation, .site-header.classic .lower .container .header-btn {
      color: #fff;
      text-decoration: none;
      display: inline-block;
      padding: 5px 0;
      justify-self: end;
      font-size: 18px;
      text-transform: uppercase;
      transition: all 0.3s ease-in-out; }
      .site-header.classic .lower .container .phone-link svg, .site-header.classic .lower .container .request-btn svg, .site-header.classic .lower .container .request-call-btn svg, .site-header.classic .lower .container .speak-btn svg, .site-header.classic .lower .container .cart-customlocation svg, .site-header.classic .lower .container .header-btn svg {
        margin-right: 8px; }
      .site-header.classic .lower .container .phone-link:hover, .site-header.classic .lower .container .request-btn:hover,
      .site-header.classic .lower .container .request-call-btn:hover, .site-header.classic .lower .container .speak-btn:hover, .site-header.classic .lower .container .cart-customlocation:hover, .site-header.classic .lower .container .header-btn:hover {
        color: #ffb310;
        transition: all 0.3s ease-in-out; }
    .site-header.classic .lower .container .phone-link {
      justify-self: start; }
    .site-header.classic .lower .container .request-btn,
    .site-header.classic .lower .container .request-call-btn {
      background-color: #ffb310;
      align-self: stretch;
      display: flex;
      align-items: center;
      padding: 0 30px;
      border: solid 2px #ffb310;
      border-radius: 30px;
      margin: 6px 0;
      font-weight: 600 !important;
      padding: 5px 10px !important; }
      .site-header.classic .lower .container .request-btn:hover,
      .site-header.classic .lower .container .request-call-btn:hover {
        background-color: #3e4b5b; }
    .site-header.classic .lower .container .request-call-btn {
      display: none; }
  @media (max-width: 1023px) {
    .site-header.classic .lower .container .speak-btn {
      display: none; } }
  @media (max-width: 767px) {
    .site-header.classic .lower {
      background-color: transparent;
      padding-bottom: 5px; }
      .site-header.classic .lower .container {
        display: flex;
        justify-content: space-between; }
        .site-header.classic .lower .container .phone-link,
        .site-header.classic .lower .container .speak-btn,
        .site-header.classic .lower .container .cart-customlocation {
          display: none; }
        .site-header.classic .lower .container .request-call-btn {
          display: flex; }
        .site-header.classic .lower .container .request-btn,
        .site-header.classic .lower .container .request-call-btn {
          padding: 12px 18px;
          justify-content: center;
          text-align: center;
          flex: 1;
          font-weight: 600; }
          .site-header.classic .lower .container .request-btn svg,
          .site-header.classic .lower .container .request-call-btn svg {
            display: none; }
        .site-header.classic .lower .container .request-btn {
          margin-right: 5px; }
        .site-header.classic .lower .container .request-call-btn {
          margin-left: 5px; } }
  @media (max-width: 710px) {
    .site-header.classic .lower .container .request-btn,
    .site-header.classic .lower .container .request-call-btn {
      font-size: 12px;
      padding: 7px 10px; } }

.mobile-nav {
  position: fixed;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #fff;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 100;
  overflow-y: scroll; }
  .mobile-nav .menu {
    width: 100%; }
    .mobile-nav .menu .menu-item {
      text-align: left;
      font-size: 22px;
      border-top: 1px solid #ccc; }
      .mobile-nav .menu .menu-item:last-child {
        border-bottom: 1px solid #ccc; }
      .mobile-nav .menu .menu-item a {
        padding: 10px 0 10px 20px;
        display: inline-block;
        height: 100%;
        width: 100%; }
    .mobile-nav .menu .menu-item-has-children .menu-arrow {
      display: none; }
    .mobile-nav .menu .menu-item-has-children .sub-menu {
      display: none;
      position: fixed;
      padding: 0 0 10px;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: white;
      justify-content: center;
      flex-direction: column;
      z-index: 99; }
      .mobile-nav .menu .menu-item-has-children .sub-menu .menu-item {
        font-size: 18px;
        margin: 0; }
        .mobile-nav .menu .menu-item-has-children .sub-menu .menu-item a {
          padding: 10px 0 10px 40px; }
        .mobile-nav .menu .menu-item-has-children .sub-menu .menu-item.back-menu {
          border-top: none; }
          .mobile-nav .menu .menu-item-has-children .sub-menu .menu-item.back-menu a {
            font-weight: 600;
            padding: 10px 0 10px 15px; }
            .mobile-nav .menu .menu-item-has-children .sub-menu .menu-item.back-menu a svg {
              margin-right: 10px; }
      .mobile-nav .menu .menu-item-has-children .sub-menu:after {
        content: "";
        width: 40px;
        height: 2px;
        display: inline-block;
        background-color: #3e4b5b;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }

@media (min-width: 768px) {
  .sticky-desktop-header:not(.page-id-695) .site-header .main {
    margin-bottom: 66px; }
  .sticky-desktop-header:not(.page-id-695) .site-header .lower {
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
    box-shadow: 1px 0px 3px 1px rgba(0, 0, 0, 0.3); } }

.show-nav:not(.page-id-695) .site-header .main .container {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 10px 15px;
  background-color: #fff;
  box-shadow: 1px 0px 3px 1px rgba(0, 0, 0, 0.3);
  animation: slidedown 0.3s 1 normal;
  z-index: 1000;
  grid: auto / 50px auto 50px; }
  .show-nav:not(.page-id-695) .site-header .main .container .phone-link {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 34px;
    color: #3e4b5b;
    opacity: 1;
    transition: opacity 0.3s ease-in-out; }
  .show-nav:not(.page-id-695) .site-header .main .container .site-logo {
    display: none; }
  .show-nav:not(.page-id-695) .site-header .main .container .request-btn {
    display: inline-block;
    width: auto;
    justify-self: center;
    align-self: center;
    color: #fff;
    background-color: #ffb310;
    border-radius: 30px;
    text-align: center;
    text-decoration: none;
    padding: 8px 15px;
    text-transform: uppercase; }

.site-header .main .request-call-btn {
  display: none; }

@media (max-width: 767px) {
  .sticky-mobile-header:not(.page-id-695) .site-header .main .container,
  .show-nav:not(.page-id-695) .site-header .main .container {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 10px 15px;
    background-color: #fff;
    box-shadow: 1px 0px 3px 1px rgba(0, 0, 0, 0.3);
    animation: slidedown 0.3s 1 normal;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .sticky-mobile-header:not(.page-id-695) .site-header .main .container .site-logo,
    .show-nav:not(.page-id-695) .site-header .main .container .site-logo {
      display: none; }
    .sticky-mobile-header:not(.page-id-695) .site-header .main .container .request-call-btn,
    .show-nav:not(.page-id-695) .site-header .main .container .request-call-btn {
      display: inline-block;
      width: auto;
      justify-self: center;
      align-self: center;
      color: #fff;
      background-color: #ffb310;
      border-radius: 30px;
      text-align: center;
      text-decoration: none;
      padding: 8px 15px;
      text-transform: uppercase;
      font-size: 12px;
      font-weight: 500; }
    .sticky-mobile-header:not(.page-id-695) .site-header .main .container .request-btn,
    .show-nav:not(.page-id-695) .site-header .main .container .request-btn {
      display: inline-block;
      width: auto;
      justify-self: center;
      align-self: center;
      color: #fff;
      background-color: #ffb310;
      border-radius: 30px;
      text-align: center;
      text-decoration: none;
      padding: 8px 15px;
      text-transform: uppercase;
      font-size: 12px;
      font-weight: 500; } }

@keyframes slidedown {
  from {
    transform: translateY(-82px); }
  to {
    transform: translateY(0); } }

.show-nav .mobile-nav {
  display: flex;
  opacity: 1; }

.show-nav .site-header .main .container {
  box-shadow: none; }

.site-header.classic .header-btn {
  background-color: #ffb310;
  align-self: stretch;
  display: flex !important;
  align-items: center;
  padding: 5px 10px !important;
  border: solid 2px #ffb310;
  border-radius: 30px;
  margin: 6px 8px; }
  @media (max-width: 1200px) {
    .site-header.classic .header-btn {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 12px !important;
      font-weight: 600; } }
  .site-header.classic .header-btn:hover {
    background-color: #3e4b5b; }

.site-header.classic .desktop-only {
  display: flex; }
  @media (max-width: 767px) {
    .site-header.classic .desktop-only {
      display: none; } }

.site-header.classic .mobile-only {
  display: none;
  justify-content: center;
  width: 100%; }
  @media (max-width: 767px) {
    .site-header.classic .mobile-only {
      display: flex; }
      .site-header.classic .mobile-only .header-btn {
        flex: 1;
        padding: 12px 10px !important; } }

.woocommerce-checkout .main .container .site-logo,
.woocommerce-cart .main .container .site-logo {
  display: flex !important; }

.woocommerce-checkout .main .container .request-call-btn,
.woocommerce-checkout .main .container .request-btn,
.woocommerce-cart .main .container .request-call-btn,
.woocommerce-cart .main .container .request-btn {
  display: none !important; }

.woocommerce-checkout .site-header .lower.container_wrap,
.woocommerce-cart .site-header .lower.container_wrap {
  display: none !important; }

.req-btn {
  font-weight: 600 !important;
  padding: 12px 10px !important;
  flex: 1; }
  .req-btn span {
    margin-left: 5px; }

.site-footer {
  z-index: 10;
  position: relative;
  margin-top: -120px; }
  .site-footer .footer-curve {
    color: #3197d5; }
    .site-footer .footer-curve svg {
      width: 100%;
      height: 120px; }
  @media (max-width: 1024px) {
    .site-footer {
      margin-top: -90px; }
      .site-footer .footer-curve svg {
        height: 90px; } }
  @media (max-width: 768px) {
    .site-footer {
      margin-top: -60px; }
      .site-footer .footer-curve svg {
        height: 60px; } }
  .site-footer .main {
    background-color: #3197d5;
    padding: 30px 0;
    font-size: 18px;
    color: #fff; }
    .site-footer .main .container:nth-of-type(2) {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .site-footer .main .container:nth-of-type(2) .socials {
        font-size: 30px;
        margin-top: 15px; }
        .site-footer .main .container:nth-of-type(2) .socials .s-link {
          margin: 0 5px; }
    .site-footer .main a {
      color: inherit;
      text-decoration: none; }
      .site-footer .main a:hover {
        color: #ffb310;
        transition: all 0.3s ease-in-out; }
    .site-footer .main .widget {
      text-align: center;
      margin-bottom: 15px; }
      .site-footer .main .widget .menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center; }
        .site-footer .main .widget .menu .menu-item {
          margin: 5px 15px;
          text-transform: uppercase;
          transition: all 0.3s ease-in-out; }
        @media (max-width: 768px) {
          .site-footer .main .widget .menu {
            flex-direction: column; } }
    .site-footer .main .contact_wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      color: #fff; }
      .site-footer .main .contact_wrap .phone,
      .site-footer .main .contact_wrap .email,
      .site-footer .main .contact_wrap .address {
        margin: 5px 15px;
        text-align: center; }
  .site-footer .sub-footer {
    background-color: #3e4b5b;
    color: #fff;
    padding: 15px 0; }
    .site-footer .sub-footer .sign-off {
      width: 100%; }
      .site-footer .sub-footer .sign-off .gsl-link {
        float: right;
        transition: all 0.2s ease-in-out; }
        .site-footer .sub-footer .sign-off .gsl-link:hover {
          color: #ffb310;
          transition: all 0.2s ease-in-out; }
      @media (max-width: 480px) {
        .site-footer .sub-footer .sign-off {
          text-align: center; }
          .site-footer .sub-footer .sign-off .gsl-link {
            display: block;
            float: none;
            padding-top: 5px; } }

.blog .site-footer,
.single .site-footer,
.archive .site-footer,
.woocommerce .site-footer {
  margin: 0; }

.post-type-archive-recommendedfitter .site-footer {
  margin: -120px; }

.elementor-tabs .elementor-tabs-wrapper .elementor-tab-desktop-title {
  border-radius: 25px 25px 0 0;
  text-transform: uppercase;
  font-weight: 300; }
  .elementor-tabs .elementor-tabs-wrapper .elementor-tab-desktop-title.elementor-active {
    background-color: #ffb310; }

.elementor-tabs .elementor-tabs-content-wrapper {
  border-color: transparent !important; }
  .elementor-tabs .elementor-tabs-content-wrapper .elementor-tab-mobile-title {
    border-radius: 25px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 300;
    border-bottom: solid 2px;
    margin-bottom: 3px;
    color: #ffb310 !important; }
    .elementor-tabs .elementor-tabs-content-wrapper .elementor-tab-mobile-title.elementor-active {
      background-color: #ffb310;
      color: #3e4b5b !important; }
  .elementor-tabs .elementor-tabs-content-wrapper .elementor-tab-content {
    border-color: transparent !important;
    padding: 15px 0 0;
    text-align: center; }

.gsl_link-block_wrap {
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px;
  border: solid 2px #fff;
  color: #fff;
  min-height: 400px; }
  .gsl_link-block_wrap .block-bg {
    background-size: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0; }
  .gsl_link-block_wrap .bg-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.7)); }
  .gsl_link-block_wrap .link {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 2; }
  .gsl_link-block_wrap .content_wrap {
    z-index: 1;
    height: auto;
    max-height: 40px;
    overflow: hidden;
    transition: all 0.4s ease-in-out; }
    @media (max-width: 1023px) {
      .gsl_link-block_wrap .content_wrap {
        max-height: none;
        height: auto;
        max-height: 400px;
        height: 100%;
        overflow: initial; } }
    .gsl_link-block_wrap .content_wrap .title {
      z-index: 5;
      position: relative; }
      .gsl_link-block_wrap .content_wrap .title:after {
        content: "";
        width: 100%;
        max-width: 50px;
        height: 2px;
        background-color: #fff;
        position: absolute;
        bottom: -5px;
        left: 50%;
        transform: translateX(-50%); }
    .gsl_link-block_wrap .content_wrap p {
      z-index: 5;
      position: relative; }
  .gsl_link-block_wrap .link:hover ~ .content_wrap {
    max-height: 400px;
    transition: all 0.4s ease-in-out; }

.elementor .wpcf7 .wpcf7-form {
  font-family: "Lato"; }
  .elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
    padding: 0;
    margin-bottom: 10px; }
    .elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
      border: solid 2px #ffb310;
      padding: 20px; }
    .elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-checkbox {
      border: 0;
      padding: 0;
      margin: 0; }
  .elementor .wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    font-size: 14px;
    display: block; }
  .elementor .wpcf7 .wpcf7-form .mc-opt-in {
    position: relative;
    min-height: 38px; }
    .elementor .wpcf7 .wpcf7-form .mc-opt-in label {
      cursor: pointer; }
    .elementor .wpcf7 .wpcf7-form .mc-opt-in .wpcf7-list-item {
      margin-left: 50px;
      margin-top: 7px; }
      .elementor .wpcf7 .wpcf7-form .mc-opt-in .wpcf7-list-item .wpcf7-list-item-label:before {
        content: "\2713";
        width: 38px;
        height: 38px;
        border: solid 2px #ffb310;
        border-radius: 50%;
        position: absolute;
        left: 0;
        top: 0;
        text-align: center;
        color: transparent;
        font-size: 24px; }
    .elementor .wpcf7 .wpcf7-form .mc-opt-in input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0; }
    .elementor .wpcf7 .wpcf7-form .mc-opt-in input[type="checkbox"]:checked ~ .wpcf7-list-item-label:before {
      color: #ffb310; }
  .elementor .wpcf7 .wpcf7-form .acceptance {
    position: relative;
    min-height: 38px; }
    .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance {
      padding: 0;
      border: 0; }
      .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance label {
        cursor: pointer; }
      .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance .wpcf7-list-item {
        margin-left: 50px;
        margin-top: 7px; }
        .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label:before {
          content: "\2713";
          width: 38px;
          height: 38px;
          border: solid 2px #ffb310;
          border-radius: 50%;
          position: absolute;
          left: 0;
          top: 0;
          text-align: center;
          color: transparent;
          font-size: 24px; }
      .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0; }
      .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label:before {
        color: #ffb310; }
    .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-not-valid-tip {
      position: relative;
      transform: translate(0);
      right: auto;
      top: auto;
      margin-top: 15px; }
    @media (max-width: 767px) {
      .elementor .wpcf7 .wpcf7-form .acceptance {
        display: block; }
        .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance {
          display: inline-block;
          margin-top: 7px; } }
  @supports (display: grid) {
    .elementor .wpcf7 .wpcf7-form {
      display: grid;
      grid-gap: 10px; }
      .elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
        margin: 0; } }
  .elementor .wpcf7 .wpcf7-form .wpcf7-response-output {
    border: 0;
    color: #ffb310;
    margin: 0;
    padding: 0;
    text-align: center; }
  .elementor .wpcf7 .wpcf7-form .ajax-loader {
    position: absolute;
    right: 15px;
    left: auto;
    top: auto;
    bottom: 15px;
    background-image: none;
    width: 30px !important;
    height: 30px !important;
    border: solid 3px #3e4b5b;
    border-top: solid 3px #ffb310; }
    .elementor .wpcf7 .wpcf7-form .ajax-loader:before, .elementor .wpcf7 .wpcf7-form .ajax-loader:after {
      display: none; }
  .elementor .wpcf7 .wpcf7-form .wpcf7-submit {
    max-width: none;
    border: solid 2px #ffb310;
    padding: 15px 20px;
    color: #ffb310;
    font-size: 22px;
    text-transform: uppercase;
    margin: 0;
    transition: all 0.3s ease-in-out;
    opacity: 1; }
    .elementor .wpcf7 .wpcf7-form .wpcf7-submit:hover {
      color: #fff;
      background-color: #ffb310;
      transition: all 0.3s ease-in-out; }

.elementor .dark .wpcf7 {
  color: #fff; }
  .elementor .dark .wpcf7 input::-webkit-input-placeholder, .elementor .dark .wpcf7 textarea::-webkit-input-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .dark .wpcf7 input:-moz-placeholder, .elementor .dark .wpcf7 textarea:-moz-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .dark .wpcf7 input::-moz-placeholder, .elementor .dark .wpcf7 textarea::-moz-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .dark .wpcf7 input:-ms-input-placeholder, .elementor .dark .wpcf7 textarea:-ms-input-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .dark .wpcf7 .ajax-loader {
    border: solid 3px #fff;
    border-top: solid 3px #ffb310; }
  .elementor .dark .wpcf7 .wpcf7-not-valid-tip {
    color: #ffb310 !important; }

.elementor .light .wpcf7 {
  color: #fff; }
  .elementor .light .wpcf7 .wpcf7-form-control {
    border-color: #fff !important; }
  .elementor .light .wpcf7 input::-webkit-input-placeholder, .elementor .light .wpcf7 textarea::-webkit-input-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .light .wpcf7 input:-moz-placeholder, .elementor .light .wpcf7 textarea:-moz-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .light .wpcf7 input::-moz-placeholder, .elementor .light .wpcf7 textarea::-moz-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .light .wpcf7 input:-ms-input-placeholder, .elementor .light .wpcf7 textarea:-ms-input-placeholder {
    color: #fff;
    opacity: 0.7; }
  .elementor .light .wpcf7 .wpcf7-list-item-label:before {
    border-color: #fff !important; }
  .elementor .light .wpcf7 input[type="checkbox"]:checked ~ .wpcf7-list-item-label:before {
    color: #fff !important; }
  .elementor .light .wpcf7 .ajax-loader {
    border: solid 3px #fff;
    border-top: solid 3px #ffb310; }
  .elementor .light .wpcf7 .wpcf7-not-valid-tip {
    color: #fff !important; }
  .elementor .light .wpcf7 .wpcf7-submit {
    color: #fff !important; }
  .elementor .light .wpcf7 .wpcf7-response-output {
    color: #fff; }

.elementor .newsletter {
  max-height: 62px;
  overflow: hidden;
  height: auto;
  transition: all 0.3s ease-in-out; }
  .elementor .newsletter.formactive {
    max-height: 300px;
    transition: all 0.3s ease-in-out; }
  .elementor .newsletter .wpcf7 {
    margin: 0 auto; }
  .elementor .newsletter .wpcf7-form {
    display: grid;
    grid: 62px 40px/repeat(3, 1fr);
    grid-gap: 15px 10px;
    align-items: center;
    padding: 0;
    color: #fff;
    position: relative; }
    .elementor .newsletter .wpcf7-form p {
      margin: 0; }
    .elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap {
      padding: 0;
      position: relative; }
      .elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
        width: 100%;
        text-align: center; }
      .elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
        position: absolute;
        bottom: auto;
        left: auto;
        top: 5px;
        right: 25px;
        transform: translate(0);
        font-size: 14px;
        color: #ffb310; }
    .elementor .newsletter .wpcf7-form .acceptance {
      position: relative;
      grid-column: 2 / span 2;
      grid-row: 2;
      align-self: stretch; }
      .elementor .newsletter .wpcf7-form .acceptance .wpcf7-not-valid-tip {
        right: auto;
        top: auto;
        left: 45px;
        bottom: -20px;
        transform: translate(0); }
      .elementor .newsletter .wpcf7-form .acceptance .wpcf7-form-control {
        background-color: transparent;
        padding: 0;
        text-transform: none;
        text-align: left !important;
        max-width: none; }
        .elementor .newsletter .wpcf7-form .acceptance .wpcf7-form-control .wpcf7-list-item {
          margin-left: 45px;
          color: #fff; }
    .elementor .newsletter .wpcf7-form .wpcf7-response-output {
      margin: 30px 0 0;
      grid-column: 1 / span 3;
      border: 0; }
  @media (max-width: 767px) {
    .elementor .newsletter {
      max-height: none !important; }
      .elementor .newsletter.formactive {
        max-height: none !important; }
      .elementor .newsletter .wpcf7-form {
        display: block; }
        .elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap {
          display: inline-block;
          margin-bottom: 15px;
          width: 100%; }
        .elementor .newsletter .wpcf7-form .acceptance .wpcf7-list-item {
          display: inline-block;
          margin-top: 3px; }
        .elementor .newsletter .wpcf7-form .acceptance span.wpcf7-list-item-label:before {
          transform: translateY(0) !important;
          top: 1px !important; }
        .elementor .newsletter .wpcf7-form .acceptance .wpcf7-not-valid-tip {
          position: relative;
          transform: translate(0);
          right: auto;
          top: auto;
          bottom: auto;
          margin-top: 15px; } }

.elementor-menu-cart__container {
  width: auto !important;
  left: 0;
  right: 0;
  z-index: 999999999999 !important; }

@media (max-width: 1024px) {
  .blog .page-content .container,
  .single-post .page-content .container,
  .archive .page-content .container {
    display: block; }
    .blog .page-content .container .sidebar,
    .single-post .page-content .container .sidebar,
    .archive .page-content .container .sidebar {
      max-width: 350px;
      margin-top: 30px; } }

@media (max-width: 768px) {
  .blog .page-content,
  .single-post .page-content,
  .archive .page-content {
    padding-top: 0; }
    .blog .page-content .page-title,
    .single-post .page-content .page-title,
    .archive .page-content .page-title {
      text-align: center; } }

.sidebar {
  border-left: solid 2px #3e4b5b;
  padding-left: 30px;
  align-self: baseline; }

.blog .post-preview,
.archive .post-preview {
  margin-bottom: 15px; }
  .blog .post-preview .content,
  .archive .post-preview .content {
    padding: 0; }
    .blog .post-preview .content .post-meta,
    .archive .post-preview .content .post-meta {
      padding: 10px;
      background-color: #3e4b5b;
      color: #fff;
      margin: 0 0 15px; }
    .blog .post-preview .content h1,
    .blog .post-preview .content p,
    .archive .post-preview .content h1,
    .archive .post-preview .content p {
      padding-left: 15px;
      padding-right: 15px; }
    .blog .post-preview .content .gsl-btn_wrapper,
    .archive .post-preview .content .gsl-btn_wrapper {
      margin: 0 15px 15px; }

.single-post .post .post-meta {
  padding: 10px;
  background-color: #3e4b5b;
  color: #fff; }

main .woocommerce .button,
.elementor .woocommerce .button {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #616d79;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: white;
  text-decoration: none;
  background-color: transparent !important;
  text-align: center; }
  main .woocommerce .button:hover,
  .elementor .woocommerce .button:hover {
    background-color: white;
    color: #616d79; }

main .woocommerce,
.elementor .woocommerce {
  max-width: 1520px;
  margin: 0 auto; }
  @media (max-width: 1105px) {
    main .woocommerce .button,
    .elementor .woocommerce .button {
      min-width: auto !important;
      font-size: 15px;
      padding: 10px 20px; } }
  main .woocommerce .added_to_cart,
  .elementor .woocommerce .added_to_cart {
    display: inline-block;
    padding: 4px 10px;
    background-color: #3e4b5b;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    transition: 0.2s ease-in-out; }
    main .woocommerce .added_to_cart:hover,
    .elementor .woocommerce .added_to_cart:hover {
      background-color: #3197d5;
      transition: 0.2s ease-in-out; }

.woocommerce-page main {
  padding: 30px 0 0; }

.woocommerce-page.woocommerce-cart main, .woocommerce-page.woocommerce-checkout main {
  padding: 30px 0 120px; }

.woocommerce-page.woocommerce-cart .product-remove a.remove {
  height: 24px;
  width: 24px;
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center; }
  .woocommerce-page.woocommerce-cart .product-remove a.remove:hover {
    color: #fff !important;
    background-color: #ffb310 !important;
    transition: all 0.2s ease-in-out; }

.woocommerce-page.woocommerce-cart .coupon .input-text {
  border: solid 1px #3e4b5b !important;
  width: auto !important;
  padding: 8px 20px !important; }

@media (max-width: 767px) {
  .woocommerce-page.woocommerce-cart .coupon .input-text {
    float: none;
    display: block;
    width: 100% !important;
    margin-bottom: 10px !important; }
  .woocommerce-page.woocommerce-cart .coupon .button {
    float: none !important;
    width: 100% !important; } }

.woocommerce-page.woocommerce-cart .product-name a, .woocommerce-page.woocommerce-cart .shipping-calculator-button {
  text-decoration: none;
  color: #3197d5;
  transition: all 0.2s ease-in-out; }
  .woocommerce-page.woocommerce-cart .product-name a:hover, .woocommerce-page.woocommerce-cart .shipping-calculator-button:hover {
    color: #ffb310;
    transition: all 0.2s ease-in-out; }

.woocommerce-page.woocommerce-cart dl.variation {
  font-size: 11px; }

.woocommerce-page.woocommerce-cart .product-name a {
  font-size: 14px; }

.woocommerce-page.woocommerce-cart .product-quantity input.qty {
  border: 1px solid #3e4b5b !important;
  padding: 8px 5px !important;
  outline: 0;
  width: 50px; }

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  display: none; }

.woocommerce .onsale {
  background-color: #ffb310 !important;
  width: 50px;
  height: 50px; }

.woocommerce .products {
  grid-gap: 15px; }
  .woocommerce .products.columns-1 {
    grid: auto/repeat(1, 1fr); }
  .woocommerce .products.columns-2 {
    grid: auto/repeat(2, 1fr); }
  .woocommerce .products.columns-3 {
    grid: auto/repeat(3, 1fr); }
  .woocommerce .products.columns-4 {
    grid: auto/repeat(4, 1fr); }
  .woocommerce .products.columns-5 {
    grid: auto/repeat(5, 1fr); }
  .woocommerce .products.columns-6 {
    grid: auto/repeat(6, 1fr); }
  .woocommerce .products.columns-7 {
    grid: auto/repeat(7, 1fr); }
  .woocommerce .products.columns-8 {
    grid: auto/repeat(8, 1fr); }
  .woocommerce .products.columns-9 {
    grid: auto/repeat(9, 1fr); }
  .woocommerce .products.columns-10 {
    grid: auto/repeat(10, 1fr); }
  .woocommerce .products .product .woocommerce-loop-product__title {
    font-family: "Lato";
    color: #000000;
    font-size: 21px !important;
    margin: 0 0 15px;
    text-align: center;
    height: 80px; }
    @media (max-width: 670px) {
      .woocommerce .products .product .woocommerce-loop-product__title {
        font-size: 14px !important; } }
  .woocommerce .products .product .price {
    font-size: 30px !important;
    text-align: center;
    color: #3cb67a !important; }

.single-product .price {
  font-size: 24px !important; }
  .single-product .price ins {
    text-decoration: none !important; }

.single-product .woocommerce-product-details__short-description {
  font-size: 18px; }

.single-product .variations_form .variations select {
  border: solid 2px #3e4b5b;
  outline: 0;
  cursor: pointer;
  padding: 7px 12px; }

.single-product .variations_form .variations .reset_variations {
  text-decoration: none;
  color: #fff;
  background-color: #3e4b5b;
  display: inline-block;
  padding: 3px 8px;
  transition: all 0.2s ease-in-out; }
  .single-product .variations_form .variations .reset_variations:hover {
    background-color: #3197d5;
    transition: all 0.2s ease-in-out; }

.single-product .variations_form .single_variation_wrap .woocommerce-variation-price {
  margin-bottom: 15px; }

.single-product .variations_form .single_variation_wrap .quantity {
  float: none !important; }

.single-product .variations_form .single_variation_wrap .single_add_to_cart_button {
  display: block;
  float: none !important; }

.single-product .cart {
  display: flex;
  flex-direction: column; }
  .single-product .cart input {
    border: solid 2px #3e4b5b;
    font-size: 24px;
    padding: 10px;
    min-width: 160px;
    margin: 0 0 10px;
    outline: 0; }

.single-product .product_meta {
  font-size: 18px; }
  .single-product .product_meta a {
    color: #3e4b5b;
    text-decoration: none; }
    .single-product .product_meta a:hover {
      color: #3e4b5b; }

.xoo-qv-plink {
  display: none !important; }

.xoo-qv-main {
  padding: 20px; }

.xoo-qv-panel .button {
  display: inline-block !important;
  padding: 10px 30px !important;
  border: solid 2px #ffb310 !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: #ffb310 !important;
  text-decoration: none;
  background-color: transparent !important;
  text-align: center;
  display: block;
  float: none !important; }
  .xoo-qv-panel .button:hover {
    background-color: #ffb310 !important;
    color: #fff !important; }

.page-id-12 .xoo-qv-button {
  display: none !important; }

.customise-dimensions-btn {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #ffb310;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: #ffb310 !important;
  text-decoration: none;
  background-color: transparent !important;
  text-align: center;
  margin-top: 8px; }
  .customise-dimensions-btn:hover {
    background-color: #ffb310 !important;
    color: #fff !important; }
  @media (max-width: 1105px) {
    .customise-dimensions-btn {
      min-width: auto !important;
      font-size: 15px;
      padding: 10px 20px; } }

.reconfigure-btn {
  display: inline;
  align-items: center;
  justify-content: center;
  padding: 8px 9px;
  max-width: 120px;
  background-color: #616d79;
  color: #fff !important;
  cursor: pointer;
  font-weight: 600;
  font-size: 11px !important;
  margin: 3px 0 3px 5px; }
  .reconfigure-btn i,
  .reconfigure-btn svg {
    margin-right: 4px; }

.woocommerce .products .product .button {
  width: 100%; }

.woocommerce .products .product .xoo-qv-button {
  display: none !important; }

.reset_variations {
  margin-top: 10px; }

.xoo-qv-counter {
  display: none !important; }

.xoo-qv-modal .xoo-qv-nxt,
.xoo-qv-modal .xoo-qv-prev {
  display: none !important; }

@media (max-width: 1260px) {
  .xoo-qv-modal .xoo-qv-container {
    left: 0;
    right: 0; } }

.variation-row {
  margin-bottom: 15px; }
  .variation-row .label {
    margin-bottom: 5px; }

@media (max-width: 500px) {
  .wcpa-col-3 {
    width: 100% !important; } }

.parts-shop .woocommerce-LoopProduct-link {
  margin-bottom: 18px; }

.parts-shop .add_to_cart_button {
  color: #000 !important;
  background-color: transparent !important;
  display: inline !important; }
  .parts-shop .add_to_cart_button:hover {
    color: #3cb67a !important; }

.woocommerce-checkout-review-order-table .variation {
  white-space: nowrap; }

.coupon .coupon-col .e-apply-coupon {
  border-radius: 0 !important;
  border-color: #616d79 !important;
  color: #000 !important; }
  .coupon .coupon-col .e-apply-coupon:hover {
    background-color: #3cb67a !important;
    color: white !important;
    border-color: #3cb67a !important; }

.woocommerce .return-to-shop .wc-backward {
  background-color: #3cb67a !important;
  color: white !important;
  border-color: #3cb67a !important;
  opacity: 1 !important;
  margin-bottom: 60px !important;
  border-radius: 0 !important; }

.shop_table th {
  white-space: nowrap; }

.shop_table .product-price,
.shop_table .product-subtotal {
  white-space: nowrap; }

.prev-work-carousel {
  position: relative; }
  .prev-work-carousel .work_wrap {
    background-color: #fff; }
    @media (max-width: 619px) {
      .prev-work-carousel .work_wrap {
        max-width: 100%; } }
    .prev-work-carousel .work_wrap .img_container {
      height: 350px;
      position: relative;
      background-position: center;
      background-size: cover; }
      .prev-work-carousel .work_wrap .img_container .prv-work-btn {
        background-color: #ffb310;
        border-radius: 40px;
        padding: 10px 10px;
        font-weight: 600;
        color: white;
        width: 200px;
        text-align: center;
        position: absolute;
        bottom: 24px;
        left: 50%;
        margin-left: -100px; }
        .prev-work-carousel .work_wrap .img_container .prv-work-btn:hover {
          background-color: #ffc240; }
      .prev-work-carousel .work_wrap .img_container .est-price {
        background-color: #fff;
        width: 100%;
        max-width: 85%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        border-radius: 0 0 15px 0; }
        .prev-work-carousel .work_wrap .img_container .est-price .price-label {
          text-transform: uppercase;
          font-size: 20px;
          color: #000 !important; }
        .prev-work-carousel .work_wrap .img_container .est-price .price-container {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center; }
          .prev-work-carousel .work_wrap .img_container .est-price .price-container .price {
            color: #ffb310;
            font-size: 24px;
            font-weight: 400;
            line-height: 1; }
          .prev-work-carousel .work_wrap .img_container .est-price .price-container .vat {
            font-size: 12px;
            font-weight: 700;
            color: #3e4b5b;
            line-height: 1; }
    .prev-work-carousel .work_wrap .features {
      display: flex;
      flex-wrap: wrap;
      padding: 15px;
      min-height: 168px; }
      @supports (display: grid) {
        .prev-work-carousel .work_wrap .features {
          display: grid;
          grid: auto / auto 1fr;
          grid-gap: 15px 30px; } }
      .prev-work-carousel .work_wrap .features .feature {
        flex: 1 1 50%;
        color: #ffb310; }
        .prev-work-carousel .work_wrap .features .feature .check-label {
          color: #3e4b5b;
          margin-left: 10px;
          font-weight: 400; }
  .prev-work-carousel .owl-nav.disabled {
    display: inline-block !important; }
  .prev-work-carousel .owl-nav .owl-prev, .prev-work-carousel .owl-nav .owl-next {
    position: absolute;
    top: -80px;
    color: #fff !important;
    font-size: 40px !important;
    outline: 0;
    cursor: pointer; }
    @media (max-width: 580px) {
      .prev-work-carousel .owl-nav .owl-prev, .prev-work-carousel .owl-nav .owl-next {
        top: 50%;
        transform: translateY(-50%);
        opacity: 0.5;
        display: none; } }
    .prev-work-carousel .owl-nav .owl-prev:hover, .prev-work-carousel .owl-nav .owl-next:hover {
      color: #ffb310 !important; }
  .prev-work-carousel .owl-nav .owl-prev {
    left: 15px; }
  .prev-work-carousel .owl-nav .owl-next {
    right: 15px; }

@media (max-width: 580px) {
  .previous-work-elementor .elementor-column-wrap {
    padding: 10px 0 !important; } }

@media (max-width: 767px) {
  .hide-mobile-br {
    display: none !important; } }

/* Configurator Introduction Section */
.configurator-introduction {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 2rem 0;
  display: flex;
  align-items: center; }
  .configurator-introduction .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem; }
  .configurator-introduction .intro-content {
    text-align: center;
    padding-top: 80px; }
    .configurator-introduction .intro-content h1 {
      font-size: 3rem;
      font-weight: 700;
      margin-bottom: 1rem;
      font-family: "Playfair Display", Sans-serif; }
      @media (max-width: 768px) {
        .configurator-introduction .intro-content h1 {
          font-size: 2.5rem; } }
      @media (max-width: 480px) {
        .configurator-introduction .intro-content h1 {
          font-size: 2rem; } }
    .configurator-introduction .intro-content h2 {
      font-size: 1.5rem;
      margin-bottom: 2rem;
      font-weight: 400; }
      @media (max-width: 480px) {
        .configurator-introduction .intro-content h2 {
          font-size: 1.25rem; } }
    .configurator-introduction .intro-content p {
      font-size: 1.1rem;
      line-height: 1.6;
      max-width: 800px;
      margin: 0 auto 3rem auto; }
      @media (max-width: 480px) {
        .configurator-introduction .intro-content p {
          font-size: 1rem; } }
    .configurator-introduction .intro-content .intro-features {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      max-width: 1000px;
      margin-left: auto;
      margin-right: auto; }
      @media (max-width: 530px) {
        .configurator-introduction .intro-content .intro-features {
          grid-template-columns: 1fr;
          gap: 1.5rem; } }
      .configurator-introduction .intro-content .intro-features .feature {
        background: white;
        padding: 2rem;
        box-shadow: 0 4px 16px rgba(44, 62, 80, 0.1);
        transition: transform 0.3s ease, box-shadow 0.3s ease; }
        @media (max-width: 480px) {
          .configurator-introduction .intro-content .intro-features .feature {
            padding: 1.5rem; } }
        .configurator-introduction .intro-content .intro-features .feature:hover {
          transform: translateY(-4px);
          box-shadow: 0 8px 24px rgba(44, 62, 80, 0.15); }
        .configurator-introduction .intro-content .intro-features .feature h3 {
          font-size: 1.2rem;
          color: #29323b;
          margin-bottom: 1rem;
          font-weight: 600; }
          @media (max-width: 480px) {
            .configurator-introduction .intro-content .intro-features .feature h3 {
              font-size: 1.1rem; } }
        .configurator-introduction .intro-content .intro-features .feature p {
          font-size: 0.95rem;
          color: #666;
          margin: 0;
          line-height: 1.5; }
    .configurator-introduction .intro-content .get-started-btn {
      background: #3cb67a;
      color: white;
      border: none;
      padding: 1rem 3rem;
      font-size: 1.2rem;
      font-weight: 700;
      text-transform: uppercase;
      border-radius: 0;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 4px 12px rgba(60, 182, 122, 0.3); }
      @media (max-width: 480px) {
        .configurator-introduction .intro-content .get-started-btn {
          padding: 1rem 2rem;
          font-size: 1.1rem; } }
      .configurator-introduction .intro-content .get-started-btn:hover {
        background: #339966;
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(60, 182, 122, 0.4); }
    .configurator-introduction .intro-content .intro-note {
      margin-top: 2rem;
      font-size: 0.9rem;
      color: #999;
      font-style: italic; }
      @media (max-width: 480px) {
        .configurator-introduction .intro-content .intro-note {
          font-size: 0.85rem; } }
    .configurator-introduction .intro-content .intro-reassurance-banner {
      background: #42a2da;
      color: white;
      padding: 0.75rem 1.5rem;
      margin: 1.5rem auto;
      max-width: fit-content;
      text-align: center;
      border-radius: 25px;
      box-shadow: 0 2px 8px rgba(66, 162, 218, 0.3);
      display: inline-flex;
      align-items: center;
      gap: 0.5rem; }
      @media (max-width: 768px) {
        .configurator-introduction .intro-content .intro-reassurance-banner {
          margin: 1.25rem auto;
          padding: 0.65rem 1.25rem;
          gap: 0.4rem; } }
      @media (max-width: 480px) {
        .configurator-introduction .intro-content .intro-reassurance-banner {
          padding: 0.6rem 1rem;
          margin: 1rem auto;
          gap: 0.4rem; } }
      .configurator-introduction .intro-content .intro-reassurance-banner i {
        font-size: 0.8rem;
        color: white; }
        @media (max-width: 480px) {
          .configurator-introduction .intro-content .intro-reassurance-banner i {
            font-size: 0.75rem; } }
      .configurator-introduction .intro-content .intro-reassurance-banner p {
        margin: 0;
        font-size: 0.85rem;
        line-height: 1.4;
        font-weight: 500;
        color: white; }
        @media (max-width: 480px) {
          .configurator-introduction .intro-content .intro-reassurance-banner p {
            font-size: 0.8rem; } }

.configurer-template {
  background-color: #f3f3f3; }

@media (min-width: 388px) {
  .section-selector {
    min-width: 170px; } }

@media (max-width: 511px) {
  .section-selector {
    min-width: unset;
    zoom: 0.7; } }

@media (min-width: 768px) {
  .parts_items_list_section {
    padding-right: 8px; } }

/* =======================
   SIMPLE OVERLAY SYSTEM - NO DOM MOVEMENT
   ======================= */
/* Ensure all buttons in configurator are uppercase */
.configurator-overlay button,
.configurator-container button,
.configurator-main-container button,
.parts-floating button,
.parts-item-container button,
.save-cart-dialog button,
.incompatibility-dialog button,
button[class*="btn"],
button[class*="button"] {
  text-transform: uppercase !important; }

.configurator-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  /* Fallback for old browsers */
  height: 100vh;
  /* Modern dynamic viewport height - ideal for mobile */
  /* Fallback using CSS custom property for iOS */
  height: calc(var(--vh, 1vh) * 100);
  /* WebKit-specific mobile fix */
  min-height: -webkit-fill-available;
  background: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  /* iOS-specific fixes */
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  /* Handle safe areas on notched devices */
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom); }
  .configurator-overlay.hidden {
    display: none !important; }

.configurator-overlay-header {
  position: relative;
  background-color: #f3f3f3;
  color: #0b0b0b;
  padding: 0.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  /* Progress bar removed from header */ }
  @media (max-width: 500px) {
    .configurator-overlay-header {
      padding: 0.5rem; } }
  .configurator-overlay-header .configurator-overlay-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0;
    font-family: Playfair Display, Sans-serif !important; }
    @media (max-width: 500px) {
      .configurator-overlay-header .configurator-overlay-title {
        font-size: 22px; } }
    @media (max-width: 380px) {
      .configurator-overlay-header .configurator-overlay-title {
        font-size: 13px; } }
  .configurator-overlay-header .configurator-overlay-close {
    background: none;
    border: none;
    color: #090909;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.2s ease; }
    .configurator-overlay-header .configurator-overlay-close:hover {
      background-color: rgba(255, 255, 255, 0.1); }

/* Desktop Progress Bar - HIDDEN */
.desktop-progress-bar {
  display: none !important; }

/* Progress connector lines */
.progress-connector {
  width: 2rem;
  /* Wider to overlap with circles */
  height: 4px;
  background: rgba(255, 255, 255, 0.3);
  /* Default inactive color */
  transition: background-color 0.3s ease;
  align-self: center;
  /* Vertically center with step circles */
  position: relative;
  top: -0.75rem;
  /* Move up to align with circle centers */
  margin: 0 -0.5rem;
  /* Negative margins to overlap with circles and eliminate gaps */
  /* Green when step before it is completed */ }
  .progress-connector.completed {
    background: #28a745; }

.progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
  /* Prevent shrinking */
  min-width: 4rem;
  /* Consistent step width */ }
  .progress-step:hover:not(.disabled):not(.active) .step-circle {
    background: rgba(255, 255, 255, 0.5);
    transform: scale(1.05); }
  .progress-step.active {
    pointer-events: none;
    /* Disable clicking on active step */
    cursor: default;
    /* Remove pointer cursor */ }
    .progress-step.active .step-circle {
      background: white;
      /* White background for active step */
      color: #42a2da;
      /* Blue text */ }
    .progress-step.active .step-label {
      color: white; }
  .progress-step.completed .step-circle {
    background: #28a745;
    /* Green background for completed */
    color: white; }
  .progress-step.completed .step-label {
    color: rgba(255, 255, 255, 0.9); }
  .progress-step.disabled {
    opacity: 0.5;
    cursor: not-allowed; }

.step-circle {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #6c757d;
  /* Changed from transparent to solid gray */
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: all 0.3s ease;
  z-index: 1;
  /* Ensure circles appear above the progress lines */ }

.step-label {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  font-weight: 500;
  transition: color 0.3s ease; }

/* Overlay Content */
.configurator-overlay-content {
  flex: 1;
  overflow-y: auto;
  position: relative;
  z-index: 1;
  background: #fff;
  /* Ensure content has background to cover footer */
  /* Mobile: Account for footer space + safe area */
  /* Tablet */
  /* Desktop */ }
  @media (max-width: 767px) {
    .configurator-overlay-content {
      height: calc( 100vh - 111px - env(safe-area-inset-bottom));
      /* Header + footer space + safe area */
      height: calc( var(--vh, 1vh) * 100 - 111px - env(safe-area-inset-bottom)); } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .configurator-overlay-content {
      height: calc(100vh - 128px);
      /* Header + footer space */
      padding-bottom: 2rem;
      /* Extra space to prevent overlap */ } }
  @media (min-width: 1024px) {
    .configurator-overlay-content {
      height: calc(100vh - 140px);
      /* Header + footer space */
      padding-bottom: 1rem; } }

/* Mobile Accordion Steps */
.mobile-accordion-steps {
  display: block;
  height: 100%;
  /* Fill the entire content area */
  background: #fff;
  /* Ensure background covers any gap */ }
  @media (max-width: 767px) {
    .mobile-accordion-steps {
      /* Ensure accordion takes full height on mobile */
      min-height: 100%;
      display: flex;
      flex-direction: column; } }
  @media (min-width: 768px) {
    .mobile-accordion-steps {
      display: none; } }

.accordion-step {
  border-bottom: 1px solid #e5e5e5; }
  @media (max-width: 767px) {
    .accordion-step {
      /* On mobile, make active accordion step fill remaining space */ }
      .accordion-step.active {
        flex: 1;
        display: flex;
        flex-direction: column; } }
  .accordion-step.active .accordion-step-header {
    background: #f8f9fa; }
  .accordion-step.active .step-status i {
    transform: rotate(180deg); }
  .accordion-step.completed .accordion-step-header h3 {
    color: #28a745; }
  .accordion-step.completed .step-status i {
    color: #28a745; }
  .accordion-step.disabled {
    opacity: 0.6;
    pointer-events: none; }

.accordion-step-header {
  padding: 1rem 1.5rem;
  background: white;
  border: none;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s ease; }
  .accordion-step-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #333; }
  .accordion-step-header .step-status i {
    font-size: 0.875rem;
    color: #666;
    transition: transform 0.3s ease, color 0.3s ease; }
  .accordion-step-header:hover {
    background: #f8f9fa; }

.accordion-step-content {
  display: none;
  display: flex !important;
  padding: 0;
  background: #fafafa;
  border-top: 1px solid #e5e5e5;
  /* On mobile, make accordion content scrollable within fixed height */ }
  .accordion-step-content svg,
  .accordion-step-content i {
    display: inline-block !important; }
  @media (max-width: 767px) {
    .accordion-step-content.active {
      flex: 1;
      overflow-y: auto;
      max-height: none;
      height: 100%;
      /* Fill the available space */
      display: block !important; } }

/* Show the original configurator content inside overlay */
.configurator-overlay .configurator-main-container {
  display: block !important;
  /* Hide all steps by default */
  /* On desktop, ensure configurator content is visible */ }
  .configurator-overlay .configurator-main-container .step-wrapper {
    display: none;
    /* Show active step */ }
    .configurator-overlay .configurator-main-container .step-wrapper.active-step {
      display: block !important; }
  @media (min-width: 768px) {
    .configurator-overlay .configurator-main-container {
      display: block !important;
      padding: 2rem; }
      .configurator-overlay .configurator-main-container .step-wrapper {
        display: none; }
        .configurator-overlay .configurator-main-container .step-wrapper.active-step {
          display: block !important; } }

/* Mobile: Show steps in accordion style when active */
@media (max-width: 767px) {
  /* Only show the configurator content when an accordion step is active */
  .configurator-overlay .configurator-main-container .step-wrapper {
    display: none !important;
    padding: 1rem;
    margin: 0;
    background: transparent; }
  /* Show the corresponding step when accordion is active */
  .accordion-step.active .accordion-step-content {
    display: block;
    padding: 0; } }

/* Desktop: Ensure content is properly visible */
@media (min-width: 768px) {
  .configurator-overlay-content {
    display: block !important;
    /* Remove duplicate height rules since handled in main .configurator-overlay-content */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; }
  .configurator-overlay .configurator-main-container {
    display: block !important;
    padding: 2rem;
    height: 100%;
    overflow-y: auto; }
    .configurator-overlay .configurator-main-container .step-wrapper {
      display: none !important; }
      .configurator-overlay .configurator-main-container .step-wrapper.active-step {
        display: block !important; }
  /* Hide mobile accordion on desktop */
  .mobile-accordion-steps {
    display: none !important; } }

/* Overlay Footer */
.configurator-overlay-footer {
  /* Subtle YouTube-style progress bar now in footer */
  position: relative;
  background: #616d79;
  padding: 1rem 2rem;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 5;
  /* Higher than content */
  /* Ensure smooth hiding without layout shifts */
  transition: opacity 0.3s ease, visibility 0.3s ease;
  /* Hidden state (used when edit section is open) */ }
  .configurator-overlay-footer::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 100%;
    height: 3px;
    background: #3cb67a;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10;
    /* Higher than content to appear on top */
    width: 16.666%;
    /* Default to step-1 */ }
  .configurator-overlay-footer.step-1::after {
    width: 16.666%; }
  .configurator-overlay-footer.step-2::after {
    width: 33.333%; }
  .configurator-overlay-footer.step-3::after {
    width: 50%; }
  .configurator-overlay-footer.step-4::after {
    width: 66.666%; }
  .configurator-overlay-footer.step-5::after {
    width: 83.333%; }
  .configurator-overlay-footer.step-6::after {
    width: 100%; }
  .configurator-overlay-footer.hidden, .configurator-overlay-footer[style*="display: none"] {
    display: none !important; }
  @media (max-width: 767px) {
    .configurator-overlay-footer {
      display: none !important; } }
  @media (min-width: 768px) {
    .configurator-overlay-footer {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100vw;
      max-width: 100vw; } }

.footer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto; }
  @media (max-width: 767px) {
    .footer-actions {
      flex-direction: column;
      gap: 1rem; } }

.step-indicator {
  display: flex;
  align-items: center;
  justify-content: center; }
  .step-indicator .current-step-text {
    font-size: 0.875rem;
    color: #6c757d;
    font-weight: 500; }

/* First definition of button styles */
.prev-step-btn,
.next-step-btn,
.save-configuration-btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.375rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.2s ease; }
  .prev-step-btn:disabled,
  .next-step-btn:disabled,
  .save-configuration-btn:disabled {
    background: #cccccc !important;
    color: #999999 !important;
    opacity: 1 !important;
    /* Use solid grayed out colors instead of opacity */
    cursor: not-allowed !important;
    border: 1px solid #dddddd !important; }

.prev-step-btn {
  background: white !important;
  color: black !important;
  border: 1px solid #ddd !important; }
  .prev-step-btn:hover:not(:disabled) {
    background: #f8f9fa !important;
    color: black !important; }
  .prev-step-btn:disabled {
    background: white !important;
    color: #ccc !important;
    border: 1px solid #eee !important; }

.next-step-btn,
.save-configuration-btn {
  background: #3cb67a;
  color: white !important; }
  .next-step-btn:disabled,
  .save-configuration-btn:disabled {
    background: #cccccc !important;
    color: #999999 !important;
    opacity: 1 !important;
    /* Override the generic opacity */
    cursor: not-allowed !important;
    border: 1px solid #dddddd !important; }
  .next-step-btn.enabled-green,
  .save-configuration-btn.enabled-green {
    background: #3cb67a !important;
    color: white !important; }
    .next-step-btn.enabled-green:disabled,
    .save-configuration-btn.enabled-green:disabled {
      background: #cccccc !important;
      color: #999999 !important;
      opacity: 1 !important;
      cursor: not-allowed !important;
      border: 1px solid #dddddd !important; }

/* Step-specific button visibility */
@media (min-width: 768px) {
  .configurator-overlay-footer.step-1 .prev-step-btn {
    visibility: hidden; } }

/* Ensure configure popup still works */
.floating-container.configurer-section {
  z-index: 99999999999 !important;
  /* Ensure the popup background overlay also has high z-index */ }
  .floating-container.configurer-section[style*="display: flex"], .floating-container.configurer-section[style*="display: block"] {
    z-index: 99999999999 !important; }
  .floating-container.configurer-section .configurer-section-background,
  .floating-container.configurer-section .floating-bg {
    z-index: 99999999998 !important; }

/* Desktop Progress Bar */
.desktop-progress-bar {
  display: none;
  align-items: center;
  gap: 0;
  /* No gap - elements flow naturally */
  margin-top: 1rem;
  padding: 0 2rem;
  position: relative;
  justify-content: center; }
  @media (min-width: 768px) {
    .desktop-progress-bar {
      display: flex; } }

/* Overlay Content */
.configurator-overlay-content {
  flex: 1;
  overflow-y: auto;
  position: relative; }

/* Mobile Accordion Steps */
.mobile-accordion-steps {
  display: block; }
  @media (min-width: 768px) {
    .mobile-accordion-steps {
      display: none; } }

.accordion-step {
  border-bottom: 1px solid #e5e5e5; }
  .accordion-step.active .accordion-step-header {
    background: #f8f9fa; }
    .accordion-step.active .accordion-step-header .step-status i {
      transform: rotate(180deg); }
  .accordion-step.active .accordion-step-content {
    display: block; }
  .accordion-step.completed .accordion-step-header h3::before {
    content: "✓ ";
    color: #4caf50;
    font-weight: bold; }
  .accordion-step.disabled .accordion-step-header {
    opacity: 0.5;
    pointer-events: none; }

.accordion-step-header {
  padding: 1rem 1.5rem;
  background: white;
  border: none;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s ease; }
  .accordion-step-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #29323b; }
  .accordion-step-header .step-status i {
    transition: transform 0.3s ease;
    color: #666; }
  .accordion-step-header:hover {
    background: #f8f9fa; }

.accordion-step-content {
  display: none;
  padding: 1.5rem;
  background: #fafafa;
  border-top: 1px solid #e5e5e5; }

/* Desktop Step Content */
.desktop-step-content {
  display: none;
  padding: 2rem; }
  @media (min-width: 768px) {
    .desktop-step-content {
      display: block; } }

/* Overlay Footer */
.configurator-overlay-footer {
  background: #616d79;
  padding: 1rem 2rem;
  flex-shrink: 0; }

.footer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto; }
  @media (max-width: 767px) {
    .footer-actions {
      flex-direction: column;
      gap: 1rem; } }

.step-indicator {
  display: flex;
  align-items: center;
  justify-content: center; }
  .step-indicator .current-step-text {
    font-size: 0.875rem;
    color: #6c757d;
    font-weight: 500; }

/* Second definition of button styles */
.prev-step-btn,
.next-step-btn,
.save-configuration-btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.375rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.2s ease; }
  .prev-step-btn:disabled,
  .next-step-btn:disabled,
  .save-configuration-btn:disabled {
    background: #cccccc !important;
    color: #999999 !important;
    opacity: 1 !important;
    /* Use solid grayed out colors instead of opacity */
    cursor: not-allowed !important;
    border: 1px solid #dddddd !important; }

.prev-step-btn {
  background: white !important;
  color: black !important;
  border: 1px solid #ddd !important; }
  .prev-step-btn:hover:not(:disabled) {
    background: #f8f9fa !important;
    color: black !important; }
  .prev-step-btn:disabled {
    background: white !important;
    color: #ccc !important;
    border: 1px solid #eee !important; }

.next-step-btn,
.save-configuration-btn {
  background: #ffb310;
  color: #29323b; }
  .next-step-btn:hover:not(:disabled),
  .save-configuration-btn:hover:not(:disabled) {
    background: #e6a00f; }
  .next-step-btn.enabled-green,
  .save-configuration-btn.enabled-green {
    background: #3cb67a !important;
    color: white !important; }

/* Hide original configurator when overlay is active */
.configurator-overlay:not(.hidden) ~ .configurator-main-container {
  display: none !important; }

/* Desktop: Show configurator content on larger screens */
@media (min-width: 768px) {
  .configurator-overlay .configurator-main-container {
    display: block !important; }
    .configurator-overlay .configurator-main-container .step-wrapper {
      display: none; }
      .configurator-overlay .configurator-main-container .step-wrapper.active-step {
        display: block !important; }
  /* Hide mobile accordion on desktop */
  .mobile-accordion-steps {
    display: none !important; } }

/* Responsive accordion content scrolling */
.accordion-step-content {
  /* Fallback for old browsers */
  max-height: 60vh;
  /* Modern dynamic viewport height */
  /* CSS custom property fallback */
  max-height: calc(var(--vh, 1vh) * 60);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

/* Desktop step content scrolling */
.desktop-step-content {
  /* Fallback for old browsers */
  height: calc(100vh - 200px);
  /* Modern dynamic viewport height with header/footer space */
  /* CSS custom property fallback */
  height: calc(var(--vh, 1vh) * 100 - 200px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

/* Better mobile spacing */
@media (max-width: 767px) {
  .configurator-overlay-content {
    padding: 0; }
  .accordion-step-content {
    padding: 1rem; }
  .footer-actions {
    padding: 1rem; } }

/* Ensure configurator elements work within the overlay */
.configurator-overlay .configurator-section,
.configurator-overlay .item-list-section {
  width: 100%;
  max-width: none; }

/* Ensure all steps are visible in mobile accordion */
.mobile-accordion-steps .accordion-step {
  display: block !important; }

/* Make sure all steps including step 6 are visible */
.accordion-step[data-step="1"],
.accordion-step[data-step="2"],
.accordion-step[data-step="3"],
.accordion-step[data-step="4"],
.accordion-step[data-step="5"],
.accordion-step[data-step="6"] {
  display: block !important; }

/* Accordion cloned content styling */
.accordion-cloned-content {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0; }

.accordion-cloned-content .container {
  max-width: none;
  padding: 0 1rem; }

/* Fix z-index issues that might prevent interactions */
.configurator-overlay-content {
  position: relative;
  z-index: 1; }

.configurator-overlay-content * {
  pointer-events: auto; }

.select-range-container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: center;
  background-color: rgba(255, 255, 255, 0.616);
  z-index: 20000000;
  color: #fff; }
  .select-range-container .select-range-inner {
    padding: 30px;
    background-color: #29323b;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    max-width: 330px; }
    .select-range-container .select-range-inner button {
      display: inline-block;
      padding: 10px 30px;
      border: solid 1px #fff;
      border-radius: 20px;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 14px;
      transition: all 0.1s ease-in-out;
      color: #fff;
      text-decoration: none;
      cursor: pointer;
      border-color: #ffb310;
      color: #ffb310;
      transition: all 0.2s ease-in-out;
      margin-top: 20px; }
      .select-range-container .select-range-inner button:hover {
        color: white;
        background-color: #ffb310; }

.angle-warning {
  display: none;
  font-size: 11px;
  text-align: center;
  margin-top: 8px;
  color: white;
  padding: 5px;
  background-color: #7f3232;
  border-radius: 8px; }

.cfg-warning, .form-field .height1-warning,
.form-field .height2-warning,
.form-field .length-warning,
.form-field .angle-warning {
  display: none;
  font-size: 11px;
  text-align: center;
  margin-top: 8px;
  color: white;
  padding: 5px;
  background-color: #7f3232;
  border-radius: 8px; }

.configurator-banner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 120px 20px;
  background-size: cover;
  background-position: center center;
  background-image: Url("/app/uploads/2019/04/configuratorbanner.jpg"); }
  .configurator-banner .container {
    z-index: 999; }
  .configurator-banner .darken {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  .configurator-banner h1 {
    font-size: 42px;
    text-align: center;
    color: #fff;
    z-index: 999; }

.page-id-695 .footer-curve {
  display: none !important; }

.page-id-695 .site-footer {
  margin-top: 0 !important; }

.configurator-loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  z-index: 200000000000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse; }
  .configurator-loader img,
  .configurator-loader .css-gear {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .configurator-loader img {
    z-index: 2; }
  .configurator-loader .css-gear {
    z-index: 1;
    font-size: 73px;
    width: 2em;
    height: 2em;
    background: #46a3dd;
    border-radius: 1em;
    animation: 2s gear-rotate linear infinite; }
    .configurator-loader .css-gear::before {
      width: 2.8em;
      height: 2.8em;
      background: linear-gradient(0deg, transparent 39%, #46a3dd 39%, #46a3dd 61%, transparent 61%), linear-gradient(60deg, transparent 42%, #46a3dd 42%, #46a3dd 58%, transparent 58%), linear-gradient(120deg, transparent 42%, #46a3dd 42%, #46a3dd 58%, transparent 58%);
      position: absolute;
      content: "";
      top: -0.4em;
      left: -0.4em;
      border-radius: 1.4em; }
    .configurator-loader .css-gear::after {
      width: 1em;
      height: 1em;
      background: rgba(255, 255, 255, 0.8);
      position: absolute;
      content: "";
      top: 0.5em;
      left: 0.5em;
      border-radius: 0.5em; }

@keyframes gear-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg); }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg); } }

.footer-spacer {
  height: 300px;
  display: block; }

.configurer-container .configurator-container {
  background-color: #f3f3f3; }

.configurator-container {
  position: relative; }
  @media (max-width: 1520px) {
    .configurator-container {
      display: block;
      padding-left: 10px;
      padding-right: 10px; }
      .configurator-container.no-padding {
        padding-left: 0px;
        padding-right: 0px; } }
  .configurator-container.bg-dark {
    background-color: #616d79; }
  .configurator-container.bg-dark-2 {
    background-color: #f6f6f6; }
  .configurator-container .configuration-summary {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 24px;
    margin: auto;
    max-width: 500px;
    margin-bottom: 20px; }
    .configurator-container .configuration-summary h3 {
      margin: 0 0 20px 0;
      font-size: 18px;
      font-weight: 600;
      color: #333;
      text-align: center; }
    .configurator-container .configuration-summary .summary-grid {
      display: grid;
      gap: 12px; }
      .configurator-container .configuration-summary .summary-grid .summary-item {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12px 16px;
        background: white;
        border-radius: 6px;
        border: 1px solid #e9ecef;
        text-align: center; }
        .configurator-container .configuration-summary .summary-grid .summary-item .summary-value {
          font-weight: 500;
          color: #333;
          text-align: center; }
          .configurator-container .configuration-summary .summary-grid .summary-item .summary-value:empty:before {
            content: "-";
            color: #999; }
        .configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container {
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 8px;
          width: 100%; }
          .configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container .summary-finish-row {
            display: flex;
            align-items: center;
            gap: 8px;
            justify-content: center; }
            .configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container .summary-finish-row .summary-swatch {
              width: 20px;
              height: 20px;
              border-radius: 3px;
              border: 1px solid #ddd;
              display: none; }
              .configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container .summary-finish-row .summary-swatch.show {
                display: block; }
        .configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display {
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 8px;
          width: 100%; }
          .configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container {
            display: flex;
            gap: 4px;
            justify-content: center; }
            .configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch {
              width: 20px;
              height: 20px;
              border-radius: 3px;
              border: 1px solid #ddd;
              display: none; }
              .configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch.show {
                display: block; }
              .configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch.satin-black-finish {
                background: linear-gradient(45deg, #2c2c2c 25%, transparent 25%), linear-gradient(-45deg, #2c2c2c 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #2c2c2c 75%), linear-gradient(-45deg, transparent 75%, #2c2c2c 75%);
                background-size: 4px 4px;
                background-position: 0 0, 0 2px, 2px -2px, -2px 0px;
                background-color: #404040; }
              .configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch.egyptian-cotton-finish {
                background: linear-gradient(45deg, #f5f5dc 25%, transparent 25%), linear-gradient(-45deg, #f5f5dc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f5f5dc 75%), linear-gradient(-45deg, transparent 75%, #f5f5dc 75%);
                background-size: 4px 4px;
                background-position: 0 0, 0 2px, 2px -2px, -2px 0px;
                background-color: #f0f0e8; }
  .configurator-container .product-selector-container {
    padding: 40px 0; }
    .configurator-container .product-selector-container h2 {
      text-transform: uppercase;
      text-align: center;
      margin: 0;
      margin-bottom: 4px; }
    .configurator-container .product-selector-container p {
      text-align: center; }
    .configurator-container .product-selector-container .product-selectors-container {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
      grid-auto-rows: 1fr; }
      @media (max-width: 1300px) {
        .configurator-container .product-selector-container .product-selectors-container {
          grid-template-columns: 1fr 1fr 1fr; } }
      @media (max-width: 640px) {
        .configurator-container .product-selector-container .product-selectors-container {
          grid-template-columns: 1fr 1fr; } }
      .configurator-container .product-selector-container .product-selectors-container .product-selection-container {
        width: 100%;
        padding: 10px;
        position: relative; }
        .configurator-container .product-selector-container .product-selectors-container .product-selection-container .disabled-message {
          display: none;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background-color: rgba(255, 255, 255, 0.8);
          justify-content: center;
          align-items: center;
          color: #000;
          font-size: 15px;
          font-weight: 600;
          text-transform: uppercase;
          padding: 0 33px;
          text-align: center; }
        .configurator-container .product-selector-container .product-selectors-container .product-selection-container.disable-section .disabled-message {
          display: flex; }
        .configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link {
          font-size: 14px;
          color: #282828;
          text-decoration: none;
          margin-bottom: 20px;
          margin-top: 10px;
          font-weight: 600; }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link:hover {
            color: #3cb67a; }
            .configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link:hover svg path {
              fill: #3cb67a; }
        .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner {
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          padding: 15px 10px;
          height: 100%; }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner img {
            max-width: 70%;
            margin-bottom: 18px; }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container {
            width: 100%;
            cursor: pointer;
            display: flex;
            display: flex;
            justify-content: center;
            align-items: center; }
            .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container span {
              font-size: 11px;
              padding: 5px;
              text-align: center;
              margin-left: 46%; }
              @media (max-width: 486px) {
                .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container span {
                  margin-left: 45%; } }
            .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container button {
              outline: 0;
              border: none;
              border-bottom: 1px solid #000;
              margin: 0;
              display: flex;
              display: flex;
              justify-content: center;
              align-items: center;
              order: 2;
              cursor: pointer;
              padding-bottom: 7px;
              text-transform: uppercase;
              color: black !important;
              background-color: transparent !important; }
              .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container button:hover {
                color: #3cb67a !important;
                border-color: #3cb67a; }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h3 {
            font-size: 18px;
            text-align: center;
            margin: 0;
            margin-bottom: 3px; }
            @media (max-width: 420px) {
              .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h3 {
                font-size: 15px; } }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h4 {
            font-size: 13px;
            text-align: center;
            margin: 0; }
            @media (max-width: 420px) {
              .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h4 {
                font-size: 11px; } }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .m-spacer {
            flex: 1; }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner p {
            font-size: 13px;
            text-align: center;
            margin: 0; }
            @media (max-width: 420px) {
              .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner p {
                font-size: 11px; } }
          .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .blue-seperator {
            width: 100px;
            height: 2px;
            background-color: #3197d5;
            margin: 8px 0; }
      .configurator-container .product-selector-container .product-selectors-container.embedded-on .no-embedded {
        opacity: 0.2;
        pointer-events: none; }
  .configurator-container .item-list-container h2 {
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    margin-bottom: 4px; }
  .configurator-container .item-list-container p {
    color: #fff;
    text-align: center; }
  .configurator-container .item-list-container .items-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding-bottom: 40px; }
    .configurator-container .item-list-container .items-container .item-container {
      width: 22%;
      text-align: center;
      padding: 10px; }
      .configurator-container .item-list-container .items-container .item-container.add-new-item-container {
        display: flex; }
      .configurator-container .item-list-container .items-container .item-container .configure-product {
        display: inline-block;
        padding: 10px 30px;
        border: solid 2px #fff;
        border-radius: 20px;
        text-transform: uppercase;
        font-weight: 700;
        font-size: 14px;
        transition: all 0.1s ease-in-out;
        min-width: 100%;
        color: #fff;
        text-decoration: none;
        cursor: pointer; }
        .configurator-container .item-list-container .items-container .item-container .configure-product:hover {
          border-color: #3cb67a;
          color: #ffffff;
          background: #3cb67a; }
        @media (max-width: 420px) {
          .configurator-container .item-list-container .items-container .item-container .configure-product {
            font-size: 14px;
            padding: 8px 0px; } }
      @media (max-width: 890px) {
        .configurator-container .item-list-container .items-container .item-container {
          width: 33.33%; } }
      @media (max-width: 630px) {
        .configurator-container .item-list-container .items-container .item-container {
          width: 50%; } }
      .configurator-container .item-list-container .items-container .item-container button {
        margin-top: 15px; }
      .configurator-container .item-list-container .items-container .item-container .item-box {
        min-height: 200px;
        padding: 10px 0;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: #fff; }
        @media (max-width: 630px) {
          .configurator-container .item-list-container .items-container .item-container .item-box {
            min-height: 150px; } }
        .configurator-container .item-list-container .items-container .item-container .item-box img {
          max-width: 80%; }
        .configurator-container .item-list-container .items-container .item-container .item-box h3,
        .configurator-container .item-list-container .items-container .item-container .item-box h4 {
          margin: 0; }
        .configurator-container .item-list-container .items-container .item-container .item-box h4 {
          font-size: 13px;
          margin: 0 0 6px; }
        @media (max-width: 400px) {
          .configurator-container .item-list-container .items-container .item-container .item-box h3 {
            font-size: 0.8em; }
          .configurator-container .item-list-container .items-container .item-container .item-box h4 {
            font-size: 0.8em; } }
        .configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container {
          position: absolute;
          top: 4px;
          right: 4px;
          padding: 15px;
          z-index: 50;
          height: 40px;
          font-size: 11px;
          cursor: pointer;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #ffffff;
          color: #000000;
          font-weight: 600;
          border-radius: 0 !important;
          cursor: pointer;
          display: flex;
          justify-content: center;
          align-items: center;
          height: 25px;
          padding: 0 15px; }
          .configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container svg path {
            fill: #f12a17; }
          .configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container:hover {
            background-color: #f12a17; }
            .configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container:hover svg path {
              fill: #fff; }
          @media (max-width: 380px) {
            .configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container {
              height: 34px; } }
        .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container {
          position: absolute;
          position: absolute;
          top: -10px;
          right: -10px;
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          padding: 9px 10px;
          background-color: #48a3d8;
          padding: 5px 10px;
          font-size: 15px;
          border-bottom-left-radius: 12px; }
          .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container.incomplete {
            background-color: #f3af15; }
          .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container p {
            margin: 0;
            margin-top: 2px;
            font-weight: 600;
            color: #fff;
            margin-left: 9px; }
          .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container svg {
            width: 15px;
            height: 15px; }
            .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container svg path {
              fill: #ffffff; }
          @media (max-width: 380px) {
            .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container p {
              font-size: 0.8em; }
            .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container svg {
              width: 25px;
              height: 25px; } }
        .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box {
          cursor: pointer;
          box-shadow: none;
          background-color: transparent;
          border: 3px dashed #ffffff;
          width: 100%;
          height: 100%; }
          .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box p {
            color: #ffffff;
            font-size: 20px;
            font-weight: 600; }
          .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box svg {
            width: 40px;
            height: 40px;
            margin-bottom: 15px; }
            .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box svg path {
              color: #fff; }
          .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box:hover {
            border-color: #3cb67a;
            background-color: #3cb67a; }
            .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box:hover p {
              color: #fff; }
            .configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box:hover svg path {
              color: #fff; }
  .configurator-container .item-list-container .finish-row {
    display: flex;
    justify-content: center;
    align-items: center;
    display: none;
    max-width: 650px;
    margin: auto;
    margin-top: 25px; }
    @media (max-width: 755px) {
      .configurator-container .item-list-container .finish-row {
        flex-wrap: wrap;
        margin-top: 35px; } }
  .configurator-container .item-list-container .check-cart-container {
    width: 50%;
    margin-right: 10px;
    color: #fff;
    font-size: 14px;
    text-align: center; }
    .configurator-container .item-list-container .check-cart-container a {
      text-decoration: none;
      color: #ffb310; }
    @media (max-width: 755px) {
      .configurator-container .item-list-container .check-cart-container {
        width: 100%;
        margin-bottom: 20px;
        margin-right: 0;
        max-width: 330px; } }
    .configurator-container .item-list-container .check-cart-container .check-cart-error {
      display: none;
      color: #ff984a !important;
      font-weight: 600;
      text-transform: uppercase; }
    .configurator-container .item-list-container .check-cart-container .sf-orange {
      font-weight: 600; }
    .configurator-container .item-list-container .check-cart-container p {
      margin: 0;
      margin-bottom: 8px !important; }
    .configurator-container .item-list-container .check-cart-container input {
      border: 0;
      padding: 10px 8px;
      background-color: #e1e1e1;
      border-radius: 8px;
      color: #0a0a0a;
      margin-top: 10px; }
      @media (max-width: 716px) {
        .configurator-container .item-list-container .check-cart-container input {
          margin-top: 0; } }
    .configurator-container .item-list-container .check-cart-container button {
      border: 0 !important;
      text-decoration: underline; }
    .configurator-container .item-list-container .check-cart-container .splitter {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 11px; }
      .configurator-container .item-list-container .check-cart-container .splitter input {
        width: 70%;
        margin-right: 10px;
        margin-top: 0; }
      .configurator-container .item-list-container .check-cart-container .splitter button {
        width: 30%;
        padding: 10px 0px;
        border: solid 2px #fff !important;
        border-radius: 20px;
        text-transform: uppercase;
        font-weight: 700;
        font-size: 14px;
        transition: all 0.1s ease-in-out;
        border-color: #ffb310 !important;
        color: #ffb310;
        text-decoration: none;
        cursor: pointer; }
        .configurator-container .item-list-container .check-cart-container .splitter button:hover {
          border-color: #3197d5 !important;
          color: #3197d5 !important; }
        @media (max-width: 420px) {
          .configurator-container .item-list-container .check-cart-container .splitter button {
            font-size: 13px;
            padding: 8px 15px; } }
  .configurator-container .item-list-container .finish-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 0 5px 0;
    width: 50%;
    margin-left: 10px; }
    @media (max-width: 755px) {
      .configurator-container .item-list-container .finish-container {
        width: 100%;
        margin-left: 0;
        padding-top: 9px; } }
    .configurator-container .item-list-container .finish-container .finish-configuring {
      padding: 10px 30px;
      border: solid 2px #3cb67a;
      background-color: #3cb67a;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 14px;
      transition: all 0.1s ease-in-out;
      text-decoration: none;
      cursor: pointer;
      max-width: 400px;
      min-width: 240px;
      transition: none !important; }
      @media (max-width: 420px) {
        .configurator-container .item-list-container .finish-container .finish-configuring {
          font-size: 13px;
          padding: 8px 15px; } }
      .configurator-container .item-list-container .finish-container .finish-configuring h3 {
        transition: none !important;
        color: #fff; }
      .configurator-container .item-list-container .finish-container .finish-configuring p {
        margin: 0;
        color: #fff;
        transition: none !important; }
  .configurator-container .item-list-container .add-another-section-container {
    display: flex;
    box-shadow: none !important; }
    .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box {
      border: 2px dashed #3cb67a;
      background-color: #ffffff;
      cursor: pointer;
      transition: all 0.2s ease-in-out;
      display: flex;
      flex: 1;
      align-items: center;
      justify-content: center; }
      .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box:hover {
        border-color: #2d8f5c;
        background-color: #f8fff9; }
      .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content {
        text-align: center;
        color: #3cb67a; }
        .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content i {
          font-size: 24px;
          margin-bottom: 10px;
          display: block; }
        .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content h3 {
          margin: 0;
          font-size: 14px;
          font-weight: 700;
          text-transform: uppercase; }
      @media (max-width: 890px) {
        .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box {
          height: auto;
          min-height: 80px;
          padding: 20px; } }
      @media (max-width: 630px) {
        .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box {
          min-height: 60px;
          padding: 15px; }
          .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content i {
            font-size: 20px;
            margin-bottom: 8px; }
          .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content h3 {
            font-size: 12px; } }
  .configurator-container .arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    bottom: 0;
    left: 50%;
    margin-left: -40px;
    border-width: 0 40px 20px 40px; }
  .configurator-container .arrow-right {
    border-color: transparent transparent #3197d5 transparent; }
  .configurator-container .arrow-left {
    border-color: transparent transparent #616d79 transparent; }
  .configurator-container .configurer-section,
  .configurator-container #parts_shop,
  .configurator-container #recommended_shop {
    padding: 0 20px; }
  .configurator-container .configurer-save-container {
    padding: 40px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #000; }
    .configurator-container .configurer-save-container svg {
      width: 30px;
      height: 30px;
      margin-bottom: 20px; }
      .configurator-container .configurer-save-container svg path {
        fill: #3cb67a; }
    .configurator-container .configurer-save-container h2 {
      color: #000;
      text-transform: uppercase;
      text-align: center;
      margin: 0;
      margin-bottom: 4px; }
      @media (max-width: 492px) {
        .configurator-container .configurer-save-container h2 {
          font-size: 18px; } }
    .configurator-container .configurer-save-container p {
      color: #000;
      text-align: center; }
    .configurator-container .configurer-save-container .configured-item-price-container {
      font-weight: 600;
      display: none; }
      .configurator-container .configurer-save-container .configured-item-price-container .configured-item-price {
        color: #ffb310; }
    .configurator-container .configurer-save-container .includes-vat {
      display: none; }
    .configurator-container .configurer-save-container button {
      display: inline-block;
      padding: 10px 30px;
      border: solid 1px #fff;
      border-radius: 20px;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 14px;
      transition: all 0.1s ease-in-out;
      color: #fff;
      text-decoration: none;
      cursor: pointer;
      border-color: #616d79;
      color: #000;
      transition: all 0.2s ease-in-out; }
      .configurator-container .configurer-save-container button:hover {
        background-color: #3cb67a;
        border-color: #3cb67a;
        color: white; }
      @media (max-width: 420px) {
        .configurator-container .configurer-save-container button {
          font-size: 14px; } }
  .configurator-container .configurer-container .step-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    min-height: 312px;
    position: relative;
    flex-direction: column; }
    @media (min-width: 768px) {
      .configurator-container .configurer-container .step-container {
        flex-direction: column; } }
    @media (max-width: 767px) {
      .configurator-container .configurer-container .step-container.step-even {
        flex-direction: column-reverse; } }
    .configurator-container .configurer-container .step-container.step-even .instruction-container {
      background-color: #3197d5; }
      .configurator-container .configurer-container .step-container.step-even .instruction-container .instruction-step {
        background-color: #616d79; }
    .configurator-container .configurer-container .step-container.step-odd .instruction-container {
      background-color: #616d79; }
      .configurator-container .configurer-container .step-container.step-odd .instruction-container .instruction-step {
        background-color: #3197d5; }
    .configurator-container .configurer-container .step-container .instruction-container {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      padding: 50px 20px; }
      @media (max-width: 767px) {
        .configurator-container .configurer-container .step-container .instruction-container {
          width: 100%;
          padding: 30px 15px; } }
      .configurator-container .configurer-container .step-container .instruction-container h3 {
        font-size: 17px;
        margin: 0;
        color: #fff;
        text-align: center; }
        @media (max-width: 767px) {
          .configurator-container .configurer-container .step-container .instruction-container h3 {
            font-size: 16px; } }
      .configurator-container .configurer-container .step-container .instruction-container p {
        font-size: 15px;
        margin: 0;
        color: #fff;
        margin-bottom: 20px;
        margin-top: 10px;
        text-align: center;
        font-weight: 600; }
        @media (max-width: 767px) {
          .configurator-container .configurer-container .step-container .instruction-container p {
            font-size: 14px;
            margin-bottom: 15px;
            margin-top: 8px; } }
      .configurator-container .configurer-container .step-container .instruction-container .additional-lengths {
        display: flex;
        width: 100%;
        justify-content: space-around; }
        @media (max-width: 700px) {
          .configurator-container .configurer-container .step-container .instruction-container .additional-lengths {
            flex-direction: column;
            gap: 10px; } }
      .configurator-container .configurer-container .step-container .instruction-container .second-length,
      .configurator-container .configurer-container .step-container .instruction-container .third-length {
        margin-top: 15px;
        font-size: 13px;
        color: #fff;
        font-weight: 600;
        text-align: center; }
        .configurator-container .configurer-container .step-container .instruction-container .second-length p,
        .configurator-container .configurer-container .step-container .instruction-container .third-length p {
          margin: 0; }
        .configurator-container .configurer-container .step-container .instruction-container .second-length button,
        .configurator-container .configurer-container .step-container .instruction-container .third-length button {
          margin-top: 5px;
          padding: 4px 10px;
          border: 1px solid #fff;
          border-radius: 12px;
          cursor: pointer;
          text-transform: uppercase; }
          .configurator-container .configurer-container .step-container .instruction-container .second-length button:hover,
          .configurator-container .configurer-container .step-container .instruction-container .third-length button:hover {
            border: 1px solid #3e4b5b;
            color: #3e4b5b; }
      .configurator-container .configurer-container .step-container .instruction-container .input-container {
        display: flex;
        justify-content: stretch;
        align-items: center;
        padding: 0px 30px 0 0;
        background-color: #e1e1e1;
        border-radius: 8px;
        width: 80%; }
        .configurator-container .configurer-container .step-container .instruction-container .input-container textarea:focus,
        .configurator-container .configurer-container .step-container .instruction-container .input-container input:focus {
          outline: none; }
        .configurator-container .configurer-container .step-container .instruction-container .input-container input {
          width: 100%;
          font-size: 16px;
          line-height: 48px;
          border: 0;
          color: #3c4c5c;
          font-weight: 600;
          padding: 0px 0px 0px 30px; }
        .configurator-container .configurer-container .step-container .instruction-container .input-container .inner-input {
          margin-left: 5px;
          margin-right: 5px;
          margin-bottom: 3px;
          white-space: nowrap; }
      .configurator-container .configurer-container .step-container .instruction-container .instruction-step {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        font-size: 22px;
        height: 30px;
        width: 30px;
        font-weight: 800;
        padding: 24px;
        color: #fff;
        margin-bottom: 20px; }
      .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: transparent !important;
        border-radius: 8px; }
        .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .direction-chooser {
          padding: 10px 40px;
          border: 0;
          font-size: 15px;
          color: #fff !important;
          border: 1px solid #fff;
          background-color: transparent;
          cursor: pointer;
          outline: 0 !important;
          margin: 0 5px; }
          .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .direction-chooser.chosen {
            background-color: #3cb67a !important;
            border: 1px solid #3cb67a !important; }
          .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .direction-chooser:hover {
            background-color: #3cb67a !important;
            border: 1px solid #3cb67a !important; }
        .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .end-chooser {
          padding: 10px 40px;
          border: 0;
          font-size: 15px;
          color: #fff !important;
          border: 1px solid #fff;
          background-color: transparent;
          cursor: pointer;
          outline: 0 !important;
          margin: 0 5px; }
          .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .end-chooser.chosen {
            background-color: #3cb67a !important;
            border: 1px solid #3cb67a; }
          .configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .end-chooser:hover {
            background-color: #3cb67a !important;
            border: 1px solid #3cb67a; }
      .configurator-container .configurer-container .step-container .instruction-container .angle-request-container {
        display: flex;
        margin-bottom: 25px;
        align-items: center;
        flex-direction: column;
        color: white;
        font-size: 12px; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .request-text {
          flex: 1;
          padding-right: 10px;
          text-align: center;
          font-weight: 600; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch {
          position: relative;
          display: inline-block; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-input {
          display: none; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label {
          display: block;
          width: 48px;
          height: 19px;
          text-indent: -150%;
          clip: rect(0 0 0 0);
          color: transparent;
          user-select: none; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::before,
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::after {
          content: "";
          display: block;
          position: absolute;
          cursor: pointer; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::before {
          width: 100%;
          height: 100%;
          background-color: #dedede;
          border-radius: 9999em;
          -webkit-transition: background-color 0.25s ease;
          transition: background-color 0.25s ease; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::after {
          top: -2px;
          left: 0;
          width: 24px;
          height: 24px;
          border-radius: 50%;
          background-color: #fff;
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
          -webkit-transition: left 0.25s ease;
          transition: left 0.25s ease; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::before {
          background-color: #3197d5; }
        .configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::after {
          left: 24px; }
    .configurator-container .configurer-container .step-container .video-container {
      position: relative;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 15px 0;
      min-height: 300px; }
      @media (max-width: 767px) {
        .configurator-container .configurer-container .step-container .video-container {
          width: 100%;
          min-height: 300px; } }
      .configurator-container .configurer-container .step-container .video-container iframe {
        min-height: 300px;
        width: 100%;
        max-width: 500px; }
  .configurator-container .configurer-container .step-even .switch-input:checked + .switch-label::before {
    background-color: #3e4b5b !important; }
  .configurator-container .all-sections-configured-dialog .selection-dialog-actions {
    display: flex !important;
    flex-direction: column; }
  .configurator-container .extra-padding {
    margin-bottom: 70px; }
    .configurator-container .extra-padding svg {
      width: 30px;
      height: 30px;
      margin-bottom: 25px; }
      .configurator-container .extra-padding svg path {
        fill: #3cb67a; }
    .configurator-container .extra-padding h2 {
      color: #000;
      text-transform: uppercase;
      text-align: center;
      margin: 0;
      margin-bottom: 4px; }
    .configurator-container .extra-padding p {
      color: #000;
      text-align: center;
      margin-bottom: 0; }
    .configurator-container .extra-padding .configured-total-price-container {
      font-weight: 600;
      font-size: 18px; }
      .configurator-container .extra-padding .configured-total-price-container .configured-total-price {
        color: #3cb67a; }
    .configurator-container .extra-padding button {
      display: inline-block;
      padding: 10px 30px;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 14px;
      transition: all 0.1s ease-in-out;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.2s ease-in-out;
      margin-top: 20px;
      padding: 10px 30px;
      border: 2px solid #3cb67a;
      background-color: #3cb67a;
      color: white;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 14px;
      transition: all 0.1s ease-in-out;
      text-decoration: none;
      cursor: pointer;
      max-width: 400px;
      min-width: 240px;
      transition: none !important; }
      @media (max-width: 420px) {
        .configurator-container .extra-padding button {
          font-size: 14px; } }
    .configurator-container .extra-padding .slick-arrow {
      min-width: auto !important; }
  .configurator-container .price-summary-section {
    padding: 40px 0;
    display: block !important; }
    .configurator-container .price-summary-section.hidden {
      height: 0;
      padding: 0;
      overflow-y: hidden; }
    .configurator-container .price-summary-section .price-summary-container {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      color: #000; }
      .configurator-container .price-summary-section .price-summary-container svg {
        width: 30px;
        height: 30px;
        margin-bottom: 25px; }
        .configurator-container .price-summary-section .price-summary-container svg path {
          fill: #3cb67a; }
      .configurator-container .price-summary-section .price-summary-container h2 {
        color: #000;
        text-transform: uppercase;
        text-align: center;
        margin: 0;
        margin-bottom: 4px; }
      .configurator-container .price-summary-section .price-summary-container p {
        color: #000;
        text-align: center;
        margin-bottom: 0; }
      .configurator-container .price-summary-section .price-summary-container .configured-total-price-container {
        font-weight: 600;
        font-size: 18px; }
        .configurator-container .price-summary-section .price-summary-container .configured-total-price-container .configured-total-price {
          color: #3cb67a; }
      .configurator-container .price-summary-section .price-summary-container button {
        display: inline-block;
        padding: 10px 30px;
        text-transform: uppercase;
        font-weight: 700;
        font-size: 14px;
        transition: all 0.1s ease-in-out;
        text-decoration: none;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        margin-top: 20px;
        padding: 10px 30px;
        border: 2px solid #3cb67a;
        background-color: #3cb67a;
        color: white;
        text-transform: uppercase;
        font-weight: 700;
        font-size: 14px;
        transition: all 0.1s ease-in-out;
        text-decoration: none;
        cursor: pointer;
        max-width: 400px;
        min-width: 240px;
        transition: none !important; }
        @media (max-width: 420px) {
          .configurator-container .price-summary-section .price-summary-container button {
            font-size: 14px; } }
      .configurator-container .price-summary-section .price-summary-container .slick-arrow {
        min-width: auto !important; }
      .configurator-container .price-summary-section .price-summary-container .addition-options-container {
        margin: 15px 0;
        width: 100%;
        max-width: 1500px;
        display: flex;
        justify-content: center;
        align-items: center;
        align-items: flex-start; }
        @media (max-width: 850px) {
          .configurator-container .price-summary-section .price-summary-container .addition-options-container {
            flex-direction: row;
            margin-bottom: 30px; } }
        .configurator-container .price-summary-section .price-summary-container .addition-options-container h4 {
          text-align: center; }
        .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main {
          height: 100%;
          width: 50%;
          margin: 0 10px;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column; }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main h4 {
            margin-bottom: 3px; }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main p {
            margin-bottom: 20px;
            font-size: 13px; }
          @media (max-width: 850px) {
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main {
              width: 100%;
              max-width: 100%; } }
          @media (max-width: 851px) {
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main {
              padding: 20px 0; } }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header {
            display: flex;
            justify-content: space-between;
            flex-direction: column;
            align-items: flex-start;
            background-size: cover;
            background-position: center center;
            overflow: hidden;
            max-width: 420px;
            width: 100%;
            min-height: 256px; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner {
              width: 100%;
              height: 94px;
              padding: 0 10px;
              background: rgba(0, 0, 0, 0.4);
              display: flex;
              justify-content: start;
              align-items: center;
              flex-direction: column; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner h4 {
                margin-top: 10px;
                color: white; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner h5 {
                margin: 0;
                color: white;
                margin-top: -5px;
                margin-bottom: 5px;
                text-transform: uppercase;
                font-size: 11px; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner p {
                color: white;
                margin-bottom: 0 !important;
                font-weight: 600;
                line-height: 13px; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .glass-included {
              width: 100%;
              background-color: #3197d5;
              display: flex;
              justify-content: center;
              align-items: center;
              padding: 6px 0;
              font-weight: 600;
              color: white;
              font-size: 12px;
              margin-bottom: -1px; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .glass-included svg {
                margin-bottom: 0;
                margin-left: 10px;
                width: 15px;
                height: 15px; }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .not-available-info {
            display: none;
            max-width: 420px;
            padding: 20px 15px;
            justify-content: center;
            align-items: center;
            background-color: #f3af15;
            color: white; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .not-available-info h4 {
              margin: 0;
              font-size: 13px; }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main.not-available .not-available-info {
            display: flex; }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line {
            display: flex;
            max-width: 420px;
            width: 100%;
            padding: 8px 10px;
            background-color: #f7f7f7;
            border-left: 1px solid #a1a1a1;
            border-right: 1px solid #a1a1a1;
            border-bottom: 1px solid #d9d9d9;
            align-items: center;
            cursor: pointer; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:last-child {
              border-bottom-left-radius: 10px;
              border-bottom-right-radius: 10px;
              border-bottom: 1px solid #a1a1a1; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line img {
              height: 32px;
              width: 32px;
              margin-right: 10px; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text {
              width: 100%;
              display: flex;
              justify-content: center;
              align-items: center;
              align-items: flex-start;
              justify-content: center;
              flex-direction: column; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text p {
                margin-bottom: 0;
                font-size: 12px;
                text-align: left;
                color: #212121;
                font-weight: 500; }
                .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text p:first-child {
                  font-size: 16px;
                  margin-bottom: 2px; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 30px;
              padding: 8px; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check .addition-check-inner {
                display: flex;
                justify-content: center;
                align-items: center;
                cursor: pointer;
                background-color: #dfdfdf;
                border-radius: 4px;
                padding: 4px;
                height: 25px;
                width: 25px; }
                .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check .addition-check-inner svg {
                  visibility: hidden;
                  width: 15px;
                  height: 15px;
                  margin: 0 !important; }
                .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check .addition-check-inner.checked svg {
                  visibility: visible; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-price {
              display: flex;
              justify-content: center;
              align-items: center;
              justify-content: flex-start;
              justify-content: center;
              align-items: flex-start;
              flex-direction: column;
              margin-left: 15px;
              width: 150px;
              color: #2c2c2c;
              font-size: 13px;
              font-weight: 600; }
            @media (max-width: 430px) {
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line {
                justify-content: space-between; }
                .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text {
                  width: 80%; }
                  .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text p {
                    text-align: left; } }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:hover {
              background-color: #3cb67a; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:hover .addition-option-text p {
                color: white; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:hover .addition-option-price {
                color: white; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line.checked {
              background-color: #3cb67a; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line.checked .addition-option-text p {
                color: white; }
              .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line.checked .addition-option-price {
                color: white; }
          .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main.not-available .addition-option-line {
            pointer-events: none;
            opacity: 0.4;
            display: none; }
            .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main.not-available .addition-option-line.exc {
              pointer-events: initial;
              opacity: 1;
              display: flex; }
      .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper {
        display: none;
        margin: 50px 0 30px;
        width: 100%;
        align-items: center;
        flex-direction: column; }
        .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper.available {
          display: flex; }
        .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: row; }
          .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container {
            margin: 15px; }
            .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header {
              display: flex;
              justify-content: space-between;
              flex-direction: column;
              align-items: flex-start;
              background-size: cover;
              background-position: center center;
              overflow: hidden;
              border-top-right-radius: 10px;
              border-top-left-radius: 10px;
              max-width: 420px;
              width: 100%; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner {
                width: 100%;
                padding: 10px 10px;
                background: rgba(0, 0, 0, 0.4);
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column; }
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner h4 {
                  margin: 0; }
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner h5 {
                  margin: 0;
                  margin-top: -5px;
                  margin-bottom: 5px;
                  text-transform: uppercase;
                  font-size: 11px; }
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner p {
                  margin-bottom: 0 !important;
                  font-size: 13px; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .glass-included {
                width: 100%;
                background-color: #3197d5;
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 6px 0;
                font-weight: 400;
                font-size: 12px; }
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .glass-included svg {
                  margin-bottom: 0;
                  margin-left: 10px;
                  width: 15px;
                  height: 15px; }
            .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .not-available-info {
              display: none;
              padding: 40px 15px;
              justify-content: center;
              align-items: center;
              background-color: #37414c;
              border-bottom-left-radius: 10px;
              border-bottom-right-radius: 10px; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .not-available-info h4 {
                margin: 0; }
            .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container.not-available .not-available-info {
              display: flex; }
            .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line {
              display: flex;
              max-width: 530px;
              width: 100%;
              border-bottom: 1px solid #445261;
              padding: 8px 12px;
              background-color: #37414c;
              margin: 6px 0;
              border-radius: 10px; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line:last-child {
                border-bottom-left-radius: 10px;
                border-bottom-right-radius: 10px; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text {
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                align-items: flex-start;
                justify-content: center;
                flex-direction: column; }
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text p {
                  margin-bottom: 0;
                  font-size: 12px;
                  text-align: left; }
                  .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text p:first-child {
                    font-size: 16px;
                    font-weight: 600; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 30px;
                padding: 8px; }
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner {
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  cursor: pointer;
                  background-color: #dfdfdf;
                  border-radius: 4px;
                  padding: 4px;
                  height: 25px;
                  width: 25px; }
                  .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner svg {
                    visibility: hidden;
                    width: 15px;
                    height: 15px;
                    margin: 0 !important; }
                  .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner.checked svg {
                    visibility: visible; }
              .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-price {
                display: flex;
                justify-content: center;
                align-items: center;
                justify-content: flex-start;
                justify-content: center;
                align-items: flex-start;
                flex-direction: column;
                margin-left: 15px;
                width: 150px;
                color: #ffb310;
                font-weight: 600; }
              @media (max-width: 430px) {
                .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line {
                  flex-wrap: wrap;
                  justify-content: space-between; }
                  .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text {
                    width: 80%; } }
            .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container.not-available .addition-option-line {
              display: none !important; }
  .configurator-container .intro-section {
    padding: 60px 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center; }
    .configurator-container .intro-section button {
      display: inline-block;
      padding: 10px 30px;
      border: solid 1px #fff;
      border-radius: 20px;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 14px;
      transition: all 0.1s ease-in-out;
      color: #fff;
      text-decoration: none;
      cursor: pointer;
      border-color: #ffb310;
      color: #ffb310;
      transition: all 0.2s ease-in-out;
      margin: 4px 0; }
      .configurator-container .intro-section button.view-previous:hover {
        color: #fff;
        background-color: #ffb310; }
      .configurator-container .intro-section button.start-building {
        color: #fff;
        border: solid 1px #3e4b5b;
        background-color: #3e4b5b; }
        .configurator-container .intro-section button.start-building:hover {
          color: #3e4b5b;
          background-color: #fff; }
      @media (max-width: 420px) {
        .configurator-container .intro-section button {
          font-size: 14px; } }

.configurator-main-container .intro-section-container,
.alresco-configurator-main-container .intro-section-container {
  display: none; }

.page-id-695 .free-kit-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0px 0 40px 0;
  padding: 25px 0; }
  @media (max-width: 716px) {
    .page-id-695 .free-kit-row {
      display: block; } }
  .page-id-695 .free-kit-row h4 {
    margin: 0 0 10px 0;
    text-transform: uppercase; }
  .page-id-695 .free-kit-row .form-contents input {
    margin: 4px 0; }
  .page-id-695 .free-kit-row .form-contents input[type="text"] {
    padding: 8px 11px !important;
    font-size: 12px !important; }
  .page-id-695 .free-kit-row p {
    font-size: 14px; }
  .page-id-695 .free-kit-row .check-cart-btn {
    font-size: 12px !important;
    border: 1px solid #3cb67a !important;
    padding: 8px 20px !important;
    text-decoration: none;
    background-color: white !important;
    color: #3cb67a !important;
    text-transform: uppercase; }
    .page-id-695 .free-kit-row .check-cart-btn:hover {
      background-color: #3cb67a !important;
      color: #fff !important; }

.page-id-695 .final-price-container {
  display: flex;
  flex-direction: column; }
  @media (max-width: 716px) {
    .page-id-695 .final-price-container {
      width: 100%; } }

.page-id-695 .free-kit-container {
  text-align: center; }
  @media (max-width: 716px) {
    .page-id-695 .free-kit-container {
      width: 100%;
      margin-bottom: 20px; } }
  .page-id-695 .free-kit-container .free-kit-error {
    display: none;
    color: #ff984a !important;
    font-weight: 600;
    text-transform: uppercase; }
  .page-id-695 .free-kit-container .sf-orange {
    font-weight: 600; }
  .page-id-695 .free-kit-container p {
    margin: 0;
    margin-bottom: 8px !important; }
  .page-id-695 .free-kit-container input {
    border: 0;
    padding: 10px 30px;
    border: 1px solid #979797;
    color: #0a0a0a;
    margin-top: 10px; }
    @media (max-width: 716px) {
      .page-id-695 .free-kit-container input {
        margin-top: 0; } }
  .page-id-695 .free-kit-container button {
    border: 0 !important;
    text-decoration: underline;
    text-transform: uppercase; }

@media (max-width: 524px) {
  .page-id-695 li.product,
  .page-id-32279 li.product {
    width: 100% !important; } }

.page-id-695 .products .add_to_cart_button,
.page-id-32279 .products .add_to_cart_button {
  display: none; }

.addition-options-container .slick-arrow {
  font-family: Josefin Sans, sans-serif;
  font-weight: 700;
  font-size: 25px;
  cursor: pointer;
  margin-top: 60px !important;
  color: #616d79 !important;
  border: 0 !important;
  padding: 5px !important; }
  .addition-options-container .slick-arrow svg {
    margin-bottom: 0; }
    .addition-options-container .slick-arrow svg path {
      fill: #616d79 !important; }
  .addition-options-container .slick-arrow.slick-disabled {
    visibility: hidden; }

.parts_items__overlay_container {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 9px 10px;
  background-color: #3cb67a; }
  .parts_items__overlay_container p {
    margin: 0 !important;
    margin-left: 6px !important;
    margin-top: 2px !important; }
  .parts_items__overlay_container svg path {
    fill: #fff; }
  .parts_items .parts_items__container .parts_items__overlay_container .parts_items__overlay_svg_text p {
    color: white;
    font-weight: 600; }

.parts_items__overlay_svg_text {
  display: flex;
  flex-direction: row;
  align-items: center; }

.parts_items__title {
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px; }

.parts_items__subtitle {
  color: white;
  text-align: center; }

.parts_items__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 30px;
  width: 100%; }

.parts_items__item_container {
  width: 248px;
  text-align: center;
  padding: 10px;
  overflow: hidden; }

.parts_items__item_subtitle {
  margin: 0; }

.parts_items__item_box {
  min-height: 200px;
  padding: 10px;
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  height: 100%; }

.parts_items__remove_button {
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 15px;
  z-index: 50;
  border-radius: 50%;
  height: 30px;
  width: 30px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  color: red; }

.parts_items__img {
  width: auto;
  height: 130px;
  margin-bottom: 20px; }

.parts_items__item_title {
  font-size: 17px;
  height: 40px; }

.parts_items__add_parts_btn_container {
  border-radius: 12px;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center; }

.parts_items__add_parts_btn {
  font-size: 11px;
  padding: 5px;
  text-align: center;
  margin-left: 40%; }

.parts_items__open_parts_page {
  outline: 0;
  border: none;
  border-bottom: 1px solid #000;
  margin: 0;
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  order: 2;
  cursor: pointer;
  padding-bottom: 7px;
  text-transform: uppercase;
  background-color: transparent !important;
  color: #000 !important; }
  .parts_items__open_parts_page:hover {
    color: #3cb67a !important;
    border-color: #3cb67a !important; }

.parts_items__icon {
  color: #3197d5;
  float: right; }

.parts_items__finish_button {
  padding-bottom: 30px; }

.close_parts_page,
.skip_checkout {
  padding: 10px 30px;
  border: solid 1px #fff;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border-color: #ffb310;
  color: #ffb310;
  transition: all 0.2s ease-in-out;
  display: flex;
  margin: auto;
  margin-bottom: 50px; }

.parts_item_container {
  width: 250px;
  text-align: center;
  padding: 10px;
  color: #505c6b; }

.add_new_paragraph {
  color: #7a8ba0; }

.add_new_icon {
  width: 40px !important;
  height: 40px;
  margin-bottom: 15px; }

.add_new_item_box {
  cursor: pointer;
  box-shadow: none;
  background-color: transparent;
  border: 3px dashed #fff;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center; }
  .add_new_item_box:hover {
    background: #3cb67a;
    color: #3cb67a !important;
    border-color: #3cb67a; }
    .add_new_item_box:hover p {
      color: #3cb67a; }

.parts_items__container .parts_items__item_container .parts_items__item_box .variation dt {
  font-weight: 500;
  font-size: 14px; }

.parts_items__container .parts_items__item_container .parts_items__item_box .variation {
  margin: 0; }

.parts_items__container .parts_item_container .add_new_item_box p {
  color: #fff; }

.parts_items__container .parts_item_container .add_new_item_box svg {
  color: #fff;
  width: 40px;
  height: 40px;
  margin-bottom: 15px; }

.parts_items__container .parts_items__item_container .parts_items__item_box p {
  font-size: 14px;
  margin: 0;
  margin-bottom: 5px;
  color: black; }

.variation-NewelPostType {
  margin: 0; }

.variation-NewelPostCapType {
  margin: 0; }

.parts_items_item_title {
  font-size: 15px;
  height: 33px; }

.parts-items-container .item-container .item-box .variation dt {
  font-weight: 500;
  font-size: 14px; }

.parts-items-container .item-container .item-box .variation-Width {
  font-weight: 500;
  font-size: 15px; }

.parts-items-container .item-container .item-box .variation-Depth {
  font-weight: 500; }

.parts-items-container .item-container .item-box .variation-Length {
  font-weight: 500; }

.parts-items-container .item-container .item-box .variation-BaserailType {
  font-weight: 500; }

.parts-items-container .item-container .item-box dt {
  font-weight: 500; }

.configurator-container .item-list-container {
  padding-bottom: 0; }

.parts-items-container .item-container .item-box .variation {
  margin: 0; }

.parts-items-container .item-container .item-box p {
  margin: 0; }

.parts-items-container .item-container .item-box dd {
  margin: 0; }

.variation-Lengthmm {
  margin: 0; }

.container .parts_shop_items h2 {
  color: black;
  margin-bottom: 50px; }

.container .parts_shop_items p {
  color: black; }

.parts_shop_divider {
  width: 50%;
  height: 2px;
  background-color: #626e79;
  margin: auto;
  margin-top: 50px;
  margin-bottom: 50px; }

@media (max-width: 1250px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 30%; } }

@media (max-width: 900px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 45%; } }

@media (max-width: 500px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 100%; } }

@media (max-width: 800px) {
  .parts_items__container {
    justify-content: center; } }

.check-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000000cc;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 50;
  backdrop-filter: blur(8px); }
  .check-popup .inner {
    background-color: white;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
    padding: 20px;
    max-width: 320px;
    width: 100%;
    padding: 30px;
    background-color: #fff;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    position: relative;
    max-width: 320px;
    text-align: center; }
    .check-popup .inner input {
      width: 100%; }
    .check-popup .inner button {
      margin: 0 !important;
      text-transform: uppercase; }

.swipe-to-see {
  display: none;
  margin: 10px 0;
  font-weight: 600;
  color: #3197d5 !important; }
  @media (max-width: 1069px) {
    .swipe-to-see {
      display: block; } }

.configurator-container .type-product {
  text-align: center; }

.configurator-container .add_to_cart_button {
  display: none !important; }

.configurator-container .slick-arrow {
  background-color: transparent !important;
  color: #616d79 !important; }

.xoo-qv-button {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 700;
  border-color: #000 !important;
  color: #000 !important;
  border-left: none !important;
  border-top: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  display: inline !important;
  background: transparent !important;
  font-size: 18px !important;
  padding: 0 0 7px 0 !important; }
  .xoo-qv-button:hover {
    color: #3cb67a !important;
    border-color: #3cb67a !important; }

#parts_shop .xoo-qv-button,
#recommended_shop .xoo-qv-button,
.parts-category-list .xoo-qv-button {
  display: none;
  display: flex !important;
  margin-top: 10px; }

#parts_shop .alfresco-parts-wrapper .xoo-qv-button,
#recommended_shop .alfresco-parts-wrapper .xoo-qv-button,
.parts-category-list .alfresco-parts-wrapper .xoo-qv-button {
  display: inline-block !important;
  margin-top: 10px; }

.step-wrapper .parts-category-list .alfresco-parts-wrapper .xoo-qv-button {
  display: inline-block !important;
  margin-top: 10px; }

.config-spacing {
  padding: 40px 0; }

.section-intro {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px 0 10px;
  margin: 20px 0 10px;
  color: #202020 !important; }
  .section-intro .surround {
    margin: 0 25px; }
  .section-intro h2 {
    margin-bottom: 4px; }
  .section-intro h2,
  .section-intro p {
    text-align: center;
    color: #202020 !important;
    font-weight: 600; }
  .section-intro .flourish {
    border-bottom: 1px solid #d1d1d1;
    width: 20%; }

.other-section-intro {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px 0 10px;
  margin: 20px 0 10px;
  color: #202020 !important; }
  .other-section-intro .surround {
    margin: 0 25px; }
  .other-section-intro h2 {
    margin-bottom: 4px; }
  .other-section-intro h2,
  .other-section-intro p {
    text-align: center;
    color: #202020 !important; }
  .other-section-intro .flourish {
    border-bottom: 1px solid #d1d1d1;
    width: 20%; }

.add-styles-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between; }
  .add-styles-container .add-style-container {
    text-align: center;
    padding: 0;
    cursor: pointer;
    position: relative;
    box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.19);
    background: white;
    overflow: hidden;
    box-sizing: border-box;
    width: calc(25% - 30px); }
    @media (max-width: 1100px) {
      .add-styles-container .add-style-container {
        width: calc(50% - 20px); } }
    @media (max-width: 615px) {
      .add-styles-container .add-style-container {
        width: 100%; } }
    .add-styles-container .add-style-container img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      transition: transform 0.3s ease; }
    .add-styles-container .add-style-container .style-card-content {
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 15px; }
    .add-styles-container .add-style-container .style-title {
      font-family: "Playfair Display", Sans-serif !important;
      font-size: 22px !important;
      font-weight: 700 !important;
      margin: 0;
      color: #000;
      line-height: 1.2;
      text-transform: capitalize; }
      .add-styles-container .add-style-container .style-title i {
        display: none; }
    .add-styles-container .add-style-container .view-style-btn {
      background: #3cb67a;
      color: white !important;
      border: none;
      padding: 6px 30px;
      text-transform: uppercase !important;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s ease;
      border-radius: 0;
      font-size: 14px;
      pointer-events: none; }
      .add-styles-container .add-style-container .view-style-btn:hover {
        background: #2d8f5c; }
    .add-styles-container .add-style-container .style-overlay-container {
      display: none; }
    .add-styles-container .add-style-container span {
      display: none; }
    .add-styles-container .add-style-container svg {
      display: none; }
    .add-styles-container .add-style-container .glass {
      transition: transform 0.3s ease; }
    .add-styles-container .add-style-container .img-cont {
      overflow: hidden;
      position: relative;
      aspect-ratio: 1;
      width: 100%; }
      .add-styles-container .add-style-container .img-cont .style-overlay-container {
        position: absolute;
        top: 0;
        right: 0;
        display: none;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        padding: 5px 10px;
        background-color: #48a3d8;
        font-size: 15px;
        border-bottom-left-radius: 12px;
        z-index: 2; }
        .add-styles-container .add-style-container .img-cont .style-overlay-container p {
          margin: 0;
          margin-top: 2px;
          font-weight: 600;
          color: #fff !important;
          margin-left: 9px; }
        .add-styles-container .add-style-container .img-cont .style-overlay-container i {
          color: #fff;
          font-size: 22px;
          display: inline-block !important;
          vertical-align: middle; }
    @media (min-width: 800px) {
      .add-styles-container .add-style-container:hover {
        box-shadow: 0px 0px 20px -1px rgba(0, 0, 0, 0.3);
        transform: translateY(-2px);
        transition: all 0.3s ease; }
        .add-styles-container .add-style-container:hover .img-cont > img {
          transform: scale(1.45);
          /* Even more zoom on hover */ } }
    .add-styles-container .add-style-container.active {
      box-shadow: 0px 0px 20px -1px rgba(0, 0, 0, 0.3); }
      .add-styles-container .add-style-container.active .img-cont .style-overlay-container {
        display: flex !important; }
        .add-styles-container .add-style-container.active .img-cont .style-overlay-container svg,
        .add-styles-container .add-style-container.active .img-cont .style-overlay-container i {
          display: inline-block !important;
          color: #fff !important; }
      .add-styles-container .add-style-container.active .view-style-btn {
        background: #3cb67a;
        color: white !important; }
    .add-styles-container .add-style-container.disabled {
      pointer-events: none;
      box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.1); }
      .add-styles-container .add-style-container.disabled img,
      .add-styles-container .add-style-container.disabled .style-card-content {
        opacity: 0.2;
        pointer-events: none; }
    .add-styles-container .add-style-container .not-compatible {
      position: absolute;
      inset: 0;
      display: none;
      justify-content: center;
      align-items: center;
      font-weight: 900;
      font-size: 11px;
      color: red;
      max-width: 112px;
      margin: auto;
      text-align: center;
      background: rgba(255, 255, 255, 0.9);
      z-index: 5; }
    .add-styles-container .add-style-container.disabled .not-compatible {
      display: flex; }

.finish-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px; }

.finish-selector,
.second-finish-selector {
  display: flex;
  flex-direction: column;
  padding: 20px;
  align-items: center;
  cursor: pointer;
  width: 140px; }
  .finish-selector img,
  .second-finish-selector img {
    width: 80px;
    object-fit: none; }
  .finish-selector p,
  .second-finish-selector p {
    margin: 0;
    margin-top: 8px;
    font-weight: 600;
    text-align: center; }
  .finish-selector:hover,
  .second-finish-selector:hover {
    background-color: #e8e8e8; }
  .finish-selector.active,
  .second-finish-selector.active {
    background-color: #3cb67a;
    color: white; }

.spindle-finish-selector {
  display: flex;
  flex-direction: column;
  padding: 20px;
  align-items: center;
  cursor: pointer;
  width: 140px;
  /* Fixed width to match other finish selectors */ }
  .spindle-finish-selector img {
    width: 80px;
    object-fit: none; }
  .spindle-finish-selector p {
    margin: 0;
    margin-top: 8px;
    font-weight: 600;
    text-align: center;
    /* Centered text to match other finish selectors */ }
  .spindle-finish-selector:hover, .spindle-finish-selector.active {
    background-color: #3cb67a;
    color: white; }

.satin-black-finish {
  width: 80px;
  height: 80px;
  background-color: #080808;
  position: relative; }

.egyptian-cotton-finish {
  width: 80px;
  height: 80px;
  background-color: #d8d1c5;
  position: relative; }

.no-finish {
  width: 100px;
  height: 100px;
  background-color: white;
  border: 4px solid red;
  border-radius: 50%;
  position: relative; }

.no-finish::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 100%;
  height: 4px;
  background-color: red; }

.add-sections-container {
  display: flex;
  flex-wrap: wrap; }

.section-selector {
  padding: 20px;
  display: flex;
  flex-direction: column;
  min-width: 240px;
  max-width: 500px;
  flex: 1; }
  .section-selector .product-selection-inner {
    border: none;
    box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1);
    padding: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1; }
    .section-selector .product-selection-inner > .view-style-btn {
      pointer-events: none; }
    .section-selector .product-selection-inner .m-spacer {
      flex: 1; }
    .section-selector .product-selection-inner * {
      cursor: pointer; }
  .section-selector .add-container {
    cursor: pointer;
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    width: 100%; }
    .section-selector .add-container .number-added {
      text-align: center;
      border: 1px solid #3cb67a;
      color: #3cb67a;
      font-weight: 900;
      font-size: 13px;
      padding: 3px;
      margin: 10px -11px -21px; }
  .section-selector h3 {
    margin: 0; }
  .section-selector h4 {
    margin: 0;
    font-size: 13px;
    margin-bottom: 6px; }
  .section-selector img {
    max-width: 100%;
    margin-bottom: 10px; }
  .section-selector .more-info-link {
    text-align: center;
    width: 100%;
    display: block;
    margin-top: 10px; }
  .section-selector .product-selection-inner .add-item-btn {
    background-color: #3cb67a;
    color: white;
    border: 2px solid transparent;
    padding: 6px 30px; }
  .section-selector .product-selection-inner:hover .add-item-btn {
    background-color: #ffffff;
    color: #3cb67a;
    border: 2px solid #3cb67a; }
  .section-selector .product-selection-inner .remove-item-btn {
    background-color: #fff;
    color: #e13c3c;
    border: 2px solid transparent;
    padding: 4px 30px;
    margin-top: 10px;
    text-decoration: underline;
    font-size: 13px; }
    .section-selector .product-selection-inner .remove-item-btn:hover {
      background-color: #ffffff;
      color: #e13c3c;
      border: 2px solid #e13c3c; }

.floating-container {
  position: fixed;
  inset: 0;
  z-index: 1000000000000000000;
  background-color: #000000c7;
  display: none;
  justify-content: center;
  align-items: center; }
  .floating-container .container {
    height: 90%;
    width: 80%;
    max-width: 1200px;
    min-width: 340px;
    overflow-y: scroll;
    background-color: #fff;
    position: relative; }

.item-container {
  margin: 15px 15px;
  box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1); }

.summary-wrap.hidden,
.step-wrapper.hidden {
  display: none; }
  .summary-wrap.hidden .section-intro,
  .step-wrapper.hidden .section-intro {
    opacity: 0.2;
    pointer-events: none;
    user-select: none;
    cursor: auto; }
  .summary-wrap.hidden .step-hide,
  .step-wrapper.hidden .step-hide {
    display: none !important; }

.addition-option-check {
  display: none !important; }

.add-second-length,
.add-third-length {
  color: black; }

/* Hide fields completely when not needed instead of overlay */
.not-needed-not-glass,
.not-needed-glass {
  display: none; }

/* Control field visibility based on system type */
/* Default: show height-one, hide height-two */
.form-field.height-one-field {
  display: block; }

.form-field.height-two-field {
  display: none; }

/* System-specific visibility rules */
/* Clamped Glass (1) - with rails: needs both heights */
.system-1 .form-field.height-one-field {
  display: block; }

.system-1 .form-field.height-two-field {
  display: block; }

/* Embedded Glass (2): only height-one */
.system-2 .form-field.height-one-field {
  display: block; }

.system-2 .form-field.height-two-field {
  display: none; }

/* Clamped Square Glass (3) - glass & clamps only: only height-one */
.system-3 .form-field.height-one-field,
.configurer-template.glass-only .form-field.height-one-field,
.configurer-container.glass-only .form-field.height-one-field {
  display: block; }

.system-3 .form-field.height-two-field,
.configurer-template.glass-only .form-field.height-two-field,
.configurer-container.glass-only .form-field.height-two-field {
  display: none; }

/* Steel Spindles (4): only height-one */
.system-4 .form-field.height-one-field {
  display: block; }

.system-4 .form-field.height-two-field {
  display: none; }

.step-container .required {
  color: #f31f1f;
  font-size: 10px;
  margin-top: 5px;
  font-weight: 900;
  text-transform: uppercase; }

/* Form Field Styles for Clean Edit Section Popups */
.form-field {
  margin-bottom: 25px;
  padding: 15px;
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  /* Fallback for older browsers that don't support :has() */ }
  .form-field .field-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px; }
    .form-field .field-header .step-number {
      background: #3cb67a;
      color: white;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      display: none;
      /* Hidden as requested */
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 14px;
      flex-shrink: 0; }
    .form-field .field-header label {
      font-weight: 600;
      font-size: 16px;
      color: #333;
      flex: 1;
      margin: 0; }
    .form-field .field-header .view-instructions-btn {
      background: white;
      color: #333;
      border: 1px solid #ddd;
      padding: 6px 12px;
      border-radius: 4px;
      font-size: 12px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      text-transform: none;
      font-weight: 500;
      transition: all 0.2s ease; }
      .form-field .field-header .view-instructions-btn .play-icon {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 0 5px 8px;
        border-color: transparent transparent transparent currentColor;
        margin-left: 2px; }
      .form-field .field-header .view-instructions-btn:hover {
        background: #3cb67a;
        color: white;
        border-color: #3cb67a; }
      @media (max-width: 600px) {
        .form-field .field-header .view-instructions-btn {
          padding: 5px 10px;
          font-size: 11px; }
          .form-field .field-header .view-instructions-btn .play-icon {
            border-width: 4px 0 4px 7px; } }
  .form-field .field-description {
    color: #666;
    font-size: 14px;
    margin-bottom: 15px;
    line-height: 1.4; }
  .form-field .input-container {
    position: relative; }
    .form-field .input-container input,
    .form-field .input-container textarea {
      width: 100%;
      padding: 10px 12px;
      border: 2px solid #ddd;
      border-radius: 4px;
      font-size: 14px; }
      .form-field .input-container input:focus,
      .form-field .input-container textarea:focus {
        border-color: #3cb67a;
        outline: none;
        box-shadow: 0 0 0 3px rgba(60, 182, 122, 0.1); }
    .form-field .input-container .inner-input {
      position: absolute;
      right: 12px;
      top: 50%;
      transform: translateY(-50%);
      color: #666;
      pointer-events: none;
      font-size: 14px; }
  .form-field .direction-chooser-container {
    display: flex;
    gap: 10px;
    margin-bottom: 15px; }
    .form-field .direction-chooser-container .direction-chooser {
      padding: 10px 20px;
      border: 2px solid #ddd;
      background: white;
      cursor: pointer;
      border-radius: 4px;
      font-size: 14px;
      text-transform: none; }
      .form-field .direction-chooser-container .direction-chooser:hover {
        border-color: #3cb67a; }
      .form-field .direction-chooser-container .direction-chooser.active, .form-field .direction-chooser-container .direction-chooser.selected {
        background: #3cb67a;
        color: white;
        border-color: #3cb67a; }
  .form-field .request-text {
    font-size: 13px;
    color: #666;
    font-style: italic;
    margin-top: 10px; }
  .form-field .cfg-warning, .form-field .height1-warning,
  .form-field .height2-warning,
  .form-field .length-warning,
  .form-field .angle-warning {
    background: #fff3cd;
    color: #856404;
    padding: 10px 12px;
    border: 1px solid #ffeaa7;
    border-radius: 4px;
    font-size: 13px;
    margin-top: 10px; }
    .form-field .cfg-warning .fa-info-circle, .form-field .height1-warning .fa-info-circle, .form-field .height2-warning .fa-info-circle, .form-field .length-warning .fa-info-circle, .form-field .angle-warning .fa-info-circle {
      margin-right: 6px; }
  .form-field.height-one-field, .form-field.height-two-field {
    /* Hide entire field when not-needed class is visible/active */ }
    .form-field.height-one-field .not-needed-not-glass,
    .form-field.height-one-field .not-needed-glass, .form-field.height-two-field .not-needed-not-glass,
    .form-field.height-two-field .not-needed-glass {
      display: none;
      /* Hide the warning message completely */ }
    .form-field.height-one-field:has(.not-needed-not-glass:not([style*="display: none"])), .form-field.height-one-field:has(.not-needed-glass:not([style*="display: none"])), .form-field.height-two-field:has(.not-needed-not-glass:not([style*="display: none"])), .form-field.height-two-field:has(.not-needed-glass:not([style*="display: none"])) {
      display: none; }
  .form-field.height-one-field.field-not-needed, .form-field.height-two-field.field-not-needed {
    display: none; }
  .form-field.angle-field .show-if-angle {
    display: none; }
    .form-field.angle-field .show-if-angle.active {
      display: block;
      margin-top: 15px; }

/* Video Popup Modal */
.video-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999; }
  .video-popup-overlay .video-popup {
    background: white;
    border-radius: 0 !important;
    max-width: 400px;
    width: 100%;
    height: 90vh;
    overflow-y: auto;
    padding: 20px;
    position: relative; }
    @media (max-width: 480px) {
      .video-popup-overlay .video-popup {
        padding: 15px;
        height: 80vh; } }
    .video-popup-overlay .video-popup .video-popup-close {
      position: absolute;
      top: 10px;
      right: 15px;
      background: none;
      border: none;
      font-size: 24px;
      cursor: pointer;
      color: #666;
      z-index: 1;
      border-radius: 0 !important; }
      .video-popup-overlay .video-popup .video-popup-close:hover {
        color: #333; }
    .video-popup-overlay .video-popup .video-popup-title {
      margin: 0 0 15px 0;
      font-size: 18px;
      font-weight: 600;
      color: #333;
      padding-right: 30px; }
    .video-popup-overlay .video-popup .video-popup-iframe {
      width: 100%;
      max-width: none;
      height: calc( 90vh - 120px);
      /* 90vh popup height minus padding and title space */
      border: none;
      border-radius: 4px; }
      @media (max-width: 768px) {
        .video-popup-overlay .video-popup .video-popup-iframe {
          height: calc(80vh - 100px); } }
      @media (max-width: 480px) {
        .video-popup-overlay .video-popup .video-popup-iframe {
          height: calc(80vh - 80px); } }

.parts-floating {
  display: none; }

.recommended-floating {
  display: none; }

.open-parts-list,
.close_parts_page,
.skip_checkout {
  margin: auto;
  display: block;
  cursor: pointer;
  color: white;
  border-color: #3cb67a;
  background-color: #3cb67a !important;
  padding: 7px 20px;
  margin-top: 20px;
  margin-bottom: 20px; }
  .open-parts-list:hover,
  .close_parts_page:hover,
  .skip_checkout:hover {
    background-color: white !important;
    color: #3cb67a; }

.xoo-qv-panel {
  z-index: 9999999999999999999 !important;
  background-color: #000000cf !important; }

.parts_items__item_container {
  max-width: 330px;
  min-width: 240px;
  width: auto !important;
  box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1);
  margin: 15px; }
  .parts_items__item_container .item-remove-container {
    width: auto !important;
    border-radius: 0 !important; }

.item-box p {
  text-align: left; }

.item-box .variation {
  display: flex;
  flex-wrap: wrap;
  gap: 16px; }
  @media (max-width: 767px) {
    .item-box .variation .section-selector {
      flex: 0 0 calc(50% - 8px);
      max-width: calc(50% - 8px); } }
  .item-box .variation dt {
    flex-basis: 25%;
    /* Adjust the width as needed */
    text-align: left;
    margin-right: 5px; }
  .item-box .variation div {
    flex-basis: 65%;
    /* Adjust the width as needed */
    margin: 0;
    text-align: left; }
  .item-box .variation dd {
    flex-basis: 65%;
    margin: 0; }

.parts_items_item_title {
  text-align: left !important; }

.finish-selector .sub-title,
.second-finish-selector .sub-title {
  margin: 0;
  font-size: 10px; }

.spindle-finish-selector .sub-title {
  margin: 0;
  font-size: 10px; }

.close-edit-section {
  display: none !important;
  /* Hide the X button - users can use Cancel/Save at the bottom */
  background-color: #fff;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 20px;
  font-weight: 900;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  padding-right: 1px;
  cursor: pointer;
  z-index: 1000000000;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); }

.baserail-word {
  display: none; }

#parts_shop .type-product,
#recommended_shop .type-product,
.parts-category-list .type-product {
  cursor: pointer; }
  #parts_shop .type-product *,
  #recommended_shop .type-product *,
  .parts-category-list .type-product * {
    pointer-events: none !important; }
  #parts_shop .type-product .xoo-qv-button,
  #recommended_shop .type-product .xoo-qv-button,
  .parts-category-list .type-product .xoo-qv-button {
    pointer-events: all !important; }

.parts-wrapper {
  display: none; }

.parts-category-list {
  display: flex;
  width: 100%;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px; }
  .parts-category-list .parts-category {
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 18%;
    box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1); }
    .parts-category-list .parts-category img {
      width: 80%; }
    .parts-category-list .parts-category h4 {
      text-align: center;
      height: 40px; }
    @media (max-width: 850px) {
      .parts-category-list .parts-category {
        width: 45%; } }

.summary-wrap {
  display: none !important; }

.open-parts-list {
  margin-top: 0 !important;
  margin-bottom: 20px !important; }

.xoo-qv-container {
  top: 4% !important;
  bottom: 4% !important;
  max-height: 100% !important; }

.totals-floating {
  position: sticky;
  bottom: 0;
  background-color: white;
  padding: 10px 0;
  background-color: rgba(255, 255, 255, 0.79);
  backdrop-filter: blur(10px);
  z-index: 30; }
  .totals-floating p {
    margin: 0; }

.simple-wrap {
  max-width: 1520px !important;
  margin: auto !important;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center; }

.configured-total-price-container {
  font-weight: 600;
  font-size: 18px; }
  .configured-total-price-container .configured-total-price {
    color: #3cb67a; }

.normal-btn {
  display: inline-block;
  padding: 10px 30px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  margin-top: 20px;
  padding: 10px 30px;
  border: 2px solid #3cb67a !important;
  background-color: #3cb67a !important;
  color: white !important;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  max-width: 400px;
  min-width: 240px;
  transition: none !important; }
  .normal-btn:hover {
    background-color: #fff !important;
    color: #3cb67a !important; }

div.woocommerce-LoopProduct-link h2 {
  margin-top: 10px !important; }

.section-selector {
  position: relative; }

.add-sections-container .unselectable-inner {
  display: none;
  position: absolute;
  inset: 0;
  justify-content: center;
  align-items: center;
  padding: 40px;
  text-align: center;
  background-color: #ffffffaf;
  font-weight: 600;
  backdrop-filter: blur(3px); }

.add-sections-container .unselectable .unselectable-inner {
  display: none; }

#recommended_shop h2 {
  margin-bottom: 10px; }

#recommended_shop .products {
  display: flex;
  flex-wrap: wrap; }

.added-overlay {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center; }
  .added-overlay div {
    background-color: #48a3d8;
    border-bottom-left-radius: 12px;
    height: 30px;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-weight: 600; }

.snackbar {
  position: fixed;
  bottom: 10%;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 100000000000;
  display: none; }
  .snackbar .inner {
    background-color: #616d79;
    color: white;
    padding: 10px 50px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
    text-align: center; }
  .snackbar.success .inner {
    border-left: 8px solid #3cb67a; }
  .snackbar.warning .inner {
    border-left: 8px solid #f1b52d; }
  .snackbar.error .inner {
    border-left: 8px solid #e14d4d; }

.simple-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  .simple-container .save-cart-later {
    margin-top: 20px;
    cursor: pointer;
    border: 1px solid #3cb67a;
    color: #3cb67a !important;
    background-color: white !important;
    padding: 10px 30px !important; }
    .simple-container .save-cart-later:hover {
      background-color: #3cb67a !important;
      color: white !important; }

.save-cart-dialog {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
  z-index: 20000000000;
  position: fixed;
  inset: 0; }
  .save-cart-dialog .sv-inner {
    padding: 30px;
    background-color: #fff;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    position: relative;
    max-width: 320px;
    text-align: center; }
    .save-cart-dialog .sv-inner button {
      width: 100%;
      cursor: pointer; }
    .save-cart-dialog .sv-inner input {
      width: 100%; }
  .save-cart-dialog .save-inner {
    display: flex; }
    .save-cart-dialog .save-inner .close-save-cart {
      position: absolute;
      top: 10px;
      right: 10px;
      border-radius: 50%;
      background-color: #505c6b;
      color: white;
      width: 30px;
      height: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 600;
      cursor: pointer; }

.free-no-btn {
  border: 1px solid #3cb67a !important;
  color: #3cb67a !important;
  background-color: white !important;
  padding: 4px 5px !important;
  width: 100% !important;
  text-transform: uppercase; }

.save-check-cart-btn,
.save-check-final,
.save-cart-btn {
  border: 1px solid #3cb67a !important;
  color: #fff !important;
  background-color: #3cb67a !important;
  text-transform: uppercase; }

.alresco-configurator-main-container .add-styles-container {
  justify-content: center; }

.incompatibility-dialog {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  z-index: 20000000000;
  display: none;
  justify-content: center;
  align-items: center; }
  .incompatibility-dialog .dialog-inner {
    background-color: white;
    padding: 40px;
    max-width: 500px;
    margin: 20px;
    text-align: center;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); }
    .incompatibility-dialog .dialog-inner h3 {
      color: #dc3545;
      margin-bottom: 20px;
      font-size: 24px; }
    .incompatibility-dialog .dialog-inner p {
      color: #666;
      margin-bottom: 30px;
      font-size: 16px;
      line-height: 1.5; }
    .incompatibility-dialog .dialog-inner .dialog-buttons {
      display: flex;
      gap: 15px;
      justify-content: center;
      flex-wrap: wrap; }
      .incompatibility-dialog .dialog-inner .dialog-buttons .btn {
        padding: 12px 24px;
        border: none;
        font-weight: 600;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.2s ease;
        min-width: 140px; }
        .incompatibility-dialog .dialog-inner .dialog-buttons .btn.btn-secondary {
          background-color: #f8f9fa;
          color: #6c757d;
          border: 1px solid #dee2e6; }
          .incompatibility-dialog .dialog-inner .dialog-buttons .btn.btn-secondary:hover {
            background-color: #e2e6ea;
            color: #5a6268; }
        .incompatibility-dialog .dialog-inner .dialog-buttons .btn.btn-primary {
          background-color: #3cb67a;
          color: white; }

.style-highlight {
  animation: highlightPulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden; }

@keyframes highlightPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(60, 182, 122, 0.7);
    transform: scale(1); }
  25% {
    box-shadow: 0 0 0 10px rgba(60, 182, 122, 0.3);
    transform: scale(1.05); }
  50% {
    box-shadow: 0 0 0 20px rgba(60, 182, 122, 0.1);
    transform: scale(1); }
  75% {
    box-shadow: 0 0 0 10px rgba(60, 182, 122, 0.3);
    transform: scale(1.05); }
  100% {
    box-shadow: 0 0 0 0 rgba(60, 182, 122, 0);
    transform: scale(1); } }

/* Override borders for previous buttons */
.prev-step-btn {
  border: none !important; }

/* Mobile Progress Indicator - HIDDEN */
.mobile-progress-indicator {
  display: none !important; }

/* Mobile progress connector lines */
.mobile-progress-connector {
  width: 1.5rem;
  /* Wider to overlap with mobile circles better */
  height: 4px;
  background: rgba(255, 255, 255, 0.3);
  /* Default inactive color */
  transition: background-color 0.3s ease;
  flex-shrink: 0;
  /* Prevent shrinking */
  align-self: center;
  /* Vertically center with step circles */
  position: relative;
  top: -0.575rem;
  /* Move up to align with mobile circle centers */
  margin: 0 -0.5rem;
  /* More aggressive negative margins to match desktop approach */
  /* Green when step before it is completed */ }
  .mobile-progress-connector.completed {
    background: #3cb67a; }

.mobile-progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  /* Prevent shrinking */
  min-width: 3rem;
  /* Consistent step width like desktop */ }
  .mobile-progress-step:hover:not(.disabled):not(.active) .mobile-step-circle {
    transform: scale(1.05); }
  .mobile-progress-step .mobile-step-circle {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #6c757d;
    /* Changed from transparent to solid gray */
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.75rem;
    transition: all 0.2s ease;
    z-index: 1;
    /* Ensure circles appear above the progress lines */ }
  .mobile-progress-step .mobile-step-label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    font-weight: 500; }
  .mobile-progress-step.active {
    pointer-events: none;
    /* Disable clicking on active step */
    cursor: default;
    /* Remove pointer cursor */ }
    .mobile-progress-step.active .mobile-step-circle {
      background: white;
      color: #42a2da; }
    .mobile-progress-step.active .mobile-step-label {
      color: white;
      font-weight: 600; }
  .mobile-progress-step.completed .mobile-step-circle {
    background: #3cb67a;
    color: white; }
  .mobile-progress-step.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none; }
    .mobile-progress-step.disabled .mobile-step-circle {
      background: rgba(255, 255, 255, 0.1); }

/* Mobile Fixed Navigation Bars */
.mobile-step-nav {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 1001;
  background: #616d79;
  padding: 7px 20px;
  bottom: -2px;
  /* Fix for mysterious 2px gap */
  /* Account for safe area on mobile devices */
  padding-bottom: calc(7px + env(safe-area-inset-bottom));
  display: flex;
  gap: 12px;
  /* Green progress bar (copied from desktop configurator-overlay-footer) */
  position: relative;
  /* Hide mobile nav when any popup is open */
  /* Mobile step previous button styling */
  /* Mobile step next button styling - GREEN like desktop */ }
  .mobile-step-nav::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 100%;
    height: 3px;
    background: #3cb67a;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10;
    /* Higher than content to appear on top */
    width: 16.666%;
    /* Default to step-1 */ }
  .mobile-step-nav.step-1::after {
    width: 16.666%; }
  .mobile-step-nav.step-2::after {
    width: 33.333%; }
  .mobile-step-nav.step-3::after {
    width: 50%; }
  .mobile-step-nav.step-4::after {
    width: 66.666%; }
  .mobile-step-nav.step-5::after {
    width: 83.333%; }
  .mobile-step-nav.step-6::after {
    width: 100%; }
  @media (min-width: 768px) {
    .mobile-step-nav {
      display: none !important; } }
  .floating-container[style*="display: flex"] ~ .mobile-step-nav,
  .floating-container[style*="display: block"] ~ .mobile-step-nav {
    display: none !important; }
  .mobile-step-nav button {
    flex: 1;
    padding: 4px 16px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #495057;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; }
    .mobile-step-nav button:hover {
      background: #e9ecef; }
    .mobile-step-nav button:disabled {
      background: #cccccc !important;
      color: #999999 !important;
      opacity: 1 !important;
      /* Use solid grayed out colors instead of opacity */
      cursor: not-allowed !important;
      border: 1px solid #dddddd !important; }
  .mobile-step-nav .mobile-step-prev {
    background: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    color: #495057 !important;
    text-transform: uppercase;
    /* Remove hover and active states to prevent dark effects on mobile */ }
    .mobile-step-nav .mobile-step-prev:disabled {
      background: #cccccc !important;
      color: #999999 !important;
      opacity: 1 !important;
      cursor: not-allowed !important;
      border: 1px solid #dddddd !important; }
  .mobile-step-nav .mobile-step-next {
    background: #3cb67a !important;
    border: 1px solid #3cb67a !important;
    color: white !important;
    text-transform: uppercase;
    /* Remove hover and active states to prevent dark effects on mobile */
    /* Green styling for "Go to Basket" button */ }
    .mobile-step-nav .mobile-step-next:disabled {
      background: #cccccc !important;
      color: #999999 !important;
      opacity: 1 !important;
      cursor: not-allowed !important;
      border: 1px solid #dddddd !important; }
    .mobile-step-nav .mobile-step-next.basket-button {
      background: #3cb67a;
      border-color: #3cb67a;
      color: white; }
      .mobile-step-nav .mobile-step-next.basket-button:hover {
        background: #339966;
        border-color: #2d8554; }
    .mobile-step-nav .mobile-step-next .mobile-step-arrow {
      font-size: 16px;
      font-weight: bold; }

/* Adjust overlay content for fixed navigation */
@media (max-width: 767px) {
  .configurator-overlay-content {
    /* Remove duplicate height calculations since we now handle it in the main rule */
    /* Enhanced mobile scrolling */
    -webkit-overflow-scrolling: touch;
    /* Prevent momentum scrolling bounce */
    overscroll-behavior: contain;
    /* Ensure content doesn't get cut off on mobile */
    padding-bottom: calc(env(safe-area-inset-bottom) + 20px); } }

/* Edit Section Popup State - Hide Footer Navigation */
.configurer-section[style*="flex"] ~ .configurator-overlay .configurator-overlay-footer,
.configurer-section:not([style*="none"]):not([style=""]) ~ .configurator-overlay .configurator-overlay-footer {
  display: none !important; }

/* Ensure edit section popup has higher z-index than footer */
.configurer-section {
  z-index: 10000;
  /* Higher than overlay footer z-index */ }
  .configurer-section[style*="flex"] {
    display: flex !important; }

/* Save/Cancel button floating container
   Wrap buttons in a centered inner container so they line up with the edit popup */
.edit-section-floating-buttons {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid #e0e0e0;
  padding: 6px 0;
  /* outer vertical padding only - inner container handles horizontal padding */
  display: none;
  /* Hidden by default */
  justify-content: center;
  /* center the inner container */
  align-items: center;
  gap: 12px;
  z-index: 10001;
  /* Above the configurator overlay and edit section */
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
  /* Inner container that sets horizontal max-width and alignment to match popups */ }
  .edit-section-floating-buttons .edit-section-floating-inner {
    width: 100%;
    max-width: 600px;
    padding: 6px 20px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px; }
  .edit-section-floating-buttons .section-status-message {
    display: none !important;
    /* Hide the section status message completely */
    margin-right: auto;
    color: #666;
    font-size: 14px;
    font-style: italic; }
    .edit-section-floating-buttons .section-status-message.not-configured {
      color: #e74c3c; }
  .edit-section-floating-buttons .edit-section-cancel {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    font-size: 14px;
    padding: 8px 16px;
    text-transform: uppercase; }
    .edit-section-floating-buttons .edit-section-cancel:hover {
      color: #333; }
  .edit-section-floating-buttons .edit-section-save {
    background-color: #3cb67a;
    color: white;
    border: none;
    padding: 12px 24px;
    cursor: pointer;
    font-size: 14px;
    border-radius: 0;
    font-weight: 500;
    text-transform: uppercase; }
    .edit-section-floating-buttons .edit-section-save:hover:not(:disabled) {
      background-color: #359a6b; }
    .edit-section-floating-buttons .edit-section-save:disabled {
      background-color: #ccc;
      cursor: not-allowed;
      opacity: 0.6; }

/* Ensure inner container is responsive on small screens */
@media (max-width: 480px) {
  .edit-section-floating-buttons .edit-section-floating-inner {
    padding: 6px 15px;
    max-width: 95%; } }

/* Show floating buttons when edit section is open */
.configurator-overlay.edit-section-open .edit-section-floating-buttons {
  display: flex !important; }

/* Add padding to configurer section content to prevent overlap with floating buttons */
.configurer-section {
  padding-bottom: 80px;
  /* Space for floating buttons */ }

/* Footer navigation polishing */
.configurator-overlay-footer {
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; }
  .configurator-overlay-footer.footer-hidden {
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none; }

/* Force hide elements with !important override */
.force-hidden {
  display: none !important; }

/* Hide the overlay header while editing a section.
   We toggle .header-hidden on the overlay to hide the header safely
   (useful on mobile and desktop responsive modes).
   Also hide mobile-specific header/nav elements to avoid the mobile-step-nav
   appearing when edit UI opens. */
.configurator-overlay.header-hidden .configurator-overlay-header {
  display: none !important; }

/* Hide the mobile step nav & mobile progress indicator when header is hidden */
.configurator-overlay.header-hidden .mobile-step-nav,
.configurator-overlay.header-hidden .mobile-progress-indicator {
  display: none !important; }

.cont-600 {
  max-width: 600px !important; }

/* ===========================
   STYLE/FINISH SELECTION DIALOG
   =========================== */
.selection-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  /* Prefer using the --vh fallback to avoid postcss-calc parsing issues.
       dvh is feature-detected by browsers; keep as a progressive enhancement via @supports if needed. */
  height: calc(var(--vh, 1vh) * 100);
  z-index: 999999;
  /* Above overlay */
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  /* Ensure the ADD & CONFIGURE button matches the primary ADD button padding */ }
  .selection-dialog .selection-dialog-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    cursor: pointer;
    backdrop-filter: blur(4px); }
  .selection-dialog .selection-dialog-content {
    position: relative;
    background: white;
    border-radius: 0;
    max-width: 500px;
    width: 90%;
    /* Use --vh fallback and multiply by 90 to express 90% of the visible viewport.
           This avoids postcss-calc errors with dvh. */
    max-height: calc(var(--vh, 1vh) * 90);
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); }
    @media (max-width: 767px) {
      .selection-dialog .selection-dialog-content {
        max-width: 95%;
        border-radius: 0; } }
    .selection-dialog .selection-dialog-content .selection-dialog-close {
      position: absolute;
      top: 8px;
      right: 8px;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: #ffffff;
      /* white circle */
      color: #000000;
      /* black X */
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      line-height: 1;
      cursor: pointer;
      z-index: 2;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
      /* subtle elevation */ }
  .selection-dialog .selection-dialog-image {
    width: 100%;
    height: 320px;
    overflow: hidden;
    border-radius: 0; }
    @media (max-width: 767px) {
      .selection-dialog .selection-dialog-image {
        height: 320px;
        border-radius: 0; } }
    @media (max-width: 450px) {
      .selection-dialog .selection-dialog-image {
        height: 250px;
        border-radius: 0; } }
    .selection-dialog .selection-dialog-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .selection-dialog.section-selection-dialog .selection-dialog-image img {
    object-fit: contain;
    object-position: center; }
  .selection-dialog .selection-dialog-text {
    padding: 2rem; }
    @media (max-width: 767px) {
      .selection-dialog .selection-dialog-text {
        padding: 1.5rem; } }
  .selection-dialog .selection-dialog-title {
    margin: 0 0 1rem 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #29323b; }
    @media (max-width: 767px) {
      .selection-dialog .selection-dialog-title {
        font-size: 1.25rem; } }
  .selection-dialog .selection-dialog-description {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #666; }
  .selection-dialog .selection-dialog-actions {
    padding: 0 2rem 2rem 2rem;
    display: flex;
    gap: 1rem;
    justify-content: flex-end; }
    @media (max-width: 767px) {
      .selection-dialog .selection-dialog-actions {
        padding: 0 1.5rem 1.5rem 1.5rem;
        flex-direction: column-reverse; } }
  .selection-dialog .selection-dialog-cancel {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    transition: color 0.2s ease; }
    .selection-dialog .selection-dialog-cancel:hover {
      color: #333; }
  .selection-dialog .selection-dialog-select {
    background: #3cb67a;
    color: white;
    border: none;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.2s ease; }
    .selection-dialog .selection-dialog-select:hover {
      background: #339966; }
    @media (max-width: 767px) {
      .selection-dialog .selection-dialog-select {
        width: 100%; } }
  .selection-dialog .selection-dialog-add-configure {
    padding: 0.75rem 1.5rem !important;
    cursor: pointer !important; }

/* Remove Section Confirmation Dialog */
.remove-section-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  /* Above overlay */
  display: flex;
  align-items: center;
  justify-content: center; }
  .remove-section-dialog .remove-section-dialog-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    cursor: pointer;
    backdrop-filter: blur(4px); }
  .remove-section-dialog .remove-section-dialog-content {
    position: relative;
    background: white;
    border-radius: 0;
    max-width: 400px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); }
    @media (max-width: 767px) {
      .remove-section-dialog .remove-section-dialog-content {
        max-width: 95%;
        border-radius: 0; } }
  .remove-section-dialog .remove-section-dialog-text {
    padding: 2rem;
    text-align: center; }
    @media (max-width: 767px) {
      .remove-section-dialog .remove-section-dialog-text {
        padding: 1.5rem; } }
  .remove-section-dialog .remove-section-dialog-title {
    margin: 0 0 1rem 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #29323b; }
    @media (max-width: 767px) {
      .remove-section-dialog .remove-section-dialog-title {
        font-size: 1.25rem; } }
  .remove-section-dialog .remove-section-dialog-description {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #666; }
  .remove-section-dialog .remove-section-dialog-actions {
    padding: 0 2rem 2rem 2rem;
    display: flex;
    gap: 1rem;
    justify-content: flex-end; }
    @media (max-width: 767px) {
      .remove-section-dialog .remove-section-dialog-actions {
        padding: 0 1.5rem 1.5rem 1.5rem;
        flex-direction: column-reverse; } }
  .remove-section-dialog .remove-section-dialog-cancel {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    transition: color 0.2s ease; }
    .remove-section-dialog .remove-section-dialog-cancel:hover {
      color: #333; }
  .remove-section-dialog .remove-section-dialog-confirm {
    background: #f12a17;
    color: white;
    border: none;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.2s ease; }
    .remove-section-dialog .remove-section-dialog-confirm:hover {
      background: #d12015; }
    @media (max-width: 767px) {
      .remove-section-dialog .remove-section-dialog-confirm {
        width: 100%; } }

@media (max-width: 400px) {
  .section-selector {
    min-width: 200px; } }

.no-scroll {
  height: 0 !important;
  min-height: 0 !important; }

/* Stack buttons for ShowAllSectionsConfiguredDialog */
.selection-dialog.all-sections-configured-dialog .selection-dialog-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem;
  justify-content: center; }

/* Make "Add Another Section" and "Edit your Sections" buttons show pointer */
.selection-dialog.all-sections-configured-dialog .all-sections-add,
.selection-dialog.all-sections-configured-dialog .all-sections-edit {
  cursor: pointer !important; }

/* Ensure mobile rule doesn't override to column-reverse */
@media (max-width: 767px) {
  .selection-dialog.all-sections-configured-dialog .selection-dialog-actions {
    flex-direction: column !important; } }

/* Ensure selection dialog titles use capitalized words */
.selection-dialog .selection-dialog-title {
  text-transform: capitalize; }

/* Fixed circular close icon for Parts List (overrides default .close_parts_page) */
.close_parts_page.close-parts-icon {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 99999 !important;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  padding: 0;
  margin: 0;
  text-transform: none !important;
  cursor: pointer; }

/* Prevent inherited pill/button styles from affecting the icon */
.close_parts_page.close-parts-icon,
.close_parts_page.close-parts-icon * {
  text-transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  border-radius: 50% !important;
  background: #fff !important; }

/* Slight hover state */
.close_parts_page.close-parts-icon:hover {
  background: #fff;
  transform: none;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12); }

/* Padding for parts shop items container */
.item-list-container.parts_shop_items {
  padding-top: 30px;
  padding-bottom: 30px; }

.manage-order-wrapper {
  margin-bottom: 120px;
  padding: 20px 15px; }
  .manage-order-wrapper .add-btn {
    display: inline-block;
    padding: 7px 13px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 10px;
    cursor: pointer;
    margin: 5px;
    transition: all 0.1s ease-in-out;
    background-color: #d6d6d6;
    color: #000;
    margin-left: 10px;
    font-family: Lato; }
    .manage-order-wrapper .add-btn:hover {
      background-color: #bdbdbd;
      box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }
  .manage-order-wrapper .manage-section {
    margin-bottom: 50px; }
    .manage-order-wrapper .manage-section > h3 {
      display: flex;
      align-items: center;
      border-bottom: 1px solid #e2e2e2;
      padding-bottom: 7px; }
      @media (max-width: 685px) {
        .manage-order-wrapper .manage-section > h3 {
          justify-content: center; } }
  .manage-order-wrapper .bespoke-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; }
    .manage-order-wrapper .bespoke-list .bespoke-item {
      background-color: #f1f1f1;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding: 15px;
      min-width: 250px; }
      @media (max-width: 400px) {
        .manage-order-wrapper .bespoke-list .bespoke-item {
          margin: 0; } }
      .manage-order-wrapper .bespoke-list .bespoke-item .name {
        display: flex;
        flex-direction: column;
        align-items: center; }
        .manage-order-wrapper .bespoke-list .bespoke-item .name img {
          max-width: 250px;
          width: 100%; }
      .manage-order-wrapper .bespoke-list .bespoke-item .details {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        flex: 1; }
        .manage-order-wrapper .bespoke-list .bespoke-item .details .not-configured {
          margin: 0;
          color: red;
          font-size: 11px; }
        .manage-order-wrapper .bespoke-list .bespoke-item .details .waiting-angle {
          margin: 0;
          color: #ff7b00;
          font-size: 11px; }
        .manage-order-wrapper .bespoke-list .bespoke-item .details h3 {
          margin-top: 20px;
          font-size: 17px; }
          .manage-order-wrapper .bespoke-list .bespoke-item .details h3 .calculated-price {
            font-size: 13px; }
        .manage-order-wrapper .bespoke-list .bespoke-item .details p {
          margin: 6px 0;
          font-size: 13px; }
        .manage-order-wrapper .bespoke-list .bespoke-item .details .meta {
          flex: 1; }
        .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons {
          margin-top: 15px;
          display: flex;
          flex-wrap: wrap; }
          .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn {
            display: inline-block;
            padding: 10px 30px;
            text-transform: uppercase;
            font-weight: 700;
            font-size: 12px;
            cursor: pointer;
            margin: 5px;
            transition: all 0.2s ease-in-out; }
            .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn:hover {
              box-shadow: 0 6px 6px rgba(0, 0, 0, 0.3); }
            .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-edit {
              background-color: #d6d6d6;
              color: #151515; }
              .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-edit:hover {
                background-color: #bdbdbd; }
            .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-remove {
              background-color: #f35151;
              color: #ffffff; }
              .manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-remove:hover {
                background-color: #c43131; }
  .manage-order-wrapper .pre-painting-wrapper {
    display: none; }
    .manage-order-wrapper .pre-painting-wrapper.available {
      display: block; }

.edit-bespoke-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  justify-items: center;
  align-content: center;
  z-index: 5000000000; }
  .edit-bespoke-popup.open {
    display: flex; }
  .edit-bespoke-popup .edit-bespoke-inner {
    background-color: white;
    max-width: 520px;
    width: 100%;
    max-height: 80vh;
    border-radius: 5px;
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin: auto; }
    @media (max-width: 1000px) {
      .edit-bespoke-popup .edit-bespoke-inner {
        max-height: 96vh; } }
    @media (max-width: 600px) {
      .edit-bespoke-popup .edit-bespoke-inner {
        margin-left: 10px;
        margin-right: 10px;
        max-width: 600px; } }
    .edit-bespoke-popup .edit-bespoke-inner .edit-area {
      flex: 1;
      overflow-y: auto;
      padding: 15px; }
    .edit-bespoke-popup .edit-bespoke-inner .action-area {
      background-color: #cacaca;
      height: 46px;
      min-height: 46px;
      display: none;
      justify-content: space-around;
      align-items: center; }
      .edit-bespoke-popup .edit-bespoke-inner .action-area .btn {
        padding: 6px 25px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease-in-out; }
        .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.cancel-bespoke-edit {
          background-color: #ececec; }
          .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.cancel-bespoke-edit:hover {
            box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }
        .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.save-bespoke-edit, .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.add-bespoke-edit {
          background-color: #3cb67a;
          color: white; }
          .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.save-bespoke-edit:hover, .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.add-bespoke-edit:hover {
            box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }
  .edit-bespoke-popup.edit-mode .action-edit {
    display: flex; }
  .edit-bespoke-popup.add-mode .action-add {
    display: flex; }
  .edit-bespoke-popup.add-new-mode .action-cancel {
    display: flex; }

.bespoke-edit-container .video-container {
  width: 100%;
  margin-bottom: 20px; }

.bespoke-edit-container a {
  font-size: 12px;
  margin: 5px 0 0px 0; }

.bespoke-edit-container .step-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #e1e1e1; }
  .bespoke-edit-container .step-container .instruction-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 16px 6px; }
    .bespoke-edit-container .step-container .instruction-container h3 {
      font-size: 17px;
      margin: 0;
      text-align: center; }
    .bespoke-edit-container .step-container .instruction-container p {
      font-size: 14px;
      margin: 0;
      margin-bottom: 5px;
      margin-top: 5px;
      text-align: center; }
    .bespoke-edit-container .step-container .instruction-container .additional-lengths {
      display: flex;
      width: 100%;
      justify-content: space-around; }
    .bespoke-edit-container .step-container .instruction-container .second-length,
    .bespoke-edit-container .step-container .instruction-container .third-length {
      margin-top: 15px;
      font-size: 13px;
      font-weight: 600;
      text-align: center; }
      .bespoke-edit-container .step-container .instruction-container .second-length p,
      .bespoke-edit-container .step-container .instruction-container .third-length p {
        margin: 0; }
      .bespoke-edit-container .step-container .instruction-container .second-length button,
      .bespoke-edit-container .step-container .instruction-container .third-length button {
        margin-top: 5px;
        padding: 4px 10px;
        border: 1px solid #3e4b5b;
        border-radius: 12px;
        cursor: pointer;
        text-transform: uppercase; }
        .bespoke-edit-container .step-container .instruction-container .second-length button:hover,
        .bespoke-edit-container .step-container .instruction-container .third-length button:hover {
          border: 1px solid #3e4b5b;
          color: #3e4b5b; }
    .bespoke-edit-container .step-container .instruction-container .input-container {
      display: flex;
      justify-content: stretch;
      align-items: center;
      padding: 0px 30px 0 0;
      background-color: #e1e1e1;
      border-radius: 8px;
      width: 80%; }
      .bespoke-edit-container .step-container .instruction-container .input-container textarea:focus,
      .bespoke-edit-container .step-container .instruction-container .input-container input:focus {
        outline: none; }
      .bespoke-edit-container .step-container .instruction-container .input-container input {
        width: 100%;
        font-size: 16px;
        line-height: 36px;
        border: 0;
        color: #3c4c5c;
        font-weight: 600;
        padding: 0px 0px 0px 30px; }
      .bespoke-edit-container .step-container .instruction-container .input-container .inner-input {
        margin-left: 5px;
        margin-right: 5px;
        margin-bottom: 3px;
        white-space: nowrap; }
    .bespoke-edit-container .step-container .instruction-container .instruction-step {
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 50%;
      font-size: 22px;
      height: 30px;
      width: 30px;
      font-weight: 800;
      padding: 24px;
      color: #fff;
      margin-bottom: 20px; }
    .bespoke-edit-container .step-container .instruction-container .direction-chooser-container {
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #dbdbdb;
      border-radius: 8px; }
      .bespoke-edit-container .step-container .instruction-container .direction-chooser-container .direction-chooser {
        padding: 10px 40px;
        border: 0;
        border-radius: 8px;
        font-size: 15px;
        color: #2c2c2c;
        cursor: pointer;
        outline: 0 !important; }
        .bespoke-edit-container .step-container .instruction-container .direction-chooser-container .direction-chooser.chosen {
          background-color: #ffb310;
          color: #fff;
          -webkit-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
          -moz-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
          box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48); }
        .bespoke-edit-container .step-container .instruction-container .direction-chooser-container .direction-chooser:hover {
          -webkit-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
          -moz-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
          box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48); }
      .bespoke-edit-container .step-container .instruction-container .direction-chooser-container .end-chooser {
        padding: 10px 40px;
        border: 0;
        font-size: 15px;
        color: #fff !important;
        border: 1px solid #fff;
        background-color: transparent;
        cursor: pointer;
        outline: 0 !important;
        margin: 0 5px; }
        .bespoke-edit-container .step-container .instruction-container .direction-chooser-container .end-chooser.chosen {
          background-color: #3cb67a !important;
          border: 1px solid #3cb67a; }
        .bespoke-edit-container .step-container .instruction-container .direction-chooser-container .end-chooser:hover {
          background-color: #3cb67a !important;
          border: 1px solid #3cb67a; }
    .bespoke-edit-container .step-container .instruction-container .angle-request-container {
      display: flex;
      margin-top: 25px;
      align-items: center;
      color: white;
      font-size: 12px; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .request-text {
        flex: 1;
        padding-right: 10px; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch {
        position: relative;
        display: inline-block; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-input {
        display: none; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label {
        display: block;
        width: 48px;
        height: 19px;
        text-indent: -150%;
        clip: rect(0 0 0 0);
        color: transparent;
        user-select: none; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::before,
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::after {
        content: "";
        display: block;
        position: absolute;
        cursor: pointer; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::before {
        width: 100%;
        height: 100%;
        background-color: #dedede;
        border-radius: 9999em;
        -webkit-transition: background-color 0.25s ease;
        transition: background-color 0.25s ease; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::after {
        top: -2px;
        left: 0;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background-color: #fff;
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
        -webkit-transition: left 0.25s ease;
        transition: left 0.25s ease; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::before {
        background-color: #3197d5; }
      .bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::after {
        left: 24px; }

.add-bespoke-container {
  display: flex;
  flex-wrap: wrap; }
  .add-bespoke-container .product-selection-container {
    background-color: #f1f1f1;
    padding: 16px;
    border-radius: 5px;
    margin: 10px;
    flex: 1 1 170px; }
    .add-bespoke-container .product-selection-container .disabled-message {
      font-size: 12px;
      text-align: center;
      padding: 0; }
    .add-bespoke-container .product-selection-container .product-selection-inner {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .add-bespoke-container .product-selection-container .product-selection-inner h3 {
        margin-top: 10px;
        margin-bottom: 10px; }
      .add-bespoke-container .product-selection-container .product-selection-inner img {
        width: 100%; }
      .add-bespoke-container .product-selection-container .product-selection-inner .btn {
        padding: 4px 25px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        font-size: 12px;
        margin-bottom: 4px; }
        .add-bespoke-container .product-selection-container .product-selection-inner .btn.add-new-bespoke-btn {
          background-color: #3cb67a;
          color: white; }
          .add-bespoke-container .product-selection-container .product-selection-inner .btn.add-new-bespoke-btn:hover {
            box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }

.regular-list .regular-item-container:nth-child(odd) {
  background-color: #f1f1f1; }

.regular-item-container {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  padding: 3px 10px;
  flex-wrap: wrap;
  max-width: 1000px; }
  @media (max-width: 960px) {
    .regular-item-container {
      padding: 15px;
      justify-content: center; } }
  .regular-item-container .item-data {
    display: flex;
    align-items: center; }
    .regular-item-container .item-data h4 {
      margin: 0; }
    .regular-item-container .item-data p {
      margin: 4px 0; }
    .regular-item-container .item-data img {
      width: 40px;
      height: 40px;
      margin-right: 20px; }
    @media (max-width: 960px) {
      .regular-item-container .item-data {
        width: 100%;
        justify-content: center;
        margin-bottom: 20px; } }
  .regular-item-container .item-actions {
    display: flex;
    align-items: center; }
    .regular-item-container .item-actions .price {
      font-weight: 600;
      margin-right: 14px; }
    .regular-item-container .item-actions .quantity-container {
      display: flex;
      align-items: center; }
      .regular-item-container .item-actions .quantity-container .quant {
        display: flex;
        justify-items: center;
        align-content: center;
        padding: 8px 12px;
        cursor: pointer;
        font-weight: 600; }
        .regular-item-container .item-actions .quantity-container .quant:hover {
          color: #ffb310; }
    .regular-item-container .item-actions .btn {
      padding: 4px 10px;
      border-radius: 20px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s ease-in-out;
      font-size: 12px;
      background-color: #f35151;
      color: #ffffff;
      margin-left: 20px; }
      .regular-item-container .item-actions .btn:hover {
        box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }
    .regular-item-container .item-actions.disabled .quantity-container,
    .regular-item-container .item-actions.disabled .btn {
      pointer-events: none;
      opacity: 0.2; }

.configurator-range-container .not-available-info,
.pre-paint-container .not-available-info {
  font-size: 12px;
  color: #f35151;
  display: none; }

.configurator-range-container .addition-option-line,
.configurator-range-container .prepaint-option-line,
.pre-paint-container .addition-option-line,
.pre-paint-container .prepaint-option-line {
  display: flex;
  max-width: 420px;
  width: 100%;
  padding: 5px 8px; }
  .configurator-range-container .addition-option-line img,
  .configurator-range-container .prepaint-option-line img,
  .pre-paint-container .addition-option-line img,
  .pre-paint-container .prepaint-option-line img {
    height: 32px;
    width: 32px;
    margin-right: 10px;
    border: 1px solid #bcbcbc;
    border-radius: 50%; }
  .configurator-range-container .addition-option-line.locked,
  .configurator-range-container .prepaint-option-line.locked,
  .pre-paint-container .addition-option-line.locked,
  .pre-paint-container .prepaint-option-line.locked {
    opacity: 0.4;
    cursor: default !important;
    pointer-events: none !important; }
  .configurator-range-container .addition-option-line.unclickable,
  .configurator-range-container .prepaint-option-line.unclickable,
  .pre-paint-container .addition-option-line.unclickable,
  .pre-paint-container .prepaint-option-line.unclickable {
    cursor: default !important;
    pointer-events: none !important; }
  .configurator-range-container .addition-option-line .addition-option-text,
  .configurator-range-container .addition-option-line .prepaint-option-text,
  .configurator-range-container .prepaint-option-line .addition-option-text,
  .configurator-range-container .prepaint-option-line .prepaint-option-text,
  .pre-paint-container .addition-option-line .addition-option-text,
  .pre-paint-container .addition-option-line .prepaint-option-text,
  .pre-paint-container .prepaint-option-line .addition-option-text,
  .pre-paint-container .prepaint-option-line .prepaint-option-text {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column; }
    .configurator-range-container .addition-option-line .addition-option-text p,
    .configurator-range-container .addition-option-line .prepaint-option-text p,
    .configurator-range-container .prepaint-option-line .addition-option-text p,
    .configurator-range-container .prepaint-option-line .prepaint-option-text p,
    .pre-paint-container .addition-option-line .addition-option-text p,
    .pre-paint-container .addition-option-line .prepaint-option-text p,
    .pre-paint-container .prepaint-option-line .addition-option-text p,
    .pre-paint-container .prepaint-option-line .prepaint-option-text p {
      margin-bottom: 0;
      font-size: 12px; }
      .configurator-range-container .addition-option-line .addition-option-text p:first-child,
      .configurator-range-container .addition-option-line .prepaint-option-text p:first-child,
      .configurator-range-container .prepaint-option-line .addition-option-text p:first-child,
      .configurator-range-container .prepaint-option-line .prepaint-option-text p:first-child,
      .pre-paint-container .addition-option-line .addition-option-text p:first-child,
      .pre-paint-container .addition-option-line .prepaint-option-text p:first-child,
      .pre-paint-container .prepaint-option-line .addition-option-text p:first-child,
      .pre-paint-container .prepaint-option-line .prepaint-option-text p:first-child {
        font-size: 16px; }
  .configurator-range-container .addition-option-line .addition-option-check,
  .configurator-range-container .addition-option-line .prepaint-option-check,
  .configurator-range-container .prepaint-option-line .addition-option-check,
  .configurator-range-container .prepaint-option-line .prepaint-option-check,
  .pre-paint-container .addition-option-line .addition-option-check,
  .pre-paint-container .addition-option-line .prepaint-option-check,
  .pre-paint-container .prepaint-option-line .addition-option-check,
  .pre-paint-container .prepaint-option-line .prepaint-option-check {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    padding: 8px; }
    .configurator-range-container .addition-option-line .addition-option-check .addition-check-inner,
    .configurator-range-container .addition-option-line .addition-option-check .prepaint-check-inner,
    .configurator-range-container .addition-option-line .prepaint-option-check .addition-check-inner,
    .configurator-range-container .addition-option-line .prepaint-option-check .prepaint-check-inner,
    .configurator-range-container .prepaint-option-line .addition-option-check .addition-check-inner,
    .configurator-range-container .prepaint-option-line .addition-option-check .prepaint-check-inner,
    .configurator-range-container .prepaint-option-line .prepaint-option-check .addition-check-inner,
    .configurator-range-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner,
    .pre-paint-container .addition-option-line .addition-option-check .addition-check-inner,
    .pre-paint-container .addition-option-line .addition-option-check .prepaint-check-inner,
    .pre-paint-container .addition-option-line .prepaint-option-check .addition-check-inner,
    .pre-paint-container .addition-option-line .prepaint-option-check .prepaint-check-inner,
    .pre-paint-container .prepaint-option-line .addition-option-check .addition-check-inner,
    .pre-paint-container .prepaint-option-line .addition-option-check .prepaint-check-inner,
    .pre-paint-container .prepaint-option-line .prepaint-option-check .addition-check-inner,
    .pre-paint-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner {
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      background-color: #dfdfdf;
      border-radius: 4px;
      padding: 4px;
      height: 25px;
      width: 25px; }
      .configurator-range-container .addition-option-line .addition-option-check .addition-check-inner svg,
      .configurator-range-container .addition-option-line .addition-option-check .prepaint-check-inner svg,
      .configurator-range-container .addition-option-line .prepaint-option-check .addition-check-inner svg,
      .configurator-range-container .addition-option-line .prepaint-option-check .prepaint-check-inner svg,
      .configurator-range-container .prepaint-option-line .addition-option-check .addition-check-inner svg,
      .configurator-range-container .prepaint-option-line .addition-option-check .prepaint-check-inner svg,
      .configurator-range-container .prepaint-option-line .prepaint-option-check .addition-check-inner svg,
      .configurator-range-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner svg,
      .pre-paint-container .addition-option-line .addition-option-check .addition-check-inner svg,
      .pre-paint-container .addition-option-line .addition-option-check .prepaint-check-inner svg,
      .pre-paint-container .addition-option-line .prepaint-option-check .addition-check-inner svg,
      .pre-paint-container .addition-option-line .prepaint-option-check .prepaint-check-inner svg,
      .pre-paint-container .prepaint-option-line .addition-option-check .addition-check-inner svg,
      .pre-paint-container .prepaint-option-line .addition-option-check .prepaint-check-inner svg,
      .pre-paint-container .prepaint-option-line .prepaint-option-check .addition-check-inner svg,
      .pre-paint-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner svg {
        visibility: hidden;
        width: 15px;
        height: 15px;
        margin: 0 !important; }
      .configurator-range-container .addition-option-line .addition-option-check .addition-check-inner.checked svg,
      .configurator-range-container .addition-option-line .addition-option-check .prepaint-check-inner.checked svg,
      .configurator-range-container .addition-option-line .prepaint-option-check .addition-check-inner.checked svg,
      .configurator-range-container .addition-option-line .prepaint-option-check .prepaint-check-inner.checked svg,
      .configurator-range-container .prepaint-option-line .addition-option-check .addition-check-inner.checked svg,
      .configurator-range-container .prepaint-option-line .addition-option-check .prepaint-check-inner.checked svg,
      .configurator-range-container .prepaint-option-line .prepaint-option-check .addition-check-inner.checked svg,
      .configurator-range-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner.checked svg,
      .pre-paint-container .addition-option-line .addition-option-check .addition-check-inner.checked svg,
      .pre-paint-container .addition-option-line .addition-option-check .prepaint-check-inner.checked svg,
      .pre-paint-container .addition-option-line .prepaint-option-check .addition-check-inner.checked svg,
      .pre-paint-container .addition-option-line .prepaint-option-check .prepaint-check-inner.checked svg,
      .pre-paint-container .prepaint-option-line .addition-option-check .addition-check-inner.checked svg,
      .pre-paint-container .prepaint-option-line .addition-option-check .prepaint-check-inner.checked svg,
      .pre-paint-container .prepaint-option-line .prepaint-option-check .addition-check-inner.checked svg,
      .pre-paint-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner.checked svg {
        visibility: visible; }
  .configurator-range-container .addition-option-line .addition-option-price,
  .configurator-range-container .addition-option-line .prepaint-option-price,
  .configurator-range-container .prepaint-option-line .addition-option-price,
  .configurator-range-container .prepaint-option-line .prepaint-option-price,
  .pre-paint-container .addition-option-line .addition-option-price,
  .pre-paint-container .addition-option-line .prepaint-option-price,
  .pre-paint-container .prepaint-option-line .addition-option-price,
  .pre-paint-container .prepaint-option-line .prepaint-option-price {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: flex-start;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    margin-left: 15px;
    width: 150px;
    font-weight: 600; }
  @media (max-width: 430px) {
    .configurator-range-container .addition-option-line,
    .configurator-range-container .prepaint-option-line,
    .pre-paint-container .addition-option-line,
    .pre-paint-container .prepaint-option-line {
      flex-wrap: wrap;
      justify-content: space-between; }
      .configurator-range-container .addition-option-line .addition-option-text,
      .configurator-range-container .addition-option-line .prepaint-option-text,
      .configurator-range-container .prepaint-option-line .addition-option-text,
      .configurator-range-container .prepaint-option-line .prepaint-option-text,
      .pre-paint-container .addition-option-line .addition-option-text,
      .pre-paint-container .addition-option-line .prepaint-option-text,
      .pre-paint-container .prepaint-option-line .addition-option-text,
      .pre-paint-container .prepaint-option-line .prepaint-option-text {
        width: 80%; } }

.configurator-range-container .range-embedded-container.not-available .not-available-info,
.pre-paint-container .range-embedded-container.not-available .not-available-info {
  display: flex; }

.configurator-range-container .range-embedded-container.not-available .addition-option-line,
.pre-paint-container .range-embedded-container.not-available .addition-option-line {
  display: none !important; }

.configurator-range-container .range-clamped-square-container.not-available .not-available-info,
.pre-paint-container .range-clamped-square-container.not-available .not-available-info {
  display: flex; }

.configurator-range-container .range-clamped-square-container.not-available .addition-option-line,
.pre-paint-container .range-clamped-square-container.not-available .addition-option-line {
  opacity: 0.2;
  pointer-events: none; }
  .configurator-range-container .range-clamped-square-container.not-available .addition-option-line.exc,
  .pre-paint-container .range-clamped-square-container.not-available .addition-option-line.exc {
    pointer-events: initial;
    opacity: 1; }

.manage-summary .summary-container .final-pricing-container {
  font-size: 1.1em;
  padding-left: 12px;
  border-left: 2px solid #e2e2e2; }
  .manage-summary .summary-container .final-pricing-container div {
    margin: 10px 0; }

.manage-summary .summary-container .sign-off-section .sign-off-container {
  display: none; }

.manage-summary .summary-container .sign-off-section p {
  margin: 5px 0; }

.manage-summary .summary-container .sign-off-section .sign-off-done h3 {
  color: #2a7b06;
  margin-top: 30px; }

.manage-summary .summary-container .sign-off-section .sign-off-btn {
  display: inline-block;
  text-transform: uppercase;
  font-weight: 700;
  transition: all 0.2s ease-in-out;
  color: white;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  color: #fff;
  border-color: #3cb67a;
  background-color: #3cb67a !important;
  padding: 7px 20px;
  margin: 20px auto; }
  .manage-summary .summary-container .sign-off-section .sign-off-btn:hover {
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }
  .manage-summary .summary-container .sign-off-section .sign-off-btn.disabled {
    cursor: default;
    background-color: #e6e6e6 !important;
    color: darkgrey;
    box-shadow: none !important;
    pointer-events: none;
    user-select: none;
    opacity: 0.6; }

.order-locked .quant,
.order-locked .btn-remove-regular-item,
.order-locked .add-regular-btn,
.order-locked .add-bespoke-btn,
.order-locked .btn-remove-bespoke,
.order-locked .btn-edit {
  display: none !important; }

.style-locked .configurator-range-container {
  cursor: not-allowed; }

.style-locked .addition-option-line {
  pointer-events: none !important;
  display: none; }
  .style-locked .addition-option-line.checked {
    display: flex; }

.style-locked .range-embedded-container {
  display: none; }
  .style-locked .range-embedded-container.checked {
    display: block; }

.style-locked .range-spindle-container {
  display: none; }
  .style-locked .range-spindle-container.checked {
    display: block; }

.style-locked .range-clamped-container {
  display: none; }
  .style-locked .range-clamped-container.checked {
    display: block; }

.style-locked .range-clamped-square-container {
  display: none; }
  .style-locked .range-clamped-square-container.checked {
    display: block; }

.order-locked-finance .quant,
.order-locked-finance .btn-remove-regular-item,
.order-locked-finance .add-regular-btn,
.order-locked-finance .add-bespoke-btn,
.order-locked-finance .btn-remove-bespoke {
  display: none !important; }

.order-locked-finance .edit-bespoke-inner .step-container {
  pointer-events: none;
  cursor: default;
  opacity: 0.3; }

.order-locked-finance .edit-bespoke-inner .step-angle {
  pointer-events: all !important;
  opacity: 1 !important; }

.add-regular-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  justify-items: center;
  align-content: center;
  z-index: 5000000000; }
  .add-regular-popup.open {
    display: flex; }
  .add-regular-popup .add-regular-inner {
    background-color: white;
    max-width: 520px;
    width: 100%;
    max-height: 80vh;
    border-radius: 5px;
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin: auto; }
    @media (max-width: 1000px) {
      .add-regular-popup .add-regular-inner {
        max-height: 96vh; } }
    @media (max-width: 600px) {
      .add-regular-popup .add-regular-inner {
        margin-left: 10px;
        margin-right: 10px;
        max-width: 600px; } }
    .add-regular-popup .add-regular-inner .edit-area {
      flex: 1;
      overflow-y: auto;
      padding: 15px; }
      .add-regular-popup .add-regular-inner .edit-area h2 {
        text-align: center;
        margin: 10px 0 25px 0; }
    .add-regular-popup .add-regular-inner .action-area {
      background-color: #cacaca;
      height: 46px;
      min-height: 46px;
      justify-content: space-around;
      align-items: center;
      display: flex; }
      .add-regular-popup .add-regular-inner .action-area .btn {
        padding: 6px 25px;
        border-radius: 20px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        max-width: 280px; }
        .add-regular-popup .add-regular-inner .action-area .btn.cancel-add-regular {
          background-color: #ececec; }
          .add-regular-popup .add-regular-inner .action-area .btn.cancel-add-regular:hover {
            box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }
        .add-regular-popup .add-regular-inner .action-area .btn.save-bespoke-edit, .add-regular-popup .add-regular-inner .action-area .btn.add-bespoke-edit {
          background-color: #3cb67a;
          color: white; }
          .add-regular-popup .add-regular-inner .action-area .btn.save-bespoke-edit:hover, .add-regular-popup .add-regular-inner .action-area .btn.add-bespoke-edit:hover {
            box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); }

.regular-product-wrap {
  padding: 15px;
  margin: 8px 0;
  display: flex;
  flex-direction: column;
  border: 1px solid #b3b3b3; }
  .regular-product-wrap .product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0; }
  .regular-product-wrap .product-name {
    font-weight: 600;
    margin-bottom: 4px; }
  .regular-product-wrap .product-options {
    font-size: 0.8em;
    margin-top: 10px;
    display: none; }
    .regular-product-wrap .product-options.show {
      display: block; }
  .regular-product-wrap .product-detail {
    display: flex;
    margin-top: 4px;
    justify-content: space-between;
    align-items: flex-end; }
    .regular-product-wrap .product-detail .product-buttons {
      display: flex;
      justify-content: space-between; }
      .regular-product-wrap .product-detail .product-buttons .btn {
        margin-left: 8px;
        padding: 6px 20px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        font-size: 12px;
        text-decoration: none;
        border: 1px solid #3cb67a; }
        .regular-product-wrap .product-detail .product-buttons .btn.btn-product-add {
          background-color: #3cb67a;
          color: #fff; }
        .regular-product-wrap .product-detail .product-buttons .btn.btn-variable-add {
          background-color: #3cb67a;
          color: #fff; }
        .regular-product-wrap .product-detail .product-buttons .btn.btn-product-view-options {
          background-color: #3cb67a;
          color: #fff; }
        .regular-product-wrap .product-detail .product-buttons .btn.btn-product-view {
          background-color: #d8d8d8;
          color: #1b1b1b; }
        .regular-product-wrap .product-detail .product-buttons .btn:hover {
          background-color: white !important;
          color: #3cb67a !important; }

.variable-product-wrap .product-detail {
  margin: 0;
  padding: 10px 0; }
  @media (max-width: 560px) {
    .variable-product-wrap .product-detail {
      flex-wrap: wrap; }
      .variable-product-wrap .product-detail .attributes {
        width: 100%; }
      .variable-product-wrap .product-detail .product-buttons {
        margin-top: 5px; } }

.variable-product-wrap .product-buttons-variable {
  align-items: center; }

.no-edit .btn-edit {
  display: none !important; }

.manage-order-wrapper .configurator-type .configurator-range-container .addition-option-line .addition-option-check {
  display: flex !important; }

.manage-order-wrapper .addition-option-price {
  display: none !important; }

.rec-prod-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center; }

.page-template-recommended-fitter-map .map-page-content,
.page-template-fitter-map .map-page-content,
.post-type-archive-recommendedfitter .map-page-content {
  padding-bottom: 128px; }

.page-template-recommended-fitter-map .map-search .map-search-container, .page-template-fitter-map .map-search .page-template-recommended-fitter-map .map-search-container, .post-type-archive-recommendedfitter .map-search .page-template-recommended-fitter-map .map-search-container, .page-template-recommended-fitter-map .fitter-list .page-intro, .page-template-fitter-map .fitter-list .page-template-recommended-fitter-map .page-intro, .post-type-archive-recommendedfitter .fitter-list .page-template-recommended-fitter-map .page-intro, .page-template-recommended-fitter-map .fitter-list .fitter-list-container, .page-template-fitter-map .fitter-list .page-template-recommended-fitter-map .fitter-list-container, .post-type-archive-recommendedfitter .fitter-list .page-template-recommended-fitter-map .fitter-list-container,
.page-template-recommended-fitter-map .map-search .page-template-fitter-map .map-search-container,
.page-template-fitter-map .map-search .map-search-container,
.post-type-archive-recommendedfitter .map-search .page-template-fitter-map .map-search-container,
.page-template-recommended-fitter-map .fitter-list .page-template-fitter-map .page-intro,
.page-template-fitter-map .fitter-list .page-intro,
.post-type-archive-recommendedfitter .fitter-list .page-template-fitter-map .page-intro,
.page-template-recommended-fitter-map .fitter-list .page-template-fitter-map .fitter-list-container,
.page-template-fitter-map .fitter-list .fitter-list-container,
.post-type-archive-recommendedfitter .fitter-list .page-template-fitter-map .fitter-list-container,
.page-template-recommended-fitter-map .map-search .post-type-archive-recommendedfitter .map-search-container,
.page-template-fitter-map .map-search .post-type-archive-recommendedfitter .map-search-container,
.post-type-archive-recommendedfitter .map-search .map-search-container,
.page-template-recommended-fitter-map .fitter-list .post-type-archive-recommendedfitter .page-intro,
.page-template-fitter-map .fitter-list .post-type-archive-recommendedfitter .page-intro,
.post-type-archive-recommendedfitter .fitter-list .page-intro,
.page-template-recommended-fitter-map .fitter-list .post-type-archive-recommendedfitter .fitter-list-container,
.page-template-fitter-map .fitter-list .post-type-archive-recommendedfitter .fitter-list-container,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px; }

.page-template-recommended-fitter-map .map-search,
.page-template-fitter-map .map-search,
.post-type-archive-recommendedfitter .map-search {
  background-color: #3197d5;
  color: #fff;
  display: none; }
  .page-template-recommended-fitter-map .map-search .map-search-container,
  .page-template-fitter-map .map-search .map-search-container,
  .post-type-archive-recommendedfitter .map-search .map-search-container {
    padding: 15px; }
    .page-template-recommended-fitter-map .map-search .map-search-container .search-form,
    .page-template-fitter-map .map-search .map-search-container .search-form,
    .post-type-archive-recommendedfitter .map-search .map-search-container .search-form {
      display: flex;
      justify-content: space-between; }
      .page-template-recommended-fitter-map .map-search .map-search-container .search-form .search-input-wrap #map-search,
      .page-template-fitter-map .map-search .map-search-container .search-form .search-input-wrap #map-search,
      .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .search-input-wrap #map-search {
        padding: 6px;
        margin-left: 7px;
        border: solid 1px rgba(255, 255, 255, 0.4);
        background-color: transparent;
        outline: 0; }
      .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap,
      .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap,
      .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap {
        display: inline-flex; }
        .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter,
        .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter,
        .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter {
          position: relative;
          display: flex;
          align-items: center; }
          .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label,
          .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label,
          .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter label {
            position: relative;
            display: inline-block;
            padding: 3px 45px 3px 0;
            margin: 0 20px 0 0;
            cursor: pointer; }
            .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:after,
            .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:after,
            .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter label:after {
              content: "";
              display: inline-block;
              width: 40px;
              height: 20px;
              border: solid 1px rgba(255, 255, 255, 0.4);
              border-radius: 20px;
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%); }
            .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:before,
            .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:before,
            .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter label:before {
              content: "";
              display: inline-block;
              width: 14px;
              height: 14px;
              background-color: rgba(255, 255, 255, 0.8);
              border-radius: 20px;
              position: absolute;
              top: 50%;
              right: 23px;
              transform: translateY(-50%);
              transition: all 0.2s ease-in-out; }
          .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input,
          .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input,
          .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter input {
            position: absolute;
            height: 0;
            width: 0;
            opacity: 0; }
            .page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input:checked + label:before,
            .page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input:checked + label:before,
            .post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter input:checked + label:before {
              right: 3px;
              background-color: #ffb310;
              transition: all 0.2s ease-in-out; }

.page-template-recommended-fitter-map .fitter-map,
.page-template-recommended-fitter-map .recommended-fitter-map,
.page-template-fitter-map .fitter-map,
.page-template-fitter-map .recommended-fitter-map,
.post-type-archive-recommendedfitter .fitter-map,
.post-type-archive-recommendedfitter .recommended-fitter-map {
  width: 100%;
  height: 750px; }
  .page-template-recommended-fitter-map .fitter-map .marker,
  .page-template-recommended-fitter-map .recommended-fitter-map .marker,
  .page-template-fitter-map .fitter-map .marker,
  .page-template-fitter-map .recommended-fitter-map .marker,
  .post-type-archive-recommendedfitter .fitter-map .marker,
  .post-type-archive-recommendedfitter .recommended-fitter-map .marker {
    display: none; }

.page-template-recommended-fitter-map .fitter-list,
.page-template-fitter-map .fitter-list,
.post-type-archive-recommendedfitter .fitter-list {
  margin-top: 30px; }
  .page-template-recommended-fitter-map .fitter-list .fitter-list-container,
  .page-template-fitter-map .fitter-list .fitter-list-container,
  .post-type-archive-recommendedfitter .fitter-list .fitter-list-container {
    padding: 30px 15px;
    display: grid;
    grid: auto/repeat(auto-fill, minmax(230px, 450px));
    grid-gap: 30px; }
    .page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter,
    .page-template-fitter-map .fitter-list .fitter-list-container .fitter,
    .post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter {
      border-left: 2px solid;
      padding: 0 0 0 15px; }
      .page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .taxonomy-name,
      .page-template-fitter-map .fitter-list .fitter-list-container .fitter .taxonomy-name,
      .post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .taxonomy-name {
        margin: 0 0 5px;
        display: inline-block;
        font-weight: 800; }
      .page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .name,
      .page-template-fitter-map .fitter-list .fitter-list-container .fitter .name,
      .post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .name {
        margin: 0 0 5px; }
      .page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .detail,
      .page-template-fitter-map .fitter-list .fitter-list-container .fitter .detail,
      .post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .detail {
        display: inline-block;
        width: 100%; }
        .page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .detail a,
        .page-template-fitter-map .fitter-list .fitter-list-container .fitter .detail a,
        .post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .detail a {
          color: inherit; }
          .page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .detail a:hover,
          .page-template-fitter-map .fitter-list .fitter-list-container .fitter .detail a:hover,
          .post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .detail a:hover {
            text-decoration: underline; }

.post-type-archive-recommendedfitter .map_controls_container {
  display: flex;
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  margin: auto;
  margin-bottom: 25px; }
  @media only screen and (max-width: 1024px) {
    .post-type-archive-recommendedfitter .map_controls_container {
      flex-direction: column; } }
  .post-type-archive-recommendedfitter .map_controls_container .fitter_information {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    margin-top: 20px; }
    .post-type-archive-recommendedfitter .map_controls_container .fitter_information h4 {
      margin-top: 0; }
    @media only screen and (max-width: 650px) {
      .post-type-archive-recommendedfitter .map_controls_container .fitter_information {
        flex-direction: column;
        justify-content: unset; }
        .post-type-archive-recommendedfitter .map_controls_container .fitter_information div {
          margin-bottom: 10px; } }
  .post-type-archive-recommendedfitter .map_controls_container .map_filters {
    width: 50%; }
    @media only screen and (max-width: 1024px) {
      .post-type-archive-recommendedfitter .map_controls_container .map_filters {
        width: 100%; } }
    .post-type-archive-recommendedfitter .map_controls_container .map_filters label {
      white-space: nowrap;
      margin-right: 8px; }
    .post-type-archive-recommendedfitter .map_controls_container .map_filters INPUT[type="checkbox"]:focus {
      outline: none; }
    .post-type-archive-recommendedfitter .map_controls_container .map_filters INPUT[type="checkbox"] {
      border: 1px solid #3e4b5b;
      border-radius: 2px;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      width: 21px;
      height: 21px;
      cursor: pointer;
      position: relative;
      top: 5px;
      margin-right: 5px; }
    .post-type-archive-recommendedfitter .map_controls_container .map_filters INPUT[type="checkbox"]:checked {
      background-color: #3e4b5b;
      background: #3e4b5b url("data:image/gif;base64,R0lGODlhCwAKAIABAP////3cnSH5BAEKAAEALAAAAAALAAoAAAIUjH+AC73WHIsw0UCjglraO20PNhYAOw==") 3px 3px no-repeat; }
  .post-type-archive-recommendedfitter .map_controls_container .search_container {
    width: 50%; }
    .post-type-archive-recommendedfitter .map_controls_container .search_container .address_in_area_para {
      margin-bottom: 0; }
    .post-type-archive-recommendedfitter .map_controls_container .search_container .stairfurb_recommended_fitter h4,
    .post-type-archive-recommendedfitter .map_controls_container .search_container .customer_recommended_fitter h4 {
      display: flex;
      align-items: center; }
    .post-type-archive-recommendedfitter .map_controls_container .search_container .stairfurb_recommended_fitter .stairfurb_pointer,
    .post-type-archive-recommendedfitter .map_controls_container .search_container .customer_recommended_fitter .stairfurb_pointer {
      background-image: url("/app/themes/gsl-child/assets/img/map-pointer.svg");
      width: 30px;
      height: 30px; }
    .post-type-archive-recommendedfitter .map_controls_container .search_container .stairfurb_recommended_fitter .google_pointer,
    .post-type-archive-recommendedfitter .map_controls_container .search_container .customer_recommended_fitter .google_pointer {
      background-image: url("/app/themes/gsl-child/assets/img/Google_Maps_pin.svg.png");
      width: 30px;
      height: 30px;
      background-size: contain;
      background-position: center; }
    .post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container {
      display: flex;
      align-items: center; }
      .post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container h4 {
        margin-right: 10px; }
      .post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container .fa-times {
        color: red; }
      .post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container .fa-check {
        color: green; }
    @media only screen and (max-width: 1024px) {
      .post-type-archive-recommendedfitter .map_controls_container .search_container {
        width: 100%; } }
    .post-type-archive-recommendedfitter .map_controls_container .search_container .pac-target-input {
      border: 2px solid #ffb310;
      border-radius: 30px;
      padding: 10px;
      padding-top: 7px;
      padding-bottom: 7px;
      width: 350px;
      text-align: center; }
      .post-type-archive-recommendedfitter .map_controls_container .search_container .pac-target-input:focus {
        outline: none; }

#fitter-contact-info {
  display: none; }

.elementor-editor-active #fitter-contact-info {
  display: block; }

#fitter-recent-work img {
  height: 450px;
  object-fit: cover;
  width: 100%;
  margin: 0 10px; }

#recommended_fitter_form_wrapper .elementor-message-success {
  display: none !important; }

.fitter-info-wrapper {
  display: none; }

.elementor-editor-active .fitter-info-wrapper {
  display: block; }

.elementor-popup-modal {
  top: 0 !important;
  bottom: 0 !important;
  z-index: 100000 !important;
  height: 100% !important;
  position: fixed !important; }

.fitter-see-profile-btn {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  fill: #ffffff;
  color: #ffffff;
  background-color: #616d79;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  border-radius: 0px 0px 0px 0px;
  padding: 10px 20px;
  cursor: pointer; }
  .fitter-see-profile-btn:hover {
    background-color: white;
    color: #616d79; }

.fitter-put-in-touch-btn {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  fill: #ffffff;
  color: #ffffff;
  background-color: #616d79;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  border-radius: 0px 0px 0px 0px;
  padding: 10px 20px;
  cursor: pointer; }
  .fitter-put-in-touch-btn:hover {
    background-color: white;
    color: #616d79; }

.cst-form-popup-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000000d9;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 100000000;
  backdrop-filter: blur(8px); }
  .cst-form-popup-wrapper .cst-form-inner {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
    background-color: white;
    padding: 25px;
    margin: 0 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    max-width: 420px; }
    .cst-form-popup-wrapper .cst-form-inner .cst-fitter-details {
      display: none;
      width: 100%; }
      .cst-form-popup-wrapper .cst-form-inner .cst-fitter-details .detail {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin: 20px 0;
        font-size: 16px; }
    .cst-form-popup-wrapper .cst-form-inner p {
      font-weight: 700; }
    .cst-form-popup-wrapper .cst-form-inner .cst-form {
      width: 100%; }
      .cst-form-popup-wrapper .cst-form-inner .cst-form .cst-ff {
        width: 100%;
        margin: 10px 0;
        padding: 10px; }
      .cst-form-popup-wrapper .cst-form-inner .cst-form .buttons {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        margin-top: 20px; }
        .cst-form-popup-wrapper .cst-form-inner .cst-form .buttons .cst-submit {
          font-family: "Lato", Sans-serif;
          font-size: 16px;
          font-weight: 700;
          color: #ffffff;
          background-color: #3cb67a;
          border: none;
          text-transform: uppercase;
          padding: 8px 20px;
          width: 100%;
          cursor: pointer; }
        .cst-form-popup-wrapper .cst-form-inner .cst-form .buttons .cancel {
          padding: 15px 30px;
          cursor: pointer;
          margin-top: 10px; }
    .cst-form-popup-wrapper .cst-form-inner .cst-close {
      font-family: "Lato", Sans-serif;
      font-size: 16px;
      font-weight: 700;
      color: #ffffff;
      background-color: #3cb67a;
      border: none;
      text-transform: uppercase;
      padding: 8px 20px;
      width: 100%;
      cursor: pointer;
      text-align: center;
      margin-top: 50px; }

.single-recommendedfitter .site-footer {
  margin-top: -120px 0; }

.single-recommendedfitter .elementor-lightbox {
  display: none !important; }

.single-recommendedfitter .background_profile {
  background-color: #3197d5; }

.single-recommendedfitter .profile_info_container {
  display: flex;
  color: white;
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  margin: auto; }
  @media only screen and (max-width: 650px) {
    .single-recommendedfitter .profile_info_container {
      flex-direction: column; } }
  .single-recommendedfitter .profile_info_container .profile_image_container {
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
    padding-top: 20px;
    width: 60%; }
    .single-recommendedfitter .profile_info_container .profile_image_container img {
      max-width: 60%; }
    @media only screen and (max-width: 650px) {
      .single-recommendedfitter .profile_info_container .profile_image_container {
        width: 100%; } }
  .single-recommendedfitter .profile_info_container h2 {
    padding-top: 35px;
    padding-bottom: 26px; }
    @media only screen and (max-width: 650px) {
      .single-recommendedfitter .profile_info_container h2 {
        display: flex;
        justify-content: center; } }
  .single-recommendedfitter .profile_info_container .areas_info_container {
    display: flex;
    justify-content: center;
    padding-bottom: 35px;
    flex-direction: column; }
    .single-recommendedfitter .profile_info_container .areas_info_container .profile_data {
      display: flex;
      flex-direction: column;
      font-size: 16px; }
      @media only screen and (max-width: 650px) {
        .single-recommendedfitter .profile_info_container .areas_info_container .profile_data {
          margin: auto; } }
      .single-recommendedfitter .profile_info_container .areas_info_container .profile_data div {
        margin-bottom: 10px; }

.single-recommendedfitter .areas_covered_container {
  background-color: white;
  color: black;
  padding-top: 100px;
  padding-bottom: 100px; }
  .single-recommendedfitter .areas_covered_container h2 {
    text-align: center; }
  .single-recommendedfitter .areas_covered_container .areas_covered {
    max-width: 1543px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
    padding-bottom: 40px;
    margin: auto; }

.single-recommendedfitter .about_container {
  background-color: #3e4b5b;
  padding-top: 100px;
  padding-bottom: 100px; }
  .single-recommendedfitter .about_container .about_profile {
    display: flex;
    max-width: 1543px;
    padding-left: 10px;
    padding-right: 10px;
    margin: auto;
    flex-direction: column;
    color: white;
    text-align: center; }
    .single-recommendedfitter .about_container .about_profile h2 {
      text-align: center;
      text-transform: uppercase;
      font-size: 24px; }

.single-recommendedfitter .recent_works_container {
  background-color: #3197d5;
  padding-top: 20px;
  padding-bottom: 100px;
  /* the parent */ }
  .single-recommendedfitter .recent_works_container h2 {
    padding-top: 35px;
    padding-bottom: 26px;
    text-align: center;
    color: white;
    text-transform: uppercase;
    font-size: 24px; }
  .single-recommendedfitter .recent_works_container .slick_recent_works {
    display: flex;
    max-width: 1543px;
    padding-left: 10px;
    padding-right: 10px;
    margin: auto;
    flex-direction: column; }
  .single-recommendedfitter .recent_works_container .slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0; }
    .single-recommendedfitter .recent_works_container .slick-list .slick-track li {
      margin-left: 10px;
      margin-right: 10px; }
  .single-recommendedfitter .recent_works_container .slick-slide {
    margin: 0 7px; }
  .single-recommendedfitter .recent_works_container .slick-list {
    margin: 0 -7px; }
  .single-recommendedfitter .recent_works_container .slick-arrow {
    font-size: 0;
    width: 30px;
    border: none;
    color: #3e4b5b;
    background-color: transparent;
    padding: 0; }
    .single-recommendedfitter .recent_works_container .slick-arrow:before {
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 35px; }
    .single-recommendedfitter .recent_works_container .slick-arrow.slick-next {
      position: absolute;
      right: -55px;
      top: calc(200px + 20px + -80px);
      z-index: 999; }
      @media only screen and (max-width: 1900px) {
        .single-recommendedfitter .recent_works_container .slick-arrow.slick-next {
          right: 20px; } }
      .single-recommendedfitter .recent_works_container .slick-arrow.slick-next:before {
        content: "\f054"; }
    .single-recommendedfitter .recent_works_container .slick-arrow.slick-prev {
      position: absolute;
      left: -55px;
      top: calc(200px + 20px + -80px);
      z-index: 999; }
      @media only screen and (max-width: 1900px) {
        .single-recommendedfitter .recent_works_container .slick-arrow.slick-prev {
          left: 20px; } }
      .single-recommendedfitter .recent_works_container .slick-arrow.slick-prev:before {
        content: "\f053"; }
    .single-recommendedfitter .recent_works_container .slick-arrow.slick-disabled {
      opacity: 0.4; }

.post-type-archive-recommendedfitter .site-footer {
  margin: -120px 0 !important; }

.other-products-header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px; }
  .other-products-header-container .add-parts-btn {
    margin-left: auto;
    background-color: #3cb67a !important;
    color: white !important;
    border: none !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    border-radius: 0 !important; }
  @media (max-width: 600px) {
    .other-products-header-container {
      flex-direction: column;
      align-items: flex-start; }
      .other-products-header-container .add-parts-btn {
        margin-left: 0;
        margin-top: 10px;
        width: 100%; } }

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  color: white !important;
  background-color: #3cb67a !important;
  border: none !important; }

.or-divider-sufix {
  margin-top: 15px !important; }

.cart-collaterals .cxecrt-button-holder .cxecrt-cart-page-button {
  border-radius: 0 !important; }
  .cart-collaterals .cxecrt-button-holder .cxecrt-cart-page-button:hover {
    background-color: #3cb67a !important;
    color: white !important;
    border-color: #3cb67a !important; }

.cart-collaterals .empty-btn .button {
  border-radius: 0 !important; }
  .cart-collaterals .empty-btn .button:hover {
    background-color: #3cb67a !important;
    color: white !important;
    border-color: #3cb67a !important; }

.custom_fee_form_container {
  margin-bottom: 30px;
  display: flex;
  flex-direction: column; }
  .custom_fee_form_container input {
    border: solid 1px #3e4b5b !important;
    padding: 2px 4px !important;
    outline: 0;
    width: 200px; }
    @media only screen and (max-width: 830px) {
      .custom_fee_form_container input {
        width: 100%; } }
  .custom_fee_form_container label {
    margin-right: 10px; }
    @media only screen and (max-width: 830px) {
      .custom_fee_form_container label {
        display: flex;
        flex-direction: column;
        text-align: center; } }
  .custom_fee_form_container button {
    display: inline-block;
    padding: 10px 15px;
    border: solid 2px #616d79 !important;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease-in-out;
    min-width: 230px;
    color: #000 !important;
    text-decoration: none;
    background-color: transparent !important;
    text-align: center;
    background-color: #fff !important;
    cursor: pointer; }
    .custom_fee_form_container button:hover {
      color: white !important;
      background-color: #616d79 !important; }
    @media only screen and (max-width: 830px) {
      .custom_fee_form_container button {
        width: 100%;
        margin-top: 10px; } }

.cart-editor-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px; }
  .cart-editor-buttons .cart-edit-btn {
    padding: 5px 10px;
    font-size: 12px;
    border: 1px solid #ddd;
    background: #f8f9fa;
    color: #333;
    text-decoration: none;
    border-radius: 0 !important;
    cursor: pointer;
    transition: all 0.2s ease; }
    .cart-editor-buttons .cart-edit-btn:hover {
      background: #3cb67a;
      color: white;
      border-color: #3cb67a; }
    .cart-editor-buttons .cart-edit-btn.remove-btn {
      background: #dc3545;
      color: white;
      border-color: #dc3545; }
      .cart-editor-buttons .cart-edit-btn.remove-btn:hover {
        background: #c82333;
        border-color: #bd2130; }

.cart-section-info .section-title {
  font-weight: bold;
  margin-bottom: 5px; }

.cart-section-info .section-details {
  font-size: 14px;
  color: #666;
  margin-bottom: 8px; }

.cart-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000; }
  .cart-loading-overlay .cart-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3cb67a;
    border-radius: 50%;
    animation: spin 1s linear infinite; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.woocommerce-cart-form.processing {
  position: relative;
  opacity: 0.7; }

.cart-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000; }
  .cart-popup-overlay .cart-popup {
    background: white;
    border-radius: 0 !important;
    max-width: 90vw;
    max-height: 90vh;
    overflow-y: auto;
    padding: 20px;
    position: relative;
    min-width: 400px;
    width: 90vw; }
    .cart-popup-overlay .cart-popup.section-editor-popup {
      max-width: 700px;
      width: auto; }
    @media (max-width: 480px) {
      .cart-popup-overlay .cart-popup {
        min-width: auto;
        width: 95%;
        padding: 15px; } }
    .cart-popup-overlay .cart-popup .cart-popup-close {
      position: absolute;
      top: 10px;
      right: 15px;
      background: none;
      border: none;
      font-size: 24px;
      cursor: pointer;
      color: #666;
      border-radius: 0 !important; }
      .cart-popup-overlay .cart-popup .cart-popup-close:hover {
        color: #333; }
    .cart-popup-overlay .cart-popup h2 {
      margin-top: 0;
      margin-bottom: 20px;
      color: #333; }

body.cart-popup-open,
body.video-popup-open {
  overflow: hidden; }

.style-finish-editor .style-sections {
  margin-bottom: 20px; }
  .style-finish-editor .style-sections h3 {
    margin-bottom: 10px;
    color: #333; }
  .style-finish-editor .style-sections .add-styles-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px; }
    .style-finish-editor .style-sections .add-styles-container .add-style-container {
      border: 2px solid #ddd;
      border-radius: 0 !important;
      padding: 15px;
      text-align: center;
      transition: all 0.2s ease;
      cursor: pointer;
      flex: 1;
      min-width: 150px; }
      .style-finish-editor .style-sections .add-styles-container .add-style-container:hover {
        border-color: #3cb67a;
        box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2); }
      .style-finish-editor .style-sections .add-styles-container .add-style-container.active {
        border-color: #3cb67a;
        background-color: #f8fff9;
        box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2); }
      .style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible {
        opacity: 0.5;
        cursor: not-allowed;
        border-color: #dc3545;
        background-color: #f8f8f8; }
        .style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible:hover {
          border-color: #dc3545;
          box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2); }
        .style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible h3 {
          color: #666; }
        .style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible p {
          color: #dc3545 !important;
          font-weight: bold !important;
          font-size: 12px !important; }
      .style-finish-editor .style-sections .add-styles-container .add-style-container .img-cont {
        margin-bottom: 18px; }
        .style-finish-editor .style-sections .add-styles-container .add-style-container .img-cont img {
          width: 100%;
          max-width: 200px;
          height: auto; }
      .style-finish-editor .style-sections .add-styles-container .add-style-container h3 {
        margin-top: 0;
        text-transform: none;
        color: #333; }
  .style-finish-editor .style-sections .style-options,
  .style-finish-editor .style-sections .finish-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px; }
    .style-finish-editor .style-sections .style-options .option,
    .style-finish-editor .style-sections .finish-options .option {
      padding: 8px 15px;
      border: 2px solid #ddd;
      background: #f8f9fa;
      border-radius: 0 !important;
      cursor: pointer;
      transition: all 0.2s ease; }
      .style-finish-editor .style-sections .style-options .option:hover,
      .style-finish-editor .style-sections .finish-options .option:hover {
        border-color: #3cb67a; }
      .style-finish-editor .style-sections .style-options .option.active,
      .style-finish-editor .style-sections .finish-options .option.active {
        background: #3cb67a;
        color: white;
        border-color: #3cb67a; }

.style-finish-editor .popup-actions {
  text-align: right;
  margin-top: 20px; }
  .style-finish-editor .popup-actions button {
    padding: 10px 20px;
    margin-left: 10px;
    border: none;
    border-radius: 0 !important;
    cursor: pointer;
    font-size: 14px; }
    .style-finish-editor .popup-actions button.cancel-btn {
      background: #6c757d;
      color: white; }
      .style-finish-editor .popup-actions button.cancel-btn:hover {
        background: #545b62; }
    .style-finish-editor .popup-actions button.save-btn {
      background: #3cb67a;
      color: white; }
      .style-finish-editor .popup-actions button.save-btn:hover {
        background: #28a745; }

.cart-section-selector .section-types-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-top: 20px; }
  .cart-section-selector .section-types-container .section-type-option {
    border: 2px solid #ddd;
    border-radius: 0 !important;
    padding: 15px;
    text-align: center;
    transition: all 0.2s ease;
    cursor: pointer; }
    .cart-section-selector .section-types-container .section-type-option:hover {
      border-color: #3cb67a;
      box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2); }
    .cart-section-selector .section-types-container .section-type-option.selected {
      border-color: #3cb67a;
      background-color: #f8fff9;
      box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2); }
    .cart-section-selector .section-types-container .section-type-option.not-compatible {
      opacity: 0.5;
      cursor: not-allowed;
      border-color: #dc3545;
      background-color: #f8f8f8; }
      .cart-section-selector .section-types-container .section-type-option.not-compatible:hover {
        border-color: #dc3545;
        box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2); }
      .cart-section-selector .section-types-container .section-type-option.not-compatible h3,
      .cart-section-selector .section-types-container .section-type-option.not-compatible h4 {
        color: #666; }
      .cart-section-selector .section-types-container .section-type-option.not-compatible .compatibility-notice {
        color: #dc3545 !important;
        font-weight: bold !important;
        font-size: 12px !important; }
    .cart-section-selector .section-types-container .section-type-option img {
      width: 100%;
      max-width: 150px;
      height: auto;
      margin-bottom: 10px;
      border-radius: 4px; }
    .cart-section-selector .section-types-container .section-type-option h3 {
      margin: 10px 0 5px;
      color: #333;
      font-size: 16px; }
    .cart-section-selector .section-types-container .section-type-option p {
      margin-bottom: 15px;
      color: #666;
      font-size: 14px; }

.cart-section-selector .cart-editor-actions .add-section-type:disabled {
  background-color: #ccc !important;
  cursor: not-allowed !important; }

.cart-section-selector .cart-editor-actions .add-section-type:not(:disabled) {
  background-color: #3cb67a !important;
  cursor: pointer !important; }

.quick-quote-wrapper,
.alfresco-quick-quote-wrapper {
  background-color: #fafafa;
  padding: 20px;
  position: relative; }
  .quick-quote-wrapper .qq-finance-info,
  .alfresco-quick-quote-wrapper .qq-finance-info {
    display: none;
    font-size: 12px; }
  .quick-quote-wrapper .qq-title,
  .alfresco-quick-quote-wrapper .qq-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px; }
    .quick-quote-wrapper .qq-title span,
    .alfresco-quick-quote-wrapper .qq-title span {
      display: block;
      height: 26px;
      border-bottom: 1px solid #b9b9b9;
      flex: 1; }
    .quick-quote-wrapper .qq-title h2,
    .alfresco-quick-quote-wrapper .qq-title h2 {
      margin: 12px 25px 25px;
      color: #43a2da; }
  .quick-quote-wrapper .qq-section,
  .alfresco-quick-quote-wrapper .qq-section {
    scroll-margin-top: 45px; }
    .quick-quote-wrapper .qq-section .qq-header,
    .alfresco-quick-quote-wrapper .qq-section .qq-header {
      display: flex;
      align-items: end;
      justify-content: space-between;
      border-bottom: 1px solid #d9d9d9;
      padding-bottom: 5px;
      cursor: pointer; }
      .quick-quote-wrapper .qq-section .qq-header.disabled,
      .alfresco-quick-quote-wrapper .qq-section .qq-header.disabled {
        opacity: 0.2;
        pointer-events: none;
        user-select: none;
        cursor: initial; }
      .quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down,
      .alfresco-quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down {
        color: #43a2da; }
      .quick-quote-wrapper .qq-section .qq-header h3,
      .alfresco-quick-quote-wrapper .qq-section .qq-header h3 {
        margin: 0; }
    .quick-quote-wrapper .qq-section .qq-content,
    .alfresco-quick-quote-wrapper .qq-section .qq-content {
      margin-top: 10px;
      overflow: hidden;
      height: 0;
      transition: height 0.3s ease; }
      .quick-quote-wrapper .qq-section .qq-content.active,
      .alfresco-quick-quote-wrapper .qq-section .qq-content.active {
        height: auto;
        transition: height 0.3s ease; }
      .quick-quote-wrapper .qq-section .qq-content .qq-not-added,
      .alfresco-quick-quote-wrapper .qq-section .qq-content .qq-not-added {
        color: #b3b3b3;
        display: block; }
    .quick-quote-wrapper .qq-section .qq-footer,
    .alfresco-quick-quote-wrapper .qq-section .qq-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 20px 0 10px; }
    .quick-quote-wrapper .qq-section .qq-header-btn,
    .alfresco-quick-quote-wrapper .qq-section .qq-header-btn {
      cursor: pointer;
      background-color: white;
      padding: 4px 10px;
      border-style: solid;
      border-width: 1px 1px 1px 1px;
      border-color: #616d79;
      font-weight: 400;
      font-size: 15px; }
      .quick-quote-wrapper .qq-section .qq-header-btn:hover,
      .alfresco-quick-quote-wrapper .qq-section .qq-header-btn:hover {
        background-color: #43a2da;
        border-color: #43a2da;
        color: #fff; }
    .quick-quote-wrapper .qq-section .qq-next-btn,
    .alfresco-quick-quote-wrapper .qq-section .qq-next-btn {
      cursor: pointer;
      background-color: white;
      padding: 4px 10px;
      border-style: solid;
      border-width: 1px 1px 1px 1px;
      border-color: #43a2da;
      background-color: #43a2da;
      color: #fff;
      white-space: pre;
      font-weight: 400;
      font-size: 15px; }
      .quick-quote-wrapper .qq-section .qq-next-btn.qq-next-section,
      .alfresco-quick-quote-wrapper .qq-section .qq-next-btn.qq-next-section {
        width: 100%;
        text-align: center;
        padding: 15px 20px;
        font-size: 27px;
        font-weight: 900; }
      .quick-quote-wrapper .qq-section .qq-next-btn.disabled,
      .alfresco-quick-quote-wrapper .qq-section .qq-next-btn.disabled {
        background-color: #616d79;
        border-color: #616d79;
        color: #fff;
        cursor: not-allowed;
        pointer-events: none;
        user-select: none;
        opacity: 0.3; }

.qq-loader {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: #f7f7f7d6;
  backdrop-filter: blur(5px);
  z-index: 200000000000;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 500000; }
  .qq-loader.active {
    display: flex; }
  .qq-loader svg {
    width: 70px !important;
    height: 70px !important; }
    .qq-loader svg path {
      fill: #616d79; }

.qq-dialog {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: #000000d6;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 500000; }
  .qq-dialog.active {
    display: flex; }
  .qq-dialog .qq-dialog-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between; }
    .qq-dialog .qq-dialog-header h2 {
      margin: 0;
      text-align: center;
      flex: 1; }
    .qq-dialog .qq-dialog-header .qq-dialog-close {
      font-size: 20px;
      padding: 15px 20px;
      transform: scale(1, 0.8);
      font-weight: 600;
      cursor: pointer; }
      .qq-dialog .qq-dialog-header .qq-dialog-close:hover {
        color: #43a2da; }
  .qq-dialog .qq-dialog-inner {
    width: 100%;
    max-width: 90vw;
    max-height: 90vh;
    margin: 0 15px;
    background-color: white;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding: 15px;
    height: 100%;
    overflow-y: auto; }
    @media (max-width: 600px) {
      .qq-dialog .qq-dialog-inner {
        max-height: 98%;
        max-width: 98%; } }
    .qq-dialog .qq-dialog-inner .qq-dialog-inner-inner {
      max-width: 600px;
      margin: auto;
      width: 100%;
      height: 100%; }
  .qq-dialog .qq-add-sections-length-container {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: center; }
    .qq-dialog .qq-add-sections-length-container p {
      width: 90%;
      margin: 15px auto 0 auto; }
    .qq-dialog .qq-add-sections-length-container .qq-add-section-final-btn {
      cursor: pointer;
      background-color: #43a2da;
      padding: 6px 17px;
      border: 1px solid #43a2da;
      color: #fff;
      font-size: 20px;
      font-weight: 600;
      margin-top: 40px; }
      .qq-dialog .qq-add-sections-length-container .qq-add-section-final-btn:hover {
        border-color: #616d79;
        background-color: #fff;
        color: #616d79; }
  .qq-dialog .qq-add-handrails-length-container {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: center; }
    .qq-dialog .qq-add-handrails-length-container p {
      width: 90%;
      margin: 15px auto 0 auto; }
    .qq-dialog .qq-add-handrails-length-container .qq-add-handrail-final-btn {
      cursor: pointer;
      background-color: #43a2da;
      padding: 6px 17px;
      border: 1px solid #43a2da;
      color: #fff;
      font-size: 20px;
      font-weight: 600; }
      .qq-dialog .qq-add-handrails-length-container .qq-add-handrail-final-btn:hover {
        border-color: #616d79;
        background-color: #fff;
        color: #616d79; }
  .qq-dialog .qq-add-handrails-container {
    display: none;
    justify-content: space-around;
    width: 100%;
    margin: 15px 0;
    flex-wrap: wrap; }
  .qq-dialog .qq-add-handrail-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    border: 5px solid transparent;
    width: 50%; }
    .qq-dialog .qq-add-handrail-container p {
      font-weight: 600;
      font-size: 14px;
      width: 100%;
      text-align: center;
      margin: 0;
      padding: 30px; }
      @media (max-width: 510px) {
        .qq-dialog .qq-add-handrail-container p {
          padding: 30px 10px; } }
    .qq-dialog .qq-add-handrail-container:hover {
      border: 5px solid #43a2da; }
      .qq-dialog .qq-add-handrail-container:hover p {
        background-color: #43a2da;
        color: white; }
  .qq-dialog .slider-container {
    width: 90%;
    margin: 15px auto;
    /* The slider itself */
    /* Mouse-over effects */
    /* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */ }
    .qq-dialog .slider-container .slider {
      -webkit-appearance: none;
      /* Override default CSS styles */
      appearance: none;
      width: 100%;
      /* Full-width */
      height: 25px;
      /* Specified height */
      background: #d3d3d3;
      /* Grey background */
      outline: none;
      /* Remove outline */
      opacity: 0.7;
      /* Set transparency (for mouse-over effects on hover) */
      -webkit-transition: 0.2s;
      /* 0.2 seconds transition on hover */
      transition: opacity 0.2s; }
    .qq-dialog .slider-container .slider:hover {
      opacity: 1;
      /* Fully shown on mouse-over */ }
    .qq-dialog .slider-container .slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      /* Override default look */
      appearance: none;
      width: 25px;
      /* Set a specific slider handle width */
      height: 25px;
      /* Slider handle height */
      background: #04aa6d;
      /* Green background */
      cursor: pointer;
      /* Cursor on hover */ }
    .qq-dialog .slider-container .slider::-moz-range-thumb {
      width: 25px;
      /* Set a specific slider handle width */
      height: 25px;
      /* Slider handle height */
      background: #04aa6d;
      /* Green background */
      cursor: pointer;
      /* Cursor on hover */ }

.qq-style {
  display: block; }
  .qq-style p {
    margin: 0;
    text-transform: capitalize;
    padding: 5px 0px; }

.section-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0px;
  margin: 5px 0; }
  .section-list-item:hover {
    background-color: #f2f2f2; }
  .section-list-item .section-list-item-content {
    text-transform: capitalize; }
  .section-list-item .qq-remove-section {
    color: #f13a3a;
    cursor: pointer; }
    .section-list-item .qq-remove-section:hover {
      text-decoration: underline; }

.handrail-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0px;
  margin: 5px 0; }
  .handrail-list-item:hover {
    background-color: #f2f2f2; }
  .handrail-list-item .handrail-list-item-content {
    text-transform: capitalize; }
  .handrail-list-item .qq-remove-handrail {
    color: #f13a3a;
    cursor: pointer; }
    .handrail-list-item .qq-remove-handrail:hover {
      text-decoration: underline; }

.qq-estimated-total {
  color: #43a2da;
  font-weight: 900;
  font-size: 18px; }

.qq-content-totals .qq-cta-container {
  margin: 20px 0;
  font-size: 20px; }

.qq-content-totals div {
  margin: 10px 0;
  text-align: right; }

.qq-content-totals .qq-video-call-btn {
  cursor: pointer;
  background-color: #3cb67a;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #3cb67a;
  color: #fff;
  font-weight: 600;
  padding: 8px 16px; }
  .qq-content-totals .qq-video-call-btn:hover {
    background-color: #fff;
    color: #3cb67a; }

.qq-content-totals .qq-diy-btn {
  cursor: pointer;
  background-color: white;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  font-weight: 600;
  padding: 8px 16px;
  color: #616d79; }
  .qq-content-totals .qq-diy-btn:hover {
    background-color: #3cb67a;
    border-color: #3cb67a;
    color: #fff; }

.qq-content-totals .qq-style-pricing {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0; }
  .qq-content-totals .qq-style-pricing.qq-selected-style {
    font-weight: 400; }

.qq-section-spacer {
  height: 30px; }

.qq-returns {
  width: 100%;
  margin: 20px 0; }
  .qq-returns .qq-return-question {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 15px auto 0 auto;
    align-items: center; }
    .qq-returns .qq-return-question p {
      margin: 0; }
    .qq-returns .qq-return-question .qq-return-answers {
      display: flex;
      white-space: pre; }
      .qq-returns .qq-return-question .qq-return-answers .qq-return-answer {
        padding: 5px 20px;
        cursor: pointer; }
        .qq-returns .qq-return-question .qq-return-answers .qq-return-answer.selected, .qq-returns .qq-return-question .qq-return-answers .qq-return-answer:hover {
          background-color: #43a2da;
          color: #fff; }

.qq-other-styles-header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 4px;
  cursor: pointer; }
  .qq-other-styles-header:hover .qq-angle-down,
  .qq-other-styles-header:hover .qq-angle-up {
    color: #43a2da; }
  .qq-other-styles-header .qq-angle-up {
    display: none !important; }
  .qq-other-styles-header.active .qq-angle-up {
    display: block !important; }
  .qq-other-styles-header.active .qq-angle-down {
    display: none !important; }

.qq-other-styles-list {
  display: none; }
  .qq-other-styles-list.active {
    display: block; }

.totals-list-wrapper {
  padding-top: 10px; }

.qq-selected-style-name p {
  margin: 0;
  font-weight: 400; }

.qq-whats-next {
  margin: 20px 0;
  font-weight: 600;
  font-size: 20px;
  text-align: center; }

.qq-wall-mounted-summary {
  font-weight: 400; }

.qq-total-style-pricing {
  font-weight: 600; }

.qq-double-btn {
  display: flex;
  flex-wrap: wrap; }

.qq-add-styles-container {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px; }
  .qq-add-styles-container .qq-add-style-container {
    width: 50%;
    text-align: center;
    padding: 15px 15px;
    cursor: pointer;
    position: relative; }
    .qq-add-styles-container .qq-add-style-container img {
      object-fit: cover;
      width: 100%;
      height: 130px; }
    .qq-add-styles-container .qq-add-style-container span {
      margin-top: 15px;
      display: block;
      font-weight: 600; }
    .qq-add-styles-container .qq-add-style-container:hover {
      background-color: #43a2da;
      color: #fff; }
    .qq-add-styles-container .qq-add-style-container.active {
      background-color: #43a2da;
      color: #fff; }
    .qq-add-styles-container .qq-add-style-container.disabled {
      pointer-events: none; }
      .qq-add-styles-container .qq-add-style-container.disabled img,
      .qq-add-styles-container .qq-add-style-container.disabled span {
        opacity: 0.2;
        pointer-events: none; }
    .qq-add-styles-container .qq-add-style-container .qq-not-compatible {
      position: absolute;
      inset: 0;
      display: none;
      justify-content: center;
      align-items: center;
      font-weight: 900;
      font-size: 11px;
      color: red;
      max-width: 112px;
      margin: auto;
      text-align: center; }
    .qq-add-styles-container .qq-add-style-container.disabled .qq-not-compatible {
      display: flex; }

.qq-add-sections-container {
  display: none;
  justify-content: space-around;
  width: 100%;
  margin: 15px 0;
  flex-wrap: wrap; }

.qq-add-section-container {
  max-width: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  border: 5px solid transparent;
  position: relative;
  width: 33%; }
  .qq-add-section-container .add-section-plus {
    background-color: #43a2da;
    color: white;
    border-radius: 50%;
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 900;
    font-size: 27px;
    margin: auto;
    text-align: center;
    height: 30px;
    width: 30px; }
  .qq-add-section-container p {
    margin: 0;
    margin-top: 15px;
    font-weight: 600;
    font-size: 14px;
    width: 100%;
    text-align: center;
    padding: 5px 0 0 0; }
  .qq-add-section-container:hover {
    border: 5px solid #43a2da; }
    .qq-add-section-container:hover p {
      background-color: #43a2da;
      color: white; }
  .qq-add-section-container.disabled {
    pointer-events: none; }
    .qq-add-section-container.disabled img,
    .qq-add-section-container.disabled p {
      opacity: 0.2;
      pointer-events: none; }
  .qq-add-section-container .qq-not-compatible {
    position: absolute;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    font-weight: 900;
    font-size: 11px;
    color: red;
    max-width: 112px;
    margin: auto;
    text-align: center; }
  .qq-add-section-container.disabled .qq-not-compatible {
    display: flex; }
  .qq-add-section-container.disabled .add-section-plus {
    display: none; }

.assignment_alfresco .quick-quote-wrapper .qq-title h2,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-title h2 {
  color: #f9b000; }

.assignment_alfresco .quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down {
  color: #f9b000; }

.assignment_alfresco .quick-quote-wrapper .qq-section .qq-header-btn:hover,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-section .qq-header-btn:hover {
  background-color: #f9b000;
  border-color: #f9b000; }

.assignment_alfresco .quick-quote-wrapper .qq-section .qq-next-btn,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-section .qq-next-btn {
  border-color: #f9b000;
  background-color: #f9b000; }

.assignment_alfresco .qq-dialog .qq-dialog-header .qq-dialog-close:hover {
  color: #f9b000; }

.assignment_alfresco .qq-dialog .qq-add-sections-length-container .qq-add-section-final-btn {
  background-color: #f9b000;
  border: 1px solid #f9b000; }

.assignment_alfresco .qq-dialog .qq-add-handrails-length-container .qq-add-handrail-final-btn {
  background-color: #f9b000;
  border: 1px solid #f9b000; }

.assignment_alfresco .qq-dialog .qq-add-handrail-container:hover {
  border: 5px solid #f9b000; }
  .assignment_alfresco .qq-dialog .qq-add-handrail-container:hover p {
    background-color: #f9b000; }

.assignment_alfresco .qq-estimated-total {
  color: #f9b000; }

.assignment_alfresco .qq-returns .qq-return-question .qq-return-answers .qq-return-answer.selected, .assignment_alfresco .qq-returns .qq-return-question .qq-return-answers .qq-return-answer:hover {
  background-color: #f9b000; }

.assignment_alfresco .qq-other-styles-header:hover .qq-angle-down,
.assignment_alfresco .qq-other-styles-header:hover .qq-angle-up {
  color: #f9b000; }

.assignment_alfresco .qq-add-styles-container .qq-add-style-container:hover {
  background-color: #f9b000;
  color: #fff; }

.assignment_alfresco .qq-add-styles-container .qq-add-style-container.active {
  background-color: #f9b000;
  color: #fff; }

.assignment_alfresco .qq-add-section-container .add-section-plus {
  background-color: #f9b000; }

.assignment_alfresco .qq-add-section-container:hover {
  border: 5px solid #f9b000; }
  .assignment_alfresco .qq-add-section-container:hover p {
    background-color: #f9b000;
    color: white; }

.qq-rail-options {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px; }
  .qq-rail-options .qq-rail-option {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #fff; }
    .qq-rail-options .qq-rail-option .swatch-img {
      width: 40px;
      height: 40px;
      object-fit: cover;
      border-radius: 4px;
      border: 1px solid #ddd; }
    .qq-rail-options .qq-rail-option .swatch {
      width: 40px;
      height: 40px;
      border-radius: 4px;
      border: 1px solid #ddd; }
      .qq-rail-options .qq-rail-option .swatch.swatch-existing {
        background: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
        background-size: 8px 8px;
        background-position: 0 0, 0 4px, 4px -4px, -4px 0px; }
    .qq-rail-options .qq-rail-option span {
      flex: 1;
      font-weight: 500;
      font-size: 14px;
      line-height: 1.3; }
    .qq-rail-options .qq-rail-option:hover {
      border-color: #43a2da;
      background-color: #f8f9fa; }
    .qq-rail-options .qq-rail-option.active {
      border-color: #43a2da;
      background-color: #43a2da;
      color: #fff; }
  .qq-rail-options .finish-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .qq-rail-options .finish-selector,
  .qq-rail-options .second-finish-selector {
    display: flex;
    flex-direction: row;
    padding: 20px;
    align-items: center;
    cursor: pointer;
    min-width: 50%; }
    .qq-rail-options .finish-selector img,
    .qq-rail-options .second-finish-selector img {
      width: 50px;
      margin-right: 10px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
      border-radius: 50%; }
    .qq-rail-options .finish-selector .finish-inner,
    .qq-rail-options .second-finish-selector .finish-inner {
      display: flex;
      flex-direction: column; }
    .qq-rail-options .finish-selector p,
    .qq-rail-options .second-finish-selector p {
      margin: 0;
      font-weight: 600; }
    .qq-rail-options .finish-selector:hover,
    .qq-rail-options .second-finish-selector:hover {
      background-color: #e8e8e8; }
    .qq-rail-options .finish-selector.active,
    .qq-rail-options .second-finish-selector.active {
      background-color: #3cb67a;
      color: white; }
  .qq-rail-options .spindle-finish-selector {
    display: flex;
    flex-direction: row;
    padding: 20px;
    align-items: center;
    cursor: pointer;
    min-width: 50%; }
    .qq-rail-options .spindle-finish-selector p {
      margin: 0;
      font-weight: 600; }
    .qq-rail-options .spindle-finish-selector img {
      width: 50px;
      margin-right: 10px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
      border-radius: 50%; }
    .qq-rail-options .spindle-finish-selector:hover, .qq-rail-options .spindle-finish-selector.active {
      background-color: #3cb67a;
      color: white; }
  .qq-rail-options .satin-black-finish {
    width: 50px;
    height: 50px;
    background-color: #080808;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    margin-right: 10px; }
  .qq-rail-options .egyptian-cotton-finish {
    width: 50px;
    height: 50px;
    background-color: #e3d8c9;
    border-radius: 50%;
    border-radius: 50%;
    margin-right: 10px; }
  .qq-rail-options .no-finish {
    width: 50px;
    height: 50px;
    margin-right: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    border-radius: 50%; }
  .qq-rail-options .section-intro {
    text-align: center;
    margin: 40px 0 20px; }
    .qq-rail-options .section-intro .flourish {
      width: 100%;
      height: 1px;
      background-color: #ddd; }
    .qq-rail-options .section-intro .surround {
      margin: 20px 0; }
      .qq-rail-options .section-intro .surround h2 {
        margin: 0 0 10px;
        color: #43a2da; }
      .qq-rail-options .section-intro .surround p {
        margin: 0;
        color: #666; }

@media (max-width: 768px) {
  .qq-rail-options .qq-rail-option {
    min-width: 100%;
    max-width: 100%; } }

.swatch-existing {
  background: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
  background-size: 8px 8px;
  background-position: 0 0, 0 4px, 4px -4px, -4px 0px; }

.video-booking-container {
  max-width: 450px;
  padding: 15px;
  position: relative;
  box-shadow: 0 1px 8px 0 #00000047;
  border-radius: 4px;
  margin: auto;
  min-height: 400px; }
  .video-booking-container .booking-loader,
  .video-booking-container .dates-loader {
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.76);
    position: absolute;
    inset: 0;
    backdrop-filter: blur(6px);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    z-index: 20; }
  .video-booking-container .booking-complete {
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.76);
    position: absolute;
    inset: 0;
    backdrop-filter: blur(6px);
    z-index: 20;
    flex-direction: column; }
    .video-booking-container .booking-complete p {
      font-weight: 500; }
  .video-booking-container .video-call-title {
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 5px;
    font-size: 12px; }
  .video-booking-container .booking-header {
    display: grid;
    grid-template-columns: 100px 1fr 100px;
    width: 100%; }
    .video-booking-container .booking-header h2 {
      margin: 0;
      text-align: center; }
      .video-booking-container .booking-header h2 .sub-date {
        font-weight: 600;
        font-size: 16px;
        margin-top: 10px;
        font-family: Playfair Display, Sans-serif; }
    .video-booking-container .booking-header .booking-back {
      cursor: pointer;
      display: flex;
      align-items: center; }
      .video-booking-container .booking-header .booking-back:hover {
        text-decoration: underline; }
  .video-booking-container .booking-step {
    display: none;
    justify-content: center;
    flex-direction: column;
    align-items: center; }
  .video-booking-container .times-container {
    display: flex;
    gap: 10px;
    flex-direction: column;
    width: 100%;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 10px; }
    .video-booking-container .times-container .time {
      padding: 10px 30px;
      border: 1px solid #8b8b8b;
      text-align: center;
      cursor: pointer; }
      .video-booking-container .times-container .time:hover {
        background-color: #ebebeb; }
      .video-booking-container .times-container .time.disabled {
        opacity: 0.3;
        cursor: initial;
        pointer-events: none; }
  .video-booking-container .booking-details {
    margin-bottom: 10px; }
    .video-booking-container .booking-details p {
      font-size: 12px;
      font-weight: 500;
      background-color: #f9f9f9;
      padding: 10px; }
  .video-booking-container .your-details {
    width: 100%; }
    .video-booking-container .your-details .detail {
      margin-bottom: 25px; }
      .video-booking-container .your-details .detail p {
        margin: 0;
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase; }
      .video-booking-container .your-details .detail input {
        width: 100%;
        padding: 10px 15px;
        font-weight: 500; }
  .video-booking-container .book-my-call {
    color: #fff;
    font-family: Lato, Sans-serif;
    font-weight: 700;
    background-color: #3cb67a;
    border-radius: 0;
    text-decoration: none;
    padding: 15px 20px;
    border: 2px solid #3cb67a;
    display: block;
    text-align: center;
    position: relative;
    width: 100%;
    cursor: pointer; }

.ui-datepicker-inline {
  width: 400px;
  padding: 15px; }
  .ui-datepicker-inline .ui-datepicker-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0px; }
    .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-title {
      font-weight: 600;
      font-size: 16px;
      order: 2;
      font-family: "Playfair Display", Sans-serif; }
    .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev {
      order: 1; }
    .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next {
      order: 3; }
    .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next span,
    .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev span {
      border-radius: 20px;
      padding: 14px 15px;
      color: #6a6a6a;
      font-size: 9px;
      font-weight: 600;
      cursor: pointer;
      text-transform: uppercase; }
      .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next span:hover,
      .ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev span:hover {
        text-decoration: underline; }
  .ui-datepicker-inline .ui-datepicker-calendar {
    width: 100%; }
    .ui-datepicker-inline .ui-datepicker-calendar thead th {
      font-weight: 400;
      text-transform: uppercase;
      font-size: 12px;
      padding-bottom: 11px; }
    .ui-datepicker-inline .ui-datepicker-calendar tbody td {
      padding: 5px;
      text-align: center;
      vertical-align: middle;
      height: 50px; }
      .ui-datepicker-inline .ui-datepicker-calendar tbody td a,
      .ui-datepicker-inline .ui-datepicker-calendar tbody td span {
        font-size: 13px; }
      .ui-datepicker-inline .ui-datepicker-calendar tbody td a {
        background-color: #f3f3f3;
        border-radius: 50%;
        color: #343434;
        font-weight: 600;
        height: 100%;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none !important; }
        .ui-datepicker-inline .ui-datepicker-calendar tbody td a:hover {
          background-color: #e7e7e7;
          text-decoration: underline !important; }
    .ui-datepicker-inline .ui-datepicker-calendar tbody .ui-datepicker-unselectable,
    .ui-datepicker-inline .ui-datepicker-calendar tbody .ui-state-disabled {
      color: darkgray; }
      .ui-datepicker-inline .ui-datepicker-calendar tbody .ui-datepicker-unselectable span,
      .ui-datepicker-inline .ui-datepicker-calendar tbody .ui-state-disabled span {
        background-color: transparent; }

.photo-estimate-form-container {
  margin: 0 auto;
  padding: 20px;
  background-color: #f9f9f9; }
  .photo-estimate-form-container .estimate-form {
    display: flex;
    flex-direction: column; }
    .photo-estimate-form-container .estimate-form .form-group {
      margin-bottom: 15px; }
      .photo-estimate-form-container .estimate-form .form-group .form-label {
        font-weight: bold;
        margin-bottom: 5px;
        display: inline-block; }
      .photo-estimate-form-container .estimate-form .form-group .form-tick-label {
        font-size: 12px;
        font-weight: 300; }
      .photo-estimate-form-container .estimate-form .form-group .form-input,
      .photo-estimate-form-container .estimate-form .form-group .form-select,
      .photo-estimate-form-container .estimate-form .form-group .form-file-input {
        width: 100%;
        padding: 10px;
        margin-bottom: 5px;
        border: 1px solid #ccc;
        border-radius: 5px; }
      .photo-estimate-form-container .estimate-form .form-group .form-checkbox {
        margin-right: 10px; }
      .photo-estimate-form-container .estimate-form .form-group .error-message {
        color: red;
        font-size: 0.875rem; }
    .photo-estimate-form-container .estimate-form .image-preview-container {
      display: flex;
      gap: 10px;
      margin-top: 10px;
      flex-wrap: wrap; }
      .photo-estimate-form-container .estimate-form .image-preview-container .image-preview {
        position: relative;
        width: 30%; }
        .photo-estimate-form-container .estimate-form .image-preview-container .image-preview .preview-img {
          display: block;
          border-radius: 5px;
          width: 100%;
          object-fit: cover; }
        .photo-estimate-form-container .estimate-form .image-preview-container .image-preview .remove-image-btn {
          display: block;
          margin-top: 5px;
          background-color: #ff6666;
          color: white;
          border: none;
          padding: 5px 10px;
          cursor: pointer;
          width: 100%; }
          .photo-estimate-form-container .estimate-form .image-preview-container .image-preview .remove-image-btn:hover {
            background-color: #ff4d4d; }
    .photo-estimate-form-container .estimate-form .submit-button {
      background-color: #3cb67a;
      color: white;
      padding: 10px 20px;
      border: none;
      cursor: pointer; }
      .photo-estimate-form-container .estimate-form .submit-button:hover {
        background-color: #58cc92; }

.form-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  font-size: 1.5em;
  z-index: 1000;
  backdrop-filter: blur(6px);
  font-weight: 600; }

.overlay-content {
  text-align: center; }

.seo-product-container {
  font-weight: 400;
  margin-top: 100px; }
  .seo-product-container .add-extras {
    font-size: 26px !important;
    font-weight: 700 !important;
    text-align: center;
    margin: 40px 0 30px; }
  .seo-product-container #whats-included-desktop {
    background-color: #e6f6ff; }
  .seo-product-container .cont {
    max-width: 1520px;
    margin: auto;
    padding: 0 15px; }
  @media (max-width: 830px) {
    .seo-product-container {
      margin-top: 0; } }
  .seo-product-container .s-header {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 50px; }
    .seo-product-container .s-header > div,
    .seo-product-container .s-header section {
      width: 48%; }
    @media (max-width: 830px) {
      .seo-product-container .s-header > div,
      .seo-product-container .s-header section {
        width: 100%; } }
  .seo-product-container .s-tabs {
    display: flex;
    margin-bottom: 20px;
    flex-wrap: wrap;
    justify-content: space-between; }
    .seo-product-container .s-tabs .s-tab {
      padding: 10px 20px;
      cursor: pointer;
      margin-right: 5px;
      border-bottom: none;
      font-weight: 700;
      font-size: 22px; }
      .seo-product-container .s-tabs .s-tab:hover {
        color: #42a2da; }
      .seo-product-container .s-tabs .s-tab.active {
        border-bottom: 2px solid #42a2da;
        margin-bottom: -2px;
        color: #42a2da;
        font-weight: bold; }
  .seo-product-container .s-tab-content {
    display: none;
    padding: 20px;
    border-top: none;
    background-color: #fff;
    font-size: 16px;
    font-weight: 400; }
    .seo-product-container .s-tab-content h3 {
      font-size: 16px;
      font-weight: 700;
      text-transform: none; }
    .seo-product-container .s-tab-content.active {
      display: block; }
  .seo-product-container .product-details h1 {
    margin-bottom: 15px;
    font-size: 30px;
    font-weight: 700; }
  .seo-product-container .product-details .product-overview {
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 400;
    width: 100%; }
    .seo-product-container .product-details .product-overview strong {
      font-weight: 700;
      margin-bottom: 5px; }
    .seo-product-container .product-details .product-overview h2 {
      font-size: 16px;
      font-family: Lato !important; }
  @media (max-width: 830px) {
    .seo-product-container .product-details {
      margin-top: 30px; } }
  .seo-product-container .product-bullet-points {
    list-style: none;
    padding-left: 0;
    margin-bottom: 20px; }
    .seo-product-container .product-bullet-points li {
      display: flex;
      align-items: center;
      margin-bottom: 10px;
      font-size: 16px;
      font-weight: 400; }
      .seo-product-container .product-bullet-points li img {
        width: 32px;
        height: auto;
        margin-right: 10px;
        padding: 5px;
        background-color: #e6f6ff; }
  .seo-product-container .included-list {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    background-color: #e6f6ff;
    gap: 20px;
    justify-content: center;
    padding-top: 25px; }
    .seo-product-container .included-list li {
      display: flex;
      align-items: center;
      flex-direction: column;
      font-weight: 500;
      font-size: 18px;
      flex: 0 0 calc(20% - 20px);
      min-width: 150px;
      gap: 10px;
      margin-bottom: 30px;
      text-align: center; }
      @media (max-width: 1260px) {
        .seo-product-container .included-list li {
          flex: 0 0 calc(25% - 20px); } }
      @media (max-width: 1000px) {
        .seo-product-container .included-list li {
          flex: 0 0 calc(33.333% - 20px); } }
      .seo-product-container .included-list li img {
        width: 120px; }
  .seo-product-container .faq-list .faq-item {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding: 0 15px 15px; }
    .seo-product-container .faq-list .faq-item h3 {
      margin-bottom: 10px;
      font-weight: 600;
      cursor: pointer;
      position: relative;
      padding-right: 30px;
      text-transform: none !important;
      font-size: 16px;
      font-family: Lato !important; }
      .seo-product-container .faq-list .faq-item h3:after {
        content: "+";
        position: absolute;
        right: 10px;
        top: 0; }
      .seo-product-container .faq-list .faq-item h3.active:after {
        content: "−"; }
    .seo-product-container .faq-list .faq-item .faq-answer {
      display: none; }
      .seo-product-container .faq-list .faq-item .faq-answer.active {
        display: block; }
  .seo-product-container .handrail-style {
    margin-top: 15px;
    font-size: 16px;
    font-weight: 400; }
    .seo-product-container .handrail-style strong {
      font-size: 18px;
      font-weight: 600; }
  @media (max-width: 768px) {
    .seo-product-container .desktop-tabs,
    .seo-product-container .desktop-tab-contents {
      display: none; }
    .seo-product-container .mobile-accordion {
      display: block; }
      .seo-product-container .mobile-accordion .accordion-item {
        border-bottom: 1px solid #ddd; }
        .seo-product-container .mobile-accordion .accordion-item:first-child {
          border-top: 1px solid #ddd; }
      .seo-product-container .mobile-accordion .accordion-header {
        position: relative;
        padding: 12px 20px;
        cursor: pointer;
        font-weight: 700;
        font-size: 24px;
        font-family: Playfair Display, Sans-serif !important; }
        .seo-product-container .mobile-accordion .accordion-header:after {
          content: "+";
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translateY(-50%); }
        .seo-product-container .mobile-accordion .accordion-header.active {
          border-radius: 5px 5px 0 0;
          border-bottom: none; }
          .seo-product-container .mobile-accordion .accordion-header.active:after {
            content: "−"; }
      .seo-product-container .mobile-accordion .accordion-content {
        height: 0;
        overflow: hidden;
        background-color: #fff;
        border-top: none;
        border-radius: 0 0 5px 5px; }
        .seo-product-container .mobile-accordion .accordion-content.active {
          padding: 15px; }
    .seo-product-container .s-tabs {
      flex-direction: column;
      border-bottom: none; }
      .seo-product-container .s-tabs .s-tab {
        position: relative;
        border-radius: 5px;
        margin-bottom: 5px;
        padding: 12px 20px;
        font-weight: 700;
        font-size: 22px; }
        .seo-product-container .s-tabs .s-tab.active {
          border-bottom: 2px solid #42a2da;
          border-radius: 5px 5px 0 0;
          margin-bottom: -2px;
          color: #42a2da; }
          .seo-product-container .s-tabs .s-tab.active:after {
            content: "−";
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%); }
        .seo-product-container .s-tabs .s-tab:not(.active):after {
          content: "+";
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translateY(-50%); }
    .seo-product-container .s-tab-content {
      overflow: hidden;
      transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
      opacity: 0;
      height: 0;
      padding: 0 15px;
      display: block;
      border-top: none;
      border-radius: 0 0 5px 5px;
      margin-bottom: 5px; }
      .seo-product-container .s-tab-content.active {
        opacity: 1;
        padding: 15px; } }
  @media (min-width: 769px) {
    .seo-product-container .mobile-accordion {
      display: none; } }
  .seo-product-container .example-prices,
  .seo-product-container .related-products {
    margin: 40px auto; }
    .seo-product-container .example-prices h2,
    .seo-product-container .related-products h2 {
      font-size: 42px !important;
      font-weight: 700 !important; }
    .seo-product-container .example-prices p,
    .seo-product-container .related-products p {
      text-align: center; }
    .seo-product-container .example-prices .section-title,
    .seo-product-container .related-products .section-title {
      text-align: center; }
  .seo-product-container .new-slider {
    position: relative !important; }
    .seo-product-container .new-slider * {
      text-decoration: none !important; }
  .seo-product-container .mobile-included-slider {
    background-color: #e6f6ff; }
    .seo-product-container .mobile-included-slider .slick-dots {
      display: flex;
      justify-content: center;
      margin-top: -20px;
      padding-bottom: 20px; }
      .seo-product-container .mobile-included-slider .slick-dots button {
        display: none !important; }
      .seo-product-container .mobile-included-slider .slick-dots li {
        color: #d9d9d9;
        width: 18px;
        cursor: pointer;
        font-size: 30px; }
        .seo-product-container .mobile-included-slider .slick-dots li.slick-active {
          color: #42a2da; }

html,
body {
  overflow-x: hidden !important;
  background-color: white !important; }

html {
  /* WebKit mobile viewport fix */
  height: -webkit-fill-available; }

body {
  /* Mobile viewport height fixes */
  min-height: 100vh;
  min-height: 100dvh;
  min-height: calc(var(--vh, 1vh) * 100);
  min-height: -webkit-fill-available;
  /* Prevent iOS elastic scrolling on the page */
  overscroll-behavior: none; }

.slick-slide:focus {
  outline: none; }

.slick-slider button:focus {
  outline: none; }

.slick-slider button:hover {
  box-shadow: none !important; }

.extra-padding {
  text-align: center; }

@media (max-width: 450px) {
  .summary-wrap {
    padding: 0 !important; }
  .extra-padding {
    padding: 0 15px !important; } }

.woocommerce-account main {
  margin-bottom: 150px; }
  .woocommerce-account main > .woocommerce {
    padding: 15px; }
    .woocommerce-account main > .woocommerce .woocommerce-MyAccount-navigation {
      padding-bottom: 40px; }
      .woocommerce-account main > .woocommerce .woocommerce-MyAccount-navigation li a {
        font-size: 19px;
        margin: 6px 0;
        display: block; }
      .woocommerce-account main > .woocommerce .woocommerce-MyAccount-navigation li.is-active a {
        font-weight: 600; }

.page-id-132 .sent .wpcf7-form-control-wrap {
  display: none; }

.page-id-132 .sent .wpcf7-form-control {
  display: none; }

.page-id-132 .wpcf7-response-output {
  font-weight: 600; }

.product-template-default .post-meta {
  display: none !important; }

.product-template-default .page-content .container {
  grid: initial !important; }
  .product-template-default .page-content .container aside {
    display: none !important; }

.page-template-recover_order .recover-page {
  padding-top: 100px;
  padding-bottom: 190px; }
  .page-template-recover_order .recover-page .recover-order-form {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    .page-template-recover_order .recover-page .recover-order-form .frm-inner {
      display: flex;
      margin: 10px 0; }
      .page-template-recover_order .recover-page .recover-order-form .frm-inner label {
        width: 100px; }
      .page-template-recover_order .recover-page .recover-order-form .frm-inner input {
        flex: 1; }
    .page-template-recover_order .recover-page .recover-order-form input[type="submit"] {
      padding: 8px 15px;
      background: #3e4b5b;
      border: 0 none;
      cursor: pointer;
      font-size: 13px;
      width: 100%;
      color: #fff; }

.order-delivery-wrapper {
  padding: 150px 25px;
  text-align: center; }
  @media (max-width: 700px) {
    .order-delivery-wrapper {
      padding: 100px 25px; } }

.custom-pricing-container {
  box-sizing: border-box;
  color: #3cb67a;
  font-family: "Lato", Sans-serif;
  font-size: 26px;
  font-weight: 700; }
  .custom-pricing-container .sale-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
  .custom-pricing-container .sale-gap {
    margin: 0 6px; }
  .custom-pricing-container .sale-price,
  .custom-pricing-container .regular-price {
    display: inline-block; }
  .custom-pricing-container .sale-price {
    font-size: 0.8em;
    margin-bottom: -6px; }
  .custom-pricing-container .inner-text {
    font-size: 11px; }
  .custom-pricing-container .financing {
    color: #2f2f2f;
    font-size: 13px;
    font-style: italic;
    font-weight: 500;
    text-align: center; }
  .custom-pricing-container .sale-wrapper .sale-price {
    color: #000;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 400; }
    .custom-pricing-container .sale-wrapper .sale-price del {
      font-size: 15px !important; }
    .custom-pricing-container .sale-wrapper .sale-price inner-text {
      font-weight: 600; }
  .custom-pricing-container .sale-wrapper .regular-price {
    color: #3cb67a !important;
    text-align: center !important;
    font-weight: 600; }
    .custom-pricing-container .sale-wrapper .regular-price .inner-text {
      font-weight: 600; }

#amb_phone,
#amb_email {
  display: none; }

.elementor-widget-tabs .elementor-tab-desktop-title {
  background-color: #f6f6f6 !important; }

.elementor-tabs .elementor-tabs-wrapper .elementor-tab-desktop-title.elementor-active {
  background-color: #616d79 !important; }

.btn_actv:hover {
  background: #3cb67a !important;
  border-color: #3cb67a !important; }

.elementor-menu-toggle {
  color: #616d79 !important; }

.product_cat-standard-kit .single-product .price {
  color: #616d79 !important; }

.custom-pricing-container .regular-price,
.custom-pricing-container .sale-price,
.custom-pricing-container {
  width: 100%; }

.elementor-3457 .elementor-element.elementor-element-1f6bfc5.elementor-wc-products ul.products li.product .button {
  color: #000000;
  background-color: #00000000;
  border-color: #000000;
  font-family: "Lato", Sans-serif;
  text-transform: uppercase;
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-radius: 0px 0px 0px 0px;
  padding: 0px 0px 8px 0px;
  margin-top: 10px; }

.elementor-3457 .elementor-element.elementor-element-27fd934b.elementor-wc-products ul.products li.product .button {
  color: #000000;
  background-color: #00000000;
  border-color: #000000;
  font-family: "Lato", Sans-serif;
  text-transform: uppercase;
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-radius: 0px 0px 0px 0px;
  padding: 0px 0px 8px 0px;
  margin-top: 10px; }

.elementor-3457 .elementor-element.elementor-element-27fd934b.elementor-wc-products ul.products li.product .button:hover {
  background-color: #02010100; }

.woocommerce .products .product .price {
  color: #3cb67a !important;
  font-family: "Lato", Sans-serif;
  font-size: 30px !important;
  font-weight: 700 !important; }
  @media (max-width: 1000px) {
    .woocommerce .products .product .price {
      font-size: 20px !important; } }

.woocommerce div.product form.cart .variations select {
  min-width: 100%;
  margin-right: 0;
  border-radius: 0;
  border: 1px solid #616d79; }

.elementor-109162 .elementor-element.elementor-element-911b066 .quantity .qty {
  border-radius: 0px 0px 0px 0px;
  padding: 10px 10px 10px 10px;
  border-color: #616d79;
  transition: all 0.2s; }

.single-product .cart input {
  border: 2px solid #616d79;
  border-radius: 0px;
  font-size: 24px;
  padding: 10px;
  min-width: 160px;
  margin: 0 0 10px;
  outline: 0; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #3cb67a;
  font-size: 1.25em;
  font-weight: 700; }

.configurator-container .product-selector-container h2 {
  font-family: "Playfair Display", Sans-serif;
  font-weight: 700;
  text-transform: none !important; }

.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container {
  border-radius: 0px;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center; }

.elementor-kit-10684 h2 {
  font-family: "Playfair Display", Sans-serif;
  font-weight: 700;
  text-transform: none !important; }

.configurator-container .configurer-save-container h2 {
  color: #000;
  text-transform: none !important;
  text-align: center;
  margin: 0 0 4px; }

.configurator-container .configurer-save-container button {
  display: inline-block;
  padding: 10px 30px;
  border-radius: 0px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid #fff;
  transition: all 0.2s ease-in-out;
  border-color: #3cb67a !important;
  color: #fff !important;
  background-color: #3cb67a !important; }
  .configurator-container .configurer-save-container button:hover {
    color: white;
    background-color: #3cb67a;
    border-color: #3cb67a; }

.elementor-kit-10684 button {
  font-weight: 700;
  background-color: #fff;
  border-radius: 0px 0px 0px 0px; }

.parts_items__add_parts_btn_container {
  border-radius: 0px;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center; }

.configurator-container .item-list-container .items-container .item-container .configure-product {
  display: inline-block;
  padding: 10px 30px;
  border: 2px solid #3cb67a;
  border-radius: 0px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  min-width: 100%;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  background-color: #3cb67a; }
  .configurator-container .item-list-container .items-container .item-container .configure-product:hover {
    color: #3cb67a !important;
    background-color: #fff !important; }

.configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link svg path {
  fill: #616d79; }

.configurator-container .configurer-container .step-container .instruction-container .input-container input {
  width: 100%;
  font-size: 16px;
  line-height: 48px;
  border: 0;
  color: #3c4c5c;
  font-weight: 600;
  padding: 0 0 0 30px; }

.configurator-container .configurer-container .step-container .instruction-container .input-container {
  display: flex;
  justify-content: stretch;
  align-items: center;
  padding: 0 30px 0 0;
  background-color: #e1e1e1;
  border-radius: 0;
  width: 80%; }

.configurator-container .configurer-container .step-container .instruction-container .second-length button,
.configurator-container .configurer-container .step-container .instruction-container .third-length button {
  margin-top: 5px;
  padding: 4px 10px;
  border: 1px solid #fff;
  border-radius: 0;
  cursor: pointer;
  text-transform: uppercase; }

h1,
h2,
h3 {
  font-family: "Playfair Display", Sans-serif !important; }

.elementor-109656 .elementor-element.elementor-element-935cb5a .elementor-image-carousel-caption {
  text-align: left;
  color: #000000;
  font-family: "Playfair Display", Sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3em; }

.cta_btn_one {
  font-family: "Lato", Sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  fill: #ffffff;
  color: #ffffff;
  background-color: #616d79;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  border-radius: 0px 0px 0px 0px;
  float: right;
  padding: 3px 10px;
  margin-top: -6px; }

.sb-chat-open .gdpr-modal__trigger {
  display: none !important; }

.sb-chat .sb-responsive-close-btn:before {
  font-size: 45px !important; }

.item-remove-container {
  padding: 15px;
  z-index: 50;
  height: 40px;
  font-size: 11px;
  background-color: #fff;
  color: #000;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  height: 25px;
  padding: 0 15px; }

.container_wrap {
  display: block;
  max-width: 1520px !important;
  margin: auto !important; }

.glass {
  width: 100%;
  height: 100%;
  background: #c0e7f9;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center; }
  .glass .glass-line {
    width: 220px;
    height: 100%;
    position: absolute;
    left: -16px;
    background: linear-gradient(125deg, transparent 25.5%, #dff3fd 50%, transparent 50.5%); }
  .glass .text {
    font-size: 12px;
    font-weight: 600;
    color: #8bb9cf;
    z-index: 10; }

.side-quote-container {
  position: fixed;
  z-index: 10000000;
  inset: 0;
  display: none; }
  .side-quote-container.open {
    display: block; }
  .side-quote-container .side-quote-bg {
    position: fixed;
    inset: 0;
    background-color: #000000c7;
    backdrop-filter: blur(8px); }
  .side-quote-container .side-quote-inner {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: white;
    -webkit-box-shadow: -5px 0px 16px 0px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: -5px 0px 16px 0px rgba(0, 0, 0, 0.75);
    box-shadow: -5px 0px 16px 0px rgba(0, 0, 0, 0.75);
    display: flex;
    flex-direction: column; }
    .side-quote-container .side-quote-inner .quote-header {
      padding: 0px 4px 0 24px;
      box-shadow: 0px 10px 26px -11px rgba(0, 0, 0, 0.475);
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 8px solid #3cb67a; }
      .side-quote-container .side-quote-inner .quote-header h2 {
        margin: 0;
        color: #383838;
        user-select: none; }
      .side-quote-container .side-quote-inner .quote-header .quote-close {
        font-weight: 900;
        transform: scaleY(0.9);
        font-size: 23px;
        cursor: pointer;
        user-select: none;
        padding: 10px 20px; }
    .side-quote-container .side-quote-inner .quote-boxes {
      display: flex;
      flex-direction: column;
      flex: 1; }
    .side-quote-container .side-quote-inner .quote-box {
      width: 100%;
      margin: auto;
      flex: 1;
      display: flex;
      flex-direction: column;
      cursor: pointer;
      transition: box-shadow 0.3s ease;
      position: relative;
      border-bottom: 2px solid #3cb67a;
      border-top: 2px solid #3cb67a;
      user-select: none; }
      .side-quote-container .side-quote-inner .quote-box .timer {
        position: absolute;
        left: 10%;
        top: 50%;
        height: 60px;
        border-radius: 50%;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
        margin-top: -32px;
        transition: transform 0.3s ease; }
      .side-quote-container .side-quote-inner .quote-box:hover {
        z-index: 999999999;
        box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.53); }
        .side-quote-container .side-quote-inner .quote-box:hover .timer {
          transform: scale(1.2); }
      .side-quote-container .side-quote-inner .quote-box .quote-image {
        width: 100%;
        height: 100%;
        position: absolute;
        z-index: -10; }
        .side-quote-container .side-quote-inner .quote-box .quote-image img {
          object-fit: cover;
          width: 100%;
          height: 100%; }
      .side-quote-container .side-quote-inner .quote-box .quote-inside {
        flex: 1;
        padding: 15px;
        background-color: #ffffffc7;
        display: flex;
        flex-direction: column;
        justify-content: center; }
        .side-quote-container .side-quote-inner .quote-box .quote-inside h3 {
          font-size: 18px;
          margin: 0;
          color: #383838;
          margin-bottom: 10px;
          font-weight: 900;
          text-align: center;
          text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); }
        .side-quote-container .side-quote-inner .quote-box .quote-inside p {
          font-size: 13px;
          font-weight: 900;
          margin: 0 0 25px;
          color: #383838;
          text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
          text-align: center; }
        .side-quote-container .side-quote-inner .quote-box .quote-inside a {
          color: #ffffff;
          border-color: #3cb67a;
          font-family: "Lato", Sans-serif;
          font-weight: 700;
          background-color: #3cb67a;
          border-width: 1px;
          border-radius: 0px;
          text-decoration: none;
          padding: 5px 20px;
          border: 2px solid #3cb67a;
          display: block;
          text-align: center;
          position: relative; }
      .side-quote-container .side-quote-inner .quote-box:hover a {
        background: white;
        color: #3cb67a; }

.side-quote-container-stairfurb .quote-header,
.side-quote-container-stairfurb .quote-box {
  border-color: #43a2da !important; }

.side-quote-container-alfresco .quote-header,
.side-quote-container-alfresco .quote-box {
  border-color: #f9b000 !important; }

.elementor-kit-10684 .elementor-button {
  background-color: transparent; }

/** CUSTOM PRICING - CATEGORFY **/
.category-custom-pricing-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  .category-custom-pricing-container .subscriber-price {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center; }
    .category-custom-pricing-container .subscriber-price .subscriber-discount-percent {
      font-size: 16px;
      margin-left: 8px;
      background-color: #d0f9e5;
      color: #3bb67a;
      border-radius: 4px;
      padding: 0px 12px;
      font-weight: 600;
      cursor: pointer; }
      .category-custom-pricing-container .subscriber-price .subscriber-discount-percent:hover {
        background-color: #aceccd; }
  .category-custom-pricing-container .main-price {
    color: #3bb67a;
    font-size: 38px;
    font-weight: 600;
    text-align: center; }
    @media (max-width: 460px) {
      .category-custom-pricing-container .main-price {
        font-size: 32px; } }
  .category-custom-pricing-container .usual-price {
    font-size: 18px;
    font-weight: 600; }
  .category-custom-pricing-container .product-btn {
    background-color: #3bb67a;
    font-weight: 700;
    color: #ffffff;
    font-size: 16px;
    padding: 15px 30px;
    width: 100%;
    display: inline-block;
    line-height: 1;
    text-align: center;
    margin-top: 35px;
    max-width: 500px; }
    .category-custom-pricing-container .product-btn:hover {
      background-color: #309b67; }

.best-seller-float {
  position: absolute !important;
  top: 30px !important;
  left: 30px !important;
  z-index: 10 !important;
  user-select: none !important;
  pointer-events: none !important; }

/** PRODUCT PRICING SHORTCODE */
.product-custom-pricing-container .product-pricing-inner {
  border: 1px #e9e9e9 solid;
  padding: 15px; }

.product-custom-pricing-container .usual-price s {
  font-weight: 600;
  font-size: 27px; }

.product-custom-pricing-container .prod-usual {
  font-weight: 400;
  font-size: 15px; }

.product-custom-pricing-container .pricing-divider {
  width: 100%;
  margin: auto;
  height: 1px;
  background-color: #e9e9e9;
  margin: 10px 0; }

.product-custom-pricing-container .subscriber-price {
  font-size: 17px;
  font-weight: 600;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0px 0 6px; }
  .product-custom-pricing-container .subscriber-price .subscriber-discount-percent {
    font-size: 16px;
    margin-left: 8px;
    background-color: #d0f9e5;
    color: #3bb67a;
    border-radius: 4px;
    padding: 0px 12px;
    cursor: pointer;
    font-weight: 600; }
    .product-custom-pricing-container .subscriber-price .subscriber-discount-percent:hover {
      background-color: #aceccd; }

.product-custom-pricing-container i {
  font-size: 13px;
  margin-bottom: 19px;
  display: block; }

.product-custom-pricing-container .main-price {
  color: #3bb67a;
  font-size: 28px;
  font-weight: 600; }
  @media (max-width: 460px) {
    .product-custom-pricing-container .main-price {
      font-size: 32px; } }

.product-custom-pricing-container .base-btn {
  padding: 10px 20px;
  font-size: 18px;
  font-weight: 600;
  margin: 13px 0 0;
  text-align: center;
  cursor: pointer;
  text-decoration: none; }

.product-custom-pricing-container .get-free-quote-btn {
  background-color: #3bb67a;
  color: #fff; }
  .product-custom-pricing-container .get-free-quote-btn:hover {
    background-color: #309b67; }

.product-custom-pricing-container .nl-btn {
  border: 1px solid #616d79;
  color: #616d79; }
  .product-custom-pricing-container .nl-btn:hover {
    background-color: #616d79;
    color: #fff; }

.product-custom-pricing-container .pricing-additional-links {
  display: flex;
  flex-direction: column;
  margin-top: 10px; }
  .product-custom-pricing-container .pricing-additional-links .pricing-additional-link {
    display: flex;
    justify-content: space-between;
    font-size: 21px;
    font-weight: 600;
    color: #000;
    border-bottom: 1px solid #e9e9e9;
    padding: 10px 10px;
    font-family: Playfair Display, Sans-serif !important;
    cursor: pointer; }
    .product-custom-pricing-container .pricing-additional-links .pricing-additional-link:hover {
      color: #3bb67a; }

/** QQ **/
.qq-floating-div {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 10000;
  background-color: #000000d9;
  display: none;
  justify-content: center;
  align-items: center;
  overflow-y: auto; }
  .qq-floating-div .alfresco-quick-quote-wrapper,
  .qq-floating-div .quick-quote-wrapper {
    max-width: 550px;
    width: 100%;
    margin: auto; }
  .qq-floating-div .qq-close-popup {
    font-weight: 600;
    font-size: 20px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px 20px;
    cursor: pointer;
    transform: scaleX(1.2); }

.side-quote-new .quote-header {
  box-shadow: none !important;
  border: none !important; }

.side-quote-new .get-quote-header {
  text-align: center; }
  .side-quote-new .get-quote-header h2 {
    font-size: 32px;
    font-weight: 600;
    padding: 0 15px; }
    @media (max-width: 650px) {
      .side-quote-new .get-quote-header h2 {
        font-size: 26px; } }
  .side-quote-new .get-quote-header h3 {
    font-size: 18px;
    font-weight: 300;
    text-transform: none;
    font-family: Lato !important;
    padding: 0 15px; }

.side-quote-new .quote-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  flex: 1;
  align-items: center; }

.side-quote-new .quote-box-new {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding: 20px;
  padding-bottom: 50px;
  width: 100%;
  max-width: 480px;
  max-width: 480px;
  text-decoration: none;
  position: relative;
  gap: 20px; }
  .side-quote-new .quote-box-new .quote-box-inner {
    display: block; }
    .side-quote-new .quote-box-new .quote-box-inner .quote-arrow {
      padding: 5px;
      background-color: #43a2da;
      height: 30px;
      width: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: white;
      float: right; }
  .side-quote-new .quote-box-new .quote-image {
    max-width: 130px;
    height: 170px;
    background-position: center;
    background-size: cover;
    width: 100vw; }
  .side-quote-new .quote-box-new h2 {
    font-weight: 600;
    text-decoration: none !important;
    color: #43a2da; }
    @media (max-width: 650px) {
      .side-quote-new .quote-box-new h2 {
        font-size: 22px; } }
  .side-quote-new .quote-box-new p {
    font-weight: 300;
    font-size: 19px;
    text-decoration: none !important;
    font-family: Lato;
    color: black; }
    @media (max-width: 650px) {
      .side-quote-new .quote-box-new p {
        font-size: 14px; } }
  .side-quote-new .quote-box-new .quote-btn {
    transition: transform 0.15s ease-in-out;
    background-color: #309b67;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none !important;
    padding: 10px;
    font-weight: 700;
    padding: 12px 10px;
    font-weight: 700;
    position: absolute;
    bottom: 0px;
    left: -10px;
    right: -10px; }
  .side-quote-new .quote-box-new:hover .quote-btn {
    transform: scale(1.05); }

.side-quote-new .quote-or {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 80%; }
  .side-quote-new .quote-or h3 {
    margin: 0; }
  .side-quote-new .quote-or .quote-line {
    border-bottom: 3px solid #000;
    flex: 1; }

.elementor-editor-active .page-content .container {
  display: block !important; }
  .elementor-editor-active .page-content .container .sidebar {
    display: none !important; }

.home-styles-slider {
  visibility: hidden;
  height: 500px;
  /* the slides */
  /* the parent */ }
  .home-styles-slider .nextArrowBtn {
    position: absolute;
    z-index: 1000;
    top: 50%;
    right: 35px;
    color: white;
    font-size: 42px;
    margin-top: -80px;
    background: none;
    border: none;
    cursor: pointer; }
    .home-styles-slider .nextArrowBtn:hover {
      color: #43a2da; }
  .home-styles-slider .prevArrowBtn {
    position: absolute;
    z-index: 1000;
    top: 50%;
    left: 35px;
    color: white;
    font-size: 42px;
    margin-top: -80px;
    background: none;
    border: none;
    cursor: pointer; }
    .home-styles-slider .prevArrowBtn:hover {
      color: #43a2da; }
  .home-styles-slider .slick-slide {
    margin: 0 15px; }
    .home-styles-slider .slick-slide h3 {
      color: #000000;
      font-size: 21px;
      margin-top: 20px;
      text-transform: capitalize;
      display: flex;
      /* Aligns text and arrow horizontally */
      justify-content: space-between;
      /* Pushes arrow to the right */
      align-items: center;
      padding: 0 15px; }
    .home-styles-slider .slick-slide h3::after {
      content: " ➔";
      color: #000000; }
  .home-styles-slider.slick-initialized {
    visibility: visible;
    height: auto; }
  .home-styles-slider .bg-img {
    background-size: cover;
    background-position: center; }
  .home-styles-slider .slick-track {
    padding: 10px 0; }
  .home-styles-slider .slick-list {
    margin: 0 -15px; }
  .home-styles-slider .slick-dots {
    display: flex;
    justify-content: center; }
    .home-styles-slider .slick-dots button {
      display: none !important; }
    .home-styles-slider .slick-dots li {
      color: #d9d9d9;
      width: 18px;
      cursor: pointer;
      font-size: 30px; }
      .home-styles-slider .slick-dots li.slick-active {
        color: #42a2da; }
  @media (max-width: 640px) {
    .home-styles-slider .slick-slide {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.065), 0 3px 6px rgba(0, 0, 0, 0.082) !important; } }
  .home-styles-slider .slick-slide:hover h3 {
    color: #3bb67a !important; }

.category-styles-slider-container {
  display: flex;
  gap: 30px; }
  .category-styles-slider-container .btn-container {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center; }
  .category-styles-slider-container .slider-view-btn-container {
    z-index: 10;
    font-weight: 600;
    font-size: 16px !important;
    color: white;
    pointer-events: none;
    padding: 6px 10px !important;
    width: 200px; }
  .category-styles-slider-container .style-tag {
    position: absolute;
    top: 10px;
    padding: 0 20px 5px 10px;
    margin-left: 0;
    font-family: Playfair Display, Sans-serif !important;
    z-index: 10;
    pointer-events: none;
    background: #606c78; }
    .category-styles-slider-container .style-tag h4 {
      font-size: 34px;
      color: white;
      margin: 0; }
    .category-styles-slider-container .style-tag p {
      font-size: 20px;
      color: white;
      margin: 0;
      font-weight: 600;
      font-family: Lato !important; }
  @media (max-width: 600px) {
    .category-styles-slider-container {
      flex-wrap: wrap; } }

.category-slider-wrapper {
  width: 50%;
  position: relative; }
  @media (max-width: 600px) {
    .category-slider-wrapper {
      width: 100%; } }

.category-styles-slider {
  visibility: hidden;
  height: 400px;
  /* the slides */
  /* the parent */ }
  .category-styles-slider .nextArrowBtn {
    position: absolute;
    z-index: 1000;
    top: 50%;
    right: 15px;
    color: white;
    font-size: 42px;
    margin-top: -20px;
    background: none;
    border: none;
    cursor: pointer; }
    .category-styles-slider .nextArrowBtn:hover {
      color: #43a2da; }
  .category-styles-slider .prevArrowBtn {
    position: absolute;
    z-index: 1000;
    top: 50%;
    left: 15px;
    color: white;
    font-size: 42px;
    margin-top: -20px;
    background: none;
    border: none;
    cursor: pointer; }
    .category-styles-slider .prevArrowBtn:hover {
      color: #43a2da; }
  .category-styles-slider .slick-slide {
    margin: 0 15px; }
    .category-styles-slider .slick-slide h3 {
      color: #606c78;
      font-size: 21px;
      margin-top: 20px;
      text-transform: capitalize;
      display: flex;
      /* Aligns text and arrow horizontally */
      justify-content: space-between;
      /* Pushes arrow to the right */
      align-items: center;
      padding: 0 15px; }
    .category-styles-slider .slick-slide h3::after {
      content: " ➔";
      color: #606c78; }
  .category-styles-slider.slick-initialized {
    visibility: visible;
    height: auto; }
  .category-styles-slider .bg-img {
    background-size: cover;
    background-position: center; }
  .category-styles-slider .slick-track {
    padding: 10px 0; }
  .category-styles-slider .slick-list {
    margin: 0 -15px; }
  .category-styles-slider .slick-dots {
    display: flex;
    justify-content: center;
    position: absolute;
    pointer-events: none;
    left: 0;
    right: 0;
    bottom: 60px; }
    .category-styles-slider .slick-dots button {
      display: none !important; }
    .category-styles-slider .slick-dots li {
      color: #d9d9d9;
      width: 18px;
      cursor: pointer;
      font-size: 30px;
      pointer-events: auto; }
      .category-styles-slider .slick-dots li.slick-active {
        color: #42a2da; }
  @media (max-width: 640px) {
    .category-styles-slider .slick-slide {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.065), 0 3px 6px rgba(0, 0, 0, 0.082) !important; } }
  .category-styles-slider .slick-slide:hover h3 {
    color: #3bb67a !important; }

.product-slider-wrapper .product-main-slider-wrapper {
  margin-bottom: 15px;
  position: relative; }
  .product-slider-wrapper .product-main-slider-wrapper .product-trustpilot {
    position: absolute;
    bottom: 75px;
    left: 0;
    right: 0;
    z-index: 10;
    pointer-events: none;
    user-select: none; }
    @media (max-width: 768px) {
      .product-slider-wrapper .product-main-slider-wrapper .product-trustpilot {
        bottom: 35px; } }
  .product-slider-wrapper .product-main-slider-wrapper .product-main-slider {
    visibility: hidden;
    height: 500px; }
    .product-slider-wrapper .product-main-slider-wrapper .product-main-slider.slick-initialized {
      visibility: visible;
      height: auto; }
    .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .prd-slid {
      min-height: 500px;
      background-size: cover;
      background-position: center; }
      @media (max-width: 690px) {
        .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .prd-slid {
          min-height: 330px; } }
    .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots {
      display: flex;
      justify-content: center;
      position: absolute;
      bottom: 10px;
      left: 0;
      right: 0;
      pointer-events: none; }
      .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots button {
        display: none !important; }
      .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots li {
        color: #d9d9d9;
        width: 18px;
        cursor: pointer;
        font-size: 30px;
        pointer-events: auto; }
        .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots li.slick-active {
          color: #42a2da; }

.product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider {
  visibility: hidden;
  height: 75px; }
  .product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider.slick-initialized {
    visibility: visible;
    height: auto; }
  .product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider .prd-slid {
    margin-right: 10px;
    background-size: cover;
    background-position: center;
    min-height: 75px;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    opacity: 1; }
    .product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider .prd-slid.slick-current {
      opacity: 0.3; }

@media (max-width: 767px) {
  .product-slider-wrapper {
    margin-top: -120px !important;
    margin-left: -25px !important;
    margin-right: -25px !important; } }

.product-select-wrapper .handrail-style-wrapper {
  padding-top: 30px;
  margin: 10px 0;
  display: flex;
  gap: 15px;
  align-items: center; }
  @media (max-width: 765px) {
    .product-select-wrapper .handrail-style-wrapper {
      justify-content: center; } }
  .product-select-wrapper .handrail-style-wrapper .handrail-style-container {
    display: flex;
    gap: 10px; }
    .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector {
      border-radius: 50px;
      padding: 1px 13px 2px;
      border: 1px solid #606c78;
      color: #606c78;
      font-weight: 500;
      cursor: pointer; }
      @media (max-width: 415px) {
        .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector {
          font-size: 12px; } }
      .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector.active, .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector:hover {
        background-color: #3cb67a;
        color: #fff;
        border-color: #3cb67a; }
      .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector.active {
        cursor: default; }

.product-select-wrapper .handrail-finish-wrapper {
  margin: 10px 0; }
  .product-select-wrapper .handrail-finish-wrapper p {
    font-weight: 600; }
    @media (max-width: 765px) {
      .product-select-wrapper .handrail-finish-wrapper p {
        text-align: center; } }
  .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container {
        gap: 0px;
        flex-wrap: nowrap; } }
    @media (max-width: 765px) {
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container {
        justify-content: center; } }
    .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      cursor: pointer;
      padding: 6px 8px; }
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector .handrail-finish-image {
        border-radius: 50%;
        aspect-ratio: 1 / 1;
        width: 65px;
        background-size: cover; }
        @media (max-width: 495px) {
          .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector .handrail-finish-image {
            width: 50px; } }
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector .handrail-finish-name {
        font-weight: 500; }
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector:hover {
        background-color: #e8e8e8; }
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector.active {
        background-color: #3cb67a;
        color: white; }
      .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector.active {
        cursor: default; }

.product-select-wrapper .spindle-colour-wrapper {
  margin: 10px 0; }
  .product-select-wrapper .spindle-colour-wrapper p {
    font-weight: 600; }
    @media (max-width: 765px) {
      .product-select-wrapper .spindle-colour-wrapper p {
        text-align: center; } }
  .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container {
    display: flex;
    gap: 20px; }
    @media (max-width: 765px) {
      .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container {
        justify-content: center; } }
    .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      cursor: pointer;
      padding: 6px 8px; }
      .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector .spindle-colour-image {
        border-radius: 50%;
        aspect-ratio: 1 / 1;
        width: 65px;
        background-size: cover; }
        @media (max-width: 495px) {
          .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector .spindle-colour-image {
            width: 50px; } }
      .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector .spindle-colour-name {
        font-weight: 500; }
      .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector.active, .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector:hover {
        background-color: #3cb67a;
        color: white; }
      .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector.active {
        cursor: default; }

.price-example-container {
  position: relative;
  height: 550px; }

.product-price-examples-slider {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.slider-hidden {
  visibility: hidden !important; }

.product-price-examples-slider {
  visibility: hidden;
  height: 500px;
  /* the slides */
  /* the parent */ }
  .product-price-examples-slider .get-started {
    color: white;
    border: 2px solid #3cb67a;
    background-color: #3cb67a;
    padding: 5px 15px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    width: calc(100% - 26px);
    margin: 10px 13px;
    cursor: pointer; }
    .product-price-examples-slider .get-started:hover {
      background-color: white;
      color: #3cb67a; }
  .product-price-examples-slider .slick-slide {
    margin: 0 15px; }
    .product-price-examples-slider .slick-slide h3 {
      color: #000000;
      font-size: 24px;
      margin-top: 20px;
      text-transform: capitalize;
      display: flex;
      /* Aligns text and arrow horizontally */
      justify-content: space-between;
      /* Pushes arrow to the right */
      align-items: center;
      padding: 0 15px;
      font-family: Lato !important; }
      .product-price-examples-slider .slick-slide h3 .sales-price {
        font-size: 24px; }
    .product-price-examples-slider .slick-slide h4 {
      font-weight: 600;
      padding: 0 15px;
      font-family: Lato !important;
      margin-bottom: 0; }
  .product-price-examples-slider.slick-initialized {
    visibility: visible;
    height: auto; }
  .product-price-examples-slider .bg-img {
    background-size: cover;
    background-position: center;
    position: relative; }
    .product-price-examples-slider .bg-img .toggle-full-design {
      background-color: #606c78;
      position: absolute;
      top: 0;
      right: 0;
      padding: 10px 20px;
      cursor: pointer;
      color: #fff; }
  .product-price-examples-slider .slick-track {
    padding: 10px 0; }
  .product-price-examples-slider .slick-list {
    margin: 0 -15px; }
  .product-price-examples-slider .slick-dots {
    display: flex;
    justify-content: center; }
    .product-price-examples-slider .slick-dots button {
      display: none !important; }
    .product-price-examples-slider .slick-dots li {
      color: #d9d9d9;
      width: 18px;
      cursor: pointer;
      font-size: 30px; }
      .product-price-examples-slider .slick-dots li.slick-active {
        color: #42a2da; }
  @media (max-width: 640px) {
    .product-price-examples-slider .slick-slide {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.065), 0 3px 6px rgba(0, 0, 0, 0.082) !important; } }

.handrail-finish-wrapper-pricing {
  margin: 10px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 25px; }
  .handrail-finish-wrapper-pricing p {
    font-weight: 600; }
  .handrail-finish-wrapper-pricing .handrail-finish-container {
    display: flex;
    gap: 20px; }
    .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      cursor: pointer;
      padding: 6px 8px; }
      .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing .handrail-finish-image {
        border-radius: 50%;
        aspect-ratio: 1 / 1;
        width: 65px;
        background-size: cover; }
        @media (max-width: 495px) {
          .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing .handrail-finish-image {
            width: 50px; } }
      .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing .handrail-finish-name {
        font-weight: 500; }
      .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing.active, .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing:hover {
        background-color: #3cb67a;
        color: white; }
      .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing.active {
        cursor: default; }

.sf-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 8px;
  font-weight: 600;
  font-size: 20px;
  margin: 10px 0;
  cursor: pointer;
  text-decoration: none !important; }

.sf-btn-primary {
  background-color: #3cb67a;
  color: white;
  border: 2px solid #3cb67a; }
  .sf-btn-primary:hover {
    text-decoration: underline; }

.sf-btn-secondary {
  background-color: white;
  color: #606c78;
  border: 2px solid #606c78; }
  .sf-btn-secondary:hover {
    text-decoration: underline; }

.info-popup {
  position: fixed; }
  .info-popup::backdrop {
    background: rgba(0, 0, 0, 0.5);
    /* Transparent black background */ }

/** DESIGN PREVIEW */
.design-preview-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: none;
  z-index: 1000;
  background-color: #000000db; }

.design-preview-bg.active {
  display: block; }

.design-preview-bg .close-btn {
  position: absolute;
  top: 40px;
  right: 40px;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
  z-index: 1001;
  border-radius: 50%;
  background-color: black;
  display: flex;
  height: 40px;
  width: 40px;
  justify-content: center;
  align-items: center; }

/** CART **/
.crt-config-wrapper .crt-total {
  color: #cc3c3c;
  font-size: 17px;
  font-weight: 600;
  padding-top: 12px; }

.crt-config-wrapper .crt-main-kit .crt-kit-wrapper {
  display: flex;
  width: 100%;
  gap: 20px; }
  @media (max-width: 590px) {
    .crt-config-wrapper .crt-main-kit .crt-kit-wrapper {
      flex-direction: column; } }
  .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image {
    background-position: center;
    background-size: cover;
    height: auto;
    width: 40%; }
    @media (max-width: 590px) {
      .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image {
        width: 100%;
        height: 180px; } }
  .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-glass {
    background: #c0e7f9;
    position: relative;
    overflow: hidden; }
    .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-glass .glass-line {
      width: 220px;
      height: 100%;
      position: absolute;
      left: -16px;
      background: linear-gradient(125deg, transparent 25.5%, #dff3fd 50%, transparent 50.5%); }
  .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details {
    flex: 1; }
    .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs {
      display: flex;
      gap: 5px;
      flex-direction: column; }
      .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs p {
        margin: 0; }

.crt-config-wrapper .crt-sections {
  gap: 25px;
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr; }
  @media (max-width: 590px) {
    .crt-config-wrapper .crt-sections {
      grid-template-columns: 1fr; } }
  .crt-config-wrapper .crt-sections .crt-section-wrapper {
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-thumbnail {
      width: 40%;
      max-width: 160px; }
    .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats {
      flex: 1; }
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats h3 {
        font-size: 14px; }
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-Range,
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-BaserailFinish,
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-HandrailFinish,
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-BaseRail,
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-HandRail,
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-SystemType,
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-SpindleFinish {
        display: none !important; }
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation {
        display: grid;
        grid-template-columns: auto 1fr;
        /* Define two columns: auto for dt, flexible for dd */
        gap: 2px 10px;
        font-size: 13px; }
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dt {
        font-weight: 500;
        text-align: left;
        /* Align dt text to the right */ }
      .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dd {
        margin: 0;
        /* Remove default margin from dd */ }
        .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dd p {
          margin: 0;
          /* Remove default margin from dd */ }

.crt-modify-btn {
  color: #606c78 !important;
  font-size: 14px;
  padding: 5px 10px;
  text-transform: uppercase;
  margin-bottom: 0 !important; }
  .crt-modify-btn:hover {
    color: #606c78 !important; }

.quote-wrap-shortcode {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  flex: 1;
  align-items: center; }
  .quote-wrap-shortcode .quote-box-new {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    padding: 20px;
    padding-bottom: 50px;
    width: 100%;
    max-width: 750px;
    text-decoration: none;
    position: relative;
    gap: 20px; }
    .quote-wrap-shortcode .quote-box-new .quote-box-inner {
      display: block; }
      .quote-wrap-shortcode .quote-box-new .quote-box-inner .quote-arrow {
        padding: 5px;
        background-color: #43a2da;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        float: right; }
    .quote-wrap-shortcode .quote-box-new .quote-image {
      max-width: 130px;
      height: 170px;
      background-position: center;
      background-size: cover;
      width: 100vw; }
    .quote-wrap-shortcode .quote-box-new h2 {
      font-weight: 600;
      text-decoration: none !important;
      color: #43a2da; }
      @media (max-width: 650px) {
        .quote-wrap-shortcode .quote-box-new h2 {
          font-size: 22px; } }
    .quote-wrap-shortcode .quote-box-new p {
      font-weight: 300;
      font-size: 19px;
      text-decoration: none !important;
      font-family: Lato;
      color: black; }
      @media (max-width: 650px) {
        .quote-wrap-shortcode .quote-box-new p {
          font-size: 14px; } }
    .quote-wrap-shortcode .quote-box-new .quote-btn {
      transition: transform 0.15s ease-in-out;
      background-color: #309b67;
      display: flex;
      justify-content: center;
      align-items: center;
      text-decoration: none !important;
      padding: 10px;
      font-weight: 700;
      padding: 12px 10px;
      font-weight: 700;
      position: absolute;
      bottom: 0px;
      left: -10px;
      right: -10px; }
    .quote-wrap-shortcode .quote-box-new:hover .quote-btn {
      transform: scale(1.05); }

.prod-sel-cont.spindle {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap; }

@media (min-width: 631px) {
  .trustbox-zoom {
    transform: scale(1.5); } }

.whats-included {
  width: 100%;
  margin: auto; }
  .whats-included .whats-included-img {
    display: none;
    margin: auto; }
    .whats-included .whats-included-img img {
      margin: auto; }

.container {
  display: block !important; }

.quote-image {
  position: relative; }

.whats-app {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #39ae41;
  position: absolute;
  top: 25px;
  right: 0;
  padding: 5px; }
  .whats-app img {
    width: 20px; }

.quote-arrow {
  width: 100% !important;
  gap: 10px;
  justify-content: space-between !important;
  padding: 0 10px !important;
  font-weight: 600; }
  .quote-arrow.wa-quote {
    background-color: #39ae41 !important; }

.quote-box-new {
  gap: 0 !important;
  padding: 0 !important;
  margin: 20px 20px 50px !important;
  align-items: stretch !important;
  min-height: 200px; }
  .quote-box-new.wa h2 {
    color: #39ae41; }
  .quote-box-new h2,
  .quote-box-new p {
    margin-left: 20px !important;
    padding-right: 10px; }
  .quote-box-new .quote-image {
    height: auto !important; }

.quote-box-inner {
  display: flex !important;
  height: auto !important;
  flex-direction: column;
  justify-content: space-between; }
  .quote-box-inner h2 {
    margin-top: 10px; }

.q-padder {
  padding: 0 30px; }

.qbp {
  width: auto !important; }

@media (max-width: 445px) {
  .quote-arrow {
    font-size: 12px; } }

.cart-section-selector .section-types-container,
.cart-section-editor .section-types-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin: 20px 0; }

.cart-section-selector .section-type-option,
.cart-section-editor .section-type-option {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  text-align: center;
  transition: all 0.3s ease; }
  .cart-section-selector .section-type-option:hover,
  .cart-section-editor .section-type-option:hover {
    border-color: #3cb67a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .cart-section-selector .section-type-option img,
  .cart-section-editor .section-type-option img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 10px; }
  .cart-section-selector .section-type-option h3,
  .cart-section-editor .section-type-option h3 {
    margin: 10px 0 5px;
    font-size: 16px; }
  .cart-section-selector .section-type-option p,
  .cart-section-editor .section-type-option p {
    color: #666;
    font-size: 14px;
    margin-bottom: 15px; }

.cart-section-selector .section-editor-form,
.cart-section-editor .section-editor-form {
  display: grid;
  gap: 20px;
  margin: 20px 0; }
  .cart-section-selector .section-editor-form .form-field label,
  .cart-section-editor .section-editor-form .form-field label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px; }
  .cart-section-selector .section-editor-form .form-field input,
  .cart-section-selector .section-editor-form .form-field select,
  .cart-section-editor .section-editor-form .form-field input,
  .cart-section-editor .section-editor-form .form-field select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px; }
  .cart-section-selector .section-editor-form .form-field input[type="checkbox"],
  .cart-section-editor .section-editor-form .form-field input[type="checkbox"] {
    width: auto;
    margin-right: 8px; }
