/*
 Theme Name:   bootScore Child
 Description:  bootScore Child Theme
 Author:       bootScore
 Author URI:   https://bootscore.me
 Template:     bootscore-main
 Version:      5.3.0
 Text Domain:  bootscore
*/

/* 
All style editing is done via scss/_bscore_custom.scss
*/

:root {
  --pink: #e25494;
  --blue: #15263a;
  --grey: #f5f5f5;
  --bs-body-bg: transparent !important;
}
::selection {
  background-color: var(--pink);
  color: #fff;
}

header {
  z-index: 20;
}

/* Jan 2026 Changes */

.person img {
  height: 450px;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
}

.navbar-nav .menu-item-has-children .sub-menu {
  visibility: hidden;
  position: absolute;
  background-color: #fff;
  padding: 15px 20px;
  border: 1px solid #ccc;
  list-style: none;
  min-width: 280px;
  top: 55px;
  line-height: 30px;
  opacity: 0;
  transition:
    opacity 0.3s ease-in,
    visibility 0.3s ease-in;
}

.navbar-nav .menu-item-has-children li {
  padding-left: 0 !important;
}

.navbar-nav .menu-item-has-children li a {
  color: var(--blue) !important;
  transition: 0.4s ease-in-out !important;
}

.navbar-nav .menu-item-has-children {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  min-height: 60px;
}

.navbar-nav .menu-item-has-children::after {
  content: "";
  background-image: url("/wp-content/uploads/2024/04/nav-sub-indicator.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 15px;
  width: 15px;
}

.navbar-nav .menu-item-has-children:hover .sub-menu {
  visibility: visible;
  opacity: 1;
}

.navbar-nav .menu-item-has-children:not(:hover) .sub-menu {
  opacity: 0;
}

.Terms.btn,
.btn.LoadMore {
  border: 1px var(--blue) solid;
  border-radius: 5px;
  margin-left: 10px;
  padding: 8px 16px;
}

.term-dates .tab {
  display: none;
  opacity: 0;
  transition: opacity 0.15s ease-in;
}

.term-dates .tab.active {
  display: block;
  opacity: 1;
}

.post-categories {
  gap: 10px;
}

.find-us {
  .nav-tabs {
    background: #f5f5f5;
    margin: 0 auto;
    width: fit-content;
    box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset;
    border-radius: 20px;
    .nav-item {
      button {
        padding: 8px 15px;
        width: 250px;
        margin: 0;
        border-radius: 20px;
        border: 1px solid transparent;
        color: #15263a;
        &.active {
          background: #e25494;
          color: #fff;
        }
      }
    }
  }
}

.Addresses {
  display: flex;
  flex-direction: column;
  max-width: 650px;
  margin: 0 auto;
  img {
    height: 350px;
    flex: 0 0 350px;
    width: 100%;
    object-fit: cover;
  }
  .AddressData {
    height: 100%;
    padding: 30px;
    background: var(--grey);
    color: #15263a;
    margin-top: -8px;
    b {
      display: block;
      font-size: 24px;
      line-height: 34px;
      margin-bottom: 10px;
    }
    p {
      font-size: 16px;
      line-height: 26px;
      color: #15263a;
    }
  }
}

.TravelContainer {
  display: flex;
  height: 250px;
  .TravelPoint {
    position: relative;
    .TravelNode {
      b {
        display: block;
        width: 120px;
        text-align: center;
      }
      .Circle {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: black;
        position: absolute;
        z-index: 10;
        top: calc(30% - 3px);
        left: 40px;
        transform: translate(0, -30%);
        &:after {
          content: "";
          display: block;
          width: 20px;
          height: 20px;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          background: white;
          border-radius: 50%;
        }
      }
    }
    .TravelLine {
      display: block;
      width: 100%;
      height: 0;
      border-top: 10px solid #000;
      position: absolute;
      top: 30%;
      left: 50px;
      transform: translate(0, -30%);
    }
    .InfoBox {
      text-align: center;
      position: absolute;
      bottom: 0;
      left: calc(50% + 30px);
      transform: translate(-50%, 0%);
      .Icon {
        height: 45px;
        width: 45px;
        display: block;
        background-image: url(./img/icons/bus.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        margin: 0 auto;
      }
      p {
        margin-bottom: 0;
      }
    }
    &:not(:last-child) {
      flex: 1 1 auto;
    }
    &.walk {
      .TravelNode {
        .Circle {
          background: #ccc;
        }
      }
      .TravelLine {
        border-top-style: dotted;
        border-color: #ccc;
      }
      .InfoBox {
        .Icon {
          background-image: url(./img/icons/walk.svg);
        }
      }
    }
    &.bus {
      .InfoBox {
        .Icon {
          background-image: url(./img/icons/bus.svg);
        }
      }
    }
    &.train {
      .InfoBox {
        .Icon {
          background-image: url(./img/icons/train.svg);
        }
      }
    }
  }
}

.owl-carousel {
  .SlideContent {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 60px;
    padding-right: 70px;
    .NavBtns {
      display: flex;
      gap: 10px;
      .NavPrev,
      .NavNext {
        flex: 0 0 50px;
        img {
          width: 50px;
        }
      }
    }
    &.UseLight {
      .NavBtns .NavPrev img,
      .NavBtns .NavNext img {
        filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%)
          hue-rotate(247deg) brightness(110%) contrast(105%);
      }
    }
  }
  .SlideIMG {
    width: 100%;
    height: 100%;
    img {
      height: 100%;
      object-fit: cover;
    }
    .SlideContent {
      position: absolute;
      top: 50%;
      width: 50%;
      left: 25%;
      transform: translate(-25%, -50%);
      @media only screen and (max-width: 991px) {
        width: 100%;
      }
    }
  }
  &.hover {
    height: 700px;
    .owl-stage-outer {
      height: 100%;
      .owl-stage {
        height: 100%;
        .owl-item {
          height: 100%;
          .item {
            height: 100%;
          }
        }
      }
    }
  }
}

.Banner {
  display: flex;
  justify-content: center;
  align-items: end;
  height: 500px;
  position: relative;
  border-radius: 25px;
  margin-bottom: 50px;
  @media only screen and (max-width: 991px) {
    height: auto;
  }
  .BG {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
  .BnrContainer {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    width: 75%;
    min-width: 600px;
    top: 50%;
    bottom: 50%;
    transform: translateY(-50%);
    justify-content: space-between;
    z-index: 5;
    &:has(.CTA) {
      top: unset;
      bottom: -25px;
      transform: unset;
    }
    @media only screen and (max-width: 991px) {
      width: 100%;
      padding: 25px;
      position: relative;
      top: 0;
      bottom: 0;
      transform: unset;
    }
    .h2 {
      flex: 1 1 100%;
      width: 100%;
      margin-bottom: 100px;
      @media only screen and (max-width: 991px) {
        margin-bottom: 40px;
      }
    }
    .CTA {
      flex: 0 0 calc(33.3333% - 15px);
      padding: 20px;
      border-radius: 10px;
      .h4 {
        font-size: 30px;
        color: #fff;
      }
      .FakeLink {
        color: #15263a;
        text-decoration: underline;
      }
      @media only screen and (max-width: 991px) {
        flex: 0 0 100%;
        margin-bottom: 20px;
      }
    }
  }
}

.Stat {
  max-width: 350px;
  b {
    display: block;
    width: 100%;
    border-bottom: 1px dashed #707070;
    margin-bottom: 20px;
    font-weight: 400;
    font-size: 120px;
    line-height: 130px;
  }
  p {
  }
  @media only screen and (max-width: 991px) {
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding: 0 50px;
    b {
      font-size: 80px;
      line-height: 90px;
    }
  }
}

.tab-templated {
  display: flex;
  gap: 10px;
}

.tab-templated .tablinks-templated.active button {
  font-weight: bold;
}

.tablinks-templated {
  background-color: #ededed;
  border: none;
  padding: 10px 35px 20px 35px;
  margin-bottom: -10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  box-shadow: -4px -5px 10px -9px lightgray;
  position: relative;
  z-index: 1;
}

@media (max-width: 600px) {
  .tablinks-templated {
    padding: 10px 10px 20px 10px;
  }
}

.tablinks-templated.active {
  background-color: #fff;
  z-index: 3;
}

.tabcontent-templated {
  background-color: #fff;
  padding: 20px 40px;
  border-radius: 10px;
  box-shadow: 3px 3px 10px 0 lightgray;
  position: relative;
  z-index: 2;
}

.tabcontent-templated:not(.active) {
  display: none;
}
.tabcontent-templated.active {
  display: block;
}

.Content {
  padding: 30px;
}

main {
  & > .MainContent {
    & section {
      padding: 40px 0;
    }
    & section + section {
      margin-top: 60px;
    }
    & > section:first-child:not(:has([data-type="header"])) {
      margin-top: 200px;
    }
    & > section:first-child {
      padding-top: 0;
    }
  }
}

.Header {
  display: flex;
  min-height: 600px;
  position: relative;
  align-items: center;
  .BG {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    img,
    video {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  .ContentContainer {
    z-index: 10;
  }
  &.align-left {
    justify-content: start;
  }
  &.align-center {
    justify-content: center;
    text-align: center;
  }
  &.align-right {
    justify-content: end;
  }
}

.nav-tabs.templated-tab-page {
  background: #f5f5f5;
  margin: 0 auto;
  width: fit-content;
  box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset;
  border-radius: 20px;
  .nav-item {
    button {
      padding: 8px 15px;
      width: 250px;
      margin: 0;
      border-radius: 20px;
      border: 1px solid transparent;
      color: #15263a;
      &.active {
        background: #e25494;
        color: #fff;
      }
    }
  }
}

.ContentMedia {
  img {
    width: 100%;
  }
}

.Icon {
  padding: 40px;
  text-align: center;
  img {
    height: 85px;
    margin-bottom: 30px;
  }
  p,
  b {
    display: block;
    width: 100%;
  }
}

.UseLight {
  p,
  b,
  a,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #fff !important;
  }
  path {
    fill: #fff !important;
  }
}

.UseDark {
  p,
  b,
  a,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: var(--blue); !important;
  }
  path {
    fill: var(--blue); !important;
  }
}

.Card {
  img {
    width: 100%;
  }
  .Content {
    b {
      font-size: 24px;
      line-height: 34px;
    }
  }
  &.block {
    border-radius: 20px;
  }
  &.rounded {
    img {
      aspect-ratio: 2 / 3;
      object-fit: cover;
      object-position: center;
    }
    .Content {
      padding: 0;
      b {
        display: block;
        font-size: 18px;
        line-height: 28px;
        margin-top: 5px;
      }
    }
  }
}

.contact-us {
  margin-top: 0 !important;
  .container.header {
    margin-top: 120px;
  }
}
