/***** CUSTOM ***********************************/
.pulse {
  background: rgba(112, 30, 236, 0.9);
  border-radius: 50%;
  border: none;
  height: 22px;
  width: 22px;
  z-index: 9; }

.pulse:after {
  content: "";
  border-radius: 50%;
  height: 40px;
  width: 40px;
  position: absolute;
  margin: -20px 0 0 -20px;
  -webkit-animation: pulsate 1s ease-out;
  -moz-animation: pulsate 1s ease-out;
  -o-animation: pulsate 1s ease-out;
  -ms-animation: pulsate 1s ease-out;
  animation: pulsate 1s ease-out;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-box-shadow: 0 0 1px 2px #701eec;
  box-shadow: 0 0 1px 2px #701eec;
  -webkit-animation-delay: 1.1s;
  -moz-animation-delay: 1.1s;
  -o-animation-delay: 1.1s;
  -ms-animation-delay: 1.1s;
  animation-delay: 1.1s; }

@-moz-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    -moz-transform: scale(0.1, 0.1);
    -o-transform: scale(0.1, 0.1);
    -ms-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }
  50% {
    opacity: 1;
    -ms-filter: none;
    filter: none; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); } }
@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    -moz-transform: scale(0.1, 0.1);
    -o-transform: scale(0.1, 0.1);
    -ms-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }
  50% {
    opacity: 1;
    -ms-filter: none;
    filter: none; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); } }
@-o-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    -moz-transform: scale(0.1, 0.1);
    -o-transform: scale(0.1, 0.1);
    -ms-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }
  50% {
    opacity: 1;
    -ms-filter: none;
    filter: none; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); } }
@keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    -moz-transform: scale(0.1, 0.1);
    -o-transform: scale(0.1, 0.1);
    -ms-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }
  50% {
    opacity: 1;
    -ms-filter: none;
    filter: none; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); } }
.pulse.red {
  background: rgba(236, 30, 64, 0.9); }

.pulse.red:after {
  -webkit-box-shadow: 0 0 1px 2px #ec1e40;
  box-shadow: 0 0 1px 2px #ec1e40; }

/****** AR STYLES MODELVIEWER ******************************/
model-viewer {
  --progress-bar-color: #FC0061;
  --progress-bar-height: 10px;
  --progress-bar-width: 300px; }

.hotspot:not([data-visible]) {
  opacity: 0.1; }

.annotation {
  background-color: #888888;
  position: absolute;
  transform: translate(10px, 10px);
  border-radius: 10px;
  padding: 10px; }

/* This keeps child nodes hidden while the element loads */
:not(:defined) > * {
  display: none; }

.HotspotAnnotation {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(2px);
  font-size: 0.9em;
  display: block;
  border: 0px solid #fff;
  border-radius: 5px;
  margin-top: -80px;
  position: absolute;
  width: 160px;
  padding: 4px;
  margin-left: -85px; }

.pulse.red .HotspotAnnotation {
  display: block; }

.modal-header {
  border-bottom: 0px; }
  .modal-header h5 {
    font-weight: bold; }

button.btn-close {
  border: 2px solid #000;
  border-radius: 0px; }
  button.btn-close:hover {
    border-color: #03ff9e;
    background-color: #03ff9e;
    filter: invert(100%); }

.modal-content {
  border-radius: 0px; }

#progress {
  position: absolute;
  width: 300px;
  height: 14px;
  color: rgba(255, 255, 255, 0.75);
  box-shadow: 0px 0px 8px 6px rgba(0, 0, 0, 0.25);
  border: 2px solid #FC0061;
  border-radius: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s 0.3s; }

#progress.show {
  transition-delay: 0s;
  opacity: 1; }

#progress > .bar {
  width: 100%;
  height: 100%;
  background-color: #FC0061;
  transform-origin: top left;
  transform: scaleX(0); }

.model {
  width: 100% !important;
  height: calc(100vh - 41px);
  margin: auto; }

section.models model-viewer button.pulse {
  display: none; }
section.models.div2022 model-viewer button.pulse.b2022 {
  display: none; }
  
section.models.div2023 model-viewer button.pulse.b2023 {
  display: block; }

section.models.div2024 model-viewer button.pulse.b2024 {
  display: block; }
section.models.div2025 model-viewer button.pulse.b2025 {
  display: block; }
section.models.div2026 model-viewer button.pulse.b2026 {
  display: block; }
section.models.div2027 model-viewer button.pulse.b2027 {
  display: block; }
section.models.div2028 model-viewer button.pulse.b2028 {
  display: block; }
section.models.div2029 model-viewer button.pulse.b2029 {
  display: block; }
section.models.div2030 model-viewer button.pulse.b2030 {
  display: block; }
section.models.div2031 model-viewer button.pulse.b2031 {
  display: block; }

/* This keeps child nodes hidden while the element loads */
:not(:defined) > * {
  display: none; }

model-viewer {
  overflow: hidden;
  background: #92c5d7;
  background: linear-gradient(90deg, #92c5d7 0%, #c3edf9 25%, #c3edf9 75%, #92c5d7 100%); }

.slider {
  width: 100%;
  text-align: center;
  overflow: hidden;
  position: absolute;
  bottom: 30px; }

@media (max-width: 600px) {
  .slider {
    overflow: scroll; } }
.slides {
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  min-width: 600px;
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */
  scrollbar-width: none;
  /* Firefox */ }

.slide {
  background: #1E2328;
  border: 2px solid #1E2328;
  border-radius: 5px;
  padding: 5px;
  margin: 5px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(2px);
  transition: all 0.2s ease; }
  .slide:hover {
    border: 2px solid #FC0061;
    background: #FC0061;
    color: #fff; }

.slide.selected {
  border: 2px solid #FC0061;
  color: #FC0061; }
  .slide.selected:hover {
    border: 2px solid #FC0061;
    background: #FC0061;
    color: #fff; }

.slide:focus {
  outline: none; }

.slide:focus-visible {
  outline: 1px solid #FC0061; }
  .slide:focus-visible:hover {
    border: 2px solid #FC0061;
    background: #FC0061;
    color: #fff; }

/*# sourceMappingURL=custom.css.map */
