@charset "ISO-8859-1";

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 193, 7, 1) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(220, 53, 69, 1) !important;
}

.Modal.Modal--configurator-help {
	top: 10%;
}

.btn_datasheet--acsource {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  font-size: 1rem;
  display: inline-block;
  padding: 0.5em 1em;
  position: relative;
  z-index: 1;
  text-decoration: none;
  transition: opacity .4s ease;
}

.btn_datasheet--acsource:hover,
.btn_datasheet--acsource:focus {
	opacity: .6;
}

.fs-1 {
    font-size: 2.5rem !important;
}

.text-dark {
	color: black;
}

.admin-panel:has(table) {
   padding: 10px;
   border-radius: 10px;
   background-color: rgba(0, 70, 173, 0.5);
   color: #fff;
}

.admin-panel table {
	width: 100%;
}

.admin-panel td {
	border-bottom: 1px solid #fff;
}

.admin-panel--pricing-snippet:has(table) {
	display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px;
  gap: 10px;
  max-width: calc(100% - 20px);
  margin: 10px;
}

.configurator {
	display: block;
	position: relative;
	width: 100%;
	height: calc(100vh - 95px);
	min-height: 506px;
	max-height: 1900px;
	transition: max-height 1s ease;
	clear: both;
	background-color: fafcff;
}

.configurator__bg {
	background-image: linear-gradient(to bottom, rgba(255,255,255, 0), rgba(255, 255, 255, .8)), radial-gradient(ellipse at center, rgba(255, 255, 255, .6), rgba(0,70,173, 0.5)), url(/QPF/acsconfig/tempassets/background2.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.configurator__container {
  position: relative;
  height: 100%;
}

.configurator--hidden .configurator__model-viewer {
	display: none;
}

.configurator__inner {
  display: flex;
  flex-direction: row;
  min-width: 288px;
  position: relative;
  width: 100%;
  height: calc(100% - 38px);
}

.configurator__model-view {
	width: 66.66%;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.configurator-controls {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	z-index: 2;
}

.configurator-controls--widgets {
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 1;
	flex: 1;
}

.configurator-controls--widgets--padding-right {
	padding-right: 60px;
}

.configurator-controls__advanced-options {
	position: relative;
  z-index: 1;
  vertical-align: top;
  margin-right: 15px;
}

.btn__advanced-controls--submit {
	position: absolute;
  display: flex;
  align-items: center;
  right: 0;
  background: #0046ad;
  border: none;
  color: #fff;
  height: 30px;
  width: 30px;
  border-radius: .2rem;
  justify-content: center;
  top: 0;
  font-size: 18px;
  padding-top: 3.1px;
}

.configurator__widget-controls {
  padding: 11px;
  z-index: 1;
  vertical-align: top;
  display: flex;
  gap: 8px;
}

.configurator__widget-controls--fixed-top-right {
	position: absolute;
	top: 0;
	right: 0;
}

.btn__widget-controls {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-color: #fafcff;
  border: 1px solid rgba(0, 0, 0, 0.125);
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
  color: #0046ad;
}

.btn__widget-controls:hover,
.btn__widget-controls:focus {
	border: 1px solid #0046ad;
}

.btn__widget-controls.btn__widget-controls--icon {
	padding-top: 3px;
  font-size: 1.5em;
}

.configurator-footer {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}

.configurator-card.configurator-card--range-name {
	position: relative;
	margin: 0 auto;
	width: fit-content;
	padding: 11px 1rem 18px;
	border-radius: 0;
	border-top-right-radius: 1rem;
	border-top-left-radius: 1rem;
	z-index: 1;
}

.configurator-card--range-name::after,
.configurator-card--range-name::before  {
	content: '';
  position: absolute;
  bottom: 0;
  width: 70px;
  height: 100%;
  background-color: #fafcff;
  z-index: -1;
}

.configurator-card--range-name::after {
  left: calc(100% - 50px);
  transform: skew(30deg);
  border-top-right-radius: 1rem;
  border-right: 1px solid rgba(0, 0, 0, 0.125);
  box-shadow: rgba(50, 50, 93, 0.25) 3px 6px 4px -5px, rgba(0, 0, 0, 0.1) 5px 3px 7px -3px;
}

.configurator-card--range-name::before {
  right: calc(100% - 50px);
  transform: skew(-30deg);
  border-top-left-radius: 1rem;
  border-left: 1px solid rgba(0, 0, 0, 0.125);
  box-shadow: rgba(50, 50, 93, 0.25) -3px 6px 4px -5px, rgba(0, 0, 0, 0.1) -5px 3px 7px -3px;
}

.configurator__navigation {
	pointer-events: none;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding-right: 11px;
  padding-top: 11px;
  width: 33.33%;
  min-width: 400px;
}

.configurator-card {
  background-color: #fafcff;
  border-radius: 2rem;
  border: 1px solid rgba(0, 0, 0, 0.125);
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.configurator-card--options {
	pointer-events: auto;
	display: flex;
	flex-direction: column;
}

.configurator-card--options .configurator-card__content::-webkit-scrollbar {width:19px;}
.configurator-card--options .configurator-card__content::-webkit-scrollbar-track {background:#f1f1f1;box-shadow:inset 0 0 5px grey;}
.configurator-card--options .configurator-card__content::-webkit-scrollbar-thumb {background:#0046ad;}
.configurator-card--options .configurator-card__content::-webkit-scrollbar-thumb:hover {background:#039;}

.breadcrumb {
	padding-bottom: 0;
	overflow: hidden;
}

.breadcrumb__inner {
	width: 100%;
	height: 38px;
  align-items: center;
  display: flex;
  border-bottom: 1px solid #cbd2d9;
  border-top: 1px solid #cbd2d9;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.1) 0px 7px 3px -3px;
  background: #fafcff;
  padding: 0;
  margin-bottom: 0;
}
.breadcrumb__inner > li {
	display: flex;
	align-items: center;
}

.breadcrumb__divider {
	font-size: .6em;
}

.breadcrumb__item {
	display: inline-block;
	background: none;
	border: none;
	position: relative;
	transition: color 0.2s linear;
	padding: 9px 8px 7px;
	border-bottom: 3px solid transparent;
  color: #0046ad;
  text-wrap: nowrap;
  text-overflow: ellipsis;
}

.breadcrumb__item:hover,
.breadcrumb__item:focus {
	opacity: .7;
}

.breadcrumb__item:before{font-family: bootstrap-icons;font-size:.8em}
.breadcrumb__item.breadcrumb__item--disabled:before{content: "\F47A";}
.breadcrumb__item.breadcrumb__item--current:before{content: "\F3E7";}
.breadcrumb__item.breadcrumb__item--invalid:before{content: "\F332";}

.breadcrumb__item.breadcrumb__item--invalid {color: red !important;font-weight: bold;}

.breadcrumb__item:disabled {
	opacity: 1;
}

.breadcrumb__item.breadcrumb__item--current {
	color: #0046ad;
	font-weight: bold;
	border-bottom: 3px solid #0046ad;
}

.breadcrumb__item.breadcrumb__item--disabled {
	color: grey;
}

.configurator-card__title {
	width: 100%;
	text-align: center;
	padding: 11px;
	border-bottom: 1px solid rgba(0, 0, 0, .2);
	padding-bottom: 0;
}

.configurator-options__heading {
  padding: 11px;
  text-align: center;
}

.configurator-options__tab-row {
	padding: 0 20px;
}

.configurator-links {
	display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px;
}

.disclaimer--warning {
	color: red;
}

.upgrade-to-pro__disclaimer {
	display: none;
	position: absolute;
  width: 200px;
  color: #fff;
  background-color: #dc3545;
  padding: 9px;
  border-radius: 5px;
  line-height: normal;
  top: calc(100% + 5px);
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: visibility .6s ease, opacity .6s ease;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

label:has(input:disabled) .upgrade-to-pro__disclaimer {
	display: block;
}

label:hover .upgrade-to-pro__disclaimer {
	visibility: visible;
	opacity: 1;
}

.config-stage {
	display: none;
}

.config-stage--active {
	display: block;
	flex: 1;
}

.configurator-options__selection {
  border: none;
  margin: 0;
  padding: 0;
}

.configurator-options__selection-label {
  width: 100%;
  padding: 11px;
  margin-bottom: 0;
  cursor: pointer;
  border-top: 1px solid rgba(0, 0, 0, .125);
  transition: transform .6s ease, background-color .2s ease;
  background-color: rgba(255, 255, 255, 0);
  font-size: 1rem;
  color: #0046ad;
  position: relative;
  transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
}

.configurator-options__selection-label:last-child {
	border-bottom: 1px solid rgba(0, 0, 0, .125);
}

.configurator-options__selection-label:hover {
	transform: scale(1.01);
}

.configurator-options__selection-label:hover,
.configurator-options__selection-label:focus-within {
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	background-color: rgba(255, 255, 255, 1);
	z-index: 1;
}

.configurator-options__selection-label:has(input:checked) {
	background-color: #0046ad;
	color: #fff;
}

.configurator-options__selection-label small {
	font-size: .6em;
  vertical-align: top;
}

.configurator-options__selection-label--disabled {
	color: rgba(0,0,0,.5);
	cursor: default;
}

.configurator-options__selection-label.configurator-options__selection-label--disabled:hover,
.configurator-options__selection-label.configurator-options__selection-label--disabled:focus-within {
	transform: none;
  box-shadow: none;
  background-color: rgba(255, 255, 255, 0);
  z-index: 0;
}

.configurator-options__selection-label.configurator-options__selection-label--checkbox::after {
	position: absolute;
	right: 11px;
	top: 7px;
	content: "";
  background-color:  white;
  height: 30px;
  width: 30px;
  border-radius: .2em;
  border:  1px solid #cbd2d9;
  color: #fff;
  font-family: bootstrap-icons;
  align-items: center;
  display: inline-flex;
  justify-content: center;
  padding-top: 1px;
}

.configurator-options__selection-label.configurator-options__selection-label--checkbox:has(input:checked)::after {
	content: "\F633";
	background-color:  #1CAC78;
}

.configurator-options__selection-checkbox {
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  z-index: 999;
  -webkit-transform: translate3d(0,0,0);
}

.configurator-options__category-header {
	font-weight: bold;
	padding: 11px;
}

.configurator-card__footer {
	min-height: 66.391px;
	border-top: 1px solid rgba(0,0,0,.125);
}

.configurator-card__nav-btn-container {
	width: 100%;
	padding: 11px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.configurator-card__nav-btn-container.configurator-card__nav-btn-container--footer {
	justify-content: center;
	gap: 20px;
}

.btn__configurator-footer {
  border: 1px solid #cbd2d9;
  background: #fff;
  width: 60px;
  height: 60px;
  font-size: 2em;
  padding-top: 5px;
  border-radius: 50%;
  color: #0046ad;
}

.btn__configurator-footer:hover,
.btn__configurator-footer:focus {
	border: 1px solid #0046ad;
}

.configurator-card__nav-btn-container.configurator-card__nav-btn-container--cta {
	justify-content: center;
}

.configurator-card__nav-btn-container.configurator-card__nav-btn-container--centered {
	justify-content: center;
	gap: 20px;
}

.configurator-options__heading .configurator-card__nav-btn-container h3 {max-width: 70%;}

.menu-nav-btn__container {
  display: flex;
  flex-direction: column;
}

.menu-nav-btn__container.menu-nav-btn__container--hidden {
  visibility: hidden;
}

.btn__configurator-nav {
	border: none;
	background-color: #0046ad;
	color: #fff;
	border-radius: 100%;
	width: 50px;
	height: 50px;
	text-align: center;
	font-size: 2rem;
	border: solid 1px #3a619a;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.btn__configurator-nav.btn__configurator-nav--secondary {
	background-color: #fafcff;
	color: #0046ad;
	border: solid 1px #0046ad;
}

.btn__configurator-nav.btn__configurator-nav--secondary .config-arrow {
	border: solid #0046ad;
	border-width: 0 5px 5px 0;
}

.config-arrow {
  border: solid #fff;
  border-width: 0 5px 5px 0;
  display: inline-block;
  padding: 5px;
}

.config-arrow.right {
  transform: rotate(-45deg) translate(-2px, -2px);;
  -webkit-transform: rotate(-45deg) translate(-2px, -2px);;
  
}

.config-arrow.left {
  transform: rotate(135deg) translate(-2px, -2px);
  -webkit-transform: rotate(135deg) translate(-2px, -2px);
}

.btn__configurator-nav:hover,
.btn__configurator-nav:focus {
	opacity: .7;
}

.btn__configurator-nav.btn__configurator-nav--disabled:hover,
.btn__configurator-nav.btn__configurator-nav--disabled:focus {
	opacity: 1;
}

.btn__configurator-nav.btn__configurator-nav--disabled {
	background-color: grey;
	border: solid 1px rgba(0, 0, 0, .2);
}

.btn__configurator-nav.btn__configurator-nav--secondary.btn__configurator-nav--disabled {
	background-color: #fafcff;
  border: solid 1px grey;
  color: grey;
}

.btn__configurator-nav.btn__configurator-nav--secondary.btn__configurator-nav--disabled .config-arrow {
  border: solid grey;
  border-width: 0 5px 5px 0;
}

.btn__configurator-nav.btn__configurator-nav--hidden {
	visibility: hidden;
}

.configurator__model-viewer {
	position: absolute;
	width: 100%;
  height: 100%;
  z-index: 1;
}

.configurator__model-viewer-overflow--loaded .configurator__model-viewer {
	width: calc(100% + 500px);
  left: -500px;
}

.configurator__model-viewer-overflow {
	position: absolute;
	overflow: hidden;
	width: 100%;
  left: 0;
  top: 0;
  height: 100%;
}

.configurator__model-viewer-overflow--loaded {
	width: calc(100vw - 20px);
}

.configurator__product-img {
	padding: 3rem;
	display: none;
}

.configurator-summary {
	padding: 11px 20px;
  gap: 20px;
}

.configurator-summary--list {
	padding: 0;
	margin: 0;
}

.configurator-summary__list-item {
	margin-bottom: 1em;
}

.inline-widget {
	margin-left: 10px;
	background: none;
	color: #0046ad;
	border: none;
}

.inline-widget:hover,
.inline-widget:focus {
	opacity: .7;
}

@media ( prefers-reduced-motion: no-preference ) {
  body {
	  scroll-behavior: smooth;
	}
	.hero-banner-wrapper {
	  -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
	  transition: transform .6s linear, visibility 1s ease, opacity 1s ease;
	}
}

@media screen and (max-width: 1500px) {
	.breadcrumb {
	 font-size: .7em;
	}
	
	.breadcrumb__item {
	  text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  
  .configurator-card__nav-btn-container.configurator-card__nav-btn-container--sticky {
    background: #fafcff;
    position: sticky;
    top: 0;
    padding-bottom: 0px;
  }
	
	.configurator-options__selection-label {
	 font-size: 1rem;
	}
	
	.configurator-options__selection-label:hover,
  .configurator-options__selection-label:focus-within {
    transform: none;
	}
	
	.configurator-card--options .configurator-card__content {
	  height: calc(100% - 170.782px);
	  overflow: auto;
	}
	.configurator-card.configurator-card--options {
	  max-height: calc(100% - 66px);
	}
}

@media screen and (max-width: 984px) {
	.configurator {
	 height: calc(100vh - 50px);
	}
}

@media screen and (max-width: 768px) {
	.configurator__widget-controls {
	 flex-direction: column;
	}
	.configurator__product-img-container {
	  position: absolute;
	  height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
	}
	.configurator__product-img {
	 width: 100%;
	 display: block;
	}
  .configurator__model-view {
    min-height: 450px;
    width: 100%;
  }
	.breadcrumb {
	 display: none;
	}
	
  .configurator.index--active {
    max-height: 999999px;
  }
	.configurator {
	   height: auto;
	   max-height: 999999px;
	   min-width: 0;
	}
	.configurator__navigation {
	 min-width: 100%;
	 width: 100%;
	 padding-right: 0;
	}
	.configurator-card {
	 box-shadow: none;
	 border-radius: 0;
	}
	.configurator-card.configurator-card--options {
	 width: 100%
	}
	.configurator-card.configurator-card--breadcrumb {
	 display: none;
	}
	.configurator__navigation:nth-child(1) .configurator-card {
	 border-bottom: none;
	}
	.configurator__inner {
	 flex-direction: column;
	 padding: 0;
	}
	.configurator model-viewer {
	 height: 200px;
	}
	.configurator__model-viewer {
	 positioN: relative;
	 min-height: 250px;
	}
}

model-viewer::part(default-progress-bar) {
	display: none;
}