/* BODY */
html, body {
    font-family: 'ProximaNova', sans-serif;
}

/* HEADER */
header.py-3 {
    padding-bottom: 0 !important;
}
header .logo {
    margin-top: 10px;
}
header .logo img {
    width: 180px;
}
header .logo > a > span {
    display: none;
}

/* NAV Level 1 */
.mobile-menu-container {
    display: none;
}
a.mobile-menu-toggler {
    display: none;
}
ul.main-nav.mobile-nav {
    display: none;
}
ul.nav.main-nav {
    margin-top: 1.75rem;
}
ul.nav.main-nav > li {
    padding: 0px 10px 4px;
}
ul.nav.main-nav > li > a {
    color: #2d3e4c;
    border-right: 1px solid #2d3e4c;
    padding: 3px 0.3rem 2px;
}
ul.nav.main-nav > li.active > a {
    color: #01afc7;
}
ul.nav.main-nav > li.active > a > span {
    border-bottom: 3px solid #ea722d;
}
ul.nav.main-nav > li > a:hover {
    color: #01afc7;
}
ul.nav.main-nav > li:first-child > a {
    padding-left: 0;
}
ul.nav.main-nav > li > a > span {
    padding: 5px 0 5px 0;
    border-bottom: 3px solid transparent;
    margin: 0 12px 0 -6px;
}
ul.nav.main-nav > li:hover > a > span {
    border-bottom: 3px solid #ea722d;
}
ul.nav.main-nav > li:last-child > a {
    border-right: 0;
}

/* NAV Level 2 */
ul.nav.main-nav > li.has-sub > a > span {
    padding: 5px 0 5px 0;
}
ul.nav.main-nav > li.has-sub > div.sub-menu-container {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    position: absolute;
    background: #00aec7;
    z-index: 2;
    top: 100%;
    left: 0%;
    width: 100%;
    color: #fff;
    display: flex;
    align-content: center;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    padding: 2rem 0;
}
ul.nav.main-nav > li.has-sub > div.sub-menu-container > .container > .row > .col-md-12 {
    display: flex;
    align-content: center;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}
ul.nav.main-nav > li.has-sub > div.sub-menu-container div.sub-nav-title {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    background: #00aec7;
    width: 29%;
    color: #fff;
    font-weight: normal;
    font-family: 'ProximaNova', sans-serif;
    font-size: 2.4rem;
    line-height: 2.7rem;
}
ul.nav.main-nav > li.has-sub > div.sub-menu-container ul.sub-menu {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    background: #00aec7;
    width: 71%;
    color: #fff;
    list-style: disc;
    border-left: 1px solid #fff;
    padding-left: 4rem;
}
ul.nav.main-nav > li.has-sub:hover > div.sub-menu-container {
    opacity: 1;
    visibility: visible;
}
ul.nav.main-nav > li.has-sub > div.sub-menu-container ul.sub-menu > li > a {
    color: #fff;
    display: block;
    padding: 3px 12px 3px 1px;
    text-decoration: none;
}
ul.nav.main-nav > li.has-sub > div.sub-menu-container ul.sub-menu > li > a:hover {
    color: #003049;
}
ul.top-header-nav {
    margin-top: -10px;
}
ul.top-header-nav li {
    
}
ul.top-header-nav li:last-child a {
    padding-left: 3px;
}
ul.top-header-nav li a {
    color: #5b5b5b;
    font-size: 0.9rem;
}
ul.top-header-nav li a:hover {
    color: #00aec7;
}
ul.top-header-nav li a.btn  {
    color: #00aec7;
    position: relative;
    top: -3px;
    padding: 10px 20px;
}
ul.top-header-nav li a.btn:hover {
    color: #fff;
}
ul.top-header-nav li a > i {
    position: relative;
    top: 1px;
}

/* HERO SECTION (Full Width) */
.hero {
    color: white;
}
.hero .hero-wrapper {
    
}
.hero .hero-wrapper .hero-slide {
    height: 72vh;
    position: relative;
    background: linear-gradient(to bottom,  rgba(0,0,0,0.37) 0%,rgba(0,0,0,0.65) 100%);
}
.hero .hero-wrapper .hero-slide.video-height {
    height: 78vh;
}
.hero .hero-wrapper .hero-slide .hero-slide-front {
    height: 100%;
    pointer-events: none;
}
.hero .hero-wrapper .hero-slide .hero-slide-front a {
    pointer-events: auto;
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 {
    position: relative;    
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 h1 {
    color: var(--bs-orange);
    line-height: 1.2rem;
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 h2 {
    font-weight: 700;
    font-size: 3.6rem;
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 .hero-text-square {
    position: absolute;
    width: 43.8%;
    min-width: 585px;
    right: 0;
    background: var(--bs-orange);
    padding: 16px 21px 19px;
    bottom: -290px;
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 .hero-text-square p {
    margin-bottom: 0;
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 .hero-text-square p > span.quote {
    position: relative;
    display: block;
}
.hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 .hero-text-square p small {
    display: block;
    margin-top: 1rem;
}
.hero .hero-wrapper .hero-slide .hero-slide-back {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    overflow: hidden;
}
.hero .hero-wrapper .hero-slide .hero-slide-back img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.hero-video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Overlay play/pause button (appears on hover) */
.hero-buttons-wrapper {
  position: absolute;
  right: 50%;
  bottom: 48%;
  z-index: 2;
  text-align: center;
  margin-right: -95px;
}
.hero-video-toggle {
    margin-right: 5px;
}
.hero-audio-toggle {
    margin-left: 5px;
}
.hero-video-toggle,
.hero-audio-toggle {
  padding: .5rem .75rem;
  border: 0;
  border-radius: .5rem;
  background: rgba(0,0,0,.70);
  color: #fff;
  font: 600 14px/1 system-ui, sans-serif;
  cursor: pointer;
  font-size: 3rem;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.hero-slide.is-hover .hero-video-toggle,
.hero-slide.is-hover .hero-audio-toggle {
  opacity: 1;
  pointer-events: auto;
}

/* Swiper (Homepage) */
section.innovation-partners {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}
section.innovation-partners h2 {
    margin-bottom: 0.2rem;
}
section.innovation-partners h4 {
    
}
section.innovation-partners .innovation-partners-container {
    margin-top: 3rem;
}
section.innovation-partners .swiper {
    width: 100%;
    height: auto;
    min-height: 170px;
}
section.innovation-partners .swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
}
section.innovation-partners .swiper .swiper-slide img {
  max-height: 80%;
  width: auto;
  object-fit: contain;
}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom, .swiper-pagination-fraction {
    top: 9rem;
}
.swiper-pagination-bullet-active {
    background-color: #00aec7;
}

section.about-intro.py-5 {
    padding-top: 8.5rem !important;
    padding-bottom: 4rem !important;
}
section.about-intro .stat-box {
    
}
section.about-intro .stat-row {
    
}
section.about-intro .stat-row .stat-icon {
    float: left;
}
section.about-intro .stat-row .stat-icon > i {
    font-size: 2.2rem;
}
section.about-intro .stat-row .stat-number {
    float: left;
    font-size: 2rem;
    font-weight: bold;
    margin-left: 1rem;
}
section.about-intro .stat-row .stat-label {
    
}
section.about-intro .stat-row.stat-row-label {
    margin-bottom: 5rem;
}
section.about-intro .about-stats-block .col-md-4:nth-child(7) .stat-row.stat-row-label,
section.about-intro .about-stats-block .col-md-4:nth-child(9) .stat-row.stat-row-label {
    margin-bottom: 2rem;
}
section.about-intro .about-stats-col {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0;
}
section.about-intro .about-stats-block {
    background: #f7f7f7;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    width: 90%;
    height: 100%;
}
section.about-intro .row.statistics-row {
    --bs-gutter-x: 0;
}

/* MAP BANNER SECTION (Full Width) */
.map-banner {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 5rem;
    margin-bottom: 7rem;
}
.map-banner .col-md-12 {
    position: relative;
    min-height: 240px;
}
.map-orange-box {
    position: absolute;
    width: 40%;
    min-width: 600px;
    right: 0;
    background: var(--bs-orange);
    padding: 16px 21px 19px;
    top: -126px;
}
.map-orange-box h2 {
    color: #fff;
    margin-bottom: .3rem;
}
.map-orange-box span {
    color: #fff;
    font-size: 18px;
    text-decoration: none;
}
.map-banner-container img {
    width: 100%;
}
section.py-5.live-work-play {
    padding-top: 4rem !important;
    padding-bottom: 6rem !important;
}
.live-work-play .live-work-play-cell {
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
    height: 510px;
    color: #fff;
    transition: background-size .45s ease, filter .45s ease;
    filter: brightness(.97) contrast(1.02);
    position: relative;
    overflow: hidden;
}
.live-work-play-cell::after {
  content: "";
  position: absolute; inset: -10%;
  background: radial-gradient(ellipse at 50% 35%,
              rgba(255,255,255,.35) 0%,
              rgba(255,255,255,.18) 25%,
              rgba(255,255,255,0) 60%);
  opacity: 0;
  transition: opacity .45s ease, transform .45s ease;
  pointer-events: none;
  transform: scale(1.05);
}

.live-work-play-cell:hover {
  background-size: 110% auto;
  filter: brightness(1.05) contrast(1.02);
}
.live-work-play-cell:hover::after {
  opacity: .7;
  transform: scale(1);
}
.live-work-play .live-work-play-inner {
    background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.75) 100%);
    height: 100%;
    padding: 2.2rem;
    position: relative;
}
.live-work-play .live-work-play-inner .content {
    position: absolute;
    bottom: 2.5rem;
    padding-right: 2.5rem;
}
.live-work-play .live-work-play-inner .content h2 {
    font-weight: 700;
}
.live-work-play .live-work-play-inner .content p {
    color: #fff;
    font-size: 1.06rem;
}
.live-work-play .live-work-play-inner .content a {
    color: #fff;
    text-decoration: none;
    padding: 6px 10px;
    margin-left: -11px;
}
.live-work-play .live-work-play-inner .content a > i {
    color: #ea722d;
    font-size: 1.3rem;
    position: relative;
    top: 2px;
    left: -2px;
}
.live-work-play .live-work-play-inner .content a > span {
    font-size: 1.1rem;
    text-transform: uppercase;
}
.live-work-play .live-work-play-inner .content a > span:hover {
    text-decoration: underline;
}

.live-work-play h4 {
    color: #00aec7;
    font-size: 1.75rem;
    line-height: 1.7rem;
    margin: 10px 0 23px;
    text-align: center;
}
.live-work-play > .container > .row {
    margin-top: 2.6rem !important;
}

/* NEWS-HOME */
section.py-5.news-home {
    padding-top: 1rem !important;
    padding-bottom: 7rem !important;
}
section.py-5.news-home > .container > h2 {
    margin-bottom: 3.5rem;
}
.news-list-view {
    display:grid;
    grid-template-columns: 1fr 1fr; /* 50% / 50% */
    gap:16px;
}
.news-list-view .news-list-item {
    position: relative;
    height: 100%;
}
.news-list-view .news-list-item > .col-md-3,
.news-list-view .news-list-item > .col-md-9 {
    width: 100%;
    float: none;
    flex: none;
    z-index: 3;
}
.news-list-view .news-list-item > .col-md-3 a {
    display: block;
    max-height: 100%;
    overflow: hidden;
}
.news-list-view .news-list-item > .col-md-3 a img {
    object-fit: cover;
    object-position: center;
    transform-origin: center center;
    will-change: transform;  
    transition: transform .45s ease, filter .45s ease;
    filter: brightness(.97) contrast(1.02);
}
.news-list-view .news-list-item > .col-md-3 a img::after {
  content: "";
  position: absolute; inset: -10%;
  background: radial-gradient(ellipse at 50% 35%,
              rgba(255,255,255,.35) 0%,
              rgba(255,255,255,.18) 25%,
              rgba(255,255,255,0) 60%);
  opacity: 0;
  transition: opacity .45s ease, transform .45s ease;
  pointer-events: none;
  transform: scale(1.05);
}
.news-list-view .news-list-item > .col-md-3 a img.rollOver {
    transform: scale(1.06);
    filter: brightness(1.15) contrast(1.12);
}
.news-list-view .news-list-item > .col-md-3 a img.rollOver:after {
    opacity: .75;
    transform: scale(1);
}
.news-list-view .news-list-item > .col-md-9 .col-news-content-wrapper {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
    height: 100%;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: flex-start;
}
.news-list-view .news-list-item > .col-md-9 .col-news-content-wrapper h3 a {
    font-size: 1.75rem;
    line-height: 2rem;
}
.news-list-view .news-list-item:nth-child(1){
  grid-column:1;
  grid-row:1 / span 2;
  /*min-height:460px;*/
}
.news-list-view .news-list-item:nth-child(1) > .col-md-3 a img {
    height: 100%;
}
.news-list-view .news-list-item:nth-child(2){
  grid-column:2;
  grid-row:1;
  min-height:232px;
}
.news-list-view .news-list-item:nth-child(3){
  grid-column:2;
  grid-row:2;
}
.news-list-view .news-list-item > .col-md-3 {
    width: 100%;
    float: none;
    flex: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}
.news-list-view .news-list-item > .col-md-9 a,
.news-list-view .news-list-item > .col-md-9 h3,
.news-list-view .news-list-item > .col-md-9 .extra,
.news-list-view .news-list-item > .col-md-9 p,
.news-list-view .news-list-item > .col-md-9 time {
    color: #fff;
    text-decoration: none;
}
.news-list-view .news-list-item > .col-md-9 h3 {
    margin: 0;
    margin-bottom: 1rem;
}
.news-list-view .news-list-item > .col-md-9 p {
    font-size: 1.1rem;
    margin-bottom: 3px;
}
.news-list-view .news-list-item:nth-child(1) > .col-md-9 .col-news-content-wrapper {
    padding: 2rem 5rem 2rem 2rem;
}
.news-list-view .news-list-item:nth-child(2) > .col-md-9 .col-news-content-wrapper,
.news-list-view .news-list-item:nth-child(3) > .col-md-9 .col-news-content-wrapper,
.news-list-view .news-list-item:nth-child(2) > .col-md-3 a img,
.news-list-view .news-list-item:nth-child(3) > .col-md-3 a img {
    height: 231px;
}
.news-list-view .news-list-item:nth-child(2) > .col-md-9 .col-news-content-wrapper .lead,
.news-list-view .news-list-item:nth-child(3) > .col-md-9 .col-news-content-wrapper .lead {
    display: none;
}
.news-list-view .news-list-item .col-md-9 .col-news-content-wrapper a.btn-read-more {
    padding: 1rem 1rem 0 0;
    font-size: 1.1rem;
    text-transform: uppercase;
}
.news-list-view .news-list-item .col-md-9 .col-news-content-wrapper a.btn-read-more i {
    color: #ea722d;
    font-size: 1.3rem;
    position: relative;
    top: 2px;
    left: -2px;
}
.news-list-view .news-list-item:nth-child(2) > .col-md-9 .col-news-content-wrapper h3,
.news-list-view .news-list-item:nth-child(3) > .col-md-9 .col-news-content-wrapper h3 {
    margin-bottom: 0px;
}
.news-list-view .news-list-item > .col-md-9 .col-news-content-wrapper h3 a:hover,
.news-list-view .news-list-item .col-md-9 .col-news-content-wrapper a.btn-read-more:hover span {
    text-decoration: underline;
}
.sub-page .news-list-view {
    grid-template-columns: none;
}
.sub-page .news-list-view .news-list-item {
    grid-row:auto !important; 
    grid-column: none !important;
}
.sub-page .news-list-view .news-list-item > .col-md-9,
.sub-page .news-list-view .news-list-item > .col-md-3 {
    padding-left: 0;
    padding-right: 0;
}
.sub-page .news-list-view .news-list-item > .col-md-3 a img {
    width: 100%;
}

/* GENERAL STYLES */
h1, h2, h3, h4, h5, h6 {
    font-family: 'ProximaNova', sans-serif;
}
h2 {
    font-size: 2.4rem;
    line-height: 1.05;
    margin-bottom: .8rem;
}
h2 > strong {
    font-weight: 700;
}
h3 {
    color: #00aec7;
    font-size: 1.3rem;
    line-height: 1.7rem;
    margin: 10px 0 23px;
}
.mt-4-5 {
    margin-top: 2.2rem !important;
}
.btn-primary {
    background-color: #00aec7;
    border-radius: 0;
    padding: 12px 22px;
}
.btn-primary:hover {
    background-color: #ffffff;
    border-radius: 0;
    padding: 12px 22px;
    border: 1px solid #01afc7;
    color: #01afc7;
}
.btn-secondary {
    background-color: transparent;
    border-radius: 0;
    padding: 12px 22px;
    border: 1px solid #01afc7;
    color: #01afc7;
}
.py-5 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}
.investtoday-cta-banner {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 5rem;
    margin-bottom: 4rem;
}
.investtoday-cta-banner .col-md-12 {
    position: relative;
    min-height: 240px;
}
.investtoday-cta-banner .map-orange-box {
    background-color: var(--bs-indigo);
}
a#top {
    display:none; 
    position:fixed; 
    bottom:20px; 
    right:20px; 
    z-index:999; 
    background:#f90; 
    color:white; 
    padding:10px 15px; 
    border-radius:6px;
    text-decoration:none;
    opacity: 0.76;
}

/* TWO-COLUMN-HOMEPAGE (IMG + TEXT) SECTIONS */
.two-column-section.py-5 {
    padding-bottom: 8rem !important;
}
.two-column-section .img-container {
    position: relative;
    display: inline-block;
}
.two-column-section.text-block-right .img-container::before {
  content: '';
  position: absolute;
  left: -20px;
  bottom: -20px;
  width: 100%;
  height: 100%;
  background-color: #5e8ea3; /* shadow color */
  z-index: 0;
}
.two-column-section.text-block-left .img-container::before {
  content: '';
  position: absolute;
  right: -20px;
  bottom: -20px;
  width: 100%;
  height: 100%;
  background-color: #5e8ea3; /* shadow color */
  z-index: 0;
}
.two-column-section .img-container img {
    width: 100%;
    height: auto;
    z-index: 1;
    position: relative;
}

/* FOOTER */
footer.py-4 {
    padding-bottom: 7rem !important;
}
footer .footer-logo {
    font-size: 1.25rem;
}
footer .row > div {
    margin-top: 15px;
}
footer .footer-fleft figure.image {
    text-align: center;
}
footer .footer-fleft figure.image img {
    width: 53%;
    height: auto;
    display: inline-block;
}
footer .footer-fleft .ce-bodytext {
    margin: 2rem 0 0;
}
footer .footer-fleft .ce-bodytext p {
    font-size: 1rem;
}
footer .footer-fleft .ce-bodytext p:last-child {
    margin: 2rem 0 0rem;
}
footer h4 {
    color: #00aec7;
    font-size: 1.1rem;
    text-align: left;
}
footer ul {
    text-align: left;
    padding: 0;
    list-style: none;
}
footer ul li {
    padding: 6px 0;
}
footer ul li a {
    text-decoration: none;
    color: #333;
    font-size: 1rem;
    padding: 4px 0;
}
footer ul li a:hover {
    text-decoration: underline;
}

/* SUB-PAGES */
.section.sub-page {
    padding: 5rem 0 6rem;
}
.section.sub-page h1 {
    font-size: 2.8rem;
    font-family: serif;
}
.section.sub-page h2 {
    font-size: 2.0rem;
    font-family: serif;
}

.section.sub-page a {
    color: #07b0c9;
}
.section.sub-page a:hover {
    text-decoration: underline;
}
.section.sub-page.special {

}    
.section.sub-page.special h1,
.section.sub-page .subpage-special-header h1 {
    font-size: 1.1rem;
    font-family: monospace;
}
.section.sub-page.special h2,
.section.sub-page .subpage-special-header h2 {
    font-size: 2.8rem;
    margin: 1.5rem 0;
    border-bottom: 1px solid #ccc;
    padding-bottom: 2.0rem;
}
.subpage-special-box .special-box-icon i {
    font-size: 1.4rem;
}
.subpage-special-box .special-box-header {
    font-size: 1.1rem;
    font-weight: bold;
    margin: 18px 0 14px;
}
.subpage-special-box .special-box-link a {
    text-decoration: none;
}
.special-bgimage-bottom {
    margin-top: 6rem;
}
.special-bgimage-bottom img {
    border-radius: 30px;
    width: 100%;
    height: auto;
}
.section.sub-page.banner-top {
    padding-top: 3rem;
}
.section.sub-page.banner-top .banner-bgimage-top {
    padding-bottom: 3rem;
}
.section.sub-page.banner-top .banner-bgimage-top img {
    border-radius: 30px;
    width: 100%;
    height: auto;
}
.section.sub-page.banner-top .row.contact-page-row {
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.section.sub-page.banner-top .row.contact-page-row .col-md-6 {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-evenly;
}
.section.sub-page.banner-top .row.contact-page-row .col-md-6 > .contact-col {
    padding: 2rem;
    background-color: #f4f4f4;
    margin-top: 3rem;
    border-radius: 2rem;
    height: 100%;
}
.section.sub-page.banner-top .row.contact-page-row .form-group .form-label {
    display: none;
}
.section.sub-page.banner-top .row.contact-page-row .form-group {
    margin-bottom: 1.4rem;
}
.section.sub-page.banner-top .contact-col > div > header {
    margin-bottom: 2rem;
}
.section.sub-page ul.subpage-list {
    padding: 0;
    list-style: none;
    padding: 1rem;
    background-color: #dedede;
    border-radius: 0.7rem;
}
.section.sub-page ul.subpage-list li {
    
}
.section.sub-page ul.subpage-list li a {
    color: #707070;
    text-decoration: none;
}
.section.sub-page ul.subpage-list li.is-active a {
    font-weight: bold;
    color: #333;
}
.section.sub-page ul.subpage-list li a:hover {
    text-decoration: underline;
}


/* Optional: override Bootstrap primary color if needed */
/*
:root {
    --bs-primary: #0077b6;
    --bs-primary-rgb: 0, 119, 182;
}
*/

/* RESPONSIVENESS */
@media screen AND (min-width: 992px) AND (max-width: 1199px) {
    ul.nav.main-nav > li {
        padding: 0px 5px 4px;
    }
    ul.nav.main-nav > li > a {
        font-size: 0.9rem;
    }
}
@media screen AND (min-width: 992px) {
    ul.nav.main-nav > li:first-child {
        padding: 0px 10px 4px 7px;
    }
    .subpage-special-box {
        margin-top: 2rem;
    }
    .section.sub-page .full-width-subpg-col-right {
        padding-left: 2rem;
    }
    .section.sub-page .full-width-subpg-col-right .ce-bodytext {
        padding-right: 2rem;
    }
    .section.sub-page .full-width-subpg-col-right figure img {
        border-radius: 2rem;
    }
}

@media screen AND (max-width: 991px) {
    .row {
        --bs-gutter-x: 0;
    }
    .two-column-section.text-block-left .img-container::before,
    .two-column-section.text-block-right .img-container::before {
        display: none;
    }
    header .logo {
        padding: 0 10px;
    }
    .header-col-3 {
        width: 50%;
    }
    .header-col-9 {
        width: 50%;
    }
    .mobile-menu-container {
        display: none;
        position: absolute;
        top: 102px;
        width: 100%;
        z-index: 1;
    }
    a.mobile-menu-toggler {
        display: block;
        font-size: 2rem;
        padding-right: 10px;
        padding-top: 10px;
    }
    a.mobile-menu-toggler > i {
        color: #333
    }
    ul.main-nav.desktop-nav {
        display: none !important;
    }
    ul.main-nav.mobile-nav {
        display: block;
    }
    ul.nav.main-nav.mobile-nav {
        position: absolute;
        top: 0;
        z-index: 1;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        background-color: #f8f9fa;
        width: 100%;
    }
    ul.nav.main-nav.mobile-nav > li {
        padding: 0px 0 4px;
        width: 100%;
    }
    ul.nav.main-nav.mobile-nav > li:first-child > a {
        
    }
    ul.nav.main-nav.mobile-nav > li > a {
        border-right: none;
        padding: 10px 10px 5px;
        position: relative;
        border-top: 1px solid #ccc;
    }
    ul.nav.main-nav.mobile-nav > li > a > span {
        margin: 0;
    }
    ul.nav.main-nav.mobile-nav > li.has-sub > div.sub-menu-container {
        position: static;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s ease;
        background: transparent;
        margin: 0;
        padding: 0;
    }
    ul.nav.main-nav.mobile-nav > li.has-sub > div.sub-menu-container div.sub-nav-title {
        display: none !important;
    }
    ul.nav.main-nav.mobile-nav > li.has-sub > div.sub-menu-container ul.sub-menu {
        list-style: disc;
        border-left: none;
        padding-left: 2rem;
        width: 100%;
        height: 0;
        overflow: hidden;
    }
    ul.nav.main-nav.mobile-nav > li.has-sub > div.sub-menu-container > .container {
        max-width: none;
        width: 100%;
        padding: 0;
    }
    ul.nav.main-nav.mobile-nav > li.has-sub > div.sub-menu-container > .container > .row {
        --bs-gutter-x: 0;
    }
    ul.nav.main-nav > li.has-sub > div.sub-menu-container ul.sub-menu > li > a {
        padding: 8px 10px 8px 0;
    }
    ul.nav.main-nav.mobile-nav > li.has-sub > a.nav-link:after {
        content: '+';
        position: absolute;
        right: 20px;
        top: 1px;
        width: 5%;
        height: 100%;
        z-index: 1;
        font-size: 1.5rem;
    }
    header nav.sub-top-nav {
        display: none;
    }
    .news-list-view {
        grid-template-columns: none;
    }
    .news-list-view .news-list-item {
        grid-row:auto !important; 
        grid-column: none !important;
    }
    .hero-video-wrap {
        aspect-ratio: 4/7;
    }
    .hero .hero-wrapper .hero-slide .hero-slide-front .col-md-12 .hero-text-square {
        position: absolute;
        width: 100%;
        min-width: 100%;
    }
    section.about-intro .about-stats-col {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-evenly;
        padding-right: 0;
        flex-wrap: nowrap;
    }
    section.about-intro .about-stats-block {
        width: 100%;
        padding: 2rem;
        text-align: center;
    }
    section.about-intro .stat-row {
        text-align: center;
    }
    section.about-intro .stat-row .stat-number {
        display: inline-block;
        float: none;
    }
    section.about-intro .stat-row .stat-icon {
        float: none;
        display: inline-block;
    }
    section.about-intro .stat-row.stat-row-label {
        margin-bottom: 2rem;
    }
    section.innovation-partners {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .two-column-section .col-md-6 > h2 {
        margin-top: 2rem;
    }
    .map-orange-box {
        position: absolute;
        width: 100%;
        min-width: 0;
        right: 0;
        background: var(--bs-orange);
        padding: 16px 21px 19px;
        top: -100px;
    }
    .two-column-section.py-5 {
        padding-bottom: 3.5rem !important;
    }
    .two-column-section.text-block-right.py-5 {
        padding-top: 0rem !important;
    }
    .two-column-section.text-block-right.py-5 .img-container img {
        margin-top: 2rem;
    }
    section.py-5.news-home {
        padding-top: 3rem !important;
        padding-bottom: 2rem !important;
    }
    .news-list-view {
        display: grid;
        gap: 0;
    }
    .news-list-view .news-list-item {
        position: relative;
        height: auto;
        margin-bottom: 2rem;
    }
    .news-list-view .news-list-item:nth-child(2) > .col-md-9 .col-news-content-wrapper, .news-list-view .news-list-item:nth-child(3) > .col-md-9 .col-news-content-wrapper, .news-list-view .news-list-item:nth-child(2) > .col-md-3 a img, .news-list-view .news-list-item:nth-child(3) > .col-md-3 a img {
        height: 100%;
    }
    .news-list-view .news-list-item:nth-child(2) {
        min-height:310px;
    }
    footer {
        text-align: center;
    }
    footer h4 {
        text-align: center;
    }
    footer ul li {
        text-align: center;
    }
    .sub-page .subpage-special-box {
        margin-bottom: 4rem;
        margin-top: 1rem;
    }
    .section.sub-page ul.subpage-list {
        margin-bottom: 3rem;
        margin-top: -3rem;
    }
    .section.sub-page.special h2, .section.sub-page .subpage-special-header h2 {
        font-size: 2.8rem;
        margin: 1.5rem 0 2rem;
    }
    .ce-gallery,
    .ce-intext.ce-right .ce-gallery,
    .ce-gallery .ce-column,
    .ce-gallery .ce-column figure,
    .ce-gallery .ce-column img {
        float: none;
        width: 100%;
        margin: 0;
        height: auto;
        margin-bottom: 1rem;
    }
    .full-width-map .cat-filters {
        display: flex;
        gap: 12px;
        justify-content: flex-start;
        align-items: center;
        margin: 10px 0;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
    }
    .full-width-map .asset-list {
        width: 100%;
        position: static;
        text-align: center;
        margin-bottom: 2rem;
    }
    .full-width-map .asset-details {
        width: 100%;
        position: static;
        margin-top: 1rem;
    }
}


@media screen AND (min-width: 768px) {
    .two-column-section .col-md-6:nth-child(1) {
        padding-right: 40px;
        padding-left: 20px;
    }
    .two-column-section .col-md-6:nth-child(2) {
        padding-left: 40px;
        padding-right: 20px;
    }
    .col-md-3.footer-fleft {
        width: 34%;
    }
    .col-md-3.footer-left,
    .col-md-3.footer-right,
    .col-md-3.footer-fright {
        width: 22%;
    }
    footer .footer-fleft .ce-bodytext p {
        padding: 0 10%;
    }
}

@media screen AND (max-width: 768px) {
    .hero .hero-text-square {
        position: static;
        width: 100%;
        min-width: 0;
    }
    html, body {
        text-align: center;
    }
    .two-column-section .col-md-6.d-flex > div.d-flex {
        width: 100%;
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
    }
    .news-list-view .news-list-item:nth-child(1) > .col-md-9 .col-news-content-wrapper {
        padding: 2rem;
    }
    .news-list-view .news-list-item > .col-md-9 .col-news-content-wrapper {
        align-items: center;
    }
    ul.nav.main-nav {
        margin-top: 0.7rem;
    }
}

/* Used by WOW */
@keyframes fadeInUpSm {
  from { opacity: 0; transform: translate3d(0, 74px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
.animate__fadeInUpSm { animation-name: fadeInUpSm; }