/* The existing Tempera homepage, with its original artwork and service paths. */
.raitz-enhanced--outdoor {
  --raitz-outdoor-blue: #28758b;
  --raitz-outdoor-ink: #24353d;
  --raitz-outdoor-paper: #fffefa;
  background-color: #f4f2ed;
}

.raitz-enhanced--outdoor #header-full {
  background: var(--raitz-outdoor-paper);
  box-shadow: 0 4px 24px rgb(31 62 73 / 5%);
}

.raitz-enhanced--outdoor #branding {
  background: linear-gradient(110deg, #fffefa, #f3f8f8);
}

.raitz-enhanced--outdoor #site-title {
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.raitz-enhanced--outdoor #access {
  background: linear-gradient(105deg, #39879b, #286f85);
}

.raitz-enhanced--outdoor #access a {
  color: #fff;
}

.raitz-enhanced--outdoor #access ul ul {
  background: #286f85;
}

.raitz-enhanced--outdoor #access .switcher .selected > a {
  color: var(--raitz-outdoor-ink);
  background-color: var(--raitz-outdoor-paper);
}

.raitz-enhanced--outdoor #access .switcher a:is(:hover, :focus) {
  color: var(--raitz-outdoor-ink);
}

.raitz-enhanced--outdoor #slider {
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgb(31 62 73 / 10%);
}

body.raitz-enhanced.raitz-enhanced--outdoor .nivo-controlNav {
  position: relative;
  top: auto;
  bottom: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 148px;
  height: 44px;
  margin: 0 auto;
  padding: 0 8px;
  border-radius: 30px;
  background: rgb(255 254 250 / 95%);
  box-shadow: 0 3px 16px rgb(20 51 64 / 14%);
}

/* Existing mobile overrides force 9px dots; the original click targets need usable hit areas. */
body.raitz-enhanced.raitz-enhanced--outdoor .nivo-controlNav a {
  display: flex;
  align-items: center;
  justify-content: center;
  float: none;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  transform: none !important;
  font-size: 0;
  line-height: 0;
  text-indent: 0;
}

body.raitz-enhanced.raitz-enhanced--outdoor .nivo-controlNav a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 6px;
  background: #adbdc2;
  transition: width 180ms ease, background-color 180ms ease;
}

body.raitz-enhanced.raitz-enhanced--outdoor .nivo-controlNav a.active::before {
  width: 23px;
  background: var(--raitz-outdoor-blue);
}

.raitz-enhanced--outdoor #front-columns {
  margin-top: 38px;
}

.raitz-enhanced--outdoor #front-columns .column-header-image {
  margin-bottom: 14px;
  color: var(--raitz-outdoor-blue);
  font-size: clamp(22px, 1.7vw, 26px);
  line-height: 1.2;
  letter-spacing: -.02em;
}

.raitz-enhanced--outdoor #front-columns .column-image {
  border-radius: 18px;
  box-shadow: 0 14px 30px rgb(28 75 89 / 9%);
}

.raitz-enhanced--outdoor #front-columns .column-image > a.clickable-column {
  position: relative;
  display: block;
  height: auto;
  background: #f9faf9;
  isolation: isolate;
}

.raitz-enhanced--outdoor #front-columns .column-image > a.clickable-column img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none;
  filter: none;
  transition: none;
}

.raitz-enhanced--outdoor #front-columns .column-text {
  color: var(--raitz-outdoor-ink);
  line-height: 1.65;
  text-align: left;
}

.raitz-enhanced--outdoor #front-columns .columnmore a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 18px;
  border-radius: 8px;
  background: #276477;
  color: #fff;
  box-shadow: 0 4px 12px rgb(20 62 77 / 13%);
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

.raitz-enhanced--outdoor #front-columns .columnmore a:hover {
  background: #1c5264;
  box-shadow: 0 6px 16px rgb(20 62 77 / 20%);
}

/* Enhancement layers never replace an image, link, label, or the official logo. */
.raitz-enhanced--outdoor .raitz-outdoor-artwork {
  position: relative;
  display: block;
  transform: perspective(800px) rotateX(var(--raitz-art-rx, 0deg)) rotateY(var(--raitz-art-ry, 0deg));
  transform-origin: 50% 65%;
  transition: transform 180ms ease-out;
}

.raitz-enhanced--outdoor .raitz-outdoor-effects {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.raitz-enhanced--outdoor .raitz-outdoor-effects::before,
.raitz-enhanced--outdoor .raitz-outdoor-effects::after {
  content: "";
  position: absolute;
  animation-play-state: paused;
}

.raitz-enhanced--outdoor .raitz-outdoor-billboard .raitz-outdoor-effects {
  clip-path: polygon(18% 18%, 81% 10%, 80% 51%, 18% 58%);
}

.raitz-enhanced--outdoor .raitz-outdoor-billboard .raitz-outdoor-effects::before {
  inset: -15% -30%;
  background: linear-gradient(110deg, transparent 40%, rgb(255 255 255 / 85%) 49%, transparent 58%);
  transform: translateX(-80%);
  animation-name: raitz-outdoor-sign-light;
  animation-duration: 3.2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

.raitz-enhanced--outdoor .raitz-outdoor-vehicle .raitz-outdoor-effects::before {
  left: 12%;
  right: 12%;
  bottom: 17%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, rgb(40 117 139 / 25%), transparent);
}

.raitz-enhanced--outdoor .raitz-outdoor-vehicle .raitz-outdoor-effects::after {
  left: 15%;
  bottom: 17%;
  width: 12%;
  height: 2px;
  border-radius: 2px;
  background: #4ba0b5;
  opacity: 0;
  animation-name: raitz-outdoor-road-light;
  animation-duration: 2.7s;
  animation-delay: .2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

.raitz-enhanced--outdoor .raitz-outdoor-print .raitz-outdoor-effects {
  clip-path: polygon(9% 46%, 82% 24%, 83% 66%, 9% 88%);
}

.raitz-enhanced--outdoor .raitz-outdoor-print .raitz-outdoor-effects::before {
  left: 13%;
  top: 49%;
  width: 68%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #8ad6e5 35%, #fff 50%, #8ad6e5 65%, transparent);
  box-shadow: 0 0 9px rgb(77 171 193 / 40%);
  opacity: 0;
  transform: translateY(-18px) rotate(-15deg);
  animation-name: raitz-outdoor-print-light;
  animation-duration: 3.4s;
  animation-delay: .4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

.raitz-enhanced--outdoor[data-raitz-outdoor-motion="running"] .raitz-outdoor-inview .raitz-outdoor-effects::before,
.raitz-enhanced--outdoor[data-raitz-outdoor-motion="running"] .raitz-outdoor-inview .raitz-outdoor-effects::after {
  animation-play-state: running;
}

@keyframes raitz-outdoor-sign-light {
  0%, 58% { transform: translateX(-80%); }
  83%, 100% { transform: translateX(80%); }
}

@keyframes raitz-outdoor-road-light {
  0%, 52% { transform: translateX(0); opacity: 0; }
  62% { opacity: .65; }
  85%, 100% { transform: translateX(460%); opacity: 0; }
}

@keyframes raitz-outdoor-print-light {
  0%, 48% { transform: translateY(-18px) rotate(-15deg); opacity: 0; }
  57%, 77% { opacity: .75; }
  90%, 100% { transform: translateY(45px) rotate(-15deg); opacity: 0; }
}

@media (min-width: 1101px) {
  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-text {
    color: #fff;
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-image-inside {
    background: linear-gradient(135deg, rgb(15 43 55 / 91%), rgb(25 62 77 / 84%));
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-image:focus-within :is(.column-image-inside, .column-text) {
    left: 0;
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-image:focus-within .columnmore {
    bottom: 30px;
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .columnmore a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
  }
}

@media (min-width: 801px) {
  .raitz-enhanced--outdoor #front-columns .column-header-image {
    min-height: 2.4em;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .raitz-enhanced--outdoor #front-columns .column-image {
    overflow: visible;
  }

  .raitz-enhanced--outdoor #front-columns .column-image-inside {
    display: none;
  }

  .raitz-enhanced--outdoor #front-columns .column-text {
    position: static;
    display: block;
    margin: 0 auto;
    padding: 12px 0;
    transform: none;
    transition: none;
  }

  .raitz-enhanced--outdoor #front-columns .columnmore {
    position: static;
    margin-bottom: 12px;
  }
}

@media (max-width: 800px) {
  .raitz-enhanced--outdoor #front-columns {
    margin-top: 24px;
  }

  .raitz-enhanced--outdoor #front-columns .column-header-image {
    font-size: clamp(23px, 6.2vw, 28px);
    line-height: 1.25;
  }

  .raitz-enhanced--outdoor #slider {
    border-radius: 0 0 12px 12px;
  }

  body.raitz-enhanced.raitz-enhanced--outdoor .nivo-controlNav {
    bottom: 0;
    margin: 8px auto 0;
    background: #f3f7f7;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .raitz-enhanced--outdoor .raitz-outdoor-artwork {
    transform: none;
    transition: none;
  }

  .raitz-enhanced--outdoor .raitz-outdoor-effects {
    display: none;
  }

  .raitz-enhanced--outdoor :is(.raitz-outdoor-billboard, .raitz-outdoor-vehicle, .raitz-outdoor-print) .raitz-outdoor-effects::before,
  .raitz-enhanced--outdoor :is(.raitz-outdoor-billboard, .raitz-outdoor-vehicle, .raitz-outdoor-print) .raitz-outdoor-effects::after {
    animation: none;
  }

  body.raitz-enhanced.raitz-enhanced--outdoor .nivo-controlNav a::before,
  .raitz-enhanced--outdoor #front-columns .columnmore a {
    transition: none;
  }
}

/* Reserve the empty desktop header space for the existing language control. */
@media (min-width: 1101px) {
  body.raitz-enhanced.raitz-enhanced--outdoor #access {
    position: relative;
  }

  body.raitz-enhanced.raitz-enhanced--outdoor #access .menu-item-gtranslate {
    position: static !important;
  }

  body.raitz-enhanced.raitz-enhanced--outdoor #access #gtranslate_wrapper {
    top: -96px;
    right: 160px !important;
  }
}
