/* News Article Image fix */
.article-width img {
    max-width: 100%;
}


/* PADDING */
.s-padding {padding:8px}
.m-padding {padding:16px}
.l-padding {padding:24px}


/* ===============================
   IBT HERO PANEL SECTION
   =============================== */

.ibt-hero {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  align-items: stretch;
  gap: 1rem;

  width: 100%;
  padding: 0;
  margin: 0;

  height: 60vh;       /* desktop hero height */
  max-height: 750px;  /* optional cap */
}

/* LEFT VIDEO PANEL */
.ibt-hero__video {
  grid-row: span 2;
  height: 100%;
  display: flex;       /* makes iframe fill vertically */
  align-items: center;
}

.ibt-hero__video-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  background: #000;   /* letterbox if video shorter than column */
}

.ibt-hero__video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* RIGHT SIDE PANELS */
.ibt-hero__panel {
  position: relative;
  background-size: cover;
  background-position: center;
  color: #fff;
  display: flex;
  align-items: flex-end;
  min-height: 0;
}

/* Text overlay area */
.ibt-hero__panel-content {
padding: 1.5rem;
    width: 100%;
    background: linear-gradient(0deg, var(--first-color), rgba(0, 0, 0, 0));
}

/* CTA Button */
.ibt-hero__btn {
display: inline-block;
    margin-top: .7rem;
    padding: .6rem 1.2rem;
    color: #fff;
    text-decoration: none;
    background: var(--cta-color);
    font-family: 'Exo', display;
	text-transform:uppercase;
border:1px solid white;
}
.ibt-hero__btn:hover{background:var(--first-color);color:var(--second-color);text-decoration:none;}
.ibt-hero__panel-content h2 {
    color: white;
}

/* OPTIONAL PANEL BACKGROUNDS */
.ibt-hero__panel--collect {
  background-image: url('/userfiles/images/click-collect.jpg');
}

.ibt-hero__panel--account {
  background-image: url('/userfiles/images/open-account.jpg');
}

/* ===============================
   TABLET / SMALL DESKTOP
   =============================== */
@media (max-width: 1100px) and (min-width: 701px) {
  .ibt-hero {
    grid-template-columns: 2fr 1fr;  /* keep 2:1 ratio */
    grid-template-rows: auto;        /* let rows adjust to content */
    height: auto;                    /* let video define left column height */
  }

  .ibt-hero__video {
    grid-row: span 2;
    height: auto;                    /* video determines height */
background: black;
  }

  .ibt-hero__video-wrapper {
    height: 0;
    padding-bottom: 56.25%;          /* responsive 16:9 */
    background: #000;                 /* letterbox if needed */
  }

  .ibt-hero__panel {
    min-height: 0;                   /* stretch to video height */
  }
}

/* ===============================
   MOBILE
   =============================== */
@media (max-width: 700px) {
  .ibt-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    height: auto;
    max-height: none;
  }

  .ibt-hero__video {
    grid-row: auto;
    height: auto;
  }

  .ibt-hero__video-wrapper {
    aspect-ratio: 16 / 9; /* keep video clean on mobile */
    height: auto;
  }
}





/* Set your aspect ratio */
.video-container {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 56.25%; /* creates a 16:9 aspect ratio */
}

.video-container iframe,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
}

/* And set the max-width of the parent element */
.video-wrap {
  width: 100%;
  max-width: 1000px;
    margin: 0 auto;
}

/* BRAND SLIDER */
.brand-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;   /* controls vertical rhythm */
}

.brand-slider .swiper-slide img {
    max-height: 70px;   /* actual logo size */
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
}
/* TRUST SLIDER */

.trust-banner {
  width: 100%;
  background: #d7ecff;
  padding: 10px 0;
  overflow: hidden;
border-top:1px solid var(--first-color);
}

/* Desktop layout */
.trust-track {
  display: flex;
  max-width: 1100px;
  margin: 0 auto;           /* center horizontally */
  padding: 0 20px;           /* <-- add horizontal padding */
  gap: 40px;
  justify-content: space-between;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 14px;
line-height: 17px;
  white-space: nowrap;
}

.trust-item i {
  font-size: 30px;
  color: var(--cta-color);
}
.trust-item i:hover {
    color: var(--first-color);
}
.trust-item .star-item {font-size:16px;}

/* ===== MOBILE SLIDER ===== */
@media (max-width: 768px) {
  .trust-banner {
    overflow: hidden;
  }

  .trust-track {
    display: flex;
    transition: transform .4s ease;
    width: 100%;
    max-width: 100%;
    margin: 0;
    gap: 0;
    padding: 0;
    will-change: transform;
  }

  .trust-item {
    flex: 0 0 100%;
    min-width: 100%;
    justify-content: center;
    font-size: 15px;
    white-space: normal;
    box-sizing: border-box;
    padding: 0 12px;
  }
}
/* End Trust Slider */




.cat-menu-ad {clear:both}
.cat-menu-ad img {max-width:268px;}/* Menu */

.menu1-button {
    position: absolute;
    top: 104px;
    left: 0;
    margin: 5px 15px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 100;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.menu1-button [class*="bar-"] {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 3px;
  background: var(--cta-color);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -o-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

@media only screen and (max-width: 900px) {
  .menu1-button {    top: 187px;}
  .menu1-button [class*="bar-"] {background: white;}
}

.menu1-button .bar-1 {
  top: 10%;
}

.menu1-button .bar-2 {
  top: 50%;
}

.menu1-button .bar-3 {
  top: 90%;
  max-width: 20px;
  left:10px;
}

.menu1-button:hover [class*="bar-"] {
  background: lightgrey;
}

.menu1-button.active-1 {
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  -o-transform: rotate(360deg);
  transform: rotate(360deg);
}

.menu1-button.active-1 .bar-1 {
  top: 10%;
  left: 40%;
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
  -moz-transform: rotate(-45deg) translate(-50%, -50%);
  -ms-transform: rotate(-45deg) translate(-50%, -50%);
  -o-transform: rotate(-45deg) translate(-50%, -50%);
  transform: rotate(-45deg) translate(-50%, -50%);
}

.menu1-button.active-1 .bar-2 {
  opacity: 0;
}

.menu1-button.active-1 .bar-3 {
  top: 80%;
  left: 30%;
  max-width: unset;
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
  -moz-transform: rotate(45deg) translate(-50%, -50%);
  -ms-transform: rotate(45deg) translate(-50%, -50%);
  -o-transform: rotate(45deg) translate(-50%, -50%);
  transform: rotate(45deg) translate(-50%, -50%);
}
.menu1-button.active [class*="bar-"] {
background: var(--first-color);
}

.menu1 {
  height: 100%;
  width: 0;
  position: absolute;
  z-index: 3;
  top: 140px;
  left: 0;
  background: var(--first-color);
  overflow: hidden;
  padding-top: 10px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.menu1.active-1 {
  width: 300px;
}

.menu1.active-2 {
  width: 600px;
}

.menu1.active-3 {
  width: 900px;
}

.menu1 ul {
  float: left !important;
  list-style: none;
  margin-left: 0;
  width: 300px !important;
}

.menu1 li {
  display: table;
}

.menu1 a {
  text-align: left !important;
  padding: 8px 16px;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.2;
  color: var(--second-color);
  display: inline-block !important;
  float: left !important;
  width: auto !important;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.menu1 a:hover {
  color: white;
}

.menu1-link-2 a {color:var(--first-color)}
.menu1-link-2 a:hover {color:var(--third-color)!Important}
.menu1-link-3 a {color:var(--second-color)}
.menu1-link-3 a:hover {color:white!Important}

.menu1-sub-1 {
    background-color: var(--second-color);
    position: absolute;
    top: 0px;
    left: 300px;
    padding-top: 10px;
    height: 100%;
    width: 300px;
    opacity: 0;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.menu1-sub-2 {
    background-color: var(--first-color);
    position: absolute;
    top: 0;
    left: 300px;
    padding-top: 10px;
    height: 100%;
    width: 300px;
    opacity: 0;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.menu1-sub-1 {
  background-color: var(--second-color);
}

/* [class*="menu-sub-"] {
  z-index: -1;
} */

[class*="menu1-sub-"].active {
  z-index: 1;
  opacity: 1;
}

@media screen and (max-width: 900px) {
  .menu1{top: 220px;}
  .menu1-close {
    display: block;
    font-size: 25px;
  }

}

.hide-desktop {display:none}
.hide-mobile {display:initial}

@media only screen and (max-width: 667px) {
  .hide-mobile{display:none!Important}
  .hide-desktop{display:unset}
}


/* Buttons */

.download1-button {
  cursor: pointer;
  display: inline-block;
  border-radius: 18px;
  border: 1px solid #fff;
  font-size: 18px;
  background-color: var(--second-color);
  color: #fff;
  padding: 8px 16px;
  margin: 0 0 16px 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.download1-button:last-child {
  margin: 0;
}

.download1-button:hover {
  color: #fff;
  background-color: #808080;
}

/* Hero */

.hero {
  padding-top: 40%;
  position: relative;
  overflow: hidden;
  background-color: #000;
}

@media only screen and (min-width: 1366px) {
  .hero {
    overflow: hidden;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
}

.hero-image {
  opacity: 0.83;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 500ms ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.hero:hover .hero-image {
  opacity: 1;
}

/* .hero h1,
.hero h3,
.hero a,
.hero .hero-text::after {
    transition: 500ms ease-in-out;
}

.hero:hover h1,
.hero:hover h3,
.hero:hover a,
.hero:hover .hero-text::after {
    opacity: 0.5;
} */

.hero-text {
  opacity: 0;
  width: 90%;
  text-align: center;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -100%);
  -webkit-animation: heroText 1s ease-out forwards;
  -moz-animation: heroText 1s ease-out forwards;
  -o-animation: heroText 1s ease-out forwards;
  animation: heroText 1s ease-out forwards;
}

.hero-text::after {
  display: none;
  content: "";
  background-image: url("/images/hero-shape.png");
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  opacity: 0.6;
  width: 450px;
  height: 450px;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 15%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.hero-text h1,
.hero-text h3,
.hero-text p {
  color: #fff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 83%);
}

.hero-text h1 {
  font-size: 50px;
}

@media only screen and (max-width: 667px) {
  .hero-text h1{font-size: 35px;}

}

.hero-text .hero-button {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: inline-block;
  border-radius: 18px;
  font-size: 18px;
  background-color: var(--first-color);
  color: #fff;
  padding: 8px 16px;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.hero-text .hero-button::before,
.hero-text .hero-button::after {
  content: "";
  background-color: var(--first-color);
  width: 0;
  padding-top: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -o-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.hero-text .hero-button::before {
  background-color: var(--first-color);
}

.hero-text .hero-button::after {
  background-color: var(--second-color);
}

.hero-text .hero-button .hero-button-text {
  position: relative;
  z-index: 1;
}

.hero-text .hero-button:hover::before,
.hero-text .hero-button.active::after {
  width: 100%;
}

.hero-text a {
  font-weight: bold;
}

.color-slide {
  color: black;
  position: relative;
}

.color-slide .slide {
  width: 0%;
  position: absolute;
  left: 0;
  color: red;
  overflow: hidden;
  white-space: nowrap;
  -webkit-transition: width 0.7s;
  -moz-transition: width 0.7s;
  -o-transition: width 0.7s;
  transition: width 0.7s;
}

.color-slide:hover .slide {
  width: 100%;
}

@-webkit-keyframes heroText {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@-moz-keyframes heroText {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@-o-keyframes heroText {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@keyframes heroText {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@media only screen and (max-width: 1200px) {
  .hero {
    text-align: center;
    padding-top: 0;
  }

  .hero-text {
    padding: 64px 20px;
    display: inline-block;
    width: 100%;
    position: relative;
    top: auto;
    left: auto;
    transform: translateX(-50%);
  }

  .hero-text img {
    max-width: 200px;
    margin-bottom: 16px;
    position: relative;
    z-index: 0;
    top: auto;
    left: auto;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
  }

  @-moz-keyframes animateleft {
    from {
      left: -40%;
      opacity: 0;
    }

    to {
      left: 0;
      opacity: 1;
    }
  }

  @-o-keyframes animateleft {
    from {
      left: -40%;
      opacity: 0;
    }

    to {
      left: 0;
      opacity: 1;
    }
  }

  @keyframes animateleft {
    from {
      left: -40%;
      opacity: 0;
    }

    to {
      left: 0;
      opacity: 1;
    }
  }
}

/* Client Logos */

.logo-ticker img {
  height: 45px;
  width: auto !important;
}

/* Card */

.card {
  display: block;
  width: 100%;
  padding-top: 100%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  background-color: var(--third-color);
  border-radius: 8px;
}

.card img {
  width: 100%;
  height: 110%;
  object-fit: cover;
  opacity: 0.83;
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: ease-in-out 300ms;
  -moz-transition: ease-in-out 300ms;
  -o-transition: ease-in-out 300ms;
  transition: ease-in-out 300ms;
}

.card:hover img {
  height: 120%;
}

/* .card::after {
    content: "";
    background-image: url(/images/hero-shape.png);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: contain;
    background-position: 100%;
    background-repeat: no-repeat;
    width: 150%;
    height: 150%;
    opacity: 0.7;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
} */

/* .card:hover {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
} */

.card .card-text {
  width: 100%;
  text-align: center;
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 10px 15px;
}

.card .card-text i,
.card .card-text h3,
.card .card-text h5,
.card .card-text p {
  color: #fff;
  line-height: 1;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 83%);
}

.card .card-text i {
  font-size: 64px;
}

.card .card-text h3 {
  font-size: 26px;
  margin-bottom: 8px;
}

@media only screen and (max-width: 667px) {.card .card-text h3{  font-size: 20px;} }

.card .card-text h3 span {
  display: inline-block;
  margin: 0 4px;
}

.card .card-text h3 i {
  font-size: 16px;
  margin-left: 2px;
}

.card .card-text h5 {
  margin: 0;
}

.card .card-text p {
  margin-bottom: 6px;
}

.card .card-text i {
  font-size: inherit;
}

/* Side Panel */

.side-panel {
  background-color: #efefef;
  padding: 16px;
  margin-bottom: 16px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.side-panel .largecta {
  background-color: var(--first-color);
  display: block;
  text-align: center;
  font-weight: bold;
}

/* Container */

.container {
  max-width: 1200px;
  margin: auto;
  padding: 16px;
}

/* Cards */

[class^="card-"] {
  display: inline-block;
  vertical-align: top;
  width: 30.33%;
  margin: 16px 1%;
}

@media only screen and (max-width: 900px) {
  [class^="card-"] {
    width: 45%;
  }
}

@media only screen and (max-width: 768px) {
  [class^="card-"] {
    width: 94%;
    margin: 16px 2%;
  }
}

@media only screen and (max-width: 480px) {
  [class^="card-"] {
    margin: 16px 3%;
  }
}

/* Cards - Courses */

.card-course {
  position: relative;
  text-align: left;
  background: #fff;
  transition: 300ms;
  background-color: var(--second-color);
  border-radius: 8px;
  overflow: hidden;
  width: 22.5%;
}
@media only screen and (max-width: 667px) {
  .card-course {  width: 40%;}
}

.card-course:hover {
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
  transform: scale(1.01);
}

.course-image {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
}

.course-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.course-details {
  position: relative;
  padding: 16px;
}

/* .course-details i {
  width: 40px;
  height: 40px;
  background: var(--first-color);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  line-height: 40px;
  text-align: center;
  font-size: 24px;
  color: #fff;
  position: absolute;
  top: -16px;
  left: 80%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
} */

.card-course h3 {
  color: #fff;
  margin: 0 0 8px 0;
  /* white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
  overflow: hidden;
  height: 64.78px;

}


@media only screen and (max-width: 667px) {
.card-course h3 {  font-size: 14px;}
}

.card-course .course-location {
  color: var(--first-color);
}

.card-course .course-date {
  margin: 0 0 8px 0;
  color: #666;
}

.course-button {
  display: block;
  border-radius: 18px;
  border: 1px solid #fff;
  font-size: 18px;
  background-color: var(--first-color);
  color: #fff;
  padding: 8px 16px;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-align: center;
}

@media only screen and (max-width: 667px) {.course-button {font-size:11px}}

.course-button:hover {
  background-color: #808080;
}

.course-button i {
  margin-right: 8px;
}

.downloadmenu{

  background: rgb(204, 6, 42);
    text-align: center;
    position: fixed;
    bottom: 50px;
    z-index: 3;
    left: 50%;
    transform: translatex(-50%);
    border-radius: 8px;
    padding: 4px;
    min-width: 1000px;
}

@media only screen and (max-width: 1000px) {.downloadmenu {display:none}}

/* Download Button */

/* .download-button {
    display: inline-block;
    cursor: pointer;
    background-color: var(--first-color);
    padding: 10px 20px;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    width: 100%;
    max-width: 300px;
    font-size: 14px;
}

.download-button i {
    margin-right: 8px;
}

.download-button:hover {
    background-color: #808080;
    color: #fff;
} */

/* Support Container */

.support-container {
  text-align: center;
}

.support-image-container {
  cursor: pointer;
  position: relative;
  margin-bottom: 10px;
  overflow: hidden;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

.support-image-container .support-image {
  width: 100%;
}

.support-image-container .support-shape {
  width: 101%;
  opacity: 0.7;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.support-image-container:hover .support-shape {
  opacity: 1;
}

.support-container h3,
.support-container p {
  /* color: #fff; */
}

.support-container p {
  /* color: #fff; */
  margin: 0;
}

/* Lifecycle - Container */

.lifecycle-container {
  position: relative;
  background-color: #000;
  /* padding-top: 50%; */
  overflow: hidden;
}

/* Lifecycle - Page */

.lifecycle-page-container {
  /* width: 100%;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: 1; */
  text-align: center;
  padding: 32px;
  padding-bottom: 48px;
  overflow: visible;
  white-space: nowrap;
  scroll-behavior: smooth;
}

.lifecycle-page-container::-webkit-scrollbar {
  width: 0;
}

.lifecycle-page {
  cursor: pointer;
  position: relative;
  display: inline-block;
  width: 130px;
  height: 130px;
  margin-right: 32px;
  background-color: var(--second-color);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.lifecycle-page:last-child {
  margin: 0;
}

.lifecycle-page::before {
  content: "";
  width: 0;
  height: 0;
  background-color: var(--first-color);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -o-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.lifecycle-page a {
  text-decoration: none;
}

.lifecycle-page:hover::before,
.lifecycle-page.active::before {
  width: 100%;
  height: 100%;
}

.lifecycle-text {
  width: 80%;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  white-space: initial;
  line-height: 1.2;
  color: #fff;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.lifecycle-text i {
  margin-top: -8px;
  margin-bottom: 8px;
  font-size: 32px;
  display: block;
}

.lifecycle-page:hover::after,
.lifecycle-page.active::after {
  background-color: var(--first-color);
  background-image: var(--first-grad);
}

@media only screen and (max-width: 1000px) {
    .lifecycle-page-container {
        padding: 0;
    }

  .lifecycle-page {
    width: 33.33%;
    display: block;
    float: left;
    border-radius: 0;
    box-shadow: unset;
    margin: 0;
    height: 120px;
  }
  .lifecycle-page::before {
    border-radius: 0;
  }
}

/* Lifecycle - Image */

.lifecycle-image-container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
  box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
}

.lifecycle-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.lifecycle-image.active {
  opacity: 0.65;
}

/* Lifecycle - Info */

.lifecycle-info-container {
  position: relative;
  height: 400px;
  margin: 32px;
  /* position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; */
}

.lifecycle-info {
  pointer-events: none;
  text-align: center;
  width: 66.66%;
  opacity: 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.lifecycle-info::after {
  display: none;
  content: "";
  background-image: url(../images/hero-shape.png);
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  opacity: 0.6;
  width: 400px;
  height: 400px;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.lifecycle-info.active {
  opacity: 1;
  pointer-events: auto;
}

.lifecycle-info h1 {
  color: #fff;
  text-shadow: 0px 0px 5px rgb(0, 0, 0, 0.5);
  margin: 0 0 32px 0;
}

.lifecycle-info h3 {
  position: relative;
  height: 300px;
  width: 400px;
  margin: auto;
}

.lifecycle-info h3 i {
  position: absolute;
  top: 45%;
  left: 45%;
  transform: translate(50%, 50%) scale(6);
  color: #fff;
}

.lifecycle-info h3 a {
  position: absolute;
  transform: translate(-50%, -50%);
  background-color: var(--second-color);
  color: #fff;
  padding: 8px 16px;
  text-decoration: none !important;
  border-radius: 30px;
}

.lifecycle-info h3 a:nth-child(2) {
  top: 0;
  left: 50%;
}

.lifecycle-info h3 a:nth-child(3) {
  top: 25%;
  left: 75%;
}

.lifecycle-info h3 a:nth-child(4) {
  top: 50%;
  left: 100%;
}

.lifecycle-info h3 a:nth-child(5) {
  top: 75%;
  left: 75%;
}

.lifecycle-info h3 a:nth-child(6) {
  top: 100%;
  left: 50%;
}

.lifecycle-info h3 a:nth-child(7) {
  top: 75%;
  left: 25%;
}

.lifecycle-button {
  display: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border-radius: 18px;
  font-size: 18px;
  background-color: var(--first-color);
  color: #fff;
  font-weight: bold;
  padding: 8px 16px;
  -webkit-box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 75%);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 75%);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.lifecycle-button::before,
.lifecycle-button::after {
  content: "";
  width: 0;
  padding-top: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -o-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.lifecycle-button::before {
  background-color: var(--second-color);
}

.lifecycle-button::after {
  background-color: var(--second-color);
}

.lifecycle-button .lifecycle-button-text {
  position: relative;
  z-index: 1;
}

.lifecycle-button:hover::before,
.lifecycle-button.active::after {
  width: 100%;
}

@-webkit-keyframes lifecycleInfo {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@-moz-keyframes lifecycleInfo {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@-o-keyframes lifecycleInfo {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@keyframes lifecycleInfo {
  from {
    left: 0;
    opacity: 0;
  }

  to {
    left: 50%;
    opacity: 1;
  }
}

@media only screen and (max-width: 768px) {
  .lifecycle-button {
    display: inline-block;
  }
}

.lifecycle-page {
  vertical-align: middle;
}

.lifecycle-page:hover {
  z-index: 3;
}

.cog-button a {
  white-space: nowrap;
  position: absolute;
  color: #fff;
}

.cog-button a:hover {
  color: #808080;
}

.cog-main-link,
.cog-link {
  white-space: nowrap;
  position: absolute;
  color: #fff;
  transition: 0.3s;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}

.cog-main-link {
  z-index: 2;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
}

.cog-main-link i {
  display: block;
  font-size: 32px;
  margin: 0 0 4px 0;
}

.cog-main-link:hover {
  color: #808080;
}

.cog-link {
  position: absolute;
  opacity: 0;
  font-size: 16px;
  font-weight: bold;
  padding: 16px 0;
  transform: translate(-50%, 0);
  top: 0;
  left: 50%;
}

.cog-link::after {
  content: "";
  position: absolute;
  transform: translate(-50%,-50%);
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 0 16px;
  height: 30px;
  background: var(--second-color);
  border-radius: 30px;
  box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 75%);
  transition: 0.3s;
}

.cog-link:hover {
  color: #808080;
}

.cog-link:hover::after {
  background: var(--first-color);
}

.lifecycle-page:hover .cog-link {
  opacity: 1;
}

.lifecycle-page:hover .cog-link:nth-child(2) {
  transform: translate(-50%, -100%);
}

.lifecycle-page:hover .cog-link:nth-child(3) {
  transform: translate(-50%, -200%);
}

.lifecycle-page:hover .cog-link:nth-child(4) {
  transform: translate(-50%, -300%);
}

.lifecycle-page:hover .cog-link:nth-child(5) {
  transform: translate(-50%, -400%);
}

.lifecycle-page:hover .cog-link:nth-child(6) {
  transform: translate(-50%, -500%);
}

.lifecycle-page:hover .cog-link:nth-child(7) {
  transform: translate(-50%, -600%);
}

/*@media only screen and (max-width: 1366px) {
     .lifecycle-container {
        padding-top: 55%;
    } 
}

@media only screen and (max-width: 1200px) {
    .lifecycle-container {
        padding-top: 60%;
    }
}

@media only screen and (max-width: 992px) {
    .lifecycle-container {
        padding-top: 80%;
    }
}

@media only screen and (max-width: 768px) {
    .lifecycle-container {
        padding-top: 100%;
    }
}

@media only screen and (max-width: 600px) {
    .lifecycle-container {
        padding-top: 100%;
    }
}*/

/* Info Panels */

.info-panel {
  padding: 16px;
  text-align: center;
  position: relative;
}

.info-panel::before,
.info-panel::after {
  content: "";
  background-color: var(--first-color);
  position: absolute;
}

.info-panel::before {
  height: 80%;
  width: 3px;
  top: 10%;
  right: 0;
}

.info-panel::after {
  width: 80%;
  height: 3px;
  bottom: 0;
  left: 10%;
}

.col-4:last-of-type .info-panel::before,
.info-panel::after {
  display: none;
}

.info-icon {
  font-size: 32px;
  color: var(--first-color);
  margin-bottom: 8px;
}

.info-title {
  color: var(--second-color);
  font-size: 18px;
  font-weight: bold;
}

/* Product Listing */

h3.product-title {
  font-size: 2.5em;
}

h3.product-title span {
  font-size: 0.75em;
  color: var(--second-color);
  margin-left: 8px;
}

/* Downloads */

.downloads {
  background: rgb(49, 72, 115);
  padding-top: 12px;
  padding-right: 18px;
  padding-bottom: 18px;
  padding-left: 18px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}

.downloads h3 {
  color: #fff;
  font-size: 1.65em;
}

.downloads ul {
  list-style: none;
  margin: 0;
}

.downloads li {
  margin: 0 0 16px 0;
}

.downloads li:last-child {
  margin: 0;
}

.downloads a {
  display: inline-block;
  border-radius: 18px;
  border: 1px solid #fff;
  font-size: 18px;
  background-color: var(--first-color);
  color: #fff;
  padding: 8px 16px;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.downloads a:hover {
  background-color: #808080;
}

.downloads a i {
  margin-right: 8px;
}

.downloads + p {
  margin: 8px 0 0 0;
}

.rating {
  font-size: 2em;
}

.rating i {
  margin: 0 0.2em;
}

.rating::after {
  content: "kg/hr";
  font-size: 0.6em;
  margin-left: 0.25em;
  font-style: italic;
}

/* Employee */

.employee {
  background-color: #efefef;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin: 20px 0;
  width: 100%;
  max-width: 800px;
  overflow: hidden;
  display: flex;
  align-items: start;
  transition: transform 0.3s, box-shadow 0.3s;
  animation: slideIn 0.8s ease-in-out;
}

.employee:hover {
  transform: translateY(-10px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.employee-photo {
  width: 40%;
  height: auto;
  border-radius: 10px 0 0 10px;
}

.employee-info {
  padding: 20px;
  width: 60%;
  text-align: left;
}

.employee-info h2 {
  margin: 0 0 10px;
  font-size: 2em;
  color: #cc062a;
}

.employee-info h3 {
  margin: 5px 0;
  font-size: 1.2em;
  color: #314873;
  font-weight: 600;
}

.employee-info p {
  margin: 10px 0 0;
  color: #555;
  line-height: 1.5;
  max-height: 165px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.employee-info p.expanded {
  max-height: 3000px;
}

.read-more {
  color: #cc062a;
  cursor: pointer;
  display: block;
  margin-top: 10px;
}