/*
timeline.scss
Styles for the Timeline Only
text domain: gcg_main_2025
SCSS Document
*/
/*
SCSS Variables for importing
text domain: gearcentre2025
SCSS Document
*/
section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image {
  position: relative; }
  section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image::before, section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image::after {
    content: "";
    width: 80%;
    height: 0px;
    border-top: 15px double #ffd773;
    display: block !important;
    position: absolute;
    z-index: 2;
    transition: all 0.3s ease-in-out; }
  section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image::before {
    top: 0;
    left: 0; }
  section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image::after {
    bottom: 0;
    right: 0; }

#firstLogoRow .sideBar, section.animate .headerRow .sideBar, section.animate .dividerRow .sideBar, section.animate .contentRow .sideBar {
  position: absolute;
  height: 100%; }
  #firstLogoRow .sideBar div, section.animate .headerRow .sideBar div, section.animate .dividerRow .sideBar div, section.animate .contentRow .sideBar div {
    height: 100%; }
  #firstLogoRow .sideBar .wpb_raw_code > .wpb_wrapper, section.animate .headerRow .sideBar .wpb_raw_code > .wpb_wrapper, section.animate .dividerRow .sideBar .wpb_raw_code > .wpb_wrapper, section.animate .contentRow .sideBar .wpb_raw_code > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center; }
  #firstLogoRow .sideBar .sideBorder, section.animate .headerRow .sideBar .sideBorder, section.animate .dividerRow .sideBar .sideBorder, section.animate .contentRow .sideBar .sideBorder {
    width: var(--bar-side-width);
    height: 100%;
    z-index: 1;
    position: relative; }

section.animate .headerRow .dateCol .vc_column-inner, section.animate .headerRow .titleCol .vc_column-inner {
  transform: translateX(-110%);
  transition: transform 500ms cubic-bezier(0.25, 1, 0.5, 1) 500ms; }

section.animate.active .headerRow .dateCol .vc_column-inner, section.animate.active .headerRow .titleCol .vc_column-inner {
  transform: translateX(0%);
  transition-delay: 0s; }

section.animate .contentRow .imageCol .vc_column-inner, section.animate .contentRow .textCol .vc_column-inner {
  transform: translateX(-110%);
  transition: transform 500ms cubic-bezier(0.25, 1, 0.5, 1) 0s; }

section.animate.active .contentRow .imageCol .vc_column-inner, section.animate.active .contentRow .textCol .vc_column-inner {
  transform: translateX(0%);
  transition-delay: 500ms; }

@media (min-width: 768px) {
  section.animate .headerRow .dateCol .vc_column-inner, section.animate .headerRow .titleCol .vc_column-inner {
    transform: translateY(110%); }

  section.animate.active .headerRow .dateCol .vc_column-inner, section.animate.active .headerRow .titleCol .vc_column-inner {
    transform: translateY(0%); }

  section.animate .contentRow .imageCol .vc_column-inner, section.animate .contentRow .textCol .vc_column-inner {
    transform: translateY(-110%); }

  section.animate.active .contentRow .imageCol .vc_column-inner, section.animate.active .contentRow .textCol .vc_column-inner {
    transform: translateY(0%); } }
.full-height, section.animate, #firstLogoRow {
  --full-height-padding: 30px; }
  @media (min-width: 768px) {
    .full-height, section.animate, #firstLogoRow {
      --full-height-padding: 50px; } }

body {
  background-image: url("../images/white_texture_bg_abstract.jpg");
  background-position: center center;
  background-size: cover;
  background-attachment: fixed; }

.full-height, section.animate {
  padding-top: var(--full-height-padding) !important;
  padding-bottom: var(--full-height-padding) !important; }

#loadingOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #004685;
  /* Adjust to fit your design */
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  /* Keep it above everything */
  transition: opacity 0.4s ease, visibility 0.4s ease; }
  #loadingOverlay .dot {
    position: absolute;
    width: 0.5rem;
    height: 0.5rem;
    background-color: #fff;
    border-radius: 50%; }
  #loadingOverlay.hidden {
    opacity: 0;
    visibility: hidden; }

#heroSection {
  background-position: center center;
  background-size: cover;
  background-attachment: fixed !important;
  text-align: center; }
  #heroSection .container > .row {
    flex: 1; }
  #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center; }
    #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper img {
      width: 120px;
      height: auto; }
      @media (min-width: 768px) {
        #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper img {
          width: 140px; } }
      @media (min-width: 992px) {
        #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper img {
          width: 160px; } }
    #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper span {
      background-color: #ffd773;
      padding: 7px 20px;
      color: #0b2340;
      text-transform: uppercase;
      font-weight: 800;
      letter-spacing: 1px;
      line-height: 1;
      font-size: calc(1rem + 1vw); }
      @media (min-width: 768px) {
        #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper span {
          font-size: 1.5rem;
          letter-spacing: 3px; } }
      @media (min-width: 992px) {
        #heroSection .title-mapleLeaf .wpb_content_element > .wpb_wrapper span {
          letter-spacing: 5px; } }
  #heroSection h1 {
    text-shadow: 2px 2px 0px #000000;
    color: #FFFFFF;
    font-size: calc(1.5rem + 1.5vw); }
    @media (min-width: 768px) {
      #heroSection h1 {
        font-size: 3rem;
        text-shadow: 2px 3px 0px #000000; } }
    @media (min-width: 992px) {
      #heroSection h1 {
        font-size: 4.5rem;
        text-shadow: 2px 4px 0px #000000; } }
    #heroSection h1 .main {
      font-style: italic;
      font-weight: bold; }
    #heroSection h1 .sub {
      color: #ffd773;
      font-family: brush-script-std, sans-serif;
      font-weight: 400;
      font-style: italic;
      font-size: .9em;
      text-shadow: 1px 2px 0px #000000; }
      @media (min-width: 768px) {
        #heroSection h1 .sub {
          text-shadow: 2px 2px 0px #000000; } }
      @media (min-width: 992px) {
        #heroSection h1 .sub {
          text-shadow: 2px 3px 0px #000000; } }
  #heroSection .scrollDownWrap {
    flex: 0 0 auto; }
    #heroSection .scrollDownWrap span {
      display: block;
      font-size: 1em;
      text-wrap: balance; }
      @media (min-width: 768px) {
        #heroSection .scrollDownWrap span {
          font-size: 1.25rem; } }
      @media (min-width: 992px) {
        #heroSection .scrollDownWrap span {
          font-size: 1.5em; } }
    #heroSection .scrollDownWrap i {
      font-size: 1.5em;
      cursor: pointer; }
      @media (min-width: 768px) {
        #heroSection .scrollDownWrap i {
          font-size: 1.75rem; } }
      @media (min-width: 992px) {
        #heroSection .scrollDownWrap i {
          font-size: 2em; } }

#intro {
  min-height: 110vh;
  background-color: #C7C8CA;
  background-image: url("../images/grey_texture_bg_abstract.jpg");
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  border-top: #0671ba solid 15px;
  border-bottom: #0671ba solid 15px;
  z-index: 20; }

#firstLogoRow {
  position: relative; }
  #firstLogoRow .sideBar {
    bottom: calc(var(--full-height-padding) * 1);
    height: auto;
    padding-left: 5px;
    padding-right: 0; }
    @media (max-width: 575px) {
      #firstLogoRow .sideBar .vc_column-inner {
        padding-left: 0;
        padding-right: 0; } }
    #firstLogoRow .sideBar .anniLogoWrapper {
      position: relative;
      z-index: 5;
      text-align: center; }
      @media (min-width: 992px) {
        #firstLogoRow .sideBar .anniLogoWrapper img {
          max-width: 80%; } }
      @media (min-width: 1200px) {
        #firstLogoRow .sideBar .anniLogoWrapper img {
          max-width: 70%; } }

section.animate {
  --bar-side-width: 10px;
  --bar-divider-height: 6px;
  --bar-divider-height-half: var(--bar-divider-height) / 2;
  --circle-large-size: 40px;
  --circle-small-size: 20px;
  --col-padding: 1.5rem;
  display: flex;
  flex: 1;
  flex-direction: column;
  --bar-color-this: #0671ba;
  --bar-color-next: #ffd773;
  --image-border-color: #0671ba;
  padding-bottom: calc(var(--full-height-padding) * 2); }
  @media (min-width: 576px) {
    section.animate {
      --circle-large-size: 48px;
      --circle-small-size: 22px;
      --bar-side-width: 14px;
      --bar-divider-height: 8px; } }
  @media (min-width: 992px) {
    section.animate {
      --circle-large-size: 58px;
      --circle-small-size: 26px;
      --bar-side-width: 20px;
      --bar-divider-height: 10px; } }
  section.animate > .vc_row {
    display: flex;
    flex-wrap: wrap; }
  section.animate:nth-child(2n) {
    --bar-color-this: #ffd773;
    --bar-color-next: #0671ba;
    --image-border-color: #ffd773; }
  @media (min-width: 768px) {
    section.animate {
      min-height: 110vh; } }
  section.animate .headerRow {
    min-height: 10vh;
    position: relative;
    align-items: flex-end;
    align-content: flex-end; }
    @media (min-width: 576px) {
      section.animate .headerRow {
        min-height: 25vh; } }
    section.animate .headerRow .sideBar .sideBorder {
      background-color: var(--bar-color-next);
      margin-top: calc(var(--full-height-padding) * -3);
      height: calc(100% + (var(--full-height-padding) * 3)); }
    section.animate .headerRow .dateCol, section.animate .headerRow .titleCol {
      overflow: hidden; }
    @media (min-width: 768px) {
      section.animate .headerRow .dateCol {
        text-align: right; } }
    @media (max-width: 767px) {
      section.animate .headerRow .dateCol .wpb_content_element {
        margin-bottom: 0; } }
    section.animate .headerRow .dateCol * {
      font-weight: bold; }
    section.animate .headerRow .dateCol h2 {
      line-height: 1;
      font-size: calc(1.325rem + 3vw); }
      @media (min-width: 768px) {
        section.animate .headerRow .dateCol h2 {
          font-size: 3rem;
          margin-bottom: -3px; } }
      @media (min-width: 992px) {
        section.animate .headerRow .dateCol h2 {
          font-size: 5rem;
          margin-bottom: -9px; } }
    section.animate .headerRow .titleCol h2 {
      line-height: 1; }
  section.animate .dividerRow {
    position: relative; }
    section.animate .dividerRow .sideBar .circleLarge {
      width: var(--circle-large-size);
      height: var(--circle-large-size);
      background-color: #FFFFFF;
      border-radius: 50%;
      border-width: calc(var(--bar-side-width) / 2);
      border-color: var(--bar-color-this);
      border-style: solid;
      flex: 0 0 auto;
      z-index: 3;
      transform: translateY(calc(-50% + var(--bar-divider-height-half))); }
    section.animate .dividerRow .divider {
      position: relative;
      height: 0; }
      section.animate .dividerRow .divider .dividerBar {
        height: var(--bar-divider-height);
        background-color: var(--bar-color-this);
        position: relative;
        z-index: 1; }
      section.animate .dividerRow .divider .circleSmall {
        width: var(--circle-small-size);
        height: var(--circle-small-size);
        background-color: #FFFFFF;
        border-radius: 50%;
        border-width: 4px;
        border-color: var(--bar-color-this);
        border-style: solid;
        z-index: 2;
        position: absolute;
        right: 0;
        transform: translateY(calc(-50% - var(--bar-divider-height-half))); }
      @media (max-width: 575px) {
        section.animate .dividerRow .divider .circleSmall {
          right: 0.75rem; } }
  section.animate .contentRow {
    position: relative;
    flex: 1 0 auto;
    align-content: flex-start; }
    section.animate .contentRow .sideBar .sideBorder {
      background-color: var(--bar-color-this);
      margin-bottom: var(--full-height-padding); }
    @media (max-width: 767px) {
      section.animate .contentRow .imageCol .wpb_content_element {
        margin-bottom: 0; } }
    section.animate .contentRow .imageCol .vc_column-inner {
      padding-top: calc(1.5rem + var(--bar-divider-height)); }
      section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image::before, section.animate .contentRow .imageCol .vc_column-inner .wpb_single_image::after {
        border-color: var(--image-border-color); }
    @media (min-width: 992px) {
      section.animate .contentRow .textCol {
        font-size: 1.25rem; } }
    section.animate .contentRow .textCol .vc_column-inner {
      padding-top: 1.5rem; }
      @media (min-width: 768px) {
        section.animate .contentRow .textCol .vc_column-inner {
          padding-top: calc(1.5rem + var(--bar-divider-height)); } }
    section.animate .contentRow .imageCol, section.animate .contentRow .textCol {
      overflow: hidden; }
