:root {
  --font-size: 0.8em;

  --bg1: #f5f8f7;
  --blue: #3498db;
  --green: #2ecc71;
  --purple: #9b59b6;
  --gold: #f1c40f;
  --red: #e74c3c;
  --orange: #e67e22;
  --shadow1: 0 2px 4px #00000026, 0 3px 6px #0000001f;
  --shadow2: 0 2px 6px #00000044, 0 4px 7px #00000022;
}
ul {
  list-style-type: none;
}
ul.infoGraphic {
  font-size: var(--font-size);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  li {
    position: relative;
    width: 100%;
    max-width: 46em;
    background: var(--bg1);
    border-radius: 0.5em;
    padding: 0.5em;
    z-index: 1;
    transition: all 0.2s;
    cursor: pointer;
    padding-bottom: 20px;

    .numberWrap {
      position: absolute;
    }
    .number {
      font-family: "maven pro", sans-serif;
      font-size: 13em;
      font-weight: 900;
      width: 0.9em;
      text-align: center;
      &.fontColor1 {
        color: var(--blue);
      }
      &.fontColor2 {
        color: var(--green);
      }
      &.fontColor3 {
        color: var(--purple);
      }
      &.fontColor4 {
        color: var(--gold);
      }
      &.fontColor5 {
        color: var(--red);
      }
      &.fontColor6 {
        color: var(--orange);
      }
    }
    .coverWrap {
      transform: rotate(118deg);
      position: absolute;
      width: 18em;
      height: 15em;
      left: -3em;
      top: -1em;
      .numberCover {
        position: absolute;
        background: var(--bg1);
        width: 18em;
        height: 4em;
        border-radius: 50% 50% 0 0;
        border-bottom: 3px solid #f5f8f7;
        transition: all 0.4s;

        &::before {
          position: absolute;
          content: "";
          bottom: 5px;
          left: 4em;
          right: 4em;
          top: 5em;
          box-shadow: 0 0 30px 17px #48668577;
          border-radius: 100px / 10px;
          z-index: -1;
        }
        &::after {
          position: absolute;
          bottom: 0;
          content: "";
          left: -10%;
          width: 120%;
          height: 150%;
          background: radial-gradient(
            at bottom,
            #48668533,
            transparent,
            transparent
          );
          z-index: 1;
        }
      }
    }
    .content {
      margin: 5em 3em 1em 12em;
      position: relative;
      h3 {
        font-size: 1.7em;
        font-weight: 500;
        text-align: left;
        margin-bottom: 10px;
        text-transform: uppercase;
        color: #253a58;
        text-transform: capitalize;
      }
      p {
        line-height: 1.5em;
      }
    }
  }
}

ul.infoGraphic li:hover .coverWrap .numberCover {
  border-radius: 100%;
}

.icon {
  position: absolute;
  font-size: 2rem;
  text-align: center;
  top: -1.3em;
  left: 50%;
  transform: translatex(-50%);
  &:before {
    color: #666;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
  }
}

.iconCodepen {
  &:before {
    content: "\f1cb";
  }
}

.iconSocial {
  &:before {
    content: "\f08a";
  }
}

.iconAirplane {
  &:before {
    content: "\f1d9";
  }
}

.iconMap {
  &:before {
    content: "\f278";
  }
}

.iconBulb {
  &:before {
    content: "\f0eb";
  }
}

.iconPeace {
  &:before {
    content: "\f25b";
  }
}
/* 
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500&display=swap");

@import url("https://fonts.googleapis.com/css2?family=Maven+Pro:wght@800&display=swap"); */

/* html {
  height: 100%;
  box-sizing: border-box;
} */
/* *,
*:before,
*:after {
  box-sizing: inherit;
} */
/* body {
  font-family: "Poppins", sans-serif;
  background: var(--bg1);
  min-height: 100vh;
  color: #444;
  display: grid;
  place-items: center;
} */
.pb-40 {
  padding-bottom: 40px !important;
}

.our-history .our-history-pic {
  border: 30px solid #f0f0f0;
}

.timeline-main {
  width: 100%;
  padding: 25px;
  background-color: #f5f8f7;
  border-radius: 5px;
  .timeline-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
    &::before {
      content: "";
      position: absolute;
      top: 10px;
      left: 50%;
      transform: translateX(-50%);
      width: 4px;
      height: calc(100% - 10px);
      background-color: #00283a;
      animation: line 5s linear;
      @media (max-width: 767px) {
        left: 95%;
      }
    }
    .timeline-card {
      width: 50%;
      margin-right: auto;
      position: relative;
      @media (max-width: 767px) {
        width: 95%;
      }
      &::after {
        content: "";
        position: absolute;
        top: 10px;
        right: -10px;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 3px solid #fff;
        background: #00283a;
        animation: fadeIn 1.5s;
        animation-fill-mode: both;
      }
      .timeline-card-wrap {
        height: 100%;
        margin-right: 35px;
        background-color: #00283a;
        border-radius: 10px;
        position: relative;
        padding: 30px;
        animation: fadeInRight 2.5s;
        animation-fill-mode: both;
        @media (max-width: 767px) {
          padding: 20px;
        }
        &::before {
          content: "";
          position: absolute;
          left: 30px;
          top: -8px;
          height: 8px;
          width: calc(100% - 60px);
          background-color: #00283a;
          border-radius: 5px 5px 0 0;
          opacity: 0.3;
        }
        &::after {
          content: "";
          position: absolute;
          top: 10px;
          right: -8px;
          width: 20px;
          height: 20px;
          background-color: #00283a;
          border-radius: 5px;
          transform: rotate(45deg);
        }
        .card-head-wrap {
          display: flex;
          align-items: center;
          justify-content: space-between;
          margin-bottom: 10px;
          @media (max-width: 1199px) {
            flex-direction: column;
            align-items: flex-start;
            gap: 10px;
          }
          .timeline-card-head {
            font-size: 28px;
            line-height: 38px;
            font-weight: 500;
            color: #fff;
            margin-bottom: 0;
            @media (max-width: 767px) {
              font-size: 18px;
              line-height: 28px;
            }
          }
          .timeline-card-subhead {
            font-size: 16px;
            line-height: 26px;
            font-weight: 400;
            color: #bdbdbd;
            margin-bottom: 0;
            font-style: italic;
            @media (max-width: 767px) {
              font-size: 14px;
              line-height: 24px;
            }
          }
        }

        .timeline-card-text {
          font-size: 14px;
          line-height: 24px;
          font-weight: 400;
          color: #ffffff;
          margin: 25px 0 0;
          @media (max-width: 767px) {
            font-size: 12px;
            line-height: 22px;
          }
        }
      }

      &:nth-child(even) {
        @media (min-width: 768px) {
          margin-left: auto;
          margin-right: 0;
          &::after {
            right: unset;
            left: -10px;
            animation-delay: 2.6s;
          }
          .timeline-card-wrap {
            margin-right: 0;
            margin-left: 35px;
            animation: fadeInLeft 2.5s;
            animation-fill-mode: both;
            animation-delay: 0s;
            &::after {
              right: unset;
              border-left: none;
              left: -8px;
              border-right: 10px solid #00283a;
            }
          }
        }
      }
    }
  }
}
@keyframes line {
  0% {
    height: 0;
  }

  100% {
    height: calc(100% - 10px);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.text-white {
  color: #ffffff;
}

.multi-item-carousel {
  .carousel-inner {
    > .item {
      transition: 500ms ease-in-out left;
    }
    .active {
      &.left {
        left: -33%;
      }
      &.right {
        left: 33%;
      }
    }
    .next {
      left: 33%;
    }
    .prev {
      left: -33%;
    }
    @media all and (transform-3d), (-webkit-transform-3d) {
      > .item {
        transition: 500ms ease-in-out left;
        transition: 500ms ease-in-out all;
        backface-visibility: visible;
        transform: none !important;
      }
    }
  }
  .carouse-control {
    &.left,
    &.right {
      background-image: none;
    }
  }
}

.smo-img {
  /* padding-top: 60px !important; */
  border: 30px solid #f0f0f0;
}

.gallery {
  display: flex;
  width: 100%;
  height: 250px;
  gap: 10px;
}
.gallery > img {
  width: 19%;
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border: 15px solid #f0f0f0;
  transition: all ease 0.5s;
}

.gallery > img:hover {
  width: 100%;
  scale: 1.1;
}
.pt-50 {
  padding-top: 50px !important;
}

figure.snip1200 {
  position: relative;
  overflow: hidden;
  margin: 10px;
  /* min-width: 220px;
  max-width: 310px; */
  width: 100%;
  max-height: 310px;
  width: 100%;
  background: #000000;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
  font-size: 16px;
  display: inline-grid;
}
figure.snip1200 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
figure.snip1200 img {
  max-width: 100%;
  position: relative;
  opacity: 0.9;
}
figure.snip1200 figcaption {
  position: absolute;
  top: 45%;
  left: 7%;
  right: 7%;
  bottom: 45%;
  border: 1px solid white;
  border-width: 1px 1px 0;
}
figure.snip1200 .heading {
  overflow: hidden;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  position: absolute;
  bottom: 0;
  width: 100%;
}
figure.snip1200 h2 {
  display: table;
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  text-align: center;
  width: auto;
  text-transform: uppercase;
  font-weight: 400;
  color: white;
}
figure.snip1200 h2 span {
  font-weight: 800;
}
figure.snip1200 h2:before,
figure.snip1200 h2:after {
  position: absolute;
  display: block;
  width: 1000%;
  height: 1px;
  content: "";
  background: white;
  top: 50%;
}
figure.snip1200 h2:before {
  left: -1000%;
}
figure.snip1200 h2:after {
  right: -1000%;
}
figure.snip1200 p {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 100%;
  padding: 0 20px;
  margin: 0;
  opacity: 0;
  line-height: 1.6em;
  font-size: 0.9em;
}
figure.snip1200 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.snip1200:hover img,
figure.snip1200.hover img {
  opacity: 0.25;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
figure.snip1200:hover figcaption,
figure.snip1200.hover figcaption {
  top: 7%;
  bottom: 7%;
}
figure.snip1200:hover p,
figure.snip1200.hover p {
  opacity: 1;
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

/* ============================================================ */
@media (min-width: 375px) {
  .case-banner h1 {
    font-size: 5.8rem;
    white-space: wrap;
  }
  .cmvnn-csefvs {
    font-size: 3.8rem !important;
  }
  .i-style {
    margin: 15px !important;
    width: 88% !important;
  }
}

.i-style {
  box-shadow: 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #253a58,
    0 0 7px #253a58, 0 0 1px #253a58, 0 0 2px #253a58, 0 0 2px #253a58;
  transition: all ease 0.5s;
  padding: 6px;
  margin: 5px;
  width: 100%;
}
.i-style:hover {
  box-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 5px #fff, 0 0 5px #bc13fe,
    0 0 7px #bc13fe, 0 0 1px #bc13fe, 0 0 16px #bc13fe, 0 0 10px #bc13fe;
  scale: 1.1;
}

/* ============================================ */

:root {
  --color-text: #616161;
  --color-text-btn: #ffffff;
  --card1-gradient-color1: #f12711;
  --card1-gradient-color2: #f5af19;
  --card2-gradient-color1: #7f00ff;
  --card2-gradient-color2: #e100ff;
  --card3-gradient-color1: #3f2b96;
  --card3-gradient-color2: #a8c0ff;
  --card4-gradient-color1: #11998e;
  --card4-gradient-color2: #38ef7d;
}
.card-wrap {
  display: inline-table;
  /* width: 220px; */
  background: #fff;
  border-radius: 20px;
  border: 5px solid #fff;
  overflow: hidden;
  color: var(--color-text);
  box-shadow: rgba(0, 0, 0, 0.19) 0px 1px 3px, rgba(0, 0, 0, 0.23) 0px 3px 1px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  margin: 20px 0;
}
.card-wrap:hover {
  /* transform: scale(1.1); */
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}
.card-header {
  height: 200px;
  width: 100%;
  background: red;
  border-radius: 100% 0% 100% 0% / 0% 50% 50% 100%;
  display: grid;
  place-items: center;
}

.card-header i {
  color: #fff;
  font-size: 72px;
}
.card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}
.card-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 10px;
  color: #253a58;
}
.card-text {
  text-align: center;
  font-size: 14px;
  margin-bottom: 20px !important;
}
.card-btn {
  border: none;
  border-radius: 100px;
  padding: 5px 30px;
  color: #fff;
  margin-bottom: 15px;
  text-transform: uppercase;
}
.card-header.one {
  background: linear-gradient(
    to bottom left,
    var(--card1-gradient-color1),
    var(--card1-gradient-color2)
  );
}
.card-header.two {
  background: linear-gradient(
    to bottom left,
    var(--card2-gradient-color1),
    var(--card2-gradient-color2)
  );
}
.card-header.three {
  background: linear-gradient(to top left, #0046a9, #000000);
}
.card-header.four {
  background: linear-gradient(
    to bottom left,
    var(--card4-gradient-color1),
    var(--card4-gradient-color2)
  );
}

.card-btn.one {
  background: linear-gradient(
    to left,
    var(--card1-gradient-color1),
    var(--card1-gradient-color2)
  );
}
.card-btn.two {
  background: linear-gradient(
    to left,
    var(--card2-gradient-color1),
    var(--card2-gradient-color2)
  );
}
.card-btn.three {
  background: linear-gradient(
    to left,
    var(--card3-gradient-color1),
    var(--card3-gradient-color2)
  );
}
.card-btn.four {
  background: linear-gradient(
    to left,
    var(--card4-gradient-color1),
    var(--card4-gradient-color2)
  );
}

/* ============================================== */
.service-categories {
  padding-top: 3em;
  padding-bottom: 3em;
  background-size: cover;
}

/*DEMO ONLY*/

.service-categories .card {
  transition: all ease 0.3s;
  text-align: center;
  vertical-align: middle;
  padding: 15px 10px;
  margin-bottom: 30px;
  color: #ffffff;
}

.service-categories .card-title {
  padding-top: 0.5em;
  color: #ffffff;
}

.service-categories a:hover {
  text-decoration: none;
}

.service-card {
  background: linear-gradient(to top right, #0046a9, #000000);
  border: 0;
}

.service-card:hover {
  background: linear-gradient(to top left, #000000, #0046a9);
  box-shadow: 2px 4px 8px 0px rgb(37 58 88 / 89%);
}

/* ===============================================  */
