/* =========================================================
   Hero System
   Homepage Hero + Internal Page Hero
   ========================================================= */


/* ---------------------------------------------------------
   Base Hero Container
--------------------------------------------------------- */

.uw-hero{
  position:relative;
  width:100%;
  overflow:hidden;
  color:#fff;
}



/* ---------------------------------------------------------
   Hero Section
--------------------------------------------------------- */

.uw-hero-section{
  width:100%;
}


/* ---------------------------------------------------------
   Hero Slide
--------------------------------------------------------- */

.uw-hero-slide{

  min-height:70vh;

  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;

  position:relative;

  overflow:hidden;

  z-index:0;

}


/* Disable legacy overlays */

.uw-hero-slide::before{
  display:none !important;
}

/* ---------------------------------------------------------
   Hero Image Gradient Overlay
--------------------------------------------------------- */

.uw-hero-slide::after{

  content:"";

  position:absolute;

  inset:0;

  pointer-events:none;

background:
linear-gradient(
  180deg,
  rgba(0,0,0,.15) 0%,
  rgba(0,0,0,0) 40%
),
linear-gradient(
  90deg,
  rgba(15,45,92,0) 45%,
  rgba(15,45,92,.12) 70%,
  rgba(0,0,0,.45) 100%
);

  z-index:1;

}


/* ---------------------------------------------------------
   SVG Arc Container
--------------------------------------------------------- */

.uw-hero-arcs{

  position:absolute;
  inset:0;

  z-index:2;

  pointer-events:none;

  overflow:hidden;

}


/* SVG positioning */

.uw-hero-arcs svg{

  position:absolute;

  left:0;
  top:50%;

  transform:translateY(-50%);

  height:130%;
  width:100%;

  max-width:none;

}

/* ---------------------------------------------------------
   Arc Depth Enhancement
--------------------------------------------------------- */

.uw-hero-arcs svg{
  filter: drop-shadow(-10px 0 35px rgba(0,0,0,.18));
}

/* ---------------------------------------------------------
   Arc Light Gradient
--------------------------------------------------------- */

.uw-hero-arcs::after{

  content:'';

  position:absolute;

  left:0;
  top:0;

  width:45%;
  height:100%;

  background:linear-gradient(
    to right,
    rgba(255,255,255,.08),
    rgba(255,255,255,0)
  );

  z-index:1;

}

/* ---------------------------------------------------------
   Hero Image Motion
--------------------------------------------------------- */

.uw-hero-slide{

  animation: heroZoom 14s ease-in-out infinite alternate;

}


@keyframes heroZoom{

  0%{
    background-size:100%;
  }

  100%{
    background-size:108%;
  }

}

/* ---------------------------------------------------------
   Hero Text Layer
--------------------------------------------------------- */

.uw-hero-section .container{

  position:relative;

  z-index:2;

}


/* ---------------------------------------------------------
   Hero Content
--------------------------------------------------------- */

.uw-hero-slide .container{
  position:relative;
  z-index:2;
}


/* ---------------------------------------------------------
   Hero Background Image
--------------------------------------------------------- */

.uw-hero-img{

  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

}




/* ---------------------------------------------------------
   Hero Content Container
--------------------------------------------------------- */

.uw-hero-content{

  position:relative;
  z-index:2;

  max-width:850px;
  margin:auto;
  text-align:center;

}


/* ---------------------------------------------------------
   Homepage Hero
--------------------------------------------------------- */

.uw-hero-home{

  min-height:70vh;

  display:flex;
  align-items:center;

}


/* Typography */

.uw-hero-overline{

  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.85;

}


.uw-hero-title{
  max-width: 520px;
  font-family:'Antonio',Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  font-size:clamp(2.2rem,5vw,3.6rem);
  line-height:1.05;
  letter-spacing:.015em;
  margin-bottom:1rem;
}


.uw-hero-text{
  font-size:clamp(1.05rem,2vw,1.25rem);
  max-width:520px;
}


/* Improve readability */

.uw-hero-overline,
.uw-hero-title,
.uw-hero-text{
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}

.uw-arc-yellow .uw-hero-overline,
.uw-arc-yellow .uw-hero-title,
.uw-arc-yellow .uw-hero-text {
  color: #0f2d5c;
  text-shadow: none;
}


/* ---------------------------------------------------------
   Internal Page Hero
--------------------------------------------------------- */

.uw-hero-internal{

  min-height:360px;

  display:flex;
  align-items:center;

}

/* ---------------------------------------------------------
   Hero Bottom Depth
--------------------------------------------------------- */

.uw-hero-internal::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:40px;
background:linear-gradient(
to bottom,
rgba(0,0,0,0),
rgba(0,0,0,.12)
);
pointer-events:none;
}


/* Gradient version */

.uw-hero-gradient{

  background:linear-gradient(
    135deg,
    var(--uw-blue-dark),
    var(--uw-blue-mid)
  );

}
.uw-hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(
to right,
rgba(0,0,0,.65) 0%,
rgba(0,0,0,.45) 40%,
rgba(0,0,0,.35) 70%,
rgba(0,0,0,.18) 100%
);
z-index:2;
}

/* ---------------------------------------------------------
   Internal Hero Branded Arcs
--------------------------------------------------------- */

.uw-hero-internal{
  min-height: 360px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.uw-internal-arcs{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.uw-internal-arcs svg{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 100%;
  max-width: none;
}

.uw-hero-internal .uw-hero-content{
  position: relative;
  z-index: 2;
}

/* Hide arcs when using background images */

.uw-hero-photo .uw-internal-arcs{
  display:none;
}

/* ---------------------------------------------------------
   Hero Texture Overlay
--------------------------------------------------------- */

.uw-hero-texture::before{

  content:'';

  position:absolute;

  inset:0;

  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");

  pointer-events:none;

  z-index:1;

}


/* ---------------------------------------------------------
   Internal Hero Typography
--------------------------------------------------------- */

.uw-internal-title{
  font-family:'Antonio',Arial,sans-serif;
  font-size:clamp(2.2rem,4vw,3.4rem);
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.06em;
  margin-bottom:.75rem;
  text-shadow:0 3px 10px rgba(0,0,0,.35);
}

.uw-hero-internal .uw-hero-overline{
font-size:.8rem;
margin-bottom:.4rem;
}

.uw-internal-subtitle{
  font-size:1.15rem;
  opacity:.95;
  margin-bottom:.4rem;
}

.uw-internal-tagline{
  font-size:1rem;
  font-weight:600;
  opacity:.85;
  margin-top:.5rem;
}

/* Photo hero text color */

.uw-hero-photo .uw-internal-title{
  color:#fff;
}

.uw-hero-photo .uw-internal-subtitle,
.uw-hero-photo .uw-internal-tagline{
  color:rgba(255,255,255,.95);
}
/* Internal hero titles */

.uw-hero-internal .uw-internal-title{
color:#fff;
}

.uw-hero-internal .uw-internal-subtitle,
.uw-hero-internal .uw-internal-tagline{
color:rgba(255,255,255,.92);
}

/* Yellow divider under hero titles */

.uw-hero-content::after{

  content:'';

  display:block;

  width:80px;
  height:4px;

  background:var(--uw-yellow);

  margin:1.4rem auto 0;

  border-radius:999px;

}


/* ---------------------------------------------------------
   Hero Image Version
--------------------------------------------------------- */

.uw-hero-photo{

  background-size:cover;
  background-position:center;

}
/* Photo hero zoom */

.uw-hero-photo{
animation: heroZoom 16s ease-in-out infinite alternate;
}

/* ---------------------------------------------------------
   Hero Text Entrance Animation
--------------------------------------------------------- */

.uw-hero-content{
  animation: heroTextReveal .9s ease-out forwards;
  opacity:0;
  transform:translateY(20px);
}

@keyframes heroTextReveal{

  0%{
    opacity:0;
    transform:translateY(20px);
  }

  100%{
    opacity:1;
    transform:translateY(0);
  }

}

/* staggered hero text */

.uw-hero-overline{
  animation-delay:.1s;
}

.uw-hero-title{
  animation-delay:.2s;
}

.uw-hero-text{
  animation-delay:.35s;
}

.uw-hero-content .btn{
  animation-delay:.5s;
}

.uw-hero-overline,
.uw-hero-title,
.uw-hero-text,
.uw-hero-content .btn{

  opacity:0;
  transform:translateY(15px);
  animation: heroTextReveal .8s ease forwards;

}

/* ---------------------------------------------------------
   Hero Carousel Indicators
--------------------------------------------------------- */

.carousel-indicators {
  bottom: 28px;
}

.carousel-indicators [data-bs-target] {

  width: 45px;
  height: 10px;

  border-radius: 2px;

  background-color: rgba(255,255,255,.55);

  margin: 0 5px;

  transition: all .25s ease;

}

.carousel-indicators .active {

  background-color: var(--uw-yellow);

  height: 12px;
  transform: scaleX(1.1);
}

/* ---------------------------------------------------------
   Mobile Adjustments
--------------------------------------------------------- */

@media (max-width:768px){

  .uw-hero-home{
    min-height:60vh;
  }

  .uw-hero-internal{
    min-height:340px;
  }

  .uw-hero-title{
    font-size:2rem;
  }

}